<?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>110880</bug_id>
          
          <creation_ts>2013-02-26 07:31:19 -0800</creation_ts>
          <short_desc>Cross-origin XSLT requests with CORS should be allowed</short_desc>
          <delta_ts>2023-05-12 23:50:30 -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>WONTFIX</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="Raphael Kubo da Costa (:rakuco)">rakuco</reporter>
          <assigned_to name="Raphael Kubo da Costa (:rakuco)">rakuco</assigned_to>
          <cc>abarth</cc>
    
    <cc>alexbuzzbee</cc>
    
    <cc>annevk</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>dglazkov</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rniwa</cc>
    
    <cc>ruvim.pinka</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>webdev</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>841979</commentid>
    <comment_count>0</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-02-26 07:31:19 -0800</bug_when>
    <thetext>These days, if one attempts to load an XSLT resource from a different origin (as described in &lt;http://www.w3.org/wiki/CORS#xml-stylesheet_processing_instruction_.28XMLSS.29&gt;), the request fails because the origins do not match.

Revisions r34719 and r38065 seem to implement the current behavior, but they reference bugs I do not have permission to view. r34719&apos;s commit message said it made WebKit match Firefox, IE and Opera at the time. These days, loading cross-origin XSLT resources works fine on IE and Firefox (and Opera simply ignored the request).

Before spending some time trying to &quot;fix&quot; the issue, I&apos;d like to know if there&apos;s an issue to be fixed at all or if we&apos;re happy with the current behavior. FWIW, there&apos;s a Chromium bug which references this same issue, &lt;https://code.google.com/p/chromium/issues/detail?id=101152&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842125</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-26 10:05:21 -0800</bug_when>
    <thetext>I&apos;ve added you to the bugs in question.  They&apos;re old enough that we can probably make them public.  The short answer is that cross-origin XSLT can lead to XSS vulnerabilities.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842952</commentid>
    <comment_count>2</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-02-27 05:03:40 -0800</bug_when>
    <thetext>Thanks. Only now have I noticed that I didn&apos;t explicitly mention I had CORS in mind, sorry about that.

My actual question is what to do when http://bar.baz/something.xml sends a request to http://foo.bar/resource.xsl, which send back a proper Access-Control-Allow-Origin header; in this case, Gecko and IE load it, whereas we don&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843068</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-27 07:58:10 -0800</bug_when>
    <thetext>Does the fetch happen with credentials?  Typically we prefer that people use CORS in &quot;anonymous&quot; mode so they don&apos;t accidentally share cookie-authenticated data.  For example, that&apos;s the default for the crossorigin attribute on &lt;img&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843070</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-27 07:59:20 -0800</bug_when>
    <thetext>The short answer is yes, though.  We can use CORS to let web sites open into allowing this behavior.  I&apos;d have to look at the security issue again to remember exactly which resources need to supply CORS headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843154</commentid>
    <comment_count>5</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-02-27 09:22:28 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Does the fetch happen with credentials?  Typically we prefer that people use CORS in &quot;anonymous&quot; mode so they don&apos;t accidentally share cookie-authenticated data.  For example, that&apos;s the default for the crossorigin attribute on &lt;img&gt;.

Given that there&apos;s no equivalent to the crossorigin attribute for &lt;?xml-stylesheet&gt;, I think both Gecko and IE perform the request without credentials, but I can check that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844068</commentid>
    <comment_count>6</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-02-28 07:39:55 -0800</bug_when>
    <thetext>Firefox always seems to send its requests in anonymous mode. IE10, on the other hand, does not really seem to apply CORS&apos; rules in the request: if Protected Mode is disabled (or if only port numbers differ from what I could verify) cross-resource XSLT requests are performed and cookies are sent; the request fails and a warning is written on the console otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844080</commentid>
    <comment_count>7</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-02-28 07:59:45 -0800</bug_when>
    <thetext>Actually, testing a bit more, Protected Mode does not alter IE10&apos;s behavior: in this case, whether it performs the cross-origin request or not depends on the &quot;Access data sources across domains&quot; setting. It does not take the CORS headers into account in any case, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844296</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-28 11:43:09 -0800</bug_when>
    <thetext>Doing anonymous requests is probably better so that folks can use Access-Control-Allow-Origin: *</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846938</commentid>
    <comment_count>9</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-03-04 15:40:43 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Doing anonymous requests is probably better so that folks can use Access-Control-Allow-Origin: *

I&apos;m currently having some trouble with redirects; namely, the ResourceRequest used when requesting a CachedXSLResource is not the one used when the network backend reports a redirect to the loader. This means that even if I, say, write some code in SubresourceLoader::willSendRequest to call updateRequestForAccessControl() the ResourceRequest that I eventually use in ProcessingInstruction::setXSLStyleSheet() has not been changed, and calling something like passesAccessControlCheck() may fail.

Is this really intentional and I&apos;m missing something obvious? Is one really supposed to change both CachedResourceLoader and something like SubresourceLoader to treat both original requests and redirects (I had thought both went through a similar code path)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847720</commentid>
    <comment_count>10</comment_count>
      <attachid>191504</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-03-05 08:56:55 -0800</bug_when>
    <thetext>Created attachment 191504
First attempt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847723</commentid>
    <comment_count>11</comment_count>
      <attachid>191504</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-03-05 08:59:07 -0800</bug_when>
    <thetext>Comment on attachment 191504
First attempt

There are a few things I don&apos;t like in this patch very much: for one, passing a ResourceResponse in setXSLStyleSheet feels weird. Also, performing almost the same origin checks in 3 different places makes me feel I&apos;m doing something wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847764</commentid>
    <comment_count>12</comment_count>
      <attachid>191504</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 09:54:32 -0800</bug_when>
    <thetext>Comment on attachment 191504
First attempt

Attachment 191504 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17015011

New failing tests:
http/tests/security/cross-origin-xsl-BLOCKED.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848183</commentid>
    <comment_count>13</comment_count>
      <attachid>191504</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-05 15:53:34 -0800</bug_when>
    <thetext>Comment on attachment 191504
First attempt

Attachment 191504 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17044024

New failing tests:
http/tests/security/cross-origin-xsl-BLOCKED.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848946</commentid>
    <comment_count>14</comment_count>
      <attachid>191768</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-03-06 09:30:18 -0800</bug_when>
    <thetext>Created attachment 191768
First attempt, fix test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848956</commentid>
    <comment_count>15</comment_count>
      <attachid>191771</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-03-06 09:38:59 -0800</bug_when>
    <thetext>Created attachment 191771
Remove some leftover</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849014</commentid>
    <comment_count>16</comment_count>
      <attachid>191771</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-06 10:15:14 -0800</bug_when>
    <thetext>Comment on attachment 191771
Remove some leftover

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

&gt; Source/WebCore/loader/SubresourceLoader.cpp:147
&gt; +        if (m_resource-&gt;type() == CachedResource::XSLStyleSheet &amp;&amp; !m_documentLoader-&gt;document()-&gt;securityOrigin()-&gt;canRequest(newRequest.url()))
&gt; +            updateRequestForAccessControl(newRequest, m_documentLoader-&gt;document()-&gt;securityOrigin(), DoNotAllowStoredCredentials);
&gt;          m_resource-&gt;willSendRequest(newRequest, redirectResponse);

Is this the right place to make this check? It seems like the line below should get us inside CachedXSLStyleSheet, which would be better for XSLStyleSheet specific code than SubresourceLoader.

Additionally, this handling of redirects seems unique - I don&apos;t see any similar updateRequestForAccessControl calls elsewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849140</commentid>
    <comment_count>17</comment_count>
      <attachid>191771</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-03-06 11:41:46 -0800</bug_when>
    <thetext>Comment on attachment 191771
Remove some leftover

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

&gt;&gt; Source/WebCore/loader/SubresourceLoader.cpp:147
&gt;&gt;          m_resource-&gt;willSendRequest(newRequest, redirectResponse);
&gt; 
&gt; Is this the right place to make this check? It seems like the line below should get us inside CachedXSLStyleSheet, which would be better for XSLStyleSheet specific code than SubresourceLoader.
&gt; 
&gt; Additionally, this handling of redirects seems unique - I don&apos;t see any similar updateRequestForAccessControl calls elsewhere.

I thought about putting it in CachedXSLStyleSheet too. This would probably mean adding some empty method to CachedResource that&apos;s only implemented by CachedXSLStyleSheet. Is that OK?

WRT this looking unique: other places, such as &lt;img&gt; + &lt;canvas&gt;, or XHR, provide means for users to specify the behavior their want. XSL was a special case before by simply discarding cross-origin requests. Were you thinking of something in specific?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849158</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-06 11:57:31 -0800</bug_when>
    <thetext>&gt; This would probably mean adding some empty method to CachedResource that&apos;s only implemented by CachedXSLStyleSheet.

Wouldn&apos;t CachedXSLStyleSheet::willSendRequest() work?

&gt; other places, such as &lt;img&gt; + &lt;canvas&gt;, or XHR, provide means for users to specify the behavior their want

What is the place where other loaders do the equivalent of updateRequestForAccessControl() on redirect? Or do they not need to?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849169</commentid>
    <comment_count>19</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-03-06 12:10:20 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; &gt; This would probably mean adding some empty method to CachedResource that&apos;s only implemented by CachedXSLStyleSheet.
&gt; 
&gt; Wouldn&apos;t CachedXSLStyleSheet::willSendRequest() work?

This would mean either passing m_documentLoader-&gt;securityOrigin() to willSendRequest() or calling loader()-&gt;documentLoader()-&gt;securityOrigin() there. I was a bit afraid of this chain not always being non-NULL, but can give it a try.

&gt; &gt; other places, such as &lt;img&gt; + &lt;canvas&gt;, or XHR, provide means for users to specify the behavior their want
&gt; 
&gt; What is the place where other loaders do the equivalent of updateRequestForAccessControl() on redirect? Or do they not need to?

From what I understood from the behavior of &lt;img&gt;+&lt;canvas&gt; and XHR, at creation time (respectively, by setting the crossorigin attribute in &lt;img&gt; and using XHR.withCredentials) one defines whether all requests should be made without any credentials (which means the original request and any occasional ones created by redirects) are sent without credentials or all of them are sent with credentials.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849326</commentid>
    <comment_count>20</comment_count>
      <attachid>191771</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-06 14:53:48 -0800</bug_when>
    <thetext>Comment on attachment 191771
Remove some leftover

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

This looks like a good start.  My main question is why XSLT needs special handling in subresource loader.

&gt;&gt;&gt; Source/WebCore/loader/SubresourceLoader.cpp:147
&gt;&gt;&gt; +        if (m_resource-&gt;type() == CachedResource::XSLStyleSheet &amp;&amp; !m_documentLoader-&gt;document()-&gt;securityOrigin()-&gt;canRequest(newRequest.url()))
&gt;&gt;&gt; +            updateRequestForAccessControl(newRequest, m_documentLoader-&gt;document()-&gt;securityOrigin(), DoNotAllowStoredCredentials);
&gt;&gt;&gt;          m_resource-&gt;willSendRequest(newRequest, redirectResponse);
&gt;&gt; 
&gt;&gt; Is this the right place to make this check? It seems like the line below should get us inside CachedXSLStyleSheet, which would be better for XSLStyleSheet specific code than SubresourceLoader.
&gt;&gt; 
&gt;&gt; Additionally, this handling of redirects seems unique - I don&apos;t see any similar updateRequestForAccessControl calls elsewhere.
&gt; 
&gt; I thought about putting it in CachedXSLStyleSheet too. This would probably mean adding some empty method to CachedResource that&apos;s only implemented by CachedXSLStyleSheet. Is that OK?
&gt; 
&gt; WRT this looking unique: other places, such as &lt;img&gt; + &lt;canvas&gt;, or XHR, provide means for users to specify the behavior their want. XSL was a special case before by simply discarding cross-origin requests. Were you thinking of something in specific?

Why is this check needed for XSLStyleSheet but not for CORS-enabled image fetches?

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:238
&gt; +    KURL requestURL = request.resourceRequest().url();
&gt; +    bool sameOriginRequest = m_document-&gt;securityOrigin()-&gt;canRequest(requestURL);
&gt; +
&gt; +    if (!sameOriginRequest)
&gt; +        updateRequestForAccessControl(request.mutableResourceRequest(), m_document-&gt;securityOrigin(), DoNotAllowStoredCredentials);

So, we&apos;re only doing an anonymous fetch if the initial URL is cross-origin.  We need to be sure to test the case where a same-origin request gets redirected to a cross-origin URL

&gt; LayoutTests/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:1
&gt; -CONSOLE MESSAGE: line 2: Unsafe attempt to load URL http://localhost:8000/security/resources/forbidden-stylesheet.xsl from frame with URL http://127.0.0.1:8000/security/resources/cross-origin-xsl.xml. Domains, protocols and ports must match.
&gt; +CONSOLE MESSAGE: Unsafe attempt to load URL http://localhost:8000/security/resources/forbidden-stylesheet.xsl from frame with URL http://127.0.0.1:8000/security/resources/cross-origin-xsl-BLOCKED.xml. Domains, protocols and ports must match.

Why are we losing the line number?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852668</commentid>
    <comment_count>21</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-03-11 13:39:11 -0700</bug_when>
    <thetext>Sorry for the delay, I was flying across continents.

(In reply to comment #20)
&gt; This looks like a good start.  My main question is why XSLT needs special handling in subresource loader.

As I see it XSL fetches behave differently than the rest because we&apos;re sort of adapting the behavior of something that does not really know about CORS, that is, in this case there&apos;s no &quot;crossorigin&quot; tag as there is for the &lt;img&gt; tag.

&gt; &gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:238
&gt; &gt; +    KURL requestURL = request.resourceRequest().url();
&gt; &gt; +    bool sameOriginRequest = m_document-&gt;securityOrigin()-&gt;canRequest(requestURL);
&gt; &gt; +
&gt; &gt; +    if (!sameOriginRequest)
&gt; &gt; +        updateRequestForAccessControl(request.mutableResourceRequest(), m_document-&gt;securityOrigin(), DoNotAllowStoredCredentials);
&gt;
&gt; So, we&apos;re only doing an anonymous fetch if the initial URL is cross-origin.  We need to be sure to test the case where a same-origin request gets redirected to a cross-origin URL

This is what http/tests/security/cross-origin-xsl-redirect.html is testing, and why I had to add code to SubresourceLoader: when the original request is a same-origin one, updateRequestForAccessControl() is not called. The platform-specific networking code then processes the redirect, creates a ResourceRequest based on the existing one and calls SubresourceLoader.

The test I added there checks if this is happening and strips the request accordingly.

&gt; &gt;&gt;&gt; Source/WebCore/loader/SubresourceLoader.cpp:147
&gt; &gt;&gt;&gt; +        if (m_resource-&gt;type() == CachedResource::XSLStyleSheet &amp;&amp; !m_documentLoader-&gt;document()-&gt;securityOrigin()-&gt;canRequest(newRequest.url()))
&gt; &gt;&gt;&gt; +            updateRequestForAccessControl(newRequest, m_documentLoader-&gt;document()-&gt;securityOrigin(), DoNotAllowStoredCredentials);
&gt; &gt;&gt;&gt;          m_resource-&gt;willSendRequest(newRequest, redirectResponse);
&gt;
&gt; [...]
&gt;
&gt; Why is this check needed for XSLStyleSheet but not for CORS-enabled image fetches?

The CORS policy for image fetches is defined by the &quot;crossorigin&quot; attribute in &lt;img&gt;. Specifically, if crossorigin is &quot;anonymous&quot; the original request is already stripped so the RequestResource created after the redirect does not allow cookies either. Analogously, if crossorigin is set to &quot;use-credentials&quot; none of the requests have the omit credentials flag set.

&gt; &gt; LayoutTests/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:1
&gt; &gt; -CONSOLE MESSAGE: line 2: Unsafe attempt to load URL http://localhost:8000/security/resources/forbidden-stylesheet.xsl from frame with URL http://127.0.0.1:8000/security/resources/cross-origin-xsl.xml. Domains, protocols and ports must match.
&gt; &gt; +CONSOLE MESSAGE: Unsafe attempt to load URL http://localhost:8000/security/resources/forbidden-stylesheet.xsl from frame with URL http://127.0.0.1:8000/security/resources/cross-origin-xsl-BLOCKED.xml. Domains, protocols and ports must match.
&gt;
&gt; Why are we losing the line number?

The line was shown because the document was still being parsed when the loading stopped and the message was logged. As the code in CachedResourceLoader::canRequest() has been removed, the message is added after parsing finishes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855496</commentid>
    <comment_count>22</comment_count>
      <attachid>193186</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-03-14 14:43:11 -0700</bug_when>
    <thetext>Created attachment 193186
Do not touch SubresourceLoader</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868233</commentid>
    <comment_count>23</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-04-02 14:07:11 -0700</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876102</commentid>
    <comment_count>24</comment_count>
      <attachid>193186</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-04-15 15:57:54 -0700</bug_when>
    <thetext>Comment on attachment 193186
Do not touch SubresourceLoader

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

&gt; Source/WebCore/dom/ProcessingInstruction.cpp:244
&gt; +    if (!document()-&gt;securityOrigin()-&gt;canRequest(response.url())
&gt; +        &amp;&amp; !passesAccessControlCheck(response, DoNotAllowStoredCredentials, document()-&gt;securityOrigin(), errorDescription)) {

It feels strange to see an access check here, this is not loading code. I think that this may be too late.

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:238
&gt; +    if (!sameOriginRequest)
&gt; +        updateRequestForAccessControl(request.mutableResourceRequest(), m_document-&gt;securityOrigin(), DoNotAllowStoredCredentials);

I think that this is insufficient to make the request anonymous. ResourceHandleClient should return false from shouldUseCredentialStorage() to prevent ResourceHandle from using credentials stored in Keychain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976992</commentid>
    <comment_count>25</comment_count>
      <attachid>193186</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-05 11:20:23 -0800</bug_when>
    <thetext>Comment on attachment 193186
Do not touch SubresourceLoader

Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599572</commentid>
    <comment_count>26</comment_count>
    <who name="">alexbuzzbee</who>
    <bug_when>2019-12-17 14:52:49 -0800</bug_when>
    <thetext>This bug still appears to be unfixed, at least in current iOS WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1955199</commentid>
    <comment_count>27</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2023-05-12 23:50:30 -0700</bug_when>
    <thetext>I don&apos;t think we should add support for this unless it&apos;s properly standardized. Only Gecko supports this at the moment after all.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191504</attachid>
            <date>2013-03-05 08:56:55 -0800</date>
            <delta_ts>2013-03-06 09:30:10 -0800</delta_ts>
            <desc>First attempt</desc>
            <filename>bug-110880-20130305185301.patch</filename>
            <type>text/plain</type>
            <size>30962</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDYyNTY2ODhhNzQ1NDFi
MjZmNzhmYTRmMjU1YjU5NmQ3YThkZGZjZi4uNjZjMjljZWQzMDhkZDFkOTE0ZDRmNzIzNmE1Yzkw
YzVkZDlkZmJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTAzLTA1ICBSYXBo
YWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisg
ICAgICAgIENyb3NzLW9yaWdpbiBYU0xUIHJlcXVlc3RzIHdpdGggQ09SUyBzaG91bGQgYmUgYWxs
b3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEw
ODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5z
dGVhZCBvZiBjb21wbGV0ZWx5IGZvcmJpZGRpbmcgY3Jvc3Mtb3JpZ2luIFhTTCByZXF1ZXN0cywg
bWFrZQorICAgICAgICBhbm9ueW1vdXMgcmVxdWVzdHMgYW5kIGFjY2VwdCB0aGUgcmVzcG9uc2Ug
aWYgdGhlIHNlcnZlciBzZW5kcyB0aGUKKyAgICAgICAgYXBwcm9wcmlhdGUgQ09SUyBoZWFkZXJz
LiBUaGlzIG1hdGNoZXMgR2Vja28ncyBiZWhhdmlvci4KKworICAgICAgICBUZXN0czogaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0Lmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC5odG1sCisKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkU3R5bGVTaGVldENsaWVudDo6c2V0WFNMU3R5bGVTaGVldCk6IENoYW5nZSBzaWdu
YXR1cmU7CisgICAgICAgIGluc3RlYWQgb2YgcGFzc2luZyBhIGJhc2VVUkwsIHNlbmQgdGhlIHdo
b2xlIFJlc291cmNlUmVzcG9uc2Ugc28gdGhhdAorICAgICAgICBpbnRlcmVzdGVkIGNsaWVudHMg
Y2FuIGNoZWNrIHRoZSByZXNwb25zZSdzIGhlYWRlcnMuCisgICAgICAgICogZG9tL1Byb2Nlc3Np
bmdJbnN0cnVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b246OnNldFhTTFN0eWxlU2hlZXQpOiBDaGVjayBpZiB0aGUgZmluYWwKKyAgICAgICAgcmVzcG9u
c2UgcGFzc2VzIHRoZSBDT1JTIGNoZWNrcyBhbmQgYWNjZXB0IGl0IGlmIGl0IGRvZXMuCisgICAg
ICAgICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oOgorICAgICAgICAoUHJvY2Vzc2luZ0lu
c3RydWN0aW9uKTogQWRhcHQgdG8gdGhlIG5ldyBzZXRYU0xTdHlsZVNoZWV0IHNpZ25hdHVyZS4K
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRYU0xTdHlsZVNoZWV0OjpkaWRBZGRDbGllbnQpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFhTTFN0eWxlU2hlZXQ6OmNoZWNrTm90aWZ5KTogRGl0dG8u
CisgICAgICAgICogeG1sL1hTTEltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNM
SW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldCk6IERpdHRvLgorICAgICAgICAqIHhtbC9YU0xJ
bXBvcnRSdWxlLmg6CisgICAgICAgIChYU0xJbXBvcnRSdWxlKTogRGl0dG8uCisKKyAgICAgICAg
KiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVz
b3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCk6IEFub25pbWl6ZSByZWRpcmVjdGVkCisgICAg
ICAgIHJlcXVlc3RzIGlmIHRoZXkgYXJlIHNlbnQgdG8gYSBkaWZmZXJlbnQgb3JpZ2luLgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQpOiBBbm9u
aW1pemUKKyAgICAgICAgcmVxdWVzdHMgaWYgdGhleSBhcmUgc2VudCB0byBhIGRpZmZlcmVudCBv
cmlnaW4uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVz
dCk6IERvIG5vdCBpbW1lZGlhdGVseSBibG9jaworICAgICAgICBjcm9zcy1vcmlnaW4gWFNMIHJl
cXVlc3RzLgorCiAyMDEzLTAzLTA1ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBmb2xsb3ctdXAgdG8gcjE0NDc1NiwgZml4IGJyb2tl
biBpbnNwZWN0b3ItbGVzcyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5jcHAKaW5kZXggZWMxNzMzYzc0NDg5NTI2ZGY2NWNlMGY0MWIzYjY4NzcxMWQ0
M2ZjZC4uYjliNzI2YjI3OTUwM2M5NzFiNzczNzliOWM0ZWMzZDdjMTI2ODgzZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKQEAgLTI2LDYgKzI2LDcg
QEAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkNhY2hlZFJl
c291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIkNhY2hlZFhTTFN0eWxlU2hlZXQuaCIKKyNpbmNs
dWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkRvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCkBAIC0zNCw2ICszNSw3IEBACiAjaW5jbHVkZSAiWFNMU3R5bGVTaGVldC5o
IgogI2luY2x1ZGUgIlhNTERvY3VtZW50UGFyc2VyLmgiIC8vIGZvciBwYXJzZUF0dHJpYnV0ZXMo
KQogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAj
aW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTIzMywxMCArMjM1LDE4IEBAIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpzZXRDU1NTdHls
ZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzCiB9CiAKICNpZiBFTkFC
TEUoWFNMVCkKLXZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpzZXRYU0xTdHlsZVNoZWV0KGNv
bnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiBzaGVl
dCkKK3ZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0
cmluZyYgaHJlZiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFN0cmlu
ZyYgc2hlZXQpCiB7CiAgICAgQVNTRVJUKG1faXNYU0wpOwotICAgIG1fc2hlZXQgPSBYU0xTdHls
ZVNoZWV0OjpjcmVhdGUodGhpcywgaHJlZiwgYmFzZVVSTCk7CisKKyAgICBTdHJpbmcgZXJyb3JE
ZXNjcmlwdGlvbjsKKyAgICBpZiAoIWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhblJl
cXVlc3QocmVzcG9uc2UudXJsKCkpCisgICAgICAgICYmICFwYXNzZXNBY2Nlc3NDb250cm9sQ2hl
Y2socmVzcG9uc2UsIERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFscywgZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKSwgZXJyb3JEZXNjcmlwdGlvbikpIHsKKyAgICAgICAgZG9jdW1lbnQoKS0+
Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cHJpbnRBY2Nlc3NEZW5pZWRNZXNzYWdlKHJlc3BvbnNl
LnVybCgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fc2hlZXQgPSBYU0xTdHls
ZVNoZWV0OjpjcmVhdGUodGhpcywgaHJlZiwgcmVzcG9uc2UudXJsKCkpOwogICAgIHBhcnNlU3R5
bGVTaGVldChzaGVldCk7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24uaAppbmRleCBlMzMxZTIxZGZlNWUzY2Q5NmNiMmZlNjI3ZmUwM2QxNDdiOGI0
YjYxLi5hNDlhOGZiMTI1ZTFlMTQzYzY0N2MzNjBlNTJmNWRlYWM5ZjRiNmZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oCkBAIC03MCw3ICs3MCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBjaGVja1N0eWxlU2hlZXQoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
Q1NTU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IEtVUkwmIGJhc2VVUkwsIGNv
bnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQ2FjaGVkQ1NTU3R5bGVTaGVldCopOwogI2lmIEVO
QUJMRShYU0xUKQotICAgIHZpcnR1YWwgdm9pZCBzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmlu
ZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiBzaGVldCk7CisgICAg
dmlydHVhbCB2b2lkIHNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBocmVmLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU3RyaW5nJiBzaGVldCk7CiAjZW5kaWYKIAogICAgIGJv
b2wgaXNMb2FkaW5nKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
U3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNl
TG9hZGVyLmNwcAppbmRleCA2OTJiYjk3OGQ2ZjAyNGUxNzU2ZTIyNjBhNTE2YzIwZDFhNzgzMWRj
Li4zODk5MTM0NzEzNGY3YzgyNWM5MDYwMzc3ZjlhYTVhOWE1OGVlNDc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNp
bmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuaCIKKyNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKQEAgLTE0MSw2ICsxNDIsOCBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2Vu
ZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdQogICAgICAg
ICAgICAgY2FuY2VsKCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KKyAgICAgICAg
aWYgKG1fcmVzb3VyY2UtPnR5cGUoKSA9PSBDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVTaGVldCAm
JiAhbV9kb2N1bWVudExvYWRlci0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuUmVx
dWVzdChuZXdSZXF1ZXN0LnVybCgpKSkKKyAgICAgICAgICAgIHVwZGF0ZVJlcXVlc3RGb3JBY2Nl
c3NDb250cm9sKG5ld1JlcXVlc3QsIG1fZG9jdW1lbnRMb2FkZXItPmRvY3VtZW50KCktPnNlY3Vy
aXR5T3JpZ2luKCksIERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFscyk7CiAgICAgICAgIG1fcmVz
b3VyY2UtPndpbGxTZW5kUmVxdWVzdChuZXdSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCmluZGV4IDM1NjBlOTIyODBlZGI3OGMyOGY3NDUyMDMwYjcxN2NmNDVjY2I3
NzcuLjM5N2QwYzFiYmIyNmQyYmZiMzkxOTg2ZGQ1N2ZkMzFiNzk5Njk5MzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApA
QCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkNhY2hlZFhTTFN0eWxlU2hlZXQuaCIKICNpbmNs
dWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCisjaW5j
bHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93Lmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgpAQCAt
MjMwLDYgKzIzMSwxMiBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IENhY2hl
ZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0U2NyaXB0KENhY2hlZFJlcwogI2lmIEVOQUJMRShYU0xU
KQogQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkWFNMU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RYU0xTdHlsZVNoZWV0KENhY2hlZFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCkKIHsKKyAgICBLVVJMIHJlcXVlc3RVUkwgPSByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgp
LnVybCgpOworICAgIGJvb2wgc2FtZU9yaWdpblJlcXVlc3QgPSBtX2RvY3VtZW50LT5zZWN1cml0
eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHJlcXVlc3RVUkwpOworCisgICAgaWYgKCFzYW1lT3JpZ2lu
UmVxdWVzdCkKKyAgICAgICAgdXBkYXRlUmVxdWVzdEZvckFjY2Vzc0NvbnRyb2wocmVxdWVzdC5t
dXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCksIG1fZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCksIERv
Tm90QWxsb3dTdG9yZWRDcmVkZW50aWFscyk7CisKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2Fj
aGVkWFNMU3R5bGVTaGVldCo+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6WFNMU3R5
bGVTaGVldCwgcmVxdWVzdCkuZ2V0KCkpOwogfQogI2VuZGlmCkBAIC0zMzcsMjAgKzM0NCwyMCBA
QCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpU
eXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpTaGFkZXJSZXNvdXJjZToKICNlbmRpZgorI2lmIEVOQUJMRShY
U0xUKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQ6CisjZW5kaWYKICAg
ICAgICAgLy8gVGhlc2UgdHlwZXMgb2YgcmVzb3VyY2VzIGNhbiBiZSBsb2FkZWQgZnJvbSBhbnkg
b3JpZ2luLgogICAgICAgICAvLyBGSVhNRTogQXJlIHdlIHN1cmUgYWJvdXQgQ2FjaGVkUmVzb3Vy
Y2U6OkZvbnRSZXNvdXJjZT8KICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKFNWRykKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpTVkdEb2N1bWVudFJlc291cmNlOgotI2VuZGlmCi0jaWYgRU5B
QkxFKFhTTFQpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVTaGVldDoKICAgICAg
ICAgaWYgKCFtX2RvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHVybCkpIHsK
ICAgICAgICAgICAgIHByaW50QWNjZXNzRGVuaWVkTWVzc2FnZSh1cmwpOwogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICB9Ci0jZW5kaWYKICAgICAgICAgYnJlYWs7CisjZW5kaWYK
ICAgICB9CiAKICAgICBzd2l0Y2ggKHR5cGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRTdHlsZVNoZWV0Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oCmluZGV4IDRjODc1MzA4YWI4YjRk
YmU5ZTA4YTY2NzEwYmYxZjg5OWVhNTQxYWQuLmZjZmNmNDU2YTcxMjkxMjg3YjgxOTUzYTMzZjRi
Y2VhZmNkYTFjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRTdHlsZVNoZWV0Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFN0eWxlU2hlZXRDbGllbnQuaApAQCAtMzEsNiArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBDYWNoZWRDU1NTdHlsZVNoZWV0OworY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZTsKIAogY2xhc3MgQ2FjaGVkU3R5bGVTaGVldENsaWVudCA6IHB1YmxpYyBDYWNoZWRSZXNvdXJj
ZUNsaWVudCB7CiBwdWJsaWM6CkBAIC0zOCw3ICszOSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
Q2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIGV4cGVjdGVkVHlwZSgpIHsgcmV0dXJuIFN0eWxlU2hl
ZXRUeXBlOyB9CiAgICAgdmlydHVhbCBDYWNoZWRSZXNvdXJjZUNsaWVudFR5cGUgcmVzb3VyY2VD
bGllbnRUeXBlKCkgY29uc3QgeyByZXR1cm4gZXhwZWN0ZWRUeXBlKCk7IH0KICAgICB2aXJ0dWFs
IHZvaWQgc2V0Q1NTU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIC8qIGhyZWYgKi8sIGNvbnN0IEtV
UkwmIC8qIGJhc2VVUkwgKi8sIGNvbnN0IFN0cmluZyYgLyogY2hhcnNldCAqLywgY29uc3QgQ2Fj
aGVkQ1NTU3R5bGVTaGVldCopIHsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRYU0xTdHlsZVNoZWV0
KGNvbnN0IFN0cmluZyYgLyogaHJlZiAqLywgY29uc3QgS1VSTCYgLyogYmFzZVVSTCAqLywgY29u
c3QgU3RyaW5nJiAvKiBzaGVldCAqLykgeyB9CisgICAgdmlydHVhbCB2b2lkIHNldFhTTFN0eWxl
U2hlZXQoY29uc3QgU3RyaW5nJiAvKiBocmVmICovLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwg
Y29uc3QgU3RyaW5nJiAvKiBzaGVldCAqLykgeyB9CiB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAKaW5kZXggNmQzOWRj
ZTJhNmVkYTdkMDU5MzYzNDZjYjJiYjgzYzFiZmY5NGZlYi4uYzRhNWI5MmI1NGM5OTZmNjM2NTQw
OWUxMDg1MGYzZDQ1N2NjNDlmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFhTTFN0eWxlU2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcApAQCAtNTEsNyArNTEsNyBAQCB2b2lkIENhY2hl
ZFhTTFN0eWxlU2hlZXQ6OmRpZEFkZENsaWVudChDYWNoZWRSZXNvdXJjZUNsaWVudCogYykKIHsg
IAogICAgIEFTU0VSVChjLT5yZXNvdXJjZUNsaWVudFR5cGUoKSA9PSBDYWNoZWRTdHlsZVNoZWV0
Q2xpZW50OjpleHBlY3RlZFR5cGUoKSk7CiAgICAgaWYgKCFpc0xvYWRpbmcoKSkKLSAgICAgICAg
c3RhdGljX2Nhc3Q8Q2FjaGVkU3R5bGVTaGVldENsaWVudCo+KGMpLT5zZXRYU0xTdHlsZVNoZWV0
KG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBtX3Jlc3BvbnNlLnVybCgpLCBtX3NoZWV0KTsKKyAg
ICAgICAgc3RhdGljX2Nhc3Q8Q2FjaGVkU3R5bGVTaGVldENsaWVudCo+KGMpLT5zZXRYU0xTdHls
ZVNoZWV0KG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBtX3Jlc3BvbnNlLCBtX3NoZWV0KTsKIH0K
IAogdm9pZCBDYWNoZWRYU0xTdHlsZVNoZWV0OjpzZXRFbmNvZGluZyhjb25zdCBTdHJpbmcmIGNo
cykKQEAgLTgzLDEwICs4MywxMCBAQCB2b2lkIENhY2hlZFhTTFN0eWxlU2hlZXQ6OmNoZWNrTm90
aWZ5KCkKIHsKICAgICBpZiAoaXNMb2FkaW5nKCkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwog
ICAgIENhY2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyPENhY2hlZFN0eWxlU2hlZXRDbGllbnQ+IHco
bV9jbGllbnRzKTsKICAgICB3aGlsZSAoQ2FjaGVkU3R5bGVTaGVldENsaWVudCogYyA9IHcubmV4
dCgpKQotICAgICAgICBjLT5zZXRYU0xTdHlsZVNoZWV0KG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgp
LCBtX3Jlc3BvbnNlLnVybCgpLCBtX3NoZWV0KTsKKyAgICAgICAgYy0+c2V0WFNMU3R5bGVTaGVl
dChtX3Jlc291cmNlUmVxdWVzdC51cmwoKSwgbV9yZXNwb25zZSwgbV9zaGVldCk7CiB9CiAKIHZv
aWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3ht
bC9YU0xJbXBvcnRSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmNw
cAppbmRleCBlNjI5NTllOTliMGQwZGUzN2Q4NmQ1NTU1N2M5Njk4Y2U5ODM4MTM4Li5jN2VjZTYw
N2U5ZjRiNTY1MTMxYzRmMzMzNmRmMzc5MjA4NDdiYzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFNMSW1wb3J0UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTElt
cG9ydFJ1bGUuY3BwCkBAIC00OSwxMiArNDksMTIgQEAgWFNMSW1wb3J0UnVsZTo6flhTTEltcG9y
dFJ1bGUoKQogICAgICAgICBtX2NhY2hlZFNoZWV0LT5yZW1vdmVDbGllbnQodGhpcyk7CiB9CiAK
LXZvaWQgWFNMSW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIGhyZWYs
IGNvbnN0IEtVUkwmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgc2hlZXQpCit2b2lkIFhTTEltcG9y
dFJ1bGU6OnNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBocmVmLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgU3RyaW5nJiBzaGVldCkKIHsKICAgICBpZiAobV9z
dHlsZVNoZWV0KQogICAgICAgICBtX3N0eWxlU2hlZXQtPnNldFBhcmVudFN0eWxlU2hlZXQoMCk7
CiAKLSAgICBtX3N0eWxlU2hlZXQgPSBYU0xTdHlsZVNoZWV0OjpjcmVhdGUodGhpcywgaHJlZiwg
YmFzZVVSTCk7CisgICAgbV9zdHlsZVNoZWV0ID0gWFNMU3R5bGVTaGVldDo6Y3JlYXRlKHRoaXMs
IGhyZWYsIHJlc3BvbnNlLnVybCgpKTsKIAogICAgIFhTTFN0eWxlU2hlZXQqIHBhcmVudCA9IHBh
cmVudFN0eWxlU2hlZXQoKTsKICAgICBpZiAocGFyZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRS
dWxlLmgKaW5kZXggMzUwY2RkOWIxNjUzNGI2MTdmMDYyNzYyOTNjNDc0MGUyY2Y2YjE5ZS4uY2I3
MTIwNDk4YjgyNjU1Njg3Y2I2NTdiMzM4NDcwY2FkYzhkMGZlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNM
SW1wb3J0UnVsZS5oCkBAIC01Niw3ICs1Niw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgWFNM
SW1wb3J0UnVsZShYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVm
KTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJl
ZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiBzaGVldCk7CisgICAgdmlydHVh
bCB2b2lkIHNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBocmVmLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiwgY29uc3QgU3RyaW5nJiBzaGVldCk7CiAgICAgCiAgICAgWFNMU3R5bGVTaGVl
dCogbV9wYXJlbnRTdHlsZVNoZWV0OwogICAgIFN0cmluZyBtX3N0ckhyZWY7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWQ2
YjhiZmFlNDJmM2I4MzAyODE4MThjYjVkYzRlM2RhMWRkNGVmYi4uZjJlZTBkYjIzMWZkNWQzZjMx
OWM2NTEzODNiYTg5ODIwMzBlZWFmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTAzLTA1
ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29t
PgorCisgICAgICAgIENyb3NzLW9yaWdpbiBYU0xUIHJlcXVlc3RzIHdpdGggQ09SUyBzaG91bGQg
YmUgYWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTEwODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVuYW1lIGV4aXN0aW5nIGNyb3NzLW9yaWdpbiBYU0wgdGVzdHMgdG8gc2hvdyBtb3JlIGNs
ZWFybHkgdGhhdCB0aGV5CisgICAgICAgIGFyZSBzdXBwb3NlZCB0byBibG9jayB0aGUgcmVxdWVz
dHMsIHdoZXJlYXMgdGhlIG5ld2x5LWFkZGVkIHRlc3RzIGNoZWNrCisgICAgICAgIHRoZSBvcHBv
c2l0ZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1C
TE9DS0VELWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi14c2wtQkxPQ0tFRC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLXhzbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJl
Y3QtQkxPQ0tFRC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3Jp
Z2luLXhzbC1yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3Qt
QkxPQ0tFRC5odG1sLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LXhzbC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi14c2wtQkxPQ0tFRC5odG1sLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC54bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wu
eG1sLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdp
bi14c2wtcmVkaXJlY3QtQkxPQ0tFRC54bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QueG1sLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wt
cmVkaXJlY3QueG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Ny
b3NzLW9yaWdpbi14c2wucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnhtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS1tYWMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJM
T0NLRUQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLXdpbi9odHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dDoKKwogMjAxMy0wMy0wNSAg
TWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wcm92ZSByb2J1c3Ru
ZXNzIG9mIFdlYlNRTCBxdW90YSBtYW5hZ2VtZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NL
RUQtZXhwZWN0ZWQudHh0CmluZGV4IDA1NzFjMjE2NWNkYzExNWI5ODQxNTU5MGE4Y2VjYWYzNmU1
YTc0ZmYuLjY0ZjBhNzgwOGM4OTdlMzI2NmJjNTBkMzFmNmMzYzJkNjY5YTk5OWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9D
S0VELWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjogVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVldC54c2wg
ZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3Vy
Y2VzL2Nyb3NzLW9yaWdpbi14c2wueG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11
c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjogVW5zYWZlIGF0dGVtcHQgdG8gbG9h
ZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRkZW4t
c3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
c2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC54bWwuIERvbWFpbnMs
IHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KIAogVGhpcyB0ZXN0IGxvYWRzIHRoZSBY
TUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2FuIGNhbGwgZHVtcEFzVGV4dCgp
LiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFpbiBh
IG1lc3NhZ2Ugc3RhcnRpbmcgd2l0aCAiRkFJTCIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC5odG1s
CmluZGV4IGQzODA1OTBkYzJjMWNjZGEwMTAwNDE0MjdlZWI1YTNiYjMwMDczNzUuLjljMDY2YzBi
YWVhNzMwNTBlMmNiMjljYTYzZTUwMTAxOGVlOTRjY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQu
aHRtbApAQCAtMTcsNiArMTcsNiBAQCBmdW5jdGlvbiBkb25lKCkgewogPGRpdj5UaGlzIHRlc3Qg
bG9hZHMgdGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbAog
ZHVtcEFzVGV4dCgpLiAgVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMg
bm90IGNvbnRhaW4gYSBtZXNzYWdlCiBzdGFydGluZyB3aXRoICJGQUlMIi48L2Rpdj4KLTxpZnJh
bWUgb25sb2FkPSJkb25lKCkiIHNyYz0icmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wueG1sIj48
L2lmcmFtZT4KKzxpZnJhbWUgb25sb2FkPSJkb25lKCkiIHNyYz0icmVzb3VyY2VzL2Nyb3NzLW9y
aWdpbi14c2wtQkxPQ0tFRC54bWwiPjwvaWZyYW1lPgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LXhzbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODZkMDUxNjc4MTQyNWQ5MGIxNmVhNzgwMDI4
ODMyNzdhY2VjNzYyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitU
aGlzIHRlc3QgbG9hZHMgdGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBj
YW4gY2FsbCBkdW1wQXNUZXh0KCkuIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxv
dyBkb2VzIG5vdCBjb250YWluIGEgbWVzc2FnZSBzdGFydGluZyB3aXRoICJGQUlMIi4KKworCist
LS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKKy0tLS0t
LS0tCitQQVNTOiBDcm9zcy1vcmlnaW4gWE1MIHN0eWxlc2hlZXQgd2FzIGxvYWRlZC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1y
ZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dAppbmRl
eCA0NzhlMThlMzFiNzE3YzkwZjFkNTdlZjk3M2RhY2VmNmZjYjg3MmVjLi5iNzI3NzZhN2UzZDgy
NzAwY2M4OTRkMmY5NDQ0MGVhY2RhNGFjMzc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
eHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09M
RSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0Ojgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1l
IHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mt
b3JpZ2luLXhzbC1yZWRpcmVjdC54bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVz
dCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0
cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVl
dC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkv
cmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC54bWwuIERvbWFpbnMs
IHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KIAogVGhpcyB0ZXN0IGxvYWRzIHRoZSBY
TUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2FuIGNhbGwgZHVtcEFzVGV4dCgp
LiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFpbiBh
IG1lc3NhZ2Ugc3RhcnRpbmcgd2l0aCAiRkFJTCIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVk
aXJlY3QtQkxPQ0tFRC5odG1sCmluZGV4IDNhMGNmZjI4ZmZiYzgyYjY0ZjEwZGQwZjE5MDcxZDE4
ZTk0N2FlNGYuLjQ1NWQ1NGI2NjM4OWYzMDZlZGJhYzY0NmUzNzJlZGZhYTFmMjJhYTMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1y
ZWRpcmVjdC1CTE9DS0VELmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQuaHRtbApAQCAtMTcsNiArMTcsNiBA
QCBmdW5jdGlvbiBkb25lKCkgewogPGRpdj5UaGlzIHRlc3QgbG9hZHMgdGhlIFhNTCBkb2N1bWVu
dCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbAogZHVtcEFzVGV4dCgpLiAgVGhpcyB0
ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMgbm90IGNvbnRhaW4gYSBtZXNzYWdl
CiBzdGFydGluZyB3aXRoICJGQUlMIi48L2Rpdj4KLTxpZnJhbWUgb25sb2FkPSJkb25lKCkiIHNy
Yz0icmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QueG1sIj48L2lmcmFtZT4KKzxp
ZnJhbWUgb25sb2FkPSJkb25lKCkiIHNyYz0icmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVk
aXJlY3QtQkxPQ0tFRC54bWwiPjwvaWZyYW1lPgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGly
ZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLXhzbC1yZWRpcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODZkMDUxNjc4MTQy
NWQ5MGIxNmVhNzgwMDI4ODMyNzdhY2VjNzYyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw3IEBACitUaGlzIHRlc3QgbG9hZHMgdGhlIFhNTCBkb2N1bWVudCBp
biBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbCBkdW1wQXNUZXh0KCkuIFRoaXMgdGVzdCBw
YXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250YWluIGEgbWVzc2FnZSBzdGFy
dGluZyB3aXRoICJGQUlMIi4KKworCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8v
PCEtLWZyYW1lMC0tPi0tPicKKy0tLS0tLS0tCitQQVNTOiBDcm9zcy1vcmlnaW4gWE1MIHN0eWxl
c2hlZXQgd2FzIGxvYWRlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2EwY2ZmMjhmZmJjODJiNjRmMTBkZDBmMTkwNzFkMThlOTQ3YWU0ZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRp
cmVjdC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICB0ZXN0
UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKK30KKworZnVuY3Rpb24gZG9uZSgpIHsKKyAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+VGhpcyB0ZXN0IGxvYWRzIHRoZSBYTUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNv
IHRoYXQgaXQgY2FuIGNhbGwKK2R1bXBBc1RleHQoKS4gIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhl
IGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250YWluIGEgbWVzc2FnZQorc3RhcnRpbmcgd2l0aCAi
RkFJTCIuPC9kaXY+Cis8aWZyYW1lIG9ubG9hZD0iZG9uZSgpIiBzcmM9InJlc291cmNlcy9jcm9z
cy1vcmlnaW4teHNsLXJlZGlyZWN0LnhtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14
c2wuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhz
bC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQzODA1OTBkYzJjMWNjZGEwMTAwNDE0MjdlZWI1YTNiYjMwMDcz
NzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi14c2wuaHRtbApAQCAtMCwwICsxLDIyIEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKyAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGRvbmUoKSB7CisgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCBsb2FkcyB0aGUgWE1MIGRvY3VtZW50IGluIGFu
IGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxsCitkdW1wQXNUZXh0KCkuICBUaGlzIHRlc3QgcGFz
c2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFpbiBhIG1lc3NhZ2UKK3N0YXJ0
aW5nIHdpdGggIkZBSUwiLjwvZGl2PgorPGlmcmFtZSBvbmxvYWQ9ImRvbmUoKSIgc3JjPSJyZXNv
dXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jv
c3Mtb3JpZ2luLXhzbC1CTE9DS0VELnhtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC54bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWFj
YzZjMzFkMzZiZGVmNWE5YzlmY2QxYzY5OWUwNDA3ZWU5YjQyNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14
c2wtQkxPQ0tFRC54bWwKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KKzw/eG1sLXN0eWxlc2hlZXQgdHlwZT0idGV4dC94c2wiIGhyZWY9Imh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hl
ZXQueHNsIj8+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8
Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworPC9zY3JpcHQ+CitQQVNTOiBGb3JiaWRkZW4gWE1MIHN0eWxlc2hlZXQgZGlk
IG5vdCBydW4uCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NL
RUQueG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mt
b3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWJhNWVhYmFlMjU4
Y2M0OTQ1Yzg3ODRmMGM2ZTgxZTQwNDYwYjc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVj
dC1CTE9DS0VELnhtbApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0iaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9yZWRpci5waHA/dXJsPWh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQu
eHNsIj8+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8Ym9k
eT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworPC9zY3JpcHQ+CitQQVNTOiBGb3JiaWRkZW4gWE1MIHN0eWxlc2hlZXQgZGlkIG5v
dCBydW4uCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LnhtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wt
cmVkaXJlY3QueG1sCmluZGV4IGQxYmE1ZWFiYWUyNThjYzQ5NDVjODc4NGYwYzZlODFlNDA0NjBi
NzUuLjkxNWNiMTBlMTNiM2ZmMDM5MmU4MjhkNDhiZTM1Y2NlYmFiODRiYzYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14
c2wtcmVkaXJlY3QueG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVz
b3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QueG1sCkBAIC0xLDExICsxLDExIEBACiA8
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPD94bWwtc3R5bGVzaGVldCB0
eXBlPSJ0ZXh0L3hzbCIgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291
cmNlcy9yZWRpci5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJj
ZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIj8+Cis8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRl
eHQveHNsIiBocmVmPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3Jl
ZGlyLnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9z
cy1vcmlnaW4teHNsLnBocCI/PgogPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkv
eGh0bWwiPgogPGJvZHk+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgotUEFTUzogRm9yYmlkZGVuIFhNTCBzdHls
ZXNoZWV0IGRpZCBub3QgcnVuLgorRkFJTDogQ3Jvc3Mtb3JpZ2luIFhNTCBzdHlsZXNoZWV0IHdh
cyBub3QgbG9hZGVkLgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC5waHAgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnBo
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zMzQxOTRlN2RiNDNiZTNmNzAxNDViODZjMzNhYzUzZjQ4NWVjNWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJj
ZXMvY3Jvc3Mtb3JpZ2luLXhzbC5waHAKQEAgLTAsMCArMSwxOSBAQAorPD9waHAKK2hlYWRlcigi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiAqIik7CitoZWFkZXIoIkNvbnRlbnQtVHlwZTog
dGV4dC94c2wiKTsKKworZWNobyAnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4nOworPz4KKzx4c2w6c3R5bGVzaGVldCB2ZXJzaW9uPSIxLjAiIHhtbG5zOnhzbD0iaHR0cDov
L3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIj4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9Iioi
PgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+CitQQVNTOiBDcm9zcy1vcmlnaW4gWE1M
IHN0eWxlc2hlZXQgd2FzIGxvYWRlZC4KKzwvYm9keT4KKzwvaHRtbD4KKzwveHNsOnRlbXBsYXRl
PgorPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wueG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWwKaW5kZXggZWFj
YzZjMzFkMzZiZGVmNWE5YzlmY2QxYzY5OWUwNDA3ZWU5YjQyNy4uOTY5NzAwNTgxZWNhOThjMzFh
YTU4MTlmYzM0MWQ2ZTlmMWI2OGM1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWwKQEAg
LTEsMTEgKzEsMTEgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08
P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQveHNsIiBocmVmPSJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHlsZXNoZWV0LnhzbCI/PgorPD94bWwt
c3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Nl
Y3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnBocCI/PgogPGh0bWwgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgogPGJvZHk+CiA8c2NyaXB0PgogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgotUEFT
UzogRm9yYmlkZGVuIFhNTCBzdHlsZXNoZWV0IGRpZCBub3QgcnVuLgorRkFJTDogQ3Jvc3Mtb3Jp
Z2luIFhNTCBzdHlsZXNoZWV0IHdhcyBub3QgbG9hZGVkLgogPC9ib2R5PgogPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQKaW5kZXggNzAyOTg1MTg0
YTFhNmZiZGJhZjA2ZDE0ZTM1MzI5ZmYwY2E0MmY4MC4uOGNhNWIzNjdmMmRmYzNmY2VlNTFlZGM1
YjQyNWQ0Yjc4Yjg5NzhmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0tbWFjL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9D
S0VELWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1w
dCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Zv
cmJpZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC54bWwu
IERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FH
RTogVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3Vy
aXR5L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVS
TCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14
c2wtcmVkaXJlY3QtQkxPQ0tFRC54bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVz
dCBtYXRjaC4KIAogVGhpcyB0ZXN0IGxvYWRzIHRoZSBYTUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1l
IHNvIHRoYXQgaXQgY2FuIGNhbGwgZHVtcEFzVGV4dCgpLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRo
ZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFpbiBhIG1lc3NhZ2Ugc3RhcnRpbmcgd2l0aCAi
RkFJTCIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDcwMjk4NTE4NGExYTZmYmRiYWYwNmQxNGUzNTMyOWZmMGNhNDJmODAuLjhjYTViMzY3ZjJk
ZmMzZmNlZTUxZWRjNWI0MjVkNGI3OGI4OTc4ZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLXdpbi9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wt
cmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0td2luL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVj
dC1CTE9DS0VELWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTog
VW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5
L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wt
cmVkaXJlY3QueG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitD
T05TT0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIGZyb20g
ZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9j
cm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQueG1sLiBEb21haW5zLCBwcm90b2NvbHMg
YW5kIHBvcnRzIG11c3QgbWF0Y2guCiAKIFRoaXMgdGVzdCBsb2FkcyB0aGUgWE1MIGRvY3VtZW50
IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxsIGR1bXBBc1RleHQoKS4gVGhpcyB0ZXN0
IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMgbm90IGNvbnRhaW4gYSBtZXNzYWdlIHN0
YXJ0aW5nIHdpdGggIkZBSUwiLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQKaW5kZXggNjM2OWEzMjJl
ZjUyOTMyNDFiOWY4NmM4MGQ0YTdiOTI0YzJkNDliZS4uOGQ0OTFkODlkYzMzNTE1MGVmNTYxZTJj
YmIyYjc4NzViNjc2ZDJkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCBodHRw
Oi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHlsZXNoZWV0
LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9y
ZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9y
dHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOiBVbnNhZmUgYXR0ZW1wdCB0
byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJp
ZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELnhtbC4gRG9t
YWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgogCiBUaGlzIHRlc3QgbG9hZHMg
dGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbCBkdW1wQXNU
ZXh0KCkuIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250
YWluIGEgbWVzc2FnZSBzdGFydGluZyB3aXRoICJGQUlMIi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1C
TE9DS0VELWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQKaW5kZXggN2Ri
ZmJiNmYyZDBlZjdhZDZlMDA2OWNlZGE3YjU0NmQ0MmViMTMzYi4uOGQ0ZmY1MjM1NmJkOWI0OGRl
MzM3MjY5ODU3OWNhZDlkNjI4MzQ4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDI6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNs
IGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291
cmNlcy9jcm9zcy1vcmlnaW4teHNsLnhtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBt
dXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI6IFVuc2FmZSBhdHRlbXB0IHRvIGxv
YWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVu
LXN0eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQueG1sLiBEb21haW5z
LCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCiAKIFRoaXMgdGVzdCBsb2FkcyB0aGUg
WE1MIGRvY3VtZW50IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxsIGR1bXBBc1RleHQo
KS4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMgbm90IGNvbnRhaW4g
YSBtZXNzYWdlIHN0YXJ0aW5nIHdpdGggIkZBSUwiLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGly
ZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVk
LnR4dAppbmRleCA4MzlmYzE3ZDU4ZGY4OTg5MTUxMDEyZDE1NGYyNGNlOGI2MDNkMDYxLi42NmZk
ZGViNjZiN2MzNjM1MWIzNWMxZGNmMTMyZGFmZTM0YzgyODM4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJl
ZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1l
eHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRl
bXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMv
Zm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4w
LjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0Lnht
bC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNT
QUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2Vj
dXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGgg
VVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2lu
LXhzbC1yZWRpcmVjdC1CTE9DS0VELnhtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBt
dXN0IG1hdGNoLgogCiBUaGlzIHRlc3QgbG9hZHMgdGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJh
bWUgc28gdGhhdCBpdCBjYW4gY2FsbCBkdW1wQXNUZXh0KCkuIFRoaXMgdGVzdCBwYXNzZXMgaWYg
dGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250YWluIGEgbWVzc2FnZSBzdGFydGluZyB3aXRo
ICJGQUlMIi4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191768</attachid>
            <date>2013-03-06 09:30:18 -0800</date>
            <delta_ts>2013-03-06 09:38:50 -0800</delta_ts>
            <desc>First attempt, fix test</desc>
            <filename>bug-110880-20130306192624.patch</filename>
            <type>text/plain</type>
            <size>31705</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0OTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGNjODg3NmRjMThmNWVm
ZjExYmM4YWI2YzBmYzIxMDY3YjZiNmIzZC4uOTQxZWNiNGI3YWJlMGM2ZWE2Zjg4YmQ5MWE0MGM2
NmQyYTI4YWQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTAzLTA1ICBSYXBo
YWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisg
ICAgICAgIENyb3NzLW9yaWdpbiBYU0xUIHJlcXVlc3RzIHdpdGggQ09SUyBzaG91bGQgYmUgYWxs
b3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEw
ODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5z
dGVhZCBvZiBjb21wbGV0ZWx5IGZvcmJpZGRpbmcgY3Jvc3Mtb3JpZ2luIFhTTCByZXF1ZXN0cywg
bWFrZQorICAgICAgICBhbm9ueW1vdXMgcmVxdWVzdHMgYW5kIGFjY2VwdCB0aGUgcmVzcG9uc2Ug
aWYgdGhlIHNlcnZlciBzZW5kcyB0aGUKKyAgICAgICAgYXBwcm9wcmlhdGUgQ09SUyBoZWFkZXJz
LiBUaGlzIG1hdGNoZXMgR2Vja28ncyBiZWhhdmlvci4KKworICAgICAgICBUZXN0czogaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0Lmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC5odG1sCisKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkU3R5bGVTaGVldENsaWVudDo6c2V0WFNMU3R5bGVTaGVldCk6IENoYW5nZSBzaWdu
YXR1cmU7CisgICAgICAgIGluc3RlYWQgb2YgcGFzc2luZyBhIGJhc2VVUkwsIHNlbmQgdGhlIHdo
b2xlIFJlc291cmNlUmVzcG9uc2Ugc28gdGhhdAorICAgICAgICBpbnRlcmVzdGVkIGNsaWVudHMg
Y2FuIGNoZWNrIHRoZSByZXNwb25zZSdzIGhlYWRlcnMuCisgICAgICAgICogZG9tL1Byb2Nlc3Np
bmdJbnN0cnVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b246OnNldFhTTFN0eWxlU2hlZXQpOiBDaGVjayBpZiB0aGUgZmluYWwKKyAgICAgICAgcmVzcG9u
c2UgcGFzc2VzIHRoZSBDT1JTIGNoZWNrcyBhbmQgYWNjZXB0IGl0IGlmIGl0IGRvZXMuCisgICAg
ICAgICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oOgorICAgICAgICAoUHJvY2Vzc2luZ0lu
c3RydWN0aW9uKTogQWRhcHQgdG8gdGhlIG5ldyBzZXRYU0xTdHlsZVNoZWV0IHNpZ25hdHVyZS4K
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRYU0xTdHlsZVNoZWV0OjpkaWRBZGRDbGllbnQpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFhTTFN0eWxlU2hlZXQ6OmNoZWNrTm90aWZ5KTogRGl0dG8u
CisgICAgICAgICogeG1sL1hTTEltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNM
SW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldCk6IERpdHRvLgorICAgICAgICAqIHhtbC9YU0xJ
bXBvcnRSdWxlLmg6CisgICAgICAgIChYU0xJbXBvcnRSdWxlKTogRGl0dG8uCisKKyAgICAgICAg
KiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVz
b3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCk6IEFub25pbWl6ZSByZWRpcmVjdGVkCisgICAg
ICAgIHJlcXVlc3RzIGlmIHRoZXkgYXJlIHNlbnQgdG8gYSBkaWZmZXJlbnQgb3JpZ2luLgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQpOiBBbm9u
aW1pemUKKyAgICAgICAgcmVxdWVzdHMgaWYgdGhleSBhcmUgc2VudCB0byBhIGRpZmZlcmVudCBv
cmlnaW4uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVz
dCk6IERvIG5vdCBpbW1lZGlhdGVseSBibG9jaworICAgICAgICBjcm9zcy1vcmlnaW4gWFNMIHJl
cXVlc3RzLgorCiAyMDEzLTAzLTA2ICBNYXJqYSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxNDQ2MTcpOiBXcm9uZyB1c2FnZSBvZiBvdmVyd3Jp
dHRlbiB2YXJpYWJsZSBpbiB0b0RPTVdpbmRvdyAoVjhCaW5kaW5nLmNwcCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKaW5kZXggZWMxNzMzYzc0NDg5NTI2
ZGY2NWNlMGY0MWIzYjY4NzcxMWQ0M2ZjZC4uYjliNzI2YjI3OTUwM2M5NzFiNzczNzliOWM0ZWMz
ZDdjMTI2ODgzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0
cnVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlv
bi5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5o
IgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIkNhY2hlZFhT
TFN0eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rp
b24uaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCkBAIC0zNCw2ICszNSw3IEBACiAjaW5j
bHVkZSAiWFNMU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIlhNTERvY3VtZW50UGFyc2VyLmgiIC8v
IGZvciBwYXJzZUF0dHJpYnV0ZXMoKQogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgorI2luY2x1ZGUg
IlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIzMywxMCArMjM1LDE4IEBAIHZvaWQgUHJvY2Vzc2luZ0lu
c3RydWN0aW9uOjpzZXRDU1NTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VS
TCYgYmFzCiB9CiAKICNpZiBFTkFCTEUoWFNMVCkKLXZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9u
OjpzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVS
TCwgY29uc3QgU3RyaW5nJiBzaGVldCkKK3ZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpzZXRY
U0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UsIGNvbnN0IFN0cmluZyYgc2hlZXQpCiB7CiAgICAgQVNTRVJUKG1faXNYU0wpOwot
ICAgIG1fc2hlZXQgPSBYU0xTdHlsZVNoZWV0OjpjcmVhdGUodGhpcywgaHJlZiwgYmFzZVVSTCk7
CisKKyAgICBTdHJpbmcgZXJyb3JEZXNjcmlwdGlvbjsKKyAgICBpZiAoIWRvY3VtZW50KCktPnNl
Y3VyaXR5T3JpZ2luKCktPmNhblJlcXVlc3QocmVzcG9uc2UudXJsKCkpCisgICAgICAgICYmICFw
YXNzZXNBY2Nlc3NDb250cm9sQ2hlY2socmVzcG9uc2UsIERvTm90QWxsb3dTdG9yZWRDcmVkZW50
aWFscywgZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgZXJyb3JEZXNjcmlwdGlvbikpIHsK
KyAgICAgICAgZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cHJpbnRBY2Nlc3NE
ZW5pZWRNZXNzYWdlKHJlc3BvbnNlLnVybCgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIG1fc2hlZXQgPSBYU0xTdHlsZVNoZWV0OjpjcmVhdGUodGhpcywgaHJlZiwgcmVzcG9uc2Uu
dXJsKCkpOwogICAgIHBhcnNlU3R5bGVTaGVldChzaGVldCk7CiB9CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaAppbmRleCBlMzMxZTIxZGZlNWUzY2Q5
NmNiMmZlNjI3ZmUwM2QxNDdiOGI0YjYxLi5hNDlhOGZiMTI1ZTFlMTQzYzY0N2MzNjBlNTJmNWRl
YWM5ZjRiNmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3Ry
dWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5o
CkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGVja1N0eWxlU2hlZXQoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0Q1NTU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIGhyZWYsIGNv
bnN0IEtVUkwmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQ2FjaGVkQ1NT
U3R5bGVTaGVldCopOwogI2lmIEVOQUJMRShYU0xUKQotICAgIHZpcnR1YWwgdm9pZCBzZXRYU0xT
dHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY29uc3Qg
U3RyaW5nJiBzaGVldCk7CisgICAgdmlydHVhbCB2b2lkIHNldFhTTFN0eWxlU2hlZXQoY29uc3Qg
U3RyaW5nJiBocmVmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU3RyaW5nJiBzaGVl
dCk7CiAjZW5kaWYKIAogICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCA2OTJiYjk3OGQ2ZjAyNGUxNzU2
ZTIyNjBhNTE2YzIwZDFhNzgzMWRjLi4zODk5MTM0NzEzNGY3YzgyNWM5MDYwMzc3ZjlhYTVhOWE1
OGVlNDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAK
QEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogCiAjaW5j
bHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKKyNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vz
c0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9h
ZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTE0MSw2ICsxNDIsOCBAQCB2b2lkIFN1YnJl
c291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0
LCBjb25zdCBSZXNvdQogICAgICAgICAgICAgY2FuY2VsKCk7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KKyAgICAgICAgaWYgKG1fcmVzb3VyY2UtPnR5cGUoKSA9PSBDYWNoZWRSZXNv
dXJjZTo6WFNMU3R5bGVTaGVldCAmJiAhbV9kb2N1bWVudExvYWRlci0+ZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKS0+Y2FuUmVxdWVzdChuZXdSZXF1ZXN0LnVybCgpKSkKKyAgICAgICAgICAg
IHVwZGF0ZVJlcXVlc3RGb3JBY2Nlc3NDb250cm9sKG5ld1JlcXVlc3QsIG1fZG9jdW1lbnRMb2Fk
ZXItPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIERvTm90QWxsb3dTdG9yZWRDcmVkZW50
aWFscyk7CiAgICAgICAgIG1fcmVzb3VyY2UtPndpbGxTZW5kUmVxdWVzdChuZXdSZXF1ZXN0LCBy
ZWRpcmVjdFJlc3BvbnNlKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDM1NjBlOTIyODBlZGI3OGMy
OGY3NDUyMDMwYjcxN2NmNDVjY2I3NzcuLjM5N2QwYzFiYmIyNmQyYmZiMzkxOTg2ZGQ1N2ZkMzFi
Nzk5Njk5MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkNhY2hlZFhT
TFN0eWxlU2hlZXQuaCIKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiQ29udGVudFNl
Y3VyaXR5UG9saWN5LmgiCisjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmgiCiAj
aW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJE
b2N1bWVudExvYWRlci5oIgpAQCAtMjMwLDYgKzIzMSwxMiBAQCBDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRTY3JpcHQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0U2NyaXB0KENhY2hl
ZFJlcwogI2lmIEVOQUJMRShYU0xUKQogQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkWFNMU3R5
bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RYU0xTdHlsZVNoZWV0KENhY2hl
ZFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKKyAgICBLVVJMIHJlcXVlc3RVUkwgPSByZXF1
ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpOworICAgIGJvb2wgc2FtZU9yaWdpblJlcXVlc3Qg
PSBtX2RvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHJlcXVlc3RVUkwpOwor
CisgICAgaWYgKCFzYW1lT3JpZ2luUmVxdWVzdCkKKyAgICAgICAgdXBkYXRlUmVxdWVzdEZvckFj
Y2Vzc0NvbnRyb2wocmVxdWVzdC5tdXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCksIG1fZG9jdW1lbnQt
PnNlY3VyaXR5T3JpZ2luKCksIERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFscyk7CisKICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkWFNMU3R5bGVTaGVldCo+KHJlcXVlc3RSZXNvdXJjZShD
YWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVTaGVldCwgcmVxdWVzdCkuZ2V0KCkpOwogfQogI2VuZGlm
CkBAIC0zMzcsMjAgKzM0NCwyMCBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1
ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybAogI2lmIEVOQUJM
RShDU1NfU0hBREVSUykKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTaGFkZXJSZXNvdXJjZToK
ICNlbmRpZgorI2lmIEVOQUJMRShYU0xUKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0
eWxlU2hlZXQ6CisjZW5kaWYKICAgICAgICAgLy8gVGhlc2UgdHlwZXMgb2YgcmVzb3VyY2VzIGNh
biBiZSBsb2FkZWQgZnJvbSBhbnkgb3JpZ2luLgogICAgICAgICAvLyBGSVhNRTogQXJlIHdlIHN1
cmUgYWJvdXQgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZT8KICAgICAgICAgYnJlYWs7CiAj
aWYgRU5BQkxFKFNWRykKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTVkdEb2N1bWVudFJlc291
cmNlOgotI2VuZGlmCi0jaWYgRU5BQkxFKFhTTFQpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
WFNMU3R5bGVTaGVldDoKICAgICAgICAgaWYgKCFtX2RvY3VtZW50LT5zZWN1cml0eU9yaWdpbigp
LT5jYW5SZXF1ZXN0KHVybCkpIHsKICAgICAgICAgICAgIHByaW50QWNjZXNzRGVuaWVkTWVzc2Fn
ZSh1cmwpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9Ci0jZW5kaWYKICAg
ICAgICAgYnJlYWs7CisjZW5kaWYKICAgICB9CiAKICAgICBzd2l0Y2ggKHR5cGUpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTdHlsZVNoZWV0Q2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVldENsaWVudC5o
CmluZGV4IDRjODc1MzA4YWI4YjRkYmU5ZTA4YTY2NzEwYmYxZjg5OWVhNTQxYWQuLmZjZmNmNDU2
YTcxMjkxMjg3YjgxOTUzYTMzZjRiY2VhZmNkYTFjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTdHlsZVNoZWV0Q2xpZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFN0eWxlU2hlZXRDbGllbnQuaApAQCAtMzEsNiArMzEs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRDU1NTdHlsZVNoZWV0Owor
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogY2xhc3MgQ2FjaGVkU3R5bGVTaGVldENsaWVudCA6
IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6CkBAIC0zOCw3ICszOSw3IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgQ2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIGV4cGVjdGVkVHlw
ZSgpIHsgcmV0dXJuIFN0eWxlU2hlZXRUeXBlOyB9CiAgICAgdmlydHVhbCBDYWNoZWRSZXNvdXJj
ZUNsaWVudFR5cGUgcmVzb3VyY2VDbGllbnRUeXBlKCkgY29uc3QgeyByZXR1cm4gZXhwZWN0ZWRU
eXBlKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q1NTU3R5bGVTaGVldChjb25zdCBTdHJpbmcm
IC8qIGhyZWYgKi8sIGNvbnN0IEtVUkwmIC8qIGJhc2VVUkwgKi8sIGNvbnN0IFN0cmluZyYgLyog
Y2hhcnNldCAqLywgY29uc3QgQ2FjaGVkQ1NTU3R5bGVTaGVldCopIHsgfQotICAgIHZpcnR1YWwg
dm9pZCBzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgLyogaHJlZiAqLywgY29uc3QgS1VS
TCYgLyogYmFzZVVSTCAqLywgY29uc3QgU3RyaW5nJiAvKiBzaGVldCAqLykgeyB9CisgICAgdmly
dHVhbCB2b2lkIHNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiAvKiBocmVmICovLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU3RyaW5nJiAvKiBzaGVldCAqLykgeyB9CiB9Owog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5
bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVT
aGVldC5jcHAKaW5kZXggNmQzOWRjZTJhNmVkYTdkMDU5MzYzNDZjYjJiYjgzYzFiZmY5NGZlYi4u
YzRhNWI5MmI1NGM5OTZmNjM2NTQwOWUxMDg1MGYzZDQ1N2NjNDlmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0eWxlU2hlZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcApAQCAtNTEs
NyArNTEsNyBAQCB2b2lkIENhY2hlZFhTTFN0eWxlU2hlZXQ6OmRpZEFkZENsaWVudChDYWNoZWRS
ZXNvdXJjZUNsaWVudCogYykKIHsgIAogICAgIEFTU0VSVChjLT5yZXNvdXJjZUNsaWVudFR5cGUo
KSA9PSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50OjpleHBlY3RlZFR5cGUoKSk7CiAgICAgaWYgKCFp
c0xvYWRpbmcoKSkKLSAgICAgICAgc3RhdGljX2Nhc3Q8Q2FjaGVkU3R5bGVTaGVldENsaWVudCo+
KGMpLT5zZXRYU0xTdHlsZVNoZWV0KG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBtX3Jlc3BvbnNl
LnVybCgpLCBtX3NoZWV0KTsKKyAgICAgICAgc3RhdGljX2Nhc3Q8Q2FjaGVkU3R5bGVTaGVldENs
aWVudCo+KGMpLT5zZXRYU0xTdHlsZVNoZWV0KG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBtX3Jl
c3BvbnNlLCBtX3NoZWV0KTsKIH0KIAogdm9pZCBDYWNoZWRYU0xTdHlsZVNoZWV0OjpzZXRFbmNv
ZGluZyhjb25zdCBTdHJpbmcmIGNocykKQEAgLTgzLDEwICs4MywxMCBAQCB2b2lkIENhY2hlZFhT
TFN0eWxlU2hlZXQ6OmNoZWNrTm90aWZ5KCkKIHsKICAgICBpZiAoaXNMb2FkaW5nKCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICAKKwogICAgIENhY2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyPENhY2hl
ZFN0eWxlU2hlZXRDbGllbnQ+IHcobV9jbGllbnRzKTsKICAgICB3aGlsZSAoQ2FjaGVkU3R5bGVT
aGVldENsaWVudCogYyA9IHcubmV4dCgpKQotICAgICAgICBjLT5zZXRYU0xTdHlsZVNoZWV0KG1f
cmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBtX3Jlc3BvbnNlLnVybCgpLCBtX3NoZWV0KTsKKyAgICAg
ICAgYy0+c2V0WFNMU3R5bGVTaGVldChtX3Jlc291cmNlUmVxdWVzdC51cmwoKSwgbV9yZXNwb25z
ZSwgbV9zaGVldCk7CiB9CiAKIHZvaWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6cmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YU0xJbXBvcnRSdWxlLmNwcAppbmRleCBlNjI5NTllOTliMGQwZGUzN2Q4NmQ1NTU1N2M5
Njk4Y2U5ODM4MTM4Li5jN2VjZTYwN2U5ZjRiNTY1MTMxYzRmMzMzNmRmMzc5MjA4NDdiYzkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuY3BwCkBAIC00OSwxMiArNDksMTIgQEAgWFNM
SW1wb3J0UnVsZTo6flhTTEltcG9ydFJ1bGUoKQogICAgICAgICBtX2NhY2hlZFNoZWV0LT5yZW1v
dmVDbGllbnQodGhpcyk7CiB9CiAKLXZvaWQgWFNMSW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVl
dChjb25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IEtVUkwmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYg
c2hlZXQpCit2b2lkIFhTTEltcG9ydFJ1bGU6OnNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5n
JiBocmVmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgU3RyaW5nJiBz
aGVldCkKIHsKICAgICBpZiAobV9zdHlsZVNoZWV0KQogICAgICAgICBtX3N0eWxlU2hlZXQtPnNl
dFBhcmVudFN0eWxlU2hlZXQoMCk7CiAKLSAgICBtX3N0eWxlU2hlZXQgPSBYU0xTdHlsZVNoZWV0
OjpjcmVhdGUodGhpcywgaHJlZiwgYmFzZVVSTCk7CisgICAgbV9zdHlsZVNoZWV0ID0gWFNMU3R5
bGVTaGVldDo6Y3JlYXRlKHRoaXMsIGhyZWYsIHJlc3BvbnNlLnVybCgpKTsKIAogICAgIFhTTFN0
eWxlU2hlZXQqIHBhcmVudCA9IHBhcmVudFN0eWxlU2hlZXQoKTsKICAgICBpZiAocGFyZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggMzUwY2RkOWIxNjUzNGI2MTdmMDYyNzYy
OTNjNDc0MGUyY2Y2YjE5ZS4uY2I3MTIwNDk4YjgyNjU1Njg3Y2I2NTdiMzM4NDcwY2FkYzhkMGZl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCkBAIC01Niw3ICs1Niw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgWFNMSW1wb3J0UnVsZShYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVl
dCwgY29uc3QgU3RyaW5nJiBocmVmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRYU0xTdHlsZVNo
ZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY29uc3QgU3RyaW5n
JiBzaGVldCk7CisgICAgdmlydHVhbCB2b2lkIHNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5n
JiBocmVmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU3RyaW5nJiBzaGVldCk7CiAg
ICAgCiAgICAgWFNMU3R5bGVTaGVldCogbV9wYXJlbnRTdHlsZVNoZWV0OwogICAgIFN0cmluZyBt
X3N0ckhyZWY7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvaHR0cGQucG0g
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvaHR0cGQucG0KaW5kZXggYTM4NTUyYWY4NzAyOTE1
NzQzNzYwY2JkYzJiYzhkODE1NmU1OGUyNi4uMzBlYWEyYjc0N2MxZTJkMmY4YTU0YjIwNDgxNDJk
Mzk4N2E4ZDFmMSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL2h0dHBkLnBt
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9odHRwZC5wbQpAQCAtMTYxLDcgKzE2MSw4
IEBAIHN1YiBnZXRIVFRQRENvbmZpZ1BhdGhGb3JUZXN0RGlyZWN0b3J5CiAgICAgICAgICRodHRw
ZENvbmZpZyA9ICJmZWRvcmEtaHR0cGQtJGFwYWNoZVZlcnNpb24uY29uZiI7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgIyBBbGwgb3RoZXIgcG9ydHMgdXNlIGFwYWNoZTIsIHNvIGp1c3QgdXNlIG91
ciBkZWZhdWx0IGFwYWNoZTIgY29uZmlnLgotICAgICAgICAkaHR0cGRDb25maWcgPSAiYXBhY2hl
Mi1odHRwZC5jb25mIjsKKyAgICAgICAgJGh0dHBkQ29uZmlnID0gIi9ob21lL3Jha3Vjby9kZXYv
V2ViS2l0L2FwYWNoZTItYXJjaGxpbnV4LWh0dHBkLmNvbmYiOworICAgICAgICByZXR1cm4gJGh0
dHBkQ29uZmlnOwogICAgIH0KICAgICByZXR1cm4gIiRodHRwZENvbmZEaXJlY3RvcnkvJGh0dHBk
Q29uZmlnIjsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBmZjk0NjU0MTBkNTg1Y2U4OGUyNzA0MmM0NTQzMzU5MzU1MDVj
NWVmLi41OGJiNzFlNWRhMzU0OGQ2MGY4N2IxNTljNTJhYjVjZTY2NTdmOGYzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMTMtMDMtMDUgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPHJhcGhhZWwu
a3Viby5kYS5jb3N0YUBpbnRlbC5jb20+CisKKyAgICAgICAgQ3Jvc3Mtb3JpZ2luIFhTTFQgcmVx
dWVzdHMgd2l0aCBDT1JTIHNob3VsZCBiZSBhbGxvd2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA4ODAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgZXhpc3RpbmcgY3Jvc3Mtb3JpZ2luIFhT
TCB0ZXN0cyB0byBzaG93IG1vcmUgY2xlYXJseSB0aGF0IHRoZXkKKyAgICAgICAgYXJlIHN1cHBv
c2VkIHRvIGJsb2NrIHRoZSByZXF1ZXN0cywgd2hlcmVhcyB0aGUgbmV3bHktYWRkZWQgdGVzdHMg
Y2hlY2sKKyAgICAgICAgdGhlIG9wcG9zaXRlLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGly
ZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGly
ZWN0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELmh0bWwuCisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELmh0bWwuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9D
S0VELnhtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNv
dXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWwuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELnhtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3Jp
Z2luLXhzbC1yZWRpcmVjdC54bWwuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNv
dXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC54bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC5waHA6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wueG1sOgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLW1hYy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0td2luL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1y
ZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3Jp
Z2luLXhzbC1CTE9DS0VELWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0
ZWQudHh0OgorCiAyMDEzLTAzLTA2ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgRG8gbm90IGFkZCBDU1NQcm9wZXJ0eUJvcmRlckltYWdlIHNob3J0aGFuZCBw
YXJ0IG9mIHRoZSBwcm9wZXJ0eSBsaXN0IHdoZW4gcGFyc2luZyBDU1MgYm9yZGVyIHByb3BlcnR5
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQKaW5kZXggMDU3MWMyMTY1
Y2RjMTE1Yjk4NDE1NTkwYThjZWNhZjM2ZTVhNzRmZi4uZDk1NDcxODQyZTQxMGU0N2Y3YmRhN2Nh
ZTUwNWZiNzcyYWExZmJhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOiBVbnNhZmUgYXR0
ZW1wdCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2Vz
L2ZvcmJpZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWwuIERvbWFp
bnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogVW5z
YWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jl
c291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtQkxP
Q0tFRC54bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KIAogVGhp
cyB0ZXN0IGxvYWRzIHRoZSBYTUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2Fu
IGNhbGwgZHVtcEFzVGV4dCgpLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cg
ZG9lcyBub3QgY29udGFpbiBhIG1lc3NhZ2Ugc3RhcnRpbmcgd2l0aCAiRkFJTCIuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1C
TE9DS0VELmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi14c2wtQkxPQ0tFRC5odG1sCmluZGV4IGQzODA1OTBkYzJjMWNjZGEwMTAwNDE0MjdlZWI1YTNi
YjMwMDczNzUuLjljMDY2YzBiYWVhNzMwNTBlMmNiMjljYTYzZTUwMTAxOGVlOTRjY2EgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1C
TE9DS0VELmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4teHNsLUJMT0NLRUQuaHRtbApAQCAtMTcsNiArMTcsNiBAQCBmdW5jdGlvbiBkb25lKCkg
ewogPGRpdj5UaGlzIHRlc3QgbG9hZHMgdGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJhbWUgc28g
dGhhdCBpdCBjYW4gY2FsbAogZHVtcEFzVGV4dCgpLiAgVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUg
aWZyYW1lIGJlbG93IGRvZXMgbm90IGNvbnRhaW4gYSBtZXNzYWdlCiBzdGFydGluZyB3aXRoICJG
QUlMIi48L2Rpdj4KLTxpZnJhbWUgb25sb2FkPSJkb25lKCkiIHNyYz0icmVzb3VyY2VzL2Nyb3Nz
LW9yaWdpbi14c2wueG1sIj48L2lmcmFtZT4KKzxpZnJhbWUgb25sb2FkPSJkb25lKCkiIHNyYz0i
cmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC54bWwiPjwvaWZyYW1lPgogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4teHNsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODZkMDUxNjc4
MTQyNWQ5MGIxNmVhNzgwMDI4ODMyNzdhY2VjNzYyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw3IEBACitUaGlzIHRlc3QgbG9hZHMgdGhlIFhNTCBkb2N1bWVudCBpbiBhbiBp
ZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbCBkdW1wQXNUZXh0KCkuIFRoaXMgdGVzdCBwYXNzZXMg
aWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250YWluIGEgbWVzc2FnZSBzdGFydGluZyB3
aXRoICJGQUlMIi4KKworCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZy
YW1lMC0tPi0tPicKKy0tLS0tLS0tCitQQVNTOiBDcm9zcy1vcmlnaW4gWE1MIHN0eWxlc2hlZXQg
d2FzIGxvYWRlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VE
LWV4cGVjdGVkLnR4dAppbmRleCA0NzhlMThlMzFiNzE3YzkwZjFkNTdlZjk3M2RhY2VmNmZjYjg3
MmVjLi5iNzI3NzZhN2UzZDgyNzAwY2M4OTRkMmY5NDQ0MGVhY2RhNGFjMzc3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJl
Y3QtQkxPQ0tFRC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0CkBAIC0x
LDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCBo
dHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHlsZXNo
ZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0
eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC54bWwuIERvbWFpbnMsIHByb3Rv
Y29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0dGVt
cHQgdG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9m
b3JiaWRkZW4tc3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxP
Q0tFRC54bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KIAogVGhp
cyB0ZXN0IGxvYWRzIHRoZSBYTUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2Fu
IGNhbGwgZHVtcEFzVGV4dCgpLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cg
ZG9lcyBub3QgY29udGFpbiBhIG1lc3NhZ2Ugc3RhcnRpbmcgd2l0aCAiRkFJTCIuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1y
ZWRpcmVjdC1CTE9DS0VELmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC5odG1sCmluZGV4IDNhMGNmZjI4ZmZiYzgy
YjY0ZjEwZGQwZjE5MDcxZDE4ZTk0N2FlNGYuLjQ1NWQ1NGI2NjM4OWYzMDZlZGJhYzY0NmUzNzJl
ZGZhYTFmMjJhYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQuaHRt
bApAQCAtMTcsNiArMTcsNiBAQCBmdW5jdGlvbiBkb25lKCkgewogPGRpdj5UaGlzIHRlc3QgbG9h
ZHMgdGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbAogZHVt
cEFzVGV4dCgpLiAgVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMgbm90
IGNvbnRhaW4gYSBtZXNzYWdlCiBzdGFydGluZyB3aXRoICJGQUlMIi48L2Rpdj4KLTxpZnJhbWUg
b25sb2FkPSJkb25lKCkiIHNyYz0icmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3Qu
eG1sIj48L2lmcmFtZT4KKzxpZnJhbWUgb25sb2FkPSJkb25lKCkiIHNyYz0icmVzb3VyY2VzL2Ny
b3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC54bWwiPjwvaWZyYW1lPgogPC9ib2R5Pgog
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4teHNsLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODZkMDUxNjc4MTQyNWQ5MGIxNmVhNzgwMDI4ODMyNzdhY2VjNzYyYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhz
bC1yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUaGlzIHRlc3QgbG9hZHMg
dGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbCBkdW1wQXNU
ZXh0KCkuIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250
YWluIGEgbWVzc2FnZSBzdGFydGluZyB3aXRoICJGQUlMIi4KKworCistLS0tLS0tLQorRnJhbWU6
ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKKy0tLS0tLS0tCitQQVNTOiBDcm9z
cy1vcmlnaW4gWE1MIHN0eWxlc2hlZXQgd2FzIGxvYWRlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uM2EwY2ZmMjhmZmJjODJiNjRmMTBkZDBmMTkwNzFkMThlOTQ3YWU0
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKworZnVuY3Rpb24gZG9uZSgpIHsKKyAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IGxvYWRzIHRoZSBYTUwgZG9jdW1l
bnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2FuIGNhbGwKK2R1bXBBc1RleHQoKS4gIFRoaXMg
dGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250YWluIGEgbWVzc2Fn
ZQorc3RhcnRpbmcgd2l0aCAiRkFJTCIuPC9kaXY+Cis8aWZyYW1lIG9ubG9hZD0iZG9uZSgpIiBz
cmM9InJlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LnhtbCI+PC9pZnJhbWU+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi14c2wuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLXhzbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzODA1OTBkYzJjMWNjZGEwMTAw
NDE0MjdlZWI1YTNiYjMwMDczNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wuaHRtbApAQCAtMCwwICsxLDIyIEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQo
KTsKKyAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGRvbmUoKSB7
CisgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
K30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCBsb2FkcyB0aGUg
WE1MIGRvY3VtZW50IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxsCitkdW1wQXNUZXh0
KCkuICBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFp
biBhIG1lc3NhZ2UKK3N0YXJ0aW5nIHdpdGggIkZBSUwiLjwvZGl2PgorPGlmcmFtZSBvbmxvYWQ9
ImRvbmUoKSIgc3JjPSJyZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWwiPjwvaWZyYW1lPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELnhtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC54
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZWFjYzZjMzFkMzZiZGVmNWE5YzlmY2QxYzY5OWUwNDA3ZWU5YjQyNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3Vy
Y2VzL2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC54bWwKQEAgLTAsMCArMSwxMSBAQAorPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzw/eG1sLXN0eWxlc2hlZXQgdHlwZT0i
dGV4dC94c2wiIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMv
Zm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIj8+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94aHRtbCI+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+CitQQVNTOiBGb3JiaWRkZW4g
WE1MIHN0eWxlc2hlZXQgZGlkIG5vdCBydW4uCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4t
eHNsLXJlZGlyZWN0LUJMT0NLRUQueG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELnhtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMWJhNWVhYmFlMjU4Y2M0OTQ1Yzg3ODRmMGM2ZTgxZTQwNDYwYjc1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mt
b3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELnhtbApAQCAtMCwwICsxLDExIEBACis8P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0
ZXh0L3hzbCIgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9y
ZWRpci5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9y
YmlkZGVuLXN0eWxlc2hlZXQueHNsIj8+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MTk5OS94aHRtbCI+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+CitQQVNTOiBGb3JiaWRkZW4gWE1M
IHN0eWxlc2hlZXQgZGlkIG5vdCBydW4uCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNs
LXJlZGlyZWN0LnhtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2Vz
L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QueG1sCmluZGV4IGQxYmE1ZWFiYWUyNThjYzQ5NDVj
ODc4NGYwYzZlODFlNDA0NjBiNzUuLjkxNWNiMTBlMTNiM2ZmMDM5MmU4MjhkNDhiZTM1Y2NlYmFi
ODRiYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3Vy
Y2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QueG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QueG1sCkBA
IC0xLDExICsxLDExIEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo4
MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9yZWRpci5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIj8+Cis8P3htbC1z
dHlsZXNoZWV0IHR5cGU9InRleHQveHNsIiBocmVmPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2Vj
dXJpdHkvcmVzb3VyY2VzL3JlZGlyLnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3Vy
aXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnBocCI/PgogPGh0bWwgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgogPGJvZHk+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQogICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgotUEFTUzog
Rm9yYmlkZGVuIFhNTCBzdHlsZXNoZWV0IGRpZCBub3QgcnVuLgorRkFJTDogQ3Jvc3Mtb3JpZ2lu
IFhNTCBzdHlsZXNoZWV0IHdhcyBub3QgbG9hZGVkLgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3Jp
Z2luLXhzbC5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9j
cm9zcy1vcmlnaW4teHNsLnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzQxOTRlN2RiNDNiZTNmNzAxNDViODZj
MzNhYzUzZjQ4NWVjNWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC5waHAKQEAgLTAsMCArMSwxOSBA
QAorPD9waHAKK2hlYWRlcigiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiAqIik7CitoZWFk
ZXIoIkNvbnRlbnQtVHlwZTogdGV4dC94c2wiKTsKKworZWNobyAnPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4nOworPz4KKzx4c2w6c3R5bGVzaGVldCB2ZXJzaW9uPSIxLjAi
IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIj4KKzx4c2w6
dGVtcGxhdGUgbWF0Y2g9IioiPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+CitQQVNT
OiBDcm9zcy1vcmlnaW4gWE1MIHN0eWxlc2hlZXQgd2FzIGxvYWRlZC4KKzwvYm9keT4KKzwvaHRt
bD4KKzwveHNsOnRlbXBsYXRlPgorPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wueG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2lu
LXhzbC54bWwKaW5kZXggZWFjYzZjMzFkMzZiZGVmNWE5YzlmY2QxYzY5OWUwNDA3ZWU5YjQyNy4u
OTY5NzAwNTgxZWNhOThjMzFhYTU4MTlmYzM0MWQ2ZTlmMWI2OGM1MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mt
b3JpZ2luLXhzbC54bWwKQEAgLTEsMTEgKzEsMTEgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5j
b2Rpbmc9IlVURi04Ij8+Ci08P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQveHNsIiBocmVmPSJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHlsZXNo
ZWV0LnhzbCI/PgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0iaHR0cDov
L2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnBocCI/
PgogPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgogPGJvZHk+CiA8
c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKIDwvc2NyaXB0PgotUEFTUzogRm9yYmlkZGVuIFhNTCBzdHlsZXNoZWV0IGRpZCBub3QgcnVu
LgorRkFJTDogQ3Jvc3Mtb3JpZ2luIFhNTCBzdHlsZXNoZWV0IHdhcyBub3QgbG9hZGVkLgogPC9i
b2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
bWFjL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VE
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50
eHQKaW5kZXggNzAyOTg1MTg0YTFhNmZiZGJhZjA2ZDE0ZTM1MzI5ZmYwY2E0MmY4MC4uOGNhNWIz
NjdmMmRmYzNmY2VlNTFlZGM1YjQyNWQ0Yjc4Yjg5NzhmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS1tYWMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJl
ZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNT
QUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2Vj
dXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGgg
VVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2lu
LXhzbC1yZWRpcmVjdC54bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRj
aC4KK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVldC54c2wg
ZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3Vy
Y2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC54bWwuIERvbWFpbnMsIHByb3Rv
Y29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KIAogVGhpcyB0ZXN0IGxvYWRzIHRoZSBYTUwgZG9j
dW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2FuIGNhbGwgZHVtcEFzVGV4dCgpLiBUaGlz
IHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFpbiBhIG1lc3Nh
Z2Ugc3RhcnRpbmcgd2l0aCAiRkFJTCIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtLXdpbi9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVk
aXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS13aW4vaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NL
RUQtZXhwZWN0ZWQudHh0CmluZGV4IDcwMjk4NTE4NGExYTZmYmRiYWYwNmQxNGUzNTMyOWZmMGNh
NDJmODAuLjhjYTViMzY3ZjJkZmMzZmNlZTUxZWRjNWI0MjVkNGI3OGI4OTc4ZjcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAK
LUNPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVldC54c2wgZnJv
bSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2Vz
L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QueG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBv
cnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQg
VVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0
eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Nl
Y3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQueG1sLiBE
b21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCiAKIFRoaXMgdGVzdCBsb2Fk
cyB0aGUgWE1MIGRvY3VtZW50IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxsIGR1bXBB
c1RleHQoKS4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMgbm90IGNv
bnRhaW4gYSBtZXNzYWdlIHN0YXJ0aW5nIHdpdGggIkZBSUwiLgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50
eHQKaW5kZXggNjM2OWEzMjJlZjUyOTMyNDFiOWY4NmM4MGQ0YTdiOTI0YzJkNDliZS4uNGRhZjkw
MjhmYzJhOTFkZTZmYjI0MDBlMzcxZjE5NTk2ZTdlYzAzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNs
LUJMT0NLRUQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOiBVbnNhZmUgYXR0ZW1w
dCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Zv
cmJpZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWwuIERvbWFpbnMs
IHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZl
IGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291
cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tF
RC54bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KIAogVGhpcyB0
ZXN0IGxvYWRzIHRoZSBYTUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2FuIGNh
bGwgZHVtcEFzVGV4dCgpLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cgZG9l
cyBub3QgY29udGFpbiBhIG1lc3NhZ2Ugc3RhcnRpbmcgd2l0aCAiRkFJTCIuCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0
CmluZGV4IDdkYmZiYjZmMmQwZWY3YWQ2ZTAwNjljZWRhN2I1NDZkNDJlYjEzM2IuLjdiN2ExNDk0
OGJkMDI1ZjZjMmJlYjJlMzYyZTEwZmYzZjY5ZTMxZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tF
RC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVS
TCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHls
ZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1
cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWwuIERvbWFpbnMsIHByb3RvY29scyBh
bmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0dGVtcHQgdG8g
bG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRk
ZW4tc3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC54bWwuIERvbWFp
bnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KIAogVGhpcyB0ZXN0IGxvYWRzIHRo
ZSBYTUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2FuIGNhbGwgZHVtcEFzVGV4
dCgpLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFp
biBhIG1lc3NhZ2Ugc3RhcnRpbmcgd2l0aCAiRkFJTCIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVk
aXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0
ZWQudHh0CmluZGV4IDgzOWZjMTdkNThkZjg5ODkxNTEwMTJkMTU0ZjI0Y2U4YjYwM2QwNjEuLjY2
ZmRkZWI2NmI3YzM2MzUxYjM1YzFkY2YxMzJkYWZlMzRjODI4MzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wt
cmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VE
LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0
dGVtcHQgdG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNl
cy9mb3JiaWRkZW4tc3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3Qu
eG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1F
U1NBR0U6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9z
ZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0
aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmln
aW4teHNsLXJlZGlyZWN0LUJMT0NLRUQueG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRz
IG11c3QgbWF0Y2guCiAKIFRoaXMgdGVzdCBsb2FkcyB0aGUgWE1MIGRvY3VtZW50IGluIGFuIGlm
cmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxsIGR1bXBBc1RleHQoKS4gVGhpcyB0ZXN0IHBhc3NlcyBp
ZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMgbm90IGNvbnRhaW4gYSBtZXNzYWdlIHN0YXJ0aW5nIHdp
dGggIkZBSUwiLgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191771</attachid>
            <date>2013-03-06 09:38:59 -0800</date>
            <delta_ts>2013-03-14 14:42:58 -0700</delta_ts>
            <desc>Remove some leftover</desc>
            <filename>bug-110880-20130306193504.patch</filename>
            <type>text/plain</type>
            <size>31019</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0OTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGNjODg3NmRjMThmNWVm
ZjExYmM4YWI2YzBmYzIxMDY3YjZiNmIzZC4uOTQxZWNiNGI3YWJlMGM2ZWE2Zjg4YmQ5MWE0MGM2
NmQyYTI4YWQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTAzLTA1ICBSYXBo
YWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisg
ICAgICAgIENyb3NzLW9yaWdpbiBYU0xUIHJlcXVlc3RzIHdpdGggQ09SUyBzaG91bGQgYmUgYWxs
b3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEw
ODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5z
dGVhZCBvZiBjb21wbGV0ZWx5IGZvcmJpZGRpbmcgY3Jvc3Mtb3JpZ2luIFhTTCByZXF1ZXN0cywg
bWFrZQorICAgICAgICBhbm9ueW1vdXMgcmVxdWVzdHMgYW5kIGFjY2VwdCB0aGUgcmVzcG9uc2Ug
aWYgdGhlIHNlcnZlciBzZW5kcyB0aGUKKyAgICAgICAgYXBwcm9wcmlhdGUgQ09SUyBoZWFkZXJz
LiBUaGlzIG1hdGNoZXMgR2Vja28ncyBiZWhhdmlvci4KKworICAgICAgICBUZXN0czogaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0Lmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC5odG1sCisKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkU3R5bGVTaGVldENsaWVudDo6c2V0WFNMU3R5bGVTaGVldCk6IENoYW5nZSBzaWdu
YXR1cmU7CisgICAgICAgIGluc3RlYWQgb2YgcGFzc2luZyBhIGJhc2VVUkwsIHNlbmQgdGhlIHdo
b2xlIFJlc291cmNlUmVzcG9uc2Ugc28gdGhhdAorICAgICAgICBpbnRlcmVzdGVkIGNsaWVudHMg
Y2FuIGNoZWNrIHRoZSByZXNwb25zZSdzIGhlYWRlcnMuCisgICAgICAgICogZG9tL1Byb2Nlc3Np
bmdJbnN0cnVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b246OnNldFhTTFN0eWxlU2hlZXQpOiBDaGVjayBpZiB0aGUgZmluYWwKKyAgICAgICAgcmVzcG9u
c2UgcGFzc2VzIHRoZSBDT1JTIGNoZWNrcyBhbmQgYWNjZXB0IGl0IGlmIGl0IGRvZXMuCisgICAg
ICAgICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oOgorICAgICAgICAoUHJvY2Vzc2luZ0lu
c3RydWN0aW9uKTogQWRhcHQgdG8gdGhlIG5ldyBzZXRYU0xTdHlsZVNoZWV0IHNpZ25hdHVyZS4K
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRYU0xTdHlsZVNoZWV0OjpkaWRBZGRDbGllbnQpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFhTTFN0eWxlU2hlZXQ6OmNoZWNrTm90aWZ5KTogRGl0dG8u
CisgICAgICAgICogeG1sL1hTTEltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNM
SW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldCk6IERpdHRvLgorICAgICAgICAqIHhtbC9YU0xJ
bXBvcnRSdWxlLmg6CisgICAgICAgIChYU0xJbXBvcnRSdWxlKTogRGl0dG8uCisKKyAgICAgICAg
KiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVz
b3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCk6IEFub25pbWl6ZSByZWRpcmVjdGVkCisgICAg
ICAgIHJlcXVlc3RzIGlmIHRoZXkgYXJlIHNlbnQgdG8gYSBkaWZmZXJlbnQgb3JpZ2luLgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQpOiBBbm9u
aW1pemUKKyAgICAgICAgcmVxdWVzdHMgaWYgdGhleSBhcmUgc2VudCB0byBhIGRpZmZlcmVudCBv
cmlnaW4uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVz
dCk6IERvIG5vdCBpbW1lZGlhdGVseSBibG9jaworICAgICAgICBjcm9zcy1vcmlnaW4gWFNMIHJl
cXVlc3RzLgorCiAyMDEzLTAzLTA2ICBNYXJqYSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxNDQ2MTcpOiBXcm9uZyB1c2FnZSBvZiBvdmVyd3Jp
dHRlbiB2YXJpYWJsZSBpbiB0b0RPTVdpbmRvdyAoVjhCaW5kaW5nLmNwcCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKaW5kZXggZWMxNzMzYzc0NDg5NTI2
ZGY2NWNlMGY0MWIzYjY4NzcxMWQ0M2ZjZC4uYjliNzI2YjI3OTUwM2M5NzFiNzczNzliOWM0ZWMz
ZDdjMTI2ODgzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0
cnVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlv
bi5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5o
IgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIkNhY2hlZFhT
TFN0eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rp
b24uaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCkBAIC0zNCw2ICszNSw3IEBACiAjaW5j
bHVkZSAiWFNMU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIlhNTERvY3VtZW50UGFyc2VyLmgiIC8v
IGZvciBwYXJzZUF0dHJpYnV0ZXMoKQogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgorI2luY2x1ZGUg
IlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIzMywxMCArMjM1LDE4IEBAIHZvaWQgUHJvY2Vzc2luZ0lu
c3RydWN0aW9uOjpzZXRDU1NTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VS
TCYgYmFzCiB9CiAKICNpZiBFTkFCTEUoWFNMVCkKLXZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9u
OjpzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVS
TCwgY29uc3QgU3RyaW5nJiBzaGVldCkKK3ZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpzZXRY
U0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UsIGNvbnN0IFN0cmluZyYgc2hlZXQpCiB7CiAgICAgQVNTRVJUKG1faXNYU0wpOwot
ICAgIG1fc2hlZXQgPSBYU0xTdHlsZVNoZWV0OjpjcmVhdGUodGhpcywgaHJlZiwgYmFzZVVSTCk7
CisKKyAgICBTdHJpbmcgZXJyb3JEZXNjcmlwdGlvbjsKKyAgICBpZiAoIWRvY3VtZW50KCktPnNl
Y3VyaXR5T3JpZ2luKCktPmNhblJlcXVlc3QocmVzcG9uc2UudXJsKCkpCisgICAgICAgICYmICFw
YXNzZXNBY2Nlc3NDb250cm9sQ2hlY2socmVzcG9uc2UsIERvTm90QWxsb3dTdG9yZWRDcmVkZW50
aWFscywgZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgZXJyb3JEZXNjcmlwdGlvbikpIHsK
KyAgICAgICAgZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cHJpbnRBY2Nlc3NE
ZW5pZWRNZXNzYWdlKHJlc3BvbnNlLnVybCgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIG1fc2hlZXQgPSBYU0xTdHlsZVNoZWV0OjpjcmVhdGUodGhpcywgaHJlZiwgcmVzcG9uc2Uu
dXJsKCkpOwogICAgIHBhcnNlU3R5bGVTaGVldChzaGVldCk7CiB9CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaAppbmRleCBlMzMxZTIxZGZlNWUzY2Q5
NmNiMmZlNjI3ZmUwM2QxNDdiOGI0YjYxLi5hNDlhOGZiMTI1ZTFlMTQzYzY0N2MzNjBlNTJmNWRl
YWM5ZjRiNmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3Ry
dWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5o
CkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGVja1N0eWxlU2hlZXQoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0Q1NTU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIGhyZWYsIGNv
bnN0IEtVUkwmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQ2FjaGVkQ1NT
U3R5bGVTaGVldCopOwogI2lmIEVOQUJMRShYU0xUKQotICAgIHZpcnR1YWwgdm9pZCBzZXRYU0xT
dHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY29uc3Qg
U3RyaW5nJiBzaGVldCk7CisgICAgdmlydHVhbCB2b2lkIHNldFhTTFN0eWxlU2hlZXQoY29uc3Qg
U3RyaW5nJiBocmVmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU3RyaW5nJiBzaGVl
dCk7CiAjZW5kaWYKIAogICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCA2OTJiYjk3OGQ2ZjAyNGUxNzU2
ZTIyNjBhNTE2YzIwZDFhNzgzMWRjLi4zODk5MTM0NzEzNGY3YzgyNWM5MDYwMzc3ZjlhYTVhOWE1
OGVlNDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAK
QEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogCiAjaW5j
bHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKKyNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vz
c0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9h
ZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTE0MSw2ICsxNDIsOCBAQCB2b2lkIFN1YnJl
c291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0
LCBjb25zdCBSZXNvdQogICAgICAgICAgICAgY2FuY2VsKCk7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KKyAgICAgICAgaWYgKG1fcmVzb3VyY2UtPnR5cGUoKSA9PSBDYWNoZWRSZXNv
dXJjZTo6WFNMU3R5bGVTaGVldCAmJiAhbV9kb2N1bWVudExvYWRlci0+ZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKS0+Y2FuUmVxdWVzdChuZXdSZXF1ZXN0LnVybCgpKSkKKyAgICAgICAgICAg
IHVwZGF0ZVJlcXVlc3RGb3JBY2Nlc3NDb250cm9sKG5ld1JlcXVlc3QsIG1fZG9jdW1lbnRMb2Fk
ZXItPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIERvTm90QWxsb3dTdG9yZWRDcmVkZW50
aWFscyk7CiAgICAgICAgIG1fcmVzb3VyY2UtPndpbGxTZW5kUmVxdWVzdChuZXdSZXF1ZXN0LCBy
ZWRpcmVjdFJlc3BvbnNlKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDM1NjBlOTIyODBlZGI3OGMy
OGY3NDUyMDMwYjcxN2NmNDVjY2I3NzcuLjM5N2QwYzFiYmIyNmQyYmZiMzkxOTg2ZGQ1N2ZkMzFi
Nzk5Njk5MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkNhY2hlZFhT
TFN0eWxlU2hlZXQuaCIKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiQ29udGVudFNl
Y3VyaXR5UG9saWN5LmgiCisjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmgiCiAj
aW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJE
b2N1bWVudExvYWRlci5oIgpAQCAtMjMwLDYgKzIzMSwxMiBAQCBDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRTY3JpcHQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0U2NyaXB0KENhY2hl
ZFJlcwogI2lmIEVOQUJMRShYU0xUKQogQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkWFNMU3R5
bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RYU0xTdHlsZVNoZWV0KENhY2hl
ZFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKKyAgICBLVVJMIHJlcXVlc3RVUkwgPSByZXF1
ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpOworICAgIGJvb2wgc2FtZU9yaWdpblJlcXVlc3Qg
PSBtX2RvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHJlcXVlc3RVUkwpOwor
CisgICAgaWYgKCFzYW1lT3JpZ2luUmVxdWVzdCkKKyAgICAgICAgdXBkYXRlUmVxdWVzdEZvckFj
Y2Vzc0NvbnRyb2wocmVxdWVzdC5tdXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCksIG1fZG9jdW1lbnQt
PnNlY3VyaXR5T3JpZ2luKCksIERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFscyk7CisKICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Q2FjaGVkWFNMU3R5bGVTaGVldCo+KHJlcXVlc3RSZXNvdXJjZShD
YWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVTaGVldCwgcmVxdWVzdCkuZ2V0KCkpOwogfQogI2VuZGlm
CkBAIC0zMzcsMjAgKzM0NCwyMCBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1
ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybAogI2lmIEVOQUJM
RShDU1NfU0hBREVSUykKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTaGFkZXJSZXNvdXJjZToK
ICNlbmRpZgorI2lmIEVOQUJMRShYU0xUKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0
eWxlU2hlZXQ6CisjZW5kaWYKICAgICAgICAgLy8gVGhlc2UgdHlwZXMgb2YgcmVzb3VyY2VzIGNh
biBiZSBsb2FkZWQgZnJvbSBhbnkgb3JpZ2luLgogICAgICAgICAvLyBGSVhNRTogQXJlIHdlIHN1
cmUgYWJvdXQgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZT8KICAgICAgICAgYnJlYWs7CiAj
aWYgRU5BQkxFKFNWRykKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTVkdEb2N1bWVudFJlc291
cmNlOgotI2VuZGlmCi0jaWYgRU5BQkxFKFhTTFQpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
WFNMU3R5bGVTaGVldDoKICAgICAgICAgaWYgKCFtX2RvY3VtZW50LT5zZWN1cml0eU9yaWdpbigp
LT5jYW5SZXF1ZXN0KHVybCkpIHsKICAgICAgICAgICAgIHByaW50QWNjZXNzRGVuaWVkTWVzc2Fn
ZSh1cmwpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9Ci0jZW5kaWYKICAg
ICAgICAgYnJlYWs7CisjZW5kaWYKICAgICB9CiAKICAgICBzd2l0Y2ggKHR5cGUpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTdHlsZVNoZWV0Q2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVldENsaWVudC5o
CmluZGV4IDRjODc1MzA4YWI4YjRkYmU5ZTA4YTY2NzEwYmYxZjg5OWVhNTQxYWQuLmZjZmNmNDU2
YTcxMjkxMjg3YjgxOTUzYTMzZjRiY2VhZmNkYTFjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTdHlsZVNoZWV0Q2xpZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFN0eWxlU2hlZXRDbGllbnQuaApAQCAtMzEsNiArMzEs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRDU1NTdHlsZVNoZWV0Owor
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogY2xhc3MgQ2FjaGVkU3R5bGVTaGVldENsaWVudCA6
IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6CkBAIC0zOCw3ICszOSw3IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgQ2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIGV4cGVjdGVkVHlw
ZSgpIHsgcmV0dXJuIFN0eWxlU2hlZXRUeXBlOyB9CiAgICAgdmlydHVhbCBDYWNoZWRSZXNvdXJj
ZUNsaWVudFR5cGUgcmVzb3VyY2VDbGllbnRUeXBlKCkgY29uc3QgeyByZXR1cm4gZXhwZWN0ZWRU
eXBlKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q1NTU3R5bGVTaGVldChjb25zdCBTdHJpbmcm
IC8qIGhyZWYgKi8sIGNvbnN0IEtVUkwmIC8qIGJhc2VVUkwgKi8sIGNvbnN0IFN0cmluZyYgLyog
Y2hhcnNldCAqLywgY29uc3QgQ2FjaGVkQ1NTU3R5bGVTaGVldCopIHsgfQotICAgIHZpcnR1YWwg
dm9pZCBzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgLyogaHJlZiAqLywgY29uc3QgS1VS
TCYgLyogYmFzZVVSTCAqLywgY29uc3QgU3RyaW5nJiAvKiBzaGVldCAqLykgeyB9CisgICAgdmly
dHVhbCB2b2lkIHNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiAvKiBocmVmICovLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU3RyaW5nJiAvKiBzaGVldCAqLykgeyB9CiB9Owog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5
bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVT
aGVldC5jcHAKaW5kZXggNmQzOWRjZTJhNmVkYTdkMDU5MzYzNDZjYjJiYjgzYzFiZmY5NGZlYi4u
YzRhNWI5MmI1NGM5OTZmNjM2NTQwOWUxMDg1MGYzZDQ1N2NjNDlmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0eWxlU2hlZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcApAQCAtNTEs
NyArNTEsNyBAQCB2b2lkIENhY2hlZFhTTFN0eWxlU2hlZXQ6OmRpZEFkZENsaWVudChDYWNoZWRS
ZXNvdXJjZUNsaWVudCogYykKIHsgIAogICAgIEFTU0VSVChjLT5yZXNvdXJjZUNsaWVudFR5cGUo
KSA9PSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50OjpleHBlY3RlZFR5cGUoKSk7CiAgICAgaWYgKCFp
c0xvYWRpbmcoKSkKLSAgICAgICAgc3RhdGljX2Nhc3Q8Q2FjaGVkU3R5bGVTaGVldENsaWVudCo+
KGMpLT5zZXRYU0xTdHlsZVNoZWV0KG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBtX3Jlc3BvbnNl
LnVybCgpLCBtX3NoZWV0KTsKKyAgICAgICAgc3RhdGljX2Nhc3Q8Q2FjaGVkU3R5bGVTaGVldENs
aWVudCo+KGMpLT5zZXRYU0xTdHlsZVNoZWV0KG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBtX3Jl
c3BvbnNlLCBtX3NoZWV0KTsKIH0KIAogdm9pZCBDYWNoZWRYU0xTdHlsZVNoZWV0OjpzZXRFbmNv
ZGluZyhjb25zdCBTdHJpbmcmIGNocykKQEAgLTgzLDEwICs4MywxMCBAQCB2b2lkIENhY2hlZFhT
TFN0eWxlU2hlZXQ6OmNoZWNrTm90aWZ5KCkKIHsKICAgICBpZiAoaXNMb2FkaW5nKCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICAKKwogICAgIENhY2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyPENhY2hl
ZFN0eWxlU2hlZXRDbGllbnQ+IHcobV9jbGllbnRzKTsKICAgICB3aGlsZSAoQ2FjaGVkU3R5bGVT
aGVldENsaWVudCogYyA9IHcubmV4dCgpKQotICAgICAgICBjLT5zZXRYU0xTdHlsZVNoZWV0KG1f
cmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBtX3Jlc3BvbnNlLnVybCgpLCBtX3NoZWV0KTsKKyAgICAg
ICAgYy0+c2V0WFNMU3R5bGVTaGVldChtX3Jlc291cmNlUmVxdWVzdC51cmwoKSwgbV9yZXNwb25z
ZSwgbV9zaGVldCk7CiB9CiAKIHZvaWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6cmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YU0xJbXBvcnRSdWxlLmNwcAppbmRleCBlNjI5NTllOTliMGQwZGUzN2Q4NmQ1NTU1N2M5
Njk4Y2U5ODM4MTM4Li5jN2VjZTYwN2U5ZjRiNTY1MTMxYzRmMzMzNmRmMzc5MjA4NDdiYzkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuY3BwCkBAIC00OSwxMiArNDksMTIgQEAgWFNM
SW1wb3J0UnVsZTo6flhTTEltcG9ydFJ1bGUoKQogICAgICAgICBtX2NhY2hlZFNoZWV0LT5yZW1v
dmVDbGllbnQodGhpcyk7CiB9CiAKLXZvaWQgWFNMSW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVl
dChjb25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IEtVUkwmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYg
c2hlZXQpCit2b2lkIFhTTEltcG9ydFJ1bGU6OnNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5n
JiBocmVmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgU3RyaW5nJiBz
aGVldCkKIHsKICAgICBpZiAobV9zdHlsZVNoZWV0KQogICAgICAgICBtX3N0eWxlU2hlZXQtPnNl
dFBhcmVudFN0eWxlU2hlZXQoMCk7CiAKLSAgICBtX3N0eWxlU2hlZXQgPSBYU0xTdHlsZVNoZWV0
OjpjcmVhdGUodGhpcywgaHJlZiwgYmFzZVVSTCk7CisgICAgbV9zdHlsZVNoZWV0ID0gWFNMU3R5
bGVTaGVldDo6Y3JlYXRlKHRoaXMsIGhyZWYsIHJlc3BvbnNlLnVybCgpKTsKIAogICAgIFhTTFN0
eWxlU2hlZXQqIHBhcmVudCA9IHBhcmVudFN0eWxlU2hlZXQoKTsKICAgICBpZiAocGFyZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggMzUwY2RkOWIxNjUzNGI2MTdmMDYyNzYy
OTNjNDc0MGUyY2Y2YjE5ZS4uY2I3MTIwNDk4YjgyNjU1Njg3Y2I2NTdiMzM4NDcwY2FkYzhkMGZl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCkBAIC01Niw3ICs1Niw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgWFNMSW1wb3J0UnVsZShYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVl
dCwgY29uc3QgU3RyaW5nJiBocmVmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRYU0xTdHlsZVNo
ZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY29uc3QgU3RyaW5n
JiBzaGVldCk7CisgICAgdmlydHVhbCB2b2lkIHNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5n
JiBocmVmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU3RyaW5nJiBzaGVldCk7CiAg
ICAgCiAgICAgWFNMU3R5bGVTaGVldCogbV9wYXJlbnRTdHlsZVNoZWV0OwogICAgIFN0cmluZyBt
X3N0ckhyZWY7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggZmY5NDY1NDEwZDU4NWNlODhlMjcwNDJjNDU0MzM1OTM1NTA1YzVl
Zi4uNThiYjcxZTVkYTM1NDhkNjBmODdiMTU5YzUyYWI1Y2U2NjU3ZjhmMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMzIEBACisyMDEzLTAzLTA1ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1
Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisgICAgICAgIENyb3NzLW9yaWdpbiBYU0xUIHJlcXVl
c3RzIHdpdGggQ09SUyBzaG91bGQgYmUgYWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIGV4aXN0aW5nIGNyb3NzLW9yaWdpbiBYU0wg
dGVzdHMgdG8gc2hvdyBtb3JlIGNsZWFybHkgdGhhdCB0aGV5CisgICAgICAgIGFyZSBzdXBwb3Nl
ZCB0byBibG9jayB0aGUgcmVxdWVzdHMsIHdoZXJlYXMgdGhlIG5ld2x5LWFkZGVkIHRlc3RzIGNo
ZWNrCisgICAgICAgIHRoZSBvcHBvc2l0ZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVj
dC1CTE9DS0VELWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVj
dC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC5odG1sLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC5odG1sLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tF
RC54bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3Vy
Y2VzL2Nyb3NzLW9yaWdpbi14c2wueG1sLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
cmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC54bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdp
bi14c2wtcmVkaXJlY3QueG1sLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3Vy
Y2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QueG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wucGhwOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnhtbDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1tYWMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtLXdpbi9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVk
aXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVk
LnR4dDoKKwogMjAxMy0wMy0wNiAgQWxleGlzIE1lbmFyZCAgPGFsZXhpc0B3ZWJraXQub3JnPgog
CiAgICAgICAgIERvIG5vdCBhZGQgQ1NTUHJvcGVydHlCb3JkZXJJbWFnZSBzaG9ydGhhbmQgcGFy
dCBvZiB0aGUgcHJvcGVydHkgbGlzdCB3aGVuIHBhcnNpbmcgQ1NTIGJvcmRlciBwcm9wZXJ0eQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
eHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0CmluZGV4IDA1NzFjMjE2NWNk
YzExNWI5ODQxNTU5MGE4Y2VjYWYzNmU1YTc0ZmYuLmQ5NTQ3MTg0MmU0MTBlNDdmN2JkYTdjYWU1
MDVmYjc3MmFhMWZiYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50
eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjogVW5zYWZlIGF0dGVt
cHQgdG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9m
b3JiaWRkZW4tc3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wueG1sLiBEb21haW5z
LCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IFVuc2Fm
ZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNv
dXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLUJMT0NL
RUQueG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCiAKIFRoaXMg
dGVzdCBsb2FkcyB0aGUgWE1MIGRvY3VtZW50IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBj
YWxsIGR1bXBBc1RleHQoKS4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRv
ZXMgbm90IGNvbnRhaW4gYSBtZXNzYWdlIHN0YXJ0aW5nIHdpdGggIkZBSUwiLgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxP
Q0tFRC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
eHNsLUJMT0NLRUQuaHRtbAppbmRleCBkMzgwNTkwZGMyYzFjY2RhMDEwMDQxNDI3ZWViNWEzYmIz
MDA3Mzc1Li45YzA2NmMwYmFlYTczMDUwZTJjYjI5Y2E2M2U1MDEwMThlZTk0Y2NhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxP
Q0tFRC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3Jp
Z2luLXhzbC1CTE9DS0VELmh0bWwKQEAgLTE3LDYgKzE3LDYgQEAgZnVuY3Rpb24gZG9uZSgpIHsK
IDxkaXY+VGhpcyB0ZXN0IGxvYWRzIHRoZSBYTUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRo
YXQgaXQgY2FuIGNhbGwKIGR1bXBBc1RleHQoKS4gIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlm
cmFtZSBiZWxvdyBkb2VzIG5vdCBjb250YWluIGEgbWVzc2FnZQogc3RhcnRpbmcgd2l0aCAiRkFJ
TCIuPC9kaXY+Ci08aWZyYW1lIG9ubG9hZD0iZG9uZSgpIiBzcmM9InJlc291cmNlcy9jcm9zcy1v
cmlnaW4teHNsLnhtbCI+PC9pZnJhbWU+Cis8aWZyYW1lIG9ubG9hZD0iZG9uZSgpIiBzcmM9InJl
c291cmNlcy9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQueG1sIj48L2lmcmFtZT4KIDwvYm9keT4K
IDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLXhzbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi14c2wtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2ZDA1MTY3ODE0
MjVkOTBiMTZlYTc4MDAyODgzMjc3YWNlYzc2MmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorVGhpcyB0ZXN0IGxvYWRzIHRoZSBYTUwgZG9jdW1lbnQgaW4gYW4gaWZy
YW1lIHNvIHRoYXQgaXQgY2FuIGNhbGwgZHVtcEFzVGV4dCgpLiBUaGlzIHRlc3QgcGFzc2VzIGlm
IHRoZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFpbiBhIG1lc3NhZ2Ugc3RhcnRpbmcgd2l0
aCAiRkFJTCIuCisKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFt
ZTAtLT4tLT4nCistLS0tLS0tLQorUEFTUzogQ3Jvc3Mtb3JpZ2luIFhNTCBzdHlsZXNoZWV0IHdh
cyBsb2FkZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1l
eHBlY3RlZC50eHQKaW5kZXggNDc4ZTE4ZTMxYjcxN2M5MGYxZDU3ZWY5NzNkYWNlZjZmY2I4NzJl
Yy4uYjcyNzc2YTdlM2Q4MjcwMGNjODk0ZDJmOTQ0NDBlYWNkYTRhYzM3NyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0
LUJMT0NLRUQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0
cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVl
dC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkv
cmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QueG1sLiBEb21haW5zLCBwcm90b2Nv
bHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRlbXB0
IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9y
YmlkZGVuLXN0eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NL
RUQueG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCiAKIFRoaXMg
dGVzdCBsb2FkcyB0aGUgWE1MIGRvY3VtZW50IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBj
YWxsIGR1bXBBc1RleHQoKS4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRv
ZXMgbm90IGNvbnRhaW4gYSBtZXNzYWdlIHN0YXJ0aW5nIHdpdGggIkZBSUwiLgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVk
aXJlY3QtQkxPQ0tFRC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQuaHRtbAppbmRleCAzYTBjZmYyOGZmYmM4MmI2
NGYxMGRkMGYxOTA3MWQxOGU5NDdhZTRmLi40NTVkNTRiNjYzODlmMzA2ZWRiYWM2NDZlMzcyZWRm
YWExZjIyYWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELmh0bWwK
QEAgLTE3LDYgKzE3LDYgQEAgZnVuY3Rpb24gZG9uZSgpIHsKIDxkaXY+VGhpcyB0ZXN0IGxvYWRz
IHRoZSBYTUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2FuIGNhbGwKIGR1bXBB
c1RleHQoKS4gIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBj
b250YWluIGEgbWVzc2FnZQogc3RhcnRpbmcgd2l0aCAiRkFJTCIuPC9kaXY+Ci08aWZyYW1lIG9u
bG9hZD0iZG9uZSgpIiBzcmM9InJlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0Lnht
bCI+PC9pZnJhbWU+Cis8aWZyYW1lIG9ubG9hZD0iZG9uZSgpIiBzcmM9InJlc291cmNlcy9jcm9z
cy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQueG1sIj48L2lmcmFtZT4KIDwvYm9keT4KIDwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLXhzbC1yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg2ZDA1MTY3ODE0MjVkOTBiMTZlYTc4MDAyODgzMjc3YWNlYzc2MmEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wt
cmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGhpcyB0ZXN0IGxvYWRzIHRo
ZSBYTUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2FuIGNhbGwgZHVtcEFzVGV4
dCgpLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFp
biBhIG1lc3NhZ2Ugc3RhcnRpbmcgd2l0aCAiRkFJTCIuCisKKworLS0tLS0tLS0KK0ZyYW1lOiAn
PCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorUEFTUzogQ3Jvc3Mt
b3JpZ2luIFhNTCBzdHlsZXNoZWV0IHdhcyBsb2FkZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjNhMGNmZjI4ZmZiYzgyYjY0ZjEwZGQwZjE5MDcxZDE4ZTk0N2FlNGYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi14c2wtcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDIyIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKyAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGRvbmUoKSB7CisgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCBsb2FkcyB0aGUgWE1MIGRvY3VtZW50
IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxsCitkdW1wQXNUZXh0KCkuICBUaGlzIHRl
c3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFpbiBhIG1lc3NhZ2UK
K3N0YXJ0aW5nIHdpdGggIkZBSUwiLjwvZGl2PgorPGlmcmFtZSBvbmxvYWQ9ImRvbmUoKSIgc3Jj
PSJyZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC54bWwiPjwvaWZyYW1lPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4teHNsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi14c2wuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzgwNTkwZGMyYzFjY2RhMDEwMDQx
NDI3ZWViNWEzYmIzMDA3Mzc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7
CisgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCitmdW5jdGlvbiBkb25lKCkgewor
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgbG9hZHMgdGhlIFhN
TCBkb2N1bWVudCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbAorZHVtcEFzVGV4dCgp
LiAgVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMgbm90IGNvbnRhaW4g
YSBtZXNzYWdlCitzdGFydGluZyB3aXRoICJGQUlMIi48L2Rpdj4KKzxpZnJhbWUgb25sb2FkPSJk
b25lKCkiIHNyYz0icmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wueG1sIj48L2lmcmFtZT4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC54bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQueG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVhY2M2YzMxZDM2YmRlZjVhOWM5ZmNkMWM2OTllMDQwN2VlOWI0MjcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNl
cy9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRl
eHQveHNsIiBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Zv
cmJpZGRlbi1zdHlsZXNoZWV0LnhzbCI/PgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGh0bWwiPgorPGJvZHk+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorUEFTUzogRm9yYmlkZGVuIFhN
TCBzdHlsZXNoZWV0IGRpZCBub3QgcnVuLgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhz
bC1yZWRpcmVjdC1CTE9DS0VELnhtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
cmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC54bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDFiYTVlYWJhZTI1OGNjNDk0NWM4Nzg0ZjBjNmU4MWU0MDQ2MGI3NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9y
aWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC54bWwKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzw/eG1sLXN0eWxlc2hlZXQgdHlwZT0idGV4
dC94c2wiIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvcmVk
aXIucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJp
ZGRlbi1zdHlsZXNoZWV0LnhzbCI/PgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWwiPgorPGJvZHk+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorUEFTUzogRm9yYmlkZGVuIFhNTCBz
dHlsZXNoZWV0IGRpZCBub3QgcnVuLgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1y
ZWRpcmVjdC54bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9j
cm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LnhtbAppbmRleCBkMWJhNWVhYmFlMjU4Y2M0OTQ1Yzg3
ODRmMGM2ZTgxZTQwNDYwYjc1Li45MTVjYjEwZTEzYjNmZjAzOTJlODI4ZDQ4YmUzNWNjZWJhYjg0
YmM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNl
cy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LnhtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LnhtbApAQCAt
MSwxMSArMSwxMSBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTw/
eG1sLXN0eWxlc2hlZXQgdHlwZT0idGV4dC94c2wiIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9zZWN1cml0eS9yZXNvdXJjZXMvcmVkaXIucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAv
c2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHlsZXNoZWV0LnhzbCI/PgorPD94bWwtc3R5
bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3Vy
aXR5L3Jlc291cmNlcy9yZWRpci5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0
eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC5waHAiPz4KIDxodG1sIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hodG1sIj4KIDxib2R5PgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiA8L3NjcmlwdD4KLVBBU1M6IEZv
cmJpZGRlbiBYTUwgc3R5bGVzaGVldCBkaWQgbm90IHJ1bi4KK0ZBSUw6IENyb3NzLW9yaWdpbiBY
TUwgc3R5bGVzaGVldCB3YXMgbm90IGxvYWRlZC4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdp
bi14c2wucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jv
c3Mtb3JpZ2luLXhzbC5waHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzM0MTk0ZTdkYjQzYmUzZjcwMTQ1Yjg2YzMz
YWM1M2Y0ODVlYzVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wucGhwCkBAIC0wLDAgKzEsMTkgQEAK
Kzw/cGhwCitoZWFkZXIoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogKiIpOworaGVhZGVy
KCJDb250ZW50LVR5cGU6IHRleHQveHNsIik7CisKK2VjaG8gJzw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+JzsKKz8+Cis8eHNsOnN0eWxlc2hlZXQgdmVyc2lvbj0iMS4wIiB4
bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSI+Cis8eHNsOnRl
bXBsYXRlIG1hdGNoPSIqIj4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorUEFTUzog
Q3Jvc3Mtb3JpZ2luIFhNTCBzdHlsZXNoZWV0IHdhcyBsb2FkZWQuCis8L2JvZHk+Cis8L2h0bWw+
Cis8L3hzbDp0ZW1wbGF0ZT4KKzwveHNsOnN0eWxlc2hlZXQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnhtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14
c2wueG1sCmluZGV4IGVhY2M2YzMxZDM2YmRlZjVhOWM5ZmNkMWM2OTllMDQwN2VlOWI0MjcuLjk2
OTcwMDU4MWVjYTk4YzMxYWE1ODE5ZmMzNDFkNmU5ZjFiNjhjNTMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wueG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9y
aWdpbi14c2wueG1sCkBAIC0xLDExICsxLDExIEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0iaHR0
cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVl
dC54c2wiPz4KKzw/eG1sLXN0eWxlc2hlZXQgdHlwZT0idGV4dC94c2wiIGhyZWY9Imh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC5waHAiPz4K
IDxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KIDxib2R5PgogPHNj
cmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiA8L3NjcmlwdD4KLVBBU1M6IEZvcmJpZGRlbiBYTUwgc3R5bGVzaGVldCBkaWQgbm90IHJ1bi4K
K0ZBSUw6IENyb3NzLW9yaWdpbiBYTUwgc3R5bGVzaGVldCB3YXMgbm90IGxvYWRlZC4KIDwvYm9k
eT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1h
Yy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0
CmluZGV4IDcwMjk4NTE4NGExYTZmYmRiYWYwNmQxNGUzNTMyOWZmMGNhNDJmODAuLjhjYTViMzY3
ZjJkZmMzZmNlZTUxZWRjNWI0MjVkNGI3OGI4OTc4ZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLW1hYy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14
c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0tbWFjL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRp
cmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FH
RTogVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3Vy
aXR5L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVS
TCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14
c2wtcmVkaXJlY3QueG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2gu
CitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIGZy
b20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNl
cy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQueG1sLiBEb21haW5zLCBwcm90b2Nv
bHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCiAKIFRoaXMgdGVzdCBsb2FkcyB0aGUgWE1MIGRvY3Vt
ZW50IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxsIGR1bXBBc1RleHQoKS4gVGhpcyB0
ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMgbm90IGNvbnRhaW4gYSBtZXNzYWdl
IHN0YXJ0aW5nIHdpdGggIkZBSUwiLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS13aW4vaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGly
ZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
d2luL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VE
LWV4cGVjdGVkLnR4dAppbmRleCA3MDI5ODUxODRhMWE2ZmJkYmFmMDZkMTRlMzUzMjlmZjBjYTQy
ZjgwLi44Y2E1YjM2N2YyZGZjM2ZjZWU1MWVkYzViNDI1ZDRiNzhiODk3OGY3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1D
T05TT0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIGZyb20g
ZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9j
cm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LnhtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0
cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVS
TCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHls
ZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1
cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELnhtbC4gRG9t
YWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgogCiBUaGlzIHRlc3QgbG9hZHMg
dGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbCBkdW1wQXNU
ZXh0KCkuIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250
YWluIGEgbWVzc2FnZSBzdGFydGluZyB3aXRoICJGQUlMIi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
eHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0
CmluZGV4IDYzNjlhMzIyZWY1MjkzMjQxYjlmODZjODBkNGE3YjkyNGMyZDQ5YmUuLjRkYWY5MDI4
ZmMyYTkxZGU2ZmIyNDAwZTM3MWYxOTU5NmU3ZWMwMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1C
TE9DS0VELWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQK
QEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjogVW5zYWZlIGF0dGVtcHQg
dG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3Ji
aWRkZW4tc3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wueG1sLiBEb21haW5zLCBw
cm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBh
dHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJj
ZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQu
eG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCiAKIFRoaXMgdGVz
dCBsb2FkcyB0aGUgWE1MIGRvY3VtZW50IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxs
IGR1bXBBc1RleHQoKS4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMg
bm90IGNvbnRhaW4gYSBtZXNzYWdlIHN0YXJ0aW5nIHdpdGggIkZBSUwiLgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVjdGVkLnR4dApp
bmRleCA3ZGJmYmI2ZjJkMGVmN2FkNmUwMDY5Y2VkYTdiNTQ2ZDQyZWIxMzNiLi43YjdhMTQ5NDhi
ZDAyNWY2YzJiZWIyZTM2MmUxMGZmM2Y2OWUzMWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0
IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjogVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwg
aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVz
aGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJp
dHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wueG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5k
IHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRlbXB0IHRvIGxv
YWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVu
LXN0eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQueG1sLiBEb21haW5z
LCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCiAKIFRoaXMgdGVzdCBsb2FkcyB0aGUg
WE1MIGRvY3VtZW50IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxsIGR1bXBBc1RleHQo
KS4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMgbm90IGNvbnRhaW4g
YSBtZXNzYWdlIHN0YXJ0aW5nIHdpdGggIkZBSUwiLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGly
ZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVk
LnR4dAppbmRleCA4MzlmYzE3ZDU4ZGY4OTg5MTUxMDEyZDE1NGYyNGNlOGI2MDNkMDYxLi42NmZk
ZGViNjZiN2MzNjM1MWIzNWMxZGNmMTMyZGFmZTM0YzgyODM4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJl
ZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1l
eHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRl
bXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMv
Zm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4w
LjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0Lnht
bC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNT
QUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2Vj
dXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGgg
VVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2lu
LXhzbC1yZWRpcmVjdC1CTE9DS0VELnhtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBt
dXN0IG1hdGNoLgogCiBUaGlzIHRlc3QgbG9hZHMgdGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJh
bWUgc28gdGhhdCBpdCBjYW4gY2FsbCBkdW1wQXNUZXh0KCkuIFRoaXMgdGVzdCBwYXNzZXMgaWYg
dGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250YWluIGEgbWVzc2FnZSBzdGFydGluZyB3aXRo
ICJGQUlMIi4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193186</attachid>
            <date>2013-03-14 14:43:11 -0700</date>
            <delta_ts>2014-02-05 11:20:22 -0800</delta_ts>
            <desc>Do not touch SubresourceLoader</desc>
            <filename>bug-110880-20130314143913.patch</filename>
            <type>text/plain</type>
            <size>31584</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM5M2FiZDk2ZTU5YjI1
MTJmYWYzNjdiZTdiOTIyYzg1YzhhMmJjNy4uMTE0OTllMWEwODYwOWYzMjQzMzBiYWJmODk2NDRi
ZjgyMzMzNzJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEzLTAzLTA1ICBSYXBo
YWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisg
ICAgICAgIENyb3NzLW9yaWdpbiBYU0xUIHJlcXVlc3RzIHdpdGggQ09SUyBzaG91bGQgYmUgYWxs
b3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEw
ODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5z
dGVhZCBvZiBjb21wbGV0ZWx5IGZvcmJpZGRpbmcgY3Jvc3Mtb3JpZ2luIFhTTCByZXF1ZXN0cywg
bWFrZQorICAgICAgICBhbm9ueW1vdXMgcmVxdWVzdHMgYW5kIGFjY2VwdCB0aGUgcmVzcG9uc2Ug
aWYgdGhlIHNlcnZlciBzZW5kcyB0aGUKKyAgICAgICAgYXBwcm9wcmlhdGUgQ09SUyBoZWFkZXJz
LiBUaGlzIG1hdGNoZXMgR2Vja28ncyBiZWhhdmlvci4KKworICAgICAgICBUZXN0czogaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0Lmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC5odG1sCisKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkU3R5bGVTaGVldENsaWVudDo6c2V0WFNMU3R5bGVTaGVldCk6IENoYW5nZSBzaWdu
YXR1cmU7CisgICAgICAgIGluc3RlYWQgb2YgcGFzc2luZyBhIGJhc2VVUkwsIHNlbmQgdGhlIHdo
b2xlIFJlc291cmNlUmVzcG9uc2Ugc28gdGhhdAorICAgICAgICBpbnRlcmVzdGVkIGNsaWVudHMg
Y2FuIGNoZWNrIHRoZSByZXNwb25zZSdzIGhlYWRlcnMuCisgICAgICAgICogZG9tL1Byb2Nlc3Np
bmdJbnN0cnVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b246OnNldFhTTFN0eWxlU2hlZXQpOiBDaGVjayBpZiB0aGUgZmluYWwKKyAgICAgICAgcmVzcG9u
c2UgcGFzc2VzIHRoZSBDT1JTIGNoZWNrcyBhbmQgYWNjZXB0IGl0IGlmIGl0IGRvZXMuCisgICAg
ICAgICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oOgorICAgICAgICAoUHJvY2Vzc2luZ0lu
c3RydWN0aW9uKTogQWRhcHQgdG8gdGhlIG5ldyBzZXRYU0xTdHlsZVNoZWV0IHNpZ25hdHVyZS4K
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRYU0xTdHlsZVNoZWV0OjpkaWRBZGRDbGllbnQpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFhTTFN0eWxlU2hlZXQ6OmNoZWNrTm90aWZ5KTogRGl0dG8u
CisgICAgICAgICogeG1sL1hTTEltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNM
SW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldCk6IERpdHRvLgorICAgICAgICAqIHhtbC9YU0xJ
bXBvcnRSdWxlLmg6CisgICAgICAgIChYU0xJbXBvcnRSdWxlKTogRGl0dG8uCisKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RYU0xTdHlsZVNoZWV0KTogQW5vbmltaXpl
CisgICAgICAgIHJlcXVlc3RzIGlmIHRoZXkgYXJlIHNlbnQgdG8gYSBkaWZmZXJlbnQgb3JpZ2lu
LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QpOiBE
byBub3QgaW1tZWRpYXRlbHkgYmxvY2sKKyAgICAgICAgY3Jvc3Mtb3JpZ2luIFhTTCByZXF1ZXN0
cy4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRYU0xTdHlsZVNoZWV0Ojp3aWxsU2VuZFJlcXVlc3QpOiBBbm9u
aW1pemUgcmVkaXJlY3RlZAorICAgICAgICByZXF1ZXN0cyBpZiB0aGV5IGFyZSBzZW50IHRvIGEg
ZGlmZmVyZW50IG9yaWdpbi4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVT
aGVldC5oOgorICAgICAgICAoQ2FjaGVkWFNMU3R5bGVTaGVldCk6CisKIDIwMTMtMDMtMDggIFBo
aWxpcCBSb2dlcnMgIDxwZHJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBQcmV2ZW50IGluZmluaXRl
IGxvb3AgaW4gU1ZHIHVzZSBjeWNsZSBkZXRlY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1By
b2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKaW5kZXggZWMxNzMzYzc0NDg5NTI2ZGY2NWNlMGY0MWIz
YjY4NzcxMWQ0M2ZjZC4uYjliNzI2YjI3OTUwM2M5NzFiNzczNzliOWM0ZWMzZDdjMTI2ODgzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKQEAgLTI2
LDYgKzI2LDcgQEAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIkNhY2hlZFhTTFN0eWxlU2hlZXQu
aCIKKyNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1
bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24uaCIKICNpbmNs
dWRlICJFeGNlcHRpb25Db2RlLmgiCkBAIC0zNCw2ICszNSw3IEBACiAjaW5jbHVkZSAiWFNMU3R5
bGVTaGVldC5oIgogI2luY2x1ZGUgIlhNTERvY3VtZW50UGFyc2VyLmgiIC8vIGZvciBwYXJzZUF0
dHJpYnV0ZXMoKQogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTIzMywxMCArMjM1LDE4IEBAIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpz
ZXRDU1NTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzCiB9CiAK
ICNpZiBFTkFCTEUoWFNMVCkKLXZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpzZXRYU0xTdHls
ZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY29uc3QgU3Ry
aW5nJiBzaGVldCkKK3ZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpzZXRYU0xTdHlsZVNoZWV0
KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNv
bnN0IFN0cmluZyYgc2hlZXQpCiB7CiAgICAgQVNTRVJUKG1faXNYU0wpOwotICAgIG1fc2hlZXQg
PSBYU0xTdHlsZVNoZWV0OjpjcmVhdGUodGhpcywgaHJlZiwgYmFzZVVSTCk7CisKKyAgICBTdHJp
bmcgZXJyb3JEZXNjcmlwdGlvbjsKKyAgICBpZiAoIWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2lu
KCktPmNhblJlcXVlc3QocmVzcG9uc2UudXJsKCkpCisgICAgICAgICYmICFwYXNzZXNBY2Nlc3ND
b250cm9sQ2hlY2socmVzcG9uc2UsIERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFscywgZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgZXJyb3JEZXNjcmlwdGlvbikpIHsKKyAgICAgICAgZG9j
dW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cHJpbnRBY2Nlc3NEZW5pZWRNZXNzYWdl
KHJlc3BvbnNlLnVybCgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fc2hlZXQg
PSBYU0xTdHlsZVNoZWV0OjpjcmVhdGUodGhpcywgaHJlZiwgcmVzcG9uc2UudXJsKCkpOwogICAg
IHBhcnNlU3R5bGVTaGVldChzaGVldCk7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaAppbmRleCBlMzMxZTIxZGZlNWUzY2Q5NmNiMmZlNjI3ZmUw
M2QxNDdiOGI0YjYxLi5hNDlhOGZiMTI1ZTFlMTQzYzY0N2MzNjBlNTJmNWRlYWM5ZjRiNmZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oCkBAIC03MCw3ICs3
MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGVja1N0eWxlU2hlZXQoKTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0Q1NTU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IEtVUkwmIGJh
c2VVUkwsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQ2FjaGVkQ1NTU3R5bGVTaGVldCop
OwogI2lmIEVOQUJMRShYU0xUKQotICAgIHZpcnR1YWwgdm9pZCBzZXRYU0xTdHlsZVNoZWV0KGNv
bnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiBzaGVl
dCk7CisgICAgdmlydHVhbCB2b2lkIHNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBocmVm
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU3RyaW5nJiBzaGVldCk7CiAjZW5kaWYK
IAogICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA0YjQ2OTliZDY3MjA5
ZmY5N2FkOWE2OTczNmZkMDMwN2Q5NWMxZjM0Li4wNjdhMzkzY2Q5ODZhYmYxNjc0YWMzNzIyMWVm
OTFmMGQzMTdmMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJDYWNo
ZWRYU0xTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ29uc29sZS5oIgogI2luY2x1ZGUgIkNvbnRl
bnRTZWN1cml0eVBvbGljeS5oIgorI2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5o
IgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnRMb2FkZXIuaCIKQEAgLTIzMCw2ICsyMzEsMTIgQEAgQ2FjaGVkUmVzb3VyY2VI
YW5kbGU8Q2FjaGVkU2NyaXB0PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFNjcmlwdChD
YWNoZWRSZXMKICNpZiBFTkFCTEUoWFNMVCkKIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFhT
TFN0eWxlU2hlZXQ+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0WFNMU3R5bGVTaGVldChD
YWNoZWRSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7CisgICAgS1VSTCByZXF1ZXN0VVJMID0g
cmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKTsKKyAgICBib29sIHNhbWVPcmlnaW5SZXF1
ZXN0ID0gbV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuUmVxdWVzdChyZXF1ZXN0VVJM
KTsKKworICAgIGlmICghc2FtZU9yaWdpblJlcXVlc3QpCisgICAgICAgIHVwZGF0ZVJlcXVlc3RG
b3JBY2Nlc3NDb250cm9sKHJlcXVlc3QubXV0YWJsZVJlc291cmNlUmVxdWVzdCgpLCBtX2RvY3Vt
ZW50LT5zZWN1cml0eU9yaWdpbigpLCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMpOworCiAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PENhY2hlZFhTTFN0eWxlU2hlZXQqPihyZXF1ZXN0UmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQsIHJlcXVlc3QpLmdldCgpKTsKIH0KICNl
bmRpZgpAQCAtMzM3LDIwICszNDQsMjAgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2Fu
UmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwKICNpZiBF
TkFCTEUoQ1NTX1NIQURFUlMpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U2hhZGVyUmVzb3Vy
Y2U6CiAjZW5kaWYKKyNpZiBFTkFCTEUoWFNMVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpY
U0xTdHlsZVNoZWV0OgorI2VuZGlmCiAgICAgICAgIC8vIFRoZXNlIHR5cGVzIG9mIHJlc291cmNl
cyBjYW4gYmUgbG9hZGVkIGZyb20gYW55IG9yaWdpbi4KICAgICAgICAgLy8gRklYTUU6IEFyZSB3
ZSBzdXJlIGFib3V0IENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2U/CiAgICAgICAgIGJyZWFr
OwogI2lmIEVOQUJMRShTVkcpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U1ZHRG9jdW1lbnRS
ZXNvdXJjZToKLSNlbmRpZgotI2lmIEVOQUJMRShYU0xUKQotICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OlhTTFN0eWxlU2hlZXQ6CiAgICAgICAgIGlmICghbV9kb2N1bWVudC0+c2VjdXJpdHlPcmln
aW4oKS0+Y2FuUmVxdWVzdCh1cmwpKSB7CiAgICAgICAgICAgICBwcmludEFjY2Vzc0RlbmllZE1l
c3NhZ2UodXJsKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQotI2VuZGlm
CiAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgfQogCiAgICAgc3dpdGNoICh0eXBlKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVldENs
aWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFN0eWxlU2hlZXRDbGll
bnQuaAppbmRleCA0Yzg3NTMwOGFiOGI0ZGJlOWUwOGE2NjcxMGJmMWY4OTllYTU0MWFkLi5mY2Zj
ZjQ1NmE3MTI5MTI4N2I4MTk1M2EzM2Y0YmNlYWZjZGExYzY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTdHlsZVNoZWV0Q2xpZW50LmgKQEAgLTMxLDYg
KzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2FjaGVkQ1NTU3R5bGVTaGVl
dDsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIGNsYXNzIENhY2hlZFN0eWxlU2hlZXRDbGll
bnQgOiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewogcHVibGljOgpAQCAtMzgsNyArMzks
NyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIENhY2hlZFJlc291cmNlQ2xpZW50VHlwZSBleHBlY3Rl
ZFR5cGUoKSB7IHJldHVybiBTdHlsZVNoZWV0VHlwZTsgfQogICAgIHZpcnR1YWwgQ2FjaGVkUmVz
b3VyY2VDbGllbnRUeXBlIHJlc291cmNlQ2xpZW50VHlwZSgpIGNvbnN0IHsgcmV0dXJuIGV4cGVj
dGVkVHlwZSgpOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldENTU1N0eWxlU2hlZXQoY29uc3QgU3Ry
aW5nJiAvKiBocmVmICovLCBjb25zdCBLVVJMJiAvKiBiYXNlVVJMICovLCBjb25zdCBTdHJpbmcm
IC8qIGNoYXJzZXQgKi8sIGNvbnN0IENhY2hlZENTU1N0eWxlU2hlZXQqKSB7IH0KLSAgICB2aXJ0
dWFsIHZvaWQgc2V0WFNMU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIC8qIGhyZWYgKi8sIGNvbnN0
IEtVUkwmIC8qIGJhc2VVUkwgKi8sIGNvbnN0IFN0cmluZyYgLyogc2hlZXQgKi8pIHsgfQorICAg
IHZpcnR1YWwgdm9pZCBzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgLyogaHJlZiAqLywg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFN0cmluZyYgLyogc2hlZXQgKi8pIHsgfQog
fTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhT
TFN0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0
eWxlU2hlZXQuY3BwCmluZGV4IDZkMzlkY2UyYTZlZGE3ZDA1OTM2MzQ2Y2IyYmI4M2MxYmZmOTRm
ZWIuLjA1MGFhNWFhNDYxZTMxMDM0NzNiM2EwMzQ3MDM5YTIxNzllNDFiMGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAKQEAg
LTI5LDcgKzI5LDEyIEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudFdhbGtlci5o
IgogI2luY2x1ZGUgIkNhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCIKKyNpbmNsdWRlICJDcm9zc09y
aWdpbkFjY2Vzc0NvbnRyb2wuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkRv
Y3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VCdWZmZXIuaCIKKyNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVk
ZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVt
ZW50YXRpb24uaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC01MSw3ICs1Niw3IEBAIHZv
aWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6ZGlkQWRkQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50
KiBjKQogeyAgCiAgICAgQVNTRVJUKGMtPnJlc291cmNlQ2xpZW50VHlwZSgpID09IENhY2hlZFN0
eWxlU2hlZXRDbGllbnQ6OmV4cGVjdGVkVHlwZSgpKTsKICAgICBpZiAoIWlzTG9hZGluZygpKQot
ICAgICAgICBzdGF0aWNfY2FzdDxDYWNoZWRTdHlsZVNoZWV0Q2xpZW50Kj4oYyktPnNldFhTTFN0
eWxlU2hlZXQobV9yZXNvdXJjZVJlcXVlc3QudXJsKCksIG1fcmVzcG9uc2UudXJsKCksIG1fc2hl
ZXQpOworICAgICAgICBzdGF0aWNfY2FzdDxDYWNoZWRTdHlsZVNoZWV0Q2xpZW50Kj4oYyktPnNl
dFhTTFN0eWxlU2hlZXQobV9yZXNvdXJjZVJlcXVlc3QudXJsKCksIG1fcmVzcG9uc2UsIG1fc2hl
ZXQpOwogfQogCiB2b2lkIENhY2hlZFhTTFN0eWxlU2hlZXQ6OnNldEVuY29kaW5nKGNvbnN0IFN0
cmluZyYgY2hzKQpAQCAtODMsMTAgKzg4LDEwIEBAIHZvaWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6
Y2hlY2tOb3RpZnkoKQogewogICAgIGlmIChpc0xvYWRpbmcoKSkKICAgICAgICAgcmV0dXJuOwot
ICAgIAorCiAgICAgQ2FjaGVkUmVzb3VyY2VDbGllbnRXYWxrZXI8Q2FjaGVkU3R5bGVTaGVldENs
aWVudD4gdyhtX2NsaWVudHMpOwogICAgIHdoaWxlIChDYWNoZWRTdHlsZVNoZWV0Q2xpZW50KiBj
ID0gdy5uZXh0KCkpCi0gICAgICAgIGMtPnNldFhTTFN0eWxlU2hlZXQobV9yZXNvdXJjZVJlcXVl
c3QudXJsKCksIG1fcmVzcG9uc2UudXJsKCksIG1fc2hlZXQpOworICAgICAgICBjLT5zZXRYU0xT
dHlsZVNoZWV0KG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBtX3Jlc3BvbnNlLCBtX3NoZWV0KTsK
IH0KIAogdm9pZCBDYWNoZWRYU0xTdHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdApAQCAtOTcsNiArMTAyLDE2IEBAIHZv
aWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykKICAgICBpbmZvLmFkZE1lbWJlcihtX2RlY29kZXIsICJkZWNv
ZGVyIik7CiB9CiAKK3ZvaWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6d2lsbFNlbmRSZXF1ZXN0KFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpCit7CisgICAg
U2VjdXJpdHlPcmlnaW4qIG9yaWdpbiA9IGxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5kb2N1
bWVudCgpLT5zZWN1cml0eU9yaWdpbigpOworCisgICAgLy8gSWYgdGhlIHJlcXVlc3QgaXMgYmVp
bmcgcmVkaXJlY3RlZCBmcm9tIGEgc2FtZS1vcmlnaW4gVVJMIHRvIGEgY3Jvc3Mtb3JpZ2luIG9u
ZSwgd2UKKyAgICAvLyBtdXN0IG1ha2Ugc3VyZSBubyBjcmVkZW50aWFscyBhcmUgc2VudC4KKyAg
ICBpZiAoIW9yaWdpbi0+Y2FuUmVxdWVzdChyZXF1ZXN0LnVybCgpKSkKKyAgICAgICAgdXBkYXRl
UmVxdWVzdEZvckFjY2Vzc0NvbnRyb2wocmVxdWVzdCwgb3JpZ2luLCBEb05vdEFsbG93U3RvcmVk
Q3JlZGVudGlhbHMpOworfQorCiAjZW5kaWYKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0eWxlU2hlZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmgKaW5kZXggZTUxNjJiODg5NWI1NThkOGZh
ODBlZWQ1MzQzYzkyNDdlOWE1NWZkOS4uYzQ1MGI3OTlkNGY4MmY0YWFmZTg0Yzg4NGQzMzFhOTVl
ZmI1YWZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhT
TFN0eWxlU2hlZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNM
U3R5bGVTaGVldC5oCkBAIC01Miw2ICs1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjaGVja05vdGlmeSgpOwogCisgICAgICAg
IHZpcnR1YWwgdm9pZCB3aWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYpOworCiAgICAgICAgIFN0cmluZyBtX3NoZWV0OwogICAgICAgICBSZWZQ
dHI8VGV4dFJlc291cmNlRGVjb2Rlcj4gbV9kZWNvZGVyOwogICAgIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFNMSW1wb3J0UnVsZS5jcHAKaW5kZXggZTYyOTU5ZTk5YjBkMGRlMzdkODZkNTU1NTdjOTY5OGNl
OTgzODEzOC4uYzdlY2U2MDdlOWY0YjU2NTEzMWM0ZjMzMzZkZjM3OTIwODQ3YmM5MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcApAQCAtNDksMTIgKzQ5LDEyIEBAIFhTTEltcG9y
dFJ1bGU6On5YU0xJbXBvcnRSdWxlKCkKICAgICAgICAgbV9jYWNoZWRTaGVldC0+cmVtb3ZlQ2xp
ZW50KHRoaXMpOwogfQogCi12b2lkIFhTTEltcG9ydFJ1bGU6OnNldFhTTFN0eWxlU2hlZXQoY29u
c3QgU3RyaW5nJiBocmVmLCBjb25zdCBLVVJMJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHNoZWV0
KQordm9pZCBYU0xJbXBvcnRSdWxlOjpzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJl
ZiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFN0cmluZyYgc2hlZXQp
CiB7CiAgICAgaWYgKG1fc3R5bGVTaGVldCkKICAgICAgICAgbV9zdHlsZVNoZWV0LT5zZXRQYXJl
bnRTdHlsZVNoZWV0KDApOwogCi0gICAgbV9zdHlsZVNoZWV0ID0gWFNMU3R5bGVTaGVldDo6Y3Jl
YXRlKHRoaXMsIGhyZWYsIGJhc2VVUkwpOworICAgIG1fc3R5bGVTaGVldCA9IFhTTFN0eWxlU2hl
ZXQ6OmNyZWF0ZSh0aGlzLCBocmVmLCByZXNwb25zZS51cmwoKSk7CiAKICAgICBYU0xTdHlsZVNo
ZWV0KiBwYXJlbnQgPSBwYXJlbnRTdHlsZVNoZWV0KCk7CiAgICAgaWYgKHBhcmVudCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFNMSW1wb3J0UnVsZS5oCmluZGV4IDM1MGNkZDliMTY1MzRiNjE3ZjA2Mjc2MjkzYzQ3
NDBlMmNmNmIxOWUuLmNiNzEyMDQ5OGI4MjY1NTY4N2NiNjU3YjMzODQ3MGNhZGM4ZDBmZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIFhTTEltcG9ydFJ1bGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNv
bnN0IFN0cmluZyYgaHJlZik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0WFNMU3R5bGVTaGVldChj
b25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IEtVUkwmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgc2hl
ZXQpOworICAgIHZpcnR1YWwgdm9pZCBzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJl
ZiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFN0cmluZyYgc2hlZXQpOwogICAgIAog
ICAgIFhTTFN0eWxlU2hlZXQqIG1fcGFyZW50U3R5bGVTaGVldDsKICAgICBTdHJpbmcgbV9zdHJI
cmVmOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDljNzU4MDEzNzA0ZTJmNjllNjgzODU2YWFhYzNlNDgxOTQ3MGY4OGEuLmZh
NmVjMjgxOTRhMjI0MjMxZTQ3OGQ0ZjNhZWJhNzY0NDVlODM4NmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MyBAQAorMjAxMy0wMy0wNSAgUmFwaGFlbCBLdWJvIGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRh
LmNvc3RhQGludGVsLmNvbT4KKworICAgICAgICBDcm9zcy1vcmlnaW4gWFNMVCByZXF1ZXN0cyB3
aXRoIENPUlMgc2hvdWxkIGJlIGFsbG93ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMDg4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbmFtZSBleGlzdGluZyBjcm9zcy1vcmlnaW4gWFNMIHRlc3Rz
IHRvIHNob3cgbW9yZSBjbGVhcmx5IHRoYXQgdGhleQorICAgICAgICBhcmUgc3VwcG9zZWQgdG8g
YmxvY2sgdGhlIHJlcXVlc3RzLCB3aGVyZWFzIHRoZSBuZXdseS1hZGRlZCB0ZXN0cyBjaGVjawor
ICAgICAgICB0aGUgb3Bwb3NpdGUuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxP
Q0tFRC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4teHNsLXJlZGlyZWN0LUJMT0NLRUQuaHRtbC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi14c2wuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQuaHRtbC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQueG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9j
cm9zcy1vcmlnaW4teHNsLnhtbC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291
cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQueG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNs
LXJlZGlyZWN0LnhtbC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9j
cm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LnhtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnBocDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWw6CisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS13aW4vaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0
LUJMT0NLRUQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNs
LUJMT0NLRUQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQ6
CisKIDIwMTMtMDMtMDggIFBoaWxpcCBSb2dlcnMgIDxwZHJAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBQcmV2ZW50IGluZmluaXRlIGxvb3AgaW4gU1ZHIHVzZSBjeWNsZSBkZXRlY3Rpb24KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1C
TE9DS0VELWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVjdGVkLnR4dAppbmRleCAwNTcxYzIxNjVjZGMxMTVi
OTg0MTU1OTBhOGNlY2FmMzZlNWE3NGZmLi5kOTU0NzE4NDJlNDEwZTQ3ZjdiZGE3Y2FlNTA1ZmI3
NzJhYTFmYmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI6IFVuc2FmZSBhdHRlbXB0IHRv
IGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlk
ZGVuLXN0eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4
MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnhtbC4gRG9tYWlucywgcHJv
dG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0
ZW1wdCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2Vz
L2ZvcmJpZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELnht
bC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgogCiBUaGlzIHRlc3Qg
bG9hZHMgdGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbCBk
dW1wQXNUZXh0KCkuIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5v
dCBjb250YWluIGEgbWVzc2FnZSBzdGFydGluZyB3aXRoICJGQUlMIi4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1C
TE9DS0VELmh0bWwKaW5kZXggZDM4MDU5MGRjMmMxY2NkYTAxMDA0MTQyN2VlYjVhM2JiMzAwNzM3
NS4uOWMwNjZjMGJhZWE3MzA1MGUyY2IyOWNhNjNlNTAxMDE4ZWU5NGNjYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14
c2wtQkxPQ0tFRC5odG1sCkBAIC0xNyw2ICsxNyw2IEBAIGZ1bmN0aW9uIGRvbmUoKSB7CiA8ZGl2
PlRoaXMgdGVzdCBsb2FkcyB0aGUgWE1MIGRvY3VtZW50IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0
IGNhbiBjYWxsCiBkdW1wQXNUZXh0KCkuICBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUg
YmVsb3cgZG9lcyBub3QgY29udGFpbiBhIG1lc3NhZ2UKIHN0YXJ0aW5nIHdpdGggIkZBSUwiLjwv
ZGl2PgotPGlmcmFtZSBvbmxvYWQ9ImRvbmUoKSIgc3JjPSJyZXNvdXJjZXMvY3Jvc3Mtb3JpZ2lu
LXhzbC54bWwiPjwvaWZyYW1lPgorPGlmcmFtZSBvbmxvYWQ9ImRvbmUoKSIgc3JjPSJyZXNvdXJj
ZXMvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELnhtbCI+PC9pZnJhbWU+CiA8L2JvZHk+CiA8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi14c2wtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4teHNsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NmQwNTE2NzgxNDI1ZDkw
YjE2ZWE3ODAwMjg4MzI3N2FjZWM3NjJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDcgQEAKK1RoaXMgdGVzdCBsb2FkcyB0aGUgWE1MIGRvY3VtZW50IGluIGFuIGlmcmFtZSBz
byB0aGF0IGl0IGNhbiBjYWxsIGR1bXBBc1RleHQoKS4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUg
aWZyYW1lIGJlbG93IGRvZXMgbm90IGNvbnRhaW4gYSBtZXNzYWdlIHN0YXJ0aW5nIHdpdGggIkZB
SUwiLgorCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+
LS0+JworLS0tLS0tLS0KK1BBU1M6IENyb3NzLW9yaWdpbiBYTUwgc3R5bGVzaGVldCB3YXMgbG9h
ZGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0
ZWQudHh0CmluZGV4IDQ3OGUxOGUzMWI3MTdjOTBmMWQ1N2VmOTczZGFjZWY2ZmNiODcyZWMuLmI3
Mjc3NmE3ZTNkODI3MDBjYzg5NGQyZjk0NDQwZWFjZGE0YWMzNzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9D
S0VELWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0
IEBACi1DT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNs
IGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291
cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LnhtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFu
ZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBs
b2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRl
bi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELnht
bC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgogCiBUaGlzIHRlc3Qg
bG9hZHMgdGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbCBk
dW1wQXNUZXh0KCkuIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5v
dCBjb250YWluIGEgbWVzc2FnZSBzdGFydGluZyB3aXRoICJGQUlMIi4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0
LUJMT0NLRUQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3Jp
Z2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELmh0bWwKaW5kZXggM2EwY2ZmMjhmZmJjODJiNjRmMTBk
ZDBmMTkwNzFkMThlOTQ3YWU0Zi4uNDU1ZDU0YjY2Mzg5ZjMwNmVkYmFjNjQ2ZTM3MmVkZmFhMWYy
MmFhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC5odG1sCkBAIC0x
Nyw2ICsxNyw2IEBAIGZ1bmN0aW9uIGRvbmUoKSB7CiA8ZGl2PlRoaXMgdGVzdCBsb2FkcyB0aGUg
WE1MIGRvY3VtZW50IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxsCiBkdW1wQXNUZXh0
KCkuICBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFp
biBhIG1lc3NhZ2UKIHN0YXJ0aW5nIHdpdGggIkZBSUwiLjwvZGl2PgotPGlmcmFtZSBvbmxvYWQ9
ImRvbmUoKSIgc3JjPSJyZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC54bWwiPjwv
aWZyYW1lPgorPGlmcmFtZSBvbmxvYWQ9ImRvbmUoKSIgc3JjPSJyZXNvdXJjZXMvY3Jvc3Mtb3Jp
Z2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELnhtbCI+PC9pZnJhbWU+CiA8L2JvZHk+CiA8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi14c2wtcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
NmQwNTE2NzgxNDI1ZDkwYjE2ZWE3ODAwMjg4MzI3N2FjZWM3NjJhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGly
ZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1RoaXMgdGVzdCBsb2FkcyB0aGUgWE1M
IGRvY3VtZW50IGluIGFuIGlmcmFtZSBzbyB0aGF0IGl0IGNhbiBjYWxsIGR1bXBBc1RleHQoKS4g
VGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMgbm90IGNvbnRhaW4gYSBt
ZXNzYWdlIHN0YXJ0aW5nIHdpdGggIkZBSUwiLgorCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1m
cmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK1BBU1M6IENyb3NzLW9yaWdp
biBYTUwgc3R5bGVzaGVldCB3YXMgbG9hZGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zYTBjZmYyOGZmYmM4MmI2NGYxMGRkMGYxOTA3MWQxOGU5NDdhZTRmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4teHNsLXJlZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworfQorCitmdW5jdGlvbiBkb25lKCkgeworICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5UaGlzIHRlc3QgbG9hZHMgdGhlIFhNTCBkb2N1bWVudCBpbiBh
biBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbAorZHVtcEFzVGV4dCgpLiAgVGhpcyB0ZXN0IHBh
c3NlcyBpZiB0aGUgaWZyYW1lIGJlbG93IGRvZXMgbm90IGNvbnRhaW4gYSBtZXNzYWdlCitzdGFy
dGluZyB3aXRoICJGQUlMIi48L2Rpdj4KKzxpZnJhbWUgb25sb2FkPSJkb25lKCkiIHNyYz0icmVz
b3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QueG1sIj48L2lmcmFtZT4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLXhzbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4teHNsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDM4MDU5MGRjMmMxY2NkYTAxMDA0MTQyN2Vl
YjVhM2JiMzAwNzM3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKworZnVuY3Rpb24gZG9uZSgpIHsKKyAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyB0ZXN0IGxvYWRzIHRoZSBYTUwgZG9j
dW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2FuIGNhbGwKK2R1bXBBc1RleHQoKS4gIFRo
aXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250YWluIGEgbWVz
c2FnZQorc3RhcnRpbmcgd2l0aCAiRkFJTCIuPC9kaXY+Cis8aWZyYW1lIG9ubG9hZD0iZG9uZSgp
IiBzcmM9InJlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnhtbCI+PC9pZnJhbWU+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jl
c291cmNlcy9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQueG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELnhtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lYWNjNmMzMWQzNmJkZWY1YTljOWZjZDFjNjk5ZTA0MDdlZTliNDI3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jv
c3Mtb3JpZ2luLXhzbC1CTE9DS0VELnhtbApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hz
bCIgaHJlZj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRk
ZW4tc3R5bGVzaGVldC54c2wiPz4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hodG1sIj4KKzxib2R5PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KK1BBU1M6IEZvcmJpZGRlbiBYTUwgc3R5
bGVzaGVldCBkaWQgbm90IHJ1bi4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVk
aXJlY3QtQkxPQ0tFRC54bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291
cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQueG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQx
YmE1ZWFiYWUyNThjYzQ5NDVjODc4NGYwYzZlODFlNDA0NjBiNzUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4t
eHNsLXJlZGlyZWN0LUJMT0NLRUQueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQveHNs
IiBocmVmPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3JlZGlyLnBo
cD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRkZW4t
c3R5bGVzaGVldC54c2wiPz4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3ho
dG1sIj4KKzxib2R5PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KK1BBU1M6IEZvcmJpZGRlbiBYTUwgc3R5bGVz
aGVldCBkaWQgbm90IHJ1bi4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJl
Y3QueG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mt
b3JpZ2luLXhzbC1yZWRpcmVjdC54bWwKaW5kZXggZDFiYTVlYWJhZTI1OGNjNDk0NWM4Nzg0ZjBj
NmU4MWU0MDQ2MGI3NS4uOTE1Y2IxMGUxM2IzZmYwMzkyZTgyOGQ0OGJlMzVjY2ViYWI4NGJjNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jv
c3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC54bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC54bWwKQEAgLTEsMTEg
KzEsMTEgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08P3htbC1z
dHlsZXNoZWV0IHR5cGU9InRleHQveHNsIiBocmVmPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2Vj
dXJpdHkvcmVzb3VyY2VzL3JlZGlyLnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3Vy
aXR5L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVldC54c2wiPz4KKzw/eG1sLXN0eWxlc2hl
ZXQgdHlwZT0idGV4dC94c2wiIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9y
ZXNvdXJjZXMvcmVkaXIucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVz
b3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wucGhwIj8+CiA8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCI+CiA8Ym9keT4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCiAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogPC9zY3JpcHQ+Ci1QQVNTOiBGb3JiaWRk
ZW4gWE1MIHN0eWxlc2hlZXQgZGlkIG5vdCBydW4uCitGQUlMOiBDcm9zcy1vcmlnaW4gWE1MIHN0
eWxlc2hlZXQgd2FzIG5vdCBsb2FkZWQuCiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNs
LnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9y
aWdpbi14c2wucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzNDE5NGU3ZGI0M2JlM2Y3MDE0NWI4NmMzM2FjNTNm
NDg1ZWM1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnBocApAQCAtMCwwICsxLDE5IEBACis8P3Bo
cAoraGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICoiKTsKK2hlYWRlcigiQ29u
dGVudC1UeXBlOiB0ZXh0L3hzbCIpOworCitlY2hvICc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/Pic7Cis/PgorPHhzbDpzdHlsZXNoZWV0IHZlcnNpb249IjEuMCIgeG1sbnM6
eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iPgorPHhzbDp0ZW1wbGF0
ZSBtYXRjaD0iKiI+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KK1BBU1M6IENyb3Nz
LW9yaWdpbiBYTUwgc3R5bGVzaGVldCB3YXMgbG9hZGVkLgorPC9ib2R5PgorPC9odG1sPgorPC94
c2w6dGVtcGxhdGU+Cis8L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC54bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnht
bAppbmRleCBlYWNjNmMzMWQzNmJkZWY1YTljOWZjZDFjNjk5ZTA0MDdlZTliNDI3Li45Njk3MDA1
ODFlY2E5OGMzMWFhNTgxOWZjMzQxZDZlOWYxYjY4YzUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnhtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4t
eHNsLnhtbApAQCAtMSwxMSArMSwxMSBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPz4KLTw/eG1sLXN0eWxlc2hlZXQgdHlwZT0idGV4dC94c2wiIGhyZWY9Imh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNs
Ij8+Cis8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQveHNsIiBocmVmPSJodHRwOi8vbG9jYWxo
b3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wucGhwIj8+CiA8aHRt
bCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CiA8Ym9keT4KIDxzY3JpcHQ+
CiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogPC9z
Y3JpcHQ+Ci1QQVNTOiBGb3JiaWRkZW4gWE1MIHN0eWxlc2hlZXQgZGlkIG5vdCBydW4uCitGQUlM
OiBDcm9zcy1vcmlnaW4gWE1MIHN0eWxlc2hlZXQgd2FzIG5vdCBsb2FkZWQuCiA8L2JvZHk+CiA8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dAppbmRl
eCA3MDI5ODUxODRhMWE2ZmJkYmFmMDZkMTRlMzUzMjlmZjBjYTQyZjgwLi44Y2E1YjM2N2YyZGZj
M2ZjZWU1MWVkYzViNDI1ZDRiNzhiODk3OGY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS1tYWMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJl
ZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLW1hYy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3Qt
QkxPQ0tFRC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IFVu
c2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9y
ZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLXJl
ZGlyZWN0LnhtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09O
U09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0
OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZy
YW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jv
c3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELnhtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFu
ZCBwb3J0cyBtdXN0IG1hdGNoLgogCiBUaGlzIHRlc3QgbG9hZHMgdGhlIFhNTCBkb2N1bWVudCBp
biBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbCBkdW1wQXNUZXh0KCkuIFRoaXMgdGVzdCBw
YXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250YWluIGEgbWVzc2FnZSBzdGFy
dGluZyB3aXRoICJGQUlMIi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0td2luL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1C
TE9DS0VELWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBl
Y3RlZC50eHQKaW5kZXggNzAyOTg1MTg0YTFhNmZiZGJhZjA2ZDE0ZTM1MzI5ZmYwY2E0MmY4MC4u
OGNhNWIzNjdmMmRmYzNmY2VlNTFlZGM1YjQyNWQ0Yjc4Yjg5NzhmNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLXhzbC1yZWRpcmVjdC1CTE9DS0VELWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
eHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09M
RSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0Ojgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1l
IHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mt
b3JpZ2luLXhzbC1yZWRpcmVjdC54bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVz
dCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0
cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVl
dC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkv
cmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC54bWwuIERvbWFpbnMs
IHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KIAogVGhpcyB0ZXN0IGxvYWRzIHRoZSBY
TUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIHRoYXQgaXQgY2FuIGNhbGwgZHVtcEFzVGV4dCgp
LiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFpbiBh
IG1lc3NhZ2Ugc3RhcnRpbmcgd2l0aCAiRkFJTCIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1C
TE9DS0VELWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVjdGVkLnR4dAppbmRl
eCA2MzY5YTMyMmVmNTI5MzI0MWI5Zjg2YzgwZDRhN2I5MjRjMmQ0OWJlLi40ZGFmOTAyOGZjMmE5
MWRlNmZiMjQwMGUzNzFmMTk1OTZlN2VjMDMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tF
RC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0CkBAIC0x
LDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI6IFVuc2FmZSBhdHRlbXB0IHRvIGxv
YWQgVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVu
LXN0eWxlc2hlZXQueHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnhtbC4gRG9tYWlucywgcHJvdG9j
b2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1w
dCB0byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Zv
cmJpZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELnhtbC4g
RG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgogCiBUaGlzIHRlc3QgbG9h
ZHMgdGhlIFhNTCBkb2N1bWVudCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbCBkdW1w
QXNUZXh0KCkuIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBj
b250YWluIGEgbWVzc2FnZSBzdGFydGluZyB3aXRoICJGQUlMIi4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhz
bC1CTE9DS0VELWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtQkxPQ0tFRC1leHBlY3RlZC50eHQKaW5kZXgg
N2RiZmJiNmYyZDBlZjdhZDZlMDA2OWNlZGE3YjU0NmQ0MmViMTMzYi4uN2I3YTE0OTQ4YmQwMjVm
NmMyYmViMmUzNjJlMTBmZjNmNjllMzFkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4teHNsLUJMT0NLRUQtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDI6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvZm9yYmlkZGVuLXN0eWxlc2hlZXQu
eHNsIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jl
c291cmNlcy9jcm9zcy1vcmlnaW4teHNsLnhtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0
cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVS
TCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJpZGRlbi1zdHls
ZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1
cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1CTE9DS0VELnhtbC4gRG9tYWlucywgcHJv
dG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgogCiBUaGlzIHRlc3QgbG9hZHMgdGhlIFhNTCBk
b2N1bWVudCBpbiBhbiBpZnJhbWUgc28gdGhhdCBpdCBjYW4gY2FsbCBkdW1wQXNUZXh0KCkuIFRo
aXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSBiZWxvdyBkb2VzIG5vdCBjb250YWluIGEgbWVz
c2FnZSBzdGFydGluZyB3aXRoICJGQUlMIi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC1C
TE9DS0VELWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi14c2wtcmVkaXJlY3QtQkxPQ0tFRC1leHBlY3RlZC50eHQK
aW5kZXggODM5ZmMxN2Q1OGRmODk4OTE1MTAxMmQxNTRmMjRjZThiNjAzZDA2MS4uNjZmZGRlYjY2
YjdjMzYzNTFiMzVjMWRjZjEzMmRhZmUzNGM4MjgzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVj
dC1CTE9DS0VELWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4teHNsLXJlZGlyZWN0LUJMT0NLRUQtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1wdCB0
byBsb2FkIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2ZvcmJp
ZGRlbi1zdHlsZXNoZWV0LnhzbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhzbC1yZWRpcmVjdC54bWwuIERv
bWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTog
VW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5
L3Jlc291cmNlcy9mb3JiaWRkZW4tc3R5bGVzaGVldC54c2wgZnJvbSBmcmFtZSB3aXRoIFVSTCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi14c2wt
cmVkaXJlY3QtQkxPQ0tFRC54bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBt
YXRjaC4KIAogVGhpcyB0ZXN0IGxvYWRzIHRoZSBYTUwgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNv
IHRoYXQgaXQgY2FuIGNhbGwgZHVtcEFzVGV4dCgpLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBp
ZnJhbWUgYmVsb3cgZG9lcyBub3QgY29udGFpbiBhIG1lc3NhZ2Ugc3RhcnRpbmcgd2l0aCAiRkFJ
TCIuCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>