<?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>141498</bug_id>
          
          <creation_ts>2015-02-11 20:26:58 -0800</creation_ts>
          <short_desc>[Win] [64-bit] Work around MSVC2013 Runtime Bug</short_desc>
          <delta_ts>2015-02-12 09:20:12 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>141499</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>roger_fong</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1068538</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-11 20:26:58 -0800</bug_when>
    <thetext>Microsoft Visual Studio 2013 has a bug in their 64-bit runtime libraries that causes a crash with error &quot;0xC000001D: Illegal Instruction&quot; if the CPU does not support the AVX2 instruction set. Apparently, the runtime library does not properly recognize when the AVX2 set is not present (or if it has been disabled in the firmware) and attempts to use them regardless of CPU support. Microsoft apparently does not plan to address this in any VS2013 update. The VS2015 environment does have a correction for this.

Until Microsoft releases VS2015 (and this project migrates to it), our only recourse is to disable the use of FMA3 in the math library.

See &lt;https://connect.microsoft.com/VisualStudio/feedback/details/811093/visual-studio-2013-rtm-c-x64-code-generation-bug-for-avx2-instructions&gt; for some comments from Microsoft on this topic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068539</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-11 20:27:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/19803642&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068540</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-11 20:32:12 -0800</bug_when>
    <thetext>Microsoft: &quot;“Thank you for reporting this issue. This is indeed a bug in the instruction set availability detection in the math library of the Visual C++ 2013 C Runtime (CRT). The bug occurs when [1] the CPU supports FMA3 and [2] either the operating system does not support AVX or support for AVX is disabled in the operating system.&quot;

Note that in addition to the hardware restraints I mentioned initially, users can actually create this issue by disabling the AVX instruction sets (even if the CPU does support them):

Disable AVX: bcdedit /set xsavedisable 1

You can re-enable it by:
    bcdedit /set xsavedisable 0

-or-

    bcdedit /deletevalue xsavedisable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068548</commentid>
    <comment_count>3</comment_count>
      <attachid>246424</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-11 22:05:57 -0800</bug_when>
    <thetext>Created attachment 246424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068549</commentid>
    <comment_count>4</comment_count>
      <attachid>246425</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-11 22:10:01 -0800</bug_when>
    <thetext>Created attachment 246425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068600</commentid>
    <comment_count>5</comment_count>
      <attachid>246425</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-02-12 07:33:06 -0800</bug_when>
    <thetext>Comment on attachment 246425
Patch

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

&gt; Source/JavaScriptCore/jsc.cpp:1177
&gt; +    // TODO(141449): Remove this workaround when we switch to VS2015+.

Please use FIXME: here (and a proper bug URL!) Here and all other places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068606</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-02-12 07:50:40 -0800</bug_when>
    <thetext>I think we should put this into WebKitCreateInstance instead of each executable that uses it.  That way it will fix 3rd party applications, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068632</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-12 09:09:19 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; I think we should put this into WebKitCreateInstance instead of each
&gt; executable that uses it.  That way it will fix 3rd party applications, too.

The problem is that we have some clients that only use JavaScriptCore.dll, and test programs that only link against WTF, etc., for test purposes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068633</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-12 09:14:11 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; I think we should put this into WebKitCreateInstance instead of each
&gt; &gt; executable that uses it.  That way it will fix 3rd party applications, too.
&gt; 
&gt; The problem is that we have some clients that only use JavaScriptCore.dll,
&gt; and test programs that only link against WTF, etc., for test purposes.

Also, by putting it in the DllMain we do fix third party applications. We have to pepper all of our code with this setting because we are building with static MSVC runtime linking.

We should be able to go back to dynamic linking soon, which would reduce the need to set this flag all over the place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068634</commentid>
    <comment_count>9</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-12 09:20:12 -0800</bug_when>
    <thetext>Committed r179993: &lt;http://trac.webkit.org/changeset/179993&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246424</attachid>
            <date>2015-02-11 22:05:57 -0800</date>
            <delta_ts>2015-02-11 22:09:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141498-20150211221415.patch</filename>
            <type>text/plain</type>
            <size>29799</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5OTgyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDE1LTAyLTExICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAg
ICAgIFtXaW5dIFs2NC1iaXRdIFdvcmsgYXJvdW5kIE1TVkMyMDEzIFJ1bnRpbWUgQnVnCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE0OTgKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzE5ODAzNjQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIERpc2FibGUgRk1BMyBpbnN0cnVjdGlvbiB1c2UgaW4gdGhl
IE1TVkMgbWF0aCBsaWJyYXJ5IHRvCisgICAgICAgIHdvcmsgYXJvdW5kIGEgVlMyMDEzIHJ1bnRp
bWUgY3Jhc2guIFdlIGNhbiByZW1vdmUgdGhpcworICAgICAgICB3b3JrYXJvdW5kIHdoZW4gd2Ug
c3dpdGNoIHRvIFZTMjAxNS4KKworICAgICAgICAqIEFQSS90ZXN0cy90ZXN0YXBpLmM6IENhbGwg
X3NldF9GTUEzX2VuYWJsZSgwKSB0byBkaXNhYmxlCisgICAgICAgIEZNQTMgc3VwcG9ydC4KKyAg
ICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6IEFk
ZCBuZXcgZmlsZXMuCisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0
Q29yZS52Y3hwcm9qLmZpbHRlcnM6IERpdHRvLgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmVETEwuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS52Y3hwcm9qL2pzYy9ETExMYXVuY2hlck1haW4uY3BwOiBDYWxsIF9zZXRfRk1BM19lbmFi
bGUoMCkKKyAgICAgICAgdG8gZGlzYWJsZSBGTUEzIHN1cHBvcnQuCisgICAgICAgICoganNjLmNw
cDogRGl0dG8uCisgICAgICAgICogdGVzdFJlZ0V4cC5jcHA6IERpdHRvLgorCiAyMDE1LTAyLTEx
ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgVGhlIGNhbGxlZSBm
cmFtZSBoZWxwZXJzIGluIERGRzo6U3BlY3VsYXRpdmVKSVQgc2hvdWxkIGJlIGF2YWlsYWJsZSB0
byBvdGhlciBKSVRzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNpb24gMTc5ODYzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiAvKgogICogIENvcHlyaWdodCAoQykgMTk5OS0yMDAwIEhhcnJpIFBvcnRlbiAocG9y
dGVuQGtkZS5vcmcpCi0gKiAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAy
MDA4LCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIsIDIwMTMsIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogIENvcHlyaWdodCAoQykgMjAwNiBC
am9lcm4gR3JhZiAoYmpvZXJuLmdyYWZAZ21haWwuY29tKQogICoKICAqICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0xMTY5
LDcgKzExNjksMTQgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgIGZlc2V0
ZW52KCAmZW52ICk7CiAjZW5kaWYKIAotI2lmIE9TKFdJTkRPV1MpCisjaWYgT1MoV0lORE9XUykg
JiYgKGRlZmluZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pKQorICAgIC8vIFRoZSBW
UzIwMTMgcnVudGltZSBoYXMgYSBidWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUg
cHJvY2Vzc29ycworICAgIC8vIGlmIHRoZSBmZWF0dXJlIGhhcyBiZWVuIGRpc2FibGVkIGluIGZp
cm13YXJlLiBUaGlzIGNhdXNlcyB1cyB0byBjcmFzaAorICAgIC8vIGluIHNvbWUgb2YgdGhlIG1h
dGggZnVuY3Rpb25zLiBGb3Igbm93LCB3ZSBkaXNhYmxlIHRob3NlIG9wdGltaXphdGlvbnMKKyAg
ICAvLyBiZWNhdXNlIE1pY3Jvc29mdCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9ibGVtIGlu
IFZTMjAxMy4KKyAgICAvLyBUT0RPKDE0MTQ0OSk6IFJlbW92ZSB0aGlzIHdvcmthcm91bmQgd2hl
biB3ZSBzd2l0Y2ggdG8gVlMyMDE1Ky4KKyAgICBfc2V0X0ZNQTNfZW5hYmxlKDApOworCiAgICAg
Ly8gQ3lnd2luIGNhbGxzIDo6U2V0RXJyb3JNb2RlKFNFTV9GQUlMQ1JJVElDQUxFUlJPUlMpLCB3
aGljaCB3ZSB3aWxsIGluaGVyaXQuIFRoaXMgaXMgYmFkIGZvcgogICAgIC8vIHRlc3RpbmcvZGVi
dWdnaW5nLCBhcyBpdCBjYXVzZXMgdGhlIHBvc3QtbW9ydGVtIGRlYnVnZ2VyIG5vdCB0byBiZSBp
bnZva2VkLiBXZSByZXNldCB0aGUKICAgICAvLyBlcnJvciBtb2RlIGhlcmUgdG8gd29yayBhcm91
bmQgQ3lnd2luJ3MgYmVoYXZpb3IuIFNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi81NTIyMj4uCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCShyZXZpc2lvbiAxNzk4NjMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw1IEBACiAvKgotICogIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDExLCAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0xNjMsNiArMTYz
LDE1IEBAIGludCByZWFsTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpOwogaW50IG1haW4oaW50
IGFyZ2MsIGNoYXIqKiBhcmd2KQogewogI2lmIE9TKFdJTkRPV1MpCisjaWYgZGVmaW5lZChfTV9Y
NjQpIHx8IGRlZmluZWQoX194ODZfNjRfXykKKyAgICAvLyBUaGUgVlMyMDEzIHJ1bnRpbWUgaGFz
IGEgYnVnIHdoZXJlIGl0IG1pcy1kZXRlY3RzIEFWWC1jYXBhYmxlIHByb2Nlc3NvcnMKKyAgICAv
LyBpZiB0aGUgZmVhdHVyZSBoYXMgYmVlbiBkaXNhYmxlZCBpbiBmaXJtd2FyZS4gVGhpcyBjYXVz
ZXMgdXMgdG8gY3Jhc2gKKyAgICAvLyBpbiBzb21lIG9mIHRoZSBtYXRoIGZ1bmN0aW9ucy4gRm9y
IG5vdywgd2UgZGlzYWJsZSB0aG9zZSBvcHRpbWl6YXRpb25zCisgICAgLy8gYmVjYXVzZSBNaWNy
b3NvZnQgaXMgbm90IGdvaW5nIHRvIGZpeCB0aGUgcHJvYmxlbSBpbiBWUzIwMTMuCisgICAgLy8g
VE9ETygxNDE0NDkpOiBSZW1vdmUgdGhpcyB3b3JrYXJvdW5kIHdoZW4gd2Ugc3dpdGNoIHRvIFZT
MjAxNSsuCisgICAgX3NldF9GTUEzX2VuYWJsZSgwKTsKKyNlbmRpZgorCiAgICAgLy8gQ3lnd2lu
IGNhbGxzIDo6U2V0RXJyb3JNb2RlKFNFTV9GQUlMQ1JJVElDQUxFUlJPUlMpLCB3aGljaCB3ZSB3
aWxsIGluaGVyaXQuIFRoaXMgaXMgYmFkIGZvcgogICAgIC8vIHRlc3RpbmcvZGVidWdnaW5nLCBh
cyBpdCBjYXVzZXMgdGhlIHBvc3QtbW9ydGVtIGRlYnVnZ2VyIG5vdCB0byBiZSBpbnZva2VkLiBX
ZSByZXNldCB0aGUKICAgICAvLyBlcnJvciBtb2RlIGhlcmUgdG8gd29yayBhcm91bmQgQ3lnd2lu
J3MgYmVoYXZpb3IuIFNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi81NTIyMj4uCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkuYwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkuYwkocmV2aXNpb24gMTc5ODYzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLmMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTUgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMTE3Nyw2ICsxMTc3LDE1IEBAIHN0YXRpYyBib29sIGV4dGVuZFRlcm1pbmF0ZUNhbGxi
YWNrKEpTQ28KIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiB7CiAjaWYgT1MoV0lO
RE9XUykKKyNpZiBkZWZpbmVkKF9NX1g2NCkgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICAgIC8v
IFRoZSBWUzIwMTMgcnVudGltZSBoYXMgYSBidWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNh
cGFibGUgcHJvY2Vzc29ycworICAgIC8vIGlmIHRoZSBmZWF0dXJlIGhhcyBiZWVuIGRpc2FibGVk
IGluIGZpcm13YXJlLiBUaGlzIGNhdXNlcyB1cyB0byBjcmFzaAorICAgIC8vIGluIHNvbWUgb2Yg
dGhlIG1hdGggZnVuY3Rpb25zLiBGb3Igbm93LCB3ZSBkaXNhYmxlIHRob3NlIG9wdGltaXphdGlv
bnMKKyAgICAvLyBiZWNhdXNlIE1pY3Jvc29mdCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9i
bGVtIGluIFZTMjAxMy4KKyAgICAvLyBUT0RPKDE0MTQ0OSk6IFJlbW92ZSB0aGlzIHdvcmthcm91
bmQgd2hlbiB3ZSBzd2l0Y2ggdG8gVlMyMDE1Ky4KKyAgICBfc2V0X0ZNQTNfZW5hYmxlKDApOwor
I2VuZGlmCisKICAgICAvLyBDeWd3aW4gY2FsbHMgOjpTZXRFcnJvck1vZGUoU0VNX0ZBSUxDUklU
SUNBTEVSUk9SUyksIHdoaWNoIHdlIHdpbGwgaW5oZXJpdC4gVGhpcyBpcyBiYWQgZm9yCiAgICAg
Ly8gdGVzdGluZy9kZWJ1Z2dpbmcsIGFzIGl0IGNhdXNlcyB0aGUgcG9zdC1tb3J0ZW0gZGVidWdn
ZXIgbm90IHRvIGJlIGludm9rZWQuIFdlIHJlc2V0IHRoZQogICAgIC8vIGVycm9yIG1vZGUgaGVy
ZSB0byB3b3JrIGFyb3VuZCBDeWd3aW4ncyBiZWhhdmlvci4gU2VlIDxodHRwOi8vd2Via2l0Lm9y
Zy9iLzU1MjIyPi4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagko
cmV2aXNpb24gMTc5ODYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODQ1LDYg
Kzg0NSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVy
ZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU0NCdWlsdGlucy5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSJKYXZhU2NyaXB0
Q29yZURMTC5jcHAiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNo
aXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEFycmF5Q29uc3RydWN0b3Iu
bHV0LmgiIC8+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4
cHJvai5maWx0ZXJzCShyZXZpc2lvbiAxNzk4NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMJKHdv
cmtpbmcgY29weSkKQEAgLTE3NTUsNiArMTc1NSwxMCBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cYnl0ZWNvZGVcVmlydHVhbFJlZ2lzdGVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmJ5dGVj
b2RlPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxqaXRcU2V0dXBWYXJhcmdzRnJhbWUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
SmF2YVNjcmlwdENvcmVETEwuY3BwIj4KKyAgICAgIDxGaWx0ZXI+QVBJPC9GaWx0ZXI+CisgICAg
PC9DbENvbXBpbGU+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cQVBJXEFQSUNhbGxiYWNrRnVuY3Rpb24uaCI+CkBAIC00MTk4LDYgKzQy
MDIsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caml0XFBvbHltb3JwaGljQ2FsbFN0
dWJSb3V0aW5lLmgiPgogICAgICAgPEZpbHRlcj5qaXQ8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVk
ZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGppdFxTZXR1cFZhcmFyZ3NGcmFtZS5oIiAv
PgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Tm9uZSBJbmNsdWRlPSJKYXZh
U2NyaXB0Q29yZVByZUxpbmsuY21kIiAvPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmVETEwuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlRExMLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlRExMLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDUwIEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0Ogor
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSA8V2luZG93cy5o
PgorI2luY2x1ZGUgPG1hdGguaD4KKworQk9PTCBXSU5BUEkgRGxsTWFpbihISU5TVEFOQ0UgaGlu
c3RETEwsIERXT1JEIGZkd1JlYXNvbiwgTFBWT0lEIGxwdlJlc2VydmVkKQoreworICAgIHN3aXRj
aCAoZmR3UmVhc29uKSB7CisgICAgY2FzZSBETExfUFJPQ0VTU19BVFRBQ0g6CisjaWYgZGVmaW5l
ZChfTV9YNjQpIHx8IGRlZmluZWQoX194ODZfNjRfXykKKyAgICAgICAgLy8gVGhlIFZTMjAxMyBy
dW50aW1lIGhhcyBhIGJ1ZyB3aGVyZSBpdCBtaXMtZGV0ZWN0cyBBVlgtY2FwYWJsZSBwcm9jZXNz
b3JzCisgICAgICAgIC8vIGlmIHRoZSBmZWF0dXJlIGhhcyBiZWVuIGRpc2FibGVkIGluIGZpcm13
YXJlLiBUaGlzIGNhdXNlcyB1cyB0byBjcmFzaAorICAgICAgICAvLyBpbiBzb21lIG9mIHRoZSBt
YXRoIGZ1bmN0aW9ucy4gRm9yIG5vdywgd2UgZGlzYWJsZSB0aG9zZSBvcHRpbWl6YXRpb25zCisg
ICAgICAgIC8vIGJlY2F1c2UgTWljcm9zb2Z0IGlzIG5vdCBnb2luZyB0byBmaXggdGhlIHByb2Js
ZW0gaW4gVlMyMDEzLgorICAgICAgICAvLyBUT0RPKDE0MTQ0OSk6IFJlbW92ZSB0aGlzIHdvcmth
cm91bmQgd2hlbiB3ZSBzd2l0Y2ggdG8gVlMyMDE1Ky4KKyAgICAgICAgX3NldF9GTUEzX2VuYWJs
ZSgwKTsKKyNlbmRpZgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgRExMX1BST0NFU1NfREVU
QUNIOgorICAgIGNhc2UgRExMX1RIUkVBRF9BVFRBQ0g6CisgICAgY2FzZSBETExfVEhSRUFEX0RF
VEFDSDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIFRSVUU7Cit9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9qc2MvRExMTGF1
bmNoZXJNYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9qc2MvRExMTGF1bmNoZXJNYWluLmNwcAkocmV2aXNpb24gMTc5ODYz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovanNjL0RM
TExhdW5jaGVyTWFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDEyLTIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xODMsNiArMTgzLDE1IEBAIGlu
dCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiBpbnQgV0lOQVBJIHdXaW5NYWlu
KEhJTlNUQU5DRSBoSW5zdGFuY2UsIEhJTlNUQU5DRSBoUHJldkluc3RhbmNlLCBMUFdTVFIgbHBz
dHJDbWRMaW5lLCBpbnQgbkNtZFNob3cpCiAjZW5kaWYKIHsKKyNpZiBkZWZpbmVkKF9NX1g2NCkg
fHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICAgIC8vIFRoZSBWUzIwMTMgcnVudGltZSBoYXMgYSBi
dWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUgcHJvY2Vzc29ycworICAgIC8vIGlm
IHRoZSBmZWF0dXJlIGhhcyBiZWVuIGRpc2FibGVkIGluIGZpcm13YXJlLiBUaGlzIGNhdXNlcyB1
cyB0byBjcmFzaAorICAgIC8vIGluIHNvbWUgb2YgdGhlIG1hdGggZnVuY3Rpb25zLiBGb3Igbm93
LCB3ZSBkaXNhYmxlIHRob3NlIG9wdGltaXphdGlvbnMKKyAgICAvLyBiZWNhdXNlIE1pY3Jvc29m
dCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9ibGVtIGluIFZTMjAxMy4KKyAgICAvLyBUT0RP
KDE0MTQ0OSk6IFJlbW92ZSB0aGlzIHdvcmthcm91bmQgd2hlbiB3ZSBzd2l0Y2ggdG8gVlMyMDE1
Ky4KKyAgICBfc2V0X0ZNQTNfZW5hYmxlKDApOworI2VuZGlmCisKICAgICBlbmFibGVUZXJtaW5h
dGlvbk9uSGVhcENvcnJ1cHRpb24oKTsKIAogICAgIC8vIEdldCB0aGUgcGF0aCBvZiBvdXIgZXhl
Y3V0YWJsZS4KSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzk5ODIpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE1LTAyLTExICBCcmVudCBGdWxn
aGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIFs2NC1iaXRdIFdvcmsg
YXJvdW5kIE1TVkMyMDEzIFJ1bnRpbWUgQnVnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE0OTgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE5ODAz
NjQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERp
c2FibGUgRk1BMyBpbnN0cnVjdGlvbiB1c2UgaW4gdGhlIE1TVkMgbWF0aCBsaWJyYXJ5IHRvCisg
ICAgICAgIHdvcmsgYXJvdW5kIGEgVlMyMDEzIHJ1bnRpbWUgY3Jhc2guIFdlIGNhbiByZW1vdmUg
dGhpcworICAgICAgICB3b3JrYXJvdW5kIHdoZW4gd2Ugc3dpdGNoIHRvIFZTMjAxNS4KKworICAg
ICAgICAqIFdURi52Y3hwcm9qL1dURi52Y3hwcm9qOiBBZGQgbmV3IGZpbGVzLgorICAgICAgICAq
IFdURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnM6IERpdHRvLgorICAgICAgICAqIHd0Zi93
aW4vV1RGRExMLmNwcDogQWRkZWQuCisKIDIwMTUtMDItMTEgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKSW5kZXg6IFNvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagkocmV2
aXNpb24gMTc5ODYzKQorKysgU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMTUxLDYgKzE1MSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
Llx3dGZcdW5pY29kZVxVVEY4LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0
Zlx3aW5cTWFpblRocmVhZFdpbi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3
dGZcd2luXFJ1bkxvb3BXaW4uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3Rm
XHdpblxXVEZETEwuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXFdURlRo
cmVhZERhdGEuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXFNjaGVkdWxl
UGFpckNGLmNwcCIgLz4KICAgPC9JdGVtR3JvdXA+CkBAIC03NzUsNCArNzc2LDQgQEAKICAgPElt
cG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4K
ICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91
cD4KLTwvUHJvamVjdD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBTb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0ZXJzCShyZXZpc2lv
biAxNzk4NjMpCisrKyBTb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMJ
KHdvcmtpbmcgY29weSkKQEAgLTI1Miw2ICsyNTIsMTAgQEAKICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHd0Zlxnb2JqZWN0XEdUaHJlYWRTYWZlTWFpbkxvb3BTb3VyY2UuY3BwIj4KICAgICAg
IDxGaWx0ZXI+d3RmXGdvYmplY3Q8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHd0ZlxSZWZDb3VudGVyLmNwcCIgLz4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHd0Zlx3aW5cV1RGRExMLmNwcCI+CisgICAgICA8RmlsdGVyPndpbjwvRmls
dGVyPgorICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxkdG9hXHV0aWxzLmgiPgpAQCAtNzIzLDYgKzcy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcZ29iamVjdFxHVGhyZWFkU2Fm
ZU1haW5Mb29wU291cmNlLmgiPgogICAgICAgPEZpbHRlcj53dGZcZ29iamVjdDwvRmlsdGVyPgog
ICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFJlZkNvdW50
ZXIuaCIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPE5vbmUgSW5jbHVk
ZT0iV1RGUG9zdEJ1aWxkLmNtZCIgLz4KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3dpbi9XVEZETEwu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3dpbi9XVEZETEwuY3BwCShyZXZpc2lv
biAwKQorKysgU291cmNlL1dURi93dGYvd2luL1dURkRMTC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw1MCBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoK
KyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgPFdpbmRvd3Mu
aD4KKyNpbmNsdWRlIDxtYXRoLmg+CisKK0JPT0wgV0lOQVBJIERsbE1haW4oSElOU1RBTkNFIGhp
bnN0RExMLCBEV09SRCBmZHdSZWFzb24sIExQVk9JRCBscHZSZXNlcnZlZCkKK3sKKyAgICBzd2l0
Y2ggKGZkd1JlYXNvbikgeworICAgIGNhc2UgRExMX1BST0NFU1NfQVRUQUNIOgorI2lmIGRlZmlu
ZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisgICAgICAgIC8vIFRoZSBWUzIwMTMg
cnVudGltZSBoYXMgYSBidWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUgcHJvY2Vz
c29ycworICAgICAgICAvLyBpZiB0aGUgZmVhdHVyZSBoYXMgYmVlbiBkaXNhYmxlZCBpbiBmaXJt
d2FyZS4gVGhpcyBjYXVzZXMgdXMgdG8gY3Jhc2gKKyAgICAgICAgLy8gaW4gc29tZSBvZiB0aGUg
bWF0aCBmdW5jdGlvbnMuIEZvciBub3csIHdlIGRpc2FibGUgdGhvc2Ugb3B0aW1pemF0aW9ucwor
ICAgICAgICAvLyBiZWNhdXNlIE1pY3Jvc29mdCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9i
bGVtIGluIFZTMjAxMy4KKyAgICAgICAgLy8gVE9ETygxNDE0NDkpOiBSZW1vdmUgdGhpcyB3b3Jr
YXJvdW5kIHdoZW4gd2Ugc3dpdGNoIHRvIFZTMjAxNSsuCisgICAgICAgIF9zZXRfRk1BM19lbmFi
bGUoMCk7CisjZW5kaWYKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIERMTF9QUk9DRVNTX0RF
VEFDSDoKKyAgICBjYXNlIERMTF9USFJFQURfQVRUQUNIOgorICAgIGNhc2UgRExMX1RIUkVBRF9E
RVRBQ0g6CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiBUUlVFOworfQpJbmRl
eDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5OTgyKQorKysgU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDItMTEgIEJy
ZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dpbl0gWzY0LWJp
dF0gV29yayBhcm91bmQgTVNWQzIwMTMgUnVudGltZSBCdWcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTQ5OAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMTk4MDM2NDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRGlzYWJsZSBGTUEzIGluc3RydWN0aW9uIHVzZSBpbiB0aGUgTVNWQyBtYXRoIGxpYnJh
cnkgdG8KKyAgICAgICAgd29yayBhcm91bmQgYSBWUzIwMTMgcnVudGltZSBjcmFzaC4gV2UgY2Fu
IHJlbW92ZSB0aGlzCisgICAgICAgIHdvcmthcm91bmQgd2hlbiB3ZSBzd2l0Y2ggdG8gVlMyMDE1
LgorCisgICAgICAgICogV2ViS2l0RExMLmNwcDogQ2FsbCBfc2V0X0ZNQTNfZW5hYmxlKDApIHRv
IGRpc2FibGUgRk1BMyBzdXBwb3J0LgorCiAyMDE1LTAyLTExICBwZWF2b0BvdXRsb29rLmNvbSAg
PHBlYXZvQG91dGxvb2suY29tPgogCiAgICAgICAgIFtXaW5DYWlyb10gQWNjZWxlcmF0ZWQgY29t
cG9zaXRpbmcgc2hvdWxkIGJlIGRpc2FibGVkIHdoZW4gZ3JhcGhpY3MgY2FyZCBkb2VzIG5vdCBz
dXBwb3J0IGl0LgpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViS2l0RExMLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRETEwuY3BwCShyZXZpc2lvbiAxNzk4NjMp
CisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRETEwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAxNCBBcHBsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAy
MDE0LTIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtNjYsNiArNjYsMTQgQEAgU1REQVBJXyhCT09MKSBEbGxNYWlu
KCBITU9EVUxFIGhNb2R1bGUsCiB7CiAgICAgc3dpdGNoICh1bF9yZWFzb25fZm9yX2NhbGwpIHsK
ICAgICAgICAgY2FzZSBETExfUFJPQ0VTU19BVFRBQ0g6CisjaWYgZGVmaW5lZChfTV9YNjQpIHx8
IGRlZmluZWQoX194ODZfNjRfXykKKyAgICAgICAgICAgIC8vIFRoZSBWUzIwMTMgcnVudGltZSBo
YXMgYSBidWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUgcHJvY2Vzc29ycworICAg
ICAgICAgICAgLy8gaWYgdGhlIGZlYXR1cmUgaGFzIGJlZW4gZGlzYWJsZWQgaW4gZmlybXdhcmUu
IFRoaXMgY2F1c2VzIHVzIHRvIGNyYXNoCisgICAgICAgICAgICAvLyBpbiBzb21lIG9mIHRoZSBt
YXRoIGZ1bmN0aW9ucy4gRm9yIG5vdywgd2UgZGlzYWJsZSB0aG9zZSBvcHRpbWl6YXRpb25zCisg
ICAgICAgICAgICAvLyBiZWNhdXNlIE1pY3Jvc29mdCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBw
cm9ibGVtIGluIFZTMjAxMy4KKyAgICAgICAgICAgIC8vIFRPRE8oMTQxNDQ5KTogUmVtb3ZlIHRo
aXMgd29ya2Fyb3VuZCB3aGVuIHdlIHN3aXRjaCB0byBWUzIwMTUrLgorICAgICAgICAgICAgX3Nl
dF9GTUEzX2VuYWJsZSgwKTsKKyNlbmRpZgogICAgICAgICAgICAgZ0xvY2tDb3VudCA9IGdDbGFz
c0NvdW50ID0gMDsKICAgICAgICAgICAgIGdJbnN0YW5jZSA9IGhNb2R1bGU7CiAgICAgICAgICAg
ICBXZWJDb3JlOjpzZXRJbnN0YW5jZUhhbmRsZShoTW9kdWxlKTsKSW5kZXg6IFRvb2xzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3OTk4MikKKysr
IFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE1LTAy
LTExICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5d
IFs2NC1iaXRdIFdvcmsgYXJvdW5kIE1TVkMyMDEzIFJ1bnRpbWUgQnVnCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE0OTgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzE5ODAzNjQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIERpc2FibGUgRk1BMyBpbnN0cnVjdGlvbiB1c2UgaW4gdGhlIE1TVkMgbWF0
aCBsaWJyYXJ5IHRvCisgICAgICAgIHdvcmsgYXJvdW5kIGEgVlMyMDEzIHJ1bnRpbWUgY3Jhc2gu
IFdlIGNhbiByZW1vdmUgdGhpcworICAgICAgICB3b3JrYXJvdW5kIHdoZW4gd2Ugc3dpdGNoIHRv
IFZTMjAxNS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2NnL0ltYWdlRGlmZkNHLmNwcDog
Q2FsbCBfc2V0X0ZNQTNfZW5hYmxlKDApIHRvCisgICAgICAgIGRpc2FibGUgRk1BMyBzdXBwb3J0
LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6IERpdHRv
LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9JbWFnZURpZmZDYWlyby5jcHA6IERpdHRv
LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcDogRGl0dG8u
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL2h0dHBkLnBtOiBEaXR0by4KKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL3dpbi9tYWluLmNwcDogRGl0dG8uCisgICAgICAgICogV2luTGF1bmNo
ZXIvQ29tbW9uLmNwcDogRGl0dG8uCisgICAgICAgICogd2luL0RMTExhdW5jaGVyL0RMTExhdW5j
aGVyTWFpbi5jcHA6IERpdHRvLgorCiAyMDE1LTAyLTExICBDc2FiYSBPc3p0cm9nb27DoWMgIDxv
c3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgTWFrZSBydW4tanNjLXN0cmVzcy10ZXN0cyAtLXJl
bW90ZSB3b3JrIHdpdGggbWFrZS1iYXNlZCBydW5uZXIKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2NnL0ltYWdlRGlmZkNHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJl
ZS9jZy9JbWFnZURpZmZDRy5jcHAJKHJldmlzaW9uIDE3OTg2MykKKysrIFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2NnL0ltYWdlRGlmZkNHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA3LCAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNSBCZW4gTGEgTW9uaWNhIDxi
ZW4ubGFtb25pY2FAZ21haWwuY29tPi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CkBAIC0xNzIsNiArMTcyLDE1IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpbWFnZUhhc0Fs
cGhhKENHSW1hZ2UKIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiB7CiAj
aWYgUExBVEZPUk0oV0lOKQorI2lmIGRlZmluZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0
X18pCisgICAgLy8gVGhlIFZTMjAxMyBydW50aW1lIGhhcyBhIGJ1ZyB3aGVyZSBpdCBtaXMtZGV0
ZWN0cyBBVlgtY2FwYWJsZSBwcm9jZXNzb3JzCisgICAgLy8gaWYgdGhlIGZlYXR1cmUgaGFzIGJl
ZW4gZGlzYWJsZWQgaW4gZmlybXdhcmUuIFRoaXMgY2F1c2VzIHVzIHRvIGNyYXNoCisgICAgLy8g
aW4gc29tZSBvZiB0aGUgbWF0aCBmdW5jdGlvbnMuIEZvciBub3csIHdlIGRpc2FibGUgdGhvc2Ug
b3B0aW1pemF0aW9ucworICAgIC8vIGJlY2F1c2UgTWljcm9zb2Z0IGlzIG5vdCBnb2luZyB0byBm
aXggdGhlIHByb2JsZW0gaW4gVlMyMDEzLgorICAgIC8vIFRPRE8oMTQxNDQ5KTogUmVtb3ZlIHRo
aXMgd29ya2Fyb3VuZCB3aGVuIHdlIHN3aXRjaCB0byBWUzIwMTUrLgorICAgIF9zZXRfRk1BM19l
bmFibGUoMCk7CisjZW5kaWYKKwogICAgIF9zZXRtb2RlKDAsIF9PX0JJTkFSWSk7CiAgICAgX3Nl
dG1vZGUoMSwgX09fQklOQVJZKTsKICNlbmRpZgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiAxNzk4NjMpCisrKyBUb29scy9EdW1w
UmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNS0yMDE0IEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxNSBBcHBsZSBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0x
MzkwLDYgKzEzOTAsMTUgQEAgc3RhdGljIHZvaWQgcHJlcGFyZUNvbnNpc3RlbnRUZXN0aW5nRW52
aQogCiBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQogeworI2lmIGRlZmlu
ZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisgICAgLy8gVGhlIFZTMjAxMyBydW50
aW1lIGhhcyBhIGJ1ZyB3aGVyZSBpdCBtaXMtZGV0ZWN0cyBBVlgtY2FwYWJsZSBwcm9jZXNzb3Jz
CisgICAgLy8gaWYgdGhlIGZlYXR1cmUgaGFzIGJlZW4gZGlzYWJsZWQgaW4gZmlybXdhcmUuIFRo
aXMgY2F1c2VzIHVzIHRvIGNyYXNoCisgICAgLy8gaW4gc29tZSBvZiB0aGUgbWF0aCBmdW5jdGlv
bnMuIEZvciBub3csIHdlIGRpc2FibGUgdGhvc2Ugb3B0aW1pemF0aW9ucworICAgIC8vIGJlY2F1
c2UgTWljcm9zb2Z0IGlzIG5vdCBnb2luZyB0byBmaXggdGhlIHByb2JsZW0gaW4gVlMyMDEzLgor
ICAgIC8vIFRPRE8oMTQxNDQ5KTogUmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCB3aGVuIHdlIHN3aXRj
aCB0byBWUzIwMTUrLgorICAgIF9zZXRfRk1BM19lbmFibGUoMCk7CisjZW5kaWYKKwogICAgIC8v
IEN5Z3dpbiBjYWxscyA6OlNldEVycm9yTW9kZShTRU1fRkFJTENSSVRJQ0FMRVJST1JTKSwgd2hp
Y2ggd2Ugd2lsbCBpbmhlcml0LiBUaGlzIGlzIGJhZCBmb3IKICAgICAvLyB0ZXN0aW5nL2RlYnVn
Z2luZywgYXMgaXQgY2F1c2VzIHRoZSBwb3N0LW1vcnRlbSBkZWJ1Z2dlciBub3QgdG8gYmUgaW52
b2tlZC4gV2UgcmVzZXQgdGhlCiAgICAgLy8gZXJyb3IgbW9kZSBoZXJlIHRvIHdvcmsgYXJvdW5k
IEN5Z3dpbidzIGJlaGF2aW9yLiBTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvNTUyMjI+LgpJbmRl
eDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0ltYWdlRGlmZkNhaXJvLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vSW1hZ2VEaWZmQ2Fpcm8uY3BwCShyZXZpc2lv
biAxNzk4NjMpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vSW1hZ2VEaWZmQ2Fpcm8uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
NSwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDUsIDIwMDcsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29w
eXJpZ2h0IChDKSAyMDA1IEJlbiBMYSBNb25pY2EgPGJlbi5sYW1vbmljYUBnbWFpbC5jb20+LiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBCcmVudCBGdWxnaGFt
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTE2OSw2ICsxNjksMTUgQEAgc3RhdGljIGNh
aXJvX3N0YXR1c190IHdyaXRlVG9EYXRhKHZvaWQqCiBpbnQgbWFpbihpbnQgYXJnYywgY29uc3Qg
Y2hhciogYXJndltdKQogewogI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBkZWZpbmVkKF9NX1g2NCkg
fHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICAgIC8vIFRoZSBWUzIwMTMgcnVudGltZSBoYXMgYSBi
dWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUgcHJvY2Vzc29ycworICAgIC8vIGlm
IHRoZSBmZWF0dXJlIGhhcyBiZWVuIGRpc2FibGVkIGluIGZpcm13YXJlLiBUaGlzIGNhdXNlcyB1
cyB0byBjcmFzaAorICAgIC8vIGluIHNvbWUgb2YgdGhlIG1hdGggZnVuY3Rpb25zLiBGb3Igbm93
LCB3ZSBkaXNhYmxlIHRob3NlIG9wdGltaXphdGlvbnMKKyAgICAvLyBiZWNhdXNlIE1pY3Jvc29m
dCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9ibGVtIGluIFZTMjAxMy4KKyAgICAvLyBUT0RP
KDE0MTQ0OSk6IFJlbW92ZSB0aGlzIHdvcmthcm91bmQgd2hlbiB3ZSBzd2l0Y2ggdG8gVlMyMDE1
Ky4KKyAgICBfc2V0X0ZNQTNfZW5hYmxlKDApOworI2VuZGlmCisKICAgICBfc2V0bW9kZSgwLCBf
T19CSU5BUlkpOwogICAgIF9zZXRtb2RlKDEsIF9PX0JJTkFSWSk7CiAjZW5kaWYKSW5kZXg6IFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAJKHJldmlzaW9uIDE3OTg2
MykKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTAwOCwxOSArMTAwOCw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6YWRkVXNlclN0
eWxlU2hlZXQoSlNTdHIKIAogdm9pZCBUZXN0UnVubmVyOjpzZXREZXZlbG9wZXJFeHRyYXNFbmFi
bGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBDT01QdHI8SVdlYlZpZXc+IHdlYlZpZXc7Ci0gICAg
aWYgKEZBSUxFRChmcmFtZS0+d2ViVmlldygmd2ViVmlldykpKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBDT01QdHI8SVdlYlByZWZlcmVuY2VzPiBwcmVmZXJlbmNlczsKLSAgICBpZiAoRkFJTEVE
KHdlYlZpZXctPnByZWZlcmVuY2VzKCZwcmVmZXJlbmNlcykpKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBDT01QdHI8SVdlYlByZWZlcmVuY2VzUHJpdmF0ZT4gcHJlZnNQcml2YXRlKFF1ZXJ5LCBw
cmVmZXJlbmNlcyk7Ci0gICAgaWYgKCFwcmVmc1ByaXZhdGUpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIHByZWZzUHJpdmF0ZS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChlbmFibGVkKTsKIH0K
IAogdm9pZCBUZXN0UnVubmVyOjpzaG93V2ViSW5zcGVjdG9yKCkKSW5kZXg6IFRvb2xzL1Njcmlw
dHMvd2Via2l0cGVybC9odHRwZC5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvaHR0cGQucG0JKHJldmlzaW9uIDE3OTg2MykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0
cGVybC9odHRwZC5wbQkod29ya2luZyBjb3B5KQpAQCAtNTgsMTIgKzU4LDEzIEBAIEJFR0lOIHsK
IH0KIAogbXkgJHRtcERpciA9ICIvdG1wIjsKK215ICRodHRwZFBpZERpciA9IEZpbGU6OlNwZWMt
PmNhdGZpbGUoJHRtcERpciwgIldlYktpdCIpOwogaWYgKGlzQW55V2luZG93cygpKSB7CiAgICAk
dG1wRGlyID0gdGVtcGRpcihDTEVBTlVQID0+IDApOwogICAgJHRtcERpciA9IGBjeWdwYXRoIC13
ICR0bXBEaXJgOwogICAgY2hvbXAoJHRtcERpcik7CisgICAkaHR0cGRQaWREaXIgPSAiQzoveGFt
cHAvYXBhY2hlL2xvZ3MiOwogfQotbXkgJGh0dHBkUGlkRGlyID0gRmlsZTo6U3BlYy0+Y2F0Zmls
ZSgkdG1wRGlyLCAiV2ViS2l0Iik7CiBteSAkaHR0cGRQaWRGaWxlID0gRmlsZTo6U3BlYy0+Y2F0
ZmlsZSgkaHR0cGRQaWREaXIsICJodHRwZC5waWQiKTsKIG15ICRodHRwZFBpZDsKIG15ICR3YWl0
Rm9yVXNlckludGVycnVwdCA9IDA7CkBAIC03OSw3ICs4MCw3IEBAIHN1YiBnZXRIVFRQRFBhdGgK
ICAgICBpZiAoaXNEZWJpYW5CYXNlZCgpKSB7CiAgICAgICAgICRodHRwZFBhdGggPSAiL3Vzci9z
YmluL2FwYWNoZTIiOwogICAgIH0gZWxzaWYgKGlzQW55V2luZG93cygpKSB7Ci0gICAgICAgICRo
dHRwZFBhdGggPSAiaHR0cGQiOworICAgICAgICAkaHR0cGRQYXRoID0gIkM6L3hhbXBwL2FwYWNo
ZS9iaW4vaHR0cGQuZXhlIjsKICAgICB9IGVsc2UgewogICAgICAgICAkaHR0cGRQYXRoID0gIi91
c3Ivc2Jpbi9odHRwZCI7CiAgICAgfQpAQCAtMTQyLDcgKzE0Myw2IEBAIHN1YiBnZXREZWZhdWx0
Q29uZmlnRm9yVGVzdERpcmVjdG9yeQogICAgIHB1c2goQGh0dHBkQXJncywgIi1jIiwgIlNTTENl
cnRpZmljYXRlRmlsZSBcIiRzc2xDZXJ0aWZpY2F0ZVwiIik7CiAKICAgICByZXR1cm4gQGh0dHBk
QXJnczsKLQogfQogCiBzdWIgZ2V0SFRUUERDb25maWdQYXRoRm9yVGVzdERpcmVjdG9yeQpAQCAt
MTUyLDcgKzE1Miw3IEBAIHN1YiBnZXRIVFRQRENvbmZpZ1BhdGhGb3JUZXN0RGlyZWN0b3J5CiAK
ICAgICBteSAkaHR0cGRDb25maWc7CiAgICAgbXkgJGh0dHBkUGF0aCA9IGdldEhUVFBEUGF0aCgp
OwotICAgIG15ICRodHRwZENvbmZEaXJlY3RvcnkgPSAiJHRlc3REaXJlY3RvcnkvaHR0cC9jb25m
LyI7CisgICAgbXkgJGh0dHBkQ29uZkRpcmVjdG9yeSA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJHRl
c3REaXJlY3RvcnksICJodHRwIiwgImNvbmYiKTsKICAgICBteSAkYXBhY2hlVmVyc2lvbiA9IGdl
dEFwYWNoZVZlcnNpb24oKTsKIAogICAgIGlmIChpc0N5Z3dpbigpKSB7CkBAIC0xNjUsNyArMTY1
LDcgQEAgc3ViIGdldEhUVFBEQ29uZmlnUGF0aEZvclRlc3REaXJlY3RvcnkKICAgICAgICAgIyBB
bGwgb3RoZXIgcG9ydHMgdXNlIGFwYWNoZTIsIHNvIGp1c3QgdXNlIG91ciBkZWZhdWx0IGFwYWNo
ZTIgY29uZmlnLgogICAgICAgICAkaHR0cGRDb25maWcgPSAiYXBhY2hlJGFwYWNoZVZlcnNpb24t
aHR0cGQuY29uZiI7CiAgICAgfQotICAgIHJldHVybiAiJGh0dHBkQ29uZkRpcmVjdG9yeS8kaHR0
cGRDb25maWciOworICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRmaWxlKCRodHRwZENvbmZEaXJl
Y3RvcnksICRodHRwZENvbmZpZyk7CiB9CiAKIHN1YiBvcGVuSFRUUEQoQCkKSW5kZXg6IFRvb2xz
L1Rlc3RXZWJLaXRBUEkvd2luL21haW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvd2luL21haW4uY3BwCShyZXZpc2lvbiAxNzk4NjMpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL3dpbi9tYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDEsNiArNDEsMTUg
QEAKIAogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogeworI2lmIGRlZmluZWQoX01f
WDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisgICAgLy8gVGhlIFZTMjAxMyBydW50aW1lIGhh
cyBhIGJ1ZyB3aGVyZSBpdCBtaXMtZGV0ZWN0cyBBVlgtY2FwYWJsZSBwcm9jZXNzb3JzCisgICAg
Ly8gaWYgdGhlIGZlYXR1cmUgaGFzIGJlZW4gZGlzYWJsZWQgaW4gZmlybXdhcmUuIFRoaXMgY2F1
c2VzIHVzIHRvIGNyYXNoCisgICAgLy8gaW4gc29tZSBvZiB0aGUgbWF0aCBmdW5jdGlvbnMuIEZv
ciBub3csIHdlIGRpc2FibGUgdGhvc2Ugb3B0aW1pemF0aW9ucworICAgIC8vIGJlY2F1c2UgTWlj
cm9zb2Z0IGlzIG5vdCBnb2luZyB0byBmaXggdGhlIHByb2JsZW0gaW4gVlMyMDEzLgorICAgIC8v
IFRPRE8oMTQxNDQ5KTogUmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCB3aGVuIHdlIHN3aXRjaCB0byBW
UzIwMTUrLgorICAgIF9zZXRfRk1BM19lbmFibGUoMCk7CisjZW5kaWYKKwogICAgIC8vIEN5Z3dp
biBjYWxscyA6OlNldEVycm9yTW9kZShTRU1fRkFJTENSSVRJQ0FMRVJST1JTKSwgd2hpY2ggd2Ug
d2lsbCBpbmhlcml0LiBUaGlzIGlzIGJhZCBmb3IKICAgICAvLyB0ZXN0aW5nL2RlYnVnZ2luZywg
YXMgaXQgY2F1c2VzIHRoZSBwb3N0LW1vcnRlbSBkZWJ1Z2dlciBub3QgdG8gYmUgaW52b2tlZC4g
V2UgcmVzZXQgdGhlCiAgICAgLy8gZXJyb3IgbW9kZSBoZXJlIHRvIHdvcmsgYXJvdW5kIEN5Z3dp
bidzIGJlaGF2aW9yLiBTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvNTUyMjI+LgpJbmRleDogVG9v
bHMvV2luTGF1bmNoZXIvQ29tbW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hl
ci9Db21tb24uY3BwCShyZXZpc2lvbiAxNzk4NjMpCisrKyBUb29scy9XaW5MYXVuY2hlci9Db21t
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwNiwgMjAwOCwgMjAxMywgMjAxNCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEzLTIwMTUgQXBwbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBCcmVudCBGdWxn
aGFtLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwg
MjAxMSBBcHBjZWxlcmF0b3IsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdo
dCAoQykgMjAxMyBBbGV4IENocmlzdGVuc2VuLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMTM5
LDggKzEzOSwxNyBAQCBzdGF0aWMgdm9pZCBjb21wdXRlRnVsbERlc2t0b3BGcmFtZSgpCiAKIEJP
T0wgV0lOQVBJIERsbE1haW4oSElOU1RBTkNFIGRsbEluc3RhbmNlLCBEV09SRCByZWFzb24sIExQ
Vk9JRCkKIHsKLSAgICBpZiAocmVhc29uID09IERMTF9QUk9DRVNTX0FUVEFDSCkKKyAgICBpZiAo
cmVhc29uID09IERMTF9QUk9DRVNTX0FUVEFDSCkgeworI2lmIGRlZmluZWQoX01fWDY0KSB8fCBk
ZWZpbmVkKF9feDg2XzY0X18pCisgICAgICAgIC8vIFRoZSBWUzIwMTMgcnVudGltZSBoYXMgYSBi
dWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUgcHJvY2Vzc29ycworICAgICAgICAv
LyBpZiB0aGUgZmVhdHVyZSBoYXMgYmVlbiBkaXNhYmxlZCBpbiBmaXJtd2FyZS4gVGhpcyBjYXVz
ZXMgdXMgdG8gY3Jhc2gKKyAgICAgICAgLy8gaW4gc29tZSBvZiB0aGUgbWF0aCBmdW5jdGlvbnMu
IEZvciBub3csIHdlIGRpc2FibGUgdGhvc2Ugb3B0aW1pemF0aW9ucworICAgICAgICAvLyBiZWNh
dXNlIE1pY3Jvc29mdCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9ibGVtIGluIFZTMjAxMy4K
KyAgICAgICAgLy8gVE9ETygxNDE0NDkpOiBSZW1vdmUgdGhpcyB3b3JrYXJvdW5kIHdoZW4gd2Ug
c3dpdGNoIHRvIFZTMjAxNSsuCisgICAgICAgIF9zZXRfRk1BM19lbmFibGUoMCk7CisjZW5kaWYK
ICAgICAgICAgaEluc3QgPSBkbGxJbnN0YW5jZTsKKyAgICB9CiAKICAgICByZXR1cm4gVFJVRTsK
IH0KSW5kZXg6IFRvb2xzL3dpbi9ETExMYXVuY2hlci9ETExMYXVuY2hlck1haW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL3dpbi9ETExMYXVuY2hlci9ETExMYXVuY2hlck1haW4uY3BwCShyZXZp
c2lvbiAxNzk4NjMpCisrKyBUb29scy93aW4vRExMTGF1bmNoZXIvRExMTGF1bmNoZXJNYWluLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTItMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTItMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTE4NCw2ICsxODQsMTUgQEAgaW50IG1haW4oaW50IGFyZ2Ms
IGNvbnN0IGNoYXIqIGFyZ3ZbXSkKIGludCBXSU5BUEkgd1dpbk1haW4oSElOU1RBTkNFIGhJbnN0
YW5jZSwgSElOU1RBTkNFIGhQcmV2SW5zdGFuY2UsIExQV1NUUiBscHN0ckNtZExpbmUsIGludCBu
Q21kU2hvdykKICNlbmRpZgogeworI2lmIGRlZmluZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9feDg2
XzY0X18pCisgICAgLy8gVGhlIFZTMjAxMyBydW50aW1lIGhhcyBhIGJ1ZyB3aGVyZSBpdCBtaXMt
ZGV0ZWN0cyBBVlgtY2FwYWJsZSBwcm9jZXNzb3JzCisgICAgLy8gaWYgdGhlIGZlYXR1cmUgaGFz
IGJlZW4gZGlzYWJsZWQgaW4gZmlybXdhcmUuIFRoaXMgY2F1c2VzIHVzIHRvIGNyYXNoCisgICAg
Ly8gaW4gc29tZSBvZiB0aGUgbWF0aCBmdW5jdGlvbnMuIEZvciBub3csIHdlIGRpc2FibGUgdGhv
c2Ugb3B0aW1pemF0aW9ucworICAgIC8vIGJlY2F1c2UgTWljcm9zb2Z0IGlzIG5vdCBnb2luZyB0
byBmaXggdGhlIHByb2JsZW0gaW4gVlMyMDEzLgorICAgIC8vIFRPRE8oMTQxNDQ5KTogUmVtb3Zl
IHRoaXMgd29ya2Fyb3VuZCB3aGVuIHdlIHN3aXRjaCB0byBWUzIwMTUrLgorICAgIF9zZXRfRk1B
M19lbmFibGUoMCk7CisjZW5kaWYKKwogI2lmZGVmIF9DUlREQkdfTUFQX0FMTE9DCiAgICAgX0Ny
dFNldFJlcG9ydEZpbGUoX0NSVF9XQVJOLCBfQ1JUREJHX0ZJTEVfU1RERVJSKTsKICAgICBfQ3J0
U2V0UmVwb3J0TW9kZShfQ1JUX1dBUk4sIF9DUlREQkdfTU9ERV9GSUxFKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246425</attachid>
            <date>2015-02-11 22:10:01 -0800</date>
            <delta_ts>2015-02-12 07:33:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141498-20150211221819.patch</filename>
            <type>text/plain</type>
            <size>27180</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5OTgyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDE1LTAyLTExICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAg
ICAgIFtXaW5dIFs2NC1iaXRdIFdvcmsgYXJvdW5kIE1TVkMyMDEzIFJ1bnRpbWUgQnVnCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE0OTgKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzE5ODAzNjQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIERpc2FibGUgRk1BMyBpbnN0cnVjdGlvbiB1c2UgaW4gdGhl
IE1TVkMgbWF0aCBsaWJyYXJ5IHRvCisgICAgICAgIHdvcmsgYXJvdW5kIGEgVlMyMDEzIHJ1bnRp
bWUgY3Jhc2guIFdlIGNhbiByZW1vdmUgdGhpcworICAgICAgICB3b3JrYXJvdW5kIHdoZW4gd2Ug
c3dpdGNoIHRvIFZTMjAxNS4KKworICAgICAgICAqIEFQSS90ZXN0cy90ZXN0YXBpLmM6IENhbGwg
X3NldF9GTUEzX2VuYWJsZSgwKSB0byBkaXNhYmxlCisgICAgICAgIEZNQTMgc3VwcG9ydC4KKyAg
ICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6IEFk
ZCBuZXcgZmlsZXMuCisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0
Q29yZS52Y3hwcm9qLmZpbHRlcnM6IERpdHRvLgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmVETEwuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS52Y3hwcm9qL2pzYy9ETExMYXVuY2hlck1haW4uY3BwOiBDYWxsIF9zZXRfRk1BM19lbmFi
bGUoMCkKKyAgICAgICAgdG8gZGlzYWJsZSBGTUEzIHN1cHBvcnQuCisgICAgICAgICoganNjLmNw
cDogRGl0dG8uCisgICAgICAgICogdGVzdFJlZ0V4cC5jcHA6IERpdHRvLgorCiAyMDE1LTAyLTEx
ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgVGhlIGNhbGxlZSBm
cmFtZSBoZWxwZXJzIGluIERGRzo6U3BlY3VsYXRpdmVKSVQgc2hvdWxkIGJlIGF2YWlsYWJsZSB0
byBvdGhlciBKSVRzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNpb24gMTc5ODYzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiAvKgogICogIENvcHlyaWdodCAoQykgMTk5OS0yMDAwIEhhcnJpIFBvcnRlbiAocG9y
dGVuQGtkZS5vcmcpCi0gKiAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAy
MDA4LCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIsIDIwMTMsIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogIENvcHlyaWdodCAoQykgMjAwNiBC
am9lcm4gR3JhZiAoYmpvZXJuLmdyYWZAZ21haWwuY29tKQogICoKICAqICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0xMTY5
LDcgKzExNjksMTQgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgIGZlc2V0
ZW52KCAmZW52ICk7CiAjZW5kaWYKIAotI2lmIE9TKFdJTkRPV1MpCisjaWYgT1MoV0lORE9XUykg
JiYgKGRlZmluZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pKQorICAgIC8vIFRoZSBW
UzIwMTMgcnVudGltZSBoYXMgYSBidWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUg
cHJvY2Vzc29ycworICAgIC8vIGlmIHRoZSBmZWF0dXJlIGhhcyBiZWVuIGRpc2FibGVkIGluIGZp
cm13YXJlLiBUaGlzIGNhdXNlcyB1cyB0byBjcmFzaAorICAgIC8vIGluIHNvbWUgb2YgdGhlIG1h
dGggZnVuY3Rpb25zLiBGb3Igbm93LCB3ZSBkaXNhYmxlIHRob3NlIG9wdGltaXphdGlvbnMKKyAg
ICAvLyBiZWNhdXNlIE1pY3Jvc29mdCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9ibGVtIGlu
IFZTMjAxMy4KKyAgICAvLyBUT0RPKDE0MTQ0OSk6IFJlbW92ZSB0aGlzIHdvcmthcm91bmQgd2hl
biB3ZSBzd2l0Y2ggdG8gVlMyMDE1Ky4KKyAgICBfc2V0X0ZNQTNfZW5hYmxlKDApOworCiAgICAg
Ly8gQ3lnd2luIGNhbGxzIDo6U2V0RXJyb3JNb2RlKFNFTV9GQUlMQ1JJVElDQUxFUlJPUlMpLCB3
aGljaCB3ZSB3aWxsIGluaGVyaXQuIFRoaXMgaXMgYmFkIGZvcgogICAgIC8vIHRlc3RpbmcvZGVi
dWdnaW5nLCBhcyBpdCBjYXVzZXMgdGhlIHBvc3QtbW9ydGVtIGRlYnVnZ2VyIG5vdCB0byBiZSBp
bnZva2VkLiBXZSByZXNldCB0aGUKICAgICAvLyBlcnJvciBtb2RlIGhlcmUgdG8gd29yayBhcm91
bmQgQ3lnd2luJ3MgYmVoYXZpb3IuIFNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi81NTIyMj4uCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCShyZXZpc2lvbiAxNzk4NjMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw1IEBACiAvKgotICogIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDExLCAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0xNjMsNiArMTYz
LDE1IEBAIGludCByZWFsTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpOwogaW50IG1haW4oaW50
IGFyZ2MsIGNoYXIqKiBhcmd2KQogewogI2lmIE9TKFdJTkRPV1MpCisjaWYgZGVmaW5lZChfTV9Y
NjQpIHx8IGRlZmluZWQoX194ODZfNjRfXykKKyAgICAvLyBUaGUgVlMyMDEzIHJ1bnRpbWUgaGFz
IGEgYnVnIHdoZXJlIGl0IG1pcy1kZXRlY3RzIEFWWC1jYXBhYmxlIHByb2Nlc3NvcnMKKyAgICAv
LyBpZiB0aGUgZmVhdHVyZSBoYXMgYmVlbiBkaXNhYmxlZCBpbiBmaXJtd2FyZS4gVGhpcyBjYXVz
ZXMgdXMgdG8gY3Jhc2gKKyAgICAvLyBpbiBzb21lIG9mIHRoZSBtYXRoIGZ1bmN0aW9ucy4gRm9y
IG5vdywgd2UgZGlzYWJsZSB0aG9zZSBvcHRpbWl6YXRpb25zCisgICAgLy8gYmVjYXVzZSBNaWNy
b3NvZnQgaXMgbm90IGdvaW5nIHRvIGZpeCB0aGUgcHJvYmxlbSBpbiBWUzIwMTMuCisgICAgLy8g
VE9ETygxNDE0NDkpOiBSZW1vdmUgdGhpcyB3b3JrYXJvdW5kIHdoZW4gd2Ugc3dpdGNoIHRvIFZT
MjAxNSsuCisgICAgX3NldF9GTUEzX2VuYWJsZSgwKTsKKyNlbmRpZgorCiAgICAgLy8gQ3lnd2lu
IGNhbGxzIDo6U2V0RXJyb3JNb2RlKFNFTV9GQUlMQ1JJVElDQUxFUlJPUlMpLCB3aGljaCB3ZSB3
aWxsIGluaGVyaXQuIFRoaXMgaXMgYmFkIGZvcgogICAgIC8vIHRlc3RpbmcvZGVidWdnaW5nLCBh
cyBpdCBjYXVzZXMgdGhlIHBvc3QtbW9ydGVtIGRlYnVnZ2VyIG5vdCB0byBiZSBpbnZva2VkLiBX
ZSByZXNldCB0aGUKICAgICAvLyBlcnJvciBtb2RlIGhlcmUgdG8gd29yayBhcm91bmQgQ3lnd2lu
J3MgYmVoYXZpb3IuIFNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi81NTIyMj4uCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkuYwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkuYwkocmV2aXNpb24gMTc5ODYzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLmMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTUgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMTE3Nyw2ICsxMTc3LDE1IEBAIHN0YXRpYyBib29sIGV4dGVuZFRlcm1pbmF0ZUNhbGxi
YWNrKEpTQ28KIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiB7CiAjaWYgT1MoV0lO
RE9XUykKKyNpZiBkZWZpbmVkKF9NX1g2NCkgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICAgIC8v
IFRoZSBWUzIwMTMgcnVudGltZSBoYXMgYSBidWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNh
cGFibGUgcHJvY2Vzc29ycworICAgIC8vIGlmIHRoZSBmZWF0dXJlIGhhcyBiZWVuIGRpc2FibGVk
IGluIGZpcm13YXJlLiBUaGlzIGNhdXNlcyB1cyB0byBjcmFzaAorICAgIC8vIGluIHNvbWUgb2Yg
dGhlIG1hdGggZnVuY3Rpb25zLiBGb3Igbm93LCB3ZSBkaXNhYmxlIHRob3NlIG9wdGltaXphdGlv
bnMKKyAgICAvLyBiZWNhdXNlIE1pY3Jvc29mdCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9i
bGVtIGluIFZTMjAxMy4KKyAgICAvLyBUT0RPKDE0MTQ0OSk6IFJlbW92ZSB0aGlzIHdvcmthcm91
bmQgd2hlbiB3ZSBzd2l0Y2ggdG8gVlMyMDE1Ky4KKyAgICBfc2V0X0ZNQTNfZW5hYmxlKDApOwor
I2VuZGlmCisKICAgICAvLyBDeWd3aW4gY2FsbHMgOjpTZXRFcnJvck1vZGUoU0VNX0ZBSUxDUklU
SUNBTEVSUk9SUyksIHdoaWNoIHdlIHdpbGwgaW5oZXJpdC4gVGhpcyBpcyBiYWQgZm9yCiAgICAg
Ly8gdGVzdGluZy9kZWJ1Z2dpbmcsIGFzIGl0IGNhdXNlcyB0aGUgcG9zdC1tb3J0ZW0gZGVidWdn
ZXIgbm90IHRvIGJlIGludm9rZWQuIFdlIHJlc2V0IHRoZQogICAgIC8vIGVycm9yIG1vZGUgaGVy
ZSB0byB3b3JrIGFyb3VuZCBDeWd3aW4ncyBiZWhhdmlvci4gU2VlIDxodHRwOi8vd2Via2l0Lm9y
Zy9iLzU1MjIyPi4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagko
cmV2aXNpb24gMTc5ODYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODQ1LDYg
Kzg0NSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVy
ZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU0NCdWlsdGlucy5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSJKYXZhU2NyaXB0
Q29yZURMTC5jcHAiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNo
aXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEFycmF5Q29uc3RydWN0b3Iu
bHV0LmgiIC8+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4
cHJvai5maWx0ZXJzCShyZXZpc2lvbiAxNzk4NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMJKHdv
cmtpbmcgY29weSkKQEAgLTE3NTUsNiArMTc1NSwxMCBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cYnl0ZWNvZGVcVmlydHVhbFJlZ2lzdGVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmJ5dGVj
b2RlPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxqaXRcU2V0dXBWYXJhcmdzRnJhbWUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
SmF2YVNjcmlwdENvcmVETEwuY3BwIj4KKyAgICAgIDxGaWx0ZXI+QVBJPC9GaWx0ZXI+CisgICAg
PC9DbENvbXBpbGU+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cQVBJXEFQSUNhbGxiYWNrRnVuY3Rpb24uaCI+CkBAIC00MTk4LDYgKzQy
MDIsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caml0XFBvbHltb3JwaGljQ2FsbFN0
dWJSb3V0aW5lLmgiPgogICAgICAgPEZpbHRlcj5qaXQ8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVk
ZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGppdFxTZXR1cFZhcmFyZ3NGcmFtZS5oIiAv
PgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Tm9uZSBJbmNsdWRlPSJKYXZh
U2NyaXB0Q29yZVByZUxpbmsuY21kIiAvPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmVETEwuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlRExMLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlRExMLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDUwIEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0Ogor
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSA8V2luZG93cy5o
PgorI2luY2x1ZGUgPG1hdGguaD4KKworQk9PTCBXSU5BUEkgRGxsTWFpbihISU5TVEFOQ0UgaGlu
c3RETEwsIERXT1JEIGZkd1JlYXNvbiwgTFBWT0lEIGxwdlJlc2VydmVkKQoreworICAgIHN3aXRj
aCAoZmR3UmVhc29uKSB7CisgICAgY2FzZSBETExfUFJPQ0VTU19BVFRBQ0g6CisjaWYgZGVmaW5l
ZChfTV9YNjQpIHx8IGRlZmluZWQoX194ODZfNjRfXykKKyAgICAgICAgLy8gVGhlIFZTMjAxMyBy
dW50aW1lIGhhcyBhIGJ1ZyB3aGVyZSBpdCBtaXMtZGV0ZWN0cyBBVlgtY2FwYWJsZSBwcm9jZXNz
b3JzCisgICAgICAgIC8vIGlmIHRoZSBmZWF0dXJlIGhhcyBiZWVuIGRpc2FibGVkIGluIGZpcm13
YXJlLiBUaGlzIGNhdXNlcyB1cyB0byBjcmFzaAorICAgICAgICAvLyBpbiBzb21lIG9mIHRoZSBt
YXRoIGZ1bmN0aW9ucy4gRm9yIG5vdywgd2UgZGlzYWJsZSB0aG9zZSBvcHRpbWl6YXRpb25zCisg
ICAgICAgIC8vIGJlY2F1c2UgTWljcm9zb2Z0IGlzIG5vdCBnb2luZyB0byBmaXggdGhlIHByb2Js
ZW0gaW4gVlMyMDEzLgorICAgICAgICAvLyBUT0RPKDE0MTQ0OSk6IFJlbW92ZSB0aGlzIHdvcmth
cm91bmQgd2hlbiB3ZSBzd2l0Y2ggdG8gVlMyMDE1Ky4KKyAgICAgICAgX3NldF9GTUEzX2VuYWJs
ZSgwKTsKKyNlbmRpZgorICAgICAgICBicmVhazsKKworICAgIGNhc2UgRExMX1BST0NFU1NfREVU
QUNIOgorICAgIGNhc2UgRExMX1RIUkVBRF9BVFRBQ0g6CisgICAgY2FzZSBETExfVEhSRUFEX0RF
VEFDSDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIFRSVUU7Cit9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9qc2MvRExMTGF1
bmNoZXJNYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9qc2MvRExMTGF1bmNoZXJNYWluLmNwcAkocmV2aXNpb24gMTc5ODYz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovanNjL0RM
TExhdW5jaGVyTWFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDEyLTIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xODMsNiArMTgzLDE1IEBAIGlu
dCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiBpbnQgV0lOQVBJIHdXaW5NYWlu
KEhJTlNUQU5DRSBoSW5zdGFuY2UsIEhJTlNUQU5DRSBoUHJldkluc3RhbmNlLCBMUFdTVFIgbHBz
dHJDbWRMaW5lLCBpbnQgbkNtZFNob3cpCiAjZW5kaWYKIHsKKyNpZiBkZWZpbmVkKF9NX1g2NCkg
fHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICAgIC8vIFRoZSBWUzIwMTMgcnVudGltZSBoYXMgYSBi
dWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUgcHJvY2Vzc29ycworICAgIC8vIGlm
IHRoZSBmZWF0dXJlIGhhcyBiZWVuIGRpc2FibGVkIGluIGZpcm13YXJlLiBUaGlzIGNhdXNlcyB1
cyB0byBjcmFzaAorICAgIC8vIGluIHNvbWUgb2YgdGhlIG1hdGggZnVuY3Rpb25zLiBGb3Igbm93
LCB3ZSBkaXNhYmxlIHRob3NlIG9wdGltaXphdGlvbnMKKyAgICAvLyBiZWNhdXNlIE1pY3Jvc29m
dCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9ibGVtIGluIFZTMjAxMy4KKyAgICAvLyBUT0RP
KDE0MTQ0OSk6IFJlbW92ZSB0aGlzIHdvcmthcm91bmQgd2hlbiB3ZSBzd2l0Y2ggdG8gVlMyMDE1
Ky4KKyAgICBfc2V0X0ZNQTNfZW5hYmxlKDApOworI2VuZGlmCisKICAgICBlbmFibGVUZXJtaW5h
dGlvbk9uSGVhcENvcnJ1cHRpb24oKTsKIAogICAgIC8vIEdldCB0aGUgcGF0aCBvZiBvdXIgZXhl
Y3V0YWJsZS4KSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzk5ODIpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE1LTAyLTExICBCcmVudCBGdWxn
aGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIFs2NC1iaXRdIFdvcmsg
YXJvdW5kIE1TVkMyMDEzIFJ1bnRpbWUgQnVnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE0OTgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE5ODAz
NjQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERp
c2FibGUgRk1BMyBpbnN0cnVjdGlvbiB1c2UgaW4gdGhlIE1TVkMgbWF0aCBsaWJyYXJ5IHRvCisg
ICAgICAgIHdvcmsgYXJvdW5kIGEgVlMyMDEzIHJ1bnRpbWUgY3Jhc2guIFdlIGNhbiByZW1vdmUg
dGhpcworICAgICAgICB3b3JrYXJvdW5kIHdoZW4gd2Ugc3dpdGNoIHRvIFZTMjAxNS4KKworICAg
ICAgICAqIFdURi52Y3hwcm9qL1dURi52Y3hwcm9qOiBBZGQgbmV3IGZpbGVzLgorICAgICAgICAq
IFdURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnM6IERpdHRvLgorICAgICAgICAqIHd0Zi93
aW4vV1RGRExMLmNwcDogQWRkZWQuCisKIDIwMTUtMDItMTEgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKSW5kZXg6IFNvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagkocmV2
aXNpb24gMTc5ODYzKQorKysgU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMTUxLDYgKzE1MSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
Llx3dGZcdW5pY29kZVxVVEY4LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0
Zlx3aW5cTWFpblRocmVhZFdpbi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3
dGZcd2luXFJ1bkxvb3BXaW4uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3Rm
XHdpblxXVEZETEwuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXFdURlRo
cmVhZERhdGEuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXFNjaGVkdWxl
UGFpckNGLmNwcCIgLz4KICAgPC9JdGVtR3JvdXA+CkBAIC03NzUsNCArNzc2LDQgQEAKICAgPElt
cG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4K
ICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91
cD4KLTwvUHJvamVjdD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBTb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0ZXJzCShyZXZpc2lv
biAxNzk4NjMpCisrKyBTb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMJ
KHdvcmtpbmcgY29weSkKQEAgLTI1Miw2ICsyNTIsMTAgQEAKICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHd0Zlxnb2JqZWN0XEdUaHJlYWRTYWZlTWFpbkxvb3BTb3VyY2UuY3BwIj4KICAgICAg
IDxGaWx0ZXI+d3RmXGdvYmplY3Q8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHd0ZlxSZWZDb3VudGVyLmNwcCIgLz4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHd0Zlx3aW5cV1RGRExMLmNwcCI+CisgICAgICA8RmlsdGVyPndpbjwvRmls
dGVyPgorICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxkdG9hXHV0aWxzLmgiPgpAQCAtNzIzLDYgKzcy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcZ29iamVjdFxHVGhyZWFkU2Fm
ZU1haW5Mb29wU291cmNlLmgiPgogICAgICAgPEZpbHRlcj53dGZcZ29iamVjdDwvRmlsdGVyPgog
ICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFJlZkNvdW50
ZXIuaCIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPE5vbmUgSW5jbHVk
ZT0iV1RGUG9zdEJ1aWxkLmNtZCIgLz4KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3dpbi9XVEZETEwu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3dpbi9XVEZETEwuY3BwCShyZXZpc2lv
biAwKQorKysgU291cmNlL1dURi93dGYvd2luL1dURkRMTC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw1MCBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoK
KyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgPFdpbmRvd3Mu
aD4KKyNpbmNsdWRlIDxtYXRoLmg+CisKK0JPT0wgV0lOQVBJIERsbE1haW4oSElOU1RBTkNFIGhp
bnN0RExMLCBEV09SRCBmZHdSZWFzb24sIExQVk9JRCBscHZSZXNlcnZlZCkKK3sKKyAgICBzd2l0
Y2ggKGZkd1JlYXNvbikgeworICAgIGNhc2UgRExMX1BST0NFU1NfQVRUQUNIOgorI2lmIGRlZmlu
ZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisgICAgICAgIC8vIFRoZSBWUzIwMTMg
cnVudGltZSBoYXMgYSBidWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUgcHJvY2Vz
c29ycworICAgICAgICAvLyBpZiB0aGUgZmVhdHVyZSBoYXMgYmVlbiBkaXNhYmxlZCBpbiBmaXJt
d2FyZS4gVGhpcyBjYXVzZXMgdXMgdG8gY3Jhc2gKKyAgICAgICAgLy8gaW4gc29tZSBvZiB0aGUg
bWF0aCBmdW5jdGlvbnMuIEZvciBub3csIHdlIGRpc2FibGUgdGhvc2Ugb3B0aW1pemF0aW9ucwor
ICAgICAgICAvLyBiZWNhdXNlIE1pY3Jvc29mdCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9i
bGVtIGluIFZTMjAxMy4KKyAgICAgICAgLy8gVE9ETygxNDE0NDkpOiBSZW1vdmUgdGhpcyB3b3Jr
YXJvdW5kIHdoZW4gd2Ugc3dpdGNoIHRvIFZTMjAxNSsuCisgICAgICAgIF9zZXRfRk1BM19lbmFi
bGUoMCk7CisjZW5kaWYKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIERMTF9QUk9DRVNTX0RF
VEFDSDoKKyAgICBjYXNlIERMTF9USFJFQURfQVRUQUNIOgorICAgIGNhc2UgRExMX1RIUkVBRF9E
RVRBQ0g6CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiBUUlVFOworfQpJbmRl
eDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5OTgyKQorKysgU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDItMTEgIEJy
ZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dpbl0gWzY0LWJp
dF0gV29yayBhcm91bmQgTVNWQzIwMTMgUnVudGltZSBCdWcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTQ5OAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMTk4MDM2NDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRGlzYWJsZSBGTUEzIGluc3RydWN0aW9uIHVzZSBpbiB0aGUgTVNWQyBtYXRoIGxpYnJh
cnkgdG8KKyAgICAgICAgd29yayBhcm91bmQgYSBWUzIwMTMgcnVudGltZSBjcmFzaC4gV2UgY2Fu
IHJlbW92ZSB0aGlzCisgICAgICAgIHdvcmthcm91bmQgd2hlbiB3ZSBzd2l0Y2ggdG8gVlMyMDE1
LgorCisgICAgICAgICogV2ViS2l0RExMLmNwcDogQ2FsbCBfc2V0X0ZNQTNfZW5hYmxlKDApIHRv
IGRpc2FibGUgRk1BMyBzdXBwb3J0LgorCiAyMDE1LTAyLTExICBwZWF2b0BvdXRsb29rLmNvbSAg
PHBlYXZvQG91dGxvb2suY29tPgogCiAgICAgICAgIFtXaW5DYWlyb10gQWNjZWxlcmF0ZWQgY29t
cG9zaXRpbmcgc2hvdWxkIGJlIGRpc2FibGVkIHdoZW4gZ3JhcGhpY3MgY2FyZCBkb2VzIG5vdCBz
dXBwb3J0IGl0LgpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViS2l0RExMLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRETEwuY3BwCShyZXZpc2lvbiAxNzk4NjMp
CisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRETEwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAxNCBBcHBsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAy
MDE0LTIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtNjYsNiArNjYsMTQgQEAgU1REQVBJXyhCT09MKSBEbGxNYWlu
KCBITU9EVUxFIGhNb2R1bGUsCiB7CiAgICAgc3dpdGNoICh1bF9yZWFzb25fZm9yX2NhbGwpIHsK
ICAgICAgICAgY2FzZSBETExfUFJPQ0VTU19BVFRBQ0g6CisjaWYgZGVmaW5lZChfTV9YNjQpIHx8
IGRlZmluZWQoX194ODZfNjRfXykKKyAgICAgICAgICAgIC8vIFRoZSBWUzIwMTMgcnVudGltZSBo
YXMgYSBidWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUgcHJvY2Vzc29ycworICAg
ICAgICAgICAgLy8gaWYgdGhlIGZlYXR1cmUgaGFzIGJlZW4gZGlzYWJsZWQgaW4gZmlybXdhcmUu
IFRoaXMgY2F1c2VzIHVzIHRvIGNyYXNoCisgICAgICAgICAgICAvLyBpbiBzb21lIG9mIHRoZSBt
YXRoIGZ1bmN0aW9ucy4gRm9yIG5vdywgd2UgZGlzYWJsZSB0aG9zZSBvcHRpbWl6YXRpb25zCisg
ICAgICAgICAgICAvLyBiZWNhdXNlIE1pY3Jvc29mdCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBw
cm9ibGVtIGluIFZTMjAxMy4KKyAgICAgICAgICAgIC8vIFRPRE8oMTQxNDQ5KTogUmVtb3ZlIHRo
aXMgd29ya2Fyb3VuZCB3aGVuIHdlIHN3aXRjaCB0byBWUzIwMTUrLgorICAgICAgICAgICAgX3Nl
dF9GTUEzX2VuYWJsZSgwKTsKKyNlbmRpZgogICAgICAgICAgICAgZ0xvY2tDb3VudCA9IGdDbGFz
c0NvdW50ID0gMDsKICAgICAgICAgICAgIGdJbnN0YW5jZSA9IGhNb2R1bGU7CiAgICAgICAgICAg
ICBXZWJDb3JlOjpzZXRJbnN0YW5jZUhhbmRsZShoTW9kdWxlKTsKSW5kZXg6IFRvb2xzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3OTk4MikKKysr
IFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE1LTAy
LTExICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5d
IFs2NC1iaXRdIFdvcmsgYXJvdW5kIE1TVkMyMDEzIFJ1bnRpbWUgQnVnCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE0OTgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzE5ODAzNjQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIERpc2FibGUgRk1BMyBpbnN0cnVjdGlvbiB1c2UgaW4gdGhlIE1TVkMgbWF0
aCBsaWJyYXJ5IHRvCisgICAgICAgIHdvcmsgYXJvdW5kIGEgVlMyMDEzIHJ1bnRpbWUgY3Jhc2gu
IFdlIGNhbiByZW1vdmUgdGhpcworICAgICAgICB3b3JrYXJvdW5kIHdoZW4gd2Ugc3dpdGNoIHRv
IFZTMjAxNS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2NnL0ltYWdlRGlmZkNHLmNwcDog
Q2FsbCBfc2V0X0ZNQTNfZW5hYmxlKDApIHRvCisgICAgICAgIGRpc2FibGUgRk1BMyBzdXBwb3J0
LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6IERpdHRv
LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9JbWFnZURpZmZDYWlyby5jcHA6IERpdHRv
LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcDogRGl0dG8u
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL2h0dHBkLnBtOiBEaXR0by4KKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL3dpbi9tYWluLmNwcDogRGl0dG8uCisgICAgICAgICogV2luTGF1bmNo
ZXIvQ29tbW9uLmNwcDogRGl0dG8uCisgICAgICAgICogd2luL0RMTExhdW5jaGVyL0RMTExhdW5j
aGVyTWFpbi5jcHA6IERpdHRvLgorCiAyMDE1LTAyLTExICBDc2FiYSBPc3p0cm9nb27DoWMgIDxv
c3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgTWFrZSBydW4tanNjLXN0cmVzcy10ZXN0cyAtLXJl
bW90ZSB3b3JrIHdpdGggbWFrZS1iYXNlZCBydW5uZXIKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2NnL0ltYWdlRGlmZkNHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJl
ZS9jZy9JbWFnZURpZmZDRy5jcHAJKHJldmlzaW9uIDE3OTg2MykKKysrIFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2NnL0ltYWdlRGlmZkNHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA3LCAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNSBCZW4gTGEgTW9uaWNhIDxi
ZW4ubGFtb25pY2FAZ21haWwuY29tPi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CkBAIC0xNzIsNiArMTcyLDE1IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpbWFnZUhhc0Fs
cGhhKENHSW1hZ2UKIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiB7CiAj
aWYgUExBVEZPUk0oV0lOKQorI2lmIGRlZmluZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0
X18pCisgICAgLy8gVGhlIFZTMjAxMyBydW50aW1lIGhhcyBhIGJ1ZyB3aGVyZSBpdCBtaXMtZGV0
ZWN0cyBBVlgtY2FwYWJsZSBwcm9jZXNzb3JzCisgICAgLy8gaWYgdGhlIGZlYXR1cmUgaGFzIGJl
ZW4gZGlzYWJsZWQgaW4gZmlybXdhcmUuIFRoaXMgY2F1c2VzIHVzIHRvIGNyYXNoCisgICAgLy8g
aW4gc29tZSBvZiB0aGUgbWF0aCBmdW5jdGlvbnMuIEZvciBub3csIHdlIGRpc2FibGUgdGhvc2Ug
b3B0aW1pemF0aW9ucworICAgIC8vIGJlY2F1c2UgTWljcm9zb2Z0IGlzIG5vdCBnb2luZyB0byBm
aXggdGhlIHByb2JsZW0gaW4gVlMyMDEzLgorICAgIC8vIFRPRE8oMTQxNDQ5KTogUmVtb3ZlIHRo
aXMgd29ya2Fyb3VuZCB3aGVuIHdlIHN3aXRjaCB0byBWUzIwMTUrLgorICAgIF9zZXRfRk1BM19l
bmFibGUoMCk7CisjZW5kaWYKKwogICAgIF9zZXRtb2RlKDAsIF9PX0JJTkFSWSk7CiAgICAgX3Nl
dG1vZGUoMSwgX09fQklOQVJZKTsKICNlbmRpZgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiAxNzk4NjMpCisrKyBUb29scy9EdW1w
UmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNS0yMDE0IEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxNSBBcHBsZSBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0x
MzkwLDYgKzEzOTAsMTUgQEAgc3RhdGljIHZvaWQgcHJlcGFyZUNvbnNpc3RlbnRUZXN0aW5nRW52
aQogCiBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQogeworI2lmIGRlZmlu
ZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisgICAgLy8gVGhlIFZTMjAxMyBydW50
aW1lIGhhcyBhIGJ1ZyB3aGVyZSBpdCBtaXMtZGV0ZWN0cyBBVlgtY2FwYWJsZSBwcm9jZXNzb3Jz
CisgICAgLy8gaWYgdGhlIGZlYXR1cmUgaGFzIGJlZW4gZGlzYWJsZWQgaW4gZmlybXdhcmUuIFRo
aXMgY2F1c2VzIHVzIHRvIGNyYXNoCisgICAgLy8gaW4gc29tZSBvZiB0aGUgbWF0aCBmdW5jdGlv
bnMuIEZvciBub3csIHdlIGRpc2FibGUgdGhvc2Ugb3B0aW1pemF0aW9ucworICAgIC8vIGJlY2F1
c2UgTWljcm9zb2Z0IGlzIG5vdCBnb2luZyB0byBmaXggdGhlIHByb2JsZW0gaW4gVlMyMDEzLgor
ICAgIC8vIFRPRE8oMTQxNDQ5KTogUmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCB3aGVuIHdlIHN3aXRj
aCB0byBWUzIwMTUrLgorICAgIF9zZXRfRk1BM19lbmFibGUoMCk7CisjZW5kaWYKKwogICAgIC8v
IEN5Z3dpbiBjYWxscyA6OlNldEVycm9yTW9kZShTRU1fRkFJTENSSVRJQ0FMRVJST1JTKSwgd2hp
Y2ggd2Ugd2lsbCBpbmhlcml0LiBUaGlzIGlzIGJhZCBmb3IKICAgICAvLyB0ZXN0aW5nL2RlYnVn
Z2luZywgYXMgaXQgY2F1c2VzIHRoZSBwb3N0LW1vcnRlbSBkZWJ1Z2dlciBub3QgdG8gYmUgaW52
b2tlZC4gV2UgcmVzZXQgdGhlCiAgICAgLy8gZXJyb3IgbW9kZSBoZXJlIHRvIHdvcmsgYXJvdW5k
IEN5Z3dpbidzIGJlaGF2aW9yLiBTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvNTUyMjI+LgpJbmRl
eDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0ltYWdlRGlmZkNhaXJvLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vSW1hZ2VEaWZmQ2Fpcm8uY3BwCShyZXZpc2lv
biAxNzk4NjMpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vSW1hZ2VEaWZmQ2Fpcm8uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
NSwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDUsIDIwMDcsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29w
eXJpZ2h0IChDKSAyMDA1IEJlbiBMYSBNb25pY2EgPGJlbi5sYW1vbmljYUBnbWFpbC5jb20+LiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBCcmVudCBGdWxnaGFt
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTE2OSw2ICsxNjksMTUgQEAgc3RhdGljIGNh
aXJvX3N0YXR1c190IHdyaXRlVG9EYXRhKHZvaWQqCiBpbnQgbWFpbihpbnQgYXJnYywgY29uc3Qg
Y2hhciogYXJndltdKQogewogI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBkZWZpbmVkKF9NX1g2NCkg
fHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICAgIC8vIFRoZSBWUzIwMTMgcnVudGltZSBoYXMgYSBi
dWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUgcHJvY2Vzc29ycworICAgIC8vIGlm
IHRoZSBmZWF0dXJlIGhhcyBiZWVuIGRpc2FibGVkIGluIGZpcm13YXJlLiBUaGlzIGNhdXNlcyB1
cyB0byBjcmFzaAorICAgIC8vIGluIHNvbWUgb2YgdGhlIG1hdGggZnVuY3Rpb25zLiBGb3Igbm93
LCB3ZSBkaXNhYmxlIHRob3NlIG9wdGltaXphdGlvbnMKKyAgICAvLyBiZWNhdXNlIE1pY3Jvc29m
dCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9ibGVtIGluIFZTMjAxMy4KKyAgICAvLyBUT0RP
KDE0MTQ0OSk6IFJlbW92ZSB0aGlzIHdvcmthcm91bmQgd2hlbiB3ZSBzd2l0Y2ggdG8gVlMyMDE1
Ky4KKyAgICBfc2V0X0ZNQTNfZW5hYmxlKDApOworI2VuZGlmCisKICAgICBfc2V0bW9kZSgwLCBf
T19CSU5BUlkpOwogICAgIF9zZXRtb2RlKDEsIF9PX0JJTkFSWSk7CiAjZW5kaWYKSW5kZXg6IFRv
b2xzL1Rlc3RXZWJLaXRBUEkvd2luL21haW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvd2luL21haW4uY3BwCShyZXZpc2lvbiAxNzk4NjMpCisrKyBUb29scy9UZXN0V2Vi
S2l0QVBJL3dpbi9tYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDEsNiArNDEs
MTUgQEAKIAogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogeworI2lmIGRlZmluZWQo
X01fWDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisgICAgLy8gVGhlIFZTMjAxMyBydW50aW1l
IGhhcyBhIGJ1ZyB3aGVyZSBpdCBtaXMtZGV0ZWN0cyBBVlgtY2FwYWJsZSBwcm9jZXNzb3JzCisg
ICAgLy8gaWYgdGhlIGZlYXR1cmUgaGFzIGJlZW4gZGlzYWJsZWQgaW4gZmlybXdhcmUuIFRoaXMg
Y2F1c2VzIHVzIHRvIGNyYXNoCisgICAgLy8gaW4gc29tZSBvZiB0aGUgbWF0aCBmdW5jdGlvbnMu
IEZvciBub3csIHdlIGRpc2FibGUgdGhvc2Ugb3B0aW1pemF0aW9ucworICAgIC8vIGJlY2F1c2Ug
TWljcm9zb2Z0IGlzIG5vdCBnb2luZyB0byBmaXggdGhlIHByb2JsZW0gaW4gVlMyMDEzLgorICAg
IC8vIFRPRE8oMTQxNDQ5KTogUmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCB3aGVuIHdlIHN3aXRjaCB0
byBWUzIwMTUrLgorICAgIF9zZXRfRk1BM19lbmFibGUoMCk7CisjZW5kaWYKKwogICAgIC8vIEN5
Z3dpbiBjYWxscyA6OlNldEVycm9yTW9kZShTRU1fRkFJTENSSVRJQ0FMRVJST1JTKSwgd2hpY2gg
d2Ugd2lsbCBpbmhlcml0LiBUaGlzIGlzIGJhZCBmb3IKICAgICAvLyB0ZXN0aW5nL2RlYnVnZ2lu
ZywgYXMgaXQgY2F1c2VzIHRoZSBwb3N0LW1vcnRlbSBkZWJ1Z2dlciBub3QgdG8gYmUgaW52b2tl
ZC4gV2UgcmVzZXQgdGhlCiAgICAgLy8gZXJyb3IgbW9kZSBoZXJlIHRvIHdvcmsgYXJvdW5kIEN5
Z3dpbidzIGJlaGF2aW9yLiBTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvNTUyMjI+LgpJbmRleDog
VG9vbHMvV2luTGF1bmNoZXIvQ29tbW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVu
Y2hlci9Db21tb24uY3BwCShyZXZpc2lvbiAxNzk4NjMpCisrKyBUb29scy9XaW5MYXVuY2hlci9D
b21tb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwNiwgMjAwOCwgMjAxMywgMjAxNCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEzLTIwMTUgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBCcmVudCBG
dWxnaGFtLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAx
MCwgMjAxMSBBcHBjZWxlcmF0b3IsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAxMyBBbGV4IENocmlzdGVuc2VuLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAt
MTM5LDggKzEzOSwxNyBAQCBzdGF0aWMgdm9pZCBjb21wdXRlRnVsbERlc2t0b3BGcmFtZSgpCiAK
IEJPT0wgV0lOQVBJIERsbE1haW4oSElOU1RBTkNFIGRsbEluc3RhbmNlLCBEV09SRCByZWFzb24s
IExQVk9JRCkKIHsKLSAgICBpZiAocmVhc29uID09IERMTF9QUk9DRVNTX0FUVEFDSCkKKyAgICBp
ZiAocmVhc29uID09IERMTF9QUk9DRVNTX0FUVEFDSCkgeworI2lmIGRlZmluZWQoX01fWDY0KSB8
fCBkZWZpbmVkKF9feDg2XzY0X18pCisgICAgICAgIC8vIFRoZSBWUzIwMTMgcnVudGltZSBoYXMg
YSBidWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUgcHJvY2Vzc29ycworICAgICAg
ICAvLyBpZiB0aGUgZmVhdHVyZSBoYXMgYmVlbiBkaXNhYmxlZCBpbiBmaXJtd2FyZS4gVGhpcyBj
YXVzZXMgdXMgdG8gY3Jhc2gKKyAgICAgICAgLy8gaW4gc29tZSBvZiB0aGUgbWF0aCBmdW5jdGlv
bnMuIEZvciBub3csIHdlIGRpc2FibGUgdGhvc2Ugb3B0aW1pemF0aW9ucworICAgICAgICAvLyBi
ZWNhdXNlIE1pY3Jvc29mdCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9ibGVtIGluIFZTMjAx
My4KKyAgICAgICAgLy8gVE9ETygxNDE0NDkpOiBSZW1vdmUgdGhpcyB3b3JrYXJvdW5kIHdoZW4g
d2Ugc3dpdGNoIHRvIFZTMjAxNSsuCisgICAgICAgIF9zZXRfRk1BM19lbmFibGUoMCk7CisjZW5k
aWYKICAgICAgICAgaEluc3QgPSBkbGxJbnN0YW5jZTsKKyAgICB9CiAKICAgICByZXR1cm4gVFJV
RTsKIH0KSW5kZXg6IFRvb2xzL3dpbi9ETExMYXVuY2hlci9ETExMYXVuY2hlck1haW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL3dpbi9ETExMYXVuY2hlci9ETExMYXVuY2hlck1haW4uY3BwCShy
ZXZpc2lvbiAxNzk4NjMpCisrKyBUb29scy93aW4vRExMTGF1bmNoZXIvRExMTGF1bmNoZXJNYWlu
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTItMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTItMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE4NCw2ICsxODQsMTUgQEAgaW50IG1haW4oaW50IGFy
Z2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKIGludCBXSU5BUEkgd1dpbk1haW4oSElOU1RBTkNFIGhJ
bnN0YW5jZSwgSElOU1RBTkNFIGhQcmV2SW5zdGFuY2UsIExQV1NUUiBscHN0ckNtZExpbmUsIGlu
dCBuQ21kU2hvdykKICNlbmRpZgogeworI2lmIGRlZmluZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9f
eDg2XzY0X18pCisgICAgLy8gVGhlIFZTMjAxMyBydW50aW1lIGhhcyBhIGJ1ZyB3aGVyZSBpdCBt
aXMtZGV0ZWN0cyBBVlgtY2FwYWJsZSBwcm9jZXNzb3JzCisgICAgLy8gaWYgdGhlIGZlYXR1cmUg
aGFzIGJlZW4gZGlzYWJsZWQgaW4gZmlybXdhcmUuIFRoaXMgY2F1c2VzIHVzIHRvIGNyYXNoCisg
ICAgLy8gaW4gc29tZSBvZiB0aGUgbWF0aCBmdW5jdGlvbnMuIEZvciBub3csIHdlIGRpc2FibGUg
dGhvc2Ugb3B0aW1pemF0aW9ucworICAgIC8vIGJlY2F1c2UgTWljcm9zb2Z0IGlzIG5vdCBnb2lu
ZyB0byBmaXggdGhlIHByb2JsZW0gaW4gVlMyMDEzLgorICAgIC8vIFRPRE8oMTQxNDQ5KTogUmVt
b3ZlIHRoaXMgd29ya2Fyb3VuZCB3aGVuIHdlIHN3aXRjaCB0byBWUzIwMTUrLgorICAgIF9zZXRf
Rk1BM19lbmFibGUoMCk7CisjZW5kaWYKKwogI2lmZGVmIF9DUlREQkdfTUFQX0FMTE9DCiAgICAg
X0NydFNldFJlcG9ydEZpbGUoX0NSVF9XQVJOLCBfQ1JUREJHX0ZJTEVfU1RERVJSKTsKICAgICBf
Q3J0U2V0UmVwb3J0TW9kZShfQ1JUX1dBUk4sIF9DUlREQkdfTU9ERV9GSUxFKTsK
</data>
<flag name="review"
          id="271372"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>