<?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>163534</bug_id>
          
          <creation_ts>2016-10-16 21:57:02 -0700</creation_ts>
          <short_desc>Implement DOMQuad</short_desc>
          <delta_ts>2018-11-10 11:06:25 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=173395</see_also>
          <bug_file_loc>https://drafts.fxtf.org/geometry-1/#DOMQuad</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>178366</dependson>
          <blocked>163505</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>krit</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1240870</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-10-16 21:57:02 -0700</bug_when>
    <thetext>Implement DOMQuad</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240871</commentid>
    <comment_count>1</comment_count>
      <attachid>291793</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-10-16 22:00:19 -0700</bug_when>
    <thetext>Created attachment 291793
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240872</commentid>
    <comment_count>2</comment_count>
      <attachid>291793</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-10-16 22:01:39 -0700</bug_when>
    <thetext>Comment on attachment 291793
Patch

Patch needs patches from bug 163464 and bug 133916</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241284</commentid>
    <comment_count>3</comment_count>
      <attachid>291905</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-10-17 17:57:11 -0700</bug_when>
    <thetext>Created attachment 291905
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241739</commentid>
    <comment_count>4</comment_count>
      <attachid>291905</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-10-18 18:00:54 -0700</bug_when>
    <thetext>Comment on attachment 291905
Patch

Need some more clarify on this API before I continue: https://lists.w3.org/Archives/Public/public-fx/2016OctDec/0016.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315432</commentid>
    <comment_count>5</comment_count>
      <attachid>311929</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-03 09:17:48 -0700</bug_when>
    <thetext>Created attachment 311929
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315433</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-03 09:18:03 -0700</bug_when>
    <thetext>Current discussion is in https://github.com/w3c/fxtf-drafts/issues/124</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315434</commentid>
    <comment_count>7</comment_count>
      <attachid>311930</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-03 09:26:26 -0700</bug_when>
    <thetext>Created attachment 311930
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315568</commentid>
    <comment_count>8</comment_count>
      <attachid>311930</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-04 10:45:59 -0700</bug_when>
    <thetext>Comment on attachment 311930
Patch

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

&gt; Source/WebCore/dom/DOMQuad.h:40
&gt; +    static Ref&lt;DOMQuad&gt; create(const DOMPointInit&amp; p1, const DOMPointInit&amp; p2, const DOMPointInit&amp; p3, const DOMPointInit&amp; p4) { return adoptRef(*new DOMQuad(p1, p2, p3, p4)); }

Can probably take DOMPointInit&amp;&amp; parameters to allow moving.

&gt; Source/WebCore/dom/DOMQuad.h:41
&gt; +    static Ref&lt;DOMQuad&gt; fromRect(const DOMRectInit&amp; init) { return adoptRef(*new DOMQuad(init)); }

This can probably take a DOMRectInit&amp;&amp; init so we can move it into the constructor.

&gt; Source/WebCore/dom/DOMQuad.h:42
&gt; +    static Ref&lt;DOMQuad&gt; fromQuad(const DOMQuadInit&amp; init) { return create(init.p1, init.p2, init.p3, init.p4); }

This can probably take a DOMQuadInit&amp;&amp; init so we can move its members into the constructor.

&gt; Source/WebCore/dom/DOMQuad.h:49
&gt; +    DOMRectInit getBounds() const;

I think this should return a Ref&lt;DOMRect&gt;.

&gt; Source/WebCore/dom/DOMQuad.idl:33
&gt; +interface DOMQuad {

Should be on previous line.

&gt; Source/WebCore/dom/DOMQuad.idl:37
&gt; +    [CachedAttribute, CustomGetter] readonly attribute DOMPoint p1; // FIXME: Should be [SameObject].

I do not understand why these need a CustomGetter. Doesn&apos;t CachedAttribute do the right thing by default?

&gt; Source/WebCore/dom/DOMQuad.idl:41
&gt; +    [NewObject, Custom] DOMRect getBounds();

Why can&apos;t the implementation return a DOMRect instead of a DOMRectInit? So that we do not need custom bindings code.

This patch adds a lot of custom bindings :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317126</commentid>
    <comment_count>9</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-08 16:30:17 -0700</bug_when>
    <thetext>I think this would be much simpler if DOMQuad had four Ref&lt;DOMPoint&gt; members.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318021</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-11 11:00:01 -0700</bug_when>
    <thetext>Mostly cleaned up but I&apos;m not sure how to do the serialization without changing CodeGenerator.pm to add DOMPoint as a serializable type, and can&apos;t find an example of custom serialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318029</commentid>
    <comment_count>11</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-11 11:37:20 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #10)
&gt; Mostly cleaned up but I&apos;m not sure how to do the serialization without
&gt; changing CodeGenerator.pm to add DOMPoint as a serializable type, and can&apos;t
&gt; find an example of custom serialization.

Since DOMPointReadOnly has a serializer, DOMPoint is already &apos;a serializable type&apos;. This means you have to do a parse of each Interface type in the attribute list to figure out if they are serializable types.  See CodeGenerator.pm&apos;s GetDictionaryByType for an example of how to trigger a parse (note, it is quite important to cache the result if you do this). If this feels too involved, let me know, and I can add the support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318039</commentid>
    <comment_count>12</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-11 12:25:01 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #11)
&gt; (In reply to Simon Fraser (smfr) from comment #10)
&gt; &gt; Mostly cleaned up but I&apos;m not sure how to do the serialization without
&gt; &gt; changing CodeGenerator.pm to add DOMPoint as a serializable type, and can&apos;t
&gt; &gt; find an example of custom serialization.
&gt; 
&gt; Since DOMPointReadOnly has a serializer, DOMPoint is already &apos;a serializable
&gt; type&apos;. This means you have to do a parse of each Interface type in the
&gt; attribute list to figure out if they are serializable types.  See
&gt; CodeGenerator.pm&apos;s GetDictionaryByType for an example of how to trigger a
&gt; parse (note, it is quite important to cache the result if you do this). If
&gt; this feels too involved, let me know, and I can add the support.

I think it would also be ok to do everything but the serializer part at first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318560</commentid>
    <comment_count>13</comment_count>
      <attachid>312748</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-12 22:01:00 -0700</bug_when>
    <thetext>Created attachment 312748
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318630</commentid>
    <comment_count>14</comment_count>
      <attachid>312748</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-13 05:52:48 -0700</bug_when>
    <thetext>Comment on attachment 312748
Patch

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

&gt; Source/WebCore/dom/DOMQuad.idl:31
&gt; +    Constructor(optional DOMPointInit p1, optional DOMPointInit p2, optional DOMPointInit p3, optional DOMPointInit p4),
&gt; +    Exposed=(Window,Worker),
&gt; +    ImplementationLacksVTable

I think this probably needs JSCustomMarkFunction, which will require a JSDOMQuad::visitAdditionalChildren that adds the 4 points to the visit set.

&gt; Source/WebCore/dom/DOMQuad.idl:40
&gt; +    [CachedAttribute] readonly attribute DOMPoint p1; // FIXME: Should be [SameObject].
&gt; +    [CachedAttribute] readonly attribute DOMPoint p2; // FIXME: Should be [SameObject].
&gt; +    [CachedAttribute] readonly attribute DOMPoint p3; // FIXME: Should be [SameObject].
&gt; +    [CachedAttribute] readonly attribute DOMPoint p4; // FIXME: Should be [SameObject].

You don&apos;t need the [CachedAttribute] here. The wrapper cache will handle this for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318669</commentid>
    <comment_count>15</comment_count>
      <attachid>312748</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-13 09:32:58 -0700</bug_when>
    <thetext>Comment on attachment 312748
Patch

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

&gt;&gt; Source/WebCore/dom/DOMQuad.idl:40
&gt;&gt; +    [CachedAttribute] readonly attribute DOMPoint p4; // FIXME: Should be [SameObject].
&gt; 
&gt; You don&apos;t need the [CachedAttribute] here. The wrapper cache will handle this for you.

I am not sure this is true. For e.g. With Simon&apos;s code this would work:
quad.p1.foo = 1;
gc();
quad.p1.foo === 1; // True with Simon&apos;s code but I believe it would return false;

Sam, am I right? Or maybe the visit function will take care of keeping the point wrappers alive as long as the quad is alive?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318671</commentid>
    <comment_count>16</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-13 09:34:41 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #15)
&gt; Comment on attachment 312748 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=312748&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/dom/DOMQuad.idl:40
&gt; &gt;&gt; +    [CachedAttribute] readonly attribute DOMPoint p4; // FIXME: Should be [SameObject].
&gt; &gt; 
&gt; &gt; You don&apos;t need the [CachedAttribute] here. The wrapper cache will handle this for you.
&gt; 
&gt; I am not sure this is true. For e.g. With Simon&apos;s code this would work:
&gt; quad.p1.foo = 1;
&gt; gc();
&gt; quad.p1.foo === 1; // True with Simon&apos;s code but I believe it would return
&gt; false;
&gt; 
&gt; Sam, am I right? Or maybe the visit function will take care of keeping the
&gt; point wrappers alive as long as the quad is alive?

No. The wrappers should be kept alive via the visit function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318673</commentid>
    <comment_count>17</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-13 09:35:07 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #16)
&gt; (In reply to Chris Dumez from comment #15)
&gt; &gt; Comment on attachment 312748 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=312748&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/dom/DOMQuad.idl:40
&gt; &gt; &gt;&gt; +    [CachedAttribute] readonly attribute DOMPoint p4; // FIXME: Should be [SameObject].
&gt; &gt; &gt; 
&gt; &gt; &gt; You don&apos;t need the [CachedAttribute] here. The wrapper cache will handle this for you.
&gt; &gt; 
&gt; &gt; I am not sure this is true. For e.g. With Simon&apos;s code this would work:
&gt; &gt; quad.p1.foo = 1;
&gt; &gt; gc();
&gt; &gt; quad.p1.foo === 1; // True with Simon&apos;s code but I believe it would return
&gt; &gt; false;
&gt; &gt; 
&gt; &gt; Sam, am I right? Or maybe the visit function will take care of keeping the
&gt; &gt; point wrappers alive as long as the quad is alive?
&gt; 
&gt; No. The wrappers should be kept alive via the visit function.

But, we should probably have a gc test either way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318866</commentid>
    <comment_count>18</comment_count>
      <attachid>312748</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-13 15:39:34 -0700</bug_when>
    <thetext>Comment on attachment 312748
Patch

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

&gt; Source/WebCore/dom/DOMQuad.h:29
&gt; +#include &quot;DOMPointInit.h&quot;
&gt; +#include &quot;DOMQuadInit.h&quot;

I don&apos;t think you need to include these. They can be forward declared.

&gt; Source/WebCore/dom/DOMQuad.h:38
&gt; +struct DOMPointInit;

No need to forward declare if you are including the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319236</commentid>
    <comment_count>19</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-14 11:08:26 -0700</bug_when>
    <thetext>So JSDOMQuad::visitAdditionalChildren should do something like:

    visitor.addOpaqueRoot(root(wrapped().p1()));
or
    visitor.addOpaqueRoot(wrapped().p1()); ?

I don&apos;t know what root() is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319398</commentid>
    <comment_count>20</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-14 17:51:27 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #19)
&gt; So JSDOMQuad::visitAdditionalChildren should do something like:
&gt; 
&gt;     visitor.addOpaqueRoot(root(wrapped().p1()));
&gt; or
&gt;     visitor.addOpaqueRoot(wrapped().p1()); ?
&gt; 
&gt; I don&apos;t know what root() is.

I think the later.

Taking the implementation from JSXMLHttpRequest as model, since it has similar semantics, it does:

void JSXMLHttpRequest::visitAdditionalChildren(SlotVisitor&amp; visitor)
{
    if (XMLHttpRequestUpload* upload = wrapped().optionalUpload())
        visitor.addOpaqueRoot(upload);

    if (Document* responseDocument = wrapped().optionalResponseXML())
        visitor.addOpaqueRoot(responseDocument);
}

So, I believe yours should do:

void JSDOMQuad::visitAdditionalChildren(SlotVisitor&amp; visitor)
{
    visitor.addOpaqueRoot(wrapped().p1().ptr());
    visitor.addOpaqueRoot(wrapped().p2().ptr());
    visitor.addOpaqueRoot(wrapped().p3().ptr());
    visitor.addOpaqueRoot(wrapped().p4().ptr());
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320396</commentid>
    <comment_count>21</comment_count>
      <attachid>313199</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-17 10:15:23 -0700</bug_when>
    <thetext>Created attachment 313199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320401</commentid>
    <comment_count>22</comment_count>
      <attachid>313199</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-17 10:54:18 -0700</bug_when>
    <thetext>Comment on attachment 313199
Patch

r=me (though you should figure out why it doesn&apos;t apply).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320403</commentid>
    <comment_count>23</comment_count>
      <attachid>313201</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-17 11:02:50 -0700</bug_when>
    <thetext>Created attachment 313201
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320407</commentid>
    <comment_count>24</comment_count>
      <attachid>313203</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-17 11:45:05 -0700</bug_when>
    <thetext>Created attachment 313203
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320412</commentid>
    <comment_count>25</comment_count>
      <attachid>313206</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-17 12:45:39 -0700</bug_when>
    <thetext>Created attachment 313206
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320416</commentid>
    <comment_count>26</comment_count>
      <attachid>313206</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-17 12:48:07 -0700</bug_when>
    <thetext>Comment on attachment 313206
Patch

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

&gt; Source/WebCore/dom/DOMQuad.h:46
&gt; +    RefPtr&lt;DOMPoint&gt; p1() const { return m_p1; }

Why is this returning RefPtr instead of raw pointer? It will cause unnecessary refcounting churn.

&gt; Source/WebCore/dom/DOMQuad.h:57
&gt; +    RefPtr&lt;DOMPoint&gt; m_p1;

Looks like these can be Ref?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320422</commentid>
    <comment_count>27</comment_count>
      <attachid>313206</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-17 12:53:24 -0700</bug_when>
    <thetext>Comment on attachment 313206
Patch

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

&gt;&gt; Source/WebCore/dom/DOMQuad.h:46
&gt;&gt; +    RefPtr&lt;DOMPoint&gt; p1() const { return m_p1; }
&gt; 
&gt; Why is this returning RefPtr instead of raw pointer? It will cause unnecessary refcounting churn.

I think this should even return a C++ reference since the points cannot be null. Having members use Ref&lt;&gt; would make this clearer.
DOMPoint&amp; p1() { return m_p1.get(); }

Ref&lt;DOMPoint&gt; m_p1;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320425</commentid>
    <comment_count>28</comment_count>
      <attachid>313206</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-17 12:54:42 -0700</bug_when>
    <thetext>Comment on attachment 313206
Patch

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

&gt; Source/WebCore/dom/DOMQuad.cpp:57
&gt; +RefPtr&lt;DOMRect&gt; DOMQuad::getBounds() const

Should return a Ref&lt;DOMRect&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320426</commentid>
    <comment_count>29</comment_count>
      <attachid>313210</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-17 13:05:36 -0700</bug_when>
    <thetext>Created attachment 313210
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320440</commentid>
    <comment_count>30</comment_count>
      <attachid>313210</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-17 15:34:31 -0700</bug_when>
    <thetext>Comment on attachment 313210
Patch

Clearing flags on attachment: 313210

Committed r218458: &lt;http://trac.webkit.org/changeset/218458&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320443</commentid>
    <comment_count>31</comment_count>
      <attachid>313210</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-17 16:56:58 -0700</bug_when>
    <thetext>Comment on attachment 313210
Patch

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

&gt; Source/WebCore/dom/DOMQuad.h:51
&gt; +    RefPtr&lt;DOMRect&gt; getBounds() const;

Why didn&apos;t you return a Ref&lt;&gt; here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320450</commentid>
    <comment_count>32</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-17 17:33:11 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #31)
&gt; Comment on attachment 313210 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=313210&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/DOMQuad.h:51
&gt; &gt; +    RefPtr&lt;DOMRect&gt; getBounds() const;
&gt; 
&gt; Why didn&apos;t you return a Ref&lt;&gt; here?

https://bugs.webkit.org/show_bug.cgi?id=173517</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477291</commentid>
    <comment_count>33</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-11-10 11:05:27 -0800</bug_when>
    <thetext>Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477292</commentid>
    <comment_count>34</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-10 11:06:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/45968896&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291793</attachid>
            <date>2016-10-16 22:00:19 -0700</date>
            <delta_ts>2016-10-17 17:57:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163534-20161016215647.patch</filename>
            <type>text/plain</type>
            <size>44530</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3MzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThlZGE3MWZiYjYzN2Ri
YTE1OTQ4ZTVkYzc1MTZmY2QxMTA3ZWE2ZC4uNGViODcyZWRkMTRlZDNjMzRiMDYwZDI2NmIyZWY5
MmE4OWVmOWZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU1IEBACiAyMDE2LTEwLTE2ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIEltcGxlbWVudCBE
T01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisg
ICAgICAgIEltcGxlbWVudCBET01RdWFkIGFjY29yZGluZyB0byA8aHR0cHM6Ly9kcmFmdHMuZnh0
Zi5vcmcvZ2VvbWV0cnkvI0RPTVF1YWQ+LgorICAgICAgICAKKyAgICAgICAgVXNlIGN1c3RvbSBn
ZXR0ZXJzIGZvciBwMS4uLnA0IHNvIHRoYXQgRE9NUXVhZCBjYW4gcmV0dXJuIGNvbnN0IERPTVBv
aW50SW5pdCYsCisgICAgICAgIHdoaWxlIHRoZSBiaW5kaW5ncyBuZWVkIFJlZlB0cjxET01Qb2lu
dD4uIFNpbWlsYXJseSBmb3IgZ2V0Qm91bmRzKCkuCisKKyAgICAgICAgVGVzdDogZ2VvbWV0cnkv
RE9NUXVhZC0wMDEuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVF1YWRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkpTRE9NUXVhZDo6cDEpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01RdWFk
OjpwMik6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVF1YWQ6OnAzKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NUXVhZDo6cDQpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01RdWFkOjpnZXRCb3Vu
ZHMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtOgorICAgICAgICAo
aXNTZXJpYWxpemFibGVBdHRyaWJ1dGUpOgorICAgICAgICAqIGRvbS9ET01Qb2ludC5oOgorICAg
ICAgICAqIGRvbS9ET01Qb2ludEluaXQuaDoKKyAgICAgICAgKiBkb20vRE9NUXVhZC5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01SZWN0SW5pdC5oLgorICAgICAgICAoV2Vi
Q29yZTo6RE9NUXVhZDo6Z2V0Qm91bmRzKToKKyAgICAgICAgKiBkb20vRE9NUXVhZC5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpET01RdWFkOjpmcm9tUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpmcm9tUXVh
ZCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpwMSk6CisgICAgICAgIChXZWJDb3JlOjpE
T01RdWFkOjpwMik6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpwMyk6CisgICAgICAgIChX
ZWJDb3JlOjpET01RdWFkOjpwNCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpET01RdWFk
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6Om1fcDIpOgorICAgICAgICAoV2ViQ29yZTo6
RE9NUXVhZDo6bV9wMyk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjptX3A0KToKKyAgICAg
ICAgKiBkb20vRE9NUXVhZC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01S
ZWN0SW5pdC5oLgorICAgICAgICAqIGRvbS9ET01RdWFkSW5pdC5oOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NUmVjdEluaXQuaC4KKyAgICAgICAgKiBkb20vRE9NUXVhZEluaXQu
aWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vRE9NUmVjdEluaXQuaC4KKyAgICAg
ICAgKiBkb20vRE9NUmVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6RE9NUmVjdDo6ZnJvbVJlY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NUmVjdDo6RE9NUmVjdCk6CisgICAgICAgICogZG9tL0RP
TVJlY3RJbml0Lmg6CisKKzIwMTYtMTAtMTYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKICAgICAgICAgSW1wbGVtZW50IERPTVJlY3QvRE9NUmVjdFJlYWRPbmx5CiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM0NjQKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCA4MWU3ZWM1MGJjYjFmMzg2YThmZmM3OGY1MjZkNTViNWRi
NDJiZjUwLi43YmEzOTY1NTAyZGQ4OWEzMGNjZmViYmNjNDY4OTg1YTFlZmQ4NDkxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMzg5LDYgKzM4OSw4IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURM
X0ZJTEVTCiAgICAgZG9tL0RPTVBvaW50LmlkbAogICAgIGRvbS9ET01Qb2ludEluaXQuaWRsCiAg
ICAgZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRsCisgICAgZG9tL0RPTVF1YWQuaWRsCisgICAgZG9t
L0RPTVF1YWRJbml0LmlkbAogICAgIGRvbS9ET01SZWN0LmlkbAogICAgIGRvbS9ET01SZWN0SW5p
dC5pZGwKICAgICBkb20vRE9NUmVjdFJlYWRPbmx5LmlkbApAQCAtMTEwMiw2ICsxMTA0LDcgQEAg
c2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTRE9NUGx1Z2luQXJyYXlDdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNET01QbHVnaW5DdXN0b20uY3BwCiAgICAgYmluZGlu
Z3MvanMvSlNET01Qcm9taXNlLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTRE9NUXVhZEN1c3RvbS5j
cHAKICAgICBiaW5kaW5ncy9qcy9KU0RPTVN0cmluZ01hcEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCiAgICAgYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0
b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiMmQxZDFiOGVmOTZkNzY1
M2UzM2E4YTk2OGQ0MDNmZDlhMjZmZTZkLi41M2U4YjY1Y2ZkNmViNGEzYWYxZTY2N2E0MzU3ODE5
ODMyODcyYTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI5Nyw2ICsyOTcs
OCBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUG9pbnQuaWRs
IFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01Qb2ludEluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9ET01Qb2ludFJlYWRPbmx5LmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20vRE9NUXVhZC5p
ZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0RPTVF1YWRJbml0LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9kb20vRE9NUmVjdEluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01SZWN0LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9kb20vRE9NUmVjdFJlYWRPbmx5LmlkbCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2VlODUwZTNi
YjM5NjY5ZThjN2IwNjg2OTFmYWUyMGZjNmVlMmZiYi4uYjA3MjkwOWIxNzBkOGU4OTY1MWE2MzEw
MjE5NGI4MWMzNDU4MWIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDg0LDYgKzQ4NCwxNCBAQAogCQkwRjQ5NjZEMTFEQjQ0
OEM2MDBBMjc0QkIgLyogRE9NUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY0OTY2Q0IxREI0NDhDNTAwQTI3NEJCIC8qIERPTVJlY3QuaCAqLzsg
fTsKIAkJMEY0OTY2RDMxREI0NDhDNjAwQTI3NEJCIC8qIERPTVJlY3RJbml0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ5NjZDRDFEQjQ0OEM1MDBB
Mjc0QkIgLyogRE9NUmVjdEluaXQuaCAqLzsgfTsKIAkJMEY0OTY2RDUxREI0NDhDNjAwQTI3NEJC
IC8qIERPTVJlY3RSZWFkT25seS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY0OTY2Q0YxREI0NDhDNTAwQTI3NEJCIC8qIERPTVJlY3RSZWFkT25seS5o
ICovOyB9OworCQkwRjQ5NjZEQjFEQjQ1N0Q1MDBBMjc0QkIgLyogRE9NUXVhZC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0OTY2RDcxREI0NTdENTAw
QTI3NEJCIC8qIERPTVF1YWQuaCAqLzsgfTsKKwkJMEY0OTY2REQxREI0NTdENTAwQTI3NEJCIC8q
IERPTVF1YWRJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjQ5NjZEOTFEQjQ1N0Q1MDBBMjc0QkIgLyogRE9NUXVhZEluaXQuaCAqLzsgfTsKKwkJ
MEY0OTY2RTAxREI0NUQxNzAwQTI3NEJCIC8qIERPTVF1YWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0OTY2REYxREI0NUQxNzAwQTI3NEJCIC8q
IERPTVF1YWQuY3BwICovOyB9OworCQkwRjQ5NjZFNTFEQjQ2MEJBMDBBMjc0QkIgLyogSlNET01R
dWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
NDk2NkUxMURCNDYwQkEwMEEyNzRCQiAvKiBKU0RPTVF1YWQuY3BwICovOyB9OworCQkwRjQ5NjZF
NjFEQjQ2MEJBMDBBMjc0QkIgLyogSlNET01RdWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ5NjZFMjFEQjQ2MEJBMDBBMjc0QkIgLyogSlNET01R
dWFkLmggKi87IH07CisJCTBGNDk2NkU3MURCNDYwQkEwMEEyNzRCQiAvKiBKU0RPTVF1YWRJbml0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDk2
NkUzMURCNDYwQkEwMEEyNzRCQiAvKiBKU0RPTVF1YWRJbml0LmNwcCAqLzsgfTsKKwkJMEY0OTY2
RTgxREI0NjBCQTAwQTI3NEJCIC8qIEpTRE9NUXVhZEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDk2NkU0MURCNDYwQkEwMEEyNzRCQiAvKiBK
U0RPTVF1YWRJbml0LmggKi87IH07CisJCTBGNDk2NkVDMURCNDZGNDYwMEEyNzRCQiAvKiBKU0RP
TVF1YWRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEY0OTY2RUIxREI0NkY0NjAwQTI3NEJCIC8qIEpTRE9NUXVhZEN1c3RvbS5jcHAgKi87
IH07CiAJCTBGNEU1NzE3MTMxMzI3NjIwMENGODVBRiAvKiBSZW5kZXJTVkdBbGxJbk9uZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjRFNTcxNjEz
MTMyNzYyMDBDRjg1QUYgLyogUmVuZGVyU1ZHQWxsSW5PbmUuY3BwICovOyB9OwogCQkwRjU0RENF
NTE4ODEwNTFEMDAzRUVEQkIgLyogVGV4dEF1dG9TaXppbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1NERDRTMxODgxMDUxRDAwM0VFREJCIC8q
IFRleHRBdXRvU2l6aW5nLmNwcCAqLzsgfTsKIAkJMEY1NERDRTYxODgxMDUxRDAwM0VFREJCIC8q
IFRleHRBdXRvU2l6aW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjU0RENFNDE4ODEwNTFEMDAzRUVEQkIgLyogVGV4dEF1dG9TaXppbmcuaCAqLzsg
fTsKQEAgLTczMzAsMTggKzczMzgsMjggQEAKIAkJMEY0OTY2QTcxREI0MEM0MzAwQTI3NEJCIC8q
IEpTRE9NUG9pbnRJbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9N
UG9pbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNDk2NkE4MURCNDBD
NDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNET01Qb2ludFJlYWRPbmx5LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEY0OTY2QTkxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFk
T25seS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVBvaW50UmVhZE9u
bHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEY0OTY2QkYxREI0NDg5NjAwQTI3
NEJCIC8qIEpTRE9NUmVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBKU0RPTVJlY3QuY3BwOyBwYXRoID0gSlNET01SZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJMEY0OTY2QzAxREI0NDg5NjAwQTI3NEJCIC8qIEpTRE9NUmVjdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKU0RPTVJlY3QuaDsgcGF0aCA9IEpTRE9NUmVj
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwRjQ5NjZDMTFEQjQ0ODk2MDBBMjc0
QkIgLyogSlNET01SZWN0SW5pdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBKU0RPTVJlY3RJbml0LmNwcDsgcGF0aCA9IEpTRE9NUmVjdEluaXQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQkwRjQ5NjZDMjFEQjQ0ODk2MDBBMjc0QkIgLyogSlNET01S
ZWN0SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKU0RPTVJlY3RJbml0
Lmg7IHBhdGggPSBKU0RPTVJlY3RJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTBGNDk2NkMzMURCNDQ4OTYwMEEyNzRCQiAvKiBKU0RPTVJlY3RSZWFkT25seS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBKU0RPTVJlY3RSZWFkT25seS5jcHA7IHBh
dGggPSBKU0RPTVJlY3RSZWFkT25seS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTBGNDk2NkM0MURCNDQ4OTYwMEEyNzRCQiAvKiBKU0RPTVJlY3RSZWFkT25seS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKU0RPTVJlY3RSZWFkT25seS5oOyBwYXRoID0gSlNE
T01SZWN0UmVhZE9ubHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0OTY2QkYx
REI0NDg5NjAwQTI3NEJCIC8qIEpTRE9NUmVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0RPTVJlY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjQ5NjZDMDFEQjQ0ODk2MDBBMjc0QkIgLyogSlNET01SZWN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRjQ5NjZDMTFEQjQ0ODk2MDBBMjc0QkIgLyogSlNET01SZWN0SW5pdC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVJlY3RJbml0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0OTY2QzIxREI0NDg5NjAwQTI3NEJCIC8qIEpTRE9N
UmVjdEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01SZWN0SW5p
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ5NjZDMzFEQjQ0ODk2MDBBMjc0
QkIgLyogSlNET01SZWN0UmVhZE9ubHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNET01SZWN0UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRjQ5NjZDNDFEQjQ0ODk2MDBBMjc0QkIgLyogSlNET01SZWN0UmVhZE9ubHkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01SZWN0UmVhZE9ubHkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0OTY2Q0IxREI0NDhDNTAwQTI3NEJCIC8qIERPTVJl
Y3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NUmVjdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwRjQ5NjZDQzFEQjQ0OEM1MDBBMjc0QkIgLyogRE9NUmVj
dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NUmVjdC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTBGNDk2NkNEMURCNDQ4QzUwMEEyNzRCQiAvKiBET01SZWN0SW5pdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01SZWN0SW5pdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwRjQ5NjZDRTFEQjQ0OEM1MDBBMjc0QkIgLyogRE9NUmVj
dEluaXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTVJlY3RJbml0LmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0OTY2Q0YxREI0NDhDNTAwQTI3NEJCIC8qIERPTVJl
Y3RSZWFkT25seS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01SZWN0UmVh
ZE9ubHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0OTY2RDAxREI0NDhDNjAw
QTI3NEJCIC8qIERPTVJlY3RSZWFkT25seS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9N
UmVjdFJlYWRPbmx5LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0OTY2RDcx
REI0NTdENTAwQTI3NEJCIC8qIERPTVF1YWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRE9NUXVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ5NjZEODFE
QjQ1N0Q1MDBBMjc0QkIgLyogRE9NUXVhZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9N
UXVhZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDk2NkQ5MURCNDU3RDUw
MEEyNzRCQiAvKiBET01RdWFkSW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBET01RdWFkSW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ5NjZEQTFE
QjQ1N0Q1MDBBMjc0QkIgLyogRE9NUXVhZEluaXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IERPTVF1YWRJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0OTY2REYx
REI0NUQxNzAwQTI3NEJCIC8qIERPTVF1YWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRE9NUXVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
NDk2NkUxMURCNDYwQkEwMEEyNzRCQiAvKiBKU0RPTVF1YWQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01RdWFkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEY0OTY2RTIxREI0NjBCQTAwQTI3NEJCIC8qIEpTRE9NUXVhZC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVF1YWQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY0OTY2RTMxREI0NjBCQTAwQTI3NEJCIC8qIEpTRE9NUXVhZEluaXQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01RdWFkSW5pdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDk2NkU0MURCNDYwQkEwMEEyNzRCQiAv
KiBKU0RPTVF1YWRJbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9N
UXVhZEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0OTY2RUIxREI0NkY0
NjAwQTI3NEJCIC8qIEpTRE9NUXVhZEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0RPTVF1YWRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwRjRFNTcxNjEzMTMyNzYyMDBDRjg1QUYgLyogUmVuZGVyU1ZHQWxsSW5PbmUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHQWxsSW5PbmUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjU0RENDQzE4ODBDNkFCMDAzRUVE
QkIgLyogaW9zLWVuY29kaW5ncy50eHQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gImlvcy1lbmNvZGluZ3MudHh0Ijsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1NERDRTMxODgxMDUxRDAwM0VFREJCIC8qIFRleHRB
dXRvU2l6aW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRB
dXRvU2l6aW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5NzA5LDYgKzE5
NzI3LDEwIEBACiAJCQkJMEY0OTY2QTcxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRJbml0
LmggKi8sCiAJCQkJMEY0OTY2QTgxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25s
eS5jcHAgKi8sCiAJCQkJMEY0OTY2QTkxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFk
T25seS5oICovLAorCQkJCTBGNDk2NkUxMURCNDYwQkEwMEEyNzRCQiAvKiBKU0RPTVF1YWQuY3Bw
ICovLAorCQkJCTBGNDk2NkUyMURCNDYwQkEwMEEyNzRCQiAvKiBKU0RPTVF1YWQuaCAqLywKKwkJ
CQkwRjQ5NjZFMzFEQjQ2MEJBMDBBMjc0QkIgLyogSlNET01RdWFkSW5pdC5jcHAgKi8sCisJCQkJ
MEY0OTY2RTQxREI0NjBCQTAwQTI3NEJCIC8qIEpTRE9NUXVhZEluaXQuaCAqLywKIAkJCQkwRjQ5
NjZCRjFEQjQ0ODk2MDBBMjc0QkIgLyogSlNET01SZWN0LmNwcCAqLywKIAkJCQkwRjQ5NjZDMDFE
QjQ0ODk2MDBBMjc0QkIgLyogSlNET01SZWN0LmggKi8sCiAJCQkJMEY0OTY2QzExREI0NDg5NjAw
QTI3NEJCIC8qIEpTRE9NUmVjdEluaXQuY3BwICovLApAQCAtMjEyNzQsNiArMjEyOTYsNyBAQAog
CQkJCUE5QzZFNjQ2MEQ3NDY1Q0EwMDY0NDJFOSAvKiBKU0RPTU1pbWVUeXBlQXJyYXlDdXN0b20u
Y3BwICovLAogCQkJCUE5QzZFNjRBMEQ3NDY1RTcwMDY0NDJFOSAvKiBKU0RPTVBsdWdpbkFycmF5
Q3VzdG9tLmNwcCAqLywKIAkJCQlBOUM2RTY0QjBENzQ2NUU3MDA2NDQyRTkgLyogSlNET01QbHVn
aW5DdXN0b20uY3BwICovLAorCQkJCTBGNDk2NkVCMURCNDZGNDYwMEEyNzRCQiAvKiBKU0RPTVF1
YWRDdXN0b20uY3BwICovLAogCQkJCUJDNjQ2NDlCMTFEODIzOEMwMDY0NTVCMCAvKiBKU0RPTVN0
cmluZ01hcEN1c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNUUwQzE3QUE2NzAwNUM5MEEyIC8qIEpT
RE9NV2luZG93Q3VzdG9tLmNwcCAqLywKIAkJCQk2NTJGQkJCQjBERTI3Q0I2MDAwMUQzODYgLyog
SlNET01XaW5kb3dDdXN0b20uaCAqLywKQEAgLTIzMTgxLDYgKzIzMjA0LDExIEBACiAJCQkJMEY0
OTY2QTExREI0MDkwMTAwQTI3NEJCIC8qIERPTVBvaW50SW5pdC5pZGwgKi8sCiAJCQkJMEY0OTY2
OUIxREI0MDhDMTAwQTI3NEJCIC8qIERPTVBvaW50UmVhZE9ubHkuaCAqLywKIAkJCQkwRjQ5NjY5
QzFEQjQwOEMxMDBBMjc0QkIgLyogRE9NUG9pbnRSZWFkT25seS5pZGwgKi8sCisJCQkJMEY0OTY2
REYxREI0NUQxNzAwQTI3NEJCIC8qIERPTVF1YWQuY3BwICovLAorCQkJCTBGNDk2NkQ3MURCNDU3
RDUwMEEyNzRCQiAvKiBET01RdWFkLmggKi8sCisJCQkJMEY0OTY2RDgxREI0NTdENTAwQTI3NEJC
IC8qIERPTVF1YWQuaWRsICovLAorCQkJCTBGNDk2NkQ5MURCNDU3RDUwMEEyNzRCQiAvKiBET01R
dWFkSW5pdC5oICovLAorCQkJCTBGNDk2NkRBMURCNDU3RDUwMEEyNzRCQiAvKiBET01RdWFkSW5p
dC5pZGwgKi8sCiAJCQkJMEY0OTY2Q0IxREI0NDhDNTAwQTI3NEJCIC8qIERPTVJlY3QuaCAqLywK
IAkJCQkwRjQ5NjZDQzFEQjQ0OEM1MDBBMjc0QkIgLyogRE9NUmVjdC5pZGwgKi8sCiAJCQkJMEY0
OTY2Q0QxREI0NDhDNTAwQTI3NEJCIC8qIERPTVJlY3RJbml0LmggKi8sCkBAIC0yNDU0Miw2ICsy
NDU3MCw4IEBACiAJCQkJMEY0OTY2OUQxREI0MDhDMTAwQTI3NEJCIC8qIERPTVBvaW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjQ5NjZBMzFEQjQwOTEwMDBBMjc0QkIgLyogRE9NUG9pbnRJbml0
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ5NjY5RjFEQjQwOEMxMDBBMjc0QkIgLyogRE9NUG9p
bnRSZWFkT25seS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY0OTY2REIxREI0NTdENTAwQTI3NEJC
IC8qIERPTVF1YWQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNDk2NkREMURCNDU3RDUwMEEyNzRC
QiAvKiBET01RdWFkSW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0OTY2RDExREI0NDhDNjAw
QTI3NEJCIC8qIERPTVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDk2NkQzMURCNDQ4QzYw
MEEyNzRCQiAvKiBET01SZWN0SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0OTY2RDUxREI0
NDhDNjAwQTI3NEJCIC8qIERPTVJlY3RSZWFkT25seS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTIx
NCw2ICsyNTI0NCw4IEBACiAJCQkJMEY0OTY2QUQxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9p
bnRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ5NjZBRjFEQjQwQzQzMDBBMjc0QkIgLyog
SlNET01Qb2ludFJlYWRPbmx5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTcyQUY5MDE4MTFCQzM3
MDBGQkFEQjkgLyogSlNET01Qcm9taXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjQ5NjZFNjFE
QjQ2MEJBMDBBMjc0QkIgLyogSlNET01RdWFkLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjQ5NjZF
ODFEQjQ2MEJBMDBBMjc0QkIgLyogSlNET01RdWFkSW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEY0OTY2QzYxREI0NDg5NjAwQTI3NEJCIC8qIEpTRE9NUmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY0OTY2QzgxREI0NDg5NjAwQTI3NEJCIC8qIEpTRE9NUmVjdEluaXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNDk2NkNBMURCNDQ4OTYwMEEyNzRCQiAvKiBKU0RPTVJlY3RSZWFkT25seS5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yODI0NCw2ICsyODI3Niw3IEBACiAJCQkJMkQ1MDAyRjgxQjU2
RDc4MTAwMjBBQUY3IC8qIERPTVBhdGguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTlDNkU0RUIw
RDc0NUUyQjAwNjQ0MkU5IC8qIERPTVBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOUM2
RTRFRjBENzQ1RTM4MDA2NDQyRTkgLyogRE9NUGx1Z2luQXJyYXkuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEY0OTY2RTAxREI0NUQxNzAwQTI3NEJCIC8qIERPTVF1YWQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM1QTg2ODQwQzMzNjc2MDAwRUVBNjQ5IC8qIERPTVNlbGVjdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlDNTU2MTBGMTExQTcwNEVCMDBCODJEMjcgLyogRE9NU3RyaW5nTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxODg2MDRCMzBGMkU2NTRBMDAwQjY0NDMgLyogRE9N
VGltZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODg4MSw2ICsyODkxNCw5IEBACiAJCQkJMEY0
OTY2QUMxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRJbml0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGNDk2NkFFMURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHkuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3MkFGOEYxODExQkMzNzAwRkJBREI5IC8qIEpTRE9NUHJv
bWlzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjQ5NjZFNTFEQjQ2MEJBMDBBMjc0QkIgLyog
SlNET01RdWFkLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNDk2NkVDMURCNDZGNDYwMEEyNzRC
QiAvKiBKU0RPTVF1YWRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY0OTY2RTcxREI0
NjBCQTAwQTI3NEJCIC8qIEpTRE9NUXVhZEluaXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0
OTY2QzUxREI0NDg5NjAwQTI3NEJCIC8qIEpTRE9NUmVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjQ5NjZDNzFEQjQ0ODk2MDBBMjc0QkIgLyogSlNET01SZWN0SW5pdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjQ5NjZDOTFEQjQ0ODk2MDBBMjc0QkIgLyogSlNET01SZWN0UmVhZE9ubHku
Y3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNC
aW5kaW5nc0FsbEluT25lLmNwcAppbmRleCA4MjFhZDI3MDY4ZjlkYjkxOWVjN2IwNWQyZmZhMGNm
MDM3NzA3MmY0Li5jZGIwOGJiMDIyZjVkNjM2NWExODk1MzA2YjhlMTNmZmI5YmQxY2Q3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAK
QEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlICJKU0RPTVBsdWdpbkFycmF5Q3VzdG9tLmNwcCIK
ICNpbmNsdWRlICJKU0RPTVBsdWdpbkN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNl
LmNwcCIKKyNpbmNsdWRlICJKU0RPTVF1YWRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTRE9NU3Ry
aW5nTWFwQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0Jhc2UuY3BwIgogI2luY2x1
ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NUXVhZEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVF1YWRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4MTlhYjNiNDA1YWIzYmFiZjk2YjA0
MmI5MDA2ZGE0ZWViMGNjYmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVF1YWRDdXN0b20uY3BwCkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNET01RdWFkLmgiCisKKyNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiSlNET01Qb2ludC5oIgorI2luY2x1ZGUgIkpT
RE9NUmVjdC5oIgorI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpT
QzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTRE9NUXVhZDo6cDEoRXhlY1N0
YXRlJiBzdGF0ZSkgY29uc3QKK3sKKyAgICBpZiAoSlNWYWx1ZSBjYWNoZWRWYWx1ZSA9IG1fcDEu
Z2V0KCkpCisgICAgICAgIHJldHVybiBjYWNoZWRWYWx1ZTsKKyAgICBhdXRvJiBpbXBsID0gd3Jh
cHBlZCgpOworICAgIFJlZjxET01Qb2ludD4gcG9pbnQgPSBET01Qb2ludDo6Y3JlYXRlKGltcGwu
cDEoKS54LCBpbXBsLnAxKCkueSwgaW1wbC5wMSgpLnosIGltcGwucDEoKS53KTsKKyAgICBKU1Zh
bHVlIHJlc3VsdCA9IHRvSlMoJnN0YXRlLCBnbG9iYWxPYmplY3QoKSwgcG9pbnQuZ2V0KCkpOwor
ICAgIG1fcDEuc2V0KHN0YXRlLnZtKCksIHRoaXMsIHJlc3VsdCk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKworSlNWYWx1ZSBKU0RPTVF1YWQ6OnAyKEV4ZWNTdGF0ZSYgc3RhdGUpIGNvbnN0Cit7
CisgICAgaWYgKEpTVmFsdWUgY2FjaGVkVmFsdWUgPSBtX3AyLmdldCgpKQorICAgICAgICByZXR1
cm4gY2FjaGVkVmFsdWU7CisgICAgYXV0byYgaW1wbCA9IHdyYXBwZWQoKTsKKyAgICBSZWY8RE9N
UG9pbnQ+IHBvaW50ID0gRE9NUG9pbnQ6OmNyZWF0ZShpbXBsLnAyKCkueCwgaW1wbC5wMigpLnks
IGltcGwucDIoKS56LCBpbXBsLnAyKCkudyk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSB0b0pTKCZz
dGF0ZSwgZ2xvYmFsT2JqZWN0KCksIHBvaW50LmdldCgpKTsKKyAgICBtX3AyLnNldChzdGF0ZS52
bSgpLCB0aGlzLCByZXN1bHQpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0pTVmFsdWUgSlNE
T01RdWFkOjpwMyhFeGVjU3RhdGUmIHN0YXRlKSBjb25zdAoreworICAgIGlmIChKU1ZhbHVlIGNh
Y2hlZFZhbHVlID0gbV9wMy5nZXQoKSkKKyAgICAgICAgcmV0dXJuIGNhY2hlZFZhbHVlOworICAg
IGF1dG8mIGltcGwgPSB3cmFwcGVkKCk7CisgICAgUmVmPERPTVBvaW50PiBwb2ludCA9IERPTVBv
aW50OjpjcmVhdGUoaW1wbC5wMygpLngsIGltcGwucDMoKS55LCBpbXBsLnAzKCkueiwgaW1wbC5w
MygpLncpOworICAgIEpTVmFsdWUgcmVzdWx0ID0gdG9KUygmc3RhdGUsIGdsb2JhbE9iamVjdCgp
LCBwb2ludC5nZXQoKSk7CisgICAgbV9wMy5zZXQoc3RhdGUudm0oKSwgdGhpcywgcmVzdWx0KTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCitKU1ZhbHVlIEpTRE9NUXVhZDo6cDQoRXhlY1N0YXRl
JiBzdGF0ZSkgY29uc3QKK3sKKyAgICBpZiAoSlNWYWx1ZSBjYWNoZWRWYWx1ZSA9IG1fcDQuZ2V0
KCkpCisgICAgICAgIHJldHVybiBjYWNoZWRWYWx1ZTsKKyAgICBhdXRvJiBpbXBsID0gd3JhcHBl
ZCgpOworICAgIFJlZjxET01Qb2ludD4gcG9pbnQgPSBET01Qb2ludDo6Y3JlYXRlKGltcGwucDQo
KS54LCBpbXBsLnA0KCkueSwgaW1wbC5wNCgpLnosIGltcGwucDQoKS53KTsKKyAgICBKU1ZhbHVl
IHJlc3VsdCA9IHRvSlMoJnN0YXRlLCBnbG9iYWxPYmplY3QoKSwgcG9pbnQuZ2V0KCkpOworICAg
IG1fcDQuc2V0KHN0YXRlLnZtKCksIHRoaXMsIHJlc3VsdCk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KKworSlNWYWx1ZSBKU0RPTVF1YWQ6OmdldEJvdW5kcyhFeGVjU3RhdGUmIHN0YXRlKQorewor
ICAgIGF1dG8mIGltcGwgPSB3cmFwcGVkKCk7CisgICAgUmVmPERPTVJlY3Q+IGJvdW5kc1JlY3Qg
PSBET01SZWN0Ojpmcm9tUmVjdChpbXBsLmdldEJvdW5kcygpKTsKKyAgICByZXR1cm4gdG9KUygm
c3RhdGUsIGdsb2JhbE9iamVjdCgpLCBib3VuZHNSZWN0KTsKK30KKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0gYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbQppbmRleCBjZDk2ODM5MTJlZTQ3MTE1
OGNhYjk0YjczMmJjYWE5ZmZkYTNhZTZiLi41Zjk3MTVlMjUwNGJkNzZlYjcyODRlZGViNWQ4ZDll
MmRlOTRjZGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lE
TFBhcnNlci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNl
ci5wbQpAQCAtMjMzOSw3ICsyMzM5LDcgQEAgc3ViIGlzU2VyaWFsaXphYmxlQXR0cmlidXRlCiAg
ICAgIyBGSVhNRTogTmVlZCB0byBzdXBwb3J0IG1vcmUgdGhhbiBwcmltaXRpdmUgc2VyaWFsaXph
YmxlIHR5cGVzLgogICAgICMgVGhpcyBjaGVjayBtYXkgaGF2ZSB0byBtb3ZlIHRvIHRoZSBjb2Rl
IGdlbmVyYXRvciwgaWYgd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggaW5mb3JtYXRpb24KICAgICAjIGhl
cmUgdG8gZGV0ZXJtaW5lIHNlcmlhbGl6YWJpbGl0eTogaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlv
L3dlYmlkbC8jaWRsLXNlcmlhbGl6ZXJzCi0gICAgbXkgJHNlcmlhbGl6YWJsZV90eXBlcyA9ICde
KFwoYnl0ZXxvY3RldHxzaG9ydHx1bnNpZ25lZCBzaG9ydHxsb25nfHVuc2lnbmVkIGxvbmd8bG9u
ZyBsb25nfHVuc2lnbmVkIGxvbmcgbG9uZ3xmbG9hdHx1bnJlc3RyaWN0ZWQgZmxvYXR8ZG91Ymxl
fHVucmVzdHJpY3RlZCBkb3VibGV8Ym9vbGVhbnxET01TdHJpbmd8Qnl0ZVN0cmluZ3xVU1ZTdHJp
bmcpJCc7CisgICAgbXkgJHNlcmlhbGl6YWJsZV90eXBlcyA9ICdeKFwoYnl0ZXxvY3RldHxzaG9y
dHx1bnNpZ25lZCBzaG9ydHxsb25nfHVuc2lnbmVkIGxvbmd8bG9uZyBsb25nfHVuc2lnbmVkIGxv
bmcgbG9uZ3xmbG9hdHx1bnJlc3RyaWN0ZWQgZmxvYXR8ZG91YmxlfHVucmVzdHJpY3RlZCBkb3Vi
bGV8Ym9vbGVhbnxET01Qb2ludHxET01TdHJpbmd8Qnl0ZVN0cmluZ3xVU1ZTdHJpbmcpJCc7CiAg
ICAgcmV0dXJuICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvJHNlcmlhbGl6YWJsZV90
eXBlcy87CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKaW5kZXggYmVjNzQ0ZmM0YTEzNzBhOGQ4MWUx
ZTE4YjU3MjVjMTkwNThiODEwMy4uZDNhYzNmYjk5ZWQxODJhNzY1MTUwNjVkY2UxMGFhMGNmNzg1
OTdhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKQEAgLTQ3LDcgKzQ3LDYgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0Wihkb3VibGUgeikgeyBtX3ogPSB6OyB9CiAgICAgdm9pZCBzZXRXKGRvdWJsZSB3
KSB7IG1fdyA9IHc7IH0KIAotcHJpdmF0ZToKICAgICBET01Qb2ludChkb3VibGUgeCA9IDAsIGRv
dWJsZSB5ID0gMCwgZG91YmxlIHogPSAwLCBkb3VibGUgdyA9IDEpCiAgICAgICAgIDogRE9NUG9p
bnRSZWFkT25seSh4LCB5LCB6LCB3KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9ET01Qb2ludEluaXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludEluaXQuaApp
bmRleCA3ZjNmYWNkNWYzZmRmMWI5YTRlMmI0YmQxMjMwM2NjN2Q1ZGQ1ZmE3Li4xMTllNDJkNDIx
ZjczYzM0MGNiMWJlMjQ4OTlhMjc3MjdmZjdjYTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRE9NUG9pbnRJbml0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50SW5p
dC5oCkBAIC0zMywxMCArMzMsMTAgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IERP
TVBvaW50SW5pdCB7Ci0gICAgZG91YmxlIHg7Ci0gICAgZG91YmxlIHk7Ci0gICAgZG91YmxlIHo7
Ci0gICAgZG91YmxlIHc7CisgICAgZG91YmxlIHggeyAwIH07CisgICAgZG91YmxlIHkgeyAwIH07
CisgICAgZG91YmxlIHogeyAwIH07CisgICAgZG91YmxlIHcgeyAxIH07CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGIzNGE1MTFj
MDFmY2Y0YjgxZDBjMjAyNzFmMWQzODczYmQ5OGQ3OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01RdWFkLmNwcApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRPTVF1YWQuaCIKKworI2luY2x1ZGUgPHd0
Zi9NYXRoRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRE9NUmVjdEluaXQgRE9N
UXVhZDo6Z2V0Qm91bmRzKCkgY29uc3QKK3sKKyAgICBkb3VibGUgbGVmdCA9IFdURjo6bmFuUHJv
cGFnYXRpbmdNaW4oV1RGOjpuYW5Qcm9wYWdhdGluZ01pbihXVEY6Om5hblByb3BhZ2F0aW5nTWlu
KG1fcDEueCwgbV9wMi54KSwgbV9wMy54KSwgbV9wNC54KTsKKyAgICBkb3VibGUgdG9wID0gV1RG
OjpuYW5Qcm9wYWdhdGluZ01pbihXVEY6Om5hblByb3BhZ2F0aW5nTWluKFdURjo6bmFuUHJvcGFn
YXRpbmdNaW4obV9wMS55LCBtX3AyLnkpLCBtX3AzLnkpLCBtX3A0LnkpOworICAgIGRvdWJsZSBy
aWdodCA9IFdURjo6bmFuUHJvcGFnYXRpbmdNYXgoV1RGOjpuYW5Qcm9wYWdhdGluZ01heChXVEY6
Om5hblByb3BhZ2F0aW5nTWF4KG1fcDEueCwgbV9wMi54KSwgbV9wMy54KSwgbV9wNC54KTsKKyAg
ICBkb3VibGUgYm90dG9tID0gV1RGOjpuYW5Qcm9wYWdhdGluZ01heChXVEY6Om5hblByb3BhZ2F0
aW5nTWF4KFdURjo6bmFuUHJvcGFnYXRpbmdNYXgobV9wMS55LCBtX3AyLnkpLCBtX3AzLnkpLCBt
X3A0LnkpOworCisgICAgcmV0dXJuIHsgbGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAt
IHRvcCB9OworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTZiZjcyOGQ0Mzdk
ZDhiNzQ1Y2YyMTRjY2UwMTUxN2M5NDFkNmU3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RPTVF1YWQuaApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJET01Qb2ludEluaXQuaCIKKyNpbmNsdWRlICJET01RdWFkSW5p
dC5oIgorI2luY2x1ZGUgIkRPTVJlY3QuaCIKKyNpbmNsdWRlICJET01SZWN0SW5pdC5oIgorI2lu
Y2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTVF1
YWQgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxET01RdWFkPiB7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxET01RdWFkPiBjcmVhdGUoKSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IERPTVF1YWQpOyB9CisgICAgc3RhdGljIFJlZjxET01RdWFkPiBjcmVhdGUoY29u
c3QgRE9NUG9pbnRJbml0JiBwMSwgY29uc3QgRE9NUG9pbnRJbml0JiBwMiwgY29uc3QgRE9NUG9p
bnRJbml0JiBwMywgY29uc3QgRE9NUG9pbnRJbml0JiBwNCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBET01RdWFkKHAxLCBwMiwgcDMsIHA0KSk7IH0KKworICAgIHN0YXRpYyBSZWY8RE9NUXVhZD4g
ZnJvbVJlY3QoY29uc3QgRE9NUmVjdEluaXQmIGluaXQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
RE9NUXVhZChpbml0KSk7IH0KKyAgICBzdGF0aWMgUmVmPERPTVF1YWQ+IGZyb21RdWFkKGNvbnN0
IERPTVF1YWRJbml0JiBpbml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC5wMSwgaW5pdC5wMiwgaW5p
dC5wMywgaW5pdC5wNCk7IH0KKworICAgIGNvbnN0IERPTVBvaW50SW5pdCYgcDEoKSBjb25zdCB7
IHJldHVybiBtX3AxOyB9CisgICAgY29uc3QgRE9NUG9pbnRJbml0JiBwMigpIGNvbnN0IHsgcmV0
dXJuIG1fcDI7IH0KKyAgICBjb25zdCBET01Qb2ludEluaXQmIHAzKCkgY29uc3QgeyByZXR1cm4g
bV9wMzsgfQorICAgIGNvbnN0IERPTVBvaW50SW5pdCYgcDQoKSBjb25zdCB7IHJldHVybiBtX3A0
OyB9CisKKyAgICBET01SZWN0SW5pdCBnZXRCb3VuZHMoKSBjb25zdDsKKworcHJpdmF0ZToKKyAg
ICBET01RdWFkKCkKKyAgICB7CisgICAgfQorCisgICAgRE9NUXVhZChjb25zdCBET01Qb2ludElu
aXQmIHAxLCBjb25zdCBET01Qb2ludEluaXQmIHAyLCBjb25zdCBET01Qb2ludEluaXQmIHAzLCBj
b25zdCBET01Qb2ludEluaXQmIHA0KQorICAgICAgICA6IG1fcDEocDEpCisgICAgICAgICwgbV9w
MihwMikKKyAgICAgICAgLCBtX3AzKHAzKQorICAgICAgICAsIG1fcDQocDQpCisgICAgeworICAg
IH0KKworICAgIC8vICBwMS0tLS0tLXAyCisgICAgLy8gIHwgICAgICAgfAorICAgIC8vICB8ICAg
ICAgIHwKKyAgICAvLyAgcDQtLS0tLS1wMworICAgIGV4cGxpY2l0IERPTVF1YWQoY29uc3QgRE9N
UmVjdEluaXQmIHIpCisgICAgICAgIDogbV9wMSh7IHIueCwgci55IH0pCisgICAgICAgICwgbV9w
Mih7IHIueCArIHIud2lkdGgsIHIueSB9KQorICAgICAgICAsIG1fcDMoeyByLnggKyByLndpZHRo
LCByLnkgKyByLmhlaWdodCB9KQorICAgICAgICAsIG1fcDQoeyByLngsIHIueSArIHIuaGVpZ2h0
IH0pCisgICAgeworICAgIH0KKyAgICAKKyAgICBET01Qb2ludEluaXQgbV9wMTsKKyAgICBET01Q
b2ludEluaXQgbV9wMjsKKyAgICBET01Qb2ludEluaXQgbV9wMzsKKyAgICBET01Qb2ludEluaXQg
bV9wNDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZmQ2NjJkMDI1
NGNiODliMzBhZmRjOWY0ZmY0ZjY4YzNmNmE4MGQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVF1YWQuaWRsCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisv
LyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS0xLyNET01SZWN0CisKK1sKKyAgICBD
b25zdHJ1Y3RvcihvcHRpb25hbCBET01Qb2ludEluaXQgcDEsIG9wdGlvbmFsIERPTVBvaW50SW5p
dCBwMiwKKyAgICAgICAgb3B0aW9uYWwgRE9NUG9pbnRJbml0IHAzLCBvcHRpb25hbCBET01Qb2lu
dEluaXQgcDQpLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAorICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUKK10KK2ludGVyZmFjZSBET01RdWFkIHsKKyAgICBbTmV3T2JqZWN0XSBz
dGF0aWMgRE9NUXVhZCBmcm9tUmVjdChvcHRpb25hbCBET01SZWN0SW5pdCBvdGhlcik7CisgICAg
W05ld09iamVjdF0gc3RhdGljIERPTVF1YWQgZnJvbVF1YWQob3B0aW9uYWwgRE9NUXVhZEluaXQg
b3RoZXIpOworCisgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBTYW1lT2JqZWN0CisgICAg
W0NhY2hlZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9p
bnQgcDE7CisgICAgW0NhY2hlZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRy
aWJ1dGUgRE9NUG9pbnQgcDI7CisgICAgW0NhY2hlZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQgcDM7CisgICAgW0NhY2hlZEF0dHJpYnV0ZSwgQ3Vz
dG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQgcDQ7CisgICAgW05ld09iamVj
dCwgQ3VzdG9tXSBET01SZWN0IGdldEJvdW5kcygpOworCisgICAgc2VyaWFsaXplciA9IHsgYXR0
cmlidXRlIH07Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZjg2OWVj
MmYyZjVkZWUwZGMyOGQ4NGM3NjBiNjJhNmM2ZTdhY2FiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0LmgKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRE9NUG9pbnRJbml0LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworc3RydWN0IERPTVF1YWRJbml0IHsKKyAgICBET01Qb2ludEluaXQgcDE7
CisgICAgRE9NUG9pbnRJbml0IHAyOworICAgIERPTVBvaW50SW5pdCBwMzsKKyAgICBET01Qb2lu
dEluaXQgcDQ7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVh
ZEluaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0LmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iMGVlNDM0ZmYwMWJlYWFkYzI5NDdkODI4YTI4YjZkYTE3MTg5ZTMyCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0LmlkbApAQCAtMCwwICsxLDMzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZ2VvbWV0cnktMS8jRE9N
UmVjdAorCitkaWN0aW9uYXJ5IERPTVF1YWRJbml0IHsKKyAgRE9NUG9pbnRJbml0IHAxOworICBE
T01Qb2ludEluaXQgcDI7CisgIERPTVBvaW50SW5pdCBwMzsKKyAgRE9NUG9pbnRJbml0IHA0Owor
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01SZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NUmVjdC5oCmluZGV4IGZkNjIzZjdlOTMwOGRkY2E3NzY3YTk3NTFmZjUzNGNh
MjVkZWQyYjAuLjg5MGQyMzgwNzQ0NzNhNDliYjYwMDU5OWZhZjg1NTY0MDBmOWU4MTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01SZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTVJlY3QuaApAQCAtMzUsNyArMzUsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxE
T01SZWN0PiBjcmVhdGUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgd2lkdGgsIGRvdWJsZSBo
ZWlnaHQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NUmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0
KSk7IH0KICAgICBzdGF0aWMgUmVmPERPTVJlY3Q+IGNyZWF0ZShjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NUmVjdChyZWN0KSk7IH0KIAotICAgIHN0YXRp
YyBSZWY8RE9NUmVjdD4gZnJvbVJlY3QoY29uc3QgRE9NUmVjdEluaXQmIGluaXQpIHsgcmV0dXJu
IGNyZWF0ZShpbml0LngsIGluaXQueSwgaW5pdC53aWR0aCwgaW5pdC5oZWlnaHQpOyB9CisgICAg
c3RhdGljIFJlZjxET01SZWN0PiBmcm9tUmVjdChjb25zdCBET01SZWN0SW5pdCYgaW5pdCkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBET01SZWN0KGluaXQpKTsgfQogCiAgICAgdm9pZCBzZXRYKGRv
dWJsZSB4KSB7IG1feCA9IHg7IH0KICAgICB2b2lkIHNldFkoZG91YmxlIHkpIHsgbV95ID0geTsg
fQpAQCAtNDMsMTIgKzQzLDE2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFdpZHRoKGRvdWJsZSB3
aWR0aCkgeyBtX3dpZHRoID0gd2lkdGg7IH0KICAgICB2b2lkIHNldEhlaWdodChkb3VibGUgaGVp
Z2h0KSB7IG1faGVpZ2h0ID0gaGVpZ2h0OyB9CiAKLXByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBP
UlQgRE9NUmVjdChkb3VibGUgeCA9IDAsIGRvdWJsZSB5ID0gMCwgZG91YmxlIHdpZHRoID0gMCwg
ZG91YmxlIGhlaWdodCA9IDApCiAgICAgICAgIDogRE9NUmVjdFJlYWRPbmx5KHgsIHksIHdpZHRo
LCBoZWlnaHQpCiAgICAgewogICAgIH0KIAorICAgIERPTVJlY3QoY29uc3QgRE9NUmVjdEluaXQm
IGluaXQpCisgICAgICAgIDogRE9NUmVjdChpbml0LngsIGluaXQueSwgaW5pdC53aWR0aCwgaW5p
dC5oZWlnaHQpCisgICAgeworICAgIH0KKwogICAgIFdFQkNPUkVfRVhQT1JUIGV4cGxpY2l0IERP
TVJlY3QoY29uc3QgRmxvYXRSZWN0JiByKQogICAgICAgICA6IERPTVJlY3RSZWFkT25seShyKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01SZWN0SW5pdC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RPTVJlY3RJbml0LmgKaW5kZXggOTEzZWUwZjczODVkZmEyMDIxNTBh
YjM3YzFmOTJmNWVkOGEwZjZmNy4uNjVjYTZmZDkxM2FjNTYyYjBjYWU1YmRiM2E3ODI3ZTQyMjM5
ZDgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVJlY3RJbml0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVJlY3RJbml0LmgKQEAgLTI4LDEwICsyOCwxMCBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRE9NUmVjdEluaXQgewotICAgIGRvdWJsZSB4Owot
ICAgIGRvdWJsZSB5OwotICAgIGRvdWJsZSB3aWR0aDsKLSAgICBkb3VibGUgaGVpZ2h0OworICAg
IGRvdWJsZSB4IHsgMCB9OworICAgIGRvdWJsZSB5IHsgMCB9OworICAgIGRvdWJsZSB3aWR0aCB7
IDAgfTsKKyAgICBkb3VibGUgaGVpZ2h0IHsgMCB9OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNlOTNiN2Y5
NjMxOTNjZjVjYzAzNmViZjdiOTY5NjFiZjMxODUxYzUuLjY3ZjljYjBhNDNiMWNhYzAzZDAzODc0
NmM3ZjgxMGEzNzM5YzdkMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBAQAogMjAxNi0xMC0xNiAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAorICAgICAgICBJbXBsZW1lbnQg
RE9NUXVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTYzNTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBnZW9tZXRyeS9ET01RdWFkLTAwMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGdl
b21ldHJ5L0RPTVF1YWQtMDAxLmh0bWw6IEFkZGVkLgorCisyMDE2LTEwLTE2ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIEltcGxlbWVudCBET01SZWN0
L0RPTVJlY3RSZWFkT25seQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYzNDY0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2dlb21ldHJ5L0RPTVF1
YWQtMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2dlb21ldHJ5L0RPTVF1YWQtMDAxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOWNlNTZjOTViNTU0MmNhYzExMDU0MWQ3ZTZhYTY2NTE1
NzNmMmI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZ2VvbWV0cnkvRE9NUXVhZC0w
MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK1Rlc3QgdGhlIERPTVF1YWQgaW50ZXJm
YWNlCisKKworUEFTUyB0ZXN0Q29uc3RydWN0b3IwIAorUEFTUyB0ZXN0Q29uc3RydWN0b3IxIAor
UEFTUyB0ZXN0Q29uc3RydWN0b3IyIAorUEFTUyB0ZXN0Q29uc3RydWN0b3JET01Qb2ludERPTVBv
aW50SW5pdCAKK1BBU1MgdGVzdENvbnN0cnVjdG9yMUFyZyAKK1BBU1MgdGVzdENvbnN0cnVjdG9y
MkFyZyAKK1BBU1MgdGVzdENvbnN0cnVjdG9yM0FyZyAKK1BBU1MgdGVzdENvbnN0cnVjdG9yTmFO
cyAKK1BBU1MgdGVzdENvbnN0cnVjdG9ySW5mcyAKK1BBU1MgdGVzdEZyb21RdWFkIAorUEFTUyB0
ZXN0RnJvbVJlY3QgCitQQVNTIHRlc3RGcm9tUmVjdE5hTiAKK1BBU1MgdGVzdEJvdW5kczEgCitQ
QVNTIHRlc3RCb3VuZHMyIAorUEFTUyB0ZXN0Qm91bmRzTmFOSW5mIAorUEFTUyB0ZXN0U2FtZU9i
amVjdHMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2dlb21ldHJ5L0RPTVF1YWQtMDAxLmh0
bWwgYi9MYXlvdXRUZXN0cy9nZW9tZXRyeS9ET01RdWFkLTAwMS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4
Y2U2MDYzNmMwZDZhMzZlOGIyNDBmMzE1NmQyYTkzNWJkMGYyMzMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9nZW9tZXRyeS9ET01RdWFkLTAwMS5odG1sCkBAIC0wLDAgKzEsMTMwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPkdlb21ldHJ5IElu
dGVyZmFjZXM6IERPTVF1YWQgaW50ZXJmYWNlIHRlc3RzLjwvdGl0bGU+CisgICAgPGxpbmsgcmVs
PSJhdXRob3IiIHRpdGxlPSJEaXJrIFNjaHVsemUiIGhyZWY9Im1haWx0bzpzaW1vbi5mcmFzZXJA
YXBwbGUuY29tIiAvPgorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMu
b3JnL1RSL2dlb21ldHJ5LTEvI0RPTVF1YWQiPgorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly93d3cudzMub3JnL1RSL2dlb21ldHJ5LTEvI2RvbS1kb21xdWFkIj4KKyAgICA8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9nZW9tZXRyeS0xLyNkb20t
ZG9tcXVhZC1wMSI+CisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5v
cmcvVFIvZ2VvbWV0cnktMS8jZG9tLWRvbXF1YWQtcDIiPgorICAgIDxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL2dlb21ldHJ5LTEvI2RvbS1kb21xdWFkLXAzIj4K
KyAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dlb21l
dHJ5LyNkb20tZG9tcXVhZC1nZXRib3VuZHMiPgorCisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8cD5UZXN0IHRoZSBET01RdWFkIGludGVyZmFjZTwvcD4KKyAgICA8ZGl2IGlkPSJsb2ciPjwv
ZGl2PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICBjaGVja0RPTVF1YWQobmV3IERPTVF1YWQoKSwgeyBwMTp7IHg6MCwgeTowIH0sIHAyOnsgeDow
LCB5OjAgfSwgcDM6eyB4OjAsIHk6MCB9LCBwNDp7IHg6MCwgeTowIH0gfSk7CisgICAgICAgIH0s
J3Rlc3RDb25zdHJ1Y3RvcjAnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIHZhciBpbml0ID0geyBwMTp7IHg6MTEsIHk6MTIgfSwgcDI6eyB4OjIyLCB5OjIzIH0sIHAz
OnsgeDozMywgeTozNCB9LCBwNDp7IHg6NDQsIHk6NDUgfSB9OworICAgICAgICAgICAgY2hlY2tE
T01RdWFkKG5ldyBET01RdWFkKGluaXQucDEsIGluaXQucDIsIGluaXQucDMsIGluaXQucDQpLCBp
bml0KTsKKyAgICAgICAgfSwndGVzdENvbnN0cnVjdG9yMScpOworICAgICAgICB0ZXN0KGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgdmFyIGluaXQgPSB7IHAxOnsgeDpNYXRoLlBJLCB5OjEyIH0s
IHAyOnsgeDoyMiwgeTpNYXRoLlBJIH0sIHAzOnsgeDpJbmZpbml0eSwgeTozNCB9LCBwNDp7IHg6
NDQsIHk6SW5maW5pdHkgfSB9OworICAgICAgICAgICAgY2hlY2tET01RdWFkKG5ldyBET01RdWFk
KGluaXQucDEsIGluaXQucDIsIGluaXQucDMsIGluaXQucDQpLCBpbml0KTsKKyAgICAgICAgfSwn
dGVzdENvbnN0cnVjdG9yMicpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgdmFyIHF1YWQgPSBuZXcgRE9NUXVhZChuZXcgRE9NUG9pbnQoMTEsIDEyKSwge3g6IDIyLCB5
OiAyM30sIHt4OiAzMywgeTogMzR9LCB7eDogNDQsIHk6IDQ1fSk7CisgICAgICAgICAgICB2YXIg
aW5pdCA9IHsgcDE6eyB4OjExLCB5OjEyIH0sIHAyOnsgeDoyMiwgeToyMyB9LCBwMzp7IHg6MzMs
IHk6MzQgfSwgcDQ6eyB4OjQ0LCB5OjQ1IH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChx
dWFkLCBpbml0KTsKKyAgICAgICAgfSwndGVzdENvbnN0cnVjdG9yRE9NUG9pbnRET01Qb2ludElu
aXQnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBpbml0ID0g
eyBwMTp7IHg6MTEsIHk6MTIgfSwgcDI6eyB4OjAsIHk6MCB9LCBwMzp7IHg6MCwgeTowIH0sIHA0
OnsgeDowLCB5OjAgfSB9OworICAgICAgICAgICAgY2hlY2tET01RdWFkKG5ldyBET01RdWFkKGlu
aXQucDEpLCBpbml0KTsKKyAgICAgICAgfSwndGVzdENvbnN0cnVjdG9yMUFyZycpOworICAgICAg
ICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIGluaXQgPSB7IHAxOnsgeDoxMSwg
eToxMiB9LCBwMjp7IHg6MjIsIHk6MjMgfSwgcDM6eyB4OjAsIHk6MCB9LCBwNDp7IHg6MCwgeTow
IH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChuZXcgRE9NUXVhZChpbml0LnAxLCBpbml0
LnAyKSwgaW5pdCk7CisgICAgICAgIH0sJ3Rlc3RDb25zdHJ1Y3RvcjJBcmcnKTsKKyAgICAgICAg
dGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBpbml0ID0geyBwMTp7IHg6MTEsIHk6
MTIgfSwgcDI6eyB4OjIyLCB5OjIzIH0sIHAzOnsgeDozMywgeTozNCB9LCBwNDp7IHg6MCwgeTow
IH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChuZXcgRE9NUXVhZChpbml0LnAxLCBpbml0
LnAyLCBpbml0LnAzKSwgaW5pdCk7CisgICAgICAgIH0sJ3Rlc3RDb25zdHJ1Y3RvcjNBcmcnKTsK
KyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBpbml0ID0geyBwMTp7
IHg6MTEsIHk6MTIgfSwgcDI6eyB4Ok5hTiwgeToyMyB9LCBwMzp7IHg6MzMsIHk6TmFOIH0sIHA0
OnsgeDpOYU4sIHk6TmFOIH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChuZXcgRE9NUXVh
ZChpbml0LnAxLCBpbml0LnAyLCBpbml0LnAzLCBpbml0LnA0KSwgaW5pdCk7CisgICAgICAgIH0s
J3Rlc3RDb25zdHJ1Y3Rvck5hTnMnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgIHZhciBpbml0ID0geyBwMTp7IHg6MTEsIHk6MTIgfSwgcDI6eyB4Ok51bWJlci5QT1NJ
VElWRV9JTkZJTklUWSwgeToyMyB9LCBwMzp7IHg6MzMsIHk6TnVtYmVyLlBPU0lUSVZFX0lORklO
SVRZIH0sIHA0OnsgeDpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksIHk6TnVtYmVyLlBPU0lUSVZF
X0lORklOSVRZIH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChuZXcgRE9NUXVhZChpbml0
LnAxLCBpbml0LnAyLCBpbml0LnAzLCBpbml0LnA0KSwgaW5pdCk7CisgICAgICAgIH0sJ3Rlc3RD
b25zdHJ1Y3RvckluZnMnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
IHZhciBpbml0ID0geyBwMTp7IHg6MTEsIHk6MTIgfSwgcDI6eyB4OjIyLCB5OjIzIH0sIHAzOnsg
eDozMywgeTozNCB9LCBwNDp7IHg6NDQsIHk6NDUgfSB9OworICAgICAgICAgICAgY2hlY2tET01R
dWFkKERPTVF1YWQuZnJvbVF1YWQoaW5pdCksIGluaXQpOworICAgICAgICB9LCd0ZXN0RnJvbVF1
YWQnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciB4ID0gMTE7
CisgICAgICAgICAgICB2YXIgeSA9IDEyCisgICAgICAgICAgICB2YXIgd2lkdGggPSAxMDQ7Cisg
ICAgICAgICAgICB2YXIgaGVpZ2h0ID0gMTA1OworCisgICAgICAgICAgICAvLyAgcDEtLS0tLS1w
MgorICAgICAgICAgICAgLy8gIHwgICAgICAgfAorICAgICAgICAgICAgLy8gIHwgICAgICAgfAor
ICAgICAgICAgICAgLy8gIHA0LS0tLS0tcDMKKyAgICAgICAgICAgIHZhciBxdWFkID0geyBwMTp7
IHg6eCwgeTp5IH0sIHAyOnsgeDp4ICsgd2lkdGgsIHk6eSB9LCBwMzp7IHg6eCArIHdpZHRoLCB5
OnkgKyBoZWlnaHQgfSwgcDQ6eyB4OngsIHk6eSArIGhlaWdodCB9IH07CisgICAgICAgICAgICB2
YXIgcmVjdCA9IG5ldyBET01SZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgICAgICAgICAg
Y2hlY2tET01RdWFkKERPTVF1YWQuZnJvbVJlY3QocmVjdCksIHF1YWQpOworICAgICAgICB9LCd0
ZXN0RnJvbVJlY3QnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZh
ciB4ID0gTmFOOworICAgICAgICAgICAgdmFyIHkgPSAxMgorICAgICAgICAgICAgdmFyIHdpZHRo
ID0gTmFOOworICAgICAgICAgICAgdmFyIGhlaWdodCA9IDEwNTsKKyAgICAgICAgICAgIHZhciBx
dWFkID0geyBwMTp7IHg6eCwgeTp5IH0sIHAyOnsgeDp4ICsgd2lkdGgsIHk6eSB9LCBwMzp7IHg6
eCArIHdpZHRoLCB5OnkgKyBoZWlnaHQgfSwgcDQ6eyB4OngsIHk6eSArIGhlaWdodCB9IH07Cisg
ICAgICAgICAgICB2YXIgcmVjdCA9IG5ldyBET01SZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOwor
ICAgICAgICAgICAgY2hlY2tET01RdWFkKERPTVF1YWQuZnJvbVJlY3QocmVjdCksIHF1YWQpOwor
ICAgICAgICB9LCd0ZXN0RnJvbVJlY3ROYU4nKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgIHZhciB4ID0gMTE7CisgICAgICAgICAgICB2YXIgeSA9IDEyCisgICAgICAg
ICAgICB2YXIgd2lkdGggPSAxMDQ7CisgICAgICAgICAgICB2YXIgaGVpZ2h0ID0gMTA1OworICAg
ICAgICAgICAgdmFyIHJlY3QgPSBuZXcgRE9NUmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKKyAg
ICAgICAgICAgIGNoZWNrRE9NUmVjdChET01RdWFkLmZyb21SZWN0KHJlY3QpLmdldEJvdW5kcygp
LCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSk7CisgICAgICAgIH0sJ3Rlc3RCb3VuZHMxJyk7Cisg
ICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4
OjUsIHk6MS41IH0sIHAyOnsgeDo1MCwgeTozIH0sIHAzOnsgeDozNiwgeToyNi43IH0sIHA0Onsg
eDoyLCB5OjE1IH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUmVjdChuZXcgRE9NUXVhZChpbml0
LnAxLCBpbml0LnAyLCBpbml0LnAzLCBpbml0LnA0KS5nZXRCb3VuZHMoKSwgeyB4OjIsIHk6MS41
LCB3aWR0aDo0OCwgaGVpZ2h0OjI1LjIgfSk7CisgICAgICAgIH0sJ3Rlc3RCb3VuZHMyJyk7Cisg
ICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4
OjUsIHk6TmFOIH0sIHAyOnsgeDpJbmZpbml0eSwgeTozIH0sIHAzOnsgeDozNiwgeToyNi43IH0s
IHA0OnsgeDoyLCB5OjE1IH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUmVjdChuZXcgRE9NUXVh
ZChpbml0LnAxLCBpbml0LnAyLCBpbml0LnAzLCBpbml0LnA0KS5nZXRCb3VuZHMoKSwgeyB4OjIs
IHk6TmFOLCB3aWR0aDpJbmZpbml0eSwgaGVpZ2h0Ok5hTiB9KTsKKyAgICAgICAgfSwndGVzdEJv
dW5kc05hTkluZicpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFy
IGluaXQgPSB7IHAxOnsgeDoxMSwgeToxMiB9LCBwMjp7IHg6MjIsIHk6MjMgfSwgcDM6eyB4OjMz
LCB5OjM0IH0sIHA0OnsgeDo0NCwgeTo0NSB9IH07CisgICAgICAgICAgICB2YXIgcXVhZCA9IG5l
dyBET01RdWFkKGluaXQucDEsIGluaXQucDIsIGluaXQucDMsIGluaXQucDQpOworICAgICAgICAg
ICAgYXNzZXJ0X3RydWUocXVhZC5wMSA9PSBxdWFkLnAxKTsKKyAgICAgICAgICAgIGFzc2VydF90
cnVlKHF1YWQucDIgPT0gcXVhZC5wMik7CisgICAgICAgICAgICBhc3NlcnRfdHJ1ZShxdWFkLnAz
ID09IHF1YWQucDMpOworICAgICAgICAgICAgYXNzZXJ0X3RydWUocXVhZC5wNCA9PSBxdWFkLnA0
KTsKKyAgICAgICAgfSwndGVzdFNhbWVPYmplY3RzJyk7CisKKyAgICAgICAgZnVuY3Rpb24gY2hl
Y2tET01SZWN0KHJlY3QsIGV4cCkgeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWN0Lngs
IGV4cC54LCAiRXhwZWN0ZWQgdmFsdWUgZm9yIHggaXMgIiArIGV4cC54KTsKKyAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMocmVjdC55LCBleHAueSwgIkV4cGVjdGVkIHZhbHVlIGZvciB5IGlzICIg
KyBleHAueSk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlY3Qud2lkdGgsIGV4cC53aWR0
aCwgIkV4cGVjdGVkIHZhbHVlIGZvciB3aWR0aCBpcyAiICsgZXhwLndpZHRoKTsKKyAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMocmVjdC5oZWlnaHQsIGV4cC5oZWlnaHQsICJFeHBlY3RlZCB2YWx1
ZSBmb3IgaGVpZ2h0IGlzICIgKyBleHAuaGVpZ2h0KTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1
bmN0aW9uIGNoZWNrRE9NUXVhZChxdWFkLCBleHApIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMocXVhZC5wMS54LCBleHAucDEueCwgIkV4cGVjdGVkIHZhbHVlIGZvciBwMS54IGlzICIgKyBl
eHAucDEueCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHF1YWQucDEueSwgZXhwLnAxLnks
ICJFeHBlY3RlZCB2YWx1ZSBmb3IgcDEueSBpcyAiICsgZXhwLnAxLnkpOworCisgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKHF1YWQucDIueCwgZXhwLnAyLngsICJFeHBlY3RlZCB2YWx1ZSBmb3Ig
cDIueCBpcyAiICsgZXhwLnAyLngpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhxdWFkLnAy
LnksIGV4cC5wMi55LCAiRXhwZWN0ZWQgdmFsdWUgZm9yIHAyLnkgaXMgIiArIGV4cC5wMi55KTsK
KworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhxdWFkLnAzLngsIGV4cC5wMy54LCAiRXhwZWN0
ZWQgdmFsdWUgZm9yIHAzLnggaXMgIiArIGV4cC5wMy54KTsKKyAgICAgICAgICAgIGFzc2VydF9l
cXVhbHMocXVhZC5wMy55LCBleHAucDMueSwgIkV4cGVjdGVkIHZhbHVlIGZvciBwMy55IGlzICIg
KyBleHAucDMueSk7CisKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocXVhZC5wNC54LCBleHAu
cDQueCwgIkV4cGVjdGVkIHZhbHVlIGZvciBwNC54IGlzICIgKyBleHAucDQueCk7CisgICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKHF1YWQucDQueSwgZXhwLnA0LnksICJFeHBlY3RlZCB2YWx1ZSBm
b3IgcDQueSBpcyAiICsgZXhwLnA0LnkpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291905</attachid>
            <date>2016-10-17 17:57:11 -0700</date>
            <delta_ts>2017-06-03 09:17:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163534-20161017175338.patch</filename>
            <type>text/plain</type>
            <size>53527</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzE0Mjg3NmE2NDA0YTM3
ZWYwMjFiNTZjMmFkZTZkZjg4ZmZhMjM5NS4uNmZhMWVhODQ3OWY0M2U4YmVhNTk3M2I1ZDA3YzQ2
YTkyZGM0MGNmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDE2LTEwLTE3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIEltcGxlbWVudCBE
T01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnQgRE9NUXVhZCBhY2NvcmRpbmcgdG8gPGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dl
b21ldHJ5LyNET01RdWFkPi4KKworICAgICAgICBVc2UgY3VzdG9tIGdldHRlcnMgZm9yIHAxLi4u
cDQgc28gdGhhdCBET01RdWFkIGNhbiByZXR1cm4gY29uc3QgRE9NUG9pbnRJbml0JiwKKyAgICAg
ICAgd2hpbGUgdGhlIGJpbmRpbmdzIG5lZWQgUmVmUHRyPERPTVBvaW50Pi4gU2ltaWxhcmx5IGZv
ciBnZXRCb3VuZHMoKS4KKworICAgICAgICBUZXN0OiBnZW9tZXRyeS9ET01RdWFkLTAwMS5odG1s
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5t
YWtlOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NUXVhZEN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNE
T01RdWFkOjpwMSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVF1YWQ6OnAyKToKKyAgICAgICAg
KFdlYkNvcmU6OkpTRE9NUXVhZDo6cDMpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01RdWFkOjpw
NCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVF1YWQ6OmdldEJvdW5kcyk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG06CisgICAgICAgIChpc1NlcmlhbGl6YWJsZUF0
dHJpYnV0ZSk6CisgICAgICAgICogZG9tL0RPTVF1YWQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkRPTVF1YWQ6OmdldEJvdW5kcyk6CisgICAgICAgICogZG9tL0RPTVF1YWQuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NUXVhZDo6ZnJvbVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6ZnJvbVF1
YWQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDEpOgorICAgICAgICAoV2ViQ29yZTo6
RE9NUXVhZDo6cDIpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDMpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NUXVhZDo6cDQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6RE9NUXVh
ZCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjptX3AyKToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVF1YWQ6Om1fcDMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6bV9wNCk6CisgICAg
ICAgICogZG9tL0RPTVF1YWQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBkb20vRE9NUXVhZEluaXQu
aDogQWRkZWQuCisgICAgICAgICogZG9tL0RPTVF1YWRJbml0LmlkbDogQWRkZWQuCisKKzIwMTYt
MTAtMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKICAgICAgICAg
SW1wbGVtZW50IERPTVJlY3QvRE9NUmVjdFJlYWRPbmx5CiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM0NjQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCA4MWU3ZWM1MGJjYjFmMzg2YThmZmM3OGY1MjZkNTViNWRiNDJiZjUwLi43YmEzOTY1NTAyZGQ4
OWEzMGNjZmViYmNjNDY4OTg1YTFlZmQ4NDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzg5
LDYgKzM4OSw4IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgZG9tL0RPTVBv
aW50LmlkbAogICAgIGRvbS9ET01Qb2ludEluaXQuaWRsCiAgICAgZG9tL0RPTVBvaW50UmVhZE9u
bHkuaWRsCisgICAgZG9tL0RPTVF1YWQuaWRsCisgICAgZG9tL0RPTVF1YWRJbml0LmlkbAogICAg
IGRvbS9ET01SZWN0LmlkbAogICAgIGRvbS9ET01SZWN0SW5pdC5pZGwKICAgICBkb20vRE9NUmVj
dFJlYWRPbmx5LmlkbApAQCAtMTEwMiw2ICsxMTA0LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwog
ICAgIGJpbmRpbmdzL2pzL0pTRE9NUGx1Z2luQXJyYXlDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
anMvSlNET01QbHVnaW5DdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNw
cAorICAgIGJpbmRpbmdzL2pzL0pTRE9NUXVhZEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U0RPTVN0cmluZ01hcEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2Uu
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQppbmRleCA4MThhZDkwNWM1MDk1NWIyNzY5MmE2YWVlYzhjMmUwMjc0NGRk
NTljLi4xYTEyY2FlNTUyZDZiNzk5YjI5MTRhMGEzM2RjNGViYzMyMjIxYTYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI5Nyw2ICsyOTcsOCBAQCBKU19CSU5ESU5HX0lETFMg
PSBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUG9pbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Rv
bS9ET01Qb2ludEluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01Qb2ludFJlYWRPbmx5
LmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20vRE9NUXVhZC5pZGwgXAorCSQoV2ViQ29yZSkvZG9t
L0RPTVF1YWRJbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUmVjdC5pZGwgXAogICAg
ICQoV2ViQ29yZSkvZG9tL0RPTVJlY3RJbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9N
UmVjdFJlYWRPbmx5LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzc2ZDU3MzFjY2I4MzI4MWVlYmY1YmMzNzc0N2Y5Mzky
YTI0MWVmNC4uYjFiZmFlYTI1N2Q2MjhkNGMzMTE5YTg4ZDMzODBkZTA4ZGNlNzUwMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
NDc1LDYgKzQ3NSwxNCBAQAogCQkwRjQ3MTBCRTFEQjU2QkU4MDAyRENFQzMgLyogSlNET01SZWN0
SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0
NzEwQjgxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdEluaXQuaCAqLzsgfTsKIAkJMEY0NzEw
QkYxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdFJlYWRPbmx5LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDcxMEI5MURCNTZCRTgwMDJEQ0VD
MyAvKiBKU0RPTVJlY3RSZWFkT25seS5jcHAgKi87IH07CiAJCTBGNDcxMEMwMURCNTZCRTgwMDJE
Q0VDMyAvKiBKU0RPTVJlY3RSZWFkT25seS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEY0NzEwQkExREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdFJl
YWRPbmx5LmggKi87IH07CisJCTBGNDcxMEM2MURCNTk1RUYwMDJEQ0VDMyAvKiBET01RdWFkLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDcxMEMx
MURCNTk1RUYwMDJEQ0VDMyAvKiBET01RdWFkLmNwcCAqLzsgfTsKKwkJMEY0NzEwQzcxREI1OTVF
RjAwMkRDRUMzIC8qIERPTVF1YWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNDcxMEMyMURCNTk1RUYwMDJEQ0VDMyAvKiBET01RdWFkLmggKi87IH07
CisJCTBGNDcxMEM5MURCNTk1RUYwMDJEQ0VDMyAvKiBET01RdWFkSW5pdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NzEwQzQxREI1OTVFRjAwMkRD
RUMzIC8qIERPTVF1YWRJbml0LmggKi87IH07CisJCTBGNDcxMENGMURCNTk2MjgwMDJEQ0VDMyAv
KiBKU0RPTVF1YWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEY0NzEwQ0IxREI1OTYyODAwMkRDRUMzIC8qIEpTRE9NUXVhZC5jcHAgKi87IH07CisJ
CTBGNDcxMEQwMURCNTk2MjgwMDJEQ0VDMyAvKiBKU0RPTVF1YWQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDcxMENDMURCNTk2MjgwMDJEQ0VDMyAv
KiBKU0RPTVF1YWQuaCAqLzsgfTsKKwkJMEY0NzEwRDExREI1OTYyODAwMkRDRUMzIC8qIEpTRE9N
UXVhZEluaXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY0NzEwQ0QxREI1OTYyODAwMkRDRUMzIC8qIEpTRE9NUXVhZEluaXQuY3BwICovOyB9Owor
CQkwRjQ3MTBEMjFEQjU5NjI4MDAyRENFQzMgLyogSlNET01RdWFkSW5pdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NzEwQ0UxREI1OTYyODAwMkRD
RUMzIC8qIEpTRE9NUXVhZEluaXQuaCAqLzsgfTsKKwkJMEY0NzEwRDQxREI1QTQ4ODAwMkRDRUMz
IC8qIEpTRE9NUXVhZEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjQ3MTBEMzFEQjVBNDg4MDAyRENFQzMgLyogSlNET01RdWFkQ3VzdG9t
LmNwcCAqLzsgfTsKIAkJMEY0OTY2OUQxREI0MDhDMTAwQTI3NEJCIC8qIERPTVBvaW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ5NjY5OTFEQjQw
OEMxMDBBMjc0QkIgLyogRE9NUG9pbnQuaCAqLzsgfTsKIAkJMEY0OTY2OUYxREI0MDhDMTAwQTI3
NEJCIC8qIERPTVBvaW50UmVhZE9ubHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNDk2NjlCMURCNDA4QzEwMEEyNzRCQiAvKiBET01Qb2ludFJlYWRP
bmx5LmggKi87IH07CiAJCTBGNDk2NkEzMURCNDA5MTAwMEEyNzRCQiAvKiBET01Qb2ludEluaXQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDk2NkEy
MURCNDA5MTAwMEEyNzRCQiAvKiBET01Qb2ludEluaXQuaCAqLzsgfTsKQEAgLTczMjQsMTIgKzcz
MzIsMjIgQEAKIAkJMEY0NzEwQUMxREI1NkFGQzAwMkRDRUMzIC8qIERPTVJlY3RJbml0LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01SZWN0SW5pdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTBGNDcxMEFEMURCNTZBRkMwMDJEQ0VDMyAvKiBET01SZWN0UmVhZE9ubHku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NUmVjdFJlYWRPbmx5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNDcxMEFFMURCNTZBRkMwMDJEQ0VDMyAvKiBE
T01SZWN0UmVhZE9ubHkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTVJlY3RSZWFkT25s
eS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGNDcxMEI1MURCNTZCRTgwMDJE
Q0VDMyAvKiBKU0RPTVJlY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gSlNET01SZWN0LmNwcDsgcGF0aCA9IEpTRE9NUmVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTBGNDcxMEI2MURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNET01SZWN0Lmg7IHBhdGggPSBKU0RPTVJl
Y3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEY0NzEwQjcxREI1NkJFODAwMkRD
RUMzIC8qIEpTRE9NUmVjdEluaXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gSlNET01SZWN0SW5pdC5jcHA7IHBhdGggPSBKU0RPTVJlY3RJbml0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEY0NzEwQjgxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9N
UmVjdEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNET01SZWN0SW5p
dC5oOyBwYXRoID0gSlNET01SZWN0SW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkwRjQ3MTBCOTFEQjU2QkU4MDAyRENFQzMgLyogSlNET01SZWN0UmVhZE9ubHkuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNET01SZWN0UmVhZE9ubHkuY3BwOyBw
YXRoID0gSlNET01SZWN0UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkwRjQ3MTBCQTFEQjU2QkU4MDAyRENFQzMgLyogSlNET01SZWN0UmVhZE9ubHkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNET01SZWN0UmVhZE9ubHkuaDsgcGF0aCA9IEpT
RE9NUmVjdFJlYWRPbmx5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDcxMEI1
MURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNET01SZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY0NzEwQjYxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVJlY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY0NzEwQjcxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdEluaXQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01SZWN0SW5pdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDcxMEI4MURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RP
TVJlY3RJbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUmVjdElu
aXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0NzEwQjkxREI1NkJFODAwMkRD
RUMzIC8qIEpTRE9NUmVjdFJlYWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRE9NUmVjdFJlYWRPbmx5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEY0NzEwQkExREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdFJlYWRPbmx5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUmVjdFJlYWRPbmx5Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDcxMEMxMURCNTk1RUYwMDJEQ0VDMyAvKiBET01R
dWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVF1YWQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ3MTBDMjFEQjU5NUVGMDAyRENFQzMg
LyogRE9NUXVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01RdWFkLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDcxMEMzMURCNTk1RUYwMDJEQ0VDMyAv
KiBET01RdWFkLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01RdWFkLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0NzEwQzQxREI1OTVFRjAwMkRDRUMzIC8qIERPTVF1
YWRJbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVF1YWRJbml0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDcxMEM1MURCNTk1RUYwMDJEQ0VDMyAv
KiBET01RdWFkSW5pdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NUXVhZEluaXQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ3MTBDQjFEQjU5NjI4MDAyRENFQzMg
LyogSlNET01RdWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
RE9NUXVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDcxMENDMURCNTk2
MjgwMDJEQ0VDMyAvKiBKU0RPTVF1YWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNET01RdWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDcxMENEMURC
NTk2MjgwMDJEQ0VDMyAvKiBKU0RPTVF1YWRJbml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTRE9NUXVhZEluaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRjQ3MTBDRTFEQjU5NjI4MDAyRENFQzMgLyogSlNET01RdWFkSW5pdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVF1YWRJbml0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGNDcxMEQzMURCNUE0ODgwMDJEQ0VDMyAvKiBKU0RPTVF1YWRD
dXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01RdWFk
Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0OTY2OTkxREI0MDhD
MTAwQTI3NEJCIC8qIERPTVBvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTVBvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNDk2NjlBMURCNDA4
QzEwMEEyNzRCQiAvKiBET01Qb2ludC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NUG9p
bnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjQ5NjY5QjFEQjQwOEMxMDBB
Mjc0QkIgLyogRE9NUG9pbnRSZWFkT25seS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01Qb2ludFJlYWRPbmx5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NzcwMiwxMCArMTc3MjAsMTAgQEAKIAkJNzFENkFBMzkxREE0RUFGNzAwQjIzOTY5IC8qIG1vZGVy
bi1tZWRpYS1jb250cm9scyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCi0JCQkJNzFEMDJEOTAxREI1NUM0RTAwREQ1Q0Y1IC8qIG1haW4uanMgKi8sCiAJCQkJNzE2
RkEwRDcxREIyNjU5MTAwNzMyM0NDIC8qIGNvbnRyb2xzICovLAogCQkJCTcxRDZBQTZGMURBNEVB
RjcwMEIyMzk2OSAvKiBpbWFnZXMgKi8sCiAJCQkJNzFEMDJEOTExREI1NUM0RTAwREQ1Q0Y1IC8q
IG1lZGlhICovLAorCQkJCTcxRDAyRDkwMURCNTVDNEUwMERENUNGNSAvKiBtYWluLmpzICovLAog
CQkJKTsKIAkJCXBhdGggPSAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIjsKIAkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CkBAIC0xOTk4MCw2ICsxOTk5OCwxMCBAQAogCQkJCTBGNDk2NkE3MURCNDBD
NDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50SW5pdC5oICovLAogCQkJCTBGNDk2NkE4MURCNDBDNDMw
MEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHkuY3BwICovLAogCQkJCTBGNDk2NkE5MURCNDBD
NDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHkuaCAqLywKKwkJCQkwRjQ3MTBDQjFEQjU5
NjI4MDAyRENFQzMgLyogSlNET01RdWFkLmNwcCAqLywKKwkJCQkwRjQ3MTBDQzFEQjU5NjI4MDAy
RENFQzMgLyogSlNET01RdWFkLmggKi8sCisJCQkJMEY0NzEwQ0QxREI1OTYyODAwMkRDRUMzIC8q
IEpTRE9NUXVhZEluaXQuY3BwICovLAorCQkJCTBGNDcxMENFMURCNTk2MjgwMDJEQ0VDMyAvKiBK
U0RPTVF1YWRJbml0LmggKi8sCiAJCQkJMEY0NzEwQjUxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9N
UmVjdC5jcHAgKi8sCiAJCQkJMEY0NzEwQjYxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdC5o
ICovLAogCQkJCTBGNDcxMEI3MURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3RJbml0LmNwcCAq
LywKQEAgLTIxNTQ1LDYgKzIxNTY3LDcgQEAKIAkJCQlBOUM2RTY0NjBENzQ2NUNBMDA2NDQyRTkg
LyogSlNET01NaW1lVHlwZUFycmF5Q3VzdG9tLmNwcCAqLywKIAkJCQlBOUM2RTY0QTBENzQ2NUU3
MDA2NDQyRTkgLyogSlNET01QbHVnaW5BcnJheUN1c3RvbS5jcHAgKi8sCiAJCQkJQTlDNkU2NEIw
RDc0NjVFNzAwNjQ0MkU5IC8qIEpTRE9NUGx1Z2luQ3VzdG9tLmNwcCAqLywKKwkJCQkwRjQ3MTBE
MzFEQjVBNDg4MDAyRENFQzMgLyogSlNET01RdWFkQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzY0NjQ5
QjExRDgyMzhDMDA2NDU1QjAgLyogSlNET01TdHJpbmdNYXBDdXN0b20uY3BwICovLAogCQkJCUJD
RDlDMjVFMEMxN0FBNjcwMDVDOTBBMiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5jcHAgKi8sCiAJCQkJ
NjUyRkJCQkIwREUyN0NCNjAwMDFEMzg2IC8qIEpTRE9NV2luZG93Q3VzdG9tLmggKi8sCkBAIC0y
MzQ1Miw2ICsyMzQ3NSwxMSBAQAogCQkJCTBGNDk2NkExMURCNDA5MDEwMEEyNzRCQiAvKiBET01Q
b2ludEluaXQuaWRsICovLAogCQkJCTBGNDk2NjlCMURCNDA4QzEwMEEyNzRCQiAvKiBET01Qb2lu
dFJlYWRPbmx5LmggKi8sCiAJCQkJMEY0OTY2OUMxREI0MDhDMTAwQTI3NEJCIC8qIERPTVBvaW50
UmVhZE9ubHkuaWRsICovLAorCQkJCTBGNDcxMEMxMURCNTk1RUYwMDJEQ0VDMyAvKiBET01RdWFk
LmNwcCAqLywKKwkJCQkwRjQ3MTBDMjFEQjU5NUVGMDAyRENFQzMgLyogRE9NUXVhZC5oICovLAor
CQkJCTBGNDcxMEMzMURCNTk1RUYwMDJEQ0VDMyAvKiBET01RdWFkLmlkbCAqLywKKwkJCQkwRjQ3
MTBDNDFEQjU5NUVGMDAyRENFQzMgLyogRE9NUXVhZEluaXQuaCAqLywKKwkJCQkwRjQ3MTBDNTFE
QjU5NUVGMDAyRENFQzMgLyogRE9NUXVhZEluaXQuaWRsICovLAogCQkJCTBGNDcxMEE5MURCNTZB
RkMwMDJEQ0VDMyAvKiBET01SZWN0LmggKi8sCiAJCQkJMEY0NzEwQUExREI1NkFGQzAwMkRDRUMz
IC8qIERPTVJlY3QuaWRsICovLAogCQkJCTBGNDcxMEFCMURCNTZBRkMwMDJEQ0VDMyAvKiBET01S
ZWN0SW5pdC5oICovLApAQCAtMjQ4MTMsNiArMjQ4NDEsOCBAQAogCQkJCTBGNDk2NjlEMURCNDA4
QzEwMEEyNzRCQiAvKiBET01Qb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0OTY2QTMxREI0
MDkxMDAwQTI3NEJCIC8qIERPTVBvaW50SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0OTY2
OUYxREI0MDhDMTAwQTI3NEJCIC8qIERPTVBvaW50UmVhZE9ubHkuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGNDcxMEM3MURCNTk1RUYwMDJEQ0VDMyAvKiBET01RdWFkLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjQ3MTBDOTFEQjU5NUVGMDAyRENFQzMgLyogRE9NUXVhZEluaXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNDcxMEFGMURCNTZBRkMwMDJEQ0VDMyAvKiBET01SZWN0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjQ3MTBCMTFEQjU2QUZDMDAyRENFQzMgLyogRE9NUmVjdEluaXQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGNDcxMEIzMURCNTZBRkMwMDJEQ0VDMyAvKiBET01SZWN0UmVhZE9u
bHkuaCBpbiBIZWFkZXJzICovLApAQCAtMjU0ODUsNiArMjU1MTUsOCBAQAogCQkJCTBGNDk2NkFE
MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEY0OTY2QUYxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTE3MkFGOTAxODExQkMzNzAwRkJBREI5IC8qIEpTRE9NUHJvbWlzZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMEY0NzEwRDAxREI1OTYyODAwMkRDRUMzIC8qIEpTRE9NUXVhZC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEY0NzEwRDIxREI1OTYyODAwMkRDRUMzIC8qIEpTRE9NUXVh
ZEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDcxMEJDMURCNTZCRTgwMDJEQ0VDMyAvKiBK
U0RPTVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDcxMEJFMURCNTZCRTgwMDJEQ0VDMyAv
KiBKU0RPTVJlY3RJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ3MTBDMDFEQjU2QkU4MDAy
RENFQzMgLyogSlNET01SZWN0UmVhZE9ubHkuaCBpbiBIZWFkZXJzICovLApAQCAtMjg1MzAsNiAr
Mjg1NjIsNyBAQAogCQkJCTJENTAwMkY4MUI1NkQ3ODEwMDIwQUFGNyAvKiBET01QYXRoLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE5QzZFNEVCMEQ3NDVFMkIwMDY0NDJFOSAvKiBET01QbHVnaW4u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTlDNkU0RUYwRDc0NUUzODAwNjQ0MkU5IC8qIERPTVBs
dWdpbkFycmF5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNDcxMEM2MURCNTk1RUYwMDJEQ0VD
MyAvKiBET01RdWFkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNUE4Njg0MEMzMzY3NjAwMEVF
QTY0OSAvKiBET01TZWxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzU1NjEwRjExMUE3
MDRFQjAwQjgyRDI3IC8qIERPTVN0cmluZ0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTg4
NjA0QjMwRjJFNjU0QTAwMEI2NDQzIC8qIERPTVRpbWVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MjkxNjcsNiArMjkyMDAsOSBAQAogCQkJCTBGNDk2NkFDMURCNDBDNDMwMEEyNzRCQiAvKiBKU0RP
TVBvaW50SW5pdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ5NjZBRTFEQjQwQzQzMDBBMjc0
QkIgLyogSlNET01Qb2ludFJlYWRPbmx5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNzJBRjhG
MTgxMUJDMzcwMEZCQURCOSAvKiBKU0RPTVByb21pc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEY0NzEwQ0YxREI1OTYyODAwMkRDRUMzIC8qIEpTRE9NUXVhZC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwRjQ3MTBENDFEQjVBNDg4MDAyRENFQzMgLyogSlNET01RdWFkQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTBGNDcxMEQxMURCNTk2MjgwMDJEQ0VDMyAvKiBKU0RPTVF1YWRJbml0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDcxMEJCMURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RP
TVJlY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0NzEwQkQxREI1NkJFODAwMkRDRUMzIC8q
IEpTRE9NUmVjdEluaXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0NzEwQkYxREI1NkJFODAw
MkRDRUMzIC8qIEpTRE9NUmVjdFJlYWRPbmx5LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKaW5kZXggODIx
YWQyNzA2OGY5ZGI5MTllYzdiMDVkMmZmYTBjZjAzNzcwNzJmNC4uY2RiMDhiYjAyMmY1ZDYzNjVh
MTg5NTMwNmI4ZTEzZmZiOWJkMWNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSAi
SlNET01QbHVnaW5BcnJheUN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNET01QbHVnaW5DdXN0b20u
Y3BwIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5jcHAiCisjaW5jbHVkZSAiSlNET01RdWFkQ3Vz
dG9tLmNwcCIKICNpbmNsdWRlICJKU0RPTVN0cmluZ01hcEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAi
SlNET01XaW5kb3dCYXNlLmNwcCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0N1c3RvbS5jcHAiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVF1YWRDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01RdWFkQ3VzdG9tLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41ODE5YWIzYjQwNWFiM2JhYmY5NmIwNDJiOTAwNmRhNGVlYjBjY2JlCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01RdWFkQ3VzdG9tLmNwcApA
QCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkpTRE9NUXVhZC5oIgorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUg
IkpTRE9NUG9pbnQuaCIKKyNpbmNsdWRlICJKU0RPTVJlY3QuaCIKKyNpbmNsdWRlIDx3dGYvR2V0
UHRyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
SlNWYWx1ZSBKU0RPTVF1YWQ6OnAxKEV4ZWNTdGF0ZSYgc3RhdGUpIGNvbnN0Cit7CisgICAgaWYg
KEpTVmFsdWUgY2FjaGVkVmFsdWUgPSBtX3AxLmdldCgpKQorICAgICAgICByZXR1cm4gY2FjaGVk
VmFsdWU7CisgICAgYXV0byYgaW1wbCA9IHdyYXBwZWQoKTsKKyAgICBSZWY8RE9NUG9pbnQ+IHBv
aW50ID0gRE9NUG9pbnQ6OmNyZWF0ZShpbXBsLnAxKCkueCwgaW1wbC5wMSgpLnksIGltcGwucDEo
KS56LCBpbXBsLnAxKCkudyk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSB0b0pTKCZzdGF0ZSwgZ2xv
YmFsT2JqZWN0KCksIHBvaW50LmdldCgpKTsKKyAgICBtX3AxLnNldChzdGF0ZS52bSgpLCB0aGlz
LCByZXN1bHQpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0pTVmFsdWUgSlNET01RdWFkOjpw
MihFeGVjU3RhdGUmIHN0YXRlKSBjb25zdAoreworICAgIGlmIChKU1ZhbHVlIGNhY2hlZFZhbHVl
ID0gbV9wMi5nZXQoKSkKKyAgICAgICAgcmV0dXJuIGNhY2hlZFZhbHVlOworICAgIGF1dG8mIGlt
cGwgPSB3cmFwcGVkKCk7CisgICAgUmVmPERPTVBvaW50PiBwb2ludCA9IERPTVBvaW50OjpjcmVh
dGUoaW1wbC5wMigpLngsIGltcGwucDIoKS55LCBpbXBsLnAyKCkueiwgaW1wbC5wMigpLncpOwor
ICAgIEpTVmFsdWUgcmVzdWx0ID0gdG9KUygmc3RhdGUsIGdsb2JhbE9iamVjdCgpLCBwb2ludC5n
ZXQoKSk7CisgICAgbV9wMi5zZXQoc3RhdGUudm0oKSwgdGhpcywgcmVzdWx0KTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCitKU1ZhbHVlIEpTRE9NUXVhZDo6cDMoRXhlY1N0YXRlJiBzdGF0ZSkg
Y29uc3QKK3sKKyAgICBpZiAoSlNWYWx1ZSBjYWNoZWRWYWx1ZSA9IG1fcDMuZ2V0KCkpCisgICAg
ICAgIHJldHVybiBjYWNoZWRWYWx1ZTsKKyAgICBhdXRvJiBpbXBsID0gd3JhcHBlZCgpOworICAg
IFJlZjxET01Qb2ludD4gcG9pbnQgPSBET01Qb2ludDo6Y3JlYXRlKGltcGwucDMoKS54LCBpbXBs
LnAzKCkueSwgaW1wbC5wMygpLnosIGltcGwucDMoKS53KTsKKyAgICBKU1ZhbHVlIHJlc3VsdCA9
IHRvSlMoJnN0YXRlLCBnbG9iYWxPYmplY3QoKSwgcG9pbnQuZ2V0KCkpOworICAgIG1fcDMuc2V0
KHN0YXRlLnZtKCksIHRoaXMsIHJlc3VsdCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworSlNW
YWx1ZSBKU0RPTVF1YWQ6OnA0KEV4ZWNTdGF0ZSYgc3RhdGUpIGNvbnN0Cit7CisgICAgaWYgKEpT
VmFsdWUgY2FjaGVkVmFsdWUgPSBtX3A0LmdldCgpKQorICAgICAgICByZXR1cm4gY2FjaGVkVmFs
dWU7CisgICAgYXV0byYgaW1wbCA9IHdyYXBwZWQoKTsKKyAgICBSZWY8RE9NUG9pbnQ+IHBvaW50
ID0gRE9NUG9pbnQ6OmNyZWF0ZShpbXBsLnA0KCkueCwgaW1wbC5wNCgpLnksIGltcGwucDQoKS56
LCBpbXBsLnA0KCkudyk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSB0b0pTKCZzdGF0ZSwgZ2xvYmFs
T2JqZWN0KCksIHBvaW50LmdldCgpKTsKKyAgICBtX3A0LnNldChzdGF0ZS52bSgpLCB0aGlzLCBy
ZXN1bHQpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0pTVmFsdWUgSlNET01RdWFkOjpnZXRC
b3VuZHMoRXhlY1N0YXRlJiBzdGF0ZSkKK3sKKyAgICBhdXRvJiBpbXBsID0gd3JhcHBlZCgpOwor
ICAgIFJlZjxET01SZWN0PiBib3VuZHNSZWN0ID0gRE9NUmVjdDo6ZnJvbVJlY3QoaW1wbC5nZXRC
b3VuZHMoKSk7CisgICAgcmV0dXJuIHRvSlMoJnN0YXRlLCBnbG9iYWxPYmplY3QoKSwgYm91bmRz
UmVjdCk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvSURMUGFyc2VyLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJz
ZXIucG0KaW5kZXggY2Q5NjgzOTEyZWU0NzExNThjYWI5NGI3MzJiY2FhOWZmZGEzYWU2Yi4uNWY5
NzE1ZTI1MDRiZDc2ZWI3Mjg0ZWRlYjVkOGQ5ZTJkZTk0Y2RiNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0KQEAgLTIzMzksNyArMjMzOSw3IEBAIHN1
YiBpc1NlcmlhbGl6YWJsZUF0dHJpYnV0ZQogICAgICMgRklYTUU6IE5lZWQgdG8gc3VwcG9ydCBt
b3JlIHRoYW4gcHJpbWl0aXZlIHNlcmlhbGl6YWJsZSB0eXBlcy4KICAgICAjIFRoaXMgY2hlY2sg
bWF5IGhhdmUgdG8gbW92ZSB0byB0aGUgY29kZSBnZW5lcmF0b3IsIGlmIHdlIGRvbid0IGhhdmUg
ZW5vdWdoIGluZm9ybWF0aW9uCiAgICAgIyBoZXJlIHRvIGRldGVybWluZSBzZXJpYWxpemFiaWxp
dHk6IGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC1zZXJpYWxpemVycwotICAg
IG15ICRzZXJpYWxpemFibGVfdHlwZXMgPSAnXihcKGJ5dGV8b2N0ZXR8c2hvcnR8dW5zaWduZWQg
c2hvcnR8bG9uZ3x1bnNpZ25lZCBsb25nfGxvbmcgbG9uZ3x1bnNpZ25lZCBsb25nIGxvbmd8Zmxv
YXR8dW5yZXN0cmljdGVkIGZsb2F0fGRvdWJsZXx1bnJlc3RyaWN0ZWQgZG91YmxlfGJvb2xlYW58
RE9NU3RyaW5nfEJ5dGVTdHJpbmd8VVNWU3RyaW5nKSQnOworICAgIG15ICRzZXJpYWxpemFibGVf
dHlwZXMgPSAnXihcKGJ5dGV8b2N0ZXR8c2hvcnR8dW5zaWduZWQgc2hvcnR8bG9uZ3x1bnNpZ25l
ZCBsb25nfGxvbmcgbG9uZ3x1bnNpZ25lZCBsb25nIGxvbmd8ZmxvYXR8dW5yZXN0cmljdGVkIGZs
b2F0fGRvdWJsZXx1bnJlc3RyaWN0ZWQgZG91YmxlfGJvb2xlYW58RE9NUG9pbnR8RE9NU3RyaW5n
fEJ5dGVTdHJpbmd8VVNWU3RyaW5nKSQnOwogICAgIHJldHVybiAkYXR0cmlidXRlLT5zaWduYXR1
cmUtPnR5cGUgPX4gLyRzZXJpYWxpemFibGVfdHlwZXMvOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NUXVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMGIzNGE1MTFjMDFmY2Y0YjgxZDBjMjAyNzFmMWQzODczYmQ5OGQ3OQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmNwcApAQCAtMCww
ICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRP
TVF1YWQuaCIKKworI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworRE9NUmVjdEluaXQgRE9NUXVhZDo6Z2V0Qm91bmRzKCkgY29uc3QKK3sKKyAgICBk
b3VibGUgbGVmdCA9IFdURjo6bmFuUHJvcGFnYXRpbmdNaW4oV1RGOjpuYW5Qcm9wYWdhdGluZ01p
bihXVEY6Om5hblByb3BhZ2F0aW5nTWluKG1fcDEueCwgbV9wMi54KSwgbV9wMy54KSwgbV9wNC54
KTsKKyAgICBkb3VibGUgdG9wID0gV1RGOjpuYW5Qcm9wYWdhdGluZ01pbihXVEY6Om5hblByb3Bh
Z2F0aW5nTWluKFdURjo6bmFuUHJvcGFnYXRpbmdNaW4obV9wMS55LCBtX3AyLnkpLCBtX3AzLnkp
LCBtX3A0LnkpOworICAgIGRvdWJsZSByaWdodCA9IFdURjo6bmFuUHJvcGFnYXRpbmdNYXgoV1RG
OjpuYW5Qcm9wYWdhdGluZ01heChXVEY6Om5hblByb3BhZ2F0aW5nTWF4KG1fcDEueCwgbV9wMi54
KSwgbV9wMy54KSwgbV9wNC54KTsKKyAgICBkb3VibGUgYm90dG9tID0gV1RGOjpuYW5Qcm9wYWdh
dGluZ01heChXVEY6Om5hblByb3BhZ2F0aW5nTWF4KFdURjo6bmFuUHJvcGFnYXRpbmdNYXgobV9w
MS55LCBtX3AyLnkpLCBtX3AzLnkpLCBtX3A0LnkpOworCisgICAgcmV0dXJuIHsgbGVmdCwgdG9w
LCByaWdodCAtIGxlZnQsIGJvdHRvbSAtIHRvcCB9OworfQorCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NUXVhZC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YTZiZjcyOGQ0MzdkZDhiNzQ1Y2YyMTRjY2UwMTUxN2M5NDFkNmU3Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaApAQCAtMCwwICsxLDg0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJET01Qb2ludEluaXQu
aCIKKyNpbmNsdWRlICJET01RdWFkSW5pdC5oIgorI2luY2x1ZGUgIkRPTVJlY3QuaCIKKyNpbmNs
dWRlICJET01SZWN0SW5pdC5oIgorI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgorI2luY2x1
ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIERPTVF1YWQgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJs
aWMgUmVmQ291bnRlZDxET01RdWFkPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxET01RdWFk
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTVF1YWQpOyB9CisgICAgc3RhdGlj
IFJlZjxET01RdWFkPiBjcmVhdGUoY29uc3QgRE9NUG9pbnRJbml0JiBwMSwgY29uc3QgRE9NUG9p
bnRJbml0JiBwMiwgY29uc3QgRE9NUG9pbnRJbml0JiBwMywgY29uc3QgRE9NUG9pbnRJbml0JiBw
NCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01RdWFkKHAxLCBwMiwgcDMsIHA0KSk7IH0KKwor
ICAgIHN0YXRpYyBSZWY8RE9NUXVhZD4gZnJvbVJlY3QoY29uc3QgRE9NUmVjdEluaXQmIGluaXQp
IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NUXVhZChpbml0KSk7IH0KKyAgICBzdGF0aWMgUmVm
PERPTVF1YWQ+IGZyb21RdWFkKGNvbnN0IERPTVF1YWRJbml0JiBpbml0KSB7IHJldHVybiBjcmVh
dGUoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5wMywgaW5pdC5wNCk7IH0KKworICAgIGNvbnN0IERP
TVBvaW50SW5pdCYgcDEoKSBjb25zdCB7IHJldHVybiBtX3AxOyB9CisgICAgY29uc3QgRE9NUG9p
bnRJbml0JiBwMigpIGNvbnN0IHsgcmV0dXJuIG1fcDI7IH0KKyAgICBjb25zdCBET01Qb2ludElu
aXQmIHAzKCkgY29uc3QgeyByZXR1cm4gbV9wMzsgfQorICAgIGNvbnN0IERPTVBvaW50SW5pdCYg
cDQoKSBjb25zdCB7IHJldHVybiBtX3A0OyB9CisKKyAgICBET01SZWN0SW5pdCBnZXRCb3VuZHMo
KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBET01RdWFkKCkKKyAgICB7CisgICAgfQorCisgICAg
RE9NUXVhZChjb25zdCBET01Qb2ludEluaXQmIHAxLCBjb25zdCBET01Qb2ludEluaXQmIHAyLCBj
b25zdCBET01Qb2ludEluaXQmIHAzLCBjb25zdCBET01Qb2ludEluaXQmIHA0KQorICAgICAgICA6
IG1fcDEocDEpCisgICAgICAgICwgbV9wMihwMikKKyAgICAgICAgLCBtX3AzKHAzKQorICAgICAg
ICAsIG1fcDQocDQpCisgICAgeworICAgIH0KKworICAgIC8vICBwMS0tLS0tLXAyCisgICAgLy8g
IHwgICAgICAgfAorICAgIC8vICB8ICAgICAgIHwKKyAgICAvLyAgcDQtLS0tLS1wMworICAgIGV4
cGxpY2l0IERPTVF1YWQoY29uc3QgRE9NUmVjdEluaXQmIHIpCisgICAgICAgIDogbV9wMSh7IHIu
eCwgci55IH0pCisgICAgICAgICwgbV9wMih7IHIueCArIHIud2lkdGgsIHIueSB9KQorICAgICAg
ICAsIG1fcDMoeyByLnggKyByLndpZHRoLCByLnkgKyByLmhlaWdodCB9KQorICAgICAgICAsIG1f
cDQoeyByLngsIHIueSArIHIuaGVpZ2h0IH0pCisgICAgeworICAgIH0KKyAgICAKKyAgICBET01Q
b2ludEluaXQgbV9wMTsKKyAgICBET01Qb2ludEluaXQgbV9wMjsKKyAgICBET01Qb2ludEluaXQg
bV9wMzsKKyAgICBET01Qb2ludEluaXQgbV9wNDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01RdWFkLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kZmQ2NjJkMDI1NGNiODliMzBhZmRjOWY0ZmY0ZjY4YzNmNmE4MGQyCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaWRsCkBAIC0wLDAg
KzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRy
eS0xLyNET01SZWN0CisKK1sKKyAgICBDb25zdHJ1Y3RvcihvcHRpb25hbCBET01Qb2ludEluaXQg
cDEsIG9wdGlvbmFsIERPTVBvaW50SW5pdCBwMiwKKyAgICAgICAgb3B0aW9uYWwgRE9NUG9pbnRJ
bml0IHAzLCBvcHRpb25hbCBET01Qb2ludEluaXQgcDQpLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10KK2ludGVyZmFjZSBET01R
dWFkIHsKKyAgICBbTmV3T2JqZWN0XSBzdGF0aWMgRE9NUXVhZCBmcm9tUmVjdChvcHRpb25hbCBE
T01SZWN0SW5pdCBvdGhlcik7CisgICAgW05ld09iamVjdF0gc3RhdGljIERPTVF1YWQgZnJvbVF1
YWQob3B0aW9uYWwgRE9NUXVhZEluaXQgb3RoZXIpOworCisgICAgLy8gRklYTUU6IEFkZCBzdXBw
b3J0IGZvciBTYW1lT2JqZWN0CisgICAgW0NhY2hlZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQgcDE7CisgICAgW0NhY2hlZEF0dHJpYnV0ZSwgQ3Vz
dG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQgcDI7CisgICAgW0NhY2hlZEF0
dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQgcDM7Cisg
ICAgW0NhY2hlZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgRE9N
UG9pbnQgcDQ7CisgICAgW05ld09iamVjdCwgQ3VzdG9tXSBET01SZWN0IGdldEJvdW5kcygpOwor
CisgICAgc2VyaWFsaXplciA9IHsgYXR0cmlidXRlIH07Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZElu
aXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jZjg2OWVjMmYyZjVkZWUwZGMyOGQ4NGM3NjBiNjJhNmM2ZTdhY2Fi
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0LmgKQEAg
LTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRE9N
UG9pbnRJbml0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IERPTVF1YWRJbml0
IHsKKyAgICBET01Qb2ludEluaXQgcDE7CisgICAgRE9NUG9pbnRJbml0IHAyOworICAgIERPTVBv
aW50SW5pdCBwMzsKKyAgICBET01Qb2ludEluaXQgcDQ7Cit9OworCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RP
TVF1YWRJbml0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGVlNDM0ZmYwMWJlYWFkYzI5NDdkODI4YTI4YjZk
YTE3MTg5ZTMyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJ
bml0LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9kcmFmdHMu
Znh0Zi5vcmcvZ2VvbWV0cnktMS8jRE9NUmVjdAorCitkaWN0aW9uYXJ5IERPTVF1YWRJbml0IHsK
KyAgRE9NUG9pbnRJbml0IHAxOworICBET01Qb2ludEluaXQgcDI7CisgIERPTVBvaW50SW5pdCBw
MzsKKyAgRE9NUG9pbnRJbml0IHA0OworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYzAzYWJjZjgyMmI1NjY5MTI5MjQy
NmRiZTgwNjkyNGVkZGFjN2VmLi41MzlhYzU4ZDIxMmZhNTE5NWJiZjU1MjgxMTExOWJiZTQ1MGEy
YWFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMjQgQEAKIDIwMTYtMTAtMTcgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CiAKKyAgICAgICAgSW1wbGVtZW50IERPTVF1YWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzUzNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZ2VvbWV0cnkvRE9N
UXVhZC0wMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBnZW9tZXRyeS9ET01RdWFk
LTAwMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBnZW9tZXRyeS9ET01SZWN0LTAwMS5odG1sOgor
ICAgICAgICAqIGpzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZGVkaWNhdGVk
LXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvZG9tL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZWZsL2pzL2Rv
bS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL2d0ay9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9iYWwtY29uc3Ry
dWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy15
b3NlbWl0ZS9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0
cmlidXRlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL2pzL2RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorCisyMDE2LTEwLTE3ICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIEltcGxlbWVu
dCBET01SZWN0L0RPTVJlY3RSZWFkT25seQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNDY0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2dlb21l
dHJ5L0RPTVF1YWQtMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2dlb21ldHJ5L0RPTVF1
YWQtMDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOWNlNTZjOTViNTU0MmNhYzExMDU0MWQ3
ZTZhYTY2NTE1NzNmMmI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZ2VvbWV0cnkv
RE9NUXVhZC0wMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK1Rlc3QgdGhlIERPTVF1
YWQgaW50ZXJmYWNlCisKKworUEFTUyB0ZXN0Q29uc3RydWN0b3IwIAorUEFTUyB0ZXN0Q29uc3Ry
dWN0b3IxIAorUEFTUyB0ZXN0Q29uc3RydWN0b3IyIAorUEFTUyB0ZXN0Q29uc3RydWN0b3JET01Q
b2ludERPTVBvaW50SW5pdCAKK1BBU1MgdGVzdENvbnN0cnVjdG9yMUFyZyAKK1BBU1MgdGVzdENv
bnN0cnVjdG9yMkFyZyAKK1BBU1MgdGVzdENvbnN0cnVjdG9yM0FyZyAKK1BBU1MgdGVzdENvbnN0
cnVjdG9yTmFOcyAKK1BBU1MgdGVzdENvbnN0cnVjdG9ySW5mcyAKK1BBU1MgdGVzdEZyb21RdWFk
IAorUEFTUyB0ZXN0RnJvbVJlY3QgCitQQVNTIHRlc3RGcm9tUmVjdE5hTiAKK1BBU1MgdGVzdEJv
dW5kczEgCitQQVNTIHRlc3RCb3VuZHMyIAorUEFTUyB0ZXN0Qm91bmRzTmFOSW5mIAorUEFTUyB0
ZXN0U2FtZU9iamVjdHMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2dlb21ldHJ5L0RPTVF1
YWQtMDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9nZW9tZXRyeS9ET01RdWFkLTAwMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRlMTczNDc4ZjE5MDY5MTVlNmQzNDYzODdiYjYyZmNjY2E2OTU3NTAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9nZW9tZXRyeS9ET01RdWFkLTAwMS5odG1sCkBAIC0wLDAg
KzEsMTI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPkdl
b21ldHJ5IEludGVyZmFjZXM6IERPTVF1YWQgaW50ZXJmYWNlIHRlc3RzLjwvdGl0bGU+CisgICAg
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJTaW1vbiBGcmFzZXIiIGhyZWY9Im1haWx0bzpzaW1v
bi5mcmFzZXJAYXBwbGUuY29tIiAvPgorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDov
L3d3dy53My5vcmcvVFIvZ2VvbWV0cnktMS8jRE9NUXVhZCI+CisgICAgPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jRE9NUXVhZCI+CisKKyAg
ICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPlRlc3QgdGhlIERPTVF1YWQgaW50ZXJmYWNlPC9w
PgorICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgICAgdGVzdChm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChuZXcgRE9NUXVhZCgpLCB7IHAx
OnsgeDowLCB5OjAgfSwgcDI6eyB4OjAsIHk6MCB9LCBwMzp7IHg6MCwgeTowIH0sIHA0OnsgeDow
LCB5OjAgfSB9KTsKKyAgICAgICAgfSwndGVzdENvbnN0cnVjdG9yMCcpOworICAgICAgICB0ZXN0
KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIGluaXQgPSB7IHAxOnsgeDoxMSwgeToxMiB9
LCBwMjp7IHg6MjIsIHk6MjMgfSwgcDM6eyB4OjMzLCB5OjM0IH0sIHA0OnsgeDo0NCwgeTo0NSB9
IH07CisgICAgICAgICAgICBjaGVja0RPTVF1YWQobmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5w
MiwgaW5pdC5wMywgaW5pdC5wNCksIGluaXQpOworICAgICAgICB9LCd0ZXN0Q29uc3RydWN0b3Ix
Jyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsg
cDE6eyB4Ok1hdGguUEksIHk6MTIgfSwgcDI6eyB4OjIyLCB5Ok1hdGguUEkgfSwgcDM6eyB4Oklu
ZmluaXR5LCB5OjM0IH0sIHA0OnsgeDo0NCwgeTpJbmZpbml0eSB9IH07CisgICAgICAgICAgICBj
aGVja0RPTVF1YWQobmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5wMywgaW5pdC5w
NCksIGluaXQpOworICAgICAgICB9LCd0ZXN0Q29uc3RydWN0b3IyJyk7CisgICAgICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgcXVhZCA9IG5ldyBET01RdWFkKG5ldyBET01Q
b2ludCgxMSwgMTIpLCB7eDogMjIsIHk6IDIzfSwge3g6IDMzLCB5OiAzNH0sIHt4OiA0NCwgeTog
NDV9KTsKKyAgICAgICAgICAgIHZhciBpbml0ID0geyBwMTp7IHg6MTEsIHk6MTIgfSwgcDI6eyB4
OjIyLCB5OjIzIH0sIHAzOnsgeDozMywgeTozNCB9LCBwNDp7IHg6NDQsIHk6NDUgfSB9OworICAg
ICAgICAgICAgY2hlY2tET01RdWFkKHF1YWQsIGluaXQpOworICAgICAgICB9LCd0ZXN0Q29uc3Ry
dWN0b3JET01Qb2ludERPTVBvaW50SW5pdCcpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgdmFyIGluaXQgPSB7IHAxOnsgeDoxMSwgeToxMiB9LCBwMjp7IHg6MCwgeTow
IH0sIHAzOnsgeDowLCB5OjAgfSwgcDQ6eyB4OjAsIHk6MCB9IH07CisgICAgICAgICAgICBjaGVj
a0RPTVF1YWQobmV3IERPTVF1YWQoaW5pdC5wMSksIGluaXQpOworICAgICAgICB9LCd0ZXN0Q29u
c3RydWN0b3IxQXJnJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2
YXIgaW5pdCA9IHsgcDE6eyB4OjExLCB5OjEyIH0sIHAyOnsgeDoyMiwgeToyMyB9LCBwMzp7IHg6
MCwgeTowIH0sIHA0OnsgeDowLCB5OjAgfSB9OworICAgICAgICAgICAgY2hlY2tET01RdWFkKG5l
dyBET01RdWFkKGluaXQucDEsIGluaXQucDIpLCBpbml0KTsKKyAgICAgICAgfSwndGVzdENvbnN0
cnVjdG9yMkFyZycpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFy
IGluaXQgPSB7IHAxOnsgeDoxMSwgeToxMiB9LCBwMjp7IHg6MjIsIHk6MjMgfSwgcDM6eyB4OjMz
LCB5OjM0IH0sIHA0OnsgeDowLCB5OjAgfSB9OworICAgICAgICAgICAgY2hlY2tET01RdWFkKG5l
dyBET01RdWFkKGluaXQucDEsIGluaXQucDIsIGluaXQucDMpLCBpbml0KTsKKyAgICAgICAgfSwn
dGVzdENvbnN0cnVjdG9yM0FyZycpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgdmFyIGluaXQgPSB7IHAxOnsgeDoxMSwgeToxMiB9LCBwMjp7IHg6TmFOLCB5OjIzIH0s
IHAzOnsgeDozMywgeTpOYU4gfSwgcDQ6eyB4Ok5hTiwgeTpOYU4gfSB9OworICAgICAgICAgICAg
Y2hlY2tET01RdWFkKG5ldyBET01RdWFkKGluaXQucDEsIGluaXQucDIsIGluaXQucDMsIGluaXQu
cDQpLCBpbml0KTsKKyAgICAgICAgfSwndGVzdENvbnN0cnVjdG9yTmFOcycpOworICAgICAgICB0
ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIGluaXQgPSB7IHAxOnsgeDoxMSwgeTox
MiB9LCBwMjp7IHg6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCB5OjIzIH0sIHAzOnsgeDozMywg
eTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgfSwgcDQ6eyB4Ok51bWJlci5QT1NJVElWRV9JTkZJ
TklUWSwgeTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgfSB9OworICAgICAgICAgICAgY2hlY2tE
T01RdWFkKG5ldyBET01RdWFkKGluaXQucDEsIGluaXQucDIsIGluaXQucDMsIGluaXQucDQpLCBp
bml0KTsKKyAgICAgICAgfSwndGVzdENvbnN0cnVjdG9ySW5mcycpOworICAgICAgICB0ZXN0KGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIGluaXQgPSB7IHAxOnsgeDoxMSwgeToxMiB9LCBw
Mjp7IHg6MjIsIHk6MjMgfSwgcDM6eyB4OjMzLCB5OjM0IH0sIHA0OnsgeDo0NCwgeTo0NSB9IH07
CisgICAgICAgICAgICBjaGVja0RPTVF1YWQoRE9NUXVhZC5mcm9tUXVhZChpbml0KSwgaW5pdCk7
CisgICAgICAgIH0sJ3Rlc3RGcm9tUXVhZCcpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgdmFyIHggPSAxMTsKKyAgICAgICAgICAgIHZhciB5ID0gMTIKKyAgICAgICAg
ICAgIHZhciB3aWR0aCA9IDEwNDsKKyAgICAgICAgICAgIHZhciBoZWlnaHQgPSAxMDU7CisKKyAg
ICAgICAgICAgIC8vICBwMS0tLS0tLXAyCisgICAgICAgICAgICAvLyAgfCAgICAgICB8CisgICAg
ICAgICAgICAvLyAgfCAgICAgICB8CisgICAgICAgICAgICAvLyAgcDQtLS0tLS1wMworICAgICAg
ICAgICAgdmFyIHF1YWQgPSB7IHAxOnsgeDp4LCB5OnkgfSwgcDI6eyB4OnggKyB3aWR0aCwgeTp5
IH0sIHAzOnsgeDp4ICsgd2lkdGgsIHk6eSArIGhlaWdodCB9LCBwNDp7IHg6eCwgeTp5ICsgaGVp
Z2h0IH0gfTsKKyAgICAgICAgICAgIHZhciByZWN0ID0gbmV3IERPTVJlY3QoeCwgeSwgd2lkdGgs
IGhlaWdodCk7CisgICAgICAgICAgICBjaGVja0RPTVF1YWQoRE9NUXVhZC5mcm9tUmVjdChyZWN0
KSwgcXVhZCk7CisgICAgICAgIH0sJ3Rlc3RGcm9tUmVjdCcpOworICAgICAgICB0ZXN0KGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgdmFyIHggPSBOYU47CisgICAgICAgICAgICB2YXIgeSA9IDEy
CisgICAgICAgICAgICB2YXIgd2lkdGggPSBOYU47CisgICAgICAgICAgICB2YXIgaGVpZ2h0ID0g
MTA1OworICAgICAgICAgICAgdmFyIHF1YWQgPSB7IHAxOnsgeDp4LCB5OnkgfSwgcDI6eyB4Ongg
KyB3aWR0aCwgeTp5IH0sIHAzOnsgeDp4ICsgd2lkdGgsIHk6eSArIGhlaWdodCB9LCBwNDp7IHg6
eCwgeTp5ICsgaGVpZ2h0IH0gfTsKKyAgICAgICAgICAgIHZhciByZWN0ID0gbmV3IERPTVJlY3Qo
eCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgICAgICBjaGVja0RPTVF1YWQoRE9NUXVhZC5m
cm9tUmVjdChyZWN0KSwgcXVhZCk7CisgICAgICAgIH0sJ3Rlc3RGcm9tUmVjdE5hTicpOworICAg
ICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIHggPSAxMTsKKyAgICAgICAg
ICAgIHZhciB5ID0gMTIKKyAgICAgICAgICAgIHZhciB3aWR0aCA9IDEwNDsKKyAgICAgICAgICAg
IHZhciBoZWlnaHQgPSAxMDU7CisgICAgICAgICAgICB2YXIgcmVjdCA9IG5ldyBET01SZWN0KHgs
IHksIHdpZHRoLCBoZWlnaHQpOworICAgICAgICAgICAgY2hlY2tET01SZWN0KERPTVF1YWQuZnJv
bVJlY3QocmVjdCkuZ2V0Qm91bmRzKCksIHsgeCwgeSwgd2lkdGgsIGhlaWdodCB9KTsKKyAgICAg
ICAgfSwndGVzdEJvdW5kczEnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIHZhciBpbml0ID0geyBwMTp7IHg6NSwgeToxLjUgfSwgcDI6eyB4OjUwLCB5OjMgfSwgcDM6
eyB4OjM2LCB5OjI2LjcgfSwgcDQ6eyB4OjIsIHk6MTUgfSB9OworICAgICAgICAgICAgY2hlY2tE
T01SZWN0KG5ldyBET01RdWFkKGluaXQucDEsIGluaXQucDIsIGluaXQucDMsIGluaXQucDQpLmdl
dEJvdW5kcygpLCB7IHg6MiwgeToxLjUsIHdpZHRoOjQ4LCBoZWlnaHQ6MjUuMiB9KTsKKyAgICAg
ICAgfSwndGVzdEJvdW5kczInKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIHZhciBpbml0ID0geyBwMTp7IHg6NSwgeTpOYU4gfSwgcDI6eyB4OkluZmluaXR5LCB5OjMg
fSwgcDM6eyB4OjM2LCB5OjI2LjcgfSwgcDQ6eyB4OjIsIHk6MTUgfSB9OworICAgICAgICAgICAg
Y2hlY2tET01SZWN0KG5ldyBET01RdWFkKGluaXQucDEsIGluaXQucDIsIGluaXQucDMsIGluaXQu
cDQpLmdldEJvdW5kcygpLCB7IHg6MiwgeTpOYU4sIHdpZHRoOkluZmluaXR5LCBoZWlnaHQ6TmFO
IH0pOworICAgICAgICB9LCd0ZXN0Qm91bmRzTmFOSW5mJyk7CisgICAgICAgIHRlc3QoZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4OjExLCB5OjEyIH0sIHAyOnsg
eDoyMiwgeToyMyB9LCBwMzp7IHg6MzMsIHk6MzQgfSwgcDQ6eyB4OjQ0LCB5OjQ1IH0gfTsKKyAg
ICAgICAgICAgIHZhciBxdWFkID0gbmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5w
MywgaW5pdC5wNCk7CisgICAgICAgICAgICBhc3NlcnRfdHJ1ZShxdWFkLnAxID09IHF1YWQucDEp
OworICAgICAgICAgICAgYXNzZXJ0X3RydWUocXVhZC5wMiA9PSBxdWFkLnAyKTsKKyAgICAgICAg
ICAgIGFzc2VydF90cnVlKHF1YWQucDMgPT0gcXVhZC5wMyk7CisgICAgICAgICAgICBhc3NlcnRf
dHJ1ZShxdWFkLnA0ID09IHF1YWQucDQpOworICAgICAgICB9LCd0ZXN0U2FtZU9iamVjdHMnKTsK
KworICAgICAgICBmdW5jdGlvbiBjaGVja0RPTVJlY3QocmVjdCwgZXhwKSB7CisgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKHJlY3QueCwgZXhwLngsICJFeHBlY3RlZCB2YWx1ZSBmb3IgeCBpcyAi
ICsgZXhwLngpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWN0LnksIGV4cC55LCAiRXhw
ZWN0ZWQgdmFsdWUgZm9yIHkgaXMgIiArIGV4cC55KTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMocmVjdC53aWR0aCwgZXhwLndpZHRoLCAiRXhwZWN0ZWQgdmFsdWUgZm9yIHdpZHRoIGlzICIg
KyBleHAud2lkdGgpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWN0LmhlaWdodCwgZXhw
LmhlaWdodCwgIkV4cGVjdGVkIHZhbHVlIGZvciBoZWlnaHQgaXMgIiArIGV4cC5oZWlnaHQpOwor
ICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gY2hlY2tET01RdWFkKHF1YWQsIGV4cCkgewor
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhxdWFkLnAxLngsIGV4cC5wMS54LCAiRXhwZWN0ZWQg
dmFsdWUgZm9yIHAxLnggaXMgIiArIGV4cC5wMS54KTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMocXVhZC5wMS55LCBleHAucDEueSwgIkV4cGVjdGVkIHZhbHVlIGZvciBwMS55IGlzICIgKyBl
eHAucDEueSk7CisKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocXVhZC5wMi54LCBleHAucDIu
eCwgIkV4cGVjdGVkIHZhbHVlIGZvciBwMi54IGlzICIgKyBleHAucDIueCk7CisgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKHF1YWQucDIueSwgZXhwLnAyLnksICJFeHBlY3RlZCB2YWx1ZSBmb3Ig
cDIueSBpcyAiICsgZXhwLnAyLnkpOworCisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHF1YWQu
cDMueCwgZXhwLnAzLngsICJFeHBlY3RlZCB2YWx1ZSBmb3IgcDMueCBpcyAiICsgZXhwLnAzLngp
OworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhxdWFkLnAzLnksIGV4cC5wMy55LCAiRXhwZWN0
ZWQgdmFsdWUgZm9yIHAzLnkgaXMgIiArIGV4cC5wMy55KTsKKworICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhxdWFkLnA0LngsIGV4cC5wNC54LCAiRXhwZWN0ZWQgdmFsdWUgZm9yIHA0LnggaXMg
IiArIGV4cC5wNC54KTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocXVhZC5wNC55LCBleHAu
cDQueSwgIkV4cGVjdGVkIHZhbHVlIGZvciBwNC55IGlzICIgKyBleHAucDQueSk7CisgICAgICAg
IH0KKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2dlb21ldHJ5L0RPTVJlY3QtMDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9nZW9tZXRyeS9ET01S
ZWN0LTAwMS5odG1sCmluZGV4IDEzMGUwNjlmZTNiNDA2MDFjZTZjN2M5ZmUwODk5NGNlNzBhNDlh
NGIuLmYyY2VkOTE3ZThkODMwMTk3ZDEyYzY0MWJjZjM4ZTNjOGIyYzI5YjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2dlb21ldHJ5L0RPTVJlY3QtMDAxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
Z2VvbWV0cnkvRE9NUmVjdC0wMDEuaHRtbApAQCAtMiw3ICsyLDcgQEAKIDxodG1sPgogPGhlYWQ+
CiAgICAgPHRpdGxlPkdlb21ldHJ5IEludGVyZmFjZXM6IERPTVJlY3QgYW5kIERPTVJlY3RSZWFk
T25seSBpbnRlcmZhY2UgdGVzdHMuPC90aXRsZT4KLSAgICA8bGluayByZWw9ImF1dGhvciIgdGl0
bGU9IkRpcmsgU2NodWx6ZSIgaHJlZj0ibWFpbHRvOnNpbW9uLmZyYXNlckBhcHBsZS5jb20iIC8+
CisgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJTaW1vbiBGcmFzZXIiIGhyZWY9Im1haWx0
bzpzaW1vbi5mcmFzZXJAYXBwbGUuY29tIiAvPgogICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cDovL3d3dy53My5vcmcvVFIvZ2VvbWV0cnktMS8jRE9NUmVjdCI+CiAgICAgPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jRE9NUmVjdCI+
CiAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRy
aWJ1dGVzLWRlZGljYXRlZC13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9t
L2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1kZWRpY2F0ZWQtd29ya2VyLWV4cGVjdGVk
LnR4dAppbmRleCBlZjU4NzNkYzBkMWI0MzQ5M2M5NmE0MTljYzRhNmQwMjdiNmVkMzIwLi4zN2M0
NWI3NTI4OWFhMWU0MTQwMzNjODhiYzlhNmQ2M2EzYmMxYzA2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWRlZGljYXRlZC13b3Jr
ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0
b3JzLWF0dHJpYnV0ZXMtZGVkaWNhdGVkLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTU5LDYgKzU5
LDExIEBAIFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdET01Qb2ludFJlYWRPbmx5JykuaGFzT3duCiBQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmhhc093blBy
b3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5lbnVtZXJhYmxlIGlzIGZh
bHNlCiBQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFs
LCAnRE9NUG9pbnRSZWFkT25seScpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIFtXb3JrZXJd
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLnZhbHVl
IGlzIERPTVF1YWQKK1BBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdET01RdWFkJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNT
IFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVh
ZCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQorUEFTUyBbV29ya2VyXSBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5lbnVtZXJhYmxlIGlz
IGZhbHNlCitQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xv
YmFsLCAnRE9NUXVhZCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIFtXb3JrZXJdIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVjdCcpLnZhbHVlIGlzIERP
TVJlY3QKIFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdET01SZWN0JykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCiBQQVNTIFtXb3Jr
ZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVjdCcpLmhh
c093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMv
ZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApp
bmRleCBlNTlhNjBhNDIxNDgxMTY4MWM0OTc5MmU1MWJlZWYwNWU5ZWQ4NDA4Li5lODE5OWI0OTYy
OTM5OWVhZjY2NTk0ZDAwM2VlNDExYTZjZDZiNjE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9q
cy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVk
LnR4dApAQCAtMjk4LDYgKzI5OCwxMSBAQCBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmhhc093blByb3BlcnR5KAogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHkn
KS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5JykuZW51bWVyYWJsZSBpcyBm
YWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBv
aW50UmVhZE9ubHknKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS52YWx1ZSBpcyBET01RdWFkCitQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmhhc093
blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UK
K1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJyku
ZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ0RPTVF1YWQnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS52YWx1ZSBpcyBET01SZWN0
CiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVjdCcp
Lmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMg
ZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9qcy9kb20vZ2xvYmFs
LWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dAppbmRleCAxNTBlNDE4ZDRkNzlkZjgwNjg0NWFlMzU0NzhlYjMxMmRiMWYyOTk3Li44ODAzNzQz
MGUxMzUxZjAyYzQ3YTdjMjc4NTlmN2Y4YWM0YjVjYTBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2pzL2RvbS9nbG9iYWwtY29u
c3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0yOTgsNiArMjk4LDExIEBAIFBB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRP
bmx5JykuaGFzT3duUHJvcGVydHkoCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBm
YWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBv
aW50UmVhZE9ubHknKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmNvbmZpZ3VyYWJsZSBp
cyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9N
UXVhZCcpLnZhbHVlIGlzIERPTVF1YWQKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdET01RdWFkJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmhh
c093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmNvbmZpZ3Vy
YWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFs
LCAnRE9NUmVjdCcpLnZhbHVlIGlzIERPTVJlY3QKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZh
bHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVj
dCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2pzL2RvbS9nbG9iYWwtY29uc3Ry
dWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IDlmY2RhNmU4NWRhYjI4YjcxZWU1
MDRjOWE0NmQ4YTBmMDVmYTc5YzkuLjIxYTZlYTlmNWRjYmUxZTFlMmFlZTBiM2ZkOTliYjljYzU4
MTQ4NDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9qcy9kb20vZ2xvYmFs
LWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3Rl
ZC50eHQKQEAgLTMzMyw2ICszMzMsMTEgQEAgUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5oYXNPd25Qcm9wZXJ0eSgKIFBBU1Mg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5
JykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmVudW1lcmFibGUgaXMg
ZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Q
b2ludFJlYWRPbmx5JykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykudmFsdWUgaXMgRE9NUXVhZAorUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5oYXNP
d25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdET01RdWFkJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNl
CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcp
LmVudW1lcmFibGUgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdET01RdWFkJykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykudmFsdWUgaXMgRE9NUmVj
dAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3Qn
KS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlz
IGZhbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9n
bG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4
cGVjdGVkLnR4dAppbmRleCBhN2ZiMDg2OGFmZGJjOTA0MWIxM2I0YzVlZGI0MWU0MzRhZWMwYWY1
Li5lMzg4NGM1MTU2ZTNiMGU3MzY3MmE1YmI3MTU3YjVjOWZiMzA5OTA2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0
dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
anMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTM0
Myw2ICszNDMsMTEgQEAgUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ0RPTVBvaW50UmVhZE9ubHknKS5oYXNPd25Qcm9wZXJ0eSgKIFBBU1MgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5JykuaGFzT3duUHJv
cGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1Mg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5
JykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdET01RdWFkJykudmFsdWUgaXMgRE9NUXVhZAorUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5oYXNPd25Qcm9wZXJ0eSgn
Z2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdET01RdWFkJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmVudW1lcmFibGUg
aXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdE
T01RdWFkJykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykudmFsdWUgaXMgRE9NUmVjdAogUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS5oYXNPd25Qcm9w
ZXJ0eSgnZ2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdET01SZWN0JykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMteW9zZW1pdGUvanMvZG9tL2dsb2JhbC1j
b25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMteW9zZW1pdGUvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQKaW5kZXggNzI5ZTJjMTE0ZGQ1MmVhODlmMDlhM2E5YTY3MGQxZGZjNjY3YTFhOC4u
NDc2ZDE5MzIxNjFlMDdjNDM0MzA2ZTMyMjJmZDNmNzNkYjJjMGU1OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3Jz
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy15
b3NlbWl0ZS9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dApAQCAtMzQzLDYgKzM0MywxMSBAQCBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmhhc093blByb3BlcnR5KAogUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5o
YXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5JykuZW51bWVyYWJsZSBpcyBmYWxz
ZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50
UmVhZE9ubHknKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS52YWx1ZSBpcyBET01RdWFkCitQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmhhc093blBy
b3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKK1BB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykuZW51
bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ0RPTVF1YWQnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS52YWx1ZSBpcyBET01SZWN0CiBQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVjdCcpLmhh
c093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFs
c2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xvYmFsLWNv
bnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApp
bmRleCAwNzE4ZjgyM2Y1MmQ1OGQ3NmM5YjM0NTFlNjQ0OGVhNDQ3NzI0MmRmLi5iOTkzN2ZkNjcw
ZWRlZDk4NzJjOGJhMDQ5YjkxZjVkN2E2YzBhNzc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2pzL2RvbS9nbG9iYWwtY29uc3Ry
dWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0zNDMsNiArMzQzLDExIEBAIFBBU1Mg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5
JykuaGFzT3duUHJvcGVydHkoCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxz
ZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50
UmVhZE9ubHknKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmNvbmZpZ3VyYWJsZSBpcyB0
cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVh
ZCcpLnZhbHVlIGlzIERPTVF1YWQKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdET01RdWFkJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmhhc093
blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmNvbmZpZ3VyYWJs
ZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAn
RE9NUmVjdCcpLnZhbHVlIGlzIERPTVJlY3QKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdET01SZWN0JykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNl
CiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVjdCcp
Lmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0
b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IDhlN2UzMzg0MTVlZTRmYzhmNDkwOWRl
MTExZDYzOThmOTg4ZDg2OTEuLjQwMmU4OTA3MDRlNjIwNmQ4NTM4OTU4NzExNzc3ZmY4OTliMjE3
YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9qcy9kb20vZ2xvYmFsLWNv
bnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50
eHQKQEAgLTIzOCw2ICsyMzgsMTEgQEAgUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5oYXNPd25Qcm9wZXJ0eSgKIFBBU1MgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5Jyku
aGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmVudW1lcmFibGUgaXMgZmFs
c2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2lu
dFJlYWRPbmx5JykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykudmFsdWUgaXMgRE9NUXVhZAorUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5oYXNPd25Q
cm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdET01RdWFkJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmVu
dW1lcmFibGUgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdET01RdWFkJykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykudmFsdWUgaXMgRE9NUmVjdAog
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS5o
YXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZh
bHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311929</attachid>
            <date>2017-06-03 09:17:48 -0700</date>
            <delta_ts>2017-06-03 09:26:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163534-20170603091746.patch</filename>
            <type>text/plain</type>
            <size>42257</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzAyOTRhMzEyMTlmY2Vm
MWY3YzYxMmVkYzEyNWNjNWY5NjEzNjVmYi4uNjlkZDQxMDNhODQyOTA2YjdlMjA4MGY4OGUwNGQ1
YTU0ODA3MGMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE3LTA2LTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBE
T01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0OiBnZW9tZXRyeS9ET01RdWFkLTAwMS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVF1YWRD
dXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NUXVhZDo6cDEpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNET01RdWFkOjpwMik6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVF1
YWQ6OnAzKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NUXVhZDo6cDQpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01RdWFkOjpnZXRCb3VuZHMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvci5wbToKKyAgICAgICAgKElzU2VyaWFsaXphYmxlRE9NVHlwZSk6CisgICAg
ICAgIChJc1NlcmlhbGl6YWJsZUF0dHJpYnV0ZSk6CisgICAgICAgICogZG9tL0RPTVF1YWQuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6OmdldEJvdW5kcyk6CisgICAgICAg
ICogZG9tL0RPTVF1YWQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6ZnJvbVJlY3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NUXVhZDo6ZnJvbVF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDEp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDIpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
UXVhZDo6cDMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDQpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NUXVhZDo6RE9NUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjptX3Ay
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6Om1fcDMpOgorICAgICAgICAoV2ViQ29yZTo6
RE9NUXVhZDo6bV9wNCk6CisgICAgICAgICogZG9tL0RPTVF1YWQuaWRsOiBBZGRlZC4KKyAgICAg
ICAgKiBkb20vRE9NUXVhZEluaXQuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RPTVF1YWRJbml0
LmlkbDogQWRkZWQuCisKIDIwMTctMDUtMjkgIEVtaWxpbyBDb2JvcyDDgWx2YXJleiAgPGVjb2Jv
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVzZSB0aGUgcGFyZW50IGJveCBzdHlsZSB0byBhZGp1
c3QgUmVuZGVyU3R5bGUgZm9yIGFsaWdubWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzRm
ZmRlM2EyODc2NmEyNjQzMGM0ZDIyMzAxOWQxOGEwOGFlNmQwMS4uMjg3NjdmZGIwMmZlZDc4MzRj
MzdmODRlNDIwYjY3YTI1NDNiYmE1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQxNyw2ICs0
MTcsOCBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGRvbS9ET01Qb2ludC5p
ZGwKICAgICBkb20vRE9NUG9pbnRJbml0LmlkbAogICAgIGRvbS9ET01Qb2ludFJlYWRPbmx5Lmlk
bAorICAgIGRvbS9ET01RdWFkLmlkbAorICAgIGRvbS9ET01RdWFkSW5pdC5pZGwKICAgICBkb20v
RE9NUmVjdC5pZGwKICAgICBkb20vRE9NUmVjdEluaXQuaWRsCiAgICAgZG9tL0RPTVJlY3RSZWFk
T25seS5pZGwKQEAgLTExNTAsNiArMTE1Miw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBi
aW5kaW5ncy9qcy9KU0RPTUJ1aWx0aW5Db25zdHJ1Y3RvckJhc2UuY3BwCiAgICAgYmluZGluZ3Mv
anMvSlNET01Db25zdHJ1Y3RvckJhc2UuY3BwCiAgICAgYmluZGluZ3MvanMvSlNET01Db25zdHJ1
Y3RvcldpdGhEb2N1bWVudC5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU0RPTVF1YWRDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdFRhc2suY3BwCkBAIC0xNDQ4LDYgKzE0NTEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgZG9tL0RPTUVycm9yLmNwcAogICAgIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKICAgICBk
b20vRE9NTmFtZWRGbG93Q29sbGVjdGlvbi5jcHAKKyAgICBkb20vRE9NUXVhZC5jcHAKICAgICBk
b20vRE9NUmVjdC5jcHAKICAgICBkb20vRE9NU3RyaW5nTGlzdC5jcHAKICAgICBkb20vRGF0YVRy
YW5zZmVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDY3M2ZiNjU0ODgz
ZDdmMmNjMDFkYjcxMjNmNDNiNzBjNTViN2ZjNS4uOTAxZTIyZTgxODY2ZmUzNzc4NDVmMDkxMmI4
NzIyNjI3MjcwNWJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zNTcsNiAr
MzU3LDggQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvZG9tL0RPTVBvaW50
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUG9pbnRJbml0LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9kb20vRE9NUG9pbnRSZWFkT25seS5pZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0RPTVF1
YWQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9ET01RdWFkSW5pdC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvZG9tL0RPTVJlY3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01SZWN0SW5pdC5p
ZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0RPTVJlY3RSZWFkT25seS5pZGwgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgwYTBl
YzVjYzFkOGQ5MGU3NGQ0Mjk0NjU3NGIzMDA5NzYxNWU1NzMuLjkyMmQzNTRhNTQ1Y2JlNTcxYTEz
OWJmNjk4ODkxMDdmNjU4ZWNiNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQwNyw2ICs0MDcsMTMgQEAKIAkJMEM0NTM0Mjgx
MENEQkJGQTAwODY5MTU3IC8qIEpTV2ViR0xVbmlmb3JtTG9jYXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBDNDUzNDI2MTBDREJCRkEwMDg2OTE1
NyAvKiBKU1dlYkdMVW5pZm9ybUxvY2F0aW9uLmggKi87IH07CiAJCTBFNzA1OEVFMUJDNUJDMTkw
MDQ1QTUwNyAvKiBTZWFyY2hQb3B1cE1lbnVDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBFNzA1OEVEMUJDNUJDMTkwMDQ1QTUwNyAvKiBTZWFy
Y2hQb3B1cE1lbnVDb2NvYS5tbSAqLzsgfTsKIAkJMEU3MDU4RjQxQkM1Q0VEQTAwNDVBNTA3IC8q
IFNlYXJjaFBvcHVwTWVudUNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRTcwNThGMzFCQzVDQ0Q3MDA0NUE1MDcgLyogU2VhcmNoUG9wdXBNZW51
Q29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjAzODQ5OTFFRTI3QjVBMDA2QzE5REUgLyogRE9NUXVhZC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjAzODQ5NDFFRTI3QjVBMDA2QzE5REUg
LyogRE9NUXVhZC5jcHAgKi87IH07CisJCTBGMDM4NDlBMUVFMjdCNUEwMDZDMTlERSAvKiBET01R
dWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjAz
ODQ5NTFFRTI3QjVBMDA2QzE5REUgLyogRE9NUXVhZC5oICovOyB9OworCQkwRjAzODQ5QzFFRTI3
QjVBMDA2QzE5REUgLyogRE9NUXVhZEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMDM4NDk3MUVFMjdCNUEwMDZDMTlERSAvKiBET01RdWFkSW5p
dC5oICovOyB9OworCQkwRjAzODRBMjFFRTI3RDM3MDA2QzE5REUgLyogSlNET01RdWFkLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMDM4NDlFMUVF
MjdEMzcwMDZDMTlERSAvKiBKU0RPTVF1YWQuY3BwICovOyB9OworCQkwRjAzODRBMzFFRTI3RDM3
MDA2QzE5REUgLyogSlNET01RdWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjAzODQ5RjFFRTI3RDM3MDA2QzE5REUgLyogSlNET01RdWFkLmggKi87
IH07CisJCTBGMDM4NEE0MUVFMjdEMzcwMDZDMTlERSAvKiBKU0RPTVF1YWRJbml0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMDM4NEEwMUVFMjdE
MzcwMDZDMTlERSAvKiBKU0RPTVF1YWRJbml0LmNwcCAqLzsgfTsKKwkJMEYwMzg0QTUxRUUyN0Qz
NzAwNkMxOURFIC8qIEpTRE9NUXVhZEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMDM4NEExMUVFMjdEMzcwMDZDMTlERSAvKiBKU0RPTVF1YWRJ
bml0LmggKi87IH07CiAJCTBGMDNDMDc0MTg4NDY5NUUwMEE1RjhDQSAvKiBTeXN0ZW1NZW1vcnku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMDNDMDcz
MTg4NDY5NUUwMEE1RjhDQSAvKiBTeXN0ZW1NZW1vcnkuaCAqLzsgfTsKIAkJMEYwM0MwNzUxODg0
ODA1NTAwQTVGOENBIC8qIEluc3BlY3Rvck92ZXJsYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNTIyRDRBMTVCNDc4QjIwMDlCN0M5NSAvKiBJbnNw
ZWN0b3JPdmVybGF5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMEYwOTA4N0YxNDQ0RkRCMjAwMDI4OTE3IC8qIFNjcm9sbGJhclRoZW1lLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTcxNDE1MTQy
MTg5RkMwMERCMzNCQSAvKiBTY3JvbGxiYXJUaGVtZS5jcHAgKi87IH07CkBAIC01NjAsNiArNTY3
LDcgQEAKIAkJMEZGNTAyNkExMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNTAyNjgxMDJCQTk0
MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5oICovOyB9OwogCQkwRkY1MDI3MTEwMkJBOTZBMDA2
NkYzOUEgLyogU3R5bGVNZWRpYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkY1MDI2RTEwMkJBOTY2MDA2NkYzOUEgLyogU3R5bGVNZWRpYS5jcHAg
Ki87IH07CiAJCTBGRjUwMjcyMTAyQkE5NkEwMDY2RjM5QSAvKiBTdHlsZU1lZGlhLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1MDI2RjEwMkJBOTZB
MDA2NkYzOUEgLyogU3R5bGVNZWRpYS5oICovOyB9OworCQkwRkY4MzVCMzFFRTMwREQ1MDA4QjRD
QzcgLyogSlNET01RdWFkQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRjgzNUIyMUVFMzBERDUwMDhCNENDNyAvKiBKU0RPTVF1YWRDdXN0
b20uY3BwICovOyB9OwogCQkwRkZENEQ2MDE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxp
bmdDb29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkZENEQ1RTE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvci5jcHAgKi87IH07CiAJCTBGRkQ0RDYxMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkZENEQ1RjE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTEwRkIwODRCMTRFMTVDN0UwMEEzREI5OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxMEZCMDg0QTE0RTE1QzdFMDBB
M0RCOTggLyogUHVibGljVVJMTWFuYWdlci5oICovOyB9OwpAQCAtNzgwMyw2ICs3ODExLDE1IEBA
CiAJCTBDNDUzNDI2MTBDREJCRkEwMDg2OTE1NyAvKiBKU1dlYkdMVW5pZm9ybUxvY2F0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2ViR0xVbmlmb3JtTG9jYXRpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEU3MDU4RUQxQkM1QkMxOTAwNDVBNTA3
IC8qIFNlYXJjaFBvcHVwTWVudUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gU2VhcmNoUG9wdXBNZW51Q29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTBFNzA1OEYzMUJDNUNDRDcwMDQ1QTUwNyAvKiBTZWFyY2hQb3B1cE1lbnVDb2Nv
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTZWFyY2hQb3B1cE1lbnVDb2NvYS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjAzODQ5NDFFRTI3QjVBMDA2QzE5REUgLyogRE9NUXVhZC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01RdWFkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYwMzg0OTUxRUUyN0I1QTAwNkMxOURFIC8qIERPTVF1
YWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NUXVhZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjAzODQ5NjFFRTI3QjVBMDA2QzE5REUgLyogRE9NUXVh
ZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NUXVhZC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGMDM4NDk3MUVFMjdCNUEwMDZDMTlERSAvKiBET01RdWFkSW5pdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01RdWFkSW5pdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjAzODQ5ODFFRTI3QjVBMDA2QzE5REUgLyogRE9NUXVh
ZEluaXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTVF1YWRJbml0LmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEYwMzg0OUUxRUUyN0QzNzAwNkMxOURFIC8qIEpTRE9N
UXVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVF1YWQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjAzODQ5RjFFRTI3RDM3MDA2QzE5
REUgLyogSlNET01RdWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9N
UXVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjAzODRBMDFFRTI3RDM3MDA2
QzE5REUgLyogSlNET01RdWFkSW5pdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0RPTVF1YWRJbml0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEYwMzg0QTExRUUyN0QzNzAwNkMxOURFIC8qIEpTRE9NUXVhZEluaXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01RdWFkSW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwRjAzQzA3MzE4ODQ2OTVFMDBBNUY4Q0EgLyogU3lzdGVtTWVtb3J5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5c3RlbU1lbW9yeS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRjA5OUQwNjE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5
cGVkQXJyYXlDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTBGMDk5RDA3MTdCOTY4QTEwMEZGODRCOSAvKiBXZWJDb3JlVHlwZWRBcnJheUNv
bnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZVR5cGVk
QXJyYXlDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03OTY2LDYg
Kzc5ODMsNyBAQAogCQkwRkY1MDI2RTEwMkJBOTY2MDA2NkYzOUEgLyogU3R5bGVNZWRpYS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZU1lZGlhLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGNTAyNkYxMDJCQTk2QTAwNjZGMzlBIC8qIFN0
eWxlTWVkaWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVNZWRpYS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1MDI3MDEwMkJBOTZBMDA2NkYzOUEg
LyogU3R5bGVNZWRpYS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU3R5bGVNZWRpYS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjgzNUIyMUVFMzBERDUwMDhCNENDNyAv
KiBKU0RPTVF1YWRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNET01RdWFkQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZG
RDRENUUxODY1MUZBMzAwNTEyRjZFIC8qIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRkQ0RDVGMTg2NTFGQTMw
MDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMTBGQjA4NEExNEUxNUM3RTAwQTNEQjk4IC8qIFB1YmxpY1VSTE1h
bmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVibGljVVJMTWFuYWdl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE5NzksNiArMjE5OTcsMTAgQEAK
IAkJCQkwRjQ5NjZBNzFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludEluaXQuaCAqLywKIAkJ
CQkwRjQ5NjZBODFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludFJlYWRPbmx5LmNwcCAqLywK
IAkJCQkwRjQ5NjZBOTFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludFJlYWRPbmx5LmggKi8s
CisJCQkJMEYwMzg0OUUxRUUyN0QzNzAwNkMxOURFIC8qIEpTRE9NUXVhZC5jcHAgKi8sCisJCQkJ
MEYwMzg0OUYxRUUyN0QzNzAwNkMxOURFIC8qIEpTRE9NUXVhZC5oICovLAorCQkJCTBGMDM4NEEw
MUVFMjdEMzcwMDZDMTlERSAvKiBKU0RPTVF1YWRJbml0LmNwcCAqLywKKwkJCQkwRjAzODRBMTFF
RTI3RDM3MDA2QzE5REUgLyogSlNET01RdWFkSW5pdC5oICovLAogCQkJCTBGNDcxMEI1MURCNTZC
RTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3QuY3BwICovLAogCQkJCTBGNDcxMEI2MURCNTZCRTgwMDJE
Q0VDMyAvKiBKU0RPTVJlY3QuaCAqLywKIAkJCQkwRjQ3MTBCNzFEQjU2QkU4MDAyRENFQzMgLyog
SlNET01SZWN0SW5pdC5jcHAgKi8sCkBAIC0yMzUzNSw2ICsyMzU1Nyw3IEBACiAJCQkJREVDMjk3
NUQxQjRERUIyQTAwNUY1OTQ1IC8qIEpTQ3VzdG9tRXZlbnRDdXN0b20uY3BwICovLAogCQkJCTQ5
QzdCQThDMTA0MkY1QjEwMDA5RDQ0NyAvKiBKU0RvY3VtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlB
RERBOTRCRjE5Njg2RjgwMDA0NTMwMjkgLyogSlNEb2N1bWVudEN1c3RvbS5oICovLAorCQkJCTBG
RjgzNUIyMUVFMzBERDUwMDhCNENDNyAvKiBKU0RPTVF1YWRDdXN0b20uY3BwICovLAogCQkJCUJD
NjQ2NDlCMTFEODIzOEMwMDY0NTVCMCAvKiBKU0RPTVN0cmluZ01hcEN1c3RvbS5jcHAgKi8sCiAJ
CQkJQkNEOUMyNUUwQzE3QUE2NzAwNUM5MEEyIC8qIEpTRE9NV2luZG93Q3VzdG9tLmNwcCAqLywK
IAkJCQk2NTJGQkJCQjBERTI3Q0I2MDAwMUQzODYgLyogSlNET01XaW5kb3dDdXN0b20uaCAqLywK
QEAgLTI1NjEzLDYgKzI1NjM2LDExIEBACiAJCQkJMEY0OTY2QTExREI0MDkwMTAwQTI3NEJCIC8q
IERPTVBvaW50SW5pdC5pZGwgKi8sCiAJCQkJMEY0OTY2OUIxREI0MDhDMTAwQTI3NEJCIC8qIERP
TVBvaW50UmVhZE9ubHkuaCAqLywKIAkJCQkwRjQ5NjY5QzFEQjQwOEMxMDBBMjc0QkIgLyogRE9N
UG9pbnRSZWFkT25seS5pZGwgKi8sCisJCQkJMEYwMzg0OTQxRUUyN0I1QTAwNkMxOURFIC8qIERP
TVF1YWQuY3BwICovLAorCQkJCTBGMDM4NDk1MUVFMjdCNUEwMDZDMTlERSAvKiBET01RdWFkLmgg
Ki8sCisJCQkJMEYwMzg0OTYxRUUyN0I1QTAwNkMxOURFIC8qIERPTVF1YWQuaWRsICovLAorCQkJ
CTBGMDM4NDk3MUVFMjdCNUEwMDZDMTlERSAvKiBET01RdWFkSW5pdC5oICovLAorCQkJCTBGMDM4
NDk4MUVFMjdCNUEwMDZDMTlERSAvKiBET01RdWFkSW5pdC5pZGwgKi8sCiAJCQkJODMxNDlGRjUx
RUIzOEIxMjAwMDg5NjY1IC8qIERPTVJlY3QuY3BwICovLAogCQkJCTBGNDcxMEE5MURCNTZBRkMw
MDJEQ0VDMyAvKiBET01SZWN0LmggKi8sCiAJCQkJMEY0NzEwQUExREI1NkFGQzAwMkRDRUMzIC8q
IERPTVJlY3QuaWRsICovLApAQCAtMjY0NDIsNiArMjY0NzAsNyBAQAogCQkJCTdDNjU3OUU4MUUw
MDgzMTYwMEUzQTI3QSAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQThBNjQ2MDFEMTlGQ0ZDMDBEMEUwMEYgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNl
bGVjdGVkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDYzMUQxOUZDRkMwMEQwRTAw
RiAvKiBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEYwMzg0OUMxRUUyN0I1QTAwNkMxOURFIC8qIERPTVF1YWRJbml0LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQThGNkJCRDBEQjU1Q0RDMDAxREI3OTQgLyogQXBwbGljYXRpb25DYWNoZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUE4RjZCQkYwREI1NUNEQzAwMURCNzk0IC8qIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjRGNTRFQUQxMDFGRTkxNDAwMEFFNzQxIC8q
IEFwcGxpY2F0aW9uQ2FjaGVIb3N0LmggaW4gSGVhZGVycyAqLywKQEAgLTI4NDE4LDYgKzI4NDQ3
LDcgQEAKIAkJCQk3QzRDOTZFMzFBRDQ0QUJGMDAzNjVBNTAgLyogTGF1bmNoU2VydmljZXNTUEku
aCBpbiBIZWFkZXJzICovLAogCQkJCTI5MTdCNTYyMTQ3MzQ5NkMwMDUyQzlEMCAvKiBMYXllckZs
dXNoU2NoZWR1bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTE3QjU2MzE0NzM0OTZDMDA1MkM5
RDAgLyogTGF5ZXJGbHVzaFNjaGVkdWxlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEYw
Mzg0OUExRUUyN0I1QTAwNkMxOURFIC8qIERPTVF1YWQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0
OTE2RkY3MTk1REY2QTAwMDVBQjM0OSAvKiBMYXllckZsdXNoVGhyb3R0bGVTdGF0ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTgwMzcxNjQxQTY2RjFEMzAwQkFGNTE5IC8qIExheWVyRnJhZ21lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdBQTNBNkEwMTk0QjU5QjYwMDFDQkQyNCAvKiBMYXllclBv
b2wuaCBpbiBIZWFkZXJzICovLApAQCAtMjkzOTEsNiArMjk0MjEsNyBAQAogCQkJCTk3QkM2QTRC
MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5N0JDNkE1MDE1MDVGMDgxMDAxQjc0QUMgLyogU1FMVHJhbnNhY3Rpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCUZFRTE4MTE0MTZDMzE5RTgwMDA4NDg0OSAvKiBTUUxUcmFuc2Fj
dGlvbkJhY2tlbmQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMDM4NEEzMUVFMjdEMzcwMDZDMTlE
RSAvKiBKU0RPTVF1YWQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QkM2QTUyMTUwNUYwODEwMDFC
NzRBQyAvKiBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0JD
NkE1NzE1MDVGMDgxMDAxQjc0QUMgLyogU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTdCQzZBNTgxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFRyYW5zYWN0aW9u
RXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTk3OCw2ICszMDAwOSw3IEBACiAJ
CQkJQTE5RDkzNDcxQTlGRUM3MjAwQjQ2QzI0IC8qIFdlYkZpbHRlckV2YWx1YXRvclNQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRDNGM0QzNkUxQTY5QjdFMDAwNTlGQzJCIC8qIFdlYkdMMlJlbmRl
cmluZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDIwRjZEMTA3RjQzOEIwMEE4MDM5
MiAvKiBXZWJHTEFjdGl2ZUluZm8uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMDM4NEE1MUVFMjdE
MzcwMDZDMTlERSAvKiBKU0RPTVF1YWRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTQ3RTY2
MTEwQjc5NDRCMDBCMTg2QzggLyogV2ViR0xBbnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRkZD
NDU4MUQ1RTg2NTUwMDI2N0E2NiAvKiBXZWJHTEJsYWNrbGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDlDN0I5QzkxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMQnVmZmVyLmggaW4gSGVhZGVycyAq
LywKQEAgLTMxODY1LDYgKzMxODk3LDcgQEAKIAkJCQk3QzlEQkZFRDFBOUM0OUIxMDAwRDZCMjUg
LyogSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ0NjE0
MzcwQ0Q2ODlDNDAwRkFEQTc1IC8qIEpTSFRNTEF1ZGlvRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBODBFN0IxMjBBMTlENjA2MDA3RkI4QzUgLyogSlNIVE1MQmFzZUVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMEZGODM1QjMxRUUzMERENTAwOEI0Q0M3IC8qIEpTRE9NUXVh
ZEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUUyQUEyMjBBMUNEQUI0MDBCNDJCMjUg
LyogSlNIVE1MQm9keUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMkFBMjQwQTFD
REFCNDAwQjQyQjI1IC8qIEpTSFRNTEJSRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
ODBFN0VBMDBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MQnV0dG9uRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTMxOTQ2LDYgKzMxOTc5LDcgQEAKIAkJCQkwNzA3NTZEMzE0MjM5QTRFMDA0
MTQxNjEgLyogSlNIVE1MVHJhY2tFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBODVC
MjEwMEExQjI1ODcwMEQ4Qzg3QyAvKiBKU0hUTUxVTGlzdEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNkU0QUJDRDQxMzhFQTBCNzAwNzFEMjkxIC8qIEpTSFRNTFVua25vd25FbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMDM4NEEyMUVFMjdEMzcwMDZDMTlERSAvKiBKU0RP
TVF1YWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ0NjE0MTYwQ0Q2ODI2OTAwRkFEQTc1IC8q
IEpTSFRNTFZpZGVvRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTFFRjJDMTE3RjBG
RDM1MDBFNEZBMTYgLyogSlNJREJDdXJzb3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyQkRC
NEQxQzQ2QjE1MzAwNjQ5NERGIC8qIEpTSURCQ3Vyc29yQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMzM0NDEsNiArMzM0NzUsNyBAQAogCQkJCUIyMjI3QUJEMEQwMEJGMjIwMDcxQjc4MiAv
KiBTVkdTd2l0Y2hFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QUMwMEQwMEJG
MjIwMDcxQjc4MiAvKiBTVkdTeW1ib2xFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIy
MjI3QUM0MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdUZXN0cy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRjAzODRBNDFFRTI3RDM3MDA2QzE5REUgLyogSlNET01RdWFkSW5pdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCMjIyN0FDNzBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHVGV4dENvbnRlbnRFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QUNBMEQwMEJGMjIwMDcxQjc4MiAvKiBT
VkdUZXh0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIyN0FDRDBEMDBCRjIyMDA3
MUI3ODIgLyogU1ZHVGV4dFBhdGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzM2Nzcs
NiArMzM3MTIsNyBAQAogCQkJCTQ5QzdCOUM4MTA0MkQzMkYwMDA5RDQ0NyAvKiBXZWJHTEJ1ZmZl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3RTY2RTIzMzE2RDZFQjZDMDBGN0U3RkYgLyogV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3RTY2RTIzMzE3
RTZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTBGMDM4NDk5MUVFMjdCNUEwMDZDMTlERSAvKiBET01RdWFkLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTZFM0ZBRThFMTQ3MzNGREIwMEU0MjMwNiAvKiBXZWJHTENvbXByZXNz
ZWRUZXh0dXJlUzNUQy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0Y2RjFFRDEyN0Y3MEIxMDA1
NUNCMDYgLyogV2ViR0xDb250ZXh0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDFEM0NG
ODIxNEJEMEEzMDAwRkU5OTcwIC8qIFdlYkdMQ29udGV4dEdyb3VwLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01RdWFkQ3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUXVhZEN1c3RvbS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWQ1NjI4NjNlNGZiZTkyNzI0YWM2ZjIxYTJiMjQ0Nzg5ZDEzYTY1MwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUXVhZEN1c3RvbS5j
cHAKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJKU0RPTVF1YWQuaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNs
dWRlICJKU0RPTVBvaW50LmgiCisjaW5jbHVkZSAiSlNET01SZWN0LmgiCisjaW5jbHVkZSA8aGVh
cC9IZWFwSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKwordXNpbmcgbmFtZXNw
YWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTRE9NUXVhZDo6cDEo
RXhlY1N0YXRlJiBzdGF0ZSkgY29uc3QKK3sKKyAgICBpZiAoSlNWYWx1ZSBjYWNoZWRWYWx1ZSA9
IG1fcDEuZ2V0KCkpCisgICAgICAgIHJldHVybiBjYWNoZWRWYWx1ZTsKKyAgICBhdXRvJiBpbXBs
ID0gd3JhcHBlZCgpOworICAgIFJlZjxET01Qb2ludD4gcG9pbnQgPSBET01Qb2ludDo6Y3JlYXRl
KGltcGwucDEoKS54LCBpbXBsLnAxKCkueSwgaW1wbC5wMSgpLnosIGltcGwucDEoKS53KTsKKyAg
ICBKU1ZhbHVlIHJlc3VsdCA9IHRvSlMoJnN0YXRlLCBnbG9iYWxPYmplY3QoKSwgcG9pbnQuZ2V0
KCkpOworICAgIG1fcDEuc2V0KHN0YXRlLnZtKCksIHRoaXMsIHJlc3VsdCk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKworSlNWYWx1ZSBKU0RPTVF1YWQ6OnAyKEV4ZWNTdGF0ZSYgc3RhdGUpIGNv
bnN0Cit7CisgICAgaWYgKEpTVmFsdWUgY2FjaGVkVmFsdWUgPSBtX3AyLmdldCgpKQorICAgICAg
ICByZXR1cm4gY2FjaGVkVmFsdWU7CisgICAgYXV0byYgaW1wbCA9IHdyYXBwZWQoKTsKKyAgICBS
ZWY8RE9NUG9pbnQ+IHBvaW50ID0gRE9NUG9pbnQ6OmNyZWF0ZShpbXBsLnAyKCkueCwgaW1wbC5w
MigpLnksIGltcGwucDIoKS56LCBpbXBsLnAyKCkudyk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSB0
b0pTKCZzdGF0ZSwgZ2xvYmFsT2JqZWN0KCksIHBvaW50LmdldCgpKTsKKyAgICBtX3AyLnNldChz
dGF0ZS52bSgpLCB0aGlzLCByZXN1bHQpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0pTVmFs
dWUgSlNET01RdWFkOjpwMyhFeGVjU3RhdGUmIHN0YXRlKSBjb25zdAoreworICAgIGlmIChKU1Zh
bHVlIGNhY2hlZFZhbHVlID0gbV9wMy5nZXQoKSkKKyAgICAgICAgcmV0dXJuIGNhY2hlZFZhbHVl
OworICAgIGF1dG8mIGltcGwgPSB3cmFwcGVkKCk7CisgICAgUmVmPERPTVBvaW50PiBwb2ludCA9
IERPTVBvaW50OjpjcmVhdGUoaW1wbC5wMygpLngsIGltcGwucDMoKS55LCBpbXBsLnAzKCkueiwg
aW1wbC5wMygpLncpOworICAgIEpTVmFsdWUgcmVzdWx0ID0gdG9KUygmc3RhdGUsIGdsb2JhbE9i
amVjdCgpLCBwb2ludC5nZXQoKSk7CisgICAgbV9wMy5zZXQoc3RhdGUudm0oKSwgdGhpcywgcmVz
dWx0KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitKU1ZhbHVlIEpTRE9NUXVhZDo6cDQoRXhl
Y1N0YXRlJiBzdGF0ZSkgY29uc3QKK3sKKyAgICBpZiAoSlNWYWx1ZSBjYWNoZWRWYWx1ZSA9IG1f
cDQuZ2V0KCkpCisgICAgICAgIHJldHVybiBjYWNoZWRWYWx1ZTsKKyAgICBhdXRvJiBpbXBsID0g
d3JhcHBlZCgpOworICAgIFJlZjxET01Qb2ludD4gcG9pbnQgPSBET01Qb2ludDo6Y3JlYXRlKGlt
cGwucDQoKS54LCBpbXBsLnA0KCkueSwgaW1wbC5wNCgpLnosIGltcGwucDQoKS53KTsKKyAgICBK
U1ZhbHVlIHJlc3VsdCA9IHRvSlMoJnN0YXRlLCBnbG9iYWxPYmplY3QoKSwgcG9pbnQuZ2V0KCkp
OworICAgIG1fcDQuc2V0KHN0YXRlLnZtKCksIHRoaXMsIHJlc3VsdCk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworSlNWYWx1ZSBKU0RPTVF1YWQ6OmdldEJvdW5kcyhFeGVjU3RhdGUmIHN0YXRl
KQoreworICAgIGF1dG8mIGltcGwgPSB3cmFwcGVkKCk7CisgICAgUmVmPERPTVJlY3Q+IGJvdW5k
c1JlY3QgPSBET01SZWN0Ojpmcm9tUmVjdChpbXBsLmdldEJvdW5kcygpKTsKKyAgICByZXR1cm4g
dG9KUygmc3RhdGUsIGdsb2JhbE9iamVjdCgpLCBib3VuZHNSZWN0KTsKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCmluZGV4IDZi
NDc5MTA4OWQyMDJiZGUyMjlkODBhZjFkNmNiZTAzZTJhNzRiNWEuLmVjNzJkZjFkZWM5NTNhNjE2
YTFhNzA1NjZlZDM4Y2VlNTcwZDAwYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTkzLDYgKzkzLDEwIEBAIG15ICVwcmltaXRp
dmVUeXBlSGFzaCA9ICgKICAgICAiRGF0ZSIgPT4gMQogKTsKIAorbXkgJXNlcmlhbGl6YWJsZURP
TVR5cGVIYXNoID0gKAorICAgICJET01Qb2ludCIgPT4gMSwKKyk7CisKIG15ICVkaWN0aW9uYXJ5
VHlwZUltcGxlbWVudGF0aW9uTmFtZU92ZXJyaWRlcyA9ICgpOwogbXkgJWVudW1UeXBlSW1wbGVt
ZW50YXRpb25OYW1lT3ZlcnJpZGVzID0gKCk7CiAKQEAgLTQ0Myw2ICs0NDcsMTYgQEAgc3ViIElz
RW51bVR5cGUKICAgICByZXR1cm4gZGVmaW5lZCgkb2JqZWN0LT5HZXRFbnVtQnlUeXBlKCR0eXBl
KSk7CiB9CiAKK3N1YiBJc1NlcmlhbGl6YWJsZURPTVR5cGUKK3sKKyAgICBteSAoJG9iamVjdCwg
JHR5cGUpID0gQF87CisKKyAgICBhc3NlcnQoIk5vdCBhIHR5cGUiKSBpZiByZWYoJHR5cGUpIG5l
ICJJRExUeXBlIjsKKworICAgIHJldHVybiAxIGlmICRzZXJpYWxpemFibGVET01UeXBlSGFzaHsk
dHlwZS0+bmFtZX07CisgICAgcmV0dXJuIDA7Cit9CisKIHN1YiBHZXRFbnVtQnlUeXBlCiB7CiAg
ICAgbXkgKCRvYmplY3QsICR0eXBlKSA9IEBfOwpAQCAtOTQ0LDYgKzk1OCw4IEBAIHN1YiBJc1Nl
cmlhbGl6YWJsZUF0dHJpYnV0ZQogICAgIHJldHVybiAxIGlmICRvYmplY3QtPklzTnVtZXJpY1R5
cGUoJHR5cGUpOwogICAgIHJldHVybiAxIGlmICRvYmplY3QtPklzRW51bVR5cGUoJHR5cGUpOwog
ICAgIHJldHVybiAxIGlmICRvYmplY3QtPklzU3RyaW5nVHlwZSgkdHlwZSk7CisgICAgcmV0dXJu
IDEgaWYgJG9iamVjdC0+SXNTZXJpYWxpemFibGVET01UeXBlKCR0eXBlKTsKKwogICAgIHJldHVy
biAwIGlmICR0eXBlLT5uYW1lIGVxICJFdmVudEhhbmRsZXIiOwogCiAgICAgaWYgKCR0eXBlLT5p
c1VuaW9uIHx8ICRvYmplY3QtPklzU2VxdWVuY2VUeXBlKCR0eXBlKSB8fCAkb2JqZWN0LT5Jc0Rp
Y3Rpb25hcnlUeXBlKCR0eXBlKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RP
TVF1YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUz
YWRkODYxOTk1ZDQyYjZhM2I4YjdmYjU1OTgyOTJhMGEwYWUwOTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01RdWFkLmgiCisKKyNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorCit1c2luZyBuYW1lc3BhY2UgV1RGOworCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK0RPTVJlY3RJbml0IERPTVF1YWQ6OmdldEJvdW5kcygpIGNvbnN0Cit7
CisgICAgZG91YmxlIGxlZnQgPSBuYW5Qcm9wYWdhdGluZ01pbihuYW5Qcm9wYWdhdGluZ01pbihu
YW5Qcm9wYWdhdGluZ01pbihtX3AxLngsIG1fcDIueCksIG1fcDMueCksIG1fcDQueCk7CisgICAg
ZG91YmxlIHRvcCA9IG5hblByb3BhZ2F0aW5nTWluKG5hblByb3BhZ2F0aW5nTWluKG5hblByb3Bh
Z2F0aW5nTWluKG1fcDEueSwgbV9wMi55KSwgbV9wMy55KSwgbV9wNC55KTsKKyAgICBkb3VibGUg
cmlnaHQgPSBuYW5Qcm9wYWdhdGluZ01heChuYW5Qcm9wYWdhdGluZ01heChuYW5Qcm9wYWdhdGlu
Z01heChtX3AxLngsIG1fcDIueCksIG1fcDMueCksIG1fcDQueCk7CisgICAgZG91YmxlIGJvdHRv
bSA9IG5hblByb3BhZ2F0aW5nTWF4KG5hblByb3BhZ2F0aW5nTWF4KG5hblByb3BhZ2F0aW5nTWF4
KG1fcDEueSwgbV9wMi55KSwgbV9wMy55KSwgbV9wNC55KTsKKworICAgIHJldHVybiB7IGxlZnQs
IHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3AgfTsKK30KKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFk
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzM1OGZjZTU0Mzc0NDY4MDQzYjFhMDcwYmQyODFhOTg1OTk4NDgwZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmgKQEAgLTAsMCAr
MSw3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRE9NUG9pbnRJ
bml0LmgiCisjaW5jbHVkZSAiRE9NUXVhZEluaXQuaCIKKyNpbmNsdWRlICJET01SZWN0LmgiCisj
aW5jbHVkZSAiRE9NUmVjdEluaXQuaCIKKyNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKKyNp
bmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBET01RdWFkIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwg
cHVibGljIFJlZkNvdW50ZWQ8RE9NUXVhZD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8RE9N
UXVhZD4gY3JlYXRlKGNvbnN0IERPTVBvaW50SW5pdCYgcDEsIGNvbnN0IERPTVBvaW50SW5pdCYg
cDIsIGNvbnN0IERPTVBvaW50SW5pdCYgcDMsIGNvbnN0IERPTVBvaW50SW5pdCYgcDQpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgRE9NUXVhZChwMSwgcDIsIHAzLCBwNCkpOyB9CisgICAgc3RhdGlj
IFJlZjxET01RdWFkPiBmcm9tUmVjdChjb25zdCBET01SZWN0SW5pdCYgaW5pdCkgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBET01RdWFkKGluaXQpKTsgfQorICAgIHN0YXRpYyBSZWY8RE9NUXVhZD4g
ZnJvbVF1YWQoY29uc3QgRE9NUXVhZEluaXQmIGluaXQpIHsgcmV0dXJuIGNyZWF0ZShpbml0LnAx
LCBpbml0LnAyLCBpbml0LnAzLCBpbml0LnA0KTsgfQorCisgICAgY29uc3QgRE9NUG9pbnRJbml0
JiBwMSgpIGNvbnN0IHsgcmV0dXJuIG1fcDE7IH0KKyAgICBjb25zdCBET01Qb2ludEluaXQmIHAy
KCkgY29uc3QgeyByZXR1cm4gbV9wMjsgfQorICAgIGNvbnN0IERPTVBvaW50SW5pdCYgcDMoKSBj
b25zdCB7IHJldHVybiBtX3AzOyB9CisgICAgY29uc3QgRE9NUG9pbnRJbml0JiBwNCgpIGNvbnN0
IHsgcmV0dXJuIG1fcDQ7IH0KKworICAgIERPTVJlY3RJbml0IGdldEJvdW5kcygpIGNvbnN0Owor
Citwcml2YXRlOgorICAgIERPTVF1YWQoY29uc3QgRE9NUG9pbnRJbml0JiBwMSwgY29uc3QgRE9N
UG9pbnRJbml0JiBwMiwgY29uc3QgRE9NUG9pbnRJbml0JiBwMywgY29uc3QgRE9NUG9pbnRJbml0
JiBwNCkKKyAgICAgICAgOiBtX3AxKHAxKQorICAgICAgICAsIG1fcDIocDIpCisgICAgICAgICwg
bV9wMyhwMykKKyAgICAgICAgLCBtX3A0KHA0KQorICAgIHsKKyAgICB9CisKKyAgICAvLyAgcDEt
LS0tLS1wMgorICAgIC8vICB8ICAgICAgIHwKKyAgICAvLyAgfCAgICAgICB8CisgICAgLy8gIHA0
LS0tLS0tcDMKKyAgICBleHBsaWNpdCBET01RdWFkKGNvbnN0IERPTVJlY3RJbml0JiByKQorICAg
ICAgICA6IG1fcDEoeyByLngsIHIueSB9KQorICAgICAgICAsIG1fcDIoeyByLnggKyByLndpZHRo
LCByLnkgfSkKKyAgICAgICAgLCBtX3AzKHsgci54ICsgci53aWR0aCwgci55ICsgci5oZWlnaHQg
fSkKKyAgICAgICAgLCBtX3A0KHsgci54LCByLnkgKyByLmhlaWdodCB9KQorICAgIHsKKyAgICB9
CisgICAgCisgICAgRE9NUG9pbnRJbml0IG1fcDE7CisgICAgRE9NUG9pbnRJbml0IG1fcDI7Cisg
ICAgRE9NUG9pbnRJbml0IG1fcDM7CisgICAgRE9NUG9pbnRJbml0IG1fcDQ7Cit9OworCit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRE9NUXVhZC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDcyMjFiOTcwZjZlNmYxNWM3MWQ2YTJkNTE1
MTFhMDFhZDBmOGFmMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01R
dWFkLmlkbApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9kcmFmdHMu
Znh0Zi5vcmcvZ2VvbWV0cnkvI2RpY3RkZWYtZG9tcXVhZGluaXQKKworWworICAgIENvbnN0cnVj
dG9yKG9wdGlvbmFsIERPTVBvaW50SW5pdCBwMSwgb3B0aW9uYWwgRE9NUG9pbnRJbml0IHAyLCBv
cHRpb25hbCBET01Qb2ludEluaXQgcDMsIG9wdGlvbmFsIERPTVBvaW50SW5pdCBwNCksCisgICAg
RXhwb3NlZD0oV2luZG93LFdvcmtlciksCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQor
XQoraW50ZXJmYWNlIERPTVF1YWQgeworICAgIFtOZXdPYmplY3RdIHN0YXRpYyBET01RdWFkIGZy
b21SZWN0KG9wdGlvbmFsIERPTVJlY3RJbml0IG90aGVyKTsKKyAgICBbTmV3T2JqZWN0XSBzdGF0
aWMgRE9NUXVhZCBmcm9tUXVhZChvcHRpb25hbCBET01RdWFkSW5pdCBvdGhlcik7CisKKyAgICBb
Q2FjaGVkQXR0cmlidXRlLCBDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Qb2lu
dCBwMTsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVjdF0uCisgICAgW0NhY2hlZEF0dHJp
YnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQgcDI7IC8vIEZJ
WE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgorICAgIFtDYWNoZWRBdHRyaWJ1dGUsIEN1c3Rv
bUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50IHAzOyAvLyBGSVhNRTogU2hvdWxk
IGJlIFtTYW1lT2JqZWN0XS4KKyAgICBbQ2FjaGVkQXR0cmlidXRlLCBDdXN0b21HZXR0ZXJdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBwNDsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9i
amVjdF0uCisgICAgW05ld09iamVjdCwgQ3VzdG9tXSBET01SZWN0IGdldEJvdW5kcygpOworCisg
ICAgc2VyaWFsaXplciA9IHsgYXR0cmlidXRlIH07Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RPTVF1YWRJbml0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mOGE5ZjdjYTcyNzRmOGYwZjk1N2Q0ZmFlMzc5YTZhMmIyZjM3NWFhCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0LmgKQEAgLTAs
MCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRE9NUG9p
bnRJbml0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IERPTVF1YWRJbml0IHsK
KyAgICBET01Qb2ludEluaXQgcDE7CisgICAgRE9NUG9pbnRJbml0IHAyOworICAgIERPTVBvaW50
SW5pdCBwMzsKKyAgICBET01Qb2ludEluaXQgcDQ7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1
YWRJbml0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTQyNDk4MWExY2U1NmVjZGY3N2Q1OGI3YzViNTA1YzI4
ZmRlMWUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0
LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9kcmFmdHMuZnh0
Zi5vcmcvZ2VvbWV0cnkvI2RpY3RkZWYtZG9tcXVhZGluaXQKKworZGljdGlvbmFyeSBET01RdWFk
SW5pdCB7CisgICAgRE9NUG9pbnRJbml0IHAxOworICAgIERPTVBvaW50SW5pdCBwMjsKKyAgICBE
T01Qb2ludEluaXQgcDM7CisgICAgRE9NUG9pbnRJbml0IHA0OworfTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMjg0YzFh
ZmRiODNjNjA1MDViZWI0NGYwNGEyZDVlYjcyYzZjNDVlLi4wZjdkNTAzYjc2NGY5NzkzMzczNWM5
NWY4NzRlOThjMWU2NjdkNmIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDYtMDMgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50
IERPTVF1YWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2MzUzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZ2VvbWV0cnkvRE9NUXVhZC0wMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBn
ZW9tZXRyeS9ET01RdWFkLTAwMS5odG1sOiBBZGRlZC4KKwogMjAxNy0wNS0yOSAgRW1pbGlvIENv
Ym9zIMOBbHZhcmV6ICA8ZWNvYm9zQGlnYWxpYS5jb20+CiAKICAgICAgICAgVXNlIHRoZSBwYXJl
bnQgYm94IHN0eWxlIHRvIGFkanVzdCBSZW5kZXJTdHlsZSBmb3IgYWxpZ25tZW50LgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZ2VvbWV0cnkvRE9NUXVhZC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZ2VvbWV0cnkvRE9NUXVhZC0wMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5
Y2U1NmM5NWI1NTQyY2FjMTEwNTQxZDdlNmFhNjY1MTU3M2YyYjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9nZW9tZXRyeS9ET01RdWFkLTAwMS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyMCBAQAorVGVzdCB0aGUgRE9NUXVhZCBpbnRlcmZhY2UKKworCitQQVNTIHRlc3RDb25zdHJ1
Y3RvcjAgCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjEgCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjIgCitQ
QVNTIHRlc3RDb25zdHJ1Y3RvckRPTVBvaW50RE9NUG9pbnRJbml0IAorUEFTUyB0ZXN0Q29uc3Ry
dWN0b3IxQXJnIAorUEFTUyB0ZXN0Q29uc3RydWN0b3IyQXJnIAorUEFTUyB0ZXN0Q29uc3RydWN0
b3IzQXJnIAorUEFTUyB0ZXN0Q29uc3RydWN0b3JOYU5zIAorUEFTUyB0ZXN0Q29uc3RydWN0b3JJ
bmZzIAorUEFTUyB0ZXN0RnJvbVF1YWQgCitQQVNTIHRlc3RGcm9tUmVjdCAKK1BBU1MgdGVzdEZy
b21SZWN0TmFOIAorUEFTUyB0ZXN0Qm91bmRzMSAKK1BBU1MgdGVzdEJvdW5kczIgCitQQVNTIHRl
c3RCb3VuZHNOYU5JbmYgCitQQVNTIHRlc3RTYW1lT2JqZWN0cyAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZ2VvbWV0cnkvRE9NUXVhZC0wMDEuaHRtbCBiL0xheW91dFRlc3RzL2dlb21ldHJ5
L0RPTVF1YWQtMDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTVjZDA5ZDBiMTg4NmRkMzEzODU5ZTcxYmIz
ZjQ5NmI5MDJlY2EyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2dlb21ldHJ5L0RP
TVF1YWQtMDAxLmh0bWwKQEAgLTAsMCArMSwxNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKyAgICA8dGl0bGU+R2VvbWV0cnkgSW50ZXJmYWNlczogRE9NUXVhZCBpbnRlcmZh
Y2UgdGVzdHMuPC90aXRsZT4KKyAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlNpbW9uIEZy
YXNlciIgaHJlZj0ibWFpbHRvOnNpbW9uLmZyYXNlckBhcHBsZS5jb20iIC8+CisgICAgPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9nZW9tZXRyeS0xLyNET01RdWFk
Ij4KKyAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dl
b21ldHJ5LyNET01RdWFkIj4KKworICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+VGVzdCB0
aGUgRE9NUXVhZCBpbnRlcmZhY2U8L3A+CisgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4KKyAgICA8
c2NyaXB0PgorICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgY2hlY2tET01R
dWFkKG5ldyBET01RdWFkKCksIHsgcDE6eyB4OjAsIHk6MCB9LCBwMjp7IHg6MCwgeTowIH0sIHAz
OnsgeDowLCB5OjAgfSwgcDQ6eyB4OjAsIHk6MCB9IH0pOworICAgICAgICB9LCd0ZXN0Q29uc3Ry
dWN0b3IwJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW5p
dCA9IHsgcDE6eyB4OjExLCB5OjEyIH0sIHAyOnsgeDoyMiwgeToyMyB9LCBwMzp7IHg6MzMsIHk6
MzQgfSwgcDQ6eyB4OjQ0LCB5OjQ1IH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChuZXcg
RE9NUXVhZChpbml0LnAxLCBpbml0LnAyLCBpbml0LnAzLCBpbml0LnA0KSwgaW5pdCk7CisgICAg
ICAgIH0sJ3Rlc3RDb25zdHJ1Y3RvcjEnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgIHZhciBpbml0ID0geyBwMTp7IHg6TWF0aC5QSSwgeToxMiB9LCBwMjp7IHg6MjIs
IHk6TWF0aC5QSSB9LCBwMzp7IHg6SW5maW5pdHksIHk6MzQgfSwgcDQ6eyB4OjQ0LCB5OkluZmlu
aXR5IH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChuZXcgRE9NUXVhZChpbml0LnAxLCBp
bml0LnAyLCBpbml0LnAzLCBpbml0LnA0KSwgaW5pdCk7CisgICAgICAgIH0sJ3Rlc3RDb25zdHJ1
Y3RvcjInKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBxdWFk
ID0gbmV3IERPTVF1YWQobmV3IERPTVBvaW50KDExLCAxMiksIHt4OiAyMiwgeTogMjN9LCB7eDog
MzMsIHk6IDM0fSwge3g6IDQ0LCB5OiA0NX0pOworICAgICAgICAgICAgdmFyIGluaXQgPSB7IHAx
OnsgeDoxMSwgeToxMiB9LCBwMjp7IHg6MjIsIHk6MjMgfSwgcDM6eyB4OjMzLCB5OjM0IH0sIHA0
OnsgeDo0NCwgeTo0NSB9IH07CisgICAgICAgICAgICBjaGVja0RPTVF1YWQocXVhZCwgaW5pdCk7
CisgICAgICAgIH0sJ3Rlc3RDb25zdHJ1Y3RvckRPTVBvaW50RE9NUG9pbnRJbml0Jyk7CisgICAg
ICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4OjEx
LCB5OjEyIH0sIHAyOnsgeDowLCB5OjAgfSwgcDM6eyB4OjAsIHk6MCB9LCBwNDp7IHg6MCwgeTow
IH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChuZXcgRE9NUXVhZChpbml0LnAxKSwgaW5p
dCk7CisgICAgICAgIH0sJ3Rlc3RDb25zdHJ1Y3RvcjFBcmcnKTsKKyAgICAgICAgdGVzdChmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgIHZhciBpbml0ID0geyBwMTp7IHg6MTEsIHk6MTIgfSwgcDI6
eyB4OjIyLCB5OjIzIH0sIHAzOnsgeDowLCB5OjAgfSwgcDQ6eyB4OjAsIHk6MCB9IH07CisgICAg
ICAgICAgICBjaGVja0RPTVF1YWQobmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5wMiksIGluaXQp
OworICAgICAgICB9LCd0ZXN0Q29uc3RydWN0b3IyQXJnJyk7CisgICAgICAgIHRlc3QoZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4OjExLCB5OjEyIH0sIHAyOnsg
eDoyMiwgeToyMyB9LCBwMzp7IHg6MzMsIHk6MzQgfSwgcDQ6eyB4OjAsIHk6MCB9IH07CisgICAg
ICAgICAgICBjaGVja0RPTVF1YWQobmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5w
MyksIGluaXQpOworICAgICAgICB9LCd0ZXN0Q29uc3RydWN0b3IzQXJnJyk7CisgICAgICAgIHRl
c3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4OjExLCB5OjEy
IH0sIHAyOnsgeDpOYU4sIHk6MjMgfSwgcDM6eyB4OjMzLCB5Ok5hTiB9LCBwNDp7IHg6TmFOLCB5
Ok5hTiB9IH07CisgICAgICAgICAgICBjaGVja0RPTVF1YWQobmV3IERPTVF1YWQoaW5pdC5wMSwg
aW5pdC5wMiwgaW5pdC5wMywgaW5pdC5wNCksIGluaXQpOworICAgICAgICB9LCd0ZXN0Q29uc3Ry
dWN0b3JOYU5zJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIg
aW5pdCA9IHsgcDE6eyB4OjExLCB5OjEyIH0sIHAyOnsgeDpOdW1iZXIuUE9TSVRJVkVfSU5GSU5J
VFksIHk6MjMgfSwgcDM6eyB4OjMzLCB5Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWSB9LCBwNDp7
IHg6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCB5Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWSB9
IH07CisgICAgICAgICAgICBjaGVja0RPTVF1YWQobmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5w
MiwgaW5pdC5wMywgaW5pdC5wNCksIGluaXQpOworICAgICAgICB9LCd0ZXN0Q29uc3RydWN0b3JJ
bmZzJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9
IHsgcDE6eyB4OjExLCB5OjEyIH0sIHAyOnsgeDoyMiwgeToyMyB9LCBwMzp7IHg6MzMsIHk6MzQg
fSwgcDQ6eyB4OjQ0LCB5OjQ1IH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChET01RdWFk
LmZyb21RdWFkKGluaXQpLCBpbml0KTsKKyAgICAgICAgfSwndGVzdEZyb21RdWFkJyk7CisgICAg
ICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgeCA9IDExOworICAgICAgICAg
ICAgdmFyIHkgPSAxMgorICAgICAgICAgICAgdmFyIHdpZHRoID0gMTA0OworICAgICAgICAgICAg
dmFyIGhlaWdodCA9IDEwNTsKKworICAgICAgICAgICAgLy8gIHAxLS0tLS0tcDIKKyAgICAgICAg
ICAgIC8vICB8ICAgICAgIHwKKyAgICAgICAgICAgIC8vICB8ICAgICAgIHwKKyAgICAgICAgICAg
IC8vICBwNC0tLS0tLXAzCisgICAgICAgICAgICB2YXIgcXVhZCA9IHsgcDE6eyB4OngsIHk6eSB9
LCBwMjp7IHg6eCArIHdpZHRoLCB5OnkgfSwgcDM6eyB4OnggKyB3aWR0aCwgeTp5ICsgaGVpZ2h0
IH0sIHA0OnsgeDp4LCB5OnkgKyBoZWlnaHQgfSB9OworICAgICAgICAgICAgdmFyIHJlY3QgPSBu
ZXcgRE9NUmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVh
ZChET01RdWFkLmZyb21SZWN0KHJlY3QpLCBxdWFkKTsKKyAgICAgICAgfSwndGVzdEZyb21SZWN0
Jyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgeCA9IE5hTjsK
KyAgICAgICAgICAgIHZhciB5ID0gMTIKKyAgICAgICAgICAgIHZhciB3aWR0aCA9IE5hTjsKKyAg
ICAgICAgICAgIHZhciBoZWlnaHQgPSAxMDU7CisgICAgICAgICAgICB2YXIgcXVhZCA9IHsgcDE6
eyB4OngsIHk6eSB9LCBwMjp7IHg6eCArIHdpZHRoLCB5OnkgfSwgcDM6eyB4OnggKyB3aWR0aCwg
eTp5ICsgaGVpZ2h0IH0sIHA0OnsgeDp4LCB5OnkgKyBoZWlnaHQgfSB9OworICAgICAgICAgICAg
dmFyIHJlY3QgPSBuZXcgRE9NUmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgICAg
IGNoZWNrRE9NUXVhZChET01RdWFkLmZyb21SZWN0KHJlY3QpLCBxdWFkKTsKKyAgICAgICAgfSwn
dGVzdEZyb21SZWN0TmFOJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICB2YXIgaW5pdCA9IHsgcDE6eyB4OjExLCB5OjEyIH0sIHAyOnsgeDoyMiwgeToyMyB9LCBwMzp7
IHg6MzMsIHk6MzQgfSwgcDQ6eyB4OjQ0LCB5OjQ1IH0gfTsKKyAgICAgICAgICAgIHZhciBxdWFk
ID0gRE9NUXVhZC5mcm9tUXVhZChpbml0KTsKKyAgICAgICAgICAgIHF1YWQucDEueCA9IDExMTsK
KyAgICAgICAgICAgIHF1YWQucDMueSA9IDMzNDsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChx
dWFkLCB7IHAxOnsgeDoxMTEsIHk6MTIgfSwgcDI6eyB4OjIyLCB5OjIzIH0sIHAzOnsgeDozMywg
eTozMzQgfSwgcDQ6eyB4OjQ0LCB5OjQ1IH0gfSk7CisgICAgICAgIH0sJ3Rlc3RTZXR0aW5nJyk7
CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgeCA9IDExOworICAg
ICAgICAgICAgdmFyIHkgPSAxMgorICAgICAgICAgICAgdmFyIHdpZHRoID0gMTA0OworICAgICAg
ICAgICAgdmFyIGhlaWdodCA9IDEwNTsKKyAgICAgICAgICAgIHZhciByZWN0ID0gbmV3IERPTVJl
Y3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgICAgICBjaGVja0RPTVJlY3QoRE9NUXVh
ZC5mcm9tUmVjdChyZWN0KS5nZXRCb3VuZHMoKSwgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0pOwor
ICAgICAgICB9LCd0ZXN0Qm91bmRzMScpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgdmFyIGluaXQgPSB7IHAxOnsgeDo1LCB5OjEuNSB9LCBwMjp7IHg6NTAsIHk6MyB9
LCBwMzp7IHg6MzYsIHk6MjYuNyB9LCBwNDp7IHg6MiwgeToxNSB9IH07CisgICAgICAgICAgICBj
aGVja0RPTVJlY3QobmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5wMywgaW5pdC5w
NCkuZ2V0Qm91bmRzKCksIHsgeDoyLCB5OjEuNSwgd2lkdGg6NDgsIGhlaWdodDoyNS4yIH0pOwor
ICAgICAgICB9LCd0ZXN0Qm91bmRzMicpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgdmFyIGluaXQgPSB7IHAxOnsgeDo1LCB5Ok5hTiB9LCBwMjp7IHg6SW5maW5pdHks
IHk6MyB9LCBwMzp7IHg6MzYsIHk6MjYuNyB9LCBwNDp7IHg6MiwgeToxNSB9IH07CisgICAgICAg
ICAgICBjaGVja0RPTVJlY3QobmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5wMywg
aW5pdC5wNCkuZ2V0Qm91bmRzKCksIHsgeDoyLCB5Ok5hTiwgd2lkdGg6SW5maW5pdHksIGhlaWdo
dDpOYU4gfSk7CisgICAgICAgIH0sJ3Rlc3RCb3VuZHNOYU5JbmYnKTsKKyAgICAgICAgdGVzdChm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBpbml0ID0geyBwMTp7IHg6MTEsIHk6MTIgfSwg
cDI6eyB4OjIyLCB5OjIzIH0sIHAzOnsgeDozMywgeTozNCB9LCBwNDp7IHg6NDQsIHk6NDUgfSB9
OworICAgICAgICAgICAgdmFyIHF1YWQgPSBuZXcgRE9NUXVhZChpbml0LnAxLCBpbml0LnAyLCBp
bml0LnAzLCBpbml0LnA0KTsKKyAgICAgICAgICAgIGFzc2VydF90cnVlKHF1YWQucDEgPT0gcXVh
ZC5wMSk7CisgICAgICAgICAgICBhc3NlcnRfdHJ1ZShxdWFkLnAyID09IHF1YWQucDIpOworICAg
ICAgICAgICAgYXNzZXJ0X3RydWUocXVhZC5wMyA9PSBxdWFkLnAzKTsKKyAgICAgICAgICAgIGFz
c2VydF90cnVlKHF1YWQucDQgPT0gcXVhZC5wNCk7CisgICAgICAgIH0sJ3Rlc3RTYW1lT2JqZWN0
cycpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIGluaXQgPSB7
IHAxOnsgeDoxMSwgeToxMiB9LCBwMjp7IHg6MjIsIHk6MjMgfSwgcDM6eyB4OjMzLCB5OjM0IH0s
IHA0OnsgeDo0NCwgeTo0NSB9IH07CisgICAgICAgICAgICB2YXIgcXVhZCA9IG5ldyBET01RdWFk
KGluaXQucDEsIGluaXQucDIsIGluaXQucDMsIGluaXQucDQpOworICAgICAgICAgICAgdmFyIHAx
ID0gcXVhZC5wMTsKKyAgICAgICAgICAgIHF1YWQucDEueCA9IDExMTsKKyAgICAgICAgICAgIHZh
ciBwMiA9IHF1YWQucDI7CisgICAgICAgICAgICBwMi55ID0gMjIzOworICAgICAgICAgICAgYXNz
ZXJ0X3RydWUocDEgPT0gcXVhZC5wMSk7CisgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwMiA9PSBx
dWFkLnAyKTsKKyAgICAgICAgfSwndGVzdFNhbWVPYmplY3RzMicpOworCisgICAgICAgIGZ1bmN0
aW9uIGNoZWNrRE9NUmVjdChyZWN0LCBleHApIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
cmVjdC54LCBleHAueCwgIkV4cGVjdGVkIHZhbHVlIGZvciB4IGlzICIgKyBleHAueCk7CisgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHJlY3QueSwgZXhwLnksICJFeHBlY3RlZCB2YWx1ZSBmb3Ig
eSBpcyAiICsgZXhwLnkpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWN0LndpZHRoLCBl
eHAud2lkdGgsICJFeHBlY3RlZCB2YWx1ZSBmb3Igd2lkdGggaXMgIiArIGV4cC53aWR0aCk7Cisg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlY3QuaGVpZ2h0LCBleHAuaGVpZ2h0LCAiRXhwZWN0
ZWQgdmFsdWUgZm9yIGhlaWdodCBpcyAiICsgZXhwLmhlaWdodCk7CisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBjaGVja0RPTVF1YWQocXVhZCwgZXhwKSB7CisgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKHF1YWQucDEueCwgZXhwLnAxLngsICJFeHBlY3RlZCB2YWx1ZSBmb3IgcDEueCBp
cyAiICsgZXhwLnAxLngpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhxdWFkLnAxLnksIGV4
cC5wMS55LCAiRXhwZWN0ZWQgdmFsdWUgZm9yIHAxLnkgaXMgIiArIGV4cC5wMS55KTsKKworICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhxdWFkLnAyLngsIGV4cC5wMi54LCAiRXhwZWN0ZWQgdmFs
dWUgZm9yIHAyLnggaXMgIiArIGV4cC5wMi54KTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
cXVhZC5wMi55LCBleHAucDIueSwgIkV4cGVjdGVkIHZhbHVlIGZvciBwMi55IGlzICIgKyBleHAu
cDIueSk7CisKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocXVhZC5wMy54LCBleHAucDMueCwg
IkV4cGVjdGVkIHZhbHVlIGZvciBwMy54IGlzICIgKyBleHAucDMueCk7CisgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKHF1YWQucDMueSwgZXhwLnAzLnksICJFeHBlY3RlZCB2YWx1ZSBmb3IgcDMu
eSBpcyAiICsgZXhwLnAzLnkpOworCisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHF1YWQucDQu
eCwgZXhwLnA0LngsICJFeHBlY3RlZCB2YWx1ZSBmb3IgcDQueCBpcyAiICsgZXhwLnA0LngpOwor
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhxdWFkLnA0LnksIGV4cC5wNC55LCAiRXhwZWN0ZWQg
dmFsdWUgZm9yIHA0LnkgaXMgIiArIGV4cC5wNC55KTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311930</attachid>
            <date>2017-06-03 09:26:26 -0700</date>
            <delta_ts>2017-06-12 22:00:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163534-20170603092625.patch</filename>
            <type>text/plain</type>
            <size>39500</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZlNWU2ZmM4ZDI4MTQ2
Y2M5ZjgyOWZiMmY4YzJiNzBmODM4MmJlNC4uMjFjODcwNzUwOTI5MTEwOGFmMDFkN2ZjN2JlZGE3
ZjU4Mzg0NTYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ0IEBACiAyMDE3LTA2LTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIEltcGxlbWVudCBE
T01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0OiBnZW9tZXRyeS9ET01RdWFkLTAwMS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVF1YWRD
dXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NUXVhZDo6cDEpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNET01RdWFkOjpwMik6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVF1
YWQ6OnAzKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NUXVhZDo6cDQpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01RdWFkOjpnZXRCb3VuZHMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvci5wbToKKyAgICAgICAgKElzU2VyaWFsaXphYmxlRE9NVHlwZSk6CisgICAg
ICAgIChJc1NlcmlhbGl6YWJsZUF0dHJpYnV0ZSk6CisgICAgICAgICogZG9tL0RPTVF1YWQuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6OmdldEJvdW5kcyk6CisgICAgICAg
ICogZG9tL0RPTVF1YWQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6ZnJvbVJlY3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NUXVhZDo6ZnJvbVF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDEp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDIpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
UXVhZDo6cDMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDQpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NUXVhZDo6RE9NUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjptX3Ay
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6Om1fcDMpOgorICAgICAgICAoV2ViQ29yZTo6
RE9NUXVhZDo6bV9wNCk6CisgICAgICAgICogZG9tL0RPTVF1YWQuaWRsOiBBZGRlZC4KKyAgICAg
ICAgKiBkb20vRE9NUXVhZEluaXQuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RPTVF1YWRJbml0
LmlkbDogQWRkZWQuCisKKzIwMTctMDYtMDMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKICAgICAgICAgU29ydCB0aGUgcHJvamVjdCBmaWxlLgogCiAgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCAxZDNkZGVmNmZkZjk2ZGE2NzdkMTE3Mjk1NjMxMTg1NzBiZWU2NjA3Li44MTJiZWE1ZTczNWVi
MzY4MmYwYThhYzFiZWRmNjYxZGUzNDMxYjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDI0
LDYgKzQyNCw4IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgZG9tL0RPTVBv
aW50LmlkbAogICAgIGRvbS9ET01Qb2ludEluaXQuaWRsCiAgICAgZG9tL0RPTVBvaW50UmVhZE9u
bHkuaWRsCisgICAgZG9tL0RPTVF1YWQuaWRsCisgICAgZG9tL0RPTVF1YWRJbml0LmlkbAogICAg
IGRvbS9ET01SZWN0LmlkbAogICAgIGRvbS9ET01SZWN0SW5pdC5pZGwKICAgICBkb20vRE9NUmVj
dExpc3QuaWRsCkBAIC0xMTYwLDYgKzExNjIsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
YmluZGluZ3MvanMvSlNET01CdWlsdGluQ29uc3RydWN0b3JCYXNlLmNwcAogICAgIGJpbmRpbmdz
L2pzL0pTRE9NQ29uc3RydWN0b3JCYXNlLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRE9NQ29uc3Ry
dWN0b3JXaXRoRG9jdW1lbnQuY3BwCisgICAgYmluZGluZ3MvanMvSlNET01RdWFkQ3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuY3BwCiAgICAgYmluZGlu
Z3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCiAgICAgYmluZGluZ3MvanMvSlNET01HbG9iYWxP
YmplY3RUYXNrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZWNiNWY3YzRl
MWZiNjFmZjgyOWFmMTE2Yjc2YzM5MjQ5NDkyZmE1OC4uZmUzMmI0MTRkYzRkOWZkZjczYTQ5NGNm
MTZmYmNhYmYzMjkxMzlhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zNjQs
NiArMzY0LDggQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvZG9tL0RPTVBv
aW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUG9pbnRJbml0LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9kb20vRE9NUG9pbnRSZWFkT25seS5pZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0RP
TVF1YWQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9ET01RdWFkSW5pdC5pZGwgXAogICAgICQo
V2ViQ29yZSkvZG9tL0RPTVJlY3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01SZWN0SW5p
dC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0RPTVJlY3RMaXN0LmlkbCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggY2Y2ZTQ5
ZjViZDZhMmRlZjdiZTRlMzI2N2Y2MzVhOTU5M2IzMWE1ZS4uZTFlZjNjNzJmNjlmYzYwZDA3YmM5
NmMyMDg2NTYyZTNkZjY1MGY1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDA3LDYgKzQwNywxMyBAQAogCQkwQzQ1MzQyODEw
Q0RCQkZBMDA4NjkxNTcgLyogSlNXZWJHTFVuaWZvcm1Mb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEM0NTM0MjYxMENEQkJGQTAwODY5MTU3
IC8qIEpTV2ViR0xVbmlmb3JtTG9jYXRpb24uaCAqLzsgfTsKIAkJMEU3MDU4RUUxQkM1QkMxOTAw
NDVBNTA3IC8qIFNlYXJjaFBvcHVwTWVudUNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEU3MDU4RUQxQkM1QkMxOTAwNDVBNTA3IC8qIFNlYXJj
aFBvcHVwTWVudUNvY29hLm1tICovOyB9OwogCQkwRTcwNThGNDFCQzVDRURBMDA0NUE1MDcgLyog
U2VhcmNoUG9wdXBNZW51Q29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBFNzA1OEYzMUJDNUNDRDcwMDQ1QTUwNyAvKiBTZWFyY2hQb3B1cE1lbnVD
b2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTBGMDM4NDk5MUVFMjdCNUEwMDZDMTlERSAvKiBET01RdWFkLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMDM4NDk0MUVFMjdCNUEwMDZDMTlERSAv
KiBET01RdWFkLmNwcCAqLzsgfTsKKwkJMEYwMzg0OUExRUUyN0I1QTAwNkMxOURFIC8qIERPTVF1
YWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMDM4
NDk1MUVFMjdCNUEwMDZDMTlERSAvKiBET01RdWFkLmggKi87IH07CisJCTBGMDM4NDlDMUVFMjdC
NUEwMDZDMTlERSAvKiBET01RdWFkSW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYwMzg0OTcxRUUyN0I1QTAwNkMxOURFIC8qIERPTVF1YWRJbml0
LmggKi87IH07CisJCTBGMDM4NEEyMUVFMjdEMzcwMDZDMTlERSAvKiBKU0RPTVF1YWQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwMzg0OUUxRUUy
N0QzNzAwNkMxOURFIC8qIEpTRE9NUXVhZC5jcHAgKi87IH07CisJCTBGMDM4NEEzMUVFMjdEMzcw
MDZDMTlERSAvKiBKU0RPTVF1YWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGMDM4NDlGMUVFMjdEMzcwMDZDMTlERSAvKiBKU0RPTVF1YWQuaCAqLzsg
fTsKKwkJMEYwMzg0QTQxRUUyN0QzNzAwNkMxOURFIC8qIEpTRE9NUXVhZEluaXQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwMzg0QTAxRUUyN0Qz
NzAwNkMxOURFIC8qIEpTRE9NUXVhZEluaXQuY3BwICovOyB9OworCQkwRjAzODRBNTFFRTI3RDM3
MDA2QzE5REUgLyogSlNET01RdWFkSW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYwMzg0QTExRUUyN0QzNzAwNkMxOURFIC8qIEpTRE9NUXVhZElu
aXQuaCAqLzsgfTsKIAkJMEYwM0MwNzQxODg0Njk1RTAwQTVGOENBIC8qIFN5c3RlbU1lbW9yeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwM0MwNzMx
ODg0Njk1RTAwQTVGOENBIC8qIFN5c3RlbU1lbW9yeS5oICovOyB9OwogCQkwRjAzQzA3NTE4ODQ4
MDU1MDBBNUY4Q0EgLyogSW5zcGVjdG9yT3ZlcmxheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M1MjJENEExNUI0NzhCMjAwOUI3Qzk1IC8qIEluc3Bl
Y3Rvck92ZXJsYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkwRjA5MDg3RjE0NDRGREIyMDAwMjg5MTcgLyogU2Nyb2xsYmFyVGhlbWUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFNzE0MTUxNDIx
ODlGQzAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lLmNwcCAqLzsgfTsKQEAgLTU2Miw2ICs1Njks
NyBAQAogCQkwRkY1MDI2QTEwMkJBOTQzMDA2NkYzOUEgLyogSlNTdHlsZU1lZGlhLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1MDI2ODEwMkJBOTQz
MDA2NkYzOUEgLyogSlNTdHlsZU1lZGlhLmggKi87IH07CiAJCTBGRjUwMjcxMTAyQkE5NkEwMDY2
RjM5QSAvKiBTdHlsZU1lZGlhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRjUwMjZFMTAyQkE5NjYwMDY2RjM5QSAvKiBTdHlsZU1lZGlhLmNwcCAq
LzsgfTsKIAkJMEZGNTAyNzIxMDJCQTk2QTAwNjZGMzlBIC8qIFN0eWxlTWVkaWEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjUwMjZGMTAyQkE5NkEw
MDY2RjM5QSAvKiBTdHlsZU1lZGlhLmggKi87IH07CisJCTBGRjgzNUIzMUVFMzBERDUwMDhCNEND
NyAvKiBKU0RPTVF1YWRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZGODM1QjIxRUUzMERENTAwOEI0Q0M3IC8qIEpTRE9NUXVhZEN1c3Rv
bS5jcHAgKi87IH07CiAJCTBGRkQ0RDYwMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGRkQ0RDVFMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcCAqLzsgfTsKIAkJMEZGRDRENjExODY1MUZBMzAwNTEyRjZFIC8qIEFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGRkQ0RDVGMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MTBGQjA4NEIxNEUxNUM3RTAwQTNEQjk4IC8qIFB1YmxpY1VSTE1hbmFnZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDEwRkIwODRBMTRFMTVDN0UwMEEz
REI5OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggKi87IH07CkBAIC03ODM0LDYgKzc4NDIsMTUgQEAK
IAkJMEM0NTM0MjYxMENEQkJGQTAwODY5MTU3IC8qIEpTV2ViR0xVbmlmb3JtTG9jYXRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJHTFVuaWZvcm1Mb2NhdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRTcwNThFRDFCQzVCQzE5MDA0NUE1MDcg
LyogU2VhcmNoUG9wdXBNZW51Q29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBTZWFyY2hQb3B1cE1lbnVDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEU3MDU4RjMxQkM1Q0NENzAwNDVBNTA3IC8qIFNlYXJjaFBvcHVwTWVudUNvY29h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNlYXJjaFBvcHVwTWVudUNvY29hLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGMDM4NDk0MUVFMjdCNUEwMDZDMTlERSAvKiBET01RdWFkLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVF1YWQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjAzODQ5NTFFRTI3QjVBMDA2QzE5REUgLyogRE9NUXVh
ZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01RdWFkLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMDM4NDk2MUVFMjdCNUEwMDZDMTlERSAvKiBET01RdWFk
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01RdWFkLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEYwMzg0OTcxRUUyN0I1QTAwNkMxOURFIC8qIERPTVF1YWRJbml0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVF1YWRJbml0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMDM4NDk4MUVFMjdCNUEwMDZDMTlERSAvKiBET01RdWFk
SW5pdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NUXVhZEluaXQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjAzODQ5RTFFRTI3RDM3MDA2QzE5REUgLyogSlNET01R
dWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NUXVhZC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMDM4NDlGMUVFMjdEMzcwMDZDMTlE
RSAvKiBKU0RPTVF1YWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01R
dWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGMDM4NEEwMUVFMjdEMzcwMDZD
MTlERSAvKiBKU0RPTVF1YWRJbml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTRE9NUXVhZEluaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjAzODRBMTFFRTI3RDM3MDA2QzE5REUgLyogSlNET01RdWFkSW5pdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVF1YWRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTBGMDNDMDczMTg4NDY5NUUwMEE1RjhDQSAvKiBTeXN0ZW1NZW1vcnkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtTWVtb3J5Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBGMDk5RDA2MTdCOTY4QTEwMEZGODRCOSAvKiBXZWJDb3JlVHlw
ZWRBcnJheUNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEYwOTlEMDcxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5Q29u
dHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlVHlwZWRB
cnJheUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc5OTksNiAr
ODAxNiw3IEBACiAJCTBGRjUwMjZFMTAyQkE5NjYwMDY2RjM5QSAvKiBTdHlsZU1lZGlhLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlTWVkaWEuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1MDI2RjEwMkJBOTZBMDA2NkYzOUEgLyogU3R5
bGVNZWRpYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZU1lZGlhLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjUwMjcwMTAyQkE5NkEwMDY2RjM5QSAv
KiBTdHlsZU1lZGlhLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdHlsZU1lZGlhLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGODM1QjIxRUUzMERENTAwOEI0Q0M3IC8q
IEpTRE9NUXVhZEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0RPTVF1YWRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkZE
NEQ1RTE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGRDRENUYxODY1MUZBMzAw
NTEyRjZFIC8qIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxMEZCMDg0QTE0RTE1QzdFMDBBM0RCOTggLyogUHVibGljVVJMTWFu
YWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQdWJsaWNVUkxNYW5hZ2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjA4MSw2ICsyMjA5OSwxMCBAQAog
CQkJCTBGNDk2NkE3MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50SW5pdC5oICovLAogCQkJ
CTBGNDk2NkE4MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHkuY3BwICovLAog
CQkJCTBGNDk2NkE5MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHkuaCAqLywK
KwkJCQkwRjAzODQ5RTFFRTI3RDM3MDA2QzE5REUgLyogSlNET01RdWFkLmNwcCAqLywKKwkJCQkw
RjAzODQ5RjFFRTI3RDM3MDA2QzE5REUgLyogSlNET01RdWFkLmggKi8sCisJCQkJMEYwMzg0QTAx
RUUyN0QzNzAwNkMxOURFIC8qIEpTRE9NUXVhZEluaXQuY3BwICovLAorCQkJCTBGMDM4NEExMUVF
MjdEMzcwMDZDMTlERSAvKiBKU0RPTVF1YWRJbml0LmggKi8sCiAJCQkJMEY0NzEwQjUxREI1NkJF
ODAwMkRDRUMzIC8qIEpTRE9NUmVjdC5jcHAgKi8sCiAJCQkJMEY0NzEwQjYxREI1NkJFODAwMkRD
RUMzIC8qIEpTRE9NUmVjdC5oICovLAogCQkJCTBGNDcxMEI3MURCNTZCRTgwMDJEQ0VDMyAvKiBK
U0RPTVJlY3RJbml0LmNwcCAqLywKQEAgLTIzNjQwLDYgKzIzNjYyLDcgQEAKIAkJCQlERUMyOTc1
RDFCNERFQjJBMDA1RjU5NDUgLyogSlNDdXN0b21FdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNDlD
N0JBOEMxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0b20uY3BwICovLAogCQkJCUFE
REE5NEJGMTk2ODZGODAwMDQ1MzAyOSAvKiBKU0RvY3VtZW50Q3VzdG9tLmggKi8sCisJCQkJMEZG
ODM1QjIxRUUzMERENTAwOEI0Q0M3IC8qIEpTRE9NUXVhZEN1c3RvbS5jcHAgKi8sCiAJCQkJQkM2
NDY0OUIxMUQ4MjM4QzAwNjQ1NUIwIC8qIEpTRE9NU3RyaW5nTWFwQ3VzdG9tLmNwcCAqLywKIAkJ
CQlCQ0Q5QzI1RTBDMTdBQTY3MDA1QzkwQTIgLyogSlNET01XaW5kb3dDdXN0b20uY3BwICovLAog
CQkJCTY1MkZCQkJCMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICovLApA
QCAtMjcxODYsNiArMjcyMDksOCBAQAogCQkJCTBGNDk2NjlEMURCNDA4QzEwMEEyNzRCQiAvKiBE
T01Qb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0OTY2QTMxREI0MDkxMDAwQTI3NEJCIC8q
IERPTVBvaW50SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0OTY2OUYxREI0MDhDMTAwQTI3
NEJCIC8qIERPTVBvaW50UmVhZE9ubHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGMDM4NDlBMUVF
MjdCNUEwMDZDMTlERSAvKiBET01RdWFkLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjAzODQ5QzFF
RTI3QjVBMDA2QzE5REUgLyogRE9NUXVhZEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDcx
MEFGMURCNTZBRkMwMDJEQ0VDMyAvKiBET01SZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ3
MTBCMTFEQjU2QUZDMDAyRENFQzMgLyogRE9NUmVjdEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQ2ODM0NEUwMUVEREZBQUEwMEI3Nzk1QiAvKiBET01SZWN0TGlzdC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNzk1OCw2ICsyNzk4Myw4IEBACiAJCQkJMEY0OTY2QUYxREI0MEM0MzAwQTI3NEJCIC8q
IEpTRE9NUG9pbnRSZWFkT25seS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM3Qzg2NTAxRUI2M0Uz
RjAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE3MkFGOTAx
ODExQkMzNzAwRkJBREI5IC8qIEpTRE9NUHJvbWlzZURlZmVycmVkLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjAzODRBMzFFRTI3RDM3MDA2QzE5REUgLyogSlNET01RdWFkLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjAzODRBNTFFRTI3RDM3MDA2QzE5REUgLyogSlNET01RdWFkSW5pdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEY0NzEwQkMxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEY0NzEwQkUxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdElu
aXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2NkVEOEQzMUVERTAxNDQwMDVFNDNGNiAvKiBKU0RP
TVJlY3RMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTMxMjA5LDYgKzMxMjM2LDcgQEAKIAkJCQky
RDUwMDJGODFCNTZENzgxMDAyMEFBRjcgLyogRE9NUGF0aC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBOUM2RTRFQjBENzQ1RTJCMDA2NDQyRTkgLyogRE9NUGx1Z2luLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE5QzZFNEVGMEQ3NDVFMzgwMDY0NDJFOSAvKiBET01QbHVnaW5BcnJheS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRjAzODQ5OTFFRTI3QjVBMDA2QzE5REUgLyogRE9NUXVhZC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk0NjgzNDRERjFFRERGQUFBMDBCNzc5NUIgLyogRE9NUmVjdExp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1QTg2ODQwQzMzNjc2MDAwRUVBNjQ5IC8qIERP
TVNlbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNTU2MTBGMTExQTcwNEVCMDBCODJE
MjcgLyogRE9NU3RyaW5nTGlzdC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxOTI2LDYgKzMxOTU0
LDkgQEAKIAkJCQkwRjQ5NjZBQzFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludEluaXQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0OTY2QUUxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9p
bnRSZWFkT25seS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTcyQUY4RjE4MTFCQzM3MDBGQkFE
QjkgLyogSlNET01Qcm9taXNlRGVmZXJyZWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYwMzg0
QTIxRUUyN0QzNzAwNkMxOURFIC8qIEpTRE9NUXVhZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkw
RkY4MzVCMzFFRTMwREQ1MDA4QjRDQzcgLyogSlNET01RdWFkQ3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGMDM4NEE0MUVFMjdEMzcwMDZDMTlERSAvKiBKU0RPTVF1YWRJbml0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTBGNDcxMEJCMURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3Qu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0NzEwQkQxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9N
UmVjdEluaXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDY2REM2QUMxRURFMDIxRDAwNzQ2MjI0
IC8qIEpTRE9NUmVjdExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVF1YWRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01RdWFkQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZDU2Mjg2M2U0ZmJl
OTI3MjRhYzZmMjFhMmIyNDQ3ODlkMTNhNjUzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01RdWFkQ3VzdG9tLmNwcApAQCAtMCwwICsxLDkwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTRE9NUXVhZC5oIgor
CisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkpTRE9NUG9pbnQuaCIKKyNp
bmNsdWRlICJKU0RPTVJlY3QuaCIKKyNpbmNsdWRlIDxoZWFwL0hlYXBJbmxpbmVzLmg+CisjaW5j
bHVkZSA8d3RmL0dldFB0ci5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0pTVmFsdWUgSlNET01RdWFkOjpwMShFeGVjU3RhdGUmIHN0YXRlKSBjb25z
dAoreworICAgIGlmIChKU1ZhbHVlIGNhY2hlZFZhbHVlID0gbV9wMS5nZXQoKSkKKyAgICAgICAg
cmV0dXJuIGNhY2hlZFZhbHVlOworICAgIGF1dG8mIGltcGwgPSB3cmFwcGVkKCk7CisgICAgUmVm
PERPTVBvaW50PiBwb2ludCA9IERPTVBvaW50OjpjcmVhdGUoaW1wbC5wMSgpLngsIGltcGwucDEo
KS55LCBpbXBsLnAxKCkueiwgaW1wbC5wMSgpLncpOworICAgIEpTVmFsdWUgcmVzdWx0ID0gdG9K
Uygmc3RhdGUsIGdsb2JhbE9iamVjdCgpLCBwb2ludC5nZXQoKSk7CisgICAgbV9wMS5zZXQoc3Rh
dGUudm0oKSwgdGhpcywgcmVzdWx0KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitKU1ZhbHVl
IEpTRE9NUXVhZDo6cDIoRXhlY1N0YXRlJiBzdGF0ZSkgY29uc3QKK3sKKyAgICBpZiAoSlNWYWx1
ZSBjYWNoZWRWYWx1ZSA9IG1fcDIuZ2V0KCkpCisgICAgICAgIHJldHVybiBjYWNoZWRWYWx1ZTsK
KyAgICBhdXRvJiBpbXBsID0gd3JhcHBlZCgpOworICAgIFJlZjxET01Qb2ludD4gcG9pbnQgPSBE
T01Qb2ludDo6Y3JlYXRlKGltcGwucDIoKS54LCBpbXBsLnAyKCkueSwgaW1wbC5wMigpLnosIGlt
cGwucDIoKS53KTsKKyAgICBKU1ZhbHVlIHJlc3VsdCA9IHRvSlMoJnN0YXRlLCBnbG9iYWxPYmpl
Y3QoKSwgcG9pbnQuZ2V0KCkpOworICAgIG1fcDIuc2V0KHN0YXRlLnZtKCksIHRoaXMsIHJlc3Vs
dCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworSlNWYWx1ZSBKU0RPTVF1YWQ6OnAzKEV4ZWNT
dGF0ZSYgc3RhdGUpIGNvbnN0Cit7CisgICAgaWYgKEpTVmFsdWUgY2FjaGVkVmFsdWUgPSBtX3Az
LmdldCgpKQorICAgICAgICByZXR1cm4gY2FjaGVkVmFsdWU7CisgICAgYXV0byYgaW1wbCA9IHdy
YXBwZWQoKTsKKyAgICBSZWY8RE9NUG9pbnQ+IHBvaW50ID0gRE9NUG9pbnQ6OmNyZWF0ZShpbXBs
LnAzKCkueCwgaW1wbC5wMygpLnksIGltcGwucDMoKS56LCBpbXBsLnAzKCkudyk7CisgICAgSlNW
YWx1ZSByZXN1bHQgPSB0b0pTKCZzdGF0ZSwgZ2xvYmFsT2JqZWN0KCksIHBvaW50LmdldCgpKTsK
KyAgICBtX3AzLnNldChzdGF0ZS52bSgpLCB0aGlzLCByZXN1bHQpOworICAgIHJldHVybiByZXN1
bHQ7Cit9CisKK0pTVmFsdWUgSlNET01RdWFkOjpwNChFeGVjU3RhdGUmIHN0YXRlKSBjb25zdAor
eworICAgIGlmIChKU1ZhbHVlIGNhY2hlZFZhbHVlID0gbV9wNC5nZXQoKSkKKyAgICAgICAgcmV0
dXJuIGNhY2hlZFZhbHVlOworICAgIGF1dG8mIGltcGwgPSB3cmFwcGVkKCk7CisgICAgUmVmPERP
TVBvaW50PiBwb2ludCA9IERPTVBvaW50OjpjcmVhdGUoaW1wbC5wNCgpLngsIGltcGwucDQoKS55
LCBpbXBsLnA0KCkueiwgaW1wbC5wNCgpLncpOworICAgIEpTVmFsdWUgcmVzdWx0ID0gdG9KUygm
c3RhdGUsIGdsb2JhbE9iamVjdCgpLCBwb2ludC5nZXQoKSk7CisgICAgbV9wNC5zZXQoc3RhdGUu
dm0oKSwgdGhpcywgcmVzdWx0KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitKU1ZhbHVlIEpT
RE9NUXVhZDo6Z2V0Qm91bmRzKEV4ZWNTdGF0ZSYgc3RhdGUpCit7CisgICAgYXV0byYgaW1wbCA9
IHdyYXBwZWQoKTsKKyAgICBSZWY8RE9NUmVjdD4gYm91bmRzUmVjdCA9IERPTVJlY3Q6OmZyb21S
ZWN0KGltcGwuZ2V0Qm91bmRzKCkpOworICAgIHJldHVybiB0b0pTKCZzdGF0ZSwgZ2xvYmFsT2Jq
ZWN0KCksIGJvdW5kc1JlY3QpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggNmI0NzkxMDg5ZDIwMmJkZTIyOWQ4MGFm
MWQ2Y2JlMDNlMmE3NGI1YS4uZWM3MmRmMWRlYzk1M2E2MTZhMWE3MDU2NmVkMzhjZWU1NzBkMDBj
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ci5wbQpAQCAtOTMsNiArOTMsMTAgQEAgbXkgJXByaW1pdGl2ZVR5cGVIYXNoID0gKAogICAgICJE
YXRlIiA9PiAxCiApOwogCitteSAlc2VyaWFsaXphYmxlRE9NVHlwZUhhc2ggPSAoCisgICAgIkRP
TVBvaW50IiA9PiAxLAorKTsKKwogbXkgJWRpY3Rpb25hcnlUeXBlSW1wbGVtZW50YXRpb25OYW1l
T3ZlcnJpZGVzID0gKCk7CiBteSAlZW51bVR5cGVJbXBsZW1lbnRhdGlvbk5hbWVPdmVycmlkZXMg
PSAoKTsKIApAQCAtNDQzLDYgKzQ0NywxNiBAQCBzdWIgSXNFbnVtVHlwZQogICAgIHJldHVybiBk
ZWZpbmVkKCRvYmplY3QtPkdldEVudW1CeVR5cGUoJHR5cGUpKTsKIH0KIAorc3ViIElzU2VyaWFs
aXphYmxlRE9NVHlwZQoreworICAgIG15ICgkb2JqZWN0LCAkdHlwZSkgPSBAXzsKKworICAgIGFz
c2VydCgiTm90IGEgdHlwZSIpIGlmIHJlZigkdHlwZSkgbmUgIklETFR5cGUiOworCisgICAgcmV0
dXJuIDEgaWYgJHNlcmlhbGl6YWJsZURPTVR5cGVIYXNoeyR0eXBlLT5uYW1lfTsKKyAgICByZXR1
cm4gMDsKK30KKwogc3ViIEdldEVudW1CeVR5cGUKIHsKICAgICBteSAoJG9iamVjdCwgJHR5cGUp
ID0gQF87CkBAIC05NDQsNiArOTU4LDggQEAgc3ViIElzU2VyaWFsaXphYmxlQXR0cmlidXRlCiAg
ICAgcmV0dXJuIDEgaWYgJG9iamVjdC0+SXNOdW1lcmljVHlwZSgkdHlwZSk7CiAgICAgcmV0dXJu
IDEgaWYgJG9iamVjdC0+SXNFbnVtVHlwZSgkdHlwZSk7CiAgICAgcmV0dXJuIDEgaWYgJG9iamVj
dC0+SXNTdHJpbmdUeXBlKCR0eXBlKTsKKyAgICByZXR1cm4gMSBpZiAkb2JqZWN0LT5Jc1Nlcmlh
bGl6YWJsZURPTVR5cGUoJHR5cGUpOworCiAgICAgcmV0dXJuIDAgaWYgJHR5cGUtPm5hbWUgZXEg
IkV2ZW50SGFuZGxlciI7CiAKICAgICBpZiAoJHR5cGUtPmlzVW5pb24gfHwgJG9iamVjdC0+SXNT
ZXF1ZW5jZVR5cGUoJHR5cGUpIHx8ICRvYmplY3QtPklzRGljdGlvbmFyeVR5cGUoJHR5cGUpKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NUXVhZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNhZGQ4NjE5OTVkNDJiNmEzYjhiN2Zi
NTU5ODI5MmEwYTBhZTA5NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01RdWFkLmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkRPTVF1YWQuaCIKKworI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+
CisKK3VzaW5nIG5hbWVzcGFjZSBXVEY7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRE9NUmVj
dEluaXQgRE9NUXVhZDo6Z2V0Qm91bmRzKCkgY29uc3QKK3sKKyAgICBkb3VibGUgbGVmdCA9IG5h
blByb3BhZ2F0aW5nTWluKG5hblByb3BhZ2F0aW5nTWluKG5hblByb3BhZ2F0aW5nTWluKG1fcDEu
eCwgbV9wMi54KSwgbV9wMy54KSwgbV9wNC54KTsKKyAgICBkb3VibGUgdG9wID0gbmFuUHJvcGFn
YXRpbmdNaW4obmFuUHJvcGFnYXRpbmdNaW4obmFuUHJvcGFnYXRpbmdNaW4obV9wMS55LCBtX3Ay
LnkpLCBtX3AzLnkpLCBtX3A0LnkpOworICAgIGRvdWJsZSByaWdodCA9IG5hblByb3BhZ2F0aW5n
TWF4KG5hblByb3BhZ2F0aW5nTWF4KG5hblByb3BhZ2F0aW5nTWF4KG1fcDEueCwgbV9wMi54KSwg
bV9wMy54KSwgbV9wNC54KTsKKyAgICBkb3VibGUgYm90dG9tID0gbmFuUHJvcGFnYXRpbmdNYXgo
bmFuUHJvcGFnYXRpbmdNYXgobmFuUHJvcGFnYXRpbmdNYXgobV9wMS55LCBtX3AyLnkpLCBtX3Az
LnkpLCBtX3A0LnkpOworCisgICAgcmV0dXJuIHsgbGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJv
dHRvbSAtIHRvcCB9OworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9N
UXVhZC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzU4ZmNl
NTQzNzQ0NjgwNDNiMWEwNzBiZDI4MWE5ODU5OTg0ODBkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaApAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJET01Qb2ludEluaXQuaCIKKyNpbmNsdWRlICJET01R
dWFkSW5pdC5oIgorI2luY2x1ZGUgIkRPTVJlY3QuaCIKKyNpbmNsdWRlICJET01SZWN0SW5pdC5o
IgorI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IERPTVF1YWQgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxET01R
dWFkPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxET01RdWFkPiBjcmVhdGUoY29uc3QgRE9N
UG9pbnRJbml0JiBwMSwgY29uc3QgRE9NUG9pbnRJbml0JiBwMiwgY29uc3QgRE9NUG9pbnRJbml0
JiBwMywgY29uc3QgRE9NUG9pbnRJbml0JiBwNCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01R
dWFkKHAxLCBwMiwgcDMsIHA0KSk7IH0KKyAgICBzdGF0aWMgUmVmPERPTVF1YWQ+IGZyb21SZWN0
KGNvbnN0IERPTVJlY3RJbml0JiBpbml0KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTVF1YWQo
aW5pdCkpOyB9CisgICAgc3RhdGljIFJlZjxET01RdWFkPiBmcm9tUXVhZChjb25zdCBET01RdWFk
SW5pdCYgaW5pdCkgeyByZXR1cm4gY3JlYXRlKGluaXQucDEsIGluaXQucDIsIGluaXQucDMsIGlu
aXQucDQpOyB9CisKKyAgICBjb25zdCBET01Qb2ludEluaXQmIHAxKCkgY29uc3QgeyByZXR1cm4g
bV9wMTsgfQorICAgIGNvbnN0IERPTVBvaW50SW5pdCYgcDIoKSBjb25zdCB7IHJldHVybiBtX3Ay
OyB9CisgICAgY29uc3QgRE9NUG9pbnRJbml0JiBwMygpIGNvbnN0IHsgcmV0dXJuIG1fcDM7IH0K
KyAgICBjb25zdCBET01Qb2ludEluaXQmIHA0KCkgY29uc3QgeyByZXR1cm4gbV9wNDsgfQorCisg
ICAgRE9NUmVjdEluaXQgZ2V0Qm91bmRzKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgRE9NUXVh
ZChjb25zdCBET01Qb2ludEluaXQmIHAxLCBjb25zdCBET01Qb2ludEluaXQmIHAyLCBjb25zdCBE
T01Qb2ludEluaXQmIHAzLCBjb25zdCBET01Qb2ludEluaXQmIHA0KQorICAgICAgICA6IG1fcDEo
cDEpCisgICAgICAgICwgbV9wMihwMikKKyAgICAgICAgLCBtX3AzKHAzKQorICAgICAgICAsIG1f
cDQocDQpCisgICAgeworICAgIH0KKworICAgIC8vICBwMS0tLS0tLXAyCisgICAgLy8gIHwgICAg
ICAgfAorICAgIC8vICB8ICAgICAgIHwKKyAgICAvLyAgcDQtLS0tLS1wMworICAgIGV4cGxpY2l0
IERPTVF1YWQoY29uc3QgRE9NUmVjdEluaXQmIHIpCisgICAgICAgIDogbV9wMSh7IHIueCwgci55
IH0pCisgICAgICAgICwgbV9wMih7IHIueCArIHIud2lkdGgsIHIueSB9KQorICAgICAgICAsIG1f
cDMoeyByLnggKyByLndpZHRoLCByLnkgKyByLmhlaWdodCB9KQorICAgICAgICAsIG1fcDQoeyBy
LngsIHIueSArIHIuaGVpZ2h0IH0pCisgICAgeworICAgIH0KKyAgICAKKyAgICBET01Qb2ludElu
aXQgbV9wMTsKKyAgICBET01Qb2ludEluaXQgbV9wMjsKKyAgICBET01Qb2ludEluaXQgbV9wMzsK
KyAgICBET01Qb2ludEluaXQgbV9wNDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01RdWFkLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kNzIyMWI5NzBmNmU2ZjE1YzcxZDZhMmQ1MTUxMWEwMWFkMGY4YWYxCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaWRsCkBAIC0wLDAgKzEsNDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jZGlj
dGRlZi1kb21xdWFkaW5pdAorCitbCisgICAgQ29uc3RydWN0b3Iob3B0aW9uYWwgRE9NUG9pbnRJ
bml0IHAxLCBvcHRpb25hbCBET01Qb2ludEluaXQgcDIsIG9wdGlvbmFsIERPTVBvaW50SW5pdCBw
Mywgb3B0aW9uYWwgRE9NUG9pbnRJbml0IHA0KSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2Vy
KSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdCitpbnRlcmZhY2UgRE9NUXVhZCB7
CisgICAgW05ld09iamVjdF0gc3RhdGljIERPTVF1YWQgZnJvbVJlY3Qob3B0aW9uYWwgRE9NUmVj
dEluaXQgb3RoZXIpOworICAgIFtOZXdPYmplY3RdIHN0YXRpYyBET01RdWFkIGZyb21RdWFkKG9w
dGlvbmFsIERPTVF1YWRJbml0IG90aGVyKTsKKworICAgIFtDYWNoZWRBdHRyaWJ1dGUsIEN1c3Rv
bUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50IHAxOyAvLyBGSVhNRTogU2hvdWxk
IGJlIFtTYW1lT2JqZWN0XS4KKyAgICBbQ2FjaGVkQXR0cmlidXRlLCBDdXN0b21HZXR0ZXJdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBwMjsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9i
amVjdF0uCisgICAgW0NhY2hlZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRy
aWJ1dGUgRE9NUG9pbnQgcDM7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgorICAg
IFtDYWNoZWRBdHRyaWJ1dGUsIEN1c3RvbUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVBv
aW50IHA0OyAvLyBGSVhNRTogU2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4KKyAgICBbTmV3T2JqZWN0
LCBDdXN0b21dIERPTVJlY3QgZ2V0Qm91bmRzKCk7CisKKyAgICBzZXJpYWxpemVyID0geyBhdHRy
aWJ1dGUgfTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkSW5pdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4YTlmN2Nh
NzI3NGY4ZjBmOTU3ZDRmYWUzNzlhNmEyYjJmMzc1YWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJET01Qb2ludEluaXQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitzdHJ1Y3QgRE9NUXVhZEluaXQgeworICAgIERPTVBvaW50SW5pdCBwMTsK
KyAgICBET01Qb2ludEluaXQgcDI7CisgICAgRE9NUG9pbnRJbml0IHAzOworICAgIERPTVBvaW50
SW5pdCBwNDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFk
SW5pdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFhNDI0OTgxYTFjZTU2ZWNkZjc3ZDU4YjdjNWI1MDVjMjhmZGUxZTEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaWRsCkBAIC0wLDAgKzEsMzMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jZGljdGRl
Zi1kb21xdWFkaW5pdAorCitkaWN0aW9uYXJ5IERPTVF1YWRJbml0IHsKKyAgICBET01Qb2ludElu
aXQgcDE7CisgICAgRE9NUG9pbnRJbml0IHAyOworICAgIERPTVBvaW50SW5pdCBwMzsKKyAgICBE
T01Qb2ludEluaXQgcDQ7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA5ZjFmNzRlZmZkOWFhMDUwMGYwMTZiZjcxNWEy
NzE4Yjc2ZTlkZmUuLmVlYTFhZmU0M2I3NjgwNGEyMTUyOTJlMzIwMWI4ODcxYzg5OWI0NzYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNi0wMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRE9NUXVhZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNTM0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBnZW9tZXRyeS9ET01RdWFkLTAw
MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGdlb21ldHJ5L0RPTVF1YWQtMDAxLmh0
bWw6IEFkZGVkLgorCiAyMDE3LTA2LTAzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxl
LmNvbT4KIAogICAgICAgICBNb3ZlIGNzczMvZmxleGJveC9pbWFnZS1wZXJjZW50LW1heC1oZWln
aHQuaHRtbCBmYWlsdXJlIGV4cGVjdGF0aW9uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZ2Vv
bWV0cnkvRE9NUXVhZC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZ2VvbWV0cnkvRE9N
UXVhZC0wMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5Y2U1NmM5NWI1NTQyY2FjMTEwNTQx
ZDdlNmFhNjY1MTU3M2YyYjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9nZW9tZXRy
eS9ET01RdWFkLTAwMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorVGVzdCB0aGUgRE9N
UXVhZCBpbnRlcmZhY2UKKworCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjAgCitQQVNTIHRlc3RDb25z
dHJ1Y3RvcjEgCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjIgCitQQVNTIHRlc3RDb25zdHJ1Y3RvckRP
TVBvaW50RE9NUG9pbnRJbml0IAorUEFTUyB0ZXN0Q29uc3RydWN0b3IxQXJnIAorUEFTUyB0ZXN0
Q29uc3RydWN0b3IyQXJnIAorUEFTUyB0ZXN0Q29uc3RydWN0b3IzQXJnIAorUEFTUyB0ZXN0Q29u
c3RydWN0b3JOYU5zIAorUEFTUyB0ZXN0Q29uc3RydWN0b3JJbmZzIAorUEFTUyB0ZXN0RnJvbVF1
YWQgCitQQVNTIHRlc3RGcm9tUmVjdCAKK1BBU1MgdGVzdEZyb21SZWN0TmFOIAorUEFTUyB0ZXN0
Qm91bmRzMSAKK1BBU1MgdGVzdEJvdW5kczIgCitQQVNTIHRlc3RCb3VuZHNOYU5JbmYgCitQQVNT
IHRlc3RTYW1lT2JqZWN0cyAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZ2VvbWV0cnkvRE9N
UXVhZC0wMDEuaHRtbCBiL0xheW91dFRlc3RzL2dlb21ldHJ5L0RPTVF1YWQtMDAxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTVjZDA5ZDBiMTg4NmRkMzEzODU5ZTcxYmIzZjQ5NmI5MDJlY2EyZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2dlb21ldHJ5L0RPTVF1YWQtMDAxLmh0bWwKQEAgLTAs
MCArMSwxNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+
R2VvbWV0cnkgSW50ZXJmYWNlczogRE9NUXVhZCBpbnRlcmZhY2UgdGVzdHMuPC90aXRsZT4KKyAg
ICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlNpbW9uIEZyYXNlciIgaHJlZj0ibWFpbHRvOnNp
bW9uLmZyYXNlckBhcHBsZS5jb20iIC8+CisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
Oi8vd3d3LnczLm9yZy9UUi9nZW9tZXRyeS0xLyNET01RdWFkIj4KKyAgICA8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dlb21ldHJ5LyNET01RdWFkIj4KKwor
ICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+VGVzdCB0aGUgRE9NUXVhZCBpbnRlcmZhY2U8
L3A+CisgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgICAgICB0ZXN0
KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgY2hlY2tET01RdWFkKG5ldyBET01RdWFkKCksIHsg
cDE6eyB4OjAsIHk6MCB9LCBwMjp7IHg6MCwgeTowIH0sIHAzOnsgeDowLCB5OjAgfSwgcDQ6eyB4
OjAsIHk6MCB9IH0pOworICAgICAgICB9LCd0ZXN0Q29uc3RydWN0b3IwJyk7CisgICAgICAgIHRl
c3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4OjExLCB5OjEy
IH0sIHAyOnsgeDoyMiwgeToyMyB9LCBwMzp7IHg6MzMsIHk6MzQgfSwgcDQ6eyB4OjQ0LCB5OjQ1
IH0gfTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChuZXcgRE9NUXVhZChpbml0LnAxLCBpbml0
LnAyLCBpbml0LnAzLCBpbml0LnA0KSwgaW5pdCk7CisgICAgICAgIH0sJ3Rlc3RDb25zdHJ1Y3Rv
cjEnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBpbml0ID0g
eyBwMTp7IHg6TWF0aC5QSSwgeToxMiB9LCBwMjp7IHg6MjIsIHk6TWF0aC5QSSB9LCBwMzp7IHg6
SW5maW5pdHksIHk6MzQgfSwgcDQ6eyB4OjQ0LCB5OkluZmluaXR5IH0gfTsKKyAgICAgICAgICAg
IGNoZWNrRE9NUXVhZChuZXcgRE9NUXVhZChpbml0LnAxLCBpbml0LnAyLCBpbml0LnAzLCBpbml0
LnA0KSwgaW5pdCk7CisgICAgICAgIH0sJ3Rlc3RDb25zdHJ1Y3RvcjInKTsKKyAgICAgICAgdGVz
dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBxdWFkID0gbmV3IERPTVF1YWQobmV3IERP
TVBvaW50KDExLCAxMiksIHt4OiAyMiwgeTogMjN9LCB7eDogMzMsIHk6IDM0fSwge3g6IDQ0LCB5
OiA0NX0pOworICAgICAgICAgICAgdmFyIGluaXQgPSB7IHAxOnsgeDoxMSwgeToxMiB9LCBwMjp7
IHg6MjIsIHk6MjMgfSwgcDM6eyB4OjMzLCB5OjM0IH0sIHA0OnsgeDo0NCwgeTo0NSB9IH07Cisg
ICAgICAgICAgICBjaGVja0RPTVF1YWQocXVhZCwgaW5pdCk7CisgICAgICAgIH0sJ3Rlc3RDb25z
dHJ1Y3RvckRPTVBvaW50RE9NUG9pbnRJbml0Jyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4OjExLCB5OjEyIH0sIHAyOnsgeDowLCB5
OjAgfSwgcDM6eyB4OjAsIHk6MCB9LCBwNDp7IHg6MCwgeTowIH0gfTsKKyAgICAgICAgICAgIGNo
ZWNrRE9NUXVhZChuZXcgRE9NUXVhZChpbml0LnAxKSwgaW5pdCk7CisgICAgICAgIH0sJ3Rlc3RD
b25zdHJ1Y3RvcjFBcmcnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
IHZhciBpbml0ID0geyBwMTp7IHg6MTEsIHk6MTIgfSwgcDI6eyB4OjIyLCB5OjIzIH0sIHAzOnsg
eDowLCB5OjAgfSwgcDQ6eyB4OjAsIHk6MCB9IH07CisgICAgICAgICAgICBjaGVja0RPTVF1YWQo
bmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5wMiksIGluaXQpOworICAgICAgICB9LCd0ZXN0Q29u
c3RydWN0b3IyQXJnJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2
YXIgaW5pdCA9IHsgcDE6eyB4OjExLCB5OjEyIH0sIHAyOnsgeDoyMiwgeToyMyB9LCBwMzp7IHg6
MzMsIHk6MzQgfSwgcDQ6eyB4OjAsIHk6MCB9IH07CisgICAgICAgICAgICBjaGVja0RPTVF1YWQo
bmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5wMyksIGluaXQpOworICAgICAgICB9
LCd0ZXN0Q29uc3RydWN0b3IzQXJnJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4OjExLCB5OjEyIH0sIHAyOnsgeDpOYU4sIHk6MjMg
fSwgcDM6eyB4OjMzLCB5Ok5hTiB9LCBwNDp7IHg6TmFOLCB5Ok5hTiB9IH07CisgICAgICAgICAg
ICBjaGVja0RPTVF1YWQobmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5wMywgaW5p
dC5wNCksIGluaXQpOworICAgICAgICB9LCd0ZXN0Q29uc3RydWN0b3JOYU5zJyk7CisgICAgICAg
IHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4OjExLCB5
OjEyIH0sIHAyOnsgeDpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksIHk6MjMgfSwgcDM6eyB4OjMz
LCB5Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWSB9LCBwNDp7IHg6TnVtYmVyLlBPU0lUSVZFX0lO
RklOSVRZLCB5Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWSB9IH07CisgICAgICAgICAgICBjaGVj
a0RPTVF1YWQobmV3IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5wMywgaW5pdC5wNCks
IGluaXQpOworICAgICAgICB9LCd0ZXN0Q29uc3RydWN0b3JJbmZzJyk7CisgICAgICAgIHRlc3Qo
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4OjExLCB5OjEyIH0s
IHAyOnsgeDoyMiwgeToyMyB9LCBwMzp7IHg6MzMsIHk6MzQgfSwgcDQ6eyB4OjQ0LCB5OjQ1IH0g
fTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChET01RdWFkLmZyb21RdWFkKGluaXQpLCBpbml0
KTsKKyAgICAgICAgfSwndGVzdEZyb21RdWFkJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICB2YXIgeCA9IDExOworICAgICAgICAgICAgdmFyIHkgPSAxMgorICAgICAg
ICAgICAgdmFyIHdpZHRoID0gMTA0OworICAgICAgICAgICAgdmFyIGhlaWdodCA9IDEwNTsKKwor
ICAgICAgICAgICAgLy8gIHAxLS0tLS0tcDIKKyAgICAgICAgICAgIC8vICB8ICAgICAgIHwKKyAg
ICAgICAgICAgIC8vICB8ICAgICAgIHwKKyAgICAgICAgICAgIC8vICBwNC0tLS0tLXAzCisgICAg
ICAgICAgICB2YXIgcXVhZCA9IHsgcDE6eyB4OngsIHk6eSB9LCBwMjp7IHg6eCArIHdpZHRoLCB5
OnkgfSwgcDM6eyB4OnggKyB3aWR0aCwgeTp5ICsgaGVpZ2h0IH0sIHA0OnsgeDp4LCB5OnkgKyBo
ZWlnaHQgfSB9OworICAgICAgICAgICAgdmFyIHJlY3QgPSBuZXcgRE9NUmVjdCh4LCB5LCB3aWR0
aCwgaGVpZ2h0KTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChET01RdWFkLmZyb21SZWN0KHJl
Y3QpLCBxdWFkKTsKKyAgICAgICAgfSwndGVzdEZyb21SZWN0Jyk7CisgICAgICAgIHRlc3QoZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgeCA9IE5hTjsKKyAgICAgICAgICAgIHZhciB5ID0g
MTIKKyAgICAgICAgICAgIHZhciB3aWR0aCA9IE5hTjsKKyAgICAgICAgICAgIHZhciBoZWlnaHQg
PSAxMDU7CisgICAgICAgICAgICB2YXIgcXVhZCA9IHsgcDE6eyB4OngsIHk6eSB9LCBwMjp7IHg6
eCArIHdpZHRoLCB5OnkgfSwgcDM6eyB4OnggKyB3aWR0aCwgeTp5ICsgaGVpZ2h0IH0sIHA0Onsg
eDp4LCB5OnkgKyBoZWlnaHQgfSB9OworICAgICAgICAgICAgdmFyIHJlY3QgPSBuZXcgRE9NUmVj
dCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChET01RdWFk
LmZyb21SZWN0KHJlY3QpLCBxdWFkKTsKKyAgICAgICAgfSwndGVzdEZyb21SZWN0TmFOJyk7Cisg
ICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW5pdCA9IHsgcDE6eyB4
OjExLCB5OjEyIH0sIHAyOnsgeDoyMiwgeToyMyB9LCBwMzp7IHg6MzMsIHk6MzQgfSwgcDQ6eyB4
OjQ0LCB5OjQ1IH0gfTsKKyAgICAgICAgICAgIHZhciBxdWFkID0gRE9NUXVhZC5mcm9tUXVhZChp
bml0KTsKKyAgICAgICAgICAgIHF1YWQucDEueCA9IDExMTsKKyAgICAgICAgICAgIHF1YWQucDMu
eSA9IDMzNDsKKyAgICAgICAgICAgIGNoZWNrRE9NUXVhZChxdWFkLCB7IHAxOnsgeDoxMTEsIHk6
MTIgfSwgcDI6eyB4OjIyLCB5OjIzIH0sIHAzOnsgeDozMywgeTozMzQgfSwgcDQ6eyB4OjQ0LCB5
OjQ1IH0gfSk7CisgICAgICAgIH0sJ3Rlc3RTZXR0aW5nJyk7CisgICAgICAgIHRlc3QoZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICB2YXIgeCA9IDExOworICAgICAgICAgICAgdmFyIHkgPSAxMgor
ICAgICAgICAgICAgdmFyIHdpZHRoID0gMTA0OworICAgICAgICAgICAgdmFyIGhlaWdodCA9IDEw
NTsKKyAgICAgICAgICAgIHZhciByZWN0ID0gbmV3IERPTVJlY3QoeCwgeSwgd2lkdGgsIGhlaWdo
dCk7CisgICAgICAgICAgICBjaGVja0RPTVJlY3QoRE9NUXVhZC5mcm9tUmVjdChyZWN0KS5nZXRC
b3VuZHMoKSwgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0pOworICAgICAgICB9LCd0ZXN0Qm91bmRz
MScpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIGluaXQgPSB7
IHAxOnsgeDo1LCB5OjEuNSB9LCBwMjp7IHg6NTAsIHk6MyB9LCBwMzp7IHg6MzYsIHk6MjYuNyB9
LCBwNDp7IHg6MiwgeToxNSB9IH07CisgICAgICAgICAgICBjaGVja0RPTVJlY3QobmV3IERPTVF1
YWQoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5wMywgaW5pdC5wNCkuZ2V0Qm91bmRzKCksIHsgeDoy
LCB5OjEuNSwgd2lkdGg6NDgsIGhlaWdodDoyNS4yIH0pOworICAgICAgICB9LCd0ZXN0Qm91bmRz
MicpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIGluaXQgPSB7
IHAxOnsgeDo1LCB5Ok5hTiB9LCBwMjp7IHg6SW5maW5pdHksIHk6MyB9LCBwMzp7IHg6MzYsIHk6
MjYuNyB9LCBwNDp7IHg6MiwgeToxNSB9IH07CisgICAgICAgICAgICBjaGVja0RPTVJlY3QobmV3
IERPTVF1YWQoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5wMywgaW5pdC5wNCkuZ2V0Qm91bmRzKCks
IHsgeDoyLCB5Ok5hTiwgd2lkdGg6SW5maW5pdHksIGhlaWdodDpOYU4gfSk7CisgICAgICAgIH0s
J3Rlc3RCb3VuZHNOYU5JbmYnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIHZhciBpbml0ID0geyBwMTp7IHg6MTEsIHk6MTIgfSwgcDI6eyB4OjIyLCB5OjIzIH0sIHAz
OnsgeDozMywgeTozNCB9LCBwNDp7IHg6NDQsIHk6NDUgfSB9OworICAgICAgICAgICAgdmFyIHF1
YWQgPSBuZXcgRE9NUXVhZChpbml0LnAxLCBpbml0LnAyLCBpbml0LnAzLCBpbml0LnA0KTsKKyAg
ICAgICAgICAgIGFzc2VydF90cnVlKHF1YWQucDEgPT0gcXVhZC5wMSk7CisgICAgICAgICAgICBh
c3NlcnRfdHJ1ZShxdWFkLnAyID09IHF1YWQucDIpOworICAgICAgICAgICAgYXNzZXJ0X3RydWUo
cXVhZC5wMyA9PSBxdWFkLnAzKTsKKyAgICAgICAgICAgIGFzc2VydF90cnVlKHF1YWQucDQgPT0g
cXVhZC5wNCk7CisgICAgICAgIH0sJ3Rlc3RTYW1lT2JqZWN0cycpOworICAgICAgICB0ZXN0KGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIGluaXQgPSB7IHAxOnsgeDoxMSwgeToxMiB9LCBw
Mjp7IHg6MjIsIHk6MjMgfSwgcDM6eyB4OjMzLCB5OjM0IH0sIHA0OnsgeDo0NCwgeTo0NSB9IH07
CisgICAgICAgICAgICB2YXIgcXVhZCA9IG5ldyBET01RdWFkKGluaXQucDEsIGluaXQucDIsIGlu
aXQucDMsIGluaXQucDQpOworICAgICAgICAgICAgdmFyIHAxID0gcXVhZC5wMTsKKyAgICAgICAg
ICAgIHF1YWQucDEueCA9IDExMTsKKyAgICAgICAgICAgIHZhciBwMiA9IHF1YWQucDI7CisgICAg
ICAgICAgICBwMi55ID0gMjIzOworICAgICAgICAgICAgYXNzZXJ0X3RydWUocDEgPT0gcXVhZC5w
MSk7CisgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwMiA9PSBxdWFkLnAyKTsKKyAgICAgICAgfSwn
dGVzdFNhbWVPYmplY3RzMicpOworCisgICAgICAgIGZ1bmN0aW9uIGNoZWNrRE9NUmVjdChyZWN0
LCBleHApIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVjdC54LCBleHAueCwgIkV4cGVj
dGVkIHZhbHVlIGZvciB4IGlzICIgKyBleHAueCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHJlY3QueSwgZXhwLnksICJFeHBlY3RlZCB2YWx1ZSBmb3IgeSBpcyAiICsgZXhwLnkpOworICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWN0LndpZHRoLCBleHAud2lkdGgsICJFeHBlY3RlZCB2
YWx1ZSBmb3Igd2lkdGggaXMgIiArIGV4cC53aWR0aCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKHJlY3QuaGVpZ2h0LCBleHAuaGVpZ2h0LCAiRXhwZWN0ZWQgdmFsdWUgZm9yIGhlaWdodCBp
cyAiICsgZXhwLmhlaWdodCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBjaGVja0RP
TVF1YWQocXVhZCwgZXhwKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHF1YWQucDEueCwg
ZXhwLnAxLngsICJFeHBlY3RlZCB2YWx1ZSBmb3IgcDEueCBpcyAiICsgZXhwLnAxLngpOworICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhxdWFkLnAxLnksIGV4cC5wMS55LCAiRXhwZWN0ZWQgdmFs
dWUgZm9yIHAxLnkgaXMgIiArIGV4cC5wMS55KTsKKworICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhxdWFkLnAyLngsIGV4cC5wMi54LCAiRXhwZWN0ZWQgdmFsdWUgZm9yIHAyLnggaXMgIiArIGV4
cC5wMi54KTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocXVhZC5wMi55LCBleHAucDIueSwg
IkV4cGVjdGVkIHZhbHVlIGZvciBwMi55IGlzICIgKyBleHAucDIueSk7CisKKyAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMocXVhZC5wMy54LCBleHAucDMueCwgIkV4cGVjdGVkIHZhbHVlIGZvciBw
My54IGlzICIgKyBleHAucDMueCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHF1YWQucDMu
eSwgZXhwLnAzLnksICJFeHBlY3RlZCB2YWx1ZSBmb3IgcDMueSBpcyAiICsgZXhwLnAzLnkpOwor
CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHF1YWQucDQueCwgZXhwLnA0LngsICJFeHBlY3Rl
ZCB2YWx1ZSBmb3IgcDQueCBpcyAiICsgZXhwLnA0LngpOworICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhxdWFkLnA0LnksIGV4cC5wNC55LCAiRXhwZWN0ZWQgdmFsdWUgZm9yIHA0LnkgaXMgIiAr
IGV4cC5wNC55KTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312748</attachid>
            <date>2017-06-12 22:01:00 -0700</date>
            <delta_ts>2017-06-17 10:15:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163534-20170612220057.patch</filename>
            <type>text/plain</type>
            <size>42030</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjcwYzM4NzEzNDA4NzNm
MTY4YTI4OTg1ZjVmZDc0MDQyNTExMmFmYS4uMjZkNDAyNGUzNTM4MTQ0ZTQ5Y2JmOWE1ZGM3NTA4
ZDZhOGY4OWI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTA2LTExICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBE
T01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnQgRE9NUXVhZCBwZXIgaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZ2VvbWV0cnkvI0RP
TVF1YWQsIG90aGVyIHRoYW4gc2VyaWFsaXphdGlvbgorICAgICAgICB3aGljaCByZXF1aXJlcyBz
b21lIGJpbmRpbmdzIGNoYW5nZXMuCisKKyAgICAgICAgd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9n
ZW9tZXRyeS0xL0RPTVJlY3QtMDAxLmh0bWwgdGVzdHMgYWdhaW5zdCBhbiBvbGRlciB2ZXJzaW9u
IG9mIHRoZSBzcGVjLAorICAgICAgICBzbyBoYXMgc29tZSBmYWlsdXJlcy4gRE9NUXVhZC0wMDIu
aHRtbCBwYXNzZXMsIG90aGVyIHRoYW4gYSBOYU4gcHJvcGFnYXRpb24gaXNzdWUgdGhhdCByZXF1
aXJlcworICAgICAgICBzcGVjIGNsYXJpZmljYXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVF1
YWRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NUXVhZDo6Z2V0Qm91
bmRzKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG06CisgICAg
ICAgIChJc1NlcmlhbGl6YWJsZURPTVR5cGUpOgorICAgICAgICAoSXNTZXJpYWxpemFibGVBdHRy
aWJ1dGUpOgorICAgICAgICAqIGRvbS9ET01Qb2ludC5oOgorICAgICAgICAqIGRvbS9ET01RdWFk
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpET01RdWFkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTVF1YWQ6OmdldEJvdW5kcyk6CisgICAgICAgICogZG9tL0RPTVF1YWQu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NUXVhZDo6ZnJvbVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6
ZnJvbVF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDEpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NUXVhZDo6cDIpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDMpOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDQpOgorICAgICAgICAqIGRvbS9ET01RdWFkLmlkbDog
QWRkZWQuCisgICAgICAgICogZG9tL0RPTVF1YWRJbml0Lmg6IEFkZGVkLgorICAgICAgICAqIGRv
bS9ET01RdWFkSW5pdC5pZGw6IEFkZGVkLgorCiAyMDE3LTA2LTEwICBEYW4gQmVybnN0ZWluICA8
bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0ZWQgcjIxODA1NiBiZWNhdXNlIGl0IG1h
ZGUgdGhlIElERSByZWluZGV4IGNvbnN0YW50bHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGRk
ZGE2MDAxYzQ3N2I4ZTVmNTUwZmZkN2E4YTE5ZjFjNjU4YzMxNGEuLmM1ZDNhZWQyMDllOWY3MTUy
NmJlMmE4NGRiMjgxYmRlYTRkZTkyZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00MjQsNiAr
NDI0LDggQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBkb20vRE9NUG9pbnQu
aWRsCiAgICAgZG9tL0RPTVBvaW50SW5pdC5pZGwKICAgICBkb20vRE9NUG9pbnRSZWFkT25seS5p
ZGwKKyAgICBkb20vRE9NUXVhZC5pZGwKKyAgICBkb20vRE9NUXVhZEluaXQuaWRsCiAgICAgZG9t
L0RPTVJlY3QuaWRsCiAgICAgZG9tL0RPTVJlY3RJbml0LmlkbAogICAgIGRvbS9ET01SZWN0TGlz
dC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGVjYjVmN2M0ZTFmYjYxZmY4
MjlhZjExNmI3NmMzOTI0OTQ5MmZhNTguLmZlMzJiNDE0ZGM0ZDlmZGY3M2E0OTRjZjE2ZmJjYWJm
MzI5MTM5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzY0LDYgKzM2NCw4
IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01Qb2ludC5pZGwg
XAogICAgICQoV2ViQ29yZSkvZG9tL0RPTVBvaW50SW5pdC5pZGwgXAogICAgICQoV2ViQ29yZSkv
ZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9ET01RdWFkLmlk
bCBcCisgICAgJChXZWJDb3JlKS9kb20vRE9NUXVhZEluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9ET01SZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUmVjdEluaXQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9ET01SZWN0TGlzdC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDE1NDYzMzA0NTAzNTQz
MzQzM2UzNzc4NzhjNGIwZjY3ZmExNGNhNjkuLjZjZmM0MTcxYjA1MWUxODVmOGNhMDdlYTE0NmI5
ZjQxOWQ5NDgwN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTU1OCwxMSArNTU4LDE4IEBACiAJCTBGRUYyMENFMUJENEEyNDEw
MDEyOEU1RCAvKiBMZW5ndGhTaXplLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRUYyMENEMUJENEEyNDEwMDEyOEU1RCAvKiBMZW5ndGhTaXplLmNw
cCAqLzsgfTsKIAkJMEZFRjIwRDAxQkQ0QTY0RjAwMTI4RTVEIC8qIFJlbmRlclN0eWxlQ29uc3Rh
bnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RUYyMENGMUJENEE2NEYwMDEyOEU1RCAvKiBSZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAgKi87IH07
CiAJCTBGRjJFODBEMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGMkU4
MEMxRUUwRDQzMDAwOUVBQkQ0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAgKi87IH07
CisJCTBGRjNCOTI4MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGM0I5MjQxRUUzQjZERTAwQjg0
MTQ0IC8qIEpTRE9NUXVhZC5jcHAgKi87IH07CisJCTBGRjNCOTI5MUVFM0I2REUwMEI4NDE0NCAv
KiBKU0RPTVF1YWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRjNCOTI1MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuaCAqLzsgfTsKKwkJMEZG
M0I5MkExRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGM0I5MjYxRUUzQjZERTAwQjg0MTQ0
IC8qIEpTRE9NUXVhZEluaXQuY3BwICovOyB9OworCQkwRkYzQjkyQjFFRTNCNkRFMDBCODQxNDQg
LyogSlNET01RdWFkSW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZGM0I5MjcxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuaCAqLzsg
fTsKIAkJMEZGNTAyNjkxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1MDI2NzEwMkJBOTQz
MDA2NkYzOUEgLyogSlNTdHlsZU1lZGlhLmNwcCAqLzsgfTsKIAkJMEZGNTAyNkExMDJCQTk0MzAw
NjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZGNTAyNjgxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5o
ICovOyB9OwogCQkwRkY1MDI3MTEwMkJBOTZBMDA2NkYzOUEgLyogU3R5bGVNZWRpYS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1MDI2RTEwMkJB
OTY2MDA2NkYzOUEgLyogU3R5bGVNZWRpYS5jcHAgKi87IH07CiAJCTBGRjUwMjcyMTAyQkE5NkEw
MDY2RjM5QSAvKiBTdHlsZU1lZGlhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkY1MDI2RjEwMkJBOTZBMDA2NkYzOUEgLyogU3R5bGVNZWRpYS5oICov
OyB9OwogCQkwRkY4MzVCODFFRTMyNzRGMDA4QjRDQzcgLyogRE9NUG9pbnRSZWFkT25seS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY4MzVCNzFF
RTMyNzRGMDA4QjRDQzcgLyogRE9NUG9pbnRSZWFkT25seS5jcHAgKi87IH07CisJCTBGRjgzNUMy
MUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjgzNUJEMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFk
LmNwcCAqLzsgfTsKKwkJMEZGODM1QzMxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjgzNUJFMUVFMzU0
REEwMDhCNENDNyAvKiBET01RdWFkLmggKi87IH07CisJCTBGRjgzNUM1MUVFMzU0REEwMDhCNEND
NyAvKiBET01RdWFkSW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZGODM1QzAxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0LmggKi87IH07
CiAJCTBGRkQ0RDYwMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkQ0
RDVFMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCAqLzsg
fTsKIAkJMEZGRDRENjExODY1MUZBMzAwNTEyRjZFIC8qIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkQ0
RDVGMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTBGQjA4NEIxNEUx
NUM3RTAwQTNEQjk4IC8qIFB1YmxpY1VSTE1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDEwRkIwODRBMTRFMTVDN0UwMEEzREI5OCAvKiBQdWJs
aWNVUkxNYW5hZ2VyLmggKi87IH07CkBAIC03OTkzLDEyICs4MDAwLDIxIEBACiAJCTBGRUYyMENE
MUJENEEyNDEwMDEyOEU1RCAvKiBMZW5ndGhTaXplLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IExlbmd0aFNpemUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwRkVGMjBDRjFCRDRBNjRGMDAxMjhFNUQgLyogUmVuZGVyU3R5bGVDb25zdGFudHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU3R5bGVDb25zdGFu
dHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkYyRTgwQzFFRTBENDMwMDA5
RUFCRDQgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjNCOTI0MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1
YWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01RdWFkLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGM0I5MjUxRUUzQjZERTAwQjg0MTQ0
IC8qIEpTRE9NUXVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVF1
YWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGM0I5MjYxRUUzQjZERTAwQjg0
MTQ0IC8qIEpTRE9NUXVhZEluaXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNET01RdWFkSW5pdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
RjNCOTI3MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUXVhZEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZGNTAyNjcxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N0eWxlTWVkaWEuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1MDI2ODEwMkJBOTQzMDA2NkYzOUEgLyogSlNT
dHlsZU1lZGlhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3R5bGVNZWRp
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1MDI2RTEwMkJBOTY2MDA2NkYz
OUEgLyogU3R5bGVNZWRpYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHlsZU1lZGlhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGNTAyNkYx
MDJCQTk2QTAwNjZGMzlBIC8qIFN0eWxlTWVkaWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3R5bGVNZWRpYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1
MDI3MDEwMkJBOTZBMDA2NkYzOUEgLyogU3R5bGVNZWRpYS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gU3R5bGVNZWRpYS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjgz
NUI3MUVFMzI3NEYwMDhCNENDNyAvKiBET01Qb2ludFJlYWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVBvaW50UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkY4MzVCRDFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01RdWFkLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGODM1QkUxRUUzNTREQTAwOEI0Q0M3IC8qIERP
TVF1YWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NUXVhZC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY4MzVCRjFFRTM1NERBMDA4QjRDQzcgLyogRE9N
UXVhZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NUXVhZC5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTBGRjgzNUMwMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkSW5p
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01RdWFkSW5pdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY4MzVDMTFFRTM1NERBMDA4QjRDQzcgLyogRE9N
UXVhZEluaXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTVF1YWRJbml0LmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGRDRENUUxODY1MUZBMzAwNTEyRjZFIC8qIEFz
eW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTBGRkQ0RDVGMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTBGQjA4NEEx
NEUxNUM3RTAwQTNEQjk4IC8qIFB1YmxpY1VSTE1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUHVibGljVVJMTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMjIwODEsNiArMjIwOTcsMTAgQEAKIAkJCQkwRjQ5NjZBNzFEQjQwQzQzMDBBMjc0
QkIgLyogSlNET01Qb2ludEluaXQuaCAqLywKIAkJCQkwRjQ5NjZBODFEQjQwQzQzMDBBMjc0QkIg
LyogSlNET01Qb2ludFJlYWRPbmx5LmNwcCAqLywKIAkJCQkwRjQ5NjZBOTFEQjQwQzQzMDBBMjc0
QkIgLyogSlNET01Qb2ludFJlYWRPbmx5LmggKi8sCisJCQkJMEZGM0I5MjQxRUUzQjZERTAwQjg0
MTQ0IC8qIEpTRE9NUXVhZC5jcHAgKi8sCisJCQkJMEZGM0I5MjUxRUUzQjZERTAwQjg0MTQ0IC8q
IEpTRE9NUXVhZC5oICovLAorCQkJCTBGRjNCOTI2MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1
YWRJbml0LmNwcCAqLywKKwkJCQkwRkYzQjkyNzFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFk
SW5pdC5oICovLAogCQkJCTBGNDcxMEI1MURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3QuY3Bw
ICovLAogCQkJCTBGNDcxMEI2MURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3QuaCAqLywKIAkJ
CQkwRjQ3MTBCNzFEQjU2QkU4MDAyRENFQzMgLyogSlNET01SZWN0SW5pdC5jcHAgKi8sCkBAIC0y
NTcxOSw2ICsyNTczOSwxMSBAQAogCQkJCTBGRjgzNUI3MUVFMzI3NEYwMDhCNENDNyAvKiBET01Q
b2ludFJlYWRPbmx5LmNwcCAqLywKIAkJCQkwRjQ5NjY5QjFEQjQwOEMxMDBBMjc0QkIgLyogRE9N
UG9pbnRSZWFkT25seS5oICovLAogCQkJCTBGNDk2NjlDMURCNDA4QzEwMEEyNzRCQiAvKiBET01Q
b2ludFJlYWRPbmx5LmlkbCAqLywKKwkJCQkwRkY4MzVCRDFFRTM1NERBMDA4QjRDQzcgLyogRE9N
UXVhZC5jcHAgKi8sCisJCQkJMEZGODM1QkUxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuaCAq
LywKKwkJCQkwRkY4MzVCRjFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5pZGwgKi8sCisJCQkJ
MEZGODM1QzAxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0LmggKi8sCisJCQkJMEZGODM1
QzExRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0LmlkbCAqLywKIAkJCQkwRjQ3MTBBOTFE
QjU2QUZDMDAyRENFQzMgLyogRE9NUmVjdC5oICovLAogCQkJCTBGNDcxMEFBMURCNTZBRkMwMDJE
Q0VDMyAvKiBET01SZWN0LmlkbCAqLywKIAkJCQkwRjQ3MTBBQjFEQjU2QUZDMDAyRENFQzMgLyog
RE9NUmVjdEluaXQuaCAqLywKQEAgLTI3MTg1LDYgKzI3MjEwLDggQEAKIAkJCQkwRjQ5NjY5RDFE
QjQwOEMxMDBBMjc0QkIgLyogRE9NUG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDk2NkEz
MURCNDA5MTAwMEEyNzRCQiAvKiBET01Qb2ludEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
NDk2NjlGMURCNDA4QzEwMEEyNzRCQiAvKiBET01Qb2ludFJlYWRPbmx5LmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRkY4MzVDMzFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEZGODM1QzUxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRjQ3MTBBRjFEQjU2QUZDMDAyRENFQzMgLyogRE9NUmVjdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEY0NzEwQjExREI1NkFGQzAwMkRDRUMzIC8qIERPTVJlY3RJbml0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0NjgzNDRFMDFFRERGQUFBMDBCNzc5NUIgLyogRE9NUmVjdExp
c3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjc5NTcsNiArMjc5ODQsOCBAQAogCQkJCTBGNDk2NkFG
MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHkuaCBpbiBIZWFkZXJzICovLAog
CQkJCUUzN0M4NjUwMUVCNjNFM0YwMDg3QzZDQSAvKiBKU0RPTVByb21pc2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxNzJBRjkwMTgxMUJDMzcwMEZCQURCOSAvKiBKU0RPTVByb21pc2VEZWZlcnJl
ZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGM0I5MjkxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9N
UXVhZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGM0I5MkIxRUUzQjZERTAwQjg0MTQ0IC8qIEpT
RE9NUXVhZEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDcxMEJDMURCNTZCRTgwMDJEQ0VD
MyAvKiBKU0RPTVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDcxMEJFMURCNTZCRTgwMDJE
Q0VDMyAvKiBKU0RPTVJlY3RJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NjZFRDhEMzFFREUw
MTQ0MDA1RTQzRjYgLyogSlNET01SZWN0TGlzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTIwOSw2
ICszMTIzOCw3IEBACiAJCQkJQTlDNkU0RUIwRDc0NUUyQjAwNjQ0MkU5IC8qIERPTVBsdWdpbi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBOUM2RTRFRjBENzQ1RTM4MDA2NDQyRTkgLyogRE9NUGx1
Z2luQXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGODM1QjgxRUUzMjc0RjAwOEI0Q0M3
IC8qIERPTVBvaW50UmVhZE9ubHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGODM1QzIxRUUz
NTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDY4MzQ0REYx
RURERkFBQTAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
NUE4Njg0MEMzMzY3NjAwMEVFQTY0OSAvKiBET01TZWxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQzU1NjEwRjExMUE3MDRFQjAwQjgyRDI3IC8qIERPTVN0cmluZ0xpc3QuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0zMTkyNyw2ICszMTk1Nyw4IEBACiAJCQkJMEY0OTY2QUMxREI0MEM0MzAw
QTI3NEJCIC8qIEpTRE9NUG9pbnRJbml0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDk2NkFF
MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRTE3MkFGOEYxODExQkMzNzAwRkJBREI5IC8qIEpTRE9NUHJvbWlzZURlZmVycmVkLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjNCOTI4MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1
YWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGM0I5MkExRUUzQjZERTAwQjg0MTQ0IC8qIEpT
RE9NUXVhZEluaXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0NzEwQkIxREI1NkJFODAwMkRD
RUMzIC8qIEpTRE9NUmVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ3MTBCRDFEQjU2QkU4
MDAyRENFQzMgLyogSlNET01SZWN0SW5pdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NjZEQzZB
QzFFREUwMjFEMDA3NDYyMjQgLyogSlNET01SZWN0TGlzdC5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTVBvaW50LmgKaW5kZXggYjdjYWRiOTlhMWU3NGNhYjMzMTUzYmYyOTE5ZWU5NDkwYWI0
YmQ0ZS4uY2FmNDNjMzliNWE0YWYzN2Q1YWQzZjc2ZjA1OTE4ZDg1MTJmYjRhYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RPTVBvaW50LmgKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
RE9NUG9pbnQgZmluYWwgOiBwdWJsaWMgRE9NUG9pbnRSZWFkT25seSB7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxET01Qb2ludD4gY3JlYXRl
KGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHosIGRvdWJsZSB3KSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IERPTVBvaW50KHgsIHksIHosIHcpKTsgfQorICAgIHN0YXRpYyBSZWY8RE9NUG9pbnQ+
IGNyZWF0ZShkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB6ID0gMCwgZG91YmxlIHcgPSAxKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IERPTVBvaW50KHgsIHksIHosIHcpKTsgfQogICAgIHN0YXRp
YyBSZWY8RE9NUG9pbnQ+IGNyZWF0ZShjb25zdCBET01Qb2ludEluaXQmIGluaXQpIHsgcmV0dXJu
IGNyZWF0ZShpbml0LngsIGluaXQueSwgaW5pdC56LCBpbml0LncpOyB9CiAgICAgc3RhdGljIFJl
ZjxET01Qb2ludD4gZnJvbVBvaW50KGNvbnN0IERPTVBvaW50SW5pdCYgaW5pdCkgeyByZXR1cm4g
Y3JlYXRlKGluaXQueCwgaW5pdC55LCBpbml0LnosIGluaXQudyk7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1
YWQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjRjZjBhNGYwZDE4YTY3MjkzMzNkZDQ5YTA5MjUyNjM5NTBhNzU0
YTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5jcHAKQEAg
LTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJET01RdWFkLmgiCisKKyNpbmNsdWRlICJET01Qb2ludC5oIgorI2luY2x1ZGUgIkRPTVJlY3Qu
aCIKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorCit1c2luZyBuYW1lc3BhY2UgV1RGOwor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RPTVF1YWQ6OkRPTVF1YWQoY29uc3QgRE9NUG9pbnRJ
bml0JiBwMSwgY29uc3QgRE9NUG9pbnRJbml0JiBwMiwgY29uc3QgRE9NUG9pbnRJbml0JiBwMywg
Y29uc3QgRE9NUG9pbnRJbml0JiBwNCkKKyAgICA6IG1fcDEoRE9NUG9pbnQ6OmNyZWF0ZShwMSkp
CisgICAgLCBtX3AyKERPTVBvaW50OjpjcmVhdGUocDIpKQorICAgICwgbV9wMyhET01Qb2ludDo6
Y3JlYXRlKHAzKSkKKyAgICAsIG1fcDQoRE9NUG9pbnQ6OmNyZWF0ZShwNCkpCit7Cit9CisKKy8v
ICBwMS0tLS0tLXAyCisvLyAgfCAgICAgICB8CisvLyAgfCAgICAgICB8CisvLyAgcDQtLS0tLS1w
MworRE9NUXVhZDo6RE9NUXVhZChjb25zdCBET01SZWN0SW5pdCYgcikKKyAgICA6IG1fcDEoRE9N
UG9pbnQ6OmNyZWF0ZShyLngsIHIueSkpCisgICAgLCBtX3AyKERPTVBvaW50OjpjcmVhdGUoci54
ICsgci53aWR0aCwgci55KSkKKyAgICAsIG1fcDMoRE9NUG9pbnQ6OmNyZWF0ZShyLnggKyByLndp
ZHRoLCByLnkgKyByLmhlaWdodCkpCisgICAgLCBtX3A0KERPTVBvaW50OjpjcmVhdGUoci54LCBy
LnkgKyByLmhlaWdodCkpCit7Cit9CisKK1JlZlB0cjxET01SZWN0PiBET01RdWFkOjpnZXRCb3Vu
ZHMoKSBjb25zdAoreworICAgIGRvdWJsZSBsZWZ0ID0gbmFuUHJvcGFnYXRpbmdNaW4obmFuUHJv
cGFnYXRpbmdNaW4obmFuUHJvcGFnYXRpbmdNaW4obV9wMS0+eCgpLCBtX3AyLT54KCkpLCBtX3Az
LT54KCkpLCBtX3A0LT54KCkpOworICAgIGRvdWJsZSB0b3AgPSBuYW5Qcm9wYWdhdGluZ01pbihu
YW5Qcm9wYWdhdGluZ01pbihuYW5Qcm9wYWdhdGluZ01pbihtX3AxLT55KCksIG1fcDItPnkoKSks
IG1fcDMtPnkoKSksIG1fcDQtPnkoKSk7CisgICAgZG91YmxlIHJpZ2h0ID0gbmFuUHJvcGFnYXRp
bmdNYXgobmFuUHJvcGFnYXRpbmdNYXgobmFuUHJvcGFnYXRpbmdNYXgobV9wMS0+eCgpLCBtX3Ay
LT54KCkpLCBtX3AzLT54KCkpLCBtX3A0LT54KCkpOworICAgIGRvdWJsZSBib3R0b20gPSBuYW5Q
cm9wYWdhdGluZ01heChuYW5Qcm9wYWdhdGluZ01heChuYW5Qcm9wYWdhdGluZ01heChtX3AxLT55
KCksIG1fcDItPnkoKSksIG1fcDMtPnkoKSksIG1fcDQtPnkoKSk7CisKKyAgICByZXR1cm4gRE9N
UmVjdDo6Y3JlYXRlKGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApOworfQor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RPTVF1YWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjkzNTk0NjRmYzFmODYwZjM2NThkNTc0
YmRiYjQ2Y2NkZmNlYjczCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RP
TVF1YWQuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJET01Qb2ludEluaXQuaCIKKyNpbmNsdWRlICJET01RdWFkSW5pdC5oIgorI2luY2x1
ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTVBvaW50
OworY2xhc3MgRE9NUmVjdDsKK3N0cnVjdCBET01Qb2ludEluaXQ7CitzdHJ1Y3QgRE9NUmVjdElu
aXQ7CisKK2NsYXNzIERPTVF1YWQgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVm
Q291bnRlZDxET01RdWFkPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxET01RdWFkPiBjcmVh
dGUoY29uc3QgRE9NUG9pbnRJbml0JiBwMSwgY29uc3QgRE9NUG9pbnRJbml0JiBwMiwgY29uc3Qg
RE9NUG9pbnRJbml0JiBwMywgY29uc3QgRE9NUG9pbnRJbml0JiBwNCkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBET01RdWFkKHAxLCBwMiwgcDMsIHA0KSk7IH0KKyAgICBzdGF0aWMgUmVmPERPTVF1
YWQ+IGZyb21SZWN0KGNvbnN0IERPTVJlY3RJbml0JiBpbml0KSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IERPTVF1YWQoaW5pdCkpOyB9CisgICAgc3RhdGljIFJlZjxET01RdWFkPiBmcm9tUXVhZChj
b25zdCBET01RdWFkSW5pdCYgaW5pdCkgeyByZXR1cm4gY3JlYXRlKGluaXQucDEsIGluaXQucDIs
IGluaXQucDMsIGluaXQucDQpOyB9CisKKyAgICBSZWZQdHI8RE9NUG9pbnQ+IHAxKCkgY29uc3Qg
eyByZXR1cm4gbV9wMTsgfQorICAgIFJlZlB0cjxET01Qb2ludD4gcDIoKSBjb25zdCB7IHJldHVy
biBtX3AyOyB9CisgICAgUmVmUHRyPERPTVBvaW50PiBwMygpIGNvbnN0IHsgcmV0dXJuIG1fcDM7
IH0KKyAgICBSZWZQdHI8RE9NUG9pbnQ+IHA0KCkgY29uc3QgeyByZXR1cm4gbV9wNDsgfQorCisg
ICAgUmVmUHRyPERPTVJlY3Q+IGdldEJvdW5kcygpIGNvbnN0OworCitwcml2YXRlOgorICAgIERP
TVF1YWQoY29uc3QgRE9NUG9pbnRJbml0JiwgY29uc3QgRE9NUG9pbnRJbml0JiwgY29uc3QgRE9N
UG9pbnRJbml0JiwgY29uc3QgRE9NUG9pbnRJbml0Jik7CisgICAgZXhwbGljaXQgRE9NUXVhZChj
b25zdCBET01SZWN0SW5pdCYpOworICAgIAorICAgIFJlZlB0cjxET01Qb2ludD4gbV9wMTsKKyAg
ICBSZWZQdHI8RE9NUG9pbnQ+IG1fcDI7CisgICAgUmVmUHRyPERPTVBvaW50PiBtX3AzOworICAg
IFJlZlB0cjxET01Qb2ludD4gbV9wNDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01RdWFkLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hYmIwNjI3OGE5NDk3ZDAzM2MzYjE3YWFiNDRhMWNiNWE1NTZkMzliCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaWRsCkBAIC0wLDAgKzEsNDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jZGlj
dGRlZi1kb21xdWFkaW5pdAorCitbCisgICAgQ29uc3RydWN0b3Iob3B0aW9uYWwgRE9NUG9pbnRJ
bml0IHAxLCBvcHRpb25hbCBET01Qb2ludEluaXQgcDIsIG9wdGlvbmFsIERPTVBvaW50SW5pdCBw
Mywgb3B0aW9uYWwgRE9NUG9pbnRJbml0IHA0KSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2Vy
KSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdCitpbnRlcmZhY2UgRE9NUXVhZCB7
CisgICAgW05ld09iamVjdF0gc3RhdGljIERPTVF1YWQgZnJvbVJlY3Qob3B0aW9uYWwgRE9NUmVj
dEluaXQgb3RoZXIpOworICAgIFtOZXdPYmplY3RdIHN0YXRpYyBET01RdWFkIGZyb21RdWFkKG9w
dGlvbmFsIERPTVF1YWRJbml0IG90aGVyKTsKKworICAgIFtDYWNoZWRBdHRyaWJ1dGVdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01Qb2ludCBwMTsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVj
dF0uCisgICAgW0NhY2hlZEF0dHJpYnV0ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50IHAy
OyAvLyBGSVhNRTogU2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4KKyAgICBbQ2FjaGVkQXR0cmlidXRl
XSByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQgcDM7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1Nh
bWVPYmplY3RdLgorICAgIFtDYWNoZWRBdHRyaWJ1dGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Q
b2ludCBwNDsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVjdF0uCisgICAgW05ld09iamVj
dF0gRE9NUmVjdCBnZXRCb3VuZHMoKTsKKworICAgIC8vIHNlcmlhbGl6ZXIgPSB7IGF0dHJpYnV0
ZSB9OyBGSVhNRTogaW1wbGVtZW50LgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9ET01RdWFkSW5pdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjhhOWY3Y2E3Mjc0ZjhmMGY5NTdkNGZhZTM3OWE2YTJiMmYzNzVhYQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkSW5pdC5oCkBAIC0wLDAgKzEsMzkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkRPTVBvaW50SW5pdC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBET01RdWFkSW5pdCB7CisgICAgRE9N
UG9pbnRJbml0IHAxOworICAgIERPTVBvaW50SW5pdCBwMjsKKyAgICBET01Qb2ludEluaXQgcDM7
CisgICAgRE9NUG9pbnRJbml0IHA0OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RPTVF1YWRJbml0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkSW5pdC5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWE0MjQ5ODFhMWNlNTZlY2RmNzdkNThiN2M1YjUwNWMyOGZkZTFlMQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkSW5pdC5pZGwKQEAg
LTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dl
b21ldHJ5LyNkaWN0ZGVmLWRvbXF1YWRpbml0CisKK2RpY3Rpb25hcnkgRE9NUXVhZEluaXQgewor
ICAgIERPTVBvaW50SW5pdCBwMTsKKyAgICBET01Qb2ludEluaXQgcDI7CisgICAgRE9NUG9pbnRJ
bml0IHAzOworICAgIERPTVBvaW50SW5pdCBwNDsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWFlYjdlYWY5ZTRlNjNj
ZjQ2NGMyZjRjZGI2MGFiN2ZhNDBhZGNiZC4uNWFlOTNmYTgyYjM4ZmE4OWExMWQ1MzI2NDIyYmE3
YmM5OWRhMGExMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA2LTExICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBET01RdWFk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM1MzQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAg
IEltcGxlbWVudCBET01RdWFkIHBlciBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8j
RE9NUXVhZC4KKworICAgICAgICAqIGpzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0
ZXMtZGVkaWNhdGVkLXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorCiAy
MDE3LTA2LTA5ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAg
UmViYXNlbGluZSBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbGF5b3V0LW5vZGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGJiMzNmNmI5N2E0YTIyMTc3ZTE4NmU3NWJhMGMx
YjI4MzgzM2I5YTAuLmMyMmIyZWI3OGVlMWIyNjY0MjliMjA5YWE3MDI4ZjllN2IwYjFmMmIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA2LTEx
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxl
bWVudCBET01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJbXBsZW1lbnQgRE9NUXVhZCBwZXIgaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZ2VvbWV0
cnkvI0RPTVF1YWQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5
LTEvRE9NUXVhZC0wMDEtZXhwZWN0ZWQudHh0OiBUZXN0cyBhZ2FpbnN0IGFuIG9sZGVyIHZlcnNp
b24KKyAgICAgICAgb2YgdGhlIHNwZWMsIHNvIHNvbWUgZmFpbHVyZXMuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAyLWV4cGVjdGVkLnR4dDog
QWxsIHRlc3RzIHBhc3Mgb3RoZXIgdGhhbiBhIE5hTgorICAgICAgICBwcm9wYWdhdGlvbiBpc3N1
ZSB3aGljaCBuZWVkcyBzcGVjIGNsYXJpZmljYXRpb24uCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2VyaWFsaXphdGlvbi1leHBlY3RlZC50
eHQ6CisKIDIwMTctMDYtMDkgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIEFkZCBmbGFnIGFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveCB0byBpZnJhbWUg
c2FuZGJveApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01RdWFkLTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1
YWQtMDAxLWV4cGVjdGVkLnR4dAppbmRleCA5MjQzZmQ5MjM1MzIzZmVkNzIzYTcwNThiMWMxOWM1
NjcxNDRkYjE4Li5jOTM5NDFmNWQ4N2RkNGE3NzYyOThjNmNjNzMyMTRjYmMxOWE1NWQ5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9n
ZW9tZXRyeS0xL0RPTVF1YWQtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAxLWV4
cGVjdGVkLnR4dApAQCAtMSw0MSArMSw0MSBAQAogVGVzdCBET01RdWFkIGludGVyZmFjZQogCiAK
LUZBSUwgdGVzdENvbnN0cnVjdG9yMDogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1
YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMDogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERP
TVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeyBuZXcgRE9NUXVhZCgxKTsgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVj
dGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIHRlc3RDb25zdHJ1Y3Rv
cjIgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgbmV3IERPTVF1YWQoMSwg
Mik7IH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IERPTVF1YWQiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIg
KCJUeXBlRXJyb3IiKQotRkFJTCB0ZXN0Q29uc3RydWN0b3IzIGFzc2VydF90aHJvd3M6IGZ1bmN0
aW9uICJmdW5jdGlvbiAoKSB7IG5ldyBET01RdWFkKDEsIDIsIDMpOyB9IiB0aHJldyBvYmplY3Qg
IlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVyZW5j
ZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwg
dGVzdENvbnN0cnVjdG9yNCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBu
ZXcgRE9NUXVhZCgxLCAyLCAzLCA0KTsgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVk
IG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjU6
IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rv
cjU6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1
Y3RvcjY6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25z
dHJ1Y3RvcjY6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RD
b25zdHJ1Y3Rvcjc6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRl
c3RDb25zdHJ1Y3Rvcjc6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlM
IHRlc3RDb25zdHJ1Y3Rvcjg6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1G
QUlMIHRlc3RDb25zdHJ1Y3Rvcjg6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFk
Ci1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjk6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01R
dWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjk6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBE
T01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjEwOiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxMDogYm91bmRzIENhbid0IGZpbmQgdmFy
aWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMTE6IHBvaW50cyBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjExOiBib3VuZHMgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxMjogcG9pbnRzIENh
bid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMTI6IGJvdW5k
cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjEzOiBw
b2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3Ix
MzogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVj
dG9yMTQ6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25z
dHJ1Y3RvcjE0OiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0
Q29uc3RydWN0b3IxNSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcg
RE9NUXVhZCh7fSwge30sIHt9LCBOYU4pOyB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0
ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgdGVzdENvbnN0cnVjdG9y
MTY6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1
Y3RvcjE2OiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCBwMVRvcDRB
dHRyaWJ1dGVzMDogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgcDFU
b3A0QXR0cmlidXRlczA6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlM
IHAxVG9wNEF0dHJpYnV0ZXMxOiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAot
RkFJTCBwMVRvcDRBdHRyaWJ1dGVzMTogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1
YWQKLUZBSUwgYm91bmRzQXR0cmlidXRlMDogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERP
TVF1YWQKLUZBSUwgYm91bmRzQXR0cmlidXRlMDogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6
IERPTVF1YWQKLUZBSUwgYm91bmRzQXR0cmlidXRlMTogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFi
bGU6IERPTVF1YWQKLUZBSUwgYm91bmRzQXR0cmlidXRlMTogYm91bmRzIENhbid0IGZpbmQgdmFy
aWFibGU6IERPTVF1YWQKK1BBU1MgdGVzdENvbnN0cnVjdG9yMDogcG9pbnRzIAorRkFJTCB0ZXN0
Q29uc3RydWN0b3IwOiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ3EuYm91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3IxIAorUEFTUyB0ZXN0Q29uc3Ry
dWN0b3IyIAorUEFTUyB0ZXN0Q29uc3RydWN0b3IzIAorUEFTUyB0ZXN0Q29uc3RydWN0b3I0IAor
RkFJTCB0ZXN0Q29uc3RydWN0b3I1OiBwb2ludHMgYXNzZXJ0X2VxdWFsczogRXhwZWN0ZWQgdmFs
dWUgZm9yIHAyLnggaXMgMTEwIGV4cGVjdGVkIDExMCBidXQgZ290IDAKK0ZBSUwgdGVzdENvbnN0
cnVjdG9yNTogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdx
LmJvdW5kcy54JykKK0ZBSUwgdGVzdENvbnN0cnVjdG9yNjogcG9pbnRzIGFzc2VydF9lcXVhbHM6
IEV4cGVjdGVkIHZhbHVlIGZvciBwMi54IGlzIC05MCBleHBlY3RlZCAtOTAgYnV0IGdvdCAwCitG
QUlMIHRlc3RDb25zdHJ1Y3RvcjY6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitGQUlMIHRlc3RDb25zdHJ1Y3Rvcjc6IHBvaW50cyBh
c3NlcnRfZXF1YWxzOiBFeHBlY3RlZCB2YWx1ZSBmb3IgcDIueCBpcyBOYU4gZXhwZWN0ZWQgTmFO
IGJ1dCBnb3QgMAorRkFJTCB0ZXN0Q29uc3RydWN0b3I3OiBib3VuZHMgdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0
b3I4OiBwb2ludHMgCitGQUlMIHRlc3RDb25zdHJ1Y3Rvcjg6IGJvdW5kcyB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQQVNTIHRlc3RDb25zdHJ1
Y3Rvcjk6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yOTogYm91bmRzIHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK1BBU1MgdGVzdENvbnN0
cnVjdG9yMTA6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yMTA6IGJvdW5kcyB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQQVNTIHRlc3RD
b25zdHJ1Y3RvcjExOiBwb2ludHMgCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjExOiBib3VuZHMgdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyB0
ZXN0Q29uc3RydWN0b3IxMjogcG9pbnRzIAorRkFJTCB0ZXN0Q29uc3RydWN0b3IxMjogYm91bmRz
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK1BB
U1MgdGVzdENvbnN0cnVjdG9yMTM6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yMTM6IGJv
dW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcp
CitQQVNTIHRlc3RDb25zdHJ1Y3RvcjE0OiBwb2ludHMgCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjE0
OiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRz
LngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3IxNSAKK1BBU1MgdGVzdENvbnN0cnVjdG9yMTY6IHBv
aW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yMTY6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQQVNTIHAxVG9wNEF0dHJpYnV0ZXMw
OiBwb2ludHMgCitGQUlMIHAxVG9wNEF0dHJpYnV0ZXMwOiBib3VuZHMgdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyBwMVRvcDRBdHRyaWJ1
dGVzMTogcG9pbnRzIAorRkFJTCBwMVRvcDRBdHRyaWJ1dGVzMTogYm91bmRzIHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK1BBU1MgYm91bmRzQXR0
cmlidXRlMDogcG9pbnRzIAorRkFJTCBib3VuZHNBdHRyaWJ1dGUwOiBib3VuZHMgYXNzZXJ0X2Vx
dWFsczogRXhwZWN0ZWQgdmFsdWUgZm9yIGJvdW5kcy54IGlzIDAgZXhwZWN0ZWQgMCBidXQgZ290
IDEwCitGQUlMIGJvdW5kc0F0dHJpYnV0ZTE6IHBvaW50cyB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCA9IDEwJykKK0ZBSUwgYm91bmRzQXR0cmlidXRl
MTogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5k
cy54ID0gMTAnKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEv
RE9NUXVhZC0wMDItZXhwZWN0ZWQudHh0CmluZGV4IGUwZDdhN2JjNmVmZWYxZjE0Mzk5OTY2OGJl
YzgyYjYwNDlmMmQzZjYuLjg4ZTM2ZDRkOTBjYjAyNjQ5ZjAyOTI3MGRkYzJmZDA4OWM1NWJmMDMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2dlb21ldHJ5LTEvRE9NUXVhZC0wMDItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvRE9NUXVhZC0w
MDItZXhwZWN0ZWQudHh0CkBAIC0xLDIxICsxLDIxIEBACiBUZXN0IERPTVF1YWQgaW50ZXJmYWNl
CiAKIAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIG5vIGFyZ3MgQ2FuJ3QgZmluZCB2YXJpYWJsZTog
RE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggb25lIGluaXQgRE9NUG9pbnQgYXJn
IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRo
IHR3byBpbml0IERPTVBvaW50IGFyZ3MgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJ
TCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggdGhyZWUgaW5pdCBET01Qb2ludCBhcmdzIENhbid0IGZp
bmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGZvdXIgaW5p
dCBET01Qb2ludCBhcmdzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBD
b25zdHJ1Y3RvciB3aXRoIG9uZSBET01Qb2ludCBhcmcgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9N
UXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggdHdvIERPTVBvaW50IGFyZ3MgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggdGhyZWUg
RE9NUG9pbnQgYXJncyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgQ29u
c3RydWN0b3Igd2l0aCBmb3VyIERPTVBvaW50IGFyZ3MgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9N
UXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggaW52YWlsZCBpbnRlZ2VyIGFyZ3MgYXNz
ZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgbmV3IERPTVF1YWQoMSwgMiwgMywg
NCk7IH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IERPTVF1YWQiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIg
KCJUeXBlRXJyb3IiKQotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggaW52YWlsZCBzdHJpbmcg
YXJncyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVhZCgi
MSIsICIyIiwgIjMiLCAiNCIpOyB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2Jq
ZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRo
IE5hTiBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVhZCh7
fSwge30sIHt9LCBOYU4pOyB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0
ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgdGVzdCBmcm9tUmVjdCBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgZnJvbVJlY3Qgd2l0aCBJbmZpbml0eSBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgZnJvbVF1YWQgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IHAxLCBwMiwgcDMsIHA0IGFyZSByZWFkb25seSBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgZ2V0Qm91bmRzIENhbid0IGZp
bmQgdmFyaWFibGU6IERPTVF1YWQKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciBubyBhcmdzIAorUEFT
UyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggb25lIGluaXQgRE9NUG9pbnQgYXJnIAorUEFTUyB0ZXN0
IENvbnN0cnVjdG9yIHdpdGggdHdvIGluaXQgRE9NUG9pbnQgYXJncyAKK1BBU1MgdGVzdCBDb25z
dHJ1Y3RvciB3aXRoIHRocmVlIGluaXQgRE9NUG9pbnQgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1
Y3RvciB3aXRoIGZvdXIgaW5pdCBET01Qb2ludCBhcmdzIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9y
IHdpdGggb25lIERPTVBvaW50IGFyZyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIHR3byBE
T01Qb2ludCBhcmdzIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggdGhyZWUgRE9NUG9pbnQg
YXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGZvdXIgRE9NUG9pbnQgYXJncyAKK1BB
U1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGludmFpbGQgaW50ZWdlciBhcmdzIAorUEFTUyB0ZXN0
IENvbnN0cnVjdG9yIHdpdGggaW52YWlsZCBzdHJpbmcgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1
Y3RvciB3aXRoIE5hTiAKK1BBU1MgdGVzdCBmcm9tUmVjdCAKK1BBU1MgdGVzdCBmcm9tUmVjdCB3
aXRoIEluZmluaXR5IAorUEFTUyB0ZXN0IGZyb21RdWFkIAorUEFTUyB0ZXN0IHAxLCBwMiwgcDMs
IHA0IGFyZSByZWFkb25seSAKK1BBU1MgdGVzdCBnZXRCb3VuZHMgCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEv
c3RydWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvc3RydWN0dXJlZC1zZXJp
YWxpemF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBmODUyZTBkOTVhNzEyZmM1MTNkZTMzNTJlZTQ0
ZmZiNGY3ZTI3YWMyLi44YjBhM2RkNWFhMWE0NGY4ZDc1MGMxYzA0YTQ0YzA1ODE0ZTgyMzRlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2VyaWFsaXphdGlvbi1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnkt
MS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xNSwxMCArMTUsMTAg
QEAgRkFJTCBET01SZWN0IGNsb25lOiBiYXNpYyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICIKIEZBSUwgRE9NUmVjdCBjbG9uZTogY3VzdG9tIHBy
b3BlcnR5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90
IGJlIGNsb25lZC4iCiBGQUlMIERPTVJlY3QgY2xvbmU6IHRocm93aW5nIGdldHRlcnMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25l
RXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIK
IEZBSUwgRE9NUmVjdCBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00g
RXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVF1
YWQgY2xvbmU6IGJhc2ljIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGlu
ZyAnbmV3IHNlbGZbY29uc3RyXSgpJykKLUZBSUwgRE9NUXVhZCBjbG9uZTogY3VzdG9tIHByb3Bl
cnR5IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IHNlbGZb
Y29uc3RyXSgpJykKLUZBSUwgRE9NUXVhZCBjbG9uZTogdGhyb3dpbmcgZ2V0dGVycyB1bmRlZmlu
ZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBzZWxmW2NvbnN0cl0oKScp
Ci1GQUlMIERPTVF1YWQgY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVlcyB1bmRlZmluZWQgaXMgbm90
IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBzZWxmW2NvbnN0cl0nKQorRkFJTCBET01R
dWFkIGNsb25lOiBiYXNpYyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmpl
Y3QgY2FuIG5vdCBiZSBjbG9uZWQuIgorRkFJTCBET01RdWFkIGNsb25lOiBjdXN0b20gcHJvcGVy
dHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
RGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUg
Y2xvbmVkLiIKK0ZBSUwgRE9NUXVhZCBjbG9uZTogdGhyb3dpbmcgZ2V0dGVycyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJv
ciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgorRkFJ
TCBET01RdWFkIGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNl
cHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKIEZBSUwgRE9NTWF0cml4
UmVhZE9ubHkgY2xvbmU6IGJhc2ljIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhl
IG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCiBGQUlMIERPTU1hdHJpeFJlYWRPbmx5IGNsb25l
OiBjdXN0b20gcHJvcGVydHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2Jq
ZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKIEZBSUwgRE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IHRo
cm93aW5nIGdldHRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0
IGNhbiBub3QgYmUgY2xvbmVkLiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZGVkaWNhdGVkLXdvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWRlZGlj
YXRlZC13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGNhODFhMzk3MGVmYTIwMjcwZjMzZDM3NWM4
YzAwNzhlMjRkYTZhMTcuLjNhNmFjMDdmNGEyYWQ5ZjMxOTg5NWVmYWU4YTllZDhmY2NjMzFjZDQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJp
YnV0ZXMtZGVkaWNhdGVkLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMv
ZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1kZWRpY2F0ZWQtd29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtNTksNiArNTksMTEgQEAgUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5oYXNPd24KIFBBU1Mg
W1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2lu
dFJlYWRPbmx5JykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIFtXb3JrZXJd
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25s
eScpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5JykuY29uZmlndXJhYmxlIGlz
IHRydWUKK1BBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdET01RdWFkJykudmFsdWUgaXMgRE9NUXVhZAorUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5oYXNPd25Qcm9wZXJ0eSgn
Z2V0JykgaXMgZmFsc2UKK1BBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdET01RdWFkJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQ
QVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9N
UXVhZCcpLmVudW1lcmFibGUgaXMgZmFsc2UKK1BBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykuY29uZmlndXJhYmxlIGlzIHRydWUK
IFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdE
T01SZWN0JykudmFsdWUgaXMgRE9NUmVjdAogUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0Jykg
aXMgZmFsc2UKIFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdET01SZWN0JykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
YXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvanMvZG9t
L2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggZjM4NmIx
OGEyMjU3NGQ2NmU3MGZhMjM1YzM0MDI0YTk1M2JiMzA3NS4uNjE1M2I4YWRmMThiMDNlZDg2YmYy
MDc3MDUwNjQ4OWZhYmViZGIxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRy
aWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMzUzLDYgKzM1MywxMSBAQCBQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmhhc093blBy
b3BlcnR5KAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RP
TVBvaW50UmVhZE9ubHknKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKIFBBU1MgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5Jyku
ZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS52YWx1ZSBp
cyBET01RdWFkCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAn
RE9NUXVhZCcpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5oYXNPd25Qcm9wZXJ0eSgn
c2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdET01RdWFkJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQog
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS52
YWx1ZSBpcyBET01SZWN0CiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xv
YmFsLCAnRE9NUmVjdCcpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQogUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS5oYXNPd25Qcm9w
ZXJ0eSgnc2V0JykgaXMgZmFsc2UK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313199</attachid>
            <date>2017-06-17 10:15:23 -0700</date>
            <delta_ts>2017-06-17 10:54:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163534-20170617101521.patch</filename>
            <type>text/plain</type>
            <size>53089</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjcwYzM4NzEzNDA4NzNm
MTY4YTI4OTg1ZjVmZDc0MDQyNTExMmFmYS4uMjZkNDAyNGUzNTM4MTQ0ZTQ5Y2JmOWE1ZGM3NTA4
ZDZhOGY4OWI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTA2LTExICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBE
T01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnQgRE9NUXVhZCBwZXIgaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZ2VvbWV0cnkvI0RP
TVF1YWQsIG90aGVyIHRoYW4gc2VyaWFsaXphdGlvbgorICAgICAgICB3aGljaCByZXF1aXJlcyBz
b21lIGJpbmRpbmdzIGNoYW5nZXMuCisKKyAgICAgICAgd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9n
ZW9tZXRyeS0xL0RPTVJlY3QtMDAxLmh0bWwgdGVzdHMgYWdhaW5zdCBhbiBvbGRlciB2ZXJzaW9u
IG9mIHRoZSBzcGVjLAorICAgICAgICBzbyBoYXMgc29tZSBmYWlsdXJlcy4gRE9NUXVhZC0wMDIu
aHRtbCBwYXNzZXMsIG90aGVyIHRoYW4gYSBOYU4gcHJvcGFnYXRpb24gaXNzdWUgdGhhdCByZXF1
aXJlcworICAgICAgICBzcGVjIGNsYXJpZmljYXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVF1
YWRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NUXVhZDo6Z2V0Qm91
bmRzKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG06CisgICAg
ICAgIChJc1NlcmlhbGl6YWJsZURPTVR5cGUpOgorICAgICAgICAoSXNTZXJpYWxpemFibGVBdHRy
aWJ1dGUpOgorICAgICAgICAqIGRvbS9ET01Qb2ludC5oOgorICAgICAgICAqIGRvbS9ET01RdWFk
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpET01RdWFkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTVF1YWQ6OmdldEJvdW5kcyk6CisgICAgICAgICogZG9tL0RPTVF1YWQu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NUXVhZDo6ZnJvbVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6
ZnJvbVF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDEpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NUXVhZDo6cDIpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDMpOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NUXVhZDo6cDQpOgorICAgICAgICAqIGRvbS9ET01RdWFkLmlkbDog
QWRkZWQuCisgICAgICAgICogZG9tL0RPTVF1YWRJbml0Lmg6IEFkZGVkLgorICAgICAgICAqIGRv
bS9ET01RdWFkSW5pdC5pZGw6IEFkZGVkLgorCiAyMDE3LTA2LTEwICBEYW4gQmVybnN0ZWluICA8
bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0ZWQgcjIxODA1NiBiZWNhdXNlIGl0IG1h
ZGUgdGhlIElERSByZWluZGV4IGNvbnN0YW50bHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGRk
ZGE2MDAxYzQ3N2I4ZTVmNTUwZmZkN2E4YTE5ZjFjNjU4YzMxNGEuLmM1ZDNhZWQyMDllOWY3MTUy
NmJlMmE4NGRiMjgxYmRlYTRkZTkyZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00MjQsNiAr
NDI0LDggQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBkb20vRE9NUG9pbnQu
aWRsCiAgICAgZG9tL0RPTVBvaW50SW5pdC5pZGwKICAgICBkb20vRE9NUG9pbnRSZWFkT25seS5p
ZGwKKyAgICBkb20vRE9NUXVhZC5pZGwKKyAgICBkb20vRE9NUXVhZEluaXQuaWRsCiAgICAgZG9t
L0RPTVJlY3QuaWRsCiAgICAgZG9tL0RPTVJlY3RJbml0LmlkbAogICAgIGRvbS9ET01SZWN0TGlz
dC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGVjYjVmN2M0ZTFmYjYxZmY4
MjlhZjExNmI3NmMzOTI0OTQ5MmZhNTguLmZlMzJiNDE0ZGM0ZDlmZGY3M2E0OTRjZjE2ZmJjYWJm
MzI5MTM5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzY0LDYgKzM2NCw4
IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01Qb2ludC5pZGwg
XAogICAgICQoV2ViQ29yZSkvZG9tL0RPTVBvaW50SW5pdC5pZGwgXAogICAgICQoV2ViQ29yZSkv
ZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9ET01RdWFkLmlk
bCBcCisgICAgJChXZWJDb3JlKS9kb20vRE9NUXVhZEluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9ET01SZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUmVjdEluaXQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9ET01SZWN0TGlzdC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDE1NDYzMzA0NTAzNTQz
MzQzM2UzNzc4NzhjNGIwZjY3ZmExNGNhNjkuLmM2ZTExZmMyZTk0NWUwZjZlYzEzMjlmZGExMjEx
NjJmNDVjZWM2YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTQ5Miw2ICs0OTIsNyBAQAogCQkwRjhCNDU3MjFEQzNGQkEzMDA0
NDNDM0YgLyogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4QjQ1NzExREMzRkJBMzAwNDQzQzNGIC8q
IEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaCAqLzsgfTsKIAkJMEY4QjQ1NzUxREM0MURC
QTAwNDQzQzNGIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjhCNDU3MzFEQzQxREJBMDA0
NDNDM0YgLyogSlNJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmNwcCAqLzsgfTsKIAkJMEY4
QjQ1NzYxREM0MURCQTAwNDQzQzNGIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4QjQ1NzQx
REM0MURCQTAwNDQzQzNGIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oICovOyB9
OworCQkwRjk0QTM5NjFFRjFCMTA1MDBGQkFGRkIgLyogSlNET01RdWFkQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTRBMzk1MUVGMUIx
MDUwMEZCQUZGQiAvKiBKU0RPTVF1YWRDdXN0b20uY3BwICovOyB9OwogCQkwRjk3QTY1ODE1NURB
ODFFMDBGQURENEMgLyogRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5N0E2NTcxNTVEQTgxRTAwRkFERDRD
IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbSAqLzsgfTsKIAkJMEZBMjRENzkxNjJERjkx
OTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc3MTYyREY5MTkwMEEzRjRDMCAvKiBH
cmFwaGljc0xheWVyVXBkYXRlci5jcHAgKi87IH07CiAJCTBGQTI0RDdBMTYyREY5MTkwMEEzRjRD
MCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5
ZXJVcGRhdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTU1OCwxMSArNTU5LDE4IEBACiAJCTBGRUYyMENFMUJENEEyNDEwMDEyOEU1RCAvKiBM
ZW5ndGhTaXplLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRUYyMENEMUJENEEyNDEwMDEyOEU1RCAvKiBMZW5ndGhTaXplLmNwcCAqLzsgfTsKIAkJ
MEZFRjIwRDAxQkQ0QTY0RjAwMTI4RTVEIC8qIFJlbmRlclN0eWxlQ29uc3RhbnRzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUYyMENGMUJENEE2
NEYwMDEyOEU1RCAvKiBSZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAgKi87IH07CiAJCTBGRjJFODBE
MUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGMkU4MEMxRUUwRDQzMDAw
OUVBQkQ0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAgKi87IH07CisJCTBGRjNCOTI4
MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGM0I5MjQxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9N
UXVhZC5jcHAgKi87IH07CisJCTBGRjNCOTI5MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjNCOTI1
MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuaCAqLzsgfTsKKwkJMEZGM0I5MkExRUUzQjZE
RTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGM0I5MjYxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVh
ZEluaXQuY3BwICovOyB9OworCQkwRkYzQjkyQjFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFk
SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZG
M0I5MjcxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuaCAqLzsgfTsKIAkJMEZGNTAy
NjkxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1MDI2NzEwMkJBOTQzMDA2NkYzOUEgLyog
SlNTdHlsZU1lZGlhLmNwcCAqLzsgfTsKIAkJMEZGNTAyNkExMDJCQTk0MzAwNjZGMzlBIC8qIEpT
U3R5bGVNZWRpYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZGNTAyNjgxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5oICovOyB9OwogCQkw
RkY1MDI3MTEwMkJBOTZBMDA2NkYzOUEgLyogU3R5bGVNZWRpYS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1MDI2RTEwMkJBOTY2MDA2NkYzOUEg
LyogU3R5bGVNZWRpYS5jcHAgKi87IH07CiAJCTBGRjUwMjcyMTAyQkE5NkEwMDY2RjM5QSAvKiBT
dHlsZU1lZGlhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkY1MDI2RjEwMkJBOTZBMDA2NkYzOUEgLyogU3R5bGVNZWRpYS5oICovOyB9OwogCQkwRkY4
MzVCODFFRTMyNzRGMDA4QjRDQzcgLyogRE9NUG9pbnRSZWFkT25seS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY4MzVCNzFFRTMyNzRGMDA4QjRD
QzcgLyogRE9NUG9pbnRSZWFkT25seS5jcHAgKi87IH07CisJCTBGRjgzNUMyMUVFMzU0REEwMDhC
NENDNyAvKiBET01RdWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGRjgzNUJEMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmNwcCAqLzsgfTsK
KwkJMEZGODM1QzMxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjgzNUJFMUVFMzU0REEwMDhCNENDNyAv
KiBET01RdWFkLmggKi87IH07CisJCTBGRjgzNUM1MUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFk
SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZG
ODM1QzAxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0LmggKi87IH07CiAJCTBGRkQ0RDYw
MTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkQ0RDVFMTg2NTFGQTMw
MDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCAqLzsgfTsKIAkJMEZGRDRE
NjExODY1MUZBMzAwNTEyRjZFIC8qIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkQ0RDVGMTg2NTFGQTMw
MDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTBGQjA4NEIxNEUxNUM3RTAwQTNEQjk4
IC8qIFB1YmxpY1VSTE1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDEwRkIwODRBMTRFMTVDN0UwMEEzREI5OCAvKiBQdWJsaWNVUkxNYW5hZ2Vy
LmggKi87IH07CkBAIC03OTI1LDYgKzc5MzMsNyBAQAogCQkwRjhCNDU3MTFEQzNGQkEzMDA0NDND
M0YgLyogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBGOEI0NTczMURDNDFEQkEwMDQ0M0MzRiAvKiBKU0ludGVyc2Vj
dGlvbk9ic2VydmVyQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEY4QjQ1NzQxREM0MURCQTAwNDQzQzNGIC8qIEpTSW50ZXJzZWN0aW9u
T2JzZXJ2ZXJDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0lu
dGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEY5NEEzOTUxRUYxQjEwNTAwRkJBRkZCIC8qIEpTRE9NUXVhZEN1c3RvbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVF1YWRDdXN0b20uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjk3QTY1NzE1NURBODFFMDBGQURENEMgLyogRGlz
cGxheVJlZnJlc2hNb25pdG9ySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwRkEwODUyQjFFNkZCNTVBMDA5NzVGREQgLyogQ1NTUHJvcGVydGllcy5qc29u
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5q
c29uOyBwYXRoID0gQ1NTUHJvcGVydGllcy5qc29uOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwRkEyNEQ3NzE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR3JhcGhpY3NMYXllclVwZGF0
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzk5MywxMiArODAwMiwyMSBA
QAogCQkwRkVGMjBDRDFCRDRBMjQxMDAxMjhFNUQgLyogTGVuZ3RoU2l6ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMZW5ndGhTaXplLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMEZFRjIwQ0YxQkQ0QTY0RjAwMTI4RTVEIC8qIFJlbmRlclN0eWxl
Q29uc3RhbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRl
clN0eWxlQ29uc3RhbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGMkU4
MEMxRUUwRDQzMDAwOUVBQkQ0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkYzQjkyNDFFRTNCNkRFMDBCODQx
NDQgLyogSlNET01RdWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTRE9NUXVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjNCOTI1MUVF
M0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNET01RdWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjNCOTI2
MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NUXVhZEluaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkYzQjkyNzFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkSW5pdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVF1YWRJbml0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjUwMjY3MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxl
TWVkaWEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdHlsZU1l
ZGlhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGNTAyNjgxMDJCQTk0MzAw
NjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1N0eWxlTWVkaWEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGNTAyNkUx
MDJCQTk2NjAwNjZGMzlBIC8qIFN0eWxlTWVkaWEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU3R5bGVNZWRpYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGRjUwMjZGMTAyQkE5NkEwMDY2RjM5QSAvKiBTdHlsZU1lZGlhLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlTWVkaWEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZGNTAyNzAxMDJCQTk2QTAwNjZGMzlBIC8qIFN0eWxlTWVkaWEuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFN0eWxlTWVkaWEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwRkY4MzVCNzFFRTMyNzRGMDA4QjRDQzcgLyogRE9NUG9pbnRSZWFkT25seS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01Qb2ludFJlYWRPbmx5LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGODM1QkQxRUUzNTREQTAwOEI0Q0M3
IC8qIERPTVF1YWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9N
UXVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjgzNUJFMUVFMzU0REEw
MDhCNENDNyAvKiBET01RdWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TVF1YWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGODM1QkYxRUUzNTREQTAw
OEI0Q0M3IC8qIERPTVF1YWQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTVF1YWQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY4MzVDMDFFRTM1NERBMDA4QjRDQzcg
LyogRE9NUXVhZEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NUXVh
ZEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGODM1QzExRUUzNTREQTAw
OEI0Q0M3IC8qIERPTVF1YWRJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01RdWFk
SW5pdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRkQ0RDVFMTg2NTFGQTMw
MDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkZENEQ1RjE4NjUxRkEzMDA1MTJGNkUgLyogQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTEwRkIwODRBMTRFMTVDN0UwMEEzREI5OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFB1YmxpY1VSTE1hbmFnZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyMDgxLDYgKzIyMDk5LDEwIEBACiAJCQkJMEY0OTY2QTcx
REI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRJbml0LmggKi8sCiAJCQkJMEY0OTY2QTgxREI0
MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5jcHAgKi8sCiAJCQkJMEY0OTY2QTkx
REI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5oICovLAorCQkJCTBGRjNCOTI0
MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuY3BwICovLAorCQkJCTBGRjNCOTI1MUVFM0I2
REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuaCAqLywKKwkJCQkwRkYzQjkyNjFFRTNCNkRFMDBCODQx
NDQgLyogSlNET01RdWFkSW5pdC5jcHAgKi8sCisJCQkJMEZGM0I5MjcxRUUzQjZERTAwQjg0MTQ0
IC8qIEpTRE9NUXVhZEluaXQuaCAqLywKIAkJCQkwRjQ3MTBCNTFEQjU2QkU4MDAyRENFQzMgLyog
SlNET01SZWN0LmNwcCAqLywKIAkJCQkwRjQ3MTBCNjFEQjU2QkU4MDAyRENFQzMgLyogSlNET01S
ZWN0LmggKi8sCiAJCQkJMEY0NzEwQjcxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdEluaXQu
Y3BwICovLApAQCAtMjMyMDUsNiArMjMyMjcsOCBAQAogCQkJCTRBNkU5RkM2MTNDMTdENTcwMDQ2
QTdGOCAvKiBGb250VGFnZ2VkU2V0dGluZ3MuaCAqLywKIAkJCQk3Q0U2Q0JGQzE4N0YzOTQ5MDBE
NDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmNwcCAqLywKIAkJCQk3Q0U2Q0JGQTE4N0YzNzA3MDBE
NDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmggKi8sCisJCQkJQ0Q1MjVCQTExRUUwQjEwNzAwNzg4
REY1IC8qIEZvdXJDQy5jcHAgKi8sCisJCQkJQ0Q1MjVCQTIxRUUwQjEwNzAwNzg4REY1IC8qIEZv
dXJDQy5oICovLAogCQkJCTRGQjM5MEFDMTVFRjYxRjMwMDdBRDUxRiAvKiBHZW5lcmF0ZWRJbWFn
ZS5jcHAgKi8sCiAJCQkJQkMyM0YwREEwREFGRjRBNDAwOUZEQzkxIC8qIEdlbmVyYXRlZEltYWdl
LmggKi8sCiAJCQkJMEZCNjI1MkMxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVz
LmNwcCAqLywKQEAgLTIzMzI3LDggKzIzMzUxLDYgQEAKIAkJCQk1MDFCQUFBODEzOTUwRTJDMDBG
N0FDRUIgLyogV2luZFJ1bGUuaCAqLywKIAkJCQkzNzk5MTk5NDEyMDBEREY0MDBFQTA0MUMgLyog
V09GRkZpbGVGb3JtYXQuY3BwICovLAogCQkJCTM3OTkxOTk1MTIwMERERjQwMEVBMDQxQyAvKiBX
T0ZGRmlsZUZvcm1hdC5oICovLAotCQkJCUNENTI1QkExMUVFMEIxMDcwMDc4OERGNSAvKiBGb3Vy
Q0MuY3BwICovLAotCQkJCUNENTI1QkEyMUVFMEIxMDcwMDc4OERGNSAvKiBGb3VyQ0MuaCAqLywK
IAkJCSk7CiAJCQlwYXRoID0gZ3JhcGhpY3M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtMjM2NDIsNiArMjM2NjQsNyBAQAogCQkJCURFQzI5NzVEMUI0REVCMkEwMDVGNTk0NSAvKiBK
U0N1c3RvbUV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcg
LyogSlNEb2N1bWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQUREQTk0QkYxOTY4NkY4MDAwNDUzMDI5
IC8qIEpTRG9jdW1lbnRDdXN0b20uaCAqLywKKwkJCQkwRjk0QTM5NTFFRjFCMTA1MDBGQkFGRkIg
LyogSlNET01RdWFkQ3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q5QzI1RTBDMTdBQTY3MDA1QzkwQTIg
LyogSlNET01XaW5kb3dDdXN0b20uY3BwICovLAogCQkJCTY1MkZCQkJCMERFMjdDQjYwMDAxRDM4
NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICovLAogCQkJCUMyODA4MzQxMUM2REM5NkEwMDE0NTFC
NiAvKiBKU0ZvbnRGYWNlQ3VzdG9tLmNwcCAqLywKQEAgLTI0NDg1LDYgKzI0NTA4LDggQEAKIAkJ
CQlDREUzQTg1NTE3RjYwMjA0MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDLm1t
ICovLAogCQkJCUNENTRBNzYwMTgwRjlGNzAwMEIwNzZDOSAvKiBBdWRpb1RyYWNrUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5jcHAgKi8sCiAJCQkJQ0Q1NEE3NjExODBGOUY3MDAwQjA3NkM5IC8q
IEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmggKi8sCisJCQkJQ0RFQ0E4OTkx
RURGNDQ3RDAwRENCMDhCIC8qIEFWQXNzZXRUcmFja1V0aWxpdGllcy5oICovLAorCQkJCUNERUNB
ODk4MUVERjQ0N0QwMERDQjA4QiAvKiBBVkFzc2V0VHJhY2tVdGlsaXRpZXMubW0gKi8sCiAJCQkJ
MDdDOEFEMTIxRDA3M0Q2MzAwODdDNUNFIC8qIEFWRm91bmRhdGlvbk1JTUVUeXBlQ2FjaGUuaCAq
LywKIAkJCQkwN0M4QUQxMTFEMDczRDYzMDA4N0M1Q0UgLyogQVZGb3VuZGF0aW9uTUlNRVR5cGVD
YWNoZS5tbSAqLywKIAkJCQlDREU1OTU5NDFCRjE2NkQxMDBBMUNCRTggLyogQ0RNU2Vzc2lvbkFW
Q29udGVudEtleVNlc3Npb24uaCAqLywKQEAgLTI0NTIyLDggKzI0NTQ3LDYgQEAKIAkJCQlDRDhC
NUE0MDE4MEQxNDlBMDA4QjhFNjUgLyogVmlkZW9UcmFja1ByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akMubW0gKi8sCiAJCQkJQ0Q3RTA1MjAxNjUxQTg0MTAwQzEyMDFGIC8qIFdlYkNvcmVBVkZSZXNv
dXJjZUxvYWRlci5oICovLAogCQkJCUNEN0UwNTIxMTY1MUE4NDEwMEMxMjAxRiAvKiBXZWJDb3Jl
QVZGUmVzb3VyY2VMb2FkZXIubW0gKi8sCi0JCQkJQ0RFQ0E4OTgxRURGNDQ3RDAwRENCMDhCIC8q
IEFWQXNzZXRUcmFja1V0aWxpdGllcy5tbSAqLywKLQkJCQlDREVDQTg5OTFFREY0NDdEMDBEQ0Iw
OEIgLyogQVZBc3NldFRyYWNrVXRpbGl0aWVzLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IG9iamM7
CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjU3MTksNiArMjU3NDIsMTEgQEAKIAkJ
CQkwRkY4MzVCNzFFRTMyNzRGMDA4QjRDQzcgLyogRE9NUG9pbnRSZWFkT25seS5jcHAgKi8sCiAJ
CQkJMEY0OTY2OUIxREI0MDhDMTAwQTI3NEJCIC8qIERPTVBvaW50UmVhZE9ubHkuaCAqLywKIAkJ
CQkwRjQ5NjY5QzFEQjQwOEMxMDBBMjc0QkIgLyogRE9NUG9pbnRSZWFkT25seS5pZGwgKi8sCisJ
CQkJMEZGODM1QkQxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuY3BwICovLAorCQkJCTBGRjgz
NUJFMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmggKi8sCisJCQkJMEZGODM1QkYxRUUzNTRE
QTAwOEI0Q0M3IC8qIERPTVF1YWQuaWRsICovLAorCQkJCTBGRjgzNUMwMUVFMzU0REEwMDhCNEND
NyAvKiBET01RdWFkSW5pdC5oICovLAorCQkJCTBGRjgzNUMxMUVFMzU0REEwMDhCNENDNyAvKiBE
T01RdWFkSW5pdC5pZGwgKi8sCiAJCQkJMEY0NzEwQTkxREI1NkFGQzAwMkRDRUMzIC8qIERPTVJl
Y3QuaCAqLywKIAkJCQkwRjQ3MTBBQTFEQjU2QUZDMDAyRENFQzMgLyogRE9NUmVjdC5pZGwgKi8s
CiAJCQkJMEY0NzEwQUIxREI1NkFGQzAwMkRDRUMzIC8qIERPTVJlY3RJbml0LmggKi8sCkBAIC0y
NjYzMSw2ICsyNjY1OSw3IEBACiAJCQkJQzlENDY3MDUxRTYwQzQ2NTAwODE5NUZCIC8qIEF1dG9w
bGF5RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ1ODMwRDRFMTY3OUI0RjgwMEFDRjhDMyAv
KiBBdXRvc2Nyb2xsQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkYwNEUwQTE1
NEYwOTAwMEE0MjM0IC8qIEF1dG9UYWJsZUxheW91dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0RF
Q0E4OUIxRURGNDQ3RDAwRENCMDhCIC8qIEFWQXNzZXRUcmFja1V0aWxpdGllcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0RDNjc1MjcxRUFFQTlENDAwNzI3Qzg0IC8qIEFWQXVkaW9TZXNzaW9uQ2Fw
dHVyZURldmljZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDNjc1MjMxRUFFQTlCNzAwNzI3Qzg0
IC8qIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTA3MDM2M0UyMTgxQTFDREMwMEMwNzRBNSAvKiBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgg
aW4gSGVhZGVycyAqLywKQEAgLTI3MTg1LDYgKzI3MjE0LDggQEAKIAkJCQkwRjQ5NjY5RDFEQjQw
OEMxMDBBMjc0QkIgLyogRE9NUG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDk2NkEzMURC
NDA5MTAwMEEyNzRCQiAvKiBET01Qb2ludEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDk2
NjlGMURCNDA4QzEwMEEyNzRCQiAvKiBET01Qb2ludFJlYWRPbmx5LmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRkY4MzVDMzFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEZGODM1QzUxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjQ3MTBBRjFEQjU2QUZDMDAyRENFQzMgLyogRE9NUmVjdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY0NzEwQjExREI1NkFGQzAwMkRDRUMzIC8qIERPTVJlY3RJbml0LmggaW4g
SGVhZGVycyAqLywKIAkJCQk0NjgzNDRFMDFFRERGQUFBMDBCNzc5NUIgLyogRE9NUmVjdExpc3Qu
aCBpbiBIZWFkZXJzICovLApAQCAtMjczNzUsNiArMjc0MDYsNyBAQAogCQkJCTlCNTBCMURFMTdD
RDRDMEYwMDg3RjYzQyAvKiBGb3JtTmFtZWRJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTZE
MzczQTBBREJBNURFMDBBNDU1NEQgLyogRm9ybVN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
MTg4NUI5MzExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCUNENTI1QkE0MUVFMEIxMDcwMDc4OERGNSAvKiBGb3VyQ0MuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4NTMxMjNEMTFEMDQ3MUIwMEQ0RDA3NyAvKiBGcmFnbWVudFNjcmlwdGluZ1Blcm1p
c3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTY1QkYwMjJGMDk3NDgxNjMwMEM0MzE5NiAvKiBG
cmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc0QTg2MjMxNEI3QURCQjAwM0ZEQzc2IC8qIEZy
YW1lRGVzdHJ1Y3Rpb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzk1Nyw2ICsyNzk4
OSw4IEBACiAJCQkJMEY0OTY2QUYxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25s
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM3Qzg2NTAxRUI2M0UzRjAwODdDNkNBIC8qIEpTRE9N
UHJvbWlzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE3MkFGOTAxODExQkMzNzAwRkJBREI5IC8q
IEpTRE9NUHJvbWlzZURlZmVycmVkLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkYzQjkyOTFFRTNC
NkRFMDBCODQxNDQgLyogSlNET01RdWFkLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkYzQjkyQjFF
RTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkSW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0
NzEwQkMxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEY0NzEwQkUxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdEluaXQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQ2NkVEOEQzMUVERTAxNDQwMDVFNDNGNiAvKiBKU0RPTVJlY3RMaXN0LmggaW4gSGVh
ZGVycyAqLywKQEAgLTI4MjY1LDcgKzI4Mjk5LDYgQEAKIAkJCQlBQTdGRUVBNzE2QTRFNkYzMDA0
QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUFBN0ZFRUE5MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzgyNDMyOTBEMENFOEEyMDA0NjBDOEYgLyogSlNTUUxFcnJvci5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJQ0RFQ0E4OUIxRURGNDQ3RDAwRENCMDhCIC8qIEFWQXNzZXRU
cmFja1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjUyNUE5NjUxMUNBMjM0MDAwM0Ey
M0E4IC8qIEpTU1FMRXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU4MkZFRDBDQUIw
N0VFMDAyMjM3QUUgLyogSlNTUUxSZXN1bHRTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRkUx
MTlBMENCRkZDQzQwMDMwMTdGQSAvKiBKU1NRTFJlc3VsdFNldFJvd0xpc3QuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjk0MDAsNyArMjk0MzMsNiBAQAogCQkJCTBGQjg4OTBBMTY3RDJGQTEwMDEwQ0RB
NSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0FBRkU4
RDAxOUNCODY3MjAwMEY1NkQ4IC8qIFNjcm9sbExhdGNoaW5nU3RhdGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUY0Nzg3NTU0MTk5ODNBRkYwMDI0QTI4NyAvKiBTY3JvbGxTbmFwQW5pbWF0b3JTdGF0
ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0Q1MjVCQTQxRUUwQjEwNzAwNzg4REY1IC8qIEZvdXJD
Qy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjQ2NzI5MjgxRTBERTY4NTAwQUNDM0Q4IC8qIFNjcm9s
bFNuYXBPZmZzZXRzSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNDNTc5NUQxREE1QzMwMTAw
NkZBQ0E4IC8qIFNjcm9sbFRvT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlDODYw
QjA2NTdBQTAwNUFCRDREIC8qIFNjcm9sbFR5cGVzLmggaW4gSGVhZGVycyAqLywKQEAgLTMwNzY0
LDYgKzMwNzk2LDcgQEAKIAkJCQk3QzFFOTcyNzFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxC
dXR0b25FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ1ODMwRDREMTY3OUI0RjgwMEFD
RjhDMyAvKiBBdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOENG
RjA1MDBBMTU0RjA5MDAwQTQyMzQgLyogQXV0b1RhYmxlTGF5b3V0LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUNERUNBODlBMUVERjQ0N0QwMERDQjA4QiAvKiBBVkFzc2V0VHJhY2tVdGlsaXRpZXMu
bW0gaW4gU291cmNlcyAqLywKIAkJCQlDREM2NzUyNjFFQUVBOUQ0MDA3MjdDODQgLyogQVZBdWRp
b1Nlc3Npb25DYXB0dXJlRGV2aWNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RDNjc1MjIxRUFF
QTlCNzAwNzI3Qzg0IC8qIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW0gaW4g
U291cmNlcyAqLywKIAkJCQkwNzAzNjNFMzE4MUExQ0RDMDBDMDc0QTUgLyogQVZDYXB0dXJlRGV2
aWNlTWFuYWdlci5tbSBpbiBTb3VyY2VzICovLApAQCAtMzEyMDksNiArMzEyNDIsNyBAQAogCQkJ
CUE5QzZFNEVCMEQ3NDVFMkIwMDY0NDJFOSAvKiBET01QbHVnaW4uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTlDNkU0RUYwRDc0NUUzODAwNjQ0MkU5IC8qIERPTVBsdWdpbkFycmF5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGRjgzNUI4MUVFMzI3NEYwMDhCNENDNyAvKiBET01Qb2ludFJlYWRP
bmx5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjgzNUMyMUVFMzU0REEwMDhCNENDNyAvKiBE
T01RdWFkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ2ODM0NERGMUVEREZBQUEwMEI3Nzk1QiAv
KiBET01SZWN0TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVBODY4NDBDMzM2NzYwMDBF
RUE2NDkgLyogRE9NU2VsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1NTYxMEYxMTFB
NzA0RUIwMEI4MkQyNyAvKiBET01TdHJpbmdMaXN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzEy
NDYsNyArMzEyODAsNiBAQAogCQkJCUE4QzRBODA4MDlENTYzMjcwMDAzQUM4RCAvKiBFbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUI1QjdBMTcwMTdDMTBBQTgwMEU0QUEwQSAvKiBFbGVt
ZW50RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0RkZDMDIyRDE2NDNCNzI2MDA0RTE2Mzgg
LyogRWxlbWVudFJhcmVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUNENTI1QkEzMUVFMEIx
MDcwMDc4OERGNSAvKiBGb3VyQ0MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkJEQjYxOUIxNkQ2
MDMyQTAwQkIzMzk0IC8qIEVsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4Q0ZGNkNCMEExNTYxQ0QwMDBBNDIzNCAvKiBFbGxpcHNpc0JveC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlGNTVCM0RCQjEyNTFGMTJEMDAzRUYyNjkgLyogRW1haWxJbnB1dFR5cGUuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0zMTM4NCw2ICszMTQxNyw3IEBACiAJCQkJNTE0Qzc2NEYwQ0U5
MjM0RTAwN0VGM0NEIC8qIEZvcm1EYXRhU3RyZWFtTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NjU2RDM3M0IwQURCQTVERTAwQTQ1NTREIC8qIEZvcm1TdGF0ZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0MTg4NUI5NDExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQ0Q1MjVCQTMxRUUwQjEwNzAwNzg4REY1IC8qIEZvdXJDQy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk2NUJGMDIyRTA5NzQ4MTYzMDBDNDMxOTYgLyogRnJhbWUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOTc0QTg2MjIxNEI3QURCQjAwM0ZEQzc2IC8qIEZyYW1lRGVzdHJ1
Y3Rpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRUQxM0QzRDBDRUE5MzZBMDBE
ODk0NjYgLyogRnJhbWVJT1MubW0gaW4gU291cmNlcyAqLywKQEAgLTMxOTI3LDYgKzMxOTYxLDkg
QEAKIAkJCQkwRjQ5NjZBQzFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludEluaXQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEY0OTY2QUUxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRS
ZWFkT25seS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTcyQUY4RjE4MTFCQzM3MDBGQkFEQjkg
LyogSlNET01Qcm9taXNlRGVmZXJyZWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGM0I5Mjgx
RUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjk0
QTM5NjFFRjFCMTA1MDBGQkFGRkIgLyogSlNET01RdWFkQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTBGRjNCOTJBMUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGNDcxMEJCMURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3QuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0NzEwQkQxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVj
dEluaXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDY2REM2QUMxRURFMDIxRDAwNzQ2MjI0IC8q
IEpTRE9NUmVjdExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMzI0MCw3ICszMzI3Nyw2IEBA
CiAJCQkJOTMxQ0JEMEMxNjFBNDRFOTAwRTRDODc0IC8qIFNjcm9sbGluZ1N0YXRlTm9kZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5M0VGN0Q1NTE5NTRGMTM5MDBERkI3MUQgLyogU2Nyb2xsaW5n
U3RhdGVOb2RlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFQTNFODMxOTFCMzFCRjAwMEYxQjU1
IC8qIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUNERUNBODlBMUVERjQ0N0QwMERDQjA4QiAvKiBBVkFzc2V0VHJhY2tVdGlsaXRpZXMu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk5MzFDQkQwRTE2MUE0NEU5MDBFNEM4NzQgLyogU2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQjg4OTBFMTY3
RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTMxQ0JEMTAxNjFBNDRFOTAwRTRDODc0IC8qIFNjcm9sbGluZ1N0YXRlVHJlZS5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NUXVhZEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVF1
YWRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNjM2MjU3ZmM2M2IyYjlmZWM3MWU0NjlmOTVjZjNm
NTNlODgzNjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVF1YWRDdXN0b20uY3BwCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNET01RdWFkLmgiCisKKyNpbmNsdWRlICJET01Qb2lu
dC5oIgorI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOwor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgSlNET01RdWFkOjp2aXNpdEFkZGl0aW9uYWxD
aGlsZHJlbihTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICB2aXNpdG9yLmFkZE9wYXF1ZVJv
b3Qod3JhcHBlZCgpLnAxKCkuZ2V0KCkpOworICAgIHZpc2l0b3IuYWRkT3BhcXVlUm9vdCh3cmFw
cGVkKCkucDIoKS5nZXQoKSk7CisgICAgdmlzaXRvci5hZGRPcGFxdWVSb290KHdyYXBwZWQoKS5w
MygpLmdldCgpKTsKKyAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qod3JhcHBlZCgpLnA0KCkuZ2V0
KCkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5oCmluZGV4IGI3Y2FkYjk5YTFlNzRjYWIzMzE1
M2JmMjkxOWVlOTQ5MGFiNGJkNGUuLmNhZjQzYzM5YjVhNGFmMzdkNWFkM2Y3NmYwNTkxOGQ4NTEy
ZmI0YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIERPTVBvaW50IGZpbmFsIDogcHVibGljIERPTVBvaW50UmVhZE9ubHkg
ewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBSZWY8
RE9NUG9pbnQ+IGNyZWF0ZShkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB6LCBkb3VibGUgdykg
eyByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01Qb2ludCh4LCB5LCB6LCB3KSk7IH0KKyAgICBzdGF0
aWMgUmVmPERPTVBvaW50PiBjcmVhdGUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeiA9IDAs
IGRvdWJsZSB3ID0gMSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01Qb2ludCh4LCB5LCB6LCB3
KSk7IH0KICAgICBzdGF0aWMgUmVmPERPTVBvaW50PiBjcmVhdGUoY29uc3QgRE9NUG9pbnRJbml0
JiBpbml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0LnksIGluaXQueiwgaW5pdC53KTsg
fQogICAgIHN0YXRpYyBSZWY8RE9NUG9pbnQ+IGZyb21Qb2ludChjb25zdCBET01Qb2ludEluaXQm
IGluaXQpIHsgcmV0dXJuIGNyZWF0ZShpbml0LngsIGluaXQueSwgaW5pdC56LCBpbml0LncpOyB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01RdWFkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2YwYTRmMGQxOGE2NzI5MzMzZGQ0
OWEwOTI1MjYzOTUwYTc1NGE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RPTVF1YWQuY3BwCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRE9NUXVhZC5oIgorCisjaW5jbHVkZSAiRE9NUG9pbnQuaCIKKyNp
bmNsdWRlICJET01SZWN0LmgiCisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKwordXNpbmcg
bmFtZXNwYWNlIFdURjsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitET01RdWFkOjpET01RdWFk
KGNvbnN0IERPTVBvaW50SW5pdCYgcDEsIGNvbnN0IERPTVBvaW50SW5pdCYgcDIsIGNvbnN0IERP
TVBvaW50SW5pdCYgcDMsIGNvbnN0IERPTVBvaW50SW5pdCYgcDQpCisgICAgOiBtX3AxKERPTVBv
aW50OjpjcmVhdGUocDEpKQorICAgICwgbV9wMihET01Qb2ludDo6Y3JlYXRlKHAyKSkKKyAgICAs
IG1fcDMoRE9NUG9pbnQ6OmNyZWF0ZShwMykpCisgICAgLCBtX3A0KERPTVBvaW50OjpjcmVhdGUo
cDQpKQoreworfQorCisvLyAgcDEtLS0tLS1wMgorLy8gIHwgICAgICAgfAorLy8gIHwgICAgICAg
fAorLy8gIHA0LS0tLS0tcDMKK0RPTVF1YWQ6OkRPTVF1YWQoY29uc3QgRE9NUmVjdEluaXQmIHIp
CisgICAgOiBtX3AxKERPTVBvaW50OjpjcmVhdGUoci54LCByLnkpKQorICAgICwgbV9wMihET01Q
b2ludDo6Y3JlYXRlKHIueCArIHIud2lkdGgsIHIueSkpCisgICAgLCBtX3AzKERPTVBvaW50Ojpj
cmVhdGUoci54ICsgci53aWR0aCwgci55ICsgci5oZWlnaHQpKQorICAgICwgbV9wNChET01Qb2lu
dDo6Y3JlYXRlKHIueCwgci55ICsgci5oZWlnaHQpKQoreworfQorCitSZWZQdHI8RE9NUmVjdD4g
RE9NUXVhZDo6Z2V0Qm91bmRzKCkgY29uc3QKK3sKKyAgICBkb3VibGUgbGVmdCA9IG5hblByb3Bh
Z2F0aW5nTWluKG5hblByb3BhZ2F0aW5nTWluKG5hblByb3BhZ2F0aW5nTWluKG1fcDEtPngoKSwg
bV9wMi0+eCgpKSwgbV9wMy0+eCgpKSwgbV9wNC0+eCgpKTsKKyAgICBkb3VibGUgdG9wID0gbmFu
UHJvcGFnYXRpbmdNaW4obmFuUHJvcGFnYXRpbmdNaW4obmFuUHJvcGFnYXRpbmdNaW4obV9wMS0+
eSgpLCBtX3AyLT55KCkpLCBtX3AzLT55KCkpLCBtX3A0LT55KCkpOworICAgIGRvdWJsZSByaWdo
dCA9IG5hblByb3BhZ2F0aW5nTWF4KG5hblByb3BhZ2F0aW5nTWF4KG5hblByb3BhZ2F0aW5nTWF4
KG1fcDEtPngoKSwgbV9wMi0+eCgpKSwgbV9wMy0+eCgpKSwgbV9wNC0+eCgpKTsKKyAgICBkb3Vi
bGUgYm90dG9tID0gbmFuUHJvcGFnYXRpbmdNYXgobmFuUHJvcGFnYXRpbmdNYXgobmFuUHJvcGFn
YXRpbmdNYXgobV9wMS0+eSgpLCBtX3AyLT55KCkpLCBtX3AzLT55KCkpLCBtX3A0LT55KCkpOwor
CisgICAgcmV0dXJuIERPTVJlY3Q6OmNyZWF0ZShsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90
dG9tIC0gdG9wKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1
YWQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBjZGVmYjA4
NWIwODIxN2JiZjFhYTYyMjMyM2YwOWMwOGQ0ZWM4MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01RdWFkLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiRE9NUXVhZEluaXQuaCIKKyNpbmNsdWRlICJTY3JpcHRX
cmFwcGFibGUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBET01Qb2ludDsKK2NsYXNzIERP
TVJlY3Q7CitzdHJ1Y3QgRE9NUG9pbnRJbml0Oworc3RydWN0IERPTVJlY3RJbml0OworCitjbGFz
cyBET01RdWFkIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8RE9N
UXVhZD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8RE9NUXVhZD4gY3JlYXRlKGNvbnN0IERP
TVBvaW50SW5pdCYgcDEsIGNvbnN0IERPTVBvaW50SW5pdCYgcDIsIGNvbnN0IERPTVBvaW50SW5p
dCYgcDMsIGNvbnN0IERPTVBvaW50SW5pdCYgcDQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9N
UXVhZChwMSwgcDIsIHAzLCBwNCkpOyB9CisgICAgc3RhdGljIFJlZjxET01RdWFkPiBmcm9tUmVj
dChjb25zdCBET01SZWN0SW5pdCYgaW5pdCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01RdWFk
KGluaXQpKTsgfQorICAgIHN0YXRpYyBSZWY8RE9NUXVhZD4gZnJvbVF1YWQoY29uc3QgRE9NUXVh
ZEluaXQmIGluaXQpIHsgcmV0dXJuIGNyZWF0ZShpbml0LnAxLCBpbml0LnAyLCBpbml0LnAzLCBp
bml0LnA0KTsgfQorCisgICAgUmVmUHRyPERPTVBvaW50PiBwMSgpIGNvbnN0IHsgcmV0dXJuIG1f
cDE7IH0KKyAgICBSZWZQdHI8RE9NUG9pbnQ+IHAyKCkgY29uc3QgeyByZXR1cm4gbV9wMjsgfQor
ICAgIFJlZlB0cjxET01Qb2ludD4gcDMoKSBjb25zdCB7IHJldHVybiBtX3AzOyB9CisgICAgUmVm
UHRyPERPTVBvaW50PiBwNCgpIGNvbnN0IHsgcmV0dXJuIG1fcDQ7IH0KKworICAgIFJlZlB0cjxE
T01SZWN0PiBnZXRCb3VuZHMoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBET01RdWFkKGNvbnN0
IERPTVBvaW50SW5pdCYsIGNvbnN0IERPTVBvaW50SW5pdCYsIGNvbnN0IERPTVBvaW50SW5pdCYs
IGNvbnN0IERPTVBvaW50SW5pdCYpOworICAgIGV4cGxpY2l0IERPTVF1YWQoY29uc3QgRE9NUmVj
dEluaXQmKTsKKyAgICAKKyAgICBSZWZQdHI8RE9NUG9pbnQ+IG1fcDE7CisgICAgUmVmUHRyPERP
TVBvaW50PiBtX3AyOworICAgIFJlZlB0cjxET01Qb2ludD4gbV9wMzsKKyAgICBSZWZQdHI8RE9N
UG9pbnQ+IG1fcDQ7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9N
UXVhZC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmYy
OTYyZDljYjUxNTNjM2UzZmFhYTk2YTM4ZDJiZTY1NmRkOGZiMgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmlkbApAQCAtMCwwICsxLDQ1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZ2VvbWV0cnkvI2RpY3RkZWYtZG9tcXVh
ZGluaXQKKworWworICAgIENvbnN0cnVjdG9yKG9wdGlvbmFsIERPTVBvaW50SW5pdCBwMSwgb3B0
aW9uYWwgRE9NUG9pbnRJbml0IHAyLCBvcHRpb25hbCBET01Qb2ludEluaXQgcDMsIG9wdGlvbmFs
IERPTVBvaW50SW5pdCBwNCksCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCisgICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbgorXQoraW50
ZXJmYWNlIERPTVF1YWQgeworICAgIFtOZXdPYmplY3RdIHN0YXRpYyBET01RdWFkIGZyb21SZWN0
KG9wdGlvbmFsIERPTVJlY3RJbml0IG90aGVyKTsKKyAgICBbTmV3T2JqZWN0XSBzdGF0aWMgRE9N
UXVhZCBmcm9tUXVhZChvcHRpb25hbCBET01RdWFkSW5pdCBvdGhlcik7CisKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NUG9pbnQgcDE7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3Rd
LgorICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBwMjsgLy8gRklYTUU6IFNob3VsZCBi
ZSBbU2FtZU9iamVjdF0uCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50IHAzOyAvLyBG
SVhNRTogU2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4KKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
UG9pbnQgcDQ7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgorICAgIFtOZXdPYmpl
Y3RdIERPTVJlY3QgZ2V0Qm91bmRzKCk7CisKKyAgICAvLyBzZXJpYWxpemVyID0geyBhdHRyaWJ1
dGUgfTsgRklYTUU6IGltcGxlbWVudC4KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRE9NUXVhZEluaXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkSW5pdC5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmY4YTlmN2NhNzI3NGY4ZjBmOTU3ZDRmYWUzNzlhNmEyYjJmMzc1YWEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaApAQCAtMCwwICsxLDM5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJET01Qb2ludEluaXQu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgRE9NUXVhZEluaXQgeworICAgIERP
TVBvaW50SW5pdCBwMTsKKyAgICBET01Qb2ludEluaXQgcDI7CisgICAgRE9NUG9pbnRJbml0IHAz
OworICAgIERPTVBvaW50SW5pdCBwNDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01RdWFkSW5pdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFhNDI0OTgxYTFjZTU2ZWNkZjc3ZDU4YjdjNWI1MDVjMjhmZGUxZTEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaWRsCkBA
IC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9n
ZW9tZXRyeS8jZGljdGRlZi1kb21xdWFkaW5pdAorCitkaWN0aW9uYXJ5IERPTVF1YWRJbml0IHsK
KyAgICBET01Qb2ludEluaXQgcDE7CisgICAgRE9NUG9pbnRJbml0IHAyOworICAgIERPTVBvaW50
SW5pdCBwMzsKKyAgICBET01Qb2ludEluaXQgcDQ7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDlhZWI3ZWFmOWU0ZTYz
Y2Y0NjRjMmY0Y2RiNjBhYjdmYTQwYWRjYmQuLjVhZTkzZmE4MmIzOGZhODlhMTFkNTMyNjQyMmJh
N2JjOTlkYTBhMTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0wNi0xMSAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRE9NUXVh
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNTM0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAg
ICBJbXBsZW1lbnQgRE9NUXVhZCBwZXIgaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZ2VvbWV0cnkv
I0RPTVF1YWQuCisKKyAgICAgICAgKiBqcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1
dGVzLWRlZGljYXRlZC13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoKKwog
MjAxNy0wNi0wOSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlYmFzZWxpbmUgbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2xheW91dC1ub2RlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBiYjMzZjZiOTdhNGEyMjE3N2UxODZlNzViYTBj
MWIyODM4MzNiOWEwLi5jMjJiMmViNzhlZTFiMjY2NDI5YjIwOWFhNzAyOGY5ZTdiMGIxZjJiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0wNi0x
MSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBs
ZW1lbnQgRE9NUXVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTYzNTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW1wbGVtZW50IERPTVF1YWQgcGVyIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dlb21l
dHJ5LyNET01RdWFkLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRy
eS0xL0RPTVF1YWQtMDAxLWV4cGVjdGVkLnR4dDogVGVzdHMgYWdhaW5zdCBhbiBvbGRlciB2ZXJz
aW9uCisgICAgICAgIG9mIHRoZSBzcGVjLCBzbyBzb21lIGZhaWx1cmVzLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01RdWFkLTAwMi1leHBlY3RlZC50eHQ6
IEFsbCB0ZXN0cyBwYXNzIG90aGVyIHRoYW4gYSBOYU4KKyAgICAgICAgcHJvcGFnYXRpb24gaXNz
dWUgd2hpY2ggbmVlZHMgc3BlYyBjbGFyaWZpY2F0aW9uLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQu
dHh0OgorCiAyMDE3LTA2LTA5ICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBBZGQgZmxhZyBhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3ggdG8gaWZyYW1l
IHNhbmRib3gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvRE9NUXVhZC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01R
dWFkLTAwMS1leHBlY3RlZC50eHQKaW5kZXggOTI0M2ZkOTIzNTMyM2ZlZDcyM2E3MDU4YjFjMTlj
NTY3MTQ0ZGIxOC4uYzkzOTQxZjVkODdkZDRhNzc2Mjk4YzZjYzczMjE0Y2JjMTlhNTVkOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Z2VvbWV0cnktMS9ET01RdWFkLTAwMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01RdWFkLTAwMS1l
eHBlY3RlZC50eHQKQEAgLTEsNDEgKzEsNDEgQEAKIFRlc3QgRE9NUXVhZCBpbnRlcmZhY2UKIAog
Ci1GQUlMIHRlc3RDb25zdHJ1Y3RvcjA6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01R
dWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjA6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBE
T01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjEgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsgbmV3IERPTVF1YWQoMSk7IH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBl
Y3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCB0ZXN0Q29uc3RydWN0
b3IyIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IG5ldyBET01RdWFkKDEs
IDIpOyB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBET01RdWFkIiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3Ii
ICgiVHlwZUVycm9yIikKLUZBSUwgdGVzdENvbnN0cnVjdG9yMyBhc3NlcnRfdGhyb3dzOiBmdW5j
dGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVhZCgxLCAyLCAzKTsgfSIgdGhyZXcgb2JqZWN0
ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZlcmVu
Y2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlM
IHRlc3RDb25zdHJ1Y3RvcjQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsg
bmV3IERPTVF1YWQoMSwgMiwgMywgNCk7IH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3Rl
ZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCB0ZXN0Q29uc3RydWN0b3I1
OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0
b3I1OiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3Ry
dWN0b3I2OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29u
c3RydWN0b3I2OiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0
Q29uc3RydWN0b3I3OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0
ZXN0Q29uc3RydWN0b3I3OiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJ
TCB0ZXN0Q29uc3RydWN0b3I4OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAot
RkFJTCB0ZXN0Q29uc3RydWN0b3I4OiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVh
ZAotRkFJTCB0ZXN0Q29uc3RydWN0b3I5OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9N
UXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3I5OiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTog
RE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxMDogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFi
bGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMTA6IGJvdW5kcyBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjExOiBwb2ludHMgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxMTogYm91bmRzIENhbid0
IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMTI6IHBvaW50cyBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjEyOiBib3Vu
ZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxMzog
cG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9y
MTM6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1
Y3RvcjE0OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29u
c3RydWN0b3IxNDogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVz
dENvbnN0cnVjdG9yMTUgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgbmV3
IERPTVF1YWQoe30sIHt9LCB7fSwgTmFOKTsgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVj
dGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIHRlc3RDb25zdHJ1Y3Rv
cjE2OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3Ry
dWN0b3IxNjogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgcDFUb3A0
QXR0cmlidXRlczA6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHAx
VG9wNEF0dHJpYnV0ZXMwOiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJ
TCBwMVRvcDRBdHRyaWJ1dGVzMTogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQK
LUZBSUwgcDFUb3A0QXR0cmlidXRlczE6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01R
dWFkCi1GQUlMIGJvdW5kc0F0dHJpYnV0ZTA6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBE
T01RdWFkCi1GQUlMIGJvdW5kc0F0dHJpYnV0ZTA6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBET01RdWFkCi1GQUlMIGJvdW5kc0F0dHJpYnV0ZTE6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBET01RdWFkCi1GQUlMIGJvdW5kc0F0dHJpYnV0ZTE6IGJvdW5kcyBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBET01RdWFkCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjA6IHBvaW50cyAKK0ZBSUwgdGVz
dENvbnN0cnVjdG9yMDogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICdxLmJvdW5kcy54JykKK1BBU1MgdGVzdENvbnN0cnVjdG9yMSAKK1BBU1MgdGVzdENvbnN0
cnVjdG9yMiAKK1BBU1MgdGVzdENvbnN0cnVjdG9yMyAKK1BBU1MgdGVzdENvbnN0cnVjdG9yNCAK
K0ZBSUwgdGVzdENvbnN0cnVjdG9yNTogcG9pbnRzIGFzc2VydF9lcXVhbHM6IEV4cGVjdGVkIHZh
bHVlIGZvciBwMi54IGlzIDExMCBleHBlY3RlZCAxMTAgYnV0IGdvdCAwCitGQUlMIHRlc3RDb25z
dHJ1Y3RvcjU6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
cS5ib3VuZHMueCcpCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjY6IHBvaW50cyBhc3NlcnRfZXF1YWxz
OiBFeHBlY3RlZCB2YWx1ZSBmb3IgcDIueCBpcyAtOTAgZXhwZWN0ZWQgLTkwIGJ1dCBnb3QgMAor
RkFJTCB0ZXN0Q29uc3RydWN0b3I2OiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorRkFJTCB0ZXN0Q29uc3RydWN0b3I3OiBwb2ludHMg
YXNzZXJ0X2VxdWFsczogRXhwZWN0ZWQgdmFsdWUgZm9yIHAyLnggaXMgTmFOIGV4cGVjdGVkIE5h
TiBidXQgZ290IDAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yNzogYm91bmRzIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK1BBU1MgdGVzdENvbnN0cnVj
dG9yODogcG9pbnRzIAorRkFJTCB0ZXN0Q29uc3RydWN0b3I4OiBib3VuZHMgdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3Ry
dWN0b3I5OiBwb2ludHMgCitGQUlMIHRlc3RDb25zdHJ1Y3Rvcjk6IGJvdW5kcyB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQQVNTIHRlc3RDb25z
dHJ1Y3RvcjEwOiBwb2ludHMgCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjEwOiBib3VuZHMgdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyB0ZXN0
Q29uc3RydWN0b3IxMTogcG9pbnRzIAorRkFJTCB0ZXN0Q29uc3RydWN0b3IxMTogYm91bmRzIHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK1BBU1Mg
dGVzdENvbnN0cnVjdG9yMTI6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yMTI6IGJvdW5k
cyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQ
QVNTIHRlc3RDb25zdHJ1Y3RvcjEzOiBwb2ludHMgCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjEzOiBi
b3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngn
KQorUEFTUyB0ZXN0Q29uc3RydWN0b3IxNDogcG9pbnRzIAorRkFJTCB0ZXN0Q29uc3RydWN0b3Ix
NDogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5k
cy54JykKK1BBU1MgdGVzdENvbnN0cnVjdG9yMTUgCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjE2OiBw
b2ludHMgCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjE2OiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyBwMVRvcDRBdHRyaWJ1dGVz
MDogcG9pbnRzIAorRkFJTCBwMVRvcDRBdHRyaWJ1dGVzMDogYm91bmRzIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK1BBU1MgcDFUb3A0QXR0cmli
dXRlczE6IHBvaW50cyAKK0ZBSUwgcDFUb3A0QXR0cmlidXRlczE6IGJvdW5kcyB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQQVNTIGJvdW5kc0F0
dHJpYnV0ZTA6IHBvaW50cyAKK0ZBSUwgYm91bmRzQXR0cmlidXRlMDogYm91bmRzIGFzc2VydF9l
cXVhbHM6IEV4cGVjdGVkIHZhbHVlIGZvciBib3VuZHMueCBpcyAwIGV4cGVjdGVkIDAgYnV0IGdv
dCAxMAorRkFJTCBib3VuZHNBdHRyaWJ1dGUxOiBwb2ludHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLnggPSAxMCcpCitGQUlMIGJvdW5kc0F0dHJpYnV0
ZTE6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3Vu
ZHMueCA9IDEwJykKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01RdWFkLTAwMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0x
L0RPTVF1YWQtMDAyLWV4cGVjdGVkLnR4dAppbmRleCBlMGQ3YTdiYzZlZmVmMWYxNDM5OTk2Njhi
ZWM4MmI2MDQ5ZjJkM2Y2Li44OGUzNmQ0ZDkwY2IwMjY0OWYwMjkyNzBkZGMyZmQwODljNTViZjAz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQt
MDAyLWV4cGVjdGVkLnR4dApAQCAtMSwyMSArMSwyMSBAQAogVGVzdCBET01RdWFkIGludGVyZmFj
ZQogCiAKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciBubyBhcmdzIENhbid0IGZpbmQgdmFyaWFibGU6
IERPTVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIG9uZSBpbml0IERPTVBvaW50IGFy
ZyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0
aCB0d28gaW5pdCBET01Qb2ludCBhcmdzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZB
SUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIHRocmVlIGluaXQgRE9NUG9pbnQgYXJncyBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBmb3VyIGlu
aXQgRE9NUG9pbnQgYXJncyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3Qg
Q29uc3RydWN0b3Igd2l0aCBvbmUgRE9NUG9pbnQgYXJnIENhbid0IGZpbmQgdmFyaWFibGU6IERP
TVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIHR3byBET01Qb2ludCBhcmdzIENhbid0
IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIHRocmVl
IERPTVBvaW50IGFyZ3MgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENv
bnN0cnVjdG9yIHdpdGggZm91ciBET01Qb2ludCBhcmdzIENhbid0IGZpbmQgdmFyaWFibGU6IERP
TVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGludmFpbGQgaW50ZWdlciBhcmdzIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IG5ldyBET01RdWFkKDEsIDIsIDMs
IDQpOyB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBET01RdWFkIiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3Ii
ICgiVHlwZUVycm9yIikKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGludmFpbGQgc3RyaW5n
IGFyZ3MgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgbmV3IERPTVF1YWQo
IjEiLCAiMiIsICIzIiwgIjQiKTsgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9i
amVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0
aCBOYU4gYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgbmV3IERPTVF1YWQo
e30sIHt9LCB7fSwgTmFOKTsgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVj
dCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIHRlc3QgZnJvbVJlY3QgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IGZyb21SZWN0IHdpdGggSW5maW5pdHkgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IGZyb21RdWFkIENhbid0IGZpbmQg
dmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBwMSwgcDIsIHAzLCBwNCBhcmUgcmVhZG9ubHkg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IGdldEJvdW5kcyBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBET01RdWFkCitQQVNTIHRlc3QgQ29uc3RydWN0b3Igbm8gYXJncyAKK1BB
U1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIG9uZSBpbml0IERPTVBvaW50IGFyZyAKK1BBU1MgdGVz
dCBDb25zdHJ1Y3RvciB3aXRoIHR3byBpbml0IERPTVBvaW50IGFyZ3MgCitQQVNTIHRlc3QgQ29u
c3RydWN0b3Igd2l0aCB0aHJlZSBpbml0IERPTVBvaW50IGFyZ3MgCitQQVNTIHRlc3QgQ29uc3Ry
dWN0b3Igd2l0aCBmb3VyIGluaXQgRE9NUG9pbnQgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3Rv
ciB3aXRoIG9uZSBET01Qb2ludCBhcmcgCitQQVNTIHRlc3QgQ29uc3RydWN0b3Igd2l0aCB0d28g
RE9NUG9pbnQgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIHRocmVlIERPTVBvaW50
IGFyZ3MgCitQQVNTIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBmb3VyIERPTVBvaW50IGFyZ3MgCitQ
QVNTIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBpbnZhaWxkIGludGVnZXIgYXJncyAKK1BBU1MgdGVz
dCBDb25zdHJ1Y3RvciB3aXRoIGludmFpbGQgc3RyaW5nIGFyZ3MgCitQQVNTIHRlc3QgQ29uc3Ry
dWN0b3Igd2l0aCBOYU4gCitQQVNTIHRlc3QgZnJvbVJlY3QgCitQQVNTIHRlc3QgZnJvbVJlY3Qg
d2l0aCBJbmZpbml0eSAKK1BBU1MgdGVzdCBmcm9tUXVhZCAKK1BBU1MgdGVzdCBwMSwgcDIsIHAz
LCBwNCBhcmUgcmVhZG9ubHkgCitQQVNTIHRlc3QgZ2V0Qm91bmRzIAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0x
L3N0cnVjdHVyZWQtc2VyaWFsaXphdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2Vy
aWFsaXphdGlvbi1leHBlY3RlZC50eHQKaW5kZXggZjg1MmUwZDk1YTcxMmZjNTEzZGUzMzUyZWU0
NGZmYjRmN2UyN2FjMi4uOGIwYTNkZDVhYTFhNDRmOGQ3NTBjMWMwNGE0NGMwNTgxNGU4MjM0ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvZ2VvbWV0cnktMS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5
LTEvc3RydWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTUsMTAgKzE1LDEw
IEBAIEZBSUwgRE9NUmVjdCBjbG9uZTogYmFzaWMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiCiBGQUlMIERPTVJlY3QgY2xvbmU6IGN1c3RvbSBw
cm9wZXJ0eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5v
dCBiZSBjbG9uZWQuIgogRkFJTCBET01SZWN0IGNsb25lOiB0aHJvd2luZyBnZXR0ZXJzIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9u
ZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4i
CiBGQUlMIERPTVJlY3QgY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVlcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9N
IEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01R
dWFkIGNsb25lOiBiYXNpYyB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRp
bmcgJ25ldyBzZWxmW2NvbnN0cl0oKScpCi1GQUlMIERPTVF1YWQgY2xvbmU6IGN1c3RvbSBwcm9w
ZXJ0eSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBzZWxm
W2NvbnN0cl0oKScpCi1GQUlMIERPTVF1YWQgY2xvbmU6IHRocm93aW5nIGdldHRlcnMgdW5kZWZp
bmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgc2VsZltjb25zdHJdKCkn
KQotRkFJTCBET01RdWFkIGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgdW5kZWZpbmVkIGlzIG5v
dCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgc2VsZltjb25zdHJdJykKK0ZBSUwgRE9N
UXVhZCBjbG9uZTogYmFzaWMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2Jq
ZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKK0ZBSUwgRE9NUXVhZCBjbG9uZTogY3VzdG9tIHByb3Bl
cnR5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJl
IGNsb25lZC4iCitGQUlMIERPTVF1YWQgY2xvbmU6IHRocm93aW5nIGdldHRlcnMgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJy
b3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKK0ZB
SUwgRE9NUXVhZCBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhj
ZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCiBGQUlMIERPTU1hdHJp
eFJlYWRPbmx5IGNsb25lOiBiYXNpYyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRo
ZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgogRkFJTCBET01NYXRyaXhSZWFkT25seSBjbG9u
ZTogY3VzdG9tIHByb3BlcnR5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9i
amVjdCBjYW4gbm90IGJlIGNsb25lZC4iCiBGQUlMIERPTU1hdHJpeFJlYWRPbmx5IGNsb25lOiB0
aHJvd2luZyBnZXR0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVj
dCBjYW4gbm90IGJlIGNsb25lZC4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vZ2xv
YmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWRlZGljYXRlZC13b3JrZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1kZWRp
Y2F0ZWQtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBjYTgxYTM5NzBlZmEyMDI3MGYzM2QzNzVj
OGMwMDc4ZTI0ZGE2YTE3Li4zYTZhYzA3ZjRhMmFkOWYzMTk4OTVlZmFlOGE5ZWQ4ZmNjYzMxY2Q0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRy
aWJ1dGVzLWRlZGljYXRlZC13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pz
L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZGVkaWNhdGVkLXdvcmtlci1leHBl
Y3RlZC50eHQKQEAgLTU5LDYgKzU5LDExIEBAIFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5JykuaGFzT3duCiBQQVNT
IFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9p
bnRSZWFkT25seScpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBbV29ya2Vy
XSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9u
bHknKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmNvbmZpZ3VyYWJsZSBp
cyB0cnVlCitQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xv
YmFsLCAnRE9NUXVhZCcpLnZhbHVlIGlzIERPTVF1YWQKK1BBU1MgW1dvcmtlcl0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykuaGFzT3duUHJvcGVydHko
J2dldCcpIGlzIGZhbHNlCitQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQor
UEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RP
TVF1YWQnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVl
CiBQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAn
RE9NUmVjdCcpLnZhbHVlIGlzIERPTVJlY3QKIFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykuaGFzT3duUHJvcGVydHkoJ2dldCcp
IGlzIGZhbHNlCiBQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnRE9NUmVjdCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3Jz
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2pzL2Rv
bS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGYzODZi
MThhMjI1NzRkNjZlNzBmYTIzNWMzNDAyNGE5NTNiYjMwNzUuLjYxNTNiOGFkZjE4YjAzZWQ4NmJm
MjA3NzA1MDY0ODlmYWJlYmRiMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0
cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTM1Myw2ICszNTMsMTEgQEAgUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5oYXNPd25Q
cm9wZXJ0eSgKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdE
T01Qb2ludFJlYWRPbmx5JykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScp
LmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5JykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1Mg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykudmFsdWUg
aXMgRE9NUXVhZAorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J0RPTVF1YWQnKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykuaGFzT3duUHJvcGVydHko
J3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xv
YmFsLCAnRE9NUXVhZCcpLmVudW1lcmFibGUgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykuY29uZmlndXJhYmxlIGlzIHRydWUK
IFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0Jyku
dmFsdWUgaXMgRE9NUmVjdAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ0RPTVJlY3QnKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKIFBBU1MgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykuaGFzT3duUHJv
cGVydHkoJ3NldCcpIGlzIGZhbHNlCg==
</data>
<flag name="review"
          id="334108"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313201</attachid>
            <date>2017-06-17 11:02:50 -0700</date>
            <delta_ts>2017-06-17 11:45:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163534-20170617110249.patch</filename>
            <type>text/plain</type>
            <size>47288</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTcyMjE0ZmEyOWVkMWM5
MjY4NmEzMzY2Y2Q1NzRiNzYwODJlM2Y3MC4uODE2YjRmYWU4ZjFlYzlkNDZlODVlMDk2MWIxMTFj
NWQ4OTljNGY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTA2LTExICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBE
T01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIEltcGxl
bWVudCBET01RdWFkIHBlciBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jRE9NUXVh
ZCwgb3RoZXIgdGhhbiBzZXJpYWxpemF0aW9uCisgICAgICAgIHdoaWNoIHJlcXVpcmVzIHNvbWUg
YmluZGluZ3MgY2hhbmdlcy4KKworICAgICAgICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21l
dHJ5LTEvRE9NUmVjdC0wMDEuaHRtbCB0ZXN0cyBhZ2FpbnN0IGFuIG9sZGVyIHZlcnNpb24gb2Yg
dGhlIHNwZWMsCisgICAgICAgIHNvIGhhcyBzb21lIGZhaWx1cmVzLiBET01RdWFkLTAwMi5odG1s
IHBhc3Nlcywgb3RoZXIgdGhhbiBhIE5hTiBwcm9wYWdhdGlvbiBpc3N1ZSB0aGF0IHJlcXVpcmVz
CisgICAgICAgIHNwZWMgY2xhcmlmaWNhdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NUXVhZEN1
c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01RdWFkOjpnZXRCb3VuZHMp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAg
KElzU2VyaWFsaXphYmxlRE9NVHlwZSk6CisgICAgICAgIChJc1NlcmlhbGl6YWJsZUF0dHJpYnV0
ZSk6CisgICAgICAgICogZG9tL0RPTVBvaW50Lmg6CisgICAgICAgICogZG9tL0RPTVF1YWQuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6OkRPTVF1YWQpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NUXVhZDo6Z2V0Qm91bmRzKToKKyAgICAgICAgKiBkb20vRE9NUXVhZC5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpET01RdWFkOjpmcm9tUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpmcm9t
UXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpwMSk6CisgICAgICAgIChXZWJDb3Jl
OjpET01RdWFkOjpwMik6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpwMyk6CisgICAgICAg
IChXZWJDb3JlOjpET01RdWFkOjpwNCk6CisgICAgICAgICogZG9tL0RPTVF1YWQuaWRsOiBBZGRl
ZC4KKyAgICAgICAgKiBkb20vRE9NUXVhZEluaXQuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RP
TVF1YWRJbml0LmlkbDogQWRkZWQuCisKIDIwMTctMDYtMTcgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGR1ZSB0byBpbmZpbml0ZSByZWN1cnNpb24g
dmlhIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlQWZ0ZXJMYXlvdXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggZTQ0ZTRkOWMwMjk3NmM0NjgwZWUzMjA0ZjhjYmYyYTFmNjc2NWI0ZS4u
YWNhMzJjZGU0YzE5NWU0OWYxM2RjMWJlMDMyMmRmMjM5YTJkNDhhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTQyNCw2ICs0MjQsOCBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwog
ICAgIGRvbS9ET01Qb2ludC5pZGwKICAgICBkb20vRE9NUG9pbnRJbml0LmlkbAogICAgIGRvbS9E
T01Qb2ludFJlYWRPbmx5LmlkbAorICAgIGRvbS9ET01RdWFkLmlkbAorICAgIGRvbS9ET01RdWFk
SW5pdC5pZGwKICAgICBkb20vRE9NUmVjdC5pZGwKICAgICBkb20vRE9NUmVjdEluaXQuaWRsCiAg
ICAgZG9tL0RPTVJlY3RMaXN0LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXgg
ZWNiNWY3YzRlMWZiNjFmZjgyOWFmMTE2Yjc2YzM5MjQ5NDkyZmE1OC4uZmUzMmI0MTRkYzRkOWZk
ZjczYTQ5NGNmMTZmYmNhYmYzMjkxMzlhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CkBAIC0zNjQsNiArMzY0LDggQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkv
ZG9tL0RPTVBvaW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUG9pbnRJbml0LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9kb20vRE9NUG9pbnRSZWFkT25seS5pZGwgXAorICAgICQoV2ViQ29y
ZSkvZG9tL0RPTVF1YWQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9ET01RdWFkSW5pdC5pZGwg
XAogICAgICQoV2ViQ29yZSkvZG9tL0RPTVJlY3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9E
T01SZWN0SW5pdC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0RPTVJlY3RMaXN0LmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggOGI5ZTc0Zjc0N2ZjOTk1ODM5YTIwMTQzMDcxNWQwOTMzMTcxOWU1MC4uN2VjMzg2MGIwYTQ1
MGYxMGUyYzVhYzAyMWYzMTE5ZTFkYmNmMDhkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDkyLDYgKzQ5Miw3IEBACiAJCTBG
OEI0NTcyMURDM0ZCQTMwMDQ0M0MzRiAvKiBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjhCNDU3MTFE
QzNGQkEzMDA0NDNDM0YgLyogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oICovOyB9Owog
CQkwRjhCNDU3NTFEQzQxREJBMDA0NDNDM0YgLyogSlNJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxi
YWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
OEI0NTczMURDNDFEQkEwMDQ0M0MzRiAvKiBKU0ludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2su
Y3BwICovOyB9OwogCQkwRjhCNDU3NjFEQzQxREJBMDA0NDNDM0YgLyogSlNJbnRlcnNlY3Rpb25P
YnNlcnZlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjhCNDU3NDFEQzQxREJBMDA0NDNDM0YgLyogSlNJbnRlcnNlY3Rpb25PYnNlcnZl
ckNhbGxiYWNrLmggKi87IH07CisJCTBGOTRBMzk2MUVGMUIxMDUwMEZCQUZGQiAvKiBKU0RPTVF1
YWRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY5NEEzOTUxRUYxQjEwNTAwRkJBRkZCIC8qIEpTRE9NUXVhZEN1c3RvbS5jcHAgKi87IH07
CiAJCTBGOTdBNjU4MTU1REE4MUUwMEZBREQ0QyAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1Mu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjk3QTY1
NzE1NURBODFFMDBGQURENEMgLyogRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tICovOyB9Owog
CQkwRkEyNEQ3OTE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzcxNjJE
RjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLzsgfTsKIAkJMEZBMjRE
N0ExNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkEyNEQ3ODE2MkRGOTE5MDBBM0Y0
QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNTU4LDExICs1NTksMTggQEAKIAkJMEZFRjIwQ0UxQkQ0
QTI0MTAwMTI4RTVEIC8qIExlbmd0aFNpemUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFRjIwQ0QxQkQ0QTI0MTAwMTI4RTVEIC8qIExlbmd0aFNp
emUuY3BwICovOyB9OwogCQkwRkVGMjBEMDFCRDRBNjRGMDAxMjhFNUQgLyogUmVuZGVyU3R5bGVD
b25zdGFudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZFRjIwQ0YxQkQ0QTY0RjAwMTI4RTVEIC8qIFJlbmRlclN0eWxlQ29uc3RhbnRzLmNwcCAq
LzsgfTsKIAkJMEZGMkU4MEQxRUUwRDQzMDAwOUVBQkQ0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZ0Ns
aWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkYyRTgwQzFFRTBENDMwMDA5RUFCRDQgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcCAq
LzsgfTsKKwkJMEZGM0I5MjgxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkYzQjkyNDFFRTNCNkRF
MDBCODQxNDQgLyogSlNET01RdWFkLmNwcCAqLzsgfTsKKwkJMEZGM0I5MjkxRUUzQjZERTAwQjg0
MTQ0IC8qIEpTRE9NUXVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZGM0I5MjUxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5oICovOyB9Owor
CQkwRkYzQjkyQTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkSW5pdC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkYzQjkyNjFFRTNCNkRFMDBC
ODQxNDQgLyogSlNET01RdWFkSW5pdC5jcHAgKi87IH07CisJCTBGRjNCOTJCMUVFM0I2REUwMEI4
NDE0NCAvKiBKU0RPTVF1YWRJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkYzQjkyNzFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkSW5pdC5o
ICovOyB9OwogCQkwRkY1MDI2OTEwMkJBOTQzMDA2NkYzOUEgLyogSlNTdHlsZU1lZGlhLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjUwMjY3MTAy
QkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuY3BwICovOyB9OwogCQkwRkY1MDI2QTEwMkJB
OTQzMDA2NkYzOUEgLyogSlNTdHlsZU1lZGlhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1MDI2ODEwMkJBOTQzMDA2NkYzOUEgLyogSlNTdHlsZU1l
ZGlhLmggKi87IH07CiAJCTBGRjUwMjcxMTAyQkE5NkEwMDY2RjM5QSAvKiBTdHlsZU1lZGlhLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjUwMjZF
MTAyQkE5NjYwMDY2RjM5QSAvKiBTdHlsZU1lZGlhLmNwcCAqLzsgfTsKIAkJMEZGNTAyNzIxMDJC
QTk2QTAwNjZGMzlBIC8qIFN0eWxlTWVkaWEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjUwMjZGMTAyQkE5NkEwMDY2RjM5QSAvKiBTdHlsZU1lZGlh
LmggKi87IH07CiAJCTBGRjgzNUI4MUVFMzI3NEYwMDhCNENDNyAvKiBET01Qb2ludFJlYWRPbmx5
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjgz
NUI3MUVFMzI3NEYwMDhCNENDNyAvKiBET01Qb2ludFJlYWRPbmx5LmNwcCAqLzsgfTsKKwkJMEZG
ODM1QzIxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGODM1QkQxRUUzNTREQTAwOEI0Q0M3IC8qIERP
TVF1YWQuY3BwICovOyB9OworCQkwRkY4MzVDMzFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGODM1QkUx
RUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuaCAqLzsgfTsKKwkJMEZGODM1QzUxRUUzNTREQTAw
OEI0Q0M3IC8qIERPTVF1YWRJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkY4MzVDMDFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZEluaXQuaCAq
LzsgfTsKIAkJMEZGRDRENjAxODY1MUZBMzAwNTEyRjZFIC8qIEFzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZGRDRENUUxODY1MUZBMzAwNTEyRjZFIC8qIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
ICovOyB9OwogCQkwRkZENEQ2MTE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZGRDRENUYxODY1MUZBMzAwNTEyRjZFIC8qIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxMEZCMDg0
QjE0RTE1QzdFMDBBM0RCOTggLyogUHVibGljVVJMTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTBGQjA4NEExNEUxNUM3RTAwQTNEQjk4IC8q
IFB1YmxpY1VSTE1hbmFnZXIuaCAqLzsgfTsKQEAgLTc5MzIsNiArNzk0MCw3IEBACiAJCTBGOEI0
NTcxMURDM0ZCQTMwMDQ0M0MzRiAvKiBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJh
Y2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY4QjQ1NzMxREM0MURCQTAwNDQz
QzNGIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjhCNDU3NDFEQzQxREJBMDA0NDNDM0Yg
LyogSlNJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRjk0QTM5NTFFRjFCMTA1MDBGQkFGRkIgLyogSlNET01RdWFk
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NUXVh
ZEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGOTdBNjU3MTU1REE4
MUUwMEZBREQ0QyAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTA4NTJCMUU2RkI1NUEwMDk3NUZERCAvKiBD
U1NQcm9wZXJ0aWVzLmpzb24gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmpzb247IHBhdGggPSBDU1NQcm9wZXJ0aWVzLmpzb247IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTI0RDc3MTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGlj
c0xheWVyVXBkYXRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBH
cmFwaGljc0xheWVyVXBkYXRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04
MDAwLDEyICs4MDA5LDIxIEBACiAJCTBGRUYyMENEMUJENEEyNDEwMDEyOEU1RCAvKiBMZW5ndGhT
aXplLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExlbmd0aFNpemUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkVGMjBDRjFCRDRBNjRGMDAxMjhF
NUQgLyogUmVuZGVyU3R5bGVDb25zdGFudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVuZGVyU3R5bGVDb25zdGFudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwRkYyRTgwQzFFRTBENDMwMDA5RUFCRDQgLyogUGVyZm9ybWFuY2VMb2dnaW5n
Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjNC
OTI0MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNET01RdWFkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZGM0I5MjUxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVF1YWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZGM0I5MjYxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01RdWFkSW5pdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjNCOTI3MUVFM0I2REUwMEI4NDE0NCAvKiBK
U0RPTVF1YWRJbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUXVh
ZEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGNTAyNjcxMDJCQTk0MzAw
NjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1N0eWxlTWVkaWEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
RkY1MDI2ODEwMkJBOTQzMDA2NkYzOUEgLyogSlNTdHlsZU1lZGlhLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3R5bGVNZWRpYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwRkY1MDI2RTEwMkJBOTY2MDA2NkYzOUEgLyogU3R5bGVNZWRpYS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZU1lZGlhLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGNTAyNkYxMDJCQTk2QTAwNjZGMzlBIC8qIFN0eWxlTWVk
aWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVNZWRpYS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1MDI3MDEwMkJBOTZBMDA2NkYzOUEgLyogU3R5
bGVNZWRpYS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU3R5bGVNZWRpYS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjgzNUI3MUVFMzI3NEYwMDhCNENDNyAvKiBET01Q
b2ludFJlYWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERP
TVBvaW50UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY4MzVC
RDFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBET01RdWFkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZGODM1QkUxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRE9NUXVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RkY4MzVCRjFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gRE9NUXVhZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRjgzNUMw
MUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkSW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBET01RdWFkSW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RkY4MzVDMTFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZEluaXQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IERPTVF1YWRJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEZGRDRENUUxODY1MUZBMzAwNTEyRjZFIC8qIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRkQ0RDVGMTg2NTFG
QTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTBGQjA4NEExNEUxNUM3RTAwQTNEQjk4IC8qIFB1YmxpY1VS
TE1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVibGljVVJMTWFu
YWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjIwOTgsNiArMjIxMTYsMTAg
QEAKIAkJCQkwRjQ5NjZBNzFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludEluaXQuaCAqLywK
IAkJCQkwRjQ5NjZBODFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludFJlYWRPbmx5LmNwcCAq
LywKIAkJCQkwRjQ5NjZBOTFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludFJlYWRPbmx5Lmgg
Ki8sCisJCQkJMEZGM0I5MjQxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5jcHAgKi8sCisJ
CQkJMEZGM0I5MjUxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5oICovLAorCQkJCTBGRjNC
OTI2MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0LmNwcCAqLywKKwkJCQkwRkYzQjky
NzFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkSW5pdC5oICovLAogCQkJCTBGNDcxMEI1MURC
NTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3QuY3BwICovLAogCQkJCTBGNDcxMEI2MURCNTZCRTgw
MDJEQ0VDMyAvKiBKU0RPTVJlY3QuaCAqLywKIAkJCQkwRjQ3MTBCNzFEQjU2QkU4MDAyRENFQzMg
LyogSlNET01SZWN0SW5pdC5jcHAgKi8sCkBAIC0yMzY2NCw2ICsyMzY4Niw3IEBACiAJCQkJREVD
Mjk3NUQxQjRERUIyQTAwNUY1OTQ1IC8qIEpTQ3VzdG9tRXZlbnRDdXN0b20uY3BwICovLAogCQkJ
CTQ5QzdCQThDMTA0MkY1QjEwMDA5RDQ0NyAvKiBKU0RvY3VtZW50Q3VzdG9tLmNwcCAqLywKIAkJ
CQlBRERBOTRCRjE5Njg2RjgwMDA0NTMwMjkgLyogSlNEb2N1bWVudEN1c3RvbS5oICovLAorCQkJ
CTBGOTRBMzk1MUVGMUIxMDUwMEZCQUZGQiAvKiBKU0RPTVF1YWRDdXN0b20uY3BwICovLAogCQkJ
CUJDRDlDMjVFMEMxN0FBNjcwMDVDOTBBMiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5jcHAgKi8sCiAJ
CQkJNjUyRkJCQkIwREUyN0NCNjAwMDFEMzg2IC8qIEpTRE9NV2luZG93Q3VzdG9tLmggKi8sCiAJ
CQkJQzI4MDgzNDExQzZEQzk2QTAwMTQ1MUI2IC8qIEpTRm9udEZhY2VDdXN0b20uY3BwICovLApA
QCAtMjU3NDAsNiArMjU3NjMsMTEgQEAKIAkJCQkwRkY4MzVCNzFFRTMyNzRGMDA4QjRDQzcgLyog
RE9NUG9pbnRSZWFkT25seS5jcHAgKi8sCiAJCQkJMEY0OTY2OUIxREI0MDhDMTAwQTI3NEJCIC8q
IERPTVBvaW50UmVhZE9ubHkuaCAqLywKIAkJCQkwRjQ5NjY5QzFEQjQwOEMxMDBBMjc0QkIgLyog
RE9NUG9pbnRSZWFkT25seS5pZGwgKi8sCisJCQkJMEZGODM1QkQxRUUzNTREQTAwOEI0Q0M3IC8q
IERPTVF1YWQuY3BwICovLAorCQkJCTBGRjgzNUJFMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFk
LmggKi8sCisJCQkJMEZGODM1QkYxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuaWRsICovLAor
CQkJCTBGRjgzNUMwMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkSW5pdC5oICovLAorCQkJCTBG
RjgzNUMxMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkSW5pdC5pZGwgKi8sCiAJCQkJMEY0NzEw
QTkxREI1NkFGQzAwMkRDRUMzIC8qIERPTVJlY3QuaCAqLywKIAkJCQkwRjQ3MTBBQTFEQjU2QUZD
MDAyRENFQzMgLyogRE9NUmVjdC5pZGwgKi8sCiAJCQkJMEY0NzEwQUIxREI1NkFGQzAwMkRDRUMz
IC8qIERPTVJlY3RJbml0LmggKi8sCkBAIC0yNzIwNyw2ICsyNzIzNSw4IEBACiAJCQkJMEY0OTY2
OUQxREI0MDhDMTAwQTI3NEJCIC8qIERPTVBvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ5
NjZBMzFEQjQwOTEwMDBBMjc0QkIgLyogRE9NUG9pbnRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRjQ5NjY5RjFEQjQwOEMxMDBBMjc0QkIgLyogRE9NUG9pbnRSZWFkT25seS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZGODM1QzMxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGRjgzNUM1MUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkSW5pdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEY0NzEwQUYxREI1NkFGQzAwMkRDRUMzIC8qIERPTVJlY3QuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGNDcxMEIxMURCNTZBRkMwMDJEQ0VDMyAvKiBET01SZWN0SW5p
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDY4MzQ0RTAxRURERkFBQTAwQjc3OTVCIC8qIERPTVJl
Y3RMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI3OTgyLDYgKzI4MDEyLDggQEAKIAkJCQkwRjQ5
NjZBRjFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludFJlYWRPbmx5LmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMzdDODY1MDFFQjYzRTNGMDA4N0M2Q0EgLyogSlNET01Qcm9taXNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMTcyQUY5MDE4MTFCQzM3MDBGQkFEQjkgLyogSlNET01Qcm9taXNlRGVm
ZXJyZWQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRjNCOTI5MUVFM0I2REUwMEI4NDE0NCAvKiBK
U0RPTVF1YWQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRjNCOTJCMUVFM0I2REUwMEI4NDE0NCAv
KiBKU0RPTVF1YWRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ3MTBCQzFEQjU2QkU4MDAy
RENFQzMgLyogSlNET01SZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ3MTBCRTFEQjU2QkU4
MDAyRENFQzMgLyogSlNET01SZWN0SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDY2RUQ4RDMx
RURFMDE0NDAwNUU0M0Y2IC8qIEpTRE9NUmVjdExpc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMzEy
MzMsNiArMzEyNjUsNyBAQAogCQkJCUE5QzZFNEVCMEQ3NDVFMkIwMDY0NDJFOSAvKiBET01QbHVn
aW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTlDNkU0RUYwRDc0NUUzODAwNjQ0MkU5IC8qIERP
TVBsdWdpbkFycmF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjgzNUI4MUVFMzI3NEYwMDhC
NENDNyAvKiBET01Qb2ludFJlYWRPbmx5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjgzNUMy
MUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ2ODM0
NERGMUVEREZBQUEwMEI3Nzk1QiAvKiBET01SZWN0TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzVBODY4NDBDMzM2NzYwMDBFRUE2NDkgLyogRE9NU2VsZWN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUM1NTYxMEYxMTFBNzA0RUIwMEI4MkQyNyAvKiBET01TdHJpbmdMaXN0LmNwcCBp
biBTb3VyY2VzICovLApAQCAtMzE5NTUsNiArMzE5ODgsOSBAQAogCQkJCTBGNDk2NkFDMURCNDBD
NDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50SW5pdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ5
NjZBRTFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludFJlYWRPbmx5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUUxNzJBRjhGMTgxMUJDMzcwMEZCQURCOSAvKiBKU0RPTVByb21pc2VEZWZlcnJl
ZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkYzQjkyODFFRTNCNkRFMDBCODQxNDQgLyogSlNE
T01RdWFkLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGOTRBMzk2MUVGMUIxMDUwMEZCQUZGQiAv
KiBKU0RPTVF1YWRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGM0I5MkExRUUzQjZE
RTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0NzEw
QkIxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
RjQ3MTBCRDFEQjU2QkU4MDAyRENFQzMgLyogSlNET01SZWN0SW5pdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk0NjZEQzZBQzFFREUwMjFEMDA3NDYyMjQgLyogSlNET01SZWN0TGlzdC5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
UXVhZEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVF1YWRDdXN0
b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRkNjM2MjU3ZmM2M2IyYjlmZWM3MWU0NjlmOTVjZjNmNTNlODgz
NjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVF1
YWRDdXN0b20uY3BwCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiSlNET01RdWFkLmgiCisKKyNpbmNsdWRlICJET01Qb2ludC5oIgor
I2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgSlNET01RdWFkOjp2aXNpdEFkZGl0aW9uYWxDaGlsZHJl
bihTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qod3Jh
cHBlZCgpLnAxKCkuZ2V0KCkpOworICAgIHZpc2l0b3IuYWRkT3BhcXVlUm9vdCh3cmFwcGVkKCku
cDIoKS5nZXQoKSk7CisgICAgdmlzaXRvci5hZGRPcGFxdWVSb290KHdyYXBwZWQoKS5wMygpLmdl
dCgpKTsKKyAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qod3JhcHBlZCgpLnA0KCkuZ2V0KCkpOwor
fQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5oCmluZGV4IGI3Y2FkYjk5YTFlNzRjYWIzMzE1M2JmMjkx
OWVlOTQ5MGFiNGJkNGUuLmNhZjQzYzM5YjVhNGFmMzdkNWFkM2Y3NmYwNTkxOGQ4NTEyZmI0YWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01Qb2ludC5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIERPTVBvaW50IGZpbmFsIDogcHVibGljIERPTVBvaW50UmVhZE9ubHkgewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBSZWY8RE9NUG9p
bnQ+IGNyZWF0ZShkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB6LCBkb3VibGUgdykgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBET01Qb2ludCh4LCB5LCB6LCB3KSk7IH0KKyAgICBzdGF0aWMgUmVm
PERPTVBvaW50PiBjcmVhdGUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeiA9IDAsIGRvdWJs
ZSB3ID0gMSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01Qb2ludCh4LCB5LCB6LCB3KSk7IH0K
ICAgICBzdGF0aWMgUmVmPERPTVBvaW50PiBjcmVhdGUoY29uc3QgRE9NUG9pbnRJbml0JiBpbml0
KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0LnksIGluaXQueiwgaW5pdC53KTsgfQogICAg
IHN0YXRpYyBSZWY8RE9NUG9pbnQ+IGZyb21Qb2ludChjb25zdCBET01Qb2ludEluaXQmIGluaXQp
IHsgcmV0dXJuIGNyZWF0ZShpbml0LngsIGluaXQueSwgaW5pdC56LCBpbml0LncpOyB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9ET01RdWFkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2YwYTRmMGQxOGE2NzI5MzMzZGQ0OWEwOTI1
MjYzOTUwYTc1NGE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1
YWQuY3BwCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiRE9NUXVhZC5oIgorCisjaW5jbHVkZSAiRE9NUG9pbnQuaCIKKyNpbmNsdWRl
ICJET01SZWN0LmgiCisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKwordXNpbmcgbmFtZXNw
YWNlIFdURjsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitET01RdWFkOjpET01RdWFkKGNvbnN0
IERPTVBvaW50SW5pdCYgcDEsIGNvbnN0IERPTVBvaW50SW5pdCYgcDIsIGNvbnN0IERPTVBvaW50
SW5pdCYgcDMsIGNvbnN0IERPTVBvaW50SW5pdCYgcDQpCisgICAgOiBtX3AxKERPTVBvaW50Ojpj
cmVhdGUocDEpKQorICAgICwgbV9wMihET01Qb2ludDo6Y3JlYXRlKHAyKSkKKyAgICAsIG1fcDMo
RE9NUG9pbnQ6OmNyZWF0ZShwMykpCisgICAgLCBtX3A0KERPTVBvaW50OjpjcmVhdGUocDQpKQor
eworfQorCisvLyAgcDEtLS0tLS1wMgorLy8gIHwgICAgICAgfAorLy8gIHwgICAgICAgfAorLy8g
IHA0LS0tLS0tcDMKK0RPTVF1YWQ6OkRPTVF1YWQoY29uc3QgRE9NUmVjdEluaXQmIHIpCisgICAg
OiBtX3AxKERPTVBvaW50OjpjcmVhdGUoci54LCByLnkpKQorICAgICwgbV9wMihET01Qb2ludDo6
Y3JlYXRlKHIueCArIHIud2lkdGgsIHIueSkpCisgICAgLCBtX3AzKERPTVBvaW50OjpjcmVhdGUo
ci54ICsgci53aWR0aCwgci55ICsgci5oZWlnaHQpKQorICAgICwgbV9wNChET01Qb2ludDo6Y3Jl
YXRlKHIueCwgci55ICsgci5oZWlnaHQpKQoreworfQorCitSZWZQdHI8RE9NUmVjdD4gRE9NUXVh
ZDo6Z2V0Qm91bmRzKCkgY29uc3QKK3sKKyAgICBkb3VibGUgbGVmdCA9IG5hblByb3BhZ2F0aW5n
TWluKG5hblByb3BhZ2F0aW5nTWluKG5hblByb3BhZ2F0aW5nTWluKG1fcDEtPngoKSwgbV9wMi0+
eCgpKSwgbV9wMy0+eCgpKSwgbV9wNC0+eCgpKTsKKyAgICBkb3VibGUgdG9wID0gbmFuUHJvcGFn
YXRpbmdNaW4obmFuUHJvcGFnYXRpbmdNaW4obmFuUHJvcGFnYXRpbmdNaW4obV9wMS0+eSgpLCBt
X3AyLT55KCkpLCBtX3AzLT55KCkpLCBtX3A0LT55KCkpOworICAgIGRvdWJsZSByaWdodCA9IG5h
blByb3BhZ2F0aW5nTWF4KG5hblByb3BhZ2F0aW5nTWF4KG5hblByb3BhZ2F0aW5nTWF4KG1fcDEt
PngoKSwgbV9wMi0+eCgpKSwgbV9wMy0+eCgpKSwgbV9wNC0+eCgpKTsKKyAgICBkb3VibGUgYm90
dG9tID0gbmFuUHJvcGFnYXRpbmdNYXgobmFuUHJvcGFnYXRpbmdNYXgobmFuUHJvcGFnYXRpbmdN
YXgobV9wMS0+eSgpLCBtX3AyLT55KCkpLCBtX3AzLT55KCkpLCBtX3A0LT55KCkpOworCisgICAg
cmV0dXJuIERPTVJlY3Q6OmNyZWF0ZShsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0g
dG9wKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBjZGVmYjA4NWIwODIx
N2JiZjFhYTYyMjMyM2YwOWMwOGQ0ZWM4MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01RdWFkLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiRE9NUXVhZEluaXQuaCIKKyNpbmNsdWRlICJTY3JpcHRXcmFwcGFi
bGUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBET01Qb2ludDsKK2NsYXNzIERPTVJlY3Q7
CitzdHJ1Y3QgRE9NUG9pbnRJbml0Oworc3RydWN0IERPTVJlY3RJbml0OworCitjbGFzcyBET01R
dWFkIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8RE9NUXVhZD4g
eworcHVibGljOgorICAgIHN0YXRpYyBSZWY8RE9NUXVhZD4gY3JlYXRlKGNvbnN0IERPTVBvaW50
SW5pdCYgcDEsIGNvbnN0IERPTVBvaW50SW5pdCYgcDIsIGNvbnN0IERPTVBvaW50SW5pdCYgcDMs
IGNvbnN0IERPTVBvaW50SW5pdCYgcDQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NUXVhZChw
MSwgcDIsIHAzLCBwNCkpOyB9CisgICAgc3RhdGljIFJlZjxET01RdWFkPiBmcm9tUmVjdChjb25z
dCBET01SZWN0SW5pdCYgaW5pdCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01RdWFkKGluaXQp
KTsgfQorICAgIHN0YXRpYyBSZWY8RE9NUXVhZD4gZnJvbVF1YWQoY29uc3QgRE9NUXVhZEluaXQm
IGluaXQpIHsgcmV0dXJuIGNyZWF0ZShpbml0LnAxLCBpbml0LnAyLCBpbml0LnAzLCBpbml0LnA0
KTsgfQorCisgICAgUmVmUHRyPERPTVBvaW50PiBwMSgpIGNvbnN0IHsgcmV0dXJuIG1fcDE7IH0K
KyAgICBSZWZQdHI8RE9NUG9pbnQ+IHAyKCkgY29uc3QgeyByZXR1cm4gbV9wMjsgfQorICAgIFJl
ZlB0cjxET01Qb2ludD4gcDMoKSBjb25zdCB7IHJldHVybiBtX3AzOyB9CisgICAgUmVmUHRyPERP
TVBvaW50PiBwNCgpIGNvbnN0IHsgcmV0dXJuIG1fcDQ7IH0KKworICAgIFJlZlB0cjxET01SZWN0
PiBnZXRCb3VuZHMoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBET01RdWFkKGNvbnN0IERPTVBv
aW50SW5pdCYsIGNvbnN0IERPTVBvaW50SW5pdCYsIGNvbnN0IERPTVBvaW50SW5pdCYsIGNvbnN0
IERPTVBvaW50SW5pdCYpOworICAgIGV4cGxpY2l0IERPTVF1YWQoY29uc3QgRE9NUmVjdEluaXQm
KTsKKyAgICAKKyAgICBSZWZQdHI8RE9NUG9pbnQ+IG1fcDE7CisgICAgUmVmUHRyPERPTVBvaW50
PiBtX3AyOworICAgIFJlZlB0cjxET01Qb2ludD4gbV9wMzsKKyAgICBSZWZQdHI8RE9NUG9pbnQ+
IG1fcDQ7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmYyOTYyZDlj
YjUxNTNjM2UzZmFhYTk2YTM4ZDJiZTY1NmRkOGZiMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01RdWFkLmlkbApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
Ly8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZ2VvbWV0cnkvI2RpY3RkZWYtZG9tcXVhZGluaXQK
KworWworICAgIENvbnN0cnVjdG9yKG9wdGlvbmFsIERPTVBvaW50SW5pdCBwMSwgb3B0aW9uYWwg
RE9NUG9pbnRJbml0IHAyLCBvcHRpb25hbCBET01Qb2ludEluaXQgcDMsIG9wdGlvbmFsIERPTVBv
aW50SW5pdCBwNCksCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCisgICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbgorXQoraW50ZXJmYWNl
IERPTVF1YWQgeworICAgIFtOZXdPYmplY3RdIHN0YXRpYyBET01RdWFkIGZyb21SZWN0KG9wdGlv
bmFsIERPTVJlY3RJbml0IG90aGVyKTsKKyAgICBbTmV3T2JqZWN0XSBzdGF0aWMgRE9NUXVhZCBm
cm9tUXVhZChvcHRpb25hbCBET01RdWFkSW5pdCBvdGhlcik7CisKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NUG9pbnQgcDE7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgorICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBwMjsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2Ft
ZU9iamVjdF0uCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50IHAzOyAvLyBGSVhNRTog
U2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4KKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQg
cDQ7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgorICAgIFtOZXdPYmplY3RdIERP
TVJlY3QgZ2V0Qm91bmRzKCk7CisKKyAgICAvLyBzZXJpYWxpemVyID0geyBhdHRyaWJ1dGUgfTsg
RklYTUU6IGltcGxlbWVudC4KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9N
UXVhZEluaXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkSW5pdC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY4YTlmN2NhNzI3NGY4ZjBmOTU3ZDRmYWUzNzlhNmEyYjJmMzc1YWEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaApAQCAtMCwwICsxLDM5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJET01Qb2ludEluaXQuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgRE9NUXVhZEluaXQgeworICAgIERPTVBvaW50
SW5pdCBwMTsKKyAgICBET01Qb2ludEluaXQgcDI7CisgICAgRE9NUG9pbnRJbml0IHAzOworICAg
IERPTVBvaW50SW5pdCBwNDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9ET01RdWFkSW5pdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFhNDI0OTgxYTFjZTU2ZWNkZjc3ZDU4YjdjNWI1MDVjMjhmZGUxZTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaWRsCkBAIC0wLDAg
KzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRy
eS8jZGljdGRlZi1kb21xdWFkaW5pdAorCitkaWN0aW9uYXJ5IERPTVF1YWRJbml0IHsKKyAgICBE
T01Qb2ludEluaXQgcDE7CisgICAgRE9NUG9pbnRJbml0IHAyOworICAgIERPTVBvaW50SW5pdCBw
MzsKKyAgICBET01Qb2ludEluaXQgcDQ7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY5YjczNzI3NzA2ZjQ0NGQyMzAx
OTdiMWRlODA3OWViOThmZjljMTguLjdkNzg2ZjJjM2RjMTZjMDg2Y2U3NTk1NGRlYTZjNDJlYTNm
M2RhMTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0wNi0xMSAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRE9NUXVhZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNTM0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKyAgICAgICAgCisgICAgICAgIEltcGxlbWVu
dCBET01RdWFkIHBlciBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jRE9NUXVhZC4K
KworICAgICAgICAqIGpzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZGVkaWNh
dGVkLXdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2pzL2RvbS9n
bG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorCiAyMDE3LTA2LTE3
ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBkdWUg
dG8gaW5maW5pdGUgcmVjdXJzaW9uIHZpYSBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5j
ZUFmdGVyTGF5b3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBkNTliYmY0N2Q3
OTZiYWQ5NzQ3NWQ2MGE1NGJlMGRjMDIwYzQ0ODNmLi44OGI3MWM2ZTkwOWFlZTkxMDM5MDNjNTcw
NTNmMTI3NzFjZDg2ZDY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAxNy0wNi0xMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KKworICAgICAgICBJbXBsZW1lbnQgRE9NUXVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2Ft
IFdlaW5pZy4KKworICAgICAgICBJbXBsZW1lbnQgRE9NUXVhZCBwZXIgaHR0cHM6Ly9kcmFmdHMu
Znh0Zi5vcmcvZ2VvbWV0cnkvI0RPTVF1YWQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2dlb21ldHJ5LTEvRE9NUXVhZC0wMDEtZXhwZWN0ZWQudHh0OiBUZXN0cyBhZ2FpbnN0
IGFuIG9sZGVyIHZlcnNpb24KKyAgICAgICAgb2YgdGhlIHNwZWMsIHNvIHNvbWUgZmFpbHVyZXMu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAy
LWV4cGVjdGVkLnR4dDogQWxsIHRlc3RzIHBhc3Mgb3RoZXIgdGhhbiBhIE5hTgorICAgICAgICBw
cm9wYWdhdGlvbiBpc3N1ZSB3aGljaCBuZWVkcyBzcGVjIGNsYXJpZmljYXRpb24uCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2VyaWFsaXph
dGlvbi1leHBlY3RlZC50eHQ6CisKIDIwMTctMDYtMTcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjA5NDk1KTogbWF0ZXJpYXV4bGF2ZXJk
dXJlLmNvbSBmYWlscyB0byBsb2FkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dl
b21ldHJ5LTEvRE9NUXVhZC0wMDEtZXhwZWN0ZWQudHh0CmluZGV4IDkyNDNmZDkyMzUzMjNmZWQ3
MjNhNzA1OGIxYzE5YzU2NzE0NGRiMTguLmM5Mzk0MWY1ZDg3ZGQ0YTc3NjI5OGM2Y2M3MzIxNGNi
YzE5YTU1ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvRE9NUXVhZC0wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEv
RE9NUXVhZC0wMDEtZXhwZWN0ZWQudHh0CkBAIC0xLDQxICsxLDQxIEBACiBUZXN0IERPTVF1YWQg
aW50ZXJmYWNlCiAKIAotRkFJTCB0ZXN0Q29uc3RydWN0b3IwOiBwb2ludHMgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IwOiBib3VuZHMgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxIGFzc2VydF90aHJvd3M6
IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IG5ldyBET01RdWFkKDEpOyB9IiB0aHJldyBvYmplY3Qg
IlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVyZW5j
ZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwg
dGVzdENvbnN0cnVjdG9yMiBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBu
ZXcgRE9NUXVhZCgxLCAyKTsgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVj
dCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjMgYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgbmV3IERPTVF1YWQoMSwgMiwgMyk7IH0i
IHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1
YWQiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBl
RXJyb3IiKQotRkFJTCB0ZXN0Q29uc3RydWN0b3I0IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJm
dW5jdGlvbiAoKSB7IG5ldyBET01RdWFkKDEsIDIsIDMsIDQpOyB9IiB0aHJldyBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVyZW5jZUVy
cm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgdGVz
dENvbnN0cnVjdG9yNTogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwg
dGVzdENvbnN0cnVjdG9yNTogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZB
SUwgdGVzdENvbnN0cnVjdG9yNjogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQK
LUZBSUwgdGVzdENvbnN0cnVjdG9yNjogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1
YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yNzogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERP
TVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yNzogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6
IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yODogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFi
bGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yODogYm91bmRzIENhbid0IGZpbmQgdmFy
aWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yOTogcG9pbnRzIENhbid0IGZpbmQg
dmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yOTogYm91bmRzIENhbid0IGZp
bmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMTA6IHBvaW50cyBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjEwOiBib3VuZHMg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxMTogcG9p
bnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMTE6
IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rv
cjEyOiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3Ry
dWN0b3IxMjogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENv
bnN0cnVjdG9yMTM6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRl
c3RDb25zdHJ1Y3RvcjEzOiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJ
TCB0ZXN0Q29uc3RydWN0b3IxNDogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQK
LUZBSUwgdGVzdENvbnN0cnVjdG9yMTQ6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01R
dWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjE1IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7IG5ldyBET01RdWFkKHt9LCB7fSwge30sIE5hTik7IH0iIHRocmV3IG9iamVjdCAi
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQiICgiUmVmZXJlbmNl
RXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCB0
ZXN0Q29uc3RydWN0b3IxNjogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZB
SUwgdGVzdENvbnN0cnVjdG9yMTY6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFk
Ci1GQUlMIHAxVG9wNEF0dHJpYnV0ZXMwOiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9N
UXVhZAotRkFJTCBwMVRvcDRBdHRyaWJ1dGVzMDogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6
IERPTVF1YWQKLUZBSUwgcDFUb3A0QXR0cmlidXRlczE6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBET01RdWFkCi1GQUlMIHAxVG9wNEF0dHJpYnV0ZXMxOiBib3VuZHMgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogRE9NUXVhZAotRkFJTCBib3VuZHNBdHRyaWJ1dGUwOiBwb2ludHMgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCBib3VuZHNBdHRyaWJ1dGUwOiBib3VuZHMgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCBib3VuZHNBdHRyaWJ1dGUxOiBwb2ludHMgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCBib3VuZHNBdHRyaWJ1dGUxOiBib3VuZHMg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAorUEFTUyB0ZXN0Q29uc3RydWN0b3IwOiBwb2lu
dHMgCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjA6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjEgCitQ
QVNTIHRlc3RDb25zdHJ1Y3RvcjIgCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjMgCitQQVNTIHRlc3RD
b25zdHJ1Y3RvcjQgCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjU6IHBvaW50cyBhc3NlcnRfZXF1YWxz
OiBFeHBlY3RlZCB2YWx1ZSBmb3IgcDIueCBpcyAxMTAgZXhwZWN0ZWQgMTEwIGJ1dCBnb3QgMAor
RkFJTCB0ZXN0Q29uc3RydWN0b3I1OiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorRkFJTCB0ZXN0Q29uc3RydWN0b3I2OiBwb2ludHMg
YXNzZXJ0X2VxdWFsczogRXhwZWN0ZWQgdmFsdWUgZm9yIHAyLnggaXMgLTkwIGV4cGVjdGVkIC05
MCBidXQgZ290IDAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yNjogYm91bmRzIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK0ZBSUwgdGVzdENvbnN0cnVj
dG9yNzogcG9pbnRzIGFzc2VydF9lcXVhbHM6IEV4cGVjdGVkIHZhbHVlIGZvciBwMi54IGlzIE5h
TiBleHBlY3RlZCBOYU4gYnV0IGdvdCAwCitGQUlMIHRlc3RDb25zdHJ1Y3Rvcjc6IGJvdW5kcyB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQQVNT
IHRlc3RDb25zdHJ1Y3Rvcjg6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yODogYm91bmRz
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK1BB
U1MgdGVzdENvbnN0cnVjdG9yOTogcG9pbnRzIAorRkFJTCB0ZXN0Q29uc3RydWN0b3I5OiBib3Vu
ZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQor
UEFTUyB0ZXN0Q29uc3RydWN0b3IxMDogcG9pbnRzIAorRkFJTCB0ZXN0Q29uc3RydWN0b3IxMDog
Ym91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54
JykKK1BBU1MgdGVzdENvbnN0cnVjdG9yMTE6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9y
MTE6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3Vu
ZHMueCcpCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjEyOiBwb2ludHMgCitGQUlMIHRlc3RDb25zdHJ1
Y3RvcjEyOiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3Eu
Ym91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3IxMzogcG9pbnRzIAorRkFJTCB0ZXN0Q29u
c3RydWN0b3IxMzogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICdxLmJvdW5kcy54JykKK1BBU1MgdGVzdENvbnN0cnVjdG9yMTQ6IHBvaW50cyAKK0ZBSUwgdGVz
dENvbnN0cnVjdG9yMTQ6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAncS5ib3VuZHMueCcpCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjE1IAorUEFTUyB0ZXN0Q29u
c3RydWN0b3IxNjogcG9pbnRzIAorRkFJTCB0ZXN0Q29uc3RydWN0b3IxNjogYm91bmRzIHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK1BBU1MgcDFU
b3A0QXR0cmlidXRlczA6IHBvaW50cyAKK0ZBSUwgcDFUb3A0QXR0cmlidXRlczA6IGJvdW5kcyB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQQVNT
IHAxVG9wNEF0dHJpYnV0ZXMxOiBwb2ludHMgCitGQUlMIHAxVG9wNEF0dHJpYnV0ZXMxOiBib3Vu
ZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQor
UEFTUyBib3VuZHNBdHRyaWJ1dGUwOiBwb2ludHMgCitGQUlMIGJvdW5kc0F0dHJpYnV0ZTA6IGJv
dW5kcyBhc3NlcnRfZXF1YWxzOiBFeHBlY3RlZCB2YWx1ZSBmb3IgYm91bmRzLnggaXMgMCBleHBl
Y3RlZCAwIGJ1dCBnb3QgMTAKK0ZBSUwgYm91bmRzQXR0cmlidXRlMTogcG9pbnRzIHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54ID0gMTAnKQorRkFJTCBi
b3VuZHNBdHRyaWJ1dGUxOiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3EuYm91bmRzLnggPSAxMCcpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvRE9NUXVhZC0wMDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvZ2VvbWV0cnktMS9ET01RdWFkLTAwMi1leHBlY3RlZC50eHQKaW5kZXggZTBkN2E3YmM2ZWZl
ZjFmMTQzOTk5NjY4YmVjODJiNjA0OWYyZDNmNi4uODhlMzZkNGQ5MGNiMDI2NDlmMDI5MjcwZGRj
MmZkMDg5YzU1YmYwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01RdWFkLTAwMi1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0
cnktMS9ET01RdWFkLTAwMi1leHBlY3RlZC50eHQKQEAgLTEsMjEgKzEsMjEgQEAKIFRlc3QgRE9N
UXVhZCBpbnRlcmZhY2UKIAogCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igbm8gYXJncyBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBvbmUgaW5p
dCBET01Qb2ludCBhcmcgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENv
bnN0cnVjdG9yIHdpdGggdHdvIGluaXQgRE9NUG9pbnQgYXJncyBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBET01RdWFkCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0aCB0aHJlZSBpbml0IERPTVBvaW50
IGFyZ3MgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9y
IHdpdGggZm91ciBpbml0IERPTVBvaW50IGFyZ3MgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVh
ZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggb25lIERPTVBvaW50IGFyZyBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0aCB0d28gRE9NUG9p
bnQgYXJncyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgQ29uc3RydWN0
b3Igd2l0aCB0aHJlZSBET01Qb2ludCBhcmdzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQK
LUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGZvdXIgRE9NUG9pbnQgYXJncyBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBpbnZhaWxkIGlu
dGVnZXIgYXJncyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcgRE9N
UXVhZCgxLCAyLCAzLCA0KTsgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVj
dCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBp
bnZhaWxkIHN0cmluZyBhcmdzIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7
IG5ldyBET01RdWFkKCIxIiwgIjIiLCAiMyIsICI0Iik7IH0iIHRocmV3IG9iamVjdCAiUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQiICgiUmVmZXJlbmNlRXJyb3Ii
KSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCB0ZXN0IENv
bnN0cnVjdG9yIHdpdGggTmFOIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7
IG5ldyBET01RdWFkKHt9LCB7fSwge30sIE5hTik7IH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQiICgiUmVmZXJlbmNlRXJyb3IiKSBl
eHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCB0ZXN0IGZyb21S
ZWN0IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBmcm9tUmVjdCB3aXRo
IEluZmluaXR5IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBmcm9tUXVh
ZCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgcDEsIHAyLCBwMywgcDQg
YXJlIHJlYWRvbmx5IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBnZXRC
b3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAorUEFTUyB0ZXN0IENvbnN0cnVjdG9y
IG5vIGFyZ3MgCitQQVNTIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBvbmUgaW5pdCBET01Qb2ludCBh
cmcgCitQQVNTIHRlc3QgQ29uc3RydWN0b3Igd2l0aCB0d28gaW5pdCBET01Qb2ludCBhcmdzIAor
UEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggdGhyZWUgaW5pdCBET01Qb2ludCBhcmdzIAorUEFT
UyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggZm91ciBpbml0IERPTVBvaW50IGFyZ3MgCitQQVNTIHRl
c3QgQ29uc3RydWN0b3Igd2l0aCBvbmUgRE9NUG9pbnQgYXJnIAorUEFTUyB0ZXN0IENvbnN0cnVj
dG9yIHdpdGggdHdvIERPTVBvaW50IGFyZ3MgCitQQVNTIHRlc3QgQ29uc3RydWN0b3Igd2l0aCB0
aHJlZSBET01Qb2ludCBhcmdzIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggZm91ciBET01Q
b2ludCBhcmdzIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggaW52YWlsZCBpbnRlZ2VyIGFy
Z3MgCitQQVNTIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBpbnZhaWxkIHN0cmluZyBhcmdzIAorUEFT
UyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggTmFOIAorUEFTUyB0ZXN0IGZyb21SZWN0IAorUEFTUyB0
ZXN0IGZyb21SZWN0IHdpdGggSW5maW5pdHkgCitQQVNTIHRlc3QgZnJvbVF1YWQgCitQQVNTIHRl
c3QgcDEsIHAyLCBwMywgcDQgYXJlIHJlYWRvbmx5IAorUEFTUyB0ZXN0IGdldEJvdW5kcyAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvZ2VvbWV0cnktMS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9z
dHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGY4NTJlMGQ5NWE3MTJm
YzUxM2RlMzM1MmVlNDRmZmI0ZjdlMjdhYzIuLjhiMGEzZGQ1YWExYTQ0ZjhkNzUwYzFjMDRhNDRj
MDU4MTRlODIzNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvc3RydWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2VyaWFsaXphdGlvbi1leHBlY3RlZC50eHQKQEAg
LTE1LDEwICsxNSwxMCBAQCBGQUlMIERPTVJlY3QgY2xvbmU6IGJhc2ljIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIgogRkFJTCBET01SZWN0IGNs
b25lOiBjdXN0b20gcHJvcGVydHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUg
b2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKIEZBSUwgRE9NUmVjdCBjbG9uZTogdGhyb3dpbmcg
Z2V0dGVycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5v
dCBiZSBjbG9uZWQuIgogRkFJTCBET01SZWN0IGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNs
b25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVk
LiIKLUZBSUwgRE9NUXVhZCBjbG9uZTogYmFzaWMgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVj
dG9yIChldmFsdWF0aW5nICduZXcgc2VsZltjb25zdHJdKCknKQotRkFJTCBET01RdWFkIGNsb25l
OiBjdXN0b20gcHJvcGVydHkgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0
aW5nICduZXcgc2VsZltjb25zdHJdKCknKQotRkFJTCBET01RdWFkIGNsb25lOiB0aHJvd2luZyBn
ZXR0ZXJzIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IHNl
bGZbY29uc3RyXSgpJykKLUZBSUwgRE9NUXVhZCBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzIHVu
ZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IHNlbGZbY29uc3Ry
XScpCitGQUlMIERPTVF1YWQgY2xvbmU6IGJhc2ljIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9u
IDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCitGQUlMIERPTVF1YWQgY2xvbmU6
IGN1c3RvbSBwcm9wZXJ0eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmpl
Y3QgY2FuIG5vdCBiZSBjbG9uZWQuIgorRkFJTCBET01RdWFkIGNsb25lOiB0aHJvd2luZyBnZXR0
ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJl
IGNsb25lZC4iCitGQUlMIERPTVF1YWQgY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVlcyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVF
cnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgog
RkFJTCBET01NYXRyaXhSZWFkT25seSBjbG9uZTogYmFzaWMgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNl
cHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKIEZBSUwgRE9NTWF0cml4
UmVhZE9ubHkgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlv
biAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgogRkFJTCBET01NYXRyaXhSZWFk
T25seSBjbG9uZTogdGhyb3dpbmcgZ2V0dGVycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAy
NSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1kZWRpY2F0ZWQtd29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0
dHJpYnV0ZXMtZGVkaWNhdGVkLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggY2E4MWEzOTcwZWZh
MjAyNzBmMzNkMzc1YzhjMDA3OGUyNGRhNmExNy4uM2E2YWMwN2Y0YTJhZDlmMzE5ODk1ZWZhZThh
OWVkOGZjY2MzMWNkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvZG9tL2dsb2JhbC1jb25z
dHJ1Y3RvcnMtYXR0cmlidXRlcy1kZWRpY2F0ZWQtd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWRlZGljYXRl
ZC13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC01OSw2ICs1OSwxMSBAQCBQQVNTIFtXb3JrZXJdIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScp
Lmhhc093bgogUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UK
IFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdE
T01Qb2ludFJlYWRPbmx5JykuZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBbV29ya2VyXSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5j
b25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS52YWx1ZSBpcyBET01RdWFkCitQQVNTIFtXb3Jr
ZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmhh
c093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0
JykgaXMgZmFsc2UKK1BBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdET01RdWFkJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBbV29ya2VyXSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5jb25maWd1
cmFibGUgaXMgdHJ1ZQogUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS52YWx1ZSBpcyBET01SZWN0CiBQQVNTIFtXb3JrZXJdIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVjdCcpLmhhc093blBy
b3BlcnR5KCdnZXQnKSBpcyBmYWxzZQogUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMg
ZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xvYmFs
LWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dAppbmRleCBmMzg2YjE4YTIyNTc0ZDY2ZTcwZmEyMzVjMzQwMjRhOTUzYmIzMDc1Li42MTUzYjhh
ZGYxOGIwM2VkODZiZjIwNzcwNTA2NDg5ZmFiZWJkYjExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2pzL2RvbS9nbG9iYWwtY29u
c3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0zNTMsNiArMzUzLDExIEBAIFBB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRP
bmx5JykuaGFzT3duUHJvcGVydHkoCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBm
YWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBv
aW50UmVhZE9ubHknKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmNvbmZpZ3VyYWJsZSBp
cyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9N
UXVhZCcpLnZhbHVlIGlzIERPTVF1YWQKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdET01RdWFkJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmhh
c093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmNvbmZpZ3Vy
YWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFs
LCAnRE9NUmVjdCcpLnZhbHVlIGlzIERPTVJlY3QKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZh
bHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVj
dCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313203</attachid>
            <date>2017-06-17 11:45:05 -0700</date>
            <delta_ts>2017-06-17 12:47:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163534-20170617114504.patch</filename>
            <type>text/plain</type>
            <size>47634</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTcyMjE0ZmEyOWVkMWM5
MjY4NmEzMzY2Y2Q1NzRiNzYwODJlM2Y3MC4uMDk4MzMyZDIxZDUxYTZhZTQ3M2U0NTczOWI5N2Fk
NTVjNzE2NmJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTA2LTE3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBE
T01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIEltcGxl
bWVudCBET01RdWFkIHBlciBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jRE9NUXVh
ZCwgb3RoZXIgdGhhbiBzZXJpYWxpemF0aW9uCisgICAgICAgIHdoaWNoIHJlcXVpcmVzIHNvbWUg
YmluZGluZ3MgY2hhbmdlcy4KKworICAgICAgICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21l
dHJ5LTEvRE9NUmVjdC0wMDEuaHRtbCB0ZXN0cyBhZ2FpbnN0IGFuIG9sZGVyIHZlcnNpb24gb2Yg
dGhlIHNwZWMsCisgICAgICAgIHNvIGhhcyBzb21lIGZhaWx1cmVzLiBET01RdWFkLTAwMi5odG1s
IHBhc3Nlcywgb3RoZXIgdGhhbiBhIE5hTiBwcm9wYWdhdGlvbiBpc3N1ZSB0aGF0IHJlcXVpcmVz
CisgICAgICAgIHNwZWMgY2xhcmlmaWNhdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NUXVhZEN1
c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01RdWFkOjpnZXRCb3VuZHMp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAg
KElzU2VyaWFsaXphYmxlRE9NVHlwZSk6CisgICAgICAgIChJc1NlcmlhbGl6YWJsZUF0dHJpYnV0
ZSk6CisgICAgICAgICogZG9tL0RPTVBvaW50Lmg6CisgICAgICAgICogZG9tL0RPTVF1YWQuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6OkRPTVF1YWQpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NUXVhZDo6Z2V0Qm91bmRzKToKKyAgICAgICAgKiBkb20vRE9NUXVhZC5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpET01RdWFkOjpmcm9tUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpmcm9t
UXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpwMSk6CisgICAgICAgIChXZWJDb3Jl
OjpET01RdWFkOjpwMik6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpwMyk6CisgICAgICAg
IChXZWJDb3JlOjpET01RdWFkOjpwNCk6CisgICAgICAgICogZG9tL0RPTVF1YWQuaWRsOiBBZGRl
ZC4KKyAgICAgICAgKiBkb20vRE9NUXVhZEluaXQuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RP
TVF1YWRJbml0LmlkbDogQWRkZWQuCisKIDIwMTctMDYtMTcgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGR1ZSB0byBpbmZpbml0ZSByZWN1cnNpb24g
dmlhIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlQWZ0ZXJMYXlvdXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggZTQ0ZTRkOWMwMjk3NmM0NjgwZWUzMjA0ZjhjYmYyYTFmNjc2NWI0ZS4u
Yzc5OTE4NzQxZTUyNjVkMThhZDQ0YjBjYjQzMjc4OGE4NWE1YTcwNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTQyNCw2ICs0MjQsOCBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwog
ICAgIGRvbS9ET01Qb2ludC5pZGwKICAgICBkb20vRE9NUG9pbnRJbml0LmlkbAogICAgIGRvbS9E
T01Qb2ludFJlYWRPbmx5LmlkbAorICAgIGRvbS9ET01RdWFkLmlkbAorICAgIGRvbS9ET01RdWFk
SW5pdC5pZGwKICAgICBkb20vRE9NUmVjdC5pZGwKICAgICBkb20vRE9NUmVjdEluaXQuaWRsCiAg
ICAgZG9tL0RPTVJlY3RMaXN0LmlkbApAQCAtMTE2MCw2ICsxMTYyLDcgQEAgc2V0KFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yQmFzZS5jcHAK
ICAgICBiaW5kaW5ncy9qcy9KU0RPTUNvbnN0cnVjdG9yQmFzZS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU0RPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50LmNwcAorICAgIGJpbmRpbmdzL2pzL0pTRE9N
UXVhZEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0VGFzay5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IGVjYjVmN2M0ZTFmYjYxZmY4MjlhZjExNmI3NmMzOTI0OTQ5MmZhNTguLmZlMzJiNDE0ZGM0
ZDlmZGY3M2E0OTRjZjE2ZmJjYWJmMzI5MTM5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtMzY0LDYgKzM2NCw4IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNv
cmUpL2RvbS9ET01Qb2ludC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0RPTVBvaW50SW5pdC5p
ZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRsIFwKKyAgICAkKFdl
YkNvcmUpL2RvbS9ET01RdWFkLmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20vRE9NUXVhZEluaXQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01SZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9k
b20vRE9NUmVjdEluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01SZWN0TGlzdC5pZGwg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDhiOWU3NGY3NDdmYzk5NTgzOWEyMDE0MzA3MTVkMDkzMzE3MTllNTAuLjdlYzM4NjBi
MGE0NTBmMTBlMmM1YWMwMjFmMzExOWUxZGJjZjA4ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ5Miw2ICs0OTIsNyBAQAog
CQkwRjhCNDU3MjFEQzNGQkEzMDA0NDNDM0YgLyogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFj
ay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4QjQ1
NzExREMzRkJBMzAwNDQzQzNGIC8qIEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaCAqLzsg
fTsKIAkJMEY4QjQ1NzUxREM0MURCQTAwNDQzQzNGIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJD
YWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjhCNDU3MzFEQzQxREJBMDA0NDNDM0YgLyogSlNJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxi
YWNrLmNwcCAqLzsgfTsKIAkJMEY4QjQ1NzYxREM0MURCQTAwNDQzQzNGIC8qIEpTSW50ZXJzZWN0
aW9uT2JzZXJ2ZXJDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY4QjQ1NzQxREM0MURCQTAwNDQzQzNGIC8qIEpTSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJDYWxsYmFjay5oICovOyB9OworCQkwRjk0QTM5NjFFRjFCMTA1MDBGQkFGRkIgLyogSlNE
T01RdWFkQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGOTRBMzk1MUVGMUIxMDUwMEZCQUZGQiAvKiBKU0RPTVF1YWRDdXN0b20uY3BwICov
OyB9OwogCQkwRjk3QTY1ODE1NURBODFFMDBGQURENEMgLyogRGlzcGxheVJlZnJlc2hNb25pdG9y
SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5
N0E2NTcxNTVEQTgxRTAwRkFERDRDIC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbSAqLzsg
fTsKIAkJMEZBMjRENzkxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc3
MTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5jcHAgKi87IH07CiAJCTBG
QTI0RDdBMTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzgxNjJERjkxOTAw
QTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTU1OCwxMSArNTU5LDE4IEBACiAJCTBGRUYyMENF
MUJENEEyNDEwMDEyOEU1RCAvKiBMZW5ndGhTaXplLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUYyMENEMUJENEEyNDEwMDEyOEU1RCAvKiBMZW5n
dGhTaXplLmNwcCAqLzsgfTsKIAkJMEZFRjIwRDAxQkQ0QTY0RjAwMTI4RTVEIC8qIFJlbmRlclN0
eWxlQ29uc3RhbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGRUYyMENGMUJENEE2NEYwMDEyOEU1RCAvKiBSZW5kZXJTdHlsZUNvbnN0YW50cy5j
cHAgKi87IH07CiAJCTBGRjJFODBEMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dp
bmdDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZGMkU4MEMxRUUwRDQzMDAwOUVBQkQ0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5j
cHAgKi87IH07CisJCTBGRjNCOTI4MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGM0I5MjQxRUUz
QjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5jcHAgKi87IH07CisJCTBGRjNCOTI5MUVFM0I2REUw
MEI4NDE0NCAvKiBKU0RPTVF1YWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRjNCOTI1MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuaCAqLzsg
fTsKKwkJMEZGM0I5MkExRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGM0I5MjYxRUUzQjZE
RTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuY3BwICovOyB9OworCQkwRkYzQjkyQjFFRTNCNkRF
MDBCODQxNDQgLyogSlNET01RdWFkSW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZGM0I5MjcxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZElu
aXQuaCAqLzsgfTsKIAkJMEZGNTAyNjkxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1MDI2
NzEwMkJBOTQzMDA2NkYzOUEgLyogSlNTdHlsZU1lZGlhLmNwcCAqLzsgfTsKIAkJMEZGNTAyNkEx
MDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNTAyNjgxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5
bGVNZWRpYS5oICovOyB9OwogCQkwRkY1MDI3MTEwMkJBOTZBMDA2NkYzOUEgLyogU3R5bGVNZWRp
YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1
MDI2RTEwMkJBOTY2MDA2NkYzOUEgLyogU3R5bGVNZWRpYS5jcHAgKi87IH07CiAJCTBGRjUwMjcy
MTAyQkE5NkEwMDY2RjM5QSAvKiBTdHlsZU1lZGlhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1MDI2RjEwMkJBOTZBMDA2NkYzOUEgLyogU3R5bGVN
ZWRpYS5oICovOyB9OwogCQkwRkY4MzVCODFFRTMyNzRGMDA4QjRDQzcgLyogRE9NUG9pbnRSZWFk
T25seS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkY4MzVCNzFFRTMyNzRGMDA4QjRDQzcgLyogRE9NUG9pbnRSZWFkT25seS5jcHAgKi87IH07CisJ
CTBGRjgzNUMyMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjgzNUJEMUVFMzU0REEwMDhCNENDNyAv
KiBET01RdWFkLmNwcCAqLzsgfTsKKwkJMEZGODM1QzMxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1
YWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjgz
NUJFMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmggKi87IH07CisJCTBGRjgzNUM1MUVFMzU0
REEwMDhCNENDNyAvKiBET01RdWFkSW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZGODM1QzAxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0
LmggKi87IH07CiAJCTBGRkQ0RDYwMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRkQ0RDVFMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
LmNwcCAqLzsgfTsKIAkJMEZGRDRENjExODY1MUZBMzAwNTEyRjZFIC8qIEFzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRkQ0RDVGMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTBG
QjA4NEIxNEUxNUM3RTAwQTNEQjk4IC8qIFB1YmxpY1VSTE1hbmFnZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDEwRkIwODRBMTRFMTVDN0UwMEEzREI5
OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggKi87IH07CkBAIC03OTMyLDYgKzc5NDAsNyBAQAogCQkw
RjhCNDU3MTFEQzNGQkEzMDA0NDNDM0YgLyogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlcnNlY3Rpb25PYnNlcnZlckNh
bGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGOEI0NTczMURDNDFEQkEw
MDQ0M0MzRiAvKiBKU0ludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNr
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY4QjQ1NzQxREM0MURCQTAwNDQz
QzNGIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0ludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5NEEzOTUxRUYxQjEwNTAwRkJBRkZCIC8qIEpTRE9N
UXVhZEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RP
TVF1YWRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjk3QTY1NzE1
NURBODFFMDBGQURENEMgLyogRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkEwODUyQjFFNkZCNTVBMDA5NzVGREQg
LyogQ1NTUHJvcGVydGllcy5qc29uICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5qc29uOyBwYXRoID0gQ1NTUHJvcGVydGllcy5qc29uOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkEyNEQ3NzE2MkRGOTE5MDBBM0Y0QzAgLyogR3Jh
cGhpY3NMYXllclVwZGF0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gR3JhcGhpY3NMYXllclVwZGF0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtODAwMCwxMiArODAwOSwyMSBAQAogCQkwRkVGMjBDRDFCRDRBMjQxMDAxMjhFNUQgLyogTGVu
Z3RoU2l6ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMZW5ndGhT
aXplLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZFRjIwQ0YxQkQ0QTY0RjAw
MTI4RTVEIC8qIFJlbmRlclN0eWxlQ29uc3RhbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlbmRlclN0eWxlQ29uc3RhbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEZGMkU4MEMxRUUwRDQzMDAwOUVBQkQ0IC8qIFBlcmZvcm1hbmNlTG9n
Z2luZ0NsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJm
b3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RkYzQjkyNDFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NUXVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGRjNCOTI1MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01RdWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGRjNCOTI2MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NUXVhZEluaXQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkYzQjkyNzFFRTNCNkRFMDBCODQxNDQg
LyogSlNET01RdWFkSW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RP
TVF1YWRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjUwMjY3MTAyQkE5
NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNTdHlsZU1lZGlhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZGNTAyNjgxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0eWxlTWVkaWEuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEZGNTAyNkUxMDJCQTk2NjAwNjZGMzlBIC8qIFN0eWxlTWVkaWEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVNZWRpYS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjUwMjZGMTAyQkE5NkEwMDY2RjM5QSAvKiBTdHls
ZU1lZGlhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlTWVkaWEuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGNTAyNzAxMDJCQTk2QTAwNjZGMzlBIC8q
IFN0eWxlTWVkaWEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0eWxlTWVkaWEuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY4MzVCNzFFRTMyNzRGMDA4QjRDQzcgLyog
RE9NUG9pbnRSZWFkT25seS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBET01Qb2ludFJlYWRPbmx5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZG
ODM1QkQxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRE9NUXVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGRjgzNUJFMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERPTVF1YWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZGODM1QkYxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IERPTVF1YWQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkY4
MzVDMDFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRE9NUXVhZEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZGODM1QzExRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBET01RdWFkSW5pdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGRkQ0RDVFMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkZENEQ1RjE4
NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTEwRkIwODRBMTRFMTVDN0UwMEEzREI5OCAvKiBQdWJs
aWNVUkxNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFB1YmxpY1VS
TE1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyMDk4LDYgKzIyMTE2
LDEwIEBACiAJCQkJMEY0OTY2QTcxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRJbml0Lmgg
Ki8sCiAJCQkJMEY0OTY2QTgxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5j
cHAgKi8sCiAJCQkJMEY0OTY2QTkxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25s
eS5oICovLAorCQkJCTBGRjNCOTI0MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuY3BwICov
LAorCQkJCTBGRjNCOTI1MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuaCAqLywKKwkJCQkw
RkYzQjkyNjFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkSW5pdC5jcHAgKi8sCisJCQkJMEZG
M0I5MjcxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuaCAqLywKIAkJCQkwRjQ3MTBC
NTFEQjU2QkU4MDAyRENFQzMgLyogSlNET01SZWN0LmNwcCAqLywKIAkJCQkwRjQ3MTBCNjFEQjU2
QkU4MDAyRENFQzMgLyogSlNET01SZWN0LmggKi8sCiAJCQkJMEY0NzEwQjcxREI1NkJFODAwMkRD
RUMzIC8qIEpTRE9NUmVjdEluaXQuY3BwICovLApAQCAtMjM2NjQsNiArMjM2ODYsNyBAQAogCQkJ
CURFQzI5NzVEMUI0REVCMkEwMDVGNTk0NSAvKiBKU0N1c3RvbUV2ZW50Q3VzdG9tLmNwcCAqLywK
IAkJCQk0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3RvbS5jcHAgKi8s
CiAJCQkJQUREQTk0QkYxOTY4NkY4MDAwNDUzMDI5IC8qIEpTRG9jdW1lbnRDdXN0b20uaCAqLywK
KwkJCQkwRjk0QTM5NTFFRjFCMTA1MDBGQkFGRkIgLyogSlNET01RdWFkQ3VzdG9tLmNwcCAqLywK
IAkJCQlCQ0Q5QzI1RTBDMTdBQTY3MDA1QzkwQTIgLyogSlNET01XaW5kb3dDdXN0b20uY3BwICov
LAogCQkJCTY1MkZCQkJCMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICov
LAogCQkJCUMyODA4MzQxMUM2REM5NkEwMDE0NTFCNiAvKiBKU0ZvbnRGYWNlQ3VzdG9tLmNwcCAq
LywKQEAgLTI1NzQwLDYgKzI1NzYzLDExIEBACiAJCQkJMEZGODM1QjcxRUUzMjc0RjAwOEI0Q0M3
IC8qIERPTVBvaW50UmVhZE9ubHkuY3BwICovLAogCQkJCTBGNDk2NjlCMURCNDA4QzEwMEEyNzRC
QiAvKiBET01Qb2ludFJlYWRPbmx5LmggKi8sCiAJCQkJMEY0OTY2OUMxREI0MDhDMTAwQTI3NEJC
IC8qIERPTVBvaW50UmVhZE9ubHkuaWRsICovLAorCQkJCTBGRjgzNUJEMUVFMzU0REEwMDhCNEND
NyAvKiBET01RdWFkLmNwcCAqLywKKwkJCQkwRkY4MzVCRTFFRTM1NERBMDA4QjRDQzcgLyogRE9N
UXVhZC5oICovLAorCQkJCTBGRjgzNUJGMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmlkbCAq
LywKKwkJCQkwRkY4MzVDMDFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZEluaXQuaCAqLywKKwkJ
CQkwRkY4MzVDMTFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZEluaXQuaWRsICovLAogCQkJCTBG
NDcxMEE5MURCNTZBRkMwMDJEQ0VDMyAvKiBET01SZWN0LmggKi8sCiAJCQkJMEY0NzEwQUExREI1
NkFGQzAwMkRDRUMzIC8qIERPTVJlY3QuaWRsICovLAogCQkJCTBGNDcxMEFCMURCNTZBRkMwMDJE
Q0VDMyAvKiBET01SZWN0SW5pdC5oICovLApAQCAtMjcyMDcsNiArMjcyMzUsOCBAQAogCQkJCTBG
NDk2NjlEMURCNDA4QzEwMEEyNzRCQiAvKiBET01Qb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEY0OTY2QTMxREI0MDkxMDAwQTI3NEJCIC8qIERPTVBvaW50SW5pdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEY0OTY2OUYxREI0MDhDMTAwQTI3NEJCIC8qIERPTVBvaW50UmVhZE9ubHkuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGRjgzNUMzMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRkY4MzVDNTFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZEluaXQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDcxMEFGMURCNTZBRkMwMDJEQ0VDMyAvKiBET01SZWN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ3MTBCMTFEQjU2QUZDMDAyRENFQzMgLyogRE9NUmVj
dEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2ODM0NEUwMUVEREZBQUEwMEI3Nzk1QiAvKiBE
T01SZWN0TGlzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzk4Miw2ICsyODAxMiw4IEBACiAJCQkJ
MEY0OTY2QUYxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTM3Qzg2NTAxRUI2M0UzRjAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTE3MkFGOTAxODExQkMzNzAwRkJBREI5IC8qIEpTRE9NUHJvbWlz
ZURlZmVycmVkLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkYzQjkyOTFFRTNCNkRFMDBCODQxNDQg
LyogSlNET01RdWFkLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkYzQjkyQjFFRTNCNkRFMDBCODQx
NDQgLyogSlNET01RdWFkSW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0NzEwQkMxREI1NkJF
ODAwMkRDRUMzIC8qIEpTRE9NUmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0NzEwQkUxREI1
NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2NkVE
OEQzMUVERTAxNDQwMDVFNDNGNiAvKiBKU0RPTVJlY3RMaXN0LmggaW4gSGVhZGVycyAqLywKQEAg
LTMxMjMzLDYgKzMxMjY1LDcgQEAKIAkJCQlBOUM2RTRFQjBENzQ1RTJCMDA2NDQyRTkgLyogRE9N
UGx1Z2luLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE5QzZFNEVGMEQ3NDVFMzgwMDY0NDJFOSAv
KiBET01QbHVnaW5BcnJheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkY4MzVCODFFRTMyNzRG
MDA4QjRDQzcgLyogRE9NUG9pbnRSZWFkT25seS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkY4
MzVDMjFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0
NjgzNDRERjFFRERGQUFBMDBCNzc5NUIgLyogRE9NUmVjdExpc3QuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM1QTg2ODQwQzMzNjc2MDAwRUVBNjQ5IC8qIERPTVNlbGVjdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDNTU2MTBGMTExQTcwNEVCMDBCODJEMjcgLyogRE9NU3RyaW5nTGlzdC5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTMxOTU1LDYgKzMxOTg4LDkgQEAKIAkJCQkwRjQ5NjZBQzFE
QjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludEluaXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEY0OTY2QUUxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlFMTcyQUY4RjE4MTFCQzM3MDBGQkFEQjkgLyogSlNET01Qcm9taXNlRGVm
ZXJyZWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZGM0I5MjgxRUUzQjZERTAwQjg0MTQ0IC8q
IEpTRE9NUXVhZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjk0QTM5NjFFRjFCMTA1MDBGQkFG
RkIgLyogSlNET01RdWFkQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjNCOTJBMUVF
M0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
NDcxMEJCMURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEY0NzEwQkQxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdEluaXQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDY2REM2QUMxRURFMDIxRDAwNzQ2MjI0IC8qIEpTRE9NUmVjdExpc3QuY3Bw
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVF1YWRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01RdWFk
Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDYzNjI1N2ZjNjNiMmI5ZmVjNzFlNDY5Zjk1Y2YzZjUz
ZTg4MzY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01RdWFkQ3VzdG9tLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTRE9NUXVhZC5oIgorCisjaW5jbHVkZSAiRE9NUG9pbnQu
aCIKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIEpTRE9NUXVhZDo6dmlzaXRBZGRpdGlvbmFsQ2hp
bGRyZW4oU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgdmlzaXRvci5hZGRPcGFxdWVSb290
KHdyYXBwZWQoKS5wMSgpLmdldCgpKTsKKyAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qod3JhcHBl
ZCgpLnAyKCkuZ2V0KCkpOworICAgIHZpc2l0b3IuYWRkT3BhcXVlUm9vdCh3cmFwcGVkKCkucDMo
KS5nZXQoKSk7CisgICAgdmlzaXRvci5hZGRPcGFxdWVSb290KHdyYXBwZWQoKS5wNCgpLmdldCgp
KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaAppbmRleCBiN2NhZGI5OWExZTc0Y2FiMzMxNTNi
ZjI5MTllZTk0OTBhYjRiZDRlLi5jYWY0M2MzOWI1YTRhZjM3ZDVhZDNmNzZmMDU5MThkODUxMmZi
NGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBET01Qb2ludCBmaW5hbCA6IHB1YmxpYyBET01Qb2ludFJlYWRPbmx5IHsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPERP
TVBvaW50PiBjcmVhdGUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeiwgZG91YmxlIHcpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NUG9pbnQoeCwgeSwgeiwgdykpOyB9CisgICAgc3RhdGlj
IFJlZjxET01Qb2ludD4gY3JlYXRlKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHogPSAwLCBk
b3VibGUgdyA9IDEpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NUG9pbnQoeCwgeSwgeiwgdykp
OyB9CiAgICAgc3RhdGljIFJlZjxET01Qb2ludD4gY3JlYXRlKGNvbnN0IERPTVBvaW50SW5pdCYg
aW5pdCkgeyByZXR1cm4gY3JlYXRlKGluaXQueCwgaW5pdC55LCBpbml0LnosIGluaXQudyk7IH0K
ICAgICBzdGF0aWMgUmVmPERPTVBvaW50PiBmcm9tUG9pbnQoY29uc3QgRE9NUG9pbnRJbml0JiBp
bml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0LnksIGluaXQueiwgaW5pdC53KTsgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NUXVhZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGNmMGE0ZjBkMThhNjcyOTMzM2RkNDlh
MDkyNTI2Mzk1MGE3NTRhNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01RdWFkLmNwcApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkRPTVF1YWQuaCIKKworI2luY2x1ZGUgIkRPTVBvaW50LmgiCisjaW5j
bHVkZSAiRE9NUmVjdC5oIgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisKK3VzaW5nIG5h
bWVzcGFjZSBXVEY7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRE9NUXVhZDo6RE9NUXVhZChj
b25zdCBET01Qb2ludEluaXQmIHAxLCBjb25zdCBET01Qb2ludEluaXQmIHAyLCBjb25zdCBET01Q
b2ludEluaXQmIHAzLCBjb25zdCBET01Qb2ludEluaXQmIHA0KQorICAgIDogbV9wMShET01Qb2lu
dDo6Y3JlYXRlKHAxKSkKKyAgICAsIG1fcDIoRE9NUG9pbnQ6OmNyZWF0ZShwMikpCisgICAgLCBt
X3AzKERPTVBvaW50OjpjcmVhdGUocDMpKQorICAgICwgbV9wNChET01Qb2ludDo6Y3JlYXRlKHA0
KSkKK3sKK30KKworLy8gIHAxLS0tLS0tcDIKKy8vICB8ICAgICAgIHwKKy8vICB8ICAgICAgIHwK
Ky8vICBwNC0tLS0tLXAzCitET01RdWFkOjpET01RdWFkKGNvbnN0IERPTVJlY3RJbml0JiByKQor
ICAgIDogbV9wMShET01Qb2ludDo6Y3JlYXRlKHIueCwgci55KSkKKyAgICAsIG1fcDIoRE9NUG9p
bnQ6OmNyZWF0ZShyLnggKyByLndpZHRoLCByLnkpKQorICAgICwgbV9wMyhET01Qb2ludDo6Y3Jl
YXRlKHIueCArIHIud2lkdGgsIHIueSArIHIuaGVpZ2h0KSkKKyAgICAsIG1fcDQoRE9NUG9pbnQ6
OmNyZWF0ZShyLngsIHIueSArIHIuaGVpZ2h0KSkKK3sKK30KKworUmVmUHRyPERPTVJlY3Q+IERP
TVF1YWQ6OmdldEJvdW5kcygpIGNvbnN0Cit7CisgICAgZG91YmxlIGxlZnQgPSBuYW5Qcm9wYWdh
dGluZ01pbihuYW5Qcm9wYWdhdGluZ01pbihuYW5Qcm9wYWdhdGluZ01pbihtX3AxLT54KCksIG1f
cDItPngoKSksIG1fcDMtPngoKSksIG1fcDQtPngoKSk7CisgICAgZG91YmxlIHRvcCA9IG5hblBy
b3BhZ2F0aW5nTWluKG5hblByb3BhZ2F0aW5nTWluKG5hblByb3BhZ2F0aW5nTWluKG1fcDEtPnko
KSwgbV9wMi0+eSgpKSwgbV9wMy0+eSgpKSwgbV9wNC0+eSgpKTsKKyAgICBkb3VibGUgcmlnaHQg
PSBuYW5Qcm9wYWdhdGluZ01heChuYW5Qcm9wYWdhdGluZ01heChuYW5Qcm9wYWdhdGluZ01heCht
X3AxLT54KCksIG1fcDItPngoKSksIG1fcDMtPngoKSksIG1fcDQtPngoKSk7CisgICAgZG91Ymxl
IGJvdHRvbSA9IG5hblByb3BhZ2F0aW5nTWF4KG5hblByb3BhZ2F0aW5nTWF4KG5hblByb3BhZ2F0
aW5nTWF4KG1fcDEtPnkoKSwgbV9wMi0+eSgpKSwgbV9wMy0+eSgpKSwgbV9wNC0+eSgpKTsKKwor
ICAgIHJldHVybiBET01SZWN0OjpjcmVhdGUobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRv
bSAtIHRvcCk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFk
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwY2RlZmIwODVi
MDgyMTdiYmYxYWE2MjIzMjNmMDljMDhkNGVjODMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRE9NUXVhZC5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgIkRPTVF1YWRJbml0LmgiCisjaW5jbHVkZSAiU2NyaXB0V3Jh
cHBhYmxlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NUG9pbnQ7CitjbGFzcyBET01S
ZWN0Oworc3RydWN0IERPTVBvaW50SW5pdDsKK3N0cnVjdCBET01SZWN0SW5pdDsKKworY2xhc3Mg
RE9NUXVhZCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPERPTVF1
YWQ+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPERPTVF1YWQ+IGNyZWF0ZShjb25zdCBET01Q
b2ludEluaXQmIHAxLCBjb25zdCBET01Qb2ludEluaXQmIHAyLCBjb25zdCBET01Qb2ludEluaXQm
IHAzLCBjb25zdCBET01Qb2ludEluaXQmIHA0KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTVF1
YWQocDEsIHAyLCBwMywgcDQpKTsgfQorICAgIHN0YXRpYyBSZWY8RE9NUXVhZD4gZnJvbVJlY3Qo
Y29uc3QgRE9NUmVjdEluaXQmIGluaXQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NUXVhZChp
bml0KSk7IH0KKyAgICBzdGF0aWMgUmVmPERPTVF1YWQ+IGZyb21RdWFkKGNvbnN0IERPTVF1YWRJ
bml0JiBpbml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC5wMSwgaW5pdC5wMiwgaW5pdC5wMywgaW5p
dC5wNCk7IH0KKworICAgIFJlZlB0cjxET01Qb2ludD4gcDEoKSBjb25zdCB7IHJldHVybiBtX3Ax
OyB9CisgICAgUmVmUHRyPERPTVBvaW50PiBwMigpIGNvbnN0IHsgcmV0dXJuIG1fcDI7IH0KKyAg
ICBSZWZQdHI8RE9NUG9pbnQ+IHAzKCkgY29uc3QgeyByZXR1cm4gbV9wMzsgfQorICAgIFJlZlB0
cjxET01Qb2ludD4gcDQoKSBjb25zdCB7IHJldHVybiBtX3A0OyB9CisKKyAgICBSZWZQdHI8RE9N
UmVjdD4gZ2V0Qm91bmRzKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgRE9NUXVhZChjb25zdCBE
T01Qb2ludEluaXQmLCBjb25zdCBET01Qb2ludEluaXQmLCBjb25zdCBET01Qb2ludEluaXQmLCBj
b25zdCBET01Qb2ludEluaXQmKTsKKyAgICBleHBsaWNpdCBET01RdWFkKGNvbnN0IERPTVJlY3RJ
bml0Jik7CisgICAgCisgICAgUmVmUHRyPERPTVBvaW50PiBtX3AxOworICAgIFJlZlB0cjxET01Q
b2ludD4gbV9wMjsKKyAgICBSZWZQdHI8RE9NUG9pbnQ+IG1fcDM7CisgICAgUmVmUHRyPERPTVBv
aW50PiBtX3A0OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1
YWQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmMjk2
MmQ5Y2I1MTUzYzNlM2ZhYWE5NmEzOGQyYmU2NTZkZDhmYjIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKy8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dlb21ldHJ5LyNkaWN0ZGVmLWRvbXF1YWRp
bml0CisKK1sKKyAgICBDb25zdHJ1Y3RvcihvcHRpb25hbCBET01Qb2ludEluaXQgcDEsIG9wdGlv
bmFsIERPTVBvaW50SW5pdCBwMiwgb3B0aW9uYWwgRE9NUG9pbnRJbml0IHAzLCBvcHRpb25hbCBE
T01Qb2ludEluaXQgcDQpLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAorICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24KK10KK2ludGVy
ZmFjZSBET01RdWFkIHsKKyAgICBbTmV3T2JqZWN0XSBzdGF0aWMgRE9NUXVhZCBmcm9tUmVjdChv
cHRpb25hbCBET01SZWN0SW5pdCBvdGhlcik7CisgICAgW05ld09iamVjdF0gc3RhdGljIERPTVF1
YWQgZnJvbVF1YWQob3B0aW9uYWwgRE9NUXVhZEluaXQgb3RoZXIpOworCisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVBvaW50IHAxOyAvLyBGSVhNRTogU2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4K
KyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQgcDI7IC8vIEZJWE1FOiBTaG91bGQgYmUg
W1NhbWVPYmplY3RdLgorICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBwMzsgLy8gRklY
TUU6IFNob3VsZCBiZSBbU2FtZU9iamVjdF0uCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVBv
aW50IHA0OyAvLyBGSVhNRTogU2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4KKyAgICBbTmV3T2JqZWN0
XSBET01SZWN0IGdldEJvdW5kcygpOworCisgICAgLy8gc2VyaWFsaXplciA9IHsgYXR0cmlidXRl
IH07IEZJWE1FOiBpbXBsZW1lbnQuCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RPTVF1YWRJbml0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mOGE5ZjdjYTcyNzRmOGYwZjk1N2Q0ZmFlMzc5YTZhMmIyZjM3NWFhCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0LmgKQEAgLTAsMCArMSwzOSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRE9NUG9pbnRJbml0Lmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IERPTVF1YWRJbml0IHsKKyAgICBET01Q
b2ludEluaXQgcDE7CisgICAgRE9NUG9pbnRJbml0IHAyOworICAgIERPTVBvaW50SW5pdCBwMzsK
KyAgICBET01Qb2ludEluaXQgcDQ7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRE9NUXVhZEluaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0Lmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hYTQyNDk4MWExY2U1NmVjZGY3N2Q1OGI3YzViNTA1YzI4ZmRlMWUxCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0LmlkbApAQCAt
MCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZ2Vv
bWV0cnkvI2RpY3RkZWYtZG9tcXVhZGluaXQKKworZGljdGlvbmFyeSBET01RdWFkSW5pdCB7Cisg
ICAgRE9NUG9pbnRJbml0IHAxOworICAgIERPTVBvaW50SW5pdCBwMjsKKyAgICBET01Qb2ludElu
aXQgcDM7CisgICAgRE9NUG9pbnRJbml0IHA0OworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmOWI3MzcyNzcwNmY0NDRk
MjMwMTk3YjFkZTgwNzllYjk4ZmY5YzE4Li4xYzk2YjA2ZDJjNGIxNDMwYTFjMjI3YjkzMGY0MTY5
ZjQ2NzQ4ZDQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDYtMTcgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IERPTVF1YWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzUzNAor
CisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisgICAgICAgIAorICAgICAgICBJbXBs
ZW1lbnQgRE9NUXVhZCBwZXIgaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZ2VvbWV0cnkvI0RPTVF1
YWQuCisKKyAgICAgICAgKiBqcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWRl
ZGljYXRlZC13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9qcy9k
b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoKKwogMjAxNy0w
Ni0xNyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2gg
ZHVlIHRvIGluZmluaXRlIHJlY3Vyc2lvbiB2aWEgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFwcGVh
cmFuY2VBZnRlckxheW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZDU5YmJm
NDdkNzk2YmFkOTc0NzVkNjBhNTRiZTBkYzAyMGM0NDgzZi4uY2YwM2MyOTlhZGE5M2Q4MTIwNzE3
ODA0MWY2YzM2MGRmYTViN2FkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTctMDYtMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IERPTVF1YWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzUzNAorCisgICAgICAgIFJldmlld2VkIGJ5
IFNhbSBXZWluaWcuCisKKyAgICAgICAgSW1wbGVtZW50IERPTVF1YWQgcGVyIGh0dHBzOi8vZHJh
ZnRzLmZ4dGYub3JnL2dlb21ldHJ5LyNET01RdWFkLgorCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAxLWV4cGVjdGVkLnR4dDogVGVzdHMgYWdh
aW5zdCBhbiBvbGRlciB2ZXJzaW9uCisgICAgICAgIG9mIHRoZSBzcGVjLCBzbyBzb21lIGZhaWx1
cmVzLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01RdWFk
LTAwMi1leHBlY3RlZC50eHQ6IEFsbCB0ZXN0cyBwYXNzIG90aGVyIHRoYW4gYSBOYU4KKyAgICAg
ICAgcHJvcGFnYXRpb24gaXNzdWUgd2hpY2ggbmVlZHMgc3BlYyBjbGFyaWZpY2F0aW9uLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9zdHJ1Y3R1cmVkLXNlcmlh
bGl6YXRpb24tZXhwZWN0ZWQudHh0OgorCiAyMDE3LTA2LTE3ICBSeW9zdWtlIE5pd2EgIDxybml3
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIwOTQ5NSk6IG1hdGVyaWF1eGxh
dmVyZHVyZS5jb20gZmFpbHMgdG8gbG9hZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01RdWFkLTAwMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAxLWV4cGVjdGVkLnR4dAppbmRleCA5MjQzZmQ5MjM1MzIz
ZmVkNzIzYTcwNThiMWMxOWM1NjcxNDRkYjE4Li5jOTM5NDFmNWQ4N2RkNGE3NzYyOThjNmNjNzMy
MTRjYmMxOWE1NWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAxLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRy
eS0xL0RPTVF1YWQtMDAxLWV4cGVjdGVkLnR4dApAQCAtMSw0MSArMSw0MSBAQAogVGVzdCBET01R
dWFkIGludGVyZmFjZQogCiAKLUZBSUwgdGVzdENvbnN0cnVjdG9yMDogcG9pbnRzIENhbid0IGZp
bmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMDogYm91bmRzIENhbid0
IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMSBhc3NlcnRfdGhy
b3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVhZCgxKTsgfSIgdGhyZXcgb2Jq
ZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZl
cmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1G
QUlMIHRlc3RDb25zdHJ1Y3RvcjIgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsgbmV3IERPTVF1YWQoMSwgMik7IH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBv
YmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCB0ZXN0Q29uc3RydWN0b3IzIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IG5ldyBET01RdWFkKDEsIDIsIDMp
OyB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBE
T01RdWFkIiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgi
VHlwZUVycm9yIikKLUZBSUwgdGVzdENvbnN0cnVjdG9yNCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlv
biAiZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVhZCgxLCAyLCAzLCA0KTsgfSIgdGhyZXcgb2JqZWN0
ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZlcmVu
Y2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlM
IHRlc3RDb25zdHJ1Y3RvcjU6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1G
QUlMIHRlc3RDb25zdHJ1Y3RvcjU6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFk
Ci1GQUlMIHRlc3RDb25zdHJ1Y3RvcjY6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01R
dWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjY6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBE
T01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjc6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjc6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjg6IHBvaW50cyBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjg6IGJvdW5kcyBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjk6IHBvaW50cyBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjk6IGJvdW5kcyBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjEwOiBwb2ludHMg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxMDogYm91
bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMTE6
IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rv
cjExOiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3Ry
dWN0b3IxMjogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENv
bnN0cnVjdG9yMTI6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRl
c3RDb25zdHJ1Y3RvcjEzOiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJ
TCB0ZXN0Q29uc3RydWN0b3IxMzogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQK
LUZBSUwgdGVzdENvbnN0cnVjdG9yMTQ6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01R
dWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjE0OiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTog
RE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxNSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAi
ZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVhZCh7fSwge30sIHt9LCBOYU4pOyB9IiB0aHJldyBvYmpl
Y3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVy
ZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZB
SUwgdGVzdENvbnN0cnVjdG9yMTY6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFk
Ci1GQUlMIHRlc3RDb25zdHJ1Y3RvcjE2OiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9N
UXVhZAotRkFJTCBwMVRvcDRBdHRyaWJ1dGVzMDogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6
IERPTVF1YWQKLUZBSUwgcDFUb3A0QXR0cmlidXRlczA6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBET01RdWFkCi1GQUlMIHAxVG9wNEF0dHJpYnV0ZXMxOiBwb2ludHMgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogRE9NUXVhZAotRkFJTCBwMVRvcDRBdHRyaWJ1dGVzMTogYm91bmRzIENhbid0IGZp
bmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgYm91bmRzQXR0cmlidXRlMDogcG9pbnRzIENhbid0
IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgYm91bmRzQXR0cmlidXRlMDogYm91bmRzIENh
bid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgYm91bmRzQXR0cmlidXRlMTogcG9pbnRz
IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgYm91bmRzQXR0cmlidXRlMTogYm91
bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKK1BBU1MgdGVzdENvbnN0cnVjdG9yMDog
cG9pbnRzIAorRkFJTCB0ZXN0Q29uc3RydWN0b3IwOiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3Ix
IAorUEFTUyB0ZXN0Q29uc3RydWN0b3IyIAorUEFTUyB0ZXN0Q29uc3RydWN0b3IzIAorUEFTUyB0
ZXN0Q29uc3RydWN0b3I0IAorRkFJTCB0ZXN0Q29uc3RydWN0b3I1OiBwb2ludHMgYXNzZXJ0X2Vx
dWFsczogRXhwZWN0ZWQgdmFsdWUgZm9yIHAyLnggaXMgMTEwIGV4cGVjdGVkIDExMCBidXQgZ290
IDAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yNTogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK0ZBSUwgdGVzdENvbnN0cnVjdG9yNjogcG9p
bnRzIGFzc2VydF9lcXVhbHM6IEV4cGVjdGVkIHZhbHVlIGZvciBwMi54IGlzIC05MCBleHBlY3Rl
ZCAtOTAgYnV0IGdvdCAwCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjY6IGJvdW5kcyB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitGQUlMIHRlc3RDb25z
dHJ1Y3Rvcjc6IHBvaW50cyBhc3NlcnRfZXF1YWxzOiBFeHBlY3RlZCB2YWx1ZSBmb3IgcDIueCBp
cyBOYU4gZXhwZWN0ZWQgTmFOIGJ1dCBnb3QgMAorRkFJTCB0ZXN0Q29uc3RydWN0b3I3OiBib3Vu
ZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQor
UEFTUyB0ZXN0Q29uc3RydWN0b3I4OiBwb2ludHMgCitGQUlMIHRlc3RDb25zdHJ1Y3Rvcjg6IGJv
dW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcp
CitQQVNTIHRlc3RDb25zdHJ1Y3Rvcjk6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yOTog
Ym91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54
JykKK1BBU1MgdGVzdENvbnN0cnVjdG9yMTA6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9y
MTA6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3Vu
ZHMueCcpCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjExOiBwb2ludHMgCitGQUlMIHRlc3RDb25zdHJ1
Y3RvcjExOiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3Eu
Ym91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3IxMjogcG9pbnRzIAorRkFJTCB0ZXN0Q29u
c3RydWN0b3IxMjogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICdxLmJvdW5kcy54JykKK1BBU1MgdGVzdENvbnN0cnVjdG9yMTM6IHBvaW50cyAKK0ZBSUwgdGVz
dENvbnN0cnVjdG9yMTM6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAncS5ib3VuZHMueCcpCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjE0OiBwb2ludHMgCitGQUlM
IHRlc3RDb25zdHJ1Y3RvcjE0OiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3IxNSAKK1BBU1MgdGVz
dENvbnN0cnVjdG9yMTY6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yMTY6IGJvdW5kcyB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQQVNT
IHAxVG9wNEF0dHJpYnV0ZXMwOiBwb2ludHMgCitGQUlMIHAxVG9wNEF0dHJpYnV0ZXMwOiBib3Vu
ZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQor
UEFTUyBwMVRvcDRBdHRyaWJ1dGVzMTogcG9pbnRzIAorRkFJTCBwMVRvcDRBdHRyaWJ1dGVzMTog
Ym91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54
JykKK1BBU1MgYm91bmRzQXR0cmlidXRlMDogcG9pbnRzIAorRkFJTCBib3VuZHNBdHRyaWJ1dGUw
OiBib3VuZHMgYXNzZXJ0X2VxdWFsczogRXhwZWN0ZWQgdmFsdWUgZm9yIGJvdW5kcy54IGlzIDAg
ZXhwZWN0ZWQgMCBidXQgZ290IDEwCitGQUlMIGJvdW5kc0F0dHJpYnV0ZTE6IHBvaW50cyB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCA9IDEwJykKK0ZB
SUwgYm91bmRzQXR0cmlidXRlMTogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICdxLmJvdW5kcy54ID0gMTAnKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2dlb21ldHJ5LTEvRE9NUXVhZC0wMDItZXhwZWN0ZWQudHh0CmluZGV4IGUwZDdhN2Jj
NmVmZWYxZjE0Mzk5OTY2OGJlYzgyYjYwNDlmMmQzZjYuLjg4ZTM2ZDRkOTBjYjAyNjQ5ZjAyOTI3
MGRkYzJmZDA4OWM1NWJmMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvRE9NUXVhZC0wMDItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dl
b21ldHJ5LTEvRE9NUXVhZC0wMDItZXhwZWN0ZWQudHh0CkBAIC0xLDIxICsxLDIxIEBACiBUZXN0
IERPTVF1YWQgaW50ZXJmYWNlCiAKIAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIG5vIGFyZ3MgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggb25l
IGluaXQgRE9NUG9pbnQgYXJnIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVz
dCBDb25zdHJ1Y3RvciB3aXRoIHR3byBpbml0IERPTVBvaW50IGFyZ3MgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggdGhyZWUgaW5pdCBET01Q
b2ludCBhcmdzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1
Y3RvciB3aXRoIGZvdXIgaW5pdCBET01Qb2ludCBhcmdzIENhbid0IGZpbmQgdmFyaWFibGU6IERP
TVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIG9uZSBET01Qb2ludCBhcmcgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggdHdvIERP
TVBvaW50IGFyZ3MgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0
cnVjdG9yIHdpdGggdGhyZWUgRE9NUG9pbnQgYXJncyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01R
dWFkCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBmb3VyIERPTVBvaW50IGFyZ3MgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggaW52YWls
ZCBpbnRlZ2VyIGFyZ3MgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgbmV3
IERPTVF1YWQoMSwgMiwgMywgNCk7IH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBv
YmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdp
dGggaW52YWlsZCBzdHJpbmcgYXJncyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeyBuZXcgRE9NUXVhZCgiMSIsICIyIiwgIjMiLCAiNCIpOyB9IiB0aHJldyBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVyZW5jZUVy
cm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgdGVz
dCBDb25zdHJ1Y3RvciB3aXRoIE5hTiBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeyBuZXcgRE9NUXVhZCh7fSwge30sIHt9LCBOYU4pOyB9IiB0aHJldyBvYmplY3QgIlJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVyZW5jZUVycm9y
IikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgdGVzdCBm
cm9tUmVjdCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgZnJvbVJlY3Qg
d2l0aCBJbmZpbml0eSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgZnJv
bVF1YWQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IHAxLCBwMiwgcDMs
IHA0IGFyZSByZWFkb25seSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3Qg
Z2V0Qm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKK1BBU1MgdGVzdCBDb25zdHJ1
Y3RvciBubyBhcmdzIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggb25lIGluaXQgRE9NUG9p
bnQgYXJnIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggdHdvIGluaXQgRE9NUG9pbnQgYXJn
cyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIHRocmVlIGluaXQgRE9NUG9pbnQgYXJncyAK
K1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGZvdXIgaW5pdCBET01Qb2ludCBhcmdzIAorUEFT
UyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggb25lIERPTVBvaW50IGFyZyAKK1BBU1MgdGVzdCBDb25z
dHJ1Y3RvciB3aXRoIHR3byBET01Qb2ludCBhcmdzIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdp
dGggdGhyZWUgRE9NUG9pbnQgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGZvdXIg
RE9NUG9pbnQgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGludmFpbGQgaW50ZWdl
ciBhcmdzIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggaW52YWlsZCBzdHJpbmcgYXJncyAK
K1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIE5hTiAKK1BBU1MgdGVzdCBmcm9tUmVjdCAKK1BB
U1MgdGVzdCBmcm9tUmVjdCB3aXRoIEluZmluaXR5IAorUEFTUyB0ZXN0IGZyb21RdWFkIAorUEFT
UyB0ZXN0IHAxLCBwMiwgcDMsIHA0IGFyZSByZWFkb25seSAKK1BBU1MgdGVzdCBnZXRCb3VuZHMg
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2dlb21ldHJ5LTEvc3RydWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5
LTEvc3RydWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBmODUyZTBkOTVh
NzEyZmM1MTNkZTMzNTJlZTQ0ZmZiNGY3ZTI3YWMyLi44YjBhM2RkNWFhMWE0NGY4ZDc1MGMxYzA0
YTQ0YzA1ODE0ZTgyMzRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2VyaWFsaXphdGlvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvZ2VvbWV0cnktMS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0
CkBAIC0xNSwxMCArMTUsMTAgQEAgRkFJTCBET01SZWN0IGNsb25lOiBiYXNpYyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICIKIEZBSUwgRE9NUmVj
dCBjbG9uZTogY3VzdG9tIHByb3BlcnR5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTog
VGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCiBGQUlMIERPTVJlY3QgY2xvbmU6IHRocm93
aW5nIGdldHRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNh
biBub3QgYmUgY2xvbmVkLiIKIEZBSUwgRE9NUmVjdCBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRh
dGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNs
b25lZC4iCi1GQUlMIERPTVF1YWQgY2xvbmU6IGJhc2ljIHVuZGVmaW5lZCBpcyBub3QgYSBjb25z
dHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IHNlbGZbY29uc3RyXSgpJykKLUZBSUwgRE9NUXVhZCBj
bG9uZTogY3VzdG9tIHByb3BlcnR5IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZh
bHVhdGluZyAnbmV3IHNlbGZbY29uc3RyXSgpJykKLUZBSUwgRE9NUXVhZCBjbG9uZTogdGhyb3dp
bmcgZ2V0dGVycyB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25l
dyBzZWxmW2NvbnN0cl0oKScpCi1GQUlMIERPTVF1YWQgY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVl
cyB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBzZWxmW2Nv
bnN0cl0nKQorRkFJTCBET01RdWFkIGNsb25lOiBiYXNpYyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2Vw
dGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgorRkFJTCBET01RdWFkIGNs
b25lOiBjdXN0b20gcHJvcGVydHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUg
b2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKK0ZBSUwgRE9NUXVhZCBjbG9uZTogdGhyb3dpbmcg
Z2V0dGVycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5v
dCBiZSBjbG9uZWQuIgorRkFJTCBET01RdWFkIGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNs
b25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVk
LiIKIEZBSUwgRE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IGJhc2ljIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00g
RXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCiBGQUlMIERPTU1h
dHJpeFJlYWRPbmx5IGNsb25lOiBjdXN0b20gcHJvcGVydHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNl
cHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKIEZBSUwgRE9NTWF0cml4
UmVhZE9ubHkgY2xvbmU6IHRocm93aW5nIGdldHRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRp
b24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZGVkaWNhdGVkLXdv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9y
cy1hdHRyaWJ1dGVzLWRlZGljYXRlZC13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGNhODFhMzk3
MGVmYTIwMjcwZjMzZDM3NWM4YzAwNzhlMjRkYTZhMTcuLjNhNmFjMDdmNGEyYWQ5ZjMxOTg5NWVm
YWU4YTllZDhmY2NjMzFjZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2RvbS9nbG9iYWwt
Y29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZGVkaWNhdGVkLXdvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1kZWRp
Y2F0ZWQtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtNTksNiArNTksMTEgQEAgUEFTUyBbV29ya2Vy
XSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9u
bHknKS5oYXNPd24KIFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5JykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZh
bHNlCiBQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFs
LCAnRE9NUG9pbnRSZWFkT25seScpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgW1dvcmtlcl0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5
JykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykudmFsdWUgaXMgRE9NUXVhZAorUEFTUyBb
V29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQn
KS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgW1dvcmtlcl0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykuaGFzT3duUHJvcGVydHko
J3NldCcpIGlzIGZhbHNlCitQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmVudW1lcmFibGUgaXMgZmFsc2UKK1BBU1MgW1dvcmtl
cl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykuY29u
ZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdET01SZWN0JykudmFsdWUgaXMgRE9NUmVjdAogUEFTUyBbV29ya2Vy
XSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS5oYXNP
d25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKIFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykuaGFzT3duUHJvcGVydHkoJ3NldCcp
IGlzIGZhbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvanMvZG9tL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3Rl
ZC50eHQKaW5kZXggZjM4NmIxOGEyMjU3NGQ2NmU3MGZhMjM1YzM0MDI0YTk1M2JiMzA3NS4uNjE1
M2I4YWRmMThiMDNlZDg2YmYyMDc3MDUwNjQ4OWZhYmViZGIxMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xvYmFs
LWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMzUzLDYgKzM1MywxMSBA
QCBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRS
ZWFkT25seScpLmhhc093blByb3BlcnR5KAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5oYXNPd25Qcm9wZXJ0eSgnc2V0Jykg
aXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdE
T01Qb2ludFJlYWRPbmx5JykuZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5jb25maWd1cmFi
bGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J0RPTVF1YWQnKS52YWx1ZSBpcyBET01RdWFkCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxz
ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQn
KS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5jb25m
aWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ0RPTVJlY3QnKS52YWx1ZSBpcyBET01SZWN0CiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVjdCcpLmhhc093blByb3BlcnR5KCdnZXQnKSBp
cyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RP
TVJlY3QnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313206</attachid>
            <date>2017-06-17 12:45:39 -0700</date>
            <delta_ts>2017-06-17 13:06:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163534-20170617124538.patch</filename>
            <type>text/plain</type>
            <size>47872</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTcyMjE0ZmEyOWVkMWM5
MjY4NmEzMzY2Y2Q1NzRiNzYwODJlM2Y3MC4uMDk4MzMyZDIxZDUxYTZhZTQ3M2U0NTczOWI5N2Fk
NTVjNzE2NmJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTA2LTE3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBE
T01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIEltcGxl
bWVudCBET01RdWFkIHBlciBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jRE9NUXVh
ZCwgb3RoZXIgdGhhbiBzZXJpYWxpemF0aW9uCisgICAgICAgIHdoaWNoIHJlcXVpcmVzIHNvbWUg
YmluZGluZ3MgY2hhbmdlcy4KKworICAgICAgICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21l
dHJ5LTEvRE9NUmVjdC0wMDEuaHRtbCB0ZXN0cyBhZ2FpbnN0IGFuIG9sZGVyIHZlcnNpb24gb2Yg
dGhlIHNwZWMsCisgICAgICAgIHNvIGhhcyBzb21lIGZhaWx1cmVzLiBET01RdWFkLTAwMi5odG1s
IHBhc3Nlcywgb3RoZXIgdGhhbiBhIE5hTiBwcm9wYWdhdGlvbiBpc3N1ZSB0aGF0IHJlcXVpcmVz
CisgICAgICAgIHNwZWMgY2xhcmlmaWNhdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NUXVhZEN1
c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01RdWFkOjpnZXRCb3VuZHMp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAg
KElzU2VyaWFsaXphYmxlRE9NVHlwZSk6CisgICAgICAgIChJc1NlcmlhbGl6YWJsZUF0dHJpYnV0
ZSk6CisgICAgICAgICogZG9tL0RPTVBvaW50Lmg6CisgICAgICAgICogZG9tL0RPTVF1YWQuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6OkRPTVF1YWQpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NUXVhZDo6Z2V0Qm91bmRzKToKKyAgICAgICAgKiBkb20vRE9NUXVhZC5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpET01RdWFkOjpmcm9tUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpmcm9t
UXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpwMSk6CisgICAgICAgIChXZWJDb3Jl
OjpET01RdWFkOjpwMik6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpwMyk6CisgICAgICAg
IChXZWJDb3JlOjpET01RdWFkOjpwNCk6CisgICAgICAgICogZG9tL0RPTVF1YWQuaWRsOiBBZGRl
ZC4KKyAgICAgICAgKiBkb20vRE9NUXVhZEluaXQuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RP
TVF1YWRJbml0LmlkbDogQWRkZWQuCisKIDIwMTctMDYtMTcgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGR1ZSB0byBpbmZpbml0ZSByZWN1cnNpb24g
dmlhIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlQWZ0ZXJMYXlvdXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggZTQ0ZTRkOWMwMjk3NmM0NjgwZWUzMjA0ZjhjYmYyYTFmNjc2NWI0ZS4u
MjE0MzUwOGRkNjViNzgyMmU4YzQwMzY2MjljOGI2ZjAxMzIwNTRhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTQyNCw2ICs0MjQsOCBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwog
ICAgIGRvbS9ET01Qb2ludC5pZGwKICAgICBkb20vRE9NUG9pbnRJbml0LmlkbAogICAgIGRvbS9E
T01Qb2ludFJlYWRPbmx5LmlkbAorICAgIGRvbS9ET01RdWFkLmlkbAorICAgIGRvbS9ET01RdWFk
SW5pdC5pZGwKICAgICBkb20vRE9NUmVjdC5pZGwKICAgICBkb20vRE9NUmVjdEluaXQuaWRsCiAg
ICAgZG9tL0RPTVJlY3RMaXN0LmlkbApAQCAtMTE2MCw2ICsxMTYyLDcgQEAgc2V0KFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yQmFzZS5jcHAK
ICAgICBiaW5kaW5ncy9qcy9KU0RPTUNvbnN0cnVjdG9yQmFzZS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU0RPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50LmNwcAorICAgIGJpbmRpbmdzL2pzL0pTRE9N
UXVhZEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0VGFzay5jcHAKQEAgLTE0NTUsNiArMTQ1OCw3IEBAIHNldChXZWJD
b3JlX1NPVVJDRVMKICAgICBkb20vRE9NSW1wbGVtZW50YXRpb24uY3BwCiAgICAgZG9tL0RPTU5h
bWVkRmxvd0NvbGxlY3Rpb24uY3BwCiAgICAgZG9tL0RPTVBvaW50UmVhZE9ubHkuY3BwCisgICAg
ZG9tL0RPTVF1YWQuY3BwCiAgICAgZG9tL0RPTVJlY3RMaXN0LmNwcAogICAgIGRvbS9ET01TdHJp
bmdMaXN0LmNwcAogICAgIGRvbS9EYXRhVHJhbnNmZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCBlY2I1ZjdjNGUxZmI2MWZmODI5YWYxMTZiNzZjMzkyNDk0OTJmYTU4Li5m
ZTMyYjQxNGRjNGQ5ZmRmNzNhNDk0Y2YxNmZiY2FiZjMyOTEzOWFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTM2NCw2ICszNjQsOCBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9kb20vRE9NUG9pbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01Q
b2ludEluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01Qb2ludFJlYWRPbmx5LmlkbCBc
CisgICAgJChXZWJDb3JlKS9kb20vRE9NUXVhZC5pZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0RP
TVF1YWRJbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUmVjdC5pZGwgXAogICAgICQo
V2ViQ29yZSkvZG9tL0RPTVJlY3RJbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUmVj
dExpc3QuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA4YjllNzRmNzQ3ZmM5OTU4MzlhMjAxNDMwNzE1ZDA5MzMxNzE5ZTUw
Li43ZWMzODYwYjBhNDUwZjEwZTJjNWFjMDIxZjMxMTllMWRiY2YwOGRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00OTIsNiAr
NDkyLDcgQEAKIAkJMEY4QjQ1NzIxREMzRkJBMzAwNDQzQzNGIC8qIEludGVyc2VjdGlvbk9ic2Vy
dmVyQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGOEI0NTcxMURDM0ZCQTMwMDQ0M0MzRiAvKiBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxi
YWNrLmggKi87IH07CiAJCTBGOEI0NTc1MURDNDFEQkEwMDQ0M0MzRiAvKiBKU0ludGVyc2VjdGlv
bk9ic2VydmVyQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY4QjQ1NzMxREM0MURCQTAwNDQzQzNGIC8qIEpTSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJDYWxsYmFjay5jcHAgKi87IH07CiAJCTBGOEI0NTc2MURDNDFEQkEwMDQ0M0MzRiAvKiBK
U0ludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOEI0NTc0MURDNDFEQkEwMDQ0M0MzRiAvKiBKU0ludGVy
c2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaCAqLzsgfTsKKwkJMEY5NEEzOTYxRUYxQjEwNTAwRkJB
RkZCIC8qIEpTRE9NUXVhZEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjk0QTM5NTFFRjFCMTA1MDBGQkFGRkIgLyogSlNET01RdWFkQ3Vz
dG9tLmNwcCAqLzsgfTsKIAkJMEY5N0E2NTgxNTVEQTgxRTAwRkFERDRDIC8qIERpc3BsYXlSZWZy
ZXNoTW9uaXRvcklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGOTdBNjU3MTU1REE4MUUwMEZBREQ0QyAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JJ
T1MubW0gKi87IH07CiAJCTBGQTI0RDc5MTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVy
VXBkYXRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkEyNEQ3NzE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuY3BwICov
OyB9OwogCQkwRkEyNEQ3QTE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc4
MTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC01NTgsMTEgKzU1OSwxOCBAQAog
CQkwRkVGMjBDRTFCRDRBMjQxMDAxMjhFNUQgLyogTGVuZ3RoU2l6ZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVGMjBDRDFCRDRBMjQxMDAxMjhF
NUQgLyogTGVuZ3RoU2l6ZS5jcHAgKi87IH07CiAJCTBGRUYyMEQwMUJENEE2NEYwMDEyOEU1RCAv
KiBSZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkVGMjBDRjFCRDRBNjRGMDAxMjhFNUQgLyogUmVuZGVyU3R5bGVD
b25zdGFudHMuY3BwICovOyB9OwogCQkwRkYyRTgwRDFFRTBENDMwMDA5RUFCRDQgLyogUGVyZm9y
bWFuY2VMb2dnaW5nQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dp
bmdDbGllbnQuY3BwICovOyB9OworCQkwRkYzQjkyODFFRTNCNkRFMDBCODQxNDQgLyogSlNET01R
dWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RjNCOTI0MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuY3BwICovOyB9OworCQkwRkYzQjky
OTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkYzQjkyNTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01R
dWFkLmggKi87IH07CisJCTBGRjNCOTJBMUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjNC
OTI2MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0LmNwcCAqLzsgfTsKKwkJMEZGM0I5
MkIxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjNCOTI3MUVFM0I2REUwMEI4NDE0NCAvKiBK
U0RPTVF1YWRJbml0LmggKi87IH07CiAJCTBGRjUwMjY5MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0
eWxlTWVkaWEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZGNTAyNjcxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5jcHAgKi87IH07CiAJ
CTBGRjUwMjZBMTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjUwMjY4MTAyQkE5NDMwMDY2RjM5
QSAvKiBKU1N0eWxlTWVkaWEuaCAqLzsgfTsKIAkJMEZGNTAyNzExMDJCQTk2QTAwNjZGMzlBIC8q
IFN0eWxlTWVkaWEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZGNTAyNkUxMDJCQTk2NjAwNjZGMzlBIC8qIFN0eWxlTWVkaWEuY3BwICovOyB9Owog
CQkwRkY1MDI3MjEwMkJBOTZBMDA2NkYzOUEgLyogU3R5bGVNZWRpYS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNTAyNkYxMDJCQTk2QTAwNjZGMzlB
IC8qIFN0eWxlTWVkaWEuaCAqLzsgfTsKIAkJMEZGODM1QjgxRUUzMjc0RjAwOEI0Q0M3IC8qIERP
TVBvaW50UmVhZE9ubHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZGODM1QjcxRUUzMjc0RjAwOEI0Q0M3IC8qIERPTVBvaW50UmVhZE9ubHkuY3Bw
ICovOyB9OworCQkwRkY4MzVDMjFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY4MzVCRDFFRTM1NERB
MDA4QjRDQzcgLyogRE9NUXVhZC5jcHAgKi87IH07CisJCTBGRjgzNUMzMUVFMzU0REEwMDhCNEND
NyAvKiBET01RdWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRkY4MzVCRTFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5oICovOyB9OworCQkwRkY4
MzVDNTFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjgzNUMwMUVFMzU0REEwMDhCNENDNyAvKiBE
T01RdWFkSW5pdC5oICovOyB9OwogCQkwRkZENEQ2MDE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkZENEQ1RTE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5jcHAgKi87IH07CiAJCTBGRkQ0RDYxMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkZENEQ1RjE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTEwRkIwODRCMTRFMTVDN0UwMEEzREI5OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxMEZCMDg0QTE0RTE1
QzdFMDBBM0RCOTggLyogUHVibGljVVJMTWFuYWdlci5oICovOyB9OwpAQCAtNzkzMiw2ICs3OTQw
LDcgQEAKIAkJMEY4QjQ1NzExREMzRkJBMzAwNDQzQzNGIC8qIEludGVyc2VjdGlvbk9ic2VydmVy
Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW50ZXJzZWN0aW9u
T2JzZXJ2ZXJDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjhCNDU3
MzFEQzQxREJBMDA0NDNDM0YgLyogSlNJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGOEI0NTc0MURD
NDFEQkEwMDQ0M0MzRiAvKiBKU0ludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTRBMzk1MUVGMUIxMDUwMEZCQUZG
QiAvKiBKU0RPTVF1YWRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNET01RdWFkQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEY5N0E2NTcxNTVEQTgxRTAwRkFERDRDIC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERpc3BsYXlSZWZyZXNoTW9u
aXRvcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZBMDg1MkIxRTZGQjU1
QTAwOTc1RkREIC8qIENTU1Byb3BlcnRpZXMuanNvbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuanNvbjsgcGF0aCA9IENTU1Byb3BlcnRpZXMu
anNvbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZBMjRENzcxNjJERjkxOTAwQTNG
NEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTgwMDAsMTIgKzgwMDksMjEgQEAKIAkJMEZFRjIwQ0QxQkQ0QTI0MTAwMTI4
RTVEIC8qIExlbmd0aFNpemUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTGVuZ3RoU2l6ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRUYyMENG
MUJENEE2NEYwMDEyOEU1RCAvKiBSZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTdHlsZUNvbnN0YW50cy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJm
b3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZGM0I5MjQxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVF1YWQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkYzQjkyNTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFk
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUXVhZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkYzQjkyNjFFRTNCNkRFMDBCODQxNDQgLyogSlNET01R
dWFkSW5pdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVF1
YWRJbml0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGM0I5MjcxRUUzQjZE
RTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNET01RdWFkSW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1
MDI2NzEwMkJBOTQzMDA2NkYzOUEgLyogSlNTdHlsZU1lZGlhLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3R5bGVNZWRpYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTBGRjUwMjY4MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTdHlsZU1lZGlhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjUwMjZFMTAyQkE5NjYwMDY2RjM5QSAvKiBTdHlsZU1l
ZGlhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlTWVkaWEu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1MDI2RjEwMkJBOTZBMDA2NkYz
OUEgLyogU3R5bGVNZWRpYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHls
ZU1lZGlhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjUwMjcwMTAyQkE5NkEw
MDY2RjM5QSAvKiBTdHlsZU1lZGlhLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdHlsZU1l
ZGlhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGODM1QjcxRUUzMjc0RjAw
OEI0Q0M3IC8qIERPTVBvaW50UmVhZE9ubHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRE9NUG9pbnRSZWFkT25seS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRjgzNUJEMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVF1YWQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRkY4MzVCRTFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01RdWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGRjgzNUJGMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBET01RdWFkLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZGODM1QzAxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVF1YWRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGRjgzNUMxMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkSW5pdC5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NUXVhZEluaXQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRkZENEQ1RTE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEZGRDRENUYxODY1MUZBMzAwNTEyRjZFIC8qIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxMEZCMDg0QTE0RTE1QzdFMDBBM0RC
OTggLyogUHVibGljVVJMTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQdWJsaWNVUkxNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjA5
OCw2ICsyMjExNiwxMCBAQAogCQkJCTBGNDk2NkE3MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBv
aW50SW5pdC5oICovLAogCQkJCTBGNDk2NkE4MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50
UmVhZE9ubHkuY3BwICovLAogCQkJCTBGNDk2NkE5MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBv
aW50UmVhZE9ubHkuaCAqLywKKwkJCQkwRkYzQjkyNDFFRTNCNkRFMDBCODQxNDQgLyogSlNET01R
dWFkLmNwcCAqLywKKwkJCQkwRkYzQjkyNTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkLmgg
Ki8sCisJCQkJMEZGM0I5MjYxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuY3BwICov
LAorCQkJCTBGRjNCOTI3MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0LmggKi8sCiAJ
CQkJMEY0NzEwQjUxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdC5jcHAgKi8sCiAJCQkJMEY0
NzEwQjYxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdC5oICovLAogCQkJCTBGNDcxMEI3MURC
NTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3RJbml0LmNwcCAqLywKQEAgLTIzNjY0LDYgKzIzNjg2
LDcgQEAKIAkJCQlERUMyOTc1RDFCNERFQjJBMDA1RjU5NDUgLyogSlNDdXN0b21FdmVudEN1c3Rv
bS5jcHAgKi8sCiAJCQkJNDlDN0JBOEMxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0
b20uY3BwICovLAogCQkJCUFEREE5NEJGMTk2ODZGODAwMDQ1MzAyOSAvKiBKU0RvY3VtZW50Q3Vz
dG9tLmggKi8sCisJCQkJMEY5NEEzOTUxRUYxQjEwNTAwRkJBRkZCIC8qIEpTRE9NUXVhZEN1c3Rv
bS5jcHAgKi8sCiAJCQkJQkNEOUMyNUUwQzE3QUE2NzAwNUM5MEEyIC8qIEpTRE9NV2luZG93Q3Vz
dG9tLmNwcCAqLywKIAkJCQk2NTJGQkJCQjBERTI3Q0I2MDAwMUQzODYgLyogSlNET01XaW5kb3dD
dXN0b20uaCAqLywKIAkJCQlDMjgwODM0MTFDNkRDOTZBMDAxNDUxQjYgLyogSlNGb250RmFjZUN1
c3RvbS5jcHAgKi8sCkBAIC0yNTc0MCw2ICsyNTc2MywxMSBAQAogCQkJCTBGRjgzNUI3MUVFMzI3
NEYwMDhCNENDNyAvKiBET01Qb2ludFJlYWRPbmx5LmNwcCAqLywKIAkJCQkwRjQ5NjY5QjFEQjQw
OEMxMDBBMjc0QkIgLyogRE9NUG9pbnRSZWFkT25seS5oICovLAogCQkJCTBGNDk2NjlDMURCNDA4
QzEwMEEyNzRCQiAvKiBET01Qb2ludFJlYWRPbmx5LmlkbCAqLywKKwkJCQkwRkY4MzVCRDFFRTM1
NERBMDA4QjRDQzcgLyogRE9NUXVhZC5jcHAgKi8sCisJCQkJMEZGODM1QkUxRUUzNTREQTAwOEI0
Q0M3IC8qIERPTVF1YWQuaCAqLywKKwkJCQkwRkY4MzVCRjFFRTM1NERBMDA4QjRDQzcgLyogRE9N
UXVhZC5pZGwgKi8sCisJCQkJMEZGODM1QzAxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0
LmggKi8sCisJCQkJMEZGODM1QzExRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0LmlkbCAq
LywKIAkJCQkwRjQ3MTBBOTFEQjU2QUZDMDAyRENFQzMgLyogRE9NUmVjdC5oICovLAogCQkJCTBG
NDcxMEFBMURCNTZBRkMwMDJEQ0VDMyAvKiBET01SZWN0LmlkbCAqLywKIAkJCQkwRjQ3MTBBQjFE
QjU2QUZDMDAyRENFQzMgLyogRE9NUmVjdEluaXQuaCAqLywKQEAgLTI3MjA3LDYgKzI3MjM1LDgg
QEAKIAkJCQkwRjQ5NjY5RDFEQjQwOEMxMDBBMjc0QkIgLyogRE9NUG9pbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNDk2NkEzMURCNDA5MTAwMEEyNzRCQiAvKiBET01Qb2ludEluaXQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGNDk2NjlGMURCNDA4QzEwMEEyNzRCQiAvKiBET01Qb2ludFJlYWRP
bmx5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkY4MzVDMzFFRTM1NERBMDA4QjRDQzcgLyogRE9N
UXVhZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGODM1QzUxRUUzNTREQTAwOEI0Q0M3IC8qIERP
TVF1YWRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ3MTBBRjFEQjU2QUZDMDAyRENFQzMg
LyogRE9NUmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0NzEwQjExREI1NkFGQzAwMkRDRUMz
IC8qIERPTVJlY3RJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NjgzNDRFMDFFRERGQUFBMDBC
Nzc5NUIgLyogRE9NUmVjdExpc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjc5ODIsNiArMjgwMTIs
OCBAQAogCQkJCTBGNDk2NkFGMURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHku
aCBpbiBIZWFkZXJzICovLAogCQkJCUUzN0M4NjUwMUVCNjNFM0YwMDg3QzZDQSAvKiBKU0RPTVBy
b21pc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNzJBRjkwMTgxMUJDMzcwMEZCQURCOSAvKiBK
U0RPTVByb21pc2VEZWZlcnJlZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGM0I5MjkxRUUzQjZE
RTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGM0I5MkIxRUUz
QjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDcx
MEJDMURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
NDcxMEJFMURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3RJbml0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk0NjZFRDhEMzFFREUwMTQ0MDA1RTQzRjYgLyogSlNET01SZWN0TGlzdC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMTIzMyw2ICszMTI2NSw3IEBACiAJCQkJQTlDNkU0RUIwRDc0NUUyQjAwNjQ0
MkU5IC8qIERPTVBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOUM2RTRFRjBENzQ1RTM4
MDA2NDQyRTkgLyogRE9NUGx1Z2luQXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGODM1
QjgxRUUzMjc0RjAwOEI0Q0M3IC8qIERPTVBvaW50UmVhZE9ubHkuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZGODM1QzIxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDY4MzQ0REYxRURERkFBQTAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDNUE4Njg0MEMzMzY3NjAwMEVFQTY0OSAvKiBET01TZWxlY3Rpb24u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzU1NjEwRjExMUE3MDRFQjAwQjgyRDI3IC8qIERPTVN0
cmluZ0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTk1NSw2ICszMTk4OCw5IEBACiAJCQkJ
MEY0OTY2QUMxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRJbml0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGNDk2NkFFMURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3MkFGOEYxODExQkMzNzAwRkJBREI5IC8qIEpTRE9N
UHJvbWlzZURlZmVycmVkLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjNCOTI4MUVFM0I2REUw
MEI4NDE0NCAvKiBKU0RPTVF1YWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5NEEzOTYxRUYx
QjEwNTAwRkJBRkZCIC8qIEpTRE9NUXVhZEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkw
RkYzQjkyQTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkSW5pdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjQ3MTBCQjFEQjU2QkU4MDAyRENFQzMgLyogSlNET01SZWN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGNDcxMEJEMURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3RJbml0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTQ2NkRDNkFDMUVERTAyMUQwMDc0NjIyNCAvKiBKU0RPTVJl
Y3RMaXN0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01RdWFkQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NUXVhZEN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ2MzYyNTdmYzYzYjJiOWZlYzcxZTQ2
OWY5NWNmM2Y1M2U4ODM2OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NUXVhZEN1c3RvbS5jcHAKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0RPTVF1YWQuaCIKKworI2luY2x1ZGUg
IkRPTVBvaW50LmgiCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisKK3VzaW5nIG5hbWVzcGFj
ZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBKU0RPTVF1YWQ6OnZpc2l0QWRk
aXRpb25hbENoaWxkcmVuKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIHZpc2l0b3IuYWRk
T3BhcXVlUm9vdCh3cmFwcGVkKCkucDEoKS5nZXQoKSk7CisgICAgdmlzaXRvci5hZGRPcGFxdWVS
b290KHdyYXBwZWQoKS5wMigpLmdldCgpKTsKKyAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qod3Jh
cHBlZCgpLnAzKCkuZ2V0KCkpOworICAgIHZpc2l0b3IuYWRkT3BhcXVlUm9vdCh3cmFwcGVkKCku
cDQoKS5nZXQoKSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Q
b2ludC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKaW5kZXggYjdjYWRiOTlhMWU3
NGNhYjMzMTUzYmYyOTE5ZWU5NDkwYWI0YmQ0ZS4uY2FmNDNjMzliNWE0YWYzN2Q1YWQzZjc2ZjA1
OTE4ZDg1MTJmYjRhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKQEAgLTM3LDcgKzM3LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRE9NUG9pbnQgZmluYWwgOiBwdWJsaWMgRE9NUG9pbnRS
ZWFkT25seSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFJlZjxET01Qb2ludD4gY3JlYXRlKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHosIGRv
dWJsZSB3KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTVBvaW50KHgsIHksIHosIHcpKTsgfQor
ICAgIHN0YXRpYyBSZWY8RE9NUG9pbnQ+IGNyZWF0ZShkb3VibGUgeCwgZG91YmxlIHksIGRvdWJs
ZSB6ID0gMCwgZG91YmxlIHcgPSAxKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTVBvaW50KHgs
IHksIHosIHcpKTsgfQogICAgIHN0YXRpYyBSZWY8RE9NUG9pbnQ+IGNyZWF0ZShjb25zdCBET01Q
b2ludEluaXQmIGluaXQpIHsgcmV0dXJuIGNyZWF0ZShpbml0LngsIGluaXQueSwgaW5pdC56LCBp
bml0LncpOyB9CiAgICAgc3RhdGljIFJlZjxET01Qb2ludD4gZnJvbVBvaW50KGNvbnN0IERPTVBv
aW50SW5pdCYgaW5pdCkgeyByZXR1cm4gY3JlYXRlKGluaXQueCwgaW5pdC55LCBpbml0LnosIGlu
aXQudyk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjZjBhNGYwZDE4YTY3
MjkzMzNkZDQ5YTA5MjUyNjM5NTBhNzU0YTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NUXVhZC5jcHAKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01RdWFkLmgiCisKKyNpbmNsdWRlICJET01Qb2lu
dC5oIgorI2luY2x1ZGUgIkRPTVJlY3QuaCIKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgor
Cit1c2luZyBuYW1lc3BhY2UgV1RGOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RPTVF1YWQ6
OkRPTVF1YWQoY29uc3QgRE9NUG9pbnRJbml0JiBwMSwgY29uc3QgRE9NUG9pbnRJbml0JiBwMiwg
Y29uc3QgRE9NUG9pbnRJbml0JiBwMywgY29uc3QgRE9NUG9pbnRJbml0JiBwNCkKKyAgICA6IG1f
cDEoRE9NUG9pbnQ6OmNyZWF0ZShwMSkpCisgICAgLCBtX3AyKERPTVBvaW50OjpjcmVhdGUocDIp
KQorICAgICwgbV9wMyhET01Qb2ludDo6Y3JlYXRlKHAzKSkKKyAgICAsIG1fcDQoRE9NUG9pbnQ6
OmNyZWF0ZShwNCkpCit7Cit9CisKKy8vICBwMS0tLS0tLXAyCisvLyAgfCAgICAgICB8CisvLyAg
fCAgICAgICB8CisvLyAgcDQtLS0tLS1wMworRE9NUXVhZDo6RE9NUXVhZChjb25zdCBET01SZWN0
SW5pdCYgcikKKyAgICA6IG1fcDEoRE9NUG9pbnQ6OmNyZWF0ZShyLngsIHIueSkpCisgICAgLCBt
X3AyKERPTVBvaW50OjpjcmVhdGUoci54ICsgci53aWR0aCwgci55KSkKKyAgICAsIG1fcDMoRE9N
UG9pbnQ6OmNyZWF0ZShyLnggKyByLndpZHRoLCByLnkgKyByLmhlaWdodCkpCisgICAgLCBtX3A0
KERPTVBvaW50OjpjcmVhdGUoci54LCByLnkgKyByLmhlaWdodCkpCit7Cit9CisKK1JlZlB0cjxE
T01SZWN0PiBET01RdWFkOjpnZXRCb3VuZHMoKSBjb25zdAoreworICAgIGRvdWJsZSBsZWZ0ID0g
bmFuUHJvcGFnYXRpbmdNaW4obmFuUHJvcGFnYXRpbmdNaW4obmFuUHJvcGFnYXRpbmdNaW4obV9w
MS0+eCgpLCBtX3AyLT54KCkpLCBtX3AzLT54KCkpLCBtX3A0LT54KCkpOworICAgIGRvdWJsZSB0
b3AgPSBuYW5Qcm9wYWdhdGluZ01pbihuYW5Qcm9wYWdhdGluZ01pbihuYW5Qcm9wYWdhdGluZ01p
bihtX3AxLT55KCksIG1fcDItPnkoKSksIG1fcDMtPnkoKSksIG1fcDQtPnkoKSk7CisgICAgZG91
YmxlIHJpZ2h0ID0gbmFuUHJvcGFnYXRpbmdNYXgobmFuUHJvcGFnYXRpbmdNYXgobmFuUHJvcGFn
YXRpbmdNYXgobV9wMS0+eCgpLCBtX3AyLT54KCkpLCBtX3AzLT54KCkpLCBtX3A0LT54KCkpOwor
ICAgIGRvdWJsZSBib3R0b20gPSBuYW5Qcm9wYWdhdGluZ01heChuYW5Qcm9wYWdhdGluZ01heChu
YW5Qcm9wYWdhdGluZ01heChtX3AxLT55KCksIG1fcDItPnkoKSksIG1fcDMtPnkoKSksIG1fcDQt
PnkoKSk7CisKKyAgICByZXR1cm4gRE9NUmVjdDo6Y3JlYXRlKGxlZnQsIHRvcCwgcmlnaHQgLSBs
ZWZ0LCBib3R0b20gLSB0b3ApOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRE9NUXVhZC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MGNkZWZiMDg1YjA4MjE3YmJmMWFhNjIyMzIzZjA5YzA4ZDRlYzgzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaApAQCAtMCwwICsxLDYzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJET01RdWFkSW5pdC5oIgorI2luY2x1ZGUg
IlNjcmlwdFdyYXBwYWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTVBvaW50Owor
Y2xhc3MgRE9NUmVjdDsKK3N0cnVjdCBET01Qb2ludEluaXQ7CitzdHJ1Y3QgRE9NUmVjdEluaXQ7
CisKK2NsYXNzIERPTVF1YWQgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291
bnRlZDxET01RdWFkPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxET01RdWFkPiBjcmVhdGUo
Y29uc3QgRE9NUG9pbnRJbml0JiBwMSwgY29uc3QgRE9NUG9pbnRJbml0JiBwMiwgY29uc3QgRE9N
UG9pbnRJbml0JiBwMywgY29uc3QgRE9NUG9pbnRJbml0JiBwNCkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBET01RdWFkKHAxLCBwMiwgcDMsIHA0KSk7IH0KKyAgICBzdGF0aWMgUmVmPERPTVF1YWQ+
IGZyb21SZWN0KGNvbnN0IERPTVJlY3RJbml0JiBpbml0KSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IERPTVF1YWQoaW5pdCkpOyB9CisgICAgc3RhdGljIFJlZjxET01RdWFkPiBmcm9tUXVhZChjb25z
dCBET01RdWFkSW5pdCYgaW5pdCkgeyByZXR1cm4gY3JlYXRlKGluaXQucDEsIGluaXQucDIsIGlu
aXQucDMsIGluaXQucDQpOyB9CisKKyAgICBSZWZQdHI8RE9NUG9pbnQ+IHAxKCkgY29uc3QgeyBy
ZXR1cm4gbV9wMTsgfQorICAgIFJlZlB0cjxET01Qb2ludD4gcDIoKSBjb25zdCB7IHJldHVybiBt
X3AyOyB9CisgICAgUmVmUHRyPERPTVBvaW50PiBwMygpIGNvbnN0IHsgcmV0dXJuIG1fcDM7IH0K
KyAgICBSZWZQdHI8RE9NUG9pbnQ+IHA0KCkgY29uc3QgeyByZXR1cm4gbV9wNDsgfQorCisgICAg
UmVmUHRyPERPTVJlY3Q+IGdldEJvdW5kcygpIGNvbnN0OworCitwcml2YXRlOgorICAgIERPTVF1
YWQoY29uc3QgRE9NUG9pbnRJbml0JiwgY29uc3QgRE9NUG9pbnRJbml0JiwgY29uc3QgRE9NUG9p
bnRJbml0JiwgY29uc3QgRE9NUG9pbnRJbml0Jik7CisgICAgZXhwbGljaXQgRE9NUXVhZChjb25z
dCBET01SZWN0SW5pdCYpOworICAgIAorICAgIFJlZlB0cjxET01Qb2ludD4gbV9wMTsKKyAgICBS
ZWZQdHI8RE9NUG9pbnQ+IG1fcDI7CisgICAgUmVmUHRyPERPTVBvaW50PiBtX3AzOworICAgIFJl
ZlB0cjxET01Qb2ludD4gbV9wNDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9ET01RdWFkLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmlkbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yZjI5NjJkOWNiNTE1M2MzZTNmYWFhOTZhMzhkMmJlNjU2ZGQ4ZmIyCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaWRsCkBAIC0wLDAgKzEsNDUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jZGljdGRl
Zi1kb21xdWFkaW5pdAorCitbCisgICAgQ29uc3RydWN0b3Iob3B0aW9uYWwgRE9NUG9pbnRJbml0
IHAxLCBvcHRpb25hbCBET01Qb2ludEluaXQgcDIsIG9wdGlvbmFsIERPTVBvaW50SW5pdCBwMywg
b3B0aW9uYWwgRE9NUG9pbnRJbml0IHA0KSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwK
KyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9u
CitdCitpbnRlcmZhY2UgRE9NUXVhZCB7CisgICAgW05ld09iamVjdF0gc3RhdGljIERPTVF1YWQg
ZnJvbVJlY3Qob3B0aW9uYWwgRE9NUmVjdEluaXQgb3RoZXIpOworICAgIFtOZXdPYmplY3RdIHN0
YXRpYyBET01RdWFkIGZyb21RdWFkKG9wdGlvbmFsIERPTVF1YWRJbml0IG90aGVyKTsKKworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBwMTsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2Ft
ZU9iamVjdF0uCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50IHAyOyAvLyBGSVhNRTog
U2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4KKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQg
cDM7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgorICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01Qb2ludCBwNDsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVjdF0uCisgICAg
W05ld09iamVjdF0gRE9NUmVjdCBnZXRCb3VuZHMoKTsKKworICAgIC8vIHNlcmlhbGl6ZXIgPSB7
IGF0dHJpYnV0ZSB9OyBGSVhNRTogaW1wbGVtZW50LgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01RdWFkSW5pdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjhhOWY3Y2E3Mjc0ZjhmMGY5NTdkNGZhZTM3OWE2YTJiMmYzNzVhYQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkSW5pdC5oCkBAIC0w
LDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkRPTVBv
aW50SW5pdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBET01RdWFkSW5pdCB7
CisgICAgRE9NUG9pbnRJbml0IHAxOworICAgIERPTVBvaW50SW5pdCBwMjsKKyAgICBET01Qb2lu
dEluaXQgcDM7CisgICAgRE9NUG9pbnRJbml0IHA0OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01R
dWFkSW5pdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWE0MjQ5ODFhMWNlNTZlY2RmNzdkNThiN2M1YjUwNWMy
OGZkZTFlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkSW5p
dC5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vZHJhZnRzLmZ4
dGYub3JnL2dlb21ldHJ5LyNkaWN0ZGVmLWRvbXF1YWRpbml0CisKK2RpY3Rpb25hcnkgRE9NUXVh
ZEluaXQgeworICAgIERPTVBvaW50SW5pdCBwMTsKKyAgICBET01Qb2ludEluaXQgcDI7CisgICAg
RE9NUG9pbnRJbml0IHAzOworICAgIERPTVBvaW50SW5pdCBwNDsKK307CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjliNzM3
Mjc3MDZmNDQ0ZDIzMDE5N2IxZGU4MDc5ZWI5OGZmOWMxOC4uMWM5NmIwNmQyYzRiMTQzMGExYzIy
N2I5MzBmNDE2OWY0Njc0OGQ0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA2LTE3ICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCBET01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorICAgICAgICAKKyAg
ICAgICAgSW1wbGVtZW50IERPTVF1YWQgcGVyIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dlb21l
dHJ5LyNET01RdWFkLgorCisgICAgICAgICoganMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0
cmlidXRlcy1kZWRpY2F0ZWQtd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6
CisKIDIwMTctMDYtMTcgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIENyYXNoIGR1ZSB0byBpbmZpbml0ZSByZWN1cnNpb24gdmlhIEZyYW1lU2VsZWN0aW9uOjp1
cGRhdGVBcHBlYXJhbmNlQWZ0ZXJMYXlvdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmlu
ZGV4IGQ1OWJiZjQ3ZDc5NmJhZDk3NDc1ZDYwYTU0YmUwZGMwMjBjNDQ4M2YuLmNmMDNjMjk5YWRh
OTNkODEyMDcxNzgwNDFmNmMzNjBkZmE1YjdhZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA2LTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBET01RdWFkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM1MzQKKworICAgICAgICBS
ZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIEltcGxlbWVudCBET01RdWFkIHBlciBo
dHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jRE9NUXVhZC4KKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01RdWFkLTAwMS1leHBlY3RlZC50eHQ6
IFRlc3RzIGFnYWluc3QgYW4gb2xkZXIgdmVyc2lvbgorICAgICAgICBvZiB0aGUgc3BlYywgc28g
c29tZSBmYWlsdXJlcy4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5
LTEvRE9NUXVhZC0wMDItZXhwZWN0ZWQudHh0OiBBbGwgdGVzdHMgcGFzcyBvdGhlciB0aGFuIGEg
TmFOCisgICAgICAgIHByb3BhZ2F0aW9uIGlzc3VlIHdoaWNoIG5lZWRzIHNwZWMgY2xhcmlmaWNh
dGlvbi4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvc3RydWN0
dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVjdGVkLnR4dDoKKwogMjAxNy0wNi0xNyAgUnlvc3VrZSBO
aXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMDk0OTUpOiBt
YXRlcmlhdXhsYXZlcmR1cmUuY29tIGZhaWxzIHRvIGxvYWQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvRE9NUXVh
ZC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01RdWFkLTAwMS1leHBlY3RlZC50eHQKaW5kZXggOTI0
M2ZkOTIzNTMyM2ZlZDcyM2E3MDU4YjFjMTljNTY3MTQ0ZGIxOC4uYzkzOTQxZjVkODdkZDRhNzc2
Mjk4YzZjYzczMjE0Y2JjMTlhNTVkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01RdWFkLTAwMS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvZ2VvbWV0cnktMS9ET01RdWFkLTAwMS1leHBlY3RlZC50eHQKQEAgLTEsNDEgKzEsNDEgQEAK
IFRlc3QgRE9NUXVhZCBpbnRlcmZhY2UKIAogCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjA6IHBvaW50
cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjA6IGJv
dW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjEg
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgbmV3IERPTVF1YWQoMSk7IH0i
IHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1
YWQiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBl
RXJyb3IiKQotRkFJTCB0ZXN0Q29uc3RydWN0b3IyIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJm
dW5jdGlvbiAoKSB7IG5ldyBET01RdWFkKDEsIDIpOyB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVyZW5jZUVycm9yIikg
ZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgdGVzdENvbnN0
cnVjdG9yMyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVh
ZCgxLCAyLCAzKTsgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2
YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlw
ZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjQgYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgbmV3IERPTVF1YWQoMSwgMiwgMywgNCk7IH0iIHRo
cmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQi
ICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJy
b3IiKQotRkFJTCB0ZXN0Q29uc3RydWN0b3I1OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTog
RE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3I1OiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3I2OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3I2OiBib3VuZHMgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3I3OiBwb2ludHMgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3I3OiBib3VuZHMgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3I4OiBwb2ludHMgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3I4OiBib3VuZHMg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3I5OiBwb2lu
dHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3I5OiBi
b3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3Ix
MDogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVj
dG9yMTA6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25z
dHJ1Y3RvcjExOiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0
Q29uc3RydWN0b3IxMTogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwg
dGVzdENvbnN0cnVjdG9yMTI6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1G
QUlMIHRlc3RDb25zdHJ1Y3RvcjEyOiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVh
ZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxMzogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERP
TVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMTM6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjE0OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxNDogYm91bmRzIENhbid0IGZpbmQg
dmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMTUgYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgbmV3IERPTVF1YWQoe30sIHt9LCB7fSwgTmFOKTsgfSIg
dGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVh
ZCIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVF
cnJvciIpCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjE2OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxNjogYm91bmRzIENhbid0IGZpbmQgdmFy
aWFibGU6IERPTVF1YWQKLUZBSUwgcDFUb3A0QXR0cmlidXRlczA6IHBvaW50cyBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHAxVG9wNEF0dHJpYnV0ZXMwOiBib3VuZHMgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCBwMVRvcDRBdHRyaWJ1dGVzMTogcG9pbnRzIENh
bid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgcDFUb3A0QXR0cmlidXRlczE6IGJvdW5k
cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIGJvdW5kc0F0dHJpYnV0ZTA6IHBv
aW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIGJvdW5kc0F0dHJpYnV0ZTA6
IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIGJvdW5kc0F0dHJpYnV0
ZTE6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIGJvdW5kc0F0dHJp
YnV0ZTE6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCitQQVNTIHRlc3RDb25z
dHJ1Y3RvcjA6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yMDogYm91bmRzIHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK1BBU1MgdGVzdENv
bnN0cnVjdG9yMSAKK1BBU1MgdGVzdENvbnN0cnVjdG9yMiAKK1BBU1MgdGVzdENvbnN0cnVjdG9y
MyAKK1BBU1MgdGVzdENvbnN0cnVjdG9yNCAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yNTogcG9pbnRz
IGFzc2VydF9lcXVhbHM6IEV4cGVjdGVkIHZhbHVlIGZvciBwMi54IGlzIDExMCBleHBlY3RlZCAx
MTAgYnV0IGdvdCAwCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjU6IGJvdW5kcyB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitGQUlMIHRlc3RDb25zdHJ1
Y3RvcjY6IHBvaW50cyBhc3NlcnRfZXF1YWxzOiBFeHBlY3RlZCB2YWx1ZSBmb3IgcDIueCBpcyAt
OTAgZXhwZWN0ZWQgLTkwIGJ1dCBnb3QgMAorRkFJTCB0ZXN0Q29uc3RydWN0b3I2OiBib3VuZHMg
dW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorRkFJ
TCB0ZXN0Q29uc3RydWN0b3I3OiBwb2ludHMgYXNzZXJ0X2VxdWFsczogRXhwZWN0ZWQgdmFsdWUg
Zm9yIHAyLnggaXMgTmFOIGV4cGVjdGVkIE5hTiBidXQgZ290IDAKK0ZBSUwgdGVzdENvbnN0cnVj
dG9yNzogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJv
dW5kcy54JykKK1BBU1MgdGVzdENvbnN0cnVjdG9yODogcG9pbnRzIAorRkFJTCB0ZXN0Q29uc3Ry
dWN0b3I4OiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3Eu
Ym91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3I5OiBwb2ludHMgCitGQUlMIHRlc3RDb25z
dHJ1Y3Rvcjk6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
cS5ib3VuZHMueCcpCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjEwOiBwb2ludHMgCitGQUlMIHRlc3RD
b25zdHJ1Y3RvcjEwOiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ3EuYm91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3IxMTogcG9pbnRzIAorRkFJTCB0
ZXN0Q29uc3RydWN0b3IxMTogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICdxLmJvdW5kcy54JykKK1BBU1MgdGVzdENvbnN0cnVjdG9yMTI6IHBvaW50cyAKK0ZB
SUwgdGVzdENvbnN0cnVjdG9yMTI6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjEzOiBwb2ludHMg
CitGQUlMIHRlc3RDb25zdHJ1Y3RvcjEzOiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3IxNDogcG9p
bnRzIAorRkFJTCB0ZXN0Q29uc3RydWN0b3IxNDogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK1BBU1MgdGVzdENvbnN0cnVjdG9yMTUg
CitQQVNTIHRlc3RDb25zdHJ1Y3RvcjE2OiBwb2ludHMgCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjE2
OiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRz
LngnKQorUEFTUyBwMVRvcDRBdHRyaWJ1dGVzMDogcG9pbnRzIAorRkFJTCBwMVRvcDRBdHRyaWJ1
dGVzMDogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJv
dW5kcy54JykKK1BBU1MgcDFUb3A0QXR0cmlidXRlczE6IHBvaW50cyAKK0ZBSUwgcDFUb3A0QXR0
cmlidXRlczE6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
cS5ib3VuZHMueCcpCitQQVNTIGJvdW5kc0F0dHJpYnV0ZTA6IHBvaW50cyAKK0ZBSUwgYm91bmRz
QXR0cmlidXRlMDogYm91bmRzIGFzc2VydF9lcXVhbHM6IEV4cGVjdGVkIHZhbHVlIGZvciBib3Vu
ZHMueCBpcyAwIGV4cGVjdGVkIDAgYnV0IGdvdCAxMAorRkFJTCBib3VuZHNBdHRyaWJ1dGUxOiBw
b2ludHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngg
PSAxMCcpCitGQUlMIGJvdW5kc0F0dHJpYnV0ZTE6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCA9IDEwJykKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9E
T01RdWFkLTAwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAyLWV4cGVjdGVkLnR4dAppbmRl
eCBlMGQ3YTdiYzZlZmVmMWYxNDM5OTk2NjhiZWM4MmI2MDQ5ZjJkM2Y2Li44OGUzNmQ0ZDkwY2Iw
MjY0OWYwMjkyNzBkZGMyZmQwODljNTViZjAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAyLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAyLWV4cGVjdGVkLnR4dApAQCAtMSwyMSArMSwy
MSBAQAogVGVzdCBET01RdWFkIGludGVyZmFjZQogCiAKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciBu
byBhcmdzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3Rv
ciB3aXRoIG9uZSBpbml0IERPTVBvaW50IGFyZyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFk
Ci1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0aCB0d28gaW5pdCBET01Qb2ludCBhcmdzIENhbid0
IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIHRocmVl
IGluaXQgRE9NUG9pbnQgYXJncyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRl
c3QgQ29uc3RydWN0b3Igd2l0aCBmb3VyIGluaXQgRE9NUG9pbnQgYXJncyBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBvbmUgRE9NUG9pbnQg
YXJnIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3
aXRoIHR3byBET01Qb2ludCBhcmdzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwg
dGVzdCBDb25zdHJ1Y3RvciB3aXRoIHRocmVlIERPTVBvaW50IGFyZ3MgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggZm91ciBET01Qb2ludCBh
cmdzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3
aXRoIGludmFpbGQgaW50ZWdlciBhcmdzIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlv
biAoKSB7IG5ldyBET01RdWFkKDEsIDIsIDMsIDQpOyB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVyZW5jZUVycm9yIikg
ZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgdGVzdCBDb25z
dHJ1Y3RvciB3aXRoIGludmFpbGQgc3RyaW5nIGFyZ3MgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24g
ImZ1bmN0aW9uICgpIHsgbmV3IERPTVF1YWQoIjEiLCAiMiIsICIzIiwgIjQiKTsgfSIgdGhyZXcg
b2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJS
ZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIp
Ci1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBOYU4gYXNzZXJ0X3Rocm93czogZnVuY3Rpb24g
ImZ1bmN0aW9uICgpIHsgbmV3IERPTVF1YWQoe30sIHt9LCB7fSwgTmFOKTsgfSIgdGhyZXcgb2Jq
ZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZCIgKCJSZWZl
cmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1G
QUlMIHRlc3QgZnJvbVJlY3QgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0
IGZyb21SZWN0IHdpdGggSW5maW5pdHkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJ
TCB0ZXN0IGZyb21RdWFkIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBw
MSwgcDIsIHAzLCBwNCBhcmUgcmVhZG9ubHkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAot
RkFJTCB0ZXN0IGdldEJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCitQQVNTIHRl
c3QgQ29uc3RydWN0b3Igbm8gYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIG9uZSBp
bml0IERPTVBvaW50IGFyZyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIHR3byBpbml0IERP
TVBvaW50IGFyZ3MgCitQQVNTIHRlc3QgQ29uc3RydWN0b3Igd2l0aCB0aHJlZSBpbml0IERPTVBv
aW50IGFyZ3MgCitQQVNTIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBmb3VyIGluaXQgRE9NUG9pbnQg
YXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIG9uZSBET01Qb2ludCBhcmcgCitQQVNT
IHRlc3QgQ29uc3RydWN0b3Igd2l0aCB0d28gRE9NUG9pbnQgYXJncyAKK1BBU1MgdGVzdCBDb25z
dHJ1Y3RvciB3aXRoIHRocmVlIERPTVBvaW50IGFyZ3MgCitQQVNTIHRlc3QgQ29uc3RydWN0b3Ig
d2l0aCBmb3VyIERPTVBvaW50IGFyZ3MgCitQQVNTIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBpbnZh
aWxkIGludGVnZXIgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGludmFpbGQgc3Ry
aW5nIGFyZ3MgCitQQVNTIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBOYU4gCitQQVNTIHRlc3QgZnJv
bVJlY3QgCitQQVNTIHRlc3QgZnJvbVJlY3Qgd2l0aCBJbmZpbml0eSAKK1BBU1MgdGVzdCBmcm9t
UXVhZCAKK1BBU1MgdGVzdCBwMSwgcDIsIHAzLCBwNCBhcmUgcmVhZG9ubHkgCitQQVNTIHRlc3Qg
Z2V0Qm91bmRzIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2VyaWFsaXphdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2VyaWFsaXphdGlvbi1leHBlY3RlZC50eHQKaW5kZXgg
Zjg1MmUwZDk1YTcxMmZjNTEzZGUzMzUyZWU0NGZmYjRmN2UyN2FjMi4uOGIwYTNkZDVhYTFhNDRm
OGQ3NTBjMWMwNGE0NGMwNTgxNGU4MjM0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9zdHJ1Y3R1cmVkLXNlcmlh
bGl6YXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvc3RydWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMTUsMTAgKzE1LDEwIEBAIEZBSUwgRE9NUmVjdCBjbG9uZTogYmFzaWMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiCiBG
QUlMIERPTVJlY3QgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2Vw
dGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgogRkFJTCBET01SZWN0IGNs
b25lOiB0aHJvd2luZyBnZXR0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhl
IG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCiBGQUlMIERPTVJlY3QgY2xvbmU6IG5vbi1pbml0
aWFsIHZhbHVlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2Fu
IG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01RdWFkIGNsb25lOiBiYXNpYyB1bmRlZmluZWQgaXMg
bm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBzZWxmW2NvbnN0cl0oKScpCi1GQUlM
IERPTVF1YWQgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3Ry
dWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBzZWxmW2NvbnN0cl0oKScpCi1GQUlMIERPTVF1YWQgY2xv
bmU6IHRocm93aW5nIGdldHRlcnMgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFs
dWF0aW5nICduZXcgc2VsZltjb25zdHJdKCknKQotRkFJTCBET01RdWFkIGNsb25lOiBub24taW5p
dGlhbCB2YWx1ZXMgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdu
ZXcgc2VsZltjb25zdHJdJykKK0ZBSUwgRE9NUXVhZCBjbG9uZTogYmFzaWMgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3Ig
KERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKK0ZBSUwg
RE9NUXVhZCBjbG9uZTogY3VzdG9tIHByb3BlcnR5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9u
IDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCitGQUlMIERPTVF1YWQgY2xvbmU6
IHRocm93aW5nIGdldHRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2Jq
ZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKK0ZBSUwgRE9NUXVhZCBjbG9uZTogbm9uLWluaXRpYWwg
dmFsdWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90
IGJlIGNsb25lZC4iCiBGQUlMIERPTU1hdHJpeFJlYWRPbmx5IGNsb25lOiBiYXNpYyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVF
cnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgog
RkFJTCBET01NYXRyaXhSZWFkT25seSBjbG9uZTogY3VzdG9tIHByb3BlcnR5IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9y
IChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCiBGQUlM
IERPTU1hdHJpeFJlYWRPbmx5IGNsb25lOiB0aHJvd2luZyBnZXR0ZXJzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChE
T00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWRl
ZGljYXRlZC13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL2dsb2JhbC1j
b25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1kZWRpY2F0ZWQtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRl
eCBjYTgxYTM5NzBlZmEyMDI3MGYzM2QzNzVjOGMwMDc4ZTI0ZGE2YTE3Li4zYTZhYzA3ZjRhMmFk
OWYzMTk4OTVlZmFlOGE5ZWQ4ZmNjYzMxY2Q0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9k
b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWRlZGljYXRlZC13b3JrZXItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJp
YnV0ZXMtZGVkaWNhdGVkLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTU5LDYgKzU5LDExIEBAIFBB
U1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Q
b2ludFJlYWRPbmx5JykuaGFzT3duCiBQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQogUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNT
IFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUG9p
bnRSZWFkT25seScpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIFtXb3JrZXJdIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLnZhbHVlIGlzIERPTVF1
YWQKK1BBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdET01RdWFkJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIFtXb3JrZXJd
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmhhc093
blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQorUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQ
QVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9N
UXVhZCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVjdCcpLnZhbHVlIGlzIERPTVJlY3QKIFBB
U1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01S
ZWN0JykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCiBQQVNTIFtXb3JrZXJdIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVjdCcpLmhhc093blByb3Bl
cnR5KCdzZXQnKSBpcyBmYWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0
ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGYzODZiMThhMjI1NzRkNjZlNzBmYTIzNWMzNDAyNGE5NTNi
YjMwNzUuLjYxNTNiOGFkZjE4YjAzZWQ4NmJmMjA3NzA1MDY0ODlmYWJlYmRiMTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvanMv
ZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTM1Myw2
ICszNTMsMTEgQEAgUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J0RPTVBvaW50UmVhZE9ubHknKS5oYXNPd25Qcm9wZXJ0eSgKIFBBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5JykuaGFzT3duUHJvcGVy
dHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5Jyku
Y29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdET01RdWFkJykudmFsdWUgaXMgRE9NUXVhZAorUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1YWQnKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0
JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdET01RdWFkJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmVudW1lcmFibGUgaXMg
ZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01R
dWFkJykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdET01SZWN0JykudmFsdWUgaXMgRE9NUmVjdAogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS5oYXNPd25Qcm9wZXJ0
eSgnZ2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdET01SZWN0JykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313210</attachid>
            <date>2017-06-17 13:05:36 -0700</date>
            <delta_ts>2017-06-17 15:34:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163534-20170617130535.patch</filename>
            <type>text/plain</type>
            <size>47928</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTcyMjE0ZmEyOWVkMWM5
MjY4NmEzMzY2Y2Q1NzRiNzYwODJlM2Y3MC4uMDk4MzMyZDIxZDUxYTZhZTQ3M2U0NTczOWI5N2Fk
NTVjNzE2NmJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTA2LTE3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBE
T01RdWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjM1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIEltcGxl
bWVudCBET01RdWFkIHBlciBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jRE9NUXVh
ZCwgb3RoZXIgdGhhbiBzZXJpYWxpemF0aW9uCisgICAgICAgIHdoaWNoIHJlcXVpcmVzIHNvbWUg
YmluZGluZ3MgY2hhbmdlcy4KKworICAgICAgICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21l
dHJ5LTEvRE9NUmVjdC0wMDEuaHRtbCB0ZXN0cyBhZ2FpbnN0IGFuIG9sZGVyIHZlcnNpb24gb2Yg
dGhlIHNwZWMsCisgICAgICAgIHNvIGhhcyBzb21lIGZhaWx1cmVzLiBET01RdWFkLTAwMi5odG1s
IHBhc3Nlcywgb3RoZXIgdGhhbiBhIE5hTiBwcm9wYWdhdGlvbiBpc3N1ZSB0aGF0IHJlcXVpcmVz
CisgICAgICAgIHNwZWMgY2xhcmlmaWNhdGlvbi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NUXVhZEN1
c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNET01RdWFkOjpnZXRCb3VuZHMp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAg
KElzU2VyaWFsaXphYmxlRE9NVHlwZSk6CisgICAgICAgIChJc1NlcmlhbGl6YWJsZUF0dHJpYnV0
ZSk6CisgICAgICAgICogZG9tL0RPTVBvaW50Lmg6CisgICAgICAgICogZG9tL0RPTVF1YWQuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6OkRPTVF1YWQpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NUXVhZDo6Z2V0Qm91bmRzKToKKyAgICAgICAgKiBkb20vRE9NUXVhZC5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVF1YWQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpET01RdWFkOjpmcm9tUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpmcm9t
UXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpwMSk6CisgICAgICAgIChXZWJDb3Jl
OjpET01RdWFkOjpwMik6CisgICAgICAgIChXZWJDb3JlOjpET01RdWFkOjpwMyk6CisgICAgICAg
IChXZWJDb3JlOjpET01RdWFkOjpwNCk6CisgICAgICAgICogZG9tL0RPTVF1YWQuaWRsOiBBZGRl
ZC4KKyAgICAgICAgKiBkb20vRE9NUXVhZEluaXQuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RP
TVF1YWRJbml0LmlkbDogQWRkZWQuCisKIDIwMTctMDYtMTcgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGR1ZSB0byBpbmZpbml0ZSByZWN1cnNpb24g
dmlhIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlQWZ0ZXJMYXlvdXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggZTQ0ZTRkOWMwMjk3NmM0NjgwZWUzMjA0ZjhjYmYyYTFmNjc2NWI0ZS4u
MjE0MzUwOGRkNjViNzgyMmU4YzQwMzY2MjljOGI2ZjAxMzIwNTRhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTQyNCw2ICs0MjQsOCBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwog
ICAgIGRvbS9ET01Qb2ludC5pZGwKICAgICBkb20vRE9NUG9pbnRJbml0LmlkbAogICAgIGRvbS9E
T01Qb2ludFJlYWRPbmx5LmlkbAorICAgIGRvbS9ET01RdWFkLmlkbAorICAgIGRvbS9ET01RdWFk
SW5pdC5pZGwKICAgICBkb20vRE9NUmVjdC5pZGwKICAgICBkb20vRE9NUmVjdEluaXQuaWRsCiAg
ICAgZG9tL0RPTVJlY3RMaXN0LmlkbApAQCAtMTE2MCw2ICsxMTYyLDcgQEAgc2V0KFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTRE9NQnVpbHRpbkNvbnN0cnVjdG9yQmFzZS5jcHAK
ICAgICBiaW5kaW5ncy9qcy9KU0RPTUNvbnN0cnVjdG9yQmFzZS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU0RPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50LmNwcAorICAgIGJpbmRpbmdzL2pzL0pTRE9N
UXVhZEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0VGFzay5jcHAKQEAgLTE0NTUsNiArMTQ1OCw3IEBAIHNldChXZWJD
b3JlX1NPVVJDRVMKICAgICBkb20vRE9NSW1wbGVtZW50YXRpb24uY3BwCiAgICAgZG9tL0RPTU5h
bWVkRmxvd0NvbGxlY3Rpb24uY3BwCiAgICAgZG9tL0RPTVBvaW50UmVhZE9ubHkuY3BwCisgICAg
ZG9tL0RPTVF1YWQuY3BwCiAgICAgZG9tL0RPTVJlY3RMaXN0LmNwcAogICAgIGRvbS9ET01TdHJp
bmdMaXN0LmNwcAogICAgIGRvbS9EYXRhVHJhbnNmZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCBlY2I1ZjdjNGUxZmI2MWZmODI5YWYxMTZiNzZjMzkyNDk0OTJmYTU4Li5m
ZTMyYjQxNGRjNGQ5ZmRmNzNhNDk0Y2YxNmZiY2FiZjMyOTEzOWFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTM2NCw2ICszNjQsOCBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9kb20vRE9NUG9pbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01Q
b2ludEluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01Qb2ludFJlYWRPbmx5LmlkbCBc
CisgICAgJChXZWJDb3JlKS9kb20vRE9NUXVhZC5pZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0RP
TVF1YWRJbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUmVjdC5pZGwgXAogICAgICQo
V2ViQ29yZSkvZG9tL0RPTVJlY3RJbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRE9NUmVj
dExpc3QuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA4YjllNzRmNzQ3ZmM5OTU4MzlhMjAxNDMwNzE1ZDA5MzMxNzE5ZTUw
Li43ZWMzODYwYjBhNDUwZjEwZTJjNWFjMDIxZjMxMTllMWRiY2YwOGRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00OTIsNiAr
NDkyLDcgQEAKIAkJMEY4QjQ1NzIxREMzRkJBMzAwNDQzQzNGIC8qIEludGVyc2VjdGlvbk9ic2Vy
dmVyQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGOEI0NTcxMURDM0ZCQTMwMDQ0M0MzRiAvKiBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxi
YWNrLmggKi87IH07CiAJCTBGOEI0NTc1MURDNDFEQkEwMDQ0M0MzRiAvKiBKU0ludGVyc2VjdGlv
bk9ic2VydmVyQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY4QjQ1NzMxREM0MURCQTAwNDQzQzNGIC8qIEpTSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJDYWxsYmFjay5jcHAgKi87IH07CiAJCTBGOEI0NTc2MURDNDFEQkEwMDQ0M0MzRiAvKiBK
U0ludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOEI0NTc0MURDNDFEQkEwMDQ0M0MzRiAvKiBKU0ludGVy
c2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaCAqLzsgfTsKKwkJMEY5NEEzOTYxRUYxQjEwNTAwRkJB
RkZCIC8qIEpTRE9NUXVhZEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjk0QTM5NTFFRjFCMTA1MDBGQkFGRkIgLyogSlNET01RdWFkQ3Vz
dG9tLmNwcCAqLzsgfTsKIAkJMEY5N0E2NTgxNTVEQTgxRTAwRkFERDRDIC8qIERpc3BsYXlSZWZy
ZXNoTW9uaXRvcklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGOTdBNjU3MTU1REE4MUUwMEZBREQ0QyAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JJ
T1MubW0gKi87IH07CiAJCTBGQTI0RDc5MTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVy
VXBkYXRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkEyNEQ3NzE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuY3BwICov
OyB9OwogCQkwRkEyNEQ3QTE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc4
MTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC01NTgsMTEgKzU1OSwxOCBAQAog
CQkwRkVGMjBDRTFCRDRBMjQxMDAxMjhFNUQgLyogTGVuZ3RoU2l6ZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVGMjBDRDFCRDRBMjQxMDAxMjhF
NUQgLyogTGVuZ3RoU2l6ZS5jcHAgKi87IH07CiAJCTBGRUYyMEQwMUJENEE2NEYwMDEyOEU1RCAv
KiBSZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkVGMjBDRjFCRDRBNjRGMDAxMjhFNUQgLyogUmVuZGVyU3R5bGVD
b25zdGFudHMuY3BwICovOyB9OwogCQkwRkYyRTgwRDFFRTBENDMwMDA5RUFCRDQgLyogUGVyZm9y
bWFuY2VMb2dnaW5nQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dp
bmdDbGllbnQuY3BwICovOyB9OworCQkwRkYzQjkyODFFRTNCNkRFMDBCODQxNDQgLyogSlNET01R
dWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RjNCOTI0MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuY3BwICovOyB9OworCQkwRkYzQjky
OTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkYzQjkyNTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01R
dWFkLmggKi87IH07CisJCTBGRjNCOTJBMUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjNC
OTI2MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0LmNwcCAqLzsgfTsKKwkJMEZGM0I5
MkIxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjNCOTI3MUVFM0I2REUwMEI4NDE0NCAvKiBK
U0RPTVF1YWRJbml0LmggKi87IH07CiAJCTBGRjUwMjY5MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0
eWxlTWVkaWEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZGNTAyNjcxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5jcHAgKi87IH07CiAJ
CTBGRjUwMjZBMTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjUwMjY4MTAyQkE5NDMwMDY2RjM5
QSAvKiBKU1N0eWxlTWVkaWEuaCAqLzsgfTsKIAkJMEZGNTAyNzExMDJCQTk2QTAwNjZGMzlBIC8q
IFN0eWxlTWVkaWEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZGNTAyNkUxMDJCQTk2NjAwNjZGMzlBIC8qIFN0eWxlTWVkaWEuY3BwICovOyB9Owog
CQkwRkY1MDI3MjEwMkJBOTZBMDA2NkYzOUEgLyogU3R5bGVNZWRpYS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGNTAyNkYxMDJCQTk2QTAwNjZGMzlB
IC8qIFN0eWxlTWVkaWEuaCAqLzsgfTsKIAkJMEZGODM1QjgxRUUzMjc0RjAwOEI0Q0M3IC8qIERP
TVBvaW50UmVhZE9ubHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZGODM1QjcxRUUzMjc0RjAwOEI0Q0M3IC8qIERPTVBvaW50UmVhZE9ubHkuY3Bw
ICovOyB9OworCQkwRkY4MzVDMjFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY4MzVCRDFFRTM1NERB
MDA4QjRDQzcgLyogRE9NUXVhZC5jcHAgKi87IH07CisJCTBGRjgzNUMzMUVFMzU0REEwMDhCNEND
NyAvKiBET01RdWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRkY4MzVCRTFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5oICovOyB9OworCQkwRkY4
MzVDNTFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjgzNUMwMUVFMzU0REEwMDhCNENDNyAvKiBE
T01RdWFkSW5pdC5oICovOyB9OwogCQkwRkZENEQ2MDE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkZENEQ1RTE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5jcHAgKi87IH07CiAJCTBGRkQ0RDYxMTg2NTFGQTMwMDUxMkY2RSAvKiBBc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkZENEQ1RjE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTEwRkIwODRCMTRFMTVDN0UwMEEzREI5OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxMEZCMDg0QTE0RTE1
QzdFMDBBM0RCOTggLyogUHVibGljVVJMTWFuYWdlci5oICovOyB9OwpAQCAtNzkzMiw2ICs3OTQw
LDcgQEAKIAkJMEY4QjQ1NzExREMzRkJBMzAwNDQzQzNGIC8qIEludGVyc2VjdGlvbk9ic2VydmVy
Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW50ZXJzZWN0aW9u
T2JzZXJ2ZXJDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjhCNDU3
MzFEQzQxREJBMDA0NDNDM0YgLyogSlNJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGOEI0NTc0MURD
NDFEQkEwMDQ0M0MzRiAvKiBKU0ludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTRBMzk1MUVGMUIxMDUwMEZCQUZG
QiAvKiBKU0RPTVF1YWRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNET01RdWFkQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEY5N0E2NTcxNTVEQTgxRTAwRkFERDRDIC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERpc3BsYXlSZWZyZXNoTW9u
aXRvcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZBMDg1MkIxRTZGQjU1
QTAwOTc1RkREIC8qIENTU1Byb3BlcnRpZXMuanNvbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuanNvbjsgcGF0aCA9IENTU1Byb3BlcnRpZXMu
anNvbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZBMjRENzcxNjJERjkxOTAwQTNG
NEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTgwMDAsMTIgKzgwMDksMjEgQEAKIAkJMEZFRjIwQ0QxQkQ0QTI0MTAwMTI4
RTVEIC8qIExlbmd0aFNpemUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTGVuZ3RoU2l6ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRUYyMENG
MUJENEE2NEYwMDEyOEU1RCAvKiBSZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTdHlsZUNvbnN0YW50cy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJm
b3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZGM0I5MjQxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVF1YWQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkYzQjkyNTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFk
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUXVhZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkYzQjkyNjFFRTNCNkRFMDBCODQxNDQgLyogSlNET01R
dWFkSW5pdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVF1
YWRJbml0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGM0I5MjcxRUUzQjZE
RTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNET01RdWFkSW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1
MDI2NzEwMkJBOTQzMDA2NkYzOUEgLyogSlNTdHlsZU1lZGlhLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3R5bGVNZWRpYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTBGRjUwMjY4MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTdHlsZU1lZGlhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjUwMjZFMTAyQkE5NjYwMDY2RjM5QSAvKiBTdHlsZU1l
ZGlhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlTWVkaWEu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1MDI2RjEwMkJBOTZBMDA2NkYz
OUEgLyogU3R5bGVNZWRpYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHls
ZU1lZGlhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjUwMjcwMTAyQkE5NkEw
MDY2RjM5QSAvKiBTdHlsZU1lZGlhLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdHlsZU1l
ZGlhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGODM1QjcxRUUzMjc0RjAw
OEI0Q0M3IC8qIERPTVBvaW50UmVhZE9ubHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRE9NUG9pbnRSZWFkT25seS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRjgzNUJEMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVF1YWQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRkY4MzVCRTFFRTM1NERBMDA4QjRDQzcgLyogRE9NUXVhZC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01RdWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGRjgzNUJGMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBET01RdWFkLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZGODM1QzAxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVF1YWRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGRjgzNUMxMUVFMzU0REEwMDhCNENDNyAvKiBET01RdWFkSW5pdC5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NUXVhZEluaXQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRkZENEQ1RTE4NjUxRkEzMDA1MTJGNkUgLyogQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEZGRDRENUYxODY1MUZBMzAwNTEyRjZFIC8qIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxMEZCMDg0QTE0RTE1QzdFMDBBM0RC
OTggLyogUHVibGljVVJMTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQdWJsaWNVUkxNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjA5
OCw2ICsyMjExNiwxMCBAQAogCQkJCTBGNDk2NkE3MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBv
aW50SW5pdC5oICovLAogCQkJCTBGNDk2NkE4MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50
UmVhZE9ubHkuY3BwICovLAogCQkJCTBGNDk2NkE5MURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBv
aW50UmVhZE9ubHkuaCAqLywKKwkJCQkwRkYzQjkyNDFFRTNCNkRFMDBCODQxNDQgLyogSlNET01R
dWFkLmNwcCAqLywKKwkJCQkwRkYzQjkyNTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkLmgg
Ki8sCisJCQkJMEZGM0I5MjYxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuY3BwICov
LAorCQkJCTBGRjNCOTI3MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWRJbml0LmggKi8sCiAJ
CQkJMEY0NzEwQjUxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdC5jcHAgKi8sCiAJCQkJMEY0
NzEwQjYxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVjdC5oICovLAogCQkJCTBGNDcxMEI3MURC
NTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3RJbml0LmNwcCAqLywKQEAgLTIzNjY0LDYgKzIzNjg2
LDcgQEAKIAkJCQlERUMyOTc1RDFCNERFQjJBMDA1RjU5NDUgLyogSlNDdXN0b21FdmVudEN1c3Rv
bS5jcHAgKi8sCiAJCQkJNDlDN0JBOEMxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0
b20uY3BwICovLAogCQkJCUFEREE5NEJGMTk2ODZGODAwMDQ1MzAyOSAvKiBKU0RvY3VtZW50Q3Vz
dG9tLmggKi8sCisJCQkJMEY5NEEzOTUxRUYxQjEwNTAwRkJBRkZCIC8qIEpTRE9NUXVhZEN1c3Rv
bS5jcHAgKi8sCiAJCQkJQkNEOUMyNUUwQzE3QUE2NzAwNUM5MEEyIC8qIEpTRE9NV2luZG93Q3Vz
dG9tLmNwcCAqLywKIAkJCQk2NTJGQkJCQjBERTI3Q0I2MDAwMUQzODYgLyogSlNET01XaW5kb3dD
dXN0b20uaCAqLywKIAkJCQlDMjgwODM0MTFDNkRDOTZBMDAxNDUxQjYgLyogSlNGb250RmFjZUN1
c3RvbS5jcHAgKi8sCkBAIC0yNTc0MCw2ICsyNTc2MywxMSBAQAogCQkJCTBGRjgzNUI3MUVFMzI3
NEYwMDhCNENDNyAvKiBET01Qb2ludFJlYWRPbmx5LmNwcCAqLywKIAkJCQkwRjQ5NjY5QjFEQjQw
OEMxMDBBMjc0QkIgLyogRE9NUG9pbnRSZWFkT25seS5oICovLAogCQkJCTBGNDk2NjlDMURCNDA4
QzEwMEEyNzRCQiAvKiBET01Qb2ludFJlYWRPbmx5LmlkbCAqLywKKwkJCQkwRkY4MzVCRDFFRTM1
NERBMDA4QjRDQzcgLyogRE9NUXVhZC5jcHAgKi8sCisJCQkJMEZGODM1QkUxRUUzNTREQTAwOEI0
Q0M3IC8qIERPTVF1YWQuaCAqLywKKwkJCQkwRkY4MzVCRjFFRTM1NERBMDA4QjRDQzcgLyogRE9N
UXVhZC5pZGwgKi8sCisJCQkJMEZGODM1QzAxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0
LmggKi8sCisJCQkJMEZGODM1QzExRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWRJbml0LmlkbCAq
LywKIAkJCQkwRjQ3MTBBOTFEQjU2QUZDMDAyRENFQzMgLyogRE9NUmVjdC5oICovLAogCQkJCTBG
NDcxMEFBMURCNTZBRkMwMDJEQ0VDMyAvKiBET01SZWN0LmlkbCAqLywKIAkJCQkwRjQ3MTBBQjFE
QjU2QUZDMDAyRENFQzMgLyogRE9NUmVjdEluaXQuaCAqLywKQEAgLTI3MjA3LDYgKzI3MjM1LDgg
QEAKIAkJCQkwRjQ5NjY5RDFEQjQwOEMxMDBBMjc0QkIgLyogRE9NUG9pbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNDk2NkEzMURCNDA5MTAwMEEyNzRCQiAvKiBET01Qb2ludEluaXQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGNDk2NjlGMURCNDA4QzEwMEEyNzRCQiAvKiBET01Qb2ludFJlYWRP
bmx5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkY4MzVDMzFFRTM1NERBMDA4QjRDQzcgLyogRE9N
UXVhZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGODM1QzUxRUUzNTREQTAwOEI0Q0M3IC8qIERP
TVF1YWRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ3MTBBRjFEQjU2QUZDMDAyRENFQzMg
LyogRE9NUmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0NzEwQjExREI1NkFGQzAwMkRDRUMz
IC8qIERPTVJlY3RJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NjgzNDRFMDFFRERGQUFBMDBC
Nzc5NUIgLyogRE9NUmVjdExpc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjc5ODIsNiArMjgwMTIs
OCBAQAogCQkJCTBGNDk2NkFGMURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHku
aCBpbiBIZWFkZXJzICovLAogCQkJCUUzN0M4NjUwMUVCNjNFM0YwMDg3QzZDQSAvKiBKU0RPTVBy
b21pc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNzJBRjkwMTgxMUJDMzcwMEZCQURCOSAvKiBK
U0RPTVByb21pc2VEZWZlcnJlZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGM0I5MjkxRUUzQjZE
RTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGM0I5MkIxRUUz
QjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDcx
MEJDMURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
NDcxMEJFMURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3RJbml0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk0NjZFRDhEMzFFREUwMTQ0MDA1RTQzRjYgLyogSlNET01SZWN0TGlzdC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMTIzMyw2ICszMTI2NSw3IEBACiAJCQkJQTlDNkU0RUIwRDc0NUUyQjAwNjQ0
MkU5IC8qIERPTVBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOUM2RTRFRjBENzQ1RTM4
MDA2NDQyRTkgLyogRE9NUGx1Z2luQXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGODM1
QjgxRUUzMjc0RjAwOEI0Q0M3IC8qIERPTVBvaW50UmVhZE9ubHkuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZGODM1QzIxRUUzNTREQTAwOEI0Q0M3IC8qIERPTVF1YWQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDY4MzQ0REYxRURERkFBQTAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDNUE4Njg0MEMzMzY3NjAwMEVFQTY0OSAvKiBET01TZWxlY3Rpb24u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzU1NjEwRjExMUE3MDRFQjAwQjgyRDI3IC8qIERPTVN0
cmluZ0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTk1NSw2ICszMTk4OCw5IEBACiAJCQkJ
MEY0OTY2QUMxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRJbml0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGNDk2NkFFMURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVhZE9ubHku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3MkFGOEYxODExQkMzNzAwRkJBREI5IC8qIEpTRE9N
UHJvbWlzZURlZmVycmVkLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjNCOTI4MUVFM0I2REUw
MEI4NDE0NCAvKiBKU0RPTVF1YWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY5NEEzOTYxRUYx
QjEwNTAwRkJBRkZCIC8qIEpTRE9NUXVhZEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkw
RkYzQjkyQTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkSW5pdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjQ3MTBCQjFEQjU2QkU4MDAyRENFQzMgLyogSlNET01SZWN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGNDcxMEJEMURCNTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3RJbml0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTQ2NkRDNkFDMUVERTAyMUQwMDc0NjIyNCAvKiBKU0RPTVJl
Y3RMaXN0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01RdWFkQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NUXVhZEN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWVjYmVkZTI2OTA4ZDU0YmI3ZGM2YmJm
NzRlYTk4Yzc1NWY1MDA1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NUXVhZEN1c3RvbS5jcHAKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0RPTVF1YWQuaCIKKworI2luY2x1ZGUg
IkRPTVBvaW50LmgiCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisKK3VzaW5nIG5hbWVzcGFj
ZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBKU0RPTVF1YWQ6OnZpc2l0QWRk
aXRpb25hbENoaWxkcmVuKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIHZpc2l0b3IuYWRk
T3BhcXVlUm9vdChjb25zdF9jYXN0PERPTVBvaW50Kj4oJndyYXBwZWQoKS5wMSgpKSk7CisgICAg
dmlzaXRvci5hZGRPcGFxdWVSb290KGNvbnN0X2Nhc3Q8RE9NUG9pbnQqPigmd3JhcHBlZCgpLnAy
KCkpKTsKKyAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3QoY29uc3RfY2FzdDxET01Qb2ludCo+KCZ3
cmFwcGVkKCkucDMoKSkpOworICAgIHZpc2l0b3IuYWRkT3BhcXVlUm9vdChjb25zdF9jYXN0PERP
TVBvaW50Kj4oJndyYXBwZWQoKS5wNCgpKSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01Qb2ludC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKaW5k
ZXggYjdjYWRiOTlhMWU3NGNhYjMzMTUzYmYyOTE5ZWU5NDkwYWI0YmQ0ZS4uY2FmNDNjMzliNWE0
YWYzN2Q1YWQzZjc2ZjA1OTE4ZDg1MTJmYjRhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTVBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKQEAgLTM3
LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRE9NUG9pbnQgZmluYWwgOiBw
dWJsaWMgRE9NUG9pbnRSZWFkT25seSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZjxET01Qb2ludD4gY3JlYXRlKGRvdWJsZSB4LCBkb3VibGUg
eSwgZG91YmxlIHosIGRvdWJsZSB3KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTVBvaW50KHgs
IHksIHosIHcpKTsgfQorICAgIHN0YXRpYyBSZWY8RE9NUG9pbnQ+IGNyZWF0ZShkb3VibGUgeCwg
ZG91YmxlIHksIGRvdWJsZSB6ID0gMCwgZG91YmxlIHcgPSAxKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IERPTVBvaW50KHgsIHksIHosIHcpKTsgfQogICAgIHN0YXRpYyBSZWY8RE9NUG9pbnQ+IGNy
ZWF0ZShjb25zdCBET01Qb2ludEluaXQmIGluaXQpIHsgcmV0dXJuIGNyZWF0ZShpbml0LngsIGlu
aXQueSwgaW5pdC56LCBpbml0LncpOyB9CiAgICAgc3RhdGljIFJlZjxET01Qb2ludD4gZnJvbVBv
aW50KGNvbnN0IERPTVBvaW50SW5pdCYgaW5pdCkgeyByZXR1cm4gY3JlYXRlKGluaXQueCwgaW5p
dC55LCBpbml0LnosIGluaXQudyk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RPTVF1YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRjZjBhNGYwZDE4YTY3MjkzMzNkZDQ5YTA5MjUyNjM5NTBhNzU0YTUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5jcHAKQEAgLTAsMCArMSw2NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01RdWFkLmgiCisKKyNp
bmNsdWRlICJET01Qb2ludC5oIgorI2luY2x1ZGUgIkRPTVJlY3QuaCIKKyNpbmNsdWRlIDx3dGYv
TWF0aEV4dHJhcy5oPgorCit1c2luZyBuYW1lc3BhY2UgV1RGOworCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0RPTVF1YWQ6OkRPTVF1YWQoY29uc3QgRE9NUG9pbnRJbml0JiBwMSwgY29uc3QgRE9N
UG9pbnRJbml0JiBwMiwgY29uc3QgRE9NUG9pbnRJbml0JiBwMywgY29uc3QgRE9NUG9pbnRJbml0
JiBwNCkKKyAgICA6IG1fcDEoRE9NUG9pbnQ6OmNyZWF0ZShwMSkpCisgICAgLCBtX3AyKERPTVBv
aW50OjpjcmVhdGUocDIpKQorICAgICwgbV9wMyhET01Qb2ludDo6Y3JlYXRlKHAzKSkKKyAgICAs
IG1fcDQoRE9NUG9pbnQ6OmNyZWF0ZShwNCkpCit7Cit9CisKKy8vICBwMS0tLS0tLXAyCisvLyAg
fCAgICAgICB8CisvLyAgfCAgICAgICB8CisvLyAgcDQtLS0tLS1wMworRE9NUXVhZDo6RE9NUXVh
ZChjb25zdCBET01SZWN0SW5pdCYgcikKKyAgICA6IG1fcDEoRE9NUG9pbnQ6OmNyZWF0ZShyLngs
IHIueSkpCisgICAgLCBtX3AyKERPTVBvaW50OjpjcmVhdGUoci54ICsgci53aWR0aCwgci55KSkK
KyAgICAsIG1fcDMoRE9NUG9pbnQ6OmNyZWF0ZShyLnggKyByLndpZHRoLCByLnkgKyByLmhlaWdo
dCkpCisgICAgLCBtX3A0KERPTVBvaW50OjpjcmVhdGUoci54LCByLnkgKyByLmhlaWdodCkpCit7
Cit9CisKK1JlZlB0cjxET01SZWN0PiBET01RdWFkOjpnZXRCb3VuZHMoKSBjb25zdAoreworICAg
IGRvdWJsZSBsZWZ0ID0gbmFuUHJvcGFnYXRpbmdNaW4obmFuUHJvcGFnYXRpbmdNaW4obmFuUHJv
cGFnYXRpbmdNaW4obV9wMS0+eCgpLCBtX3AyLT54KCkpLCBtX3AzLT54KCkpLCBtX3A0LT54KCkp
OworICAgIGRvdWJsZSB0b3AgPSBuYW5Qcm9wYWdhdGluZ01pbihuYW5Qcm9wYWdhdGluZ01pbihu
YW5Qcm9wYWdhdGluZ01pbihtX3AxLT55KCksIG1fcDItPnkoKSksIG1fcDMtPnkoKSksIG1fcDQt
PnkoKSk7CisgICAgZG91YmxlIHJpZ2h0ID0gbmFuUHJvcGFnYXRpbmdNYXgobmFuUHJvcGFnYXRp
bmdNYXgobmFuUHJvcGFnYXRpbmdNYXgobV9wMS0+eCgpLCBtX3AyLT54KCkpLCBtX3AzLT54KCkp
LCBtX3A0LT54KCkpOworICAgIGRvdWJsZSBib3R0b20gPSBuYW5Qcm9wYWdhdGluZ01heChuYW5Q
cm9wYWdhdGluZ01heChuYW5Qcm9wYWdhdGluZ01heChtX3AxLT55KCksIG1fcDItPnkoKSksIG1f
cDMtPnkoKSksIG1fcDQtPnkoKSk7CisKKyAgICByZXR1cm4gRE9NUmVjdDo6Y3JlYXRlKGxlZnQs
IHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApOworfQorCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yZjQ4M2Y1NTM1NDliYWM5Yjc1ZGQ4NjU1Y2Y2ZWEwNDVlN2RmNjBkCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaApAQCAtMCwwICsx
LDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJET01RdWFkSW5p
dC5oIgorI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIERPTVBvaW50OworY2xhc3MgRE9NUmVjdDsKK3N0cnVjdCBET01Qb2ludEluaXQ7CitzdHJ1
Y3QgRE9NUmVjdEluaXQ7CisKK2NsYXNzIERPTVF1YWQgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxl
LCBwdWJsaWMgUmVmQ291bnRlZDxET01RdWFkPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxE
T01RdWFkPiBjcmVhdGUoY29uc3QgRE9NUG9pbnRJbml0JiBwMSwgY29uc3QgRE9NUG9pbnRJbml0
JiBwMiwgY29uc3QgRE9NUG9pbnRJbml0JiBwMywgY29uc3QgRE9NUG9pbnRJbml0JiBwNCkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBET01RdWFkKHAxLCBwMiwgcDMsIHA0KSk7IH0KKyAgICBzdGF0
aWMgUmVmPERPTVF1YWQ+IGZyb21SZWN0KGNvbnN0IERPTVJlY3RJbml0JiBpbml0KSB7IHJldHVy
biBhZG9wdFJlZigqbmV3IERPTVF1YWQoaW5pdCkpOyB9CisgICAgc3RhdGljIFJlZjxET01RdWFk
PiBmcm9tUXVhZChjb25zdCBET01RdWFkSW5pdCYgaW5pdCkgeyByZXR1cm4gY3JlYXRlKGluaXQu
cDEsIGluaXQucDIsIGluaXQucDMsIGluaXQucDQpOyB9CisKKyAgICBjb25zdCBET01Qb2ludCYg
cDEoKSBjb25zdCB7IHJldHVybiBtX3AxOyB9CisgICAgY29uc3QgRE9NUG9pbnQmIHAyKCkgY29u
c3QgeyByZXR1cm4gbV9wMjsgfQorICAgIGNvbnN0IERPTVBvaW50JiBwMygpIGNvbnN0IHsgcmV0
dXJuIG1fcDM7IH0KKyAgICBjb25zdCBET01Qb2ludCYgcDQoKSBjb25zdCB7IHJldHVybiBtX3A0
OyB9CisKKyAgICBSZWZQdHI8RE9NUmVjdD4gZ2V0Qm91bmRzKCkgY29uc3Q7CisKK3ByaXZhdGU6
CisgICAgRE9NUXVhZChjb25zdCBET01Qb2ludEluaXQmLCBjb25zdCBET01Qb2ludEluaXQmLCBj
b25zdCBET01Qb2ludEluaXQmLCBjb25zdCBET01Qb2ludEluaXQmKTsKKyAgICBleHBsaWNpdCBE
T01RdWFkKGNvbnN0IERPTVJlY3RJbml0Jik7CisgICAgCisgICAgUmVmPERPTVBvaW50PiBtX3Ax
OworICAgIFJlZjxET01Qb2ludD4gbV9wMjsKKyAgICBSZWY8RE9NUG9pbnQ+IG1fcDM7CisgICAg
UmVmPERPTVBvaW50PiBtX3A0OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTVF1YWQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWQuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjJmMjk2MmQ5Y2I1MTUzYzNlM2ZhYWE5NmEzOGQyYmU2NTZkZDhmYjIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5pZGwKQEAgLTAsMCArMSw0NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKy8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dlb21ldHJ5LyNkaWN0ZGVm
LWRvbXF1YWRpbml0CisKK1sKKyAgICBDb25zdHJ1Y3RvcihvcHRpb25hbCBET01Qb2ludEluaXQg
cDEsIG9wdGlvbmFsIERPTVBvaW50SW5pdCBwMiwgb3B0aW9uYWwgRE9NUG9pbnRJbml0IHAzLCBv
cHRpb25hbCBET01Qb2ludEluaXQgcDQpLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAor
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24K
K10KK2ludGVyZmFjZSBET01RdWFkIHsKKyAgICBbTmV3T2JqZWN0XSBzdGF0aWMgRE9NUXVhZCBm
cm9tUmVjdChvcHRpb25hbCBET01SZWN0SW5pdCBvdGhlcik7CisgICAgW05ld09iamVjdF0gc3Rh
dGljIERPTVF1YWQgZnJvbVF1YWQob3B0aW9uYWwgRE9NUXVhZEluaXQgb3RoZXIpOworCisgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50IHAxOyAvLyBGSVhNRTogU2hvdWxkIGJlIFtTYW1l
T2JqZWN0XS4KKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQgcDI7IC8vIEZJWE1FOiBT
aG91bGQgYmUgW1NhbWVPYmplY3RdLgorICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBw
MzsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVjdF0uCisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVBvaW50IHA0OyAvLyBGSVhNRTogU2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4KKyAgICBb
TmV3T2JqZWN0XSBET01SZWN0IGdldEJvdW5kcygpOworCisgICAgLy8gc2VyaWFsaXplciA9IHsg
YXR0cmlidXRlIH07IEZJWE1FOiBpbXBsZW1lbnQuCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RPTVF1YWRJbml0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mOGE5ZjdjYTcyNzRmOGYwZjk1N2Q0ZmFlMzc5YTZhMmIyZjM3NWFhCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0LmgKQEAgLTAs
MCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRE9NUG9p
bnRJbml0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IERPTVF1YWRJbml0IHsK
KyAgICBET01Qb2ludEluaXQgcDE7CisgICAgRE9NUG9pbnRJbml0IHAyOworICAgIERPTVBvaW50
SW5pdCBwMzsKKyAgICBET01Qb2ludEluaXQgcDQ7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NUXVhZEluaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1
YWRJbml0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTQyNDk4MWExY2U1NmVjZGY3N2Q1OGI3YzViNTA1YzI4
ZmRlMWUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVF1YWRJbml0
LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9kcmFmdHMuZnh0
Zi5vcmcvZ2VvbWV0cnkvI2RpY3RkZWYtZG9tcXVhZGluaXQKKworZGljdGlvbmFyeSBET01RdWFk
SW5pdCB7CisgICAgRE9NUG9pbnRJbml0IHAxOworICAgIERPTVBvaW50SW5pdCBwMjsKKyAgICBE
T01Qb2ludEluaXQgcDM7CisgICAgRE9NUG9pbnRJbml0IHA0OworfTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmOWI3Mzcy
NzcwNmY0NDRkMjMwMTk3YjFkZTgwNzllYjk4ZmY5YzE4Li4xYzk2YjA2ZDJjNGIxNDMwYTFjMjI3
YjkzMGY0MTY5ZjQ2NzQ4ZDQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDYtMTcgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50
IERPTVF1YWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2MzUzNAorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisgICAgICAgIAorICAg
ICAgICBJbXBsZW1lbnQgRE9NUXVhZCBwZXIgaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZ2VvbWV0
cnkvI0RPTVF1YWQuCisKKyAgICAgICAgKiBqcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRy
aWJ1dGVzLWRlZGljYXRlZC13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoK
KwogMjAxNy0wNi0xNyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ3Jhc2ggZHVlIHRvIGluZmluaXRlIHJlY3Vyc2lvbiB2aWEgRnJhbWVTZWxlY3Rpb246OnVw
ZGF0ZUFwcGVhcmFuY2VBZnRlckxheW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggZDU5YmJmNDdkNzk2YmFkOTc0NzVkNjBhNTRiZTBkYzAyMGM0NDgzZi4uY2YwM2MyOTlhZGE5
M2Q4MTIwNzE3ODA0MWY2YzM2MGRmYTViN2FkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTctMDYtMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IERPTVF1YWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzUzNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAgSW1wbGVtZW50IERPTVF1YWQgcGVyIGh0
dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dlb21ldHJ5LyNET01RdWFkLgorCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAxLWV4cGVjdGVkLnR4dDog
VGVzdHMgYWdhaW5zdCBhbiBvbGRlciB2ZXJzaW9uCisgICAgICAgIG9mIHRoZSBzcGVjLCBzbyBz
b21lIGZhaWx1cmVzLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnkt
MS9ET01RdWFkLTAwMi1leHBlY3RlZC50eHQ6IEFsbCB0ZXN0cyBwYXNzIG90aGVyIHRoYW4gYSBO
YU4KKyAgICAgICAgcHJvcGFnYXRpb24gaXNzdWUgd2hpY2ggbmVlZHMgc3BlYyBjbGFyaWZpY2F0
aW9uLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9zdHJ1Y3R1
cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0OgorCiAyMDE3LTA2LTE3ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIwOTQ5NSk6IG1h
dGVyaWF1eGxhdmVyZHVyZS5jb20gZmFpbHMgdG8gbG9hZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9ET01RdWFk
LTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAxLWV4cGVjdGVkLnR4dAppbmRleCA5MjQz
ZmQ5MjM1MzIzZmVkNzIzYTcwNThiMWMxOWM1NjcxNDRkYjE4Li5jOTM5NDFmNWQ4N2RkNGE3NzYy
OThjNmNjNzMyMTRjYmMxOWE1NWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAxLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9nZW9tZXRyeS0xL0RPTVF1YWQtMDAxLWV4cGVjdGVkLnR4dApAQCAtMSw0MSArMSw0MSBAQAog
VGVzdCBET01RdWFkIGludGVyZmFjZQogCiAKLUZBSUwgdGVzdENvbnN0cnVjdG9yMDogcG9pbnRz
IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMDogYm91
bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMSBh
c3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVhZCgxKTsgfSIg
dGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVh
ZCIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVF
cnJvciIpCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjIgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsgbmV3IERPTVF1YWQoMSwgMik7IH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQiICgiUmVmZXJlbmNlRXJyb3IiKSBl
eHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCB0ZXN0Q29uc3Ry
dWN0b3IzIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IG5ldyBET01RdWFk
KDEsIDIsIDMpOyB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBET01RdWFkIiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBl
RXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgdGVzdENvbnN0cnVjdG9yNCBhc3NlcnRfdGhyb3dz
OiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVhZCgxLCAyLCAzLCA0KTsgfSIgdGhy
ZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZCIg
KCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJv
ciIpCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjU6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBE
T01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjU6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjY6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjY6IGJvdW5kcyBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjc6IHBvaW50cyBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjc6IGJvdW5kcyBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjg6IHBvaW50cyBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjg6IGJvdW5kcyBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjk6IHBvaW50
cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3Rvcjk6IGJv
dW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjEw
OiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0
b3IxMDogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0
cnVjdG9yMTE6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3RD
b25zdHJ1Y3RvcjExOiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0
ZXN0Q29uc3RydWN0b3IxMjogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZB
SUwgdGVzdENvbnN0cnVjdG9yMTI6IGJvdW5kcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFk
Ci1GQUlMIHRlc3RDb25zdHJ1Y3RvcjEzOiBwb2ludHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9N
UXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxMzogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6
IERPTVF1YWQKLUZBSUwgdGVzdENvbnN0cnVjdG9yMTQ6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjE0OiBib3VuZHMgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0Q29uc3RydWN0b3IxNSBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVhZCh7fSwge30sIHt9LCBOYU4pOyB9IiB0
aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFk
IiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVy
cm9yIikKLUZBSUwgdGVzdENvbnN0cnVjdG9yMTY6IHBvaW50cyBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBET01RdWFkCi1GQUlMIHRlc3RDb25zdHJ1Y3RvcjE2OiBib3VuZHMgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogRE9NUXVhZAotRkFJTCBwMVRvcDRBdHRyaWJ1dGVzMDogcG9pbnRzIENhbid0IGZpbmQg
dmFyaWFibGU6IERPTVF1YWQKLUZBSUwgcDFUb3A0QXR0cmlidXRlczA6IGJvdW5kcyBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHAxVG9wNEF0dHJpYnV0ZXMxOiBwb2ludHMgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCBwMVRvcDRBdHRyaWJ1dGVzMTogYm91bmRz
IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgYm91bmRzQXR0cmlidXRlMDogcG9p
bnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgYm91bmRzQXR0cmlidXRlMDog
Ym91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgYm91bmRzQXR0cmlidXRl
MTogcG9pbnRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgYm91bmRzQXR0cmli
dXRlMTogYm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKK1BBU1MgdGVzdENvbnN0
cnVjdG9yMDogcG9pbnRzIAorRkFJTCB0ZXN0Q29uc3RydWN0b3IwOiBib3VuZHMgdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyB0ZXN0Q29u
c3RydWN0b3IxIAorUEFTUyB0ZXN0Q29uc3RydWN0b3IyIAorUEFTUyB0ZXN0Q29uc3RydWN0b3Iz
IAorUEFTUyB0ZXN0Q29uc3RydWN0b3I0IAorRkFJTCB0ZXN0Q29uc3RydWN0b3I1OiBwb2ludHMg
YXNzZXJ0X2VxdWFsczogRXhwZWN0ZWQgdmFsdWUgZm9yIHAyLnggaXMgMTEwIGV4cGVjdGVkIDEx
MCBidXQgZ290IDAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yNTogYm91bmRzIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54JykKK0ZBSUwgdGVzdENvbnN0cnVj
dG9yNjogcG9pbnRzIGFzc2VydF9lcXVhbHM6IEV4cGVjdGVkIHZhbHVlIGZvciBwMi54IGlzIC05
MCBleHBlY3RlZCAtOTAgYnV0IGdvdCAwCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjY6IGJvdW5kcyB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitGQUlM
IHRlc3RDb25zdHJ1Y3Rvcjc6IHBvaW50cyBhc3NlcnRfZXF1YWxzOiBFeHBlY3RlZCB2YWx1ZSBm
b3IgcDIueCBpcyBOYU4gZXhwZWN0ZWQgTmFOIGJ1dCBnb3QgMAorRkFJTCB0ZXN0Q29uc3RydWN0
b3I3OiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91
bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3I4OiBwb2ludHMgCitGQUlMIHRlc3RDb25zdHJ1
Y3Rvcjg6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5i
b3VuZHMueCcpCitQQVNTIHRlc3RDb25zdHJ1Y3Rvcjk6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0
cnVjdG9yOTogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdx
LmJvdW5kcy54JykKK1BBU1MgdGVzdENvbnN0cnVjdG9yMTA6IHBvaW50cyAKK0ZBSUwgdGVzdENv
bnN0cnVjdG9yMTA6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAncS5ib3VuZHMueCcpCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjExOiBwb2ludHMgCitGQUlMIHRl
c3RDb25zdHJ1Y3RvcjExOiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3IxMjogcG9pbnRzIAorRkFJ
TCB0ZXN0Q29uc3RydWN0b3IxMjogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICdxLmJvdW5kcy54JykKK1BBU1MgdGVzdENvbnN0cnVjdG9yMTM6IHBvaW50cyAK
K0ZBSUwgdGVzdENvbnN0cnVjdG9yMTM6IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCcpCitQQVNTIHRlc3RDb25zdHJ1Y3RvcjE0OiBwb2lu
dHMgCitGQUlMIHRlc3RDb25zdHJ1Y3RvcjE0OiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91bmRzLngnKQorUEFTUyB0ZXN0Q29uc3RydWN0b3IxNSAK
K1BBU1MgdGVzdENvbnN0cnVjdG9yMTY6IHBvaW50cyAKK0ZBSUwgdGVzdENvbnN0cnVjdG9yMTY6
IGJvdW5kcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMu
eCcpCitQQVNTIHAxVG9wNEF0dHJpYnV0ZXMwOiBwb2ludHMgCitGQUlMIHAxVG9wNEF0dHJpYnV0
ZXMwOiBib3VuZHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3EuYm91
bmRzLngnKQorUEFTUyBwMVRvcDRBdHRyaWJ1dGVzMTogcG9pbnRzIAorRkFJTCBwMVRvcDRBdHRy
aWJ1dGVzMTogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdx
LmJvdW5kcy54JykKK1BBU1MgYm91bmRzQXR0cmlidXRlMDogcG9pbnRzIAorRkFJTCBib3VuZHNB
dHRyaWJ1dGUwOiBib3VuZHMgYXNzZXJ0X2VxdWFsczogRXhwZWN0ZWQgdmFsdWUgZm9yIGJvdW5k
cy54IGlzIDAgZXhwZWN0ZWQgMCBidXQgZ290IDEwCitGQUlMIGJvdW5kc0F0dHJpYnV0ZTE6IHBv
aW50cyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncS5ib3VuZHMueCA9
IDEwJykKK0ZBSUwgYm91bmRzQXR0cmlidXRlMTogYm91bmRzIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICdxLmJvdW5kcy54ID0gMTAnKQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL0RP
TVF1YWQtMDAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvRE9NUXVhZC0wMDItZXhwZWN0ZWQudHh0CmluZGV4
IGUwZDdhN2JjNmVmZWYxZjE0Mzk5OTY2OGJlYzgyYjYwNDlmMmQzZjYuLjg4ZTM2ZDRkOTBjYjAy
NjQ5ZjAyOTI3MGRkYzJmZDA4OWM1NWJmMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvRE9NUXVhZC0wMDItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2dlb21ldHJ5LTEvRE9NUXVhZC0wMDItZXhwZWN0ZWQudHh0CkBAIC0xLDIxICsxLDIx
IEBACiBUZXN0IERPTVF1YWQgaW50ZXJmYWNlCiAKIAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIG5v
IGFyZ3MgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9y
IHdpdGggb25lIGluaXQgRE9NUG9pbnQgYXJnIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQK
LUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIHR3byBpbml0IERPTVBvaW50IGFyZ3MgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdpdGggdGhyZWUg
aW5pdCBET01Qb2ludCBhcmdzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKLUZBSUwgdGVz
dCBDb25zdHJ1Y3RvciB3aXRoIGZvdXIgaW5pdCBET01Qb2ludCBhcmdzIENhbid0IGZpbmQgdmFy
aWFibGU6IERPTVF1YWQKLUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIG9uZSBET01Qb2ludCBh
cmcgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdp
dGggdHdvIERPTVBvaW50IGFyZ3MgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0
ZXN0IENvbnN0cnVjdG9yIHdpdGggdGhyZWUgRE9NUG9pbnQgYXJncyBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBET01RdWFkCi1GQUlMIHRlc3QgQ29uc3RydWN0b3Igd2l0aCBmb3VyIERPTVBvaW50IGFy
Z3MgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IENvbnN0cnVjdG9yIHdp
dGggaW52YWlsZCBpbnRlZ2VyIGFyZ3MgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsgbmV3IERPTVF1YWQoMSwgMiwgMywgNCk7IH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQiICgiUmVmZXJlbmNlRXJyb3IiKSBl
eHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCB0ZXN0IENvbnN0
cnVjdG9yIHdpdGggaW52YWlsZCBzdHJpbmcgYXJncyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAi
ZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVhZCgiMSIsICIyIiwgIjMiLCAiNCIpOyB9IiB0aHJldyBv
YmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJl
ZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikK
LUZBSUwgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIE5hTiBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAi
ZnVuY3Rpb24gKCkgeyBuZXcgRE9NUXVhZCh7fSwge30sIHt9LCBOYU4pOyB9IiB0aHJldyBvYmpl
Y3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkIiAoIlJlZmVy
ZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZB
SUwgdGVzdCBmcm9tUmVjdCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlMIHRlc3Qg
ZnJvbVJlY3Qgd2l0aCBJbmZpbml0eSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1GQUlM
IHRlc3QgZnJvbVF1YWQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRE9NUXVhZAotRkFJTCB0ZXN0IHAx
LCBwMiwgcDMsIHA0IGFyZSByZWFkb25seSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBET01RdWFkCi1G
QUlMIHRlc3QgZ2V0Qm91bmRzIENhbid0IGZpbmQgdmFyaWFibGU6IERPTVF1YWQKK1BBU1MgdGVz
dCBDb25zdHJ1Y3RvciBubyBhcmdzIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggb25lIGlu
aXQgRE9NUG9pbnQgYXJnIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggdHdvIGluaXQgRE9N
UG9pbnQgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIHRocmVlIGluaXQgRE9NUG9p
bnQgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGZvdXIgaW5pdCBET01Qb2ludCBh
cmdzIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggb25lIERPTVBvaW50IGFyZyAKK1BBU1Mg
dGVzdCBDb25zdHJ1Y3RvciB3aXRoIHR3byBET01Qb2ludCBhcmdzIAorUEFTUyB0ZXN0IENvbnN0
cnVjdG9yIHdpdGggdGhyZWUgRE9NUG9pbnQgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3
aXRoIGZvdXIgRE9NUG9pbnQgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIGludmFp
bGQgaW50ZWdlciBhcmdzIAorUEFTUyB0ZXN0IENvbnN0cnVjdG9yIHdpdGggaW52YWlsZCBzdHJp
bmcgYXJncyAKK1BBU1MgdGVzdCBDb25zdHJ1Y3RvciB3aXRoIE5hTiAKK1BBU1MgdGVzdCBmcm9t
UmVjdCAKK1BBU1MgdGVzdCBmcm9tUmVjdCB3aXRoIEluZmluaXR5IAorUEFTUyB0ZXN0IGZyb21R
dWFkIAorUEFTUyB0ZXN0IHAxLCBwMiwgcDMsIHA0IGFyZSByZWFkb25seSAKK1BBU1MgdGVzdCBn
ZXRCb3VuZHMgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvc3RydWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2dlb21ldHJ5LTEvc3RydWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBm
ODUyZTBkOTVhNzEyZmM1MTNkZTMzNTJlZTQ0ZmZiNGY3ZTI3YWMyLi44YjBhM2RkNWFhMWE0NGY4
ZDc1MGMxYzA0YTQ0YzA1ODE0ZTgyMzRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2VyaWFs
aXphdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnktMS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0xNSwxMCArMTUsMTAgQEAgRkFJTCBET01SZWN0IGNsb25lOiBiYXNpYyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICIKIEZB
SUwgRE9NUmVjdCBjbG9uZTogY3VzdG9tIHByb3BlcnR5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0
aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCiBGQUlMIERPTVJlY3QgY2xv
bmU6IHRocm93aW5nIGdldHRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUg
b2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKIEZBSUwgRE9NUmVjdCBjbG9uZTogbm9uLWluaXRp
YWwgdmFsdWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4g
bm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVF1YWQgY2xvbmU6IGJhc2ljIHVuZGVmaW5lZCBpcyBu
b3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IHNlbGZbY29uc3RyXSgpJykKLUZBSUwg
RE9NUXVhZCBjbG9uZTogY3VzdG9tIHByb3BlcnR5IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1
Y3RvciAoZXZhbHVhdGluZyAnbmV3IHNlbGZbY29uc3RyXSgpJykKLUZBSUwgRE9NUXVhZCBjbG9u
ZTogdGhyb3dpbmcgZ2V0dGVycyB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1
YXRpbmcgJ25ldyBzZWxmW2NvbnN0cl0oKScpCi1GQUlMIERPTVF1YWQgY2xvbmU6IG5vbi1pbml0
aWFsIHZhbHVlcyB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25l
dyBzZWxmW2NvbnN0cl0nKQorRkFJTCBET01RdWFkIGNsb25lOiBiYXNpYyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAo
RE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgorRkFJTCBE
T01RdWFkIGNsb25lOiBjdXN0b20gcHJvcGVydHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24g
MjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKK0ZBSUwgRE9NUXVhZCBjbG9uZTog
dGhyb3dpbmcgZ2V0dGVycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmpl
Y3QgY2FuIG5vdCBiZSBjbG9uZWQuIgorRkFJTCBET01RdWFkIGNsb25lOiBub24taW5pdGlhbCB2
YWx1ZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3Qg
YmUgY2xvbmVkLiIKIEZBSUwgRE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IGJhc2ljIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVy
cm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCiBG
QUlMIERPTU1hdHJpeFJlYWRPbmx5IGNsb25lOiBjdXN0b20gcHJvcGVydHkgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3Ig
KERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKIEZBSUwg
RE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IHRocm93aW5nIGdldHRlcnMgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERP
TSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZGVk
aWNhdGVkLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vZ2xvYmFsLWNv
bnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWRlZGljYXRlZC13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4
IGNhODFhMzk3MGVmYTIwMjcwZjMzZDM3NWM4YzAwNzhlMjRkYTZhMTcuLjNhNmFjMDdmNGEyYWQ5
ZjMxOTg5NWVmYWU4YTllZDhmY2NjMzFjZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2Rv
bS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZGVkaWNhdGVkLXdvcmtlci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmli
dXRlcy1kZWRpY2F0ZWQtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtNTksNiArNTksMTEgQEAgUEFT
UyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBv
aW50UmVhZE9ubHknKS5oYXNPd24KIFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2ludFJlYWRPbmx5JykuaGFzT3duUHJvcGVydHkoJ3Nl
dCcpIGlzIGZhbHNlCiBQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnRE9NUG9pbnRSZWFkT25seScpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1Mg
W1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01Qb2lu
dFJlYWRPbmx5JykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgW1dvcmtlcl0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykudmFsdWUgaXMgRE9NUXVh
ZAorUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J0RPTVF1YWQnKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgW1dvcmtlcl0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykuaGFzT3du
UHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmVudW1lcmFibGUgaXMgZmFsc2UKK1BB
U1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01R
dWFkJykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykudmFsdWUgaXMgRE9NUmVjdAogUEFT
UyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVJl
Y3QnKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKIFBBU1MgW1dvcmtlcl0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01SZWN0JykuaGFzT3duUHJvcGVy
dHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
anMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRl
cy1leHBlY3RlZC50eHQKaW5kZXggZjM4NmIxOGEyMjU3NGQ2NmU3MGZhMjM1YzM0MDI0YTk1M2Ji
MzA3NS4uNjE1M2I4YWRmMThiMDNlZDg2YmYyMDc3MDUwNjQ4OWZhYmViZGIxMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0
dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9k
b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMzUzLDYg
KzM1MywxMSBAQCBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAn
RE9NUG9pbnRSZWFkT25seScpLmhhc093blByb3BlcnR5KAogUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdET01Qb2ludFJlYWRPbmx5JykuZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVBvaW50UmVhZE9ubHknKS5j
b25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ0RPTVF1YWQnKS52YWx1ZSBpcyBET01RdWFkCitQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUXVhZCcpLmhhc093blByb3BlcnR5KCdnZXQn
KSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J0RPTVF1YWQnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdET01RdWFkJykuZW51bWVyYWJsZSBpcyBm
YWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0RPTVF1
YWQnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ0RPTVJlY3QnKS52YWx1ZSBpcyBET01SZWN0CiBQQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRE9NUmVjdCcpLmhhc093blByb3BlcnR5
KCdnZXQnKSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ0RPTVJlY3QnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>