<?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>89373</bug_id>
          
          <creation_ts>2012-06-18 13:08:48 -0700</creation_ts>
          <short_desc>Add a scheme registry for bypassing Content Security Policy.</short_desc>
          <delta_ts>2012-06-19 00:27:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>651645</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 13:08:48 -0700</bug_when>
    <thetext>In certain cases, we&apos;d like to ensure that resources load regardless of a page&apos;s Content Security Policy. Extensions, for instance, should be able to inject their own resources into a page even if that page would otherwise block them.

The spec agrees, noting that &quot;Enforcing a CSP policy should not interfere with the operation of user-supplied scripts such as third-party user-agent add-ons and JavaScript bookmarklets.&quot; (https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#processing-model)

See http://crbug.com/133223 for additional context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651647</commentid>
    <comment_count>1</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 13:13:28 -0700</bug_when>
    <thetext>I&apos;ve started on a patch which I&apos;ll upload in a moment. I&apos;m not sure how to write a test for this functionality, however. I took a quick look at some other registries, but haven&apos;t found anything useful. Is this just a no-test zone, or can you point me in the right direction, Adam? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651659</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-18 13:27:28 -0700</bug_when>
    <thetext>The easiest thing is probably to add an API to Internals.idl for registering the scheme.  We haven&apos;t been that good about testing these things in the past because we didn&apos;t have Internals.idl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651681</commentid>
    <comment_count>3</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 13:43:42 -0700</bug_when>
    <thetext>Got it(In reply to comment #2)
&gt; The easiest thing is probably to add an API to Internals.idl for registering the scheme.  We haven&apos;t been that good about testing these things in the past because we didn&apos;t have Internals.idl.

Got it. That looks straightforward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651699</commentid>
    <comment_count>4</comment_count>
      <attachid>148167</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 13:56:55 -0700</bug_when>
    <thetext>Created attachment 148167
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651704</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-18 14:00:03 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651705</commentid>
    <comment_count>6</comment_count>
      <attachid>148167</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-18 14:00:42 -0700</bug_when>
    <thetext>Comment on attachment 148167
Patch

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

&gt; Source/WebCore/platform/SchemeRegistry.h:89
&gt; +    static bool shouldTreatURLSchemeAsBypassingCSP(const String&amp; scheme);

shouldTreatURLSchemeAsBypassingCSP &lt;-- schemeShouldBypassContentSecurityPolicy ?

Generally, we don&apos;t like to use abbreviations because they can be hard for folks to decode when they&apos;re not experts, especially in a file like this that&apos;s not really related to CSP.

&gt; Source/WebCore/testing/Internals.cpp:1151
&gt; +    SchemeRegistry::registerURLSchemeAsBypassingCSP(scheme);

We need to unregister the scheme when the test is over so we don&apos;t affect later tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651708</commentid>
    <comment_count>7</comment_count>
      <attachid>148167</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-06-18 14:05:51 -0700</bug_when>
    <thetext>Comment on attachment 148167
Patch

Attachment 148167 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12972566</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651715</commentid>
    <comment_count>8</comment_count>
      <attachid>148167</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-18 14:15:50 -0700</bug_when>
    <thetext>Comment on attachment 148167
Patch

Attachment 148167 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12979265</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651722</commentid>
    <comment_count>9</comment_count>
      <attachid>148167</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-18 14:24:03 -0700</bug_when>
    <thetext>Comment on attachment 148167
Patch

Attachment 148167 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12973480</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651740</commentid>
    <comment_count>10</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 14:36:29 -0700</bug_when>
    <thetext>Hrm. Based on a bit of digging, it looks like I need to expose these new symbols so that the testing framework can use them. Is there an automated mechanism for generating the symbols into files like `Source/WebCore/WebCore.exp.in` and so on?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651741</commentid>
    <comment_count>11</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 14:36:57 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Hrm. Based on a bit of digging, it looks like I need to expose these new symbols so that the testing framework can use them. Is there an automated mechanism for generating the symbols into files like `Source/WebCore/WebCore.exp.in` and so on?

I&apos;m looking at https://bugs.webkit.org/attachment.cgi?id=147713&amp;action=prettypatch btw.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651748</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-18 14:40:31 -0700</bug_when>
    <thetext>&gt; Is there an automated mechanism for generating the symbols into files like `Source/WebCore/WebCore.exp.in` and so on?

Sadly, no.  I tend to look at the build errors and grab the symbols from there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651762</commentid>
    <comment_count>13</comment_count>
      <attachid>148177</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 14:55:33 -0700</bug_when>
    <thetext>Created attachment 148177
Crossing my fingers, but expecting to have to redo the symbols.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651773</commentid>
    <comment_count>14</comment_count>
      <attachid>148177</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-18 15:05:51 -0700</bug_when>
    <thetext>Comment on attachment 148177
Crossing my fingers, but expecting to have to redo the symbols.

Attachment 148177 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12973495</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651774</commentid>
    <comment_count>15</comment_count>
      <attachid>148177</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-06-18 15:06:22 -0700</bug_when>
    <thetext>Comment on attachment 148177
Crossing my fingers, but expecting to have to redo the symbols.

Attachment 148177 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12972582</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651780</commentid>
    <comment_count>16</comment_count>
      <attachid>148183</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 15:12:36 -0700</bug_when>
    <thetext>Created attachment 148183
Sigh.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651800</commentid>
    <comment_count>17</comment_count>
      <attachid>148183</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-06-18 15:21:32 -0700</bug_when>
    <thetext>Comment on attachment 148183
Sigh.

Attachment 148183 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12971759</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651801</commentid>
    <comment_count>18</comment_count>
      <attachid>148183</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-18 15:23:00 -0700</bug_when>
    <thetext>Comment on attachment 148183
Sigh.

Attachment 148183 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12982175</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651817</commentid>
    <comment_count>19</comment_count>
      <attachid>148189</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 15:41:11 -0700</bug_when>
    <thetext>Created attachment 148189
Crossing different fingers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651858</commentid>
    <comment_count>20</comment_count>
      <attachid>148189</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 16:19:55 -0700</bug_when>
    <thetext>Comment on attachment 148189
Crossing different fingers.

Alright. Procedural symbol stuff out of the way. Assuming that the rest of the bots are happy (and why wouldn&apos;t they be?! :) ), what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651876</commentid>
    <comment_count>21</comment_count>
      <attachid>148189</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-18 16:52:47 -0700</bug_when>
    <thetext>Comment on attachment 148189
Crossing different fingers.

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

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html:19
&gt; +    &lt;img src=&quot;../resources/abe.png&quot; onload=&quot;alert(this.width == 76 ? &apos;FAIL&apos; : &apos;PASS&apos;)&quot;&gt;
&gt; +    &lt;script&gt;
&gt; +        internals.registerURLSchemeAsBypassingContentSecurityPolicy(&apos;http&apos;);
&gt; +    &lt;/script&gt;
&gt; +    &lt;img src=&quot;../resources/abe.png&quot; onload=&quot;alert(this.width == 76 ? &apos;PASS&apos; : &apos;FAIL&apos;)&quot;&gt;
&gt; +    &lt;script&gt;
&gt; +        internals.removeURLSchemeRegisteredAsBypassingContentSecurityPolicy(&apos;http&apos;);
&gt; +    &lt;/script&gt;
&gt; +    &lt;img src=&quot;../resources/abe.png&quot; onload=&quot;alert(this.width == 76 ? &apos;FAIL&apos; : &apos;PASS&apos;)&quot;&gt;

The code looks good, but isn&apos;t this test racy?  I guess we only check CSP when kicking off the load and we kick off the load synchronously....  I guess the ordering between the onload events doesn&apos;t matter because only one of them actually happens.  So, it&apos;s not racy, but for subtle reasons.  Maybe that&apos;s ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652041</commentid>
    <comment_count>22</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 22:38:52 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 148189 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=148189&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html:19
&gt; &gt; +    &lt;img src=&quot;../resources/abe.png&quot; onload=&quot;alert(this.width == 76 ? &apos;FAIL&apos; : &apos;PASS&apos;)&quot;&gt;
&gt; &gt; +    &lt;script&gt;
&gt; &gt; +        internals.registerURLSchemeAsBypassingContentSecurityPolicy(&apos;http&apos;);
&gt; &gt; +    &lt;/script&gt;
&gt; &gt; +    &lt;img src=&quot;../resources/abe.png&quot; onload=&quot;alert(this.width == 76 ? &apos;PASS&apos; : &apos;FAIL&apos;)&quot;&gt;
&gt; &gt; +    &lt;script&gt;
&gt; &gt; +        internals.removeURLSchemeRegisteredAsBypassingContentSecurityPolicy(&apos;http&apos;);
&gt; &gt; +    &lt;/script&gt;
&gt; &gt; +    &lt;img src=&quot;../resources/abe.png&quot; onload=&quot;alert(this.width == 76 ? &apos;FAIL&apos; : &apos;PASS&apos;)&quot;&gt;
&gt; 
&gt; The code looks good, but isn&apos;t this test racy?  I guess we only check CSP when kicking off the load and we kick off the load synchronously....  I guess the ordering between the onload events doesn&apos;t matter because only one of them actually happens.  So, it&apos;s not racy, but for subtle reasons.  Maybe that&apos;s ok.

I don&apos;t think it&apos;s racy, for the reasons you mentioned.

That said, I tried to rewrite the test to be explicitly ordered, but ran into an issue. Neither `onload</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652043</commentid>
    <comment_count>23</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 22:39:55 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 148189 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=148189&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html:19
&gt; &gt; +    &lt;img src=&quot;../resources/abe.png&quot; onload=&quot;alert(this.width == 76 ? &apos;FAIL&apos; : &apos;PASS&apos;)&quot;&gt;
&gt; &gt; +    &lt;script&gt;
&gt; &gt; +        internals.registerURLSchemeAsBypassingContentSecurityPolicy(&apos;http&apos;);
&gt; &gt; +    &lt;/script&gt;
&gt; &gt; +    &lt;img src=&quot;../resources/abe.png&quot; onload=&quot;alert(this.width == 76 ? &apos;PASS&apos; : &apos;FAIL&apos;)&quot;&gt;
&gt; &gt; +    &lt;script&gt;
&gt; &gt; +        internals.removeURLSchemeRegisteredAsBypassingContentSecurityPolicy(&apos;http&apos;);
&gt; &gt; +    &lt;/script&gt;
&gt; &gt; +    &lt;img src=&quot;../resources/abe.png&quot; onload=&quot;alert(this.width == 76 ? &apos;FAIL&apos; : &apos;PASS&apos;)&quot;&gt;
&gt; 
&gt; The code looks good, but isn&apos;t this test racy?  I guess we only check CSP when kicking off the load and we kick off the load synchronously....  I guess the ordering between the onload events doesn&apos;t matter because only one of them actually happens.  So, it&apos;s not racy, but for subtle reasons.  Maybe that&apos;s ok.

I don&apos;t think it&apos;s racy, for the reasons you mentioned.

That said, I tried to rewrite the test to be explicitly ordered, but ran into an issue. Neither `onload` nor `onerror` are fired for blocked images. A console message is generated, but that seems to be it. Is there another event I should be listening for?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652052</commentid>
    <comment_count>24</comment_count>
      <attachid>148249</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 22:53:07 -0700</bug_when>
    <thetext>Created attachment 148249
Trying to order the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652053</commentid>
    <comment_count>25</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-18 22:53:46 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; Created an attachment (id=148249) [details]
&gt; Trying to order the test.

The attached patch is the closest I could get. Neither the try/catch nor the `onerror` events are firing. :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652112</commentid>
    <comment_count>26</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-18 23:48:27 -0700</bug_when>
    <thetext>That&apos;s another bug, by the way.  We should be firing the onerror event for things that CSP blocks.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652141</commentid>
    <comment_count>27</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-19 00:25:25 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; That&apos;s another bug, by the way.  We should be firing the onerror event for things that CSP blocks.  :)

Filed as https://bugs.webkit.org/show_bug.cgi?id=89440. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652144</commentid>
    <comment_count>28</comment_count>
      <attachid>148249</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-19 00:27:48 -0700</bug_when>
    <thetext>Comment on attachment 148249
Trying to order the test.

Clearing flags on attachment: 148249

Committed r120684: &lt;http://trac.webkit.org/changeset/120684&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652145</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-19 00:27:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148167</attachid>
            <date>2012-06-18 13:56:55 -0700</date>
            <delta_ts>2012-06-18 14:55:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89373-20120618225654.patch</filename>
            <type>text/plain</type>
            <size>12586</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiYzUxNzBlMGJmMGUy
NjE4NGM1MjAwYjgzNDViYzlmZDNhNTQzYy4uNGMwZjgwNGQzYWZhNjk1M2JkZTA1MGJhZTFkNmEw
NWIyNWYwMzMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA2LTE4ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGEgc2NoZW1lIHJlZ2lz
dHJ5IGZvciBieXBhc3NpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTM3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBDb250ZW50IFNlY3VyaXR5IFBv
bGljeSBzcGVjaWZpY2F0aW9uIG5vdGVzIHRoYXQgIkVuZm9yY2luZyBhIENTUAorICAgICAgICBw
b2xpY3kgc2hvdWxkIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgb3BlcmF0aW9uIG9mIHVzZXItc3Vw
cGxpZWQgc2NyaXB0cworICAgICAgICBzdWNoIGFzIHRoaXJkLXBhcnR5IHVzZXItYWdlbnQgYWRk
LW9ucyBhbmQgSmF2YVNjcmlwdCBib29rbWFya2xldHMuIgorICAgICAgICAoaHR0cHM6Ly9kdmNz
LnczLm9yZy9oZy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9yYXctZmlsZS90aXAvY3NwLXNwZWNp
ZmljYXRpb24uZGV2Lmh0bWwjcHJvY2Vzc2luZy1tb2RlbCkKKyAgICAgICAgVGhpcyB1c2UgY2Fz
ZSBjYW4gYmUgYXQgbGVhc3QgcGFydGlhbGx5IGFkZHJlc3NlZCBieSBhZGRpbmcgYSBzY2hlbWUK
KyAgICAgICAgcmVnaXN0cnkgZm9yIGNlcnRhaW4gdHlwZXMgb2YgVVJMcyB3aG9zZSByZXNvdXJj
ZXMgc2hvdWxkIGJlIGxvYWRlZAorICAgICAgICByZWdhcmRsZXNzIG9mIGEgcGFnZSdzIGRlZmlu
ZWQgcG9saWN5IGRpcmVjdGl2ZXMuCisKKyAgICAgICAgU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vMTMz
MjIzIGZvciBhZGRpdGlvbmFsIGNvbnRleHQuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS5o
dG1sCisKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc0FsbG93ZWRCeUFsbFdpdGhVUkwpOgorICAgICAgICAgICAgQWRkaW5nIGEg
Y2hlY2sgYWdhaW5zdCB0aGUgbmV3IFNjaGVtZVJlZ2lzdHJ5IG1ldGhvZCB0byBkZXRlcm1pbmUK
KyAgICAgICAgICAgIHdoZXRoZXIgb3Igbm90IHdlIHNob3VsZCBwcm9jZWVkIHdpdGggY2hlY2tp
bmcgdGhlIFVSTCBhZ2FpbnN0IHRoZQorICAgICAgICAgICAgcG9saWN5LgorICAgICAgICAqIHBs
YXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTUEJ5cGFzc2lu
Z1NjaGVtZXMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVS
ZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NTUCk6CisgICAgICAgIChXZWJD
b3JlOjpTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxTY2hlbWVBc0J5cGFzc2luZ0NTUCk6
CisgICAgICAgICogcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuaDoKKyAgICAgICAgKFNjaGVtZVJl
Z2lzdHJ5KToKKyAgICAgICAgICAgIEFkZGluZyB0aGUgc2NoZW1lIHJlZ2lzdHJ5IGZvciBDU1At
YnlwYXNzaW5nIFVSTCBzY2hlbWVzLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpyZWdpc3Rl
clVSTFNjaGVtZUFzQnlwYXNzaW5nQ1NQKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5o
OgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6
CisgICAgICAgICAgICBBZGRpbmcgYSBtZXRob2QgdG8gSW50ZXJuYWxzIHNvIHRoYXQgd2UgY2Fu
IHdyaXRlIGEgbGF5b3V0IHRlc3QuCisKIDIwMTItMDYtMTggIEFsZXhhbmRlciBQYXZsb3YgIDxh
cGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDU1NPTSB3cmFwcGVycyBhcmUgbm90IGJ1
aWx0IGZvciBydWxlcyBpbiB0aGUgcGVyLWRvY3VtZW50IGFuZCBwYWdlIGdyb3VwIHVzZXIgc3R5
bGVzaGVldHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMDA5MjQ5NDQ0MTg0ODJiNTc4
Yjg2MzhiYjM4YjdlYTE3YjVmMjFjMS4uNmM3MDEzMmY0YmY2YzQ2YTk4MjczZDI0ZTMyY2FkODIx
NmJmYzVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
Mi0wNi0xOCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBh
IHNjaGVtZSByZWdpc3RyeSBmb3IgYnlwYXNzaW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkzNzMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9X
ZWJTZWN1cml0eVBvbGljeS5oOgorICAgICAgICAoV2ViU2VjdXJpdHlQb2xpY3kpOgorICAgICAg
ICAqIHNyYy9XZWJTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNlY3Vy
aXR5UG9saWN5OjpyZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ1NQKToKKyAgICAgICAgKFdl
YktpdCk6CisKIDIwMTItMDYtMTggIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBTcGVsbGNoZWNrZXIgc2hvdWxkIHNob3cgc3VnZ2VzdGlv
bnMgb25seSB3aGVuIHJpZ2h0LWNsaWNraW5nIGEgbWlzc3BlbGxlZCB3b3JkLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4IGY4NzU3ZDBjY2Jk
ZDFmNTAyZGFmOGQyNmI1MTk5Y2U5N2NkMTcyYmEuLmViMWExNTkxOWNlNWQwNWE5MTcwYmY1M2Mz
Y2E4YjQyZTQxZmZjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNl
Y3VyaXR5UG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0
eVBvbGljeS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlICJQaW5n
TG9hZGVyLmgiCisjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKICNpbmNsdWRlICJTY3JpcHRD
YWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlRleHRF
bmNvZGluZy5oIgpAQCAtMTAxOCw2ICsxMDE5LDkgQEAgYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhD
b250ZXh0KGNvbnN0IENTUERpcmVjdGl2ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBjb25zdCBTdHIK
IHRlbXBsYXRlPGJvb2wgKENTUERpcmVjdGl2ZUxpc3Q6OiphbGxvd0Zyb21VUkwpKGNvbnN0IEtV
UkwmKSBjb25zdD4KIGJvb2wgaXNBbGxvd2VkQnlBbGxXaXRoVVJMKGNvbnN0IENTUERpcmVjdGl2
ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBjb25zdCBLVVJMJiB1cmwpCiB7CisgICAgaWYgKFNjaGVt
ZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzQnlwYXNzaW5nQ1NQKHVybC5wcm90b2Nv
bCgpKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IHBvbGljaWVzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdldCgp
LT4qYWxsb3dGcm9tVVJMKSh1cmwpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwCmluZGV4IGIyNWNlMWEwZDRhZmMz
MGU1MGM1NGNjMTdhNmU0MWNmMzM3OThmNDQuLjAwOGZmMjYyNDI0MjI2MmI4ZDk2YTRmNDY0MzE4
MzZhOWExNjkxYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJl
Z2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5j
cHAKQEAgLTE2NCw2ICsxNjQsMTIgQEAgc3RhdGljIFVSTFNjaGVtZXNNYXAmIENPUlNFbmFibGVk
U2NoZW1lcygpCiAgICAgcmV0dXJuIENPUlNFbmFibGVkU2NoZW1lczsKIH0KIAorc3RhdGljIFVS
TFNjaGVtZXNNYXAmIENTUEJ5cGFzc2luZ1NjaGVtZXMoKQoreworICAgIERFRklORV9TVEFUSUNf
TE9DQUwoVVJMU2NoZW1lc01hcCwgc2NoZW1lcywgKCkpOworICAgIHJldHVybiBzY2hlbWVzOwor
fQorCiBib29sIFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzTG9jYWwoY29u
c3QgU3RyaW5nJiBzY2hlbWUpCiB7CiAgICAgaWYgKHNjaGVtZS5pc0VtcHR5KCkpCkBAIC0yOTcs
NCArMzAzLDE2IEBAIGJvb2wgU2NoZW1lUmVnaXN0cnk6OnNob3VsZFRyZWF0VVJMU2NoZW1lQXND
T1JTRW5hYmxlZChjb25zdCBTdHJpbmcmIHNjaGVtZSkKICAgICByZXR1cm4gQ09SU0VuYWJsZWRT
Y2hlbWVzKCkuY29udGFpbnMoc2NoZW1lKTsKIH0KIAordm9pZCBTY2hlbWVSZWdpc3RyeTo6cmVn
aXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NTUChjb25zdCBTdHJpbmcmIHNjaGVtZSkKK3sKKyAg
ICBDU1BCeXBhc3NpbmdTY2hlbWVzKCkuYWRkKHNjaGVtZSk7Cit9CisKK2Jvb2wgU2NoZW1lUmVn
aXN0cnk6OnNob3VsZFRyZWF0VVJMU2NoZW1lQXNCeXBhc3NpbmdDU1AoY29uc3QgU3RyaW5nJiBz
Y2hlbWUpCit7CisgICAgaWYgKHNjaGVtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICByZXR1cm4gQ1NQQnlwYXNzaW5nU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVS
ZWdpc3RyeS5oCmluZGV4IDliMDhlMGE0MTU1MTA1YmFiMDMyNmQ2NDkyZTY2MGRkYmU3Yjg5NjYu
LmYwOTkxMDdjODg2YjM4NDJjMGRmM2I5NGVmOWM2MmRlNWNmNWMzMTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuaApAQCAtODIsNiArODIsMTEgQEAgcHVibGljOgog
ICAgIC8vIEFsbG93IG5vbi1IVFRQIHNjaGVtZXMgdG8gYmUgcmVnaXN0ZXJlZCB0byBhbGxvdyBD
T1JTIHJlcXVlc3RzLgogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNDT1JTRW5h
YmxlZChjb25zdCBTdHJpbmcmIHNjaGVtZSk7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkVHJlYXRV
UkxTY2hlbWVBc0NPUlNFbmFibGVkKGNvbnN0IFN0cmluZyYgc2NoZW1lKTsKKworICAgIC8vIEFs
bG93IHJlc291cmNlcyBmcm9tIHNvbWUgc2NoZW1lcyB0byBsb2FkIG9uIGEgcGFnZSwgcmVnYXJk
bGVzcyBvZiBpdHMKKyAgICAvLyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICBzdGF0aWMg
dm9pZCByZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ1NQKGNvbnN0IFN0cmluZyYgc2NoZW1l
KTsKKyAgICBzdGF0aWMgYm9vbCBzaG91bGRUcmVhdFVSTFNjaGVtZUFzQnlwYXNzaW5nQ1NQKGNv
bnN0IFN0cmluZyYgc2NoZW1lKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCAyYWMzMmNjOTFlZmJjM2E0MWI3MTNiODhk
NzEzOWFjMGYwNTU2M2NkLi45Y2IyMTYzNTY1MTM0OWM2YjdmNDg0YjhkMzhkYjJmMTY0OGViZmU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAj
aW5jbHVkZSAiUmFuZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJS
ZW5kZXJUcmVlQXNUZXh0LmgiCisjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlICJTcGVsbENo
ZWNrZXIuaCIKQEAgLTExNDQsNCArMTE0NSw5IEBAIHZvaWQgSW50ZXJuYWxzOjp3ZWJraXREaWRF
eGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBFbGVtZW50KiBlCiAg
ICAgZG9jdW1lbnQtPndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChlbGVtZW50KTsK
IH0KICNlbmRpZgorCit2b2lkIEludGVybmFsczo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2lu
Z0NTUChjb25zdCBTdHJpbmcmIHNjaGVtZSkKK3sKKyAgICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0
ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NTUChzY2hlbWUpOworfQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmgKaW5kZXggN2QyODA0NGZlOTAxNjM2YTFiYTdhMmZhMmE4YjEyNzEwNmUzMWIy
ZC4uZTRiNGM2ZTc3YzkwOTZkMGRhNWE2MmE1ZmI2OGYxYzUxNDUyZDQzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xOTAsNiArMTkwLDggQEAgcHVibGljOgogICAgIHZvaWQg
d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KERvY3VtZW50KiwgRWxlbWVudCopOwog
I2VuZGlmCiAKKyAgICB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDU1AoY29uc3Qg
U3RyaW5nJik7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50Kik7
CiAgICAgRG9jdW1lbnRNYXJrZXIqIG1hcmtlckF0KE5vZGUqLCBjb25zdCBTdHJpbmcmIG1hcmtl
clR5cGUsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggODE5MWQ1ZmQwYjgyMzJiYzZkZjEwMWRlODFlNWE5Yjc1OTMx
MzBjOS4uYmMxZjljMzAwYWExODkyYTE3YWQxMGJkM2M3YWJlNGFmZGI1MmU4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTYzLDYgKzE2Myw4IEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICB2b2lkIHdlYmtpdFdpbGxFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoaW4g
RG9jdW1lbnQgZG9jdW1lbnQsIGluIEVsZW1lbnQgZWxlbWVudCk7CiAgICAgICAgIHZvaWQgd2Vi
a2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBF
bGVtZW50IGVsZW1lbnQpOwogI2VuZGlmCisKKyAgICAgICAgdm9pZCByZWdpc3RlclVSTFNjaGVt
ZUFzQnlwYXNzaW5nQ1NQKGluIERPTVN0cmluZyBzY2hlbWUpOwogICAgIH07CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlY3VyaXR5UG9saWN5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZWN1cml0eVBvbGljeS5oCmluZGV4
IDVkOWQzZGUwNjg1YWRiZGE4NDExODYzZDM0NDc5ZDA4NzI3OGFhZmYuLjE1NjlmZjY5OWY3Y2Q5
ZTVhOTJjNTczOTcxNzQ2Nzc5OTRmMTc1ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYlNlY3VyaXR5UG9saWN5LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlQb2xpY3kuaApAQCAtNjEsOSArNjEsMTIgQEAgcHVibGlj
OgogICAgIC8vIGluY2x1ZGVkIGJ5IGFuIEhUVFBTIHBhZ2UuCiAgICAgV0VCS0lUX0VYUE9SVCBz
dGF0aWMgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJlKGNvbnN0IFdlYlN0cmluZyYpOwog
Ci0gICAgLy8gUmVnaXN0ZXJzIGEgbm9uLUhUVFAgVVJMIHNjaGVtZSB3aGljaCBjYW4gYmUgc2Vu
dCBDT1JTIHJlcXVlc3RzLiAKKyAgICAvLyBSZWdpc3RlcnMgYSBub24tSFRUUCBVUkwgc2NoZW1l
IHdoaWNoIGNhbiBiZSBzZW50IENPUlMgcmVxdWVzdHMuCiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0
aWMgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzQ09SU0VuYWJsZWQoY29uc3QgV2ViU3RyaW5nJik7
CiAKKyAgICAvLyBSZWdpc3RlcnMgYSBVUkwgc2NoZW1lIHdob3NlIHJlc291cmNlcyBjYW4gYmUg
bG9hZGVkIHJlZ2FyZGxlc3Mgb2YgYSBwYWdlJ3MgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCisg
ICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5n
Q1NQKGNvbnN0IFdlYlN0cmluZyYpOworCiAgICAgLy8gUmVnaXN0ZXJzIGEgVVJMIHNjaGVtZSBh
cyBzdHJpY3RseSBlbXB0eSBkb2N1bWVudHMsIGFsbG93aW5nIHRoZW0gdG8KICAgICAvLyBjb21t
aXQgc3luY2hyb25vdXNseS4KICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVy
VVJMU2NoZW1lQXNFbXB0eURvY3VtZW50KGNvbnN0IFdlYlN0cmluZyYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4IGExNGEzNmRj
ZGNjOWE1NGVkNzg2ZDY4YWMxOWIwMjQzODk2Njg3NDEuLjQ2MTNkMGY2YjY0YTk5Zjk4MjI1NWQ1
ZjRlYzQzOWQ5NmQxODFhNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlNlY3VyaXR5UG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJTZWN1cml0eVBvbGljeS5jcHAKQEAgLTY4LDYgKzY4LDExIEBAIHZvaWQgV2ViU2VjdXJpdHlQ
b2xpY3k6OnJlZ2lzdGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChjb25zdCBXZWJTdHJpbmcmIHNj
aGVtZSkKICAgICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0NPUlNFbmFibGVk
KHNjaGVtZSk7CiB9CiAKK3ZvaWQgV2ViU2VjdXJpdHlQb2xpY3k6OnJlZ2lzdGVyVVJMU2NoZW1l
QXNCeXBhc3NpbmdDU1AoY29uc3QgV2ViU3RyaW5nJiBzY2hlbWUpCit7CisgICAgU2NoZW1lUmVn
aXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDU1Aoc2NoZW1lKTsKK30KKwogdm9p
ZCBXZWJTZWN1cml0eVBvbGljeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoY29u
c3QgV2ViU3RyaW5nJiBzY2hlbWUpCiB7CiAgICAgU2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJM
U2NoZW1lQXNFbXB0eURvY3VtZW50KHNjaGVtZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmM4YjZhZTBkZGFhMDIzMGE5
NjA1YTcxMTk5NTk3Y2YzMDc1ZDg2Zi4uNjkxMGJkNWY0YTQ2YzIyMjhmYjM2MjliZDBjNjYwMGQ1
NmRjNzVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTE4ICBNaWtlIFdlc3QgIDxt
a3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGEgc2NoZW1lIHJlZ2lzdHJ5IGZvciBi
eXBhc3NpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTM3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jl
Z2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUuaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMTggIEFsZXhh
bmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDU1NPTSB3cmFw
cGVycyBhcmUgbm90IGJ1aWx0IGZvciBydWxlcyBpbiB0aGUgcGVyLWRvY3VtZW50IGFuZCBwYWdl
IGdyb3VwIHVzZXIgc3R5bGVzaGVldHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hl
bWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDcyNGQ2ZmM4MWFmMzQ1MTI1MWNhOWQ5MmFjMjk1YTBjMWQ2NTI2NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxvYWQgdGhlIGltYWdlICdodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS5wbmcnIGJlY2F1c2UgaXQg
dmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6
ICJpbWctc3JjIGh0dHBzOiIuCisKK0FMRVJUOiBQQVNTCisgIAorVGhpcyB0ZXN0IGVuc3VyZXMg
dGhhdCByZWdpc3RlcmluZyBhIHNjaGVtZSBhcyBieXBhc3NpbmcgQ1NQIGFjdHVhbGx5IGJ5cGFz
c2VzIENTUC4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIG9uZSBjb25zb2xlIGVycm9yIGFu
ZCBvbmUgUEFTUyBhYm92ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDFiNGU0NjQ1OWNk
NmIxZDVjODc3NDhjNGNiNzBhMmEzZjc1MjcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlw
YXNzaW5nLXNjaGVtZS5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtV2ViS2l0LUNTUCIgY29udGVudD0iaW1n
LXNyYyBodHRwczo7IHNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIj4KKzxzY3JpcHQ+CisgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9h
YmUucG5nIiBvbmxvYWQ9ImFsZXJ0KHRoaXMud2lkdGggPT0gNzYgPyAnRkFJTCcgOiAnUEFTUycp
Ij4KKyAgICA8c2NyaXB0PgorICAgICAgICBpbnRlcm5hbHMucmVnaXN0ZXJVUkxTY2hlbWVBc0J5
cGFzc2luZ0NTUCgnaHR0cCcpOworICAgIDwvc2NyaXB0PgorICAgIDxpbWcgc3JjPSIuLi9yZXNv
dXJjZXMvYWJlLnBuZyIgb25sb2FkPSJhbGVydCh0aGlzLndpZHRoID09IDc2ID8gJ1BBU1MnIDog
J0ZBSUwnKSI+CisKKyAgICA8cD4KKyAgICAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCByZWdp
c3RlcmluZyBhIHNjaGVtZSBhcyBieXBhc3NpbmcgQ1NQIGFjdHVhbGx5IGJ5cGFzc2VzIENTUC4K
KyAgICAgICAgVGhpcyB0ZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIG9uZSBjb25zb2xlIGVycm9yIGFu
ZCBvbmUgUEFTUyBhYm92ZS4KKyAgICA8L3A+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148177</attachid>
            <date>2012-06-18 14:55:33 -0700</date>
            <delta_ts>2012-06-18 15:12:26 -0700</delta_ts>
            <desc>Crossing my fingers, but expecting to have to redo the symbols.</desc>
            <filename>bug-89373-20120618235532.patch</filename>
            <type>text/plain</type>
            <size>19046</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiYzUxNzBlMGJmMGUy
NjE4NGM1MjAwYjgzNDViYzlmZDNhNTQzYy4uOTczM2Y1MzA4ODQ4MmE1Njg0ZTEwMGFmZDkwZmU1
YjFkY2Y0ZWIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA2LTE4ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGEgc2NoZW1lIHJlZ2lz
dHJ5IGZvciBieXBhc3NpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTM3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBDb250ZW50IFNlY3VyaXR5IFBv
bGljeSBzcGVjaWZpY2F0aW9uIG5vdGVzIHRoYXQgIkVuZm9yY2luZyBhIENTUAorICAgICAgICBw
b2xpY3kgc2hvdWxkIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgb3BlcmF0aW9uIG9mIHVzZXItc3Vw
cGxpZWQgc2NyaXB0cworICAgICAgICBzdWNoIGFzIHRoaXJkLXBhcnR5IHVzZXItYWdlbnQgYWRk
LW9ucyBhbmQgSmF2YVNjcmlwdCBib29rbWFya2xldHMuIgorICAgICAgICAoaHR0cHM6Ly9kdmNz
LnczLm9yZy9oZy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9yYXctZmlsZS90aXAvY3NwLXNwZWNp
ZmljYXRpb24uZGV2Lmh0bWwjcHJvY2Vzc2luZy1tb2RlbCkKKyAgICAgICAgVGhpcyB1c2UgY2Fz
ZSBjYW4gYmUgYXQgbGVhc3QgcGFydGlhbGx5IGFkZHJlc3NlZCBieSBhZGRpbmcgYSBzY2hlbWUK
KyAgICAgICAgcmVnaXN0cnkgZm9yIGNlcnRhaW4gdHlwZXMgb2YgVVJMcyB3aG9zZSByZXNvdXJj
ZXMgc2hvdWxkIGJlIGxvYWRlZAorICAgICAgICByZWdhcmRsZXNzIG9mIGEgcGFnZSdzIGRlZmlu
ZWQgcG9saWN5IGRpcmVjdGl2ZXMuCisKKyAgICAgICAgU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vMTMz
MjIzIGZvciBhZGRpdGlvbmFsIGNvbnRleHQuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS5o
dG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgICAgIEV4cG9ydGluZyBu
ZXcgc3ltYm9scyBmb3IgdXNlIGJ5IEludGVybmFscy4KKyAgICAgICAgKiBwYWdlL0NvbnRlbnRT
ZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0FsbG93ZWRCeUFsbFdpdGhV
UkwpOgorICAgICAgICAgICAgQWRkaW5nIGEgY2hlY2sgYWdhaW5zdCB0aGUgbmV3IFNjaGVtZVJl
Z2lzdHJ5IG1ldGhvZCB0byBkZXRlcm1pbmUKKyAgICAgICAgICAgIHdoZXRoZXIgb3Igbm90IHdl
IHNob3VsZCBwcm9jZWVkIHdpdGggY2hlY2tpbmcgdGhlIFVSTCBhZ2FpbnN0IHRoZQorICAgICAg
ICAgICAgcG9saWN5LgorICAgICAgICAqIHBsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTUEJ5cGFzc2luZ1NjaGVtZXMpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5
cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVS
ZWdpc3RyeTo6cmVtb3ZlVVJMU2NoZW1lUmVnaXN0ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNlY3Vy
aXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5OjpzY2hlbWVTaG91
bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAqIHBsYXRmb3JtL1NjaGVt
ZVJlZ2lzdHJ5Lmg6CisgICAgICAgIChTY2hlbWVSZWdpc3RyeSk6CisgICAgICAgICAgICBBZGRp
bmcgdGhlIHNjaGVtZSByZWdpc3RyeSBmb3IgQ1NQLWJ5cGFzc2luZyBVUkwgc2NoZW1lcy4KKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsczo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRl
bnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlbW92ZVVS
TFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAgICAgQWRkaW5nIGEgbWV0aG9kIHRv
IEludGVybmFscyBzbyB0aGF0IHdlIGNhbiB3cml0ZSBhIGxheW91dCB0ZXN0LgorCiAyMDEyLTA2
LTE4ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
Q1NTT00gd3JhcHBlcnMgYXJlIG5vdCBidWlsdCBmb3IgcnVsZXMgaW4gdGhlIHBlci1kb2N1bWVu
dCBhbmQgcGFnZSBncm91cCB1c2VyIHN0eWxlc2hlZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDAwOTI0OTQ0NDE4NDgyYjU3OGI4NjM4YmIzOGI3ZWExN2I1ZjIxYzEuLmQ5Mjk0N2Qz
ZjVlOTJkNzFlZGU1ZDY0ZGIxMzlkMzQ1YjNjZDYwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDYtMTggIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBBZGQgYSBzY2hlbWUgcmVnaXN0cnkgZm9yIGJ5cGFzc2luZyBD
b250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg5MzczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU2VjdXJpdHlQb2xpY3kuaDoKKyAgICAgICAgKFdl
YlNlY3VyaXR5UG9saWN5KToKKyAgICAgICAgKiBzcmMvV2ViU2VjdXJpdHlQb2xpY3kuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTZWN1cml0eVBvbGljeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5
cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJLaXQpOgorCiAyMDEy
LTA2LTE4ICBIaXJvbm9yaSBCb25vICA8aGJvbm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtj
aHJvbWl1bV0gU3BlbGxjaGVja2VyIHNob3VsZCBzaG93IHN1Z2dlc3Rpb25zIG9ubHkgd2hlbiBy
aWdodC1jbGlja2luZyBhIG1pc3NwZWxsZWQgd29yZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA0NjMzYzcxOTUy
ZjdkMmJhNGZhY2EzYzRmYzBiY2NhZTY2OTRlMWI5Li5hNGUzYThiMjZkNTVjMzEyMWMwMzZhY2E4
ODdhOWRmY2U2OTQzZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMTgg
IE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgYSBzY2hlbWUg
cmVnaXN0cnkgZm9yIGJ5cGFzc2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MzczCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6
CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAyMDEyLTA2LTE2ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU2V0dGluZ3M6OmRldmljZVBpeGVs
UmF0aW8gZG9lc24ndCBkbyBhbnl0aGluZyBhbmQgaXMgY29uZnVzaW5nCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCmluZGV4IGZhZGY3NjBmMzA2ZWVlNDE4OTU4ODI0NDFlMWUyNmY5YzE0N2UyZTAuLjEyMGU2
ODhjZTgzZWJkZTZjMTZkZWZmZGI1ZjA0MTcyMGVkNGZmYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CkBAIC0yNjksNiArMjY5LDggQEAgX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTM1Y3JlYXRl
UHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb25FUEsxMF9fQ0ZTdHJpbmcKIF9fWk43V2ViQ29y
ZTE0UmVzb3VyY2VMb2FkZXIxNGNhbmNlbGxlZEVycm9yRXYKIF9fWk43V2ViQ29yZTE0U2NoZW1l
UmVnaXN0cnkyNHJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbEVSS04zV1RGNlN0cmluZ0UKIF9fWk43
V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnkyNXJlZ2lzdGVyVVJMU2NoZW1lQXNTZWN1cmVFUktOM1dU
RjZTdHJpbmdFCitfX1pON1dlYkNvcmUxNFNjaGVtZVJlZ2lzdHJ5MzFyZWdpc3RlclVSTFNjaGVt
ZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5RVJLTjNXVEY2U3RyaW5nRQorX19aTjdX
ZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTMxcmVtb3ZlVVJMU2NoZW1lUmVnaXN0ZXJlZEFzQnlwYXNz
aW5nQ29udGVudFNlY3VyaXR5UG9saWN5RVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTRT
Y2hlbWVSZWdpc3RyeTMycmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnRFUktOM1dURjZT
dHJpbmdFCiBfX1pON1dlYkNvcmUxNFNjaGVtZVJlZ2lzdHJ5MzRzaG91bGRMb2FkVVJMU2NoZW1l
QXNFbXB0eURvY3VtZW50RVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdp
c3RyeTQwc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZUViUktOM1dURjZT
dHJpbmdFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBv
bGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAK
aW5kZXggZjg3NTdkMGNjYmRkMWY1MDJkYWY4ZDI2YjUxOTljZTk3Y2QxNzJiYS4uZGMzOGYzNzNm
YmNlNTI3ODRhNmJjYTg1Y2Q3MjkxNmM3MjlmNTU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUg
Ikluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5o
IgogI2luY2x1ZGUgIlBpbmdMb2FkZXIuaCIKKyNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgog
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCkBAIC0xMDE4LDYgKzEwMTksOSBAQCBib29sIGlz
QWxsb3dlZEJ5QWxsV2l0aENvbnRleHQoY29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9s
aWNpZXMsIGNvbnN0IFN0cgogdGVtcGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93
RnJvbVVSTCkoY29uc3QgS1VSTCYpIGNvbnN0PgogYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhVUkwo
Y29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIGNvbnN0IEtVUkwmIHVybCkK
IHsKKyAgICBpZiAoU2NoZW1lUmVnaXN0cnk6OnNjaGVtZVNob3VsZEJ5cGFzc0NvbnRlbnRTZWN1
cml0eVBvbGljeSh1cmwucHJvdG9jb2woKSkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBwb2xpY2llcy5zaXplKCk7ICsraSkgewogICAgICAgICBp
ZiAoIShwb2xpY2llc1tpXS5nZXQoKS0+KmFsbG93RnJvbVVSTCkodXJsKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVt
ZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNw
cAppbmRleCBiMjVjZTFhMGQ0YWZjMzBlNTBjNTRjYzE3YTZlNDFjZjMzNzk4ZjQ0Li41Y2ZjYmIx
N2NhMzJhOTEzYjQ1OTEwOTFlYzM1NmJkNzYxZDc4OWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwCkBAIC0xNjQsNiArMTY0LDEyIEBAIHN0YXRpYyBVUkxT
Y2hlbWVzTWFwJiBDT1JTRW5hYmxlZFNjaGVtZXMoKQogICAgIHJldHVybiBDT1JTRW5hYmxlZFNj
aGVtZXM7CiB9CiAKK3N0YXRpYyBVUkxTY2hlbWVzTWFwJiBDb250ZW50U2VjdXJpdHlQb2xpY3lC
eXBhc3NpbmdTY2hlbWVzKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFVSTFNjaGVtZXNN
YXAsIHNjaGVtZXMsICgpKTsKKyAgICByZXR1cm4gc2NoZW1lczsKK30KKwogYm9vbCBTY2hlbWVS
ZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxTY2hlbWVBc0xvY2FsKGNvbnN0IFN0cmluZyYgc2NoZW1l
KQogewogICAgIGlmIChzY2hlbWUuaXNFbXB0eSgpKQpAQCAtMjk3LDQgKzMwMywyMSBAQCBib29s
IFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzQ09SU0VuYWJsZWQoY29uc3Qg
U3RyaW5nJiBzY2hlbWUpCiAgICAgcmV0dXJuIENPUlNFbmFibGVkU2NoZW1lcygpLmNvbnRhaW5z
KHNjaGVtZSk7CiB9CiAKK3ZvaWQgU2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNC
eXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7Cisg
ICAgQ29udGVudFNlY3VyaXR5UG9saWN5QnlwYXNzaW5nU2NoZW1lcygpLmFkZChzY2hlbWUpOwor
fQorCit2b2lkIFNjaGVtZVJlZ2lzdHJ5OjpyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBh
c3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAg
Q29udGVudFNlY3VyaXR5UG9saWN5QnlwYXNzaW5nU2NoZW1lcygpLnJlbW92ZShzY2hlbWUpOwor
fQorCitib29sIFNjaGVtZVJlZ2lzdHJ5OjpzY2hlbWVTaG91bGRCeXBhc3NDb250ZW50U2VjdXJp
dHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgaWYgKHNjaGVtZS5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gQ29udGVudFNlY3VyaXR5UG9s
aWN5QnlwYXNzaW5nU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJl
Z2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5oCmluZGV4
IDliMDhlMGE0MTU1MTA1YmFiMDMyNmQ2NDkyZTY2MGRkYmU3Yjg5NjYuLjRhZGQ3YzM3MWM3ZTVi
MGIzZmM4ODhkYzRlMWMyMGY0Mjk5YWMzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2No
ZW1lUmVnaXN0cnkuaApAQCAtODIsNiArODIsMTIgQEAgcHVibGljOgogICAgIC8vIEFsbG93IG5v
bi1IVFRQIHNjaGVtZXMgdG8gYmUgcmVnaXN0ZXJlZCB0byBhbGxvdyBDT1JTIHJlcXVlc3RzLgog
ICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChjb25zdCBTdHJp
bmcmIHNjaGVtZSk7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkVHJlYXRVUkxTY2hlbWVBc0NPUlNF
bmFibGVkKGNvbnN0IFN0cmluZyYgc2NoZW1lKTsKKworICAgIC8vIEFsbG93IHJlc291cmNlcyBm
cm9tIHNvbWUgc2NoZW1lcyB0byBsb2FkIG9uIGEgcGFnZSwgcmVnYXJkbGVzcyBvZiBpdHMKKyAg
ICAvLyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICBzdGF0aWMgdm9pZCByZWdpc3RlclVS
TFNjaGVtZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KGNvbnN0IFN0cmluZyYgc2No
ZW1lKTsKKyAgICBzdGF0aWMgdm9pZCByZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3Np
bmdDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpOworICAgIHN0YXRp
YyBib29sIHNjaGVtZVNob3VsZEJ5cGFzc0NvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBTdHJp
bmcmIHNjaGVtZSk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKaW5kZXggMmFjMzJjYzkxZWZiYzNhNDFiNzEzYjg4ZDcxMzlhYzBm
MDU1NjNjZC4uNTRlN2IwMGYwOTFiZmIxOGUyMTdmZTQ1ZDc2NTM4OWVjMmNiYzY3YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUg
IlJhbmdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJl
ZUFzVGV4dC5oIgorI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVkZSAiU3BlbGxDaGVja2VyLmgi
CkBAIC0xMTQ0LDQgKzExNDUsMTUgQEAgdm9pZCBJbnRlcm5hbHM6OndlYmtpdERpZEV4aXRGdWxs
U2NyZWVuRm9yRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEVsZW1lbnQqIGUKICAgICBkb2N1
bWVudC0+d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogfQogI2Vu
ZGlmCisKK3ZvaWQgSW50ZXJuYWxzOjpyZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29udGVu
dFNlY3VyaXR5UG9saWN5KGNvbnN0IFN0cmluZyYgc2NoZW1lKQoreworICAgIFNjaGVtZVJlZ2lz
dHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KHNj
aGVtZSk7Cit9CisKK3ZvaWQgSW50ZXJuYWxzOjpyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNC
eXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7Cisg
ICAgU2NoZW1lUmVnaXN0cnk6OnJlbW92ZVVSTFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2luZ0Nv
bnRlbnRTZWN1cml0eVBvbGljeShzY2hlbWUpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAppbmRleCA3ZDI4MDQ0ZmU5MDE2MzZhMWJhN2EyZmEyYThiMTI3MTA2ZTMxYjJkLi5l
YjA3YzdkNzcxMDdjYzQ4ZmViZDFhYzAyNzBkMDFiZjBlNDEwYmE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKQEAgLTE5MCw2ICsxOTAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCB3ZWJr
aXREaWRFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoRG9jdW1lbnQqLCBFbGVtZW50Kik7CiAjZW5k
aWYKIAorICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0
eVBvbGljeShjb25zdCBTdHJpbmcmIHNjaGVtZSk7CisgICAgdm9pZCByZW1vdmVVUkxTY2hlbWVS
ZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3RyaW5nJiBz
Y2hlbWUpOworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFscyhEb2N1bWVudCopOwog
ICAgIERvY3VtZW50TWFya2VyKiBtYXJrZXJBdChOb2RlKiwgY29uc3QgU3RyaW5nJiBtYXJrZXJU
eXBlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCmluZGV4IDgxOTFkNWZkMGI4MjMyYmM2ZGYxMDFkZTgxZTVhOWI3NTkzMTMw
YzkuLjkyMzdlOWI5ZGUwZGU1ZWJhNzdhZjgxNzUwY2ViNTkxYzQ5NmE4MjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTE2Myw2ICsxNjMsOSBAQCBtb2R1bGUgd2luZG93
IHsKICAgICAgICAgdm9pZCB3ZWJraXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KGluIERv
Y3VtZW50IGRvY3VtZW50LCBpbiBFbGVtZW50IGVsZW1lbnQpOwogICAgICAgICB2b2lkIHdlYmtp
dERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRWxl
bWVudCBlbGVtZW50KTsKICNlbmRpZgorCisgICAgICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVB
c0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShpbiBET01TdHJpbmcgc2NoZW1lKTsKKyAg
ICAgICAgdm9pZCByZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2Vj
dXJpdHlQb2xpY3koaW4gRE9NU3RyaW5nIHNjaGVtZSk7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlQb2xpY3kuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlY3VyaXR5UG9saWN5LmgKaW5kZXggNWQ5
ZDNkZTA2ODVhZGJkYTg0MTE4NjNkMzQ0NzlkMDg3Mjc4YWFmZi4uNDYyZGIzMWU2MmQwYTY0YjM3
ODJjYWMyMDk1ZjRkYTgwNmQ2MDEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViU2VjdXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJTZWN1cml0eVBvbGljeS5oCkBAIC02MSw5ICs2MSwxMiBAQCBwdWJsaWM6CiAg
ICAgLy8gaW5jbHVkZWQgYnkgYW4gSFRUUFMgcGFnZS4KICAgICBXRUJLSVRfRVhQT1JUIHN0YXRp
YyB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNTZWN1cmUoY29uc3QgV2ViU3RyaW5nJik7CiAKLSAg
ICAvLyBSZWdpc3RlcnMgYSBub24tSFRUUCBVUkwgc2NoZW1lIHdoaWNoIGNhbiBiZSBzZW50IENP
UlMgcmVxdWVzdHMuIAorICAgIC8vIFJlZ2lzdGVycyBhIG5vbi1IVFRQIFVSTCBzY2hlbWUgd2hp
Y2ggY2FuIGJlIHNlbnQgQ09SUyByZXF1ZXN0cy4KICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2
b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChjb25zdCBXZWJTdHJpbmcmKTsKIAor
ICAgIC8vIFJlZ2lzdGVycyBhIFVSTCBzY2hlbWUgd2hvc2UgcmVzb3VyY2VzIGNhbiBiZSBsb2Fk
ZWQgcmVnYXJkbGVzcyBvZiBhIHBhZ2UncyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICBX
RUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDb250
ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgV2ViU3RyaW5nJik7CisKICAgICAvLyBSZWdpc3RlcnMg
YSBVUkwgc2NoZW1lIGFzIHN0cmljdGx5IGVtcHR5IGRvY3VtZW50cywgYWxsb3dpbmcgdGhlbSB0
bwogICAgIC8vIGNvbW1pdCBzeW5jaHJvbm91c2x5LgogICAgIFdFQktJVF9FWFBPUlQgc3RhdGlj
IHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoY29uc3QgV2ViU3RyaW5nJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eVBvbGlj
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eVBvbGljeS5jcHAK
aW5kZXggYTE0YTM2ZGNkY2M5YTU0ZWQ3ODZkNjhhYzE5YjAyNDM4OTY2ODc0MS4uZTgwMDYxODg5
ZDI3NzY5ZTUxMWM2ZmNiMmM4ZGY1NmU3OTQ1NGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViU2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNlY3VyaXR5UG9saWN5LmNwcApAQCAtNjgsNiArNjgsMTEgQEAgdm9p
ZCBXZWJTZWN1cml0eVBvbGljeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0NPUlNFbmFibGVkKGNvbnN0
IFdlYlN0cmluZyYgc2NoZW1lKQogICAgIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVt
ZUFzQ09SU0VuYWJsZWQoc2NoZW1lKTsKIH0KIAordm9pZCBXZWJTZWN1cml0eVBvbGljeTo6cmVn
aXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBXZWJT
dHJpbmcmIHNjaGVtZSkKK3sKKyAgICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVB
c0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShzY2hlbWUpOworfQorCiB2b2lkIFdlYlNl
Y3VyaXR5UG9saWN5OjpyZWdpc3RlclVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudChjb25zdCBXZWJT
dHJpbmcmIHNjaGVtZSkKIHsKICAgICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVB
c0VtcHR5RG9jdW1lbnQoc2NoZW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCBlNzhlOTQy
YWNhOTcwZjZkMWQ5MTNkZjFkM2Y5NzViZDFmZjFiNDQ3Li5lZDAzYmNjNmI0MDZiZjlhODY2OWJl
YjUyMDkxNmNiYTk5ZGZmZjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0yNjgsMyArMjY4
LDUgQEAgRVhQT1JUUwogICAgICAgICA/cHJvZmlsZXJFbmFibGVkQEluc3BlY3RvckNvbnRyb2xs
ZXJAV2ViQ29yZUBAUUFFX05YWgogICAgICAgICA/c2V0UHJvZmlsZXJFbmFibGVkQEluc3BlY3Rv
ckNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFWF9OQFoKICAgICAgICAgP2pzU3RyaW5nU2xvd0Nhc2VA
V2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFwQFBB
VlN0cmluZ0ltcGxAV1RGQEBWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQFU/JFB0ckhhc2hA
UEFWU3RyaW5nSW1wbEBXVEZAQEAyQFU/JEhhc2hUcmFpdHNAUEFWU3RyaW5nSW1wbEBXVEZAQEAy
QFU/JEhhc2hUcmFpdHNAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBAMkBAV1RGQEBQQVZT
dHJpbmdJbXBsQDZAQFogICAgICAgIAorICAgICAgICA/cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFz
c2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeUBTY2hlbWVSZWdpc3RyeUBXZWJDb3JlQEBTQVhBQlZT
dHJpbmdAV1RGQEBAWgorICAgICAgICA/cmVtb3ZlVVJMU2NoZW1lUmVnaXN0ZXJlZEFzQnlwYXNz
aW5nQ29udGVudFNlY3VyaXR5UG9saWN5QFNjaGVtZVJlZ2lzdHJ5QFdlYkNvcmVAQFNBWEFCVlN0
cmluZ0BXVEZAQEBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0
ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggNTI4ZDRl
N2JmOTRhNGYxZWQxZjgyYTQ4OGQwNmIxYjM1NjBkOTcyMC4uZWQ2ZWNjZTg2MjBkOWZhZDQzYjZh
MzZkMWI0NzQ1MzZjZmI2Yzg5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpA
QCAtMjU3LDMgKzI1Nyw1IEBAIEVYUE9SVFMKICAgICAgICAgP3Byb2ZpbGVyRW5hYmxlZEBJbnNw
ZWN0b3JDb250cm9sbGVyQFdlYkNvcmVAQFFBRV9OWFoKICAgICAgICAgP3NldFByb2ZpbGVyRW5h
YmxlZEBJbnNwZWN0b3JDb250cm9sbGVyQFdlYkNvcmVAQFFBRVhfTkBaCiAgICAgICAgID9qc1N0
cmluZ1Nsb3dDYXNlQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQEFB
Vj8kSGFzaE1hcEBQQVZTdHJpbmdJbXBsQFdURkBAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlND
QEBVPyRQdHJIYXNoQFBBVlN0cmluZ0ltcGxAV1RGQEBAMkBVPyRIYXNoVHJhaXRzQFBBVlN0cmlu
Z0ltcGxAV1RGQEBAMkBVPyRIYXNoVHJhaXRzQFY/JFdlYWtAVkpTU3RyaW5nQEpTQ0BAQEpTQ0BA
QDJAQFdURkBAUEFWU3RyaW5nSW1wbEA2QEBaCisgICAgICAgID9yZWdpc3RlclVSTFNjaGVtZUFz
QnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5QFNjaGVtZVJlZ2lzdHJ5QFdlYkNvcmVAQFNB
WEFCVlN0cmluZ0BXVEZAQEBaCisgICAgICAgID9yZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNC
eXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3lAU2NoZW1lUmVnaXN0cnlAV2ViQ29yZUBAU0FY
QUJWU3RyaW5nQFdURkBAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5m
aWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IGM2YTZmNGU3Y2Nk
ZTljZWY2MTczZWJkOWY4YWMzMjNmMTc0Y2Q2ODkuLjc2NzE2ZTMwMzcxZTZiN2RjYjljMThiM2Vl
YTQ5NDFiOTMzMmQ3ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0
ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNTgsNiArNTgsOCBA
QCBfWk43V2ViQ29yZTE0Q2xpZW50UmVjdExpc3RDMUVSS04zV1RGNlZlY3RvcklOU185RmxvYXRR
dWFkRUxtMEVFRTsKIF9aTjdXZWJDb3JlMTRDbGllbnRSZWN0TGlzdEMxRXY7CiBfWk43V2ViQ29y
ZTE0Q2xpZW50UmVjdExpc3REMUV2OwogX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uMTlhYnNv
bHV0ZUNhcmV0Qm91bmRzRXY7CitfWk43V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnkzMXJlZ2lzdGVy
VVJMU2NoZW1lQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3lFUktOM1dURjZTdHJpbmdF
OworX1pON1dlYkNvcmUxNFNjaGVtZVJlZ2lzdHJ5MzFyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVk
QXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3lFUktOM1dURjZTdHJpbmdFOwogX1pON1dl
YkNvcmUxNXNldERPTUV4Y2VwdGlvbkVQTjNKU0M5RXhlY1N0YXRlRWk7CiBfWk43V2ViQ29yZTE1
dG9ET01TdHJpbmdMaXN0RVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRTsKIF9aTjdXZWJD
b3JlMTZIVE1MSW5wdXRFbGVtZW50MTdzZXRTdWdnZXN0ZWRWYWx1ZUVSS04zV1RGNlN0cmluZ0U7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNmM4YjZhZTBkZGFhMDIzMGE5NjA1YTcxMTk5NTk3Y2YzMDc1ZDg2Zi4uNjkxMGJk
NWY0YTQ2YzIyMjhmYjM2MjliZDBjNjYwMGQ1NmRjNzVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTA2LTE4ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
QWRkIGEgc2NoZW1lIHJlZ2lzdHJ5IGZvciBieXBhc3NpbmcgQ29udGVudCBTZWN1cml0eSBQb2xp
Y3kuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTM3
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5n
LXNjaGVtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUuaHRtbDog
QWRkZWQuCisKIDIwMTItMDYtMTggIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBDU1NPTSB3cmFwcGVycyBhcmUgbm90IGJ1aWx0IGZvciBydWxlcyBp
biB0aGUgcGVyLWRvY3VtZW50IGFuZCBwYWdlIGdyb3VwIHVzZXIgc3R5bGVzaGVldHMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNz
aW5nLXNjaGVtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU0OWU1N2RiZGRjZjRkNzdkZWY3
NjEwYjJiMWJkZTQzMjIyMjA5MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1z
Y2hlbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1
c2VkIHRvIGxvYWQgdGhlIGltYWdlICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVz
b3VyY2VzL2FiZS5wbmcnIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50
IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJpbWctc3JjIGh0dHBzOiIuCisKK0NPTlNPTEUg
TUVTU0FHRTogUmVmdXNlZCB0byBsb2FkIHRoZSBpbWFnZSAnaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L3Jlc291cmNlcy9hYmUucG5nJyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xs
b3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiaW1nLXNyYyBodHRwczoi
LgorCitBTEVSVDogUEFTUworICAgIAorVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCByZWdpc3Rlcmlu
ZyBhIHNjaGVtZSBhcyBieXBhc3NpbmcgQ1NQIGFjdHVhbGx5IGJ5cGFzc2VzIENTUC4gVGhpcyB0
ZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIHR3byBjb25zb2xlIGVycm9ycyBhbmQgb25lIFBBU1MgYWJv
dmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZWdpc3Rlci1ieXBhc3Npbmctc2NoZW1lLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZWdpc3Rlci1ieXBh
c3Npbmctc2NoZW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWU4M2VjM2U2YWJjYjE2ZWU4MmUxNGZjMDk2
OGNhOWYyMDIwYzFjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUu
aHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBodHRwLWVxdWl2PSJYLVdlYktpdC1DU1AiIGNvbnRlbnQ9ImltZy1zcmMgaHR0cHM6OyBz
Y3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJyI+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorICAgIDxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvYWJlLnBuZyIgb25sb2Fk
PSJhbGVydCh0aGlzLndpZHRoID09IDc2ID8gJ0ZBSUwnIDogJ1BBU1MnKSI+CisgICAgPHNjcmlw
dD4KKyAgICAgICAgaW50ZXJuYWxzLnJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDb250ZW50
U2VjdXJpdHlQb2xpY3koJ2h0dHAnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8aW1nIHNyYz0iLi4v
cmVzb3VyY2VzL2FiZS5wbmciIG9ubG9hZD0iYWxlcnQodGhpcy53aWR0aCA9PSA3NiA/ICdQQVNT
JyA6ICdGQUlMJykiPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGludGVybmFscy5yZW1vdmVVUkxT
Y2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koJ2h0dHAnKTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8aW1nIHNyYz0iLi4vcmVzb3VyY2VzL2FiZS5wbmciIG9ubG9h
ZD0iYWxlcnQodGhpcy53aWR0aCA9PSA3NiA/ICdGQUlMJyA6ICdQQVNTJykiPgorCisgICAgPHA+
CisgICAgICAgIFRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgcmVnaXN0ZXJpbmcgYSBzY2hlbWUgYXMg
YnlwYXNzaW5nIENTUCBhY3R1YWxseSBieXBhc3NlcyBDU1AuCisgICAgICAgIFRoaXMgdGVzdCBw
YXNzZXMgaWYgeW91IHNlZSB0d28gY29uc29sZSBlcnJvcnMgYW5kIG9uZSBQQVNTIGFib3ZlLgor
ICAgIDwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAxNzg1YzE5MDRmZmRlYzg0MzVhMjI2NDBkNTA4YmVjYjZmZDEyMWFjLi40YjQ2
Yzg5NWFiNzc2MTU1NTg5ZTc0ZTYyM2FiZjQ0ODBlNTY1YzJiIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDYtMTggIE1pa2UgV2Vz
dCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgYSBzY2hlbWUgcmVnaXN0cnkg
Zm9yIGJ5cGFzc2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MzczCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMu
ZmlsdGVyOgorCiAyMDEyLTA2LTE3ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBHVEsgNjQtYml0IGJ1aWxkIGZpeCBhZnRlciBy
MTIwNTUxLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148183</attachid>
            <date>2012-06-18 15:12:36 -0700</date>
            <delta_ts>2012-06-18 15:40:58 -0700</delta_ts>
            <desc>Sigh.</desc>
            <filename>bug-89373-20120619001235.patch</filename>
            <type>text/plain</type>
            <size>15400</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiYzUxNzBlMGJmMGUy
NjE4NGM1MjAwYjgzNDViYzlmZDNhNTQzYy4uOTczM2Y1MzA4ODQ4MmE1Njg0ZTEwMGFmZDkwZmU1
YjFkY2Y0ZWIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA2LTE4ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGEgc2NoZW1lIHJlZ2lz
dHJ5IGZvciBieXBhc3NpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTM3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBDb250ZW50IFNlY3VyaXR5IFBv
bGljeSBzcGVjaWZpY2F0aW9uIG5vdGVzIHRoYXQgIkVuZm9yY2luZyBhIENTUAorICAgICAgICBw
b2xpY3kgc2hvdWxkIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgb3BlcmF0aW9uIG9mIHVzZXItc3Vw
cGxpZWQgc2NyaXB0cworICAgICAgICBzdWNoIGFzIHRoaXJkLXBhcnR5IHVzZXItYWdlbnQgYWRk
LW9ucyBhbmQgSmF2YVNjcmlwdCBib29rbWFya2xldHMuIgorICAgICAgICAoaHR0cHM6Ly9kdmNz
LnczLm9yZy9oZy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9yYXctZmlsZS90aXAvY3NwLXNwZWNp
ZmljYXRpb24uZGV2Lmh0bWwjcHJvY2Vzc2luZy1tb2RlbCkKKyAgICAgICAgVGhpcyB1c2UgY2Fz
ZSBjYW4gYmUgYXQgbGVhc3QgcGFydGlhbGx5IGFkZHJlc3NlZCBieSBhZGRpbmcgYSBzY2hlbWUK
KyAgICAgICAgcmVnaXN0cnkgZm9yIGNlcnRhaW4gdHlwZXMgb2YgVVJMcyB3aG9zZSByZXNvdXJj
ZXMgc2hvdWxkIGJlIGxvYWRlZAorICAgICAgICByZWdhcmRsZXNzIG9mIGEgcGFnZSdzIGRlZmlu
ZWQgcG9saWN5IGRpcmVjdGl2ZXMuCisKKyAgICAgICAgU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vMTMz
MjIzIGZvciBhZGRpdGlvbmFsIGNvbnRleHQuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS5o
dG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgICAgIEV4cG9ydGluZyBu
ZXcgc3ltYm9scyBmb3IgdXNlIGJ5IEludGVybmFscy4KKyAgICAgICAgKiBwYWdlL0NvbnRlbnRT
ZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0FsbG93ZWRCeUFsbFdpdGhV
UkwpOgorICAgICAgICAgICAgQWRkaW5nIGEgY2hlY2sgYWdhaW5zdCB0aGUgbmV3IFNjaGVtZVJl
Z2lzdHJ5IG1ldGhvZCB0byBkZXRlcm1pbmUKKyAgICAgICAgICAgIHdoZXRoZXIgb3Igbm90IHdl
IHNob3VsZCBwcm9jZWVkIHdpdGggY2hlY2tpbmcgdGhlIFVSTCBhZ2FpbnN0IHRoZQorICAgICAg
ICAgICAgcG9saWN5LgorICAgICAgICAqIHBsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTUEJ5cGFzc2luZ1NjaGVtZXMpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5
cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVS
ZWdpc3RyeTo6cmVtb3ZlVVJMU2NoZW1lUmVnaXN0ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNlY3Vy
aXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5OjpzY2hlbWVTaG91
bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAqIHBsYXRmb3JtL1NjaGVt
ZVJlZ2lzdHJ5Lmg6CisgICAgICAgIChTY2hlbWVSZWdpc3RyeSk6CisgICAgICAgICAgICBBZGRp
bmcgdGhlIHNjaGVtZSByZWdpc3RyeSBmb3IgQ1NQLWJ5cGFzc2luZyBVUkwgc2NoZW1lcy4KKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsczo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRl
bnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlbW92ZVVS
TFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAgICAgQWRkaW5nIGEgbWV0aG9kIHRv
IEludGVybmFscyBzbyB0aGF0IHdlIGNhbiB3cml0ZSBhIGxheW91dCB0ZXN0LgorCiAyMDEyLTA2
LTE4ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
Q1NTT00gd3JhcHBlcnMgYXJlIG5vdCBidWlsdCBmb3IgcnVsZXMgaW4gdGhlIHBlci1kb2N1bWVu
dCBhbmQgcGFnZSBncm91cCB1c2VyIHN0eWxlc2hlZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDAwOTI0OTQ0NDE4NDgyYjU3OGI4NjM4YmIzOGI3ZWExN2I1ZjIxYzEuLmQ5Mjk0N2Qz
ZjVlOTJkNzFlZGU1ZDY0ZGIxMzlkMzQ1YjNjZDYwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDYtMTggIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBBZGQgYSBzY2hlbWUgcmVnaXN0cnkgZm9yIGJ5cGFzc2luZyBD
b250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg5MzczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU2VjdXJpdHlQb2xpY3kuaDoKKyAgICAgICAgKFdl
YlNlY3VyaXR5UG9saWN5KToKKyAgICAgICAgKiBzcmMvV2ViU2VjdXJpdHlQb2xpY3kuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTZWN1cml0eVBvbGljeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5
cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJLaXQpOgorCiAyMDEy
LTA2LTE4ICBIaXJvbm9yaSBCb25vICA8aGJvbm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtj
aHJvbWl1bV0gU3BlbGxjaGVja2VyIHNob3VsZCBzaG93IHN1Z2dlc3Rpb25zIG9ubHkgd2hlbiBy
aWdodC1jbGlja2luZyBhIG1pc3NwZWxsZWQgd29yZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA0NjMzYzcxOTUy
ZjdkMmJhNGZhY2EzYzRmYzBiY2NhZTY2OTRlMWI5Li5hNGUzYThiMjZkNTVjMzEyMWMwMzZhY2E4
ODdhOWRmY2U2OTQzZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMTgg
IE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgYSBzY2hlbWUg
cmVnaXN0cnkgZm9yIGJ5cGFzc2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MzczCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6
CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAyMDEyLTA2LTE2ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU2V0dGluZ3M6OmRldmljZVBpeGVs
UmF0aW8gZG9lc24ndCBkbyBhbnl0aGluZyBhbmQgaXMgY29uZnVzaW5nCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggZjg3NTdkMGNjYmRkMWY1
MDJkYWY4ZDI2YjUxOTljZTk3Y2QxNzJiYS4uZGMzOGYzNzNmYmNlNTI3ODRhNmJjYTg1Y2Q3Mjkx
NmM3MjlmNTU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJp
dHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9s
aWN5LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgIlBpbmdMb2Fk
ZXIuaCIKKyNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxT
dGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGV4dEVuY29k
aW5nLmgiCkBAIC0xMDE4LDYgKzEwMTksOSBAQCBib29sIGlzQWxsb3dlZEJ5QWxsV2l0aENvbnRl
eHQoY29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIGNvbnN0IFN0cgogdGVt
cGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93RnJvbVVSTCkoY29uc3QgS1VSTCYp
IGNvbnN0PgogYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhVUkwoY29uc3QgQ1NQRGlyZWN0aXZlTGlz
dFZlY3RvciYgcG9saWNpZXMsIGNvbnN0IEtVUkwmIHVybCkKIHsKKyAgICBpZiAoU2NoZW1lUmVn
aXN0cnk6OnNjaGVtZVNob3VsZEJ5cGFzc0NvbnRlbnRTZWN1cml0eVBvbGljeSh1cmwucHJvdG9j
b2woKSkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBwb2xpY2llcy5zaXplKCk7ICsraSkgewogICAgICAgICBpZiAoIShwb2xpY2llc1tpXS5nZXQo
KS0+KmFsbG93RnJvbVVSTCkodXJsKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcAppbmRleCBiMjVjZTFhMGQ0YWZj
MzBlNTBjNTRjYzE3YTZlNDFjZjMzNzk4ZjQ0Li41Y2ZjYmIxN2NhMzJhOTEzYjQ1OTEwOTFlYzM1
NmJkNzYxZDc4OWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVS
ZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnku
Y3BwCkBAIC0xNjQsNiArMTY0LDEyIEBAIHN0YXRpYyBVUkxTY2hlbWVzTWFwJiBDT1JTRW5hYmxl
ZFNjaGVtZXMoKQogICAgIHJldHVybiBDT1JTRW5hYmxlZFNjaGVtZXM7CiB9CiAKK3N0YXRpYyBV
UkxTY2hlbWVzTWFwJiBDb250ZW50U2VjdXJpdHlQb2xpY3lCeXBhc3NpbmdTY2hlbWVzKCkKK3sK
KyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFVSTFNjaGVtZXNNYXAsIHNjaGVtZXMsICgpKTsKKyAg
ICByZXR1cm4gc2NoZW1lczsKK30KKwogYm9vbCBTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRV
UkxTY2hlbWVBc0xvY2FsKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogewogICAgIGlmIChzY2hlbWUu
aXNFbXB0eSgpKQpAQCAtMjk3LDQgKzMwMywyMSBAQCBib29sIFNjaGVtZVJlZ2lzdHJ5OjpzaG91
bGRUcmVhdFVSTFNjaGVtZUFzQ09SU0VuYWJsZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUpCiAgICAg
cmV0dXJuIENPUlNFbmFibGVkU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7CiB9CiAKK3ZvaWQg
U2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDb250ZW50U2VjdXJp
dHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgQ29udGVudFNlY3VyaXR5UG9s
aWN5QnlwYXNzaW5nU2NoZW1lcygpLmFkZChzY2hlbWUpOworfQorCit2b2lkIFNjaGVtZVJlZ2lz
dHJ5OjpyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQ
b2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5
QnlwYXNzaW5nU2NoZW1lcygpLnJlbW92ZShzY2hlbWUpOworfQorCitib29sIFNjaGVtZVJlZ2lz
dHJ5OjpzY2hlbWVTaG91bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3RyaW5n
JiBzY2hlbWUpCit7CisgICAgaWYgKHNjaGVtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gQ29udGVudFNlY3VyaXR5UG9saWN5QnlwYXNzaW5nU2NoZW1lcygp
LmNvbnRhaW5zKHNjaGVtZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5oCmluZGV4IDliMDhlMGE0MTU1MTA1YmFiMDMy
NmQ2NDkyZTY2MGRkYmU3Yjg5NjYuLjRhZGQ3YzM3MWM3ZTViMGIzZmM4ODhkYzRlMWMyMGY0Mjk5
YWMzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuaApAQCAtODIs
NiArODIsMTIgQEAgcHVibGljOgogICAgIC8vIEFsbG93IG5vbi1IVFRQIHNjaGVtZXMgdG8gYmUg
cmVnaXN0ZXJlZCB0byBhbGxvdyBDT1JTIHJlcXVlc3RzLgogICAgIHN0YXRpYyB2b2lkIHJlZ2lz
dGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChjb25zdCBTdHJpbmcmIHNjaGVtZSk7CiAgICAgc3Rh
dGljIGJvb2wgc2hvdWxkVHJlYXRVUkxTY2hlbWVBc0NPUlNFbmFibGVkKGNvbnN0IFN0cmluZyYg
c2NoZW1lKTsKKworICAgIC8vIEFsbG93IHJlc291cmNlcyBmcm9tIHNvbWUgc2NoZW1lcyB0byBs
b2FkIG9uIGEgcGFnZSwgcmVnYXJkbGVzcyBvZiBpdHMKKyAgICAvLyBDb250ZW50IFNlY3VyaXR5
IFBvbGljeS4KKyAgICBzdGF0aWMgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29u
dGVudFNlY3VyaXR5UG9saWN5KGNvbnN0IFN0cmluZyYgc2NoZW1lKTsKKyAgICBzdGF0aWMgdm9p
ZCByZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xp
Y3koY29uc3QgU3RyaW5nJiBzY2hlbWUpOworICAgIHN0YXRpYyBib29sIHNjaGVtZVNob3VsZEJ5
cGFzc0NvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBTdHJpbmcmIHNjaGVtZSk7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggMmFjMzJjYzkxZWZiYzNhNDFiNzEzYjg4ZDcxMzlhYzBmMDU1NjNjZC4uNTRlN2IwMGYwOTFi
ZmIxOGUyMTdmZTQ1ZDc2NTM4OWVjMmNiYzY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcApAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5oIgorI2luY2x1ZGUg
IlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTaGFk
b3dSb290LmgiCiAjaW5jbHVkZSAiU3BlbGxDaGVja2VyLmgiCkBAIC0xMTQ0LDQgKzExNDUsMTUg
QEAgdm9pZCBJbnRlcm5hbHM6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChEb2N1
bWVudCogZG9jdW1lbnQsIEVsZW1lbnQqIGUKICAgICBkb2N1bWVudC0+d2Via2l0RGlkRXhpdEZ1
bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogfQogI2VuZGlmCisKK3ZvaWQgSW50ZXJuYWxz
OjpyZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KGNvbnN0
IFN0cmluZyYgc2NoZW1lKQoreworICAgIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVt
ZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KHNjaGVtZSk7Cit9CisKK3ZvaWQgSW50
ZXJuYWxzOjpyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJp
dHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgU2NoZW1lUmVnaXN0cnk6OnJl
bW92ZVVSTFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShz
Y2hlbWUpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA3ZDI4MDQ0
ZmU5MDE2MzZhMWJhN2EyZmEyYThiMTI3MTA2ZTMxYjJkLi5lYjA3YzdkNzcxMDdjYzQ4ZmViZDFh
YzAyNzBkMDFiZjBlNDEwYmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTE5
MCw2ICsxOTAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCB3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQoRG9jdW1lbnQqLCBFbGVtZW50Kik7CiAjZW5kaWYKIAorICAgIHZvaWQgcmVnaXN0
ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBTdHJpbmcm
IHNjaGVtZSk7CisgICAgdm9pZCByZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdD
b250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpOworCiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IEludGVybmFscyhEb2N1bWVudCopOwogICAgIERvY3VtZW50TWFya2VyKiBt
YXJrZXJBdChOb2RlKiwgY29uc3QgU3RyaW5nJiBtYXJrZXJUeXBlLCB1bnNpZ25lZCBpbmRleCwg
RXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDgx
OTFkNWZkMGI4MjMyYmM2ZGYxMDFkZTgxZTVhOWI3NTkzMTMwYzkuLjkyMzdlOWI5ZGUwZGU1ZWJh
NzdhZjgxNzUwY2ViNTkxYzQ5NmE4MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKQEAgLTE2Myw2ICsxNjMsOSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgdm9pZCB3ZWJr
aXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBF
bGVtZW50IGVsZW1lbnQpOwogICAgICAgICB2b2lkIHdlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9y
RWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRWxlbWVudCBlbGVtZW50KTsKICNlbmRp
ZgorCisgICAgICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1
cml0eVBvbGljeShpbiBET01TdHJpbmcgc2NoZW1lKTsKKyAgICAgICAgdm9pZCByZW1vdmVVUkxT
Y2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koaW4gRE9NU3Ry
aW5nIHNjaGVtZSk7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlNlY3VyaXR5UG9saWN5LmgKaW5kZXggNWQ5ZDNkZTA2ODVhZGJkYTg0MTE4NjNk
MzQ0NzlkMDg3Mjc4YWFmZi4uNDYyZGIzMWU2MmQwYTY0YjM3ODJjYWMyMDk1ZjRkYTgwNmQ2MDEw
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlQ
b2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZWN1cml0eVBv
bGljeS5oCkBAIC02MSw5ICs2MSwxMiBAQCBwdWJsaWM6CiAgICAgLy8gaW5jbHVkZWQgYnkgYW4g
SFRUUFMgcGFnZS4KICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2No
ZW1lQXNTZWN1cmUoY29uc3QgV2ViU3RyaW5nJik7CiAKLSAgICAvLyBSZWdpc3RlcnMgYSBub24t
SFRUUCBVUkwgc2NoZW1lIHdoaWNoIGNhbiBiZSBzZW50IENPUlMgcmVxdWVzdHMuIAorICAgIC8v
IFJlZ2lzdGVycyBhIG5vbi1IVFRQIFVSTCBzY2hlbWUgd2hpY2ggY2FuIGJlIHNlbnQgQ09SUyBy
ZXF1ZXN0cy4KICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1l
QXNDT1JTRW5hYmxlZChjb25zdCBXZWJTdHJpbmcmKTsKIAorICAgIC8vIFJlZ2lzdGVycyBhIFVS
TCBzY2hlbWUgd2hvc2UgcmVzb3VyY2VzIGNhbiBiZSBsb2FkZWQgcmVnYXJkbGVzcyBvZiBhIHBh
Z2UncyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2
b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koY29u
c3QgV2ViU3RyaW5nJik7CisKICAgICAvLyBSZWdpc3RlcnMgYSBVUkwgc2NoZW1lIGFzIHN0cmlj
dGx5IGVtcHR5IGRvY3VtZW50cywgYWxsb3dpbmcgdGhlbSB0bwogICAgIC8vIGNvbW1pdCBzeW5j
aHJvbm91c2x5LgogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgcmVnaXN0ZXJVUkxTY2hl
bWVBc0VtcHR5RG9jdW1lbnQoY29uc3QgV2ViU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggYTE0YTM2ZGNkY2M5YTU0
ZWQ3ODZkNjhhYzE5YjAyNDM4OTY2ODc0MS4uZTgwMDYxODg5ZDI3NzY5ZTUxMWM2ZmNiMmM4ZGY1
NmU3OTQ1NGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Vj
dXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlY3Vy
aXR5UG9saWN5LmNwcApAQCAtNjgsNiArNjgsMTEgQEAgdm9pZCBXZWJTZWN1cml0eVBvbGljeTo6
cmVnaXN0ZXJVUkxTY2hlbWVBc0NPUlNFbmFibGVkKGNvbnN0IFdlYlN0cmluZyYgc2NoZW1lKQog
ICAgIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzQ09SU0VuYWJsZWQoc2NoZW1l
KTsKIH0KIAordm9pZCBXZWJTZWN1cml0eVBvbGljeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFz
c2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBXZWJTdHJpbmcmIHNjaGVtZSkKK3sKKyAg
ICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1
cml0eVBvbGljeShzY2hlbWUpOworfQorCiB2b2lkIFdlYlNlY3VyaXR5UG9saWN5OjpyZWdpc3Rl
clVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudChjb25zdCBXZWJTdHJpbmcmIHNjaGVtZSkKIHsKICAg
ICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoc2NoZW1l
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA2YzhiNmFlMGRkYWEwMjMwYTk2MDVhNzExOTk1OTdjZjMwNzVkODZmLi42OTEw
YmQ1ZjRhNDZjMjIyOGZiMzYyOWJkMGM2NjAwZDU2ZGM3NWQ1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTItMDYtMTggIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBBZGQgYSBzY2hlbWUgcmVnaXN0cnkgZm9yIGJ5cGFzc2luZyBDb250ZW50IFNlY3VyaXR5IFBv
bGljeS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5
MzczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZWdpc3Rlci1ieXBhc3Np
bmctc2NoZW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS5odG1s
OiBBZGRlZC4KKwogMjAxMi0wNi0xOCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIENTU09NIHdyYXBwZXJzIGFyZSBub3QgYnVpbHQgZm9yIHJ1bGVz
IGluIHRoZSBwZXItZG9jdW1lbnQgYW5kIHBhZ2UgZ3JvdXAgdXNlciBzdHlsZXNoZWV0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZWdpc3Rlci1ieXBh
c3Npbmctc2NoZW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNTQ5ZTU3ZGJkZGNmNGQ3N2Rl
Zjc2MTBiMmIxYmRlNDMyMjIyMDkwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5n
LXNjaGVtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitDT05TT0xFIE1FU1NBR0U6IFJl
ZnVzZWQgdG8gbG9hZCB0aGUgaW1hZ2UgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9y
ZXNvdXJjZXMvYWJlLnBuZycgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRl
bnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogImltZy1zcmMgaHR0cHM6Ii4KKworQ09OU09M
RSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxvYWQgdGhlIGltYWdlICdodHRwOi8vMTI3LjAuMC4xOjgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS5wbmcnIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZv
bGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJpbWctc3JjIGh0dHBz
OiIuCisKK0FMRVJUOiBQQVNTCisgICAgCitUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHJlZ2lzdGVy
aW5nIGEgc2NoZW1lIGFzIGJ5cGFzc2luZyBDU1AgYWN0dWFsbHkgYnlwYXNzZXMgQ1NQLiBUaGlz
IHRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgdHdvIGNvbnNvbGUgZXJyb3JzIGFuZCBvbmUgUEFTUyBh
Ym92ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5
cGFzc2luZy1zY2hlbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTgzZWMzZTZhYmNiMTZlZTgyZTE0ZmMw
OTY4Y2E5ZjIwMjBjMWMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVt
ZS5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGh0dHAtZXF1aXY9IlgtV2ViS2l0LUNTUCIgY29udGVudD0iaW1nLXNyYyBodHRwczo7
IHNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIj4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisgICAgPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9hYmUucG5nIiBvbmxv
YWQ9ImFsZXJ0KHRoaXMud2lkdGggPT0gNzYgPyAnRkFJTCcgOiAnUEFTUycpIj4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBpbnRlcm5hbHMucmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRl
bnRTZWN1cml0eVBvbGljeSgnaHR0cCcpOworICAgIDwvc2NyaXB0PgorICAgIDxpbWcgc3JjPSIu
Li9yZXNvdXJjZXMvYWJlLnBuZyIgb25sb2FkPSJhbGVydCh0aGlzLndpZHRoID09IDc2ID8gJ1BB
U1MnIDogJ0ZBSUwnKSI+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaW50ZXJuYWxzLnJlbW92ZVVS
TFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSgnaHR0cCcp
OworICAgIDwvc2NyaXB0PgorICAgIDxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvYWJlLnBuZyIgb25s
b2FkPSJhbGVydCh0aGlzLndpZHRoID09IDc2ID8gJ0ZBSUwnIDogJ1BBU1MnKSI+CisKKyAgICA8
cD4KKyAgICAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCByZWdpc3RlcmluZyBhIHNjaGVtZSBh
cyBieXBhc3NpbmcgQ1NQIGFjdHVhbGx5IGJ5cGFzc2VzIENTUC4KKyAgICAgICAgVGhpcyB0ZXN0
IHBhc3NlcyBpZiB5b3Ugc2VlIHR3byBjb25zb2xlIGVycm9ycyBhbmQgb25lIFBBU1MgYWJvdmUu
CisgICAgPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hh
bmdlTG9nCmluZGV4IDE3ODVjMTkwNGZmZGVjODQzNWEyMjY0MGQ1MDhiZWNiNmZkMTIxYWMuLjRi
NDZjODk1YWI3NzYxNTU1ODllNzRlNjIzYWJmNDQ4MGU1NjVjMmIgMTAwNjQ0Ci0tLSBhL0NoYW5n
ZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wNi0xOCAgTWlrZSBX
ZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBhIHNjaGVtZSByZWdpc3Ry
eSBmb3IgYnlwYXNzaW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkzNzMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9s
cy5maWx0ZXI6CisKIDIwMTItMDYtMTcgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIEdUSyA2NC1iaXQgYnVpbGQgZml4IGFmdGVy
IHIxMjA1NTEuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148189</attachid>
            <date>2012-06-18 15:41:11 -0700</date>
            <delta_ts>2012-06-18 22:52:59 -0700</delta_ts>
            <desc>Crossing different fingers.</desc>
            <filename>bug-89373-20120619004109.patch</filename>
            <type>text/plain</type>
            <size>19082</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiYzUxNzBlMGJmMGUy
NjE4NGM1MjAwYjgzNDViYzlmZDNhNTQzYy4uOTczM2Y1MzA4ODQ4MmE1Njg0ZTEwMGFmZDkwZmU1
YjFkY2Y0ZWIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA2LTE4ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGEgc2NoZW1lIHJlZ2lz
dHJ5IGZvciBieXBhc3NpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTM3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBDb250ZW50IFNlY3VyaXR5IFBv
bGljeSBzcGVjaWZpY2F0aW9uIG5vdGVzIHRoYXQgIkVuZm9yY2luZyBhIENTUAorICAgICAgICBw
b2xpY3kgc2hvdWxkIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgb3BlcmF0aW9uIG9mIHVzZXItc3Vw
cGxpZWQgc2NyaXB0cworICAgICAgICBzdWNoIGFzIHRoaXJkLXBhcnR5IHVzZXItYWdlbnQgYWRk
LW9ucyBhbmQgSmF2YVNjcmlwdCBib29rbWFya2xldHMuIgorICAgICAgICAoaHR0cHM6Ly9kdmNz
LnczLm9yZy9oZy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9yYXctZmlsZS90aXAvY3NwLXNwZWNp
ZmljYXRpb24uZGV2Lmh0bWwjcHJvY2Vzc2luZy1tb2RlbCkKKyAgICAgICAgVGhpcyB1c2UgY2Fz
ZSBjYW4gYmUgYXQgbGVhc3QgcGFydGlhbGx5IGFkZHJlc3NlZCBieSBhZGRpbmcgYSBzY2hlbWUK
KyAgICAgICAgcmVnaXN0cnkgZm9yIGNlcnRhaW4gdHlwZXMgb2YgVVJMcyB3aG9zZSByZXNvdXJj
ZXMgc2hvdWxkIGJlIGxvYWRlZAorICAgICAgICByZWdhcmRsZXNzIG9mIGEgcGFnZSdzIGRlZmlu
ZWQgcG9saWN5IGRpcmVjdGl2ZXMuCisKKyAgICAgICAgU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vMTMz
MjIzIGZvciBhZGRpdGlvbmFsIGNvbnRleHQuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS5o
dG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgICAgIEV4cG9ydGluZyBu
ZXcgc3ltYm9scyBmb3IgdXNlIGJ5IEludGVybmFscy4KKyAgICAgICAgKiBwYWdlL0NvbnRlbnRT
ZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0FsbG93ZWRCeUFsbFdpdGhV
UkwpOgorICAgICAgICAgICAgQWRkaW5nIGEgY2hlY2sgYWdhaW5zdCB0aGUgbmV3IFNjaGVtZVJl
Z2lzdHJ5IG1ldGhvZCB0byBkZXRlcm1pbmUKKyAgICAgICAgICAgIHdoZXRoZXIgb3Igbm90IHdl
IHNob3VsZCBwcm9jZWVkIHdpdGggY2hlY2tpbmcgdGhlIFVSTCBhZ2FpbnN0IHRoZQorICAgICAg
ICAgICAgcG9saWN5LgorICAgICAgICAqIHBsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTUEJ5cGFzc2luZ1NjaGVtZXMpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5
cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVS
ZWdpc3RyeTo6cmVtb3ZlVVJMU2NoZW1lUmVnaXN0ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNlY3Vy
aXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5OjpzY2hlbWVTaG91
bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAqIHBsYXRmb3JtL1NjaGVt
ZVJlZ2lzdHJ5Lmg6CisgICAgICAgIChTY2hlbWVSZWdpc3RyeSk6CisgICAgICAgICAgICBBZGRp
bmcgdGhlIHNjaGVtZSByZWdpc3RyeSBmb3IgQ1NQLWJ5cGFzc2luZyBVUkwgc2NoZW1lcy4KKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsczo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRl
bnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlbW92ZVVS
TFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAgICAgQWRkaW5nIGEgbWV0aG9kIHRv
IEludGVybmFscyBzbyB0aGF0IHdlIGNhbiB3cml0ZSBhIGxheW91dCB0ZXN0LgorCiAyMDEyLTA2
LTE4ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
Q1NTT00gd3JhcHBlcnMgYXJlIG5vdCBidWlsdCBmb3IgcnVsZXMgaW4gdGhlIHBlci1kb2N1bWVu
dCBhbmQgcGFnZSBncm91cCB1c2VyIHN0eWxlc2hlZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDAwOTI0OTQ0NDE4NDgyYjU3OGI4NjM4YmIzOGI3ZWExN2I1ZjIxYzEuLmQ5Mjk0N2Qz
ZjVlOTJkNzFlZGU1ZDY0ZGIxMzlkMzQ1YjNjZDYwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDYtMTggIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBBZGQgYSBzY2hlbWUgcmVnaXN0cnkgZm9yIGJ5cGFzc2luZyBD
b250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg5MzczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU2VjdXJpdHlQb2xpY3kuaDoKKyAgICAgICAgKFdl
YlNlY3VyaXR5UG9saWN5KToKKyAgICAgICAgKiBzcmMvV2ViU2VjdXJpdHlQb2xpY3kuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTZWN1cml0eVBvbGljeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5
cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJLaXQpOgorCiAyMDEy
LTA2LTE4ICBIaXJvbm9yaSBCb25vICA8aGJvbm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtj
aHJvbWl1bV0gU3BlbGxjaGVja2VyIHNob3VsZCBzaG93IHN1Z2dlc3Rpb25zIG9ubHkgd2hlbiBy
aWdodC1jbGlja2luZyBhIG1pc3NwZWxsZWQgd29yZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA0NjMzYzcxOTUy
ZjdkMmJhNGZhY2EzYzRmYzBiY2NhZTY2OTRlMWI5Li5hNGUzYThiMjZkNTVjMzEyMWMwMzZhY2E4
ODdhOWRmY2U2OTQzZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMTgg
IE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgYSBzY2hlbWUg
cmVnaXN0cnkgZm9yIGJ5cGFzc2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MzczCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6
CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAyMDEyLTA2LTE2ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU2V0dGluZ3M6OmRldmljZVBpeGVs
UmF0aW8gZG9lc24ndCBkbyBhbnl0aGluZyBhbmQgaXMgY29uZnVzaW5nCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCmluZGV4IGZhZGY3NjBmMzA2ZWVlNDE4OTU4ODI0NDFlMWUyNmY5YzE0N2UyZTAuLmRhOGY5
NDQyMmQwYzYzYjE1MjNmYWM5NDZiZWUzZDc3MjRiZWEzNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CkBAIC0yNzQsNiArMjc0LDggQEAgX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTM0c2hvdWxk
TG9hZFVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29y
ZTE0U2NoZW1lUmVnaXN0cnk0MHNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hl
bWVFYlJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTU4cmVnaXN0
ZXJVUkxTY2hlbWVBc0FsbG93aW5nRGF0YWJhc2VBY2Nlc3NJblByaXZhdGVCcm93c2luZ0VSS04z
V1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnk2MnJlZ2lzdGVyVVJMU2No
ZW1lQXNBbGxvd2luZ0xvY2FsU3RvcmFnZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nRVJLTjNXVEY2
U3RyaW5nRQorX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTQ5cmVnaXN0ZXJVUkxTY2hlbWVB
c0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeUVSS04zV1RGNlN0cmluZ0UKK19fWk43V2Vi
Q29yZTE0U2NoZW1lUmVnaXN0cnk1N3JlbW92ZVVSTFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2lu
Z0NvbnRlbnRTZWN1cml0eVBvbGljeUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE0U2Ny
b2xsYWJsZUFyZWExNWNvbnRlbnRzUmVzaXplZEV2CiBfX1pON1dlYkNvcmUxNFNjcm9sbGFibGVB
cmVhMTZoYW5kbGVXaGVlbEV2ZW50RVJLTlNfMThQbGF0Zm9ybVdoZWVsRXZlbnRFCiBfX1pON1dl
YkNvcmUxNFNjcm9sbGFibGVBcmVhMTd3aWxsRW5kTGl2ZVJlc2l6ZUV2CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggZjg3NTdkMGNjYmRkMWY1
MDJkYWY4ZDI2YjUxOTljZTk3Y2QxNzJiYS4uZGMzOGYzNzNmYmNlNTI3ODRhNmJjYTg1Y2Q3Mjkx
NmM3MjlmNTU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJp
dHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9s
aWN5LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgIlBpbmdMb2Fk
ZXIuaCIKKyNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxT
dGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGV4dEVuY29k
aW5nLmgiCkBAIC0xMDE4LDYgKzEwMTksOSBAQCBib29sIGlzQWxsb3dlZEJ5QWxsV2l0aENvbnRl
eHQoY29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIGNvbnN0IFN0cgogdGVt
cGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93RnJvbVVSTCkoY29uc3QgS1VSTCYp
IGNvbnN0PgogYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhVUkwoY29uc3QgQ1NQRGlyZWN0aXZlTGlz
dFZlY3RvciYgcG9saWNpZXMsIGNvbnN0IEtVUkwmIHVybCkKIHsKKyAgICBpZiAoU2NoZW1lUmVn
aXN0cnk6OnNjaGVtZVNob3VsZEJ5cGFzc0NvbnRlbnRTZWN1cml0eVBvbGljeSh1cmwucHJvdG9j
b2woKSkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBwb2xpY2llcy5zaXplKCk7ICsraSkgewogICAgICAgICBpZiAoIShwb2xpY2llc1tpXS5nZXQo
KS0+KmFsbG93RnJvbVVSTCkodXJsKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcAppbmRleCBiMjVjZTFhMGQ0YWZj
MzBlNTBjNTRjYzE3YTZlNDFjZjMzNzk4ZjQ0Li41Y2ZjYmIxN2NhMzJhOTEzYjQ1OTEwOTFlYzM1
NmJkNzYxZDc4OWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVS
ZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnku
Y3BwCkBAIC0xNjQsNiArMTY0LDEyIEBAIHN0YXRpYyBVUkxTY2hlbWVzTWFwJiBDT1JTRW5hYmxl
ZFNjaGVtZXMoKQogICAgIHJldHVybiBDT1JTRW5hYmxlZFNjaGVtZXM7CiB9CiAKK3N0YXRpYyBV
UkxTY2hlbWVzTWFwJiBDb250ZW50U2VjdXJpdHlQb2xpY3lCeXBhc3NpbmdTY2hlbWVzKCkKK3sK
KyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFVSTFNjaGVtZXNNYXAsIHNjaGVtZXMsICgpKTsKKyAg
ICByZXR1cm4gc2NoZW1lczsKK30KKwogYm9vbCBTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRV
UkxTY2hlbWVBc0xvY2FsKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogewogICAgIGlmIChzY2hlbWUu
aXNFbXB0eSgpKQpAQCAtMjk3LDQgKzMwMywyMSBAQCBib29sIFNjaGVtZVJlZ2lzdHJ5OjpzaG91
bGRUcmVhdFVSTFNjaGVtZUFzQ09SU0VuYWJsZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUpCiAgICAg
cmV0dXJuIENPUlNFbmFibGVkU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7CiB9CiAKK3ZvaWQg
U2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDb250ZW50U2VjdXJp
dHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgQ29udGVudFNlY3VyaXR5UG9s
aWN5QnlwYXNzaW5nU2NoZW1lcygpLmFkZChzY2hlbWUpOworfQorCit2b2lkIFNjaGVtZVJlZ2lz
dHJ5OjpyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQ
b2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5
QnlwYXNzaW5nU2NoZW1lcygpLnJlbW92ZShzY2hlbWUpOworfQorCitib29sIFNjaGVtZVJlZ2lz
dHJ5OjpzY2hlbWVTaG91bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3RyaW5n
JiBzY2hlbWUpCit7CisgICAgaWYgKHNjaGVtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gQ29udGVudFNlY3VyaXR5UG9saWN5QnlwYXNzaW5nU2NoZW1lcygp
LmNvbnRhaW5zKHNjaGVtZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5oCmluZGV4IDliMDhlMGE0MTU1MTA1YmFiMDMy
NmQ2NDkyZTY2MGRkYmU3Yjg5NjYuLjRhZGQ3YzM3MWM3ZTViMGIzZmM4ODhkYzRlMWMyMGY0Mjk5
YWMzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuaApAQCAtODIs
NiArODIsMTIgQEAgcHVibGljOgogICAgIC8vIEFsbG93IG5vbi1IVFRQIHNjaGVtZXMgdG8gYmUg
cmVnaXN0ZXJlZCB0byBhbGxvdyBDT1JTIHJlcXVlc3RzLgogICAgIHN0YXRpYyB2b2lkIHJlZ2lz
dGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChjb25zdCBTdHJpbmcmIHNjaGVtZSk7CiAgICAgc3Rh
dGljIGJvb2wgc2hvdWxkVHJlYXRVUkxTY2hlbWVBc0NPUlNFbmFibGVkKGNvbnN0IFN0cmluZyYg
c2NoZW1lKTsKKworICAgIC8vIEFsbG93IHJlc291cmNlcyBmcm9tIHNvbWUgc2NoZW1lcyB0byBs
b2FkIG9uIGEgcGFnZSwgcmVnYXJkbGVzcyBvZiBpdHMKKyAgICAvLyBDb250ZW50IFNlY3VyaXR5
IFBvbGljeS4KKyAgICBzdGF0aWMgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29u
dGVudFNlY3VyaXR5UG9saWN5KGNvbnN0IFN0cmluZyYgc2NoZW1lKTsKKyAgICBzdGF0aWMgdm9p
ZCByZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xp
Y3koY29uc3QgU3RyaW5nJiBzY2hlbWUpOworICAgIHN0YXRpYyBib29sIHNjaGVtZVNob3VsZEJ5
cGFzc0NvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBTdHJpbmcmIHNjaGVtZSk7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggMmFjMzJjYzkxZWZiYzNhNDFiNzEzYjg4ZDcxMzlhYzBmMDU1NjNjZC4uNTRlN2IwMGYwOTFi
ZmIxOGUyMTdmZTQ1ZDc2NTM4OWVjMmNiYzY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcApAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5oIgorI2luY2x1ZGUg
IlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTaGFk
b3dSb290LmgiCiAjaW5jbHVkZSAiU3BlbGxDaGVja2VyLmgiCkBAIC0xMTQ0LDQgKzExNDUsMTUg
QEAgdm9pZCBJbnRlcm5hbHM6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChEb2N1
bWVudCogZG9jdW1lbnQsIEVsZW1lbnQqIGUKICAgICBkb2N1bWVudC0+d2Via2l0RGlkRXhpdEZ1
bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogfQogI2VuZGlmCisKK3ZvaWQgSW50ZXJuYWxz
OjpyZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KGNvbnN0
IFN0cmluZyYgc2NoZW1lKQoreworICAgIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVt
ZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KHNjaGVtZSk7Cit9CisKK3ZvaWQgSW50
ZXJuYWxzOjpyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJp
dHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgU2NoZW1lUmVnaXN0cnk6OnJl
bW92ZVVSTFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShz
Y2hlbWUpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA3ZDI4MDQ0
ZmU5MDE2MzZhMWJhN2EyZmEyYThiMTI3MTA2ZTMxYjJkLi5lYjA3YzdkNzcxMDdjYzQ4ZmViZDFh
YzAyNzBkMDFiZjBlNDEwYmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTE5
MCw2ICsxOTAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCB3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQoRG9jdW1lbnQqLCBFbGVtZW50Kik7CiAjZW5kaWYKIAorICAgIHZvaWQgcmVnaXN0
ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBTdHJpbmcm
IHNjaGVtZSk7CisgICAgdm9pZCByZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdD
b250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpOworCiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IEludGVybmFscyhEb2N1bWVudCopOwogICAgIERvY3VtZW50TWFya2VyKiBt
YXJrZXJBdChOb2RlKiwgY29uc3QgU3RyaW5nJiBtYXJrZXJUeXBlLCB1bnNpZ25lZCBpbmRleCwg
RXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDgx
OTFkNWZkMGI4MjMyYmM2ZGYxMDFkZTgxZTVhOWI3NTkzMTMwYzkuLjkyMzdlOWI5ZGUwZGU1ZWJh
NzdhZjgxNzUwY2ViNTkxYzQ5NmE4MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKQEAgLTE2Myw2ICsxNjMsOSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgdm9pZCB3ZWJr
aXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBF
bGVtZW50IGVsZW1lbnQpOwogICAgICAgICB2b2lkIHdlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9y
RWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRWxlbWVudCBlbGVtZW50KTsKICNlbmRp
ZgorCisgICAgICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1
cml0eVBvbGljeShpbiBET01TdHJpbmcgc2NoZW1lKTsKKyAgICAgICAgdm9pZCByZW1vdmVVUkxT
Y2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koaW4gRE9NU3Ry
aW5nIHNjaGVtZSk7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlNlY3VyaXR5UG9saWN5LmgKaW5kZXggNWQ5ZDNkZTA2ODVhZGJkYTg0MTE4NjNk
MzQ0NzlkMDg3Mjc4YWFmZi4uNDYyZGIzMWU2MmQwYTY0YjM3ODJjYWMyMDk1ZjRkYTgwNmQ2MDEw
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlQ
b2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZWN1cml0eVBv
bGljeS5oCkBAIC02MSw5ICs2MSwxMiBAQCBwdWJsaWM6CiAgICAgLy8gaW5jbHVkZWQgYnkgYW4g
SFRUUFMgcGFnZS4KICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2No
ZW1lQXNTZWN1cmUoY29uc3QgV2ViU3RyaW5nJik7CiAKLSAgICAvLyBSZWdpc3RlcnMgYSBub24t
SFRUUCBVUkwgc2NoZW1lIHdoaWNoIGNhbiBiZSBzZW50IENPUlMgcmVxdWVzdHMuIAorICAgIC8v
IFJlZ2lzdGVycyBhIG5vbi1IVFRQIFVSTCBzY2hlbWUgd2hpY2ggY2FuIGJlIHNlbnQgQ09SUyBy
ZXF1ZXN0cy4KICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1l
QXNDT1JTRW5hYmxlZChjb25zdCBXZWJTdHJpbmcmKTsKIAorICAgIC8vIFJlZ2lzdGVycyBhIFVS
TCBzY2hlbWUgd2hvc2UgcmVzb3VyY2VzIGNhbiBiZSBsb2FkZWQgcmVnYXJkbGVzcyBvZiBhIHBh
Z2UncyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2
b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koY29u
c3QgV2ViU3RyaW5nJik7CisKICAgICAvLyBSZWdpc3RlcnMgYSBVUkwgc2NoZW1lIGFzIHN0cmlj
dGx5IGVtcHR5IGRvY3VtZW50cywgYWxsb3dpbmcgdGhlbSB0bwogICAgIC8vIGNvbW1pdCBzeW5j
aHJvbm91c2x5LgogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgcmVnaXN0ZXJVUkxTY2hl
bWVBc0VtcHR5RG9jdW1lbnQoY29uc3QgV2ViU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggYTE0YTM2ZGNkY2M5YTU0
ZWQ3ODZkNjhhYzE5YjAyNDM4OTY2ODc0MS4uZTgwMDYxODg5ZDI3NzY5ZTUxMWM2ZmNiMmM4ZGY1
NmU3OTQ1NGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Vj
dXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlY3Vy
aXR5UG9saWN5LmNwcApAQCAtNjgsNiArNjgsMTEgQEAgdm9pZCBXZWJTZWN1cml0eVBvbGljeTo6
cmVnaXN0ZXJVUkxTY2hlbWVBc0NPUlNFbmFibGVkKGNvbnN0IFdlYlN0cmluZyYgc2NoZW1lKQog
ICAgIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzQ09SU0VuYWJsZWQoc2NoZW1l
KTsKIH0KIAordm9pZCBXZWJTZWN1cml0eVBvbGljeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFz
c2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBXZWJTdHJpbmcmIHNjaGVtZSkKK3sKKyAg
ICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1
cml0eVBvbGljeShzY2hlbWUpOworfQorCiB2b2lkIFdlYlNlY3VyaXR5UG9saWN5OjpyZWdpc3Rl
clVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudChjb25zdCBXZWJTdHJpbmcmIHNjaGVtZSkKIHsKICAg
ICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoc2NoZW1l
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCBlNzhlOTQyYWNhOTcwZjZkMWQ5MTNkZjFkM2Y5
NzViZDFmZjFiNDQ3Li5lZDAzYmNjNmI0MDZiZjlhODY2OWJlYjUyMDkxNmNiYTk5ZGZmZjA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0yNjgsMyArMjY4LDUgQEAgRVhQT1JUUwogICAgICAg
ICA/cHJvZmlsZXJFbmFibGVkQEluc3BlY3RvckNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFX05YWgog
ICAgICAgICA/c2V0UHJvZmlsZXJFbmFibGVkQEluc3BlY3RvckNvbnRyb2xsZXJAV2ViQ29yZUBA
UUFFWF9OQFoKICAgICAgICAgP2pzU3RyaW5nU2xvd0Nhc2VAV2ViQ29yZUBAWUE/QVZKU1ZhbHVl
QEpTQ0BAUEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFwQFBBVlN0cmluZ0ltcGxAV1RGQEBWPyRX
ZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQFU/JFB0ckhhc2hAUEFWU3RyaW5nSW1wbEBXVEZAQEAy
QFU/JEhhc2hUcmFpdHNAUEFWU3RyaW5nSW1wbEBXVEZAQEAyQFU/JEhhc2hUcmFpdHNAVj8kV2Vh
a0BWSlNTdHJpbmdASlNDQEBASlNDQEBAMkBAV1RGQEBQQVZTdHJpbmdJbXBsQDZAQFogICAgICAg
IAorICAgICAgICA/cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBv
bGljeUBTY2hlbWVSZWdpc3RyeUBXZWJDb3JlQEBTQVhBQlZTdHJpbmdAV1RGQEBAWgorICAgICAg
ICA/cmVtb3ZlVVJMU2NoZW1lUmVnaXN0ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9s
aWN5QFNjaGVtZVJlZ2lzdHJ5QFdlYkNvcmVAQFNBWEFCVlN0cmluZ0BXVEZAQEBaCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggNTI4ZDRlN2JmOTRhNGYxZWQxZjgyYTQ4OGQw
NmIxYjM1NjBkOTcyMC4uZWQ2ZWNjZTg2MjBkOWZhZDQzYjZhMzZkMWI0NzQ1MzZjZmI2Yzg5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMjU3LDMgKzI1Nyw1IEBAIEVY
UE9SVFMKICAgICAgICAgP3Byb2ZpbGVyRW5hYmxlZEBJbnNwZWN0b3JDb250cm9sbGVyQFdlYkNv
cmVAQFFBRV9OWFoKICAgICAgICAgP3NldFByb2ZpbGVyRW5hYmxlZEBJbnNwZWN0b3JDb250cm9s
bGVyQFdlYkNvcmVAQFFBRVhfTkBaCiAgICAgICAgID9qc1N0cmluZ1Nsb3dDYXNlQFdlYkNvcmVA
QFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQEFBVj8kSGFzaE1hcEBQQVZTdHJpbmdJ
bXBsQFdURkBAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBVPyRQdHJIYXNoQFBBVlN0cmlu
Z0ltcGxAV1RGQEBAMkBVPyRIYXNoVHJhaXRzQFBBVlN0cmluZ0ltcGxAV1RGQEBAMkBVPyRIYXNo
VHJhaXRzQFY/JFdlYWtAVkpTU3RyaW5nQEpTQ0BAQEpTQ0BAQDJAQFdURkBAUEFWU3RyaW5nSW1w
bEA2QEBaCisgICAgICAgID9yZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29udGVudFNlY3Vy
aXR5UG9saWN5QFNjaGVtZVJlZ2lzdHJ5QFdlYkNvcmVAQFNBWEFCVlN0cmluZ0BXVEZAQEBaCisg
ICAgICAgID9yZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJp
dHlQb2xpY3lAU2NoZW1lUmVnaXN0cnlAV2ViQ29yZUBAU0FYQUJWU3RyaW5nQFdURkBAQFoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IGM2YTZmNGU3Y2NkZTljZWY2MTczZWJkOWY4YWMzMjNm
MTc0Y2Q2ODkuLjQ0NzBkZWZiOGIzNDAyMjJhOTAyOGFiZjg4YTc3YzBlNzE4NDlmNWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNTgsNiArNTgsOCBAQCBfWk43V2ViQ29yZTE0Q2xpZW50
UmVjdExpc3RDMUVSS04zV1RGNlZlY3RvcklOU185RmxvYXRRdWFkRUxtMEVFRTsKIF9aTjdXZWJD
b3JlMTRDbGllbnRSZWN0TGlzdEMxRXY7CiBfWk43V2ViQ29yZTE0Q2xpZW50UmVjdExpc3REMUV2
OwogX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uMTlhYnNvbHV0ZUNhcmV0Qm91bmRzRXY7Citf
Wk43V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnk0OXJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdD
b250ZW50U2VjdXJpdHlQb2xpY3lFUktOM1dURjZTdHJpbmdFOworX1pON1dlYkNvcmUxNFNjaGVt
ZVJlZ2lzdHJ5NTdyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2Vj
dXJpdHlQb2xpY3lFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUxNXNldERPTUV4Y2VwdGlv
bkVQTjNKU0M5RXhlY1N0YXRlRWk7CiBfWk43V2ViQ29yZTE1dG9ET01TdHJpbmdMaXN0RVBOM0pT
QzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRTsKIF9aTjdXZWJDb3JlMTZIVE1MSW5wdXRFbGVtZW50
MTdzZXRTdWdnZXN0ZWRWYWx1ZUVSS04zV1RGNlN0cmluZ0U7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmM4YjZhZTBkZGFh
MDIzMGE5NjA1YTcxMTk5NTk3Y2YzMDc1ZDg2Zi4uNjkxMGJkNWY0YTQ2YzIyMjhmYjM2MjliZDBj
NjYwMGQ1NmRjNzVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTE4ICBNaWtlIFdl
c3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGEgc2NoZW1lIHJlZ2lzdHJ5
IGZvciBieXBhc3NpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTM3MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUuaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMTgg
IEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDU1NP
TSB3cmFwcGVycyBhcmUgbm90IGJ1aWx0IGZvciBydWxlcyBpbiB0aGUgcGVyLWRvY3VtZW50IGFu
ZCBwYWdlIGdyb3VwIHVzZXIgc3R5bGVzaGVldHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2lu
Zy1zY2hlbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTU0OWU1N2RiZGRjZjRkNzdkZWY3NjEwYjJiMWJkZTQzMjIyMjA5MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxvYWQgdGhlIGltYWdl
ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS5wbmcnIGJlY2F1
c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJl
Y3RpdmU6ICJpbWctc3JjIGh0dHBzOiIuCisKK0NPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBs
b2FkIHRoZSBpbWFnZSAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9h
YmUucG5nJyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0
eSBQb2xpY3kgZGlyZWN0aXZlOiAiaW1nLXNyYyBodHRwczoiLgorCitBTEVSVDogUEFTUworICAg
IAorVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCByZWdpc3RlcmluZyBhIHNjaGVtZSBhcyBieXBhc3Np
bmcgQ1NQIGFjdHVhbGx5IGJ5cGFzc2VzIENTUC4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB5b3Ugc2Vl
IHR3byBjb25zb2xlIGVycm9ycyBhbmQgb25lIFBBU1MgYWJvdmUuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZWdpc3Rl
ci1ieXBhc3Npbmctc2NoZW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZWdpc3Rlci1ieXBhc3Npbmctc2NoZW1lLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWU4M2VjM2U2YWJjYjE2ZWU4MmUxNGZjMDk2OGNhOWYyMDIwYzFjMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUuaHRtbApAQCAtMCwwICsxLDI2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVdl
YktpdC1DU1AiIGNvbnRlbnQ9ImltZy1zcmMgaHR0cHM6OyBzY3JpcHQtc3JjICd1bnNhZmUtaW5s
aW5lJyI+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxp
bWcgc3JjPSIuLi9yZXNvdXJjZXMvYWJlLnBuZyIgb25sb2FkPSJhbGVydCh0aGlzLndpZHRoID09
IDc2ID8gJ0ZBSUwnIDogJ1BBU1MnKSI+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaW50ZXJuYWxz
LnJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koJ2h0dHAn
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8aW1nIHNyYz0iLi4vcmVzb3VyY2VzL2FiZS5wbmciIG9u
bG9hZD0iYWxlcnQodGhpcy53aWR0aCA9PSA3NiA/ICdQQVNTJyA6ICdGQUlMJykiPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGludGVybmFscy5yZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBh
c3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koJ2h0dHAnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
aW1nIHNyYz0iLi4vcmVzb3VyY2VzL2FiZS5wbmciIG9ubG9hZD0iYWxlcnQodGhpcy53aWR0aCA9
PSA3NiA/ICdGQUlMJyA6ICdQQVNTJykiPgorCisgICAgPHA+CisgICAgICAgIFRoaXMgdGVzdCBl
bnN1cmVzIHRoYXQgcmVnaXN0ZXJpbmcgYSBzY2hlbWUgYXMgYnlwYXNzaW5nIENTUCBhY3R1YWxs
eSBieXBhc3NlcyBDU1AuCisgICAgICAgIFRoaXMgdGVzdCBwYXNzZXMgaWYgeW91IHNlZSB0d28g
Y29uc29sZSBlcnJvcnMgYW5kIG9uZSBQQVNTIGFib3ZlLgorICAgIDwvcD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAxNzg1YzE5MDRm
ZmRlYzg0MzVhMjI2NDBkNTA4YmVjYjZmZDEyMWFjLi40YjQ2Yzg5NWFiNzc2MTU1NTg5ZTc0ZTYy
M2FiZjQ0ODBlNTY1YzJiIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTItMDYtMTggIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9y
Zz4KKworICAgICAgICBBZGQgYSBzY2hlbWUgcmVnaXN0cnkgZm9yIGJ5cGFzc2luZyBDb250ZW50
IFNlY3VyaXR5IFBvbGljeS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg5MzczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgorCiAyMDEyLTA2LTE3
ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCBHVEsgNjQtYml0IGJ1aWxkIGZpeCBhZnRlciByMTIwNTUxLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148249</attachid>
            <date>2012-06-18 22:53:07 -0700</date>
            <delta_ts>2012-06-19 00:27:48 -0700</delta_ts>
            <desc>Trying to order the test.</desc>
            <filename>bug-89373-20120619075306.patch</filename>
            <type>text/plain</type>
            <size>19992</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiYzUxNzBlMGJmMGUy
NjE4NGM1MjAwYjgzNDViYzlmZDNhNTQzYy4uOTczM2Y1MzA4ODQ4MmE1Njg0ZTEwMGFmZDkwZmU1
YjFkY2Y0ZWIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA2LTE4ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGEgc2NoZW1lIHJlZ2lz
dHJ5IGZvciBieXBhc3NpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTM3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBDb250ZW50IFNlY3VyaXR5IFBv
bGljeSBzcGVjaWZpY2F0aW9uIG5vdGVzIHRoYXQgIkVuZm9yY2luZyBhIENTUAorICAgICAgICBw
b2xpY3kgc2hvdWxkIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgb3BlcmF0aW9uIG9mIHVzZXItc3Vw
cGxpZWQgc2NyaXB0cworICAgICAgICBzdWNoIGFzIHRoaXJkLXBhcnR5IHVzZXItYWdlbnQgYWRk
LW9ucyBhbmQgSmF2YVNjcmlwdCBib29rbWFya2xldHMuIgorICAgICAgICAoaHR0cHM6Ly9kdmNz
LnczLm9yZy9oZy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9yYXctZmlsZS90aXAvY3NwLXNwZWNp
ZmljYXRpb24uZGV2Lmh0bWwjcHJvY2Vzc2luZy1tb2RlbCkKKyAgICAgICAgVGhpcyB1c2UgY2Fz
ZSBjYW4gYmUgYXQgbGVhc3QgcGFydGlhbGx5IGFkZHJlc3NlZCBieSBhZGRpbmcgYSBzY2hlbWUK
KyAgICAgICAgcmVnaXN0cnkgZm9yIGNlcnRhaW4gdHlwZXMgb2YgVVJMcyB3aG9zZSByZXNvdXJj
ZXMgc2hvdWxkIGJlIGxvYWRlZAorICAgICAgICByZWdhcmRsZXNzIG9mIGEgcGFnZSdzIGRlZmlu
ZWQgcG9saWN5IGRpcmVjdGl2ZXMuCisKKyAgICAgICAgU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vMTMz
MjIzIGZvciBhZGRpdGlvbmFsIGNvbnRleHQuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS5o
dG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgICAgIEV4cG9ydGluZyBu
ZXcgc3ltYm9scyBmb3IgdXNlIGJ5IEludGVybmFscy4KKyAgICAgICAgKiBwYWdlL0NvbnRlbnRT
ZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0FsbG93ZWRCeUFsbFdpdGhV
UkwpOgorICAgICAgICAgICAgQWRkaW5nIGEgY2hlY2sgYWdhaW5zdCB0aGUgbmV3IFNjaGVtZVJl
Z2lzdHJ5IG1ldGhvZCB0byBkZXRlcm1pbmUKKyAgICAgICAgICAgIHdoZXRoZXIgb3Igbm90IHdl
IHNob3VsZCBwcm9jZWVkIHdpdGggY2hlY2tpbmcgdGhlIFVSTCBhZ2FpbnN0IHRoZQorICAgICAg
ICAgICAgcG9saWN5LgorICAgICAgICAqIHBsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTUEJ5cGFzc2luZ1NjaGVtZXMpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5
cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVS
ZWdpc3RyeTo6cmVtb3ZlVVJMU2NoZW1lUmVnaXN0ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNlY3Vy
aXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5OjpzY2hlbWVTaG91
bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAqIHBsYXRmb3JtL1NjaGVt
ZVJlZ2lzdHJ5Lmg6CisgICAgICAgIChTY2hlbWVSZWdpc3RyeSk6CisgICAgICAgICAgICBBZGRp
bmcgdGhlIHNjaGVtZSByZWdpc3RyeSBmb3IgQ1NQLWJ5cGFzc2luZyBVUkwgc2NoZW1lcy4KKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsczo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRl
bnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlbW92ZVVS
TFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAgICAgQWRkaW5nIGEgbWV0aG9kIHRv
IEludGVybmFscyBzbyB0aGF0IHdlIGNhbiB3cml0ZSBhIGxheW91dCB0ZXN0LgorCiAyMDEyLTA2
LTE4ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
Q1NTT00gd3JhcHBlcnMgYXJlIG5vdCBidWlsdCBmb3IgcnVsZXMgaW4gdGhlIHBlci1kb2N1bWVu
dCBhbmQgcGFnZSBncm91cCB1c2VyIHN0eWxlc2hlZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDAwOTI0OTQ0NDE4NDgyYjU3OGI4NjM4YmIzOGI3ZWExN2I1ZjIxYzEuLmQ5Mjk0N2Qz
ZjVlOTJkNzFlZGU1ZDY0ZGIxMzlkMzQ1YjNjZDYwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDYtMTggIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBBZGQgYSBzY2hlbWUgcmVnaXN0cnkgZm9yIGJ5cGFzc2luZyBD
b250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg5MzczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU2VjdXJpdHlQb2xpY3kuaDoKKyAgICAgICAgKFdl
YlNlY3VyaXR5UG9saWN5KToKKyAgICAgICAgKiBzcmMvV2ViU2VjdXJpdHlQb2xpY3kuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTZWN1cml0eVBvbGljeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5
cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJLaXQpOgorCiAyMDEy
LTA2LTE4ICBIaXJvbm9yaSBCb25vICA8aGJvbm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtj
aHJvbWl1bV0gU3BlbGxjaGVja2VyIHNob3VsZCBzaG93IHN1Z2dlc3Rpb25zIG9ubHkgd2hlbiBy
aWdodC1jbGlja2luZyBhIG1pc3NwZWxsZWQgd29yZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA0NjMzYzcxOTUy
ZjdkMmJhNGZhY2EzYzRmYzBiY2NhZTY2OTRlMWI5Li5hNGUzYThiMjZkNTVjMzEyMWMwMzZhY2E4
ODdhOWRmY2U2OTQzZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMTgg
IE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgYSBzY2hlbWUg
cmVnaXN0cnkgZm9yIGJ5cGFzc2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MzczCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6
CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAyMDEyLTA2LTE2ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU2V0dGluZ3M6OmRldmljZVBpeGVs
UmF0aW8gZG9lc24ndCBkbyBhbnl0aGluZyBhbmQgaXMgY29uZnVzaW5nCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCmluZGV4IGZhZGY3NjBmMzA2ZWVlNDE4OTU4ODI0NDFlMWUyNmY5YzE0N2UyZTAuLmRhOGY5
NDQyMmQwYzYzYjE1MjNmYWM5NDZiZWUzZDc3MjRiZWEzNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CkBAIC0yNzQsNiArMjc0LDggQEAgX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTM0c2hvdWxk
TG9hZFVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29y
ZTE0U2NoZW1lUmVnaXN0cnk0MHNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hl
bWVFYlJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTU4cmVnaXN0
ZXJVUkxTY2hlbWVBc0FsbG93aW5nRGF0YWJhc2VBY2Nlc3NJblByaXZhdGVCcm93c2luZ0VSS04z
V1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnk2MnJlZ2lzdGVyVVJMU2No
ZW1lQXNBbGxvd2luZ0xvY2FsU3RvcmFnZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nRVJLTjNXVEY2
U3RyaW5nRQorX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTQ5cmVnaXN0ZXJVUkxTY2hlbWVB
c0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeUVSS04zV1RGNlN0cmluZ0UKK19fWk43V2Vi
Q29yZTE0U2NoZW1lUmVnaXN0cnk1N3JlbW92ZVVSTFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2lu
Z0NvbnRlbnRTZWN1cml0eVBvbGljeUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE0U2Ny
b2xsYWJsZUFyZWExNWNvbnRlbnRzUmVzaXplZEV2CiBfX1pON1dlYkNvcmUxNFNjcm9sbGFibGVB
cmVhMTZoYW5kbGVXaGVlbEV2ZW50RVJLTlNfMThQbGF0Zm9ybVdoZWVsRXZlbnRFCiBfX1pON1dl
YkNvcmUxNFNjcm9sbGFibGVBcmVhMTd3aWxsRW5kTGl2ZVJlc2l6ZUV2CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggZjg3NTdkMGNjYmRkMWY1
MDJkYWY4ZDI2YjUxOTljZTk3Y2QxNzJiYS4uZGMzOGYzNzNmYmNlNTI3ODRhNmJjYTg1Y2Q3Mjkx
NmM3MjlmNTU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJp
dHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9s
aWN5LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgIlBpbmdMb2Fk
ZXIuaCIKKyNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxT
dGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGV4dEVuY29k
aW5nLmgiCkBAIC0xMDE4LDYgKzEwMTksOSBAQCBib29sIGlzQWxsb3dlZEJ5QWxsV2l0aENvbnRl
eHQoY29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIGNvbnN0IFN0cgogdGVt
cGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93RnJvbVVSTCkoY29uc3QgS1VSTCYp
IGNvbnN0PgogYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhVUkwoY29uc3QgQ1NQRGlyZWN0aXZlTGlz
dFZlY3RvciYgcG9saWNpZXMsIGNvbnN0IEtVUkwmIHVybCkKIHsKKyAgICBpZiAoU2NoZW1lUmVn
aXN0cnk6OnNjaGVtZVNob3VsZEJ5cGFzc0NvbnRlbnRTZWN1cml0eVBvbGljeSh1cmwucHJvdG9j
b2woKSkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBwb2xpY2llcy5zaXplKCk7ICsraSkgewogICAgICAgICBpZiAoIShwb2xpY2llc1tpXS5nZXQo
KS0+KmFsbG93RnJvbVVSTCkodXJsKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcAppbmRleCBiMjVjZTFhMGQ0YWZj
MzBlNTBjNTRjYzE3YTZlNDFjZjMzNzk4ZjQ0Li41Y2ZjYmIxN2NhMzJhOTEzYjQ1OTEwOTFlYzM1
NmJkNzYxZDc4OWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVS
ZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnku
Y3BwCkBAIC0xNjQsNiArMTY0LDEyIEBAIHN0YXRpYyBVUkxTY2hlbWVzTWFwJiBDT1JTRW5hYmxl
ZFNjaGVtZXMoKQogICAgIHJldHVybiBDT1JTRW5hYmxlZFNjaGVtZXM7CiB9CiAKK3N0YXRpYyBV
UkxTY2hlbWVzTWFwJiBDb250ZW50U2VjdXJpdHlQb2xpY3lCeXBhc3NpbmdTY2hlbWVzKCkKK3sK
KyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFVSTFNjaGVtZXNNYXAsIHNjaGVtZXMsICgpKTsKKyAg
ICByZXR1cm4gc2NoZW1lczsKK30KKwogYm9vbCBTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRV
UkxTY2hlbWVBc0xvY2FsKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogewogICAgIGlmIChzY2hlbWUu
aXNFbXB0eSgpKQpAQCAtMjk3LDQgKzMwMywyMSBAQCBib29sIFNjaGVtZVJlZ2lzdHJ5OjpzaG91
bGRUcmVhdFVSTFNjaGVtZUFzQ09SU0VuYWJsZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUpCiAgICAg
cmV0dXJuIENPUlNFbmFibGVkU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7CiB9CiAKK3ZvaWQg
U2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDb250ZW50U2VjdXJp
dHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgQ29udGVudFNlY3VyaXR5UG9s
aWN5QnlwYXNzaW5nU2NoZW1lcygpLmFkZChzY2hlbWUpOworfQorCit2b2lkIFNjaGVtZVJlZ2lz
dHJ5OjpyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQ
b2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5
QnlwYXNzaW5nU2NoZW1lcygpLnJlbW92ZShzY2hlbWUpOworfQorCitib29sIFNjaGVtZVJlZ2lz
dHJ5OjpzY2hlbWVTaG91bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3RyaW5n
JiBzY2hlbWUpCit7CisgICAgaWYgKHNjaGVtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gQ29udGVudFNlY3VyaXR5UG9saWN5QnlwYXNzaW5nU2NoZW1lcygp
LmNvbnRhaW5zKHNjaGVtZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5oCmluZGV4IDliMDhlMGE0MTU1MTA1YmFiMDMy
NmQ2NDkyZTY2MGRkYmU3Yjg5NjYuLjRhZGQ3YzM3MWM3ZTViMGIzZmM4ODhkYzRlMWMyMGY0Mjk5
YWMzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuaApAQCAtODIs
NiArODIsMTIgQEAgcHVibGljOgogICAgIC8vIEFsbG93IG5vbi1IVFRQIHNjaGVtZXMgdG8gYmUg
cmVnaXN0ZXJlZCB0byBhbGxvdyBDT1JTIHJlcXVlc3RzLgogICAgIHN0YXRpYyB2b2lkIHJlZ2lz
dGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChjb25zdCBTdHJpbmcmIHNjaGVtZSk7CiAgICAgc3Rh
dGljIGJvb2wgc2hvdWxkVHJlYXRVUkxTY2hlbWVBc0NPUlNFbmFibGVkKGNvbnN0IFN0cmluZyYg
c2NoZW1lKTsKKworICAgIC8vIEFsbG93IHJlc291cmNlcyBmcm9tIHNvbWUgc2NoZW1lcyB0byBs
b2FkIG9uIGEgcGFnZSwgcmVnYXJkbGVzcyBvZiBpdHMKKyAgICAvLyBDb250ZW50IFNlY3VyaXR5
IFBvbGljeS4KKyAgICBzdGF0aWMgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29u
dGVudFNlY3VyaXR5UG9saWN5KGNvbnN0IFN0cmluZyYgc2NoZW1lKTsKKyAgICBzdGF0aWMgdm9p
ZCByZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xp
Y3koY29uc3QgU3RyaW5nJiBzY2hlbWUpOworICAgIHN0YXRpYyBib29sIHNjaGVtZVNob3VsZEJ5
cGFzc0NvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBTdHJpbmcmIHNjaGVtZSk7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggMmFjMzJjYzkxZWZiYzNhNDFiNzEzYjg4ZDcxMzlhYzBmMDU1NjNjZC4uNTRlN2IwMGYwOTFi
ZmIxOGUyMTdmZTQ1ZDc2NTM4OWVjMmNiYzY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcApAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5oIgorI2luY2x1ZGUg
IlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTaGFk
b3dSb290LmgiCiAjaW5jbHVkZSAiU3BlbGxDaGVja2VyLmgiCkBAIC0xMTQ0LDQgKzExNDUsMTUg
QEAgdm9pZCBJbnRlcm5hbHM6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChEb2N1
bWVudCogZG9jdW1lbnQsIEVsZW1lbnQqIGUKICAgICBkb2N1bWVudC0+d2Via2l0RGlkRXhpdEZ1
bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogfQogI2VuZGlmCisKK3ZvaWQgSW50ZXJuYWxz
OjpyZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KGNvbnN0
IFN0cmluZyYgc2NoZW1lKQoreworICAgIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVt
ZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KHNjaGVtZSk7Cit9CisKK3ZvaWQgSW50
ZXJuYWxzOjpyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJp
dHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgU2NoZW1lUmVnaXN0cnk6OnJl
bW92ZVVSTFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShz
Y2hlbWUpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA3ZDI4MDQ0
ZmU5MDE2MzZhMWJhN2EyZmEyYThiMTI3MTA2ZTMxYjJkLi5lYjA3YzdkNzcxMDdjYzQ4ZmViZDFh
YzAyNzBkMDFiZjBlNDEwYmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTE5
MCw2ICsxOTAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCB3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQoRG9jdW1lbnQqLCBFbGVtZW50Kik7CiAjZW5kaWYKIAorICAgIHZvaWQgcmVnaXN0
ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBTdHJpbmcm
IHNjaGVtZSk7CisgICAgdm9pZCByZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdD
b250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3RyaW5nJiBzY2hlbWUpOworCiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IEludGVybmFscyhEb2N1bWVudCopOwogICAgIERvY3VtZW50TWFya2VyKiBt
YXJrZXJBdChOb2RlKiwgY29uc3QgU3RyaW5nJiBtYXJrZXJUeXBlLCB1bnNpZ25lZCBpbmRleCwg
RXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDgx
OTFkNWZkMGI4MjMyYmM2ZGYxMDFkZTgxZTVhOWI3NTkzMTMwYzkuLjkyMzdlOWI5ZGUwZGU1ZWJh
NzdhZjgxNzUwY2ViNTkxYzQ5NmE4MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKQEAgLTE2Myw2ICsxNjMsOSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgdm9pZCB3ZWJr
aXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBF
bGVtZW50IGVsZW1lbnQpOwogICAgICAgICB2b2lkIHdlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9y
RWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRWxlbWVudCBlbGVtZW50KTsKICNlbmRp
ZgorCisgICAgICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1
cml0eVBvbGljeShpbiBET01TdHJpbmcgc2NoZW1lKTsKKyAgICAgICAgdm9pZCByZW1vdmVVUkxT
Y2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koaW4gRE9NU3Ry
aW5nIHNjaGVtZSk7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlNlY3VyaXR5UG9saWN5LmgKaW5kZXggNWQ5ZDNkZTA2ODVhZGJkYTg0MTE4NjNk
MzQ0NzlkMDg3Mjc4YWFmZi4uNDYyZGIzMWU2MmQwYTY0YjM3ODJjYWMyMDk1ZjRkYTgwNmQ2MDEw
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlQ
b2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZWN1cml0eVBv
bGljeS5oCkBAIC02MSw5ICs2MSwxMiBAQCBwdWJsaWM6CiAgICAgLy8gaW5jbHVkZWQgYnkgYW4g
SFRUUFMgcGFnZS4KICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2No
ZW1lQXNTZWN1cmUoY29uc3QgV2ViU3RyaW5nJik7CiAKLSAgICAvLyBSZWdpc3RlcnMgYSBub24t
SFRUUCBVUkwgc2NoZW1lIHdoaWNoIGNhbiBiZSBzZW50IENPUlMgcmVxdWVzdHMuIAorICAgIC8v
IFJlZ2lzdGVycyBhIG5vbi1IVFRQIFVSTCBzY2hlbWUgd2hpY2ggY2FuIGJlIHNlbnQgQ09SUyBy
ZXF1ZXN0cy4KICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1l
QXNDT1JTRW5hYmxlZChjb25zdCBXZWJTdHJpbmcmKTsKIAorICAgIC8vIFJlZ2lzdGVycyBhIFVS
TCBzY2hlbWUgd2hvc2UgcmVzb3VyY2VzIGNhbiBiZSBsb2FkZWQgcmVnYXJkbGVzcyBvZiBhIHBh
Z2UncyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2
b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koY29u
c3QgV2ViU3RyaW5nJik7CisKICAgICAvLyBSZWdpc3RlcnMgYSBVUkwgc2NoZW1lIGFzIHN0cmlj
dGx5IGVtcHR5IGRvY3VtZW50cywgYWxsb3dpbmcgdGhlbSB0bwogICAgIC8vIGNvbW1pdCBzeW5j
aHJvbm91c2x5LgogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgcmVnaXN0ZXJVUkxTY2hl
bWVBc0VtcHR5RG9jdW1lbnQoY29uc3QgV2ViU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggYTE0YTM2ZGNkY2M5YTU0
ZWQ3ODZkNjhhYzE5YjAyNDM4OTY2ODc0MS4uZTgwMDYxODg5ZDI3NzY5ZTUxMWM2ZmNiMmM4ZGY1
NmU3OTQ1NGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Vj
dXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlY3Vy
aXR5UG9saWN5LmNwcApAQCAtNjgsNiArNjgsMTEgQEAgdm9pZCBXZWJTZWN1cml0eVBvbGljeTo6
cmVnaXN0ZXJVUkxTY2hlbWVBc0NPUlNFbmFibGVkKGNvbnN0IFdlYlN0cmluZyYgc2NoZW1lKQog
ICAgIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzQ09SU0VuYWJsZWQoc2NoZW1l
KTsKIH0KIAordm9pZCBXZWJTZWN1cml0eVBvbGljeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFz
c2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBXZWJTdHJpbmcmIHNjaGVtZSkKK3sKKyAg
ICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1
cml0eVBvbGljeShzY2hlbWUpOworfQorCiB2b2lkIFdlYlNlY3VyaXR5UG9saWN5OjpyZWdpc3Rl
clVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudChjb25zdCBXZWJTdHJpbmcmIHNjaGVtZSkKIHsKICAg
ICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoc2NoZW1l
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCBlNzhlOTQyYWNhOTcwZjZkMWQ5MTNkZjFkM2Y5
NzViZDFmZjFiNDQ3Li5lZDAzYmNjNmI0MDZiZjlhODY2OWJlYjUyMDkxNmNiYTk5ZGZmZjA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0yNjgsMyArMjY4LDUgQEAgRVhQT1JUUwogICAgICAg
ICA/cHJvZmlsZXJFbmFibGVkQEluc3BlY3RvckNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFX05YWgog
ICAgICAgICA/c2V0UHJvZmlsZXJFbmFibGVkQEluc3BlY3RvckNvbnRyb2xsZXJAV2ViQ29yZUBA
UUFFWF9OQFoKICAgICAgICAgP2pzU3RyaW5nU2xvd0Nhc2VAV2ViQ29yZUBAWUE/QVZKU1ZhbHVl
QEpTQ0BAUEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFwQFBBVlN0cmluZ0ltcGxAV1RGQEBWPyRX
ZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQFU/JFB0ckhhc2hAUEFWU3RyaW5nSW1wbEBXVEZAQEAy
QFU/JEhhc2hUcmFpdHNAUEFWU3RyaW5nSW1wbEBXVEZAQEAyQFU/JEhhc2hUcmFpdHNAVj8kV2Vh
a0BWSlNTdHJpbmdASlNDQEBASlNDQEBAMkBAV1RGQEBQQVZTdHJpbmdJbXBsQDZAQFogICAgICAg
IAorICAgICAgICA/cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBv
bGljeUBTY2hlbWVSZWdpc3RyeUBXZWJDb3JlQEBTQVhBQlZTdHJpbmdAV1RGQEBAWgorICAgICAg
ICA/cmVtb3ZlVVJMU2NoZW1lUmVnaXN0ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9s
aWN5QFNjaGVtZVJlZ2lzdHJ5QFdlYkNvcmVAQFNBWEFCVlN0cmluZ0BXVEZAQEBaCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggNTI4ZDRlN2JmOTRhNGYxZWQxZjgyYTQ4OGQw
NmIxYjM1NjBkOTcyMC4uZWQ2ZWNjZTg2MjBkOWZhZDQzYjZhMzZkMWI0NzQ1MzZjZmI2Yzg5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMjU3LDMgKzI1Nyw1IEBAIEVY
UE9SVFMKICAgICAgICAgP3Byb2ZpbGVyRW5hYmxlZEBJbnNwZWN0b3JDb250cm9sbGVyQFdlYkNv
cmVAQFFBRV9OWFoKICAgICAgICAgP3NldFByb2ZpbGVyRW5hYmxlZEBJbnNwZWN0b3JDb250cm9s
bGVyQFdlYkNvcmVAQFFBRVhfTkBaCiAgICAgICAgID9qc1N0cmluZ1Nsb3dDYXNlQFdlYkNvcmVA
QFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQEFBVj8kSGFzaE1hcEBQQVZTdHJpbmdJ
bXBsQFdURkBAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBVPyRQdHJIYXNoQFBBVlN0cmlu
Z0ltcGxAV1RGQEBAMkBVPyRIYXNoVHJhaXRzQFBBVlN0cmluZ0ltcGxAV1RGQEBAMkBVPyRIYXNo
VHJhaXRzQFY/JFdlYWtAVkpTU3RyaW5nQEpTQ0BAQEpTQ0BAQDJAQFdURkBAUEFWU3RyaW5nSW1w
bEA2QEBaCisgICAgICAgID9yZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29udGVudFNlY3Vy
aXR5UG9saWN5QFNjaGVtZVJlZ2lzdHJ5QFdlYkNvcmVAQFNBWEFCVlN0cmluZ0BXVEZAQEBaCisg
ICAgICAgID9yZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJp
dHlQb2xpY3lAU2NoZW1lUmVnaXN0cnlAV2ViQ29yZUBAU0FYQUJWU3RyaW5nQFdURkBAQFoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IGM2YTZmNGU3Y2NkZTljZWY2MTczZWJkOWY4YWMzMjNm
MTc0Y2Q2ODkuLjQ0NzBkZWZiOGIzNDAyMjJhOTAyOGFiZjg4YTc3YzBlNzE4NDlmNWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNTgsNiArNTgsOCBAQCBfWk43V2ViQ29yZTE0Q2xpZW50
UmVjdExpc3RDMUVSS04zV1RGNlZlY3RvcklOU185RmxvYXRRdWFkRUxtMEVFRTsKIF9aTjdXZWJD
b3JlMTRDbGllbnRSZWN0TGlzdEMxRXY7CiBfWk43V2ViQ29yZTE0Q2xpZW50UmVjdExpc3REMUV2
OwogX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uMTlhYnNvbHV0ZUNhcmV0Qm91bmRzRXY7Citf
Wk43V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnk0OXJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdD
b250ZW50U2VjdXJpdHlQb2xpY3lFUktOM1dURjZTdHJpbmdFOworX1pON1dlYkNvcmUxNFNjaGVt
ZVJlZ2lzdHJ5NTdyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2Vj
dXJpdHlQb2xpY3lFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUxNXNldERPTUV4Y2VwdGlv
bkVQTjNKU0M5RXhlY1N0YXRlRWk7CiBfWk43V2ViQ29yZTE1dG9ET01TdHJpbmdMaXN0RVBOM0pT
QzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRTsKIF9aTjdXZWJDb3JlMTZIVE1MSW5wdXRFbGVtZW50
MTdzZXRTdWdnZXN0ZWRWYWx1ZUVSS04zV1RGNlN0cmluZ0U7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmM4YjZhZTBkZGFh
MDIzMGE5NjA1YTcxMTk5NTk3Y2YzMDc1ZDg2Zi4uNjkxMGJkNWY0YTQ2YzIyMjhmYjM2MjliZDBj
NjYwMGQ1NmRjNzVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTE4ICBNaWtlIFdl
c3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGEgc2NoZW1lIHJlZ2lzdHJ5
IGZvciBieXBhc3NpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTM3MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUuaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMTgg
IEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDU1NP
TSB3cmFwcGVycyBhcmUgbm90IGJ1aWx0IGZvciBydWxlcyBpbiB0aGUgcGVyLWRvY3VtZW50IGFu
ZCBwYWdlIGdyb3VwIHVzZXIgc3R5bGVzaGVldHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2lu
Zy1zY2hlbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXItYnlwYXNzaW5nLXNjaGVtZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGE3OTI5YTgwNjRkOTE0YjNhNjJiMDYyN2E4NjcyYzA4MGQ0NTU4MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNiBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxvYWQgdGhlIGltYWdl
ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS5wbmcnIGJlY2F1
c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJl
Y3RpdmU6ICJpbWctc3JjIGh0dHBzOiIuCisKK0FMRVJUOiBQQVNTICgyLzMpCitDT05TT0xFIE1F
U1NBR0U6IFJlZnVzZWQgdG8gbG9hZCB0aGUgaW1hZ2UgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9z
ZWN1cml0eS9yZXNvdXJjZXMvYWJlLnBuZycgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93
aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogImltZy1zcmMgaHR0cHM6Ii4K
KworVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCByZWdpc3RlcmluZyBhIHNjaGVtZSBhcyBieXBhc3Np
bmcgQ1NQIGFjdHVhbGx5IGJ5cGFzc2VzIENTUC4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aHJlZSBQ
QVNTZXMgYXJlIGdlbmVyYXRlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3JlZ2lzdGVyLWJ5cGFzc2luZy1zY2hlbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYWVhZDU0OTli
NDk1MDlmMDIyYzYwZWQ5ZjM0MWZjYTZlMjk1YzZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVnaXN0ZXIt
YnlwYXNzaW5nLXNjaGVtZS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtV2ViS2l0LUNTUCIgY29udGVudD0i
aW1nLXNyYyBodHRwczo7IHNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIj4KKzxzY3JpcHQ+Cisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiB0ZXN0MSgpIHsKKyAgICAgICAgdmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2ltZycpOworICAgICAgICBpbWcub25sb2FkID0gZnVuY3Rpb24gKCkgeyBhbGVydCgnRkFJ
TCcpOyB9OworICAgICAgICBpbWcub25lcnJvciA9IGZ1bmN0aW9uICgpIHsgYWxlcnQoJ1BBU1Mg
KDEvMyknKTsgfTsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGltZy5zcmMgPSAiLi4vcmVz
b3VyY2VzL2FiZS5wbmciOworICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICBhbGVy
dCgiUEFTUyAoMS8zKSIpOworICAgICAgICB9CisgICAgICAgIHRlc3QyKCk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gdGVzdDIoKSB7CisgICAgICAgIGludGVybmFscy5yZWdpc3RlclVSTFNjaGVt
ZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KCdodHRwJyk7CisgICAgICAgIHZhciBp
bWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICAgICAgaW1nLm9ubG9hZCA9
IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGFsZXJ0KCdQQVNTICgyLzMpJyk7CisgICAgICAg
ICAgICB0ZXN0MygpOworICAgICAgICB9OworICAgICAgICB0cnkgeworICAgICAgICAgICAgaW1n
LnNyYyA9ICIuLi9yZXNvdXJjZXMvYWJlLnBuZyI7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgICAgIGFsZXJ0KCdGQUlMJyk7CisgICAgICAgICAgICB0ZXN0MygpOworICAgICAgICB9
CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdDMoKSB7CisgICAgICAgIGludGVybmFscy5yZW1v
dmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koJ2h0
dHAnKTsKKyAgICAgICAgdmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOwor
ICAgICAgICBpbWcub25sb2FkID0gZnVuY3Rpb24gKCkgeyBhbGVydCgnRkFJTCcpOyB9OworICAg
ICAgICBpbWcub25lcnJvciA9IGZ1bmN0aW9uICgpIHsgYWxlcnQoJ1BBU1MgKDIvMyknKTsgfTsK
KyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGltZy5zcmMgPSAiLi4vcmVzb3VyY2VzL2FiZS5w
bmciOworICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICBhbGVydCgiUEFTUyAoMy8z
KSIpOworICAgICAgICB9CisgICAgICAgIGZpbmlzaFRlc3RpbmcoKTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBmaW5pc2hUZXN0aW5nKCkgeworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsgfSwgMCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J3Rlc3QxKCk7Jz4KKyAgICA8cD4KKyAg
ICAgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCByZWdpc3RlcmluZyBhIHNjaGVtZSBhcyBieXBh
c3NpbmcgQ1NQIGFjdHVhbGx5IGJ5cGFzc2VzIENTUC4KKyAgICAgICAgVGhpcyB0ZXN0IHBhc3Nl
cyBpZiB0aHJlZSBQQVNTZXMgYXJlIGdlbmVyYXRlZC4KKyAgICA8L3A+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMTc4NWMxOTA0ZmZk
ZWM4NDM1YTIyNjQwZDUwOGJlY2I2ZmQxMjFhYy4uNGI0NmM4OTVhYjc3NjE1NTU4OWU3NGU2MjNh
YmY0NDgwZTU2NWMyYiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEyIEBACisyMDEyLTA2LTE4ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgQWRkIGEgc2NoZW1lIHJlZ2lzdHJ5IGZvciBieXBhc3NpbmcgQ29udGVudCBT
ZWN1cml0eSBQb2xpY3kuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04OTM3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMi0wNi0xNyAg
UGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgR1RLIDY0LWJpdCBidWlsZCBmaXggYWZ0ZXIgcjEyMDU1MS4K
</data>

          </attachment>
      

    </bug>

</bugzilla>