<?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>72414</bug_id>
          
          <creation_ts>2011-11-15 14:00:22 -0800</creation_ts>
          <short_desc>Entity-header extension headers honored on 304 responses.</short_desc>
          <delta_ts>2013-02-06 23:43:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>71851</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Thomas Sepez">tsepez</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>koivisto</cc>
    
    <cc>mkwst</cc>
    
    <cc>mkwst+watchlist</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>503237</commentid>
    <comment_count>0</comment_count>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2011-11-15 14:00:22 -0800</bug_when>
    <thetext>RFC2616 10.3.5 says that headers returned by a 304 Not Modified response should update the fields from the original response.  But there are a class of entity headers which should not be sent by servers when generating a 304 response.  If they should be sent, browsers have adopted a policy of ignoring them and using the field values from the original non-cached request instead.  

FRC2616 7.1 calls out extension headers to be entity headers.  While it is a stretch to imagine that all of these are such, the following describe entities:

X-Content-* headers
X-WebKit-CSP since it is a placeholder for X-Content-Security-Policy
X-XSS-Protection

We&apos;ve run into at least one proxy that adds an X-Content-Type-Options to its 304 requests that was not present in the orignal response, which is what has prompted thinking about the general problem.  In particular, it would be bad if a 304 response turned off protections set by headers on the original uncached request.

I&apos;ve got a couple of test cases for X-WebKit-CSP and X-XSS-Protection that I will be adding shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503242</commentid>
    <comment_count>1</comment_count>
      <attachid>115239</attachid>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2011-11-15 14:03:11 -0800</bug_when>
    <thetext>Created attachment 115239
Flunking testcases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503250</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-15 14:10:12 -0800</bug_when>
    <thetext>Maybe do all X-WebKit-* headers?  Anything we put in that namespace is going to be an entity header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503256</commentid>
    <comment_count>3</comment_count>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2011-11-15 14:12:43 -0800</bug_when>
    <thetext>X-Frame-Options as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503311</commentid>
    <comment_count>4</comment_count>
      <attachid>115255</attachid>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2011-11-15 14:55:11 -0800</bug_when>
    <thetext>Created attachment 115255
Flunking testcases

Fix cut-n-paste, extend expires to near the end of time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504093</commentid>
    <comment_count>5</comment_count>
      <attachid>115416</attachid>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2011-11-16 11:34:55 -0800</bug_when>
    <thetext>Created attachment 115416
Flunking testcases

Add XFO header test as well just for completeness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602340</commentid>
    <comment_count>6</comment_count>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2012-04-13 13:05:15 -0700</bug_when>
    <thetext>I&apos;m not going to be able to look at this right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825345</commentid>
    <comment_count>7</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-05 03:25:25 -0800</bug_when>
    <thetext>I&apos;m trying to address the Chromium side at https://codereview.chromium.org/12224008/, and Jochen&apos;s suggested a direction for the rest of WebCore. Let&apos;s see how it goes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825374</commentid>
    <comment_count>8</comment_count>
      <attachid>186598</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-05 04:43:18 -0800</bug_when>
    <thetext>Created attachment 186598
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825377</commentid>
    <comment_count>9</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-05 04:44:38 -0800</bug_when>
    <thetext>The attached patch works locally for the Mac port. I&apos;ve skipped the tests for Chromium for the moment, as it looks like that will require a Chromium-side change that&apos;s currently up for review.

Nate: Jochen suggested that you&apos;d be a good reviewer for this change. Would you mind taking a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825387</commentid>
    <comment_count>10</comment_count>
      <attachid>186604</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-05 05:01:13 -0800</bug_when>
    <thetext>Created attachment 186604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825388</commentid>
    <comment_count>11</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-05 05:02:21 -0800</bug_when>
    <thetext>Hrm. I ran the tests through the chromium port locally, and they passed, which surprised me because I&apos;d misunderstood the network stack&apos;s role here. So, looks like I can run the tests everywhere. Yay. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825590</commentid>
    <comment_count>12</comment_count>
      <attachid>186604</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-02-05 10:19:32 -0800</bug_when>
    <thetext>Comment on attachment 186604
Patch

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

&gt; Source/WebCore/loader/cache/CachedResource.cpp:740
&gt;      DEFINE_STATIC_LOCAL(const AtomicString, contentHeaderPrefix, (&quot;content-&quot;, AtomicString::ConstructFromLiteral));
&gt; +    DEFINE_STATIC_LOCAL(const AtomicString, xContentHeaderPrefix, (&quot;x-content-&quot;, AtomicString::ConstructFromLiteral));
&gt; +    DEFINE_STATIC_LOCAL(const AtomicString, xFrameHeaderPrefix, (&quot;x-frame-&quot;, AtomicString::ConstructFromLiteral));
&gt; +    DEFINE_STATIC_LOCAL(const AtomicString, xWebKitHeaderPrefix, (&quot;x-webkit-&quot;, AtomicString::ConstructFromLiteral));
&gt; +    DEFINE_STATIC_LOCAL(const AtomicString, xXSSHeaderPrefix, (&quot;x-xss-&quot;, AtomicString::ConstructFromLiteral));

What&apos;s the benefit of having AtomicStrings here? These constants are only used as prefixes AFAICT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825638</commentid>
    <comment_count>13</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-05 10:55:00 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 186604 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=186604&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedResource.cpp:740
&gt; &gt;      DEFINE_STATIC_LOCAL(const AtomicString, contentHeaderPrefix, (&quot;content-&quot;, AtomicString::ConstructFromLiteral));
&gt; &gt; +    DEFINE_STATIC_LOCAL(const AtomicString, xContentHeaderPrefix, (&quot;x-content-&quot;, AtomicString::ConstructFromLiteral));
&gt; &gt; +    DEFINE_STATIC_LOCAL(const AtomicString, xFrameHeaderPrefix, (&quot;x-frame-&quot;, AtomicString::ConstructFromLiteral));
&gt; &gt; +    DEFINE_STATIC_LOCAL(const AtomicString, xWebKitHeaderPrefix, (&quot;x-webkit-&quot;, AtomicString::ConstructFromLiteral));
&gt; &gt; +    DEFINE_STATIC_LOCAL(const AtomicString, xXSSHeaderPrefix, (&quot;x-xss-&quot;, AtomicString::ConstructFromLiteral));
&gt; 
&gt; What&apos;s the benefit of having AtomicStrings here? These constants are only used as prefixes AFAICT.

They&apos;re only used as prefixes, correct. AtomicString is probably overkill.

I&apos;m not even sure this is going to be called often enough to worry about defining static locals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825695</commentid>
    <comment_count>14</comment_count>
      <attachid>186674</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-05 12:18:14 -0800</bug_when>
    <thetext>Created attachment 186674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825696</commentid>
    <comment_count>15</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-05 12:19:58 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Created an attachment (id=186674) [details]
&gt; Patch

This patch drops the static locals in favor of string literals. I don&apos;t think it&apos;ll end up making a performance difference; if it does, I&apos;ll happily put thought into optimizing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825744</commentid>
    <comment_count>16</comment_count>
      <attachid>186674</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-02-05 13:06:48 -0800</bug_when>
    <thetext>Comment on attachment 186674
Patch

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

Looks good to me.

&gt; Source/WebCore/loader/cache/CachedResource.cpp:741
&gt;          // Don&apos;t allow 304 response to update content headers, these can&apos;t change but some servers send wrong values.

This comment seems incomplete now.

In fact, I&apos;d be pretty surprised to see this list of prefixes in code without reading this bug first.

Some things to explain would be: (1) entity header fields should not be sent with 304 responses, but when they are, we ignore them, and (2) per RFC 2612 paragraph 7.1, all extension header fields are treated as entity header fields, and (3) why we have specific prefixes instead of just &quot;x-&quot;.

Possibly fourth thing to explain, or maybe a flaw with this patch: why are other entity headers not here, namely Expires and Last-Modified?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826169</commentid>
    <comment_count>17</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-06 00:28:48 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 186674 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=186674&amp;action=review
&gt; 
&gt; Looks good to me.
&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedResource.cpp:741
&gt; &gt;          // Don&apos;t allow 304 response to update content headers, these can&apos;t change but some servers send wrong values.
&gt; 
&gt; This comment seems incomplete now.
&gt; 
&gt; In fact, I&apos;d be pretty surprised to see this list of prefixes in code without reading this bug first.
&gt; 
&gt; Some things to explain would be: (1) entity header fields should not be sent with 304 responses, but when they are, we ignore them, and (2) per RFC 2612 paragraph 7.1, all extension header fields are treated as entity header fields, and (3) why we have specific prefixes instead of just &quot;x-&quot;.
&gt; 
&gt; Possibly fourth thing to explain, or maybe a flaw with this patch: why are other entity headers not here, namely Expires and Last-Modified?

You&apos;re right. I originally wanted to keep this change as small and simple as possible, but it would be better to be complete. I&apos;ll change this method to match Chromium&apos;s network stack which filters more completely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826198</commentid>
    <comment_count>18</comment_count>
      <attachid>186782</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-06 01:16:16 -0800</bug_when>
    <thetext>Created attachment 186782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826329</commentid>
    <comment_count>19</comment_count>
      <attachid>186824</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-06 04:29:20 -0800</bug_when>
    <thetext>Created attachment 186824
Patch for landing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826332</commentid>
    <comment_count>20</comment_count>
      <attachid>186824</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-06 04:31:53 -0800</bug_when>
    <thetext>Comment on attachment 186824
Patch for landing?

(In reply to comment #19)
&gt; Created an attachment (id=186824) [details]
&gt; Patch for landing?

I&apos;ve addressed your feedback, and I&apos;m carrying over your r+, ap. I&apos;d appreciate, however, it if you took another look at the patch since it&apos;s changed quite a bit. If you like it, cq+ it, please. If not, let me know and I&apos;ll take another pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826578</commentid>
    <comment_count>21</comment_count>
      <attachid>186824</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-02-06 11:13:17 -0800</bug_when>
    <thetext>Comment on attachment 186824
Patch for landing?

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

&gt; Source/WebCore/ChangeLog:30
&gt; +            In an anonymous namespace, this patch adds two arrays containing the

We don&apos;t use anonymous namespaces, because they make debugging harder (can&apos;t easily reference symbols in debugger command line), and also as a coding style matter for consistency with existing code.

Constant global variables already have the right linkage in C++.

&gt; Source/WebCore/loader/cache/CachedResource.cpp:65
&gt; +const char* const headersToIgnoreAfterRevalidation[] = {

This is actual meaningful code for this file, I&apos;d put it below WTF forward declaration.

&gt; Source/WebCore/loader/cache/CachedResource.cpp:108
&gt;  template&lt;&gt; struct SequenceMemoryInstrumentationTraits&lt;WebCore::CachedResourceClient*&gt; {

I wonder why we have to forward declare something from WTF. This does not look safe.

&gt; Source/WebCore/loader/cache/CachedResource.cpp:790
&gt; +        // such headers to update the original request. To match Chromium&apos;s
&gt; +        // network stack, we&apos;ll base this on the list defined by RFC2616 7.1,

I&apos;d phrase this a little differently. It&apos;s not a goal to match Chromium&apos;s network stack. We do that because we think that its behavior makes sense, not because it&apos;s critical to have the same list here and there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826630</commentid>
    <comment_count>22</comment_count>
      <attachid>186892</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-06 12:14:02 -0800</bug_when>
    <thetext>Created attachment 186892
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826632</commentid>
    <comment_count>23</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-06 12:17:08 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 186824 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=186824&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:30
&gt; &gt; +            In an anonymous namespace, this patch adds two arrays containing the
&gt; 
&gt; We don&apos;t use anonymous namespaces, because they make debugging harder (can&apos;t easily reference symbols in debugger command line), and also as a coding style matter for consistency with existing code.
&gt; 
&gt; Constant global variables already have the right linkage in C++.

Makes sense, thanks.

&gt; &gt; Source/WebCore/loader/cache/CachedResource.cpp:790
&gt; &gt; +        // such headers to update the original request. To match Chromium&apos;s
&gt; &gt; +        // network stack, we&apos;ll base this on the list defined by RFC2616 7.1,
&gt; 
&gt; I&apos;d phrase this a little differently. It&apos;s not a goal to match Chromium&apos;s network stack. We do that because we think that its behavior makes sense, not because it&apos;s critical to have the same list here and there.

I&apos;ve adjusted this comment to drop the reference to Chromium. The ChangeLog still refers to Chromium, but only in the context of referring to it as the source of this list.

Thanks for taking another look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826655</commentid>
    <comment_count>24</comment_count>
      <attachid>186892</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-02-06 12:41:56 -0800</bug_when>
    <thetext>Comment on attachment 186892
Patch

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827085</commentid>
    <comment_count>25</comment_count>
      <attachid>186892</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-06 23:42:55 -0800</bug_when>
    <thetext>Comment on attachment 186892
Patch

Clearing flags on attachment: 186892

Committed r142068: &lt;http://trac.webkit.org/changeset/142068&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827086</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-06 23:43:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115239</attachid>
            <date>2011-11-15 14:03:11 -0800</date>
            <delta_ts>2011-11-15 14:55:11 -0800</delta_ts>
            <desc>Flunking testcases</desc>
            <filename>patch_72414.txt</filename>
            <type>text/plain</type>
            <size>7520</size>
            <attacher name="Thomas Sepez">tsepez</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L2NhY2hlZC1mcmFtZS1jc3AtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFt
ZS1jc3AtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IFJlZnVzZWQgdG8gZXhlY3V0ZSBpbmxpbmUgc2NyaXB0IGJlY2F1c2Ugb2YgQ29udGVudC1T
ZWN1cml0eS1Qb2xpY3kuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBSZWZ1c2VkIHRvIGV4
ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIG9mIENvbnRlbnQtU2VjdXJpdHktUG9saWN5Lgor
CitBTEVSVDogcGFzcyAtIGRvY3VtZW50IHdhcyBjYWNoZWQKKworQ2hlY2sgdGhhdCBhIENTUCBo
ZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lc24ndCBvdmVycmlkZSBvbmUgZnJvbSB0
aGUgb3JpZ2luYWwgcmVxdWVzdC4KKworCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvY2FjaGVkLWZyYW1lLWNzcC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNz
cC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGJvZHk+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5zZXRYU1NBdWRpdG9yRW5hYmxlZCh0cnVlKTsKK30KKworZnVuY3Rpb24gY2hl
Y2syKCkKK3sKKyAgICB2YXIgdzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZjEiKS5jb250
ZW50V2luZG93OworICAgIHZhciB3MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmMiIpLmNv
bnRlbnRXaW5kb3c7CisgICAgdmFyIHIxID0gdzEuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJh
bmQiKTsKKyAgICB2YXIgcjIgPSB3Mi5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmFuZCIpOwor
ICAgIGlmIChyMS52YWx1ZSA9PSByMi52YWx1ZSkKKyAgICAgICAgYWxlcnQoInBhc3MgLSBkb2N1
bWVudCB3YXMgY2FjaGVkIik7CisgICAgZWxzZQorICAgICAgICBhbGVydCgiZmFpbCAtIGRvY3Vt
ZW50IGdlbmVyYXRlZCB0d2ljZSIpOworfQorCitmdW5jdGlvbiBsb2FkMigpCit7CisgICAgdmFy
IGYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICBmLmlkID0gImYyIjsK
KyAgICBmLnNyYyA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbCI7CisgICAgZi5vbmxvYWQgPSBj
aGVjazI7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmKTsKK30KKzwvc2NyaXB0Pgor
PGlmcmFtZSBpZD0iZjEiIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvbnBoLWNhY2hlZC1jc3AucGwiIG9ubG9hZD0ibG9h
ZDIoKSI+PC9pZnJhbWU+Cis8cD5DaGVjayB0aGF0IGEgQ1NQIGhlYWRlciBhZGRlZCBieSBhIDMw
NCByZXNwb25zZSBkb2Vzbid0IG92ZXJyaWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0
LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9yZXNvdXJjZXMvbnBoLWNhY2hlZC1jc3AucGwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNv
dXJjZXMvbnBoLWNhY2hlZC1jc3AucGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzIgQEAKKyMh
L3Vzci9iaW4vcGVybAorIyBTY3JpcHQgdG8gZ2VuZXJhdGUgYSAzMDQgSFRUUCBzdGF0dXMgd2l0
aCAoaWxsZWdhbCkgWC1YU1MtUHJvdGVjdCBoZWFkZXJzLgorIyBSZWxpZXMgb24gaXRzIG5waC0g
ZmlsZW5hbWUgdG8gaW52b2tlIHRoZSBDR0kgbm9uLXBhcnNlZC1oZWFkZXIgZmFjaWxpdHkuCisK
KyRwcm90b2NvbCA9ICRFTlZ7J1NFUlZFUl9QUk9UT0NPTCd9OworJHNvZnR3YXJlID0gJEVOVnsn
U0VSVkVSX1NPRlRXQVJFJ307CiskaWZfbW9kaWZpZWQgPSAkRU5WeydIVFRQX0lGX01PRElGSUVE
X1NJTkNFJ307Ciskbm9uY2UgPSBpbnQocmFuZCgxMDAwMDApKTsKKworaWYgKCRpZl9tb2RpZmll
ZCkgeworICAgIHByaW50ICIkcHJvdG9jb2wgMzA0IE5vdCBNb2RpZmllZFxyXG4iOworICAgIHBy
aW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworICAgIHByaW50ICJYLVdlYktpdC1DU1A6IHNj
cmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnXHJcbiI7CisgICAgcHJpbnQgIkNvbm5lY3Rpb246IGNs
b3NlXHJcbiI7CisgICAgZXhpdCgwKTsKK30KKworcHJpbnQgIiRwcm90b2NvbCAyMDAgT0tcclxu
IjsKK3ByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworcHJpbnQgIkNvbnRlbnQtdHlwZTog
dGV4dC9odG1sXHJcbiI7CitwcmludCAiQ2FjaGUtY29udHJvbDogbWF4LWFnZT0wXHJcbiI7Citw
cmludCAiRXhwaXJlczogV2VkLCAyMSBOb3YgMjAxMiAxOToxOToxMyArMDAwMFxyXG4iOworcHJp
bnQgIkxhc3QtTW9kaWZpZWQ6IE1vbiwgMDggTm92IDIwMTAgMTk6MTk6MTMgKzAwMDBcclxuIjsK
K3ByaW50ICJYLVdlYktpdC1DU1A6IHNjcmlwdC1zcmMgJ25vbmUnXHJcbiI7CitwcmludCAiXHJc
biI7CitwcmludCAiPCFET0NUWVBFIGh0bWw+XHJcbiI7CitwcmludCAiPGh0bWw+XHJcbiI7Citw
cmludCAiPGJvZHk+XHJcbiI7CitwcmludCAiPGlucHV0IGlkPVwicmFuZFwiIHR5cGU9XCJ0ZXh0
XCIgdmFsdWU9XCIkbm9uY2VcIi8+XHJcbiI7CitwcmludCAiPHNjcmlwdD5hbGVydCgnRkFJTCcp
Ozwvc2NyaXB0PlxyXG4iOworcHJpbnQgIjwvYm9keT5cclxuIjsKK3ByaW50ICI8L2h0bWw+XHJc
biI7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvbnBoLWNhY2hlZC1jc3AucGwKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2Nh
Y2hlZC1mcmFtZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogUmVmdXNl
ZCB0byBleGVjdXRlIGEgSmF2YVNjcmlwdCBzY3JpcHQuIFNvdXJjZSBjb2RlIG9mIHNjcmlwdCBm
b3VuZCB3aXRoaW4gcmVxdWVzdC4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFJlZnVzZWQg
dG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29kZSBvZiBzY3JpcHQgZm91
bmQgd2l0aGluIHJlcXVlc3QuCisKK0FMRVJUOiBwYXNzIC0gZG9jdW1lbnQgd2FzIGNhY2hlZAor
CitDaGVjayB0aGF0IGFuIFgtWFNTLVByb3RlY3Rpb24gaGVhZGVyIGFkZGVkIGJ5IGEgMzA0IHJl
c3BvbnNlIGRvZXNuJ3Qgb3ZlcnJpZGUgb25lIGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuCisK
KwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hl
ZC1mcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
c2V0WFNTQXVkaXRvckVuYWJsZWQodHJ1ZSk7Cit9CisKK2Z1bmN0aW9uIGNoZWNrMigpCit7Cisg
ICAgdmFyIHcxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImYxIikuY29udGVudFdpbmRvdzsK
KyAgICB2YXIgdzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZjIiKS5jb250ZW50V2luZG93
OworICAgIHZhciByMSA9IHcxLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyYW5kIik7CisgICAg
dmFyIHIyID0gdzIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJhbmQiKTsKKyAgICBpZiAocjEu
dmFsdWUgPT0gcjIudmFsdWUpCisgICAgICAgIGFsZXJ0KCJwYXNzIC0gZG9jdW1lbnQgd2FzIGNh
Y2hlZCIpOworICAgIGVsc2UKKyAgICAgICAgYWxlcnQoImZhaWwgLSBkb2N1bWVudCBnZW5lcmF0
ZWQgdHdpY2UiKTsKK30KKworZnVuY3Rpb24gbG9hZDIoKQoreworICAgIHZhciBmID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAgZi5pZCA9ICJmMiI7CisgICAgZi5zcmMg
PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL25w
aC1jYWNoZWQucGw/cT0lM2NzY3JpcHQlM2VhbGVydCgvWFNTLyk7JTNjL3NjcmlwdCUzZSI7Cisg
ICAgZi5vbmxvYWQgPSBjaGVjazI7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmKTsK
K30KKzwvc2NyaXB0PgorPGlmcmFtZSBpZD0iZjEiIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL25waC1jYWNoZWQucGw/cT0lM2NzY3JpcHQl
M2VhbGVydCgvWFNTLyk7JTNjL3NjcmlwdCUzZSIgb25sb2FkPSJsb2FkMigpIj48L2lmcmFtZT4K
KzxwPkNoZWNrIHRoYXQgYW4gWC1YU1MtUHJvdGVjdGlvbiBoZWFkZXIgYWRkZWQgYnkgYSAzMDQg
cmVzcG9uc2UgZG9lc24ndCBvdmVycmlkZSBvbmUgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdC48
L3A+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL25waC1jYWNoZWQucGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291cmNlcy9ucGgtY2Fj
aGVkLnBsCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94
c3NBdWRpdG9yL3Jlc291cmNlcy9ucGgtY2FjaGVkLnBsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDMyIEBACisjIS91c3IvYmluL3BlcmwKKyMgU2NyaXB0IHRvIGdlbmVyYXRlIGEgMzA0IEhUVFAg
c3RhdHVzIHdpdGggKGlsbGVnYWwpIFgtWFNTLVByb3RlY3QgaGVhZGVycy4KKyMgUmVsaWVzIG9u
IGl0cyBucGgtIGZpbGVuYW1lIHRvIGludm9rZSB0aGUgQ0dJIG5vbi1wYXJzZWQtaGVhZGVyIGZh
Y2lsaXR5LgorCiskcHJvdG9jb2wgPSAkRU5WeydTRVJWRVJfUFJPVE9DT0wnfTsKKyRzb2Z0d2Fy
ZSA9ICRFTlZ7J1NFUlZFUl9TT0ZUV0FSRSd9OworJGlmX21vZGlmaWVkID0gJEVOVnsnSFRUUF9J
Rl9NT0RJRklFRF9TSU5DRSd9OworJG5vbmNlID0gaW50KHJhbmQoMTAwMDAwKSk7CisKK2lmICgk
aWZfbW9kaWZpZWQpIHsKKyAgICBwcmludCAiJHByb3RvY29sIDMwNCBOb3QgTW9kaWZpZWRcclxu
IjsKKyAgICBwcmludCAiU2VydmVyOiAkc29mdHdhcmVcclxuIjsKKyAgICBwcmludCAiWC1YU1Mt
UHJvdGVjdGlvbjogMFxyXG4iOworICAgIHByaW50ICJDb25uZWN0aW9uOiBjbG9zZVxyXG4iOwor
ICAgIGV4aXQoMCk7Cit9CisKK3ByaW50ICIkcHJvdG9jb2wgMjAwIE9LXHJcbiI7CitwcmludCAi
U2VydmVyOiAkc29mdHdhcmVcclxuIjsKK3ByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxy
XG4iOworcHJpbnQgIkNhY2hlLWNvbnRyb2w6IG1heC1hZ2U9MFxyXG4iOworcHJpbnQgIkV4cGly
ZXM6IFdlZCwgMjEgTm92IDIwMTIgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJMYXN0LU1v
ZGlmaWVkOiBNb24sIDA4IE5vdiAyMDEwIDE5OjE5OjEzICswMDAwXHJcbiI7CitwcmludCAiWC1Y
U1MtUHJvdGVjdGlvbjogMVxyXG4iOworcHJpbnQgIlxyXG4iOworcHJpbnQgIjwhRE9DVFlQRSBo
dG1sPlxyXG4iOworcHJpbnQgIjxodG1sPlxyXG4iOworcHJpbnQgIjxib2R5PlxyXG4iOworcHJp
bnQgIjxpbnB1dCBpZD1cInJhbmRcIiB0eXBlPVwidGV4dFwiIHZhbHVlPVwiJG5vbmNlXCIvPlxy
XG4iOworcHJpbnQgIjxzY3JpcHQ+YWxlcnQoL1hTUy8pOzwvc2NyaXB0PlxyXG4iOworcHJpbnQg
IjwvYm9keT5cclxuIjsKK3ByaW50ICI8L2h0bWw+XHJcbiI7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL25w
aC1jYWNoZWQucGwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115255</attachid>
            <date>2011-11-15 14:55:11 -0800</date>
            <delta_ts>2013-02-05 04:43:09 -0800</delta_ts>
            <desc>Flunking testcases</desc>
            <filename>patch_72414.txt</filename>
            <type>text/plain</type>
            <size>7519</size>
            <attacher name="Thomas Sepez">tsepez</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L2NhY2hlZC1mcmFtZS1jc3AtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFt
ZS1jc3AtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IFJlZnVzZWQgdG8gZXhlY3V0ZSBpbmxpbmUgc2NyaXB0IGJlY2F1c2Ugb2YgQ29udGVudC1T
ZWN1cml0eS1Qb2xpY3kuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBSZWZ1c2VkIHRvIGV4
ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIG9mIENvbnRlbnQtU2VjdXJpdHktUG9saWN5Lgor
CitBTEVSVDogcGFzcyAtIGRvY3VtZW50IHdhcyBjYWNoZWQKKworQ2hlY2sgdGhhdCBhIENTUCBo
ZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lc24ndCBvdmVycmlkZSBvbmUgZnJvbSB0
aGUgb3JpZ2luYWwgcmVxdWVzdC4KKworCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvY2FjaGVkLWZyYW1lLWNzcC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNz
cC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGJvZHk+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5zZXRYU1NBdWRpdG9yRW5hYmxlZCh0cnVlKTsKK30KKworZnVuY3Rpb24gY2hl
Y2syKCkKK3sKKyAgICB2YXIgdzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZjEiKS5jb250
ZW50V2luZG93OworICAgIHZhciB3MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmMiIpLmNv
bnRlbnRXaW5kb3c7CisgICAgdmFyIHIxID0gdzEuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJh
bmQiKTsKKyAgICB2YXIgcjIgPSB3Mi5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmFuZCIpOwor
ICAgIGlmIChyMS52YWx1ZSA9PSByMi52YWx1ZSkKKyAgICAgICAgYWxlcnQoInBhc3MgLSBkb2N1
bWVudCB3YXMgY2FjaGVkIik7CisgICAgZWxzZQorICAgICAgICBhbGVydCgiZmFpbCAtIGRvY3Vt
ZW50IGdlbmVyYXRlZCB0d2ljZSIpOworfQorCitmdW5jdGlvbiBsb2FkMigpCit7CisgICAgdmFy
IGYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICBmLmlkID0gImYyIjsK
KyAgICBmLnNyYyA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbCI7CisgICAgZi5vbmxvYWQgPSBj
aGVjazI7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmKTsKK30KKzwvc2NyaXB0Pgor
PGlmcmFtZSBpZD0iZjEiIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvbnBoLWNhY2hlZC1jc3AucGwiIG9ubG9hZD0ibG9h
ZDIoKSI+PC9pZnJhbWU+Cis8cD5DaGVjayB0aGF0IGEgQ1NQIGhlYWRlciBhZGRlZCBieSBhIDMw
NCByZXNwb25zZSBkb2Vzbid0IG92ZXJyaWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0
LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9yZXNvdXJjZXMvbnBoLWNhY2hlZC1jc3AucGwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNv
dXJjZXMvbnBoLWNhY2hlZC1jc3AucGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzIgQEAKKyMh
L3Vzci9iaW4vcGVybAorIyBTY3JpcHQgdG8gZ2VuZXJhdGUgYSAzMDQgSFRUUCBzdGF0dXMgd2l0
aCAoaWxsZWdhbCkgWC1XZWJLaXQtQ1NQIGhlYWRlcnMuCisjIFJlbGllcyBvbiBpdHMgbnBoLSBm
aWxlbmFtZSB0byBpbnZva2UgdGhlIENHSSBub24tcGFyc2VkLWhlYWRlciBmYWNpbGl0eS4KKwor
JHByb3RvY29sID0gJEVOVnsnU0VSVkVSX1BST1RPQ09MJ307Ciskc29mdHdhcmUgPSAkRU5WeydT
RVJWRVJfU09GVFdBUkUnfTsKKyRpZl9tb2RpZmllZCA9ICRFTlZ7J0hUVFBfSUZfTU9ESUZJRURf
U0lOQ0UnfTsKKyRub25jZSA9IGludChyYW5kKDEwMDAwMCkpOworCitpZiAoJGlmX21vZGlmaWVk
KSB7CisgICAgcHJpbnQgIiRwcm90b2NvbCAzMDQgTm90IE1vZGlmaWVkXHJcbiI7CisgICAgcHJp
bnQgIlNlcnZlcjogJHNvZnR3YXJlXHJcbiI7CisgICAgcHJpbnQgIlgtV2ViS2l0LUNTUDogc2Ny
aXB0LXNyYyAndW5zYWZlLWlubGluZSdcclxuIjsKKyAgICBwcmludCAiQ29ubmVjdGlvbjogY2xv
c2VcclxuIjsKKyAgICBleGl0KDApOworfQorCitwcmludCAiJHByb3RvY29sIDIwMCBPS1xyXG4i
OworcHJpbnQgIlNlcnZlcjogJHNvZnR3YXJlXHJcbiI7CitwcmludCAiQ29udGVudC10eXBlOiB0
ZXh0L2h0bWxcclxuIjsKK3ByaW50ICJDYWNoZS1jb250cm9sOiBtYXgtYWdlPTBcclxuIjsKK3By
aW50ICJFeHBpcmVzOiBXZWQsIDIxIE5vdiAyMDM3IDE5OjE5OjEzICswMDAwXHJcbiI7Citwcmlu
dCAiTGFzdC1Nb2RpZmllZDogTW9uLCAwOCBOb3YgMjAxMCAxOToxOToxMyArMDAwMFxyXG4iOwor
cHJpbnQgIlgtV2ViS2l0LUNTUDogc2NyaXB0LXNyYyAnbm9uZSdcclxuIjsKK3ByaW50ICJcclxu
IjsKK3ByaW50ICI8IURPQ1RZUEUgaHRtbD5cclxuIjsKK3ByaW50ICI8aHRtbD5cclxuIjsKK3By
aW50ICI8Ym9keT5cclxuIjsKK3ByaW50ICI8aW5wdXQgaWQ9XCJyYW5kXCIgdHlwZT1cInRleHRc
IiB2YWx1ZT1cIiRub25jZVwiLz5cclxuIjsKK3ByaW50ICI8c2NyaXB0PmFsZXJ0KCdGQUlMJyk7
PC9zY3JpcHQ+XHJcbiI7CitwcmludCAiPC9ib2R5PlxyXG4iOworcHJpbnQgIjwvaHRtbD5cclxu
IjsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbApfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQogICArICoKCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2Fj
aGVkLWZyYW1lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBSZWZ1c2Vk
IHRvIGV4ZWN1dGUgYSBKYXZhU2NyaXB0IHNjcmlwdC4gU291cmNlIGNvZGUgb2Ygc2NyaXB0IGZv
dW5kIHdpdGhpbiByZXF1ZXN0LgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogUmVmdXNlZCB0
byBleGVjdXRlIGEgSmF2YVNjcmlwdCBzY3JpcHQuIFNvdXJjZSBjb2RlIG9mIHNjcmlwdCBmb3Vu
ZCB3aXRoaW4gcmVxdWVzdC4KKworQUxFUlQ6IHBhc3MgLSBkb2N1bWVudCB3YXMgY2FjaGVkCisK
K0NoZWNrIHRoYXQgYW4gWC1YU1MtUHJvdGVjdGlvbiBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVz
cG9uc2UgZG9lc24ndCBvdmVycmlkZSBvbmUgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdC4KKwor
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVk
LWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5z
ZXRYU1NBdWRpdG9yRW5hYmxlZCh0cnVlKTsKK30KKworZnVuY3Rpb24gY2hlY2syKCkKK3sKKyAg
ICB2YXIgdzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZjEiKS5jb250ZW50V2luZG93Owor
ICAgIHZhciB3MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmMiIpLmNvbnRlbnRXaW5kb3c7
CisgICAgdmFyIHIxID0gdzEuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJhbmQiKTsKKyAgICB2
YXIgcjIgPSB3Mi5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmFuZCIpOworICAgIGlmIChyMS52
YWx1ZSA9PSByMi52YWx1ZSkKKyAgICAgICAgYWxlcnQoInBhc3MgLSBkb2N1bWVudCB3YXMgY2Fj
aGVkIik7CisgICAgZWxzZQorICAgICAgICBhbGVydCgiZmFpbCAtIGRvY3VtZW50IGdlbmVyYXRl
ZCB0d2ljZSIpOworfQorCitmdW5jdGlvbiBsb2FkMigpCit7CisgICAgdmFyIGYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICBmLmlkID0gImYyIjsKKyAgICBmLnNyYyA9
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBo
LWNhY2hlZC5wbD9xPSUzY3NjcmlwdCUzZWFsZXJ0KC9YU1MvKTslM2Mvc2NyaXB0JTNlIjsKKyAg
ICBmLm9ubG9hZCA9IGNoZWNrMjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGYpOwor
fQorPC9zY3JpcHQ+Cis8aWZyYW1lIGlkPSJmMSIgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
c2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBoLWNhY2hlZC5wbD9xPSUzY3NjcmlwdCUz
ZWFsZXJ0KC9YU1MvKTslM2Mvc2NyaXB0JTNlIiBvbmxvYWQ9ImxvYWQyKCkiPjwvaWZyYW1lPgor
PHA+Q2hlY2sgdGhhdCBhbiBYLVhTUy1Qcm90ZWN0aW9uIGhlYWRlciBhZGRlZCBieSBhIDMwNCBy
ZXNwb25zZSBkb2Vzbid0IG92ZXJyaWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0Ljwv
cD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBoLWNhY2hlZC5wbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL25waC1jYWNo
ZWQucGwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hz
c0F1ZGl0b3IvcmVzb3VyY2VzL25waC1jYWNoZWQucGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MzIgQEAKKyMhL3Vzci9iaW4vcGVybAorIyBTY3JpcHQgdG8gZ2VuZXJhdGUgYSAzMDQgSFRUUCBz
dGF0dXMgd2l0aCAoaWxsZWdhbCkgWC1YU1MtUHJvdGVjdCBoZWFkZXJzLgorIyBSZWxpZXMgb24g
aXRzIG5waC0gZmlsZW5hbWUgdG8gaW52b2tlIHRoZSBDR0kgbm9uLXBhcnNlZC1oZWFkZXIgZmFj
aWxpdHkuCisKKyRwcm90b2NvbCA9ICRFTlZ7J1NFUlZFUl9QUk9UT0NPTCd9OworJHNvZnR3YXJl
ID0gJEVOVnsnU0VSVkVSX1NPRlRXQVJFJ307CiskaWZfbW9kaWZpZWQgPSAkRU5WeydIVFRQX0lG
X01PRElGSUVEX1NJTkNFJ307Ciskbm9uY2UgPSBpbnQocmFuZCgxMDAwMDApKTsKKworaWYgKCRp
Zl9tb2RpZmllZCkgeworICAgIHByaW50ICIkcHJvdG9jb2wgMzA0IE5vdCBNb2RpZmllZFxyXG4i
OworICAgIHByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworICAgIHByaW50ICJYLVhTUy1Q
cm90ZWN0aW9uOiAwXHJcbiI7CisgICAgcHJpbnQgIkNvbm5lY3Rpb246IGNsb3NlXHJcbiI7Cisg
ICAgZXhpdCgwKTsKK30KKworcHJpbnQgIiRwcm90b2NvbCAyMDAgT0tcclxuIjsKK3ByaW50ICJT
ZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXHJc
biI7CitwcmludCAiQ2FjaGUtY29udHJvbDogbWF4LWFnZT0wXHJcbiI7CitwcmludCAiRXhwaXJl
czogV2VkLCAyMSBOb3YgMjAzNyAxOToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIkxhc3QtTW9k
aWZpZWQ6IE1vbiwgMDggTm92IDIwMTAgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJYLVhT
Uy1Qcm90ZWN0aW9uOiAxXHJcbiI7CitwcmludCAiXHJcbiI7CitwcmludCAiPCFET0NUWVBFIGh0
bWw+XHJcbiI7CitwcmludCAiPGh0bWw+XHJcbiI7CitwcmludCAiPGJvZHk+XHJcbiI7Citwcmlu
dCAiPGlucHV0IGlkPVwicmFuZFwiIHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCIkbm9uY2VcIi8+XHJc
biI7CitwcmludCAiPHNjcmlwdD5hbGVydCgvWFNTLyk7PC9zY3JpcHQ+XHJcbiI7CitwcmludCAi
PC9ib2R5PlxyXG4iOworcHJpbnQgIjwvaHRtbD5cclxuIjsKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBo
LWNhY2hlZC5wbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQogICArICoKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115416</attachid>
            <date>2011-11-16 11:34:55 -0800</date>
            <delta_ts>2013-02-05 04:43:14 -0800</delta_ts>
            <desc>Flunking testcases</desc>
            <filename>patch_72414.txt</filename>
            <type>text/plain</type>
            <size>10747</size>
            <attacher name="Thomas Sepez">tsepez</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZy
YW1lLW9wdGlvbnMtY2FjaGVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorQUxFUlQ6IFRoaXMgbXVzdCBmaXJlIHR3aWNl
CitBTEVSVDogVGhpcyBtdXN0IGZpcmUgdHdpY2UKKworQ2hlY2sgdGhhdCBhbiBYLUZyYW1lLU9w
dGlvbnMgaGVhZGVyIGFkZGVkIGJ5IGEgMzA0IHJlc3BvbnNlIGRvZXNuJ3Qgb3ZlcnJpZGUgb25l
IGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuCisKK0RvIHRoaXMgYXMgYW4gYWxsb3cgZm9sbG93
ZWQgYnkgZGVueSBiZWNhdXNlIGRlbnkgZm9sbG93ZWQgYnkgYWxsb3cgZG9lc24ndCB0cmlnZ2Vy
IHRoZSBvbiBoYW5kbGVyIHRvIGdldCB0aGUgc2Vjb25kIGZyYW1lLgorCisKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMt
Y2FjaGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9YRnJhbWVPcHRpb25zL3gtZnJhbWUtb3B0aW9ucy1jYWNoZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1l
LW9wdGlvbnMtY2FjaGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
fQorCitmdW5jdGlvbiBsb2FkMigpCit7CisgICAgdmFyIGYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdpZnJhbWUnKTsKKyAgICBmLnNyYyA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJp
dHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwiOworICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoZik7Cit9Cis8L3NjcmlwdD4KKzxpZnJhbWUgc3JjPSJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNh
Y2hlZC14Zm8ucGwiIG9ubG9hZD0ibG9hZDIoKSIgb25lcnJvcj0ibG9hZDIoKSI+PC9pZnJhbWU+
Cis8cD5DaGVjayB0aGF0IGFuIFgtRnJhbWUtT3B0aW9ucyBoZWFkZXIgYWRkZWQgYnkgYSAzMDQg
cmVzcG9uc2UgZG9lc24ndCBvdmVycmlkZSBvbmUgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdC48
L3A+Cis8cD5EbyB0aGlzIGFzIGFuIGFsbG93IGZvbGxvd2VkIGJ5IGRlbnkgYmVjYXVzZSBkZW55
IGZvbGxvd2VkIGJ5IGFsbG93IGRvZXNuJ3QgdHJpZ2dlciB0aGUgb24gaGFuZGxlciB0byBnZXQg
dGhlIHNlY29uZCBmcmFtZS48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQt
eGZvLnBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZy
YW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25w
aC1jYWNoZWQteGZvLnBsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMwIEBACisjIS91c3IvYmlu
L3BlcmwKKyMgU2NyaXB0IHRvIGdlbmVyYXRlIGEgMzA0IEhUVFAgc3RhdHVzIHdpdGggKGlsbGVn
YWwpIFgtRnJhbWUtT3B0aW9ucyBoZWFkZXJzLgorIyBSZWxpZXMgb24gaXRzIG5waC0gZmlsZW5h
bWUgdG8gaW52b2tlIHRoZSBDR0kgbm9uLXBhcnNlZC1oZWFkZXIgZmFjaWxpdHkuCisKKyRwcm90
b2NvbCA9ICRFTlZ7J1NFUlZFUl9QUk9UT0NPTCd9OworJHNvZnR3YXJlID0gJEVOVnsnU0VSVkVS
X1NPRlRXQVJFJ307CiskaWZfbW9kaWZpZWQgPSAkRU5WeydIVFRQX0lGX01PRElGSUVEX1NJTkNF
J307CisKK2lmICgkaWZfbW9kaWZpZWQpIHsKKyAgICBwcmludCAiJHByb3RvY29sIDMwNCBOb3Qg
TW9kaWZpZWRcclxuIjsKKyAgICBwcmludCAiU2VydmVyOiAkc29mdHdhcmVcclxuIjsKKyAgICBw
cmludCAiWC1GcmFtZS1PcHRpb25zOiBkZW55XHJcbiI7CisgICAgcHJpbnQgIkNvbm5lY3Rpb246
IGNsb3NlXHJcbiI7CisgICAgZXhpdCgwKTsKK30KKworcHJpbnQgIiRwcm90b2NvbCAyMDAgT0tc
clxuIjsKK3ByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworcHJpbnQgIkNvbnRlbnQtdHlw
ZTogdGV4dC9odG1sXHJcbiI7CitwcmludCAiQ2FjaGUtY29udHJvbDogbWF4LWFnZT0wXHJcbiI7
CitwcmludCAiRXhwaXJlczogV2VkLCAyMSBOb3YgMjAzNyAxOToxOToxMyArMDAwMFxyXG4iOwor
cHJpbnQgIkxhc3QtTW9kaWZpZWQ6IE1vbiwgMDggTm92IDIwMTAgMTk6MTk6MTMgKzAwMDBcclxu
IjsKK3ByaW50ICJYLUZyYW1lLU9wdGlvbnM6IGFsbG93YWxsXHJcbiI7CitwcmludCAiXHJcbiI7
CitwcmludCAiPCFET0NUWVBFIGh0bWw+XHJcbiI7CitwcmludCAiPGh0bWw+XHJcbiI7Citwcmlu
dCAiPGJvZHk+XHJcbiI7CitwcmludCAiPHNjcmlwdD5hbGVydChcIlRoaXMgbXVzdCBmaXJlIHR3
aWNlXCIpOzwvc2NyaXB0PlxyXG4iOworcHJpbnQgIjwvYm9keT5cclxuIjsKK3ByaW50ICI8L2h0
bWw+XHJcbiI7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFtZS1jc3AtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFtZS1jc3AtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFJlZnVzZWQgdG8gZXhlY3V0ZSBp
bmxpbmUgc2NyaXB0IGJlY2F1c2Ugb2YgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kuCisKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAxOiBSZWZ1c2VkIHRvIGV4ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNh
dXNlIG9mIENvbnRlbnQtU2VjdXJpdHktUG9saWN5LgorCitBTEVSVDogcGFzcyAtIGRvY3VtZW50
IHdhcyBjYWNoZWQKKworQ2hlY2sgdGhhdCBhIENTUCBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVz
cG9uc2UgZG9lc24ndCBvdmVycmlkZSBvbmUgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdC4KKwor
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9jYWNoZWQtZnJhbWUtY3NwLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0Pgor
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKK30KKworZnVuY3Rpb24gY2hlY2syKCkKK3sKKyAgICB2YXIgdzEg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZjEiKS5jb250ZW50V2luZG93OworICAgIHZhciB3
MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmMiIpLmNvbnRlbnRXaW5kb3c7CisgICAgdmFy
IHIxID0gdzEuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJhbmQiKTsKKyAgICB2YXIgcjIgPSB3
Mi5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmFuZCIpOworICAgIGlmIChyMS52YWx1ZSA9PSBy
Mi52YWx1ZSkKKyAgICAgICAgYWxlcnQoInBhc3MgLSBkb2N1bWVudCB3YXMgY2FjaGVkIik7Cisg
ICAgZWxzZQorICAgICAgICBhbGVydCgiZmFpbCAtIGRvY3VtZW50IGdlbmVyYXRlZCB0d2ljZSIp
OworfQorCitmdW5jdGlvbiBsb2FkMigpCit7CisgICAgdmFyIGYgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdpZnJhbWUnKTsKKyAgICBmLmlkID0gImYyIjsKKyAgICBmLnNyYyA9ICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9u
cGgtY2FjaGVkLWNzcC5wbCI7CisgICAgZi5vbmxvYWQgPSBjaGVjazI7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChmKTsKK30KKzwvc2NyaXB0PgorPGlmcmFtZSBpZD0iZjEiIHNyYz0i
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNv
dXJjZXMvbnBoLWNhY2hlZC1jc3AucGwiIG9ubG9hZD0ibG9hZDIoKSI+PC9pZnJhbWU+Cis8cD5D
aGVjayB0aGF0IGEgQ1NQIGhlYWRlciBhZGRlZCBieSBhIDMwNCByZXNwb25zZSBkb2Vzbid0IG92
ZXJyaWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LjwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMv
bnBoLWNhY2hlZC1jc3AucGwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvbnBoLWNhY2hlZC1jc3Au
cGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzIgQEAKKyMhL3Vzci9iaW4vcGVybAorIyBTY3Jp
cHQgdG8gZ2VuZXJhdGUgYSAzMDQgSFRUUCBzdGF0dXMgd2l0aCAoaWxsZWdhbCkgWC1XZWJLaXQt
Q1NQIGhlYWRlcnMuCisjIFJlbGllcyBvbiBpdHMgbnBoLSBmaWxlbmFtZSB0byBpbnZva2UgdGhl
IENHSSBub24tcGFyc2VkLWhlYWRlciBmYWNpbGl0eS4KKworJHByb3RvY29sID0gJEVOVnsnU0VS
VkVSX1BST1RPQ09MJ307Ciskc29mdHdhcmUgPSAkRU5WeydTRVJWRVJfU09GVFdBUkUnfTsKKyRp
Zl9tb2RpZmllZCA9ICRFTlZ7J0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnfTsKKyRub25jZSA9IGlu
dChyYW5kKDEwMDAwMCkpOworCitpZiAoJGlmX21vZGlmaWVkKSB7CisgICAgcHJpbnQgIiRwcm90
b2NvbCAzMDQgTm90IE1vZGlmaWVkXHJcbiI7CisgICAgcHJpbnQgIlNlcnZlcjogJHNvZnR3YXJl
XHJcbiI7CisgICAgcHJpbnQgIlgtV2ViS2l0LUNTUDogc2NyaXB0LXNyYyAndW5zYWZlLWlubGlu
ZSdcclxuIjsKKyAgICBwcmludCAiQ29ubmVjdGlvbjogY2xvc2VcclxuIjsKKyAgICBleGl0KDAp
OworfQorCitwcmludCAiJHByb3RvY29sIDIwMCBPS1xyXG4iOworcHJpbnQgIlNlcnZlcjogJHNv
ZnR3YXJlXHJcbiI7CitwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcclxuIjsKK3ByaW50
ICJDYWNoZS1jb250cm9sOiBtYXgtYWdlPTBcclxuIjsKK3ByaW50ICJFeHBpcmVzOiBXZWQsIDIx
IE5vdiAyMDM3IDE5OjE5OjEzICswMDAwXHJcbiI7CitwcmludCAiTGFzdC1Nb2RpZmllZDogTW9u
LCAwOCBOb3YgMjAxMCAxOToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIlgtV2ViS2l0LUNTUDog
c2NyaXB0LXNyYyAnbm9uZSdcclxuIjsKK3ByaW50ICJcclxuIjsKK3ByaW50ICI8IURPQ1RZUEUg
aHRtbD5cclxuIjsKK3ByaW50ICI8aHRtbD5cclxuIjsKK3ByaW50ICI8Ym9keT5cclxuIjsKK3By
aW50ICI8aW5wdXQgaWQ9XCJyYW5kXCIgdHlwZT1cInRleHRcIiB2YWx1ZT1cIiRub25jZVwiLz5c
clxuIjsKK3ByaW50ICI8c2NyaXB0PmFsZXJ0KCdGQUlMJyk7PC9zY3JpcHQ+XHJcbiI7Citwcmlu
dCAiPC9ib2R5PlxyXG4iOworcHJpbnQgIjwvaHRtbD5cclxuIjsKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbApfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0
YWJsZQogICArICoKCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1
ZGl0b3IvY2FjaGVkLWZyYW1lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVk
aXRvci9jYWNoZWQtZnJhbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkg
QEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBKYXZhU2Ny
aXB0IHNjcmlwdC4gU291cmNlIGNvZGUgb2Ygc2NyaXB0IGZvdW5kIHdpdGhpbiByZXF1ZXN0Lgor
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogUmVmdXNlZCB0byBleGVjdXRlIGEgSmF2YVNjcmlw
dCBzY3JpcHQuIFNvdXJjZSBjb2RlIG9mIHNjcmlwdCBmb3VuZCB3aXRoaW4gcmVxdWVzdC4KKwor
QUxFUlQ6IHBhc3MgLSBkb2N1bWVudCB3YXMgY2FjaGVkCisKK0NoZWNrIHRoYXQgYW4gWC1YU1Mt
UHJvdGVjdGlvbiBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lc24ndCBvdmVycmlk
ZSBvbmUgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdC4KKworCkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1m
cmFtZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRYU1NBdWRpdG9yRW5hYmxlZCh0
cnVlKTsKK30KKworZnVuY3Rpb24gY2hlY2syKCkKK3sKKyAgICB2YXIgdzEgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZjEiKS5jb250ZW50V2luZG93OworICAgIHZhciB3MiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJmMiIpLmNvbnRlbnRXaW5kb3c7CisgICAgdmFyIHIxID0gdzEuZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJhbmQiKTsKKyAgICB2YXIgcjIgPSB3Mi5kb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmFuZCIpOworICAgIGlmIChyMS52YWx1ZSA9PSByMi52YWx1ZSkKKyAg
ICAgICAgYWxlcnQoInBhc3MgLSBkb2N1bWVudCB3YXMgY2FjaGVkIik7CisgICAgZWxzZQorICAg
ICAgICBhbGVydCgiZmFpbCAtIGRvY3VtZW50IGdlbmVyYXRlZCB0d2ljZSIpOworfQorCitmdW5j
dGlvbiBsb2FkMigpCit7CisgICAgdmFyIGYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJh
bWUnKTsKKyAgICBmLmlkID0gImYyIjsKKyAgICBmLnNyYyA9ICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBoLWNhY2hlZC5wbD9xPSUzY3Njcmlw
dCUzZWFsZXJ0KC9YU1MvKTslM2Mvc2NyaXB0JTNlIjsKKyAgICBmLm9ubG9hZCA9IGNoZWNrMjsK
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGYpOworfQorPC9zY3JpcHQ+Cis8aWZyYW1l
IGlkPSJmMSIgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkveHNzQXVkaXRvci9y
ZXNvdXJjZXMvbnBoLWNhY2hlZC5wbD9xPSUzY3NjcmlwdCUzZWFsZXJ0KC9YU1MvKTslM2Mvc2Ny
aXB0JTNlIiBvbmxvYWQ9ImxvYWQyKCkiPjwvaWZyYW1lPgorPHA+Q2hlY2sgdGhhdCBhbiBYLVhT
Uy1Qcm90ZWN0aW9uIGhlYWRlciBhZGRlZCBieSBhIDMwNCByZXNwb25zZSBkb2Vzbid0IG92ZXJy
aWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJj
ZXMvbnBoLWNhY2hlZC5wbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL25waC1jYWNoZWQucGwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL25w
aC1jYWNoZWQucGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzIgQEAKKyMhL3Vzci9iaW4vcGVy
bAorIyBTY3JpcHQgdG8gZ2VuZXJhdGUgYSAzMDQgSFRUUCBzdGF0dXMgd2l0aCAoaWxsZWdhbCkg
WC1YU1MtUHJvdGVjdCBoZWFkZXJzLgorIyBSZWxpZXMgb24gaXRzIG5waC0gZmlsZW5hbWUgdG8g
aW52b2tlIHRoZSBDR0kgbm9uLXBhcnNlZC1oZWFkZXIgZmFjaWxpdHkuCisKKyRwcm90b2NvbCA9
ICRFTlZ7J1NFUlZFUl9QUk9UT0NPTCd9OworJHNvZnR3YXJlID0gJEVOVnsnU0VSVkVSX1NPRlRX
QVJFJ307CiskaWZfbW9kaWZpZWQgPSAkRU5WeydIVFRQX0lGX01PRElGSUVEX1NJTkNFJ307Cisk
bm9uY2UgPSBpbnQocmFuZCgxMDAwMDApKTsKKworaWYgKCRpZl9tb2RpZmllZCkgeworICAgIHBy
aW50ICIkcHJvdG9jb2wgMzA0IE5vdCBNb2RpZmllZFxyXG4iOworICAgIHByaW50ICJTZXJ2ZXI6
ICRzb2Z0d2FyZVxyXG4iOworICAgIHByaW50ICJYLVhTUy1Qcm90ZWN0aW9uOiAwXHJcbiI7Cisg
ICAgcHJpbnQgIkNvbm5lY3Rpb246IGNsb3NlXHJcbiI7CisgICAgZXhpdCgwKTsKK30KKworcHJp
bnQgIiRwcm90b2NvbCAyMDAgT0tcclxuIjsKK3ByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4i
OworcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXHJcbiI7CitwcmludCAiQ2FjaGUtY29u
dHJvbDogbWF4LWFnZT0wXHJcbiI7CitwcmludCAiRXhwaXJlczogV2VkLCAyMSBOb3YgMjAzNyAx
OToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIkxhc3QtTW9kaWZpZWQ6IE1vbiwgMDggTm92IDIw
MTAgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJYLVhTUy1Qcm90ZWN0aW9uOiAxXHJcbiI7
CitwcmludCAiXHJcbiI7CitwcmludCAiPCFET0NUWVBFIGh0bWw+XHJcbiI7CitwcmludCAiPGh0
bWw+XHJcbiI7CitwcmludCAiPGJvZHk+XHJcbiI7CitwcmludCAiPGlucHV0IGlkPVwicmFuZFwi
IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCIkbm9uY2VcIi8+XHJcbiI7CitwcmludCAiPHNjcmlwdD5h
bGVydCgvWFNTLyk7PC9zY3JpcHQ+XHJcbiI7CitwcmludCAiPC9ib2R5PlxyXG4iOworcHJpbnQg
IjwvaHRtbD5cclxuIjsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBoLWNhY2hlZC5wbApfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZXhlY3V0YWJsZQogICArICoKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186598</attachid>
            <date>2013-02-05 04:43:18 -0800</date>
            <delta_ts>2013-02-05 05:01:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72414-20130205133956.patch</filename>
            <type>text/plain</type>
            <size>18816</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQwNGQwMmIwYmQ3MzMy
ZmI0N2Q4NGMzZGNjN2RkMzcwMDAzNWFiOS4uNTk3YzVkZDYwN2I3ZWJlZjZiMjc5MWM2MDVjNzA1
OWEwODE3YWU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAyLTA1ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRW50aXR5LWhlYWRlciBleHRl
bnNpb24gaGVhZGVycyBob25vcmVkIG9uIDMwNCByZXNwb25zZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZW5zdXJlcyB0aGF0IGNl
cnRhaW4gdHlwZXMgb2YgaGVhZGVycyBzZW50IHdpdGggMzA0IHJlc3BvbnNlcworICAgICAgICBk
byBub3Qgb3ZlcndyaXRlIHRoZWlyIGNvdW50ZXJwYXJ0cyBvbiB0aGUgb3JpZ2luYWwgcmVzcG9u
c2UuCisgICAgICAgIFNwZWNpZmljYWxseSwgJ2NvbnRlbnQtKicsICd4LWNvbnRlbnQtKicsICd4
LWZyYW1lLSonLCAneC13ZWJraXQtKicsCisgICAgICAgIGFuZCAneC14c3MtKicgcHJlZml4ZXMg
YXJlIHNraXBwZWQgd2hlbiB1cGRhdGluZyByZXNwb25zZXMgYWZ0ZXIKKyAgICAgICAgcmV2YWxp
ZGF0aW9uLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlv
bnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLmh0bWwKKyAg
ICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUu
aHRtbAorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnVwZGF0ZVJl
c3BvbnNlQWZ0ZXJSZXZhbGlkYXRpb24pOgorICAgICAgICAgICAgU2tpcCB1cGRhdGVzIGZvciBl
bnRpdHkgaGVhZGVycycgcHJlZml4ZXMuCisKIDIwMTMtMDItMDUgIEp1bGllbiBCcmlhbmNlYXUg
IDxqYnJpYW5jZWF1QG5kcy5jb20+CiAKICAgICAgICAgQnVpbGQgaXMgYnJva2VuIHNpbmNlIHIx
NDE1NDMgZm9yIHBsYXRmb3JtcyB3aXRob3V0IE9wZW5HTApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggZjAzMTRlN2Q3ZjRhMTAzN2ZmZmM5
ZDJmM2FmYjU0NTZlYTU3YzZmZC4uNzIxYTdiOWY5NGFkN2E2MzhkM2ZhMTQzZDBkZGVmOTJiMWQx
NzFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwCkBAIC03MjgsMTkgKzcyOCwyNCBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzd2l0Y2hDbGll
bnRzVG9SZXZhbGlkYXRlZFJlc291cmNlKCkKICAgICB9CiAgICAgbV9zd2l0Y2hpbmdDbGllbnRz
VG9SZXZhbGlkYXRlZFJlc291cmNlID0gZmFsc2U7CiB9Ci0gICAgCisKIHZvaWQgQ2FjaGVkUmVz
b3VyY2U6OnVwZGF0ZVJlc3BvbnNlQWZ0ZXJSZXZhbGlkYXRpb24oY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgdmFsaWRhdGluZ1Jlc3BvbnNlKQogewogICAgIG1fcmVzcG9uc2VUaW1lc3RhbXAgPSBj
dXJyZW50VGltZSgpOwogCiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJp
bmcsIGNvbnRlbnRIZWFkZXJQcmVmaXgsICgiY29udGVudC0iLCBBdG9taWNTdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNT
dHJpbmcsIHhDb250ZW50SGVhZGVyUHJlZml4LCAoIngtY29udGVudC0iLCBBdG9taWNTdHJpbmc6
OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBB
dG9taWNTdHJpbmcsIHhGcmFtZUhlYWRlclByZWZpeCwgKCJ4LWZyYW1lLSIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IEF0b21pY1N0cmluZywgeFdlYktpdEhlYWRlclByZWZpeCwgKCJ4LXdlYmtpdC0iLCBBdG9taWNT
dHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBBdG9taWNTdHJpbmcsIHhYU1NIZWFkZXJQcmVmaXgsICgieC14c3MtIiwgQXRvbWljU3Ry
aW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOworCiAgICAgLy8gUkZDMjYxNiAxMC4zLjUKICAg
ICAvLyBVcGRhdGUgY2FjaGVkIGhlYWRlcnMgZnJvbSB0aGUgMzA0IHJlc3BvbnNlCiAgICAgY29u
c3QgSFRUUEhlYWRlck1hcCYgbmV3SGVhZGVycyA9IHZhbGlkYXRpbmdSZXNwb25zZS5odHRwSGVh
ZGVyRmllbGRzKCk7CiAgICAgSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbmV3
SGVhZGVycy5lbmQoKTsKICAgICBmb3IgKEhUVFBIZWFkZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0
ID0gbmV3SGVhZGVycy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgLy8gRG9u
J3QgYWxsb3cgMzA0IHJlc3BvbnNlIHRvIHVwZGF0ZSBjb250ZW50IGhlYWRlcnMsIHRoZXNlIGNh
bid0IGNoYW5nZSBidXQgc29tZSBzZXJ2ZXJzIHNlbmQgd3JvbmcgdmFsdWVzLgotICAgICAgICBp
ZiAoaXQtPmtleS5zdGFydHNXaXRoKGNvbnRlbnRIZWFkZXJQcmVmaXgsIGZhbHNlKSkKKyAgICAg
ICAgaWYgKGl0LT5rZXkuc3RhcnRzV2l0aChjb250ZW50SGVhZGVyUHJlZml4LCBmYWxzZSkgfHwg
aXQtPmtleS5zdGFydHNXaXRoKHhDb250ZW50SGVhZGVyUHJlZml4LCBmYWxzZSkgfHwgaXQtPmtl
eS5zdGFydHNXaXRoKHhXZWJLaXRIZWFkZXJQcmVmaXgsIGZhbHNlKSB8fCBpdC0+a2V5LnN0YXJ0
c1dpdGgoeEZyYW1lSGVhZGVyUHJlZml4LCBmYWxzZSkgfHwgaXQtPmtleS5zdGFydHNXaXRoKHhY
U1NIZWFkZXJQcmVmaXgsIGZhbHNlKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBt
X3Jlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChpdC0+a2V5LCBpdC0+dmFsdWUpOwogICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiMWMyNDJjMGQ4MzBlMDEyNzY2NmQ3ODQ0MDBiOGU5YzEwYjlhOWM5Li5mYzAwMjUz
MWNhYjc2MWIyMzE5M2ZjNTI3NmFmZmJmZjE3MGQwNjhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTMtMDItMDUgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBF
bnRpdHktaGVhZGVyIGV4dGVuc2lvbiBoZWFkZXJzIGhvbm9yZWQgb24gMzA0IHJlc3BvbnNlcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDE0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFt
ZS1vcHRpb25zLWNhY2hlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtY2FjaGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L2NhY2hlZC1mcmFtZS1jc3AtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3Jl
c291cmNlcy9ucGgtY2FjaGVkLnBsOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAgICAgU2tpcHBpbmcgdGhpcyBvbiBDaHJvbWl1
bSBmb3Igbm93LCBhcyB0aGUgY2hlY2sgb2NjdXJzIGluIHRoZSBuZXR3b3JrIHN0YWNrLgorCiAy
MDEzLTAyLTA1ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBs
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNl
cy9ucGgtY2FjaGVkLXhmby5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmI1MmQ2NTY0YmJiNzVhOWE3ZTIwNGE3
ZjBmNTkzYzExMjdhZGU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbApAQCAt
MCwwICsxLDI5IEBACisjIS91c3IvYmluL3BlcmwKKyMgU2NyaXB0IHRvIGdlbmVyYXRlIGEgMzA0
IEhUVFAgc3RhdHVzIHdpdGggKGlsbGVnYWwpIFgtRnJhbWUtT3B0aW9ucyBoZWFkZXJzLgorIyBS
ZWxpZXMgb24gaXRzIG5waC0gZmlsZW5hbWUgdG8gaW52b2tlIHRoZSBDR0kgbm9uLXBhcnNlZC1o
ZWFkZXIgZmFjaWxpdHkuCisKKyRwcm90b2NvbCA9ICRFTlZ7J1NFUlZFUl9QUk9UT0NPTCd9Owor
JHNvZnR3YXJlID0gJEVOVnsnU0VSVkVSX1NPRlRXQVJFJ307CiskaWZfbW9kaWZpZWQgPSAkRU5W
eydIVFRQX0lGX01PRElGSUVEX1NJTkNFJ307CisKK2lmICgkaWZfbW9kaWZpZWQpIHsKKyAgICBw
cmludCAiJHByb3RvY29sIDMwNCBOb3QgTW9kaWZpZWRcclxuIjsKKyAgICBwcmludCAiU2VydmVy
OiAkc29mdHdhcmVcclxuIjsKKyAgICBwcmludCAiWC1GcmFtZS1PcHRpb25zOiBkZW55XHJcbiI7
CisgICAgcHJpbnQgIkNvbm5lY3Rpb246IGNsb3NlXHJcbiI7CisgICAgZXhpdCgwKTsKK30KKwor
cHJpbnQgIiRwcm90b2NvbCAyMDAgT0tcclxuIjsKK3ByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxy
XG4iOworcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXHJcbiI7CitwcmludCAiRXhwaXJl
czogV2VkLCAyMSBOb3YgMjAzNyAxOToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIkxhc3QtTW9k
aWZpZWQ6IE1vbiwgMDggTm92IDIwMTAgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJYLUZy
YW1lLU9wdGlvbnM6IGFsbG93YWxsXHJcbiI7CitwcmludCAiXHJcbiI7CitwcmludCAiPCFET0NU
WVBFIGh0bWw+XHJcbiI7CitwcmludCAiPGh0bWw+XHJcbiI7CitwcmludCAiPGJvZHk+XHJcbiI7
CitwcmludCAiPHNjcmlwdD5hbGVydChcIlRoaXMgbXVzdCBmaXJlIHR3aWNlXCIpOzwvc2NyaXB0
PlxyXG4iOworcHJpbnQgIjwvYm9keT5cclxuIjsKK3ByaW50ICI8L2h0bWw+XHJcbiI7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1m
cmFtZS1vcHRpb25zLWNhY2hlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODg3YTNlOWM3OWQ1YWUzODU4NTNlYTdjODA2NDllNmVjOGRmZmJjZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1l
T3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtY2FjaGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3
IEBACitDT05TT0xFIE1FU1NBR0U6IEludmFsaWQgJ1gtRnJhbWUtT3B0aW9ucycgaGVhZGVyIGVu
Y291bnRlcmVkIHdoZW4gbG9hZGluZyAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L1hG
cmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsJzogJ2FsbG93YWxsJyBpcyBu
b3QgYSByZWNvZ25pemVkIGRpcmVjdGl2ZS4gVGhlIGhlYWRlciB3aWxsIGJlIGlnbm9yZWQuCitB
TEVSVDogVGhpcyBtdXN0IGZpcmUgdHdpY2UKK0NPTlNPTEUgTUVTU0FHRTogSW52YWxpZCAnWC1G
cmFtZS1PcHRpb25zJyBoZWFkZXIgZW5jb3VudGVyZWQgd2hlbiBsb2FkaW5nICdodHRwOi8vMTI3
LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14
Zm8ucGwnOiAnYWxsb3dhbGwnIGlzIG5vdCBhIHJlY29nbml6ZWQgZGlyZWN0aXZlLiBUaGUgaGVh
ZGVyIHdpbGwgYmUgaWdub3JlZC4KK0FMRVJUOiBUaGlzIG11c3QgZmlyZSB0d2ljZQorQ2hlY2sg
dGhhdCBhbiBYLUZyYW1lLU9wdGlvbnMgaGVhZGVyIGFkZGVkIGJ5IGEgMzA0IHJlc3BvbnNlIGRv
ZXMgbm90IG92ZXJyaWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworVHdvIGNvbnNvbGUgbWVzc2FnZXMgc2hvdWxkIGJlIGdl
bmVyYXRlZCwgZWFjaCBmb2xsb3dlZCBieSBhbiBhbGVydC4KK0JvdGggZnJhbWVzIHNob3VsZCBw
b2ludCB0byB0aGUgZXhwZWN0ZWQgVVJMLCBhbmQgbm90IHRvIGFib3V0OmJsYW5rLgorUEFTUyBm
cmFtZTEuc3JjIGlzICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9u
cy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwiCitQQVNTIGZyYW1lMi5zcmMgaXMgImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2Fj
aGVkLXhmby5wbCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZy
YW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtY2FjaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmM2OTRmMmM5NmU4YTk3Njc4MDI2YzhkYzkzZTA4OTZhMjI1MTBlZjUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9w
dGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBk
ZXNjcmlwdGlvbignQ2hlY2sgdGhhdCBhbiBYLUZyYW1lLU9wdGlvbnMgaGVhZGVyIGFkZGVkIGJ5
IGEgMzA0IHJlc3BvbnNlIGRvZXMgbm90IG92ZXJyaWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCBy
ZXF1ZXN0LicpOworICAgICAgICBkZWJ1ZygnVHdvIGNvbnNvbGUgbWVzc2FnZXMgc2hvdWxkIGJl
IGdlbmVyYXRlZCwgZWFjaCBmb2xsb3dlZCBieSBhbiBhbGVydC4nKTsKKyAgICAgICAgd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIHZhciBmcmFtZTEsIGZyYW1lMjsKKyAg
ICAgICAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKSB7CisgICAgICAgICAgICBmcmFtZTEgPSBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTsKKworICAgICAgICAgICAgZnJhbWUyID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGZyYW1lMik7CisgICAgICAgICAgICBmcmFtZTIub25sb2FkID0gY2hlY2tT
dGF0ZTsKKworICAgICAgICAgICAgZnJhbWUyLnNyYyA9IGZyYW1lMS5zcmM7CisgICAgICAgIH0K
KworICAgICAgICBmdW5jdGlvbiBjaGVja1N0YXRlKCkgeworICAgICAgICAgICAgZGVidWcoJ0Jv
dGggZnJhbWVzIHNob3VsZCBwb2ludCB0byB0aGUgZXhwZWN0ZWQgVVJMLCBhbmQgbm90IHRvIGFi
b3V0OmJsYW5rLicpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmcmFtZTEu
c3JjJywgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291
cmNlcy9ucGgtY2FjaGVkLXhmby5wbCcpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdmcmFtZTIuc3JjJywgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVP
cHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbCcpOworICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKyAgICA8aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFt
ZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsIiBvbmxvYWQ9ImZyYW1lTG9hZGVk
KCkiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNz
cC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
M2Y3ZWRlYzkwZGE4MzYwOWY0ZGI5MTIwZTFkOGFmNDU1ZTIyNDAyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
Y2FjaGVkLWZyYW1lLWNzcC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDU6IFJlZnVzZWQgdG8gZXhlY3V0ZSBpbmxpbmUgc2NyaXB0IGJlY2F1c2Ug
aXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3Rp
dmU6ICJzY3JpcHQtc3JjICdub25lJyIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1OiBSZWZ1
c2VkIHRvIGV4ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xs
b3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnbm9u
ZSciLgorCitDaGVjayB0aGF0IGEgQ1NQIGhlYWRlciBhZGRlZCBieSBhIDMwNCByZXNwb25zZSBk
b2VzIG5vdCBvdmVycmlkZSBvbmUgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0NoZWNrIHRoYXQgdGhlIG5vbmNlIGlzIHRoZSBzYW1l
LCBtZWFuaW5nIHRoYXQgdGhlIGRvY3VtZW50IHdhcyBvbmx5IGdlbmVyYXRlZCBvbmNlOgorUEFT
UyBmcmFtZTEuY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUgPT0g
ZnJhbWUyLmNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlIGlzIHRy
dWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L2NhY2hlZC1mcmFtZS1jc3AuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFtZS1jc3AuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mZTI3MDYyNGRiMGMwNjY1Yjc5ZDIzMTE3YjE2ZjQ1ZmQxZTgxNWMxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBkZXNj
cmlwdGlvbignQ2hlY2sgdGhhdCBhIENTUCBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2Ug
ZG9lcyBub3Qgb3ZlcnJpZGUgb25lIGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuJyk7CisgICAg
ICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICB2YXIgZnJhbWUxLCBm
cmFtZTI7CisgICAgICAgIGZ1bmN0aW9uIGZyYW1lTG9hZGVkKCkgeworICAgICAgICAgICAgZnJh
bWUxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaWZyYW1lJyk7CisKKyAgICAgICAgICAgIGZy
YW1lMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgICAgICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZTIpOworICAgICAgICAgICAgZnJhbWUyLm9ubG9h
ZCA9IGNoZWNrU3RhdGU7CisKKyAgICAgICAgICAgIGZyYW1lMi5zcmMgPSBmcmFtZTEuc3JjOwor
ICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGF0ZSgpIHsKKyAgICAgICAgICAg
IGRlYnVnKCdDaGVjayB0aGF0IHRoZSBub25jZSBpcyB0aGUgc2FtZSwgbWVhbmluZyB0aGF0IHRo
ZSBkb2N1bWVudCB3YXMgb25seSBnZW5lcmF0ZWQgb25jZTonKTsKKworICAgICAgICAgICAgc2hv
dWxkQmVUcnVlKCdmcmFtZTEuY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0Iiku
dmFsdWUgPT0gZnJhbWUyLmNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZh
bHVlJyk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgIDwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxpZnJhbWUgc3JjPSJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgt
Y2FjaGVkLWNzcC5wbCIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9u
cGgtY2FjaGVkLWNzcC5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOWI1ODE0M2RhMTM5ZTZhMTc0ZjlkNzhjMGEy
NjNlOTRhYTcxN2MyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL25waC1jYWNoZWQtY3NwLnBs
CkBAIC0wLDAgKzEsMzEgQEAKKyMhL3Vzci9iaW4vcGVybAorIyBTY3JpcHQgdG8gZ2VuZXJhdGUg
YSAzMDQgSFRUUCBzdGF0dXMgd2l0aCAoaWxsZWdhbCkgWC1XZWJLaXQtQ1NQIGhlYWRlcnMuCisj
IFJlbGllcyBvbiBpdHMgbnBoLSBmaWxlbmFtZSB0byBpbnZva2UgdGhlIENHSSBub24tcGFyc2Vk
LWhlYWRlciBmYWNpbGl0eS4KKworJHByb3RvY29sID0gJEVOVnsnU0VSVkVSX1BST1RPQ09MJ307
Ciskc29mdHdhcmUgPSAkRU5WeydTRVJWRVJfU09GVFdBUkUnfTsKKyRpZl9tb2RpZmllZCA9ICRF
TlZ7J0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnfTsKKyRub25jZSA9IGludChyYW5kKDEwMDAwMCkp
OworCitpZiAoJGlmX21vZGlmaWVkKSB7CisgICAgcHJpbnQgIiRwcm90b2NvbCAzMDQgTm90IE1v
ZGlmaWVkXHJcbiI7CisgICAgcHJpbnQgIlNlcnZlcjogJHNvZnR3YXJlXHJcbiI7CisgICAgcHJp
bnQgIkNvbnRlbnQtU2VjdXJpdHktUG9saWN5OiBzY3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJ1xy
XG4iOworICAgIHByaW50ICJDb25uZWN0aW9uOiBjbG9zZVxyXG4iOworICAgIGV4aXQoMCk7Cit9
CisKK3ByaW50ICIkcHJvdG9jb2wgMjAwIE9LXHJcbiI7CitwcmludCAiU2VydmVyOiAkc29mdHdh
cmVcclxuIjsKK3ByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxyXG4iOworcHJpbnQgIkV4
cGlyZXM6IFdlZCwgMjEgTm92IDIwMzcgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJMYXN0
LU1vZGlmaWVkOiBNb24sIDA4IE5vdiAyMDEwIDE5OjE5OjEzICswMDAwXHJcbiI7CitwcmludCAi
Q29udGVudC1TZWN1cml0eS1Qb2xpY3k6IHNjcmlwdC1zcmMgJ25vbmUnXHJcbiI7CitwcmludCAi
XHJcbiI7CitwcmludCAiPCFET0NUWVBFIGh0bWw+XHJcbiI7CitwcmludCAiPGh0bWw+XHJcbiI7
CitwcmludCAiPGJvZHk+XHJcbiI7CitwcmludCAiPGlucHV0IGlkPVwicmFuZFwiIHR5cGU9XCJ0
ZXh0XCIgdmFsdWU9XCIkbm9uY2VcIi8+XHJcbiI7CitwcmludCAiPHNjcmlwdD5hbGVydCgnRkFJ
TCcpOzwvc2NyaXB0PlxyXG4iOworcHJpbnQgIjwvYm9keT5cclxuIjsKK3ByaW50ICI8L2h0bWw+
XHJcbiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1
ZGl0b3IvY2FjaGVkLWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE4N2U0NzhiOTA1ZWYxN2JlMDhhZTdhZGYzZTdiNDE0NGIyNzQ2YWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZy
YW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
NTogUmVmdXNlZCB0byBleGVjdXRlIGEgSmF2YVNjcmlwdCBzY3JpcHQuIFNvdXJjZSBjb2RlIG9m
IHNjcmlwdCBmb3VuZCB3aXRoaW4gcmVxdWVzdC4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6
IFJlZnVzZWQgdG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29kZSBvZiBz
Y3JpcHQgZm91bmQgd2l0aGluIHJlcXVlc3QuCisKK0NoZWNrIHRoYXQgYW4gWC1YU1MtUHJvdGVj
dGlvbiBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lcyBub3Qgb3ZlcnJpZGUgb25l
IGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitUd28gY29uc29sZSBtZXNzYWdlcyBzaG91bGQgYmUgZ2VuZXJhdGVkLCBub3RpbmcgdGhh
dCBKYXZhU2NyaXB0IHdhcyBibG9ja2VkLgorQ2hlY2sgdGhhdCB0aGUgbm9uY2UgaXMgdGhlIHNh
bWUsIG1lYW5pbmcgdGhhdCB0aGUgZG9jdW1lbnQgd2FzIG9ubHkgZ2VuZXJhdGVkIG9uY2U6CitQ
QVNTIGZyYW1lMS5jb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZSA9
PSBmcmFtZTIuY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUgaXMg
dHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisg
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9y
L2NhY2hlZC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NB
dWRpdG9yL2NhY2hlZC1mcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkYmM0ZWMwNzU1YWUxZTk1M2Vj
NTg2ZDc0ZDkzOGM2MmVlZTdmMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLmh0bWwKQEAgLTAsMCArMSwz
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0WFNTQXVkaXRvckVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgZGVzY3JpcHRpb24oJ0NoZWNr
IHRoYXQgYW4gWC1YU1MtUHJvdGVjdGlvbiBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2Ug
ZG9lcyBub3Qgb3ZlcnJpZGUgb25lIGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuJyk7CisgICAg
ICAgIGRlYnVnKCdUd28gY29uc29sZSBtZXNzYWdlcyBzaG91bGQgYmUgZ2VuZXJhdGVkLCBub3Rp
bmcgdGhhdCBKYXZhU2NyaXB0IHdhcyBibG9ja2VkLicpOworICAgICAgICB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgdmFyIGZyYW1lMSwgZnJhbWUyOworICAgICAgICBm
dW5jdGlvbiBmcmFtZUxvYWRlZCgpIHsKKyAgICAgICAgICAgIGZyYW1lMSA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpOworCisgICAgICAgICAgICBmcmFtZTIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZnJhbWUyKTsKKyAgICAgICAgICAgIGZyYW1lMi5vbmxvYWQgPSBjaGVja1N0YXRlOwor
CisgICAgICAgICAgICBmcmFtZTIuc3JjID0gZnJhbWUxLnNyYzsKKyAgICAgICAgfQorCisgICAg
ICAgIGZ1bmN0aW9uIGNoZWNrU3RhdGUoKSB7CisgICAgICAgICAgICBkZWJ1ZygnQ2hlY2sgdGhh
dCB0aGUgbm9uY2UgaXMgdGhlIHNhbWUsIG1lYW5pbmcgdGhhdCB0aGUgZG9jdW1lbnQgd2FzIG9u
bHkgZ2VuZXJhdGVkIG9uY2U6Jyk7CisKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZnJhbWUx
LmNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlID09IGZyYW1lMi5j
b250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZScpOworICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKyAgICA8aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3Vy
aXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL25waC1jYWNoZWQucGw/cT0lM2NzY3JpcHQlM2VhbGVy
dCgvWFNTLyk7JTNjL3NjcmlwdCUzZSIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBoLWNhY2hlZC5wbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBoLWNhY2hlZC5wbApuZXcg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41OGI1NjBjZDFhMjJiMWIzNmFiNGZhNTJlMDliYTUzNTI2YmE5ZTM1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3Jl
c291cmNlcy9ucGgtY2FjaGVkLnBsCkBAIC0wLDAgKzEsMzEgQEAKKyMhL3Vzci9iaW4vcGVybAor
IyBTY3JpcHQgdG8gZ2VuZXJhdGUgYSAzMDQgSFRUUCBzdGF0dXMgd2l0aCAoaWxsZWdhbCkgWC1Y
U1MtUHJvdGVjdCBoZWFkZXJzLgorIyBSZWxpZXMgb24gaXRzIG5waC0gZmlsZW5hbWUgdG8gaW52
b2tlIHRoZSBDR0kgbm9uLXBhcnNlZC1oZWFkZXIgZmFjaWxpdHkuCisKKyRwcm90b2NvbCA9ICRF
TlZ7J1NFUlZFUl9QUk9UT0NPTCd9OworJHNvZnR3YXJlID0gJEVOVnsnU0VSVkVSX1NPRlRXQVJF
J307CiskaWZfbW9kaWZpZWQgPSAkRU5WeydIVFRQX0lGX01PRElGSUVEX1NJTkNFJ307Ciskbm9u
Y2UgPSBpbnQocmFuZCgxMDAwMDApKTsKKworaWYgKCRpZl9tb2RpZmllZCkgeworICAgIHByaW50
ICIkcHJvdG9jb2wgMzA0IE5vdCBNb2RpZmllZFxyXG4iOworICAgIHByaW50ICJTZXJ2ZXI6ICRz
b2Z0d2FyZVxyXG4iOworICAgIHByaW50ICJYLVhTUy1Qcm90ZWN0aW9uOiAwXHJcbiI7CisgICAg
cHJpbnQgIkNvbm5lY3Rpb246IGNsb3NlXHJcbiI7CisgICAgZXhpdCgwKTsKK30KKworcHJpbnQg
IiRwcm90b2NvbCAyMDAgT0tcclxuIjsKK3ByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOwor
cHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXHJcbiI7CitwcmludCAiRXhwaXJlczogV2Vk
LCAyMSBOb3YgMjAzNyAxOToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIkxhc3QtTW9kaWZpZWQ6
IE1vbiwgMDggTm92IDIwMTAgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJYLVhTUy1Qcm90
ZWN0aW9uOiAxXHJcbiI7CitwcmludCAiXHJcbiI7CitwcmludCAiPCFET0NUWVBFIGh0bWw+XHJc
biI7CitwcmludCAiPGh0bWw+XHJcbiI7CitwcmludCAiPGJvZHk+XHJcbiI7CitwcmludCAiPGlu
cHV0IGlkPVwicmFuZFwiIHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCIkbm9uY2VcIi8+XHJcbiI7Citw
cmludCAiPHNjcmlwdD5hbGVydCgvWFNTLyk7PC9zY3JpcHQ+XHJcbiI7CitwcmludCAiPC9ib2R5
PlxyXG4iOworcHJpbnQgIjwvaHRtbD5cclxuIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDhlZGUzYmNiM2QwYmM4ODQ1NGZkNmJjOGIx
NDdmMzRjMzEyYjdlZmQuLjA0YTQ3ZjY3NGZiZWI3MTY1NzcxZDZhNjU0ODJiMDAwODhiMjhjMzEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMjM5LDYgKzIzOSwxMSBAQCB3ZWJraXQub3JnL2IvOTI5NDIgZmFzdC9ldmVudHMvY29uc3Ry
dWN0b3JzL2RldmljZS1wcm94aW1pdHktZXZlbnQtY29uc3RydWN0b3IuaAogIyBNaXNzaW5nIHN1
cHBvcnQgaW4gRFJUIGZvciBHZW9sb2NhdGlvbidzIENvb3JkaW5hdGUgYXR0cmlidXRlcy4KIHdl
YmtpdC5vcmcvYi85ODIxMiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9jb29yZGluYXRlcy1pbnRlcmZh
Y2UtYXR0cmlidXRlcy5odG1sIFsgRmFpbHVyZSBdCiAKKyMgVW5za2lwIGFzIHNvb24gYXMgdGhl
IG5ldC9odHRwIGNoYW5nZSByb2xscyBpbiBmcm9tIGNyYnVnLmNvbS8xNzQzMDEuCitjcmJ1Zy5j
b20vMTc0MzAxIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hl
ZC1mcmFtZS1jc3AuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDMwMSBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC5odG1sIFsgU2tpcCBd
CitjcmJ1Zy5jb20vMTc0MzAxIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQt
ZnJhbWUuaHRtbCBbIFNraXAgXQorCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFdPTlRGSVggVEVTVFMKICMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186604</attachid>
            <date>2013-02-05 05:01:13 -0800</date>
            <delta_ts>2013-02-05 12:18:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72414-20130205135750.patch</filename>
            <type>text/plain</type>
            <size>17620</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQwNGQwMmIwYmQ3MzMy
ZmI0N2Q4NGMzZGNjN2RkMzcwMDAzNWFiOS4uNTk3YzVkZDYwN2I3ZWJlZjZiMjc5MWM2MDVjNzA1
OWEwODE3YWU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAyLTA1ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRW50aXR5LWhlYWRlciBleHRl
bnNpb24gaGVhZGVycyBob25vcmVkIG9uIDMwNCByZXNwb25zZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZW5zdXJlcyB0aGF0IGNl
cnRhaW4gdHlwZXMgb2YgaGVhZGVycyBzZW50IHdpdGggMzA0IHJlc3BvbnNlcworICAgICAgICBk
byBub3Qgb3ZlcndyaXRlIHRoZWlyIGNvdW50ZXJwYXJ0cyBvbiB0aGUgb3JpZ2luYWwgcmVzcG9u
c2UuCisgICAgICAgIFNwZWNpZmljYWxseSwgJ2NvbnRlbnQtKicsICd4LWNvbnRlbnQtKicsICd4
LWZyYW1lLSonLCAneC13ZWJraXQtKicsCisgICAgICAgIGFuZCAneC14c3MtKicgcHJlZml4ZXMg
YXJlIHNraXBwZWQgd2hlbiB1cGRhdGluZyByZXNwb25zZXMgYWZ0ZXIKKyAgICAgICAgcmV2YWxp
ZGF0aW9uLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlv
bnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLmh0bWwKKyAg
ICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUu
aHRtbAorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnVwZGF0ZVJl
c3BvbnNlQWZ0ZXJSZXZhbGlkYXRpb24pOgorICAgICAgICAgICAgU2tpcCB1cGRhdGVzIGZvciBl
bnRpdHkgaGVhZGVycycgcHJlZml4ZXMuCisKIDIwMTMtMDItMDUgIEp1bGllbiBCcmlhbmNlYXUg
IDxqYnJpYW5jZWF1QG5kcy5jb20+CiAKICAgICAgICAgQnVpbGQgaXMgYnJva2VuIHNpbmNlIHIx
NDE1NDMgZm9yIHBsYXRmb3JtcyB3aXRob3V0IE9wZW5HTApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggZjAzMTRlN2Q3ZjRhMTAzN2ZmZmM5
ZDJmM2FmYjU0NTZlYTU3YzZmZC4uNzIxYTdiOWY5NGFkN2E2MzhkM2ZhMTQzZDBkZGVmOTJiMWQx
NzFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwCkBAIC03MjgsMTkgKzcyOCwyNCBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzd2l0Y2hDbGll
bnRzVG9SZXZhbGlkYXRlZFJlc291cmNlKCkKICAgICB9CiAgICAgbV9zd2l0Y2hpbmdDbGllbnRz
VG9SZXZhbGlkYXRlZFJlc291cmNlID0gZmFsc2U7CiB9Ci0gICAgCisKIHZvaWQgQ2FjaGVkUmVz
b3VyY2U6OnVwZGF0ZVJlc3BvbnNlQWZ0ZXJSZXZhbGlkYXRpb24oY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgdmFsaWRhdGluZ1Jlc3BvbnNlKQogewogICAgIG1fcmVzcG9uc2VUaW1lc3RhbXAgPSBj
dXJyZW50VGltZSgpOwogCiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJp
bmcsIGNvbnRlbnRIZWFkZXJQcmVmaXgsICgiY29udGVudC0iLCBBdG9taWNTdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNT
dHJpbmcsIHhDb250ZW50SGVhZGVyUHJlZml4LCAoIngtY29udGVudC0iLCBBdG9taWNTdHJpbmc6
OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBB
dG9taWNTdHJpbmcsIHhGcmFtZUhlYWRlclByZWZpeCwgKCJ4LWZyYW1lLSIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IEF0b21pY1N0cmluZywgeFdlYktpdEhlYWRlclByZWZpeCwgKCJ4LXdlYmtpdC0iLCBBdG9taWNT
dHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBBdG9taWNTdHJpbmcsIHhYU1NIZWFkZXJQcmVmaXgsICgieC14c3MtIiwgQXRvbWljU3Ry
aW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOworCiAgICAgLy8gUkZDMjYxNiAxMC4zLjUKICAg
ICAvLyBVcGRhdGUgY2FjaGVkIGhlYWRlcnMgZnJvbSB0aGUgMzA0IHJlc3BvbnNlCiAgICAgY29u
c3QgSFRUUEhlYWRlck1hcCYgbmV3SGVhZGVycyA9IHZhbGlkYXRpbmdSZXNwb25zZS5odHRwSGVh
ZGVyRmllbGRzKCk7CiAgICAgSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbmV3
SGVhZGVycy5lbmQoKTsKICAgICBmb3IgKEhUVFBIZWFkZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0
ID0gbmV3SGVhZGVycy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgLy8gRG9u
J3QgYWxsb3cgMzA0IHJlc3BvbnNlIHRvIHVwZGF0ZSBjb250ZW50IGhlYWRlcnMsIHRoZXNlIGNh
bid0IGNoYW5nZSBidXQgc29tZSBzZXJ2ZXJzIHNlbmQgd3JvbmcgdmFsdWVzLgotICAgICAgICBp
ZiAoaXQtPmtleS5zdGFydHNXaXRoKGNvbnRlbnRIZWFkZXJQcmVmaXgsIGZhbHNlKSkKKyAgICAg
ICAgaWYgKGl0LT5rZXkuc3RhcnRzV2l0aChjb250ZW50SGVhZGVyUHJlZml4LCBmYWxzZSkgfHwg
aXQtPmtleS5zdGFydHNXaXRoKHhDb250ZW50SGVhZGVyUHJlZml4LCBmYWxzZSkgfHwgaXQtPmtl
eS5zdGFydHNXaXRoKHhXZWJLaXRIZWFkZXJQcmVmaXgsIGZhbHNlKSB8fCBpdC0+a2V5LnN0YXJ0
c1dpdGgoeEZyYW1lSGVhZGVyUHJlZml4LCBmYWxzZSkgfHwgaXQtPmtleS5zdGFydHNXaXRoKHhY
U1NIZWFkZXJQcmVmaXgsIGZhbHNlKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBt
X3Jlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChpdC0+a2V5LCBpdC0+dmFsdWUpOwogICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiMWMyNDJjMGQ4MzBlMDEyNzY2NmQ3ODQ0MDBiOGU5YzEwYjlhOWM5Li45ODc3NTJh
M2I2ZGQyNWY2NTFlMTIyNDgxYmUwNzM3MDlkMTYwYjBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTMtMDItMDUgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBF
bnRpdHktaGVhZGVyIGV4dGVuc2lvbiBoZWFkZXJzIGhvbm9yZWQgb24gMzA0IHJlc3BvbnNlcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDE0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFt
ZS1vcHRpb25zLWNhY2hlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtY2FjaGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L2NhY2hlZC1mcmFtZS1jc3AtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3Jl
c291cmNlcy9ucGgtY2FjaGVkLnBsOiBBZGRlZC4KKwogMjAxMy0wMi0wNSAgWmFuIERvYmVyc2Vr
ICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBHVEsgZ2FyZGVu
aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVP
cHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwKbmV3
IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGZiNTJkNjU2NGJiYjc1YTlhN2UyMDRhN2YwZjU5M2MxMTI3YWRlOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9u
cy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwKQEAgLTAsMCArMSwyOSBAQAorIyEvdXNyL2Jp
bi9wZXJsCisjIFNjcmlwdCB0byBnZW5lcmF0ZSBhIDMwNCBIVFRQIHN0YXR1cyB3aXRoIChpbGxl
Z2FsKSBYLUZyYW1lLU9wdGlvbnMgaGVhZGVycy4KKyMgUmVsaWVzIG9uIGl0cyBucGgtIGZpbGVu
YW1lIHRvIGludm9rZSB0aGUgQ0dJIG5vbi1wYXJzZWQtaGVhZGVyIGZhY2lsaXR5LgorCiskcHJv
dG9jb2wgPSAkRU5WeydTRVJWRVJfUFJPVE9DT0wnfTsKKyRzb2Z0d2FyZSA9ICRFTlZ7J1NFUlZF
Ul9TT0ZUV0FSRSd9OworJGlmX21vZGlmaWVkID0gJEVOVnsnSFRUUF9JRl9NT0RJRklFRF9TSU5D
RSd9OworCitpZiAoJGlmX21vZGlmaWVkKSB7CisgICAgcHJpbnQgIiRwcm90b2NvbCAzMDQgTm90
IE1vZGlmaWVkXHJcbiI7CisgICAgcHJpbnQgIlNlcnZlcjogJHNvZnR3YXJlXHJcbiI7CisgICAg
cHJpbnQgIlgtRnJhbWUtT3B0aW9uczogZGVueVxyXG4iOworICAgIHByaW50ICJDb25uZWN0aW9u
OiBjbG9zZVxyXG4iOworICAgIGV4aXQoMCk7Cit9CisKK3ByaW50ICIkcHJvdG9jb2wgMjAwIE9L
XHJcbiI7CitwcmludCAiU2VydmVyOiAkc29mdHdhcmVcclxuIjsKK3ByaW50ICJDb250ZW50LXR5
cGU6IHRleHQvaHRtbFxyXG4iOworcHJpbnQgIkV4cGlyZXM6IFdlZCwgMjEgTm92IDIwMzcgMTk6
MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJMYXN0LU1vZGlmaWVkOiBNb24sIDA4IE5vdiAyMDEw
IDE5OjE5OjEzICswMDAwXHJcbiI7CitwcmludCAiWC1GcmFtZS1PcHRpb25zOiBhbGxvd2FsbFxy
XG4iOworcHJpbnQgIlxyXG4iOworcHJpbnQgIjwhRE9DVFlQRSBodG1sPlxyXG4iOworcHJpbnQg
IjxodG1sPlxyXG4iOworcHJpbnQgIjxib2R5PlxyXG4iOworcHJpbnQgIjxzY3JpcHQ+YWxlcnQo
XCJUaGlzIG11c3QgZmlyZSB0d2ljZVwiKTs8L3NjcmlwdD5cclxuIjsKK3ByaW50ICI8L2JvZHk+
XHJcbiI7CitwcmludCAiPC9odG1sPlxyXG4iOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3gtZnJhbWUtb3B0aW9ucy1jYWNoZWQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25z
L3gtZnJhbWUtb3B0aW9ucy1jYWNoZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4N2EzZTlj
NzlkNWFlMzg1ODUzZWE3YzgwNjQ5ZTZlYzhkZmZiY2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25z
LWNhY2hlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorQ09OU09MRSBNRVNTQUdFOiBJ
bnZhbGlkICdYLUZyYW1lLU9wdGlvbnMnIGhlYWRlciBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcg
J2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9u
cGgtY2FjaGVkLXhmby5wbCc6ICdhbGxvd2FsbCcgaXMgbm90IGEgcmVjb2duaXplZCBkaXJlY3Rp
dmUuIFRoZSBoZWFkZXIgd2lsbCBiZSBpZ25vcmVkLgorQUxFUlQ6IFRoaXMgbXVzdCBmaXJlIHR3
aWNlCitDT05TT0xFIE1FU1NBR0U6IEludmFsaWQgJ1gtRnJhbWUtT3B0aW9ucycgaGVhZGVyIGVu
Y291bnRlcmVkIHdoZW4gbG9hZGluZyAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L1hG
cmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsJzogJ2FsbG93YWxsJyBpcyBu
b3QgYSByZWNvZ25pemVkIGRpcmVjdGl2ZS4gVGhlIGhlYWRlciB3aWxsIGJlIGlnbm9yZWQuCitB
TEVSVDogVGhpcyBtdXN0IGZpcmUgdHdpY2UKK0NoZWNrIHRoYXQgYW4gWC1GcmFtZS1PcHRpb25z
IGhlYWRlciBhZGRlZCBieSBhIDMwNCByZXNwb25zZSBkb2VzIG5vdCBvdmVycmlkZSBvbmUgZnJv
bSB0aGUgb3JpZ2luYWwgcmVxdWVzdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1R3byBjb25zb2xlIG1lc3NhZ2VzIHNob3VsZCBiZSBnZW5lcmF0ZWQsIGVhY2ggZm9sbG93ZWQg
YnkgYW4gYWxlcnQuCitCb3RoIGZyYW1lcyBzaG91bGQgcG9pbnQgdG8gdGhlIGV4cGVjdGVkIFVS
TCwgYW5kIG5vdCB0byBhYm91dDpibGFuay4KK1BBU1MgZnJhbWUxLnNyYyBpcyAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQt
eGZvLnBsIgorUEFTUyBmcmFtZTIuc3JjIGlzICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJp
dHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwiCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAgCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRp
b25zLWNhY2hlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVP
cHRpb25zL3gtZnJhbWUtb3B0aW9ucy1jYWNoZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjk0ZjJjOTZl
OGE5NzY3ODAyNmM4ZGM5M2UwODk2YTIyNTEwZWY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3gtZnJhbWUtb3B0aW9ucy1j
YWNoZWQuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZGVzY3JpcHRpb24oJ0NoZWNrIHRoYXQg
YW4gWC1GcmFtZS1PcHRpb25zIGhlYWRlciBhZGRlZCBieSBhIDMwNCByZXNwb25zZSBkb2VzIG5v
dCBvdmVycmlkZSBvbmUgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdC4nKTsKKyAgICAgICAgZGVi
dWcoJ1R3byBjb25zb2xlIG1lc3NhZ2VzIHNob3VsZCBiZSBnZW5lcmF0ZWQsIGVhY2ggZm9sbG93
ZWQgYnkgYW4gYWxlcnQuJyk7CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICB2YXIgZnJhbWUxLCBmcmFtZTI7CisgICAgICAgIGZ1bmN0aW9uIGZyYW1lTG9h
ZGVkKCkgeworICAgICAgICAgICAgZnJhbWUxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaWZy
YW1lJyk7CisKKyAgICAgICAgICAgIGZyYW1lMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lm
cmFtZScpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZTIpOwor
ICAgICAgICAgICAgZnJhbWUyLm9ubG9hZCA9IGNoZWNrU3RhdGU7CisKKyAgICAgICAgICAgIGZy
YW1lMi5zcmMgPSBmcmFtZTEuc3JjOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gY2hl
Y2tTdGF0ZSgpIHsKKyAgICAgICAgICAgIGRlYnVnKCdCb3RoIGZyYW1lcyBzaG91bGQgcG9pbnQg
dG8gdGhlIGV4cGVjdGVkIFVSTCwgYW5kIG5vdCB0byBhYm91dDpibGFuay4nKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZnJhbWUxLnNyYycsICdodHRwOi8vMTI3LjAuMC4x
OjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwn
KTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZnJhbWUyLnNyYycsICdodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNh
Y2hlZC14Zm8ucGwnKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9Cisg
ICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGlmcmFtZSBzcmM9Imh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgt
Y2FjaGVkLXhmby5wbCIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFtZS1jc3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZy
YW1lLWNzcC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNmN2VkZWM5MGRhODM2MDlmNGRiOTEy
MGUxZDhhZjQ1NWUyMjQwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFtZS1jc3AtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1OiBSZWZ1c2Vk
IHRvIGV4ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dp
bmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnbm9uZSci
LgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogUmVmdXNlZCB0byBleGVjdXRlIGlubGluZSBz
Y3JpcHQgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkg
UG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMgJ25vbmUnIi4KKworQ2hlY2sgdGhhdCBhIENT
UCBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lcyBub3Qgb3ZlcnJpZGUgb25lIGZy
b20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitDaGVjayB0aGF0IHRoZSBub25jZSBpcyB0aGUgc2FtZSwgbWVhbmluZyB0aGF0IHRoZSBkb2N1
bWVudCB3YXMgb25seSBnZW5lcmF0ZWQgb25jZToKK1BBU1MgZnJhbWUxLmNvbnRlbnREb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlID09IGZyYW1lMi5jb250ZW50RG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUt
Y3NwLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUyNzA2MjRkYjBjMDY2
NWI3OWQyMzExN2IxNmY0NWZkMWU4MTVjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFtZS1j
c3AuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZGVzY3JpcHRpb24oJ0NoZWNrIHRoYXQgYSBD
U1AgaGVhZGVyIGFkZGVkIGJ5IGEgMzA0IHJlc3BvbnNlIGRvZXMgbm90IG92ZXJyaWRlIG9uZSBm
cm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LicpOworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgdmFyIGZyYW1lMSwgZnJhbWUyOworICAgICAgICBmdW5jdGlv
biBmcmFtZUxvYWRlZCgpIHsKKyAgICAgICAgICAgIGZyYW1lMSA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ2lmcmFtZScpOworCisgICAgICAgICAgICBmcmFtZTIgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdpZnJhbWUnKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZnJhbWUyKTsKKyAgICAgICAgICAgIGZyYW1lMi5vbmxvYWQgPSBjaGVja1N0YXRlOworCisgICAg
ICAgICAgICBmcmFtZTIuc3JjID0gZnJhbWUxLnNyYzsKKyAgICAgICAgfQorCisgICAgICAgIGZ1
bmN0aW9uIGNoZWNrU3RhdGUoKSB7CisgICAgICAgICAgICBkZWJ1ZygnQ2hlY2sgdGhhdCB0aGUg
bm9uY2UgaXMgdGhlIHNhbWUsIG1lYW5pbmcgdGhhdCB0aGUgZG9jdW1lbnQgd2FzIG9ubHkgZ2Vu
ZXJhdGVkIG9uY2U6Jyk7CisKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZnJhbWUxLmNvbnRl
bnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlID09IGZyYW1lMi5jb250ZW50
RG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZScpOworICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvbnBoLWNhY2hlZC1jc3AucGwiIG9ubG9hZD0i
ZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNv
dXJjZXMvbnBoLWNhY2hlZC1jc3AucGwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvbnBoLWNhY2hlZC1jc3AucGwKbmV3IGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjliNTgxNDNkYTEzOWU2YTE3NGY5ZDc4YzBhMjYzZTk0YWE3MTdjMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbApAQCAtMCwwICsxLDMxIEBACisjIS91
c3IvYmluL3BlcmwKKyMgU2NyaXB0IHRvIGdlbmVyYXRlIGEgMzA0IEhUVFAgc3RhdHVzIHdpdGgg
KGlsbGVnYWwpIFgtV2ViS2l0LUNTUCBoZWFkZXJzLgorIyBSZWxpZXMgb24gaXRzIG5waC0gZmls
ZW5hbWUgdG8gaW52b2tlIHRoZSBDR0kgbm9uLXBhcnNlZC1oZWFkZXIgZmFjaWxpdHkuCisKKyRw
cm90b2NvbCA9ICRFTlZ7J1NFUlZFUl9QUk9UT0NPTCd9OworJHNvZnR3YXJlID0gJEVOVnsnU0VS
VkVSX1NPRlRXQVJFJ307CiskaWZfbW9kaWZpZWQgPSAkRU5WeydIVFRQX0lGX01PRElGSUVEX1NJ
TkNFJ307Ciskbm9uY2UgPSBpbnQocmFuZCgxMDAwMDApKTsKKworaWYgKCRpZl9tb2RpZmllZCkg
eworICAgIHByaW50ICIkcHJvdG9jb2wgMzA0IE5vdCBNb2RpZmllZFxyXG4iOworICAgIHByaW50
ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworICAgIHByaW50ICJDb250ZW50LVNlY3VyaXR5LVBv
bGljeTogc2NyaXB0LXNyYyAndW5zYWZlLWlubGluZSdcclxuIjsKKyAgICBwcmludCAiQ29ubmVj
dGlvbjogY2xvc2VcclxuIjsKKyAgICBleGl0KDApOworfQorCitwcmludCAiJHByb3RvY29sIDIw
MCBPS1xyXG4iOworcHJpbnQgIlNlcnZlcjogJHNvZnR3YXJlXHJcbiI7CitwcmludCAiQ29udGVu
dC10eXBlOiB0ZXh0L2h0bWxcclxuIjsKK3ByaW50ICJFeHBpcmVzOiBXZWQsIDIxIE5vdiAyMDM3
IDE5OjE5OjEzICswMDAwXHJcbiI7CitwcmludCAiTGFzdC1Nb2RpZmllZDogTW9uLCAwOCBOb3Yg
MjAxMCAxOToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIkNvbnRlbnQtU2VjdXJpdHktUG9saWN5
OiBzY3JpcHQtc3JjICdub25lJ1xyXG4iOworcHJpbnQgIlxyXG4iOworcHJpbnQgIjwhRE9DVFlQ
RSBodG1sPlxyXG4iOworcHJpbnQgIjxodG1sPlxyXG4iOworcHJpbnQgIjxib2R5PlxyXG4iOwor
cHJpbnQgIjxpbnB1dCBpZD1cInJhbmRcIiB0eXBlPVwidGV4dFwiIHZhbHVlPVwiJG5vbmNlXCIv
PlxyXG4iOworcHJpbnQgIjxzY3JpcHQ+YWxlcnQoJ0ZBSUwnKTs8L3NjcmlwdD5cclxuIjsKK3By
aW50ICI8L2JvZHk+XHJcbiI7CitwcmludCAiPC9odG1sPlxyXG4iOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2Fj
aGVkLWZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODdlNDc4YjkwNWVmMTdiZTA4YWU3
YWRmM2U3YjQxNDRiMjc0NmFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IFJlZnVzZWQgdG8gZXhlY3V0ZSBh
IEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29kZSBvZiBzY3JpcHQgZm91bmQgd2l0aGluIHJl
cXVlc3QuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1OiBSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBK
YXZhU2NyaXB0IHNjcmlwdC4gU291cmNlIGNvZGUgb2Ygc2NyaXB0IGZvdW5kIHdpdGhpbiByZXF1
ZXN0LgorCitDaGVjayB0aGF0IGFuIFgtWFNTLVByb3RlY3Rpb24gaGVhZGVyIGFkZGVkIGJ5IGEg
MzA0IHJlc3BvbnNlIGRvZXMgbm90IG92ZXJyaWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1
ZXN0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVHdvIGNvbnNvbGUgbWVzc2Fn
ZXMgc2hvdWxkIGJlIGdlbmVyYXRlZCwgbm90aW5nIHRoYXQgSmF2YVNjcmlwdCB3YXMgYmxvY2tl
ZC4KK0NoZWNrIHRoYXQgdGhlIG5vbmNlIGlzIHRoZSBzYW1lLCBtZWFuaW5nIHRoYXQgdGhlIGRv
Y3VtZW50IHdhcyBvbmx5IGdlbmVyYXRlZCBvbmNlOgorUEFTUyBmcmFtZTEuY29udGVudERvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUgPT0gZnJhbWUyLmNvbnRlbnREb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZGJjNGVjMDc1NWFlMWU5NTNlYzU4NmQ3NGQ5MzhjNjJlZWU3ZjBmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRp
dG9yL2NhY2hlZC1mcmFtZS5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFhTU0F1ZGl0b3JFbmFibGVkKHRy
dWUpOworCisgICAgICAgIGRlc2NyaXB0aW9uKCdDaGVjayB0aGF0IGFuIFgtWFNTLVByb3RlY3Rp
b24gaGVhZGVyIGFkZGVkIGJ5IGEgMzA0IHJlc3BvbnNlIGRvZXMgbm90IG92ZXJyaWRlIG9uZSBm
cm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LicpOworICAgICAgICBkZWJ1ZygnVHdvIGNvbnNvbGUg
bWVzc2FnZXMgc2hvdWxkIGJlIGdlbmVyYXRlZCwgbm90aW5nIHRoYXQgSmF2YVNjcmlwdCB3YXMg
YmxvY2tlZC4nKTsKKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIHZhciBmcmFtZTEsIGZyYW1lMjsKKyAgICAgICAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKSB7
CisgICAgICAgICAgICBmcmFtZTEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTsK
KworICAgICAgICAgICAgZnJhbWUyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7
CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lMik7CisgICAgICAg
ICAgICBmcmFtZTIub25sb2FkID0gY2hlY2tTdGF0ZTsKKworICAgICAgICAgICAgZnJhbWUyLnNy
YyA9IGZyYW1lMS5zcmM7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBjaGVja1N0YXRl
KCkgeworICAgICAgICAgICAgZGVidWcoJ0NoZWNrIHRoYXQgdGhlIG5vbmNlIGlzIHRoZSBzYW1l
LCBtZWFuaW5nIHRoYXQgdGhlIGRvY3VtZW50IHdhcyBvbmx5IGdlbmVyYXRlZCBvbmNlOicpOwor
CisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZyYW1lMS5jb250ZW50RG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigiaW5wdXQiKS52YWx1ZSA9PSBmcmFtZTIuY29udGVudERvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoImlucHV0IikudmFsdWUnKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGlmcmFt
ZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291cmNl
cy9ucGgtY2FjaGVkLnBsP3E9JTNjc2NyaXB0JTNlYWxlcnQoL1hTUy8pOyUzYy9zY3JpcHQlM2Ui
IG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3Vy
Y2VzL25waC1jYWNoZWQucGwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1
ZGl0b3IvcmVzb3VyY2VzL25waC1jYWNoZWQucGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNThiNTYwY2QxYTIyYjFi
MzZhYjRmYTUyZTA5YmE1MzUyNmJhOWUzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBoLWNhY2hlZC5wbApA
QCAtMCwwICsxLDMxIEBACisjIS91c3IvYmluL3BlcmwKKyMgU2NyaXB0IHRvIGdlbmVyYXRlIGEg
MzA0IEhUVFAgc3RhdHVzIHdpdGggKGlsbGVnYWwpIFgtWFNTLVByb3RlY3QgaGVhZGVycy4KKyMg
UmVsaWVzIG9uIGl0cyBucGgtIGZpbGVuYW1lIHRvIGludm9rZSB0aGUgQ0dJIG5vbi1wYXJzZWQt
aGVhZGVyIGZhY2lsaXR5LgorCiskcHJvdG9jb2wgPSAkRU5WeydTRVJWRVJfUFJPVE9DT0wnfTsK
KyRzb2Z0d2FyZSA9ICRFTlZ7J1NFUlZFUl9TT0ZUV0FSRSd9OworJGlmX21vZGlmaWVkID0gJEVO
VnsnSFRUUF9JRl9NT0RJRklFRF9TSU5DRSd9OworJG5vbmNlID0gaW50KHJhbmQoMTAwMDAwKSk7
CisKK2lmICgkaWZfbW9kaWZpZWQpIHsKKyAgICBwcmludCAiJHByb3RvY29sIDMwNCBOb3QgTW9k
aWZpZWRcclxuIjsKKyAgICBwcmludCAiU2VydmVyOiAkc29mdHdhcmVcclxuIjsKKyAgICBwcmlu
dCAiWC1YU1MtUHJvdGVjdGlvbjogMFxyXG4iOworICAgIHByaW50ICJDb25uZWN0aW9uOiBjbG9z
ZVxyXG4iOworICAgIGV4aXQoMCk7Cit9CisKK3ByaW50ICIkcHJvdG9jb2wgMjAwIE9LXHJcbiI7
CitwcmludCAiU2VydmVyOiAkc29mdHdhcmVcclxuIjsKK3ByaW50ICJDb250ZW50LXR5cGU6IHRl
eHQvaHRtbFxyXG4iOworcHJpbnQgIkV4cGlyZXM6IFdlZCwgMjEgTm92IDIwMzcgMTk6MTk6MTMg
KzAwMDBcclxuIjsKK3ByaW50ICJMYXN0LU1vZGlmaWVkOiBNb24sIDA4IE5vdiAyMDEwIDE5OjE5
OjEzICswMDAwXHJcbiI7CitwcmludCAiWC1YU1MtUHJvdGVjdGlvbjogMVxyXG4iOworcHJpbnQg
IlxyXG4iOworcHJpbnQgIjwhRE9DVFlQRSBodG1sPlxyXG4iOworcHJpbnQgIjxodG1sPlxyXG4i
OworcHJpbnQgIjxib2R5PlxyXG4iOworcHJpbnQgIjxpbnB1dCBpZD1cInJhbmRcIiB0eXBlPVwi
dGV4dFwiIHZhbHVlPVwiJG5vbmNlXCIvPlxyXG4iOworcHJpbnQgIjxzY3JpcHQ+YWxlcnQoL1hT
Uy8pOzwvc2NyaXB0PlxyXG4iOworcHJpbnQgIjwvYm9keT5cclxuIjsKK3ByaW50ICI8L2h0bWw+
XHJcbiI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186674</attachid>
            <date>2013-02-05 12:18:14 -0800</date>
            <delta_ts>2013-02-06 01:16:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72414-20130205211450.patch</filename>
            <type>text/plain</type>
            <size>17181</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZkYTM0ODc2YjI1ZTcw
MmFlYWY1ZGQxMmI2MDA2NWEzYmZjYWE1YS4uYjA0NTFhZTE5NTIzN2FkMzJlYTliZTc1ZDk2ODdj
MTI1ODhkYmEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAyLTA1ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRW50aXR5LWhlYWRlciBleHRl
bnNpb24gaGVhZGVycyBob25vcmVkIG9uIDMwNCByZXNwb25zZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZW5zdXJlcyB0aGF0IGNl
cnRhaW4gdHlwZXMgb2YgaGVhZGVycyBzZW50IHdpdGggMzA0IHJlc3BvbnNlcworICAgICAgICBk
byBub3Qgb3ZlcndyaXRlIHRoZWlyIGNvdW50ZXJwYXJ0cyBvbiB0aGUgb3JpZ2luYWwgcmVzcG9u
c2UuCisgICAgICAgIFNwZWNpZmljYWxseSwgJ2NvbnRlbnQtKicsICd4LWNvbnRlbnQtKicsICd4
LWZyYW1lLSonLCAneC13ZWJraXQtKicsCisgICAgICAgIGFuZCAneC14c3MtKicgcHJlZml4ZXMg
YXJlIHNraXBwZWQgd2hlbiB1cGRhdGluZyByZXNwb25zZXMgYWZ0ZXIKKyAgICAgICAgcmV2YWxp
ZGF0aW9uLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlv
bnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLmh0bWwKKyAg
ICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUu
aHRtbAorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnVwZGF0ZVJl
c3BvbnNlQWZ0ZXJSZXZhbGlkYXRpb24pOgorICAgICAgICAgICAgU2tpcCB1cGRhdGVzIGZvciBl
bnRpdHkgaGVhZGVycycgcHJlZml4ZXMuCisKIDIwMTMtMDItMDIgIEp1biBKaWFuZyAgPGp1bi5h
LmppYW5nQGludGVsLmNvbT4KIAogICAgICAgICBPcHRpbWl6ZSBzb21lIG9wZXJhdGlvbnMgZm9y
IGZsb2F0IHR5cGUgaW4gdGV4dHVyZSBmb3JtYXQgY29udmVyc2lvbnMgb2YgV2ViR0wKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGYwMzE0
ZTdkN2Y0YTEwMzdmZmZjOWQyZjNhZmI1NDU2ZWE1N2M2ZmQuLjlkNWM4ZDUyOTQyMTA2YzIxY2E1
NjUwNTViMDk3Njc5ZmMxNmE3N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlLmNwcApAQCAtNzI4LDE5ICs3MjgsMTggQEAgdm9pZCBDYWNoZWRSZXNv
dXJjZTo6c3dpdGNoQ2xpZW50c1RvUmV2YWxpZGF0ZWRSZXNvdXJjZSgpCiAgICAgfQogICAgIG1f
c3dpdGNoaW5nQ2xpZW50c1RvUmV2YWxpZGF0ZWRSZXNvdXJjZSA9IGZhbHNlOwogfQotICAgIAor
CiB2b2lkIENhY2hlZFJlc291cmNlOjp1cGRhdGVSZXNwb25zZUFmdGVyUmV2YWxpZGF0aW9uKGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHZhbGlkYXRpbmdSZXNwb25zZSkKIHsKICAgICBtX3Jlc3Bv
bnNlVGltZXN0YW1wID0gY3VycmVudFRpbWUoKTsKIAotICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Y29uc3QgQXRvbWljU3RyaW5nLCBjb250ZW50SGVhZGVyUHJlZml4LCAoImNvbnRlbnQtIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwogICAgIC8vIFJGQzI2MTYgMTAuMy41
CiAgICAgLy8gVXBkYXRlIGNhY2hlZCBoZWFkZXJzIGZyb20gdGhlIDMwNCByZXNwb25zZQogICAg
IGNvbnN0IEhUVFBIZWFkZXJNYXAmIG5ld0hlYWRlcnMgPSB2YWxpZGF0aW5nUmVzcG9uc2UuaHR0
cEhlYWRlckZpZWxkcygpOwogICAgIEhUVFBIZWFkZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9
IG5ld0hlYWRlcnMuZW5kKCk7CiAgICAgZm9yIChIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRv
ciBpdCA9IG5ld0hlYWRlcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIC8v
IERvbid0IGFsbG93IDMwNCByZXNwb25zZSB0byB1cGRhdGUgY29udGVudCBoZWFkZXJzLCB0aGVz
ZSBjYW4ndCBjaGFuZ2UgYnV0IHNvbWUgc2VydmVycyBzZW5kIHdyb25nIHZhbHVlcy4KLSAgICAg
ICAgaWYgKGl0LT5rZXkuc3RhcnRzV2l0aChjb250ZW50SGVhZGVyUHJlZml4LCBmYWxzZSkpCisg
ICAgICAgIGlmIChpdC0+a2V5LnN0YXJ0c1dpdGgoImNvbnRlbnQtIiwgZmFsc2UpIHx8IGl0LT5r
ZXkuc3RhcnRzV2l0aCgieC1jb250ZW50LSIsIGZhbHNlKSB8fCBpdC0+a2V5LnN0YXJ0c1dpdGgo
IngtZnJhbWUtIiwgZmFsc2UpIHx8IGl0LT5rZXkuc3RhcnRzV2l0aCgieC13ZWJraXQtIiwgZmFs
c2UpIHx8IGl0LT5rZXkuc3RhcnRzV2l0aCgieC14c3MtIiwgZmFsc2UpKQogICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIG1fcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKGl0LT5rZXks
IGl0LT52YWx1ZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY1ZDE3OGFjYWMxNDUyOTcxY2RjZmIwMTcyNjc2
YjU5MDgyYjVlOTUuLmI2ZGU3ZDcxODRkOTVlZGMxOTU2MmY5ZWRiNmVmMDk2MzM4M2ZiYjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0wMi0wNSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIEVudGl0eS1oZWFkZXIgZXh0ZW5zaW9uIGhlYWRlcnMgaG9ub3Jl
ZCBvbiAzMDQgcmVzcG9uc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzI0MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMv
bnBoLWNhY2hlZC14Zm8ucGw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
WEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtY2FjaGVkLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3gtZnJhbWUtb3B0
aW9ucy1jYWNoZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nh
Y2hlZC1mcmFtZS1jc3AuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL25waC1jYWNoZWQtY3NwLnBsOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1l
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NB
dWRpdG9yL2NhY2hlZC1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL25waC1jYWNoZWQucGw6IEFkZGVkLgorCiAyMDEz
LTAyLTAyICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KIAogICAgICAgICBN
YWtpbmcgLXdlYmtpdC1pbWFnZS1zZXQoKSB0aGUgZmlyc3QgdmFsdWUgb2YgYmFja2dyb3VuZCBw
cm9wZXJ0eSBjYXVzZXMgY3Jhc2guCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgt
Y2FjaGVkLXhmby5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmI1MmQ2NTY0YmJiNzVhOWE3ZTIwNGE3ZjBmNTkz
YzExMjdhZGU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbApAQCAtMCwwICsx
LDI5IEBACisjIS91c3IvYmluL3BlcmwKKyMgU2NyaXB0IHRvIGdlbmVyYXRlIGEgMzA0IEhUVFAg
c3RhdHVzIHdpdGggKGlsbGVnYWwpIFgtRnJhbWUtT3B0aW9ucyBoZWFkZXJzLgorIyBSZWxpZXMg
b24gaXRzIG5waC0gZmlsZW5hbWUgdG8gaW52b2tlIHRoZSBDR0kgbm9uLXBhcnNlZC1oZWFkZXIg
ZmFjaWxpdHkuCisKKyRwcm90b2NvbCA9ICRFTlZ7J1NFUlZFUl9QUk9UT0NPTCd9OworJHNvZnR3
YXJlID0gJEVOVnsnU0VSVkVSX1NPRlRXQVJFJ307CiskaWZfbW9kaWZpZWQgPSAkRU5WeydIVFRQ
X0lGX01PRElGSUVEX1NJTkNFJ307CisKK2lmICgkaWZfbW9kaWZpZWQpIHsKKyAgICBwcmludCAi
JHByb3RvY29sIDMwNCBOb3QgTW9kaWZpZWRcclxuIjsKKyAgICBwcmludCAiU2VydmVyOiAkc29m
dHdhcmVcclxuIjsKKyAgICBwcmludCAiWC1GcmFtZS1PcHRpb25zOiBkZW55XHJcbiI7CisgICAg
cHJpbnQgIkNvbm5lY3Rpb246IGNsb3NlXHJcbiI7CisgICAgZXhpdCgwKTsKK30KKworcHJpbnQg
IiRwcm90b2NvbCAyMDAgT0tcclxuIjsKK3ByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOwor
cHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXHJcbiI7CitwcmludCAiRXhwaXJlczogV2Vk
LCAyMSBOb3YgMjAzNyAxOToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIkxhc3QtTW9kaWZpZWQ6
IE1vbiwgMDggTm92IDIwMTAgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJYLUZyYW1lLU9w
dGlvbnM6IGFsbG93YWxsXHJcbiI7CitwcmludCAiXHJcbiI7CitwcmludCAiPCFET0NUWVBFIGh0
bWw+XHJcbiI7CitwcmludCAiPGh0bWw+XHJcbiI7CitwcmludCAiPGJvZHk+XHJcbiI7Citwcmlu
dCAiPHNjcmlwdD5hbGVydChcIlRoaXMgbXVzdCBmaXJlIHR3aWNlXCIpOzwvc2NyaXB0PlxyXG4i
OworcHJpbnQgIjwvYm9keT5cclxuIjsKK3ByaW50ICI8L2h0bWw+XHJcbiI7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1v
cHRpb25zLWNhY2hlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODg3YTNlOWM3OWQ1YWUzODU4NTNlYTdjODA2NDllNmVjOGRmZmJjZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9u
cy94LWZyYW1lLW9wdGlvbnMtY2FjaGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitD
T05TT0xFIE1FU1NBR0U6IEludmFsaWQgJ1gtRnJhbWUtT3B0aW9ucycgaGVhZGVyIGVuY291bnRl
cmVkIHdoZW4gbG9hZGluZyAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFtZU9w
dGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsJzogJ2FsbG93YWxsJyBpcyBub3QgYSBy
ZWNvZ25pemVkIGRpcmVjdGl2ZS4gVGhlIGhlYWRlciB3aWxsIGJlIGlnbm9yZWQuCitBTEVSVDog
VGhpcyBtdXN0IGZpcmUgdHdpY2UKK0NPTlNPTEUgTUVTU0FHRTogSW52YWxpZCAnWC1GcmFtZS1P
cHRpb25zJyBoZWFkZXIgZW5jb3VudGVyZWQgd2hlbiBsb2FkaW5nICdodHRwOi8vMTI3LjAuMC4x
OjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwn
OiAnYWxsb3dhbGwnIGlzIG5vdCBhIHJlY29nbml6ZWQgZGlyZWN0aXZlLiBUaGUgaGVhZGVyIHdp
bGwgYmUgaWdub3JlZC4KK0FMRVJUOiBUaGlzIG11c3QgZmlyZSB0d2ljZQorQ2hlY2sgdGhhdCBh
biBYLUZyYW1lLU9wdGlvbnMgaGVhZGVyIGFkZGVkIGJ5IGEgMzA0IHJlc3BvbnNlIGRvZXMgbm90
IG92ZXJyaWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworVHdvIGNvbnNvbGUgbWVzc2FnZXMgc2hvdWxkIGJlIGdlbmVyYXRl
ZCwgZWFjaCBmb2xsb3dlZCBieSBhbiBhbGVydC4KK0JvdGggZnJhbWVzIHNob3VsZCBwb2ludCB0
byB0aGUgZXhwZWN0ZWQgVVJMLCBhbmQgbm90IHRvIGFib3V0OmJsYW5rLgorUEFTUyBmcmFtZTEu
c3JjIGlzICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNv
dXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwiCitQQVNTIGZyYW1lMi5zcmMgaXMgImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhm
by5wbCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
ICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0
aW9ucy94LWZyYW1lLW9wdGlvbnMtY2FjaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM2OTRmMmM5NmU4YTk3Njc4MDI2YzhkYzkzZTA4OTZhMjI1MTBlZjUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMv
eC1mcmFtZS1vcHRpb25zLWNhY2hlZC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBkZXNjcmlw
dGlvbignQ2hlY2sgdGhhdCBhbiBYLUZyYW1lLU9wdGlvbnMgaGVhZGVyIGFkZGVkIGJ5IGEgMzA0
IHJlc3BvbnNlIGRvZXMgbm90IG92ZXJyaWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0
LicpOworICAgICAgICBkZWJ1ZygnVHdvIGNvbnNvbGUgbWVzc2FnZXMgc2hvdWxkIGJlIGdlbmVy
YXRlZCwgZWFjaCBmb2xsb3dlZCBieSBhbiBhbGVydC4nKTsKKyAgICAgICAgd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIHZhciBmcmFtZTEsIGZyYW1lMjsKKyAgICAgICAg
ZnVuY3Rpb24gZnJhbWVMb2FkZWQoKSB7CisgICAgICAgICAgICBmcmFtZTEgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCdpZnJhbWUnKTsKKworICAgICAgICAgICAgZnJhbWUyID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGZyYW1lMik7CisgICAgICAgICAgICBmcmFtZTIub25sb2FkID0gY2hlY2tTdGF0ZTsK
KworICAgICAgICAgICAgZnJhbWUyLnNyYyA9IGZyYW1lMS5zcmM7CisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBjaGVja1N0YXRlKCkgeworICAgICAgICAgICAgZGVidWcoJ0JvdGggZnJh
bWVzIHNob3VsZCBwb2ludCB0byB0aGUgZXhwZWN0ZWQgVVJMLCBhbmQgbm90IHRvIGFib3V0OmJs
YW5rLicpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmcmFtZTEuc3JjJywg
J2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9u
cGgtY2FjaGVkLXhmby5wbCcpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdm
cmFtZTIuc3JjJywgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25z
L3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbCcpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFtZU9wdGlv
bnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsIiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwv
aWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lM2Y3ZWRl
YzkwZGE4MzYwOWY0ZGI5MTIwZTFkOGFmNDU1ZTIyNDAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVk
LWZyYW1lLWNzcC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDU6IFJlZnVzZWQgdG8gZXhlY3V0ZSBpbmxpbmUgc2NyaXB0IGJlY2F1c2UgaXQgdmlv
bGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJz
Y3JpcHQtc3JjICdub25lJyIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1OiBSZWZ1c2VkIHRv
IGV4ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcg
Q29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnbm9uZSciLgor
CitDaGVjayB0aGF0IGEgQ1NQIGhlYWRlciBhZGRlZCBieSBhIDMwNCByZXNwb25zZSBkb2VzIG5v
dCBvdmVycmlkZSBvbmUgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK0NoZWNrIHRoYXQgdGhlIG5vbmNlIGlzIHRoZSBzYW1lLCBtZWFu
aW5nIHRoYXQgdGhlIGRvY3VtZW50IHdhcyBvbmx5IGdlbmVyYXRlZCBvbmNlOgorUEFTUyBmcmFt
ZTEuY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUgPT0gZnJhbWUy
LmNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlIGlzIHRydWUKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L2NhY2hlZC1mcmFtZS1jc3AuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFtZS1jc3AuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mZTI3MDYyNGRiMGMwNjY1Yjc5ZDIzMTE3YjE2ZjQ1ZmQxZTgxNWMxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvY2FjaGVkLWZyYW1lLWNzcC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBkZXNjcmlwdGlv
bignQ2hlY2sgdGhhdCBhIENTUCBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lcyBu
b3Qgb3ZlcnJpZGUgb25lIGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuJyk7CisgICAgICAgIHdp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICB2YXIgZnJhbWUxLCBmcmFtZTI7
CisgICAgICAgIGZ1bmN0aW9uIGZyYW1lTG9hZGVkKCkgeworICAgICAgICAgICAgZnJhbWUxID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaWZyYW1lJyk7CisKKyAgICAgICAgICAgIGZyYW1lMiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgICAgICAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChmcmFtZTIpOworICAgICAgICAgICAgZnJhbWUyLm9ubG9hZCA9IGNo
ZWNrU3RhdGU7CisKKyAgICAgICAgICAgIGZyYW1lMi5zcmMgPSBmcmFtZTEuc3JjOworICAgICAg
ICB9CisKKyAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGF0ZSgpIHsKKyAgICAgICAgICAgIGRlYnVn
KCdDaGVjayB0aGF0IHRoZSBub25jZSBpcyB0aGUgc2FtZSwgbWVhbmluZyB0aGF0IHRoZSBkb2N1
bWVudCB3YXMgb25seSBnZW5lcmF0ZWQgb25jZTonKTsKKworICAgICAgICAgICAgc2hvdWxkQmVU
cnVlKCdmcmFtZTEuY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUg
PT0gZnJhbWUyLmNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlJyk7
CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxpZnJhbWUgc3JjPSJodHRwOi8vMTI3LjAuMC4x
OjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVk
LWNzcC5wbCIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2Fj
aGVkLWNzcC5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOWI1ODE0M2RhMTM5ZTZhMTc0ZjlkNzhjMGEyNjNlOTRh
YTcxN2MyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL25waC1jYWNoZWQtY3NwLnBsCkBAIC0w
LDAgKzEsMzEgQEAKKyMhL3Vzci9iaW4vcGVybAorIyBTY3JpcHQgdG8gZ2VuZXJhdGUgYSAzMDQg
SFRUUCBzdGF0dXMgd2l0aCAoaWxsZWdhbCkgWC1XZWJLaXQtQ1NQIGhlYWRlcnMuCisjIFJlbGll
cyBvbiBpdHMgbnBoLSBmaWxlbmFtZSB0byBpbnZva2UgdGhlIENHSSBub24tcGFyc2VkLWhlYWRl
ciBmYWNpbGl0eS4KKworJHByb3RvY29sID0gJEVOVnsnU0VSVkVSX1BST1RPQ09MJ307Ciskc29m
dHdhcmUgPSAkRU5WeydTRVJWRVJfU09GVFdBUkUnfTsKKyRpZl9tb2RpZmllZCA9ICRFTlZ7J0hU
VFBfSUZfTU9ESUZJRURfU0lOQ0UnfTsKKyRub25jZSA9IGludChyYW5kKDEwMDAwMCkpOworCitp
ZiAoJGlmX21vZGlmaWVkKSB7CisgICAgcHJpbnQgIiRwcm90b2NvbCAzMDQgTm90IE1vZGlmaWVk
XHJcbiI7CisgICAgcHJpbnQgIlNlcnZlcjogJHNvZnR3YXJlXHJcbiI7CisgICAgcHJpbnQgIkNv
bnRlbnQtU2VjdXJpdHktUG9saWN5OiBzY3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJ1xyXG4iOwor
ICAgIHByaW50ICJDb25uZWN0aW9uOiBjbG9zZVxyXG4iOworICAgIGV4aXQoMCk7Cit9CisKK3By
aW50ICIkcHJvdG9jb2wgMjAwIE9LXHJcbiI7CitwcmludCAiU2VydmVyOiAkc29mdHdhcmVcclxu
IjsKK3ByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxyXG4iOworcHJpbnQgIkV4cGlyZXM6
IFdlZCwgMjEgTm92IDIwMzcgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJMYXN0LU1vZGlm
aWVkOiBNb24sIDA4IE5vdiAyMDEwIDE5OjE5OjEzICswMDAwXHJcbiI7CitwcmludCAiQ29udGVu
dC1TZWN1cml0eS1Qb2xpY3k6IHNjcmlwdC1zcmMgJ25vbmUnXHJcbiI7CitwcmludCAiXHJcbiI7
CitwcmludCAiPCFET0NUWVBFIGh0bWw+XHJcbiI7CitwcmludCAiPGh0bWw+XHJcbiI7Citwcmlu
dCAiPGJvZHk+XHJcbiI7CitwcmludCAiPGlucHV0IGlkPVwicmFuZFwiIHR5cGU9XCJ0ZXh0XCIg
dmFsdWU9XCIkbm9uY2VcIi8+XHJcbiI7CitwcmludCAiPHNjcmlwdD5hbGVydCgnRkFJTCcpOzwv
c2NyaXB0PlxyXG4iOworcHJpbnQgIjwvYm9keT5cclxuIjsKK3ByaW50ICI8L2h0bWw+XHJcbiI7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Iv
Y2FjaGVkLWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4N2U0
NzhiOTA1ZWYxN2JlMDhhZTdhZGYzZTdiNDE0NGIyNzQ2YWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogUmVm
dXNlZCB0byBleGVjdXRlIGEgSmF2YVNjcmlwdCBzY3JpcHQuIFNvdXJjZSBjb2RlIG9mIHNjcmlw
dCBmb3VuZCB3aXRoaW4gcmVxdWVzdC4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IFJlZnVz
ZWQgdG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29kZSBvZiBzY3JpcHQg
Zm91bmQgd2l0aGluIHJlcXVlc3QuCisKK0NoZWNrIHRoYXQgYW4gWC1YU1MtUHJvdGVjdGlvbiBo
ZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lcyBub3Qgb3ZlcnJpZGUgb25lIGZyb20g
dGhlIG9yaWdpbmFsIHJlcXVlc3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitU
d28gY29uc29sZSBtZXNzYWdlcyBzaG91bGQgYmUgZ2VuZXJhdGVkLCBub3RpbmcgdGhhdCBKYXZh
U2NyaXB0IHdhcyBibG9ja2VkLgorQ2hlY2sgdGhhdCB0aGUgbm9uY2UgaXMgdGhlIHNhbWUsIG1l
YW5pbmcgdGhhdCB0aGUgZG9jdW1lbnQgd2FzIG9ubHkgZ2VuZXJhdGVkIG9uY2U6CitQQVNTIGZy
YW1lMS5jb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZSA9PSBmcmFt
ZTIuY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUgaXMgdHJ1ZQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hl
ZC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9y
L2NhY2hlZC1mcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkYmM0ZWMwNzU1YWUxZTk1M2VjNTg2ZDc0
ZDkzOGM2MmVlZTdmMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLmh0bWwKQEAgLTAsMCArMSwzNiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0WFNT
QXVkaXRvckVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgZGVzY3JpcHRpb24oJ0NoZWNrIHRoYXQg
YW4gWC1YU1MtUHJvdGVjdGlvbiBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lcyBu
b3Qgb3ZlcnJpZGUgb25lIGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuJyk7CisgICAgICAgIGRl
YnVnKCdUd28gY29uc29sZSBtZXNzYWdlcyBzaG91bGQgYmUgZ2VuZXJhdGVkLCBub3RpbmcgdGhh
dCBKYXZhU2NyaXB0IHdhcyBibG9ja2VkLicpOworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgdmFyIGZyYW1lMSwgZnJhbWUyOworICAgICAgICBmdW5jdGlv
biBmcmFtZUxvYWRlZCgpIHsKKyAgICAgICAgICAgIGZyYW1lMSA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ2lmcmFtZScpOworCisgICAgICAgICAgICBmcmFtZTIgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdpZnJhbWUnKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZnJhbWUyKTsKKyAgICAgICAgICAgIGZyYW1lMi5vbmxvYWQgPSBjaGVja1N0YXRlOworCisgICAg
ICAgICAgICBmcmFtZTIuc3JjID0gZnJhbWUxLnNyYzsKKyAgICAgICAgfQorCisgICAgICAgIGZ1
bmN0aW9uIGNoZWNrU3RhdGUoKSB7CisgICAgICAgICAgICBkZWJ1ZygnQ2hlY2sgdGhhdCB0aGUg
bm9uY2UgaXMgdGhlIHNhbWUsIG1lYW5pbmcgdGhhdCB0aGUgZG9jdW1lbnQgd2FzIG9ubHkgZ2Vu
ZXJhdGVkIG9uY2U6Jyk7CisKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZnJhbWUxLmNvbnRl
bnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlID09IGZyYW1lMi5jb250ZW50
RG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZScpOworICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3hz
c0F1ZGl0b3IvcmVzb3VyY2VzL25waC1jYWNoZWQucGw/cT0lM2NzY3JpcHQlM2VhbGVydCgvWFNT
Lyk7JTNjL3NjcmlwdCUzZSIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
eHNzQXVkaXRvci9yZXNvdXJjZXMvbnBoLWNhY2hlZC5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBoLWNhY2hlZC5wbApuZXcgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41OGI1NjBjZDFhMjJiMWIzNmFiNGZhNTJlMDliYTUzNTI2YmE5ZTM1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291cmNl
cy9ucGgtY2FjaGVkLnBsCkBAIC0wLDAgKzEsMzEgQEAKKyMhL3Vzci9iaW4vcGVybAorIyBTY3Jp
cHQgdG8gZ2VuZXJhdGUgYSAzMDQgSFRUUCBzdGF0dXMgd2l0aCAoaWxsZWdhbCkgWC1YU1MtUHJv
dGVjdCBoZWFkZXJzLgorIyBSZWxpZXMgb24gaXRzIG5waC0gZmlsZW5hbWUgdG8gaW52b2tlIHRo
ZSBDR0kgbm9uLXBhcnNlZC1oZWFkZXIgZmFjaWxpdHkuCisKKyRwcm90b2NvbCA9ICRFTlZ7J1NF
UlZFUl9QUk9UT0NPTCd9OworJHNvZnR3YXJlID0gJEVOVnsnU0VSVkVSX1NPRlRXQVJFJ307Cisk
aWZfbW9kaWZpZWQgPSAkRU5WeydIVFRQX0lGX01PRElGSUVEX1NJTkNFJ307Ciskbm9uY2UgPSBp
bnQocmFuZCgxMDAwMDApKTsKKworaWYgKCRpZl9tb2RpZmllZCkgeworICAgIHByaW50ICIkcHJv
dG9jb2wgMzA0IE5vdCBNb2RpZmllZFxyXG4iOworICAgIHByaW50ICJTZXJ2ZXI6ICRzb2Z0d2Fy
ZVxyXG4iOworICAgIHByaW50ICJYLVhTUy1Qcm90ZWN0aW9uOiAwXHJcbiI7CisgICAgcHJpbnQg
IkNvbm5lY3Rpb246IGNsb3NlXHJcbiI7CisgICAgZXhpdCgwKTsKK30KKworcHJpbnQgIiRwcm90
b2NvbCAyMDAgT0tcclxuIjsKK3ByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworcHJpbnQg
IkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXHJcbiI7CitwcmludCAiRXhwaXJlczogV2VkLCAyMSBO
b3YgMjAzNyAxOToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIkxhc3QtTW9kaWZpZWQ6IE1vbiwg
MDggTm92IDIwMTAgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJYLVhTUy1Qcm90ZWN0aW9u
OiAxXHJcbiI7CitwcmludCAiXHJcbiI7CitwcmludCAiPCFET0NUWVBFIGh0bWw+XHJcbiI7Citw
cmludCAiPGh0bWw+XHJcbiI7CitwcmludCAiPGJvZHk+XHJcbiI7CitwcmludCAiPGlucHV0IGlk
PVwicmFuZFwiIHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCIkbm9uY2VcIi8+XHJcbiI7CitwcmludCAi
PHNjcmlwdD5hbGVydCgvWFNTLyk7PC9zY3JpcHQ+XHJcbiI7CitwcmludCAiPC9ib2R5PlxyXG4i
OworcHJpbnQgIjwvaHRtbD5cclxuIjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186782</attachid>
            <date>2013-02-06 01:16:16 -0800</date>
            <delta_ts>2013-02-06 04:29:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72414-20130206101253.patch</filename>
            <type>text/plain</type>
            <size>19674</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQwNGQwMmIwYmQ3MzMy
ZmI0N2Q4NGMzZGNjN2RkMzcwMDAzNWFiOS4uOWY1NTk5NDMyZWUxYjA1NmU5M2IzOTFjZTQzMDJh
MWIxM2I1MzhhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAyLTA2ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRW50aXR5LWhlYWRlciBleHRl
bnNpb24gaGVhZGVycyBob25vcmVkIG9uIDMwNCByZXNwb25zZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcG9ydHMgQ2hyb21pdW0n
cyBuZXR3b3JrIHN0YWNrIGxvZ2ljIGdvdmVybmluZyBoZWFkZXIKKyAgICAgICAgdXBkYXRlcyBh
ZnRlciByZXNvdXJjZSByZXZhbGlkYXRpb24uIEdlbmVyYWxseSwgaGVhZGVycyBzZW50IHdpdGgg
MzA0CisgICAgICAgIHJlc3BvbnNlcyBvdWdodCB0byB1cGRhdGUgdGhlIG9yaWdpbmFsIGNhY2hl
ZCByZXNvdXJjZSdzIGhlYWRlcnMuCisgICAgICAgIENlcnRhaW4gaGVhZGVycyBzaG91bGQgbmV2
ZXIgYmUgc2VudCB3aXRoIDMwNCByZXNwb25zZXMsIGFuZCB3ZSBzaG91bGQKKyAgICAgICAgaWdu
b3JlIHRoZW0gaWYgYSBtaXNjb25maWd1cmVkIHNlcnZlciBzZW5kcyB0aGVtIGFueXdheS4KKwor
ICAgICAgICBDdXJyZW50bHksIFdlYkNvcmUgaWdub3JlcyBhbGwgaGVhZGVycyBwcmVmaXhlZCB3
aXRoICdjb250ZW50LScuIFRoaXMKKyAgICAgICAgcGF0Y2ggYWRkcyAneC1jb250ZW50LScgYW5k
ICd4LXdlYmtpdC0nIHRvIHRoZSBsaXN0LCBhcyB3ZWxsIGFzIHNwZWNpZmljCisgICAgICAgIGhl
YWRlcnMgbGlrZSAndXBncmFkZScsICd0cmFpbGVyJywgYW5kIG90aGVycyB0aGF0IHRoZSBDaHJv
bWl1bSBuZXR3b3JrCisgICAgICAgIHN0YWNrIGN1cnJlbnRseSBpZ25vcmVzLgorCisgICAgICAg
IFRoZSB0ZXN0cyB2ZXJpZnkgdGhhdCB0aG9zZSBoZWFkZXJzIHdpdGggdmlzaWJsZSBlZmZlY3Qg
YXJlIGNvcnJlY3RseQorICAgICAgICBoYW5kbGVkOiAneC1mcmFtZS1vcHRpb25zJywgJ2NvbnRl
bnQtc2VjdXJpdHktcG9saWN5JywgYW5kCisgICAgICAgICd4LXhzcy1wcm90ZWN0aW9uJy4KKwor
ICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3gtZnJhbWUt
b3B0aW9ucy1jYWNoZWQuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC5odG1sCisgICAgICAgICAgICAg
ICBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLmh0bWwKKworICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjp1cGRhdGVSZXNwb25zZUFmdGVy
UmV2YWxpZGF0aW9uKToKKyAgICAgICAgICAgIEluIGFuIGFub255bW91cyBuYW1lc3BhY2UsIHRo
aXMgcGF0Y2ggYWRkcyB0d28gYXJyYXlzIGNvbnRhaW5pbmcgdGhlCisgICAgICAgICAgICBzcGVj
aWZpYyBoZWFkZXJzIHRvIGlnbm9yZSwgYW5kIHRoZSBwcmVmaXhlcyB0byBpZ25vcmUuIFRoZXNl
IGxpc3RzCisgICAgICAgICAgICBhcmUgcHJvY2Vzc2VkIGluIHNob3VsZFVwZGF0ZUhlYWRlckFm
dGVyUmV2YWxpZGF0aW9uLgorICAgICAgICAgICAgQ2FjaGVkUmVzb3VyY2U6OnVwZGF0ZVJlc3Bv
bnNlQWZ0ZXJSZXZhbGlkYXRpb24gcmVsaWVzIG9uIHRoaXMgbmV3CisgICAgICAgICAgICBtZXRo
b2Qgd2hlbiBwcm9jZXNzaW5nIHJldmFsaWRhdGVkIHJlc291cmNlcy4KKwogMjAxMy0wMi0wNSAg
SnVsaWVuIEJyaWFuY2VhdSAgPGpicmlhbmNlYXVAbmRzLmNvbT4KIAogICAgICAgICBCdWlsZCBp
cyBicm9rZW4gc2luY2UgcjE0MTU0MyBmb3IgcGxhdGZvcm1zIHdpdGhvdXQgT3BlbkdMCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBmMDMx
NGU3ZDdmNGExMDM3ZmZmYzlkMmYzYWZiNTQ1NmVhNTdjNmZkLi5mMjkzZTA0NTYzM2JkZTcxYzMx
MDg5ZDU2MzU4Y2UzYWUwMDkxODAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTU3LDYgKzU3LDUyIEBACiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAorbmFtZXNwYWNlIHsKKwor
Ly8gVGhlc2UgcmVzcG9uc2UgaGVhZGVycyBhcmUgbm90IGNvcGllZCBmcm9tIGEgcmV2YWxpZGF0
ZWQgcmVzcG9uc2UgdG8gdGhlCisvLyBjYWNoZWQgcmVzcG9uc2UgaGVhZGVycy4gVGhpcyBsaXN0
IGlzIGJhc2VkIG9uIENocm9taXVtJ3MKKy8vIGh0dHBfcmVzcG9uc2VfaGVhZGVycy5jYy4KK2Nv
bnN0IGNoYXIqIGNvbnN0IGhlYWRlcnNUb0lnbm9yZUFmdGVyUmV2YWxpZGF0aW9uW10gPSB7Cisg
ICAgImFsbG93IiwKKyAgICAiY29ubmVjdGlvbiIsCisgICAgImV0YWciLAorICAgICJleHBpcmVz
IiwKKyAgICAia2VlcC1hbGl2ZSIsCisgICAgImxhc3QtbW9kaWZpZWQiCisgICAgInByb3h5LWF1
dGhlbnRpY2F0ZSIsCisgICAgInByb3h5LWNvbm5lY3Rpb24iLAorICAgICJ0cmFpbGVyIiwKKyAg
ICAidHJhbnNmZXItZW5jb2RpbmciLAorICAgICJ1cGdyYWRlIiwKKyAgICAid3d3LWF1dGhlbnRp
Y2F0ZSIsCisgICAgIngtZnJhbWUtb3B0aW9ucyIsCisgICAgIngteHNzLXByb3RlY3Rpb24iLAor
fTsKKworLy8gU29tZSBoZWFkZXIgcHJlZml4ZXMgbWVhbiAiRG9uJ3QgY29weSB0aGlzIGhlYWRl
ciBmcm9tIGEgMzA0IHJlc3BvbnNlLiIuCisvLyBSYXRoZXIgdGhhbiBsaXN0aW5nIGFsbCB0aGUg
cmVsZXZhbnQgaGVhZGVycywgd2UgY2FuIGNvbnNvbGlkYXRlIHRoZW0gaW50bworLy8gdGhpcyBs
aXN0OgorY29uc3QgY2hhciogY29uc3QgaGVhZGVyUHJlZml4ZXNUb0lnbm9yZUFmdGVyUmV2YWxp
ZGF0aW9uW10gPSB7CisgICAgImNvbnRlbnQtIiwKKyAgICAieC1jb250ZW50LSIsCisgICAgIngt
d2Via2l0LSIKK307CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRVcGRhdGVIZWFkZXJBZnRl
clJldmFsaWRhdGlvbihjb25zdCBBdG9taWNTdHJpbmcmIGhlYWRlcikKK3sKKyAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgoaGVhZGVyc1RvSWdub3JlQWZ0ZXJSZXZh
bGlkYXRpb24pOyBpKyspIHsKKyAgICAgICAgaWYgKGhlYWRlciA9PSBoZWFkZXJzVG9JZ25vcmVB
ZnRlclJldmFsaWRhdGlvbltpXSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cisg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKGhlYWRlclByZWZpeGVz
VG9JZ25vcmVBZnRlclJldmFsaWRhdGlvbik7IGkrKykgeworICAgICAgICBpZiAoaGVhZGVyLnN0
YXJ0c1dpdGgoaGVhZGVyUHJlZml4ZXNUb0lnbm9yZUFmdGVyUmV2YWxpZGF0aW9uW2ldKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKK30K
KwogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPD4gc3RydWN0IFNlcXVlbmNlTWVtb3J5SW5z
dHJ1bWVudGF0aW9uVHJhaXRzPFdlYkNvcmU6OkNhY2hlZFJlc291cmNlQ2xpZW50Kj4gewpAQCAt
NzI4LDE5ICs3NzQsMjIgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6c3dpdGNoQ2xpZW50c1RvUmV2
YWxpZGF0ZWRSZXNvdXJjZSgpCiAgICAgfQogICAgIG1fc3dpdGNoaW5nQ2xpZW50c1RvUmV2YWxp
ZGF0ZWRSZXNvdXJjZSA9IGZhbHNlOwogfQotICAgIAorCiB2b2lkIENhY2hlZFJlc291cmNlOjp1
cGRhdGVSZXNwb25zZUFmdGVyUmV2YWxpZGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHZh
bGlkYXRpbmdSZXNwb25zZSkKIHsKICAgICBtX3Jlc3BvbnNlVGltZXN0YW1wID0gY3VycmVudFRp
bWUoKTsKIAotICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBjb250
ZW50SGVhZGVyUHJlZml4LCAoImNvbnRlbnQtIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9t
TGl0ZXJhbCkpOwogICAgIC8vIFJGQzI2MTYgMTAuMy41CiAgICAgLy8gVXBkYXRlIGNhY2hlZCBo
ZWFkZXJzIGZyb20gdGhlIDMwNCByZXNwb25zZQogICAgIGNvbnN0IEhUVFBIZWFkZXJNYXAmIG5l
d0hlYWRlcnMgPSB2YWxpZGF0aW5nUmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkcygpOwogICAgIEhU
VFBIZWFkZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG5ld0hlYWRlcnMuZW5kKCk7CiAgICAg
Zm9yIChIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG5ld0hlYWRlcnMuYmVnaW4o
KTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIC8vIERvbid0IGFsbG93IDMwNCByZXNwb25z
ZSB0byB1cGRhdGUgY29udGVudCBoZWFkZXJzLCB0aGVzZSBjYW4ndCBjaGFuZ2UgYnV0IHNvbWUg
c2VydmVycyBzZW5kIHdyb25nIHZhbHVlcy4KLSAgICAgICAgaWYgKGl0LT5rZXkuc3RhcnRzV2l0
aChjb250ZW50SGVhZGVyUHJlZml4LCBmYWxzZSkpCisgICAgICAgIC8vIEVudGl0eSBoZWFkZXJz
IHNob3VsZCBub3QgYmUgc2VudCBieSBzZXJ2ZXJzIHdoZW4gZ2VuZXJhdGluZyBhIDMwNAorICAg
ICAgICAvLyByZXNwb25zZTsgbWlzY29uZmlndXJlZCBzZXJ2ZXJzIHNlbmQgdGhlbSBhbnl3YXku
IFdlIHNob3VsZG4ndCBhbGxvdworICAgICAgICAvLyBzdWNoIGhlYWRlcnMgdG8gdXBkYXRlIHRo
ZSBvcmlnaW5hbCByZXF1ZXN0LiBUbyBtYXRjaCBDaHJvbWl1bSdzCisgICAgICAgIC8vIG5ldHdv
cmsgc3RhY2ssIHdlJ2xsIGJhc2UgdGhpcyBvbiB0aGUgbGlzdCBkZWZpbmVkIGJ5IFJGQzI2MTYg
Ny4xLAorICAgICAgICAvLyB3aXRoIGEgZmV3IGFkZGl0aW9ucyBmb3IgZXh0ZW5zaW9uIGhlYWRl
cnMgd2UgY2FyZSBhYm91dC4KKyAgICAgICAgaWYgKCFzaG91bGRVcGRhdGVIZWFkZXJBZnRlclJl
dmFsaWRhdGlvbihpdC0+a2V5KSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBtX3Jl
c3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChpdC0+a2V5LCBpdC0+dmFsdWUpOwogICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBiMWMyNDJjMGQ4MzBlMDEyNzY2NmQ3ODQ0MDBiOGU5YzEwYjlhOWM5Li42OTc0NmZkYjRh
NzU3OGU4YTRkODlmMmMyMGM5NDE4Nzg0YWZlZmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MTMtMDItMDYgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBFbnRp
dHktaGVhZGVyIGV4dGVuc2lvbiBoZWFkZXJzIGhvbm9yZWQgb24gMzA0IHJlc3BvbnNlcy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZy
YW1lLW9wdGlvbnMtY2FjaGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3gtZnJhbWUtb3B0aW9ucy1jYWNoZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvY2FjaGVkLWZyYW1lLWNzcC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFtZS1jc3AuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVzb3VyY2VzL25waC1jYWNoZWQtY3NwLnBsOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFt
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Iv
cmVzb3VyY2VzL25waC1jYWNoZWQucGw6IEFkZGVkLgorCiAyMDEzLTAyLTA1ICBaYW4gRG9iZXJz
ZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJk
ZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFt
ZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbApu
ZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40ZmI1MmQ2NTY0YmJiNzVhOWE3ZTIwNGE3ZjBmNTkzYzExMjdhZGU5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRp
b25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbApAQCAtMCwwICsxLDI5IEBACisjIS91c3Iv
YmluL3BlcmwKKyMgU2NyaXB0IHRvIGdlbmVyYXRlIGEgMzA0IEhUVFAgc3RhdHVzIHdpdGggKGls
bGVnYWwpIFgtRnJhbWUtT3B0aW9ucyBoZWFkZXJzLgorIyBSZWxpZXMgb24gaXRzIG5waC0gZmls
ZW5hbWUgdG8gaW52b2tlIHRoZSBDR0kgbm9uLXBhcnNlZC1oZWFkZXIgZmFjaWxpdHkuCisKKyRw
cm90b2NvbCA9ICRFTlZ7J1NFUlZFUl9QUk9UT0NPTCd9OworJHNvZnR3YXJlID0gJEVOVnsnU0VS
VkVSX1NPRlRXQVJFJ307CiskaWZfbW9kaWZpZWQgPSAkRU5WeydIVFRQX0lGX01PRElGSUVEX1NJ
TkNFJ307CisKK2lmICgkaWZfbW9kaWZpZWQpIHsKKyAgICBwcmludCAiJHByb3RvY29sIDMwNCBO
b3QgTW9kaWZpZWRcclxuIjsKKyAgICBwcmludCAiU2VydmVyOiAkc29mdHdhcmVcclxuIjsKKyAg
ICBwcmludCAiWC1GcmFtZS1PcHRpb25zOiBkZW55XHJcbiI7CisgICAgcHJpbnQgIkNvbm5lY3Rp
b246IGNsb3NlXHJcbiI7CisgICAgZXhpdCgwKTsKK30KKworcHJpbnQgIiRwcm90b2NvbCAyMDAg
T0tcclxuIjsKK3ByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworcHJpbnQgIkNvbnRlbnQt
dHlwZTogdGV4dC9odG1sXHJcbiI7CitwcmludCAiRXhwaXJlczogV2VkLCAyMSBOb3YgMjAzNyAx
OToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIkxhc3QtTW9kaWZpZWQ6IE1vbiwgMDggTm92IDIw
MTAgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJYLUZyYW1lLU9wdGlvbnM6IGFsbG93YWxs
XHJcbiI7CitwcmludCAiXHJcbiI7CitwcmludCAiPCFET0NUWVBFIGh0bWw+XHJcbiI7Citwcmlu
dCAiPGh0bWw+XHJcbiI7CitwcmludCAiPGJvZHk+XHJcbiI7CitwcmludCAiPHNjcmlwdD5hbGVy
dChcIlRoaXMgbXVzdCBmaXJlIHR3aWNlXCIpOzwvc2NyaXB0PlxyXG4iOworcHJpbnQgIjwvYm9k
eT5cclxuIjsKK3ByaW50ICI8L2h0bWw+XHJcbiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlv
bnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODg3YTNl
OWM3OWQ1YWUzODU4NTNlYTdjODA2NDllNmVjOGRmZmJjZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlv
bnMtY2FjaGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitDT05TT0xFIE1FU1NBR0U6
IEludmFsaWQgJ1gtRnJhbWUtT3B0aW9ucycgaGVhZGVyIGVuY291bnRlcmVkIHdoZW4gbG9hZGlu
ZyAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2Vz
L25waC1jYWNoZWQteGZvLnBsJzogJ2FsbG93YWxsJyBpcyBub3QgYSByZWNvZ25pemVkIGRpcmVj
dGl2ZS4gVGhlIGhlYWRlciB3aWxsIGJlIGlnbm9yZWQuCitBTEVSVDogVGhpcyBtdXN0IGZpcmUg
dHdpY2UKK0NPTlNPTEUgTUVTU0FHRTogSW52YWxpZCAnWC1GcmFtZS1PcHRpb25zJyBoZWFkZXIg
ZW5jb3VudGVyZWQgd2hlbiBsb2FkaW5nICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkv
WEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwnOiAnYWxsb3dhbGwnIGlz
IG5vdCBhIHJlY29nbml6ZWQgZGlyZWN0aXZlLiBUaGUgaGVhZGVyIHdpbGwgYmUgaWdub3JlZC4K
K0FMRVJUOiBUaGlzIG11c3QgZmlyZSB0d2ljZQorQ2hlY2sgdGhhdCBhbiBYLUZyYW1lLU9wdGlv
bnMgaGVhZGVyIGFkZGVkIGJ5IGEgMzA0IHJlc3BvbnNlIGRvZXMgbm90IG92ZXJyaWRlIG9uZSBm
cm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworVHdvIGNvbnNvbGUgbWVzc2FnZXMgc2hvdWxkIGJlIGdlbmVyYXRlZCwgZWFjaCBmb2xsb3dl
ZCBieSBhbiBhbGVydC4KK0JvdGggZnJhbWVzIHNob3VsZCBwb2ludCB0byB0aGUgZXhwZWN0ZWQg
VVJMLCBhbmQgbm90IHRvIGFib3V0OmJsYW5rLgorUEFTUyBmcmFtZTEuc3JjIGlzICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hl
ZC14Zm8ucGwiCitQQVNTIGZyYW1lMi5zcmMgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1
cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbCIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9w
dGlvbnMtY2FjaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFt
ZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2OTRmMmM5
NmU4YTk3Njc4MDI2YzhkYzkzZTA4OTZhMjI1MTBlZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25z
LWNhY2hlZC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBkZXNjcmlwdGlvbignQ2hlY2sgdGhh
dCBhbiBYLUZyYW1lLU9wdGlvbnMgaGVhZGVyIGFkZGVkIGJ5IGEgMzA0IHJlc3BvbnNlIGRvZXMg
bm90IG92ZXJyaWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LicpOworICAgICAgICBk
ZWJ1ZygnVHdvIGNvbnNvbGUgbWVzc2FnZXMgc2hvdWxkIGJlIGdlbmVyYXRlZCwgZWFjaCBmb2xs
b3dlZCBieSBhbiBhbGVydC4nKTsKKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIHZhciBmcmFtZTEsIGZyYW1lMjsKKyAgICAgICAgZnVuY3Rpb24gZnJhbWVM
b2FkZWQoKSB7CisgICAgICAgICAgICBmcmFtZTEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdp
ZnJhbWUnKTsKKworICAgICAgICAgICAgZnJhbWUyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
aWZyYW1lJyk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lMik7
CisgICAgICAgICAgICBmcmFtZTIub25sb2FkID0gY2hlY2tTdGF0ZTsKKworICAgICAgICAgICAg
ZnJhbWUyLnNyYyA9IGZyYW1lMS5zcmM7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBj
aGVja1N0YXRlKCkgeworICAgICAgICAgICAgZGVidWcoJ0JvdGggZnJhbWVzIHNob3VsZCBwb2lu
dCB0byB0aGUgZXhwZWN0ZWQgVVJMLCBhbmQgbm90IHRvIGFib3V0OmJsYW5rLicpOworICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmcmFtZTEuc3JjJywgJ2h0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5w
bCcpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmcmFtZTIuc3JjJywgJ2h0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgt
Y2FjaGVkLXhmby5wbCcpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0K
KyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8aWZyYW1lIHNyYz0i
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25w
aC1jYWNoZWQteGZvLnBsIiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQt
ZnJhbWUtY3NwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lM2Y3ZWRlYzkwZGE4MzYwOWY0ZGI5
MTIwZTFkOGFmNDU1ZTIyNDAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IFJlZnVz
ZWQgdG8gZXhlY3V0ZSBpbmxpbmUgc2NyaXB0IGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxv
d2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICdub25l
JyIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1OiBSZWZ1c2VkIHRvIGV4ZWN1dGUgaW5saW5l
IHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0
eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnbm9uZSciLgorCitDaGVjayB0aGF0IGEg
Q1NQIGhlYWRlciBhZGRlZCBieSBhIDMwNCByZXNwb25zZSBkb2VzIG5vdCBvdmVycmlkZSBvbmUg
ZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK0NoZWNrIHRoYXQgdGhlIG5vbmNlIGlzIHRoZSBzYW1lLCBtZWFuaW5nIHRoYXQgdGhlIGRv
Y3VtZW50IHdhcyBvbmx5IGdlbmVyYXRlZCBvbmNlOgorUEFTUyBmcmFtZTEuY29udGVudERvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUgPT0gZnJhbWUyLmNvbnRlbnREb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFt
ZS1jc3AuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L2NhY2hlZC1mcmFtZS1jc3AuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTI3MDYyNGRiMGMw
NjY1Yjc5ZDIzMTE3YjE2ZjQ1ZmQxZTgxNWMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1l
LWNzcC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBkZXNjcmlwdGlvbignQ2hlY2sgdGhhdCBh
IENTUCBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lcyBub3Qgb3ZlcnJpZGUgb25l
IGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuJyk7CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICB2YXIgZnJhbWUxLCBmcmFtZTI7CisgICAgICAgIGZ1bmN0
aW9uIGZyYW1lTG9hZGVkKCkgeworICAgICAgICAgICAgZnJhbWUxID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcignaWZyYW1lJyk7CisKKyAgICAgICAgICAgIGZyYW1lMiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChmcmFtZTIpOworICAgICAgICAgICAgZnJhbWUyLm9ubG9hZCA9IGNoZWNrU3RhdGU7CisKKyAg
ICAgICAgICAgIGZyYW1lMi5zcmMgPSBmcmFtZTEuc3JjOworICAgICAgICB9CisKKyAgICAgICAg
ZnVuY3Rpb24gY2hlY2tTdGF0ZSgpIHsKKyAgICAgICAgICAgIGRlYnVnKCdDaGVjayB0aGF0IHRo
ZSBub25jZSBpcyB0aGUgc2FtZSwgbWVhbmluZyB0aGF0IHRoZSBkb2N1bWVudCB3YXMgb25seSBn
ZW5lcmF0ZWQgb25jZTonKTsKKworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmcmFtZTEuY29u
dGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUgPT0gZnJhbWUyLmNvbnRl
bnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlJyk7CisgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorICAgIDxpZnJhbWUgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbCIgb25sb2Fk
PSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jl
c291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbApuZXcg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mOWI1ODE0M2RhMTM5ZTZhMTc0ZjlkNzhjMGEyNjNlOTRhYTcxN2MyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvcmVzb3VyY2VzL25waC1jYWNoZWQtY3NwLnBsCkBAIC0wLDAgKzEsMzEgQEAKKyMh
L3Vzci9iaW4vcGVybAorIyBTY3JpcHQgdG8gZ2VuZXJhdGUgYSAzMDQgSFRUUCBzdGF0dXMgd2l0
aCAoaWxsZWdhbCkgWC1XZWJLaXQtQ1NQIGhlYWRlcnMuCisjIFJlbGllcyBvbiBpdHMgbnBoLSBm
aWxlbmFtZSB0byBpbnZva2UgdGhlIENHSSBub24tcGFyc2VkLWhlYWRlciBmYWNpbGl0eS4KKwor
JHByb3RvY29sID0gJEVOVnsnU0VSVkVSX1BST1RPQ09MJ307Ciskc29mdHdhcmUgPSAkRU5WeydT
RVJWRVJfU09GVFdBUkUnfTsKKyRpZl9tb2RpZmllZCA9ICRFTlZ7J0hUVFBfSUZfTU9ESUZJRURf
U0lOQ0UnfTsKKyRub25jZSA9IGludChyYW5kKDEwMDAwMCkpOworCitpZiAoJGlmX21vZGlmaWVk
KSB7CisgICAgcHJpbnQgIiRwcm90b2NvbCAzMDQgTm90IE1vZGlmaWVkXHJcbiI7CisgICAgcHJp
bnQgIlNlcnZlcjogJHNvZnR3YXJlXHJcbiI7CisgICAgcHJpbnQgIkNvbnRlbnQtU2VjdXJpdHkt
UG9saWN5OiBzY3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJ1xyXG4iOworICAgIHByaW50ICJDb25u
ZWN0aW9uOiBjbG9zZVxyXG4iOworICAgIGV4aXQoMCk7Cit9CisKK3ByaW50ICIkcHJvdG9jb2wg
MjAwIE9LXHJcbiI7CitwcmludCAiU2VydmVyOiAkc29mdHdhcmVcclxuIjsKK3ByaW50ICJDb250
ZW50LXR5cGU6IHRleHQvaHRtbFxyXG4iOworcHJpbnQgIkV4cGlyZXM6IFdlZCwgMjEgTm92IDIw
MzcgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJMYXN0LU1vZGlmaWVkOiBNb24sIDA4IE5v
diAyMDEwIDE5OjE5OjEzICswMDAwXHJcbiI7CitwcmludCAiQ29udGVudC1TZWN1cml0eS1Qb2xp
Y3k6IHNjcmlwdC1zcmMgJ25vbmUnXHJcbiI7CitwcmludCAiXHJcbiI7CitwcmludCAiPCFET0NU
WVBFIGh0bWw+XHJcbiI7CitwcmludCAiPGh0bWw+XHJcbiI7CitwcmludCAiPGJvZHk+XHJcbiI7
CitwcmludCAiPGlucHV0IGlkPVwicmFuZFwiIHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCIkbm9uY2Vc
Ii8+XHJcbiI7CitwcmludCAiPHNjcmlwdD5hbGVydCgnRkFJTCcpOzwvc2NyaXB0PlxyXG4iOwor
cHJpbnQgIjwvYm9keT5cclxuIjsKK3ByaW50ICI8L2h0bWw+XHJcbiI7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9j
YWNoZWQtZnJhbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4N2U0NzhiOTA1ZWYxN2JlMDhh
ZTdhZGYzZTdiNDE0NGIyNzQ2YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE2IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogUmVmdXNlZCB0byBleGVjdXRl
IGEgSmF2YVNjcmlwdCBzY3JpcHQuIFNvdXJjZSBjb2RlIG9mIHNjcmlwdCBmb3VuZCB3aXRoaW4g
cmVxdWVzdC4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IFJlZnVzZWQgdG8gZXhlY3V0ZSBh
IEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29kZSBvZiBzY3JpcHQgZm91bmQgd2l0aGluIHJl
cXVlc3QuCisKK0NoZWNrIHRoYXQgYW4gWC1YU1MtUHJvdGVjdGlvbiBoZWFkZXIgYWRkZWQgYnkg
YSAzMDQgcmVzcG9uc2UgZG9lcyBub3Qgb3ZlcnJpZGUgb25lIGZyb20gdGhlIG9yaWdpbmFsIHJl
cXVlc3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUd28gY29uc29sZSBtZXNz
YWdlcyBzaG91bGQgYmUgZ2VuZXJhdGVkLCBub3RpbmcgdGhhdCBKYXZhU2NyaXB0IHdhcyBibG9j
a2VkLgorQ2hlY2sgdGhhdCB0aGUgbm9uY2UgaXMgdGhlIHNhbWUsIG1lYW5pbmcgdGhhdCB0aGUg
ZG9jdW1lbnQgd2FzIG9ubHkgZ2VuZXJhdGVkIG9uY2U6CitQQVNTIGZyYW1lMS5jb250ZW50RG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZSA9PSBmcmFtZTIuY29udGVudERvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZkYmM0ZWMwNzU1YWUxZTk1M2VjNTg2ZDc0ZDkzOGM2MmVlZTdmMGYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1
ZGl0b3IvY2FjaGVkLWZyYW1lLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0WFNTQXVkaXRvckVuYWJsZWQo
dHJ1ZSk7CisKKyAgICAgICAgZGVzY3JpcHRpb24oJ0NoZWNrIHRoYXQgYW4gWC1YU1MtUHJvdGVj
dGlvbiBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lcyBub3Qgb3ZlcnJpZGUgb25l
IGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuJyk7CisgICAgICAgIGRlYnVnKCdUd28gY29uc29s
ZSBtZXNzYWdlcyBzaG91bGQgYmUgZ2VuZXJhdGVkLCBub3RpbmcgdGhhdCBKYXZhU2NyaXB0IHdh
cyBibG9ja2VkLicpOworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgdmFyIGZyYW1lMSwgZnJhbWUyOworICAgICAgICBmdW5jdGlvbiBmcmFtZUxvYWRlZCgp
IHsKKyAgICAgICAgICAgIGZyYW1lMSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScp
OworCisgICAgICAgICAgICBmcmFtZTIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUn
KTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUyKTsKKyAgICAg
ICAgICAgIGZyYW1lMi5vbmxvYWQgPSBjaGVja1N0YXRlOworCisgICAgICAgICAgICBmcmFtZTIu
c3JjID0gZnJhbWUxLnNyYzsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGNoZWNrU3Rh
dGUoKSB7CisgICAgICAgICAgICBkZWJ1ZygnQ2hlY2sgdGhhdCB0aGUgbm9uY2UgaXMgdGhlIHNh
bWUsIG1lYW5pbmcgdGhhdCB0aGUgZG9jdW1lbnQgd2FzIG9ubHkgZ2VuZXJhdGVkIG9uY2U6Jyk7
CisKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZnJhbWUxLmNvbnRlbnREb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlID09IGZyYW1lMi5jb250ZW50RG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigiaW5wdXQiKS52YWx1ZScpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8aWZy
YW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3Vy
Y2VzL25waC1jYWNoZWQucGw/cT0lM2NzY3JpcHQlM2VhbGVydCgvWFNTLyk7JTNjL3NjcmlwdCUz
ZSIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNv
dXJjZXMvbnBoLWNhY2hlZC5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNz
QXVkaXRvci9yZXNvdXJjZXMvbnBoLWNhY2hlZC5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGI1NjBjZDFhMjJi
MWIzNmFiNGZhNTJlMDliYTUzNTI2YmE5ZTM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291cmNlcy9ucGgtY2FjaGVkLnBs
CkBAIC0wLDAgKzEsMzEgQEAKKyMhL3Vzci9iaW4vcGVybAorIyBTY3JpcHQgdG8gZ2VuZXJhdGUg
YSAzMDQgSFRUUCBzdGF0dXMgd2l0aCAoaWxsZWdhbCkgWC1YU1MtUHJvdGVjdCBoZWFkZXJzLgor
IyBSZWxpZXMgb24gaXRzIG5waC0gZmlsZW5hbWUgdG8gaW52b2tlIHRoZSBDR0kgbm9uLXBhcnNl
ZC1oZWFkZXIgZmFjaWxpdHkuCisKKyRwcm90b2NvbCA9ICRFTlZ7J1NFUlZFUl9QUk9UT0NPTCd9
OworJHNvZnR3YXJlID0gJEVOVnsnU0VSVkVSX1NPRlRXQVJFJ307CiskaWZfbW9kaWZpZWQgPSAk
RU5WeydIVFRQX0lGX01PRElGSUVEX1NJTkNFJ307Ciskbm9uY2UgPSBpbnQocmFuZCgxMDAwMDAp
KTsKKworaWYgKCRpZl9tb2RpZmllZCkgeworICAgIHByaW50ICIkcHJvdG9jb2wgMzA0IE5vdCBN
b2RpZmllZFxyXG4iOworICAgIHByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworICAgIHBy
aW50ICJYLVhTUy1Qcm90ZWN0aW9uOiAwXHJcbiI7CisgICAgcHJpbnQgIkNvbm5lY3Rpb246IGNs
b3NlXHJcbiI7CisgICAgZXhpdCgwKTsKK30KKworcHJpbnQgIiRwcm90b2NvbCAyMDAgT0tcclxu
IjsKK3ByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworcHJpbnQgIkNvbnRlbnQtdHlwZTog
dGV4dC9odG1sXHJcbiI7CitwcmludCAiRXhwaXJlczogV2VkLCAyMSBOb3YgMjAzNyAxOToxOTox
MyArMDAwMFxyXG4iOworcHJpbnQgIkxhc3QtTW9kaWZpZWQ6IE1vbiwgMDggTm92IDIwMTAgMTk6
MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJYLVhTUy1Qcm90ZWN0aW9uOiAxXHJcbiI7Citwcmlu
dCAiXHJcbiI7CitwcmludCAiPCFET0NUWVBFIGh0bWw+XHJcbiI7CitwcmludCAiPGh0bWw+XHJc
biI7CitwcmludCAiPGJvZHk+XHJcbiI7CitwcmludCAiPGlucHV0IGlkPVwicmFuZFwiIHR5cGU9
XCJ0ZXh0XCIgdmFsdWU9XCIkbm9uY2VcIi8+XHJcbiI7CitwcmludCAiPHNjcmlwdD5hbGVydCgv
WFNTLyk7PC9zY3JpcHQ+XHJcbiI7CitwcmludCAiPC9ib2R5PlxyXG4iOworcHJpbnQgIjwvaHRt
bD5cclxuIjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186824</attachid>
            <date>2013-02-06 04:29:20 -0800</date>
            <delta_ts>2013-02-06 12:13:57 -0800</delta_ts>
            <desc>Patch for landing?</desc>
            <filename>bug-72414-20130206132557.patch</filename>
            <type>text/plain</type>
            <size>19850</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxOTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRlNzMyNmRjNmRmZTQw
MzY3MWJjYzJlNmUxNzViZmEzM2ZlMTU3Mi4uZDE4MTBkOGZmMDczOTllZTA3ODUyZGJiOTNlOTgx
Y2VjYmViYjY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAyLTA2ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRW50aXR5LWhlYWRlciBleHRl
bnNpb24gaGVhZGVycyBob25vcmVkIG9uIDMwNCByZXNwb25zZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAgVGhpcyBwYXRjaCBwb3J0cyBDaHJv
bWl1bSdzIG5ldHdvcmsgc3RhY2sgbG9naWMgZ292ZXJuaW5nIGhlYWRlcgorICAgICAgICB1cGRh
dGVzIGFmdGVyIHJlc291cmNlIHJldmFsaWRhdGlvbi4gR2VuZXJhbGx5LCBoZWFkZXJzIHNlbnQg
d2l0aCAzMDQKKyAgICAgICAgcmVzcG9uc2VzIG91Z2h0IHRvIHVwZGF0ZSB0aGUgb3JpZ2luYWwg
Y2FjaGVkIHJlc291cmNlJ3MgaGVhZGVycy4KKyAgICAgICAgQ2VydGFpbiBoZWFkZXJzIHNob3Vs
ZCBuZXZlciBiZSBzZW50IHdpdGggMzA0IHJlc3BvbnNlcywgYW5kIHdlIHNob3VsZAorICAgICAg
ICBpZ25vcmUgdGhlbSBpZiBhIG1pc2NvbmZpZ3VyZWQgc2VydmVyIHNlbmRzIHRoZW0gYW55d2F5
LgorCisgICAgICAgIEN1cnJlbnRseSwgV2ViQ29yZSBpZ25vcmVzIGFsbCBoZWFkZXJzIHByZWZp
eGVkIHdpdGggJ2NvbnRlbnQtJy4gVGhpcworICAgICAgICBwYXRjaCBhZGRzICd4LWNvbnRlbnQt
JyBhbmQgJ3gtd2Via2l0LScgdG8gdGhlIGxpc3QsIGFzIHdlbGwgYXMgc3BlY2lmaWMKKyAgICAg
ICAgaGVhZGVycyBsaWtlICd1cGdyYWRlJywgJ3RyYWlsZXInLCBhbmQgb3RoZXJzIHRoYXQgdGhl
IENocm9taXVtIG5ldHdvcmsKKyAgICAgICAgc3RhY2sgY3VycmVudGx5IGlnbm9yZXMuCisKKyAg
ICAgICAgVGhlIHRlc3RzIHZlcmlmeSB0aGF0IHRob3NlIGhlYWRlcnMgd2l0aCB2aXNpYmxlIGVm
ZmVjdCBhcmUgY29ycmVjdGx5CisgICAgICAgIGhhbmRsZWQ6ICd4LWZyYW1lLW9wdGlvbnMnLCAn
Y29udGVudC1zZWN1cml0eS1wb2xpY3knLCBhbmQKKyAgICAgICAgJ3gteHNzLXByb3RlY3Rpb24n
LgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1m
cmFtZS1vcHRpb25zLWNhY2hlZC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLmh0bWwKKyAgICAgICAg
ICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUuaHRtbAor
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnVwZGF0ZVJlc3BvbnNl
QWZ0ZXJSZXZhbGlkYXRpb24pOgorICAgICAgICAgICAgSW4gYW4gYW5vbnltb3VzIG5hbWVzcGFj
ZSwgdGhpcyBwYXRjaCBhZGRzIHR3byBhcnJheXMgY29udGFpbmluZyB0aGUKKyAgICAgICAgICAg
IHNwZWNpZmljIGhlYWRlcnMgdG8gaWdub3JlIGFuZCB0aGUgcHJlZml4ZXMgdG8gaWdub3JlLiBU
aGVzZSBsaXN0cworICAgICAgICAgICAgYXJlIHByb2Nlc3NlZCBpbiBzaG91bGRVcGRhdGVIZWFk
ZXJBZnRlclJldmFsaWRhdGlvbi4KKyAgICAgICAgICAgIENhY2hlZFJlc291cmNlOjp1cGRhdGVS
ZXNwb25zZUFmdGVyUmV2YWxpZGF0aW9uIHJlbGllcyBvbiB0aGlzIG5ldworICAgICAgICAgICAg
bWV0aG9kIHdoZW4gcHJvY2Vzc2luZyByZXZhbGlkYXRlZCByZXNvdXJjZXMuCisKIDIwMTMtMDIt
MDQgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0g
UmVtb3ZlIFY4R0NDb250cm9sbGVyOjptX2VkZW5Ob2RlcyBhbmQgbWFrZSBtaW5vciBET00gR0Mg
bW9yZSBwcmVjaXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmNwcAppbmRleCBmMDMxNGU3ZDdmNGExMDM3ZmZmYzlkMmYzYWZiNTQ1NmVhNTdjNmZkLi5i
ZTBiZWI3MGM1OTk2MzYxOTI3MjBjNDJlZmIwNDkxODQ2NmQ0MTYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTU3LDYgKzU3LDUyIEBA
CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAorbmFtZXNwYWNlIHsKKworLy8gVGhlc2UgcmVzcG9uc2UgaGVhZGVycyBhcmUgbm90IGNvcGll
ZCBmcm9tIGEgcmV2YWxpZGF0ZWQgcmVzcG9uc2UgdG8gdGhlCisvLyBjYWNoZWQgcmVzcG9uc2Ug
aGVhZGVycy4gRm9yIGNvbXBhdGliaWxpdHksIHRoaXMgbGlzdCBpcyBiYXNlZCBvbiBDaHJvbWl1
bSdzCisvLyBuZXQvaHR0cC9odHRwX3Jlc3BvbnNlX2hlYWRlcnMuY2MuCitjb25zdCBjaGFyKiBj
b25zdCBoZWFkZXJzVG9JZ25vcmVBZnRlclJldmFsaWRhdGlvbltdID0geworICAgICJhbGxvdyIs
CisgICAgImNvbm5lY3Rpb24iLAorICAgICJldGFnIiwKKyAgICAiZXhwaXJlcyIsCisgICAgImtl
ZXAtYWxpdmUiLAorICAgICJsYXN0LW1vZGlmaWVkIgorICAgICJwcm94eS1hdXRoZW50aWNhdGUi
LAorICAgICJwcm94eS1jb25uZWN0aW9uIiwKKyAgICAidHJhaWxlciIsCisgICAgInRyYW5zZmVy
LWVuY29kaW5nIiwKKyAgICAidXBncmFkZSIsCisgICAgInd3dy1hdXRoZW50aWNhdGUiLAorICAg
ICJ4LWZyYW1lLW9wdGlvbnMiLAorICAgICJ4LXhzcy1wcm90ZWN0aW9uIiwKK307CisKKy8vIFNv
bWUgaGVhZGVyIHByZWZpeGVzIG1lYW4gIkRvbid0IGNvcHkgdGhpcyBoZWFkZXIgZnJvbSBhIDMw
NCByZXNwb25zZS4iLgorLy8gUmF0aGVyIHRoYW4gbGlzdGluZyBhbGwgdGhlIHJlbGV2YW50IGhl
YWRlcnMsIHdlIGNhbiBjb25zb2xpZGF0ZSB0aGVtIGludG8KKy8vIHRoaXMgbGlzdCwgYWxzbyBn
cmFiYmVkIGZyb20gQ2hyb21pdW0ncyBuZXQvaHR0cC9odHRwX3Jlc3BvbnNlX2hlYWRlcnMuY2Mu
Citjb25zdCBjaGFyKiBjb25zdCBoZWFkZXJQcmVmaXhlc1RvSWdub3JlQWZ0ZXJSZXZhbGlkYXRp
b25bXSA9IHsKKyAgICAiY29udGVudC0iLAorICAgICJ4LWNvbnRlbnQtIiwKKyAgICAieC13ZWJr
aXQtIgorfTsKKworc3RhdGljIGlubGluZSBib29sIHNob3VsZFVwZGF0ZUhlYWRlckFmdGVyUmV2
YWxpZGF0aW9uKGNvbnN0IEF0b21pY1N0cmluZyYgaGVhZGVyKQoreworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdUSChoZWFkZXJzVG9JZ25vcmVBZnRlclJldmFsaWRh
dGlvbik7IGkrKykgeworICAgICAgICBpZiAoaGVhZGVyID09IGhlYWRlcnNUb0lnbm9yZUFmdGVy
UmV2YWxpZGF0aW9uW2ldKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgoaGVhZGVyUHJlZml4ZXNUb0ln
bm9yZUFmdGVyUmV2YWxpZGF0aW9uKTsgaSsrKSB7CisgICAgICAgIGlmIChoZWFkZXIuc3RhcnRz
V2l0aChoZWFkZXJQcmVmaXhlc1RvSWdub3JlQWZ0ZXJSZXZhbGlkYXRpb25baV0pKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfQorCiBu
YW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgU2VxdWVuY2VNZW1vcnlJbnN0cnVt
ZW50YXRpb25UcmFpdHM8V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VDbGllbnQqPiB7CkBAIC03Mjgs
MTkgKzc3NCwyMiBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzd2l0Y2hDbGllbnRzVG9SZXZhbGlk
YXRlZFJlc291cmNlKCkKICAgICB9CiAgICAgbV9zd2l0Y2hpbmdDbGllbnRzVG9SZXZhbGlkYXRl
ZFJlc291cmNlID0gZmFsc2U7CiB9Ci0gICAgCisKIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnVwZGF0
ZVJlc3BvbnNlQWZ0ZXJSZXZhbGlkYXRpb24oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgdmFsaWRh
dGluZ1Jlc3BvbnNlKQogewogICAgIG1fcmVzcG9uc2VUaW1lc3RhbXAgPSBjdXJyZW50VGltZSgp
OwogCi0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGNvbnRlbnRI
ZWFkZXJQcmVmaXgsICgiY29udGVudC0iLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRl
cmFsKSk7CiAgICAgLy8gUkZDMjYxNiAxMC4zLjUKICAgICAvLyBVcGRhdGUgY2FjaGVkIGhlYWRl
cnMgZnJvbSB0aGUgMzA0IHJlc3BvbnNlCiAgICAgY29uc3QgSFRUUEhlYWRlck1hcCYgbmV3SGVh
ZGVycyA9IHZhbGlkYXRpbmdSZXNwb25zZS5odHRwSGVhZGVyRmllbGRzKCk7CiAgICAgSFRUUEhl
YWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbmV3SGVhZGVycy5lbmQoKTsKICAgICBmb3Ig
KEhUVFBIZWFkZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbmV3SGVhZGVycy5iZWdpbigpOyBp
dCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgLy8gRG9uJ3QgYWxsb3cgMzA0IHJlc3BvbnNlIHRv
IHVwZGF0ZSBjb250ZW50IGhlYWRlcnMsIHRoZXNlIGNhbid0IGNoYW5nZSBidXQgc29tZSBzZXJ2
ZXJzIHNlbmQgd3JvbmcgdmFsdWVzLgotICAgICAgICBpZiAoaXQtPmtleS5zdGFydHNXaXRoKGNv
bnRlbnRIZWFkZXJQcmVmaXgsIGZhbHNlKSkKKyAgICAgICAgLy8gRW50aXR5IGhlYWRlcnMgc2hv
dWxkIG5vdCBiZSBzZW50IGJ5IHNlcnZlcnMgd2hlbiBnZW5lcmF0aW5nIGEgMzA0CisgICAgICAg
IC8vIHJlc3BvbnNlOyBtaXNjb25maWd1cmVkIHNlcnZlcnMgc2VuZCB0aGVtIGFueXdheS4gV2Ug
c2hvdWxkbid0IGFsbG93CisgICAgICAgIC8vIHN1Y2ggaGVhZGVycyB0byB1cGRhdGUgdGhlIG9y
aWdpbmFsIHJlcXVlc3QuIFRvIG1hdGNoIENocm9taXVtJ3MKKyAgICAgICAgLy8gbmV0d29yayBz
dGFjaywgd2UnbGwgYmFzZSB0aGlzIG9uIHRoZSBsaXN0IGRlZmluZWQgYnkgUkZDMjYxNiA3LjEs
CisgICAgICAgIC8vIHdpdGggYSBmZXcgYWRkaXRpb25zIGZvciBleHRlbnNpb24gaGVhZGVycyB3
ZSBjYXJlIGFib3V0LgorICAgICAgICBpZiAoIXNob3VsZFVwZGF0ZUhlYWRlckFmdGVyUmV2YWxp
ZGF0aW9uKGl0LT5rZXkpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIG1fcmVzcG9u
c2Uuc2V0SFRUUEhlYWRlckZpZWxkKGl0LT5rZXksIGl0LT52YWx1ZSk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGVhYmYyMjI4OTZlZjQ4ODRlZmYxZTZhYmQyMjNhYWQ2NzhjNmQwMmQuLjY0ZDhkNmIzNGM5YWU0
NDY3MzU3YzEyODAzNzdhODhiZjdjNDhjY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0w
Mi0wNiAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEVudGl0eS1o
ZWFkZXIgZXh0ZW5zaW9uIGhlYWRlcnMgaG9ub3JlZCBvbiAzMDQgcmVzcG9uc2VzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3gtZnJhbWUt
b3B0aW9ucy1jYWNoZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9j
YWNoZWQtZnJhbWUtY3NwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9yZXNvdXJjZXMvbnBoLWNhY2hlZC1jc3AucGw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNv
dXJjZXMvbnBoLWNhY2hlZC5wbDogQWRkZWQuCisKIDIwMTMtMDItMDYgIE1paGFpIE1hZXJlYW4g
IDxtbWFlcmVhbkBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTU1JlZ2lvbnNdIEFzc2VydGlvbiBm
YWlsdXJlIGluIE5vZGU6OmRldGFjaCAoIXJlbmRlcmVyIHx8IHJlbmRlcmVyLT5pblJlbmRlckZs
b3dUaHJlYWQoKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
WEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZv
LnBsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjRmYjUyZDY1NjRiYmI3NWE5YTdlMjA0YTdmMGY1OTNjMTEyN2FkZTkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFt
ZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsCkBAIC0wLDAgKzEsMjkgQEAKKyMh
L3Vzci9iaW4vcGVybAorIyBTY3JpcHQgdG8gZ2VuZXJhdGUgYSAzMDQgSFRUUCBzdGF0dXMgd2l0
aCAoaWxsZWdhbCkgWC1GcmFtZS1PcHRpb25zIGhlYWRlcnMuCisjIFJlbGllcyBvbiBpdHMgbnBo
LSBmaWxlbmFtZSB0byBpbnZva2UgdGhlIENHSSBub24tcGFyc2VkLWhlYWRlciBmYWNpbGl0eS4K
KworJHByb3RvY29sID0gJEVOVnsnU0VSVkVSX1BST1RPQ09MJ307Ciskc29mdHdhcmUgPSAkRU5W
eydTRVJWRVJfU09GVFdBUkUnfTsKKyRpZl9tb2RpZmllZCA9ICRFTlZ7J0hUVFBfSUZfTU9ESUZJ
RURfU0lOQ0UnfTsKKworaWYgKCRpZl9tb2RpZmllZCkgeworICAgIHByaW50ICIkcHJvdG9jb2wg
MzA0IE5vdCBNb2RpZmllZFxyXG4iOworICAgIHByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4i
OworICAgIHByaW50ICJYLUZyYW1lLU9wdGlvbnM6IGRlbnlcclxuIjsKKyAgICBwcmludCAiQ29u
bmVjdGlvbjogY2xvc2VcclxuIjsKKyAgICBleGl0KDApOworfQorCitwcmludCAiJHByb3RvY29s
IDIwMCBPS1xyXG4iOworcHJpbnQgIlNlcnZlcjogJHNvZnR3YXJlXHJcbiI7CitwcmludCAiQ29u
dGVudC10eXBlOiB0ZXh0L2h0bWxcclxuIjsKK3ByaW50ICJFeHBpcmVzOiBXZWQsIDIxIE5vdiAy
MDM3IDE5OjE5OjEzICswMDAwXHJcbiI7CitwcmludCAiTGFzdC1Nb2RpZmllZDogTW9uLCAwOCBO
b3YgMjAxMCAxOToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIlgtRnJhbWUtT3B0aW9uczogYWxs
b3dhbGxcclxuIjsKK3ByaW50ICJcclxuIjsKK3ByaW50ICI8IURPQ1RZUEUgaHRtbD5cclxuIjsK
K3ByaW50ICI8aHRtbD5cclxuIjsKK3ByaW50ICI8Ym9keT5cclxuIjsKK3ByaW50ICI8c2NyaXB0
PmFsZXJ0KFwiVGhpcyBtdXN0IGZpcmUgdHdpY2VcIik7PC9zY3JpcHQ+XHJcbiI7CitwcmludCAi
PC9ib2R5PlxyXG4iOworcHJpbnQgIjwvaHRtbD5cclxuIjsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtY2Fj
aGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1l
T3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtY2FjaGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
ODdhM2U5Yzc5ZDVhZTM4NTg1M2VhN2M4MDY0OWU2ZWM4ZGZmYmNkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3gtZnJhbWUt
b3B0aW9ucy1jYWNoZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK0NPTlNPTEUgTUVT
U0FHRTogSW52YWxpZCAnWC1GcmFtZS1PcHRpb25zJyBoZWFkZXIgZW5jb3VudGVyZWQgd2hlbiBs
b2FkaW5nICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNv
dXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwnOiAnYWxsb3dhbGwnIGlzIG5vdCBhIHJlY29nbml6ZWQg
ZGlyZWN0aXZlLiBUaGUgaGVhZGVyIHdpbGwgYmUgaWdub3JlZC4KK0FMRVJUOiBUaGlzIG11c3Qg
ZmlyZSB0d2ljZQorQ09OU09MRSBNRVNTQUdFOiBJbnZhbGlkICdYLUZyYW1lLU9wdGlvbnMnIGhl
YWRlciBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1
cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbCc6ICdhbGxvd2Fs
bCcgaXMgbm90IGEgcmVjb2duaXplZCBkaXJlY3RpdmUuIFRoZSBoZWFkZXIgd2lsbCBiZSBpZ25v
cmVkLgorQUxFUlQ6IFRoaXMgbXVzdCBmaXJlIHR3aWNlCitDaGVjayB0aGF0IGFuIFgtRnJhbWUt
T3B0aW9ucyBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lcyBub3Qgb3ZlcnJpZGUg
b25lIGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitUd28gY29uc29sZSBtZXNzYWdlcyBzaG91bGQgYmUgZ2VuZXJhdGVkLCBlYWNoIGZv
bGxvd2VkIGJ5IGFuIGFsZXJ0LgorQm90aCBmcmFtZXMgc2hvdWxkIHBvaW50IHRvIHRoZSBleHBl
Y3RlZCBVUkwsIGFuZCBub3QgdG8gYWJvdXQ6YmxhbmsuCitQQVNTIGZyYW1lMS5zcmMgaXMgImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgt
Y2FjaGVkLXhmby5wbCIKK1BBU1MgZnJhbWUyLnNyYyBpcyAiaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3gtZnJh
bWUtb3B0aW9ucy1jYWNoZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
WEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtY2FjaGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY5
NGYyYzk2ZThhOTc2NzgwMjZjOGRjOTNlMDg5NmEyMjUxMGVmNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9w
dGlvbnMtY2FjaGVkLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGRlc2NyaXB0aW9uKCdDaGVj
ayB0aGF0IGFuIFgtRnJhbWUtT3B0aW9ucyBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2Ug
ZG9lcyBub3Qgb3ZlcnJpZGUgb25lIGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuJyk7CisgICAg
ICAgIGRlYnVnKCdUd28gY29uc29sZSBtZXNzYWdlcyBzaG91bGQgYmUgZ2VuZXJhdGVkLCBlYWNo
IGZvbGxvd2VkIGJ5IGFuIGFsZXJ0LicpOworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgdmFyIGZyYW1lMSwgZnJhbWUyOworICAgICAgICBmdW5jdGlvbiBm
cmFtZUxvYWRlZCgpIHsKKyAgICAgICAgICAgIGZyYW1lMSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJ2lmcmFtZScpOworCisgICAgICAgICAgICBmcmFtZTIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdpZnJhbWUnKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJh
bWUyKTsKKyAgICAgICAgICAgIGZyYW1lMi5vbmxvYWQgPSBjaGVja1N0YXRlOworCisgICAgICAg
ICAgICBmcmFtZTIuc3JjID0gZnJhbWUxLnNyYzsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0
aW9uIGNoZWNrU3RhdGUoKSB7CisgICAgICAgICAgICBkZWJ1ZygnQm90aCBmcmFtZXMgc2hvdWxk
IHBvaW50IHRvIHRoZSBleHBlY3RlZCBVUkwsIGFuZCBub3QgdG8gYWJvdXQ6YmxhbmsuJyk7Cisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZyYW1lMS5zcmMnLCAnaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQt
eGZvLnBsJyk7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZyYW1lMi5zcmMn
LCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2Vz
L25waC1jYWNoZWQteGZvLnBsJyk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxpZnJhbWUg
c3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJj
ZXMvbnBoLWNhY2hlZC14Zm8ucGwiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nh
Y2hlZC1mcmFtZS1jc3AtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzZjdlZGVjOTBkYTgzNjA5
ZjRkYjkxMjBlMWQ4YWY0NTVlMjI0MDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3Nw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTog
UmVmdXNlZCB0byBleGVjdXRlIGlubGluZSBzY3JpcHQgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUg
Zm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMg
J25vbmUnIi4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IFJlZnVzZWQgdG8gZXhlY3V0ZSBp
bmxpbmUgc2NyaXB0IGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNl
Y3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICdub25lJyIuCisKK0NoZWNrIHRo
YXQgYSBDU1AgaGVhZGVyIGFkZGVkIGJ5IGEgMzA0IHJlc3BvbnNlIGRvZXMgbm90IG92ZXJyaWRl
IG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworQ2hlY2sgdGhhdCB0aGUgbm9uY2UgaXMgdGhlIHNhbWUsIG1lYW5pbmcgdGhhdCB0
aGUgZG9jdW1lbnQgd2FzIG9ubHkgZ2VuZXJhdGVkIG9uY2U6CitQQVNTIGZyYW1lMS5jb250ZW50
RG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZSA9PSBmcmFtZTIuY29udGVudERv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUgaXMgdHJ1ZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVk
LWZyYW1lLWNzcC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlMjcwNjI0
ZGIwYzA2NjViNzlkMjMxMTdiMTZmNDVmZDFlODE1YzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQt
ZnJhbWUtY3NwLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGRlc2NyaXB0aW9uKCdDaGVjayB0
aGF0IGEgQ1NQIGhlYWRlciBhZGRlZCBieSBhIDMwNCByZXNwb25zZSBkb2VzIG5vdCBvdmVycmlk
ZSBvbmUgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdC4nKTsKKyAgICAgICAgd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIHZhciBmcmFtZTEsIGZyYW1lMjsKKyAgICAgICAg
ZnVuY3Rpb24gZnJhbWVMb2FkZWQoKSB7CisgICAgICAgICAgICBmcmFtZTEgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCdpZnJhbWUnKTsKKworICAgICAgICAgICAgZnJhbWUyID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGZyYW1lMik7CisgICAgICAgICAgICBmcmFtZTIub25sb2FkID0gY2hlY2tTdGF0ZTsK
KworICAgICAgICAgICAgZnJhbWUyLnNyYyA9IGZyYW1lMS5zcmM7CisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBjaGVja1N0YXRlKCkgeworICAgICAgICAgICAgZGVidWcoJ0NoZWNrIHRo
YXQgdGhlIG5vbmNlIGlzIHRoZSBzYW1lLCBtZWFuaW5nIHRoYXQgdGhlIGRvY3VtZW50IHdhcyBv
bmx5IGdlbmVyYXRlZCBvbmNlOicpOworCisgICAgICAgICAgICBzaG91bGRCZVRydWUoJ2ZyYW1l
MS5jb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZSA9PSBmcmFtZTIu
Y29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUnKTsKKyAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL25waC1jYWNoZWQtY3NwLnBsIiBv
bmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvcmVzb3VyY2VzL25waC1jYWNoZWQtY3NwLnBsIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL25waC1jYWNoZWQtY3NwLnBs
Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY5YjU4MTQzZGExMzllNmExNzRmOWQ3OGMwYTI2M2U5NGFhNzE3YzIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvbnBoLWNhY2hlZC1jc3AucGwKQEAgLTAsMCArMSwzMSBA
QAorIyEvdXNyL2Jpbi9wZXJsCisjIFNjcmlwdCB0byBnZW5lcmF0ZSBhIDMwNCBIVFRQIHN0YXR1
cyB3aXRoIChpbGxlZ2FsKSBYLVdlYktpdC1DU1AgaGVhZGVycy4KKyMgUmVsaWVzIG9uIGl0cyBu
cGgtIGZpbGVuYW1lIHRvIGludm9rZSB0aGUgQ0dJIG5vbi1wYXJzZWQtaGVhZGVyIGZhY2lsaXR5
LgorCiskcHJvdG9jb2wgPSAkRU5WeydTRVJWRVJfUFJPVE9DT0wnfTsKKyRzb2Z0d2FyZSA9ICRF
TlZ7J1NFUlZFUl9TT0ZUV0FSRSd9OworJGlmX21vZGlmaWVkID0gJEVOVnsnSFRUUF9JRl9NT0RJ
RklFRF9TSU5DRSd9OworJG5vbmNlID0gaW50KHJhbmQoMTAwMDAwKSk7CisKK2lmICgkaWZfbW9k
aWZpZWQpIHsKKyAgICBwcmludCAiJHByb3RvY29sIDMwNCBOb3QgTW9kaWZpZWRcclxuIjsKKyAg
ICBwcmludCAiU2VydmVyOiAkc29mdHdhcmVcclxuIjsKKyAgICBwcmludCAiQ29udGVudC1TZWN1
cml0eS1Qb2xpY3k6IHNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnXHJcbiI7CisgICAgcHJpbnQg
IkNvbm5lY3Rpb246IGNsb3NlXHJcbiI7CisgICAgZXhpdCgwKTsKK30KKworcHJpbnQgIiRwcm90
b2NvbCAyMDAgT0tcclxuIjsKK3ByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworcHJpbnQg
IkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXHJcbiI7CitwcmludCAiRXhwaXJlczogV2VkLCAyMSBO
b3YgMjAzNyAxOToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIkxhc3QtTW9kaWZpZWQ6IE1vbiwg
MDggTm92IDIwMTAgMTk6MTk6MTMgKzAwMDBcclxuIjsKK3ByaW50ICJDb250ZW50LVNlY3VyaXR5
LVBvbGljeTogc2NyaXB0LXNyYyAnbm9uZSdcclxuIjsKK3ByaW50ICJcclxuIjsKK3ByaW50ICI8
IURPQ1RZUEUgaHRtbD5cclxuIjsKK3ByaW50ICI8aHRtbD5cclxuIjsKK3ByaW50ICI8Ym9keT5c
clxuIjsKK3ByaW50ICI8aW5wdXQgaWQ9XCJyYW5kXCIgdHlwZT1cInRleHRcIiB2YWx1ZT1cIiRu
b25jZVwiLz5cclxuIjsKK3ByaW50ICI8c2NyaXB0PmFsZXJ0KCdGQUlMJyk7PC9zY3JpcHQ+XHJc
biI7CitwcmludCAiPC9ib2R5PlxyXG4iOworcHJpbnQgIjwvaHRtbD5cclxuIjsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJh
bWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRp
dG9yL2NhY2hlZC1mcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg3ZTQ3OGI5MDVlZjE3
YmUwOGFlN2FkZjNlN2I0MTQ0YjI3NDZhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTYgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1OiBSZWZ1c2VkIHRvIGV4
ZWN1dGUgYSBKYXZhU2NyaXB0IHNjcmlwdC4gU291cmNlIGNvZGUgb2Ygc2NyaXB0IGZvdW5kIHdp
dGhpbiByZXF1ZXN0LgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogUmVmdXNlZCB0byBleGVj
dXRlIGEgSmF2YVNjcmlwdCBzY3JpcHQuIFNvdXJjZSBjb2RlIG9mIHNjcmlwdCBmb3VuZCB3aXRo
aW4gcmVxdWVzdC4KKworQ2hlY2sgdGhhdCBhbiBYLVhTUy1Qcm90ZWN0aW9uIGhlYWRlciBhZGRl
ZCBieSBhIDMwNCByZXNwb25zZSBkb2VzIG5vdCBvdmVycmlkZSBvbmUgZnJvbSB0aGUgb3JpZ2lu
YWwgcmVxdWVzdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1R3byBjb25zb2xl
IG1lc3NhZ2VzIHNob3VsZCBiZSBnZW5lcmF0ZWQsIG5vdGluZyB0aGF0IEphdmFTY3JpcHQgd2Fz
IGJsb2NrZWQuCitDaGVjayB0aGF0IHRoZSBub25jZSBpcyB0aGUgc2FtZSwgbWVhbmluZyB0aGF0
IHRoZSBkb2N1bWVudCB3YXMgb25seSBnZW5lcmF0ZWQgb25jZToKK1BBU1MgZnJhbWUxLmNvbnRl
bnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlID09IGZyYW1lMi5jb250ZW50
RG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZSBpcyB0cnVlCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAgCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZy
YW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiYzRlYzA3NTVhZTFlOTUzZWM1ODZkNzRkOTM4YzYyZWVl
N2YwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
eHNzQXVkaXRvci9jYWNoZWQtZnJhbWUuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRYU1NBdWRpdG9yRW5h
YmxlZCh0cnVlKTsKKworICAgICAgICBkZXNjcmlwdGlvbignQ2hlY2sgdGhhdCBhbiBYLVhTUy1Q
cm90ZWN0aW9uIGhlYWRlciBhZGRlZCBieSBhIDMwNCByZXNwb25zZSBkb2VzIG5vdCBvdmVycmlk
ZSBvbmUgZnJvbSB0aGUgb3JpZ2luYWwgcmVxdWVzdC4nKTsKKyAgICAgICAgZGVidWcoJ1R3byBj
b25zb2xlIG1lc3NhZ2VzIHNob3VsZCBiZSBnZW5lcmF0ZWQsIG5vdGluZyB0aGF0IEphdmFTY3Jp
cHQgd2FzIGJsb2NrZWQuJyk7CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICB2YXIgZnJhbWUxLCBmcmFtZTI7CisgICAgICAgIGZ1bmN0aW9uIGZyYW1lTG9h
ZGVkKCkgeworICAgICAgICAgICAgZnJhbWUxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaWZy
YW1lJyk7CisKKyAgICAgICAgICAgIGZyYW1lMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lm
cmFtZScpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZTIpOwor
ICAgICAgICAgICAgZnJhbWUyLm9ubG9hZCA9IGNoZWNrU3RhdGU7CisKKyAgICAgICAgICAgIGZy
YW1lMi5zcmMgPSBmcmFtZTEuc3JjOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gY2hl
Y2tTdGF0ZSgpIHsKKyAgICAgICAgICAgIGRlYnVnKCdDaGVjayB0aGF0IHRoZSBub25jZSBpcyB0
aGUgc2FtZSwgbWVhbmluZyB0aGF0IHRoZSBkb2N1bWVudCB3YXMgb25seSBnZW5lcmF0ZWQgb25j
ZTonKTsKKworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmcmFtZTEuY29udGVudERvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUgPT0gZnJhbWUyLmNvbnRlbnREb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlJyk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxpZnJhbWUgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkveHNzQXVkaXRvci9y
ZXNvdXJjZXMvbnBoLWNhY2hlZC5wbD9xPSUzY3NjcmlwdCUzZWFsZXJ0KC9YU1MvKTslM2Mvc2Ny
aXB0JTNlIiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9y
L3Jlc291cmNlcy9ucGgtY2FjaGVkLnBsIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS94c3NBdWRpdG9yL3Jlc291cmNlcy9ucGgtY2FjaGVkLnBsCm5ldyBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4YjU2MGNk
MWEyMmIxYjM2YWI0ZmE1MmUwOWJhNTM1MjZiYTllMzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL25waC1jYWNo
ZWQucGwKQEAgLTAsMCArMSwzMSBAQAorIyEvdXNyL2Jpbi9wZXJsCisjIFNjcmlwdCB0byBnZW5l
cmF0ZSBhIDMwNCBIVFRQIHN0YXR1cyB3aXRoIChpbGxlZ2FsKSBYLVhTUy1Qcm90ZWN0IGhlYWRl
cnMuCisjIFJlbGllcyBvbiBpdHMgbnBoLSBmaWxlbmFtZSB0byBpbnZva2UgdGhlIENHSSBub24t
cGFyc2VkLWhlYWRlciBmYWNpbGl0eS4KKworJHByb3RvY29sID0gJEVOVnsnU0VSVkVSX1BST1RP
Q09MJ307Ciskc29mdHdhcmUgPSAkRU5WeydTRVJWRVJfU09GVFdBUkUnfTsKKyRpZl9tb2RpZmll
ZCA9ICRFTlZ7J0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnfTsKKyRub25jZSA9IGludChyYW5kKDEw
MDAwMCkpOworCitpZiAoJGlmX21vZGlmaWVkKSB7CisgICAgcHJpbnQgIiRwcm90b2NvbCAzMDQg
Tm90IE1vZGlmaWVkXHJcbiI7CisgICAgcHJpbnQgIlNlcnZlcjogJHNvZnR3YXJlXHJcbiI7Cisg
ICAgcHJpbnQgIlgtWFNTLVByb3RlY3Rpb246IDBcclxuIjsKKyAgICBwcmludCAiQ29ubmVjdGlv
bjogY2xvc2VcclxuIjsKKyAgICBleGl0KDApOworfQorCitwcmludCAiJHByb3RvY29sIDIwMCBP
S1xyXG4iOworcHJpbnQgIlNlcnZlcjogJHNvZnR3YXJlXHJcbiI7CitwcmludCAiQ29udGVudC10
eXBlOiB0ZXh0L2h0bWxcclxuIjsKK3ByaW50ICJFeHBpcmVzOiBXZWQsIDIxIE5vdiAyMDM3IDE5
OjE5OjEzICswMDAwXHJcbiI7CitwcmludCAiTGFzdC1Nb2RpZmllZDogTW9uLCAwOCBOb3YgMjAx
MCAxOToxOToxMyArMDAwMFxyXG4iOworcHJpbnQgIlgtWFNTLVByb3RlY3Rpb246IDFcclxuIjsK
K3ByaW50ICJcclxuIjsKK3ByaW50ICI8IURPQ1RZUEUgaHRtbD5cclxuIjsKK3ByaW50ICI8aHRt
bD5cclxuIjsKK3ByaW50ICI8Ym9keT5cclxuIjsKK3ByaW50ICI8aW5wdXQgaWQ9XCJyYW5kXCIg
dHlwZT1cInRleHRcIiB2YWx1ZT1cIiRub25jZVwiLz5cclxuIjsKK3ByaW50ICI8c2NyaXB0PmFs
ZXJ0KC9YU1MvKTs8L3NjcmlwdD5cclxuIjsKK3ByaW50ICI8L2JvZHk+XHJcbiI7CitwcmludCAi
PC9odG1sPlxyXG4iOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186892</attachid>
            <date>2013-02-06 12:14:02 -0800</date>
            <delta_ts>2013-02-06 23:42:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72414-20130206211038.patch</filename>
            <type>text/plain</type>
            <size>20007</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWUxNDEzMjk2Y2Y4MmEx
YWU1ODIzZjc4ZDNiNjQ4ZTdiMzBjNjBiZi4uZmJmNmFiNWI2NjI1OTE3NmNiOThjYjY3NGE1YWFl
YzI4OTFjNzc3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTAyLTA2ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRW50aXR5LWhlYWRlciBleHRl
bnNpb24gaGVhZGVycyBob25vcmVkIG9uIDMwNCByZXNwb25zZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAgVGhpcyBwYXRjaCBwb3J0cyBDaHJv
bWl1bSdzIG5ldHdvcmsgc3RhY2sgbG9naWMgZ292ZXJuaW5nIGhlYWRlcgorICAgICAgICB1cGRh
dGVzIGFmdGVyIHJlc291cmNlIHJldmFsaWRhdGlvbi4gR2VuZXJhbGx5LCBoZWFkZXJzIHNlbnQg
d2l0aCAzMDQKKyAgICAgICAgcmVzcG9uc2VzIG91Z2h0IHRvIHVwZGF0ZSB0aGUgb3JpZ2luYWwg
Y2FjaGVkIHJlc291cmNlJ3MgaGVhZGVycy4KKyAgICAgICAgQ2VydGFpbiBoZWFkZXJzIHNob3Vs
ZCBuZXZlciBiZSBzZW50IHdpdGggMzA0IHJlc3BvbnNlcywgYW5kIHdlIHNob3VsZAorICAgICAg
ICBpZ25vcmUgdGhlbSBpZiBhIG1pc2NvbmZpZ3VyZWQgc2VydmVyIHNlbmRzIHRoZW0gYW55d2F5
LgorCisgICAgICAgIEN1cnJlbnRseSwgV2ViQ29yZSBpZ25vcmVzIGFsbCBoZWFkZXJzIHByZWZp
eGVkIHdpdGggJ2NvbnRlbnQtJy4gVGhpcworICAgICAgICBwYXRjaCBhZGRzICd4LWNvbnRlbnQt
JyBhbmQgJ3gtd2Via2l0LScgdG8gdGhlIGxpc3QsIGFzIHdlbGwgYXMgc3BlY2lmaWMKKyAgICAg
ICAgaGVhZGVycyBsaWtlICd1cGdyYWRlJywgJ3RyYWlsZXInLCBhbmQgb3RoZXJzIHRoYXQgdGhl
IENocm9taXVtIG5ldHdvcmsKKyAgICAgICAgc3RhY2sgY3VycmVudGx5IGlnbm9yZXMuCisKKyAg
ICAgICAgVGhlIHRlc3RzIHZlcmlmeSB0aGF0IHRob3NlIGhlYWRlcnMgd2l0aCB2aXNpYmxlIGVm
ZmVjdCBhcmUgY29ycmVjdGx5CisgICAgICAgIGhhbmRsZWQ6ICd4LWZyYW1lLW9wdGlvbnMnLCAn
Y29udGVudC1zZWN1cml0eS1wb2xpY3knLCBhbmQKKyAgICAgICAgJ3gteHNzLXByb3RlY3Rpb24n
LgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1m
cmFtZS1vcHRpb25zLWNhY2hlZC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLmh0bWwKKyAgICAgICAg
ICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUuaHRtbAor
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnVwZGF0ZVJlc3BvbnNl
QWZ0ZXJSZXZhbGlkYXRpb24pOgorICAgICAgICAgICAgVGhpcyBwYXRjaCBhZGRzIHR3byBhcnJh
eXMgY29udGFpbmluZyB0aGUgc3BlY2lmaWMgaGVhZGVycyB0bworICAgICAgICAgICAgaWdub3Jl
IGFuZCB0aGUgcHJlZml4ZXMgdG8gaWdub3JlLiBUaGVzZSBsaXN0cyBhcmUgcHJvY2Vzc2VkIGlu
CisgICAgICAgICAgICBzaG91bGRVcGRhdGVIZWFkZXJBZnRlclJldmFsaWRhdGlvbi4KKyAgICAg
ICAgICAgIENhY2hlZFJlc291cmNlOjp1cGRhdGVSZXNwb25zZUFmdGVyUmV2YWxpZGF0aW9uIHJl
bGllcyBvbiB0aGlzIG5ldworICAgICAgICAgICAgbWV0aG9kIHdoZW4gcHJvY2Vzc2luZyByZXZh
bGlkYXRlZCByZXNvdXJjZXMuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRVcGRh
dGVIZWFkZXJBZnRlclJldmFsaWRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZTo6dXBkYXRlUmVzcG9uc2VBZnRlclJldmFsaWRhdGlvbik6CisKIDIwMTMtMDItMDYgIFZz
ZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogUmVtb3ZlIGlzU25pcHBldCBmaWVsZCBmcm9tIEZpbGVEZXNjcmlwdG9yIGFuZCBVSVNv
dXJjZUNvZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmNwcAppbmRleCBmMDMxNGU3ZDdmNGExMDM3ZmZmYzlkMmYzYWZiNTQ1NmVhNTdjNmZkLi5mZDk4
YmE0ZDhmY2M3N2EyY2IwZWFiZjIxOGUwODQ3MDI5YTU3ZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTY4LDcgKzY4LDQ5IEBAIHRl
bXBsYXRlPD4gc3RydWN0IFNlcXVlbmNlTWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJhaXRzPFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlQ2xpCiB1c2luZyBuYW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0gICAgCisKKy8vIFRoZXNlIHJlc3BvbnNlIGhlYWRlcnMgYXJlIG5vdCBjb3Bp
ZWQgZnJvbSBhIHJldmFsaWRhdGVkIHJlc3BvbnNlIHRvIHRoZQorLy8gY2FjaGVkIHJlc3BvbnNl
IGhlYWRlcnMuIEZvciBjb21wYXRpYmlsaXR5LCB0aGlzIGxpc3QgaXMgYmFzZWQgb24gQ2hyb21p
dW0ncworLy8gbmV0L2h0dHAvaHR0cF9yZXNwb25zZV9oZWFkZXJzLmNjLgorY29uc3QgY2hhciog
Y29uc3QgaGVhZGVyc1RvSWdub3JlQWZ0ZXJSZXZhbGlkYXRpb25bXSA9IHsKKyAgICAiYWxsb3ci
LAorICAgICJjb25uZWN0aW9uIiwKKyAgICAiZXRhZyIsCisgICAgImV4cGlyZXMiLAorICAgICJr
ZWVwLWFsaXZlIiwKKyAgICAibGFzdC1tb2RpZmllZCIKKyAgICAicHJveHktYXV0aGVudGljYXRl
IiwKKyAgICAicHJveHktY29ubmVjdGlvbiIsCisgICAgInRyYWlsZXIiLAorICAgICJ0cmFuc2Zl
ci1lbmNvZGluZyIsCisgICAgInVwZ3JhZGUiLAorICAgICJ3d3ctYXV0aGVudGljYXRlIiwKKyAg
ICAieC1mcmFtZS1vcHRpb25zIiwKKyAgICAieC14c3MtcHJvdGVjdGlvbiIsCit9OworCisvLyBT
b21lIGhlYWRlciBwcmVmaXhlcyBtZWFuICJEb24ndCBjb3B5IHRoaXMgaGVhZGVyIGZyb20gYSAz
MDQgcmVzcG9uc2UuIi4KKy8vIFJhdGhlciB0aGFuIGxpc3RpbmcgYWxsIHRoZSByZWxldmFudCBo
ZWFkZXJzLCB3ZSBjYW4gY29uc29saWRhdGUgdGhlbSBpbnRvCisvLyB0aGlzIGxpc3QsIGFsc28g
Z3JhYmJlZCBmcm9tIENocm9taXVtJ3MgbmV0L2h0dHAvaHR0cF9yZXNwb25zZV9oZWFkZXJzLmNj
LgorY29uc3QgY2hhciogY29uc3QgaGVhZGVyUHJlZml4ZXNUb0lnbm9yZUFmdGVyUmV2YWxpZGF0
aW9uW10gPSB7CisgICAgImNvbnRlbnQtIiwKKyAgICAieC1jb250ZW50LSIsCisgICAgIngtd2Vi
a2l0LSIKK307CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRVcGRhdGVIZWFkZXJBZnRlclJl
dmFsaWRhdGlvbihjb25zdCBBdG9taWNTdHJpbmcmIGhlYWRlcikKK3sKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgoaGVhZGVyc1RvSWdub3JlQWZ0ZXJSZXZhbGlk
YXRpb24pOyBpKyspIHsKKyAgICAgICAgaWYgKGhlYWRlciA9PSBoZWFkZXJzVG9JZ25vcmVBZnRl
clJldmFsaWRhdGlvbltpXSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKGhlYWRlclByZWZpeGVzVG9J
Z25vcmVBZnRlclJldmFsaWRhdGlvbik7IGkrKykgeworICAgICAgICBpZiAoaGVhZGVyLnN0YXJ0
c1dpdGgoaGVhZGVyUHJlZml4ZXNUb0lnbm9yZUFmdGVyUmV2YWxpZGF0aW9uW2ldKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0YXRp
YyBSZXNvdXJjZUxvYWRQcmlvcml0eSBkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTcyOCwx
OSArNzcwLDIyIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnN3aXRjaENsaWVudHNUb1JldmFsaWRh
dGVkUmVzb3VyY2UoKQogICAgIH0KICAgICBtX3N3aXRjaGluZ0NsaWVudHNUb1JldmFsaWRhdGVk
UmVzb3VyY2UgPSBmYWxzZTsKIH0KLSAgICAKKwogdm9pZCBDYWNoZWRSZXNvdXJjZTo6dXBkYXRl
UmVzcG9uc2VBZnRlclJldmFsaWRhdGlvbihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiB2YWxpZGF0
aW5nUmVzcG9uc2UpCiB7CiAgICAgbV9yZXNwb25zZVRpbWVzdGFtcCA9IGN1cnJlbnRUaW1lKCk7
CiAKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgY29udGVudEhl
YWRlclByZWZpeCwgKCJjb250ZW50LSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVy
YWwpKTsKICAgICAvLyBSRkMyNjE2IDEwLjMuNQogICAgIC8vIFVwZGF0ZSBjYWNoZWQgaGVhZGVy
cyBmcm9tIHRoZSAzMDQgcmVzcG9uc2UKICAgICBjb25zdCBIVFRQSGVhZGVyTWFwJiBuZXdIZWFk
ZXJzID0gdmFsaWRhdGluZ1Jlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZHMoKTsKICAgICBIVFRQSGVh
ZGVyTWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSBuZXdIZWFkZXJzLmVuZCgpOwogICAgIGZvciAo
SFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBuZXdIZWFkZXJzLmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkgewotICAgICAgICAvLyBEb24ndCBhbGxvdyAzMDQgcmVzcG9uc2UgdG8g
dXBkYXRlIGNvbnRlbnQgaGVhZGVycywgdGhlc2UgY2FuJ3QgY2hhbmdlIGJ1dCBzb21lIHNlcnZl
cnMgc2VuZCB3cm9uZyB2YWx1ZXMuCi0gICAgICAgIGlmIChpdC0+a2V5LnN0YXJ0c1dpdGgoY29u
dGVudEhlYWRlclByZWZpeCwgZmFsc2UpKQorICAgICAgICAvLyBFbnRpdHkgaGVhZGVycyBzaG91
bGQgbm90IGJlIHNlbnQgYnkgc2VydmVycyB3aGVuIGdlbmVyYXRpbmcgYSAzMDQKKyAgICAgICAg
Ly8gcmVzcG9uc2U7IG1pc2NvbmZpZ3VyZWQgc2VydmVycyBzZW5kIHRoZW0gYW55d2F5LiBXZSBz
aG91bGRuJ3QgYWxsb3cKKyAgICAgICAgLy8gc3VjaCBoZWFkZXJzIHRvIHVwZGF0ZSB0aGUgb3Jp
Z2luYWwgcmVxdWVzdC4gV2UnbGwgYmFzZSB0aGlzIG9uIHRoZQorICAgICAgICAvLyBsaXN0IGRl
ZmluZWQgYnkgUkZDMjYxNiA3LjEsIHdpdGggYSBmZXcgYWRkaXRpb25zIGZvciBleHRlbnNpb24g
aGVhZGVycworICAgICAgICAvLyB3ZSBjYXJlIGFib3V0LgorICAgICAgICBpZiAoIXNob3VsZFVw
ZGF0ZUhlYWRlckFmdGVyUmV2YWxpZGF0aW9uKGl0LT5rZXkpKQogICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgIG1fcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKGl0LT5rZXksIGl0LT52
YWx1ZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDVkNWEwM2ZiODE4Nzk2ZDU0MDg4MzZiNDNhZGJiNGYyNjU1
MzViMGUuLjY1Y2FlOWM3N2RmYWY2NDM3ODFkMmE4ZDY0YmJlY2I5ZmMwM2YwYzAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAxMy0wMi0wNiAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIEVudGl0eS1oZWFkZXIgZXh0ZW5zaW9uIGhlYWRlcnMgaG9ub3JlZCBvbiAz
MDQgcmVzcG9uc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzI0MTQKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292Lgor
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9u
cGgtY2FjaGVkLXhmby5wbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9Y
RnJhbWVPcHRpb25zL3gtZnJhbWUtb3B0aW9ucy1jYWNoZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRp
b25zLWNhY2hlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3NwLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2Fj
aGVkLWZyYW1lLWNzcC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvbnBoLWNhY2hlZC1jc3AucGw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJhbWUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1
ZGl0b3IvY2FjaGVkLWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBoLWNhY2hlZC5wbDogQWRkZWQuCisKIDIwMTMt
MDItMDYgIFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbQ2hyb21pdW1dIFRlc3QgZXhwZWN0YXRpb25zIHVwZGF0ZSBmb3IgU2tpYSBjaGFuZ2UuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMv
cmVzb3VyY2VzL25waC1jYWNoZWQteGZvLnBsIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbApuZXcgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40ZmI1MmQ2NTY0YmJiNzVhOWE3ZTIwNGE3ZjBmNTkzYzExMjdhZGU5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291
cmNlcy9ucGgtY2FjaGVkLXhmby5wbApAQCAtMCwwICsxLDI5IEBACisjIS91c3IvYmluL3BlcmwK
KyMgU2NyaXB0IHRvIGdlbmVyYXRlIGEgMzA0IEhUVFAgc3RhdHVzIHdpdGggKGlsbGVnYWwpIFgt
RnJhbWUtT3B0aW9ucyBoZWFkZXJzLgorIyBSZWxpZXMgb24gaXRzIG5waC0gZmlsZW5hbWUgdG8g
aW52b2tlIHRoZSBDR0kgbm9uLXBhcnNlZC1oZWFkZXIgZmFjaWxpdHkuCisKKyRwcm90b2NvbCA9
ICRFTlZ7J1NFUlZFUl9QUk9UT0NPTCd9OworJHNvZnR3YXJlID0gJEVOVnsnU0VSVkVSX1NPRlRX
QVJFJ307CiskaWZfbW9kaWZpZWQgPSAkRU5WeydIVFRQX0lGX01PRElGSUVEX1NJTkNFJ307CisK
K2lmICgkaWZfbW9kaWZpZWQpIHsKKyAgICBwcmludCAiJHByb3RvY29sIDMwNCBOb3QgTW9kaWZp
ZWRcclxuIjsKKyAgICBwcmludCAiU2VydmVyOiAkc29mdHdhcmVcclxuIjsKKyAgICBwcmludCAi
WC1GcmFtZS1PcHRpb25zOiBkZW55XHJcbiI7CisgICAgcHJpbnQgIkNvbm5lY3Rpb246IGNsb3Nl
XHJcbiI7CisgICAgZXhpdCgwKTsKK30KKworcHJpbnQgIiRwcm90b2NvbCAyMDAgT0tcclxuIjsK
K3ByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4
dC9odG1sXHJcbiI7CitwcmludCAiRXhwaXJlczogV2VkLCAyMSBOb3YgMjAzNyAxOToxOToxMyAr
MDAwMFxyXG4iOworcHJpbnQgIkxhc3QtTW9kaWZpZWQ6IE1vbiwgMDggTm92IDIwMTAgMTk6MTk6
MTMgKzAwMDBcclxuIjsKK3ByaW50ICJYLUZyYW1lLU9wdGlvbnM6IGFsbG93YWxsXHJcbiI7Citw
cmludCAiXHJcbiI7CitwcmludCAiPCFET0NUWVBFIGh0bWw+XHJcbiI7CitwcmludCAiPGh0bWw+
XHJcbiI7CitwcmludCAiPGJvZHk+XHJcbiI7CitwcmludCAiPHNjcmlwdD5hbGVydChcIlRoaXMg
bXVzdCBmaXJlIHR3aWNlXCIpOzwvc2NyaXB0PlxyXG4iOworcHJpbnQgIjwvYm9keT5cclxuIjsK
K3ByaW50ICI8L2h0bWw+XHJcbiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFt
ZS1vcHRpb25zLWNhY2hlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODg3YTNlOWM3OWQ1YWUz
ODU4NTNlYTdjODA2NDllNmVjOGRmZmJjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtY2FjaGVk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitDT05TT0xFIE1FU1NBR0U6IEludmFsaWQg
J1gtRnJhbWUtT3B0aW9ucycgaGVhZGVyIGVuY291bnRlcmVkIHdoZW4gbG9hZGluZyAnaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNo
ZWQteGZvLnBsJzogJ2FsbG93YWxsJyBpcyBub3QgYSByZWNvZ25pemVkIGRpcmVjdGl2ZS4gVGhl
IGhlYWRlciB3aWxsIGJlIGlnbm9yZWQuCitBTEVSVDogVGhpcyBtdXN0IGZpcmUgdHdpY2UKK0NP
TlNPTEUgTUVTU0FHRTogSW52YWxpZCAnWC1GcmFtZS1PcHRpb25zJyBoZWFkZXIgZW5jb3VudGVy
ZWQgd2hlbiBsb2FkaW5nICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0
aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwnOiAnYWxsb3dhbGwnIGlzIG5vdCBhIHJl
Y29nbml6ZWQgZGlyZWN0aXZlLiBUaGUgaGVhZGVyIHdpbGwgYmUgaWdub3JlZC4KK0FMRVJUOiBU
aGlzIG11c3QgZmlyZSB0d2ljZQorQ2hlY2sgdGhhdCBhbiBYLUZyYW1lLU9wdGlvbnMgaGVhZGVy
IGFkZGVkIGJ5IGEgMzA0IHJlc3BvbnNlIGRvZXMgbm90IG92ZXJyaWRlIG9uZSBmcm9tIHRoZSBv
cmlnaW5hbCByZXF1ZXN0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVHdvIGNv
bnNvbGUgbWVzc2FnZXMgc2hvdWxkIGJlIGdlbmVyYXRlZCwgZWFjaCBmb2xsb3dlZCBieSBhbiBh
bGVydC4KK0JvdGggZnJhbWVzIHNob3VsZCBwb2ludCB0byB0aGUgZXhwZWN0ZWQgVVJMLCBhbmQg
bm90IHRvIGFib3V0OmJsYW5rLgorUEFTUyBmcmFtZTEuc3JjIGlzICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMvbnBoLWNhY2hlZC14Zm8ucGwi
CitQQVNTIGZyYW1lMi5zcmMgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9YRnJh
bWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtY2Fj
aGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMv
eC1mcmFtZS1vcHRpb25zLWNhY2hlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2OTRmMmM5NmU4YTk3Njc4
MDI2YzhkYzkzZTA4OTZhMjI1MTBlZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLWNhY2hlZC5o
dG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAg
ICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0PgorICAgICAgICBkZXNjcmlwdGlvbignQ2hlY2sgdGhhdCBhbiBYLUZy
YW1lLU9wdGlvbnMgaGVhZGVyIGFkZGVkIGJ5IGEgMzA0IHJlc3BvbnNlIGRvZXMgbm90IG92ZXJy
aWRlIG9uZSBmcm9tIHRoZSBvcmlnaW5hbCByZXF1ZXN0LicpOworICAgICAgICBkZWJ1ZygnVHdv
IGNvbnNvbGUgbWVzc2FnZXMgc2hvdWxkIGJlIGdlbmVyYXRlZCwgZWFjaCBmb2xsb3dlZCBieSBh
biBhbGVydC4nKTsKKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIHZhciBmcmFtZTEsIGZyYW1lMjsKKyAgICAgICAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKSB7
CisgICAgICAgICAgICBmcmFtZTEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTsK
KworICAgICAgICAgICAgZnJhbWUyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7
CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lMik7CisgICAgICAg
ICAgICBmcmFtZTIub25sb2FkID0gY2hlY2tTdGF0ZTsKKworICAgICAgICAgICAgZnJhbWUyLnNy
YyA9IGZyYW1lMS5zcmM7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBjaGVja1N0YXRl
KCkgeworICAgICAgICAgICAgZGVidWcoJ0JvdGggZnJhbWVzIHNob3VsZCBwb2ludCB0byB0aGUg
ZXhwZWN0ZWQgVVJMLCBhbmQgbm90IHRvIGFib3V0OmJsYW5rLicpOworICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdmcmFtZTEuc3JjJywgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9z
ZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhmby5wbCcpOworICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmcmFtZTIuc3JjJywgJ2h0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291cmNlcy9ucGgtY2FjaGVkLXhm
by5wbCcpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKyAgICA8L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8aWZyYW1lIHNyYz0iaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMvcmVzb3VyY2VzL25waC1jYWNoZWQt
eGZvLnBsIiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jYWNoZWQtZnJhbWUtY3Nw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lM2Y3ZWRlYzkwZGE4MzYwOWY0ZGI5MTIwZTFkOGFm
NDU1ZTIyNDAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IFJlZnVzZWQgdG8gZXhl
Y3V0ZSBpbmxpbmUgc2NyaXB0IGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250
ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICdub25lJyIuCisKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSA1OiBSZWZ1c2VkIHRvIGV4ZWN1dGUgaW5saW5lIHNjcmlwdCBi
ZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kg
ZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnbm9uZSciLgorCitDaGVjayB0aGF0IGEgQ1NQIGhlYWRl
ciBhZGRlZCBieSBhIDMwNCByZXNwb25zZSBkb2VzIG5vdCBvdmVycmlkZSBvbmUgZnJvbSB0aGUg
b3JpZ2luYWwgcmVxdWVzdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0NoZWNr
IHRoYXQgdGhlIG5vbmNlIGlzIHRoZSBzYW1lLCBtZWFuaW5nIHRoYXQgdGhlIGRvY3VtZW50IHdh
cyBvbmx5IGdlbmVyYXRlZCBvbmNlOgorUEFTUyBmcmFtZTEuY29udGVudERvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoImlucHV0IikudmFsdWUgPT0gZnJhbWUyLmNvbnRlbnREb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJpbnB1dCIpLnZhbHVlIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2NhY2hlZC1mcmFtZS1jc3AuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L2NhY2hlZC1mcmFtZS1jc3AuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTI3MDYyNGRiMGMwNjY1Yjc5ZDIz
MTE3YjE2ZjQ1ZmQxZTgxNWMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY2FjaGVkLWZyYW1lLWNzcC5odG1s
CkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBkZXNjcmlwdGlvbignQ2hlY2sgdGhhdCBhIENTUCBoZWFk
ZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lcyBub3Qgb3ZlcnJpZGUgb25lIGZyb20gdGhl
IG9yaWdpbmFsIHJlcXVlc3QuJyk7CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICB2YXIgZnJhbWUxLCBmcmFtZTI7CisgICAgICAgIGZ1bmN0aW9uIGZyYW1l
TG9hZGVkKCkgeworICAgICAgICAgICAgZnJhbWUxID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
aWZyYW1lJyk7CisKKyAgICAgICAgICAgIGZyYW1lMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2lmcmFtZScpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZTIp
OworICAgICAgICAgICAgZnJhbWUyLm9ubG9hZCA9IGNoZWNrU3RhdGU7CisKKyAgICAgICAgICAg
IGZyYW1lMi5zcmMgPSBmcmFtZTEuc3JjOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24g
Y2hlY2tTdGF0ZSgpIHsKKyAgICAgICAgICAgIGRlYnVnKCdDaGVjayB0aGF0IHRoZSBub25jZSBp
cyB0aGUgc2FtZSwgbWVhbmluZyB0aGF0IHRoZSBkb2N1bWVudCB3YXMgb25seSBnZW5lcmF0ZWQg
b25jZTonKTsKKworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCdmcmFtZTEuY29udGVudERvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWUgPT0gZnJhbWUyLmNvbnRlbnREb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlJyk7CisgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
ICAgIDxpZnJhbWUgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbCIgb25sb2FkPSJmcmFtZUxv
YWRlZCgpIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9u
cGgtY2FjaGVkLWNzcC5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9ucGgtY2FjaGVkLWNzcC5wbApuZXcgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
OWI1ODE0M2RhMTM5ZTZhMTc0ZjlkNzhjMGEyNjNlOTRhYTcxN2MyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
cmVzb3VyY2VzL25waC1jYWNoZWQtY3NwLnBsCkBAIC0wLDAgKzEsMzEgQEAKKyMhL3Vzci9iaW4v
cGVybAorIyBTY3JpcHQgdG8gZ2VuZXJhdGUgYSAzMDQgSFRUUCBzdGF0dXMgd2l0aCAoaWxsZWdh
bCkgWC1XZWJLaXQtQ1NQIGhlYWRlcnMuCisjIFJlbGllcyBvbiBpdHMgbnBoLSBmaWxlbmFtZSB0
byBpbnZva2UgdGhlIENHSSBub24tcGFyc2VkLWhlYWRlciBmYWNpbGl0eS4KKworJHByb3RvY29s
ID0gJEVOVnsnU0VSVkVSX1BST1RPQ09MJ307Ciskc29mdHdhcmUgPSAkRU5WeydTRVJWRVJfU09G
VFdBUkUnfTsKKyRpZl9tb2RpZmllZCA9ICRFTlZ7J0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnfTsK
KyRub25jZSA9IGludChyYW5kKDEwMDAwMCkpOworCitpZiAoJGlmX21vZGlmaWVkKSB7CisgICAg
cHJpbnQgIiRwcm90b2NvbCAzMDQgTm90IE1vZGlmaWVkXHJcbiI7CisgICAgcHJpbnQgIlNlcnZl
cjogJHNvZnR3YXJlXHJcbiI7CisgICAgcHJpbnQgIkNvbnRlbnQtU2VjdXJpdHktUG9saWN5OiBz
Y3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJ1xyXG4iOworICAgIHByaW50ICJDb25uZWN0aW9uOiBj
bG9zZVxyXG4iOworICAgIGV4aXQoMCk7Cit9CisKK3ByaW50ICIkcHJvdG9jb2wgMjAwIE9LXHJc
biI7CitwcmludCAiU2VydmVyOiAkc29mdHdhcmVcclxuIjsKK3ByaW50ICJDb250ZW50LXR5cGU6
IHRleHQvaHRtbFxyXG4iOworcHJpbnQgIkV4cGlyZXM6IFdlZCwgMjEgTm92IDIwMzcgMTk6MTk6
MTMgKzAwMDBcclxuIjsKK3ByaW50ICJMYXN0LU1vZGlmaWVkOiBNb24sIDA4IE5vdiAyMDEwIDE5
OjE5OjEzICswMDAwXHJcbiI7CitwcmludCAiQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IHNjcmlw
dC1zcmMgJ25vbmUnXHJcbiI7CitwcmludCAiXHJcbiI7CitwcmludCAiPCFET0NUWVBFIGh0bWw+
XHJcbiI7CitwcmludCAiPGh0bWw+XHJcbiI7CitwcmludCAiPGJvZHk+XHJcbiI7CitwcmludCAi
PGlucHV0IGlkPVwicmFuZFwiIHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCIkbm9uY2VcIi8+XHJcbiI7
CitwcmludCAiPHNjcmlwdD5hbGVydCgnRkFJTCcpOzwvc2NyaXB0PlxyXG4iOworcHJpbnQgIjwv
Ym9keT5cclxuIjsKK3ByaW50ICI8L2h0bWw+XHJcbiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9jYWNoZWQtZnJh
bWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4N2U0NzhiOTA1ZWYxN2JlMDhhZTdhZGYzZTdi
NDE0NGIyNzQ2YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3hzc0F1ZGl0b3IvY2FjaGVkLWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2
IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogUmVmdXNlZCB0byBleGVjdXRlIGEgSmF2YVNj
cmlwdCBzY3JpcHQuIFNvdXJjZSBjb2RlIG9mIHNjcmlwdCBmb3VuZCB3aXRoaW4gcmVxdWVzdC4K
KworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IFJlZnVzZWQgdG8gZXhlY3V0ZSBhIEphdmFTY3Jp
cHQgc2NyaXB0LiBTb3VyY2UgY29kZSBvZiBzY3JpcHQgZm91bmQgd2l0aGluIHJlcXVlc3QuCisK
K0NoZWNrIHRoYXQgYW4gWC1YU1MtUHJvdGVjdGlvbiBoZWFkZXIgYWRkZWQgYnkgYSAzMDQgcmVz
cG9uc2UgZG9lcyBub3Qgb3ZlcnJpZGUgb25lIGZyb20gdGhlIG9yaWdpbmFsIHJlcXVlc3QuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUd28gY29uc29sZSBtZXNzYWdlcyBzaG91
bGQgYmUgZ2VuZXJhdGVkLCBub3RpbmcgdGhhdCBKYXZhU2NyaXB0IHdhcyBibG9ja2VkLgorQ2hl
Y2sgdGhhdCB0aGUgbm9uY2UgaXMgdGhlIHNhbWUsIG1lYW5pbmcgdGhhdCB0aGUgZG9jdW1lbnQg
d2FzIG9ubHkgZ2VuZXJhdGVkIG9uY2U6CitQQVNTIGZyYW1lMS5jb250ZW50RG9jdW1lbnQucXVl
cnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZSA9PSBmcmFtZTIuY29udGVudERvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoImlucHV0IikudmFsdWUgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2NhY2hlZC1mcmFtZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZkYmM0ZWMwNzU1YWUxZTk1M2VjNTg2ZDc0ZDkzOGM2MmVlZTdmMGYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvY2Fj
aGVkLWZyYW1lLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0WFNTQXVkaXRvckVuYWJsZWQodHJ1ZSk7CisK
KyAgICAgICAgZGVzY3JpcHRpb24oJ0NoZWNrIHRoYXQgYW4gWC1YU1MtUHJvdGVjdGlvbiBoZWFk
ZXIgYWRkZWQgYnkgYSAzMDQgcmVzcG9uc2UgZG9lcyBub3Qgb3ZlcnJpZGUgb25lIGZyb20gdGhl
IG9yaWdpbmFsIHJlcXVlc3QuJyk7CisgICAgICAgIGRlYnVnKCdUd28gY29uc29sZSBtZXNzYWdl
cyBzaG91bGQgYmUgZ2VuZXJhdGVkLCBub3RpbmcgdGhhdCBKYXZhU2NyaXB0IHdhcyBibG9ja2Vk
LicpOworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgdmFy
IGZyYW1lMSwgZnJhbWUyOworICAgICAgICBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpIHsKKyAgICAg
ICAgICAgIGZyYW1lMSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpOworCisgICAg
ICAgICAgICBmcmFtZTIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICAg
ICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUyKTsKKyAgICAgICAgICAgIGZy
YW1lMi5vbmxvYWQgPSBjaGVja1N0YXRlOworCisgICAgICAgICAgICBmcmFtZTIuc3JjID0gZnJh
bWUxLnNyYzsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGNoZWNrU3RhdGUoKSB7Cisg
ICAgICAgICAgICBkZWJ1ZygnQ2hlY2sgdGhhdCB0aGUgbm9uY2UgaXMgdGhlIHNhbWUsIG1lYW5p
bmcgdGhhdCB0aGUgZG9jdW1lbnQgd2FzIG9ubHkgZ2VuZXJhdGVkIG9uY2U6Jyk7CisKKyAgICAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgnZnJhbWUxLmNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCJpbnB1dCIpLnZhbHVlID09IGZyYW1lMi5jb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3Rvcigi
aW5wdXQiKS52YWx1ZScpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0K
KyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8aWZyYW1lIHNyYz0i
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL25waC1j
YWNoZWQucGw/cT0lM2NzY3JpcHQlM2VhbGVydCgvWFNTLyk7JTNjL3NjcmlwdCUzZSIgb25sb2Fk
PSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvbnBo
LWNhY2hlZC5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9y
ZXNvdXJjZXMvbnBoLWNhY2hlZC5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGI1NjBjZDFhMjJiMWIzNmFiNGZh
NTJlMDliYTUzNTI2YmE5ZTM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291cmNlcy9ucGgtY2FjaGVkLnBsCkBAIC0wLDAg
KzEsMzEgQEAKKyMhL3Vzci9iaW4vcGVybAorIyBTY3JpcHQgdG8gZ2VuZXJhdGUgYSAzMDQgSFRU
UCBzdGF0dXMgd2l0aCAoaWxsZWdhbCkgWC1YU1MtUHJvdGVjdCBoZWFkZXJzLgorIyBSZWxpZXMg
b24gaXRzIG5waC0gZmlsZW5hbWUgdG8gaW52b2tlIHRoZSBDR0kgbm9uLXBhcnNlZC1oZWFkZXIg
ZmFjaWxpdHkuCisKKyRwcm90b2NvbCA9ICRFTlZ7J1NFUlZFUl9QUk9UT0NPTCd9OworJHNvZnR3
YXJlID0gJEVOVnsnU0VSVkVSX1NPRlRXQVJFJ307CiskaWZfbW9kaWZpZWQgPSAkRU5WeydIVFRQ
X0lGX01PRElGSUVEX1NJTkNFJ307Ciskbm9uY2UgPSBpbnQocmFuZCgxMDAwMDApKTsKKworaWYg
KCRpZl9tb2RpZmllZCkgeworICAgIHByaW50ICIkcHJvdG9jb2wgMzA0IE5vdCBNb2RpZmllZFxy
XG4iOworICAgIHByaW50ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworICAgIHByaW50ICJYLVhT
Uy1Qcm90ZWN0aW9uOiAwXHJcbiI7CisgICAgcHJpbnQgIkNvbm5lY3Rpb246IGNsb3NlXHJcbiI7
CisgICAgZXhpdCgwKTsKK30KKworcHJpbnQgIiRwcm90b2NvbCAyMDAgT0tcclxuIjsKK3ByaW50
ICJTZXJ2ZXI6ICRzb2Z0d2FyZVxyXG4iOworcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1s
XHJcbiI7CitwcmludCAiRXhwaXJlczogV2VkLCAyMSBOb3YgMjAzNyAxOToxOToxMyArMDAwMFxy
XG4iOworcHJpbnQgIkxhc3QtTW9kaWZpZWQ6IE1vbiwgMDggTm92IDIwMTAgMTk6MTk6MTMgKzAw
MDBcclxuIjsKK3ByaW50ICJYLVhTUy1Qcm90ZWN0aW9uOiAxXHJcbiI7CitwcmludCAiXHJcbiI7
CitwcmludCAiPCFET0NUWVBFIGh0bWw+XHJcbiI7CitwcmludCAiPGh0bWw+XHJcbiI7Citwcmlu
dCAiPGJvZHk+XHJcbiI7CitwcmludCAiPGlucHV0IGlkPVwicmFuZFwiIHR5cGU9XCJ0ZXh0XCIg
dmFsdWU9XCIkbm9uY2VcIi8+XHJcbiI7CitwcmludCAiPHNjcmlwdD5hbGVydCgvWFNTLyk7PC9z
Y3JpcHQ+XHJcbiI7CitwcmludCAiPC9ib2R5PlxyXG4iOworcHJpbnQgIjwvaHRtbD5cclxuIjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>