<?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>57082</bug_id>
          
          <creation_ts>2011-03-24 23:09:09 -0700</creation_ts>
          <short_desc>CSS calc parsing stage</short_desc>
          <delta_ts>2012-01-27 16:05:27 -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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>16662</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike Lawther">mikelawther</reporter>
          <assigned_to name="Mike Lawther">mikelawther</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>hyatt</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>mathias</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>webmaster</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>373332</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-03-24 23:09:09 -0700</bug_when>
    <thetext>CSS calc parsing stage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373335</commentid>
    <comment_count>1</comment_count>
      <attachid>86890</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-03-24 23:11:46 -0700</bug_when>
    <thetext>Created attachment 86890
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373339</commentid>
    <comment_count>2</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-03-24 23:14:32 -0700</bug_when>
    <thetext>This is another patch sliced off the master bug 16662. See the latest patch on that bug to see this patch is its full context.

This implements the parsing stage of calc, where the CSSParserValues are turned into data structures.

calc() still doesn&apos;t &apos;work&apos; with this patch, so no test outputs have changed. The functional change to WebKit is that the parsing happens, but nothing happens with the data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399870</commentid>
    <comment_count>3</comment_count>
      <attachid>86890</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-06 15:44:20 -0700</bug_when>
    <thetext>Comment on attachment 86890
Patch

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

I think this is good.  I&apos;m glad we sat down and went through it.  I look forward to reviewing the next round.

&gt; Source/WebCore/ChangeLog:12
&gt; +        No new tests. (OOPS!)

the cq will get mad at us for OOPS.

&gt; Source/WebCore/css/CSSCalcValue.cpp:48
&gt; +        return CalcValue::UNumber;

Should this just be a constructor for CalcValue to allow transparent construction?  (Like how we do for CSSPrimativeValues?)  Or at least be a member on CalcValue so to avoid the copy/paste of CalcValue::

&gt; Source/WebCore/css/CSSCalcValue.cpp:62
&gt; +    default:
&gt; +        return CalcValue::UOther;

We generally avoid defaults if we&apos;re going to use switch statements, so the compiler can help us. :)  Otherwise we&apos;d just use ifs.

&gt; Source/WebCore/css/CSSCalcValue.cpp:67
&gt; +class CSSCalcPrimitiveValue : public CSSCalcValue {

You should re-evaluate whether you want your classes to actually be subclasses of CSSValue.  You really only need one CSSValue subclass, your CSSCalcValue, which to be teh resulting parsedValue from CSSParser::parseValue().  But the implementation details of the resulting calc-subtree, need not use the CSSValue system at all (although they can, up to you!).  But if you don&apos;t ever to expose these to teh web, you should document such.

It&apos;s also unclear to me what value this CSSCalcPrimativeValue class adds over CSSCalcValue.

&gt; Source/WebCore/css/CSSCalcValue.cpp:112
&gt; +            else    

Generally we don&apos;t else after return.

&gt; Source/WebCore/css/CSSCalcValue.cpp:154
&gt; +        String result = &quot;(&quot;;
&gt; +        result.append(m_leftSide-&gt;cssText());
&gt; +        result.append(m_operator);
&gt; +        result.append(m_rightSide-&gt;cssText());
&gt; +        result.append(&apos;)&apos;);
&gt; +        return result;

I believe makeString is the new hotness.

&gt; Source/WebCore/css/CSSCalcValue.cpp:179
&gt; +        , m_list()

Not needed (implicit).

&gt; Source/WebCore/css/CSSCalcValue.cpp:213
&gt; +#define CHECK_DEPTH_AND_INDEX                                           \

Macros are always sad times.

&gt; Source/WebCore/css/CSSCalcValue.cpp:240
&gt; +        CSSCalcMinMaxValueList* result = new CSSCalcMinMaxValueList(type);

Should be in an RefPtr immediately and then later released.

&gt; Source/WebCore/css/CSSCalcValue.cpp:254
&gt; +    char operatorValue(CSSParserValueList* tokens, unsigned index)

Really?  Not an enum?  Can we cast to one?

&gt; Source/WebCore/css/CSSCalcValue.cpp:275
&gt; +        CSSPrimitiveValue* primitiveValue = static_cast&lt;CSSPrimitiveValue*&gt;(value.get());

static_ptr_cast I think is the function you want.

&gt; Source/WebCore/css/CSSCalcValue.h:54
&gt; +    CalcValue::UnitCategory category() const { return m_category; }

I think we want to get rid of the CalcValue class &quot;namespace&quot;.

&gt; Source/WebCore/css/CSSCalcValue.h:58
&gt; +    bool isInt() const { return m_isInt; }
&gt; +    void setIsInt(bool isInt) { m_isInt = isInt; }

How is this different from the Units type?

&gt; Source/WebCore/css/CSSParser.cpp:132
&gt; +static bool isCalc(CSSParserValue* value) 

Slightly deceptive that this also does min/max.

&gt; Source/WebCore/css/CSSParser.cpp:483
&gt; +    if (isCalc(value) &amp;&amp; parseCalc(value)) {

This seems like the right way to go, but we need to explain what we&apos;re doing here.  Also, if the parseCalc fails, I don&apos;t think we want to fall through to the other type checks, so that could be moved inside the if, no?

We just need to explain here, that calc() intentionally mascarades as a primative value during parse time, and note that we have special code in the validPrimitive case at the end of parseValue() which knows how to create the CSSCalcValue instead of CSSPrimativeValue correctly.

An alternate (perhaps better?) solution would be to check isCalc at the top of parseValue() and pre-parse the calc then.  Then here, we can check the m_parsedCalc in a smaller if...

&gt; Source/WebCore/css/CSSParser.cpp:499
&gt; +            b = (unitflags &amp; FLength);
&gt; +            break;
&gt; +        case CalcValue::UPercent:
&gt; +            b = (unitflags &amp; FPercent);
&gt; +            break;
&gt; +        case CalcValue::UNumber:
&gt; +            b = (unitflags &amp; FNumber);
&gt; +            if (!b &amp;&amp; (unitflags &amp; FInteger) &amp;&amp; m_parsedCalc-&gt;isInt())
&gt; +                b = true;
&gt; +            break;
&gt; +        default:
&gt; +            break;
&gt; +        }
&gt; +    } else {

I would just have done this as an early return to avoid the indent.  It&apos;s unclear to me why calc units are special here...

&gt; Source/WebCore/css/CSSParser.cpp:500
&gt; +        switch (value-&gt;unit) {

How do other function-based values work so that they avoid having to change validUnit like this?  Like url() or counter()

&gt; Source/WebCore/css/CSSParser.cpp:632
&gt; +    ASSERT(!m_parsedCalc.get());

No need for .get() I don&apos;t think.  RefPtr will transparently convert to bools like normal pointers do.

We should document here why we&apos;re doing this.  That we have to use a member so that isValidUnit can do the right thing for calc.

// Note: m_parsedCalc is used to pass the calc value to isValidUnit and then cleared at the end of this function.
// FIXME: This is to avoid having to pass parsedCalc to all isValidUnit callers.

&gt; Source/WebCore/css/CSSParser.cpp:1898
&gt; +            m_parsedCalc.release();

A bit odd to ignore the return value of m_parsedCalc, but I understand why you need to, you might want to comment here to.

&gt; Source/WebCore/css/CSSParser.cpp:1901
&gt;      }

We could even ASSERT m_parsedCalc is empty before we return?

&gt; Source/WebCore/css/CSSParser.h:357
&gt; -        static bool validUnit(CSSParserValue*, Units, bool strict);
&gt; +        bool validUnit(CSSParserValue*, Units, bool strict);

?

&gt; Source/WebCore/platform/CalcValue.h:39
&gt; +class CalcValue {
&gt; +public:
&gt; +    enum UnitCategory {
&gt; +        UNumber,

Normally we just have headers with Enums, like TextDirection.h, or UnicodeBidi.h, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526623</commentid>
    <comment_count>4</comment_count>
      <attachid>120404</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-12-22 16:25:20 -0800</bug_when>
    <thetext>Created attachment 120404
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526630</commentid>
    <comment_count>5</comment_count>
      <attachid>120404</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-12-22 16:30:48 -0800</bug_when>
    <thetext>Comment on attachment 120404
Patch

Hi Eric - thanks for your review. I&apos;ve addressed your comments, and calc has grown to cover a lot more cases in the meantime :)

The only functional change in this patch is that RGB and HSL values can now be computed using calc. This is because they must evaluate to simple integers at parse time, and this also demonstrates the expression evaluation working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526651</commentid>
    <comment_count>6</comment_count>
      <attachid>120414</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-12-22 17:05:34 -0800</bug_when>
    <thetext>Created attachment 120414
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526712</commentid>
    <comment_count>7</comment_count>
      <attachid>120414</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-22 20:14:31 -0800</bug_when>
    <thetext>Comment on attachment 120414
Patch

Attachment 120414 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10939152

New failing tests:
css3/calc/padding.html
css3/calc/table-calcs.html
css3/calc/margin.html
css3/calc/border.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528658</commentid>
    <comment_count>8</comment_count>
      <attachid>120912</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-01-02 20:59:26 -0800</bug_when>
    <thetext>Created attachment 120912
Updated to patch against tip</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528663</commentid>
    <comment_count>9</comment_count>
      <attachid>120912</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-02 22:01:51 -0800</bug_when>
    <thetext>Comment on attachment 120912
Updated to patch against tip

Attachment 120912 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11075149

New failing tests:
css3/calc/padding.html
css3/calc/table-calcs.html
css3/calc/margin.html
css3/calc/border.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529336</commentid>
    <comment_count>10</comment_count>
      <attachid>121063</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-01-03 22:07:51 -0800</bug_when>
    <thetext>Created attachment 121063
modified some tests to pass on cr-linux</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542933</commentid>
    <comment_count>11</comment_count>
      <attachid>124071</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-01-26 00:55:17 -0800</bug_when>
    <thetext>Created attachment 124071
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542936</commentid>
    <comment_count>12</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-01-26 00:59:49 -0800</bug_when>
    <thetext>Hi Hyatt - this is the parsing stage for CSS calc. This is a slice from the full patch (at http://webkit.org/b/16662). Can you please take a look? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543207</commentid>
    <comment_count>13</comment_count>
      <attachid>124130</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-01-26 09:43:44 -0800</bug_when>
    <thetext>Created attachment 124130
Patch

removed min/max parsing to trim patch down</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543351</commentid>
    <comment_count>14</comment_count>
      <attachid>124130</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-01-26 12:01:52 -0800</bug_when>
    <thetext>Comment on attachment 124130
Patch

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

My high level comment (although I don&apos;t feel super strongly about it) is that perhaps &quot;Calc&quot; should become &quot;Calculation&quot; to disambiguate it from the specific case of &quot;-webkit-calc.&quot; I am assuming calc expressions, calc values, etc. all apply to min/max as well, so maybe it would be better terminology to use the more generic &quot;Calculation&quot; when dealing with a class that applies to all three. Save the abbreviated form, &quot;calc&quot;, for when you&apos;re talking specifically about -webkit-calc.

The values and units draft refers to calc, min, and max as &quot;Calculations&quot; e.g., &quot;9.1. Calculations: ...&quot;, so it seems like this might be good terminology to use for referring generically to all future calculations as well.

&gt; Source/WebCore/css/CSSCalcValue.cpp:307
&gt; +    RefPtr&lt;CSSCalcExpressionNode&gt; expression = 0;

You don&apos;t need to say &quot; = 0&quot; here. RefPtr will start off null.

&gt; Source/WebCore/css/CSSCalcValue.cpp:316
&gt; +    else if (equalIgnoringCase(name, &quot;-webkit-min(&quot;))
&gt; +        // FIXME calc (http://webkit.org/b/16662) Add parsing for min here
&gt; +        expression = 0;
&gt; +    else if (equalIgnoringCase(name, &quot;-webkit-max(&quot;))
&gt; +        // FIXME calc (http://webkit.org/b/16662) Add parsing for max here
&gt; +        expression = 0;

I would just remove all this code and replace with a single FIXME. Seems silly to redundantly re-initialize to 0.

&gt; Source/WebCore/css/CSSParser.cpp:732
&gt; +        if (!parseCalc(value))
&gt; +            return false;
&gt; +        
&gt; +        switch (m_parsedCalc-&gt;category()) {
&gt; +        case CalcLength:
&gt; +            b = (unitflags &amp; FLength);
&gt; +            break;
&gt; +        case CalcPercent:
&gt; +            b = (unitflags &amp; FPercent);
&gt; +            // FIXME calc (http://webkit.org/b/16662): test FNonNeg here, eg
&gt; +            // if (b &amp;&amp; (unitflags &amp; FNonNeg) &amp;&amp; m_parsedCalc-&gt;doubleValue() &lt; 0)
&gt; +            //    b = false;
&gt; +            break;
&gt; +        case CalcNumber:
&gt; +            b = (unitflags &amp; FNumber);
&gt; +            if (!b &amp;&amp; (unitflags &amp; FInteger) &amp;&amp; m_parsedCalc-&gt;isInt())
&gt; +                b = true;
&gt; +            // FIXME calc (http://webkit.org/b/16662): test FNonNeg here, eg
&gt; +            // if (b &amp;&amp; (unitflags &amp; FNonNeg) &amp;&amp; m_parsedCalc-&gt;doubleValue() &lt; 0)
&gt; +            //    b = false;
&gt; +            break;
&gt; +        case CalcPercentLength:
&gt; +            b = (unitflags &amp; FPercent) &amp;&amp; (unitflags &amp; FLength);
&gt; +            break;
&gt; +        case CalcPercentNumber:
&gt; +            b = (unitflags &amp; FPercent) &amp;&amp; (unitflags &amp; FNumber);
&gt; +            break;
&gt; +        case CalcOther:
&gt; +            break;
&gt; +        }
&gt; +        // TODO: handle FNonNeg
&gt; +        if (!b)
&gt; +            m_parsedCalc.release();
&gt; +        return b;

Put this in a separate function please, e.g., validCalcUnit or something.

&gt; Source/WebCore/css/CSSParser.cpp:744
&gt; +        break;            

Extra whitespace it looks like?

&gt; Source/WebCore/css/CSSParser.cpp:4939
&gt; +bool CSSParser::isCalcMinMax(CSSParserValue* value) 

I don&apos;t like the name &quot;isCalcMinMax&quot; because it sounds like you&apos;re testing just for webkit-min and webkit-max calc values instead of for all three. The CSS spec refers to this section (covering calc, min, max) as &quot;calculations&quot; so perhaps that could be our terminology for covering all three cases. So how about

&quot;isCalculationValue&quot;

instead?

&gt; Source/WebCore/css/CSSValue.h:79
&gt; +    bool isCalcValue() const {return m_classType == CalcClass; }

I think I&apos;d prefer &quot;isCalculationValue&quot; as I mentioned above, since isCalc sounds more like it only covers -webkit-calc and not -webkit-min/max.

&gt; Source/WebCore/css/CSSValue.h:130
&gt; +        CalcClass,

CalculationClass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543873</commentid>
    <comment_count>15</comment_count>
      <attachid>124270</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-01-27 01:03:14 -0800</bug_when>
    <thetext>Created attachment 124270
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543878</commentid>
    <comment_count>16</comment_count>
      <attachid>124130</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-01-27 01:07:40 -0800</bug_when>
    <thetext>Comment on attachment 124130
Patch

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

Thanks for the review Hyatt. I&apos;ve done your suggestions, plus I also renamed the files using Calc-&gt;Calculation in line with your suggestion that &apos;Calculation&apos; be used to cover all three of calc,min,max. Those files will ultimately contain code to deal with all three.

&gt;&gt; Source/WebCore/css/CSSCalcValue.cpp:307
&gt;&gt; +    RefPtr&lt;CSSCalcExpressionNode&gt; expression = 0;
&gt; 
&gt; You don&apos;t need to say &quot; = 0&quot; here. RefPtr will start off null.

Done.

&gt;&gt; Source/WebCore/css/CSSCalcValue.cpp:316
&gt;&gt; +        expression = 0;
&gt; 
&gt; I would just remove all this code and replace with a single FIXME. Seems silly to redundantly re-initialize to 0.

Done.

&gt;&gt; Source/WebCore/css/CSSParser.cpp:732
&gt;&gt; +        return b;
&gt; 
&gt; Put this in a separate function please, e.g., validCalcUnit or something.

Done.

&gt;&gt; Source/WebCore/css/CSSParser.cpp:744
&gt;&gt; +        break;            
&gt; 
&gt; Extra whitespace it looks like?

Oops. Fixed.

&gt;&gt; Source/WebCore/css/CSSParser.cpp:4939
&gt;&gt; +bool CSSParser::isCalcMinMax(CSSParserValue* value) 
&gt; 
&gt; I don&apos;t like the name &quot;isCalcMinMax&quot; because it sounds like you&apos;re testing just for webkit-min and webkit-max calc values instead of for all three. The CSS spec refers to this section (covering calc, min, max) as &quot;calculations&quot; so perhaps that could be our terminology for covering all three cases. So how about
&gt; 
&gt; &quot;isCalculationValue&quot;
&gt; 
&gt; instead?

Sounds good. Done.

&gt;&gt; Source/WebCore/css/CSSValue.h:79
&gt;&gt; +    bool isCalcValue() const {return m_classType == CalcClass; }
&gt; 
&gt; I think I&apos;d prefer &quot;isCalculationValue&quot; as I mentioned above, since isCalc sounds more like it only covers -webkit-calc and not -webkit-min/max.

Done.

&gt;&gt; Source/WebCore/css/CSSValue.h:130
&gt;&gt; +        CalcClass,
&gt; 
&gt; CalculationClass

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544367</commentid>
    <comment_count>17</comment_count>
      <attachid>124270</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-01-27 14:28:26 -0800</bug_when>
    <thetext>Comment on attachment 124270
Patch

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

r=me, with a few renaming suggestions. Not going to cq+ as a result of that.

&gt; Source/WebCore/css/CSSCalculationValue.cpp:87
&gt; +    static PassRefPtr&lt;CSSCalcPrimitiveValue&gt; create(CSSPrimitiveValue* value, bool isInt)

isInteger would read better.

&gt; Source/WebCore/css/CSSCalculationValue.cpp:99
&gt; +    explicit CSSCalcPrimitiveValue(CSSPrimitiveValue* value, bool isInt)

Ditto.

&gt; Source/WebCore/css/CSSCalculationValue.cpp:113
&gt; +    {CalcNumber,        CalcOther,         CalcPercentNumber, CalcPercentNumber, CalcOther},
&gt; +    {CalcOther,         CalcLength,        CalcPercentLength, CalcOther,         CalcPercentLength},
&gt; +    {CalcPercentNumber, CalcPercentLength, CalcPercent,       CalcPercentNumber, CalcPercentLength},
&gt; +    {CalcPercentNumber, CalcOther,         CalcPercentNumber, CalcPercentNumber, CalcOther},
&gt; +    {CalcOther,         CalcPercentLength, CalcPercentLength, CalcOther,         CalcPercentLength},

Minor style nit: I think you should have spaces before and after the { } on each line, e.g.,:

{ CalcNumber,        CalcOther,         CalcPercentNumber, CalcPercentNumber, CalcOther },

&gt; Source/WebCore/css/CSSCalculationValue.h:64
&gt; +    bool isInt() const { return m_isInt; }

I think isInteger would read better.

&gt; Source/WebCore/css/CSSCalculationValue.h:75
&gt; +    bool m_isInt;

Ditto.

&gt; Source/WebCore/css/CSSParser.cpp:5213
&gt; +    CSSParser* m_parent;

I don&apos;t like using the terminology &quot;parent&quot; here. Why not just m_parser?

&gt; Source/WebCore/css/CSSParser.cpp:5602
&gt; +    : m_parent(parent)

Same here. Would prefer m_parser.

&gt; Source/WebCore/css/CSSParser.cpp:5720
&gt; +    : m_parent(parent)

Same here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544400</commentid>
    <comment_count>18</comment_count>
      <attachid>124270</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-01-27 14:54:32 -0800</bug_when>
    <thetext>Comment on attachment 124270
Patch

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

Thanks for the review Hyatt. The &apos;isInt&apos; naming was carried over from CSSParserValue, but I&apos;m happy to change it.

&gt;&gt; Source/WebCore/css/CSSCalculationValue.cpp:87
&gt;&gt; +    static PassRefPtr&lt;CSSCalcPrimitiveValue&gt; create(CSSPrimitiveValue* value, bool isInt)
&gt; 
&gt; isInteger would read better.

Done.

&gt;&gt; Source/WebCore/css/CSSCalculationValue.cpp:99
&gt;&gt; +    explicit CSSCalcPrimitiveValue(CSSPrimitiveValue* value, bool isInt)
&gt; 
&gt; Ditto.

Done.

&gt;&gt; Source/WebCore/css/CSSCalculationValue.cpp:113
&gt;&gt; +    {CalcOther,         CalcPercentLength, CalcPercentLength, CalcOther,         CalcPercentLength},
&gt; 
&gt; Minor style nit: I think you should have spaces before and after the { } on each line, e.g.,:
&gt; 
&gt; { CalcNumber,        CalcOther,         CalcPercentNumber, CalcPercentNumber, CalcOther },

Done.

&gt;&gt; Source/WebCore/css/CSSCalculationValue.h:64
&gt;&gt; +    bool isInt() const { return m_isInt; }
&gt; 
&gt; I think isInteger would read better.

Done.

&gt;&gt; Source/WebCore/css/CSSCalculationValue.h:75
&gt;&gt; +    bool m_isInt;
&gt; 
&gt; Ditto.

Done.

&gt;&gt; Source/WebCore/css/CSSParser.cpp:5213
&gt;&gt; +    CSSParser* m_parent;
&gt; 
&gt; I don&apos;t like using the terminology &quot;parent&quot; here. Why not just m_parser?

Yep, that sounds better. Done.

&gt;&gt; Source/WebCore/css/CSSParser.cpp:5602
&gt;&gt; +    : m_parent(parent)
&gt; 
&gt; Same here. Would prefer m_parser.

Done.

&gt;&gt; Source/WebCore/css/CSSParser.cpp:5720
&gt;&gt; +    : m_parent(parent)
&gt; 
&gt; Same here.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544404</commentid>
    <comment_count>19</comment_count>
      <attachid>124376</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-01-27 14:55:47 -0800</bug_when>
    <thetext>Created attachment 124376
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544482</commentid>
    <comment_count>20</comment_count>
      <attachid>124376</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-27 16:05:20 -0800</bug_when>
    <thetext>Comment on attachment 124376
Patch for landing

Clearing flags on attachment: 124376

Committed r106166: &lt;http://trac.webkit.org/changeset/106166&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544483</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-27 16:05:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86890</attachid>
            <date>2011-03-24 23:11:46 -0700</date>
            <delta_ts>2011-12-22 16:25:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57082-20110325171143.patch</filename>
            <type>text/plain</type>
            <size>39771</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE4NzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Fu
ZHJvaWQubWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLm1rCmluZGV4IDFhODQxOTBlOGE3OTli
NDlhYzg0NTM2YmM2YzQ3Y2FkMGE5MmE0MTkuLmM5OGY1Y2E0YzAyODdkY2M0NjJiMzY3ZTlhYTMy
NGQ2ZjZhYjM4NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIv
U291cmNlL1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtMjcsNiArMjcsNyBAQCBMT0NBTF9TUkNfRklM
RVMgOj0gXAogCWJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAgXAog
CVwKIAljc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXAorCWNzcy9DU1NDYWxjVmFsdWUuY3Bw
IFwKIAljc3MvQ1NTQ2FudmFzVmFsdWUuY3BwIFwKIAljc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwK
IAljc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg0
OWIzY2I5N2I2ZTI4NTQ1NDQ5MjJiYjYyNTA1NzY2YjBjMTIzYy4uYTkxOTIwNDY0MDM2YjJiNGFk
N2NlNzA1NjI2NmU3OGYzZTk2YzEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEx
LTAzLTI0ICBNaWtlIExhd3RoZXIgIDxtaWtlbGF3dGhlckBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ1NTIGNhbGMgcGFyc2lu
ZyBzdGFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTcwODIKKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIHBhcnNpbmcgc3RhZ2Ug
b2YgQ1NTIGNhbGMoKS4KKyAgICAgICAgQ2FsYyBzdGlsbCBkb2Vzbid0ICd3b3JrJywgdGhpcyBp
cyBhIHNsaWNlIG9mZiB0aGUgcGF0Y2ggaW4gdGhlIAorICAgICAgICBtYXN0ZXIgYnVnIDE2NjYy
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogQW5kcm9pZC5t
azoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGNzcy9DU1NDYWxjVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnVu
aXRDYXRlZ29yeSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OmlzWmVybyk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OmNzc1RleHQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpDU1NDYWxjUHJpbWl0aXZlVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjppc1pl
cm8pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpjc3NU
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6Q1NT
Q2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNNaW5N
YXhWYWx1ZUxpc3Q6OkNTU0NhbGNNaW5NYXhWYWx1ZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY01pbk1heFZhbHVlTGlzdDo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNNaW5NYXhWYWx1ZUxpc3Q6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01p
bk1heFZhbHVlTGlzdDo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBh
cnNlcjo6cGFyc2VDYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6
cGFyc2VNaW5NYXhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6
b3BlcmF0b3JWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6OnBh
cnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZh
bHVlVGVybSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6OnBhcnNlVmFs
dWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1Zh
bHVlUGFyc2VyOjpwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VWYWx1ZUxpc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVlRXhwcmVzc2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QpOgorICAgICAg
ICAqIGNzcy9DU1NDYWxjVmFsdWUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxj
VmFsdWU6OkNTU0NhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6Omlz
Q2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y2F0ZWdvcnkpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpzZXRDYXRlZ29yeSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmlzSW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNW
YWx1ZTo6c2V0SXNJbnQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6aXNDYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6dmFsaWRVbml0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ2FsYyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OmxleCk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L0NhbGNWYWx1ZS5oOiBBZGRlZC4KKwogMjAxMS0wMy0yNCAgRGltaXRyaSBHbGF6a292ICA8ZGds
YXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQppbmRleCBhNDQ3M2I0MzVmYmY5ZGE5MjU5NDhlMWMzYmM1MzRjNmZj
NmQzMDE2Li45NjhkMWU2N2YxMDI5MDNkOGI0MzBjOWFkYTM0NmIzODJiMjBkYjFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQpAQCAtOTc4LDYgKzk3OCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL0NvdW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jv
cmRlckltYWdlVmFsdWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VW
YWx1ZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2Fu
dmFzVmFsdWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuaCBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBcCkBAIC0yMzQzLDYgKzIzNDUs
NyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5j
RmlsZVN5c3RlbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3Rl
bS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCBcCisJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmggXAkKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Db250ZW50VHlwZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRU
eXBlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmggXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCmluZGV4IDE5M2E5YTVkODU4ODQzMDA4ZDgzODMzMDg2NmUwMGQ5YTFlNTAwOGYuLmRi
YzI5N2I1ZDhkYThhNTQwYjJhYjZjYTAxNzBhNzViMjNiMTA5NjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTIyMzIsNiArMjIzMiw4IEBACiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFs
dWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCcsCiAgICAgICAgICAg
ICAnY3NzL0NTU0NhbnZhc1ZhbHVlLmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NDYWxjVmFsdWUu
Y3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTQ2FsY1ZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nz
cy9DU1NDaGFyc2V0UnVsZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5o
JywKICAgICAgICAgICAgICdjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCcsCkBA
IC0zNDczLDYgKzM0NzUsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL0FzeW5jRmlsZVN5c3Rl
bS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgnLAorICAgICAgICAgICAg
J3BsYXRmb3JtL0NhbGNWYWx1ZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Db250ZW50VHlw
ZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0NvbnRlbnRUeXBlLmgnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL0NvbnRleHRNZW51LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDBlZjhlZGFm
ZDRkOWM0OTdlMzU0Yjg0OGU1NGRiYzgxN2NmZWJlOTcuLjY1NjFkZmNlNWE1N2U3OWQ3YWRkYjM2
M2ZjZDQ5YzZlMDU5Y2IyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJv
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zNzgsNiArMzc4LDcgQEAgdjgg
ewogCiBTT1VSQ0VTICs9IFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXAorICAg
IGNzcy9DU1NDYWxjVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwIFwKICAg
ICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcCBcCkBAIC0xMzM3LDYgKzEzMzgsNyBAQCB2OCB7CiAKIEhFQURFUlMgKz0gXAog
ICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmggXAorICAgIGNzcy9DU1NDYWxjVmFsdWUuaCBc
CiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmggXAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5oIFwK
ICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggXApAQCAtMTg1OSw2ICsxODYx
LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3Qu
aCBcCiAgICAgcGxhdGZvcm0vQXJlbmEuaCBcCiAgICAgcGxhdGZvcm0vQXN5bmNGaWxlU3RyZWFt
LmggXAorICAgIHBsYXRmb3JtL0NhbGNWYWx1ZS5oIFwKICAgICBwbGF0Zm9ybS9Db250ZW50VHlw
ZS5oIFwKICAgICBwbGF0Zm9ybS9Db250ZXh0TWVudS5oIFwKICAgICBwbGF0Zm9ybS9Dcm9zc1Ro
cmVhZENvcGllci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKaW5kZXggN2Q2ODc4YWFlNzIwMDc3Mzg4NjdhNzFkMzcwY2NjM2U4ZmMyY2QzNC4uMWQ4
NjQ2NTA0YmNjNzViMjg1YjM0NjVmOTA3ZjVjOTNiMTllZjg0MSAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI1NzM0LDYgKzI1NzM0LDEwIEBA
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRm
b3JtXENhbGNWYWx1ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxwbGF0Zm9ybVxDb250ZW50VHlwZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpA
QCAtMzE2MTQsNiArMzE2MTgsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0NhbGNWYWx1ZS5jcHAiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NDYWxjVmFsdWUuaCIKKwkJ
CQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0Nh
bnZhc1ZhbHVlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODEzNzA5NjJlMmZmOWY1Y2Rm
N2M2ZTQzN2YzZjhiNjJjMTc4ODE5YS4uNjljMDc2MDVhY2FhNjBjZWM2OTEzZThkMWJjZWE5MjEw
ZTBjMTZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTAzMCw2ICsxMDMwLDkgQEAKIAkJNDkwNzA3RTYxMjE5QzA0MzAwRDkw
RTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5MDcwN0U0MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktp
dEJyaWRnZS5jcHAgKi87IH07CiAJCTQ5MDcwN0U3MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdl
YktpdEJyaWRnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDkwNzA3RTUxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggKi87IH07
CiAJCTQ5Mjg2Mzk5MTI1M0I4RkMwMEY3OTJENiAvKiBSZXNvdXJjZUxvYWRJbmZvLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTI4NjM5ODEyNTNCOEZD
MDBGNzkyRDYgLyogUmVzb3VyY2VMb2FkSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTQ5M0IyOTg3MTJGMjY0MUMwMDIwMzk1MSAvKiBDU1ND
YWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDkzQjI5ODYxMkYyNjQxQzAwMjAzOTUxIC8qIENTU0NhbGNWYWx1ZS5jcHAgKi87IH07CisJ
CTQ5M0IyOTg5MTJGMjY0MjYwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5M0IyOTg4MTJGMjY0MjYwMDIwMzk1
MSAvKiBDU1NDYWxjVmFsdWUuaCAqLzsgfTsKKwkJNDkzQjI5OEQxMkYyNjQzRDAwMjAzOTUxIC8q
IENhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDkzQjI5OEIxMkYyNjQzRDAwMjAzOTUxIC8qIENhbGNWYWx1ZS5oICovOyB9OwogCQk0OTNF
NUUwOTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTNFNUUwODEyRDY0MjA1MDAw
MjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggKi87IH07CiAJCTQ5NDg0RkMxMTAyQ0Yy
M0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTQ4NEZCMzEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFz
R3JhZGllbnQuY3BwICovOyB9OwogCQk0OTQ4NEZDMjEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFz
R3JhZGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ5NDg0RkI0MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5oICovOyB9OwpAQCAt
NzQ4Niw2ICs3NDg5LDkgQEAKIAkJNDkwNzA3RTQxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2Vi
S2l0QnJpZGdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFOR0xF
V2ViS2l0QnJpZGdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDkwNzA3RTUx
MjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFOR0xFV2ViS2l0QnJpZGdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ5Mjg2Mzk4MTI1M0I4RkMwMEY3OTJENiAvKiBSZXNvdXJjZUxvYWRJbmZvLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZEluZm8uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDkzQjI5ODYxMkYyNjQxQzAwMjAzOTUxIC8qIENT
U0NhbGNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1ND
YWxjVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OTNCMjk4ODEyRjI2
NDI2MDAyMDM5NTEgLyogQ1NTQ2FsY1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENTU0NhbGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OTNC
Mjk4QjEyRjI2NDNEMDAyMDM5NTEgLyogQ2FsY1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENhbGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
OTNFNUUwODEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFBsYXRmb3JtQ0FMYXllckNsaWVudC5oOyBwYXRo
ID0gY2EvUGxhdGZvcm1DQUxheWVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ5NDg0RkIzMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBDYW52YXNHcmFkaWVudC5jcHA7IHBhdGgg
PSBjYW52YXMvQ2FudmFzR3JhZGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0OTQ4NEZCNDEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzR3JhZGllbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ2FudmFzR3JhZGllbnQuaDsgcGF0aCA9IGNhbnZhcy9D
YW52YXNHcmFkaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg0NDAsNiAr
MTg0NDYsNyBAQAogCQkJCTg5RDA4RDlEMTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0ZpbGVTeXN0
ZW0uaCAqLywKIAkJCQk4OUQwOEQ5RTEyMjI4NDUxMDAxMjQxREYgLyogQXN5bmNGaWxlU3lzdGVt
Q2FsbGJhY2tzLmggKi8sCiAJCQkJNTFFMUVDQjEwQzkxQzU1NjAwREMyNTVCIC8qIEF1dG9kcmFp
bmVkUG9vbC5oICovLAorCQkJCTQ5M0IyOThCMTJGMjY0M0QwMDIwMzk1MSAvKiBDYWxjVmFsdWUu
aCAqLywKIAkJCQlCQ0M4Q0ZDQTA5ODZDRDI0MDAxNDBCRjIgLyogQ29sb3JEYXRhLmdwZXJmICov
LAogCQkJCTQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5jcHAgKi8sCiAJ
CQkJNDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi8sCkBAIC0xODY5
NCw2ICsxODcwMSw4IEBACiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIu
aWRsICovLAogCQkJCUE4MEU2Q0JCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZh
bHVlLmNwcCAqLywKIAkJCQlBODBFNkNERDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1h
Z2VWYWx1ZS5oICovLAorCQkJCTQ5M0IyOTg2MTJGMjY0MUMwMDIwMzk1MSAvKiBDU1NDYWxjVmFs
dWUuY3BwICovLAorCQkJCTQ5M0IyOTg4MTJGMjY0MjYwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUu
aCAqLywKIAkJCQlCQzYwNEE0MjBEQjU2MzRFMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuY3Bw
ICovLAogCQkJCUJDNjA0OUNCMERCNTYwQzIwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5oICov
LAogCQkJCUUxRUJCQkQzMEFBQzlCODcwMDFGRThFMiAvKiBDU1NDaGFyc2V0UnVsZS5jcHAgKi8s
CkBAIC0xOTc5OCw2ICsxOTgwNyw3IEBACiAJCQkJQkNENTMzNjQwRUQ2ODQ4OTAwODg3NDY4IC8q
IENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IxNkMy
ODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hlUG9saWN5LmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0OTNCMjk4RDEyRjI2NDNEMDAyMDM5NTEgLyogQ2FsY1ZhbHVlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2RTRFOTFBRDEwRjdGQjMxMDBBMjc3OUMgLyogQ2FudmFzQ29udGV4dEF0
dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NDg0RkMyMTAyQ0YyM0MwMDE4N0REMyAv
KiBDYW52YXNHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk0ODRGQzUxMDJDRjIzQzAw
MTg3REQzIC8qIENhbnZhc1BhdHRlcm4uaCBpbiBIZWFkZXJzICovLApAQCAtMTk4NzIsNiArMTk4
ODIsNyBAQAogCQkJCUUxNjk4MDNEMTEzMzU0MkQwMDg5NDExNSAvKiBDUnVudGltZU9iamVjdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTc1Q0EyOEIxMzAzNjVGODAwRTk5QUQ5IC8qIENyeXB0by5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZEMDcwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRl
ckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5M0IyOTg5MTJGMjY0MjYwMDIwMzk1
MSAvKiBDU1NDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNjA0OUNDMERCNTYwQzIw
MDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZDRjkw
QTE5ODlDQTAwN0ZCOEM1IC8qIENTU0NoYXJzZXRSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
Q0VBNDc5MDA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgg
aW4gSGVhZGVycyAqLywKQEAgLTIzMTc4LDYgKzIzMTg5LDcgQEAKIAkJCQk5NzVDQTI4QTEzMDM2
NUY4MDBFOTlBRDkgLyogQ3J5cHRvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU2Q0U1MEEx
OTg5Q0EwMDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDNjA0QTQzMERCNTYzNEUwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk0OTNCMjk4NzEyRjI2NDFDMDAyMDM5NTEgLyogQ1NTQ2FsY1ZhbHVlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUUxRUJCQkQ0MEFBQzlCODcwMDFGRThFMiAvKiBDU1NDaGFy
c2V0UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDc4RjA5N0NBQUM4MDA5NEM5RTQg
LyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUFB
MjFFQ0NBMEFCRjBGQkEwMDJCODM0QyAvKiBDU1NDdXJzb3JJbWFnZVZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDc1
NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOGI1M2Ux
YjhhNmEzZmNiM2U0YTRlYTU5ZGIwYjczMzIzZDE3MWM4Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAKQEAgLTAsMCArMSw0MTMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCisKKyNpbmNsdWRlICJDU1NT
dHlsZVNlbGVjdG9yLmgiCisjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCisjaW5jbHVkZSAiTGVu
Z3RoLmgiCisKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgQ2FsY1ZhbHVlOjpVbml0Q2F0
ZWdvcnkgdW5pdENhdGVnb3J5KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMgdHlwZSkKK3sK
KyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVN
QkVSOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSU5URUdFUjoKKyAg
ICAgICAgcmV0dXJuIENhbGNWYWx1ZTo6VU51bWJlcjsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUEVSQ0VOVEFHRToKKyAgICAgICAgcmV0dXJuIENhbGNWYWx1ZTo6VVBlcmNlbnQ7
CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUzoKKyAgICBjYXNlIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfRVhTOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWDoK
KyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ006CisgICAgY2FzZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX01NOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JTjoKKyAg
ICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUFQ6CisgICAgY2FzZSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX1BDOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SRU1TOgorICAg
ICAgICByZXR1cm4gQ2FsY1ZhbHVlOjpVTGVuZ3RoOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJl
dHVybiBDYWxjVmFsdWU6OlVPdGhlcjsKKyAgICB9Cit9CisgICAgCisgICAgCitjbGFzcyBDU1ND
YWxjUHJpbWl0aXZlVmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKworICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNQcmltaXRpdmVWYWx1ZT4gY3JlYXRlKENTU1ByaW1p
dGl2ZVZhbHVlKiB2YWx1ZSwgYm9vbCBpc0ludCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKHZhbHVlLCBpc0ludCkpOworICAgIH0KKyAg
ICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biAhbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFN0cmlu
ZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVlLT5jc3NUZXh0
KCk7CisgICAgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IENTU0NhbGNQcmltaXRpdmVWYWx1
ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUsIGJvb2wgaXNJbnQpCisgICAgICAgIDogbV92YWx1
ZSh2YWx1ZSkgICAgICAgICAgICAgICAgIAorICAgIHsKKyAgICAgICAgbV9jYXRlZ29yeSA9IHVu
aXRDYXRlZ29yeSgoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2YWx1ZS0+cHJpbWl0aXZl
VHlwZSgpKTsKKyAgICAgICAgbV9pc0ludCA9IGlzSW50OworICAgIH0KKworICAgIFJlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4gbV92YWx1ZTsKK307CisKK2NsYXNzIENTU0NhbGNCaW5hcnlPcGVy
YXRpb25WYWx1ZSA6IHB1YmxpYyBDU1NDYWxjVmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPENTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZT4gY3JlYXRlKFBhc3NSZWZQdHI8
Q1NTQ2FsY1ZhbHVlPiBsZWZ0U2lkZSwgUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IHJpZ2h0U2lk
ZSwgY2hhciBvcCkKKyAgICB7CisgICAgICAgIENhbGNWYWx1ZTo6VW5pdENhdGVnb3J5IGxlZnRD
YXRlZ29yeSA9IGxlZnRTaWRlLT5jYXRlZ29yeSgpOworICAgICAgICBDYWxjVmFsdWU6OlVuaXRD
YXRlZ29yeSByaWdodENhdGVnb3J5ID0gcmlnaHRTaWRlLT5jYXRlZ29yeSgpOworICAgICAgICBD
YWxjVmFsdWU6OlVuaXRDYXRlZ29yeSBuZXdDYXRlZ29yeTsKKyAgICAgICAgCisgICAgICAgIHN3
aXRjaCAob3ApIHsKKyAgICAgICAgY2FzZSAnKyc6CisgICAgICAgIGNhc2UgJy0nOgorICAgICAg
ICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGxlZnRDYXRlZ29yeSA9PSByaWdodENhdGVnb3J5
KSAgICAKKyAgICAgICAgICAgICAgICBuZXdDYXRlZ29yeSA9IGxlZnRDYXRlZ29yeTsKKyAgICAg
ICAgICAgIGVsc2UgaWYgKGxlZnRDYXRlZ29yeSA9PSBDYWxjVmFsdWU6OlVOdW1iZXIgfHwgcmln
aHRDYXRlZ29yeSA9PSBDYWxjVmFsdWU6OlVOdW1iZXIpCisgICAgICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgICAgICBlbHNlICAgIAorICAgICAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0g
Q2FsY1ZhbHVlOjpVUGVyY2VudDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
IAorICAgICAgICBjYXNlICcqJzoKKyAgICAgICAgICAgIGlmIChsZWZ0Q2F0ZWdvcnkgIT0gQ2Fs
Y1ZhbHVlOjpVTnVtYmVyICYmIHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY1ZhbHVlOjpVTnVtYmVyKSAK
KyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYg
KGxlZnRDYXRlZ29yeSA9PSBDYWxjVmFsdWU6OlVOdW1iZXIpCisgICAgICAgICAgICAgICAgbmV3
Q2F0ZWdvcnkgPSByaWdodENhdGVnb3J5OworICAgICAgICAgICAgZWxzZSAKKyAgICAgICAgICAg
ICAgICBuZXdDYXRlZ29yeSA9IGxlZnRDYXRlZ29yeTsKKyAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgIGNhc2UgJy8nOgorICAgICAgICBjYXNlICclJzoKKyAgICAgICAgICAgIGlmIChyaWdo
dENhdGVnb3J5ICE9IENhbGNWYWx1ZTo6VU51bWJlciB8fCByaWdodFNpZGUtPmlzWmVybygpKQor
ICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBsZWZ0
Q2F0ZWdvcnk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBkZWZhdWx0OgorICAgICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgfQorICAgICAgICAKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NDYWxjQmluYXJ5
T3BlcmF0aW9uVmFsdWUobGVmdFNpZGUsIHJpZ2h0U2lkZSwgb3AsIG5ld0NhdGVnb3J5KSk7Cisg
ICAgfQorICAgIAorICAgIHZpcnR1YWwgYm9vbCBpc1plcm8oKSBjb25zdAorICAgIHsKKyAgICAg
ICAgLy8gRklYTUU6IFdlIGNhbiByZXR1cm4gdHJ1ZSBmb3Igc29tZSBjYXNlcyAoZS5nLiwgMyAt
IDMsIDMgKiAwLCBhbmQgZXRjLikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAg
IHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdAorICAgIHsKKyAgICAgICAgU3RyaW5nIHJl
c3VsdCA9ICIoIjsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChtX2xlZnRTaWRlLT5jc3NUZXh0KCkp
OworICAgICAgICByZXN1bHQuYXBwZW5kKG1fb3BlcmF0b3IpOworICAgICAgICByZXN1bHQuYXBw
ZW5kKG1fcmlnaHRTaWRlLT5jc3NUZXh0KCkpOworICAgICAgICByZXN1bHQuYXBwZW5kKCcpJyk7
CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCitwcml2YXRlOgorICAgIENTU0NhbGNC
aW5hcnlPcGVyYXRpb25WYWx1ZShQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gbGVmdFNpZGUsIFBh
c3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiByaWdodFNpZGUsIGNoYXIgb3AsIENhbGNWYWx1ZTo6VW5p
dENhdGVnb3J5IGNhdGVnb3J5KQorICAgICAgICA6IG1fbGVmdFNpZGUobGVmdFNpZGUpCisgICAg
ICAgICwgbV9yaWdodFNpZGUocmlnaHRTaWRlKQorICAgICAgICAsIG1fb3BlcmF0b3Iob3ApCisg
ICAgeworICAgICAgICBBU1NFUlQob3AgPT0gJysnIHx8IG9wID09ICctJyB8fCBvcCA9PSAnKicg
fHwgb3AgPT0gJy8nIHx8IG9wID09ICclJyk7ICAKKyAgICAgICAgbV9jYXRlZ29yeSA9IGNhdGVn
b3J5OworICAgICAgICBtX2lzSW50ID0gbV9sZWZ0U2lkZS0+aXNJbnQoKSAmJiBtX3JpZ2h0U2lk
ZS0+aXNJbnQoKTsKKyAgICB9CisgICAgCisgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9sZWZ0
U2lkZTsKKyAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBtX3JpZ2h0U2lkZTsKKyAgICBjaGFyIG1f
b3BlcmF0b3I7Cit9OworCitjbGFzcyBDU1NDYWxjTWluTWF4VmFsdWVMaXN0IDogcHVibGljIENT
U0NhbGNWYWx1ZSB7CitwdWJsaWM6CisgICAgZW51bSBMaXN0VHlwZSB7IE1JTiwgTUFYIH07CisK
KyAgICBDU1NDYWxjTWluTWF4VmFsdWVMaXN0KExpc3RUeXBlIHR5cGUpCisgICAgICAgIDogbV9s
aXN0VHlwZSh0eXBlKQorICAgICAgICAsIG1fbGlzdCgpCisgICAgeworICAgIH0KKworICAgIHZp
cnR1YWwgYm9vbCBpc1plcm8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgU3RyaW5nIHJlc3VsdCA9ICIiOworICAgICAgICBpZiAobV9saXN0VHlwZSA9PSBNSU4pCisg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKCItd2Via2l0LW1pbigiKTsKKyAgICAgICAgZWxzZSAK
KyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoIi13ZWJraXQtbWF4KCIpOworICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBy
ZXN1bHQuYXBwZW5kKG1fbGlzdFtpXS5nZXQoKS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgICAgIHJl
c3VsdC5hcHBlbmQoIiwgIik7CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnKScp
OworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIHZvaWQgYXBwZW5kKFBhc3NS
ZWZQdHI8Q1NTQ2FsY1ZhbHVlPiB2YWx1ZSkgCisgICAgeworICAgICAgICBtX2xpc3QuYXBwZW5k
KHZhbHVlKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgTGlzdFR5cGUgbV9saXN0VHlwZTsKKyAg
ICBWZWN0b3I8UmVmUHRyPENTU0NhbGNWYWx1ZT4gPiBtX2xpc3Q7Cit9OworCisjZGVmaW5lIENI
RUNLX0RFUFRIX0FORF9JTkRFWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICsrZGVwdGg7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmIChk
ZXB0aCA+IDEwMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmICgqaW5kZXggPj0gdG9rZW5zLT5zaXpl
KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgfSB3aGlsZSAoMCkKKworY2xhc3MgQ1NTQ2FsY1ZhbHVlUGFyc2VyIHsKK3B1YmxpYzoK
KyAgICBQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gcGFyc2VDYWxjKENTU1BhcnNlclZhbHVlTGlz
dCogdG9rZW5zKQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgICAgICBW
YWx1ZSByZXN1bHQ7CisgICAgICAgIGJvb2wgb2sgPSBwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tl
bnMsIDAsICZpbmRleCwgJnJlc3VsdCk7CisgICAgICAgIEFTU0VSVChpbmRleCA8PSB0b2tlbnMt
PnNpemUoKSk7CisgICAgICAgIGlmICghb2sgCisgICAgICAgICAgICB8fCAocmVzdWx0LnZhbHVl
LT5pc0NhbGNWYWx1ZSgpICYmIHJlc3VsdC52YWx1ZS0+Y2F0ZWdvcnkoKSA9PSBDYWxjVmFsdWU6
OlVOdW1iZXIpCisgICAgICAgICAgICB8fCBpbmRleCAhPSB0b2tlbnMtPnNpemUoKSkKKyAgICAg
ICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gcmVzdWx0LnZhbHVlOworICAgIH0KKwor
ICAgIFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBwYXJzZU1pbk1heExpc3QoQ1NTQ2FsY01pbk1h
eFZhbHVlTGlzdDo6TGlzdFR5cGUgdHlwZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMpCisg
ICAgeworICAgICAgICB1bnNpZ25lZCBpbmRleCA9IDA7CisgICAgICAgIENTU0NhbGNNaW5NYXhW
YWx1ZUxpc3QqIHJlc3VsdCA9IG5ldyBDU1NDYWxjTWluTWF4VmFsdWVMaXN0KHR5cGUpOworCisg
ICAgICAgIGJvb2wgb2sgPSBwYXJzZVZhbHVlTGlzdCh0b2tlbnMsIDAsICZpbmRleCwgcmVzdWx0
KTsKKyAgICAgICAgQVNTRVJUKGluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgaWYg
KCFvayB8fCBpbmRleCAhPSB0b2tlbnMtPnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYocmVzdWx0KTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAg
c3RydWN0IFZhbHVlIHsKKyAgICAgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gdmFsdWU7CisgICAg
fTsKKworICAgIGNoYXIgb3BlcmF0b3JWYWx1ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2Vucywg
dW5zaWduZWQgaW5kZXgpCisgICAgeworICAgICAgICBpZiAoaW5kZXggPj0gdG9rZW5zLT5zaXpl
KCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVl
ID0gdG9rZW5zLT52YWx1ZUF0KGluZGV4KTsKKyAgICAgICAgaWYgKHZhbHVlLT51bml0ICE9IENT
U1BhcnNlclZhbHVlOjpPcGVyYXRvcikKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAg
IHJldHVybiB2YWx1ZS0+aVZhbHVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZShDU1NQ
YXJzZXJWYWx1ZUxpc3QqIHRva2VucywgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQor
ICAgIHsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHBhcnNlclZhbHVlID0gdG9rZW5zLT52YWx1
ZUF0KCppbmRleCk7CisgICAgICAgIGlmIChwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJW
YWx1ZTo6T3BlcmF0b3IgfHwgcGFyc2VyVmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OkZ1
bmN0aW9uKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIFJlZlB0cjxDU1NW
YWx1ZT4gdmFsdWUgPSBwYXJzZXJWYWx1ZS0+Y3JlYXRlQ1NTVmFsdWUoKTsKKyAgICAgICAgaWYg
KCF2YWx1ZSB8fCAhdmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBz
dGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlLmdldCgpKTsKKyAgICAgICAgcmVz
dWx0LT52YWx1ZSA9IENTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHByaW1pdGl2ZVZhbHVl
LCBwYXJzZXJWYWx1ZS0+aXNJbnQpOworCisgICAgICAgICsrKmluZGV4OworICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVUZXJtKENTU1BhcnNlclZhbHVl
TGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkK
KyAgICB7CisgICAgICAgIENIRUNLX0RFUFRIX0FORF9JTkRFWDsKKworICAgICAgICBpZiAob3Bl
cmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCkgPT0gJygnKSB7CisgICAgICAgICAgICB1bnNpZ25l
ZCBjdXJyZW50SW5kZXggPSAqaW5kZXggKyAxOworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVl
RXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCAmY3VycmVudEluZGV4LCByZXN1bHQpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgaWYgKG9wZXJhdG9yVmFsdWUo
dG9rZW5zLCBjdXJyZW50SW5kZXgpICE9ICcpJykKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgICAgICAqaW5kZXggPSBjdXJyZW50SW5kZXggKyAxOworICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gcGFyc2VWYWx1ZSh0b2tl
bnMsIGluZGV4LCByZXN1bHQpOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZU11bHRpcGxp
Y2F0aXZlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1
bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBDSEVDS19ERVBU
SF9BTkRfSU5ERVg7CisKKyAgICAgICAgaWYgKCFwYXJzZVZhbHVlVGVybSh0b2tlbnMsIGRlcHRo
LCBpbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICB3
aGlsZSAoKmluZGV4IDwgdG9rZW5zLT5zaXplKCkgLSAxKSB7CisgICAgICAgICAgICBjaGFyIG9w
ZXJhdG9yQ2hhcmFjdGVyID0gb3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCk7CisgICAgICAg
ICAgICBpZiAob3BlcmF0b3JDaGFyYWN0ZXIgIT0gJyonICYmIG9wZXJhdG9yQ2hhcmFjdGVyICE9
ICcvJyAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSAnJScpCisgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICArKyppbmRleDsKKworICAgICAgICAgICAgVmFsdWUgcmhzOworICAgICAg
ICAgICAgaWYgKCFwYXJzZVZhbHVlVGVybSh0b2tlbnMsIGRlcHRoLCBpbmRleCwgJnJocykpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICByZXN1bHQtPnZhbHVl
ID0gQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpjcmVhdGUocmVzdWx0LT52YWx1ZSwgcmhz
LnZhbHVlLCBvcGVyYXRvckNoYXJhY3Rlcik7CisgICAgICAgICAgICBpZiAoIXJlc3VsdC0+dmFs
dWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAg
QVNTRVJUKCppbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKworICAgIGJvb2wgcGFyc2VBZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbihDU1NQYXJzZXJW
YWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1
bHQpCisgICAgeworICAgICAgICBDSEVDS19ERVBUSF9BTkRfSU5ERVg7CisKKyAgICAgICAgaWYg
KCFwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4
LCByZXN1bHQpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHdoaWxlICgq
aW5kZXggPCB0b2tlbnMtPnNpemUoKSAtIDEpIHsKKyAgICAgICAgICAgIGNoYXIgb3BlcmF0b3JD
aGFyYWN0ZXIgPSBvcGVyYXRvclZhbHVlKHRva2VucywgKmluZGV4KTsKKyAgICAgICAgICAgIGlm
IChvcGVyYXRvckNoYXJhY3RlciAhPSAnKycgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0gJy0nKQor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKysqaW5kZXg7CisKKyAgICAgICAg
ICAgIFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZl
RXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgJnJocykpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICByZXN1bHQtPnZhbHVlID0gQ1NTQ2FsY0JpbmFy
eU9wZXJhdGlvblZhbHVlOjpjcmVhdGUocmVzdWx0LT52YWx1ZSwgcmhzLnZhbHVlLCBvcGVyYXRv
ckNoYXJhY3Rlcik7CisgICAgICAgICAgICBpZiAoIXJlc3VsdC0+dmFsdWUpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgQVNTRVJUKCppbmRleCA8
PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJv
b2wgcGFyc2VWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwg
dW5zaWduZWQqIGluZGV4LCBDU1NDYWxjTWluTWF4VmFsdWVMaXN0KiByZXN1bHQpCisgICAgewor
ICAgICAgICBib29sIGZpcnN0ID0gdHJ1ZTsKKyAgICAgICAgd2hpbGUgKCppbmRleCA8IHRva2Vu
cy0+c2l6ZSgpKSB7CisgICAgICAgICAgICBWYWx1ZSBuZXh0OworICAgICAgICAgICAgaWYgKCFw
YXJzZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgJm5leHQpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgaWYgKGZpcnN0KSB7CisgICAg
ICAgICAgICAgICAgcmVzdWx0LT5zZXRDYXRlZ29yeShuZXh0LnZhbHVlLT5jYXRlZ29yeSgpKTsK
KyAgICAgICAgICAgICAgICByZXN1bHQtPnNldElzSW50KG5leHQudmFsdWUtPmlzSW50KCkpOwor
ICAgICAgICAgICAgICAgIGZpcnN0ID0gZmFsc2U7CisgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgIENhbGNWYWx1ZTo6VW5pdENhdGVnb3J5IGN1cnJlbnQgPSByZXN1bHQtPmNh
dGVnb3J5KCk7CisgICAgICAgICAgICAgICAgQ2FsY1ZhbHVlOjpVbml0Q2F0ZWdvcnkgaW5jb21p
bmcgPSBuZXh0LnZhbHVlLT5jYXRlZ29yeSgpOworCisgICAgICAgICAgICAgICAgaWYgKGN1cnJl
bnQgPT0gaW5jb21pbmcpCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC0+c2V0Q2F0ZWdvcnko
Y3VycmVudCk7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoY3VycmVudCA9PSBDYWxjVmFsdWU6
OlVOdW1iZXIgfHwgaW5jb21pbmcgPT0gQ2FsY1ZhbHVlOjpVTnVtYmVyKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgZWxzZSAKKyAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0LT5zZXRDYXRlZ29yeShDYWxjVmFsdWU6OlVQZXJjZW50KTsKKyAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgICAgICByZXN1bHQtPnNldElzSW50KHJlc3VsdC0+aXNJ
bnQoKSAmJiBuZXh0LnZhbHVlLT5pc0ludCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IAorICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQobmV4dC52YWx1ZSk7CisKKyAgICAgICAgICAg
IGNoYXIgb3BlcmF0b3JDaGFyYWN0ZXIgPSBvcGVyYXRvclZhbHVlKHRva2VucywgKmluZGV4KTsK
KyAgICAgICAgICAgIGlmIChvcGVyYXRvckNoYXJhY3RlciAhPSAnLCcpCisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsKKyAgICAgICAgfQorCisgICAgICAgIEFT
U0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCog
dG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7
CisgICAgICAgIHJldHVybiBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKHRva2VucywgZGVw
dGgsIGluZGV4LCByZXN1bHQpOworICAgIH0KK307CisKK1Bhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVl
PiBDU1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoQ1NTUGFyc2VyU3RyaW5n
IG5hbWUsIENTU1BhcnNlclZhbHVlTGlzdCogcGFyc2VyVmFsdWVMaXN0KQoreyAgICAKKyAgICBD
U1NDYWxjVmFsdWVQYXJzZXIgcGFyc2VyOyAgICAKKworICAgIGlmIChlcXVhbElnbm9yaW5nQ2Fz
ZShuYW1lLCAiLXdlYmtpdC1jYWxjKCIpKQorICAgICAgICByZXR1cm4gcGFyc2VyLnBhcnNlQ2Fs
YyhwYXJzZXJWYWx1ZUxpc3QpOworICAgIAorICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1l
LCAiLXdlYmtpdC1taW4oIikpCisgICAgICAgIHJldHVybiBwYXJzZXIucGFyc2VNaW5NYXhMaXN0
KENTU0NhbGNNaW5NYXhWYWx1ZUxpc3Q6Ok1JTiwgcGFyc2VyVmFsdWVMaXN0KTsKKyAgICAKKyAg
ICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIi13ZWJraXQtbWF4KCIpKQorICAgICAgICBy
ZXR1cm4gcGFyc2VyLnBhcnNlTWluTWF4TGlzdChDU1NDYWxjTWluTWF4VmFsdWVMaXN0OjpNQVgs
IHBhcnNlclZhbHVlTGlzdCk7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1
cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhiYjk5NWNiYjBlOWNlMGE4ZDZiOTA5ODQ4MDU4MTc5NWQ4YTlhMDEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmgKQEAg
LTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgQ1NTQ2FsY1ZhbHVlX2gKKyNkZWZpbmUgQ1NTQ2FsY1ZhbHVl
X2gKKworI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVlcy5oIgorI2luY2x1ZGUgIkNTU1ZhbHVlLmgi
CisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NT
UGFyc2VyVmFsdWVMaXN0OworY2xhc3MgQ1NTVmFsdWVMaXN0OworCitjbGFzcyBDU1NDYWxjVmFs
dWUgOiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENT
U0NhbGNWYWx1ZT4gY3JlYXRlRnJvbVBhcnNlclZhbHVlTGlzdChDU1NQYXJzZXJTdHJpbmcgbmFt
ZSwgQ1NTUGFyc2VyVmFsdWVMaXN0Kik7CisgICAgQ1NTQ2FsY1ZhbHVlKCkgOiBtX2NhdGVnb3J5
KENhbGNWYWx1ZTo6VU90aGVyKSwgbV9pc0ludCh0cnVlKSB7fQorCisgICAgdmlydHVhbCBib29s
IGlzQ2FsY1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgdmlydHVhbCBib29s
IGlzWmVybygpIGNvbnN0ID0gMDsKKyAgICAKKyAgICBDYWxjVmFsdWU6OlVuaXRDYXRlZ29yeSBj
YXRlZ29yeSgpIGNvbnN0IHsgcmV0dXJuIG1fY2F0ZWdvcnk7IH0KKyAgICB2b2lkIHNldENhdGVn
b3J5KENhbGNWYWx1ZTo6VW5pdENhdGVnb3J5IGNhdGVnb3J5KSB7IG1fY2F0ZWdvcnkgPSBjYXRl
Z29yeTsgfQorICAgIAorICAgIGJvb2wgaXNJbnQoKSBjb25zdCB7IHJldHVybiBtX2lzSW50OyB9
CisgICAgdm9pZCBzZXRJc0ludChib29sIGlzSW50KSB7IG1faXNJbnQgPSBpc0ludDsgfQorICAg
IAorcHJvdGVjdGVkOiAgICAKKyAgICBDYWxjVmFsdWU6OlVuaXRDYXRlZ29yeSBtX2NhdGVnb3J5
OworICAgIGJvb2wgbV9pc0ludDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIENTU0NhbGNWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGE4MmMw
NjAwMzNmYmM3NjhlY2FkMzdkZDAyZWE4ZTg5MjQ1NTFiNjQuLjg1NzdiMjkzNjkzODNlMzI0MDZh
NGU2NDQyMjhlYTk5ZWY4NDRjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0xMjks
NiArMTI5LDE0IEBAIHN0YXRpYyBib29sIGhhc1ByZWZpeChjb25zdCBjaGFyKiBzdHJpbmcsIHVu
c2lnbmVkIGxlbmd0aCwgY29uc3QgY2hhciogcHJlZml4KQogICAgIHJldHVybiBmYWxzZTsKIH0K
IAorc3RhdGljIGJvb2wgaXNDYWxjKENTU1BhcnNlclZhbHVlKiB2YWx1ZSkgCit7CisgICAgcmV0
dXJuICh2YWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24pIAorICAgICAgICAm
JiAoZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jYWxj
KCIpCisgICAgICAgICAgICB8fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5h
bWUsICItd2Via2l0LW1pbigiKQorICAgICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFs
dWUtPmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1tYXgoIikpOworfQorCiBDU1NQYXJzZXI6OkNT
U1BhcnNlcihib29sIHN0cmljdFBhcnNpbmcpCiAgICAgOiBtX3N0cmljdChzdHJpY3RQYXJzaW5n
KQogICAgICwgbV9pbXBvcnRhbnQoZmFsc2UpCkBAIC00NzIsNTAgKzQ4MCw2OCBAQCBEb2N1bWVu
dCogQ1NTUGFyc2VyOjpkb2N1bWVudCgpIGNvbnN0CiBib29sIENTU1BhcnNlcjo6dmFsaWRVbml0
KENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgVW5pdHMgdW5pdGZsYWdzLCBib29sIHN0cmljdCkKIHsK
ICAgICBib29sIGIgPSBmYWxzZTsKLSAgICBzd2l0Y2ggKHZhbHVlLT51bml0KSB7Ci0gICAgY2Fz
ZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUjoKLSAgICAgICAgYiA9ICh1bml0ZmxhZ3Mg
JiBGTnVtYmVyKTsKLSAgICAgICAgaWYgKCFiICYmICgodW5pdGZsYWdzICYgKEZMZW5ndGggfCBG
QW5nbGUgfCBGVGltZSkpICYmICh2YWx1ZS0+ZlZhbHVlID09IDAgfHwgIXN0cmljdCkpKSB7Ci0g
ICAgICAgICAgICB2YWx1ZS0+dW5pdCA9ICh1bml0ZmxhZ3MgJiBGTGVuZ3RoKSA/IENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfUFggOgotICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVuaXRmbGFn
cyAmIEZBbmdsZSkgPyBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0RFRyA6IENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfTVMpOwotICAgICAgICAgICAgYiA9IHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAg
aWYgKCFiICYmICh1bml0ZmxhZ3MgJiBGSW50ZWdlcikgJiYgdmFsdWUtPmlzSW50KQotICAgICAg
ICAgICAgYiA9IHRydWU7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19QRVJDRU5UQUdFOgotICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQZXJjZW50KTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDU1NQYXJzZXJWYWx1ZTo6UV9FTVM6Ci0gICAgY2Fz
ZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUzoKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUkVNUzoKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRVhTOgotICAgIGNh
c2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWDoKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfQ006Ci0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX01NOgotICAgIGNhc2Ug
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JTjoKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfUFQ6Ci0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BDOgotICAgICAgICBiID0g
KHVuaXRmbGFncyAmIEZMZW5ndGgpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfTVM6Ci0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1M6Ci0g
ICAgICAgIGIgPSAodW5pdGZsYWdzICYgRlRpbWUpOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfREVHOgotICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19SQUQ6Ci0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0dSQUQ6Ci0gICAgY2Fz
ZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1RVUk46Ci0gICAgICAgIGIgPSAodW5pdGZsYWdzICYg
RkFuZ2xlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X0haOgotICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19LSFo6Ci0gICAgY2FzZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX0RJTUVOU0lPTjoKLSAgICBkZWZhdWx0OgotICAgICAgICBicmVh
azsKKyAgICBpZiAoaXNDYWxjKHZhbHVlKSAmJiBwYXJzZUNhbGModmFsdWUpKSB7CisgICAgICAg
IHN3aXRjaCAobV9wYXJzZWRDYWxjLT5jYXRlZ29yeSgpKSB7CisgICAgICAgIGNhc2UgQ2FsY1Zh
bHVlOjpVTGVuZ3RoOgorICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGTGVuZ3RoKTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENhbGNWYWx1ZTo6VVBlcmNlbnQ6CisgICAg
ICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQZXJjZW50KTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIENhbGNWYWx1ZTo6VU51bWJlcjoKKyAgICAgICAgICAgIGIgPSAodW5pdGZs
YWdzICYgRk51bWJlcik7CisgICAgICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRl
Z2VyKSAmJiBtX3BhcnNlZENhbGMtPmlzSW50KCkpCisgICAgICAgICAgICAgICAgYiA9IHRydWU7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgc3dpdGNoICh2YWx1ZS0+dW5pdCkg
eworICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSOgorICAgICAgICAg
ICAgYiA9ICh1bml0ZmxhZ3MgJiBGTnVtYmVyKTsKKyAgICAgICAgICAgIGlmICghYiAmJiAoKHVu
aXRmbGFncyAmIChGTGVuZ3RoIHwgRkFuZ2xlIHwgRlRpbWUpKSAmJiAoIXZhbHVlLT5mVmFsdWUg
fHwgIXN0cmljdCkpKSB7CisgICAgICAgICAgICAgICAgdmFsdWUtPnVuaXQgPSAodW5pdGZsYWdz
ICYgRkxlbmd0aCkgPyBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYIDoKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICgodW5pdGZsYWdzICYgRkFuZ2xlKSA/IENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfREVHIDogQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NUyk7CisgICAgICAgICAgICAgICAg
YiA9IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFn
cyAmIEZJbnRlZ2VyKSAmJiB2YWx1ZS0+aXNJbnQpCisgICAgICAgICAgICAgICAgYiA9IHRydWU7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X1BFUkNFTlRBR0U6CisgICAgICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQZXJjZW50KTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENTU1BhcnNlclZhbHVlOjpRX0VNUzoKKyAg
ICAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUzoKKyAgICAgICAgY2FzZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6CisgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19FWFM6CisgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWDoKKyAgICAg
ICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NNOgorICAgICAgICBjYXNlIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfTU06CisgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19J
TjoKKyAgICAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BUOgorICAgICAgICBjYXNl
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEM6CisgICAgICAgICAgICBiID0gKHVuaXRmbGFncyAm
IEZMZW5ndGgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19NUzoKKyAgICAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1M6Cisg
ICAgICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZUaW1lKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfREVHOgorICAgICAgICBjYXNlIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfUkFEOgorICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfR1JBRDoKKyAgICAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1RVUk46Cisg
ICAgICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZBbmdsZSk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0haOgorICAgICAgICBjYXNlIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfS0haOgorICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfRElNRU5TSU9OOgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKGIgJiYgdW5pdGZsYWdzICYgRk5vbk5lZyAmJiB2YWx1ZS0+
ZlZhbHVlIDwgMCkKKyAgICAgICAgICAgIGIgPSBmYWxzZTsKICAgICB9Ci0gICAgaWYgKGIgJiYg
dW5pdGZsYWdzICYgRk5vbk5lZyAmJiB2YWx1ZS0+ZlZhbHVlIDwgMCkKLSAgICAgICAgYiA9IGZh
bHNlOwogICAgIHJldHVybiBiOwogfQogCkBAIC02MDMsNiArNjI5LDggQEAgYm9vbCBDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgaWYgKCF2YWx1
ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgQVNTRVJUKCFtX3BhcnNlZENhbGMuZ2V0
KCkpOworICAgIAogICAgIGludCBpZCA9IHZhbHVlLT5pZDsKIAogICAgIC8vIEluIHF1aXJrcyBt
b2RlLCB3ZSB3aWxsIGxvb2sgZm9yIHVuaXRzIHRoYXQgaGF2ZSBiZWVuIGluY29ycmVjdGx5IHNl
cGFyYXRlZCBmcm9tIHRoZSBudW1iZXIgdGhleSBiZWxvbmcgdG8KQEAgLTE4NjQsNiArMTg5Miwx
MSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFu
dCkKICAgICAgICAgICAgIHBhcnNlZFZhbHVlID0gcHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVh
dGVWYWx1ZSh2YWx1ZS0+ZlZhbHVlLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcykgdmFs
dWUtPnVuaXQpOwogICAgICAgICBlbHNlIGlmICh2YWx1ZS0+dW5pdCA+PSBDU1NQYXJzZXJWYWx1
ZTo6UV9FTVMpCiAgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IENTU1F1aXJrUHJpbWl0aXZlVmFs
dWU6OmNyZWF0ZSh2YWx1ZS0+ZlZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUyk7Cisg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKGlzQ2FsYyh2YWx1ZSkpOworICAgICAg
ICAgICAgLy8gRklYTUU6IGNyZWF0ZSBDU1NQcmltaXRpdmVWYWx1ZSBmcm9tIGNhbGMgdmFsdWUg
aGVyZQorICAgICAgICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKKyAgICAgICAgfQogICAg
ICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgIH0KICAgICBpZiAocGFyc2VkVmFsdWUpIHsK
QEAgLTU2NjEsNiArNTY5NCwyMiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VMaW5lQm94Q29udGFp
bihib29sIGltcG9ydGFudCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBDU1NQYXJzZXI6
OnBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUpIAoreworICAgIEFTU0VSVChpc0NhbGMo
dmFsdWUpKTsKKyAgICAKKyAgICBDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MgPSB2YWx1ZS0+ZnVu
Y3Rpb24tPmFyZ3MuZ2V0KCk7CisgICAgaWYgKCFhcmdzIHx8ICFhcmdzLT5zaXplKCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIG1fcGFyc2VkQ2FsYyA9IENTU0NhbGNWYWx1ZTo6Y3Jl
YXRlRnJvbVBhcnNlclZhbHVlTGlzdCh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsIGFyZ3MpOworICAg
IAorICAgIGlmICghbV9wYXJzZWRDYWxjLmdldCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgCisgICAgcmV0dXJuIHRydWU7Cit9CisgICAgCiBzdGF0aWMgaW5saW5lIGludCB5eWVycm9y
KGNvbnN0IGNoYXIqKSB7IHJldHVybiAxOyB9CiAKICNkZWZpbmUgRU5EX1RPS0VOIDAKQEAgLTU2
OTQsNiArNTc0Myw5IEBAIGludCBDU1NQYXJzZXI6OmxleCh2b2lkKiB5eWx2YWxXaXRob3V0VHlw
ZSkKICAgICBjYXNlIEZVTkNUSU9OOgogICAgIGNhc2UgQU5ZRlVOQ1RJT046CiAgICAgY2FzZSBO
T1RGVU5DVElPTjoKKyAgICBjYXNlIENBTENGVU5DVElPTjoKKyAgICBjYXNlIE1JTkZVTkNUSU9O
OgorICAgIGNhc2UgTUFYRlVOQ1RJT046CiAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3Rl
cnMgPSB0OwogICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGggPSBsZW5ndGg7CiAgICAgICAg
IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGMwM2FmZDliYWJiNDk2Y2E0YjQwNmIx
ZDU5NjBjODY5NmE5MzBlMjcuLjc1NjkwM2Y4MDQ1NDhkZGYzOTZmOWUyOGYxNDk4MDQyNTAxNmQy
YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTIzLDYgKzIzLDcgQEAKICNpZm5kZWYgQ1NT
UGFyc2VyX2gKICNkZWZpbmUgQ1NTUGFyc2VyX2gKIAorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU0dyYWRpZW50VmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJWYWx1
ZXMuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCIKQEAgLTE3OSw2ICsxODAs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgcGFyc2VUZXh0RW1waGFzaXNT
dHlsZShib29sIGltcG9ydGFudCk7CiAKICAgICAgICAgYm9vbCBwYXJzZUxpbmVCb3hDb250YWlu
KGJvb2wgaW1wb3J0YW50KTsKKyAgICAgICAgYm9vbCBwYXJzZUNhbGMoQ1NTUGFyc2VyVmFsdWUq
KTsKIAogICAgICAgICBpbnQgeXlwYXJzZSgpOwogCkBAIC0zMzEsNiArMzMzLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgICAgIFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+
ID4gbV9yZXVzYWJsZVNlbGVjdG9yVmVjdG9yOwogCisgICAgICAgIFJlZlB0cjxDU1NDYWxjVmFs
dWU+IG1fcGFyc2VkQ2FsYzsKKwogICAgICAgICAvLyBkZWZpbmVzIHVuaXRzIGFsbG93ZWQgZm9y
IGEgY2VydGFpbiBwcm9wZXJ0eSwgdXNlZCBpbiBwYXJzZVVuaXQKICAgICAgICAgZW51bSBVbml0
cyB7CiAgICAgICAgICAgICBGVW5rbm93biAgID0gMHgwMDAwLApAQCAtMzUwLDcgKzM1NCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxVbml0
cz4oc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGEpIHwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGIpKTsK
ICAgICAgICAgfQogCi0gICAgICAgIHN0YXRpYyBib29sIHZhbGlkVW5pdChDU1NQYXJzZXJWYWx1
ZSosIFVuaXRzLCBib29sIHN0cmljdCk7CisgICAgICAgIGJvb2wgdmFsaWRVbml0KENTU1BhcnNl
clZhbHVlKiwgVW5pdHMsIGJvb2wgc3RyaWN0KTsKIAogICAgICAgICBmcmllbmQgY2xhc3MgVHJh
bnNmb3JtT3BlcmF0aW9uSW5mbzsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ2FsY1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUu
aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41Y2Q0ZGQ3ZjNjZjUzNzFjOTI4MWUyY2IzNDI2YjVkOGUwMzBjNjdhCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmgKQEAg
LTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgQ2FsY1ZhbHVlX2gKKyNkZWZpbmUgQ2FsY1ZhbHVlX2gKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDYWxjVmFsdWUgeworcHVibGljOgorICAgIGVu
dW0gVW5pdENhdGVnb3J5IHsKKyAgICAgICAgVU51bWJlciwKKyAgICAgICAgVVBlcmNlbnQsCisg
ICAgICAgIFVMZW5ndGgsCisgICAgICAgIFVPdGhlcgorICAgIH07Cit9OworICAgIAorfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2FsY1ZhbHVlX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120404</attachid>
            <date>2011-12-22 16:25:20 -0800</date>
            <delta_ts>2011-12-22 17:04:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57082-20111223112516.patch</filename>
            <type>text/plain</type>
            <size>210453</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTk0N2M2ZjNjYmExNzFi
N2ExYWJhMWU0MmUzOGIwZGQxYmQ5ZjgxNS4uMzFkNDY3MzRhODNhZWI2MjBiMjY4ZWU1ZTU0NDU1
Y2NlNmY4NGZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMyBAQAorMjAxMS0xMi0yMiAgTWlr
ZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBjYWxj
IHBhcnNpbmcgc3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3MDgyCisKKyAgICAgICAgVGhpcyBpcyB0aGUgcGFyc2luZyBzdGFnZSBvZiBjYWxj
LiBUaGUgZXhwcmVzc2lvbnMgYXJlIGV2YWx1YXRlZCBhbmQgCisgICAgICAgIGV4cHJlc3Npb24g
dHJlZXMgYXJlIGdlbmVyYXRlZC4gQ1NTIHZhbHVlcyBhcmUgbm90IGNyZWF0ZWQgeWV0IC0gdGhh
dAorICAgICAgICB3aWxsIGhhcHBlbiBpbiBhIHN1YnNlcXVlbnQgY29tbWl0LiAKKworICAgICAg
ICBOb3RlIHRoYXQgUkdCIGFuZCBIU0wgdmFsdWVzIGFyZSBjcmVhdGVkLCBhcyB0aGVzZSBtdXN0
IGJlIGV2YWx1YXRlZCB0bworICAgICAgICBhIHNpbXBsZSBudW1iZXIgYXQgcGFyc2UgdGltZS4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czog
Y3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5n
Lmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Ut
b3V0c2V0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9i
bG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGNzczMv
Y2FsYy9ib3JkZXItcmFkaXVzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAg
IGNzczMvY2FsYy9ib3JkZXItcmFkaXVzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9i
b3JkZXItc3BhY2luZy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYm9yZGVyLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy9jb2xvci1oc2wuaHRtbAorICAgICAgICAgICAgICAg
Y3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvY3NzMy1y
YWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAgIGNz
czMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9j
YWxjL2ZvbnQtbW9ub3NwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9mb250LXNp
emUtZnJhY3Rpb25hbC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZm9udC1zaXplLmh0
bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9mb250Lmh0bWwKKyAgICAgICAgICAgICAgIGNz
czMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLmh0bWwKKyAgICAgICAg
ICAgICAgIGNzczMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMuaHRtbAor
ICAgICAgICAgICAgICAgY3NzMy9jYWxjL2ltZy1zaXplLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy9pbWctc2l6ZS5odG1sCisgICAgICAgICAgICAgICBj
c3MzL2NhbGMvbGluZS1oZWlnaHQuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL21hcmdp
bi5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvbXVsdGlwbGUtYmFja2dyb3VuZC1zaXpl
LXRyYW5zaXRpb25zLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9wYWRkaW5nLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxlLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLWV4cGVjdGVk
LW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRl
ZC1tYXNrLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9zdmctdHJhbnNpdGlvbnMuaHRt
bAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL3RhYmxlLWNhbGNzLmh0bWwKKyAgICAgICAgICAg
ICAgIGNzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy1leHBlY3RlZC1taXNtYXRjaC5odG1sCisg
ICAgICAgICAgICAgICBjc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMuaHRtbAorICAgICAgICAg
ICAgICAgY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLmh0bWwKKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0
LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NDYWxjVmFs
dWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnVuaXRDYXRlZ29yeSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmN1c3RvbUNzc1RleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ2FsY1ZhbHVlOjpjbGFtcFRvUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y1ZhbHVlOjpkb3VibGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lv
bk5vZGU6On5DU1NDYWxjRXhwcmVzc2lvbk5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1p
dGl2ZVZhbHVlOjppc1plcm8pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZh
bHVlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6
ZG91YmxlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpj
b21wdXRlTGVuZ3RoUHgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVl
Ojpjb21wdXRlUGVyY2VudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFs
dWU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9w
ZXJhdGlvbjo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRp
b246OmRvdWJsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRp
b246OkNTU0NhbGNCaW5hcnlPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0Jp
bmFyeU9wZXJhdGlvbjo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01pbk1h
eExpc3Q6OkNTU0NhbGNNaW5NYXhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNNaW5N
YXhMaXN0Ojppc1plcm8pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01pbk1heExpc3Q6OmFw
cGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6ZG91YmxlVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tEZXB0aEFuZEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VDYWxjKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VNaW5NYXhMaXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6b3BlcmF0b3JWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNl
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpw
YXJzZVZhbHVlVGVybSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQ
YXJzZXI6OnBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZUFkZGl0aXZlVmFsdWVFeHBy
ZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6
cGFyc2VWYWx1ZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2Rl
UGFyc2VyOjpwYXJzZVZhbHVlRXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxj
VmFsdWU6OmNyZWF0ZSk6CisgICAgICAgICogY3NzL0NTU0NhbGNWYWx1ZS5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6Y2F0ZWdvcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlOjppc0ludCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmNhdGVnb3J5KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NhbGNWYWx1ZTo6aXNJbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpD
U1NDYWxjVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjp2YWxpZFVuaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
OjpjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyOjpwYXJzZVZhbGlkUHJpbWl0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRmlsbFBvc2l0
aW9uQ29tcG9uZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VkRG91Ymxl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aXNDYWxjTWluTWF4KToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6Y29sb3JJbnRGcm9tVmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlSFNMUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dQ
YXJzZUNvbnRleHQ6OlNoYWRvd1BhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFk
b3dQYXJzZUNvbnRleHQ6OmNvbW1pdExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dQ
YXJzZUNvbnRleHQ6OmNvbW1pdFN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VTaGFkb3cpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29u
dGV4dDo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpC
b3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0Ojpjb21taXROdW1iZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29tbWl0Qm9yZGVySW1hZ2VTbGlj
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VTbGljZSk6
CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6OkJvcmRlcklt
YWdlUXVhZFBhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFnZVF1YWRQ
YXJzZUNvbnRleHQ6OmNvbW1pdE51bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFn
ZVF1YWRQYXJzZUNvbnRleHQ6OmNvbW1pdEJvcmRlckltYWdlUXVhZCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VRdWFkKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6cGFyc2VDYWxjKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAg
ICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpjc3NU
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpkZXN0cm95KToKKyAgICAgICAgKiBj
c3MvQ1NTVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0NhbGNWYWx1ZSk6
CisgICAgICAgICogY3NzL1NWR0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXI6OnBhcnNlU1ZHVmFsdWUpOgorICAgICAgICAqIHBsYXRmb3JtL0NhbGNWYWx1ZS5jcHA6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL0NhbGNWYWx1ZS5oOiBBZGRlZC4KKwogMjAxMS0x
Mi0yMSAgTWF0dCBGYWxrZW5oYWdlbiAgPGZhbGtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
QWRkIGFsbCBJQ1UgbGFuZ3VhZ2VzIHRvIExvY2FsZVRvU2NyaXB0TWFwcGluZ0RlZmF1bHQuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDBlZmNjNDVmY2M0YTc5ZTM5MmNhZjBlYWM0MDA5ZDc0
MGQyNmRkMDQuLjViZWE2MmJiYmVhZTIyYmYyMDE5NzU2ZTRjMzAxNGQ2ZGM1ZDQxNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC00MjUsNiArNDI1LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwog
ICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZh
bHVlLmNwcAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwCisgICAgY3NzL0NT
U0NhbGNWYWx1ZS5jcHAKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwCiAgICAgY3NzL0NTU0No
YXJzZXRSdWxlLmNwcAogICAgIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBA
IC0xMDMyLDYgKzEwMzMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9hbmltYXRp
b24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCiAKICAgICBwbGF0Zm9ybS9BcmVuYS5jcHAKKyAgICBw
bGF0Zm9ybS9DYWxjVmFsdWUuY3BwCiAgICAgcGxhdGZvcm0vQ2xvY2suY3BwCiAgICAgcGxhdGZv
cm0vQ29udGV4dE1lbnUuY3BwCiAgICAgcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNmE4YjI2NjNjYjAzMmU0YjU0MjVhMzk2Y2Fl
YTE5YzdmZDM1YWY0NS4uNWVlYzU2ZDdjNWVmMmE5NGU0ZmU5MmExNzBiZDdmYjc2ZTQ5YTM5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC05ODEsNiArOTgxLDggQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuaCBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NoYXJzZXRSdWxlLmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmggXAogCVNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHAgXApAQCAtMjQ3Myw2ICsyNDc1LDggQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmggXAorCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NhbGNWYWx1ZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1
ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DbG9jay5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0Nsb2NrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nsb2NrR2Vu
ZXJpYy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZDhlZDU4ZjA4ZTE1YzIyNzcwNDgwNjFhZDQ0MzEx
NGQ1N2ZhNDYzMy4uMTY4OGExNWQ5OWQ4NDkyNDBiMmU3NmI0NmVmOWNjODI3NGY1ZTE5YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpCkBAIC0zOTMsNiArMzkzLDcgQEAgU09VUkNFUyArPSBcCiAgICAgY3NzL0NTU0Fz
cGVjdFJhdGlvVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNw
cCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwIFwKKyAgICBjc3MvQ1NTQ2FsY1Zh
bHVlLmNwcCBcCiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0NoYXJz
ZXRSdWxlLmNwcCBcCiAgICAgY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgXApA
QCAtMTAyMCw2ICsxMDIxLDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0vdGV4dC9Mb2Nh
bGl6ZWREYXRlTm9uZS5jcHAgXAogICAgIHBsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9u
ZS5jcHAgXAogICAgIHBsYXRmb3JtL3RleHQvUXVvdGVkUHJpbnRhYmxlLmNwcCBcCisgICAgcGxh
dGZvcm0vQ2FsY1ZhbHVlLmNwcCBcCiAgICAgcGxhdGZvcm0vQ2xvY2suY3BwIFwKICAgICBwbGF0
Zm9ybS9DbG9ja0dlbmVyaWMuY3BwIFwKICAgICBwbGF0Zm9ybS9Db250ZW50VHlwZS5jcHAgXApA
QCAtMTQ5Niw2ICsxNDk4LDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL0NTU0FzcGVjdFJhdGlv
VmFsdWUuaCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIFwKICAgICBjc3Mv
Q1NTQm9yZGVySW1hZ2VWYWx1ZS5oIFwKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmggXAogICAgIGNz
cy9DU1NDYW52YXNWYWx1ZS5oIFwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuaCBcCiAgICAgY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIFwKQEAgLTIwNjIsNiArMjA2NSw3IEBAIEhF
QURFUlMgKz0gXAogICAgIHBsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaCBc
CiAgICAgcGxhdGZvcm0vQXJlbmEuaCBcCiAgICAgcGxhdGZvcm0vQXN5bmNGaWxlU3RyZWFtLmgg
XAorICAgIHBsYXRmb3JtL0NhbGNWYWx1ZS5oIFwKICAgICBwbGF0Zm9ybS9DbG9jay5oIFwKICAg
ICBwbGF0Zm9ybS9DbG9ja0dlbmVyaWMuaCBcCiAgICAgcGxhdGZvcm0vQ29udGVudFR5cGUuaCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDJjOGIyMDgxNGU0Yjc1YzliODYxM2IzZDk4M2Q4ZTA5
MTJkMzQxZTAuLjZiZTJjMmVjYTZiODQxOWRlYzBlZTIzNzU2ZDA2Nzc4MjdhOWE3MWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCkBAIC04NjUsNiArODY1LDcgQEAgX19aTjdXZWJDb3JlNkVkaXRvcjdD
b21tYW5kQzFFdgogX19aTjdXZWJDb3JlNkVkaXRvcjdjb21tYW5kRVJLTjNXVEY2U3RyaW5nRQog
X19aTjdXZWJDb3JlNkVkaXRvcjdvdXRkZW50RXYKIF9fWk43V2ViQ29yZTZKU05vZGU2c19pbmZv
RQorX19aTjdXZWJDb3JlNkxlbmd0aEQxRXYKIF9fWk43V2ViQ29yZTZSZWdpb241dW5pdGVFUktT
MF8KIF9fWk43V2ViQ29yZTZSZWdpb244c3VidHJhY3RFUktTMF8KIF9fWk43V2ViQ29yZTZSZWdp
b245aW50ZXJzZWN0RVJLUzBfCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZmNkZjViOGIzMjUwMTlkZDg0
MmMyN2VhNTg1OTBkMmVlNmVlNDkzNS4uMjU4ZWQ3ZmViOWFjZDNlMmMzZDIyZjQxOWY4Njg5ZDg4
OGEzYjJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjM3Miw2ICsyMzcyLDggQEAKICAgICAgICAg
ICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9D
U1NDYW52YXNWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDYW52YXNWYWx1ZS5oJywK
KyAgICAgICAgICAgICdjc3MvQ1NTQ2FsY1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NT
U0NhbGNWYWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwJywKICAg
ICAgICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAnLApAQCAtMzA5NSw2ICszMDk3LDggQEAKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0F1
dG9kcmFpbmVkUG9vbC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9DYWxjVmFsdWUuY3BwJywK
KyAgICAgICAgICAgICdwbGF0Zm9ybS9DYWxjVmFsdWUuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vQ2xvY2suY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9DbG9jay5oJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9Db250ZW50VHlwZS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBlMDE5ODAxMjI0YTYxNWU5OGE1MWVmZGIwMjI4
YTIzOWU4Zjc3ODlkLi5mMmRhNzFlNDg2MzIxMWY4YTE5ZWI0NDYyMzBjOTViODZkMTMwMmJmIDEw
MDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjYz
NzQsNiArMjYzNzQsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5ccGxhdGZvcm1cQ2FsY1ZhbHVlLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cQ2FsY1ZhbHVlLmgiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENs
b2NrLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0zMjY3NCw2ICszMjY4MiwxNCBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2Fs
Y1ZhbHVlLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cY3NzXENTU0NhbGNWYWx1ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2FudmFzVmFsdWUuY3BwIgogCQkJCT4KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAxODBhYTMzMDcxODE0OWEzN2MzZTkwOTI2NWQ2YTlhYzcy
ZjU2NTg3Li43NGY3ZDUzNjI1MDNjYWFjNjViMzQyMmVhYTE0Yjk0Yzg1YzUxMzE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MjIyLDYgKzEyMjIsMTAgQEAKIAkJNDk5QjNFRDYxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNz
TGF5ZXJDQS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OTlCM0VENDEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhpY3NMYXllckNBLmNwcCAqLzsgfTsK
IAkJNDk5QjNFRDcxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk5QjNFRDUxMjhDRDMxNDAw
RTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTQ5OUIzRUREMTI4REI1MDIwMEU3MjZDMiAvKiBQbGF0Zm9y
bUNBQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTlCM0VEQzEyOERCNTAxMDBFNzI2QzIgLyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQ5QUUyRDhF
MTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRTJEOEMxMzRFRTUwQzAwNzI5MjBBIC8qIENT
U0NhbGNWYWx1ZS5jcHAgKi87IH07CisJCTQ5QUUyRDhGMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1ND
YWxjVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ5QUUyRDhEMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuaCAqLzsgfTsKKwkJNDlB
RTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ5NDEzNEVFNUY5MDA3MjkyMEEgLyog
Q2FsY1ZhbHVlLmNwcCAqLzsgfTsKKwkJNDlBRTJEOTcxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNW
YWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlB
RTJEOTUxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5oICovOyB9OwogCQk0OUFGMkQ2OTE0
NDM1RDA1MDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUFGMkQ2ODE0NDM1RDA1MDAxNkE3ODQg
LyogRGlzcGxheVJlZnJlc2hNb25pdG9yLmggKi87IH07CiAJCTQ5QUYyRDZDMTQ0MzVEMjEwMDE2
QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRjJENkIxNDQzNUQyMTAwMTZBNzg0IC8qIERp
c3BsYXlSZWZyZXNoTW9uaXRvck1hYy5jcHAgKi87IH07CiAJCTQ5QzdCOTkzMTA0MkQyRDMwMDA5
RDQ0NyAvKiBKU1dlYkdMQnVmZmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ5QzdCOTgwMTA0MkQyRDMwMDA5RDQ0NyAvKiBKU1dlYkdMQnVmZmVy
LmNwcCAqLzsgfTsKQEAgLTg0NjEsNiArODQ2NSwxMCBAQAogCQk0OTlCM0VENDEyOENEMzE0MDBF
NzI2QzIgLyogR3JhcGhpY3NMYXllckNBLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IEdyYXBoaWNzTGF5ZXJDQS5jcHA7IHBhdGggPSBjYS9HcmFwaGljc0xheWVyQ0Eu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTlCM0VENTEyOENEMzE0MDBFNzI2
QzIgLyogR3JhcGhpY3NMYXllckNBLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEdyYXBoaWNzTGF5ZXJDQS5oOyBwYXRoID0gY2EvR3JhcGhpY3NMYXllckNBLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5OUIzRURDMTI4REI1MDEwMEU3MjZDMiAvKiBQbGF0Zm9y
bUNBQW5pbWF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFBsYXRmb3Jt
Q0FBbmltYXRpb24uaDsgcGF0aCA9IGNhL1BsYXRmb3JtQ0FBbmltYXRpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOEMxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNW
YWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NDYWxjVmFs
dWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUFFMkQ4RDEzNEVFNTBDMDA3
MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENTU0NhbGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUFFMkQ5NDEz
NEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENhbGNWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ2FsY1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ5QUYyRDY4MTQ0MzVEMDUwMDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzcGxheVJlZnJlc2hNb25pdG9yLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QUYyRDZCMTQ0MzVEMjEwMDE2QTc4NCAv
KiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDlDN0I5ODAxMDQyRDJEMzAwMDlENDQ3IC8qIEpTV2ViR0xCdWZmZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJHTEJ1ZmZlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDI0NCw2ICsyMDI1Miw4IEBACiAJ
CQkJODlEMDhEOUQxMjIyODQ1MTAwMTI0MURGIC8qIEFzeW5jRmlsZVN5c3RlbS5oICovLAogCQkJ
CTg5RDA4RDlFMTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCAq
LywKIAkJCQk1MUUxRUNCMTBDOTFDNTU2MDBEQzI1NUIgLyogQXV0b2RyYWluZWRQb29sLmggKi8s
CisJCQkJNDlBRTJEOTQxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgKi8sCisJCQkJ
NDlBRTJEOTUxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5oICovLAogCQkJCUMzMzBBMjIx
MTNFQzE5NkIwMDAwQjQ1QiAvKiBDb2xvckNob29zZXIuaCAqLywKIAkJCQlDMzdDREVCQzE0OUVG
MjAzMDA0MjA5MEQgLyogQ29sb3JDaG9vc2VyQ2xpZW50LmggKi8sCiAJCQkJQkNDOENGQ0EwOTg2
Q0QyNDAwMTQwQkYyIC8qIENvbG9yRGF0YS5ncGVyZiAqLywKQEAgLTIwNzk3LDYgKzIwODA3LDgg
QEAKIAkJCQlBODBFNkNERDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5o
ICovLAogCQkJCUJDMjc0QjMwMTQwRUJFRDgwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNl
VmFsdWUuY3BwICovLAogCQkJCUJDMjc0QjJFMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NCb3JkZXJJ
bWFnZVNsaWNlVmFsdWUuaCAqLywKKwkJCQk0OUFFMkQ4QzEzNEVFNTBDMDA3MjkyMEEgLyogQ1NT
Q2FsY1ZhbHVlLmNwcCAqLywKKwkJCQk0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2Fs
Y1ZhbHVlLmggKi8sCiAJCQkJQkM2MDRBNDIwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1Zh
bHVlLmNwcCAqLywKIAkJCQlCQzYwNDlDQjBEQjU2MEMyMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFs
dWUuaCAqLywKIAkJCQlFMUVCQkJEMzBBQUM5Qjg3MDAxRkU4RTIgLyogQ1NTQ2hhcnNldFJ1bGUu
Y3BwICovLApAQCAtMjIwMzcsNiArMjIwNDksNyBAQAogCQkJCUQwQkM1NDQ5MTQ0M0FDNEEwMEUx
MDVEQSAvKiBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Ix
NkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hlUG9saWN5LmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMUQ1RUNCNTEzNEI1OERBMDA4N0M3OEYgLyogQ2FsbGJhY2tGdW5j
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkU0RTkxQUQxMEY3RkIzMTAwQTI3NzlDIC8qIENh
bnZhc0NvbnRleHRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTQ4NEZDMjEwMkNG
MjNDMDAxODdERDMgLyogQ2FudmFzR3JhZGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjIxMTks
NiArMjIxMzIsNyBAQAogCQkJCUUxNjk4MDNEMTEzMzU0MkQwMDg5NDExNSAvKiBDUnVudGltZU9i
amVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc1Q0EyOEIxMzAzNjVGODAwRTk5QUQ5IC8qIENy
eXB0by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZEMDcwQTE5ODlDQTAwN0ZCOEM1IC8qIENT
U0JvcmRlckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5QUUyRDhGMTM0RUU1MEMw
MDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNjA0OUNDMERC
NTYwQzIwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgw
RTZDRjkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0NoYXJzZXRSdWxlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQ0VBNDc5MDA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI1MDMyLDYgKzI1MDQ2LDcgQEAKIAkJMDg2N0Q2OTBG
RTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovID0gewogCQkJaXNhID0gUEJYUHJv
amVjdDsKIAkJCWF0dHJpYnV0ZXMgPSB7CisJCQkJQnVpbGRJbmRlcGVuZGVudFRhcmdldHNJblBh
cmFsbGVsID0gWUVTOwogCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNDQwOwogCQkJfTsKIAkJCWJ1
aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDlDMjg0MzA4OTAyQjExMDA4QTlFRkMgLyogQnVpbGQg
Y29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJDb3JlIiAqLzsKQEAgLTI1NDE5
LDYgKzI1NDM0LDcgQEAKIAkJCQlCQ0IxNkMyOTA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMjMwOTc5QzNCRDAwNDY3
NzQxIC8qIENhY2hlZFNjcmlwdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMyNzA5NzlD
M0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk0OUFFMkQ5NjEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUIxODI3NDkzMTM0Q0E0QzEwMEI5OEMyRCAvKiBDYWxsYmFja0Z1bmN0aW9uLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTZFNEU5MUFDMTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250
ZXh0QXR0cmlidXRlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTQ4NEZDMTEwMkNGMjNDMDAx
ODdERDMgLyogQ2FudmFzR3JhZGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNTQ4Nyw2ICsy
NTUwMyw3IEBACiAJCQkJRTE2OTgwNDkxMTMzNjQ0NzAwODk0MTE1IC8qIENSdW50aW1lT2JqZWN0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NUNBMjhBMTMwMzY1RjgwMEU5OUFEOSAvKiBDcnlw
dG8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZDRTUwQTE5ODlDQTAwN0ZCOEM1IC8qIENT
U0JvcmRlckltYWdlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDlBRTJEOEUxMzRFRTUw
QzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzYwNEE0
MzBEQjU2MzRFMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTFFQkJCRDQwQUFDOUI4NzAwMUZFOEUyIC8qIENTU0NoYXJzZXRSdWxlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDRUE0NzhGMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY3YjRlZjllZDU4NzlkNDNiMDg5YTAyMGQ3MDgyNjVkZWE4Y2NjMTkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcApA
QCAtMCwwICsxLDUxMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFs
dWUuaCIKKworI2luY2x1ZGUgIkNTU1N0eWxlU2VsZWN0b3IuaCIKKyNpbmNsdWRlICJDU1NWYWx1
ZUxpc3QuaCIKKyNpbmNsdWRlICJMZW5ndGguaCIKKworI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
KyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KKworc3RhdGljIGNvbnN0IGludCBtYXhFeHByZXNzaW9uRGVwdGggPSAxMDA7CisK
K2VudW0gUGFyc2VTdGF0ZSB7CisgICAgT0ssCisgICAgVG9vRGVlcCwKKyAgICBOb01vcmVUb2tl
bnMKK307CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIENhbGNDYXRlZ29yeSB1bml0
Q2F0ZWdvcnkoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyB0eXBlKQoreworICAgIHN3aXRj
aCAodHlwZSkgeworICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVI6CisgICAg
Y2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9JTlRFR0VSOgorICAgICAgICByZXR1
cm4gQ2FsY051bWJlcjsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFH
RToKKyAgICAgICAgcmV0dXJuIENhbGNQZXJjZW50OworICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19FTVM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VYUzoKKyAgICBj
YXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUFg6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX0NNOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NTToKKyAgICBjYXNl
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSU46CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1BUOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQzoKKyAgICBjYXNlIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfUkVNUzoKKyAgICAgICAgcmV0dXJuIENhbGNMZW5ndGg7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIENhbGNPdGhlcjsKKyAgICB9Cit9CisgICAgCitT
dHJpbmcgQ1NTQ2FsY1ZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
IiI7Cit9CisgICAgCitkb3VibGUgQ1NTQ2FsY1ZhbHVlOjpjbGFtcFRvUmFuZ2UoZG91YmxlIHZh
bHVlKSBjb25zdAoreworICAgIHJldHVybiBtX25vbk5lZ2F0aXZlICYmIHZhbHVlIDwgMCA/IDAg
OiB2YWx1ZTsKK30gICAgCisgICAgCitkb3VibGUgQ1NTQ2FsY1ZhbHVlOjpkb3VibGVWYWx1ZSgp
IGNvbnN0IAoreyAKKyAgICByZXR1cm4gY2xhbXBUb1JhbmdlKG1fZXhwcmVzc2lvbi0+ZG91Ymxl
VmFsdWUoKSk7Cit9CisgICAgCitDU1NDYWxjRXhwcmVzc2lvbk5vZGU6On5DU1NDYWxjRXhwcmVz
c2lvbk5vZGUoKSAKK3sKK30KKyAgICAKK2NsYXNzIENTU0NhbGNQcmltaXRpdmVWYWx1ZSA6IHB1
YmxpYyBDU1NDYWxjRXhwcmVzc2lvbk5vZGUgeworcHVibGljOgorCisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGUoQ1NTUHJpbWl0aXZlVmFsdWUqIHZh
bHVlLCBib29sIGlzSW50KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1ND
YWxjUHJpbWl0aXZlVmFsdWUodmFsdWUsIGlzSW50KSk7CisgICAgfQorICAgIAorICAgIHZpcnR1
YWwgYm9vbCBpc1plcm8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICFtX3ZhbHVlLT5n
ZXREb3VibGVWYWx1ZSgpOworICAgIH0KKworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fdmFsdWUtPmNzc1RleHQoKTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0CisgICAgeworICAgICAgICBz
d2l0Y2ggKG1fY2F0ZWdvcnkpIHsKKyAgICAgICAgY2FzZSBDYWxjTnVtYmVyOgorICAgICAgICBj
YXNlIENhbGNQZXJjZW50OiAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIHJldHVybiBtX3Zh
bHVlLT5nZXREb3VibGVWYWx1ZSgpOworICAgICAgICBjYXNlIENhbGNMZW5ndGg6CisgICAgICAg
IGNhc2UgQ2FsY1BlcmNlbnRMZW5ndGg6CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnROdW1iZXI6
CisgICAgICAgIGNhc2UgQ2FsY090aGVyOgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgCisgICAgdmlydHVhbCBk
b3VibGUgY29tcHV0ZUxlbmd0aFB4KFJlbmRlclN0eWxlKiBjdXJyU3R5bGUsIFJlbmRlclN0eWxl
KiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplKSBj
b25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChtX2NhdGVnb3J5KSB7CisgICAgICAgIGNhc2Ug
Q2FsY0xlbmd0aDoKKyAgICAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5jb21wdXRlTGVuZ3RoPGRv
dWJsZT4oY3VyclN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXpl
KTsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDoKKyAgICAgICAgY2FzZSBDYWxjTnVtYmVyOgor
ICAgICAgICAgICAgcmV0dXJuIG1fdmFsdWUtPmdldERvdWJsZVZhbHVlKCk7CisgICAgICAgIGNh
c2UgQ2FsY1BlcmNlbnRMZW5ndGg6CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnROdW1iZXI6Cisg
ICAgICAgIGNhc2UgQ2FsY090aGVyOgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiAwOyAgICAgICAgCisgICAgfQorICAgIAor
ICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVQZXJjZW50KGRvdWJsZSBvbmVIdW5kcmVkUGVyY2Vu
dFZhbHVlKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChtX2NhdGVnb3J5KSB7CisgICAg
ICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5nZXREb3Vi
bGVWYWx1ZSgpOworICAgICAgICBjYXNlIENhbGNQZXJjZW50OiAgICAgICAgICAgICAgICAKKyAg
ICAgICAgICAgIHJldHVybiAobV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKSAqIG9uZUh1bmRyZWRQ
ZXJjZW50VmFsdWUpIC8gMTAwLjBmOworICAgICAgICBjYXNlIENhbGNMZW5ndGg6CisgICAgICAg
IGNhc2UgQ2FsY1BlcmNlbnRMZW5ndGg6CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnROdW1iZXI6
CisgICAgICAgIGNhc2UgQ2FsY090aGVyOgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAKK3ByaXZh
dGU6CisgICAgZXhwbGljaXQgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVl
KiB2YWx1ZSwgYm9vbCBpc0ludCkKKyAgICAgICAgOiBDU1NDYWxjRXhwcmVzc2lvbk5vZGUodW5p
dENhdGVnb3J5KChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKXZhbHVlLT5wcmltaXRpdmVU
eXBlKCkpLCBpc0ludCkKKyAgICAgICAgLCBtX3ZhbHVlKHZhbHVlKSAgICAgICAgICAgICAgICAg
CisgICAgeworICAgIH0KKworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV92YWx1ZTsK
K307CisKK3N0YXRpYyBjb25zdCBDYWxjQ2F0ZWdvcnkgYWRkU3VidHJhY3RSZXN1bHRbQ2FsY090
aGVyXVtDYWxjT3RoZXJdID0geworICAgIHtDYWxjTnVtYmVyLCAgICAgICAgQ2FsY090aGVyLCAg
ICAgICAgIENhbGNQZXJjZW50TnVtYmVyLCBDYWxjUGVyY2VudE51bWJlciwgQ2FsY090aGVyfSwK
KyAgICB7Q2FsY090aGVyLCAgICAgICAgIENhbGNMZW5ndGgsICAgICAgICBDYWxjUGVyY2VudExl
bmd0aCwgQ2FsY090aGVyLCAgICAgICAgIENhbGNQZXJjZW50TGVuZ3RofSwKKyAgICB7Q2FsY1Bl
cmNlbnROdW1iZXIsIENhbGNQZXJjZW50TGVuZ3RoLCBDYWxjUGVyY2VudCwgICAgICAgQ2FsY1Bl
cmNlbnROdW1iZXIsIENhbGNQZXJjZW50TGVuZ3RofSwKKyAgICB7Q2FsY1BlcmNlbnROdW1iZXIs
IENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudE51bWJlciwgQ2FsY1BlcmNlbnROdW1iZXIs
IENhbGNPdGhlcn0sCisgICAge0NhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudExlbmd0aCwg
Q2FsY1BlcmNlbnRMZW5ndGgsIENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudExlbmd0aH0s
Cit9OyAgICAKKyAgICAKK2NsYXNzIENTU0NhbGNCaW5hcnlPcGVyYXRpb24gOiBwdWJsaWMgQ1NT
Q2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1ND
YWxjQmluYXJ5T3BlcmF0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5v
ZGU+IGxlZnRTaWRlLCBQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gcmlnaHRTaWRl
LCBDYWxjT3BlcmF0b3Igb3ApCisgICAgeworICAgICAgICBDYWxjQ2F0ZWdvcnkgbGVmdENhdGVn
b3J5ID0gbGVmdFNpZGUtPmNhdGVnb3J5KCk7CisgICAgICAgIENhbGNDYXRlZ29yeSByaWdodENh
dGVnb3J5ID0gcmlnaHRTaWRlLT5jYXRlZ29yeSgpOworICAgICAgICBDYWxjQ2F0ZWdvcnkgbmV3
Q2F0ZWdvcnkgPSBDYWxjT3RoZXI7CisgICAgICAgIAorICAgICAgICBBU1NFUlQobGVmdENhdGVn
b3J5ICE9IENhbGNPdGhlciAmJiByaWdodENhdGVnb3J5ICE9IENhbGNPdGhlcik7CisgICAgICAg
IAorICAgICAgICBzd2l0Y2ggKG9wKSB7CisgICAgICAgIGNhc2UgQ2FsY0FkZDoKKyAgICAgICAg
Y2FzZSBDYWxjU3VidHJhY3Q6ICAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGxlZnRDYXRl
Z29yeSA9PSBDYWxjT3RoZXIgfHwgcmlnaHRDYXRlZ29yeSA9PSBDYWxjT3RoZXIpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBuZXdDYXRlZ29yeSA9IGFkZFN1YnRyYWN0
UmVzdWx0W2xlZnRDYXRlZ29yeV1bcmlnaHRDYXRlZ29yeV07CisgICAgICAgICAgICBicmVhazsg
ICAKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgY2FzZSBDYWxjTXVsdGlwbHk6CisgICAgICAg
ICAgICBpZiAobGVmdENhdGVnb3J5ICE9IENhbGNOdW1iZXIgJiYgcmlnaHRDYXRlZ29yeSAhPSBD
YWxjTnVtYmVyKSAKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY051bWJlciA/IHJpZ2h0
Q2F0ZWdvcnkgOiBsZWZ0Q2F0ZWdvcnk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICAKKyAgICAgICAgY2FzZSBDYWxjRGl2aWRlOgorICAgICAgICBjYXNlIENhbGNNb2Q6Cisg
ICAgICAgICAgICBpZiAocmlnaHRDYXRlZ29yeSAhPSBDYWxjTnVtYmVyIHx8IHJpZ2h0U2lkZS0+
aXNaZXJvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBuZXdDYXRl
Z29yeSA9IGxlZnRDYXRlZ29yeTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAg
ICAgIAorICAgICAgICBpZiAobmV3Q2F0ZWdvcnkgPT0gQ2FsY090aGVyKQorICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgICAgICAKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1ND
YWxjQmluYXJ5T3BlcmF0aW9uKGxlZnRTaWRlLCByaWdodFNpZGUsIG9wLCBuZXdDYXRlZ29yeSkp
OworICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIC8vIEZJWE1FIGNhbGM6IFdlIGNhbiByZXR1cm4gdHJ1ZSBmb3Igc29tZSBjYXNlcyAo
ZS5nLiwgMyAtIDMsIDMgKiAwLCBhbmQgZXRjLikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKworICAgIHZpcnR1YWwgZG91YmxlIGRvdWJsZVZhbHVlKCkgY29uc3QgCisgICAgeworICAg
ICAgICByZXR1cm4gZXZhbHVhdGUobV9sZWZ0U2lkZS0+ZG91YmxlVmFsdWUoKSwgbV9yaWdodFNp
ZGUtPmRvdWJsZVZhbHVlKCkpOworICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAgQ1NTQ2FsY0Jp
bmFyeU9wZXJhdGlvbihQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gbGVmdFNpZGUs
IFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiByaWdodFNpZGUsIENhbGNPcGVyYXRv
ciBvcCwgQ2FsY0NhdGVnb3J5IGNhdGVnb3J5KQorICAgICAgICA6IENTU0NhbGNFeHByZXNzaW9u
Tm9kZShjYXRlZ29yeSwgbGVmdFNpZGUtPmlzSW50KCkgJiYgcmlnaHRTaWRlLT5pc0ludCgpKQor
ICAgICAgICAsIG1fbGVmdFNpZGUobGVmdFNpZGUpCisgICAgICAgICwgbV9yaWdodFNpZGUocmln
aHRTaWRlKQorICAgICAgICAsIG1fb3BlcmF0b3Iob3ApCisgICAgeworICAgIH0KKyAgICAKKyAg
ICBkb3VibGUgZXZhbHVhdGUoZG91YmxlIGxlZnRWYWx1ZSwgZG91YmxlIHJpZ2h0VmFsdWUpIGNv
bnN0CisgICAgeworICAgICAgICBzd2l0Y2ggKG1fb3BlcmF0b3IpIHsKKyAgICAgICAgY2FzZSBD
YWxjQWRkOgorICAgICAgICAgICAgcmV0dXJuIGxlZnRWYWx1ZSArIHJpZ2h0VmFsdWU7CisgICAg
ICAgIGNhc2UgQ2FsY1N1YnRyYWN0OgorICAgICAgICAgICAgcmV0dXJuIGxlZnRWYWx1ZSAtIHJp
Z2h0VmFsdWU7CisgICAgICAgIGNhc2UgQ2FsY011bHRpcGx5OgorICAgICAgICAgICAgcmV0dXJu
IGxlZnRWYWx1ZSAqIHJpZ2h0VmFsdWU7CisgICAgICAgIGNhc2UgQ2FsY0RpdmlkZToKKyAgICAg
ICAgICAgIGlmIChyaWdodFZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybiBsZWZ0VmFsdWUg
LyByaWdodFZhbHVlOworICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91
YmxlPjo6cXVpZXRfTmFOKCk7CisgICAgICAgIGNhc2UgQ2FsY01vZDoKKyAgICAgICAgICAgIGlm
IChyaWdodFZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KGxl
ZnRWYWx1ZSkgJSBzdGF0aWNfY2FzdDxpbnQ+KHJpZ2h0VmFsdWUpOworICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CisgICAgICAgIH0K
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0K
KyAgICAKKyAgICBjb25zdCBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBtX2xlZnRTaWRl
OworICAgIGNvbnN0IFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IG1fcmlnaHRTaWRlOwor
ICAgIGNvbnN0IENhbGNPcGVyYXRvciBtX29wZXJhdG9yOworfTsKKworY2xhc3MgQ1NTQ2FsY01p
bk1heExpc3QgOiBwdWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKyAgICBD
U1NDYWxjTWluTWF4TGlzdChDYWxjTGlzdFR5cGUgdHlwZSkKKyAgICAgICAgOiBDU1NDYWxjRXhw
cmVzc2lvbk5vZGUoQ2FsY090aGVyLCBmYWxzZSkKKyAgICAgICAgLCBtX2xpc3RUeXBlKHR5cGUp
CisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc1plcm8oKSBjb25zdAorICAgIHsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGJvb2wgYXBwZW5kKFBhc3NSZWZQ
dHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiB2YWx1ZSkgCisgICAgeworICAgICAgICBpZiAoIW1f
bGlzdC5zaXplKCkpIHsKKyAgICAgICAgICAgIG1fY2F0ZWdvcnkgPSB2YWx1ZS0+Y2F0ZWdvcnko
KTsKKyAgICAgICAgICAgIG1faXNJbnQgPSB2YWx1ZS0+aXNJbnQoKTsKKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIG1fY2F0ZWdvcnkgPSBhZGRTdWJ0cmFjdFJlc3VsdFttX2NhdGVnb3J5
XVt2YWx1ZS0+Y2F0ZWdvcnkoKV07CisgICAgICAgICAgICBtX2lzSW50ID0gbV9pc0ludCAmJiB2
YWx1ZS0+aXNJbnQoKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKG1fY2F0ZWdv
cnkgPT0gQ2FsY090aGVyKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAg
ICAgICAgbV9saXN0LmFwcGVuZCh2YWx1ZSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KworICAgIHZpcnR1YWwgZG91YmxlIGRvdWJsZVZhbHVlKCkgY29uc3QKKyAgICB7CisgICAgICAg
IGlmIChtX2xpc3QuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIAor
ICAgICAgICBkb3VibGUgcmV0dmFsID0gbV9saXN0WzBdLT5kb3VibGVWYWx1ZSgpOworICAgICAg
ICBpZiAobV9saXN0VHlwZSA9PSBDYWxjTWluKSB7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAxOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgZG91Ymxl
IGN1cnJlbnQgPSBtX2xpc3RbaV0tPmRvdWJsZVZhbHVlKCk7CisgICAgICAgICAgICAgICAgaWYg
KGN1cnJlbnQgPCByZXR2YWwpCisgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IGN1cnJlbnQ7
CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAxOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgZG91
YmxlIGN1cnJlbnQgPSBtX2xpc3RbaV0tPmRvdWJsZVZhbHVlKCk7CisgICAgICAgICAgICAgICAg
aWYgKGN1cnJlbnQgPiByZXR2YWwpCisgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IGN1cnJl
bnQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHJldHVybiBy
ZXR2YWw7CisgICAgfQorICAgIAorcHJpdmF0ZToKKyAgICBDYWxjTGlzdFR5cGUgbV9saXN0VHlw
ZTsKKyAgICBWZWN0b3I8UmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gPiBtX2xpc3Q7Cit9
OworCitzdGF0aWMgUGFyc2VTdGF0ZSBjaGVja0RlcHRoQW5kSW5kZXgoaW50KiBkZXB0aCwgdW5z
aWduZWQgaW5kZXgsIENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zKQoreworICAgICgqZGVwdGgp
Kys7CisgICAgaWYgKCpkZXB0aCA+IG1heEV4cHJlc3Npb25EZXB0aCkKKyAgICAgICAgcmV0dXJu
IFRvb0RlZXA7CisgICAgaWYgKGluZGV4ID49IHRva2Vucy0+c2l6ZSgpKQorICAgICAgICByZXR1
cm4gTm9Nb3JlVG9rZW5zOworICAgIHJldHVybiBPSzsKK30KKworY2xhc3MgQ1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyIHsKK3B1YmxpYzoKKyAgICBQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNz
aW9uTm9kZT4gcGFyc2VDYWxjKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zKQorICAgIHsKKyAg
ICAgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgICAgICBWYWx1ZSByZXN1bHQ7CisgICAgICAg
IGJvb2wgb2sgPSBwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIDAsICZpbmRleCwgJnJlc3Vs
dCk7CisgICAgICAgIEFTU0VSVChpbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIGlm
ICghb2sgfHwgaW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgcmV0dXJuIHJlc3VsdC52YWx1ZTsKKyAgICB9CisKKyAgICBQYXNzUmVmUHRyPENT
U0NhbGNFeHByZXNzaW9uTm9kZT4gcGFyc2VNaW5NYXhMaXN0KENhbGNMaXN0VHlwZSB0eXBlLCBD
U1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucykKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGluZGV4
ID0gMDsKKyAgICAgICAgUmVmUHRyPENTU0NhbGNNaW5NYXhMaXN0PiByZXN1bHQgPSBhZG9wdFJl
ZihuZXcgQ1NTQ2FsY01pbk1heExpc3QodHlwZSkpOworCisgICAgICAgIGJvb2wgb2sgPSBwYXJz
ZVZhbHVlTGlzdCh0b2tlbnMsIDAsICZpbmRleCwgcmVzdWx0LmdldCgpKTsKKyAgICAgICAgQVNT
RVJUKGluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgaWYgKCFvayB8fCBpbmRleCAh
PSB0b2tlbnMtPnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4g
cmVzdWx0OworICAgIH0KKworcHJpdmF0ZToKKyAgICBzdHJ1Y3QgVmFsdWUgeworICAgICAgICBS
ZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiB2YWx1ZTsKKyAgICB9OworCisgICAgY2hhciBv
cGVyYXRvclZhbHVlKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCB1bnNpZ25lZCBpbmRleCkK
KyAgICB7CisgICAgICAgIGlmIChpbmRleCA+PSB0b2tlbnMtPnNpemUoKSkKKyAgICAgICAgICAg
IHJldHVybiAwOworICAgICAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSB0b2tlbnMtPnZhbHVl
QXQoaW5kZXgpOworICAgICAgICBpZiAodmFsdWUtPnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6Ok9w
ZXJhdG9yKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgcmV0dXJuIHZhbHVlLT5p
VmFsdWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlKENTU1BhcnNlclZhbHVlTGlzdCog
dG9rZW5zLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBD
U1NQYXJzZXJWYWx1ZSogcGFyc2VyVmFsdWUgPSB0b2tlbnMtPnZhbHVlQXQoKmluZGV4KTsKKyAg
ICAgICAgaWYgKHBhcnNlclZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciB8
fCBwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24pCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9IHBh
cnNlclZhbHVlLT5jcmVhdGVDU1NWYWx1ZSgpOworICAgICAgICBpZiAoIXZhbHVlIHx8ICF2YWx1
ZS0+aXNQcmltaXRpdmVWYWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
ICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1By
aW1pdGl2ZVZhbHVlKj4odmFsdWUuZ2V0KCkpOworICAgICAgICByZXN1bHQtPnZhbHVlID0gQ1NT
Q2FsY1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUocHJpbWl0aXZlVmFsdWUsIHBhcnNlclZhbHVlLT5p
c0ludCk7CisKKyAgICAgICAgKysqaW5kZXg7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KworICAgIGJvb2wgcGFyc2VWYWx1ZVRlcm0oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGlu
dCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAg
aWYgKGNoZWNrRGVwdGhBbmRJbmRleCgmZGVwdGgsICppbmRleCwgdG9rZW5zKSAhPSBPSykKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgCisgICAgICAgIAorICAgICAgICBpZiAob3BlcmF0
b3JWYWx1ZSh0b2tlbnMsICppbmRleCkgPT0gJygnKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBj
dXJyZW50SW5kZXggPSAqaW5kZXggKyAxOworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlRXhw
cmVzc2lvbih0b2tlbnMsIGRlcHRoLCAmY3VycmVudEluZGV4LCByZXN1bHQpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgaWYgKG9wZXJhdG9yVmFsdWUodG9r
ZW5zLCBjdXJyZW50SW5kZXgpICE9ICcpJykKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgICAgICAqaW5kZXggPSBjdXJyZW50SW5kZXggKyAxOworICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gcGFyc2VWYWx1ZSh0b2tlbnMs
IGluZGV4LCByZXN1bHQpOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZU11bHRpcGxpY2F0
aXZlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNp
Z25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBpZiAoY2hlY2tEZXB0
aEFuZEluZGV4KCZkZXB0aCwgKmluZGV4LCB0b2tlbnMpICE9IE9LKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOyAgICAKKworICAgICAgICBpZiAoIXBhcnNlVmFsdWVUZXJtKHRva2VucywgZGVw
dGgsIGluZGV4LCByZXN1bHQpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAg
IHdoaWxlICgqaW5kZXggPCB0b2tlbnMtPnNpemUoKSAtIDEpIHsKKyAgICAgICAgICAgIGNoYXIg
b3BlcmF0b3JDaGFyYWN0ZXIgPSBvcGVyYXRvclZhbHVlKHRva2VucywgKmluZGV4KTsKKyAgICAg
ICAgICAgIGlmIChvcGVyYXRvckNoYXJhY3RlciAhPSBDYWxjTXVsdGlwbHkgJiYgb3BlcmF0b3JD
aGFyYWN0ZXIgIT0gQ2FsY0RpdmlkZSAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSBDYWxjTW9kKQor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKysqaW5kZXg7CisKKyAgICAgICAg
ICAgIFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZVRlcm0odG9rZW5zLCBk
ZXB0aCwgaW5kZXgsICZyaHMpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
ICAgICAgICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNCaW5hcnlPcGVyYXRpb246OmNyZWF0ZShy
ZXN1bHQtPnZhbHVlLCByaHMudmFsdWUsIHN0YXRpY19jYXN0PENhbGNPcGVyYXRvcj4ob3BlcmF0
b3JDaGFyYWN0ZXIpKTsKKyAgICAgICAgICAgIGlmICghcmVzdWx0LT52YWx1ZSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQoKmluZGV4
IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAg
Ym9vbCBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9r
ZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7Cisg
ICAgICAgIGlmIChjaGVja0RlcHRoQW5kSW5kZXgoJmRlcHRoLCAqaW5kZXgsIHRva2VucykgIT0g
T0spCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgIAorCisgICAgICAgIGlmICghcGFyc2VW
YWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICB3aGlsZSAoKmluZGV4IDwg
dG9rZW5zLT5zaXplKCkgLSAxKSB7CisgICAgICAgICAgICBjaGFyIG9wZXJhdG9yQ2hhcmFjdGVy
ID0gb3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCk7CisgICAgICAgICAgICBpZiAob3BlcmF0
b3JDaGFyYWN0ZXIgIT0gQ2FsY0FkZCAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSBDYWxjU3VidHJh
Y3QpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsKKworICAg
ICAgICAgICAgVmFsdWUgcmhzOworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlTXVsdGlwbGlj
YXRpdmVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxj
QmluYXJ5T3BlcmF0aW9uOjpjcmVhdGUocmVzdWx0LT52YWx1ZSwgcmhzLnZhbHVlLCBzdGF0aWNf
Y2FzdDxDYWxjT3BlcmF0b3I+KG9wZXJhdG9yQ2hhcmFjdGVyKSk7CisgICAgICAgICAgICBpZiAo
IXJlc3VsdC0+dmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CisKKyAgICAgICAgQVNTRVJUKCppbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFs
dWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBDU1NDYWxjTWluTWF4
TGlzdCogcmVzdWx0KQorICAgIHsKKyAgICAgICAgd2hpbGUgKCppbmRleCA8IHRva2Vucy0+c2l6
ZSgpKSB7CisgICAgICAgICAgICBWYWx1ZSBuZXh0OworICAgICAgICAgICAgaWYgKCFwYXJzZVZh
bHVlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgJm5leHQpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgYm9vbCBvayA9IHJlc3VsdC0+YXBwZW5k
KG5leHQudmFsdWUpOworICAgICAgICAgICAgaWYgKCFvaykKKyAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChvcGVyYXRvclZhbHVlKHRva2VucywgKmluZGV4
KSAhPSAnLCcpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsK
KyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOwor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVFeHByZXNz
aW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRl
eCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIHJldHVybiBwYXJzZUFkZGl0aXZlVmFs
dWVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4LCByZXN1bHQpOworICAgIH0KK307CisK
K1Bhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBDU1NDYWxjVmFsdWU6OmNyZWF0ZShDU1NQYXJzZXJT
dHJpbmcgbmFtZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiBwYXJzZXJWYWx1ZUxpc3QsIENhbGNQZXJt
aXR0ZWRWYWx1ZVJhbmdlIHJhbmdlKQoreyAgICAKKyAgICBDU1NDYWxjRXhwcmVzc2lvbk5vZGVQ
YXJzZXIgcGFyc2VyOyAgICAKKyAgICBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBleHBy
ZXNzaW9uID0gMDsKKyAgICAKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIi13ZWJr
aXQtY2FsYygiKSkKKyAgICAgICAgZXhwcmVzc2lvbiA9IHBhcnNlci5wYXJzZUNhbGMocGFyc2Vy
VmFsdWVMaXN0KTsgICAgCisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIi13
ZWJraXQtbWluKCIpKQorICAgICAgICBleHByZXNzaW9uID0gcGFyc2VyLnBhcnNlTWluTWF4TGlz
dChDYWxjTWluLCBwYXJzZXJWYWx1ZUxpc3QpOyAgICAKKyAgICBlbHNlIGlmIChlcXVhbElnbm9y
aW5nQ2FzZShuYW1lLCAiLXdlYmtpdC1tYXgoIikpCisgICAgICAgIGV4cHJlc3Npb24gPSBwYXJz
ZXIucGFyc2VNaW5NYXhMaXN0KENhbGNNYXgsIHBhcnNlclZhbHVlTGlzdCk7CisKKyAgICByZXR1
cm4gZXhwcmVzc2lvbiA/IGFkb3B0UmVmKG5ldyBDU1NDYWxjVmFsdWUoZXhwcmVzc2lvbiwgcmFu
Z2UpKSA6IDA7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxj
VmFsdWUuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NzhhYzQyNmI0NTIwMjc5YTY4ZjBiMGQ4NmRmODA2ZjhhMjI1
MWRmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5o
CkBAIC0wLDAgKzEsMTA1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NDYWxjVmFsdWVfaAorI2RlZmluZSBDU1NDYWxj
VmFsdWVfaAorCisjaW5jbHVkZSAiQ1NTUGFyc2VyVmFsdWVzLmgiCisjaW5jbHVkZSAiQ1NTVmFs
dWUuaCIKKyNpbmNsdWRlICJDYWxjVmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1BhcnNlclZhbHVlTGlzdDsKK2NsYXNz
IENTU1ZhbHVlTGlzdDsKK2NsYXNzIFJlbmRlclN0eWxlOworY2xhc3MgQ2FsY1ZhbHVlOworY2xh
c3MgQ2FsY0V4cHJlc3Npb25Ob2RlOworCitlbnVtIENhbGNDYXRlZ29yeSB7CisgICAgQ2FsY051
bWJlciA9IDAsCisgICAgQ2FsY0xlbmd0aCwKKyAgICBDYWxjUGVyY2VudCwKKyAgICBDYWxjUGVy
Y2VudE51bWJlciwKKyAgICBDYWxjUGVyY2VudExlbmd0aCwKKyAgICBDYWxjT3RoZXIKK307Cisg
ICAgCitjbGFzcyBDU1NDYWxjRXhwcmVzc2lvbk5vZGUgOiBwdWJsaWMgUmVmQ291bnRlZDxDU1ND
YWxjRXhwcmVzc2lvbk5vZGU+IHsKK3B1YmxpYzoKKyAgICAKKyAgICB2aXJ0dWFsIH5DU1NDYWxj
RXhwcmVzc2lvbk5vZGUoKSA9IDA7ICAgIAorICAgIHZpcnR1YWwgYm9vbCBpc1plcm8oKSBjb25z
dCA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgZG91YmxlVmFsdWUoKSBjb25zdCA9IDA7CisgICAg
CisgICAgQ2FsY0NhdGVnb3J5IGNhdGVnb3J5KCkgY29uc3QgeyByZXR1cm4gbV9jYXRlZ29yeTsg
fSAgICAKKyAgICBib29sIGlzSW50KCkgY29uc3QgeyByZXR1cm4gbV9pc0ludDsgfQorICAgIAor
cHJvdGVjdGVkOgorICAgIENTU0NhbGNFeHByZXNzaW9uTm9kZShDYWxjQ2F0ZWdvcnkgY2F0ZWdv
cnksIGJvb2wgaXNJbnQpCisgICAgICAgIDogbV9jYXRlZ29yeShjYXRlZ29yeSkKKyAgICAgICAg
LCBtX2lzSW50KGlzSW50KQorICAgIHsKKyAgICB9CisgICAgCisgICAgQ2FsY0NhdGVnb3J5IG1f
Y2F0ZWdvcnk7CisgICAgYm9vbCBtX2lzSW50OworfTsKKyAgICAgICAgCitjbGFzcyBDU1NDYWxj
VmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PENTU0NhbGNWYWx1ZT4gY3JlYXRlKENTU1BhcnNlclN0cmluZyBuYW1lLCBDU1NQYXJzZXJWYWx1
ZUxpc3QqLCBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSk7CisKKyAgICBDYWxjQ2F0ZWdvcnkgY2F0
ZWdvcnkoKSBjb25zdCB7IHJldHVybiBtX2V4cHJlc3Npb24tPmNhdGVnb3J5KCk7IH0KKyAgICBi
b29sIGlzSW50KCkgY29uc3QgeyByZXR1cm4gbV9leHByZXNzaW9uLT5pc0ludCgpOyB9CisgICAg
ZG91YmxlIGRvdWJsZVZhbHVlKCkgY29uc3Q7CisgICAgICAgIAorICAgIFN0cmluZyBjdXN0b21D
c3NUZXh0KCkgY29uc3Q7CisgICAgCitwcml2YXRlOiAgICAKKyAgICBDU1NDYWxjVmFsdWUoUGFz
c1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IGV4cHJlc3Npb24sIENhbGNQZXJtaXR0ZWRW
YWx1ZVJhbmdlIHJhbmdlKQorICAgICAgICA6IENTU1ZhbHVlKENhbGNDbGFzcykKKyAgICAgICAg
LCBtX2V4cHJlc3Npb24oZXhwcmVzc2lvbikKKyAgICAgICAgLCBtX25vbk5lZ2F0aXZlKHJhbmdl
ID09IENhbGNSYW5nZU5vbk5lZ2F0aXZlKQorICAgIHsKKyAgICB9CisgICAgCisgICAgZG91Ymxl
IGNsYW1wVG9SYW5nZShkb3VibGUpIGNvbnN0OworICAgICAgICAgICAgICAgICAgICAgICAgCisg
ICAgY29uc3QgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gbV9leHByZXNzaW9uOworICAg
IGNvbnN0IGJvb2wgbV9ub25OZWdhdGl2ZTsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBDU1NDYWxjVmFsdWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApp
bmRleCAwODJhN2U1ZjVkNDFjN2EzZWMyNDZmZmIxMmVhZTA0YmU1NWUwMWJhLi5jZDIzOWJhODAw
ODQzZWYwMDVhYjUzOTM0OTg0MGMxYTZmMzA0MThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cApAQCAtNjc0LDE3ICs2NzQsNTEgQEAgRG9jdW1lbnQqIENTU1BhcnNlcjo6ZmluZERvY3VtZW50
KCkgY29uc3QKIGJvb2wgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVl
LCBVbml0cyB1bml0ZmxhZ3MsIGJvb2wgc3RyaWN0KQogewogICAgIGJvb2wgYiA9IGZhbHNlOwor
ICAgIGlmIChpc0NhbGNNaW5NYXgodmFsdWUpKSB7CisgICAgICAgIGlmICghcGFyc2VDYWxjKHZh
bHVlLCB1bml0ZmxhZ3MgJiBGTm9uTmVnID8gQ2FsY1JhbmdlTm9uTmVnYXRpdmUgOiBDYWxjUmFu
Z2VBbGwpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgc3dp
dGNoIChtX3BhcnNlZENhbGMtPmNhdGVnb3J5KCkpIHsKKyAgICAgICAgY2FzZSBDYWxjTGVuZ3Ro
OgorICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGTGVuZ3RoKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIENhbGNQZXJjZW50OgorICAgICAgICAgICAgYiA9ICh1bml0Zmxh
Z3MgJiBGUGVyY2VudCk7CisgICAgICAgICAgICBpZiAoYiAmJiAodW5pdGZsYWdzICYgRk5vbk5l
ZykgJiYgbV9wYXJzZWRDYWxjLT5kb3VibGVWYWx1ZSgpIDwgMCkKKyAgICAgICAgICAgICAgICBi
ID0gZmFsc2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDYWxjTnVtYmVyOgor
ICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGTnVtYmVyKTsKKyAgICAgICAgICAgIGlmICgh
YiAmJiAodW5pdGZsYWdzICYgRkludGVnZXIpICYmIG1fcGFyc2VkQ2FsYy0+aXNJbnQoKSkKKyAg
ICAgICAgICAgICAgICBiID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChiICYmICh1bml0ZmxhZ3Mg
JiBGTm9uTmVnKSAmJiBtX3BhcnNlZENhbGMtPmRvdWJsZVZhbHVlKCkgPCAwKQorICAgICAgICAg
ICAgICAgIGIgPSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENhbGNQ
ZXJjZW50TGVuZ3RoOgorICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGUGVyY2VudCkgJiYg
KHVuaXRmbGFncyAmIEZMZW5ndGgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
Q2FsY1BlcmNlbnROdW1iZXI6CisgICAgICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQZXJjZW50
KSAmJiAodW5pdGZsYWdzICYgRk51bWJlcik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBDYWxjT3RoZXI6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAv
LyBUT0RPOiBoYW5kbGUgRk5vbk5lZworICAgICAgICBpZiAoIWIpCisgICAgICAgICAgICBtX3Bh
cnNlZENhbGMucmVsZWFzZSgpOworICAgICAgICByZXR1cm4gYjsKKyAgICB9CiAgICAgc3dpdGNo
ICh2YWx1ZS0+dW5pdCkgewogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVI6
CiAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRk51bWJlcik7Ci0gICAgICAgIGlmICghYiAmJiAo
KHVuaXRmbGFncyAmIChGTGVuZ3RoIHwgRkFuZ2xlIHwgRlRpbWUpKSAmJiAodmFsdWUtPmZWYWx1
ZSA9PSAwIHx8ICFzdHJpY3QpKSkgeworICAgICAgICBpZiAoIWIgJiYgKCh1bml0ZmxhZ3MgJiAo
Rkxlbmd0aCB8IEZBbmdsZSB8IEZUaW1lKSkgJiYgKCF2YWx1ZS0+ZlZhbHVlIHx8ICFzdHJpY3Qp
KSkgewogICAgICAgICAgICAgdmFsdWUtPnVuaXQgPSAodW5pdGZsYWdzICYgRkxlbmd0aCkgPyBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1
bml0ZmxhZ3MgJiBGQW5nbGUpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19ERUcgOiBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX01TKTsKICAgICAgICAgICAgIGIgPSB0cnVlOwogICAgICAgICB9CiAg
ICAgICAgIGlmICghYiAmJiAodW5pdGZsYWdzICYgRkludGVnZXIpICYmIHZhbHVlLT5pc0ludCkK
ICAgICAgICAgICAgIGIgPSB0cnVlOwotICAgICAgICBicmVhazsKKyAgICAgICAgYnJlYWs7ICAg
ICAgICAgICAgCiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U6CiAg
ICAgICAgIGIgPSAodW5pdGZsYWdzICYgRlBlcmNlbnQpOwogICAgICAgICBicmVhazsKQEAgLTcy
Myw2ICs3NTcsMTQgQEAgYm9vbCBDU1NQYXJzZXI6OnZhbGlkVW5pdChDU1NQYXJzZXJWYWx1ZSog
dmFsdWUsIFVuaXRzIHVuaXRmbGFncywgYm9vbCBzdHJpY3QpCiAKIGlubGluZSBQYXNzUmVmUHRy
PENTU1ByaW1pdGl2ZVZhbHVlPiBDU1NQYXJzZXI6OmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1
ZShDU1NQYXJzZXJWYWx1ZSogdmFsdWUpCiB7CisgICAgaWYgKG1fcGFyc2VkQ2FsYykgeworICAg
ICAgICBBU1NFUlQoaXNDYWxjTWluTWF4KHZhbHVlKSk7CisgICAgICAgIC8vIEZJWE1FIGNhbGMo
KSBodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyOiBjcmVhdGUgYSBDU1NQcmltaXRpdmVWYWx1ZSBo
ZXJlLCBpZQorICAgICAgICAvLyByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtX3Bh
cnNlZENhbGMucmVsZWFzZSgpKTsKKyAgICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgICAgICAgICAgICAgCiAgICAgQVNTRVJUKCh2YWx1
ZS0+dW5pdCA+PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUiAmJiB2YWx1ZS0+dW5pdCA8
PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0tIWikKICAgICAgICAgICAgfHwgKHZhbHVlLT51bml0
ID49IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVFVSTiAmJiB2YWx1ZS0+dW5pdCA8PSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1JFTVMpKTsKICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCktPmNyZWF0
ZVZhbHVlKHZhbHVlLT5mVmFsdWUsIHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXM+KHZhbHVlLT51bml0KSk7CkBAIC04MjAsNiArODYyLDExIEBAIGlubGluZSBQYXNzUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlVmFsaWRQcmltaXRpdmUoaW50
IGlkLCBDU1NQCiAgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUodmFs
dWUpOwogICAgIGlmICh2YWx1ZS0+dW5pdCA+PSBDU1NQYXJzZXJWYWx1ZTo6UV9FTVMpCiAgICAg
ICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlQWxsb3dpbmdNYXJnaW5RdWlyayh2
YWx1ZS0+ZlZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUyk7CisgICAgaWYgKGlzQ2Fs
Y01pbk1heCh2YWx1ZSkpCisgICAgICAgIC8vIEZJWE1FIGNhbGMoKSAgaHR0cDovL3dlYmtpdC5v
cmcvYi8xNjY2MjogY3JlYXRlIGEgcHJpbWl0aXZlIHZhbHVlIGhlcmUsIGllCisgICAgICAgIC8v
IHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCkp
OworICAgICAgICBtX3BhcnNlZENhbGMucmVsZWFzZSgpOworCiAgICAgcmV0dXJuIDA7CiB9CiAK
QEAgLTgzMyw2ICs4ODAsMTAgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJ
ZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCisgICAgLy8gTm90ZTogbV9wYXJzZWRDYWxjIGlzIHVzZWQgdG8gcGFzcyB0aGUgY2FsYyB2
YWx1ZSB0byB2YWxpZFVuaXQgYW5kIHRoZW4gY2xlYXJlZCBhdCB0aGUgZW5kIG9mIHRoaXMgZnVu
Y3Rpb24uCisgICAgLy8gRklYTUU6IFRoaXMgaXMgdG8gYXZvaWQgaGF2aW5nIHRvIHBhc3MgcGFy
c2VkQ2FsYyB0byBhbGwgdmFsaWRVbml0IGNhbGxlcnMuCisgICAgQVNTRVJUKCFtX3BhcnNlZENh
bGMpOworICAgIAogICAgIGludCBpZCA9IHZhbHVlLT5pZDsKIAogICAgIC8vIEluIHF1aXJrcyBt
b2RlLCB3ZSB3aWxsIGxvb2sgZm9yIHVuaXRzIHRoYXQgaGF2ZSBiZWVuIGluY29ycmVjdGx5IHNl
cGFyYXRlZCBmcm9tIHRoZSBudW1iZXIgdGhleSBiZWxvbmcgdG8KQEAgLTIyNDIsNiArMjI5Myw3
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50
KQogICAgICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlVmFsaWRQcmltaXRpdmUoaWQsIHZhbHVlKTsK
ICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICB9CisgICAgQVNTRVJUKCFtX3BhcnNl
ZENhbGMpOwogICAgIGlmIChwYXJzZWRWYWx1ZSkgewogICAgICAgICBpZiAoIW1fdmFsdWVMaXN0
LT5jdXJyZW50KCkgfHwgaW5TaG9ydGhhbmQoKSkgewogICAgICAgICAgICAgYWRkUHJvcGVydHko
cHJvcElkLCBwYXJzZWRWYWx1ZS5yZWxlYXNlKCksIGltcG9ydGFudCk7CkBAIC0yOTQ5LDggKzMw
MDEsMTEgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUZpbGxQb3NpdGlv
bkNvbXBvbmVudChDU1NQYXJzZXJWYWx1ZUxpc3QqIHYKICAgICAgICAgfSBlbHNlIGlmIChjdW11
bGF0aXZlRmxhZ3MgJiAoWEZpbGxQb3NpdGlvbiB8IEFtYmlndW91c0ZpbGxQb3NpdGlvbikpIHsK
ICAgICAgICAgICAgIGN1bXVsYXRpdmVGbGFncyB8PSBZRmlsbFBvc2l0aW9uOwogICAgICAgICAg
ICAgaW5kaXZpZHVhbEZsYWcgPSBZRmlsbFBvc2l0aW9uOwotICAgICAgICB9IGVsc2UKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChtX3BhcnNlZENhbGMpCisgICAgICAgICAgICAg
ICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKICAgICAgICAgICAgIHJldHVybiAwOworICAgICAg
ICB9CiAgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUodmFsdWVMaXN0
LT5jdXJyZW50KCkpOwogICAgIH0KICAgICByZXR1cm4gMDsKQEAgLTQ4MzIsMjIgKzQ4ODcsNDcg
QEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3IoY29uc3QgU3RyaW5nICZuYW1lLCBSR0JBMzIm
IHJnYiwgYm9vbCBzdHJpY3QpCiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KKyAgICAKK2lu
bGluZSBkb3VibGUgQ1NTUGFyc2VyOjpwYXJzZWREb3VibGUoQ1NTUGFyc2VyVmFsdWUgKnYsIFJl
bGVhc2VQYXJzZWRDYWxjVmFsdWVDb25kaXRpb24gcmVsZWFzZUNhbGMpCit7CisgICAgY29uc3Qg
ZG91YmxlIHJlc3VsdCA9IG1fcGFyc2VkQ2FsYyA/IG1fcGFyc2VkQ2FsYy0+ZG91YmxlVmFsdWUo
KSA6IHYtPmZWYWx1ZTsKKyAgICBpZiAocmVsZWFzZUNhbGMgPT0gUmVsZWFzZVBhcnNlZENhbGNW
YWx1ZSkKKyAgICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQogCi1zdGF0aWMgaW5saW5lIGludCBjb2xvckludEZyb21WYWx1ZShDU1NQYXJzZXJWYWx1
ZSogdikKK2Jvb2wgQ1NTUGFyc2VyOjppc0NhbGNNaW5NYXgoQ1NTUGFyc2VyVmFsdWUqIHZhbHVl
KSAKIHsKLSAgICBpZiAodi0+ZlZhbHVlIDw9IDAuMCkKKyAgICByZXR1cm4gKHZhbHVlLT51bml0
ID09IENTU1BhcnNlclZhbHVlOjpGdW5jdGlvbikgCisgICAgICAgICYmIChlcXVhbElnbm9yaW5n
Q2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LWNhbGMoIikKKyAgICAgICAgICAg
IHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbWlu
KCIpCisgICAgICAgICAgICB8fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5h
bWUsICItd2Via2l0LW1heCgiKSk7Cit9CisKK2lubGluZSBpbnQgQ1NTUGFyc2VyOjpjb2xvcklu
dEZyb21WYWx1ZShDU1NQYXJzZXJWYWx1ZSogdikKK3sKKyAgICBib29sIGlzUGVyY2VudDsKKyAg
ICAKKyAgICBpZiAobV9wYXJzZWRDYWxjKQorICAgICAgICBpc1BlcmNlbnQgPSBtX3BhcnNlZENh
bGMtPmNhdGVnb3J5KCkgPT0gQ2FsY1BlcmNlbnQ7CisgICAgZWxzZQorICAgICAgICBpc1BlcmNl
bnQgPSB2LT51bml0ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRTsKKworICAg
IGNvbnN0IGRvdWJsZSB2YWx1ZSA9IHBhcnNlZERvdWJsZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1Zh
bHVlKTsKKyAgICAKKyAgICBpZiAodmFsdWUgPD0gMC4wKQogICAgICAgICByZXR1cm4gMDsKIAot
ICAgIGlmICh2LT51bml0ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkgewot
ICAgICAgICBpZiAodi0+ZlZhbHVlID49IDEwMC4wKQorICAgIGlmIChpc1BlcmNlbnQpIHsKKyAg
ICAgICAgaWYgKHZhbHVlID49IDEwMC4wKQogICAgICAgICAgICAgcmV0dXJuIDI1NTsKLSAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odi0+ZlZhbHVlICogMjU2LjAgLyAxMDAuMCk7Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlICogMjU2LjAgLyAxMDAuMCk7CiAg
ICAgfQogCi0gICAgaWYgKHYtPmZWYWx1ZSA+PSAyNTUuMCkKKyAgICBpZiAodmFsdWUgPj0gMjU1
LjApCiAgICAgICAgIHJldHVybiAyNTU7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2
LT5mVmFsdWUpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlKTsKIH0KIAogYm9v
bCBDU1NQYXJzZXI6OnBhcnNlQ29sb3JQYXJhbWV0ZXJzKENTU1BhcnNlclZhbHVlKiB2YWx1ZSwg
aW50KiBjb2xvckFycmF5LCBib29sIHBhcnNlQWxwaGEpCkBAIC00ODYyLDYgKzQ5NDIsNyBAQCBi
b29sIENTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVl
LCBpbnQqIGNvbG9yQXJyYXksIGJvbwogICAgICAgICB1bml0VHlwZSA9IEZQZXJjZW50OwogICAg
IGVsc2UKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAogICAgIGNvbG9yQXJyYXlbMF0gPSBj
b2xvckludEZyb21WYWx1ZSh2KTsKICAgICBmb3IgKGludCBpID0gMTsgaSA8IDM7IGkrKykgewog
ICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwpAQCAtNDg3OSw5ICs0OTYwLDEwIEBAIGJvb2wgQ1NT
UGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIGludCog
Y29sb3JBcnJheSwgYm9vCiAgICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CiAgICAgICAgIGlmICgh
dmFsaWRVbml0KHYsIEZOdW1iZXIsIHRydWUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICBjb25zdCBkb3VibGUgdmFsdWUgPSBwYXJzZWREb3VibGUodiwgUmVsZWFzZVBhcnNl
ZENhbGNWYWx1ZSk7CiAgICAgICAgIC8vIENvbnZlcnQgdGhlIGZsb2F0aW5nIHBvaW50ZXIgbnVt
YmVyIG9mIGFscGhhIHRvIGFuIGludGVnZXIgaW4gdGhlIHJhbmdlIFswLCAyNTYpLAogICAgICAg
ICAvLyB3aXRoIGFuIGVxdWFsIGRpc3RyaWJ1dGlvbiBhY3Jvc3MgYWxsIDI1NiB2YWx1ZXMuCi0g
ICAgICAgIGNvbG9yQXJyYXlbM10gPSBzdGF0aWNfY2FzdDxpbnQ+KG1heCgwLjAsIG1pbigxLjAs
IHYtPmZWYWx1ZSkpICogbmV4dGFmdGVyKDI1Ni4wLCAwLjApKTsKKyAgICAgICAgY29sb3JBcnJh
eVszXSA9IHN0YXRpY19jYXN0PGludD4obWF4KDAuMCwgbWluKDEuMCwgdmFsdWUpKSAqIG5leHRh
ZnRlcigyNTYuMCwgMC4wKSk7CiAgICAgfQogICAgIHJldHVybiB0cnVlOwogfQpAQCAtNDg5OSw3
ICs0OTgxLDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJW
YWx1ZSogdmFsdWUsIGRvdWJsZSogY29sb3JBcnJheSwgYm8KICAgICBpZiAoIXZhbGlkVW5pdCh2
LCBGTnVtYmVyLCB0cnVlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIG5vcm1hbGl6
ZSB0aGUgSHVlIHZhbHVlIGFuZCBjaGFuZ2UgaXQgdG8gYmUgYmV0d2VlbiAwIGFuZCAxLjAKLSAg
ICBjb2xvckFycmF5WzBdID0gKCgoc3RhdGljX2Nhc3Q8aW50Pih2LT5mVmFsdWUpICUgMzYwKSAr
IDM2MCkgJSAzNjApIC8gMzYwLjA7CisgICAgY29sb3JBcnJheVswXSA9ICgoKHN0YXRpY19jYXN0
PGludD4ocGFyc2VkRG91YmxlKHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpKSAlIDM2MCkgKyAz
NjApICUgMzYwKSAvIDM2MC4wOwogICAgIGZvciAoaW50IGkgPSAxOyBpIDwgMzsgaSsrKSB7CiAg
ICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CiAgICAgICAgIGlmICh2LT51bml0ICE9IENTU1BhcnNl
clZhbHVlOjpPcGVyYXRvciAmJiB2LT5pVmFsdWUgIT0gJywnKQpAQCAtNDkwNyw3ICs0OTg5LDcg
QEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJWYWx1ZSogdmFs
dWUsIGRvdWJsZSogY29sb3JBcnJheSwgYm8KICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKICAg
ICAgICAgaWYgKCF2YWxpZFVuaXQodiwgRlBlcmNlbnQsIHRydWUpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICBjb2xvckFycmF5W2ldID0gbWF4KDAuMCwgbWluKDEwMC4wLCB2
LT5mVmFsdWUpKSAvIDEwMC4wOyAvLyBuZWVkcyB0byBiZSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEu
MAorICAgICAgICBjb2xvckFycmF5W2ldID0gbWF4KDAuMCwgbWluKDEwMC4wLCBwYXJzZWREb3Vi
bGUodiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSkpKSAvIDEwMC4wOyAvLyBuZWVkcyB0byBiZSB2
YWx1ZSBiZXR3ZWVuIDAgYW5kIDEuMAogICAgIH0KICAgICBpZiAocGFyc2VBbHBoYSkgewogICAg
ICAgICB2ID0gYXJncy0+bmV4dCgpOwpAQCAtNDkxNiw3ICs0OTk4LDcgQEAgYm9vbCBDU1NQYXJz
ZXI6OnBhcnNlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIGRvdWJsZSogY29s
b3JBcnJheSwgYm8KICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKICAgICAgICAgaWYgKCF2YWxp
ZFVuaXQodiwgRk51bWJlciwgdHJ1ZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgIGNvbG9yQXJyYXlbM10gPSBtYXgoMC4wLCBtaW4oMS4wLCB2LT5mVmFsdWUpKTsKKyAgICAg
ICAgY29sb3JBcnJheVszXSA9IG1heCgwLjAsIG1pbigxLjAsIHBhcnNlZERvdWJsZSh2LCBSZWxl
YXNlUGFyc2VkQ2FsY1ZhbHVlKSkpOwogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTQ5
ODQsOSArNTA2Niw5IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yRnJvbVZhbHVlKENTU1Bh
cnNlclZhbHVlKiB2YWx1ZSwgUkdCQTMyJiBjKQogLy8gVGhpcyBjbGFzcyB0cmFja3MgcGFyc2lu
ZyBzdGF0ZSBmb3Igc2hhZG93IHZhbHVlcy4gIElmIGl0IGdvZXMgb3V0IG9mIHNjb3BlIChlLmcu
LCBkdWUgdG8gYW4gZWFybHkgcmV0dXJuKQogLy8gd2l0aG91dCB0aGUgYWxsb3dCcmVhayBiaXQg
YmVpbmcgc2V0LCB0aGVuIGl0IHdpbGwgY2xlYW4gdXAgYWxsIG9mIHRoZSBvYmplY3RzIGFuZCBk
ZXN0cm95IHRoZW0uCiBzdHJ1Y3QgU2hhZG93UGFyc2VDb250ZXh0IHsKLSAgICBTaGFkb3dQYXJz
ZUNvbnRleHQoQ1NTUHJvcGVydHlJRCBwcm9wLCBDU1NWYWx1ZVBvb2wqIGNzc1ZhbHVlUG9vbCkK
KyAgICBTaGFkb3dQYXJzZUNvbnRleHQoQ1NTUHJvcGVydHlJRCBwcm9wLCBDU1NQYXJzZXIqIHBh
cmVudCkKICAgICAgICAgOiBwcm9wZXJ0eShwcm9wKQotICAgICAgICAsIG1fY3NzVmFsdWVQb29s
KGNzc1ZhbHVlUG9vbCkKKyAgICAgICAgLCBtX3BhcmVudChwYXJlbnQpCiAgICAgICAgICwgYWxs
b3dYKHRydWUpCiAgICAgICAgICwgYWxsb3dZKGZhbHNlKQogICAgICAgICAsIGFsbG93Qmx1cihm
YWxzZSkKQEAgLTUwMjksNyArNTExMSw3IEBAIHN0cnVjdCBTaGFkb3dQYXJzZUNvbnRleHQgewog
CiAgICAgdm9pZCBjb21taXRMZW5ndGgoQ1NTUGFyc2VyVmFsdWUqIHYpCiAgICAgewotICAgICAg
ICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVW
YWx1ZSh2LT5mVmFsdWUsIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKXYtPnVuaXQpOwor
ICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fcGFyZW50LT5jcmVhdGVQ
cmltaXRpdmVOdW1lcmljVmFsdWUodik7CiAKICAgICAgICAgaWYgKGFsbG93WCkgewogICAgICAg
ICAgICAgeCA9IHZhbC5yZWxlYXNlKCk7CkBAIC01MDcxLDcgKzUxNTMsNyBAQCBzdHJ1Y3QgU2hh
ZG93UGFyc2VDb250ZXh0IHsKIAogICAgIHZvaWQgY29tbWl0U3R5bGUoQ1NTUGFyc2VyVmFsdWUq
IHYpCiAgICAgewotICAgICAgICBzdHlsZSA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVJZGVudGlm
aWVyVmFsdWUodi0+aWQpOworICAgICAgICBzdHlsZSA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2wo
KS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKHYtPmlkKTsKICAgICAgICAgYWxsb3dTdHlsZSA9IGZh
bHNlOwogICAgICAgICBpZiAoYWxsb3dYKQogICAgICAgICAgICAgYWxsb3dCcmVhayA9IGZhbHNl
OwpAQCAtNTA4Myw3ICs1MTY1LDcgQEAgc3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7CiAgICAg
fQogCiAgICAgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eTsKLSAgICBDU1NWYWx1ZVBvb2wqIG1fY3Nz
VmFsdWVQb29sOworICAgIENTU1BhcnNlciogbV9wYXJlbnQ7CiAKICAgICBSZWZQdHI8Q1NTVmFs
dWVMaXN0PiB2YWx1ZXM7CiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB4OwpAQCAtNTEw
NCw3ICs1MTg2LDcgQEAgc3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7CiAKIFBhc3NSZWZQdHI8
Q1NTVmFsdWVMaXN0PiBDU1NQYXJzZXI6OnBhcnNlU2hhZG93KENTU1BhcnNlclZhbHVlTGlzdCog
dmFsdWVMaXN0LCBpbnQgcHJvcElkKQogewotICAgIFNoYWRvd1BhcnNlQ29udGV4dCBjb250ZXh0
KHN0YXRpY19jYXN0PENTU1Byb3BlcnR5SUQ+KHByb3BJZCksIGNzc1ZhbHVlUG9vbCgpKTsKKyAg
ICBTaGFkb3dQYXJzZUNvbnRleHQgY29udGV4dChzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihw
cm9wSWQpLCB0aGlzKTsKICAgICBDU1NQYXJzZXJWYWx1ZSogdmFsOwogICAgIHdoaWxlICgodmFs
ID0gdmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7CiAgICAgICAgIC8vIENoZWNrIGZvciBhIGNvbW1h
IGJyZWFrIGZpcnN0LgpAQCAtNTQ3Miw4ICs1NTU0LDggQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNl
Qm9yZGVySW1hZ2VSZXBlYXQoUmVmUHRyPENTU1ZhbHVlPiYgcmVzdWx0KQogCiBjbGFzcyBCb3Jk
ZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0IHsKIHB1YmxpYzoKLSAgICBCb3JkZXJJbWFnZVNsaWNl
UGFyc2VDb250ZXh0KENTU1ZhbHVlUG9vbCogY3NzVmFsdWVQb29sKQotICAgIDogbV9jc3NWYWx1
ZVBvb2woY3NzVmFsdWVQb29sKQorICAgIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQoQ1NT
UGFyc2VyKiBwYXJlbnQpCisgICAgOiBtX3BhcmVudChwYXJlbnQpCiAgICAgLCBtX2FsbG93TnVt
YmVyKHRydWUpCiAgICAgLCBtX2FsbG93RmlsbChmYWxzZSkKICAgICAsIG1fYWxsb3dGaW5hbENv
bW1pdChmYWxzZSkKQEAgLTU0ODcsNyArNTU2OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY29t
bWl0TnVtYmVyKENTU1BhcnNlclZhbHVlKiB2KQogICAgIHsKLSAgICAgICAgUmVmUHRyPENTU1By
aW1pdGl2ZVZhbHVlPiB2YWwgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUodi0+ZlZhbHVl
LCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2LT51bml0KTsKKyAgICAgICAgUmVmUHRy
PENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwgPSBtX3BhcmVudC0+Y3JlYXRlUHJpbWl0aXZlTnVtZXJp
Y1ZhbHVlKHYpOwogICAgICAgICBpZiAoIW1fdG9wKQogICAgICAgICAgICAgbV90b3AgPSB2YWw7
CiAgICAgICAgIGVsc2UgaWYgKCFtX3JpZ2h0KQpAQCAtNTUxNCwxNiArNTU5NiwxNiBAQCBwdWJs
aWM6CiAgICAgICAgIC8vIFdlIG5lZWQgdG8gY2xvbmUgYW5kIHJlcGVhdCB2YWx1ZXMgZm9yIGFu
eSBvbWlzc2lvbnMuCiAgICAgICAgIEFTU0VSVChtX3RvcCk7CiAgICAgICAgIGlmICghbV9yaWdo
dCkgewotICAgICAgICAgICAgbV9yaWdodCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZSht
X3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90
b3AtPnByaW1pdGl2ZVR5cGUoKSk7Ci0gICAgICAgICAgICBtX2JvdHRvbSA9IG1fY3NzVmFsdWVQ
b29sLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZh
bHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7Ci0gICAgICAgICAgICBtX2xl
ZnQgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCks
IChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOwor
ICAgICAgICAgICAgbV9yaWdodCA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFs
dWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVz
KW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICAgICAgbV9ib3R0b20gPSBtX3BhcmVu
dC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAo
Q1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAg
ICAgICAgICAgIG1fbGVmdCA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUo
bV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1f
dG9wLT5wcmltaXRpdmVUeXBlKCkpOwogICAgICAgICB9CiAgICAgICAgIGlmICghbV9ib3R0b20p
IHsKLSAgICAgICAgICAgIG1fYm90dG9tID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKG1f
dG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3Rv
cC0+cHJpbWl0aXZlVHlwZSgpKTsKLSAgICAgICAgICAgIG1fbGVmdCA9IG1fY3NzVmFsdWVQb29s
LT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFs
dWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICAgICAgbV9i
b3R0b20gPSBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXRE
b3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0
aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIG1fbGVmdCA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2wo
KS0+Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZh
bHVlOjpVbml0VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKICAgICAgICAgfQogICAg
ICAgICBpZiAoIW1fbGVmdCkKLSAgICAgICAgICAgICBtX2xlZnQgPSBtX2Nzc1ZhbHVlUG9vbC0+
Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVl
OjpVbml0VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgICBtX2xl
ZnQgPSBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERv
dWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1p
dGl2ZVR5cGUoKSk7CiAKICAgICAgICAgLy8gTm93IGJ1aWxkIGEgcmVjdCB2YWx1ZSB0byBob2xk
IGFsbCBmb3VyIG9mIG91ciBwcmltaXRpdmUgdmFsdWVzLgogICAgICAgICBSZWZQdHI8UXVhZD4g
cXVhZCA9IFF1YWQ6OmNyZWF0ZSgpOwpAQCAtNTUzMywxMSArNTYxNSwxMSBAQCBwdWJsaWM6CiAg
ICAgICAgIHF1YWQtPnNldExlZnQobV9sZWZ0KTsKIAogICAgICAgICAvLyBNYWtlIG91ciBuZXcg
Ym9yZGVyIGltYWdlIHZhbHVlIG5vdy4KLSAgICAgICAgcmV0dXJuIENTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZTo6Y3JlYXRlKG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShxdWFkLnJlbGVhc2Uo
KSksIG1fZmlsbCk7CisgICAgICAgIHJldHVybiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU6OmNy
ZWF0ZShtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKHF1YWQucmVsZWFzZSgp
KSwgbV9maWxsKTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgQ1NTVmFsdWVQb29sKiBtX2Nzc1Zh
bHVlUG9vbDsKKyAgICBDU1NQYXJzZXIqIG1fcGFyZW50OwogCiAgICAgYm9vbCBtX2FsbG93TnVt
YmVyOwogICAgIGJvb2wgbV9hbGxvd0ZpbGw7CkBAIC01NTUzLDEwICs1NjM1LDExIEBAIHByaXZh
dGU6CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlU2xpY2UoaW50IHByb3BJZCwg
UmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4mIHJlc3VsdCkKIHsKLSAgICBCb3JkZXJJ
bWFnZVNsaWNlUGFyc2VDb250ZXh0IGNvbnRleHQoY3NzVmFsdWVQb29sKCkpOworICAgIEJvcmRl
ckltYWdlU2xpY2VQYXJzZUNvbnRleHQgY29udGV4dCh0aGlzKTsKICAgICBDU1NQYXJzZXJWYWx1
ZSogdmFsOwogICAgIHdoaWxlICgodmFsID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsKLSAg
ICAgICAgaWYgKGNvbnRleHQuYWxsb3dOdW1iZXIoKSAmJiB2YWxpZFVuaXQodmFsLCBGSW50ZWdl
ciB8IEZOb25OZWcgfCBGUGVyY2VudCwgdHJ1ZSkpIHsKKyAgICAgICAgLy8gRklYTUUgY2FsYygp
IGh0dHA6Ly93ZWJraXQub3JnL2IvMTY2NjIgOiBjYWxjIGlzIHBhcnNlZCBidXQgdmFsdWVzIGFy
ZSBub3QgY3JlYXRlZCB5ZXQuCisgICAgICAgIGlmIChjb250ZXh0LmFsbG93TnVtYmVyKCkgJiYg
IWlzQ2FsY01pbk1heCh2YWwpICYmIHZhbGlkVW5pdCh2YWwsIEZJbnRlZ2VyIHwgRk5vbk5lZyB8
IEZQZXJjZW50LCB0cnVlKSkgewogICAgICAgICAgICAgY29udGV4dC5jb21taXROdW1iZXIodmFs
KTsKICAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0LmFsbG93RmlsbCgpICYmIHZhbC0+aWQgPT0g
Q1NTVmFsdWVGaWxsKQogICAgICAgICAgICAgY29udGV4dC5jb21taXRGaWxsKCk7CkBAIC01NTg5
LDggKzU2NzIsOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVNsaWNlKGludCBw
cm9wSWQsIFJlZlB0cjxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdQogCiBjbGFzcyBCb3JkZXJJbWFn
ZVF1YWRQYXJzZUNvbnRleHQgewogcHVibGljOgotICAgIEJvcmRlckltYWdlUXVhZFBhcnNlQ29u
dGV4dChDU1NWYWx1ZVBvb2wqIGNzc1ZhbHVlUG9vbCkKLSAgICA6IG1fY3NzVmFsdWVQb29sKGNz
c1ZhbHVlUG9vbCkKKyAgICBCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQoQ1NTUGFyc2VyKiBw
YXJlbnQpCisgICAgOiBtX3BhcmVudChwYXJlbnQpCiAgICAgLCBtX2FsbG93TnVtYmVyKHRydWUp
CiAgICAgLCBtX2FsbG93RmluYWxDb21taXQoZmFsc2UpCiAgICAgeyB9CkBAIC01NjAzLDkgKzU2
ODYsOSBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IHZhbDsKICAgICAgICAgaWYgKHYtPmlkID09IENTU1ZhbHVlQXV0bykKLSAgICAgICAgICAgIHZh
bCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodi0+aWQpOworICAgICAg
ICAgICAgdmFsID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFs
dWUodi0+aWQpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICB2YWwgPSBtX2Nzc1ZhbHVlUG9v
bC0+Y3JlYXRlVmFsdWUodi0+ZlZhbHVlLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2
LT51bml0KTsKKyAgICAgICAgICAgIHZhbCA9IG1fcGFyZW50LT5jcmVhdGVQcmltaXRpdmVOdW1l
cmljVmFsdWUodik7CiAKICAgICAgICAgaWYgKCFtX3RvcCkKICAgICAgICAgICAgIG1fdG9wID0g
dmFsOwpAQCAtNTYzMCwxNiArNTcxMywxNiBAQCBwdWJsaWM6CiAgICAgICAgIC8vIFdlIG5lZWQg
dG8gY2xvbmUgYW5kIHJlcGVhdCB2YWx1ZXMgZm9yIGFueSBvbWlzc2lvbnMuCiAgICAgICAgIEFT
U0VSVChtX3RvcCk7CiAgICAgICAgIGlmICghbV9yaWdodCkgewotICAgICAgICAgICAgbV9yaWdo
dCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwg
KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7Ci0g
ICAgICAgICAgICBtX2JvdHRvbSA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShtX3RvcC0+
Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnBy
aW1pdGl2ZVR5cGUoKSk7Ci0gICAgICAgICAgICBtX2xlZnQgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3Jl
YXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5p
dFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICAgICAgbV9yaWdodCA9IG1f
cGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVl
KCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkp
OworICAgICAgICAgICAgbV9ib3R0b20gPSBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0
ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRU
eXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIG1fbGVmdCA9IG1fcGFy
ZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCks
IChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOwog
ICAgICAgICB9CiAgICAgICAgIGlmICghbV9ib3R0b20pIHsKLSAgICAgICAgICAgIG1fYm90dG9t
ID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAo
Q1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKLSAg
ICAgICAgICAgIG1fbGVmdCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5n
ZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5w
cmltaXRpdmVUeXBlKCkpOworICAgICAgICAgICAgbV9ib3R0b20gPSBtX3BhcmVudC0+Y3NzVmFs
dWVQb29sKCktPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0
aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAg
IG1fbGVmdCA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUobV9yaWdodC0+
Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9yaWdodC0+
cHJpbWl0aXZlVHlwZSgpKTsKICAgICAgICAgfQogICAgICAgICBpZiAoIW1fbGVmdCkKLSAgICAg
ICAgICAgICBtX2xlZnQgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0
RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9yaWdodC0+cHJp
bWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgICBtX2xlZnQgPSBtX3BhcmVudC0+Y3NzVmFsdWVQ
b29sKCktPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRp
dmVWYWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CiAKICAgICAgICAg
Ly8gTm93IGJ1aWxkIGEgcXVhZCB2YWx1ZSB0byBob2xkIGFsbCBmb3VyIG9mIG91ciBwcmltaXRp
dmUgdmFsdWVzLgogICAgICAgICBSZWZQdHI8UXVhZD4gcXVhZCA9IFF1YWQ6OmNyZWF0ZSgpOwpA
QCAtNTY0OSwxMSArNTczMiwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHF1YWQtPnNldExlZnQobV9s
ZWZ0KTsKIAogICAgICAgICAvLyBNYWtlIG91ciBuZXcgdmFsdWUgbm93LgotICAgICAgICByZXR1
cm4gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHF1YWQucmVsZWFzZSgpKTsKKyAgICAgICAg
cmV0dXJuIG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUocXVhZC5yZWxlYXNl
KCkpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBDU1NWYWx1ZVBvb2wqIG1fY3NzVmFsdWVQb29s
OworICAgIENTU1BhcnNlciogbV9wYXJlbnQ7CiAKICAgICBib29sIG1fYWxsb3dOdW1iZXI7CiAg
ICAgYm9vbCBtX2FsbG93RmluYWxDb21taXQ7CkBAIC01NjY2LDcgKzU3NDksNyBAQCBwcml2YXRl
OgogCiBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVF1YWQoVW5pdHMgdmFsaWRVbml0
cywgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiYgcmVzdWx0KQogewotICAgIEJvcmRlckltYWdl
UXVhZFBhcnNlQ29udGV4dCBjb250ZXh0KGNzc1ZhbHVlUG9vbCgpKTsKKyAgICBCb3JkZXJJbWFn
ZVF1YWRQYXJzZUNvbnRleHQgY29udGV4dCh0aGlzKTsKICAgICBDU1NQYXJzZXJWYWx1ZSogdmFs
OwogICAgIHdoaWxlICgodmFsID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsKICAgICAgICAg
aWYgKGNvbnRleHQuYWxsb3dOdW1iZXIoKSAmJiAodmFsaWRVbml0KHZhbCwgdmFsaWRVbml0cywg
dHJ1ZSkgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUF1dG8pKSB7CkBAIC03MTk4LDYgKzcyODEsMjMg
QEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udEZlYXR1cmVTZXR0aW5ncyhib29sIGltcG9ydGFu
dCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUNhbGMoQ1NT
UGFyc2VyVmFsdWUqIHZhbHVlLCBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSByYW5nZSkgCit7Cisg
ICAgQVNTRVJUKGlzQ2FsY01pbk1heCh2YWx1ZSkpOworICAgIAorICAgIENTU1BhcnNlclZhbHVl
TGlzdCogYXJncyA9IHZhbHVlLT5mdW5jdGlvbi0+YXJncy5nZXQoKTsKKyAgICBpZiAoIWFyZ3Mg
fHwgIWFyZ3MtPnNpemUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQVNTRVJUKCFt
X3BhcnNlZENhbGMpOworICAgIG1fcGFyc2VkQ2FsYyA9IENTU0NhbGNWYWx1ZTo6Y3JlYXRlKHZh
bHVlLT5mdW5jdGlvbi0+bmFtZSwgYXJncywgcmFuZ2UpOworICAgIAorICAgIGlmICghbV9wYXJz
ZWRDYWxjKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgcmV0dXJuIHRydWU7Cit9
CisgICAgCiBzdGF0aWMgaW5saW5lIGludCB5eWVycm9yKGNvbnN0IGNoYXIqKSB7IHJldHVybiAx
OyB9CiAKICNkZWZpbmUgRU5EX1RPS0VOIDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA0N2M1
ZWY3ODQ3MzMzMzdlNGQ5NDYyNGEyMjljOTE0Y2E0MWI4MDI2Li42ZDdmMWEzYjRlYjM3ODJlZmZm
NTcyYTBjMGZhODViNWUxZmQ5MzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yMyw2ICsy
Myw3IEBACiAjaWZuZGVmIENTU1BhcnNlcl9oCiAjZGVmaW5lIENTU1BhcnNlcl9oCiAKKyNpbmNs
dWRlICJDU1NDYWxjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NHcmFkaWVudFZhbHVlLmgiCiAjaW5j
bHVkZSAiQ1NTUGFyc2VyVmFsdWVzLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlTb3VyY2VEYXRh
LmgiCkBAIC0yMDYsNiArMjA3LDcgQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VUZXh0RW1waGFz
aXNTdHlsZShib29sIGltcG9ydGFudCk7CiAKICAgICBib29sIHBhcnNlTGluZUJveENvbnRhaW4o
Ym9vbCBpbXBvcnRhbnQpOworICAgIGJvb2wgcGFyc2VDYWxjKENTU1BhcnNlclZhbHVlKiwgQ2Fs
Y1Blcm1pdHRlZFZhbHVlUmFuZ2UpOwogCiAgICAgYm9vbCBwYXJzZUZvbnRGZWF0dXJlVGFnKENT
U1ZhbHVlTGlzdCopOwogICAgIGJvb2wgcGFyc2VGb250RmVhdHVyZVNldHRpbmdzKGJvb2wgaW1w
b3J0YW50KTsKQEAgLTMxNSw2ICszMTcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb3VudExpbmVz
KCk7CiAgICAgaW50IGxleCgpOwogCisgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4g
Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CisgICAgUGFzc1Jl
ZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlU3RyaW5nVmFsdWUoQ1NTUGFy
c2VyVmFsdWUqKTsKKyAgICAgICAgCiBwcml2YXRlOgogICAgIHZvaWQgc2V0U3R5bGVTaGVldChD
U1NTdHlsZVNoZWV0Kik7CiAKQEAgLTM3OCw2ICszODMsOCBAQCBwcml2YXRlOgogICAgIFZlY3Rv
cjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4gbV9yZXVzYWJsZVNlbGVjdG9yVmVjdG9yOwog
ICAgIFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4gbV9yZXVzYWJsZVJlZ2lvblNl
bGVjdG9yVmVjdG9yOwogCisgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9wYXJzZWRDYWxjOwor
CiAgICAgLy8gZGVmaW5lcyB1bml0cyBhbGxvd2VkIGZvciBhIGNlcnRhaW4gcHJvcGVydHksIHVz
ZWQgaW4gcGFyc2VVbml0CiAgICAgZW51bSBVbml0cyB7CiAgICAgICAgIEZVbmtub3duICAgPSAw
eDAwMDAsCkBAIC0zOTcsMTMgKzQwNCwxOCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8VW5pdHM+KHN0YXRpY19jYXN0PHVuc2lnbmVkPihhKSB8IHN0YXRpY19jYXN0PHVu
c2lnbmVkPihiKSk7CiAgICAgfQogCi0gICAgc3RhdGljIGJvb2wgdmFsaWRVbml0KENTU1BhcnNl
clZhbHVlKiwgVW5pdHMsIGJvb2wgc3RyaWN0KTsKKyAgICBib29sIHZhbGlkVW5pdChDU1NQYXJz
ZXJWYWx1ZSosIFVuaXRzLCBib29sIHN0cmljdCk7CiAKICAgICBib29sIHBhcnNlQm9yZGVySW1h
Z2VRdWFkKFVuaXRzLCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+Jik7Ci0KLSAgICBQYXNzUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUoQ1NTUGFy
c2VyVmFsdWUqKTsKLSAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmlt
aXRpdmVTdHJpbmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwotCisgICAgaW50IGNvbG9ySW50RnJv
bVZhbHVlKENTU1BhcnNlclZhbHVlKik7CisKKyAgICBlbnVtIFJlbGVhc2VQYXJzZWRDYWxjVmFs
dWVDb25kaXRpb24geworICAgICAgICBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlLAorICAgICAgICBE
b05vdFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUKKyAgICB9OyAgICAKKyAgICBkb3VibGUgcGFyc2Vk
RG91YmxlKENTU1BhcnNlclZhbHVlKiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZUNvbmRpdGlvbiBy
ZWxlYXNlQ2FsYyA9IERvTm90UmVsZWFzZVBhcnNlZENhbGNWYWx1ZSk7CisgICAgYm9vbCBpc0Nh
bGNNaW5NYXgoQ1NTUGFyc2VyVmFsdWUqKTsKKyAgICAKICAgICBmcmllbmQgY2xhc3MgVHJhbnNm
b3JtT3BlcmF0aW9uSW5mbzsKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgZnJpZW5kIGNs
YXNzIEZpbHRlck9wZXJhdGlvbkluZm87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCA0Y2Vm
ZGJjNWMyNTJjMjk2ZDk4ODU0MThlODkyODlkZTkxNTM1OGRjLi5iMTRjNDI1ZTlhYjM3OWM4YzZj
ZWVlNTY2YTBjZTVkZjMwNzIxMWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTMwLDYg
KzMwLDcgQEAKICNpbmNsdWRlICJDU1NBc3BlY3RSYXRpb1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NT
Qm9yZGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5o
IgorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0NhbnZhc1ZhbHVlLmgi
CiAjaW5jbHVkZSAiQ1NTQ3Jvc3NmYWRlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDdXJzb3JJbWFn
ZVZhbHVlLmgiCkBAIC0xNDcsNiArMTQ4LDggQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkg
Y29uc3QKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0xpbmVCb3hDb250YWlu
VmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOwogICAgIGNhc2UgRmxleENsYXNzOgogICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTRmxleFZhbHVlKj4odGhpcyktPmN1c3Rv
bUNzc1RleHQoKTsKKyAgICBjYXNlIENhbGNDbGFzczoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGNvbnN0IENTU0NhbGNWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CiAjaWYgRU5B
QkxFKENTU19GSUxURVJTKQogICAgIGNhc2UgV2ViS2l0Q1NTRmlsdGVyQ2xhc3M6CiAgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NGaWx0ZXJWYWx1ZSo+KHRoaXMpLT5j
dXN0b21Dc3NUZXh0KCk7CkBAIC0yNTAsNiArMjUzLDkgQEAgdm9pZCBDU1NWYWx1ZTo6ZGVzdHJv
eSgpCiAgICAgY2FzZSBGbGV4Q2xhc3M6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxDU1NG
bGV4VmFsdWUqPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgQ2FsY0NsYXNzOgor
ICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8Q1NTQ2FsY1ZhbHVlKj4odGhpcyk7CisgICAgICAg
IHJldHVybjsKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgY2FzZSBXZWJLaXRDU1NGaWx0
ZXJDbGFzczoKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdlYktpdENTU0ZpbHRlclZhbHVl
Kj4odGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCmluZGV4IGNlOTUzNjlhYmMwZDU2NTdmYmUxYzAx
Nzk4NDhkYzYxN2RjNjllMmIuLmE2ODBiYWQ1ZDkxNTNkM2JiZGVmYWViMmNjM2IyNDVlNjExYWQ4
YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCkBAIC03Nyw2ICs3Nyw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlw
ZSA9PSBXZWJLaXRDU1NUcmFuc2Zvcm1DbGFzczsgfQogICAgIGJvb2wgaXNDU1NMaW5lQm94Q29u
dGFpblZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gTGluZUJveENvbnRhaW5D
bGFzczsgfQogICAgIGJvb2wgaXNGbGV4VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlw
ZSA9PSBGbGV4Q2xhc3M7IH0KKyAgICBib29sIGlzQ2FsY1ZhbHVlKCkgY29uc3Qge3JldHVybiBt
X2NsYXNzVHlwZSA9PSBDYWxjQ2xhc3M7IH0KICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAg
Ym9vbCBpc1dlYktpdENTU0ZpbHRlclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUg
PT0gV2ViS2l0Q1NTRmlsdGVyQ2xhc3M7IH0KICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCkBAIC0x
MjgsNiArMTI5LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBVbmljb2RlUmFuZ2VDbGFzcywKICAg
ICAgICAgTGluZUJveENvbnRhaW5DbGFzcywKICAgICAgICAgRmxleENsYXNzLAorICAgICAgICBD
YWxjQ2xhc3MsCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKSAmJiBFTkFCTEUoQ1NTX1NIQURFUlMp
CiAgICAgICAgIFdlYktpdENTU1NoYWRlckNsYXNzLAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdD
U1NQYXJzZXIuY3BwCmluZGV4IGM4ZTcxYjc5MTJlZDA5ZWM4NTJjMTYwZGVmMzU0MDY3NjU3ZjRi
OGUuLmQxOThmNjQxNTEyN2U0MDhhY2VkYzExYWUzZWViNjJkODkzYzdjOGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TVkdDU1NQYXJzZXIuY3BwCkBAIC0zMTQsNiArMzE0LDEyIEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZVNWR1ZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAg
cGFyc2VkVmFsdWUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHZhbHVlLT5mVmFsdWUsIChD
U1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKSB2YWx1ZS0+dW5pdCk7CiAgICAgICAgIGVsc2Ug
aWYgKHZhbHVlLT51bml0ID49IENTU1BhcnNlclZhbHVlOjpRX0VNUykKICAgICAgICAgICAgIHBh
cnNlZFZhbHVlID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUFsbG93aW5nTWFyZ2luUXVpcmso
dmFsdWUtPmZWYWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19FTVMpOworICAgICAgICBpZiAo
aXNDYWxjTWluTWF4KHZhbHVlKSkgeworICAgICAgICAgICAgLy8gRklYTUUgY2FsYygpIGh0dHA6
Ly93ZWJraXQub3JnL2IvMTY2NjIgOiBhY3R1YWxseSBjcmVhdGUgYSBDU1NQcmltaXRpdmVWYWx1
ZSBoZXJlLCBpZQorICAgICAgICAgICAgLy8gcGFyc2VkVmFsdWUgPSBDU1NQcmltaXRpdmVWYWx1
ZTo6Y3JlYXRlKG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCkpOworICAgICAgICAgICAgbV9wYXJzZWRD
YWxjLnJlbGVhc2UoKTsKKyAgICAgICAgICAgIHBhcnNlZFZhbHVlID0gMDsKKyAgICAgICAgfQog
ICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgIH0KICAgICBpZiAoIXBhcnNlZFZhbHVl
IHx8IChtX3ZhbHVlTGlzdC0+Y3VycmVudCgpICYmICFpblNob3J0aGFuZCgpKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlOGEwY2ExMGNiMTk5NjIzOTA0
ZmIwNzQzZDFhNDE2YzFlNmE4NTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9DYWxjVmFsdWUuY3BwCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCisKKyNpbmNsdWRlIDxsaW1pdHM+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0NhbGNWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyOTIyODBlOGM3ODgyMGFiYjNkMzYzNzFjNTM4
NTA3YTVmYzFlNDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9D
YWxjVmFsdWUuaApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDYWxjVmFsdWVfaAorI2RlZmluZSBD
YWxjVmFsdWVfaAorCisjaW5jbHVkZSAiTGVuZ3RoLmgiCisjaW5jbHVkZSA8d3RmL093blB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51
bSBDYWxjT3BlcmF0b3IgeworICAgIENhbGNBZGQgPSAnKycsCisgICAgQ2FsY1N1YnRyYWN0ID0g
Jy0nLAorICAgIENhbGNNdWx0aXBseSA9ICcqJywKKyAgICBDYWxjRGl2aWRlID0gJy8nLAorICAg
IENhbGNNb2QgPSAnJScKK307CisKK2VudW0gQ2FsY1Blcm1pdHRlZFZhbHVlUmFuZ2UgeworICAg
IENhbGNSYW5nZUFsbCwKKyAgICBDYWxjUmFuZ2VOb25OZWdhdGl2ZQorfTsKKworZW51bSBDYWxj
TGlzdFR5cGUgeworICAgIENhbGNNaW4sCisgICAgQ2FsY01heCwgCit9OworICAgIAorfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0OTIzNDEx
ODk1ZDZhNDgzMDAzNDYzMGMwMWU4MGRhNjY4ZWQ2YjMxLi44MGVhMjM2ZjkyNDMwMjU0MGE2Zjc4
NmVmZTU3OGM0YmE2YjNmM2MzIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcgQEAKKzIwMTEtMTItMjIgIE1p
a2UgTGF3dGhlciAgPG1pa2VsYXd0aGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBDU1MgY2Fs
YyBwYXJzaW5nIHN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NzA4MgorCisgICAgICAgIE5vdGUgdGhhdCB0aGVzZSB0ZXN0cyBhcmUgZXhwZWN0
ZWQgdG8gJ2ZhaWwnLCBhcyBjYWxjIGlzIG5vdCB5ZXQKKyAgICAgICAgcHJvZHVjaW5nIHZhbHVl
cy4gVGhleSBzaG93IHRoYXQgY2FsYyBpcyBub3QgY3Jhc2hpbmcgZHVyaW5nIHBhcnNpbmcuCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MzL2Nh
bGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5nLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmcuaHRt
bDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFnZS1v
dXRzZXQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxj
L2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFnZS1vdXRzZXQuaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2Fs
Yy9ib3JkZXItcmFkaXVzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNzczMvY2FsYy9ib3JkZXItcmFkaXVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2Fs
Yy9ib3JkZXItc3BhY2luZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2Fs
Yy9ib3JkZXItc3BhY2luZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvYm9yZGVy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jb2xvci1oc2wtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvY29sb3ItaHNsLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNzczMvY2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjc3MzL2NhbGMvY29sb3ItcmdiLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9j
c3MzLXJhZGlhbC1ncmFkaWVudHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL2NzczMtcmFkaWFsLWdyYWRpZW50cy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NhbGMvZm9udC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMv
Y2FsYy9mb250LW1vbm9zcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMv
Y2FsYy9mb250LW1vbm9zcGFjZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZm9u
dC1zaXplLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2ZvbnQtc2l6
ZS1mcmFjdGlvbmFsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2Zv
bnQtc2l6ZS1mcmFjdGlvbmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9mb250
LXNpemUuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2ZvbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2Ut
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZ2V0Q29tcHV0ZWRTdHls
ZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZ3Jh
ZGllbnQtY29sb3Itc3RvcHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAg
ICogY3NzMy9jYWxjL2dyYWRpZW50LWNvbG9yLXN0b3BzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNzczMvY2FsYy9pbWctc2l6ZS1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NhbGMvaW1nLXNpemUuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxj
L2xpbmUtaGVpZ2h0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2xp
bmUtaGVpZ2h0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9tYXJnaW4tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbWFyZ2luLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNzczMvY2FsYy9tdWx0aXBsZS1iYWNrZ3JvdW5kLXNpemUtdHJhbnNpdGlvbnMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbXVsdGlwbGUtYmFja2dy
b3VuZC1zaXplLXRyYW5zaXRpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9w
YWRkaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3BhZGRpbmcu
aHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5
bGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvcmVmbGVjdGlvbi1j
b21wdXRlZC1zdHlsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvcmVzb3VyY2Vz
L2FscGhhLWdyYWRpZW50LnBuZzogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3Jlc291cmNl
cy9kaWFtb25kLnBuZzogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3Jlc291cmNlcy9tYXNr
LnBuZzogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3Jlc291cmNlcy9yaW5nLnBuZzogQWRk
ZWQuCisgICAgICAgICogY3NzMy9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1hc2stZXhwZWN0ZWQt
bWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3NpbXBsZS1jb21wb3Np
dGVkLW1hc2suaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9u
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9zdmctdHJhbnNpdGlv
bnMuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3RhYmxlLWNhbGNzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3RhYmxlLWNhbGNzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGNzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy1leHBlY3RlZC1taXNtYXRj
aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMuaHRt
bDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLmh0bWw6IEFkZGVk
LgorCiAyMDExLTEyLTIxICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkIHVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9uIGZvciBzdmcvY3Vz
dG9tL2xpbmtpbmctdXJpLTAxLWIuc3ZnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5nLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5nLWV4cGVjdGVk
LW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM5YjI2OTcwN2M2Mjk1MDRmMzdjOWI2Y2Q1MDc0
NDE0YjQyMDEwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9iYWNr
Z3JvdW5kLXBvc2l0aW9uLXBhcnNpbmctZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsx
LDEzNyBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VO
IiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Cis8aHRtbCBsYW5nPSJl
biI+Cis8aGVhZD4KKyAgPHRpdGxlPkNTUyBUZXN0OiBDU1MgYmFja2dyb3VuZCBwb3NpdGlvbjog
cGFyc2luZzwvdGl0bGU+CisgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSWFuIEhpY2tzb24i
IGhyZWY9Im1haWx0bzppYW5AaGl4aWUuY2giPgorICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxL2NvbG9ycy5odG1sI2JhY2tncm91bmQiPgorICA8bWV0
YSBuYW1lPSJmbGFncyIgY29udGVudD0iaW52YWxpZCI+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CisgICAuY2FzZSB7IGZsb2F0OiBsZWZ0OyBib3JkZXI6IHNvbGlkOyBtYXJnaW46IDAuMmVt
OyB6b29tOjAuNSB9IC8qIDE1MCB4IDEwMCAqLworICAgLnRlc3QgeyBiYWNrZ3JvdW5kOiAjRkZG
RkNDIHVybChyZXNvdXJjZXMvcmluZy5wbmcpIG5vLXJlcGVhdDsgcGFkZGluZzogMTZweDsgfQor
ICAgLmNvbnRyb2wgeyB3aWR0aDogMTE4cHg7IGhlaWdodDogNjhweDsgYmFja2dyb3VuZDogdXJs
KHJlc291cmNlcy9kaWFtb25kLnBuZykgbm8tcmVwZWF0OyB9CisKKyAgIC5hIC5jb250cm9sLCAu
YiAuY29udHJvbCwgLmMgLmNvbnRyb2wsIC5kIC5jb250cm9sLCAuZSAuY29udHJvbCwgLmYgLmNv
bnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7IH0KKyAgIC5jYXNlLmEgLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207IH0KKyAgIC5jYXNlLmIgLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7IH0KKyAgIC5jYXNlLmMgLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIGJvdHRvbTsgfQorICAgLmNhc2UuZCAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwMCU7IH0KKyAgIC5jYXNlLmUgLnRlc3Qg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDU4cHg7IH0KKyAgIC5jYXNlLmYgLnRlc3QgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDhweCAxMDAlOyB9CisKKyAgIC5nIC5jb250cm9sLCAuaCAu
Y29udHJvbCwgLmkgLmNvbnRyb2wsIC5qIC5jb250cm9sLCAuayAuY29udHJvbCwgLmwgLmNvbnRy
b2wsIC5tIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTRweCAyOHB4OyB9CisgICAu
Y2FzZS5nIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfQorICAg
LmNhc2UuaCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH0KKyAgIC5jYXNl
LmkgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgNTAlOyB9CisgICAuY2FzZS5q
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIGNlbnRlcjsgfQorICAgLmNhc2UuayAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJTsgfQorICAgLmNhc2UubCAudGVzdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfQorICAgLmNhc2UubSAudGVzdCB7IGJhY2tncm91
bmQtcG9zaXRpb246IDU0cHg7IH0KKworICAgLm4gLmNvbnRyb2wsIC5vIC5jb250cm9sIHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogNTRweCA1NnB4OyB9CisgICAuY2FzZS5uIC50ZXN0IHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjsgfQorICAgLmNhc2UubyAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207IH0KKworICAgLnAgLmNvbnRyb2wsIC5xIC5j
b250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTA4cHggMjhweDsgfQorICAgLmNhc2UucCAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjsgfQorICAgLmNhc2UucSAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDsgfQorCisgICAuciAuY29u
dHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDsgfQorICAgLmNhc2UucjAgLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7IH0KKyAgIC5jYXNlLnIxIC50ZXN0
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMDsgfQorICAgLmNhc2UucjIgLnRlc3QgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwcHg7IH0KKyAgIC5jYXNlLnIzIC50ZXN0IHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMCU7IH0KKyAgIC5jYXNlLnI0IC50ZXN0IHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogMTAwJSB0b3A7IH0KKyAgIC5jYXNlLnI1IC50ZXN0IHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogMTAwJSAwOyB9CisgICAuY2FzZS5yNiAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IDEwMCUgMHB4OyB9CisgICAuY2FzZS5yNyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IDEwMCUgMCU7IH0KKyAgIC5jYXNlLnI4IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
MTA4cHggdG9wOyB9CisgICAuY2FzZS5yOSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEw
OHB4IDA7IH0KKyAgIC5jYXNlLnIxMCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwOHB4
IDBweDsgfQorICAgLmNhc2UucjExIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTA4cHgg
MCU7IH0KKworICAgLm5lZ2F0aXZlIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUg
MCU7IH0KKyAgIC5uZWdhdGl2ZTMgLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUg
NTAlOyB9IC8qIENTUzMgYmFja2dyb3VuZCBzdXBwb3J0cyBjb21tYSAqLworICAgLmNhc2UudDEg
LnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b20gYm90dG9tOyB9CisgICAu
Y2FzZS50MiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodCBib3R0b207
IH0KKyAgIC5jYXNlLnQzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDEwMCU7
IH0KKyAgIC5jYXNlLnQ0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSByaWdodDsg
fQorICAgLmNhc2UudDUgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gOHB4OyB9
CisgICAuY2FzZS50NiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDIzcHggcmlnaHQ7IH0K
KyAgIC5jYXNlLnQ3IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDUwJSBjZW50
ZXI7IH0KKyAgIC5jYXNlLnQ4IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJSA1
MCU7IH0KKyAgIC5jYXNlLnQ5IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDUw
JSA1MCU7IH0KKyAgIC5jYXNlLnQxMCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSwg
MTAwJTsgfSAvKiBDU1MzIGJhY2tncm91bmQgc3VwcG9ydHMgY29tbWEgKi8KKyAgICAgIC8qIFRo
aXMgdGVzdCBtYWtlcyBzdXJlIHRoZSBjb21tYSBlaXRoZXIgaXMKKyAgICAgICAgICAgYSkgaW52
YWxpZCBwZXIgQ1NTMi4xCisgICAgICAgICAgIGIpIGhhbmRsZWQgY29ycmVjdGx5IHBlciBDU1Mz
CisgICAgICAgICBhbmQgTk9UIHBhcnNlZCBhcyBhIHZhbGlkIHNlcGFyYXRvciBvZiB4IGFuZCB5
IG9mZnNldHMuICovCisgICAuY2FzZS50MTEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBi
b3R0b20gNTRweDsgfQorICAgLmNhc2UudDEyIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
NTAgNTAlOyB9CisgICAuY2FzZS50MTMgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0
b20gMTAwOyB9CisgICAuY2FzZS50MTQgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdo
dGJvdHRvbTsgfQorICAgLmNhc2UudDE1IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCBy
aWdodDsgfQorICAgLmNhc2UudDE2IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IHJp
Z2h0OyB9CisgICAuY2FzZS50MTcgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSByaWdo
dDsgfQorICAgLmNhc2UudDE4IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDEwMCU7
IH0KKyAgIC5jYXNlLnQxOSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAxMDhweDsg
fQorICAgLmNhc2UudDIwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHRvcDsgfQor
ICAgLmNhc2UudDIxIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCByaWdodDsgfQor
ICAgLmNhc2UudDIyIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBsZWZ0OyB9Cisg
IDwvc3R5bGU+CisgPC9oZWFkPgorPGJvZHk+CisgIDxwPkluIGFsbCB0aGUgZm9sbG93aW5nIGJv
eGVzLCB0aGUgZnVjaHNpYSBkaWFtb25kIHNob3VsZCBiZSBzdXJyb3VuZGVkIGJ5IGEgcmluZy48
L3A+CisgIDxkaXYgY2xhc3M9ImNhc2UgYSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgYiI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgYyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZCI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgZSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBj
bGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZyI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgaCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgaSI+PGRpdiBjbGFz
cz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYg
Y2xhc3M9ImNhc2UgaiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgayI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgbCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbiI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgbyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJv
bCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgcCI+PGRpdiBjbGFzcz0i
dGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xh
c3M9ImNhc2UgcSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMCI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgciByMSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMiI+PGRpdiBjbGFzcz0idGVzdCI+PGRp
diBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2Ug
ciByMyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBj
bGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciBy
NSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNyI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgciByOCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByOSI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgciByMTAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQx
Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MiI+PGRpdiBjbGFzcz0idGVzdCI+PGRp
diBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2Ug
bmVnYXRpdmUgdDMiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ0Ij48ZGl2IGNsYXNz
PSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY2FzZSBuZWdhdGl2ZSB0NSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDYi
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ3Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2
IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBu
ZWdhdGl2ZSB0OCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDkiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIG5lZ2F0aXZlIG5lZ2F0aXZlMyB0MTAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5l
Z2F0aXZlIHQxMSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDEyIj48ZGl2IGNsYXNz
PSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTMiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQx
NCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE1Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48
ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2Fz
ZSBuZWdhdGl2ZSB0MTYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxNyI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE4Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNz
PSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2
ZSB0MTkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQyMCI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgbmVnYXRpdmUgdDIxIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9s
Ij48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MjIiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
IAorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy5o
dG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjNjMWU4NjgxYmU2MzgzMWY4NmQ2NGRjMDRhYTU3NmQ4NmEzNGQ0M2YK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmFja2dyb3VuZC1wb3Np
dGlvbi1wYXJzaW5nLmh0bWwKQEAgLTAsMCArMSwxMzcgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJ
QyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0
L3N0cmljdC5kdGQiPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgIDx0aXRsZT5DU1MgVGVz
dDogQ1NTIGJhY2tncm91bmQgcG9zaXRpb246IHBhcnNpbmc8L3RpdGxlPgorICA8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9IklhbiBIaWNrc29uIiBocmVmPSJtYWlsdG86aWFuQGhpeGllLmNoIj4K
KyAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9jb2xv
cnMuaHRtbCNiYWNrZ3JvdW5kIj4KKyAgPG1ldGEgbmFtZT0iZmxhZ3MiIGNvbnRlbnQ9ImludmFs
aWQiPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgLmNhc2UgeyBmbG9hdDogbGVmdDsg
Ym9yZGVyOiBzb2xpZDsgbWFyZ2luOiAwLjJlbTsgem9vbTowLjUgfSAvKiAxNTAgeCAxMDAgKi8K
KyAgIC50ZXN0IHsgYmFja2dyb3VuZDogI0ZGRkZDQyB1cmwocmVzb3VyY2VzL3JpbmcucG5nKSBu
by1yZXBlYXQ7IHBhZGRpbmc6IC13ZWJraXQtY2FsYygxNnB4KTsgfQorICAgLmNvbnRyb2wgeyB3
aWR0aDogMTE4cHg7IGhlaWdodDogNjhweDsgYmFja2dyb3VuZDogdXJsKHJlc291cmNlcy9kaWFt
b25kLnBuZykgbm8tcmVwZWF0OyB9CisKKyAgIC5hIC5jb250cm9sLCAuYiAuY29udHJvbCwgLmMg
LmNvbnRyb2wsIC5kIC5jb250cm9sLCAuZSAuY29udHJvbCwgLmYgLmNvbnRyb2wgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7IH0KKyAgIC5jYXNlLmEgLnRlc3QgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiByaWdodCBib3R0b207IH0KKyAgIC5jYXNlLmIgLnRlc3QgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7IH0KKyAgIC5jYXNlLmMgLnRlc3QgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMTAwJSkgYm90dG9tOyB9CisgICAuY2FzZS5kIC50ZXN0
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLXdlYmtpdC1jYWxjKDEwMCUpOyB9CisgICAu
Y2FzZS5lIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIC13
ZWJraXQtY2FsYyg1OHB4KTsgfQorICAgLmNhc2UuZiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IC13ZWJraXQtY2FsYyg1MCUgKyA1NHB4KSAtd2Via2l0LWNhbGMoNTAlICsgMjlweCk7IH0K
KworICAgLmcgLmNvbnRyb2wsIC5oIC5jb250cm9sLCAuaSAuY29udHJvbCwgLmogLmNvbnRyb2ws
IC5rIC5jb250cm9sLCAubCAuY29udHJvbCwgLm0gLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiA1NHB4IDI4cHg7IH0KKyAgIC5jYXNlLmcgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiBjZW50ZXIgY2VudGVyOyB9CisgICAuY2FzZS5oIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogLXdlYmtpdC1jYWxjKDUwJSkgLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5jYXNlLmkgLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAg
IC5jYXNlLmogLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoNTAlKSBj
ZW50ZXI7IH0KKyAgIC5jYXNlLmsgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0
LWNhbGMoNTAlKTsgfQorICAgLmNhc2UubCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNl
bnRlcjsgfQorICAgLmNhc2UubSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQt
Y2FsYyg1NHB4KTsgfQorCisgICAubiAuY29udHJvbCwgLm8gLmNvbnRyb2wgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiA1NHB4IDU2cHg7IH0KKyAgIC5jYXNlLm4gLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiBib3R0b20gY2VudGVyOyB9CisgICAuY2FzZS5vIC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogY2VudGVyIGJvdHRvbTsgfQorCisgICAucCAuY29udHJvbCwgLnEgLmNvbnRyb2wg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDhweCAyOHB4OyB9CisgICAuY2FzZS5wIC50ZXN0IHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOyB9CisgICAuY2FzZS5xIC50ZXN0IHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0OyB9CisKKyAgIC5yIC5jb250cm9sIHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0OyB9CisgICAuY2FzZS5yMCAudGVzdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHRvcDsgfQorICAgLmNhc2UucjEgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiByaWdodCAwOyB9CisgICAuY2FzZS5yMiAudGVzdCB7IGJhY2tncm91
bmQtcG9zaXRpb246IHJpZ2h0IC13ZWJraXQtY2FsYygwcHgpOyB9CisgICAuY2FzZS5yMyAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC13ZWJraXQtY2FsYygwJSk7IH0KKyAgIC5j
YXNlLnI0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIHRv
cDsgfQorICAgLmNhc2UucjUgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNh
bGMoMTAwJSkgMDsgfQorICAgLmNhc2UucjYgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAt
d2Via2l0LWNhbGMoMTAwJSkgLXdlYmtpdC1jYWxjKDBweCk7IH0KKyAgIC5jYXNlLnI3IC50ZXN0
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIC13ZWJraXQtY2FsYygw
JSk7IH0KKyAgIC5jYXNlLnI4IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1j
YWxjKDEwOHB4KSB0b3A7IH0KKyAgIC5jYXNlLnI5IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogLXdlYmtpdC1jYWxjKDEwOHB4KSAwOyB9CisgICAuY2FzZS5yMTAgLnRlc3QgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMTA4cHgpIC13ZWJraXQtY2FsYygwcHgpOyB9Cisg
ICAuY2FzZS5yMTEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMTA4
cHgpIC13ZWJraXQtY2FsYygwJSk7IH0KKworICAgLm5lZ2F0aXZlIC5jb250cm9sIHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogMCUgMCU7IH0KKyAgIC5uZWdhdGl2ZTMgLmNvbnRyb2wgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9IC8qIENTUzMgYmFja2dyb3VuZCBzdXBwb3J0cyBjb21t
YSAqLworICAgLmNhc2UudDEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0
b20gYm90dG9tOyB9CisgICAuY2FzZS50MiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJv
dHRvbSByaWdodCBib3R0b207IH0KKyAgIC5jYXNlLnQzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogYm90dG9tIC13ZWJraXQtY2FsYygxMDAlKTsgfQorICAgLmNhc2UudDQgLnRlc3QgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMTAwJSkgcmlnaHQ7IH0KKyAgIC5jYXNl
LnQ1IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIC13ZWJraXQtY2FsYyg4cHgp
OyB9CisgICAuY2FzZS50NiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2Fs
YygyM3B4KSByaWdodDsgfQorICAgLmNhc2UudDcgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiBjZW50ZXIgLXdlYmtpdC1jYWxjKDUwJSkgY2VudGVyOyB9CisgICAuY2FzZS50OCAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYyg1MCUpIC13ZWJraXQtY2FsYyg1MCUp
IC13ZWJraXQtY2FsYyg1MCUpOyB9CisgICAuY2FzZS50OSAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IGNlbnRlciAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoNTAlKTsgfQorICAg
LmNhc2UudDEwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDUwJSks
IC13ZWJraXQtY2FsYygxMDAlKTsgfSAvKiBDU1MzIGJhY2tncm91bmQgc3VwcG9ydHMgY29tbWEg
Ki8KKyAgICAgIC8qIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoZSBjb21tYSBlaXRoZXIgaXMKKyAg
ICAgICAgICAgYSkgaW52YWxpZCBwZXIgQ1NTMi4xCisgICAgICAgICAgIGIpIGhhbmRsZWQgY29y
cmVjdGx5IHBlciBDU1MzCisgICAgICAgICBhbmQgTk9UIHBhcnNlZCBhcyBhIHZhbGlkIHNlcGFy
YXRvciBvZiB4IGFuZCB5IG9mZnNldHMuICovCisgICAuY2FzZS50MTEgLnRlc3QgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiBib3R0b20gLXdlYmtpdC1jYWxjKDU0cHgpOyB9CisgICAuY2FzZS50MTIg
LnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCAtd2Via2l0LWNhbGMoNTAlKTsgfQorICAg
LmNhc2UudDEzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDEwMDsgfQorICAg
LmNhc2UudDE0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHRib3R0b207IH0KKyAg
IC5jYXNlLnQxNSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgcmlnaHQ7IH0KKyAgIC5j
YXNlLnQxNiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygwcHgpIHJp
Z2h0OyB9CisgICAuY2FzZS50MTcgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0
LWNhbGMoMCUpIHJpZ2h0OyB9CisgICAuY2FzZS50MTggLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiB0b3AgLXdlYmtpdC1jYWxjKDEwMCUpOyB9CisgICAuY2FzZS50MTkgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiB0b3AgLXdlYmtpdC1jYWxjKDEwOHB4KTsgfQorICAgLmNhc2UudDIw
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHRvcDsgfQorICAgLmNhc2UudDIxIC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCByaWdodDsgfQorICAgLmNhc2UudDIyIC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBsZWZ0OyB9CisgIDwvc3R5bGU+CisgPC9o
ZWFkPgorPGJvZHk+CisgIDxwPkluIGFsbCB0aGUgZm9sbG93aW5nIGJveGVzLCB0aGUgZnVjaHNp
YSBkaWFtb25kIHNob3VsZCBiZSBzdXJyb3VuZGVkIGJ5IGEgcmluZy48L3A+CisgIDxkaXYgY2xh
c3M9ImNhc2UgYSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgYiI+PGRpdiBjbGFzcz0idGVzdCI+PGRp
diBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2Ug
YyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZSI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgZiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZyI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgaCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgaSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBj
bGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgaiI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgayI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbCI+PGRpdiBjbGFz
cz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYg
Y2xhc3M9ImNhc2UgbSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbiI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgbyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgcCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgcSI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgciByMCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMSI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgciByMiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJv
bCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMyI+PGRpdiBjbGFz
cz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYg
Y2xhc3M9ImNhc2UgciByNCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNSI+PGRpdiBjbGFzcz0i
dGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xh
c3M9ImNhc2UgciByNiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNyI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgciByOCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByOSI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgciByMTAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxIj48ZGl2IGNsYXNzPSJ0
ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iY2FzZSBuZWdhdGl2ZSB0MiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJv
bCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDMiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ0Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNs
YXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdh
dGl2ZSB0NSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDYiPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIG5lZ2F0aXZlIHQ3Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9s
Ij48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0OCI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0
aXZlIG5lZ2F0aXZlMyB0MTAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxMSI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDEyIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNs
YXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdh
dGl2ZSB0MTMiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxNCI+PGRpdiBjbGFzcz0i
dGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xh
c3M9ImNhc2UgbmVnYXRpdmUgdDE1Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250
cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTYi
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxNyI+PGRpdiBjbGFzcz0idGVzdCI+PGRp
diBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2Ug
bmVnYXRpdmUgdDE4Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rp
dj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTkiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQyMCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUg
dDIxIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MjIiPjxkaXYgY2xhc3M9InRlc3Qi
PjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorIAorCis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFnZS1vdXRzZXQtZXhwZWN0ZWQtbWlz
bWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1h
Z2Utb3V0c2V0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjhjN2JjYzllODEx
OTRiMDRjZjMzMDUwNTU1Y2UwYTAyYmRmOTkzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0LWV4cGVjdGVkLW1p
c21hdGNoLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGhlYWQ+Cis8c3R5bGU+CisuYmxvY2tUZXN0
IHsKKyAgICAgICAgIG1hcmdpbjogMjVweDsKKyAgICAgICAgIHBhZGRpbmc6IDUwcHg7CisgICAg
ICAgICBjb2xvcjp3aGl0ZTsKKwkgICAgIGJhY2tncm91bmQtY29sb3I6bWFyb29uOworICAgICAg
ICAgLXdlYmtpdC1tYXNrLWJveC1pbWFnZTogdXJsKHJlc291cmNlcy9tYXNrLnBuZykgNzUgNzUg
NzUgNzUgLyBhdXRvIC8gMTAwcHggMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8ZGl2IGNsYXNzPSJibG9ja1Rlc3QiIHN0eWxlPSJoZWlnaHQ6MCI+PGRpdiBzdHlsZT0iaGVp
Z2h0OjQwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOmdyZXkiPlRoaXMgY29udGVudCBzaG91bGQgYmUg
bWFza2VkIHdpdGggYSBzb2Z0IGdsb3cuPC9kaXY+PC9kaXY+Cis8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmxvY2stbWFzay1vdmVybGF5LWltYWdlLW91dHNldC5o
dG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFnZS1vdXRz
ZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kYTUwYzAyNjM0MmM4NmEwNzdhMzNkYzI0NTRhMjIzNDE4NmQw
OWZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Jsb2NrLW1hc2st
b3ZlcmxheS1pbWFnZS1vdXRzZXQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8aGVhZD4KKzxzdHls
ZT4KKy5ibG9ja1Rlc3QgeworICAgICAgICAgbWFyZ2luOiAyNXB4OworICAgICAgICAgcGFkZGlu
ZzogNTBweDsKKyAgICAgICAgIGNvbG9yOndoaXRlOworCSAgICAgYmFja2dyb3VuZC1jb2xvcjpt
YXJvb247CisgICAgICAgICAtd2Via2l0LW1hc2stYm94LWltYWdlOiB1cmwocmVzb3VyY2VzL21h
c2sucG5nKSA3NSA3NSA3NSA3NSAvIGF1dG8gLyAtd2Via2l0LWNhbGMoMTAwcHgpIDA7Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0iYmxvY2tUZXN0IiBzdHls
ZT0iaGVpZ2h0OjAiPjxkaXYgc3R5bGU9ImhlaWdodDo0MDBweDsgYmFja2dyb3VuZC1jb2xvcjpn
cmV5Ij5UaGlzIGNvbnRlbnQgc2hvdWxkIGJlIG1hc2tlZCB3aXRoIGEgc29mdCBnbG93LjwvZGl2
PjwvZGl2PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41YzczN2I1YjJmNWY3M2ZjZWY2NzFmMGYwZjQyY2M1MTM0ZjIwODE1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw5IEBACitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBi
b3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyNTAs
IGJ1dCB3YXMgNzg0LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTcwLCBidXQgd2FzIDI0CisK
K1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgYm9yZGVyIG9mIDI1IHBpeGVscy4gPT4g
RkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDc4NCwgZXhwZWN0ZWQg
dG90YWwgaGVpZ2h0IG9mIDEyMCwgYnV0IHdhcyAxOAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhh
dmUgYSByaWdodCBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3
aWR0aCBvZiAyMjUsIGJ1dCB3YXMgNzg0LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTIwLCBi
dXQgd2FzIDE4CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBib3JkZXIgb2YgMjUg
cGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMDAsIGJ1dCB3YXMgNzg0
LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDIxCisKK1RoaXMgZWxlbWVu
dCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiBleHBl
Y3RlZCB0b3RhbCB3aWR0aCBvZiAyMDAsIGJ1dCB3YXMgNzg0LCBleHBlY3RlZCB0b3RhbCBoZWln
aHQgb2YgMTQ1LCBidXQgd2FzIDIxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Ym9yZGVyLXJhZGl1cy1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2JvcmRlci1yYWRpdXMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmYy
OWY1YTliMGYxNzgxNWU1NGVhMDZiNDAwMjU1NjI4NGViMzFhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1yYWRpdXMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRt
bApAQCAtMCwwICsxLDI2IEBACis8c3R5bGU+CitkaXYgeworICAgIHdpZHRoOjEwMHB4OworICAg
IGhlaWdodDoxMDBweDsKKyAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsKK30KKy5jb250cm9s
IHsKKyAgICBib3JkZXItcmFkaXVzOjUwcHg7Cit9CisucGl4ZWxzIHsKKyAgICBib3JkZXItcmFk
aXVzOjUwcHg7Cit9CisucGVyY2VudCB7CisgICAgYm9yZGVyLXJhZGl1czo1MCU7Cit9CisuYm90
aCB7CisgICAgYm9yZGVyLXJhZGl1czo1MCU7Cit9Cis8L3N0eWxlPgorCitUaGlzIHRlc3Qgc2hv
dWxkIGhhdmUgZm91ciBjaXJjbGVzLgorCis8ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj4KKzxk
aXYgY2xhc3M9InBpeGVscyI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50Ij48L2Rpdj4KKzxk
aXYgY2xhc3M9ImJvdGgiPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2JvcmRlci1yYWRpdXMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItcmFkaXVz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmJkOWJiOTA4ZmM3NTlmYjU3ODUzZjg0MGMwMjJmMzE2NGEyNGVh
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItcmFkaXVz
Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPHN0eWxlPgorZGl2IHsKKyAgICB3aWR0aDoxMDBweDsK
KyAgICBoZWlnaHQ6MTAwcHg7CisgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7Cit9CisuY29u
dHJvbCB7CisgICAgYm9yZGVyLXJhZGl1czo1MHB4OyAgICAKK30KKy5waXhlbHMgeworICAgIGJv
cmRlci1yYWRpdXM6LXdlYmtpdC1jYWxjKDUwcHgpOworfQorLnBlcmNlbnQgeworICAgIGJvcmRl
ci1yYWRpdXM6LXdlYmtpdC1jYWxjKDUwJSk7Cit9CisuYm90aCB7CisgICAgYm9yZGVyLXJhZGl1
czotd2Via2l0LWNhbGMoMjUlICsgMjVweCk7Cit9Cis8L3N0eWxlPgorCitUaGlzIHRlc3Qgc2hv
dWxkIGhhdmUgZm91ciBjaXJjbGVzLgorCis8ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj4KKzxk
aXYgY2xhc3M9InBpeGVscyI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50Ij48L2Rpdj4KKzxk
aXYgY2xhc3M9ImJvdGgiPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2JvcmRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3Jk
ZXItc3BhY2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmFkZjNhMzBlMjUyNzMyNjU1Mjlm
OGZiYTMxZWFmNTliZmFhNWJhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9ib3JkZXItc3BhY2luZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorPT4gRkFJTDog
ZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgNDE2LCBidXQgd2FzIDQ4LCBleHBlY3RlZCB0b3RhbCBo
ZWlnaHQgb2YgMjA1LCBidXQgd2FzIDI0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvYm9yZGVyLXNwYWNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItc3Bh
Y2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhMjg4NjkzZWZiNTQwNDY0NDkzOWM3OGQzNjc2Nzk2OWYw
ZjU2ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNw
YWNpbmcuaHRtbApAQCAtMCwwICsxLDU5IEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK3Rk
IHsgdmVydGljYWwtYWxpZ246dG9wOyBwYWRkaW5nOiAwOyB3aWR0aDotd2Via2l0LWNhbGMoNTBw
eCk7IGhlaWdodDotd2Via2l0LWNhbGMoNjBweCk7IGJhY2tncm91bmQtY29sb3I6Ymx1ZTsgYm9y
ZGVyOi13ZWJraXQtY2FsYygxcHgpIHNvbGlkIGJsYWNrIH0KK3RhYmxlIHsgYm9yZGVyLXNwYWNp
bmc6IC13ZWJraXQtY2FsYygxMHB4ICogMiArIDVweCk7IGJvcmRlcjozcHggc29saWQgYmxhY2s7
IHBvc2l0aW9uOnJlbGF0aXZlIH0KKzwvc3R5bGU+CisKKzx0YWJsZSBpZD0ic3RpbXVsdXMiPgor
ICAgIDx0cj4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8
dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgIDwvdHI+
CisgICAgPHRyPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgPC90
cj4KKzwvdGFibGU+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisKK3ZhciBpbm5lckJvcmRlciA9IDE7Cit2YXIgb3V0ZXJCb3JkZXIgPSAzOwor
dmFyIGlubmVyV2lkdGggPSA1MCArIDIgKiBpbm5lckJvcmRlcjsKK3ZhciBpbm5lckhlaWdodCA9
IDYwICsgMiAqIGlubmVyQm9yZGVyOwordmFyIGJvcmRlclNwYWNpbmcgPSAyNTsKK3ZhciByb3dz
ID0gMjsKK3ZhciBjb2x1bW5zID0gNTsKKwordmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldpZHRo
ICogY29sdW1ucyArIGJvcmRlclNwYWNpbmcgKiAoY29sdW1ucyArIDEpICsgMiAqIG91dGVyQm9y
ZGVyOwordmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQgKiByb3dzICsgYm9yZGVyU3Bh
Y2luZyAqIChyb3dzICsgMSkgKyAyICogb3V0ZXJCb3JkZXI7CisKK3ZhciBlbHQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RpbXVsdXMiKTsKKwordmFyIHdpZHRoID0gZWx0Lm9mZnNldFdp
ZHRoOwordmFyIGhlaWdodCA9IGVsdC5vZmZzZXRIZWlnaHQ7CisKK3ZhciBlcnJvciA9IFtdOwor
aWYgKHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90
YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7Citp
ZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRv
dGFsIGhlaWdodCBvZiAiICsgZXhwZWN0ZWRIZWlnaHQgKyAiLCBidXQgd2FzICIgKyBoZWlnaHQp
OworCityZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CitpZiAoZXJy
b3IgPT0gIiIpIHsKKyAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAg
ICByZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7Cit9IGVsc2UgeworICAgIGVsdC5zdHls
ZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAgICByZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4g
RkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7Cit9Cis8L3NjcmlwdD4gICAgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvYm9yZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU3NzJmOWJhOTdjMGYwOGIwYzE1M2QwYjA4MTNh
M2VmMDk0Nzc1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3Jk
ZXIuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK3Agewor
ICAgIHdpZHRoOi13ZWJraXQtY2FsYygyMDBweCk7IGhlaWdodDotd2Via2l0LWNhbGMoMTIwcHgp
OworfQorLnNpbXBsZS1hbGwgeworICAgIGJvcmRlcjogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4
KSBzb2xpZDsKK30KKworLnNpbXBsZS1sZWZ0IHsKKyAgICBib3JkZXItbGVmdDogLXdlYmtpdC1j
YWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKy5zaW1wbGUtcmlnaHQgeworICAgIGJvcmRlci1y
aWdodDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKy5zaW1wbGUtdG9wIHsK
KyAgICBib3JkZXItdG9wOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlkOworfQorLnNp
bXBsZS1ib3R0b20geworICAgIGJvcmRlci1ib3R0b206IC13ZWJraXQtY2FsYygxM3B4ICsgMTJw
eCkgc29saWQ7Cit9Cis8L3N0eWxlPgorCis8cCBjbGFzcz0ic2ltcGxlLWFsbCI+VGhpcyBlbGVt
ZW50IHNob3VsZCBoYXZlIGFuIG92ZXJhbGwgYm9yZGVyIG9mIDI1IHBpeGVscy48L3A+Cis8cCBj
bGFzcz0ic2ltcGxlLWxlZnQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgYm9yZGVy
IG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLXJpZ2h0Ij5UaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYSByaWdodCBib3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJz
aW1wbGUtdG9wIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgYm9yZGVyIG9mIDI1IHBp
eGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLWJvdHRvbSI+VGhpcyBlbGVtZW50IHNob3VsZCBo
YXZlIGEgYm90dG9tIGJvcmRlciBvZiAyNSBwaXhlbHMuPC9wPgorCis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisKK3ZhciBpbm5lcldpZHRoID0gMjAwOwordmFyIGlubmVySGVpZ2h0ID0gMTIw
OwordmFyIGJvcmRlciA9IDI1OworCit2YXIgdGVzdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgicCIpOworZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkgewor
ICAgIHZhciBlbHQgPSB0ZXN0c1tpXTsKKyAgICB2YXIgd2lkdGggPSBlbHQub2Zmc2V0V2lkdGg7
CisgICAgdmFyIGhlaWdodCA9IGVsdC5vZmZzZXRIZWlnaHQ7CisKKyAgICB2YXIgZXhwZWN0ZWRX
aWR0aCA9IGlubmVyV2lkdGg7CisgICAgdmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQ7
CisKKyAgICBzd2l0Y2ggKGVsdC5jbGFzc05hbWUuc3BsaXQoIi0iKVsxXSkgeworICAgIGNhc2Ug
ImFsbCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGggKz0gMiAqIGJvcmRlcjsKKyAgICAgICAgZXhw
ZWN0ZWRIZWlnaHQgKz0gMiAqIGJvcmRlcjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAidG9w
IjoKKyAgICBjYXNlICJib3R0b20iOgorICAgICAgICBleHBlY3RlZEhlaWdodCArPSBib3JkZXI7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgImxlZnQiOgorICAgIGNhc2UgInJpZ2h0IjoKKyAg
ICAgICAgZXhwZWN0ZWRXaWR0aCArPSBib3JkZXI7CisgICAgICAgIGJyZWFrOworICAgIH0KKwor
ICAgIHZhciBlcnJvciA9IFtdOworICAgIGlmICh3aWR0aCAhPSBleHBlY3RlZFdpZHRoKQorICAg
ICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAiICsgZXhwZWN0ZWRXaWR0
aCArICIsIGJ1dCB3YXMgIiArIHdpZHRoKTsKKyAgICBpZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVp
Z2h0KQorICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgIiArIGV4
cGVjdGVkSGVpZ2h0ICsgIiwgYnV0IHdhcyAiICsgaGVpZ2h0KTsKKworICAgIHJlc3VsdHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworICAgIGlmIChlcnJvciA9PSAiIikg
eworICAgICAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAgICAgICAg
ZWx0LmlubmVySFRNTCArPSAiID0+IFBBU1MiOworICAgIH0gZWxzZSB7CisgICAgICAgIGVsdC5z
dHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAgICAgICAgZWx0LmlubmVySFRNTCArPSAi
ID0+IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIpOworICAgIH0KK30KKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItaHNsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
NDc5YmJjYzE1OTI3MWM3M2IyY2Q0ZjQ5OTMxZjczOGI1MmNhOWFkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhl
c2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50
ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3Vs
ZCBiZSB0aGUgc2FtZSBjb2xvcgorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2NvbG9yLWhzbC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY4M2JmZjBlMWFlN2YwMjM1MWIwMmNlOGQwNmFhMGQ0NGIzYzllNDgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItaHNsLmh0bWwKQEAg
LTAsMCArMSw0MSBAQAorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2RpdiB7Y29sb3I6IHJlZDt9
CisjY29udHJvbHNpbXBsZSB7Y29sb3I6IGhzbCgxMjAsNzUlLDUwJSk7fQorI3NpbXBsZSB7Y29s
b3I6IGhzbCgtd2Via2l0LWNhbGMoMTIwKSwtd2Via2l0LWNhbGMoNzUlKSwtd2Via2l0LWNhbGMo
NTAlKSk7fQorCisjY29udHJvbGFscGhhIHtjb2xvcjogaHNsYSgxMjAsNzUlLDUwJSwwLjcpO30K
KyNhbHBoYSB7Y29sb3I6IGhzbGEoLXdlYmtpdC1jYWxjKDEyMCksLXdlYmtpdC1jYWxjKDc1JSks
LXdlYmtpdC1jYWxjKDUwJSksIC13ZWJraXQtY2FsYygwLjcpKTt9Cis8L3N0eWxlPgorCis8ZGl2
IGlkPSJjb250cm9sc2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2Ft
ZSBjb2xvcjwvZGl2PgorPGRpdiBpZD0ic2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3Vs
ZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGhyLz4KKzxkaXYgaWQ9ImNvbnRyb2xhbHBoYSI+
VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxkaXYg
aWQ9ImFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwv
ZGl2PgorPGhyLz4KKzxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisKK3Rlc3RzID0gWyJzaW1wbGUiLCAiYWxwaGEiXTsKKwordmFyIHN1Y2Nlc3Mg
PSB0cnVlOworCitmb3IgKGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIg
dGVzdCA9IHRlc3RzW2ldOworICAgIHZhciBleHBlY3RlZCA9IGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRyb2wiICsgdGVzdCksIG51bGwpLmNvbG9yOworICAg
IHZhciBhY3R1YWwgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRl
c3QpLCBudWxsKS5jb2xvcjsKKyAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiAoYWN0dWFsID09IGV4
cGVjdGVkKTsKK30KKwordmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVz
dWx0cyIpOworaWYgKHN1Y2Nlc3MpIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVu
IjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0
cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOwor
fQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3Itcmdi
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjVlY2MwMGQwMmE3MjBiNzAwMWRhOWEzZWM4Mzc5N2I4NjJhMzI2NDEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRo
ZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xv
cgorVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3
byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2Vz
IHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUg
dGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNv
bG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorUEFTUwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4MDI5YTg3MGFhMTI2
M2ZlZDE1MzY5Nzk4YTJkMGE2YjZjNjQzZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvY29sb3ItcmdiLmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4KK2RpdiB7Y29sb3I6IHJlZDt9CisjY29udHJvbHNpbXBsZSB7Y29sb3I6IHJn
YigxMCwxODAsMzApO30KKyNzaW1wbGUge2NvbG9yOiByZ2IoLXdlYmtpdC1jYWxjKDEwKSwtd2Vi
a2l0LWNhbGMoMTggKiAxMCksLXdlYmtpdC1jYWxjKDMwKSk7fQorI2NvbnRyb2xwZXJjZW50c2lt
cGxlIHtjb2xvcjogcmdiKDEwJSw5NSUsMzAlKTt9CisjcGVyY2VudHNpbXBsZSB7Y29sb3I6IHJn
Yigtd2Via2l0LWNhbGMoMiUgKyA4JSksLXdlYmtpdC1jYWxjKDk1JSksLXdlYmtpdC1jYWxjKDMl
ICogMTApKTt9CisKKyNjb250cm9sYWxwaGEge2NvbG9yOiByZ2JhKDEwLDE4MCwzMCwwLjcpO30K
KyNhbHBoYSB7Y29sb3I6IHJnYmEoLXdlYmtpdC1jYWxjKDEwKSwtd2Via2l0LWNhbGMoMTgwKSwt
d2Via2l0LWNhbGMoMzApLCAtd2Via2l0LWNhbGMoMC4zNSAqIDIpKTt9CisjY29udHJvbHBlcmNl
bnRhbHBoYSB7Y29sb3I6IHJnYmEoMTAlLDk1JSwzMCUsMC43KTt9CisjcGVyY2VudGFscGhhIHtj
b2xvcjogcmdiYSgtd2Via2l0LWNhbGMoMiAqIDUlKSwtd2Via2l0LWNhbGMoMTAwJSAtIDUlKSwt
d2Via2l0LWNhbGMoMzAlKSwtd2Via2l0LWNhbGMoMC4yICogMyArIDAuMSkpO30KKzwvc3R5bGU+
CisKKzxkaXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJl
IHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5j
ZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8aHIvPgorPGRpdiBpZD0iY29udHJv
bHBlcmNlbnRzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNv
bG9yPC9kaXY+Cis8ZGl2IGlkPSJwZXJjZW50c2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNo
b3VsZCAgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJjb250cm9sYWxw
aGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8
ZGl2IGlkPSJhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29s
b3I8L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJjb250cm9scGVyY2VudGFscGhhIj5UaGVzZSB0d28g
c2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxkaXYgaWQ9InBlcmNl
bnRhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgIGJlIHRoZSBzYW1lIGNvbG9yPC9k
aXY+Cis8aHIvPgorPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKwordGVzdHMgPSBbInNpbXBsZSIsICJhbHBoYSJdOworCit2YXIgc3VjY2VzcyA9
IHRydWU7CisKK2ZvciAoaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7IGkrKykgeworICAgIHZhciB0
ZXN0ID0gdGVzdHNbaV07CisgICAgdmFyIGV4cGVjdGVkc2ltcGxlID0gZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7
CisgICAgdmFyIGFjdHVhbHNpbXBsZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQodGVzdCksIG51bGwpLmNvbG9yOworICAgIHZhciBleHBlY3RlZHBlcmNlbnQgPSBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9scGVyY2VudCIg
KyB0ZXN0KSwgbnVsbCkuY29sb3I7CisgICAgdmFyIGFjdHVhbHBlcmNlbnQgPSBnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJjZW50IiArIHRlc3QpLCBudWxsKS5j
b2xvcjsgICAgCisgICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGFjdHVhbHNpbXBsZSA9PSBleHBl
Y3RlZHNpbXBsZSkgJiYgKGFjdHVhbHBlcmNlbnQgPT0gZXhwZWN0ZWRwZXJjZW50KTsKK30KKwor
dmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworaWYgKHN1
Y2Nlc3MpIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHRz
LmlubmVySFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9
ICJyZWQiOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOworfQorPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY3NzMy1yYWRpYWwtZ3JhZGllbnRzLWV4
cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY3NzMy1yYWRpYWwt
Z3JhZGllbnRzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJjOTJlOGE2ZmVi
ZTEwZWUzY2I3YmQ1ZDQ5MjAyOGNlZDViMDI1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRt
bApAQCAtMCwwICsxLDcxIEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAg
PHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAuYm94IHsKKyAgICAg
IGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgIGhlaWdodDogMTIwcHg7CisgICAgICB3aWR0
aDogMjAwcHg7CisgICAgICBtYXJnaW46IDEwcHg7CisgICAgICBib3JkZXI6IDFweCBzb2xpZCBi
bGFjazsKKyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgfQorCisgICAg
LmdyYWRpZW50MSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFk
aWVudCg1MHB4IDUwJSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJsYWNrKTsKKyAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KDUwcHggNTAlLCBjaXJjbGUg
Y2xvc2VzdC1zaWRlLCB3aGl0ZSwgYmxhY2spOworICAgIH0KKyAgICAKKyAgICAuZ3JhZGllbnQy
IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDIwcHgg
NTBweCwgZWxsaXBzZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tn
cm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KDIwcHggNTBweCwgZWxsaXBzZSBjbG9z
ZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQzIHsKKyAg
ICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDIwJSAyMCUsIGNp
cmNsZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tncm91bmQtaW1h
Z2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KDIwJSAyMCUsIGNpcmNsZSBjbG9zZXN0LWNvcm5lciwg
d2hpdGUsIGJsYWNrKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQ0IHsKKyAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGxlZnQsIGNpcmNsZSBjb3ZlciwgcmVk
LCBncmVlbiAzMCUsIGJsdWUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwt
Z3JhZGllbnQobGVmdCwgY2lyY2xlIGNvdmVyLCByZWQsIGdyZWVuIDMwJSwgYmx1ZSk7CisgICAg
fQorCisgICAgLmdyYWRpZW50NSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJh
ZGlhbC1ncmFkaWVudChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIDgwcHgsIGJsdWUpOworICAg
ICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBjb3Zlciwg
cmVkLCBncmVlbiA4MHB4LCBibHVlKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQ2IHsKKyAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBjb3Zlciwg
cmVkIDIwJSwgZ3JlZW4sIGJsdWUgMTUwJSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96
LXJhZGlhbC1ncmFkaWVudChjaXJjbGUgY292ZXIsIHJlZCAyMCUsIGdyZWVuLCBibHVlIDE1MCUp
OworICAgIH0KKworICAgIC5ncmFkaWVudDcgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdl
YmtpdC1yYWRpYWwtZ3JhZGllbnQoMjAlIDIwJSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCByZWQg
LTUwJSwgZ3JlZW4sIGJsdWUgMTUwJSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJh
ZGlhbC1ncmFkaWVudCgyMCUgMjAlLCBjaXJjbGUgY2xvc2VzdC1jb3JuZXIsIHJlZCAtNTAlLCBn
cmVlbiwgYmx1ZSAxNTAlKTsKKyAgICB9CisKKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICB2YXIgZHVtcFBpeGVscyA9IHRydWU7CisgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQaXhlbHMpOworICAgIH0KKyAgPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJncmFkaWVudDEgYm94Ij48L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQyIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9Imdy
YWRpZW50MyBib3giPjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NCBib3gi
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDUgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iZ3JhZGllbnQ2IGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQ3
IGJveCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NzFlYjdjYzdkMmJl
MjA3ZTRjYzY0Y2RjOGRkYWM3YjdhZjRmYTBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL2NzczMtcmFkaWFsLWdyYWRpZW50cy5odG1sCkBAIC0wLDAgKzEsNzEgQEAK
KzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9j
c3MiIG1lZGlhPSJzY3JlZW4iPgorICAgIC5ib3ggeworICAgICAgZGlzcGxheTogaW5saW5lLWJs
b2NrOworICAgICAgaGVpZ2h0OiAxMjBweDsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIG1h
cmdpbjogMTBweDsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgYmFja2dy
b3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQxIHsKKyAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYyg1
MHB4KSAtd2Via2l0LWNhbGMoNTAlKSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJsYWNr
KTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KC13ZWJraXQt
Y2FsYyg1MHB4KSAtd2Via2l0LWNhbGMoNTAlKSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUs
IGJsYWNrKTsKKyAgICB9CisgICAgCisgICAgLmdyYWRpZW50MiB7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjBweCkgLXdlYmtp
dC1jYWxjKDUwcHgpLCBlbGxpcHNlIGNsb3Nlc3QtY29ybmVyLCB3aGl0ZSwgYmxhY2spOworICAg
ICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoLXdlYmtpdC1jYWxjKDIw
cHgpIC13ZWJraXQtY2FsYyg1MHB4KSwgZWxsaXBzZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJs
YWNrKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQzIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYygyMCUpIC13ZWJraXQtY2FsYygy
MCUpLCBjaXJjbGUgY2xvc2VzdC1jb3JuZXIsIHdoaXRlLCBibGFjayk7CisgICAgICBiYWNrZ3Jv
dW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjAlKSAtd2Via2l0
LWNhbGMoMjAlKSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCB3aGl0ZSwgYmxhY2spOworICAgIH0K
KworICAgIC5ncmFkaWVudDQgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRp
YWwtZ3JhZGllbnQobGVmdCwgY2lyY2xlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygz
MCUpLCBibHVlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50
KGxlZnQsIGNpcmNsZSBjb3ZlciwgcmVkLCBncmVlbiAtd2Via2l0LWNhbGMoMzAlKSwgYmx1ZSk7
CisgICAgfQorCisgICAgLmdyYWRpZW50NSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Vi
a2l0LXJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2Fs
Yyg4MHB4KSwgYmx1ZSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFk
aWVudChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYyg4MHB4KSwgYmx1ZSk7
CisgICAgfQorCisgICAgLmdyYWRpZW50NiB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Vi
a2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUgY292ZXIsIHJlZCAtd2Via2l0LWNhbGMoMjAlKSwg
Z3JlZW4sIGJsdWUgLXdlYmtpdC1jYWxjKDE1MCUpKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IC1tb3otcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBjb3ZlciwgcmVkIC13ZWJraXQtY2FsYygyMCUp
LCBncmVlbiwgYmx1ZSAtd2Via2l0LWNhbGMoMTUwJSkpOworICAgIH0KKworICAgIC5ncmFkaWVu
dDcgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoLXdl
YmtpdC1jYWxjKDIwJSkgLXdlYmtpdC1jYWxjKDIwJSksIGNpcmNsZSBjbG9zZXN0LWNvcm5lciwg
cmVkIC01MCUsIGdyZWVuLCBibHVlIC13ZWJraXQtY2FsYygxNTAlKSk7CisgICAgICBiYWNrZ3Jv
dW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjAlKSAtd2Via2l0
LWNhbGMoMjAlKSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCByZWQgLTUwJSwgZ3JlZW4sIGJsdWUg
LXdlYmtpdC1jYWxjKDE1MCUpKTsKKyAgICB9CisKKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICB2YXIgZHVtcFBpeGVscyA9IHRydWU7CisgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQaXhlbHMpOworICAgIH0KKyAgPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJncmFkaWVudDEgYm94Ij48
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQyIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImdyYWRpZW50MyBib3giPjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NCBi
b3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDUgYm94Ij48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iZ3JhZGllbnQ2IGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGll
bnQ3IGJveCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NzczMvY2FsYy9mb250LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9m
b250LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTA1ZGU2ZDNiNzE0ZTAwZDQzNzgxNmIzZTFl
YmYyNzI5ODcwOGMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Zv
bnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBo
ZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBh
bmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZv
bnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNh
bAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJl
IGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMg
c2hvdWxkIGJlIGlkZW50aWNhbAorRkFJTAorTGluZSBoZWlnaHRzIGRvIG5vdCBtYXRjaAorCitM
aW5lIHdpZHRocyBkbyBub3QgbWF0Y2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9mb250LW1vbm9zcGFjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9u
dC1tb25vc3BhY2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViNDU3NmRlMjkzMjI1MTEwMDMw
ZWUwMDBjNGM3MjEyZGMyMmVjMTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvZm9udC1tb25vc3BhY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGhlIGZv
bnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNh
bAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJl
IGlkZW50aWNhbAorRkFJTAorTGluZSBoZWlnaHRzIGRvIG5vdCBtYXRjaAorCitGb250IHNpemVz
IGRvIG5vdCBtYXRjaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtbW9u
b3NwYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1tb25vc3BhY2UuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hOGU0ZjVjZTIxMzY3MjA2MTg3MGNhODdhZTRmZWIwMzhmZjQ0NDVhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtbW9ub3NwYWNlLmh0bWwK
QEAgLTAsMCArMSw0NSBAQAorPHN0eWxlPiAKK2JvZHkgICAgIHtmb250LXNpemU6IDEycHg7fQor
I2NvbnRyb2wge2ZvbnQ6IGl0YWxpYyBzbWFsbC1jYXBzIDkwMCAxNTAlLzJlbSBtb25vc3BhY2U7
fQorI2NhbGMgICAge2ZvbnQ6IGl0YWxpYyBzbWFsbC1jYXBzIDkwMCAtd2Via2l0LWNhbGMoMTUw
JSkvMmVtIG1vbm9zcGFjZTt9Cis8L3N0eWxlPgorCis8ZGl2PgorPHNwYW4gaWQ9ImNvbnRyb2wi
PlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBp
ZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPHNwYW4gaWQ9ImNhbGMiPlRoZSBmb250IHNpemUgYW5k
IGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8
L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOwordmFyIGNvbnRyb2xIZWlnaHQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiksIG51bGwpLmxpbmVIZWlnaHQ7Cit2YXIgY29udHJv
bFNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9s
IiksIG51bGwpLmZvbnRTaXplOworCit2YXIgc3BhbnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgic3BhbiIpOwordmFyIHNhbWVIZWlnaHQgPSB0cnVlOwordmFyIHNhbWVTaXplID0g
dHJ1ZTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIg
Y3VycmVudCA9IHNwYW5zW2ldOworICAgIGlmIChzYW1lSGVpZ2h0KQorICAgICAgICBzYW1lSGVp
Z2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50LCBudWxsKS5saW5lSGVpZ2h0ID09IGNvbnRy
b2xIZWlnaHQ7CisgICAgaWYgKHNhbWVTaXplKQorICAgICAgICBzYW1lU2l6ZSA9IGdldENvbXB1
dGVkU3R5bGUoY3VycmVudCwgbnVsbCkuZm9udFNpemUgPT0gY29udHJvbFNpemU7Cit9CisKK3Zh
ciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKK2lmIChzYW1l
SGVpZ2h0ICYmIHNhbWVTaXplKSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJncmVlbiI7
CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiUEFTUyI7Cit9IGVsc2UgeworICAgIHJlc3VsdHMu
c3R5bGUuY29sb3IgPSAicmVkIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJGQUlMIjsgICAg
CisgICAgaWYgKCFzYW1lSGVpZ2h0KQorICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSAiPHA+
TGluZSBoZWlnaHRzIGRvIG5vdCBtYXRjaDwvcD4iOworICAgIGlmICghc2FtZVNpemUpCisgICAg
ICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8cD5Gb250IHNpemVzIGRvIG5vdCBtYXRjaDwvcD4i
OworfQorCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250
LXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtc2l6ZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjUzNTE4MDZhZjZjMGFmYzI2Zjc5Y2UyOTZiYjM3MDJiZGJi
MzBlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhlIGZvbnQgc2l6ZSBvZiB0aGVzZSBsaW5l
cyBzaG91bGQgYmUgaWRlbnRpY2FsIAorVGhlIGZvbnQgc2l6ZSBvZiB0aGVzZSBsaW5lcyBzaG91
bGQgYmUgaWRlbnRpY2FsIAorVGhlIGZvbnQgc2l6ZSBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUg
aWRlbnRpY2FsCitGQUlMCitDb21wdXRlZCBmb250IHNpemVzIGRvIG5vdCBtYXRjaApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtc2l6ZS1mcmFjdGlvbmFsLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUtZnJhY3Rpb25hbC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNWI0NTc2ZGUyOTMyMjUxMTAwMzBlZTAwMGM0YzcyMTJkYzIyZWMx
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUtZnJh
Y3Rpb25hbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUaGUgZm9udCBzaXplIGFuZCBs
aW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsCitUaGUgZm9udCBz
aXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsCitG
QUlMCitMaW5lIGhlaWdodHMgZG8gbm90IG1hdGNoCisKK0ZvbnQgc2l6ZXMgZG8gbm90IG1hdGNo
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9uYWwu
aHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUtZnJhY3Rpb25hbC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjZiOWY2OTMxZTg2ZDRlZmFiZWEyNWFlYmE1NzVlZWU2Y2Q3NDMxOGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9uYWwu
aHRtbApAQCAtMCwwICsxLDQ1IEBACis8c3R5bGU+IAorYm9keSAgICAgICAgIHsgZm9udC1zaXpl
OiAxMnB4O30KKyNjb250cm9sICAgICB7Zm9udDogbm9ybWFsIDQwMCA4MCUvMi41IHNhbnMtc2Vy
aWY7fQorI2NhbGMtcmVkdWNlIHtmb250OiBub3JtYWwgNDAwIC13ZWJraXQtY2FsYyg4MCUpLzIu
NSBzYW5zLXNlcmlmO30KKzwvc3R5bGU+CisKKzxkaXY+Cis8c3BhbiBpZD0iY29udHJvbCI+VGhl
IGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50
aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYy1yZWR1Y2UiPlRoZSBmb250IHNpemUg
YW5kIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+
Cis8L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KKworPHNjcmlwdD4KK2lm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOwordmFyIGNvbnRyb2xIZWlnaHQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiksIG51bGwpLmxpbmVIZWlnaHQ7Cit2YXIgY29u
dHJvbFNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250
cm9sIiksIG51bGwpLmZvbnRTaXplOworCit2YXIgc3BhbnMgPSBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgic3BhbiIpOwordmFyIHNhbWVIZWlnaHQgPSB0cnVlOwordmFyIHNhbWVTaXpl
ID0gdHJ1ZTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHsKKyAgICB2
YXIgY3VycmVudCA9IHNwYW5zW2ldOworICAgIGlmIChzYW1lSGVpZ2h0KQorICAgICAgICBzYW1l
SGVpZ2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50LCBudWxsKS5saW5lSGVpZ2h0ID09IGNv
bnRyb2xIZWlnaHQ7CisgICAgaWYgKHNhbWVTaXplKQorICAgICAgICBzYW1lU2l6ZSA9IGdldENv
bXB1dGVkU3R5bGUoY3VycmVudCwgbnVsbCkuZm9udFNpemUgPT0gY29udHJvbFNpemU7Cit9CisK
K3ZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKK2lmIChz
YW1lSGVpZ2h0ICYmIHNhbWVTaXplKSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJncmVl
biI7CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiUEFTUyI7Cit9IGVsc2UgeworICAgIHJlc3Vs
dHMuc3R5bGUuY29sb3IgPSAicmVkIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJGQUlMIjsg
ICAgCisgICAgaWYgKCFzYW1lSGVpZ2h0KQorICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSAi
PHA+TGluZSBoZWlnaHRzIGRvIG5vdCBtYXRjaDwvcD4iOworICAgIGlmICghc2FtZVNpemUpCisg
ICAgICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8cD5Gb250IHNpemVzIGRvIG5vdCBtYXRjaDwv
cD4iOworfQorCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9m
b250LXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45MjhmZmY0YThkZWY3MTE5MzM5ZDk2NGM5NWE1MDdiZGNmZDEwZjFhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtc2l6ZS5odG1sCkBAIC0wLDAg
KzEsNDAgQEAKKzxzdHlsZT4gCisjY29udHJvbCB7Zm9udC1zaXplOiAyMDAlO30KKyNjYWxjLXBl
cmNlbnQge2ZvbnQtc2l6ZTogLXdlYmtpdC1jYWxjKDIwMCUpO30KKyNjYWxjLXBlcmNlbnQtcGl4
ZWxzIHtmb250LXNpemU6IC13ZWJraXQtY2FsYygxNTAlICsgMTBweCk7fQorPC9zdHlsZT4KKwor
PGRpdiBzdHlsZT0iZm9udC1zaXplOiAyMHB4OyI+Cis8c3BhbiBpZD0iY29udHJvbCI+VGhlIGZv
bnQgc2l6ZSBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGJyLz4K
KzxzcGFuIGlkPSJjYWxjLXBlcmNlbnQiPlRoZSBmb250IHNpemUgb2YgdGhlc2UgbGluZXMgc2hv
dWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxici8+Cis8c3BhbiBpZD0iY2FsYy1wZXJjZW50LXBp
eGVscyI+VGhlIGZvbnQgc2l6ZSBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9z
cGFuPgorPGhyLz4KKzwvZGl2PgorPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+CisKKzxzY3JpcHQ+
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKK3ZhciBjb250cm9sU2l6ZSA9ICBnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiksIG51bGwpLmZvbnRTaXplCisKK3ZhciBz
cGFucyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzcGFuIik7Cit2YXIgc2FtZVNp
emUgPSB0cnVlOworZm9yICh2YXIgaSA9IDA7IGkgPCBzcGFucy5sZW5ndGg7ICsraSkgeworICAg
IHZhciBjdXJyZW50ID0gc3BhbnNbaV07CisgICAgaWYgKHNhbWVTaXplKQorICAgICAgICBzYW1l
U2l6ZSA9IGdldENvbXB1dGVkU3R5bGUoY3VycmVudCwgbnVsbCkuZm9udFNpemUgPT0gY29udHJv
bFNpemU7Cit9CisKK3ZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3Vs
dHMiKTsKK2lmIChzYW1lU2l6ZSkgeworICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4i
OworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIlBBU1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRz
LnN0eWxlLmNvbG9yID0gInJlZCI7CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAg
IAorICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8cD5Db21wdXRlZCBmb250IHNpemVzIGRvIG5v
dCBtYXRjaDwvcD4iOworfQorCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9mb250Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdmMDkyZjM1MGIzMmNiN2E1NzA0YjgxZGEwYzZmOWU3NjNiZTViOWEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC5odG1sCkBAIC0wLDAgKzEsNTMg
QEAKKzxzdHlsZT4gCisjY29udHJvbCAgICAgICAgICAgICB7Zm9udDogMS41ZW0vNjNweCBzYW5z
LXNlcmlmO30KKyNjYWxjLXNpemUgICAgICAgICAgIHtmb250OiAtd2Via2l0LWNhbGMoMS41ZW0p
LzYzcHggc2Fucy1zZXJpZn0KKyNjYWxjLWhlaWdodCAgICAgICAgIHtmb250OiAxLjVlbS8td2Vi
a2l0LWNhbGMoMTI2cHggLyAyKSBzYW5zLXNlcmlmfQorI2NhbGMtYm90aCAgICAgICAgICAge2Zv
bnQ6IC13ZWJraXQtY2FsYygxLjVlbSkvLXdlYmtpdC1jYWxjKDYzcHgpIHNhbnMtc2VyaWZ9Cisj
Y2FsYy1wZXJjZW50LXNpemUgICB7Zm9udDogLXdlYmtpdC1jYWxjKDEwMCUgKyAwLjVlbSkvNjNw
eCBzYW5zLXNlcmlmfQorPC9zdHlsZT4KKworPGRpdj4KKzxzcGFuIGlkPSJjb250cm9sIj5UaGUg
Zm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRp
Y2FsPC9zcGFuPgorPGhyLz4KKzxzcGFuIGlkPSJjYWxjLXNpemUiPlRoZSBmb250IHNpemUgYW5k
IGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8
aHIvPgorPHNwYW4gaWQ9ImNhbGMtaGVpZ2h0Ij5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdo
dCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGhyLz4KKzxzcGFu
IGlkPSJjYWxjLWJvdGgiPlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxp
bmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPHNwYW4gaWQ9ImNhbGMtcGVy
Y2VudC1zaXplIj5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBz
aG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPC9kaXY+Cis8aHIvPgorPGRpdiBpZD0icmVzdWx0
cyI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK3ZhciBjb250cm9sSGVpZ2h0
ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIpLCBu
dWxsKS5saW5lSGVpZ2h0OwordmFyIGNvbnRyb2xTaXplID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIpLCBudWxsKS5mb250U2l6ZTsKKwordmFyIHNw
YW5zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKK3ZhciBzYW1lSGVp
Z2h0ID0gdHJ1ZTsKK3ZhciBzYW1lU2l6ZSA9IHRydWU7Citmb3IgKHZhciBpID0gMDsgaSA8IHNw
YW5zLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGN1cnJlbnQgPSBzcGFuc1tpXTsKKyAgICBpZiAo
c2FtZUhlaWdodCkKKyAgICAgICAgc2FtZUhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoY3VycmVu
dCwgbnVsbCkubGluZUhlaWdodCA9PSBjb250cm9sSGVpZ2h0OworICAgIGlmIChzYW1lU2l6ZSkK
KyAgICAgICAgc2FtZVNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnQsIG51bGwpLmZvbnRT
aXplID09IGNvbnRyb2xTaXplOworfQorCit2YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZUhlaWdodCAmJiBzYW1lU2l6ZSkgeworICAgIHJl
c3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIlBB
U1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gInJlZCI7CisgICAgcmVz
dWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIGlmICghc2FtZUhlaWdodCkKKyAgICAg
ICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gIjxwPkxpbmUgaGVpZ2h0cyBkbyBub3QgbWF0Y2g8L3A+
IjsKKyAgICBpZiAoIXNhbWVTaXplKQorICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSAiPHA+
TGluZSB3aWR0aHMgZG8gbm90IG1hdGNoPC9wPiI7Cit9CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRh
Z2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxNGNhNTUyZmI4YmY3
NTI2ZTUwNmIzYjM4OTA0NWRmNWRmMTc0MTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw3IEBACitUZXN0IGNhbGxpbmcgZ2V0UHJvcGVydHlWYWx1ZSBvbiBjb21w
dXRlZCBtYXJnaW4gc3R5bGVzLgorCittYXJnaW4tbGVmdDogMHB4CittYXJnaW4tdG9wOiAwcHgK
K21hcmdpbi1yaWdodDogMHB4CittYXJnaW4tYm90dG9tOiAwcHgKK1Rlc3QKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVy
Y2VudGFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjNmZhMGEyNmQ5OTQwOTMwMzNlMjlkZmM1NjQwNDU4
OTIwMjY4ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ2V0Q29t
cHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgICNmb28geyAK
KyAgICAgICAgICAgIGJhY2tncm91bmQ6IHB1cnBsZTsKKyAgICAgICAgICAgIGJvcmRlcjogLXdl
YmtpdC1jYWxjKDEwcHgpIGRvdWJsZSAjMDAwMDAwOyAKKyAgICAgICAgICAgIHdpZHRoOiAtd2Vi
a2l0LWNhbGMoNTAlKTsKKyAgICAgICAgICAgIGhlaWdodDogYXV0bzsKKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQtY2FsYygzMyUpOworICAgICAgICAgICAg
bWFyZ2luLXRvcDogLXdlYmtpdC1jYWxjKDEwJSk7CisgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6
IGF1dG87CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHBhZGRpbmctbGVmdDogYXV0bzsKKyAg
ICAgICAgICAgIGxlZnQ6IGF1dG87CisgICAgICAgICAgICBjb2xvcjogd2hpdGU7CisgICAgICAg
ICAgICBmb250OiAtd2Via2l0LWNhbGMoMjRweCkgJ0x1Y2lkYSBHcmFuZGUnOworICAgICAgICAg
ICAgbGluZS1oZWlnaHQ6IC13ZWJraXQtY2FsYygyNHB4KTsKKyAgICAgICAgfQorICAgIDwvc3R5
bGU+CisgICAgCisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gbG9nKG1zZykgeworICAg
ICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtc2cgKyAnXG4nKSk7CisgICAgICAgIH0KKyAgICAgICAg
CisgICAgICAgIGZ1bmN0aW9uIHRlc3QocHJvcCkgeworICAgICAgICAgICAgdmFyIGRpdiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb28nKTsKKyAgICAgICAgICAgIGxvZyhwcm9wICsgJzog
JyArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShw
cm9wKSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkg
eworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAg
ICAgCisgICAgICAgICAgICB0ZXN0KCdtYXJnaW4tbGVmdCcpOworICAgICAgICAgICAgdGVzdCgn
bWFyZ2luLXRvcCcpOworICAgICAgICAgICAgdGVzdCgnbWFyZ2luLXJpZ2h0Jyk7CisgICAgICAg
ICAgICB0ZXN0KCdtYXJnaW4tYm90dG9tJyk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwv
aGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0cygpOyI+CisgICAgPHA+VGVzdCBjYWxsaW5n
IGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQgbWFyZ2luIHN0eWxlcy48L3A+CisgICAgPHBy
ZSBpZD0iY29uc29sZSI+PC9wcmU+CisgICAgCisgICAgPGRpdiBpZD0iZm9vIj5UZXN0PC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3Jh
ZGllbnQtY29sb3Itc3RvcHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjlkMDA1YjkxNWMzOTZhZDE5ZDcxNTEzNzZhMTBkMjlhNDQ4MWExZmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMtZXhw
ZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRtbD4KKwor
PGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4K
KyAgICAuYm94IHsKKyAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgIGhlaWdodDog
MTIwcHg7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgICBtYXJnaW46IDEwcHg7CisgICAgICBi
b3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBl
YXQ7CisgICAgfQorCisgICAgLmxpbmVhcjEgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdl
YmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkIDI1JSwgZ3JlZW4gNTAlLCBibHVlIDc1JSk7
CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQg
MjUlLCBncmVlbiA1MCUsIGJsdWUgNzUlKTsKKyAgICB9CisKKyAgICAubGluZWFyMiB7CisgICAg
ICAvKiBHcmVlbiBzaG91bGQgZ2V0IHNoaWZ0ZWQgdG8gNTAlICovCisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQgNTAlLCBncmVlbiAzMCUs
IGJsdWUgOTAlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50
KGxlZnQsIHJlZCA1MCUsIGdyZWVuIDMwJSwgYmx1ZSA5MCUpOworICAgIH0KKworICAgIC5saW5l
YXIzIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJl
ZCAtNTAlLCBncmVlbiwgYmx1ZSwgZ3JlZW4sIGJsdWUgMTUwJSk7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyZWQgLTUwJSwgZ3JlZW4sIGJsdWUsIGdyZWVu
LCBibHVlIDE1MCUpOworICAgIH0KKworICAgIC5saW5lYXI0IHsKKyAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4gMTAwcHgsIGJs
dWUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwg
cmVkLCBncmVlbiAxMDBweCwgYmx1ZSk7CisgICAgfQorCisgICAgLmxpbmVhcjUgeworICAgICAg
YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkLCBncmVl
biAxMjAlLCBibHVlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRp
ZW50KGxlZnQsIHJlZCwgZ3JlZW4gMTIwJSwgYmx1ZSk7CisgICAgfQorICA8L3N0eWxlPgorICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgIHZhciBkdW1wUGl4ZWxzID0gdHJ1
ZTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoZHVtcFBpeGVscyk7Cisg
ICAgfQorICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCisgIDxkaXYgY2xhc3M9ImxpbmVh
cjEgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0ibGluZWFyMiBib3giPjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJsaW5lYXIzIGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0ibGluZWFy
NCBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJsaW5lYXI1IGJveCI+PC9kaXY+CisKKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9ncmFkaWVudC1j
b2xvci1zdG9wcy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dyYWRpZW50LWNvbG9yLXN0
b3BzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRmNGU5YmI0OWQwN2UyZDljNmMxY2VjMDY3Yzg2YWMwNWFj
MWE3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ncmFkaWVudC1j
b2xvci1zdG9wcy5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRt
bD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAg
IC5ib3ggeworICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgaGVpZ2h0OiAxMjBw
eDsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIG1hcmdpbjogMTBweDsKKyAgICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsK
KyAgICB9CisKKyAgICAubGluZWFyMSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0
LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQgLXdlYmtpdC1jYWxjKDI1JSksIGdyZWVuIC13ZWJr
aXQtY2FsYyg1MCUpLCBibHVlIC13ZWJraXQtY2FsYyg3NSUpKTsKKyAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCAtd2Via2l0LWNhbGMoMjUlKSwg
Z3JlZW4gLXdlYmtpdC1jYWxjKDUwJSksIGJsdWUgLXdlYmtpdC1jYWxjKDc1JSkpOworICAgIH0K
KworICAgIC5saW5lYXIyIHsKKyAgICAgIC8qIEdyZWVuIHNob3VsZCBnZXQgc2hpZnRlZCB0byAt
d2Via2l0LWNhbGMoNTAlKSAqLworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5l
YXItZ3JhZGllbnQobGVmdCwgcmVkIC13ZWJraXQtY2FsYyg1MCUpLCBncmVlbiAtd2Via2l0LWNh
bGMoMzAlKSwgYmx1ZSAtd2Via2l0LWNhbGMoOTAlKSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdl
OiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQgLXdlYmtpdC1jYWxjKDUwJSksIGdyZWVu
IC13ZWJraXQtY2FsYygzMCUpLCBibHVlIC13ZWJraXQtY2FsYyg5MCUpKTsKKyAgICB9CisKKyAg
ICAubGluZWFyMyB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFk
aWVudChyZWQgLXdlYmtpdC1jYWxjKC01MCUpLCBncmVlbiwgYmx1ZSwgZ3JlZW4sIGJsdWUgLXdl
YmtpdC1jYWxjKDE1MCUpKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdy
YWRpZW50KHJlZCAtd2Via2l0LWNhbGMoLTUwJSksIGdyZWVuLCBibHVlLCBncmVlbiwgYmx1ZSAt
d2Via2l0LWNhbGMoMTUwJSkpOworICAgIH0KKworICAgIC5saW5lYXI0IHsKKyAgICAgIGJhY2tn
cm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4gLXdl
YmtpdC1jYWxjKDEwMHB4KSwgYmx1ZSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxp
bmVhci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygxMDBweCksIGJsdWUp
OworICAgIH0KKworICAgIC5saW5lYXI1IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJr
aXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4gLXdlYmtpdC1jYWxjKDEyMCUpLCBi
bHVlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQs
IHJlZCwgZ3JlZW4gLXdlYmtpdC1jYWxjKDEyMCUpLCBibHVlKTsKKyAgICB9CisgIDwvc3R5bGU+
CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CisgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgdmFyIGR1bXBQaXhlbHMg
PSB0cnVlOworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dChkdW1wUGl4ZWxz
KTsKKyAgICB9CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKyAgPGRpdiBjbGFzcz0i
bGluZWFyMSBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJsaW5lYXIyIGJveCI+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImxpbmVhcjMgYm94Ij48L2Rpdj4KKyAgPGJyPgorICA8ZGl2IGNsYXNzPSJs
aW5lYXI0IGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImxpbmVhcjUgYm94Ij48L2Rpdj4KKwor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ltZy1z
aXplLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvaW1nLXNp
emUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOGRiMTI3MDQzMGQ5YjVkMDBi
M2RlNzgxM2ExOWQyMTBiMzY2Zjg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2ltZy1zaXplLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwxNiBAQAor
PHN0eWxlPgorLmNvbnRyb2wgeyB3aWR0aDogNTAlOyB9CisucGl4ZWxzIHsgd2lkdGg6IDEwMHB4
OyB9CisucGVyY2VudCB7d2lkdGg6IDUwJTsgfQorLmJvdGgge3dpZHRoOiAxMDBweDsgfQorPC9z
dHlsZT4KKworPGRpdiBzdHlsZT0id2lkdGg6MjAwcHg7Ij4KKyAgICA8aW1nIGNsYXNzPSJjb250
cm9sIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFB
QUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0
NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPGhyLz4KKyAgICA8aW1nIGNsYXNzPSJwaXhl
bHMiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFB
SUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1
SWsya0FBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8aHIvPgorICAgIDxpbWcgY2xhc3M9InBlcmNl
bnQiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFB
SUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1
SWsya0FBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8aHIvPgorICAgIDxpbWcgY2xhc3M9ImJvdGgi
IHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFB
QUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsy
a0FBQUFBU1VWT1JLNUNZSUk9Ij4KKzwvZGl2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWctc2l6ZS5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2ltZy1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJjNmI5YTM4ZTFhZGY4
MGUyOGQ4YjI4ZmI5MWRmZjRmZDY3Mzk5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9pbWctc2l6ZS5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzxzdHlsZT4KKy5jb250
cm9sIHsgd2lkdGg6IDUwJTsgfQorLnBpeGVscyB7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHgp
OyB9CisucGVyY2VudCB7d2lkdGg6IC13ZWJraXQtY2FsYyg1MCUpOyB9CisuYm90aCB7d2lkdGg6
IC13ZWJraXQtY2FsYygyNSUgKyA1MHB4KTsgfQorPC9zdHlsZT4KKworPGRpdiBzdHlsZT0id2lk
dGg6MjAwcHg7Ij4KKyAgICA8aW1nIGNsYXNzPSJjb250cm9sIiBzcmM9ImRhdGE6aW1hZ2UvcG5n
O2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFG
RWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+
CisgICAgPGhyLz4KKyAgICA8aW1nIGNsYXNzPSJwaXhlbHMiIHNyYz0iZGF0YTppbWFnZS9wbmc7
YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUZF
bEVRVlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VWT1JLNUNZSUk9Ij4K
KyAgICA8aHIvPgorICAgIDxpbWcgY2xhc3M9InBlcmNlbnQiIHNyYz0iZGF0YTppbWFnZS9wbmc7
YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUZF
bEVRVlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VWT1JLNUNZSUk9Ij4K
KyAgICA8aHIvPgorICAgIDxpbWcgY2xhc3M9ImJvdGgiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFz
ZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVR
VlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VWT1JLNUNZSUk9Ij4KKzwv
ZGl2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9saW5lLWhlaWdodC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvbGluZS1oZWlnaHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkNjUwZGNhOWZlMGJmN2Nj
ZTYzNDAzNmUwYmE2MDcxNzRhZWY0ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvbGluZS1oZWlnaHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhlIGxp
bmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWwKK1RoZSBsaW5lIGhl
aWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsCitUaGUgbGluZSBoZWlnaHQg
b2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorRkFJTAorQ29tcHV0ZWQgbGluZSBo
ZWlnaHRzIGRvIG5vdCBtYXRjaDogMzJweCwgbm9ybWFsLCBub3JtYWwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9saW5lLWhlaWdodC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2xpbmUtaGVpZ2h0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWM3ZDEwNjU3ZDBjMzBmMTZiNTI3ODZh
MTAwNzAyZmJhYjUxZGRmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9saW5lLWhlaWdodC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzxzdHlsZT4gCitzcGFuIHsgZm9u
dC1zaXplOiAxNnB4O30KKyNjb250cm9sIHtsaW5lLWhlaWdodDogMjAwJTt9CisjY2FsYy1wZXJj
ZW50IHtsaW5lLWhlaWdodDogLXdlYmtpdC1jYWxjKDEwMCUgKiAyKTt9CisjY2FsYy1wZXJjZW50
LXBpeGVscyB7bGluZS1oZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlICsgMTZweCk7fQorPC9zdHls
ZT4KKworPGRpdj4KKzxzcGFuIGlkPSJjb250cm9sIj5UaGUgbGluZSBoZWlnaHQgb2YgdGhlc2Ug
bGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYy1w
ZXJjZW50Ij5UaGUgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNh
bDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYy1wZXJjZW50LXBpeGVscyI+VGhlIGxpbmUg
aGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgor
PC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOwordmFyIGNvbnRyb2xIZWlnaHQgPSAgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udHJvbCIpLCBudWxsKS5saW5lSGVpZ2h0OwordmFyIGhlaWdodHMgPSAi
IjsKKwordmFyIHNwYW5zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsK
K3ZhciBzYW1lSGVpZ2h0ID0gdHJ1ZTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3Ro
OyArK2kpIHsKKyAgICB2YXIgY3VycmVudCA9IHNwYW5zW2ldOworICAgIHZhciBjdXJyZW50SGVp
Z2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50LCBudWxsKS5saW5lSGVpZ2h0OworICAgIGlm
IChoZWlnaHRzLmxlbmd0aCAhPSAwKQorICAgICAgICBoZWlnaHRzID0gaGVpZ2h0cyArICIsICI7
CisgICAgaGVpZ2h0cyA9IGhlaWdodHMgKyBjdXJyZW50SGVpZ2h0OworICAgIGlmIChzYW1lSGVp
Z2h0KQorICAgICAgICBzYW1lSGVpZ2h0ID0gY3VycmVudEhlaWdodCA9PSBjb250cm9sSGVpZ2h0
OworfQorCit2YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7
CitpZiAoc2FtZUhlaWdodCkgeworICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOwor
ICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIlBBU1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRzLnN0
eWxlLmNvbG9yID0gInJlZCI7CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAgIAor
ICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8cD5Db21wdXRlZCBsaW5lIGhlaWdodHMgZG8gbm90
IG1hdGNoOiAiICsgaGVpZ2h0cyArICI8L3A+IjsKK30KKworPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFyZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9tYXJnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhOWVmOTVhZDU1OGY0
MTViZmEzZDJlMjI2NTJmNzVkZmMzYzBmNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvbWFyZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitUaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBGQUlM
OiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyNTAsIGJ1dCB3YXMgMzU3LCBleHBlY3RlZCB0b3Rh
bCBoZWlnaHQgb2YgMTcwLCBidXQgd2FzIDE4CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBh
IGxlZnQgbWFyZ2luIG9mIDI1IHBpeGVscy4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGgg
b2YgMjI1LCBidXQgd2FzIDMyNiwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDEyMCwgYnV0IHdh
cyAxOAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBtYXJnaW4gb2YgMjUgcGl4
ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMjUsIGJ1dCB3YXMgMzM1LCBl
eHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTIwLCBidXQgd2FzIDE4CisKK1RoaXMgZWxlbWVudCBz
aG91bGQgaGF2ZSBhIHRvcCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0
b3RhbCB3aWR0aCBvZiAyMDAsIGJ1dCB3YXMgMzI2LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2Yg
MTQ1LCBidXQgd2FzIDE4CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBtYXJn
aW4gb2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMDAsIGJ1
dCB3YXMgMzUwLCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDE4CisKK1Ro
aXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhbiBvdmVyYWxsIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEw
JSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogZXhwZWN0ZWQg
dG90YWwgd2lkdGggb2YgMjUwLCBidXQgd2FzIDMwMCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9m
IDE3MCwgYnV0IHdhcyA1NAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IG1hcmdp
biBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4g
PT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDMwMCwgZXhwZWN0
ZWQgdG90YWwgaGVpZ2h0IG9mIDEyMCwgYnV0IHdhcyA1NAorCitUaGlzIGVsZW1lbnQgc2hvdWxk
IGhhdmUgYSByaWdodCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9m
IDMwMHB4IG1pbnVzIDVweCkuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIyNSwg
YnV0IHdhcyAzMDAsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxMjAsIGJ1dCB3YXMgNTQKKwor
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBv
ZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogZXhwZWN0ZWQgdG90
YWwgd2lkdGggb2YgMjAwLCBidXQgd2FzIDMwMCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDE0
NSwgYnV0IHdhcyA1NAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFyZ2lu
IG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9
PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMDAsIGJ1dCB3YXMgMzAwLCBleHBlY3Rl
ZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDU0CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdp
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjk0NWY5MzliYzExODBkZmJmNDI0NjFhZTEyZWY2NTljM2FlZDRi
NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFyZ2luLmh0bWwK
QEAgLTAsMCArMSwxMzMgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHN0eWxlPgorZGl2IHsKKyAgICBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7Cit9CisKK3AgeworICAgIHdpZHRoOi13ZWJraXQtY2FsYygy
MDBweCk7IAorICAgIGhlaWdodDotd2Via2l0LWNhbGMoMTIwcHgpOworICAgIG1hcmdpbjogMDsK
K30KKy5zaW1wbGUtYWxsIHsKKyAgICBtYXJnaW46IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7
Cit9Cisuc2ltcGxlLWxlZnQgeworICAgIG1hcmdpbi1sZWZ0OiAtd2Via2l0LWNhbGMoMTNweCAr
IDEycHgpOworfQorLnNpbXBsZS1yaWdodCB7CisgICAgbWFyZ2luLXJpZ2h0OiAtd2Via2l0LWNh
bGMoMTNweCArIDEycHgpOworfQorLnNpbXBsZS10b3AgeworICAgIG1hcmdpbi10b3A6IC13ZWJr
aXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLWJvdHRvbSB7CisgICAgbWFyZ2luLWJv
dHRvbTogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5wZXJjZW50LWFsbCB7CisgICAv
KiBtYXJnaW46IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworICAgIG1hcmdpbjogLW1vei1jYWxj
KC13ZWJraXQtY2FsYygxMCUpIC0gNXB4KTsKKyAgICBtYXJnaW46IGNhbGMoLXdlYmtpdC1jYWxj
KDEwJSkgLSA1cHgpOyovCisgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQtY2FsYygxMCUpOworfQor
LnBlcmNlbnQtbGVmdCB7CisgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgp
OworICAgIG1hcmdpbi1sZWZ0OiAtd2Via2l0LWNhbGMoMjAlKTsKK30KKy5wZXJjZW50LXJpZ2h0
IHsKKyAgICBtYXJnaW4tcmlnaHQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNl
bnQtdG9wIHsKKyAgICBtYXJnaW4tdG9wOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5w
ZXJjZW50LWJvdHRvbSB7CisgICBtYXJnaW4tYm90dG9tOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4
KTsKK30KKzwvc3R5bGU+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwv
ZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtbGVmdCI+VGhpcyBlbGVtZW50
IHNob3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+
Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtcmlnaHQiPlRoaXMgZWxlbWVudCBzaG91bGQg
aGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMuPC9wPgorPC9kaXY+PGJyLz4KKzxkaXY+
CisgICAgPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRv
cCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNs
YXNzPSJzaW1wbGUtYm90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFy
Z2luIG9mIDI1IHBpeGVscy48L3A+Cis8L2Rpdj48YnIvPgorCis8ZGl2IGlkPSJ3cmFwcGVyIiBz
dHlsZT0id2lkdGg6IDMwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBjb3Juc2lsazsgZGlzcGxheTog
YmxvY2s7Ij4KKzxkaXY+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtYWxsIj5UaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50
IHdpZHRoIG9mIDMwMHB4IG1pbnVzICAgICA1cHgpLjwvcD4KKzwvZGl2Pjxici8+CisKKworPGRp
dj4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YSBsZWZ0IG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHgg
bWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFzcz0icGVyY2Vu
dC1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgbWFyZ2luIG9mIDI1IHBp
eGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2
Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXRvcCI+VGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGgg
b2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFz
cz0icGVyY2VudC1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBtYXJn
aW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
PC9wPgorPC9kaXY+PGJyLz4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaW5u
ZXJXaWR0aCA9IDIwMDsKK3ZhciBpbm5lckhlaWdodCA9IDEyMDsKK3ZhciBtYXJnaW4gPSAyNTsK
KwordmFyIHRlc3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOworZm9y
ICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkgeworICAgIHZhciBvdXRlckVsdCA9
IHRlc3RzW2ldOworICAgIGlmIChvdXRlckVsdC5pZCA9PSAid3JhcHBlciIpCisgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAKKyAgICB2YXIgaW5uZXJFbHQgPSB0ZXN0c1tpXS5nZXRFbGVtZW50
c0J5VGFnTmFtZSgicCIpWzBdOworICAgIHZhciB3aWR0aCA9IG91dGVyRWx0Lm9mZnNldFdpZHRo
OworICAgIHZhciBoZWlnaHQgPSBvdXRlckVsdC5vZmZzZXRIZWlnaHQ7CisKKyAgICB2YXIgZXhw
ZWN0ZWRXaWR0aCA9IGlubmVyV2lkdGg7CisgICAgdmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJI
ZWlnaHQ7CisgICAgCisgICAgc3dpdGNoIChpbm5lckVsdC5jbGFzc05hbWUuc3BsaXQoIi0iKVsx
XSkgeworICAgIGNhc2UgImFsbCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGggKz0gMiAqIG1hcmdp
bjsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIG1hcmdpbjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSAidG9wIjoKKyAgICBjYXNlICJib3R0b20iOgorICAgICAgICBleHBlY3RlZEhl
aWdodCArPSBtYXJnaW47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgImxlZnQiOgorICAgIGNh
c2UgInJpZ2h0IjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSBtYXJnaW47CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICAKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGggIT0g
ZXhwZWN0ZWRXaWR0aCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGgg
b2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7CisgICAgaWYgKGhl
aWdodCAhPSBleHBlY3RlZEhlaWdodCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90
YWwgaGVpZ2h0IG9mICIgKyBleHBlY3RlZEhlaWdodCArICIsIGJ1dCB3YXMgIiArIGhlaWdodCk7
CisKKyAgICByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKKyAg
ICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgaW5uZXJFbHQuc3R5bGUuYmFja2dyb3VuZENv
bG9yID0gImdyZWVuIjsKKyAgICAgICAgaW5uZXJFbHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaW5uZXJFbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0g
InJlZCI7CisgICAgICAgIGlubmVyRWx0LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJv
ci5qb2luKCIsICIpOworICAgIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL211bHRpcGxlLWJhY2tncm91bmQtc2l6ZS10cmFuc2l0aW9ucy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbXVsdGlwbGUtYmFja2dyb3VuZC1zaXplLXRy
YW5zaXRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNWE0MjcyNTk0NGE0Nzc0NDY4Njc2
ODc0OTNkYmM5MTE1ZDk2OGFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL211bHRpcGxlLWJhY2tncm91bmQtc2l6ZS10cmFuc2l0aW9ucy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogcnVuVHJhbnNpdGlvblRlc3QKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDYgW2JvcmRlcjogKDNweCBzb2xp
ZCAjMDAwMDAwKV0KKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDEyKSBzaXplIDc4NHgw
CitsYXllciBhdCAoOCwxNCkgc2l6ZSA3ODR4NgorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw2
KSBzaXplIDc4NHg2IFtiZ2NvbG9yPSM4MDgwODBdIFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAw
MCldCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbXVsdGlwbGUtYmFja2dyb3Vu
ZC1zaXplLXRyYW5zaXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbXVsdGlwbGUt
YmFja2dyb3VuZC1zaXplLXRyYW5zaXRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzJjNWU0NjdhMmUz
NzZkMzM1MGI1YTViYmQyMzNjYWM4ZjU0NjVjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvY2FsYy9tdWx0aXBsZS1iYWNrZ3JvdW5kLXNpemUtdHJhbnNpdGlvbnMuaHRtbApA
QCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEU+CisKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4K
KyAgICAuYm94IHsKKyAgICAgIGhlaWdodDogLXdlYmtpdC1jYWxjKDEwMHB4KTsKKyAgICAgIHdp
ZHRoOiAtd2Via2l0LWNhbGMoMTAwcHgpOworICAgICAgbWFyZ2luOiAtd2Via2l0LWNhbGMoMTBw
eCk7CisgICAgICBib3JkZXI6IC13ZWJraXQtY2FsYygxcHgpIHNvbGlkIGJsYWNrOworICAgICAg
YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6
IG5vLXJlcGVhdDsKKyAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7CisgICAg
ICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CisgICAgICAtd2Vi
a2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtYmFja2dyb3VuZC1zaXplLCAtd2Via2l0
LW1hc2stc2l6ZTsKKyAgICB9CisgICAgCisgICAgI2JveCB7CisgICAgICBiYWNrZ3JvdW5kLWlt
YWdlOiB1cmwoJy4uL2Zhc3QvYmFja2dyb3VuZHMvcmVwZWF0L3Jlc291cmNlcy9ncmFkaWVudC5n
aWYnKSwgdXJsKCcuLi9mYXN0L2JhY2tncm91bmRzL3JlcGVhdC9yZXNvdXJjZXMvZ3JhZGllbnQu
Z2lmJyk7CisgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIC13ZWJraXQtY2FsYyg1MHB4
KSAtd2Via2l0LWNhbGMoNTBweCk7CisgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogLXdl
YmtpdC1jYWxjKDAlKSAtd2Via2l0LWNhbGMoMCUpLCAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0
LWNhbGMoNTAlKTsKKyAgICB9CisgICAgCisgICAgI2JveC5maW5hbCB7CisgICAgICAtd2Via2l0
LWJhY2tncm91bmQtc2l6ZTogLXdlYmtpdC1jYWxjKDUwJSkgLXdlYmtpdC1jYWxjKDUwJSksIC13
ZWJraXQtY2FsYygwJSkgLXdlYmtpdC1jYWxjKDAlKTsKKyAgICB9CisgICAgCisgICAgI2JveDEg
eworICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTsKKyAgICAgIC13ZWJraXQtbWFzay1pbWFn
ZTogdXJsKCcuLi9mYXN0L2JhY2tncm91bmRzL3JlcGVhdC9yZXNvdXJjZXMvZ3JhZGllbnQuZ2lm
JyksIHVybCgnLi4vZmFzdC9iYWNrZ3JvdW5kcy9yZXBlYXQvcmVzb3VyY2VzL2dyYWRpZW50Lmdp
ZicpOworICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiAwIDAsIC13ZWJraXQtY2FsYyg1MHB4
KSAtd2Via2l0LWNhbGMoNTBweCk7CisgICAgICAtd2Via2l0LW1hc2stc2l6ZTogLXdlYmtpdC1j
YWxjKDAlKSAtd2Via2l0LWNhbGMoMCUpLCAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMo
NTAlKTsKKyAgICB9CisKKyAgICAjYm94MS5maW5hbCB7CisgICAgICAtd2Via2l0LW1hc2stc2l6
ZTogLXdlYmtpdC1jYWxjKDUwJSkgLXdlYmtpdC1jYWxjKDUwJSksIC13ZWJraXQtY2FsYygwJSkg
LXdlYmtpdC1jYWxjKDAlKTsKKyAgICB9CisKKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCBzcmM9InJl
c291cmNlcy90cmFuc2l0aW9uLXRlc3QtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gWwor
ICAgICAgLy8gW3RpbWUsIGVsZW1lbnQtaWQsIHByb3BlcnR5LCBleHBlY3RlZC12YWx1ZSwgdG9s
ZXJhbmNlXQorICAgICAgWzAuNSwgJ2JveCcsICctd2Via2l0LWJhY2tncm91bmQtc2l6ZScsIFsy
NSwgMjVdLCA0XSwKKyAgICAgIFswLjUsICdib3gxJywgJy13ZWJraXQtbWFzay1zaXplJywgWzI1
LCAyNV0sIDRdLAorICAgIF07CisgIAorICAgIGZ1bmN0aW9uIHNldHVwVGVzdCgpCisgICAgewor
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JveCcpLmNsYXNzTmFtZSA9ICdib3ggZmlu
YWwnOworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JveDEnKS5jbGFzc05hbWUgPSAn
Ym94IGZpbmFsJzsKKyAgICB9CisgIAorICAgIHJ1blRyYW5zaXRpb25UZXN0KGV4cGVjdGVkVmFs
dWVzLCBzZXR1cFRlc3QsIHVzZVBhdXNlQVBJKTsKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKworICA8ZGl2IGlkPSJib3giIGNsYXNzPSJib3giPjwvZGl2PgorICA8ZGl2IGlkPSJib3gx
IiBjbGFzcz0iYm94Ij48L2Rpdj4KKworICA8ZGl2IGlkPSJyZXN1bHQiPgorICA8L2Rpdj4KKwor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3BhZGRp
bmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3BhZGRpbmctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmE0OWI5NTkxZTQ5YjU1NDVlMTA0NDllNWZmYmQwMDY5ZWZjZWU0YzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcGFkZGluZy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFuIG92ZXJh
bGwgcGFkZGluZyBvZiAyNSBwaXhlbHMuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9m
IDI1MCwgYnV0IHdhcyA3ODQsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxNzAsIGJ1dCB3YXMg
MTgKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVs
cy4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDc4NCwgZXhw
ZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDEyMCwgYnV0IHdhcyAxOAorCitUaGlzIGVsZW1lbnQgc2hv
dWxkIGhhdmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscy4gPT4gRkFJTDogZXhwZWN0ZWQg
dG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDc4NCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9m
IDEyMCwgYnV0IHdhcyAxOAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgcGFkZGlu
ZyBvZiAyNSBwaXhlbHMuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIwMCwgYnV0
IHdhcyA3ODQsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxNDUsIGJ1dCB3YXMgMTgKKworVGhp
cyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBhZGRpbmcgb2YgMjUgcGl4ZWxzLiA9PiBG
QUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMDAsIGJ1dCB3YXMgNzY5LCBleHBlY3RlZCB0
b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDE4CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2
ZSBhbiBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9m
IDMwMHB4IG1pbnVzIDVweCkuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDI1MCwg
YnV0IHdhcyAzMDAsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxNzAsIGJ1dCB3YXMgNTQKKwor
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAl
IG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0
b3RhbCB3aWR0aCBvZiAyMjUsIGJ1dCB3YXMgMzAwLCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2Yg
MTIwLCBidXQgd2FzIDU0CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IHBhZGRp
bmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
ID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIyNSwgYnV0IHdhcyAzMDAsIGV4cGVj
dGVkIHRvdGFsIGhlaWdodCBvZiAxMjAsIGJ1dCB3YXMgNTQKKworVGhpcyBlbGVtZW50IHNob3Vs
ZCBoYXZlIGEgdG9wIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9m
IDMwMHB4IG1pbnVzIDVweCkuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIwMCwg
YnV0IHdhcyAzMDAsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxNDUsIGJ1dCB3YXMgNTQKKwor
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgx
MCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IEZBSUw6IGV4cGVjdGVk
IHRvdGFsIHdpZHRoIG9mIDIwMCwgYnV0IHdhcyAzMDAsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBv
ZiAxNDUsIGJ1dCB3YXMgNTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9wYWRk
aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcGFkZGluZy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjFjZWE3YzczOGU5YmUzMDdmMjU5ZTE0NDg1MmQ2NGNjYWM1MTliMDgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcGFkZGluZy5odG1sCkBAIC0wLDAgKzEsOTkgQEAK
KzwhRE9DVFlQRSBIVE1MPgorPHN0eWxlPgorcCB7CisgICAgd2lkdGg6LXdlYmtpdC1jYWxjKDIw
MHB4KTsgaGVpZ2h0Oi13ZWJraXQtY2FsYygxMjBweCk7IAorfQorLnNpbXBsZS1hbGwgeworICAg
IHBhZGRpbmc6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLWxlZnQgewor
ICAgIHBhZGRpbmctbGVmdDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUt
cmlnaHQgeworICAgIHBhZGRpbmctcmlnaHQ6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7Cit9
Cisuc2ltcGxlLXRvcCB7CisgICAgcGFkZGluZy10b3A6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJw
eCk7Cit9Cisuc2ltcGxlLWJvdHRvbSB7CisgICAgcGFkZGluZy1ib3R0b206IC13ZWJraXQtY2Fs
YygxM3B4ICsgMTJweCk7Cit9CisucGVyY2VudC1hbGwgeworICAgIHBhZGRpbmc6IC13ZWJraXQt
Y2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtbGVmdCB7CisgICAgcGFkZGluZy1sZWZ0OiAt
d2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LXJpZ2h0IHsKKyAgICBwYWRkaW5n
LXJpZ2h0OiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LXRvcCB7CisgICAg
cGFkZGluZy10b3A6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtYm90dG9t
IHsKKyAgIHBhZGRpbmctYm90dG9tOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKzwvc3R5
bGU+CisKKzxwIGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4g
b3ZlcmFsbCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLWxlZnQi
PlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgcGFkZGluZyBvZiAyNSBwaXhlbHMuPC9w
PgorPHAgY2xhc3M9InNpbXBsZS1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmln
aHQgcGFkZGluZyBvZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMg
ZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+Cis8cCBj
bGFzcz0ic2ltcGxlLWJvdHRvbSI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBh
ZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4KKworPGRpdiBzdHlsZT0id2lkdGg6IDMwMHB4OyBiYWNr
Z3JvdW5kLWNvbG9yOiBjb3Juc2lsazsiPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LWFsbCI+VGhp
cyBlbGVtZW50IHNob3VsZCBoYXZlIGFuIG92ZXJhbGwgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEw
JSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+CisgICAgPHAgY2xhc3M9
InBlcmNlbnQtbGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9m
IDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4K
KyAgICA8cCBjbGFzcz0icGVyY2VudC1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEg
cmlnaHQgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHgg
bWludXMgNXB4KS48L3A+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtdG9wIj5UaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYSB0b3AgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lk
dGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtYm90dG9t
Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gcGFkZGluZyBvZiAyNSBwaXhlbHMg
KDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rpdj4KKwor
PHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaW5uZXJXaWR0aCA9IDIwMDsKK3ZhciBp
bm5lckhlaWdodCA9IDEyMDsKK3ZhciBwYWRkaW5nID0gMjU7CisKK3ZhciB0ZXN0cyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwIik7Citmb3IgKHZhciBpID0gMDsgaSA8IHRlc3Rz
Lmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGVsdCA9IHRlc3RzW2ldOworICAgIHZhciB3aWR0aCA9
IGVsdC5vZmZzZXRXaWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0gZWx0Lm9mZnNldEhlaWdodDsKKwor
ICAgIHZhciBleHBlY3RlZFdpZHRoID0gaW5uZXJXaWR0aDsKKyAgICB2YXIgZXhwZWN0ZWRIZWln
aHQgPSBpbm5lckhlaWdodDsKKyAgICAKKyAgICBzd2l0Y2ggKGVsdC5jbGFzc05hbWUuc3BsaXQo
Ii0iKVsxXSkgeworICAgIGNhc2UgImFsbCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGggKz0gMiAq
IHBhZGRpbmc7CisgICAgICAgIGV4cGVjdGVkSGVpZ2h0ICs9IDIgKiBwYWRkaW5nOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlICJ0b3AiOgorICAgIGNhc2UgImJvdHRvbSI6CisgICAgICAgIGV4
cGVjdGVkSGVpZ2h0ICs9IHBhZGRpbmc7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgImxlZnQi
OgorICAgIGNhc2UgInJpZ2h0IjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSBwYWRkaW5nOwor
ICAgICAgICBicmVhazsKKyAgICB9CisgICAgCisgICAgdmFyIGVycm9yID0gW107CisgICAgaWYg
KHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAgICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRv
dGFsIHdpZHRoIG9mICIgKyBleHBlY3RlZFdpZHRoICsgIiwgYnV0IHdhcyAiICsgd2lkdGgpOwor
ICAgIGlmIChoZWlnaHQgIT0gZXhwZWN0ZWRIZWlnaHQpCisgICAgICAgIGVycm9yLnB1c2goImV4
cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAiICsgZXhwZWN0ZWRIZWlnaHQgKyAiLCBidXQgd2FzICIg
KyBoZWlnaHQpOworCisgICAgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHRzIik7CisgICAgaWYgKGVycm9yID09ICIiKSB7CisgICAgICAgIGVsdC5zdHlsZS5iYWNrZ3Jv
dW5kQ29sb3IgPSAiZ3JlZW4iOworICAgICAgICBlbHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgZWx0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJyZWQi
OworICAgICAgICBlbHQuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwg
Iik7CisgICAgfQorfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjI4MmE4NmNmYjJlZmE5NmJjNDE1ODU3Y2E4YzY2NDlkZjgyMzliMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACitUZXN0IGNhbGxpbmcgZ2V0UHJvcGVydHlWYWx1
ZSBvbiBjb21wdXRlZCBzdHlsZXMgZm9yIC13ZWJraXQtYm9yZGVyLWltYWdlIHByb3BlcnR5Lgor
Cistd2Via2l0LWJveC1yZWZsZWN0OiBub25lOworICAtd2Via2l0LWJveC1yZWZsZWN0CisgICAg
Z2V0UHJvcGVydHlWYWx1ZTogICAgbm9uZQorICAgIGdldFByb3BlcnR5Q1NTVmFsdWU6IFtvYmpl
Y3QgQ1NTUHJpbWl0aXZlVmFsdWVdCisKKy13ZWJraXQtYm94LXJlZmxlY3Q6IGJlbG93OworICAt
d2Via2l0LWJveC1yZWZsZWN0CisgICAgZ2V0UHJvcGVydHlWYWx1ZTogICAgYmVsb3cgMHB4IG5v
bmUKKyAgICBnZXRQcm9wZXJ0eUNTU1ZhbHVlOiBbb2JqZWN0IENTU1ZhbHVlXQorCistd2Via2l0
LWJveC1yZWZsZWN0OiByaWdodCA1MCU7CisgIC13ZWJraXQtYm94LXJlZmxlY3QKKyAgICBnZXRQ
cm9wZXJ0eVZhbHVlOiAgICByaWdodCAwcHggbm9uZQorICAgIGdldFByb3BlcnR5Q1NTVmFsdWU6
IFtvYmplY3QgQ1NTVmFsdWVdCisKKy13ZWJraXQtYm94LXJlZmxlY3Q6IGJlbG93IDVweCAtd2Vi
a2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDApIDI1IDI1IDI1IDI1IHN0cmV0Y2ggc3RyZXRj
aDsKKyAgLXdlYmtpdC1ib3gtcmVmbGVjdAorICAgIGdldFByb3BlcnR5VmFsdWU6ICAgIGJlbG93
IDBweCAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDApIDI1IGZpbGwgLyBhdXRvIC8g
MHB4IHN0cmV0Y2gKKyAgICBnZXRQcm9wZXJ0eUNTU1ZhbHVlOiBbb2JqZWN0IENTU1ZhbHVlXQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1z
dHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5
bGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iZTE1ZDdhMWM3NDY3M2IyNDViN2NmODE1YzNmMzA1MmZlN2I3
YzExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3JlZmxlY3Rpb24t
Y29tcHV0ZWQtc3R5bGUuaHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBkaXYgeyB3aWR0aDogMDsgaGVpZ2h0
OiAwIH0KKyAgICAgICAgI3JlZmxlY3Rpb25Ob25lIHsgLXdlYmtpdC1ib3gtcmVmbGVjdDogbm9u
ZSB9CisgICAgICAgICNyZWZsZWN0aW9uRGlyZWN0aW9uIHsgLXdlYmtpdC1ib3gtcmVmbGVjdDog
YmVsb3cgfQorICAgICAgICAjcmVmbGVjdGlvbk9mZnNldCB7IC13ZWJraXQtYm94LXJlZmxlY3Q6
IHJpZ2h0IC13ZWJraXQtY2FsYyg1MCUpIH0KKyAgICAgICAgI3JlZmxlY3Rpb25NYXNrIHsgLXdl
YmtpdC1ib3gtcmVmbGVjdDogYmVsb3cgLXdlYmtpdC1jYWxjKDVweCkgLXdlYmtpdC1ncmFkaWVu
dChsaW5lYXIsIDAgMCwgMCAwKSAyNSAyNSAyNSAyNSBzdHJldGNoIHN0cmV0Y2g7IH0KKyAgICA8
L3N0eWxlPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAgICAgZnVu
Y3Rpb24gbG9nKG1zZykKKyAgICAgICAgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtc2cg
KyAnXG4nKSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBzdWJUZXN0KG9iLCBwcm9w
KQorICAgICAgICB7CisgICAgICAgICAgICBsb2coJyAgJyArIHByb3ApOworICAgICAgICAgICAg
bG9nKCcgICAgZ2V0UHJvcGVydHlWYWx1ZTogICAgJyArIGRvY3VtZW50LmRlZmF1bHRWaWV3Lmdl
dENvbXB1dGVkU3R5bGUob2IsIG51bGwpLmdldFByb3BlcnR5VmFsdWUocHJvcCkpOworICAgICAg
ICAgICAgbG9nKCcgICAgZ2V0UHJvcGVydHlDU1NWYWx1ZTogJyArIGRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUob2IsIG51bGwpLmdldFByb3BlcnR5Q1NTVmFsdWUocHJvcCkp
OworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdChpZCwgdmFsKQorICAgICAgICB7
CisgICAgICAgICAgICBsb2coJy13ZWJraXQtYm94LXJlZmxlY3Q6ICcgKyB2YWwgKyAnOycpOwor
ICAgICAgICAgICAgdmFyIG9iID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOworICAgICAg
ICAgICAgc3ViVGVzdChvYiwgJy13ZWJraXQtYm94LXJlZmxlY3QnKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0KCdyZWZsZWN0aW9uTm9uZScs
ICdub25lJyk7CisgICAgICAgICAgICBsb2coJycpOworICAgICAgICAgICAgdGVzdCgncmVmbGVj
dGlvbkRpcmVjdGlvbicsICdiZWxvdycpOworICAgICAgICAgICAgbG9nKCcnKTsKKyAgICAgICAg
ICAgIHRlc3QoJ3JlZmxlY3Rpb25PZmZzZXQnLCAncmlnaHQgNTAlJyk7CisgICAgICAgICAgICBs
b2coJycpOworICAgICAgICAgICAgdGVzdCgncmVmbGVjdGlvbk1hc2snLCAnYmVsb3cgNXB4IC13
ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMCkgMjUgMjUgMjUgMjUgc3RyZXRjaCBzdHJl
dGNoJyk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdHMoKTsiPgorICAgIDxwPlRlc3QgY2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVlIG9uIGNv
bXB1dGVkIHN0eWxlcyBmb3IgLXdlYmtpdC1ib3JkZXItaW1hZ2UgcHJvcGVydHkuPC9wPgorICAg
IDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorCisgICAgPGRpdiBpZD0icmVmbGVjdGlvbk5vbmUi
PjwvZGl2PgorICAgIDxkaXYgaWQ9InJlZmxlY3Rpb25EaXJlY3Rpb24iPjwvZGl2PgorICAgIDxk
aXYgaWQ9InJlZmxlY3Rpb25PZmZzZXQiPjwvZGl2PgorICAgIDxkaXYgaWQ9InJlZmxlY3Rpb25N
YXNrIj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL3Jlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvcmVzb3VyY2VzL2FscGhhLWdyYWRpZW50LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMWU1MmY4M2Mx
NWZmMmI5MWY1ZmFkOWYzNmE4Y2M2YjA1NjE4OGNiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA4
ODMKemNtWkEwVH1WQDU3emdtej9ZSXU9OyNeZElwbH44OHFXUyQ8WGBDYW9UOW5vN1YhPmR9X0pO
aG9aMWx5YjlnIT55CnolcjUkcmlWQ2BAQ0tnbnB0d1dHNEcrYnA8cVlGYlIxSWcmMzM/K0wwYkFm
Y1Jvd01LamY4WD1HJndGLWVYWFIjbgp6TFJ0YzJPbUVzXkd9QVNONTNpJXxgPEIycHheUWxKeVVi
VypXTjMjYWtBQTBtRD1na0JrSVE/Ky1zb2hxISZCb0YKek8/N3MrKTlrYzZqdmFqRUVNLWdeWiEq
ZmVrQTllbilWQXVZKF8yMHJPNmpYVkZ1SiF7Q351eSZvZmdWTj1nVmU7CnpTSTIkK1pkKnhxY2k/
elg/Zm12PHVwdVlxdFdORGNIRDJ1MjNILUp0QXkyLXY9dHFCMlNlWXgoXjR6TH5pSSZ0Rwp6K1Ra
b01OaHg/YVp2REFWbXcpakBZcE52WD49TGlQVypNUT8kaUpieUZHdVNZciRITSk1dSlCKXFFNjZT
Jnw0NXYKemdQP3JTNUskPm9aSi1zUEZiSnQlcGZhTXlWV04qbkpxQmZoLWhxJUIxe0gkZDZJcWVF
MndEazNUfj8mTmZZeU9mCnpTNFhhUHpfVn1lXjhqSGVYe15iZ3NMQTQ9aHpvOSpDZUNKUGtrJENP
V1g+dXkkZFdrTDhsU35TNkFPa29QMCZKPAp6PU92Y21JYlJwZSElJUYmbT8kaE5sQTRAbzYkRX4h
TXd5PlVWYTE9bEVjWDA9WW9RPWZgMklwT1VxR31IUDd8SDwKelUjO3JOeHs/IWp1KSNJaEFpQ1V2
Si0tQ3lnMyNyM2JmeUtnOUUye1hCUSo9IU5ifj8qbzxnYnpsdHEtY3BOez9UCno2Kn4zfEkoQTE3
eSRQYyhxRFA9aSZfakBlczBnRzdKdGYtWENXP1J4TDRDQ0h5Jl91cUU7X3l5NHxgNXpDP0BJJAp6
bmUrV3BeLWJ4KkM3TXgtO1NtaHkoUXVXRURYTEwxNndyTWxxVHdWX24zPEl9LUQrUGRRRyoxWT1R
dWg1TVNWOGUKYSM8WisxP2VAPkY/T2g3fVluWjhgKGlrWU9adSQjbmdnSWRWCgpsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVzb3VyY2Vz
L2RpYW1vbmQucG5nIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNlcy9kaWFtb25kLnBu
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41MTExMmVmYzdjYWI1YjIwYTg2YmFlOWU0YzJhZWJkNjhhNTIzMGIwCkdJ
VCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxODgKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF5BVH0y
Vjg8NlpaST0+ZjRGJX0yOEoyOSp+Qy1WfT5WTjNGTWNWUUBJCno9d1VjX2BIK3E9UD12RjxCZUl4
KmZtO31hODV3NUhrcEsjXm13NVdSdmZwQUE9Q2x5Y1RrcyRuQ31pWDU7dXM9dgp6ZEZsajVKX1pH
ekxrSXI8bS1KVlltTzNpOHkpQmlZT0BWWExgSWtaUWxWKD9WdHUpRkhuKS04KzdfO0tmbStSOWYK
ZVJaUzRIVzkpdlNAVmtEXnFGWD83Nyg4QTVULUdAeUd5d3BpS3tzdnkKCmxpdGVyYWwgMApIY21W
P2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJjZXMvbWFz
ay5wbmcgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVzb3VyY2VzL21hc2sucG5nCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI3OTU3ZTEzNDM5MDZhNzM3NzQwN2E3OTgxMjgyYTE4NGY4YTAwNTQKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDg4OTMKemNtVjt1QjB9QVhQKTxoOzNLfExrMDAwZTFOSkxUcTAwNS1gMDA1
JjExXkBzNj52Rz01MDAwazVYK3VMJE5rYzsqCnpQO3pmKFg+NFR4MEM9MzBTOXZ0bS1QaG1XZCNg
KHEqRX48eDVEX0pyI3wmMzgmbSFUdj1EQjsjQUBRV2xMb34+Ywp6c2dOUW1pMyYrbCN4ekt4bDJw
aE9uWmtZbHBxX1dWJi0kKDNkaU5oXmVhYDNYZWZIPDxiSmpYKjFGI0VgTFBHO2wKejAxeS0kTXpK
fWRQZE1ie091KVNjRyV4YHQ1UCpxOXJpU1dTUygoOXF3NTZBVDAwMkNmQ3h3T3Y4az0rcGUrYTxr
CnpFRX5DUyUlMn1OX3xJX3cwRHp8KWEmaVZoPE4kIW5YQUFFSzA0fFIkWXpGe2JrenRgPjBFak9E
YUZLbVVvJlpRSgp6MExXNDdZenpSOURnZU95WX5lY3FmY016Sy0yaX0oQXAzKj9BZz0raTlLb0pg
ITJxfSEwSVpJdTduS1p2bWplSiMKelBieFZHMEd8emooZ19MKkBkUktTMER6dDNQKVptOCtYP19r
OSYmT2ZZKU4qSDF5RS1PcGxraHkzIXduaXk4I0hMCnp7S0g5MjFNdClWKVF8dGVFIVk0ODAwPlYl
KXE5XkowMDFEJmBUJXRBWHRWXz4wOS1EPk1oPWJrdEJnazVDPGoybAp6MSF4Ti1oZl5aOT54Q2Vf
MFJMXmliPj9rREJMRkE+NUNLMVVnU2E4PHJ+JmpTOVJkNUN7eUNFdDk+WjNgRGFzd3AKelRncVB8
NyQ+WU5HQ2BuPChJakZlZUBUVClQcyFOSmNGNClkWFlYRUJAWXdyJnBSclFBaW1HYXsrSj1VTT00
R3ZVCno5Y0E1IXtZYHBuMkhKKjYjNz82WFdBVEhnQ2pPPTslP2kheUVqbGVudG1iVylZLVF8aD58
LTVqOVk+dVFvc3x6ZQp6eGxvVEp4U24pTmFIbz1USnpCfSV5bzl+JmRgfG16X15rISgzR0BpYzNh
JHdgNlk2dStrZ3wmXjVYSyhQOT5FKGEKejhucldlUG1JenJ0eXFKJjFNeD0zXiVLLWkkUi1MVkYo
PEE2SEZ4cXVeMjx8Q1BCKjdxUFImaz5QQTZyVVd+eWNGCnolb2ZhSCVjYVgqSlRzb3hvbkwhND5z
LSl6KCtqJV9tPCM0RnpBQyg1UjlxWlVWdFBzQihwK2d2UyNyNWVnPW9jRwp6VyF2VDREYDhjS3RC
RXl4dUx7QFZZVWkjRVVjWHV3VFRpXmZkRTxNLStuYXJqP1lIalV1NH01aVFfITR0X2dJVCgKenRM
e0N6ZChIUSQ1MG9DUHc+QG55Pz9geSktbF9MVXliSW0rQG9gc29gSUZjbD4hJVY9ZT5gakxQNDJW
az1qbmVwCnpQJnchYEJ0NylgZEhKeUczeE85ZVVnb3tCZChIY0xZXjN9UmN+b3JsLVBgO3peTExu
Y0UjcU1tM0tRU29IKy1PZQp6UlEmalReNzFGPURkd3JXcE05ciFyYVFsY2YwaDBeX057UW5aV2NY
VEZ0PWxfXmdHfTg8bk9FVmdAMWVlQVRCVTMKeldHJThVcnZHSThuWkcydl5tNGcrPEApTzh4O3U+
cTBLOHhZUn1nLXI3VWhSXyFvPF4hOyErc21uQ3s+TypAYCZACnp4cjJDOWBIdUA0MiN0dG5pc2xl
TGlmYygra1gpQj9sNVVsZWxGaXQpQW4mfXBVMTcpR3paNTV3YmQrO2NLQl82SAp6TWBeVFpFXjVv
XjlNKDxTLT16MT4wQW9sWD9sKkVjO0JPcHJGeGUhX150QFMjZDQpeGxXd3E1Kz5qcy1nd3F0ZmIK
ejlJJWRqaGp1I2NiSmpWMHp7VD4yZ1I4Mz4qKiV5UDtjPGVUP09FYmc9bCMmOSYtYnhrcWtsPDJO
Pz0lIU4zZDBoCnpQTkA3KjVlZ2Q+TzxmTH4zIWpQQGs5LXNMSXtIPTJAVWg8NW1ianckbkImZH4r
OXhDdW5HelMxI3tZVkR2Tl5mKAp6Uk16UjM2cldWZkd9VXlXYlh2d2xXP05RcWM0fCY9dUVRRDRK
a2ZsfUEzdUJWLTErbElGQmxoeTZmOWhQUkc0NG4KelU5NFAhRChTeWVRaEt6XnpGZk92TTx1Pjs+
R0lmPmhnRFY4PXsyRU8/UH1HbzMwXztqezt1dnBlYzZxfjJHNShzCnpNdjJDP1RUZ0ZhWGJRWmUr
c3hWZzwhKmFSUUVTWFNyfjRXWU1CMzE4VSlwOys/bVI1K0pwRzg7PEB7S15vMztEbgp6bGN0X0NQ
ZVkhV19zYUZMXnYoNFQ0QWMhfjRFYTNROFJpKENke09yQEB8RVZSXzE3SUUqV01KMm9fYyQ5JTwt
TSgKenhXTUAwTUYwRXA1N2R2a2xNSXRYcFV6Rz5lSFF2V0hlS3xePCpWNCYjY3hrJGElVWFxMW08
M1MmenJhVzh+MW5UCnpqfXJAZWk8cmZzcEVYTmElZ0hQR3Q1MUdlWXl7RDAwRHVQdEFqMV97TWFh
bG8pSmUxfUNXPndsbSUkTG9xYF5GZwp6UGkxM2E1OURhISt+QWhzRzI7IzNKSTA/VmtTdiVYYlhL
QGI8ZUYkUjtpMUA1QHFVUngkKHxqcFFaPkB+SjdaLT8KenZjejRvYV9uLXk8VWo4by1nOTR9V04p
O2heKi1AXmI0cEZoJDVvNn1uTil8Pk80TmZqaD8tKHJENkxRMC04d2I4CnpyfW4kK0RkO1doLSFW
OTVYaFQjcjU7O0pCVjhNOSY7NF9tdXJrQmk7JjMhQmtFeHVUMFNuYWNWWisrSXIlOWhKXgp6KVVM
dWwqZ0A0MTlHQEwzYVBvRm1hOSVvbSpYN3N8P0lXQTY/UVNSQyV9QVcyNXN4Q1d0RVo2WGh9VChm
OHlebXoKelZjJkNwTkJqeD87e2s8JWp6TyRKVUJVNG9zdiRvQD55STkjczhDakB4NUdsaUNCdDd1
QnU2U25qenlpMFIqTD0qCnpsWTVMOWk7ZUEleUJQMChUcitfd1ZkTy00cUlaJjUoeVBCeFBDNndr
b01KZ09iR2szKE1ydk1LUkp2bl5hd2NvJAp6PiNVNHkkP1NWTXVEUTZ9I3h3cVRsNm1qKkZQKEtl
Q3dneDNlQy04bGZvajMoI3BjNHVCSVRtUjs+TUVqT1hgPDQKek9DT2JgbTBNVHZSRSQ9WlVpUTE5
UWlaTDBRezdPTGREWHd4QFM0Y0E8P0dNdT5nJSZfTF5YS2NiWm9TfFdxZXp3CnpZNDA2RUdoXzRv
LVFrd290JWRnej8peUJqWTEzPDA+cmleQSlUIzFGeS1WWTxURFJnOHNVRUpMd1dreGtAX3AzPAp6
I3pYakZtWTN1YXAwfmFlciQyU2dkfHI7RChFenNvSl4lbyQzYyRIOTBFZXZyPkBFVWlJc2l5bDBD
MmtsU2dgPXUKenNSUFBvQyFvWCowNzRZYF5NNDN7OHJYbXo5RVRoemhlcWd4PWtOak1WSDA2UzFR
OXR6MyRafWxrdWM7bVFqOWJyCnomeVhuOzNNR290TEFqdzRRQnxtWilDeVcwWkhiT1dVcXoyJVNU
SzUrMnV2K3psMV94cWk3dDxCNVgqYCskRUlPPgp6YTExeVRUc20lJG99WnBmVXFgPm1WOThMPHUq
enU3YyRKQmNpTnRpRFMmJXR+ZDVwen5yMiRYQ3BKOFFTTz1QOTkKeiNqJE8kJDghTTMyfklUVTJg
Kz55Zmc4OUpkRlhpM2RISHkmYFNrZmRAVFVyQjMlbjVZNkk+VXs2YyFWe0RQay0jCnpEakdfXzVs
WTNoI20yLUZCckdKPWJfbmNQbHpKP2t6dGRHbE5AaDtCWTFjX1Bkd0VJdXJRTi1Jc3VqfXFoQURk
Tgp6dnNFJXUpPlBUOER5YiVAJlppLXVEWHR+MnQqTFdSKktXVjdve3hVOEw3WlZlQHJLYiRWPnIw
aSNMTSkmUyYjWGUKenJIcXhBYik3QlBJb3IyN04qJjV9VDA4OVMoJmZ0Uz1JVU5hbmp4IXJwN0kq
Xkc0PHtDY0xeOHtrXyhPeDg4fDlMCnozOHVEJV5GKU0yektrWnVqSygme3J6SD9pJXExbkM8Vmh8
JnQmcX18V3wjZ2NHYnd2bCZpSSo8e0o/V003cXw9Tgp6MztUPVBGRXkzNVI2TS1nVW99K295dGUw
aFhaPikpPkBENlZnWFZ+cU9aVkN6akleKEdOX1k4b3c/MzhWUDQ4YkQKemF2USQ7YSVzZnZ0O1Ry
VSRKPGw+KF5nK1NXfW9+YFMtaUZFdlAlOE16RTBZWi0mb205ckQxN0ZHI1VWaWdGWU9BCnoyKmBr
UFhvNE9YZ0U8NWNjMD9SZUxXcWJYOylsY3tTeDUhYWowXy1PUC12N1dOKm0+aE48PndvVVpKc1FI
Rk47Rgp6NyhJbCtWWUR6fG18RCFJP1ZCSU12U0JUOysxTWMqNTYlVHdqezhRaExaM3VHJFJOZkwm
ZHxkcyZLUz0pJUIwMHEKeiUjMzM4WEM3d1ImKGVVR3ohJEpgdlN6Y2Z2RXtKfnUkT1Z7PTRqekc9
YllkUT1mLWVuXk44fT87M2V7b0BgZHdyCnpAOzM8QjMjPHYyM0xPO3NET0A2QUYwditpZzx2bTZD
dzVidUVGbXVPTCRZZn11fmVrQTx4VXdIdGp0SCp3cH1IMQp6QCQjO193ZkJoWnAoJXstZVZ8eWpA
M2QwMWE9YzJxPk4mTUNePWdmcW55cCQ3d1I/NW09emlQM3BeckNeSDYjKiEKempqfDg0OGg8eG9H
dTFacEYrWHE3WXNGfU4mP2QpciV3RUFFKj5UZHoqIWpBUHo+eTVzNFI9NCVFaSM+X28hMXJiCnpi
emNYKyNzS2NYJGVeKGghX1hUUFFFRTsmSXdCQD1KfnwqfkF2UDtzQHAje2Z6JEF2aCU5R1ZrSnhn
Ji1vbFRGKQp6I0FSS2A1ekI0Tik2ZWZhPVgqaThWNjNwRCohbUooWDtabT5yTkhJaHNebDdDRSEo
eHB4e2V6U0g/UTQjKEEzcFQKelhfMENqeTxnTnU/b2pSSWYzKjJ7QHlZNWxyYXM5NWk9a3R+XilG
e2Y8VkgyZGh+cDlPOHokK2RUJjVwPWxibnRKCnpLSil7IyRoKlkySmgmUk5Ib25mWWYhIUZ9RVRV
UF5YYUp4Tkw2OFRIRmFUYz5Lekk7MiF+ayhZQjlTeDU0UColVQp6aTRzQj9we1NeRylOMz53KzYw
fH4/IXxDcFRydCZ7cEw3T3ZYWHJqKkhMJHRaUykzYFpvfVFvbjYjWGhnMipWZGYKekZVQWl7P284
diU/IyFRQXFWUlpwRXZxJV8ySFExdTUoaFUmNGAoISY2eFNla0pkWnJqMml7Xm5GTWYzYUElVnw9
CnpTQT18b3JHPStPdThNe2IpV3ZYT1peaUZPZUJRdz1yNmdePChefT9gdG1gZyt4aFZPPi04cC0l
RDBKPGUtTiZheQp6UkhtdkZ0TTttY2hLXj5FUi1jWnJ1SjhUXnkpXkA0IV49akQyT15FOU9gSl8x
bj00cjRTc35WbXd5YnRGNHpgQy0KelA3UX0ka0R5JT4tUFRDSzlgOEw1ZCVnOWNgaWM1fjNKZUlF
MihiPm1QbSFZKmdmbTdZTUlxN1kkR3FiemtHR3c7CnpwSHkpJj92ITxrYm4wNkFnVXF5U1FtJFR9
PnsqYGthTitDNHstWE1se0w7QWN6KUdocGBxaE0qPD1XMmM+R2dJRQp6a35mIWNidks9QkNiYkIr
NCYwQSE2S2R+eDgyVSk2WXI0QyFDLXM/VXBUKz4hO09GUEpVcXJ2IV5McFk8KT8zWjcKekZYSldl
NH1YLUxUJUd6YkpedDA7VGtLNWZaMVlebF9YcVA7ZjJhTWhVKktFbFRhNVRBYG09NkhlV2BQS3w4
bWBtCno9dH0wdyFtN3o/KzNNPD0pbXB7YzxTKXJ6VWNWfVRPfDQ2PGQjfnJMLSY+I0Y7TX55TkBa
WlNhWHkySUc8bDhqZgp6SmlkOCpiQX4yQ2JFZjZjeEBrMGt0JHFtcjAybUVJMHopVlNHWHVsXygl
aylqRWhzU2pjTWM4IVU9SEBNdS13TWUKenA8en5iMEtmd1BZdCNyXkFeQC1mQVoqQCNNaENZcyFJ
TlpZM0lJWD9oKGU2N2ZkdjNDMTBaSko2ZUY5aGVVTC1gCnpCb2l3RHp5bCF1VWN2VVorazh9THBx
MUcrUDdNdnl3KmRlPzBIbn4xTzhvODk3fl5aX3hFPFI/M0FlRWEwNyhGMwp6STNVRS1XO0ByNHI8
ZFdqSFdWZn0oODZwPkdtNlZFPzRUVjBafj5yWCEzYW58MFV6KUpjYHlTNUZ4KHlxS21yMDcKektu
UEk0MyNlY09sUnlFVktWQStuMl44QEFLVC0xRjRKNHBJMWI2YHowJD5VIzVhaX5VTkNDcE8jfWdt
fTF4T0o1CnpuXkN4YEBJXygkJiQ8REdLcD0jYEtNfCg/VnR5PDkkSlktJEE+PEVGez57N2pCfnBT
S3lkJXpzTH5BKHNWeCV5Tgp6Ny1mdDtNak5BcFEzbkVzMk98TFQ3JHVBdk1ofk5sKFpuY1kpY2E8
ZFg4ej5hcypUNT1HbnpzbWN0SlEmenpjJV4KelJXSWBZUVVoRFBJeypOZDRXS1h5MEhBeyV8RjNy
ejxgb3FOMEFMVWo4Y3AlQEBlTCNCZ0B5KXQkcV4wKWxYdUd6Cno2Y3JUSTtDfSR+cmdJY1hhaWl6
fTAyM2BxTF90KHxvYjg9cW16JXJ9Z3E3Xn17cnx0V2NRPzVvVDZZeWlCYUk5TQp6THA8a2phS0pJ
ZmVpKyMlP090U0RVR31jUDh8YzF3MXc0KD1AZ3ZrPj5RVEdHeCg1Jnchc0Y/c2tpSDYjSExmI1oK
elVhbUZaKzhvZldKR3hyXzFhQ2k4VmNRSk90c3IyX1R8M2BZRSo3Uz5eVSskbnZ6aFh1SldJYm48
JTxDKSVDcSRRCnpDOVQhTFN2bHhAXipEMl9zYn0+N1MzUzwyUHFwO34jNS1xP0Y/cEQ0T350QX1X
eyl2PiptSjN0Ym4rNHlHY1h4Jgp6blJELXwzTlYkPUZNK2VTTG8xTFY3Xn5eKGI+QzZGRmZLX351
YlpsO0JpWWRFIUx7VUFib35rQmtFLUdMelFWRVMKeitSPEBXWXBvK0BQUz9BUyhvdWI/ZDUpJUAq
Pkw4MXo1Nkh+KWQjQjVWUVQ9e2QoMH5AdDU+RVl6fWg9dUt0TGlHCnpKPmJ9NS1aZEEyYE4/RG8j
SlhhWFg3WnRIKikqISNTO2NnST04OTRKRWBRcHc5b0sxbEp0aU5lQzJ2JEp1ODJOSQp6PWUlO2Zl
TkBORmA2SDtoTWlfLSY0P3oxbElfSCZSPnJrRG9pJTk+TnRPdi1SNFY4IUx6fHtSTHM8PFRNaCZg
S0UKejk7eVJWY008NmUtd2Nvem9+dnsyTFklOE9yJWtpPkZ1Sz88U1BqJEJjMXpCUUpjbm88IVdW
X3w0OWNrVUc5V1ZtCnpuUkVxQ3chVE4jUWlzZVN5dll3cF9QRUhPez9YO3lJKFQ0T2dgaEBJTXEj
QEdxejliZGQmZVJ0Nig/PSR5RVRCLQp6XjFCRTkjajt0NHZgJTxhYHxJQypnWSlLOyhFdnNEdjAh
PS1MTkZgZ0l+dW9US3cxZDEmeTBKRGxne2VPK3xOajIKelY2SGwoYi0lWFBLKD07bUs7MllYSSR4
I1ViUW5pYXZTRkpBbEhDeGY5LVFLJnl9Qk8oek4mMkpHN2NIUj16WjMxCnoqKXxRUU5ET0FuUn1T
Tj5RISpXMDByRGdIaktEPFdPPnk+N1U1X3BuTikpMElmSHg4TzdRY1A5bnA/SXNzK1diMQp6YT85
JU0rbEkpQkx3PUJabj9ETmM1dFB3ejw3bW56SHlNLWAjRnFZK1hDU1pZY21xYEF4IXN6Sj5RSFg7
YmpgcCQKekQzUX4hVkxKb3pnWlMoQFh5JXc9KCUhdjlfY0B9WGo8alAqMjFwSSZ4Qk98fW1leFJD
JXN4X3NRdnxuWkgwZ04pCnpjSWopelIlaXNLMmNYP1BvcVNQUFhVM1EhZWpePExNa309Wmc3KTRS
KGhKa3Q5WTVxYmJaMD1gPCs9UyllUTh6Swp6RFdtYVJIaW9uUz5oITFodXZXbS1ee3tuNkI4Vyly
WSYja3xZOVJIN0FgejtDdThVc1pqSl9pKHBEUFB4YnNXYUgKenF6QnxAa1ZiQUFPQFE4RShvPno+
Y3UqbzN6ZVZJcmFDPTV8KHImNTBRJnw+eklOck5YPkE3VSZtS0lGM1N4NigtCnpMe0tzbG8rSDdA
aFZCZVgxbXVfZTBRbl50JG1tKVlPem9FQyR4aEUzb29LQDJ0dkF9U3FLNUY3PGRGNyZEYjdCLQp6
d143dnRXZCtGQW1LbCgzYCo1ITNmaHBweyojc2VGb0hGWHZFUFB3MSlOYzMtPnw1RiFiOSFVVVk7
MmpgIV5ueiYKelktdjU3TTNXbTA8KEp4e3d6U3U/K2ZgaXlHMnFSIzFzcj1neyVIOyhwQH5FX1k8
b2BHd29qQUo5TWZ5ZUdyRERVCnpFYV4+ZHZeIyN2NTBLZ15KKG9tfFh5SWhUSTJGUXxqNDVAeDsq
QHMjPCFzaEQ4TWxtPGhuTlIkR19md0opN2oqdgp6eHVrdSN5fDVkPnVHYCpvJU8oeHM7eFElVEZ2
djl7eDNxOXRoeTJldWhHeW4jeGFFLSlFZHtZSWBKd2k8P0Y1dkcKelVQb3FORzlsYXJ3ZjhrK0c/
dUtvcjNKRjMoTF5YNFRTajFkX2NGM2o9eCpyQE82IXN+V005RUdCaUJYYWRIWkgzCnowfjR3OyhM
bylITGJwelBaKkBAVXshZH5zcW5TN1o8cT1AQ1ZxRyR0YWVHbEZuJCl5JStJT19tK1d3Nn5jJDBO
dwp6czBMLSRRRF9XbEtZTVRAQVUoKFlQbzc9VlBKVmhxeE9iMDdmVWBRdUw3fV8zV0NXeCotX2BI
UDV0eHc/WHQhaV4KejVzfntFfEhRVTMoTHU5dUomcl9ScURqeFlqNFBNU3hePncwb1hpVztwSnVQ
WVdRUj5udEF9cX1JNyhOPm1EeGhOCnpIX2sqJE0wLUtXbVBMMDRTcT0tT2VXIzdxQkJTcHl6ZHUw
Qk5qKip9QkRGVTwpfE9HKWdFM21XV1J7NTc1TjtkRQp6KSpJZDEkVUBgRXd2USR5N0RAfGFeY15x
Y0dlQWFUJTZzdG5wUDFpTUI0dU1yM259YGMxeklZS3BoVUI5MW0jaEkKeloxUH1pZGs7IUlfUzNI
cVpKQnBAOTZ4Rmh5KTZwWUNefV8mZnxDdjNrISFZbkhtPGJDR1JIKTNlWXt6Q0M0QCkhCnpISllN
e1A4N1ApV0pIJmZ6M285IXNBc3M7ekB0S1cxfD1GTipnVz1wMkJ9QHZ2MmFHQWVkJVAhcmJrIXJx
UFlpVAp6NnRYUmg/M2dgXkx8KWpvX3d9Rzl2dWB3Pmo5eyQ1aVFibi0+eV48c05BSy1Aakh0P1Rr
UWNyWWtVQ18wO2hBd3MKekNVa2VWPihWNzVFeWdqayQmWEhaS3poSmRYVyg5YU1ePXdoZGZ7NTxZ
d2MlZSpsMUcyRWQ4dzNwMW58X2tlKWVhCnoyQj53dVhsO3tTTD5GZ3w/cXd1Wm96ZXFFT2tWd2wj
JXUyZyN2WF80WVRNcGwzMzxvUipvX1Y0NXR6KkU5Zmp8QQp6NypuP1UpfWRRV1VOMi12Sy14YWI5
MTxDb0sxUXVxX0JiV3VJPylzNUokWEBCTS05aDE8Jm5jVEpOdiVLQUx6NmAKensrX2RLVyo1XkRr
ZU0/XlpMM3ZvPU91NCtecyVhQWRUP2VBaXBITjdUM3gyQy0+UXdiZmcmZmRLKDtnci1GTnVgCnop
QmU7OU1KeHV3WGg/Kkg1NDF+KXRVSi1NbTF1aSElOzVvdmolODFFX0xTVERwdF9ER2MxJnNXdyk5
bj1vemlRZwp6c08+V2xIKSpASVhXeC15dlk8dXtoOGhyIWc+MWMwQmFRfVUzKDU5YSt1TWFgM3VT
fGB4b0ZnT3owU3h1V1MyZXsKejdNM3xyMXc8eXFxY0QmMUF8T1lEKDhgQTRjMSoqbDlaYHF5dDJ+
MHFPaj1OVE1nMz48cCEhI0pTen0zdmBFMVcrCnpIPWFTfTluVHRAc24tYXlWZiYodlUhM3pUJnNG
OD0tNlRqZXMmRHxjKXRGS1hJVFkpaCo/QTNRMWc1PHtzXml7NQp6O0NjQ09EbE5pK0RUVlg7U35r
NXxUZG8wUjF2O0NAbyloc0smVkcpN0pBK2QpYjx6MVckUTIrWk5RKms9PEA1NG4KeiQwI2oqX3Iy
dTE1dTZkK1VMN2h4anNoUSZTM2UhUDVkZjczKXdAPF43SGYhIzA9Kys3VFBzZz08R2xgd0B9VFJG
CnpFSHVmdm1ePX0xNXlhbTQkU290Uyl8U15pJVMoaHs1P1M3V2sheV51byhHRSEhQ3NrRl8lPjw3
dHJ5UjIrV1RCQgp6Nkc0QF5GMXElcGFDLWxBSyEtbVkzUT5FbyExYzVwUSpLI1hJMy1qMHdjKkcq
Qis0X1luREpsbGMkdk5UVTR9Y2EKejNnMTA5KCtkc0xrUiF2Rz1+Wj4jdCZMdT5QS2lfcjJXdkxh
OGY4Xz5wbnJAMnRgJlhYSkhNb0RjYUk9QExkan4yCnpAaE5reUo8NDRJdVhpbWt0UGRZME13eHYj
RWVZNHJjUG59SlJQU1ZDPkdlanFfa1k/TyUxVUV3YEx2SkpEST9Xbwp6N3dyd0QkaUN5bi1OI1Fy
JTxAZ295ez9nR2JCekd5KVlPQkgyO35xQF44cXlFYyMrVyZwYDFGb0NYYGRkWDtkZj0KejdqbVo3
KTJMOWNwPzNyT0gxflVFRDVubXAzRlh2cW5vdiMrcndRZV84aE1Qa1kyRDVXPDtXZDZtRlRRY0dN
ZUJICnpzJnxIUllFVnJtci1zdm5hJXduREQ1citnZ21QKilPKD5eXih9WiRySUs0QkpZeTVOOHNT
V2hiUCktZjF2cUVfVwp6N2Qqb35ibV4+NlBIbjRBQUQ5V3spTnE8bVA3UzlzTC19ckZ2ZVZxfXM4
RjchZnY0Jms3MFJoTSlgVzZ1STg3KzAKemhTTCREb2EwU1MtZTAmcWdwTFNocS1xQm91RVlON3NQ
KDJhMCtlaDZaYEJiYWJ9Jjw/KD57UUVMJUMpezlqNEktCnopKH55REg8VlVleG4/JUx4KERaOERP
OFdHIyltX1dKQ0U9dU9ZUmB1S0pWZVN1bHplWVJlOXxkd2MmOHU2VXhaNwp6KnR+bWJyMjE2YWle
O290KUVGJiVZeE9wYypUYCM+eU8qOzJTKTxJfUplejA+ciRrUjw3REFSWkxleX49Yj9vQmcKejhU
RyQhVlBMZjN4emRJYFY3PiZAdC1eT1U0cVFeXlUzfEF8JDJgYztBOF94aiYjVDlqOSgtJj5WMWV5
RHpkRVIrCnpPbXJnUHFKfkFDVjt2Rnd6M2lwKy1DRWhDMSR7PCZQe2ZNQmpqcCN6SkZyazkyZU5z
WGFfcn5vR0VEQG8xeUFHfAp6TkZDMFBCSUswVyF6PmNGcD85OGY7aSEmX3dadGl4ajA+fEhONUM7
NSVCekZ0bCVEbjtVcSpIRjBGMVdpSktwc3cKemhTNGpreWZ3bCU8ODx0azg5bl8+MlZ+SEJAK0xu
Y2h6WUAyKUlqYVRfS20lNlI9NGFKckJ7cThHWThhWnJYaSM0CnpDaVBgNVU4a2N2PHQ7ZyVtMHsx
SlllI2ltezl5TSZuTFIwNDw3UThOYi1WcDc7fGl7PVR7SHIzQiZYRH1Bb0shUgp6Kn5Gd1BeK2Nh
M2VNO1VAbH1neFNZezx4ZnlFJmg0XjdBSyNGWHNHM2VnTV95UUYhMG1BKzRmendRWGwleWczX2MK
ek9CUDcpb1h3TmZwVmZXTUBFdXZjLTdfSEMyS081SERuQWY1VUNlUikoMFRDbmo2K2BgPFR8ejti
ejl3cFpAWUBTCnpxVS1DcnQ9NUtIRlBAe1BGTXwmP3dzcHhDd2s/ISkmLXxJOzUhXkVCKnZ1KFdK
MGEpdmZRJXJ1YjsjPTV0dHlucgp6c3cwUWdjYHtkSTh1KGomSz5LI0NWWiR+OGFzJnQmcHwqYGVf
UDV6clV9WVRDKTx4SEVhWDlhQiVJR1FTM0RGVVIKenheWHw4YktkbldrUkZzcjBhQXBBdmg2TDk4
Y1lffS1xND1hcEhjPE4qNGdOU2o2KzZ+N1N3UEokWnpATWYqTGVeCnpvdlkrN2NfZz5BbyN7REw8
ZG9pKUwwZyN8cD9abXYkR2FiPkhJe196NlNJfngrUXZtZCtVd3BWY1NgVGBzQThOXwp6eDJiTnNG
U0V9OFRfZEQ+Xih8QGIqfCR6ZDRUcWo9byZKJl5oeTBSZiRuPHJaT0ozdj0tcG5ie3VAT3t0Tigt
aUwKeiRGfjEraiNvbERnMytzUXgwYiY5VypyaHVWbXVmJWtZRDBNWDNNfElCYmVfdHJiSHAhMDt4
OT87JnE+KGV5Y2lXCnpOZzAlX1U8LXFuTjF4OWNFclVANVh+VDh8Qm56ZVljfD04UyR2fXlLJXBr
UlcjS0lXV1MkX19KP2Z2T202aVFHZAp6QXV1aEJaUFNxMThAajc5WStlaG80ZiNpYShhTC05Yj1u
S3grQVo3bXpyUn1yUFNrJTBRWCUlQ0pTWilJTktFTHEKejBBKlcpR24hPyRAKjJFdDUpP3RIX2Ns
R2NRMjFfcDRAJlEkKkhHJD40ZD5zSXlRSyRhPF5EdEBjMXE3M14qZCQoCnpZNDM/KjludVRLYHVl
U20+XnFmLSZRVm0yUDlCc04lckMqdGk1JH45Q3AoX1ohdW1oO3l3VU1+eG9zT0o4c35VMwp6WSE1
RDV3bDNxLWBPYnVybzl0KlBmMUJlVGwrbnhfZm9iYmsoJFhjTkN8cWFtPSpfVWItJEwzbFRnYXxK
RGU/XkQKejVkZStjcktqQ0JlN147fFgwKm14VGBLYktCVUZQajglSjcpTH1BLSZBcEomMEhfJW1M
aFpMdXJSQFI1fWVHa1laCnomJUIjWjJRJSVDWDVramgtQD1EKzRRNGlgdFVCZGdnbVgkZ21QOFd8
dVRmWXFKeSNSK2VHNFQ1bnVRVl84JUAjSgp6akVQY2M3T3ZzNmo7V245MTJVVjEraj4pd19LcW98
MkQhPn08RnAmUCU1JTdtZlZge2tlaE1DZ29eakZLJTcqVD8KenVaSGxwd18qRlk7M2NDaGJuQ1JP
bSN1cCQxWkMhcVhjaXY5czVrckMoM0BwekFuaUVQYklJdVNxRD4yTmR7M2NICnolKW1yVEwoIXhz
bn5gVTRkemRoZT8hJiMkLWRfbyFGPWhzNDZrXmYxc0tGU2ApVjtGQio7fGJXcSEhYm1VZlpMZwp6
NHw+Wn1TdDRTOV55KkskckgwYVRNU0hGbD8xa2B+SlZNYkwxQSY7bXNuSEZubXc/YiV2ZCFGP25L
d0UlcUhKZnsKempAQlRjPHY4UyktfGAzezArVnF8NF5WTl5zVldtND9ecmgyal5NUUFBJjFwMj5D
TCMkPlhJVVA3LSF3bSZjdTtwCnpkTlh2TFpfVXNSazV9STQ9cjN5NUx+aHlBLSkwfXA7NXtJdEM3
fDh+XkNKTSspRHl5Y3o+RllXRzZUMEVKLVJPdQp6U3ZJQj07bGcrV1FYfmlSUSNjQCh4YTUoNVkr
Nz97PjRFN0BmXjIkOCpoY3JAJTBofDhtQzxvczBTamclMVlgeXkKemAtYEJuRUNwRzQ5Y15KaVc2
Tm1yPEgyYzxkMm1NSUpFfVc4Jml0T3pQRHJlQFRpKG9aeXw/OWhqYUM2dExuKj5MCnpXcHNRKlJt
WVZyb3Etdi1YMCMjNUoob21+aE9XOGhle2Z8aGJufi02ZEBtWUxNcXxoKlkqIXB8V0hfXk1YQzBG
WAp6PEs3cmtnSn5mfXBMPC1BN1Z+P2BfRjM7ZSp7M3dwVUgkOzQ4P09CbVQ1cXUoSWJAR1pYNkhz
eilYQUEhTXZpJXgKelhYbXJ2cCo9SkVfUXNncntYRV5AVDBkUldwS3RRPi09PXVxKkZkJj5BTEBK
MipzKjd9ZUl4KWBwfDxhRk9jZDc5CnpYQTMwYm0/aWdJXjNOZ0FhKjs/M3JwflhvMjM8Nm4+MmIo
K2dSPD4yJE1uRkFVfWI9MD5sckcwX1peK2ZFP35qKgp6bz9IKlczYFM8UT9SYGNYNjxWZVBtcEc7
ZXJ4KVQ4aCluM3Q/ISFIfF5uYnw2RX4+JVFWUEF1Tkh+QjFwJFE+aHgKejkySy1KPGJfRU9OZDRJ
WWcrZT1tRmF0OEhYUS1hcERUMldwPik4I3RVKj9MSFNAcyMwZnNtTEV3YHRePG5SYH0yCnpeeFFG
V085Jn5gUUJoZFR6LS00TiZAdT9POTdCIXtEKGZ5aVZAd3VPYmp+Wnd5TE1EUlMzT1lMVitjJjA/
JWh5JQp6UTlaSntwR0JHYldSOXVSeV87OEZSRkNNYEtQe09JUktlOGcydEwqc3N9Nll2S3Jgb0w5
SkIyK3dfX24oNi1iZmcKenApTGNuP0s0MkxlQ1MlSlVlV1Awc2JgRjdfWmdeSks1dmllTWghPlM3
PUxCM1dTfXZ9eXotZDN1XkkobmJfYGk5CnpCWjNBJiN2YiNvJVJEU2wpeWBON1c9a182SWRqT1VL
MmlPU3VCRFM3b3o3Z2U/YitgfV5ganJTcDNZKiFCQDVWRQp6QWY1QGxVYT4kXzBuTHQ4dU9GKG5C
Y3R5emFRMzlMPm9WdWh0bG1rYChzWHcxQHtuWG5Dc3gzOyQxPk98RnVwVTAKek5FSnZicFIxRlh0
fSpmJjlsOFdnSFY8PkhzYVRjSiR+ZldiRmdBVEdgTGFAUFNna15+I19hU1IpZE51UF87N0lfCnp0
cCNOaDFLQUE0dU5NUSNRcy1PRUZ0Jm5WP1dMTHQ+dzQ7NFFkKmppKjRDWjkpO2ozYV9OdjBRKi0r
fEw1TnRpNgp6biZQejg4PjNhVk1ATFYlajtFSlNGaD5BbmdnUSg7WVMmZWNrJTFWd1pmRFZ1T0tr
cktFPm9gRVYwZjxYMDAwMDAKTE5rdlhYdTBtamZgaj04QQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAx
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNlcy9yaW5nLnBuZyBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJjZXMvcmluZy5wbmcKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDYx
YmI5NGViYTg2ODljOWRhNmRjZGE4YWEzN2I0Yzg5ZTFlMjYyZQpHSVQgYmluYXJ5IHBhdGNoCmxp
dGVyYWwgNzE1CnpjbVY7KzB5Tz1KUCk8aDszS3xMazAwMGUxTkpMVHEwMDFmZzAwMWZvMV5AczYj
bHkqNDAwMDAxYjVjaF8wSXRwKQp6PT5QeCMyNFlKYEw7KEspe3thNz55e0Q0XjAwMFNhTkxoMEww
MUZjVTAxRmNWMEdnWl8wMDAwN2JWKkdgMmlnU18KejF+dnwjNmUxYDkwMEspJUxfdChvIV99RndQ
VE5vdmhRREt4UiVFYlhMQGJPY1FYWWE9JGQ7OWJHRyZXfEdEaz89CnptPyNUdEhvcFE3VlRwRVJL
Xlp7fExAZ0VXYSRJZ3R0YHBseVowOVZJdTRDV058TX0wZ0AzRjlrTlA2OUNwYnpZdAp6TG87OV5R
R0NBWTlJXyU8bkRhVmB7PVNxMm1sQSt5V3BCYGMteEw5czApVkdMWVltVnQ+PkZeSzJVdjFJLVVG
UV8Kent+WkIkej1OaDJ3WiMhfDAqc2RjfENBXmBFKUFPV3g9K0J+MD1PJlNSaVpkcWF2Y0hNeitl
SU52cWJUSlZiQkdUCnpCakI0dkB0PX1+eEMwQ2BmSFBzR0Fta3gxVThaMFRTT0VAeiRHb3RUO21J
JVNSSSFBKktkZmcxUGp6PVprZUJPKgp6MWtoXzw+S3R4I2wqTy1UKChDPkxLQURxUm59R0J2YCh9
b0pPQjg+ZVEmakp1V2oob1JOSnJVMkUwQytJbnxrfWkKejgzOXdPaT5hfUlEQVB5a21IY2JmRGJI
enY/LUlyNXNpSipiS3ZoRko3TztpWWNUKnBsZ0lDbFNjSjZSKWQyLV5sCnpNb3tuRWYlO1FTK0xP
OHtiPypPKUQoUTh2MUNLeE5zNlEtMktrI2ZIOXZUMkA4RnFhaGVRNXliOTdEakNnYnlAcQp6MDlX
VihvdGQkdDI3cD9JU3BaRFQ7N0oyT0V5RTt6KjF3eXpHXmxHVyl3bG41Y1N4YyokU1M2R2pjVD9S
Nl9aXksKejF+cX5YZGBuZGRZSkVEXlNGV25selQ/P0hQNXl5dXJeMCUyc0Q3IV5uP3BPQ2MyUWk5
LVdiQGlaZlVFRTFFWGY1CnpPazI5UykzfmtMMCRDfG5taEVkbVkpd2xpJGF1QCUyY0E4TDkpWEto
bU0lVF9xNmxRQnFCKWRKP05FUSkoUmpBbQp4amE8fDJYP0FQZTFLaXc/NEg+fUF7ZHwpSGR9QU5Q
e3NMejc5czU1N0x7dEMoMDAyb3ZQREhMa1YxbjRHR3x2RDQKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1t
YXNrLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxl
LWNvbXBvc2l0ZWQtbWFzay1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0NzJm
ZTkwYTE4ZjdiMWFjNWM4Yjk0NmM5NWJjZmFlODc5ZTA4NzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay1leHBlY3RlZC1taXNt
YXRjaC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRT4KKworPGh0bWw+Cis8aGVhZD4K
KyAgPHRpdGxlPlNpbXBsZSBjb21wb3NpdGVkIG1hc2tzPC90aXRsZT4KKyAgPHN0eWxlIHR5cGU9
InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAgICNjb250YWluZXIgeworICAgICAgICBo
ZWlnaHQ6IDc2MHB4OworICAgICAgICB3aWR0aDogMjYwcHg7CisgICAgICAgIGJvcmRlcjogc29s
aWQgYmxhY2s7CisgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgIH0KKyAgICAg
IC5ib3ggeworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAyMDBw
eDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgbWFyZ2luOiAzMHB4OworICAgICAg
ICBib3JkZXI6IDEwcHggc29saWQgYmxhY2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6cmdi
YSgxMDAsIDEwMCwgMjU1LCAwLjgpOworICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRl
ci1ib3g7CisgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogYmxhY2sgMCA0cHggNHB4OworICAg
ICAgfQorCisgICAgICAjY29udGFpbmVyIC5tYXNrZWQgeworICAgICAgICAtd2Via2l0LW1hc2st
aW1hZ2U6IHVybChyZXNvdXJjZXMvYWxwaGEtZ3JhZGllbnQucG5nKTsKKyAgICAgICAgLXdlYmtp
dC1tYXNrLXJlcGVhdDogcmVwZWF0OworICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogNTBweDsK
KyAgICAgIH0KKyAgICAgIAorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKyAgPHA+VGVz
dGluZyBtYXNrcyBvbiBjb21wb3NpdGluZyBsYXllcnMuPC9wPgorICA8ZGl2IGlkPSJjb250YWlu
ZXIiPgorICAgICAgPGRpdiBjbGFzcz0ibWFza2VkIGJveCI+PC9kaXY+CisgICAgICA8ZGl2IGNs
YXNzPSJtYXNrZWQgYm94Ij48L2Rpdj4KKyAgICAgIDxkaXYgY2xhc3M9Im1hc2tlZCBib3giPjwv
ZGl2PgorICA8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1hc2suaHRtbCBiL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2I1NGQxOTIw
YzAyZjgxNTcyODY3YjFkYTZhNmFiMmJlZWIxZmMxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLmh0bWwKQEAgLTAsMCArMSw1
NCBAQAorPCFET0NUWVBFPgorCis8aHRtbD4KKzxoZWFkPgorICA8dGl0bGU+U2ltcGxlIGNvbXBv
c2l0ZWQgbWFza3M8L3RpdGxlPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3Jl
ZW4iPgorICAgICAgI2NvbnRhaW5lciB7CisgICAgICAgIGhlaWdodDogNzYwcHg7CisgICAgICAg
IHdpZHRoOiAyNjBweDsKKyAgICAgICAgYm9yZGVyOiBzb2xpZCBibGFjazsKKyAgICAgICAgZGlz
cGxheTogaW5saW5lLWJsb2NrOworICAgICAgfQorICAgICAgLmJveCB7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICBoZWlnaHQ6IDIw
MHB4OworICAgICAgICBtYXJnaW46IDMwcHg7CisgICAgICAgIGJvcmRlcjogMTBweCBzb2xpZCBi
bGFjazsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDEwMCwgMTAwLCAyNTUsIDAuOCk7
CisgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICAgICAgLXdlYmtp
dC1ib3gtc2hhZG93OiBibGFjayAwIDRweCA0cHg7CisgICAgICB9CisKKyAgICAgICNjb250YWlu
ZXIgLm1hc2tlZC1weCB7CisgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKHJlc291cmNl
cy9hbHBoYS1ncmFkaWVudC5wbmcpOworICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiByZXBl
YXQ7CisgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAtd2Via2l0LWNhbGMoNTBweCk7CisgICAg
ICB9CisgICAgICAKKyAgICAgICNjb250YWluZXIgLm1hc2tlZC1wZXJjZW50IHsKKyAgICAgICAg
LXdlYmtpdC1tYXNrLWltYWdlOiB1cmwocmVzb3VyY2VzL2FscGhhLWdyYWRpZW50LnBuZyk7Cisg
ICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IHJlcGVhdDsKKyAgICAgICAgLXdlYmtpdC1tYXNr
LXNpemU6IC13ZWJraXQtY2FsYygyNSUpOworICAgICAgfQorICAgICAgCisgICAgICAjY29udGFp
bmVyIC5tYXNrZWQtcGVyY2VudC1weCB7CisgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJs
KHJlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcpOworICAgICAgICAtd2Via2l0LW1hc2stcmVw
ZWF0OiByZXBlYXQ7CisgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAtd2Via2l0LWNhbGMoMTAl
ICsgMzBweCk7CisgICAgICB9CisgICAgCisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKwor
ICA8cD5UZXN0aW5nIG1hc2tzIG9uIGNvbXBvc2l0aW5nIGxheWVycy48L3A+CisgIDxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgICA8ZGl2IGNsYXNzPSJtYXNrZWQtcHggYm94Ij48L2Rpdj4KKyAg
ICAgIDxkaXYgY2xhc3M9Im1hc2tlZC1wZXJjZW50IGJveCI+PC9kaXY+CisgICAgICA8ZGl2IGNs
YXNzPSJtYXNrZWQtcGVyY2VudC1weCBib3giPjwvZGl2PgorICA8L2Rpdj4KKworPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9u
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc3ZnLXRyYW5zaXRpb25zLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZGU1NjFjNmQ2ZTQ4ODgxZTBjMTIwMTg5NDI2ZjEzNDkx
OTNjNmM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFu
c2l0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE0OTogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHJ1blRyYW5zaXRp
b25UZXN0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXpl
IDc4NHgzMDAKKyAgICAgICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMzAsMzApIHNpemUgMzcx
eDI1NQorICAgICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkg
c2l6ZSAweDAKKyAgICAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xp
bmVhckdyYWRpZW50fSBbaWQ9ImdyYWRpZW50MSJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5k
aW5nQm94XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICAgICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjA1XSBbY29sb3I9I0ZGMDAwMF0KKyAgICAg
ICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuOTVdIFtjb2xv
cj0jMDAwMEZGXQorICAgICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7
bGluZWFyR3JhZGllbnR9IFtpZD0iZ3JhZGllbnQyIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91
bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAgICAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMTBdIFtjb2xvcj0jMDBGRkZGXQorICAg
ICAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC45NV0gW2Nv
bG9yPSNGRjAwRkZdCisgICAgICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVy
fSBbaWQ9ImZpbHRlcjEiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRp
dmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBh
dCAoMzAsMzApIHNpemUgODF4ODEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAw
XSBbc3Ryb2tlIHdpZHRoPTIuMDBdIFtkYXNoIGFycmF5PXsxMC4wMH1dfV0gW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbeD0xMC4wMF0gW3k9MTAuMDBdIFt3aWR0aD0zMC4w
MF0gW2hlaWdodD0zMC4wMF0KKyAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMjMx
LDMxKSBzaXplIDc5eDc5IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFt4PTkwLjAwXSBbeT0xMC4wMF0g
W3dpZHRoPTMwLjAwXSBbaGVpZ2h0PTMwLjAwXQorICAgICAgICAgIFJlbmRlclNWR1BhdGgge3Jl
Y3R9IGF0ICgyMzMsMTU4KSBzaXplIDc1eDUwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRd
IFtpZD0iZ3JhZGllbnQxIl19XSBbeD05MC4wMF0gW3k9NjAuMDBdIFt3aWR0aD0zMC4wMF0gW2hl
aWdodD0yMC4wMF0KKyAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMzEsMjU2KSBz
aXplIDI5eDI5IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFt4PTEwLjAwXSBbeT0xMDAuMDBdIFt3aWR0
aD0xMC4wMF0gW2hlaWdodD0xMC4wMF0KKyAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBh
dCAoMTMzLDI1OCkgc2l6ZSAyNXgyNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAw
MDBdIFtzdHJva2Ugd2lkdGg9MC4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAw
MDAwXX1dIFt4PTUwLjAwXSBbeT0xMDAuMDBdIFt3aWR0aD0xMC4wMF0gW2hlaWdodD0xMC4wMF0K
KyAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMjMxLDI1Nikgc2l6ZSAyOXgyOSBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDAwMF19XSBbeD05MC4wMF0gW3k9MTAwLjAwXSBbd2lkdGg9MTAuMDBdIFto
ZWlnaHQ9MTAuMDBdCisgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDMzMywyNTgp
IHNpemUgMjV4MjUgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbeD0xMzAu
MDBdIFt5PTEwMC4wMF0gW3dpZHRoPTEwLjAwXSBbaGVpZ2h0PTEwLjAwXQorICAgICAgICAgIFJl
bmRlclNWR1BhdGgge3BvbHlsaW5lfSBhdCAoMzIsMTc4KSBzaXplIDE3N3gzNSBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9NC4wMF0gW21pdGVyIGxp
bWl0PTEyLjAwXX1dIFtwb2ludHM9IjEwIDcwIDYwIDc1IDEwIDgwIl0KKyAgICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAwLDQ1KSBzaXplIDU3eDE5IGNvbnRhaW5zIDEgY2h1bmso
cykKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDU3eDE5CisgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAwLjAwLDYwLjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA3IHdpZHRoIDU2LjgwOiAiRXhhbXBsZSIKKyAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCwzMDApIHNpemUgNzg0eDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9zdmctdHJhbnNpdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9zdmct
dHJhbnNpdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDkzODljMzRlYTMyM2M5OTFmNzA5MjIxMTdl
NGY1MTVlNzFkMWIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3N2
Zy10cmFuc2l0aW9ucy5odG1sCkBAIC0wLDAgKzEsMTg1IEBACis8aHRtbD4KKzxoZWFkPgorICA8
c3R5bGU+CisKKyAgc3ZnICogeworICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBm
aWxsLCBzdHJva2UsIGZpbGwtb3BhY2l0eSwgc3Ryb2tlLW9wYWNpdHksIHN0cm9rZS13aWR0aCwg
c3Ryb2tlLWRhc2hvZmZzZXQsIHN0cm9rZS1taXRlcmxpbWl0LCBrZXJuaW5nLCBiYXNlbGluZS1z
aGlmdCwgZmxvb2QtY29sb3IsIGZsb29kLW9wYWNpdHksIHN0b3AtY29sb3IsIHN0b3Atb3BhY2l0
eSwgbGlnaHRpbmctY29sb3I7CisgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDJz
OworICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOworICB9
CisKKyAgI3JlY3QxIHsKKyAgICAgIGZpbGw6IHJnYigwLCAwLCAyNTUpOworICAgICAgc3Ryb2tl
OiByZWQ7CisgICAgICBmaWxsLW9wYWNpdHk6IDE7CisgICAgICBzdHJva2Utb3BhY2l0eTogMTsK
KyAgICAgIHN0cm9rZS13aWR0aDogMjsKKyAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwOworICAg
ICAgc3Ryb2tlLWRhc2hhcnJheTogMTA7CisgIH0KKyAgLmFuaW1hdGluZyAjcmVjdDEgeworICAg
ICAgZmlsbDogcmdiKDAsIDI1NSwgMCk7CisgICAgICBzdHJva2U6IGJsYWNrOworICAgICAgZmls
bC1vcGFjaXR5OiAwLjI7CisgICAgICBzdHJva2Utb3BhY2l0eTogMC4yOworICAgICAgc3Ryb2tl
LXdpZHRoOiA0OworICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDEwOworICB9CisKKyAgI3JlY3Qy
IHsKKyAgICAgIGZpbGw6IHJnYigwLCAwLCAyNTUpOworICAgICAgc3Ryb2tlOiByZ2IoMjU1LCAw
LCAwKTsKKyAgfQorICAuYW5pbWF0aW5nICNyZWN0MiB7CisgICAgICBmaWxsOiByZ2IoMCwgMjU1
LCAwKTsKKyAgICAgIHN0cm9rZTogcmdiKDAsIDAsIDApOworICB9CisKKyAgI3JlY3QzIHsKKyAg
ICAgIGZpbGw6IHVybCgjZ3JhZGllbnQxKTsKKyAgfQorICAuYW5pbWF0aW5nICNyZWN0MyB7Cisg
ICAgICBmaWxsOiB1cmwoI2dyYWRpZW50Mik7CisgIH0KKworICAjc3RvcDEgeworICAgICAgc3Rv
cC1jb2xvcjogcmdiKDI1NSwwLDApOworICAgICAgc3RvcC1vcGFjaXR5OiAxOworICB9CisgIC5h
bmltYXRpbmcgI3N0b3AxIHsKKyAgICAgIHN0b3AtY29sb3I6IHJnYigwLDI1NSwwKTsKKyAgICAg
IHN0b3Atb3BhY2l0eTogMC41OworICB9CisKKyAgI3JlY3Q0IHsKKyAgICAgIHN0cm9rZTogcmVk
OworICAgICAgc3Ryb2tlLXdpZHRoOiAtd2Via2l0LWNhbGMoMXB4KTsKKyAgfQorICAuYW5pbWF0
aW5nICNyZWN0NCB7CisgICAgICBzdHJva2Utd2lkdGg6IDRtbTsKKyAgfQorCisgICNyZWN0NSB7
CisgICAgICBzdHJva2U6IGJsYWNrOworICAgICAgc3Ryb2tlLXdpZHRoOiAwOworICB9CisgIC5h
bmltYXRpbmcgI3JlY3Q1IHsKKyAgICAgIHN0cm9rZS13aWR0aDogLXdlYmtpdC1jYWxjKDEwcHgp
OworICB9CisKKyAgI3JlY3Q2IHsKKyAgICAgIHN0cm9rZTogYmxhY2s7CisgICAgICBzdHJva2Ut
d2lkdGg6IC13ZWJraXQtY2FsYygxMCUpOworICB9CisgIC5hbmltYXRpbmcgI3JlY3Q2IHsKKyAg
ICAgIHN0cm9rZS13aWR0aDogLXdlYmtpdC1jYWxjKDIwJSk7CisgIH0KKworICAjcmVjdDcgewor
ICAgICAgZmlsbDogdXJsKCNpbnZhbGlkKSBibGFjazsKKyAgfQorICAuYW5pbWF0aW5nICNyZWN0
NyB7CisgICAgICBmaWxsOiB1cmwoI2ludmFsaWQpIGJsdWU7CisgIH0KKworICAjcG9seWxpbmUx
IHsKKyAgICAgIGZpbGw6IG5vbmU7CisgICAgICBzdHJva2U6IGJsYWNrOworICAgICAgc3Ryb2tl
LXdpZHRoOiA0OworICAgICAgc3Ryb2tlLW1pdGVybGltaXQ6IDEyOworICB9CisgIC5hbmltYXRp
bmcgI3BvbHlsaW5lMSB7CisgICAgICBzdHJva2UtbWl0ZXJsaW1pdDogMTA7CisgIH0KKworICAj
dGV4dDEgeworICAgICAga2VybmluZzogMDsKKyAgICAgIGJhc2VsaW5lLXNoaWZ0OiAwOworICB9
CisgIC5hbmltYXRpbmcgI3RleHQxIHsKKyAgICAgIGtlcm5pbmc6IC13ZWJraXQtY2FsYygxMHB4
KTsKKyAgICAgIGJhc2VsaW5lLXNoaWZ0OiAtd2Via2l0LWNhbGMoMTBweCk7CisgIH0KKworICAj
Zmxvb2QxIHsKKyAgICAgIGZsb29kLW9wYWNpdHk6IDE7CisgICAgICBmbG9vZC1jb2xvcjogcmdi
KDI1NSwgMCwgMCk7CisgIH0KKyAgLmFuaW1hdGluZyAjZmxvb2QxIHsKKyAgICAgIGZsb29kLW9w
YWNpdHk6IDA7CisgICAgICBmbG9vZC1jb2xvcjogcmdiKDAsIDI1NSwgMCk7CisgIH0KKworICAj
bGlnaHQxIHsKKyAgICAgIGxpZ2h0aW5nLWNvbG9yOiByZ2IoMjU1LCAwLCAwKTsKKyAgfQorICAu
YW5pbWF0aW5nICNsaWdodDEgeworICAgICAgbGlnaHRpbmctY29sb3I6IHJnYigwLCAyNTUsIDAp
OworICB9CisgIDwvc3R5bGU+CisgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdHJhbnNpdGlvbi10
ZXN0LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0PgorICBjb25zdCBleHBlY3RlZFZh
bHVlcyA9IFsKKyAgLy8gW3RpbWUsIGVsZW1lbnQtaWQsIHByb3BlcnR5LCBleHBlY3RlZC12YWx1
ZSwgdG9sZXJhbmNlXQorICBbMSwgInJlY3QxIiwgImZpbGwtb3BhY2l0eSIsIDAuNiwgMC4xXSwg
Ly8gMSAtPiAwLjIKKyAgWzEsICJyZWN0MSIsICJzdHJva2Utd2lkdGgiLCAzLCAwLjVdLCAgIC8v
IDIgLT4gNAorICBbMSwgInJlY3QxIiwgInN0cm9rZS1vcGFjaXR5IiwgMC42LCAwLjFdLCAvLyAx
IC0+IDAuMgorICBbMSwgInJlY3QxIiwgInN0cm9rZS1kYXNob2Zmc2V0IiwgNSwgMV0sIC8vIDAg
LT4gMTAKKyAgWzEsICJyZWN0MiIsICJmaWxsIiwgWzAsIDEyNywgMTI3XSwgMjBdLCAvLyByZ2Io
MCwgMCwgMjU1KSAtPiByZ2IoMCwgMjU1LCAwKQorICBbMSwgInJlY3QyIiwgInN0cm9rZSIsIFsx
MjcsIDAsIDBdLCAyMF0sICAvLyByZ2IoMjU1LCAwLCAwKSAtPiByZ2IoMCwgMCwgMCkKKyAgWzEs
ICJyZWN0NCIsICJzdHJva2Utd2lkdGgiLCA4LCAxXSwgIC8vIDFweCB0byA0bW0KKyAgWzEsICJy
ZWN0NSIsICJzdHJva2Utd2lkdGgiLCA1LCAxXSwgIC8vIDAgdG8gMTBweAorICBbMSwgInJlY3Q2
IiwgInN0cm9rZS13aWR0aCIsIDE1LCAyXSwgIC8vIDEwJSB0byAyMCUKKyAgWzEsICJyZWN0NyIs
ICJmaWxsIiwgWzAsIDAsIDEyN10sIDIwXSwgIC8vIHVybCgjaW52YWxpZCkgYmxhY2sgLT4gdXJs
KCNpbnZhbGlkKSBibHVlCisgIFsxLCAic3RvcDEiLCAic3RvcC1jb2xvciIsIFsxMjcsIDEyNywg
MF0sIDIwXSwgLy8gcmdiKDI1NSwwLDApIC0+IHJnYigwLCAyNTUsIDApCisgIFsxLCAic3RvcDEi
LCAic3RvcC1vcGFjaXR5IiwgMC43NSwgMC4xXSwgLy8gMSAtPiAwLjUKKyAgWzEsICJwb2x5bGlu
ZTEiLCAic3Ryb2tlLW1pdGVybGltaXQiLCAxMSwgMC41XSwgLy8gMTIgLT4gMTAgKHRoaXMgaXMg
YW4gYWJydXB0IGNoYW5nZSBpbiByZW5kZXJpbmcgZXZlbiB0aG91Z2ggdGhlIHByb3BlcnR5IGFu
aW1hdGlvbiBpcyBzbW9vdGgpCisgIFsxLCAidGV4dDEiLCAia2VybmluZyIsIDUsIDFdLCAvLyAw
IC0+IDEwcHgKKyAgWzEsICJ0ZXh0MSIsICJiYXNlbGluZS1zaGlmdCIsIDUsIDFdLCAvLyAwIC0+
IDEwcHgKKyAgWzEsICJmbG9vZDEiLCAiZmxvb2Qtb3BhY2l0eSIsIDAuNSwgMC4xXSwgLy8gMSAt
PiAwCisgIFsxLCAiZmxvb2QxIiwgImZsb29kLWNvbG9yIiwgWzEyNywgMTI3LCAwXSwgMjBdLCAv
LyByZ2IoMCwgMjU1LCAwKSAtPiByZ2IoMjU1LCAwLCAwKQorICBbMSwgImxpZ2h0MSIsICJsaWdo
dGluZy1jb2xvciIsIFsxMjcsIDEyNywgMF0sIDIwXSwgLy8gcmdiKDI1NSwgMCwgMCkgLT4gcmdi
KDAsIDI1NSwgMCkKKyAgXTsKKyAgICAKKyAgZnVuY3Rpb24gc2V0dXBUZXN0KCkKKyAgeworICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmNsYXNzTmFtZSA9ICdhbmlt
YXRpbmcnOworICB9CisKKyAgcnVuVHJhbnNpdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMsIHNldHVw
VGVzdCwgdXNlUGF1c2VBUEkpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2
IGlkPSJjb250YWluZXIiPgorICA8c3ZnIHZpZXdCb3g9IjAgMCAxNjAgMTIwIiB3aWR0aD0iNDAw
cHgiIGhlaWdodD0iMzAwcHgiPgorICAgIDxkZWZzPgorICAgICAgPGxpbmVhckdyYWRpZW50IGlk
PSJncmFkaWVudDEiPgorICAgICAgICA8c3RvcCBpZD0ic3RvcDEiIG9mZnNldD0iNSUiLz4KKyAg
ICAgICAgPHN0b3Agb2Zmc2V0PSI5NSUiIHN0b3AtY29sb3I9InJnYigwLDAsMjU1KSIgLz4KKyAg
ICAgIDwvbGluZWFyR3JhZGllbnQ+CisgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRpZW50
MiI+CisgICAgICAgIDxzdG9wIG9mZnNldD0iMTAlIiBzdG9wLWNvbG9yPSJyZ2IoMCwyNTUsMjU1
KSIgLz4KKyAgICAgICAgPHN0b3Agb2Zmc2V0PSI5NSUiIHN0b3AtY29sb3I9InJnYigyNTUsIDAs
MjU1KSIgLz4KKyAgICAgIDwvbGluZWFyR3JhZGllbnQ+CisgICAgICA8ZmlsdGVyIGlkPSJmaWx0
ZXIxIj4KKyAgICAgICAgPGZlRmxvb2QgaWQ9ImZsb29kMSIvPgorICAgICAgICA8ZmVEaWZmdXNl
TGlnaHRpbmcgaWQ9ImxpZ2h0MSIvPgorICAgICAgPC9maWx0ZXI+CisgICAgPC9kZWZzPgorICAg
IDxyZWN0IGlkPSJyZWN0MSIgeD0iMTAiIHk9IjEwIiB3aWR0aD0iMzAiIGhlaWdodD0iMzAiLz4K
KyAgICA8cmVjdCBpZD0icmVjdDIiIHg9IjkwIiB5PSIxMCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMw
Ii8+CisgICAgPHJlY3QgaWQ9InJlY3QzIiB4PSI5MCIgeT0iNjAiIHdpZHRoPSIzMCIgaGVpZ2h0
PSIyMCIvPgorICAgIDxyZWN0IGlkPSJyZWN0NCIgeD0iMTAiIHk9IjEwMCIgd2lkdGg9IjEwIiBo
ZWlnaHQ9IjEwIi8+CisgICAgPHJlY3QgaWQ9InJlY3Q1IiB4PSI1MCIgeT0iMTAwIiB3aWR0aD0i
MTAiIGhlaWdodD0iMTAiLz4KKyAgICA8cmVjdCBpZD0icmVjdDYiIHg9IjkwIiB5PSIxMDAiIHdp
ZHRoPSIxMCIgaGVpZ2h0PSIxMCIvPgorICAgIDxyZWN0IGlkPSJyZWN0NyIgeD0iMTMwIiB5PSIx
MDAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIvPgorICAgIDxwb2x5bGluZSBpZD0icG9seWxpbmUx
IiBwb2ludHM9IjEwLDcwIDYwLDc1IDEwLDgwIi8+CisgICAgPHRleHQgaWQ9InRleHQxIiB4PSIx
MDAiIHk9IjYwIj5FeGFtcGxlPC90ZXh0PgorICA8L3N2Zz4KKzwvZGl2PgorCis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxlLWNhbGNzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxjcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTJmMTk0ZDM4ZTQ0NjBlZjAyOTEyNmNmNjRmZjZmODE3MzM5Y2QxZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxjcy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw5IEBACitBbGwgdGFibGUgY2VsbHMgYmVsb3cgc2hvdWxkIGJlIDEw
MHB4ICogMTAwcHggYW5kIGdyZWVuLgorCitjb250cm9sIHdpZHRoOjEwMHB4ID0+IEZBSUw6IGV4
cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgMzYJc2ltcGxlIDEwMHB4ID0+IEZBSUw6IGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyA4NSwgZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwg
YnV0IHdhcyAxMDgJMjVweCAqIDQgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDU2LCBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2FzIDEwOAorY29udHJvbCBoZWln
aHQ6MTAwcHggPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDEzMQlzaW1w
bGUgMTAwcHggPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDg1CTI1cHgg
KiA0ID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyA1MAorY29udHJvbCB3
aWR0aDoyNSUgPT4gRkFJTDogZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAzNglzaW1w
bGUgMjUlID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAxMzUsIGV4cGVj
dGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgOTAJMTAlICogMiArIDUlID0+IEZBSUw6IGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyA0MCwgZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0
IHdhcyA5MAorY29udHJvbCBoZWlnaHQ6MjUlID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAxMjAKK3NpbXBsZSAyNSUgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAw
LCBidXQgd2FzIDc0LCBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2FzIDE4CisxMCUgKiAy
ICsgNSUgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDkxLCBleHBlY3Rl
ZCBoZWlnaHQgb2YgMTAwLCBidXQgd2FzIDE4CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy90YWJsZS1jYWxjcy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxlLWNh
bGNzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjE3MWM1OTQ2NDE4YzRkZDY0YWUxMGE3ZjA2NDE3NDY3ZTRi
OGZhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxj
cy5odG1sCkBAIC0wLDAgKzEsMTAwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KKy53aWR0
aC10ZXN0IHsKKyAgICBwYWRkaW5nOiAwOworICAgIHdpZHRoOiAtd2Via2l0LWNhbGMoMjU2cHgp
OyAKKyAgICBoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDBweCk7CisgICAgYmFja2dyb3VuZC1jb2xv
cjogcmVkOworfQorCisud2lkdGgtcGVyY2VudC10ZXN0IHsKKyAgICBwYWRkaW5nOiAwOworICAg
IGhlaWdodDogLXdlYmtpdC1jYWxjKDEwMHB4KTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
Cit9CisKKy5oZWlnaHQtdGVzdCB7CisgICAgcGFkZGluZzogMDsKKyAgICB3aWR0aDogLXdlYmtp
dC1jYWxjKDEwMHB4KTsKKyAgICBoZWlnaHQ6IC13ZWJraXQtY2FsYygyNTZweCk7CisgICAgYmFj
a2dyb3VuZC1jb2xvcjogcmVkOworfQorCisuaGVpZ2h0LXBlcmNlbnQtdGVzdCB7CisgICAgcGFk
ZGluZzogMDsKKyAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KTsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiByZWQ7Cit9CisKKzwvc3R5bGU+CisKKzxwPgorICBBbGwgdGFibGUgY2VsbHMgYmVs
b3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorPC9wPgorCis8ZGl2IGlkPSJ0
ZXN0Ij4KKyAgICA8dGFibGU+CisgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0
aC10ZXN0IiBzdHlsZT0id2lkdGg6IDEwMHB4OyI+Y29udHJvbCB3aWR0aDoxMDBweDwvdGQ+Cisg
ICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2Fs
YygxMDBweCk7Ij5zaW1wbGUgMTAwcHg8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lkdGgt
dGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMjVweCAqIDQpOyI+MjVweCAqIDQ8L3Rk
PgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDx0YWJsZT4KKyAgICAgIDx0cj4KKyAg
ICAgICAgICA8dGQgY2xhc3M9ImhlaWdodC10ZXN0IiBzdHlsZT0iaGVpZ2h0OiAxMDBweDsiPmNv
bnRyb2wgaGVpZ2h0OjEwMHB4PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9ImhlaWdodC10ZXN0
IiBzdHlsZT0iaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwcHgpOyI+c2ltcGxlIDEwMHB4PC90ZD4K
KyAgICAgICAgICA8dGQgY2xhc3M9ImhlaWdodC10ZXN0IiBzdHlsZT0iaGVpZ2h0OiAtd2Via2l0
LWNhbGMoMjVweCAqIDQpOyI+MjVweCAqIDQ8L3RkPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxl
PgorICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6NDEwcHg7IGJvcmRlci1zcGFjaW5nOiAycHggMnB4
Ij4KKyAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXBlcmNlbnQtdGVzdCIg
c3R5bGU9IndpZHRoOiAyNSU7Ij5jb250cm9sIHdpZHRoOjI1JTwvdGQ+CisgICAgICAgICAgPHRk
IGNsYXNzPSJ3aWR0aC1wZXJjZW50LXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDI1
JSk7Ij5zaW1wbGUgMjUlPC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXBlcmNlbnQt
dGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMTAlICogMiArIDUlKTsiPjEwJSAqIDIg
KyA1JTwvdGQ+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgCisgICAgPGRpdiBzdHls
ZT0iaGVpZ2h0OiA0MTZweCI+CisgICAgICA8dGFibGUgc3R5bGU9ImhlaWdodDogMjUlIj4KKyAg
ICAgICAgICA8dHI+PHRkIGNsYXNzPSJoZWlnaHQtcGVyY2VudC10ZXN0Ij5jb250cm9sIGhlaWdo
dDoyNSU8L3RkPjwvdHI+CisgICAgICA8L3RhYmxlPgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5
bGU9ImhlaWdodDogNDE2cHgiPgorICAgICAgPHRhYmxlIHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQt
Y2FsYygyNSUpOyI+CisgICAgICAgICAgPHRyPjx0ZCBjbGFzcz0iaGVpZ2h0LXBlcmNlbnQtdGVz
dCI+c2ltcGxlIDI1JTwvdGQ+PC90cj4KKyAgICAgIDwvdGFibGU+CisgICAgPC9kaXY+CisgICAg
PGRpdiBzdHlsZT0iaGVpZ2h0OiA0MTZweCI+CisgICAgICA8dGFibGUgc3R5bGU9ImhlaWdodDog
LXdlYmtpdC1jYWxjKDEwJSAqIDIgKyA1JSkpOyI+CisgICAgICAgICAgPHRyPjx0ZCBjbGFzcz0i
aGVpZ2h0LXBlcmNlbnQtdGVzdCI+MTAlICogMiArIDUlPC90ZD48L3RyPgorICAgICAgPC90YWJs
ZT4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KKworPHNj
cmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgY2VsbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVzdCIpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpOworZm9yICh2YXIgaSA9IDA7
IGkgPCBjZWxscy5sZW5ndGg7ICsraSkgeworICAgIHZhciBjZWxsID0gY2VsbHNbaV07CisgICAg
dmFyIHdpZHRoID0gY2VsbC5vZmZzZXRXaWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0gY2VsbC5vZmZz
ZXRIZWlnaHQ7CisKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGggIT0gMTAwKQor
ICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgIiArIHdp
ZHRoKTsKKyAgICBpZiAoaGVpZ2h0ICE9IDEwMCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0
ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAiICsgaGVpZ2h0KTsKKworICAgIHJlc3VsdHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworICAgIGlmIChlcnJvciA9PSAiIikg
eworICAgICAgICBjZWxsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAg
IGNlbGwuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7CisgICAgfSBlbHNlCisgICAgICAgIGNlbGwu
aW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7Cit9Cis8L3Njcmlw
dD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91
dFRlc3RzL2NzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy1leHBlY3RlZC1taXNtYXRjaC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjljY2U2ODEyZDNiMDc5MjI0NDM2OGRiODZjMTQyY2YxZmFkMTBhZWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMt
ZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDI0MiBAQAorPGh0bWw+PGhlYWQ+Cis8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAKKworLnBlcmNlbnQgeyB3aWR0aDo1MCU7IH0KKy5maXhl
ZCB7IHdpZHRoOjQwMHB4OyB9CisuY2VsbDIge2hlaWdodDoyNXB4OyBiYWNrZ3JvdW5kLWNvbG9y
OiBhcXVhIH0KKy5ib3JkZXIgeyBib3JkZXI6IDJweCBzb2xpZCBncmVlbiB9IAorLnBhZGRpbmcg
eyBwYWRkaW5nOiAycHggfSAKKy5tYXJnaW4geyBtYXJnaW46IDJweCB9IAorLmJnY29sb3IgeyBi
YWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3cgfSAKKy5wcmUgeyB3aGl0ZS1zcGFjZTogcHJlIH0KK3Rh
YmxlIHsgYm9yZGVyOiAycHggc29saWQgYmxhY2sgfQorCis8L3N0eWxlPgorPGJvZHkgbGVmdG1h
cmdpbj0iMCIgdG9wbWFyZ2luPSIwIj4KKworCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxz
cGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwx
Ij4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIiPkZpcnN0IGNlbGwgZW1wdHksIHNlY29uZCBhdXRv
IHdpZHRoPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRk
aW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRk
IGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNl
bGwgZW1wdHksIHNlY29uZCBwZXJjZW50IHdpZHRoPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90
YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEw
MCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9
ImNlbGwyIGZpeGVkIj5GaXJzdCBjZWxsIGVtcHR5LCBzZWNvbmQgZml4ZWQgd2lkdGg8L3RkPgor
PC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxz
cGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwx
IHByZSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkg
KHdpdGggc3BhY2UpIGFuZCBoYXMgd2hpdGUtc3BhY2U6cHJlPC90ZD4KKzwvdHI+Cis8L3Rib2R5
PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lk
dGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBwcmUiPjwvdGQ+Cis8
dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgKG5vIHNwYWNlKSBhbmQg
aGFzIHdoaXRlLXNwYWNlOnByZTwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0
YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgor
PHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBib3JkZXIiPiA8L3RkPgorPHRkIGNsYXNz
PSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMgYm9yZGVyPC90ZD4KKzwv
dHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNl
bGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNl
bGwxIHBhZGRpbmciPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxs
IGVtcHR5IGJ1dCBoYXMgcGFkZGluZzwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisK
Kzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIxIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUi
PgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNl
bGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHksIHRhYmxlIGhhcyBjZWxscGFkZGluZzwvdGQ+
Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIw
IiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNz
PSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1w
dHksIHRhYmxlIGhhcyBjZWxsc3BhY2luZzwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+
CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEw
MCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBtYXJnaW4iPiA8L3RkPgorPHRk
IGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMgbWFyZ2luPC90
ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWUgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xh
c3M9ImNlbGwxIGJnY29sb3IiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJz
dCBjZWxsIGVtcHR5IGJ1dCBoYXMgYmFja2dyb3VuZCBjb2xvcjwvdGQ+Cis8L3RyPgorPC90Ym9k
eT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdp
ZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRk
IGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGNlbGwgZW1wdHk8L3RkPgor
PC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiB0ZXh0IDwvdGQ+Cis8dGQgY2xhc3M9ImNl
bGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgbm90IGVtcHR5PC90ZD4KKzwvdHI+
Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwv
dGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgY2VsbCBlbXB0
eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9
ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHk8L3RkPgorPC90cj4K
KzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xz
cGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0
eSwgaGFzIGNvbHNwYW48L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIiPiB0ZXh0IDwv
dGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgY2VsbCBlbXB0
eSwgc2Vjb25kIGNlbGwgbm9uLWVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNl
bGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIiPlNlY29uZCByb3csIGZp
cnN0IGNlbGwgZW1wdHkgd2l0aCBjb2xzcGFuPTI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3Rh
YmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAw
JSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwyIj4gdGV4dCA8L3RkPgorPHRkIGNs
YXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywg
Zmlyc3QgY2VsbCBub24tZW1wdHksIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+
Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIi
PlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHkgd2l0aCBjb2xzcGFuPTI8L3RkPgorPC90cj4K
KzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90
ZD4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5G
aXJzdCByb3csIGZpcnN0IGFuZCBzZWNvbmQgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgor
PHRkIGNsYXNzPSJjZWxsMSIgY29sc3Bhbj0iMiI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBl
cmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHksIGhhcyBjb2xzcGFuPTI8L3RkPgor
PC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxz
cGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwx
Ij4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJj
ZW50Ij5GaXJzdCByb3csIGZpcnN0IGFuZCBzZWNvbmQgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgor
PHRyPgorPHRkIGNsYXNzPSJjZWxsMSBwZXJjZW50IiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBj
bGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNv
bHNwYW49MiBhbmQgcGVyY2VudCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+
CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4K
Kzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxs
MSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgYW5k
IHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIGZp
eGVkIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25k
IHJvdywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNvbHNwYW49MiBhbmQgZml4ZWQgd2lkdGg8L3Rk
PgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCitPbmUgZW1wdHkgY2VsbDoKKzx0YWJsZSBj
ZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0
cj4KKzx0ZCBjbGFzcz0iIj4gPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworVHdv
IGVtcHR5IGNlbGxzOgorPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lk
dGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSIiPiA8L3RkPgorPHRkIGNsYXNz
PSIiPiA8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorPC9ib2R5PgorPC9odG1sPgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE3N2FkZWM3YzQ2MjE0OWY1NGNiMzA1YmVhZTc4NGI2YmE5NWRhMDkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMuaHRtbApAQCAt
MCwwICsxLDI0MiBAQAorPGh0bWw+PGhlYWQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAKKwor
LnBlcmNlbnQgeyB3aWR0aDotd2Via2l0LWNhbGMoNTAlKTsgfQorLmZpeGVkIHsgd2lkdGg6LXdl
YmtpdC1jYWxjKDQwMHB4KTsgfQorLmNlbGwyIHtoZWlnaHQ6LXdlYmtpdC1jYWxjKDI1cHgpOyBi
YWNrZ3JvdW5kLWNvbG9yOiBhcXVhIH0KKy5ib3JkZXIgeyBib3JkZXI6IC13ZWJraXQtY2FsYygy
cHgpIHNvbGlkIGdyZWVuIH0gCisucGFkZGluZyB7IHBhZGRpbmc6IC13ZWJraXQtY2FsYygycHgp
IH0gCisubWFyZ2luIHsgbWFyZ2luOiAtd2Via2l0LWNhbGMoMnB4KSB9IAorLmJnY29sb3IgeyBi
YWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3cgfSAKKy5wcmUgeyB3aGl0ZS1zcGFjZTogcHJlIH0KK3Rh
YmxlIHsgYm9yZGVyOiAtd2Via2l0LWNhbGMoMnB4KSBzb2xpZCBibGFjayB9CisKKzwvc3R5bGU+
Cis8Ym9keSBsZWZ0bWFyZ2luPSIwIiB0b3BtYXJnaW49IjAiPgorCisKKzx0YWJsZSBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0
ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+Rmlyc3QgY2VsbCBlbXB0
eSwgc2Vjb25kIGF1dG8gd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVy
Y2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25kIHBlcmNlbnQgd2lkdGg8L3RkPgorPC90cj4K
KzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90
ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgZml4ZWQiPkZpcnN0IGNlbGwgZW1wdHksIHNlY29uZCBmaXhl
ZCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0
ZCBjbGFzcz0iY2VsbDEgcHJlIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmly
c3QgY2VsbCBlbXB0eSAod2l0aCBzcGFjZSkgYW5kIGhhcyB3aGl0ZS1zcGFjZTpwcmU8L3RkPgor
PC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxz
cGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwx
IHByZSI+PC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSAo
bm8gc3BhY2UpIGFuZCBoYXMgd2hpdGUtc3BhY2U6cHJlPC90ZD4KKzwvdHI+Cis8L3Rib2R5Pgor
PC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3
aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIGJvcmRlciI+IDwv
dGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBi
b3JkZXI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgaWQ9YyBjZWxs
cGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4K
Kzx0ZCBjbGFzcz0iY2VsbDEgcGFkZGluZyI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNl
bnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBwYWRkaW5nPC90ZD4KKzwvdHI+Cis8L3Rib2R5
PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBhZGRpbmc9IjEiIGNlbGxzcGFjaW5nPSIw
IiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4K
Kzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgdGFibGUgaGFzIGNl
bGxwYWRkaW5nPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+
Rmlyc3QgY2VsbCBlbXB0eSwgdGFibGUgaGFzIGNlbGxzcGFjaW5nPC90ZD4KKzwvdHI+Cis8L3Ri
b2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIG1hcmdp
biI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0
IGhhcyBtYXJnaW48L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgaWQ9
ZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4K
Kzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgYmdjb2xvciI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwy
IHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBiYWNrZ3JvdW5kIGNvbG9yPC90ZD4K
KzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxs
MSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgY2Vs
bCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IHRleHQgPC90ZD4K
Kzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBub3QgZW1w
dHk8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xh
c3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBm
aXJzdCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90
ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0
eTwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0i
MCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFz
cz0iY2VsbDEiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5G
aXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3BhbjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFi
bGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAl
Ij4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJj
ZWxsMiI+IHRleHQgPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBm
aXJzdCBjZWxsIGVtcHR5LCBzZWNvbmQgY2VsbCBub24tZW1wdHk8L3RkPgorPC90cj4KKzx0cj4K
Kzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+
U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSB3aXRoIGNvbHNwYW49MjwvdGQ+Cis8L3RyPgor
PC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9
IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDIiPiB0ZXh0
IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2Vu
dCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIG5vbi1lbXB0eSwgc2Vjb25kIGNlbGwgZW1wdHk8L3Rk
PgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRk
IGNsYXNzPSJjZWxsMiI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSB3aXRoIGNvbHNwYW49
MjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0i
MCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFz
cz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNl
bGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgYW5kIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4K
KzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBj
bGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNv
bHNwYW49MjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0
ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xh
c3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgYW5kIHNlY29uZCBjZWxsIGVtcHR5
PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIHBlcmNlbnQiIGNvbHNwYW49IjIi
PiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxs
IGVtcHR5LCBoYXMgY29sc3Bhbj0yIGFuZCBwZXJjZW50IHdpZHRoPC90ZD4KKzwvdHI+Cis8L3Ri
b2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIg
d2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8
dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qg
cm93LCBmaXJzdCBhbmQgc2Vjb25kIGNlbGwgZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBj
bGFzcz0iY2VsbDEgZml4ZWQiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBw
ZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3Bhbj0yIGFuZCBm
aXhlZCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKK09uZSBlbXB0eSBj
ZWxsOgorPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUi
PgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSIiPiA8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8
L3RhYmxlPgorCitUd28gZW1wdHkgY2VsbHM6Cis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxz
cGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9IiI+IDwv
dGQ+Cis8dGQgY2xhc3M9IiI+IDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+Cis8L2Jv
ZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy92ZXJ0aWNh
bC1hbGlnbi5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjhlZTllMmUxNGUyOGY5NmU0N2M0ODZkN2EzYTA4Njc4NDgwYjQxMQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy92ZXJ0aWNhbC1hbGlnbi5odG1s
CkBAIC0wLDAgKzEsMjkxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhU
TUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQw
L2xvb3NlLmR0ZCI+Cis8SFRNTD4KKzxIRUFEPgorPFRJVExFPkNTUzEgVGVzdCBTdWl0ZTogNS40
LjQgdmVydGljYWwtYWxpZ248L1RJVExFPgorPE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBl
IiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+Cis8TUVUQSBodHRwLWVx
dWl2PSJDb250ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KKworPExJTksgcmVs
PSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiIgaHJlZj0iLi4vcmVz
b3VyY2VzL2Jhc2UuY3NzIj4KKzxTVFlMRSB0eXBlPSJ0ZXh0L2NzcyI+CitQIHtmb250LXNpemU6
IDEycHQ7fQorLm9uZSB7dmVydGljYWwtYWxpZ246IHN1Yjt9CisudHdvIHt2ZXJ0aWNhbC1hbGln
bjogc3VwZXI7fQorLnRocmVlIHt2ZXJ0aWNhbC1hbGlnbjogdG9wOyBmb250LXNpemU6IDEycHQ7
fQorLmZvdXIge3ZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgZm9udC1zaXplOiAxMnB0O30KKy5m
aXZlIHt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBmb250LXNpemU6IDEycHQ7fQorLnNpeCB7dmVy
dGljYWwtYWxpZ246IGJvdHRvbTsgZm9udC1zaXplOiAxMnB0O30KKy5zZXZlbiB7dmVydGljYWwt
YWxpZ246IHRleHQtYm90dG9tOyBmb250LXNpemU6IDEycHQ7fQorLmVpZ2h0IHt2ZXJ0aWNhbC1h
bGlnbjogYmFzZWxpbmU7IGZvbnQtc2l6ZTogMTJwdDt9CisubmluZSB7dmVydGljYWwtYWxpZ246
IC13ZWJraXQtY2FsYyg1MCUpOyBmb250LXNpemU6IC13ZWJraXQtY2FsYygxMnB4KTsgbGluZS1o
ZWlnaHQ6IC13ZWJraXQtY2FsYygxNnB4KTt9CisKK1AuZXhhbXBsZSB7Zm9udC1zaXplOiAxNHB0
O30KK0JJRyB7Zm9udC1zaXplOiAxNnB0O30KK1NNQUxMIHtmb250LXNpemU6IDEycHQ7fQorLnR0
b3BhbGlnbiB7dmVydGljYWwtYWxpZ246IHRleHQtdG9wO30KKy50b3BhbGlnbiB7dmVydGljYWwt
YWxpZ246IHRvcDt9CisubWlkYWxpZ24ge3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fQorPC9TVFlM
RT4KKworPC9IRUFEPgorCis8Qk9EWT48UD5UaGUgc3R5bGUgZGVjbGFyYXRpb25zIHdoaWNoIGFw
cGx5IHRvIHRoZSB0ZXh0IGJlbG93IGFyZTo8L1A+Cis8UFJFPlAge2ZvbnQtc2l6ZTogMTJwdDt9
Cisub25lIHt2ZXJ0aWNhbC1hbGlnbjogc3ViO30KKy50d28ge3ZlcnRpY2FsLWFsaWduOiBzdXBl
cjt9CisudGhyZWUge3ZlcnRpY2FsLWFsaWduOiB0b3A7IGZvbnQtc2l6ZTogMTJwdDt9CisuZm91
ciB7dmVydGljYWwtYWxpZ246IHRleHQtdG9wOyBmb250LXNpemU6IDEycHQ7fQorLmZpdmUge3Zl
cnRpY2FsLWFsaWduOiBtaWRkbGU7IGZvbnQtc2l6ZTogMTJwdDt9Cisuc2l4IHt2ZXJ0aWNhbC1h
bGlnbjogYm90dG9tOyBmb250LXNpemU6IDEycHQ7fQorLnNldmVuIHt2ZXJ0aWNhbC1hbGlnbjog
dGV4dC1ib3R0b207IGZvbnQtc2l6ZTogMTJwdDt9CisuZWlnaHQge3ZlcnRpY2FsLWFsaWduOiBi
YXNlbGluZTsgZm9udC1zaXplOiAxMnB0O30KKy5uaW5lIHt2ZXJ0aWNhbC1hbGlnbjogNTAlOyBm
b250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiAxNnB4O30KKworUC5leGFtcGxlIHtmb250LXNp
emU6IDE0cHQ7fQorQklHIHtmb250LXNpemU6IDE2cHQ7fQorU01BTEwge2ZvbnQtc2l6ZTogMTJw
dDt9CisudHRvcGFsaWduIHt2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7fQorLnRvcGFsaWduIHt2
ZXJ0aWNhbC1hbGlnbjogdG9wO30KKy5taWRhbGlnbiB7dmVydGljYWwtYWxpZ246IG1pZGRsZTt9
CisKKzwvUFJFPgorPEhSPgorPFA+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYi
IGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1MCI+PFNQQU4gY2xhc3M9Im9uZSI+VGhlIGZpcnN0IGZv
dXIgd29yZHM8L1NQQU4+IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIHN1YnNjcmlwdC1hbGln
bmVkLiAgVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc3VwZXJzY3JpcHRlZCB0ZXh0IHNob3VsZCBub3Qg
YmUgZGlmZmVyZW50IGZyb20gdGhhdCBvZiB0aGUgcGFyZW50IGVsZW1lbnQuCis8L1A+Cis8UD4K
KzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9
IjUwIj48U1BBTiBjbGFzcz0idHdvIj5UaGUgZmlyc3QgZm91ciB3b3JkczwvU1BBTj4gaW4gdGhp
cyBzZW50ZW5jZSBzaG91bGQgYmUgc3VwZXJzY3JpcHQtYWxpZ25lZC4gIFRoZSBmb250IHNpemUg
b2YgdGhlIHN1YnNjcmlwdGVkIHRleHQgc2hvdWxkIG5vdCBiZSBkaWZmZXJlbnQgZnJvbSB0aGF0
IG9mIHRoZSBwYXJlbnQgZWxlbWVudC4KKzwvUD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNl
cy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiPjxTUEFOIGNsYXNzPSJ0aHJl
ZSI+VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQQU4+IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJl
IHRvcC1hbGlnbmVkLCB3aGljaCB3aWxsIGFsaWduIHRoZWlyIHRvcHMgd2l0aCB0aGUgdG9wIG9m
IHRoZSB0YWxsZXN0IGVsZW1lbnQgaW4gdGhlIGxpbmUgKHByb2JhYmx5IHRoZSBvcmFuZ2UgcmVj
dGFuZ2xlKS4KKzwvUD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBh
bHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjAwJTsi
PgorPFNQQU4gY2xhc3M9ImZvdXIiPlRoZSBmaXJzdCBmb3VyIHdvcmRzPC9TUEFOPiBpbiB0aGlz
IHNlbnRlbmNlIHNob3VsZCBiZSB0ZXh0LXRvcC1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24g
dGhlaXIgdG9wcyB3aXRoIHRoZSB0b3Agb2YgdGhlIHRhbGxlc3QgdGV4dCBpbiB0aGUgbGluZS4K
KzwvU1BBTj4KKzwvUD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBh
bHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiIGNsYXNzPSJmaXZlIj4KK1RoZSBpbWFnZSBhdCB0aGUg
YmVnaW5uaW5nIG9mIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIG1pZGRsZS1hbGlnbmVkLCB3aGlj
aCBzaG91bGQgYWxpZ24gaXRzIG1pZGRsZSB3aXRoIHRoZSBwb2ludCBkZWZpbmVkIGFzIHRoZSB0
ZXh0IGJhc2VsaW5lIHBsdXMgaGFsZiB0aGUgeC1oZWlnaHQuCis8L1A+Cis8UD4KKzxJTUcgU1JD
PSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWxpZ249InRvcCIgYWx0PSJbSW1hZ2VdIiBoZWln
aHQ9IjUwIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDIwMCU7Ij4KKzxTUEFOIGNsYXNzPSJz
aXgiPlRoZSBmaXJzdCBmb3VyIHdvcmRzPC9TUEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBi
ZSAxMnB0IGluIHNpemUgYW5kIGJvdHRvbS1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhl
aXIgYm90dG9tIHdpdGggdGhlIGJvdHRvbSBvZiB0aGUgbG93ZXN0IGVsZW1lbnQgaW4gdGhlIGxp
bmUuCis8L1NQQU4+Cis8L1A+Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdp
ZiIgYWxpZ249InRvcCIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIj4KKzxTUEFOIHN0eWxlPSJm
b250LXNpemU6IDIwMCU7Ij4KKzxTUEFOIGNsYXNzPSJzZXZlbiI+VGhlIGZpcnN0IGVpZ2h0IHdv
cmRzICgiZWlnaHQiIGhhcyBhIGRlc2NlbmRlcik8L1NQQU4+IGluIHRoaXMgc2VudGVuY2Ugc2hv
dWxkIGJlIDEycHQgaW4gc2l6ZSBhbmQgdGV4dC1ib3R0b20tYWxpZ25lZCwgd2hpY2ggc2hvdWxk
IGFsaWduIHRoZWlyIGJvdHRvbSB3aXRoIHRoZSBib3R0b20gb2YgdGhlIGxvd2VzdCB0ZXh0IChp
bmNsdWRpbmcgZGVzY2VuZGVycykgaW4gdGhlIGxpbmUuCis8L1NQQU4+Cis8L1A+Cis8UD4KKzxJ
TUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUw
Ij4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDIwMCU7Ij4KKzxTUEFOIGNsYXNzPSJlaWdodCI+
VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQQU4+IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIDEy
cHQgaW4gc2l6ZSBhbmQgYmFzZWxpbmUtYWxpZ25lZCwgd2hpY2ggc2hvdWxkIGFsaWduIHRoZWly
IGJhc2VsaW5lIHdpdGggdGhlIGJhc2VsaW5lIG9mIHRoZSByZXN0IG9mIHRoZSB0ZXh0IGluIHRo
ZSBsaW5lLgorPC9TUEFOPgorPC9QPgorPFA+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFu
ay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1MCI+PFNQQU4gY2xhc3M9Im5pbmUiPlRoZSBm
aXJzdCBmb3VyIHdvcmRzPC9TUEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBoYXZlIGEgZm9u
dC1zaXplIG9mIDEycHggYW5kIGEgbGluZS1oZWlnaHQgb2YgMTZweDsgdGhleSBhcmUgYWxzbyA1
MCUtYWxpZ25lZCwgd2hpY2ggc2hvdWxkIHJhaXNlIHRoZW0gOHB4IHJlbGF0aXZlIHRvIHRoZSBu
YXR1cmFsIGJhc2VsaW5lLgorPC9QPgorPFA+CitJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwg
YWxsIGltYWdlcyBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSB0b3Agb2YgdGhlIDE0LXBvaW50
IHRleHQsIHdoaWNoIGlzIGlkZW50aWNhbCB0byB0aGUgZmlyc3Qgc2VjdGlvbiBvZiB0ZXh0LCB3
aGVyZWFzIGFueSBzaXplIHRleHQgc2hvdWxkIGJlIGFsaWduZWQgd2l0aCB0aGUgdGV4dCBiYXNl
bGluZSAod2hpY2ggaXMgdGhlIGRlZmF1bHQgdmFsdWUpLgorPC9QPgorPFAgY2xhc3M9ImV4YW1w
bGUiPgorVGhpcyBwYXJhZ3JhcGgKKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIg
YWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjMwIiBjbGFzcz0idHRvcGFsaWduIj4KKzxTUEFOIHN0eWxl
PSJmb250LXNpemU6IDI1MCU7Ij5jb250YWlucyBtYW55IGltYWdlczwvU1BBTj4KKzxJTUcgU1JD
PSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIiBjbGFz
cz0idHRvcGFsaWduIj4KKzxCSUc+b2YgdmFyeWluZyBoZWlnaHRzPC9CSUc+Cis8SU1HIFNSQz0i
Li4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIxMCIgY2xhc3M9
InR0b3BhbGlnbiI+Cis8U01BTEw+YW5kIHdpZHRoczwvU01BTEw+Cis8SU1HIFNSQz0iLi4vcmVz
b3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIyMCIgY2xhc3M9InR0b3Bh
bGlnbiI+CithbGwgb2Ygd2hpY2gKKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIg
YWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjY1IiBjbGFzcz0idHRvcGFsaWduIj4KKzxTUEFOIHN0eWxl
PSJmb250LXNpemU6IDJlbTsiPnNob3VsZCBiZSBhbGlnbmVkPC9TUEFOPgorPElNRyBTUkM9Ii4u
L3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMzUiIGNsYXNzPSJ0
dG9wYWxpZ24iPgord2l0aCB0aGUgdG9wIG9mCis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFu
ay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIzMCIgY2xhc3M9InR0b3BhbGlnbiI+Cis8U1BB
TiBzdHlsZT0iZm9udC1zaXplOiAxNTAlOyI+YSA8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyNTAl
OyI+MTQtcG9pbnQ8L1NQQU4+IHRleHQgZWxlbWVudDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNv
dXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0idHRvcGFs
aWduIj4KKzxTTUFMTD5yZWdhcmRsZXNzIG9mIHRoZSBsaW5lIGluIHdoaWNoPC9TTUFMTD4KKzxJ
TUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjE1
IiBjbGFzcz0idHRvcGFsaWduIj4KKzxCSUc+dGhlIGltYWdlcyBhcHBlYXIuPC9CSUc+Cis8SU1H
IFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI5MCIg
Y2xhc3M9InR0b3BhbGlnbiI+Cis8L1A+Cis8UCBjbGFzcz0iZXhwbGFpbiI+CitJbiB0aGUgZm9s
bG93aW5nIHBhcmFncmFwaCwgYWxsIGltYWdlcyBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSBt
aWRkbGUgb2YgdGhlIGRlZmF1bHQgdGV4dCwgd2hlcmVhcyBhbnkgdGV4dCBzaG91bGQgYmUgYWxp
Z25lZCB3aXRoIHRoZSB0ZXh0IGJhc2VsaW5lICh3aGljaCBpcyB0aGUgZGVmYXVsdCB2YWx1ZSku
Cis8L1A+Cis8UD4KK1RoaXMgcGFyYWdyYXBoCis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFu
ay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIzMCIgY2xhc3M9Im1pZGFsaWduIj4KKzxTUEFO
IHN0eWxlPSJmb250LXNpemU6IDI1MCU7Ij5jb250YWlucyBtYW55IGltYWdlczwvU1BBTj4KKzxJ
TUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUw
IiBjbGFzcz0ibWlkYWxpZ24iPgorb2YgdmFyeWluZyBoZWlnaHRzCis8SU1HIFNSQz0iLi4vcmVz
b3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIxMCIgY2xhc3M9Im1pZGFs
aWduIj4KKzxTTUFMTD5hbmQgd2lkdGhzPC9TTUFMTD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMv
dmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjIwIiBjbGFzcz0ibWlkYWxpZ24iPgor
YWxsIG9mIHdoaWNoCis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0lt
YWdlXSIgaGVpZ2h0PSI2NSIgY2xhc3M9Im1pZGFsaWduIj4KK3Nob3VsZCBiZSBhbGlnbmVkCis8
SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIz
NSIgY2xhc3M9Im1pZGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDJlbTsiPndpdGgg
dGhlIG1pZGRsZSBvZjwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIg
YWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0ibWlkYWxpZ24iPgorPFNQQU4gc3R5bGU9
ImZvbnQtc2l6ZTogMTUwJTsiPmEgPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjUwJTsiPjE0LXBv
aW50PC9TUEFOPiB0ZXh0IGVsZW1lbnQ8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3Zi
bGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1MCIgY2xhc3M9Im1pZGFsaWduIj4KKzxT
TUFMTD5yZWdhcmRsZXNzIG9mIHRoZSBsaW5lIGluIHdoaWNoPC9TTUFMTD4KKzxJTUcgU1JDPSIu
Li9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjE1IiBjbGFzcz0i
bWlkYWxpZ24iPgorPEJJRz50aGUgaW1hZ2VzIGFwcGVhci48L0JJRz4KKzxJTUcgU1JDPSIuLi9y
ZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjkwIiBjbGFzcz0ibWlk
YWxpZ24iPgorPC9QPgorPFAgY2xhc3M9ImV4cGxhaW4iPgorSW4gdGhlIGZvbGxvd2luZyBwYXJh
Z3JhcGgsIGFsbCBlbGVtZW50cyBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSB0b3Agb2YgdGhl
IHRhbGxlc3QgZWxlbWVudCBvbiB0aGUgbGluZSwgd2hldGhlciB0aGF0IGVsZW1lbnQgaXMgYW4g
aW1hZ2Ugb3Igbm90LiAgRWFjaCBmcmFnbWVudCBvZiB0ZXh0IGhhcyBiZWVuIFNQQU5uZWQgYXBw
cm9wcmlhdGVseSBpbiBvcmRlciB0byBjYXVzZSB0aGlzIHRvIGhhcHBlbi4KKzwvUD4KKzxQPgor
PFNQQU4gY2xhc3M9InRvcGFsaWduIj5UaGlzIHBhcmFncmFwaDwvU1BBTj4KKzxJTUcgU1JDPSIu
Li9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0i
dG9wYWxpZ24iPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjUwJTsiIGNsYXNzPSJ0b3BhbGln
biI+Y29udGFpbnMgbWFueSBpbWFnZXM8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3Zi
bGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIxMCIgY2xhc3M9InRvcGFsaWduIj4KKzxT
UEFOIGNsYXNzPSJ0b3BhbGlnbiI+YW5kIHNvbWUgdGV4dDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9y
ZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0idG9w
YWxpZ24iPgorPFNQQU4gY2xhc3M9InRvcGFsaWduIj5vZiB2YXJ5aW5nIGhlaWdodHM8L1NQQU4+
Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0
PSIxMCIgY2xhc3M9InRvcGFsaWduIj4KKzxCSUcgY2xhc3M9InRvcGFsaWduIj5hbmQgd2lkdGhz
PC9CSUc+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIg
aGVpZ2h0PSIyMCIgY2xhc3M9InRvcGFsaWduIj4KKzxTUEFOIGNsYXNzPSJ0b3BhbGlnbiI+YWxs
IG9mIHdoaWNoPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9
IltJbWFnZV0iIGhlaWdodD0iNjUiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8U1BBTiBjbGFzcz0idG9w
YWxpZ24iPnNob3VsZCBiZSBhbGlnbmVkPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92
YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMzUiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8
U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyZW07IiBjbGFzcz0idG9wYWxpZ24iPndpdGggdGhlIHRv
cCBvZjwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1h
Z2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0idG9wYWxpZ24iPgorPFNQQU4gY2xhc3M9InRvcGFsaWdu
Ij50aGUgdGFsbGVzdCBlbGVtZW50IGluPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92
YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMTUiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8
QklHIGNsYXNzPSJ0b3BhbGlnbiI+d2hpY2hldmVyIGxpbmUgdGhlIGVsZW1lbnRzIGFwcGVhci48
L0JJRz4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBo
ZWlnaHQ9IjkwIiBjbGFzcz0idG9wYWxpZ24iPgorPC9QPgorCisKKzxUQUJMRSBib3JkZXIgY2Vs
bHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIzIiBjbGFzcz0idGFibGV0ZXN0Ij4KKzxUUj4KKzxU
RCBjb2xzcGFuPSIyIiBiZ2NvbG9yPSJzaWx2ZXIiPjxTVFJPTkc+VEFCTEUgVGVzdGluZyBTZWN0
aW9uPC9TVFJPTkc+PC9URD4KKzwvVFI+Cis8VFI+Cis8VEQgYmdjb2xvcj0ic2lsdmVyIj4mbmJz
cDs8L1REPgorPFREPjxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9
IltJbWFnZV0iIGhlaWdodD0iNTAiPjxTUEFOIGNsYXNzPSJvbmUiPlRoZSBmaXJzdCBmb3VyIHdv
cmRzPC9TUEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSBzdWJzY3JpcHQtYWxpZ25lZC4g
IFRoZSBmb250IHNpemUgb2YgdGhlIHN1cGVyc2NyaXB0ZWQgdGV4dCBzaG91bGQgbm90IGJlIGRp
ZmZlcmVudCBmcm9tIHRoYXQgb2YgdGhlIHBhcmVudCBlbGVtZW50LgorPC9QPgorPFA+Cis8SU1H
IFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1MCI+
PFNQQU4gY2xhc3M9InR3byI+VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQQU4+IGluIHRoaXMgc2Vu
dGVuY2Ugc2hvdWxkIGJlIHN1cGVyc2NyaXB0LWFsaWduZWQuICBUaGUgZm9udCBzaXplIG9mIHRo
ZSBzdWJzY3JpcHRlZCB0ZXh0IHNob3VsZCBub3QgYmUgZGlmZmVyZW50IGZyb20gdGhhdCBvZiB0
aGUgcGFyZW50IGVsZW1lbnQuCis8L1A+Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJs
YW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIj48U1BBTiBjbGFzcz0idGhyZWUiPlRo
ZSBmaXJzdCBmb3VyIHdvcmRzPC9TUEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSB0b3At
YWxpZ25lZCwgd2hpY2ggd2lsbCBhbGlnbiB0aGVpciB0b3BzIHdpdGggdGhlIHRvcCBvZiB0aGUg
dGFsbGVzdCBlbGVtZW50IGluIHRoZSBsaW5lIChwcm9iYWJseSB0aGUgb3JhbmdlIHJlY3Rhbmds
ZSkuCis8L1A+Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJb
SW1hZ2VdIiBoZWlnaHQ9IjUwIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDIwMCU7Ij4KKzxT
UEFOIGNsYXNzPSJmb3VyIj5UaGUgZmlyc3QgZm91ciB3b3JkczwvU1BBTj4gaW4gdGhpcyBzZW50
ZW5jZSBzaG91bGQgYmUgdGV4dC10b3AtYWxpZ25lZCwgd2hpY2ggc2hvdWxkIGFsaWduIHRoZWly
IHRvcHMgd2l0aCB0aGUgdG9wIG9mIHRoZSB0YWxsZXN0IHRleHQgaW4gdGhlIGxpbmUuCis8L1NQ
QU4+Cis8L1A+Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJb
SW1hZ2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0iZml2ZSI+CitUaGUgaW1hZ2UgYXQgdGhlIGJlZ2lu
bmluZyBvZiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSBtaWRkbGUtYWxpZ25lZCwgd2hpY2ggc2hv
dWxkIGFsaWduIGl0cyBtaWRkbGUgd2l0aCB0aGUgcG9pbnQgZGVmaW5lZCBhcyB0aGUgdGV4dCBi
YXNlbGluZSBwbHVzIGhhbGYgdGhlIHgtaGVpZ2h0LgorPC9QPgorPFA+Cis8SU1HIFNSQz0iLi4v
cmVzb3VyY2VzL3ZibGFuay5naWYiIGFsaWduPSJ0b3AiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1
MCI+Cis8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyMDAlOyI+Cis8U1BBTiBjbGFzcz0ic2l4Ij5U
aGUgZmlyc3QgZm91ciB3b3JkczwvU1BBTj4gaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgMTJw
dCBpbiBzaXplIGFuZCBib3R0b20tYWxpZ25lZCwgd2hpY2ggc2hvdWxkIGFsaWduIHRoZWlyIGJv
dHRvbSB3aXRoIHRoZSBib3R0b20gb2YgdGhlIGxvd2VzdCBlbGVtZW50IGluIHRoZSBsaW5lLgor
PC9TUEFOPgorPC9QPgorPFA+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFs
aWduPSJ0b3AiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1MCI+Cis8U1BBTiBzdHlsZT0iZm9udC1z
aXplOiAyMDAlOyI+Cis8U1BBTiBjbGFzcz0ic2V2ZW4iPlRoZSBmaXJzdCBlaWdodCB3b3JkcyAo
ImVpZ2h0IiBoYXMgYSBkZXNjZW5kZXIpPC9TUEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBi
ZSAxMnB0IGluIHNpemUgYW5kIHRleHQtYm90dG9tLWFsaWduZWQsIHdoaWNoIHNob3VsZCBhbGln
biB0aGVpciBib3R0b20gd2l0aCB0aGUgYm90dG9tIG9mIHRoZSBsb3dlc3QgdGV4dCAoaW5jbHVk
aW5nIGRlc2NlbmRlcnMpIGluIHRoZSBsaW5lLgorPC9TUEFOPgorPC9QPgorPFA+Cis8SU1HIFNS
Qz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1MCI+Cis8
U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyMDAlOyI+Cis8U1BBTiBjbGFzcz0iZWlnaHQiPlRoZSBm
aXJzdCBmb3VyIHdvcmRzPC9TUEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSAxMnB0IGlu
IHNpemUgYW5kIGJhc2VsaW5lLWFsaWduZWQsIHdoaWNoIHNob3VsZCBhbGlnbiB0aGVpciBiYXNl
bGluZSB3aXRoIHRoZSBiYXNlbGluZSBvZiB0aGUgcmVzdCBvZiB0aGUgdGV4dCBpbiB0aGUgbGlu
ZS4KKzwvU1BBTj4KKzwvUD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lm
IiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiPjxTUEFOIGNsYXNzPSJuaW5lIj5UaGUgZmlyc3Qg
Zm91ciB3b3JkczwvU1BBTj4gaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgaGF2ZSBhIGZvbnQtc2l6
ZSBvZiAxMnB4IGFuZCBhIGxpbmUtaGVpZ2h0IG9mIDE2cHg7IHRoZXkgYXJlIGFsc28gNTAlLWFs
aWduZWQsIHdoaWNoIHNob3VsZCByYWlzZSB0aGVtIDhweCByZWxhdGl2ZSB0byB0aGUgbmF0dXJh
bCBiYXNlbGluZS4KKzwvUD4KKzxQPgorSW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGgsIGFsbCBp
bWFnZXMgc2hvdWxkIGJlIGFsaWduZWQgd2l0aCB0aGUgdG9wIG9mIHRoZSAxNC1wb2ludCB0ZXh0
LCB3aGljaCBpcyBpZGVudGljYWwgdG8gdGhlIGZpcnN0IHNlY3Rpb24gb2YgdGV4dCwgd2hlcmVh
cyBhbnkgc2l6ZSB0ZXh0IHNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIHRleHQgYmFzZWxpbmUg
KHdoaWNoIGlzIHRoZSBkZWZhdWx0IHZhbHVlKS4KKzwvUD4KKzxQIGNsYXNzPSJleGFtcGxlIj4K
K1RoaXMgcGFyYWdyYXBoCis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0i
W0ltYWdlXSIgaGVpZ2h0PSIzMCIgY2xhc3M9InR0b3BhbGlnbiI+Cis8U1BBTiBzdHlsZT0iZm9u
dC1zaXplOiAyNTAlOyI+Y29udGFpbnMgbWFueSBpbWFnZXM8L1NQQU4+Cis8SU1HIFNSQz0iLi4v
cmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1MCIgY2xhc3M9InR0
b3BhbGlnbiI+Cis8QklHPm9mIHZhcnlpbmcgaGVpZ2h0czwvQklHPgorPElNRyBTUkM9Ii4uL3Jl
c291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMTAiIGNsYXNzPSJ0dG9w
YWxpZ24iPgorPFNNQUxMPmFuZCB3aWR0aHM8L1NNQUxMPgorPElNRyBTUkM9Ii4uL3Jlc291cmNl
cy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMjAiIGNsYXNzPSJ0dG9wYWxpZ24i
PgorYWxsIG9mIHdoaWNoCis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0i
W0ltYWdlXSIgaGVpZ2h0PSI2NSIgY2xhc3M9InR0b3BhbGlnbiI+Cis8U1BBTiBzdHlsZT0iZm9u
dC1zaXplOiAyZW07Ij5zaG91bGQgYmUgYWxpZ25lZDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNv
dXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjM1IiBjbGFzcz0idHRvcGFs
aWduIj4KK3dpdGggdGhlIHRvcCBvZgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lm
IiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMzAiIGNsYXNzPSJ0dG9wYWxpZ24iPgorPFNQQU4gc3R5
bGU9ImZvbnQtc2l6ZTogMTUwJTsiPmEgPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjUwJTsiPjE0
LXBvaW50PC9TUEFOPiB0ZXh0IGVsZW1lbnQ8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2Vz
L3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1MCIgY2xhc3M9InR0b3BhbGlnbiI+
Cis8U01BTEw+cmVnYXJkbGVzcyBvZiB0aGUgbGluZSBpbiB3aGljaDwvU01BTEw+Cis8SU1HIFNS
Qz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIxNSIgY2xh
c3M9InR0b3BhbGlnbiI+Cis8QklHPnRoZSBpbWFnZXMgYXBwZWFyLjwvQklHPgorPElNRyBTUkM9
Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iOTAiIGNsYXNz
PSJ0dG9wYWxpZ24iPgorPC9QPgorPFAgY2xhc3M9ImV4cGxhaW4iPgorSW4gdGhlIGZvbGxvd2lu
ZyBwYXJhZ3JhcGgsIGFsbCBpbWFnZXMgc2hvdWxkIGJlIGFsaWduZWQgd2l0aCB0aGUgbWlkZGxl
IG9mIHRoZSBkZWZhdWx0IHRleHQsIHdoZXJlYXMgYW55IHRleHQgc2hvdWxkIGJlIGFsaWduZWQg
d2l0aCB0aGUgdGV4dCBiYXNlbGluZSAod2hpY2ggaXMgdGhlIGRlZmF1bHQgdmFsdWUpLgorPC9Q
PgorPFA+CitUaGlzIHBhcmFncmFwaAorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lm
IiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMzAiIGNsYXNzPSJtaWRhbGlnbiI+Cis8U1BBTiBzdHls
ZT0iZm9udC1zaXplOiAyNTAlOyI+Y29udGFpbnMgbWFueSBpbWFnZXM8L1NQQU4+Cis8SU1HIFNS
Qz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1MCIgY2xh
c3M9Im1pZGFsaWduIj4KK29mIHZhcnlpbmcgaGVpZ2h0cworPElNRyBTUkM9Ii4uL3Jlc291cmNl
cy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMTAiIGNsYXNzPSJtaWRhbGlnbiI+
Cis8U01BTEw+YW5kIHdpZHRoczwvU01BTEw+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFu
ay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIyMCIgY2xhc3M9Im1pZGFsaWduIj4KK2FsbCBv
ZiB3aGljaAorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0i
IGhlaWdodD0iNjUiIGNsYXNzPSJtaWRhbGlnbiI+CitzaG91bGQgYmUgYWxpZ25lZAorPElNRyBT
UkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMzUiIGNs
YXNzPSJtaWRhbGlnbiI+Cis8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyZW07Ij53aXRoIHRoZSBt
aWRkbGUgb2Y8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0i
W0ltYWdlXSIgaGVpZ2h0PSI1MCIgY2xhc3M9Im1pZGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250
LXNpemU6IDE1MCU7Ij5hIDxTUEFOIHN0eWxlPSJmb250LXNpemU6IDI1MCU7Ij4xNC1wb2ludDwv
U1BBTj4gdGV4dCBlbGVtZW50PC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92Ymxhbmsu
Z2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiIGNsYXNzPSJtaWRhbGlnbiI+Cis8U01BTEw+
cmVnYXJkbGVzcyBvZiB0aGUgbGluZSBpbiB3aGljaDwvU01BTEw+Cis8SU1HIFNSQz0iLi4vcmVz
b3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIxNSIgY2xhc3M9Im1pZGFs
aWduIj4KKzxCSUc+dGhlIGltYWdlcyBhcHBlYXIuPC9CSUc+Cis8SU1HIFNSQz0iLi4vcmVzb3Vy
Y2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI5MCIgY2xhc3M9Im1pZGFsaWdu
Ij4KKzwvUD4KKzxQIGNsYXNzPSJleHBsYWluIj4KK0luIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBo
LCBhbGwgZWxlbWVudHMgc2hvdWxkIGJlIGFsaWduZWQgd2l0aCB0aGUgdG9wIG9mIHRoZSB0YWxs
ZXN0IGVsZW1lbnQgb24gdGhlIGxpbmUsIHdoZXRoZXIgdGhhdCBlbGVtZW50IGlzIGFuIGltYWdl
IG9yIG5vdC4gIEVhY2ggZnJhZ21lbnQgb2YgdGV4dCBoYXMgYmVlbiBTUEFObmVkIGFwcHJvcHJp
YXRlbHkgaW4gb3JkZXIgdG8gY2F1c2UgdGhpcyB0byBoYXBwZW4uCis8L1A+Cis8UD4KKzxTUEFO
IGNsYXNzPSJ0b3BhbGlnbiI+VGhpcyBwYXJhZ3JhcGg8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVz
b3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIxMCIgY2xhc3M9InRvcGFs
aWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDI1MCU7IiBjbGFzcz0idG9wYWxpZ24iPmNv
bnRhaW5zIG1hbnkgaW1hZ2VzPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92Ymxhbmsu
Z2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMTAiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8U1BBTiBj
bGFzcz0idG9wYWxpZ24iPmFuZCBzb21lIHRleHQ8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3Vy
Y2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIxMCIgY2xhc3M9InRvcGFsaWdu
Ij4KKzxTUEFOIGNsYXNzPSJ0b3BhbGlnbiI+b2YgdmFyeWluZyBoZWlnaHRzPC9TUEFOPgorPElN
RyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMTAi
IGNsYXNzPSJ0b3BhbGlnbiI+Cis8QklHIGNsYXNzPSJ0b3BhbGlnbiI+YW5kIHdpZHRoczwvQklH
PgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdo
dD0iMjAiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8U1BBTiBjbGFzcz0idG9wYWxpZ24iPmFsbCBvZiB3
aGljaDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1h
Z2VdIiBoZWlnaHQ9IjY1IiBjbGFzcz0idG9wYWxpZ24iPgorPFNQQU4gY2xhc3M9InRvcGFsaWdu
Ij5zaG91bGQgYmUgYWxpZ25lZDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5r
LmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjM1IiBjbGFzcz0idG9wYWxpZ24iPgorPFNQQU4g
c3R5bGU9ImZvbnQtc2l6ZTogMmVtOyIgY2xhc3M9InRvcGFsaWduIj53aXRoIHRoZSB0b3Agb2Y8
L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIg
aGVpZ2h0PSI1MCIgY2xhc3M9InRvcGFsaWduIj4KKzxTUEFOIGNsYXNzPSJ0b3BhbGlnbiI+dGhl
IHRhbGxlc3QgZWxlbWVudCBpbjwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5r
LmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjE1IiBjbGFzcz0idG9wYWxpZ24iPgorPEJJRyBj
bGFzcz0idG9wYWxpZ24iPndoaWNoZXZlciBsaW5lIHRoZSBlbGVtZW50cyBhcHBlYXIuPC9CSUc+
Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0
PSI5MCIgY2xhc3M9InRvcGFsaWduIj4KKzwvUD4KKzwvVEQ+PC9UUj48L1RBQkxFPjwvQk9EWT4K
KzwvSFRNTD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120414</attachid>
            <date>2011-12-22 17:05:34 -0800</date>
            <delta_ts>2012-01-02 20:58:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57082-20111223120530.patch</filename>
            <type>text/plain</type>
            <size>181170</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTk0N2M2ZjNjYmExNzFi
N2ExYWJhMWU0MmUzOGIwZGQxYmQ5ZjgxNS4uZGYwMDY5ZDVkNmZkYjlhYjNhOWY1YjFhYjgyMWJh
OTNiZjJhYjUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMCBAQAorMjAxMS0xMi0yMiAgTWlr
ZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBjYWxj
IHBhcnNpbmcgc3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3MDgyCisKKyAgICAgICAgVGhpcyBpcyB0aGUgcGFyc2luZyBzdGFnZSBvZiBjYWxj
LiBUaGUgZXhwcmVzc2lvbnMgYXJlIGV2YWx1YXRlZCBhbmQgCisgICAgICAgIGV4cHJlc3Npb24g
dHJlZXMgYXJlIGdlbmVyYXRlZC4gQ1NTIHZhbHVlcyBhcmUgbm90IGNyZWF0ZWQgeWV0IC0gdGhh
dAorICAgICAgICB3aWxsIGhhcHBlbiBpbiBhIHN1YnNlcXVlbnQgY29tbWl0LiAKKworICAgICAg
ICBOb3RlIHRoYXQgUkdCIGFuZCBIU0wgdmFsdWVzIGFyZSBjcmVhdGVkLCBhcyB0aGVzZSBtdXN0
IGJlIGV2YWx1YXRlZCB0bworICAgICAgICBhIHNpbXBsZSBudW1iZXIgYXQgcGFyc2UgdGltZS4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czog
Y3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5n
Lmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Ut
b3V0c2V0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9i
bG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGNzczMv
Y2FsYy9ib3JkZXItcmFkaXVzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAg
IGNzczMvY2FsYy9ib3JkZXItcmFkaXVzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9i
b3JkZXItc3BhY2luZy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYm9yZGVyLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy9jb2xvci1oc2wuaHRtbAorICAgICAgICAgICAgICAg
Y3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvY3NzMy1y
YWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAgIGNz
czMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9j
YWxjL2ZvbnQtbW9ub3NwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9mb250LXNp
emUtZnJhY3Rpb25hbC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZm9udC1zaXplLmh0
bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9mb250Lmh0bWwKKyAgICAgICAgICAgICAgIGNz
czMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLmh0bWwKKyAgICAgICAg
ICAgICAgIGNzczMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMuaHRtbAor
ICAgICAgICAgICAgICAgY3NzMy9jYWxjL2ltZy1zaXplLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy9pbWctc2l6ZS5odG1sCisgICAgICAgICAgICAgICBj
c3MzL2NhbGMvbGluZS1oZWlnaHQuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL21hcmdp
bi5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvcGFkZGluZy5odG1sCisgICAgICAgICAg
ICAgICBjc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS5odG1sCisgICAgICAgICAg
ICAgICBjc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay5odG1s
CisgICAgICAgICAgICAgICBjc3MzL2NhbGMvdGFibGUtY2FsY3MuaHRtbAorICAgICAgICAgICAg
ICAgY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAg
ICAgICAgICAgICAgIGNzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy5odG1sCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAg
ICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3Mv
Q1NTQ2FsY1ZhbHVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp1bml0Q2F0ZWdvcnkp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y2xhbXBUb1JhbmdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNWYWx1ZTo6ZG91YmxlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlOjp+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNQcmltaXRpdmVWYWx1ZTo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQ
cmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0
aXZlVmFsdWU6OmRvdWJsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aFB4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmlt
aXRpdmVWYWx1ZTo6Y29tcHV0ZVBlcmNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1By
aW1pdGl2ZVZhbHVlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNCaW5hcnlPcGVyYXRpb246OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uOjpkb3VibGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NhbGNCaW5hcnlPcGVyYXRpb246OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNNaW5NYXhMaXN0OjpDU1NDYWxjTWluTWF4TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDYWxjTWluTWF4TGlzdDo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNNaW5N
YXhMaXN0OjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01pbk1heExpc3Q6OmRv
dWJsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OmNoZWNrRGVwdGhBbmRJbmRleCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlQ2FsYyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlTWluTWF4
TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6Om9w
ZXJhdG9yVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFy
c2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9k
ZVBhcnNlcjo6cGFyc2VWYWx1ZVRlcm0pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyOjpwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VBZGRpdGl2
ZVZhbHVlRXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5v
ZGVQYXJzZXI6OnBhcnNlVmFsdWVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHBy
ZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VWYWx1ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ2FsY1ZhbHVlOjpjcmVhdGUpOgorICAgICAgICAqIGNzcy9DU1NDYWxjVmFsdWUuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6OmNhdGVnb3J5
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6aXNJbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlOjpDU1NDYWxjRXhwcmVzc2lvbk5v
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjYXRlZ29yeSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmlzSW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNWYWx1ZTo6Q1NTQ2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6dmFsaWRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cGFyc2VWYWxpZFByaW1pdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJz
ZUZpbGxQb3NpdGlvbkNvbXBvbmVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBh
cnNlZERvdWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmlzQ2FsY01pbk1heCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNvbG9ySW50RnJvbVZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRlcnMpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93UGFyc2VDb250ZXh0OjpTaGFkb3dQYXJzZUNvbnRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRMZW5ndGgpOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlU2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xp
Y2VQYXJzZUNvbnRleHQ6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQpOgorICAgICAgICAo
V2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29tbWl0TnVtYmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQ6OmNvbW1pdEJvcmRl
ckltYWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJvcmRlcklt
YWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0
OjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVy
SW1hZ2VRdWFkUGFyc2VDb250ZXh0Ojpjb21taXROdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6
Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0Ojpjb21taXRCb3JkZXJJbWFnZVF1YWQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUXVhZCk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ2FsYyk6CisgICAgICAgICogY3NzL0NTU1BhcnNl
ci5oOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NW
YWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6Cisg
ICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXND
YWxjVmFsdWUpOgorICAgICAgICAqIGNzcy9TVkdDU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVNWR1ZhbHVlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxj
VmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxjVmFsdWUuaDogQWRkZWQu
CisKIDIwMTEtMTItMjEgIE1hdHQgRmFsa2VuaGFnZW4gIDxmYWxrZW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIEFkZCBhbGwgSUNVIGxhbmd1YWdlcyB0byBMb2NhbGVUb1NjcmlwdE1hcHBpbmdE
ZWZhdWx0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwZWZjYzQ1ZmNjNGE3OWUzOTJjYWYw
ZWFjNDAwOWQ3NDBkMjZkZDA0Li41YmVhNjJiYmJlYWUyMmJmMjAxOTc1NmU0YzMwMTRkNmRjNWQ0
MTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDI1LDYgKzQyNSw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAKICAgICBjc3MvQ1NTQm9y
ZGVySW1hZ2VWYWx1ZS5jcHAKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAor
ICAgIGNzcy9DU1NDYWxjVmFsdWUuY3BwCiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcAogICAg
IGNzcy9DU1NDaGFyc2V0UnVsZS5jcHAKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcApAQCAtMTAzMiw2ICsxMDMzLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHBh
Z2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcAogCiAgICAgcGxhdGZvcm0vQXJlbmEu
Y3BwCisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcAogICAgIHBsYXRmb3JtL0Nsb2NrLmNwcAog
ICAgIHBsYXRmb3JtL0NvbnRleHRNZW51LmNwcAogICAgIHBsYXRmb3JtL0NvbnRleHRNZW51SXRl
bS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDZhOGIyNjYzY2IwMzJlNGI1
NDI1YTM5NmNhZWExOWM3ZmQzNWFmNDUuLjVlZWM1NmQ3YzVlZjJhOTRlNGZlOTJhMTcwYmQ3ZmI3
NmU0OWEzOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
KysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtOTgxLDYgKzk4MSw4
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1Zh
bHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q2FsY1ZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwIFwKQEAgLTI0NzMsNiArMjQ3NSw4IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxl
U3lzdGVtLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9DYWxjVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2xvY2suY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DbG9jay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9DbG9ja0dlbmVyaWMuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IGQ4ZWQ1OGYwOGUxNWMyMjc3MDQ4
MDYxYWQ0NDMxMTRkNTdmYTQ2MzMuLjE2ODhhMTVkOTlkODQ5MjQwYjJlNzZiNDZlZjljYzgyNzRm
NWUxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMzkzLDYgKzM5Myw3IEBAIFNPVVJDRVMgKz0gXAogICAg
IGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCBcCisgICAgY3Nz
L0NTU0NhbGNWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAgXAogICAgIGNz
cy9DU1NDaGFyc2V0UnVsZS5jcHAgXAogICAgIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwIFwKQEAgLTEwMjAsNiArMTAyMSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3Jt
L3RleHQvTG9jYWxpemVkRGF0ZU5vbmUuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L0xvY2FsaXpl
ZE51bWJlck5vbmUuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L1F1b3RlZFByaW50YWJsZS5jcHAg
XAorICAgIHBsYXRmb3JtL0NhbGNWYWx1ZS5jcHAgXAogICAgIHBsYXRmb3JtL0Nsb2NrLmNwcCBc
CiAgICAgcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmNwcCBcCiAgICAgcGxhdGZvcm0vQ29udGVudFR5
cGUuY3BwIFwKQEAgLTE0OTYsNiArMTQ5OCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGNzcy9DU1NB
c3BlY3RSYXRpb1ZhbHVlLmggXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCBc
CiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBcCisgICAgY3NzL0NTU0NhbGNWYWx1ZS5o
IFwKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuaCBcCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmgg
XAogICAgIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCBcCkBAIC0yMDYyLDYgKzIw
NjUsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uVXRp
bGl0aWVzLmggXAogICAgIHBsYXRmb3JtL0FyZW5hLmggXAogICAgIHBsYXRmb3JtL0FzeW5jRmls
ZVN0cmVhbS5oIFwKKyAgICBwbGF0Zm9ybS9DYWxjVmFsdWUuaCBcCiAgICAgcGxhdGZvcm0vQ2xv
Y2suaCBcCiAgICAgcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmggXAogICAgIHBsYXRmb3JtL0NvbnRl
bnRUeXBlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCAyYzhiMjA4MTRlNGI3NWM5Yjg2MTNi
M2Q5ODNkOGUwOTEyZDM0MWUwLi42YmUyYzJlY2E2Yjg0MTlkZWMwZWUyMzc1NmQwNjc3ODI3YTlh
NzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtODY1LDYgKzg2NSw3IEBAIF9fWk43V2ViQ29y
ZTZFZGl0b3I3Q29tbWFuZEMxRXYKIF9fWk43V2ViQ29yZTZFZGl0b3I3Y29tbWFuZEVSS04zV1RG
NlN0cmluZ0UKIF9fWk43V2ViQ29yZTZFZGl0b3I3b3V0ZGVudEV2CiBfX1pON1dlYkNvcmU2SlNO
b2RlNnNfaW5mb0UKK19fWk43V2ViQ29yZTZMZW5ndGhEMUV2CiBfX1pON1dlYkNvcmU2UmVnaW9u
NXVuaXRlRVJLUzBfCiBfX1pON1dlYkNvcmU2UmVnaW9uOHN1YnRyYWN0RVJLUzBfCiBfX1pON1dl
YkNvcmU2UmVnaW9uOWludGVyc2VjdEVSS1MwXwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGZjZGY1Yjhi
MzI1MDE5ZGQ4NDJjMjdlYTU4NTkwZDJlZTZlZTQ5MzUuLjI1OGVkN2ZlYjlhY2QzZTJjM2QyMmY0
MTlmODY4OWQ4ODhhM2IyZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzNzIsNiArMjM3Miw4IEBA
CiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oJywKICAgICAgICAg
ICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2FudmFz
VmFsdWUuaCcsCisgICAgICAgICAgICAnY3NzL0NTU0NhbGNWYWx1ZS5jcHAnLAorICAgICAgICAg
ICAgJ2Nzcy9DU1NDYWxjVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxl
LmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxlLmgnLAogICAgICAgICAgICAg
J2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwJywKQEAgLTMwOTUsNiArMzA5Nyw4
IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vQ2FsY1Zh
bHVlLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vQ2FsY1ZhbHVlLmgnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL0Nsb2NrLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ2xvY2suaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vQ29udGVudFR5cGUuY3BwJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZTAxOTgwMTIyNGE2MTVlOThh
NTFlZmRiMDIyOGEyMzllOGY3Nzg5ZC4uZjJkYTcxZTQ4NjMyMTFmOGExOWViNDQ2MjMwYzk1Yjg2
ZDEzMDJiZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKQEAgLTI2Mzc0LDYgKzI2Mzc0LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENhbGNWYWx1ZS5jcHAiCisJCQkJPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENhbGNWYWx1
ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxw
bGF0Zm9ybVxDbG9jay5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzI2NzQsNiArMzI2ODIs
MTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Y3NzXENTU0NhbGNWYWx1ZS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NDYWxjVmFsdWUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0NhbnZhc1ZhbHVlLmNwcCIKIAkJ
CQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTgwYWEzMzA3MTgxNDlhMzdjM2U5MDky
NjVkNmE5YWM3MmY1NjU4Ny4uNzRmN2Q1MzYyNTAzY2FhYzY1YjM0MjJlYWExNGI5NGM4NWM1MTMx
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTIyMiw2ICsxMjIyLDEwIEBACiAJCTQ5OUIzRUQ2MTI4Q0QzMTQwMEU3MjZDMiAv
KiBHcmFwaGljc0xheWVyQ0EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDk5QjNFRDQxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5j
cHAgKi87IH07CiAJCTQ5OUIzRUQ3MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0Eu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OUIzRUQ1
MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTlCM0VERDEyOERCNTAyMDBFNzI2QzIg
LyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDk5QjNFREMxMjhEQjUwMTAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FBbmlt
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQk0OUFFMkQ4RTEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhDMTM0RUU1MEMwMDcy
OTIwQSAvKiBDU1NDYWxjVmFsdWUuY3BwICovOyB9OworCQk0OUFFMkQ4RjEzNEVFNTBDMDA3Mjky
MEEgLyogQ1NTQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggKi87
IH07CisJCTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRTJEOTQxMzRFRTVGOTAw
NzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgKi87IH07CisJCTQ5QUUyRDk3MTM0RUU1RjkwMDcyOTIw
QSAvKiBDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCAqLzsgfTsKIAkJ
NDlBRjJENjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRjJENjgxNDQzNUQw
NTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oICovOyB9OwogCQk0OUFGMkQ2QzE0
NDM1RDIxMDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUYyRDZCMTQ0MzVEMjEwMDE2
QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwICovOyB9OwogCQk0OUM3Qjk5MzEw
NDJEMkQzMDAwOUQ0NDcgLyogSlNXZWJHTEJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3Qjk4MDEwNDJEMkQzMDAwOUQ0NDcgLyogSlNX
ZWJHTEJ1ZmZlci5jcHAgKi87IH07CkBAIC04NDYxLDYgKzg0NjUsMTAgQEAKIAkJNDk5QjNFRDQx
MjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBHcmFwaGljc0xheWVyQ0EuY3BwOyBwYXRoID0gY2EvR3JhcGhp
Y3NMYXllckNBLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk5QjNFRDUxMjhD
RDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBHcmFwaGljc0xheWVyQ0EuaDsgcGF0aCA9IGNhL0dyYXBoaWNzTGF5ZXJDQS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTlCM0VEQzEyOERCNTAxMDBFNzI2QzIg
LyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBQbGF0Zm9ybUNBQW5pbWF0aW9uLmg7IHBhdGggPSBjYS9QbGF0Zm9ybUNBQW5pbWF0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QUUyRDhDMTM0RUU1MEMwMDcyOTIwQSAv
KiBDU1NDYWxjVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q1NTQ2FsY1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOEQx
MzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NDYWxjVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDlBRTJEOTQxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxjVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0OUFFMkQ5NTEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0OUFGMkQ2ODE0NDM1RDA1MDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hN
b25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpc3BsYXlSZWZyZXNo
TW9uaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUFGMkQ2QjE0NDM1RDIx
MDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QzdCOTgwMTA0MkQyRDMwMDA5RDQ0NyAvKiBKU1dl
YkdMQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2Vi
R0xCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAyNDQsNiArMjAy
NTIsOCBAQAogCQkJCTg5RDA4RDlEMTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0ZpbGVTeXN0ZW0u
aCAqLywKIAkJCQk4OUQwOEQ5RTEyMjI4NDUxMDAxMjQxREYgLyogQXN5bmNGaWxlU3lzdGVtQ2Fs
bGJhY2tzLmggKi8sCiAJCQkJNTFFMUVDQjEwQzkxQzU1NjAwREMyNTVCIC8qIEF1dG9kcmFpbmVk
UG9vbC5oICovLAorCQkJCTQ5QUUyRDk0MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3Bw
ICovLAorCQkJCTQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCAqLywKIAkJ
CQlDMzMwQTIyMTEzRUMxOTZCMDAwMEI0NUIgLyogQ29sb3JDaG9vc2VyLmggKi8sCiAJCQkJQzM3
Q0RFQkMxNDlFRjIwMzAwNDIwOTBEIC8qIENvbG9yQ2hvb3NlckNsaWVudC5oICovLAogCQkJCUJD
QzhDRkNBMDk4NkNEMjQwMDE0MEJGMiAvKiBDb2xvckRhdGEuZ3BlcmYgKi8sCkBAIC0yMDc5Nyw2
ICsyMDgwNyw4IEBACiAJCQkJQTgwRTZDREQwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRlcklt
YWdlVmFsdWUuaCAqLywKIAkJCQlCQzI3NEIzMDE0MEVCRUQ4MDBFQURGQTYgLyogQ1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlLmNwcCAqLywKIAkJCQlCQzI3NEIyRTE0MEVCRUIyMDBFQURGQTYgLyog
Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmggKi8sCisJCQkJNDlBRTJEOEMxMzRFRTUwQzAwNzI5
MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAgKi8sCisJCQkJNDlBRTJEOEQxMzRFRTUwQzAwNzI5MjBB
IC8qIENTU0NhbGNWYWx1ZS5oICovLAogCQkJCUJDNjA0QTQyMERCNTYzNEUwMDIwNDczOSAvKiBD
U1NDYW52YXNWYWx1ZS5jcHAgKi8sCiAJCQkJQkM2MDQ5Q0IwREI1NjBDMjAwMjA0NzM5IC8qIENT
U0NhbnZhc1ZhbHVlLmggKi8sCiAJCQkJRTFFQkJCRDMwQUFDOUI4NzAwMUZFOEUyIC8qIENTU0No
YXJzZXRSdWxlLmNwcCAqLywKQEAgLTIyMDM3LDYgKzIyMDQ5LDcgQEAKIAkJCQlEMEJDNTQ0OTE0
NDNBQzRBMDBFMTA1REEgLyogQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNCMTZDMjgwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuaCBp
biBIZWFkZXJzICovLAogCQkJCTkzRjE5OTUwMDgyNDVFNTkwMDFFOUFCQyAvKiBDYWNoZVBvbGlj
eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDlBRTJEOTcxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNW
YWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFENUVDQjUxMzRCNThEQTAwODdDNzhGIC8qIENh
bGxiYWNrRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTZFNEU5MUFEMTBGN0ZCMzEwMEEy
Nzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk0
ODRGQzIxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmggaW4gSGVhZGVycyAqLywK
QEAgLTIyMTE5LDYgKzIyMTMyLDcgQEAKIAkJCQlFMTY5ODAzRDExMzM1NDJEMDA4OTQxMTUgLyog
Q1J1bnRpbWVPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NUNBMjhCMTMwMzY1RjgwMEU5
OUFEOSAvKiBDcnlwdG8uaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2RDA3MEExOTg5Q0EwMDdG
QjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0OUFFMkQ4
RjEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzYwNDlDQzBEQjU2MEMyMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4MEU2Q0Y5MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NDaGFyc2V0UnVsZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkNFQTQ3OTAwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTAzMiw2ICsyNTA0Niw3IEBACiAJ
CTA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKIAkJCWlz
YSA9IFBCWFByb2plY3Q7CiAJCQlhdHRyaWJ1dGVzID0geworCQkJCUJ1aWxkSW5kZXBlbmRlbnRU
YXJnZXRzSW5QYXJhbGxlbCA9IFlFUzsKIAkJCQlMYXN0VXBncmFkZUNoZWNrID0gMDQ0MDsKIAkJ
CX07CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5QzI4NDMwODkwMkIxMTAwOEE5RUZD
IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIgKi87
CkBAIC0yNTQxOSw2ICsyNTQzNCw3IEBACiAJCQkJQkNCMTZDMjkwOTc5QzNCRDAwNDY3NzQxIC8q
IENhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjE2QzIzMDk3
OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRTY3JpcHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNC
MTZDMjcwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCMTgyNzQ5MzEzNENBNEMxMDBCOThDMkQgLyogQ2FsbGJhY2tGdW5j
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTRFOTFBQzEwRjdGQjMxMDBBMjc3OUMgLyog
Q2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0ODRGQzEx
MDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MjU0ODcsNiArMjU1MDMsNyBAQAogCQkJCUUxNjk4MDQ5MTEzMzY0NDcwMDg5NDExNSAvKiBDUnVu
dGltZU9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzVDQTI4QTEzMDM2NUY4MDBFOTlB
RDkgLyogQ3J5cHRvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU2Q0U1MEExOTg5Q0EwMDdG
QjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5QUUy
RDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkM2MDRBNDMwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUUxRUJCQkQ0MEFBQzlCODcwMDFGRThFMiAvKiBDU1NDaGFyc2V0UnVsZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDc4RjA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mN2I0ZWY5ZWQ1ODc5ZDQzYjA4OWEwMjBkNzA4MjY1
ZGVhOGNjYzE5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNW
YWx1ZS5jcHAKQEAgLTAsMCArMSw1MTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
Q1NTQ2FsY1ZhbHVlLmgiCisKKyNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCisjaW5jbHVk
ZSAiQ1NTVmFsdWVMaXN0LmgiCisjaW5jbHVkZSAiTGVuZ3RoLmgiCisKKyNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdCdWlsZGVyLmg+CisKK3N0YXRpYyBjb25zdCBpbnQgbWF4RXhwcmVzc2lvbkRlcHRo
ID0gMTAwOworCitlbnVtIFBhcnNlU3RhdGUgeworICAgIE9LLAorICAgIFRvb0RlZXAsCisgICAg
Tm9Nb3JlVG9rZW5zCit9OworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBDYWxjQ2F0
ZWdvcnkgdW5pdENhdGVnb3J5KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMgdHlwZSkKK3sK
KyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVN
QkVSOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSU5URUdFUjoKKyAg
ICAgICAgcmV0dXJuIENhbGNOdW1iZXI7CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X1BFUkNFTlRBR0U6CisgICAgICAgIHJldHVybiBDYWxjUGVyY2VudDsKKyAgICBjYXNlIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfRU1TOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19F
WFM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYOgorICAgIGNhc2UgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19DTToKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTU06
CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOOgorICAgIGNhc2UgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19QVDoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEM6Cisg
ICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6CisgICAgICAgIHJldHVybiBDYWxj
TGVuZ3RoOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBDYWxjT3RoZXI7CisgICAgfQor
fQorICAgIAorU3RyaW5nIENTU0NhbGNWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuICIiOworfQorICAgIAorZG91YmxlIENTU0NhbGNWYWx1ZTo6Y2xhbXBUb1Jhbmdl
KGRvdWJsZSB2YWx1ZSkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9ub25OZWdhdGl2ZSAmJiB2YWx1
ZSA8IDAgPyAwIDogdmFsdWU7Cit9ICAgIAorICAgIAorZG91YmxlIENTU0NhbGNWYWx1ZTo6ZG91
YmxlVmFsdWUoKSBjb25zdCAKK3sgCisgICAgcmV0dXJuIGNsYW1wVG9SYW5nZShtX2V4cHJlc3Np
b24tPmRvdWJsZVZhbHVlKCkpOworfQorICAgIAorQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlOjp+Q1NT
Q2FsY0V4cHJlc3Npb25Ob2RlKCkgCit7Cit9CisgICAgCitjbGFzcyBDU1NDYWxjUHJpbWl0aXZl
VmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNQcmltaXRpdmVWYWx1ZT4gY3JlYXRlKENTU1ByaW1pdGl2
ZVZhbHVlKiB2YWx1ZSwgYm9vbCBpc0ludCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKHZhbHVlLCBpc0ludCkpOworICAgIH0KKyAgICAK
KyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAh
bV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFN0cmluZyBj
c3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVlLT5jc3NUZXh0KCk7
CisgICAgfQorCisgICAgdmlydHVhbCBkb3VibGUgZG91YmxlVmFsdWUoKSBjb25zdAorICAgIHsK
KyAgICAgICAgc3dpdGNoIChtX2NhdGVnb3J5KSB7CisgICAgICAgIGNhc2UgQ2FsY051bWJlcjoK
KyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDogICAgICAgICAgICAgICAgCisgICAgICAgICAgICBy
ZXR1cm4gbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICAgICAgY2FzZSBDYWxjTGVuZ3Ro
OgorICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBjYXNlIENhbGNQZXJj
ZW50TnVtYmVyOgorICAgICAgICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIAorICAg
IHZpcnR1YWwgZG91YmxlIGNvbXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSogY3VyclN0eWxlLCBS
ZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdG
b250U2l6ZSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAobV9jYXRlZ29yeSkgeworICAg
ICAgICBjYXNlIENhbGNMZW5ndGg6CisgICAgICAgICAgICByZXR1cm4gbV92YWx1ZS0+Y29tcHV0
ZUxlbmd0aDxkb3VibGU+KGN1cnJTdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRp
bmdGb250U2l6ZSk7CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnQ6CisgICAgICAgIGNhc2UgQ2Fs
Y051bWJlcjoKKyAgICAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5nZXREb3VibGVWYWx1ZSgpOwor
ICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBjYXNlIENhbGNQZXJjZW50
TnVtYmVyOgorICAgICAgICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgCisgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsgICAgICAgIAorICAg
IH0KKyAgICAKKyAgICB2aXJ0dWFsIGRvdWJsZSBjb21wdXRlUGVyY2VudChkb3VibGUgb25lSHVu
ZHJlZFBlcmNlbnRWYWx1ZSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAobV9jYXRlZ29y
eSkgeworICAgICAgICBjYXNlIENhbGNOdW1iZXI6CisgICAgICAgICAgICByZXR1cm4gbV92YWx1
ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDogICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICByZXR1cm4gKG1fdmFsdWUtPmdldERvdWJsZVZhbHVlKCkgKiBv
bmVIdW5kcmVkUGVyY2VudFZhbHVlKSAvIDEwMC4wZjsKKyAgICAgICAgY2FzZSBDYWxjTGVuZ3Ro
OgorICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBjYXNlIENhbGNQZXJj
ZW50TnVtYmVyOgorICAgICAgICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgCisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cisg
ICAgCitwcml2YXRlOgorICAgIGV4cGxpY2l0IENTU0NhbGNQcmltaXRpdmVWYWx1ZShDU1NQcmlt
aXRpdmVWYWx1ZSogdmFsdWUsIGJvb2wgaXNJbnQpCisgICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Np
b25Ob2RlKHVuaXRDYXRlZ29yeSgoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2YWx1ZS0+
cHJpbWl0aXZlVHlwZSgpKSwgaXNJbnQpCisgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkgICAgICAg
ICAgICAgICAgIAorICAgIHsKKyAgICB9CisKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IG1fdmFsdWU7Cit9OworCitzdGF0aWMgY29uc3QgQ2FsY0NhdGVnb3J5IGFkZFN1YnRyYWN0UmVz
dWx0W0NhbGNPdGhlcl1bQ2FsY090aGVyXSA9IHsKKyAgICB7Q2FsY051bWJlciwgICAgICAgIENh
bGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudE51bWJlciwgQ2FsY1BlcmNlbnROdW1iZXIsIENh
bGNPdGhlcn0sCisgICAge0NhbGNPdGhlciwgICAgICAgICBDYWxjTGVuZ3RoLCAgICAgICAgQ2Fs
Y1BlcmNlbnRMZW5ndGgsIENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudExlbmd0aH0sCisg
ICAge0NhbGNQZXJjZW50TnVtYmVyLCBDYWxjUGVyY2VudExlbmd0aCwgQ2FsY1BlcmNlbnQsICAg
ICAgIENhbGNQZXJjZW50TnVtYmVyLCBDYWxjUGVyY2VudExlbmd0aH0sCisgICAge0NhbGNQZXJj
ZW50TnVtYmVyLCBDYWxjT3RoZXIsICAgICAgICAgQ2FsY1BlcmNlbnROdW1iZXIsIENhbGNQZXJj
ZW50TnVtYmVyLCBDYWxjT3RoZXJ9LAorICAgIHtDYWxjT3RoZXIsICAgICAgICAgQ2FsY1BlcmNl
bnRMZW5ndGgsIENhbGNQZXJjZW50TGVuZ3RoLCBDYWxjT3RoZXIsICAgICAgICAgQ2FsY1BlcmNl
bnRMZW5ndGh9LAorfTsgICAgCisgICAgCitjbGFzcyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uIDog
cHVibGljIENTU0NhbGNFeHByZXNzaW9uTm9kZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQdHI8Q1NTQ2FsY0V4
cHJlc3Npb25Ob2RlPiBsZWZ0U2lkZSwgUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+
IHJpZ2h0U2lkZSwgQ2FsY09wZXJhdG9yIG9wKQorICAgIHsKKyAgICAgICAgQ2FsY0NhdGVnb3J5
IGxlZnRDYXRlZ29yeSA9IGxlZnRTaWRlLT5jYXRlZ29yeSgpOworICAgICAgICBDYWxjQ2F0ZWdv
cnkgcmlnaHRDYXRlZ29yeSA9IHJpZ2h0U2lkZS0+Y2F0ZWdvcnkoKTsKKyAgICAgICAgQ2FsY0Nh
dGVnb3J5IG5ld0NhdGVnb3J5ID0gQ2FsY090aGVyOworICAgICAgICAKKyAgICAgICAgQVNTRVJU
KGxlZnRDYXRlZ29yeSAhPSBDYWxjT3RoZXIgJiYgcmlnaHRDYXRlZ29yeSAhPSBDYWxjT3RoZXIp
OworICAgICAgICAKKyAgICAgICAgc3dpdGNoIChvcCkgeworICAgICAgICBjYXNlIENhbGNBZGQ6
CisgICAgICAgIGNhc2UgQ2FsY1N1YnRyYWN0OiAgICAgICAgICAgICAKKyAgICAgICAgICAgIGlm
IChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY090aGVyIHx8IHJpZ2h0Q2F0ZWdvcnkgPT0gQ2FsY090aGVy
KQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBh
ZGRTdWJ0cmFjdFJlc3VsdFtsZWZ0Q2F0ZWdvcnldW3JpZ2h0Q2F0ZWdvcnldOworICAgICAgICAg
ICAgYnJlYWs7ICAgCisgICAgICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2FsY011bHRpcGx5
OgorICAgICAgICAgICAgaWYgKGxlZnRDYXRlZ29yeSAhPSBDYWxjTnVtYmVyICYmIHJpZ2h0Q2F0
ZWdvcnkgIT0gQ2FsY051bWJlcikgCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gbGVmdENhdGVnb3J5ID09IENhbGNOdW1i
ZXIgPyByaWdodENhdGVnb3J5IDogbGVmdENhdGVnb3J5OworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2FsY0RpdmlkZToKKyAgICAgICAgY2FzZSBD
YWxjTW9kOgorICAgICAgICAgICAgaWYgKHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJlciB8fCBy
aWdodFNpZGUtPmlzWmVybygpKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAg
ICAgbmV3Q2F0ZWdvcnkgPSBsZWZ0Q2F0ZWdvcnk7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKG5ld0NhdGVnb3J5ID09IENhbGNPdGhlcikKKyAg
ICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgCisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbihsZWZ0U2lkZSwgcmlnaHRTaWRlLCBvcCwgbmV3
Q2F0ZWdvcnkpKTsKKyAgICB9CisgICAgCisgICAgdmlydHVhbCBib29sIGlzWmVybygpIGNvbnN0
CisgICAgeworICAgICAgICAvLyBGSVhNRSBjYWxjOiBXZSBjYW4gcmV0dXJuIHRydWUgZm9yIHNv
bWUgY2FzZXMgKGUuZy4sIDMgLSAzLCAzICogMCwgYW5kIGV0Yy4pCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0IAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRlKG1fbGVmdFNpZGUtPmRvdWJsZVZhbHVlKCks
IG1fcmlnaHRTaWRlLT5kb3VibGVWYWx1ZSgpKTsKKyAgICB9CisgICAgCitwcml2YXRlOgorICAg
IENTU0NhbGNCaW5hcnlPcGVyYXRpb24oUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+
IGxlZnRTaWRlLCBQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gcmlnaHRTaWRlLCBD
YWxjT3BlcmF0b3Igb3AsIENhbGNDYXRlZ29yeSBjYXRlZ29yeSkKKyAgICAgICAgOiBDU1NDYWxj
RXhwcmVzc2lvbk5vZGUoY2F0ZWdvcnksIGxlZnRTaWRlLT5pc0ludCgpICYmIHJpZ2h0U2lkZS0+
aXNJbnQoKSkKKyAgICAgICAgLCBtX2xlZnRTaWRlKGxlZnRTaWRlKQorICAgICAgICAsIG1fcmln
aHRTaWRlKHJpZ2h0U2lkZSkKKyAgICAgICAgLCBtX29wZXJhdG9yKG9wKQorICAgIHsKKyAgICB9
CisgICAgCisgICAgZG91YmxlIGV2YWx1YXRlKGRvdWJsZSBsZWZ0VmFsdWUsIGRvdWJsZSByaWdo
dFZhbHVlKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChtX29wZXJhdG9yKSB7CisgICAg
ICAgIGNhc2UgQ2FsY0FkZDoKKyAgICAgICAgICAgIHJldHVybiBsZWZ0VmFsdWUgKyByaWdodFZh
bHVlOworICAgICAgICBjYXNlIENhbGNTdWJ0cmFjdDoKKyAgICAgICAgICAgIHJldHVybiBsZWZ0
VmFsdWUgLSByaWdodFZhbHVlOworICAgICAgICBjYXNlIENhbGNNdWx0aXBseToKKyAgICAgICAg
ICAgIHJldHVybiBsZWZ0VmFsdWUgKiByaWdodFZhbHVlOworICAgICAgICBjYXNlIENhbGNEaXZp
ZGU6CisgICAgICAgICAgICBpZiAocmlnaHRWYWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
bGVmdFZhbHVlIC8gcmlnaHRWYWx1ZTsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNf
bGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOworICAgICAgICBjYXNlIENhbGNNb2Q6CisgICAg
ICAgICAgICBpZiAocmlnaHRWYWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8aW50PihsZWZ0VmFsdWUpICUgc3RhdGljX2Nhc3Q8aW50PihyaWdodFZhbHVlKTsKKyAgICAg
ICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwor
ICAgICAgICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4g
MDsKKyAgICB9CisgICAgCisgICAgY29uc3QgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4g
bV9sZWZ0U2lkZTsKKyAgICBjb25zdCBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBtX3Jp
Z2h0U2lkZTsKKyAgICBjb25zdCBDYWxjT3BlcmF0b3IgbV9vcGVyYXRvcjsKK307CisKK2NsYXNz
IENTU0NhbGNNaW5NYXhMaXN0IDogcHVibGljIENTU0NhbGNFeHByZXNzaW9uTm9kZSB7CitwdWJs
aWM6CisgICAgQ1NTQ2FsY01pbk1heExpc3QoQ2FsY0xpc3RUeXBlIHR5cGUpCisgICAgICAgIDog
Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKENhbGNPdGhlciwgZmFsc2UpCisgICAgICAgICwgbV9saXN0
VHlwZSh0eXBlKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29u
c3QKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBib29sIGFwcGVu
ZChQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gdmFsdWUpIAorICAgIHsKKyAgICAg
ICAgaWYgKCFtX2xpc3Quc2l6ZSgpKSB7CisgICAgICAgICAgICBtX2NhdGVnb3J5ID0gdmFsdWUt
PmNhdGVnb3J5KCk7CisgICAgICAgICAgICBtX2lzSW50ID0gdmFsdWUtPmlzSW50KCk7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX2NhdGVnb3J5ID0gYWRkU3VidHJhY3RSZXN1bHRb
bV9jYXRlZ29yeV1bdmFsdWUtPmNhdGVnb3J5KCldOworICAgICAgICAgICAgbV9pc0ludCA9IG1f
aXNJbnQgJiYgdmFsdWUtPmlzSW50KCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlm
IChtX2NhdGVnb3J5ID09IENhbGNPdGhlcikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgCisgICAgICAgIG1fbGlzdC5hcHBlbmQodmFsdWUpOworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0CisgICAg
eworICAgICAgICBpZiAobV9saXN0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICAKKyAgICAgICAgZG91YmxlIHJldHZhbCA9IG1fbGlzdFswXS0+ZG91YmxlVmFsdWUo
KTsKKyAgICAgICAgaWYgKG1fbGlzdFR5cGUgPT0gQ2FsY01pbikgeworICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgeworICAgICAgICAgICAg
ICAgIGRvdWJsZSBjdXJyZW50ID0gbV9saXN0W2ldLT5kb3VibGVWYWx1ZSgpOworICAgICAgICAg
ICAgICAgIGlmIChjdXJyZW50IDwgcmV0dmFsKQorICAgICAgICAgICAgICAgICAgICByZXR2YWwg
PSBjdXJyZW50OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgeworICAgICAgICAg
ICAgICAgIGRvdWJsZSBjdXJyZW50ID0gbV9saXN0W2ldLT5kb3VibGVWYWx1ZSgpOworICAgICAg
ICAgICAgICAgIGlmIChjdXJyZW50ID4gcmV0dmFsKQorICAgICAgICAgICAgICAgICAgICByZXR2
YWwgPSBjdXJyZW50OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIAorICAgICAg
ICByZXR1cm4gcmV0dmFsOworICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAgQ2FsY0xpc3RUeXBl
IG1fbGlzdFR5cGU7CisgICAgVmVjdG9yPFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+ID4g
bV9saXN0OworfTsKKworc3RhdGljIFBhcnNlU3RhdGUgY2hlY2tEZXB0aEFuZEluZGV4KGludCog
ZGVwdGgsIHVuc2lnbmVkIGluZGV4LCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucykKK3sKKyAg
ICAoKmRlcHRoKSsrOworICAgIGlmICgqZGVwdGggPiBtYXhFeHByZXNzaW9uRGVwdGgpCisgICAg
ICAgIHJldHVybiBUb29EZWVwOworICAgIGlmIChpbmRleCA+PSB0b2tlbnMtPnNpemUoKSkKKyAg
ICAgICAgcmV0dXJuIE5vTW9yZVRva2VuczsKKyAgICByZXR1cm4gT0s7Cit9CisKK2NsYXNzIENT
U0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlciB7CitwdWJsaWM6CisgICAgUGFzc1JlZlB0cjxDU1ND
YWxjRXhwcmVzc2lvbk5vZGU+IHBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucykK
KyAgICB7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgVmFsdWUgcmVzdWx0
OworICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCAwLCAmaW5k
ZXgsICZyZXN1bHQpOworICAgICAgICBBU1NFUlQoaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOwor
ICAgICAgICBpZiAoIW9rIHx8IGluZGV4ICE9IHRva2Vucy0+c2l6ZSgpKQorICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgIHJldHVybiByZXN1bHQudmFsdWU7CisgICAgfQorCisgICAgUGFz
c1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHBhcnNlTWluTWF4TGlzdChDYWxjTGlzdFR5
cGUgdHlwZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMpCisgICAgeworICAgICAgICB1bnNp
Z25lZCBpbmRleCA9IDA7CisgICAgICAgIFJlZlB0cjxDU1NDYWxjTWluTWF4TGlzdD4gcmVzdWx0
ID0gYWRvcHRSZWYobmV3IENTU0NhbGNNaW5NYXhMaXN0KHR5cGUpKTsKKworICAgICAgICBib29s
IG9rID0gcGFyc2VWYWx1ZUxpc3QodG9rZW5zLCAwLCAmaW5kZXgsIHJlc3VsdC5nZXQoKSk7Cisg
ICAgICAgIEFTU0VSVChpbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIGlmICghb2sg
fHwgaW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgc3RydWN0IFZhbHVlIHsK
KyAgICAgICAgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gdmFsdWU7CisgICAgfTsKKwor
ICAgIGNoYXIgb3BlcmF0b3JWYWx1ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgdW5zaWdu
ZWQgaW5kZXgpCisgICAgeworICAgICAgICBpZiAoaW5kZXggPj0gdG9rZW5zLT5zaXplKCkpCisg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gdG9r
ZW5zLT52YWx1ZUF0KGluZGV4KTsKKyAgICAgICAgaWYgKHZhbHVlLT51bml0ICE9IENTU1BhcnNl
clZhbHVlOjpPcGVyYXRvcikKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIHJldHVy
biB2YWx1ZS0+aVZhbHVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZShDU1NQYXJzZXJW
YWx1ZUxpc3QqIHRva2VucywgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsK
KyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHBhcnNlclZhbHVlID0gdG9rZW5zLT52YWx1ZUF0KCpp
bmRleCk7CisgICAgICAgIGlmIChwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6
T3BlcmF0b3IgfHwgcGFyc2VyVmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9u
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4g
dmFsdWUgPSBwYXJzZXJWYWx1ZS0+Y3JlYXRlQ1NTVmFsdWUoKTsKKyAgICAgICAgaWYgKCF2YWx1
ZSB8fCAhdmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNf
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlLmdldCgpKTsKKyAgICAgICAgcmVzdWx0LT52
YWx1ZSA9IENTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHByaW1pdGl2ZVZhbHVlLCBwYXJz
ZXJWYWx1ZS0+aXNJbnQpOworCisgICAgICAgICsrKmluZGV4OworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVUZXJtKENTU1BhcnNlclZhbHVlTGlzdCog
dG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7
CisgICAgICAgIGlmIChjaGVja0RlcHRoQW5kSW5kZXgoJmRlcHRoLCAqaW5kZXgsIHRva2Vucykg
IT0gT0spCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgIAorICAgICAgICAKKyAgICAgICAg
aWYgKG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpID09ICcoJykgeworICAgICAgICAgICAg
dW5zaWduZWQgY3VycmVudEluZGV4ID0gKmluZGV4ICsgMTsKKyAgICAgICAgICAgIGlmICghcGFy
c2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgJmN1cnJlbnRJbmRleCwgcmVzdWx0KSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChvcGVyYXRv
clZhbHVlKHRva2VucywgY3VycmVudEluZGV4KSAhPSAnKScpCisgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICAgICAgKmluZGV4ID0gY3VycmVudEluZGV4ICsgMTsKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHBhcnNlVmFs
dWUodG9rZW5zLCBpbmRleCwgcmVzdWx0KTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVN
dWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBk
ZXB0aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYg
KGNoZWNrRGVwdGhBbmRJbmRleCgmZGVwdGgsICppbmRleCwgdG9rZW5zKSAhPSBPSykKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsgICAgCisKKyAgICAgICAgaWYgKCFwYXJzZVZhbHVlVGVybSh0
b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgICAgICB3aGlsZSAoKmluZGV4IDwgdG9rZW5zLT5zaXplKCkgLSAxKSB7CisgICAgICAg
ICAgICBjaGFyIG9wZXJhdG9yQ2hhcmFjdGVyID0gb3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRl
eCk7CisgICAgICAgICAgICBpZiAob3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY011bHRpcGx5ICYm
IG9wZXJhdG9yQ2hhcmFjdGVyICE9IENhbGNEaXZpZGUgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0g
Q2FsY01vZCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICsrKmluZGV4Owor
CisgICAgICAgICAgICBWYWx1ZSByaHM7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVUZXJt
KHRva2VucywgZGVwdGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjQmluYXJ5T3BlcmF0aW9u
OjpjcmVhdGUocmVzdWx0LT52YWx1ZSwgcmhzLnZhbHVlLCBzdGF0aWNfY2FzdDxDYWxjT3BlcmF0
b3I+KG9wZXJhdG9yQ2hhcmFjdGVyKSk7CisgICAgICAgICAgICBpZiAoIXJlc3VsdC0+dmFsdWUp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgQVNT
RVJUKCppbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKworICAgIGJvb2wgcGFyc2VBZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1
ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQp
CisgICAgeworICAgICAgICBpZiAoY2hlY2tEZXB0aEFuZEluZGV4KCZkZXB0aCwgKmluZGV4LCB0
b2tlbnMpICE9IE9LKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAKKworICAgICAgICBp
ZiAoIXBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5k
ZXgsIHJlc3VsdCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgd2hpbGUg
KCppbmRleCA8IHRva2Vucy0+c2l6ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVyYXRv
ckNoYXJhY3RlciA9IG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAgICAg
aWYgKG9wZXJhdG9yQ2hhcmFjdGVyICE9IENhbGNBZGQgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0g
Q2FsY1N1YnRyYWN0KQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKysqaW5k
ZXg7CisKKyAgICAgICAgICAgIFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1
ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgJnJocykpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICByZXN1bHQtPnZhbHVl
ID0gQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbjo6Y3JlYXRlKHJlc3VsdC0+dmFsdWUsIHJocy52YWx1
ZSwgc3RhdGljX2Nhc3Q8Q2FsY09wZXJhdG9yPihvcGVyYXRvckNoYXJhY3RlcikpOworICAgICAg
ICAgICAgaWYgKCFyZXN1bHQtPnZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOwor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVMaXN0KENT
U1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgQ1NT
Q2FsY01pbk1heExpc3QqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIHdoaWxlICgqaW5kZXggPCB0
b2tlbnMtPnNpemUoKSkgeworICAgICAgICAgICAgVmFsdWUgbmV4dDsKKyAgICAgICAgICAgIGlm
ICghcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZuZXh0KSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGJvb2wgb2sgPSByZXN1
bHQtPmFwcGVuZChuZXh0LnZhbHVlKTsKKyAgICAgICAgICAgIGlmICghb2spCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBpZiAob3BlcmF0b3JWYWx1ZSh0b2tl
bnMsICppbmRleCkgIT0gJywnKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
KysqaW5kZXg7CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQoKmluZGV4IDw9IHRva2Vucy0+
c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZh
bHVlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNp
Z25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICByZXR1cm4gcGFyc2VB
ZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0KTsKKyAg
ICB9Cit9OworCitQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUo
Q1NTUGFyc2VyU3RyaW5nIG5hbWUsIENTU1BhcnNlclZhbHVlTGlzdCogcGFyc2VyVmFsdWVMaXN0
LCBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSByYW5nZSkKK3sgICAgCisgICAgQ1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyIHBhcnNlcjsgICAgCisgICAgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9u
Tm9kZT4gZXhwcmVzc2lvbiA9IDA7CisgICAgCisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5h
bWUsICItd2Via2l0LWNhbGMoIikpCisgICAgICAgIGV4cHJlc3Npb24gPSBwYXJzZXIucGFyc2VD
YWxjKHBhcnNlclZhbHVlTGlzdCk7ICAgIAorICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KG5hbWUsICItd2Via2l0LW1pbigiKSkKKyAgICAgICAgZXhwcmVzc2lvbiA9IHBhcnNlci5wYXJz
ZU1pbk1heExpc3QoQ2FsY01pbiwgcGFyc2VyVmFsdWVMaXN0KTsgICAgCisgICAgZWxzZSBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIi13ZWJraXQtbWF4KCIpKQorICAgICAgICBleHByZXNz
aW9uID0gcGFyc2VyLnBhcnNlTWluTWF4TGlzdChDYWxjTWF4LCBwYXJzZXJWYWx1ZUxpc3QpOwor
CisgICAgcmV0dXJuIGV4cHJlc3Npb24gPyBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ZhbHVlKGV4cHJl
c3Npb24sIHJhbmdlKSkgOiAwOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ2FsY1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc4YWM0MjZiNDUyMDI3OWE2OGYwYjBkODZk
ZjgwNmY4YTIyNTFkZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
YWxjVmFsdWUuaApAQCAtMCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTQ2FsY1ZhbHVlX2gKKyNkZWZp
bmUgQ1NTQ2FsY1ZhbHVlX2gKKworI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVlcy5oIgorI2luY2x1
ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDU1NQYXJzZXJWYWx1ZUxp
c3Q7CitjbGFzcyBDU1NWYWx1ZUxpc3Q7CitjbGFzcyBSZW5kZXJTdHlsZTsKK2NsYXNzIENhbGNW
YWx1ZTsKK2NsYXNzIENhbGNFeHByZXNzaW9uTm9kZTsKKworZW51bSBDYWxjQ2F0ZWdvcnkgewor
ICAgIENhbGNOdW1iZXIgPSAwLAorICAgIENhbGNMZW5ndGgsCisgICAgQ2FsY1BlcmNlbnQsCisg
ICAgQ2FsY1BlcmNlbnROdW1iZXIsCisgICAgQ2FsY1BlcmNlbnRMZW5ndGgsCisgICAgQ2FsY090
aGVyCit9OworICAgIAorY2xhc3MgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIDogcHVibGljIFJlZkNv
dW50ZWQ8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiB7CitwdWJsaWM6CisgICAgCisgICAgdmlydHVh
bCB+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKCkgPSAwOyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNa
ZXJvKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgZG91YmxlIGRvdWJsZVZhbHVlKCkgY29uc3Qg
PSAwOworICAgIAorICAgIENhbGNDYXRlZ29yeSBjYXRlZ29yeSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2F0ZWdvcnk7IH0gICAgCisgICAgYm9vbCBpc0ludCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJbnQ7
IH0KKyAgICAKK3Byb3RlY3RlZDoKKyAgICBDU1NDYWxjRXhwcmVzc2lvbk5vZGUoQ2FsY0NhdGVn
b3J5IGNhdGVnb3J5LCBib29sIGlzSW50KQorICAgICAgICA6IG1fY2F0ZWdvcnkoY2F0ZWdvcnkp
CisgICAgICAgICwgbV9pc0ludChpc0ludCkKKyAgICB7CisgICAgfQorICAgIAorICAgIENhbGND
YXRlZ29yeSBtX2NhdGVnb3J5OworICAgIGJvb2wgbV9pc0ludDsKK307CisgICAgICAgIAorY2xh
c3MgQ1NTQ2FsY1ZhbHVlIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IGNyZWF0ZShDU1NQYXJzZXJTdHJpbmcgbmFtZSwgQ1NT
UGFyc2VyVmFsdWVMaXN0KiwgQ2FsY1Blcm1pdHRlZFZhbHVlUmFuZ2UpOworCisgICAgQ2FsY0Nh
dGVnb3J5IGNhdGVnb3J5KCkgY29uc3QgeyByZXR1cm4gbV9leHByZXNzaW9uLT5jYXRlZ29yeSgp
OyB9CisgICAgYm9vbCBpc0ludCgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwcmVzc2lvbi0+aXNJbnQo
KTsgfQorICAgIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0OworICAgICAgICAKKyAgICBTdHJp
bmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OworICAgIAorcHJpdmF0ZTogICAgCisgICAgQ1NTQ2Fs
Y1ZhbHVlKFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBleHByZXNzaW9uLCBDYWxj
UGVybWl0dGVkVmFsdWVSYW5nZSByYW5nZSkKKyAgICAgICAgOiBDU1NWYWx1ZShDYWxjQ2xhc3Mp
CisgICAgICAgICwgbV9leHByZXNzaW9uKGV4cHJlc3Npb24pCisgICAgICAgICwgbV9ub25OZWdh
dGl2ZShyYW5nZSA9PSBDYWxjUmFuZ2VOb25OZWdhdGl2ZSkKKyAgICB7CisgICAgfQorICAgIAor
ICAgIGRvdWJsZSBjbGFtcFRvUmFuZ2UoZG91YmxlKSBjb25zdDsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIAorICAgIGNvbnN0IFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IG1fZXhwcmVz
c2lvbjsKKyAgICBjb25zdCBib29sIG1fbm9uTmVnYXRpdmU7Cit9OworICAgIAorfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTQ2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKaW5kZXggMDgyYTdlNWY1ZDQxYzdhM2VjMjQ2ZmZiMTJlYWUwNGJlNTVlMDFiYS4u
Y2QyMzliYTgwMDg0M2VmMDA1YWI1MzkzNDk4NDBjMWE2ZjMwNDE4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKQEAgLTY3NCwxNyArNjc0LDUxIEBAIERvY3VtZW50KiBDU1NQYXJzZXI6OmZp
bmREb2N1bWVudCgpIGNvbnN0CiBib29sIENTU1BhcnNlcjo6dmFsaWRVbml0KENTU1BhcnNlclZh
bHVlKiB2YWx1ZSwgVW5pdHMgdW5pdGZsYWdzLCBib29sIHN0cmljdCkKIHsKICAgICBib29sIGIg
PSBmYWxzZTsKKyAgICBpZiAoaXNDYWxjTWluTWF4KHZhbHVlKSkgeworICAgICAgICBpZiAoIXBh
cnNlQ2FsYyh2YWx1ZSwgdW5pdGZsYWdzICYgRk5vbk5lZyA/IENhbGNSYW5nZU5vbk5lZ2F0aXZl
IDogQ2FsY1JhbmdlQWxsKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisg
ICAgICAgIHN3aXRjaCAobV9wYXJzZWRDYWxjLT5jYXRlZ29yeSgpKSB7CisgICAgICAgIGNhc2Ug
Q2FsY0xlbmd0aDoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRkxlbmd0aCk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDoKKyAgICAgICAgICAgIGIg
PSAodW5pdGZsYWdzICYgRlBlcmNlbnQpOworICAgICAgICAgICAgaWYgKGIgJiYgKHVuaXRmbGFn
cyAmIEZOb25OZWcpICYmIG1fcGFyc2VkQ2FsYy0+ZG91YmxlVmFsdWUoKSA8IDApCisgICAgICAg
ICAgICAgICAgYiA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2Fs
Y051bWJlcjoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRk51bWJlcik7CisgICAgICAg
ICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRlZ2VyKSAmJiBtX3BhcnNlZENhbGMtPmlz
SW50KCkpCisgICAgICAgICAgICAgICAgYiA9IHRydWU7CisgICAgICAgICAgICBpZiAoYiAmJiAo
dW5pdGZsYWdzICYgRk5vbk5lZykgJiYgbV9wYXJzZWRDYWxjLT5kb3VibGVWYWx1ZSgpIDwgMCkK
KyAgICAgICAgICAgICAgICBiID0gZmFsc2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBDYWxjUGVyY2VudExlbmd0aDoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRlBl
cmNlbnQpICYmICh1bml0ZmxhZ3MgJiBGTGVuZ3RoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIENhbGNQZXJjZW50TnVtYmVyOgorICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3Mg
JiBGUGVyY2VudCkgJiYgKHVuaXRmbGFncyAmIEZOdW1iZXIpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgQ2FsY090aGVyOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyAgICAgICAgLy8gVE9ETzogaGFuZGxlIEZOb25OZWcKKyAgICAgICAgaWYgKCFiKQorICAgICAg
ICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKKyAgICAgICAgcmV0dXJuIGI7CisgICAgfQog
ICAgIHN3aXRjaCAodmFsdWUtPnVuaXQpIHsKICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfTlVNQkVSOgogICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZOdW1iZXIpOwotICAgICAgICBp
ZiAoIWIgJiYgKCh1bml0ZmxhZ3MgJiAoRkxlbmd0aCB8IEZBbmdsZSB8IEZUaW1lKSkgJiYgKHZh
bHVlLT5mVmFsdWUgPT0gMCB8fCAhc3RyaWN0KSkpIHsKKyAgICAgICAgaWYgKCFiICYmICgodW5p
dGZsYWdzICYgKEZMZW5ndGggfCBGQW5nbGUgfCBGVGltZSkpICYmICghdmFsdWUtPmZWYWx1ZSB8
fCAhc3RyaWN0KSkpIHsKICAgICAgICAgICAgIHZhbHVlLT51bml0ID0gKHVuaXRmbGFncyAmIEZM
ZW5ndGgpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCA6CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICgodW5pdGZsYWdzICYgRkFuZ2xlKSA/IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfREVH
IDogQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NUyk7CiAgICAgICAgICAgICBiID0gdHJ1ZTsKICAg
ICAgICAgfQogICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRlZ2VyKSAmJiB2YWx1
ZS0+aXNJbnQpCiAgICAgICAgICAgICBiID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7CisgICAgICAg
IGJyZWFrOyAgICAgICAgICAgIAogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJD
RU5UQUdFOgogICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQZXJjZW50KTsKICAgICAgICAgYnJl
YWs7CkBAIC03MjMsNiArNzU3LDE0IEBAIGJvb2wgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NTUGFy
c2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1bml0ZmxhZ3MsIGJvb2wgc3RyaWN0KQogCiBpbmxpbmUg
UGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpjcmVhdGVQcmltaXRpdmVO
dW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKQogeworICAgIGlmIChtX3BhcnNlZENh
bGMpIHsKKyAgICAgICAgQVNTRVJUKGlzQ2FsY01pbk1heCh2YWx1ZSkpOworICAgICAgICAvLyBG
SVhNRSBjYWxjKCkgaHR0cDovL3dlYmtpdC5vcmcvYi8xNjY2MjogY3JlYXRlIGEgQ1NTUHJpbWl0
aXZlVmFsdWUgaGVyZSwgaWUKKyAgICAgICAgLy8gcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpj
cmVhdGUobV9wYXJzZWRDYWxjLnJlbGVhc2UoKSk7CisgICAgICAgIG1fcGFyc2VkQ2FsYy5yZWxl
YXNlKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAgICAgICAgICAgIAogICAgIEFT
U0VSVCgodmFsdWUtPnVuaXQgPj0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIgJiYgdmFs
dWUtPnVuaXQgPD0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19LSFopCiAgICAgICAgICAgIHx8ICh2
YWx1ZS0+dW5pdCA+PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1RVUk4gJiYgdmFsdWUtPnVuaXQg
PD0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SRU1TKSk7CiAgICAgcmV0dXJuIGNzc1ZhbHVlUG9v
bCgpLT5jcmVhdGVWYWx1ZSh2YWx1ZS0+ZlZhbHVlLCBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZTo6VW5pdFR5cGVzPih2YWx1ZS0+dW5pdCkpOwpAQCAtODIwLDYgKzg2MiwxMSBAQCBpbmxp
bmUgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZVZhbGlkUHJp
bWl0aXZlKGludCBpZCwgQ1NTUAogICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlTnVtZXJp
Y1ZhbHVlKHZhbHVlKTsKICAgICBpZiAodmFsdWUtPnVuaXQgPj0gQ1NTUGFyc2VyVmFsdWU6OlFf
RU1TKQogICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUFsbG93aW5nTWFy
Z2luUXVpcmsodmFsdWUtPmZWYWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19FTVMpOworICAg
IGlmIChpc0NhbGNNaW5NYXgodmFsdWUpKQorICAgICAgICAvLyBGSVhNRSBjYWxjKCkgIGh0dHA6
Ly93ZWJraXQub3JnL2IvMTY2NjI6IGNyZWF0ZSBhIHByaW1pdGl2ZSB2YWx1ZSBoZXJlLCBpZQor
ICAgICAgICAvLyByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtX3BhcnNlZENhbGMu
cmVsZWFzZSgpKTsKKyAgICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKKwogICAgIHJldHVy
biAwOwogfQogCkBAIC04MzMsNiArODgwLDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVl
KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgIGlmICghdmFsdWUpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAorICAgIC8vIE5vdGU6IG1fcGFyc2VkQ2FsYyBpcyB1c2VkIHRvIHBhc3Mg
dGhlIGNhbGMgdmFsdWUgdG8gdmFsaWRVbml0IGFuZCB0aGVuIGNsZWFyZWQgYXQgdGhlIGVuZCBv
ZiB0aGlzIGZ1bmN0aW9uLgorICAgIC8vIEZJWE1FOiBUaGlzIGlzIHRvIGF2b2lkIGhhdmluZyB0
byBwYXNzIHBhcnNlZENhbGMgdG8gYWxsIHZhbGlkVW5pdCBjYWxsZXJzLgorICAgIEFTU0VSVCgh
bV9wYXJzZWRDYWxjKTsKKyAgICAKICAgICBpbnQgaWQgPSB2YWx1ZS0+aWQ7CiAKICAgICAvLyBJ
biBxdWlya3MgbW9kZSwgd2Ugd2lsbCBsb29rIGZvciB1bml0cyB0aGF0IGhhdmUgYmVlbiBpbmNv
cnJlY3RseSBzZXBhcmF0ZWQgZnJvbSB0aGUgbnVtYmVyIHRoZXkgYmVsb25nIHRvCkBAIC0yMjQy
LDYgKzIyOTMsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29s
IGltcG9ydGFudCkKICAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZVZhbGlkUHJpbWl0aXZlKGlk
LCB2YWx1ZSk7CiAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgfQorICAgIEFTU0VS
VCghbV9wYXJzZWRDYWxjKTsKICAgICBpZiAocGFyc2VkVmFsdWUpIHsKICAgICAgICAgaWYgKCFt
X3ZhbHVlTGlzdC0+Y3VycmVudCgpIHx8IGluU2hvcnRoYW5kKCkpIHsKICAgICAgICAgICAgIGFk
ZFByb3BlcnR5KHByb3BJZCwgcGFyc2VkVmFsdWUucmVsZWFzZSgpLCBpbXBvcnRhbnQpOwpAQCAt
Mjk0OSw4ICszMDAxLDExIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VG
aWxsUG9zaXRpb25Db21wb25lbnQoQ1NTUGFyc2VyVmFsdWVMaXN0KiB2CiAgICAgICAgIH0gZWxz
ZSBpZiAoY3VtdWxhdGl2ZUZsYWdzICYgKFhGaWxsUG9zaXRpb24gfCBBbWJpZ3VvdXNGaWxsUG9z
aXRpb24pKSB7CiAgICAgICAgICAgICBjdW11bGF0aXZlRmxhZ3MgfD0gWUZpbGxQb3NpdGlvbjsK
ICAgICAgICAgICAgIGluZGl2aWR1YWxGbGFnID0gWUZpbGxQb3NpdGlvbjsKLSAgICAgICAgfSBl
bHNlCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAobV9wYXJzZWRDYWxjKQorICAg
ICAgICAgICAgICAgIG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCk7CiAgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVl
KHZhbHVlTGlzdC0+Y3VycmVudCgpKTsKICAgICB9CiAgICAgcmV0dXJuIDA7CkBAIC00ODMyLDIy
ICs0ODg3LDQ3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKGNvbnN0IFN0cmluZyAmbmFt
ZSwgUkdCQTMyJiByZ2IsIGJvb2wgc3RyaWN0KQogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9
CisgICAgCitpbmxpbmUgZG91YmxlIENTU1BhcnNlcjo6cGFyc2VkRG91YmxlKENTU1BhcnNlclZh
bHVlICp2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlQ29uZGl0aW9uIHJlbGVhc2VDYWxjKQorewor
ICAgIGNvbnN0IGRvdWJsZSByZXN1bHQgPSBtX3BhcnNlZENhbGMgPyBtX3BhcnNlZENhbGMtPmRv
dWJsZVZhbHVlKCkgOiB2LT5mVmFsdWU7CisgICAgaWYgKHJlbGVhc2VDYWxjID09IFJlbGVhc2VQ
YXJzZWRDYWxjVmFsdWUpCisgICAgICAgIG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KIAotc3RhdGljIGlubGluZSBpbnQgY29sb3JJbnRGcm9tVmFsdWUoQ1NT
UGFyc2VyVmFsdWUqIHYpCitib29sIENTU1BhcnNlcjo6aXNDYWxjTWluTWF4KENTU1BhcnNlclZh
bHVlKiB2YWx1ZSkgCiB7Ci0gICAgaWYgKHYtPmZWYWx1ZSA8PSAwLjApCisgICAgcmV0dXJuICh2
YWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24pIAorICAgICAgICAmJiAoZXF1
YWxJZ25vcmluZ0Nhc2UodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jYWxjKCIpCisg
ICAgICAgICAgICB8fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICIt
d2Via2l0LW1pbigiKQorICAgICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUtPmZ1
bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1tYXgoIikpOworfQorCitpbmxpbmUgaW50IENTU1BhcnNl
cjo6Y29sb3JJbnRGcm9tVmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHYpCit7CisgICAgYm9vbCBpc1Bl
cmNlbnQ7CisgICAgCisgICAgaWYgKG1fcGFyc2VkQ2FsYykKKyAgICAgICAgaXNQZXJjZW50ID0g
bV9wYXJzZWRDYWxjLT5jYXRlZ29yeSgpID09IENhbGNQZXJjZW50OworICAgIGVsc2UKKyAgICAg
ICAgaXNQZXJjZW50ID0gdi0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRB
R0U7CisKKyAgICBjb25zdCBkb3VibGUgdmFsdWUgPSBwYXJzZWREb3VibGUodiwgUmVsZWFzZVBh
cnNlZENhbGNWYWx1ZSk7CisgICAgCisgICAgaWYgKHZhbHVlIDw9IDAuMCkKICAgICAgICAgcmV0
dXJuIDA7CiAKLSAgICBpZiAodi0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNF
TlRBR0UpIHsKLSAgICAgICAgaWYgKHYtPmZWYWx1ZSA+PSAxMDAuMCkKKyAgICBpZiAoaXNQZXJj
ZW50KSB7CisgICAgICAgIGlmICh2YWx1ZSA+PSAxMDAuMCkKICAgICAgICAgICAgIHJldHVybiAy
NTU7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHYtPmZWYWx1ZSAqIDI1Ni4wIC8g
MTAwLjApOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSAqIDI1Ni4wIC8g
MTAwLjApOwogICAgIH0KIAotICAgIGlmICh2LT5mVmFsdWUgPj0gMjU1LjApCisgICAgaWYgKHZh
bHVlID49IDI1NS4wKQogICAgICAgICByZXR1cm4gMjU1OwogCi0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PGludD4odi0+ZlZhbHVlKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSk7
CiB9CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyhDU1NQYXJzZXJWYWx1
ZSogdmFsdWUsIGludCogY29sb3JBcnJheSwgYm9vbCBwYXJzZUFscGhhKQpAQCAtNDg2Miw2ICs0
OTQyLDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3JQYXJhbWV0ZXJzKENTU1BhcnNlclZh
bHVlKiB2YWx1ZSwgaW50KiBjb2xvckFycmF5LCBib28KICAgICAgICAgdW5pdFR5cGUgPSBGUGVy
Y2VudDsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKICAgICBjb2xvckFy
cmF5WzBdID0gY29sb3JJbnRGcm9tVmFsdWUodik7CiAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCAz
OyBpKyspIHsKICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKQEAgLTQ4NzksOSArNDk2MCwxMCBA
QCBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFsdWUqIHZh
bHVlLCBpbnQqIGNvbG9yQXJyYXksIGJvbwogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwogICAg
ICAgICBpZiAoIXZhbGlkVW5pdCh2LCBGTnVtYmVyLCB0cnVlKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgY29uc3QgZG91YmxlIHZhbHVlID0gcGFyc2VkRG91YmxlKHYsIFJl
bGVhc2VQYXJzZWRDYWxjVmFsdWUpOwogICAgICAgICAvLyBDb252ZXJ0IHRoZSBmbG9hdGluZyBw
b2ludGVyIG51bWJlciBvZiBhbHBoYSB0byBhbiBpbnRlZ2VyIGluIHRoZSByYW5nZSBbMCwgMjU2
KSwKICAgICAgICAgLy8gd2l0aCBhbiBlcXVhbCBkaXN0cmlidXRpb24gYWNyb3NzIGFsbCAyNTYg
dmFsdWVzLgotICAgICAgICBjb2xvckFycmF5WzNdID0gc3RhdGljX2Nhc3Q8aW50PihtYXgoMC4w
LCBtaW4oMS4wLCB2LT5mVmFsdWUpKSAqIG5leHRhZnRlcigyNTYuMCwgMC4wKSk7CisgICAgICAg
IGNvbG9yQXJyYXlbM10gPSBzdGF0aWNfY2FzdDxpbnQ+KG1heCgwLjAsIG1pbigxLjAsIHZhbHVl
KSkgKiBuZXh0YWZ0ZXIoMjU2LjAsIDAuMCkpOwogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKIH0K
QEAgLTQ4OTksNyArNDk4MSw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMo
Q1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBkb3VibGUqIGNvbG9yQXJyYXksIGJvCiAgICAgaWYgKCF2
YWxpZFVuaXQodiwgRk51bWJlciwgdHJ1ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAv
LyBub3JtYWxpemUgdGhlIEh1ZSB2YWx1ZSBhbmQgY2hhbmdlIGl0IHRvIGJlIGJldHdlZW4gMCBh
bmQgMS4wCi0gICAgY29sb3JBcnJheVswXSA9ICgoKHN0YXRpY19jYXN0PGludD4odi0+ZlZhbHVl
KSAlIDM2MCkgKyAzNjApICUgMzYwKSAvIDM2MC4wOworICAgIGNvbG9yQXJyYXlbMF0gPSAoKChz
dGF0aWNfY2FzdDxpbnQ+KHBhcnNlZERvdWJsZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKSkg
JSAzNjApICsgMzYwKSAlIDM2MCkgLyAzNjAuMDsKICAgICBmb3IgKGludCBpID0gMTsgaSA8IDM7
IGkrKykgewogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwogICAgICAgICBpZiAodi0+dW5pdCAh
PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgJiYgdi0+aVZhbHVlICE9ICcsJykKQEAgLTQ5MDcs
NyArNDk4OSw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2Vy
VmFsdWUqIHZhbHVlLCBkb3VibGUqIGNvbG9yQXJyYXksIGJvCiAgICAgICAgIHYgPSBhcmdzLT5u
ZXh0KCk7CiAgICAgICAgIGlmICghdmFsaWRVbml0KHYsIEZQZXJjZW50LCB0cnVlKSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgY29sb3JBcnJheVtpXSA9IG1heCgwLjAsIG1p
bigxMDAuMCwgdi0+ZlZhbHVlKSkgLyAxMDAuMDsgLy8gbmVlZHMgdG8gYmUgdmFsdWUgYmV0d2Vl
biAwIGFuZCAxLjAKKyAgICAgICAgY29sb3JBcnJheVtpXSA9IG1heCgwLjAsIG1pbigxMDAuMCwg
cGFyc2VkRG91YmxlKHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpKSkgLyAxMDAuMDsgLy8gbmVl
ZHMgdG8gYmUgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLjAKICAgICB9CiAgICAgaWYgKHBhcnNlQWxw
aGEpIHsKICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKQEAgLTQ5MTYsNyArNDk5OCw3IEBAIGJv
b2wgQ1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBk
b3VibGUqIGNvbG9yQXJyYXksIGJvCiAgICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CiAgICAgICAg
IGlmICghdmFsaWRVbml0KHYsIEZOdW1iZXIsIHRydWUpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICBjb2xvckFycmF5WzNdID0gbWF4KDAuMCwgbWluKDEuMCwgdi0+ZlZhbHVl
KSk7CisgICAgICAgIGNvbG9yQXJyYXlbM10gPSBtYXgoMC4wLCBtaW4oMS4wLCBwYXJzZWREb3Vi
bGUodiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSkpKTsKICAgICB9CiAgICAgcmV0dXJuIHRydWU7
CiB9CkBAIC00OTg0LDkgKzUwNjYsOSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xvckZyb21W
YWx1ZShDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIFJHQkEzMiYgYykKIC8vIFRoaXMgY2xhc3MgdHJh
Y2tzIHBhcnNpbmcgc3RhdGUgZm9yIHNoYWRvdyB2YWx1ZXMuICBJZiBpdCBnb2VzIG91dCBvZiBz
Y29wZSAoZS5nLiwgZHVlIHRvIGFuIGVhcmx5IHJldHVybikKIC8vIHdpdGhvdXQgdGhlIGFsbG93
QnJlYWsgYml0IGJlaW5nIHNldCwgdGhlbiBpdCB3aWxsIGNsZWFuIHVwIGFsbCBvZiB0aGUgb2Jq
ZWN0cyBhbmQgZGVzdHJveSB0aGVtLgogc3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7Ci0gICAg
U2hhZG93UGFyc2VDb250ZXh0KENTU1Byb3BlcnR5SUQgcHJvcCwgQ1NTVmFsdWVQb29sKiBjc3NW
YWx1ZVBvb2wpCisgICAgU2hhZG93UGFyc2VDb250ZXh0KENTU1Byb3BlcnR5SUQgcHJvcCwgQ1NT
UGFyc2VyKiBwYXJlbnQpCiAgICAgICAgIDogcHJvcGVydHkocHJvcCkKLSAgICAgICAgLCBtX2Nz
c1ZhbHVlUG9vbChjc3NWYWx1ZVBvb2wpCisgICAgICAgICwgbV9wYXJlbnQocGFyZW50KQogICAg
ICAgICAsIGFsbG93WCh0cnVlKQogICAgICAgICAsIGFsbG93WShmYWxzZSkKICAgICAgICAgLCBh
bGxvd0JsdXIoZmFsc2UpCkBAIC01MDI5LDcgKzUxMTEsNyBAQCBzdHJ1Y3QgU2hhZG93UGFyc2VD
b250ZXh0IHsKIAogICAgIHZvaWQgY29tbWl0TGVuZ3RoKENTU1BhcnNlclZhbHVlKiB2KQogICAg
IHsKLSAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwgPSBtX2Nzc1ZhbHVlUG9v
bC0+Y3JlYXRlVmFsdWUodi0+ZlZhbHVlLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2
LT51bml0KTsKKyAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwgPSBtX3BhcmVu
dC0+Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHYpOwogCiAgICAgICAgIGlmIChhbGxvd1gp
IHsKICAgICAgICAgICAgIHggPSB2YWwucmVsZWFzZSgpOwpAQCAtNTA3MSw3ICs1MTUzLDcgQEAg
c3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7CiAKICAgICB2b2lkIGNvbW1pdFN0eWxlKENTU1Bh
cnNlclZhbHVlKiB2KQogICAgIHsKLSAgICAgICAgc3R5bGUgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3Jl
YXRlSWRlbnRpZmllclZhbHVlKHYtPmlkKTsKKyAgICAgICAgc3R5bGUgPSBtX3BhcmVudC0+Y3Nz
VmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2LT5pZCk7CiAgICAgICAgIGFsbG93
U3R5bGUgPSBmYWxzZTsKICAgICAgICAgaWYgKGFsbG93WCkKICAgICAgICAgICAgIGFsbG93QnJl
YWsgPSBmYWxzZTsKQEAgLTUwODMsNyArNTE2NSw3IEBAIHN0cnVjdCBTaGFkb3dQYXJzZUNvbnRl
eHQgewogICAgIH0KIAogICAgIENTU1Byb3BlcnR5SUQgcHJvcGVydHk7Ci0gICAgQ1NTVmFsdWVQ
b29sKiBtX2Nzc1ZhbHVlUG9vbDsKKyAgICBDU1NQYXJzZXIqIG1fcGFyZW50OwogCiAgICAgUmVm
UHRyPENTU1ZhbHVlTGlzdD4gdmFsdWVzOwogICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4g
eDsKQEAgLTUxMDQsNyArNTE4Niw3IEBAIHN0cnVjdCBTaGFkb3dQYXJzZUNvbnRleHQgewogCiBQ
YXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJzZVNoYWRvdyhDU1NQYXJzZXJW
YWx1ZUxpc3QqIHZhbHVlTGlzdCwgaW50IHByb3BJZCkKIHsKLSAgICBTaGFkb3dQYXJzZUNvbnRl
eHQgY29udGV4dChzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihwcm9wSWQpLCBjc3NWYWx1ZVBv
b2woKSk7CisgICAgU2hhZG93UGFyc2VDb250ZXh0IGNvbnRleHQoc3RhdGljX2Nhc3Q8Q1NTUHJv
cGVydHlJRD4ocHJvcElkKSwgdGhpcyk7CiAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbDsKICAgICB3
aGlsZSAoKHZhbCA9IHZhbHVlTGlzdC0+Y3VycmVudCgpKSkgewogICAgICAgICAvLyBDaGVjayBm
b3IgYSBjb21tYSBicmVhayBmaXJzdC4KQEAgLTU0NzIsOCArNTU1NCw4IEBAIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZUJvcmRlckltYWdlUmVwZWF0KFJlZlB0cjxDU1NWYWx1ZT4mIHJlc3VsdCkKIAog
Y2xhc3MgQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCB7CiBwdWJsaWM6Ci0gICAgQm9yZGVy
SW1hZ2VTbGljZVBhcnNlQ29udGV4dChDU1NWYWx1ZVBvb2wqIGNzc1ZhbHVlUG9vbCkKLSAgICA6
IG1fY3NzVmFsdWVQb29sKGNzc1ZhbHVlUG9vbCkKKyAgICBCb3JkZXJJbWFnZVNsaWNlUGFyc2VD
b250ZXh0KENTU1BhcnNlciogcGFyZW50KQorICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICwg
bV9hbGxvd051bWJlcih0cnVlKQogICAgICwgbV9hbGxvd0ZpbGwoZmFsc2UpCiAgICAgLCBtX2Fs
bG93RmluYWxDb21taXQoZmFsc2UpCkBAIC01NDg3LDcgKzU1NjksNyBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGNvbW1pdE51bWJlcihDU1NQYXJzZXJWYWx1ZSogdikKICAgICB7Ci0gICAgICAgIFJl
ZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVl
KHYtPmZWYWx1ZSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpdi0+dW5pdCk7CisgICAg
ICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsID0gbV9wYXJlbnQtPmNyZWF0ZVByaW1p
dGl2ZU51bWVyaWNWYWx1ZSh2KTsKICAgICAgICAgaWYgKCFtX3RvcCkKICAgICAgICAgICAgIG1f
dG9wID0gdmFsOwogICAgICAgICBlbHNlIGlmICghbV9yaWdodCkKQEAgLTU1MTQsMTYgKzU1OTYs
MTYgQEAgcHVibGljOgogICAgICAgICAvLyBXZSBuZWVkIHRvIGNsb25lIGFuZCByZXBlYXQgdmFs
dWVzIGZvciBhbnkgb21pc3Npb25zLgogICAgICAgICBBU1NFUlQobV90b3ApOwogICAgICAgICBp
ZiAoIW1fcmlnaHQpIHsKLSAgICAgICAgICAgIG1fcmlnaHQgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3Jl
YXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5p
dFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOwotICAgICAgICAgICAgbV9ib3R0b20gPSBt
X2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQ
cmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOwotICAgICAg
ICAgICAgbV9sZWZ0ID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3Vi
bGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZl
VHlwZSgpKTsKKyAgICAgICAgICAgIG1fcmlnaHQgPSBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCkt
PmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6
OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIG1fYm90dG9t
ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91Ymxl
VmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5
cGUoKSk7CisgICAgICAgICAgICBtX2xlZnQgPSBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNy
ZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVu
aXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKICAgICAgICAgfQogICAgICAgICBpZiAo
IW1fYm90dG9tKSB7Ci0gICAgICAgICAgICBtX2JvdHRvbSA9IG1fY3NzVmFsdWVQb29sLT5jcmVh
dGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7Ci0gICAgICAgICAgICBtX2xlZnQgPSBtX2Nz
c1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1By
aW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAg
ICAgICAgIG1fYm90dG9tID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZSht
X3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90
b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX2xlZnQgPSBtX3BhcmVudC0+Y3Nz
VmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChDU1NQ
cmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CiAgICAg
ICAgIH0KICAgICAgICAgaWYgKCFtX2xlZnQpCi0gICAgICAgICAgICAgbV9sZWZ0ID0gbV9jc3NW
YWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmlt
aXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAg
ICAgICAgbV9sZWZ0ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShtX3Jp
Z2h0LT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3Jp
Z2h0LT5wcmltaXRpdmVUeXBlKCkpOwogCiAgICAgICAgIC8vIE5vdyBidWlsZCBhIHJlY3QgdmFs
dWUgdG8gaG9sZCBhbGwgZm91ciBvZiBvdXIgcHJpbWl0aXZlIHZhbHVlcy4KICAgICAgICAgUmVm
UHRyPFF1YWQ+IHF1YWQgPSBRdWFkOjpjcmVhdGUoKTsKQEAgLTU1MzMsMTEgKzU2MTUsMTEgQEAg
cHVibGljOgogICAgICAgICBxdWFkLT5zZXRMZWZ0KG1fbGVmdCk7CiAKICAgICAgICAgLy8gTWFr
ZSBvdXIgbmV3IGJvcmRlciBpbWFnZSB2YWx1ZSBub3cuCi0gICAgICAgIHJldHVybiBDU1NCb3Jk
ZXJJbWFnZVNsaWNlVmFsdWU6OmNyZWF0ZShtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUocXVh
ZC5yZWxlYXNlKCkpLCBtX2ZpbGwpOworICAgICAgICByZXR1cm4gQ1NTQm9yZGVySW1hZ2VTbGlj
ZVZhbHVlOjpjcmVhdGUobV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShxdWFk
LnJlbGVhc2UoKSksIG1fZmlsbCk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIENTU1ZhbHVlUG9v
bCogbV9jc3NWYWx1ZVBvb2w7CisgICAgQ1NTUGFyc2VyKiBtX3BhcmVudDsKIAogICAgIGJvb2wg
bV9hbGxvd051bWJlcjsKICAgICBib29sIG1fYWxsb3dGaWxsOwpAQCAtNTU1MywxMCArNTYzNSwx
MSBAQCBwcml2YXRlOgogCiBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVNsaWNlKGlu
dCBwcm9wSWQsIFJlZlB0cjxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+JiByZXN1bHQpCiB7Ci0g
ICAgQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCBjb250ZXh0KGNzc1ZhbHVlUG9vbCgpKTsK
KyAgICBCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0IGNvbnRleHQodGhpcyk7CiAgICAgQ1NT
UGFyc2VyVmFsdWUqIHZhbDsKICAgICB3aGlsZSAoKHZhbCA9IG1fdmFsdWVMaXN0LT5jdXJyZW50
KCkpKSB7Ci0gICAgICAgIGlmIChjb250ZXh0LmFsbG93TnVtYmVyKCkgJiYgdmFsaWRVbml0KHZh
bCwgRkludGVnZXIgfCBGTm9uTmVnIHwgRlBlcmNlbnQsIHRydWUpKSB7CisgICAgICAgIC8vIEZJ
WE1FIGNhbGMoKSBodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyIDogY2FsYyBpcyBwYXJzZWQgYnV0
IHZhbHVlcyBhcmUgbm90IGNyZWF0ZWQgeWV0LgorICAgICAgICBpZiAoY29udGV4dC5hbGxvd051
bWJlcigpICYmICFpc0NhbGNNaW5NYXgodmFsKSAmJiB2YWxpZFVuaXQodmFsLCBGSW50ZWdlciB8
IEZOb25OZWcgfCBGUGVyY2VudCwgdHJ1ZSkpIHsKICAgICAgICAgICAgIGNvbnRleHQuY29tbWl0
TnVtYmVyKHZhbCk7CiAgICAgICAgIH0gZWxzZSBpZiAoY29udGV4dC5hbGxvd0ZpbGwoKSAmJiB2
YWwtPmlkID09IENTU1ZhbHVlRmlsbCkKICAgICAgICAgICAgIGNvbnRleHQuY29tbWl0RmlsbCgp
OwpAQCAtNTU4OSw4ICs1NjcyLDggQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VT
bGljZShpbnQgcHJvcElkLCBSZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHUKIAogY2xhc3Mg
Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0IHsKIHB1YmxpYzoKLSAgICBCb3JkZXJJbWFnZVF1
YWRQYXJzZUNvbnRleHQoQ1NTVmFsdWVQb29sKiBjc3NWYWx1ZVBvb2wpCi0gICAgOiBtX2Nzc1Zh
bHVlUG9vbChjc3NWYWx1ZVBvb2wpCisgICAgQm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0KENT
U1BhcnNlciogcGFyZW50KQorICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICwgbV9hbGxvd051
bWJlcih0cnVlKQogICAgICwgbV9hbGxvd0ZpbmFsQ29tbWl0KGZhbHNlKQogICAgIHsgfQpAQCAt
NTYwMyw5ICs1Njg2LDkgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgUmVmUHRyPENTU1ByaW1p
dGl2ZVZhbHVlPiB2YWw7CiAgICAgICAgIGlmICh2LT5pZCA9PSBDU1NWYWx1ZUF1dG8pCi0gICAg
ICAgICAgICB2YWwgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKHYtPmlk
KTsKKyAgICAgICAgICAgIHZhbCA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlSWRl
bnRpZmllclZhbHVlKHYtPmlkKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgdmFsID0gbV9j
c3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHYtPmZWYWx1ZSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpV
bml0VHlwZXMpdi0+dW5pdCk7CisgICAgICAgICAgICB2YWwgPSBtX3BhcmVudC0+Y3JlYXRlUHJp
bWl0aXZlTnVtZXJpY1ZhbHVlKHYpOwogCiAgICAgICAgIGlmICghbV90b3ApCiAgICAgICAgICAg
ICBtX3RvcCA9IHZhbDsKQEAgLTU2MzAsMTYgKzU3MTMsMTYgQEAgcHVibGljOgogICAgICAgICAv
LyBXZSBuZWVkIHRvIGNsb25lIGFuZCByZXBlYXQgdmFsdWVzIGZvciBhbnkgb21pc3Npb25zLgog
ICAgICAgICBBU1NFUlQobV90b3ApOwogICAgICAgICBpZiAoIW1fcmlnaHQpIHsKLSAgICAgICAg
ICAgIG1fcmlnaHQgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJs
ZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVU
eXBlKCkpOwotICAgICAgICAgICAgbV9ib3R0b20gPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFs
dWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVz
KW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOwotICAgICAgICAgICAgbV9sZWZ0ID0gbV9jc3NWYWx1
ZVBvb2wtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZl
VmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIG1f
cmlnaHQgPSBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXRE
b3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0
aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIG1fYm90dG9tID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9v
bCgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZh
bHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX2xl
ZnQgPSBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3Vi
bGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZl
VHlwZSgpKTsKICAgICAgICAgfQogICAgICAgICBpZiAoIW1fYm90dG9tKSB7Ci0gICAgICAgICAg
ICBtX2JvdHRvbSA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91Ymxl
VmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5
cGUoKSk7Ci0gICAgICAgICAgICBtX2xlZnQgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUo
bV9yaWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMp
bV9yaWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIG1fYm90dG9tID0gbV9wYXJl
bnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwg
KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7Cisg
ICAgICAgICAgICBtX2xlZnQgPSBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZVZhbHVl
KG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVz
KW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFtX2xl
ZnQpCi0gICAgICAgICAgICAgbV9sZWZ0ID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKG1f
cmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1f
cmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICAgbV9sZWZ0ID0gbV9wYXJlbnQt
PmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1ZSgpLCAo
Q1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBlKCkpOwog
CiAgICAgICAgIC8vIE5vdyBidWlsZCBhIHF1YWQgdmFsdWUgdG8gaG9sZCBhbGwgZm91ciBvZiBv
dXIgcHJpbWl0aXZlIHZhbHVlcy4KICAgICAgICAgUmVmUHRyPFF1YWQ+IHF1YWQgPSBRdWFkOjpj
cmVhdGUoKTsKQEAgLTU2NDksMTEgKzU3MzIsMTEgQEAgcHVibGljOgogICAgICAgICBxdWFkLT5z
ZXRMZWZ0KG1fbGVmdCk7CiAKICAgICAgICAgLy8gTWFrZSBvdXIgbmV3IHZhbHVlIG5vdy4KLSAg
ICAgICAgcmV0dXJuIG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShxdWFkLnJlbGVhc2UoKSk7
CisgICAgICAgIHJldHVybiBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKHF1
YWQucmVsZWFzZSgpKTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgQ1NTVmFsdWVQb29sKiBtX2Nz
c1ZhbHVlUG9vbDsKKyAgICBDU1NQYXJzZXIqIG1fcGFyZW50OwogCiAgICAgYm9vbCBtX2FsbG93
TnVtYmVyOwogICAgIGJvb2wgbV9hbGxvd0ZpbmFsQ29tbWl0OwpAQCAtNTY2Niw3ICs1NzQ5LDcg
QEAgcHJpdmF0ZToKIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VRdWFkKFVuaXRz
IHZhbGlkVW5pdHMsIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4mIHJlc3VsdCkKIHsKLSAgICBC
b3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQgY29udGV4dChjc3NWYWx1ZVBvb2woKSk7CisgICAg
Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0IGNvbnRleHQodGhpcyk7CiAgICAgQ1NTUGFyc2Vy
VmFsdWUqIHZhbDsKICAgICB3aGlsZSAoKHZhbCA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7
CiAgICAgICAgIGlmIChjb250ZXh0LmFsbG93TnVtYmVyKCkgJiYgKHZhbGlkVW5pdCh2YWwsIHZh
bGlkVW5pdHMsIHRydWUpIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVBdXRvKSkgewpAQCAtNzE5OCw2
ICs3MjgxLDIzIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZvbnRGZWF0dXJlU2V0dGluZ3MoYm9v
bCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIENTU1BhcnNlcjo6cGFy
c2VDYWxjKENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgQ2FsY1Blcm1pdHRlZFZhbHVlUmFuZ2UgcmFu
Z2UpIAoreworICAgIEFTU0VSVChpc0NhbGNNaW5NYXgodmFsdWUpKTsKKyAgICAKKyAgICBDU1NQ
YXJzZXJWYWx1ZUxpc3QqIGFyZ3MgPSB2YWx1ZS0+ZnVuY3Rpb24tPmFyZ3MuZ2V0KCk7CisgICAg
aWYgKCFhcmdzIHx8ICFhcmdzLT5zaXplKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IEFTU0VSVCghbV9wYXJzZWRDYWxjKTsKKyAgICBtX3BhcnNlZENhbGMgPSBDU1NDYWxjVmFsdWU6
OmNyZWF0ZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsIGFyZ3MsIHJhbmdlKTsKKyAgICAKKyAgICBp
ZiAoIW1fcGFyc2VkQ2FsYykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAorICAgIHJldHVy
biB0cnVlOworfQorICAgIAogc3RhdGljIGlubGluZSBpbnQgeXllcnJvcihjb25zdCBjaGFyKikg
eyByZXR1cm4gMTsgfQogCiAjZGVmaW5lIEVORF9UT0tFTiAwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgK
aW5kZXggNDdjNWVmNzg0NzMzMzM3ZTRkOTQ2MjRhMjI5YzkxNGNhNDFiODAyNi4uNmQ3ZjFhM2I0
ZWIzNzgyZWZmZjU3MmEwYzBmYTg1YjVlMWZkOTM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApA
QCAtMjMsNiArMjMsNyBAQAogI2lmbmRlZiBDU1NQYXJzZXJfaAogI2RlZmluZSBDU1NQYXJzZXJf
aAogCisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTR3JhZGllbnRWYWx1
ZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVlcy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5
U291cmNlRGF0YS5oIgpAQCAtMjA2LDYgKzIwNyw3IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNl
VGV4dEVtcGhhc2lzU3R5bGUoYm9vbCBpbXBvcnRhbnQpOwogCiAgICAgYm9vbCBwYXJzZUxpbmVC
b3hDb250YWluKGJvb2wgaW1wb3J0YW50KTsKKyAgICBib29sIHBhcnNlQ2FsYyhDU1NQYXJzZXJW
YWx1ZSosIENhbGNQZXJtaXR0ZWRWYWx1ZVJhbmdlKTsKIAogICAgIGJvb2wgcGFyc2VGb250RmVh
dHVyZVRhZyhDU1NWYWx1ZUxpc3QqKTsKICAgICBib29sIHBhcnNlRm9udEZlYXR1cmVTZXR0aW5n
cyhib29sIGltcG9ydGFudCk7CkBAIC0zMTUsNiArMzE3LDkgQEAgcHVibGljOgogICAgIHZvaWQg
Y291bnRMaW5lcygpOwogICAgIGludCBsZXgoKTsKIAorICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwor
ICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1Zh
bHVlKENTU1BhcnNlclZhbHVlKik7CisgICAgICAgIAogcHJpdmF0ZToKICAgICB2b2lkIHNldFN0
eWxlU2hlZXQoQ1NTU3R5bGVTaGVldCopOwogCkBAIC0zNzgsNiArMzgzLDggQEAgcHJpdmF0ZToK
ICAgICBWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+IG1fcmV1c2FibGVTZWxlY3Rv
clZlY3RvcjsKICAgICBWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+IG1fcmV1c2Fi
bGVSZWdpb25TZWxlY3RvclZlY3RvcjsKIAorICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IG1fcGFy
c2VkQ2FsYzsKKwogICAgIC8vIGRlZmluZXMgdW5pdHMgYWxsb3dlZCBmb3IgYSBjZXJ0YWluIHBy
b3BlcnR5LCB1c2VkIGluIHBhcnNlVW5pdAogICAgIGVudW0gVW5pdHMgewogICAgICAgICBGVW5r
bm93biAgID0gMHgwMDAwLApAQCAtMzk3LDEzICs0MDQsMTggQEAgcHJpdmF0ZToKICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PFVuaXRzPihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oYSkgfCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oYikpOwogICAgIH0KIAotICAgIHN0YXRpYyBib29sIHZhbGlkVW5p
dChDU1NQYXJzZXJWYWx1ZSosIFVuaXRzLCBib29sIHN0cmljdCk7CisgICAgYm9vbCB2YWxpZFVu
aXQoQ1NTUGFyc2VyVmFsdWUqLCBVbml0cywgYm9vbCBzdHJpY3QpOwogCiAgICAgYm9vbCBwYXJz
ZUJvcmRlckltYWdlUXVhZChVbml0cywgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiYpOwotCi0g
ICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1Zh
bHVlKENTU1BhcnNlclZhbHVlKik7Ci0gICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4g
Y3JlYXRlUHJpbWl0aXZlU3RyaW5nVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKLQorICAgIGludCBj
b2xvckludEZyb21WYWx1ZShDU1NQYXJzZXJWYWx1ZSopOworCisgICAgZW51bSBSZWxlYXNlUGFy
c2VkQ2FsY1ZhbHVlQ29uZGl0aW9uIHsKKyAgICAgICAgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSwK
KyAgICAgICAgRG9Ob3RSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlCisgICAgfTsgICAgCisgICAgZG91
YmxlIHBhcnNlZERvdWJsZShDU1NQYXJzZXJWYWx1ZSosIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWVD
b25kaXRpb24gcmVsZWFzZUNhbGMgPSBEb05vdFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpOworICAg
IGJvb2wgaXNDYWxjTWluTWF4KENTU1BhcnNlclZhbHVlKik7CisgICAgCiAgICAgZnJpZW5kIGNs
YXNzIFRyYW5zZm9ybU9wZXJhdGlvbkluZm87CiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAg
IGZyaWVuZCBjbGFzcyBGaWx0ZXJPcGVyYXRpb25JbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAK
aW5kZXggNGNlZmRiYzVjMjUyYzI5NmQ5ODg1NDE4ZTg5Mjg5ZGU5MTUzNThkYy4uYjE0YzQyNWU5
YWIzNzljOGM2Y2VlZTU2NmEwY2U1ZGYzMDcyMTFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3Bw
CkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU0JvcmRlckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NCb3JkZXJJbWFnZVNs
aWNlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDYW52
YXNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Nyb3NzZmFkZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NT
Q3Vyc29ySW1hZ2VWYWx1ZS5oIgpAQCAtMTQ3LDYgKzE0OCw4IEBAIFN0cmluZyBDU1NWYWx1ZTo6
Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NMaW5l
Qm94Q29udGFpblZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKICAgICBjYXNlIEZsZXhD
bGFzczoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0ZsZXhWYWx1ZSo+KHRo
aXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgY2FzZSBDYWxjQ2xhc3M6CisgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxjb25zdCBDU1NDYWxjVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgp
OwogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBjYXNlIFdlYktpdENTU0ZpbHRlckNsYXNz
OgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTRmlsdGVyVmFsdWUq
Pih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOwpAQCAtMjUwLDYgKzI1Myw5IEBAIHZvaWQgQ1NTVmFs
dWU6OmRlc3Ryb3koKQogICAgIGNhc2UgRmxleENsYXNzOgogICAgICAgICBkZWxldGUgc3RhdGlj
X2Nhc3Q8Q1NTRmxleFZhbHVlKj4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIENh
bGNDbGFzczoKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PENTU0NhbGNWYWx1ZSo+KHRoaXMp
OworICAgICAgICByZXR1cm47CiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgIGNhc2UgV2Vi
S2l0Q1NTRmlsdGVyQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXZWJLaXRDU1NG
aWx0ZXJWYWx1ZSo+KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCBjZTk1MzY5YWJjMGQ1
NjU3ZmJlMWMwMTc5ODQ4ZGM2MTdkYzY5ZTJiLi5hNjgwYmFkNWQ5MTUzZDNiYmRlZmFlYjJjYzNi
MjQ1ZTYxMWFkOGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNzcsNiArNzcsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc1dlYktpdENTU1RyYW5zZm9ybVZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gV2ViS2l0Q1NTVHJhbnNmb3JtQ2xhc3M7IH0KICAgICBib29sIGlzQ1NT
TGluZUJveENvbnRhaW5WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IExpbmVC
b3hDb250YWluQ2xhc3M7IH0KICAgICBib29sIGlzRmxleFZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gRmxleENsYXNzOyB9CisgICAgYm9vbCBpc0NhbGNWYWx1ZSgpIGNvbnN0
IHtyZXR1cm4gbV9jbGFzc1R5cGUgPT0gQ2FsY0NsYXNzOyB9CiAjaWYgRU5BQkxFKENTU19GSUxU
RVJTKQogICAgIGJvb2wgaXNXZWJLaXRDU1NGaWx0ZXJWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3NUeXBlID09IFdlYktpdENTU0ZpbHRlckNsYXNzOyB9CiAjaWYgRU5BQkxFKENTU19TSEFE
RVJTKQpAQCAtMTI4LDYgKzEyOSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgVW5pY29kZVJhbmdl
Q2xhc3MsCiAgICAgICAgIExpbmVCb3hDb250YWluQ2xhc3MsCiAgICAgICAgIEZsZXhDbGFzcywK
KyAgICAgICAgQ2FsY0NsYXNzLAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykgJiYgRU5BQkxFKENT
U19TSEFERVJTKQogICAgICAgICBXZWJLaXRDU1NTaGFkZXJDbGFzcywKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcAppbmRleCBjOGU3MWI3OTEyZWQwOWVjODUyYzE2MGRlZjM1
NDA2NzY1N2Y0YjhlLi5kMTk4ZjY0MTUxMjdlNDA4YWNlZGMxMWFlM2VlYjYyZDg5M2M3YzhlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcApAQCAtMzE0LDYgKzMxNCwxMiBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VTVkdWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAg
ICAgICAgICAgIHBhcnNlZFZhbHVlID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSh2YWx1ZS0+
ZlZhbHVlLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcykgdmFsdWUtPnVuaXQpOwogICAg
ICAgICBlbHNlIGlmICh2YWx1ZS0+dW5pdCA+PSBDU1NQYXJzZXJWYWx1ZTo6UV9FTVMpCiAgICAg
ICAgICAgICBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGVBbGxvd2luZ01h
cmdpblF1aXJrKHZhbHVlLT5mVmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TKTsKKyAg
ICAgICAgaWYgKGlzQ2FsY01pbk1heCh2YWx1ZSkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FIGNh
bGMoKSBodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyIDogYWN0dWFsbHkgY3JlYXRlIGEgQ1NTUHJp
bWl0aXZlVmFsdWUgaGVyZSwgaWUKKyAgICAgICAgICAgIC8vIHBhcnNlZFZhbHVlID0gQ1NTUHJp
bWl0aXZlVmFsdWU6OmNyZWF0ZShtX3BhcnNlZENhbGMucmVsZWFzZSgpKTsKKyAgICAgICAgICAg
IG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCk7CisgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IDA7Cisg
ICAgICAgIH0KICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICB9CiAgICAgaWYgKCFw
YXJzZWRWYWx1ZSB8fCAobV92YWx1ZUxpc3QtPmN1cnJlbnQoKSAmJiAhaW5TaG9ydGhhbmQoKSkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDc1NQpp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZThhMGNhMTBj
YjE5OTYyMzkwNGZiMDc0M2QxYTQxNmMxZTZhODU0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcApAQCAtMCwwICsxLDM5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkNhbGNWYWx1ZS5oIgorCisjaW5jbHVkZSA8bGltaXRzPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjkyMjgwZThjNzg4MjBhYmIz
ZDM2MzcxYzUzODUwN2E1ZmMxZTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ2FsY1ZhbHVlLmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ2FsY1ZhbHVlX2gK
KyNkZWZpbmUgQ2FsY1ZhbHVlX2gKKworI2luY2x1ZGUgIkxlbmd0aC5oIgorI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2VudW0gQ2FsY09wZXJhdG9yIHsKKyAgICBDYWxjQWRkID0gJysnLAorICAgIENhbGNT
dWJ0cmFjdCA9ICctJywKKyAgICBDYWxjTXVsdGlwbHkgPSAnKicsCisgICAgQ2FsY0RpdmlkZSA9
ICcvJywKKyAgICBDYWxjTW9kID0gJyUnCit9OworCitlbnVtIENhbGNQZXJtaXR0ZWRWYWx1ZVJh
bmdlIHsKKyAgICBDYWxjUmFuZ2VBbGwsCisgICAgQ2FsY1JhbmdlTm9uTmVnYXRpdmUKK307CisK
K2VudW0gQ2FsY0xpc3RUeXBlIHsKKyAgICBDYWxjTWluLAorICAgIENhbGNNYXgsIAorfTsKKyAg
ICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENhbGNWYWx1ZV9oCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNDkyMzQxMTg5NWQ2YTQ4MzAwMzQ2MzBjMDFlODBkYTY2OGVkNmIzMS4uMGVjZDQ3ZTljZGNm
ZDFhMWI1ZWMxZWY3ZWM4YThmYTIxOTgxM2E4YSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEx
LTEyLTIyICBNaWtlIExhd3RoZXIgIDxtaWtlbGF3dGhlckBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgQ1NTIGNhbGMgcGFyc2luZyBzdGFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTcwODIKKworICAgICAgICBOb3RlIHRoYXQgdGhlc2UgdGVzdHMg
YXJlIGV4cGVjdGVkIHRvICdmYWlsJywgYXMgY2FsYyBpcyBub3QgeWV0CisgICAgICAgIHByb2R1
Y2luZyB2YWx1ZXMuIFRoZXkgc2hvdyB0aGF0IGNhbGMgaXMgbm90IGNyYXNoaW5nIGR1cmluZyBw
YXJzaW5nLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy1leHBlY3RlZC1taXNtYXRj
aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlvbi1w
YXJzaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJs
YXktaW1hZ2Utb3V0c2V0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNzczMvY2FsYy9ib3JkZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjc3MzL2NhbGMvYm9yZGVyLXJhZGl1cy1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBjc3MzL2NhbGMvYm9yZGVyLXJhZGl1cy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBjc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9j
YWxjL2JvcmRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvY29sb3ItaHNsLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogY3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
c3MzL2NhbGMvY3NzMy1yYWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogY3NzMy9jYWxjL2ZvbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NhbGMvZm9udC1tb25vc3BhY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NhbGMvZm9udC1tb25vc3BhY2UuaHRtbDogQWRkZWQuCisgICAgICAgICogY3Nz
My9jYWxjL2ZvbnQtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2Fs
Yy9mb250LXNpemUtZnJhY3Rpb25hbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNz
czMvY2FsYy9mb250LXNpemUtZnJhY3Rpb25hbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3Mz
L2NhbGMvZm9udC1zaXplLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9mb250Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1w
ZXJjZW50YWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2dldENv
bXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICogY3Nz
My9jYWxjL2dyYWRpZW50LWNvbG9yLXN0b3BzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGNzczMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBjc3MzL2NhbGMvaW1nLXNpemUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRk
ZWQuCisgICAgICAgICogY3NzMy9jYWxjL2ltZy1zaXplLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNzczMvY2FsYy9saW5lLWhlaWdodC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNz
czMvY2FsYy9saW5lLWhlaWdodC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbWFy
Z2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL21hcmdpbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvcGFkZGluZy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGNzczMvY2FsYy9wYWRkaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogY3NzMy9jYWxjL3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5bGUuaHRtbDogQWRkZWQu
CisgICAgICAgICogY3NzMy9jYWxjL3Jlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmc6IEFkZGVk
LgorICAgICAgICAqIGNzczMvY2FsYy9yZXNvdXJjZXMvZGlhbW9uZC5wbmc6IEFkZGVkLgorICAg
ICAgICAqIGNzczMvY2FsYy9yZXNvdXJjZXMvbWFzay5wbmc6IEFkZGVkLgorICAgICAgICAqIGNz
czMvY2FsYy9yZXNvdXJjZXMvcmluZy5wbmc6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9z
aW1wbGUtY29tcG9zaXRlZC1tYXNrLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNzczMvY2FsYy90YWJsZS1jYWxjcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvY2FsYy90YWJsZS1jYWxjcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Nh
bGMvdGFibGUtZW1wdHktY2VsbHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLmh0bWw6IEFkZGVkLgorCiAyMDExLTEy
LTIxICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkIHVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9uIGZvciBzdmcvY3VzdG9tL2xpbmtpbmct
dXJpLTAxLWIuc3ZnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmFja2dyb3Vu
ZC1wb3NpdGlvbi1wYXJzaW5nLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5nLWV4cGVjdGVkLW1pc21hdGNoLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzM5YjI2OTcwN2M2Mjk1MDRmMzdjOWI2Y2Q1MDc0NDE0YjQyMDEwMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0
aW9uLXBhcnNpbmctZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDEzNyBAQAorPCFE
T0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3
dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4K
KyAgPHRpdGxlPkNTUyBUZXN0OiBDU1MgYmFja2dyb3VuZCBwb3NpdGlvbjogcGFyc2luZzwvdGl0
bGU+CisgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSWFuIEhpY2tzb24iIGhyZWY9Im1haWx0
bzppYW5AaGl4aWUuY2giPgorICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMu
b3JnL1RSL0NTUzIxL2NvbG9ycy5odG1sI2JhY2tncm91bmQiPgorICA8bWV0YSBuYW1lPSJmbGFn
cyIgY29udGVudD0iaW52YWxpZCI+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAuY2Fz
ZSB7IGZsb2F0OiBsZWZ0OyBib3JkZXI6IHNvbGlkOyBtYXJnaW46IDAuMmVtOyB6b29tOjAuNSB9
IC8qIDE1MCB4IDEwMCAqLworICAgLnRlc3QgeyBiYWNrZ3JvdW5kOiAjRkZGRkNDIHVybChyZXNv
dXJjZXMvcmluZy5wbmcpIG5vLXJlcGVhdDsgcGFkZGluZzogMTZweDsgfQorICAgLmNvbnRyb2wg
eyB3aWR0aDogMTE4cHg7IGhlaWdodDogNjhweDsgYmFja2dyb3VuZDogdXJsKHJlc291cmNlcy9k
aWFtb25kLnBuZykgbm8tcmVwZWF0OyB9CisKKyAgIC5hIC5jb250cm9sLCAuYiAuY29udHJvbCwg
LmMgLmNvbnRyb2wsIC5kIC5jb250cm9sLCAuZSAuY29udHJvbCwgLmYgLmNvbnRyb2wgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7IH0KKyAgIC5jYXNlLmEgLnRlc3QgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207IH0KKyAgIC5jYXNlLmIgLnRlc3QgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7IH0KKyAgIC5jYXNlLmMgLnRlc3QgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiAxMDAlIGJvdHRvbTsgfQorICAgLmNhc2UuZCAudGVzdCB7IGJhY2tncm91
bmQtcG9zaXRpb246IHJpZ2h0IDEwMCU7IH0KKyAgIC5jYXNlLmUgLnRlc3QgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAxMDAlIDU4cHg7IH0KKyAgIC5jYXNlLmYgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAxMDhweCAxMDAlOyB9CisKKyAgIC5nIC5jb250cm9sLCAuaCAuY29udHJvbCwgLmkg
LmNvbnRyb2wsIC5qIC5jb250cm9sLCAuayAuY29udHJvbCwgLmwgLmNvbnRyb2wsIC5tIC5jb250
cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTRweCAyOHB4OyB9CisgICAuY2FzZS5nIC50ZXN0
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfQorICAgLmNhc2UuaCAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH0KKyAgIC5jYXNlLmkgLnRlc3QgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgNTAlOyB9CisgICAuY2FzZS5qIC50ZXN0IHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogNTAlIGNlbnRlcjsgfQorICAgLmNhc2UuayAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IDUwJTsgfQorICAgLmNhc2UubCAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IGNlbnRlcjsgfQorICAgLmNhc2UubSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246
IDU0cHg7IH0KKworICAgLm4gLmNvbnRyb2wsIC5vIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogNTRweCA1NnB4OyB9CisgICAuY2FzZS5uIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogYm90dG9tIGNlbnRlcjsgfQorICAgLmNhc2UubyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IGNlbnRlciBib3R0b207IH0KKworICAgLnAgLmNvbnRyb2wsIC5xIC5jb250cm9sIHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogMTA4cHggMjhweDsgfQorICAgLmNhc2UucCAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjsgfQorICAgLmNhc2UucSAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDsgfQorCisgICAuciAuY29udHJvbCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IHRvcCByaWdodDsgfQorICAgLmNhc2UucjAgLnRlc3QgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiByaWdodCB0b3A7IH0KKyAgIC5jYXNlLnIxIC50ZXN0IHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogcmlnaHQgMDsgfQorICAgLmNhc2UucjIgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiByaWdodCAwcHg7IH0KKyAgIC5jYXNlLnIzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogcmlnaHQgMCU7IH0KKyAgIC5jYXNlLnI0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogMTAwJSB0b3A7IH0KKyAgIC5jYXNlLnI1IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
MTAwJSAwOyB9CisgICAuY2FzZS5yNiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUg
MHB4OyB9CisgICAuY2FzZS5yNyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMCU7
IH0KKyAgIC5jYXNlLnI4IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTA4cHggdG9wOyB9
CisgICAuY2FzZS5yOSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwOHB4IDA7IH0KKyAg
IC5jYXNlLnIxMCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwOHB4IDBweDsgfQorICAg
LmNhc2UucjExIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTA4cHggMCU7IH0KKworICAg
Lm5lZ2F0aXZlIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7IH0KKyAgIC5u
ZWdhdGl2ZTMgLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9IC8qIENT
UzMgYmFja2dyb3VuZCBzdXBwb3J0cyBjb21tYSAqLworICAgLmNhc2UudDEgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b20gYm90dG9tOyB9CisgICAuY2FzZS50MiAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodCBib3R0b207IH0KKyAgIC5jYXNl
LnQzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDEwMCU7IH0KKyAgIC5jYXNl
LnQ0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSByaWdodDsgfQorICAgLmNhc2Uu
dDUgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gOHB4OyB9CisgICAuY2FzZS50
NiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDIzcHggcmlnaHQ7IH0KKyAgIC5jYXNlLnQ3
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDUwJSBjZW50ZXI7IH0KKyAgIC5j
YXNlLnQ4IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJSA1MCU7IH0KKyAgIC5j
YXNlLnQ5IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDUwJSA1MCU7IH0KKyAg
IC5jYXNlLnQxMCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSwgMTAwJTsgfSAvKiBD
U1MzIGJhY2tncm91bmQgc3VwcG9ydHMgY29tbWEgKi8KKyAgICAgIC8qIFRoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoZSBjb21tYSBlaXRoZXIgaXMKKyAgICAgICAgICAgYSkgaW52YWxpZCBwZXIgQ1NT
Mi4xCisgICAgICAgICAgIGIpIGhhbmRsZWQgY29ycmVjdGx5IHBlciBDU1MzCisgICAgICAgICBh
bmQgTk9UIHBhcnNlZCBhcyBhIHZhbGlkIHNlcGFyYXRvciBvZiB4IGFuZCB5IG9mZnNldHMuICov
CisgICAuY2FzZS50MTEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gNTRweDsg
fQorICAgLmNhc2UudDEyIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAgNTAlOyB9Cisg
ICAuY2FzZS50MTMgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gMTAwOyB9Cisg
ICAuY2FzZS50MTQgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodGJvdHRvbTsgfQor
ICAgLmNhc2UudDE1IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCByaWdodDsgfQorICAg
LmNhc2UudDE2IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IHJpZ2h0OyB9CisgICAu
Y2FzZS50MTcgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSByaWdodDsgfQorICAgLmNh
c2UudDE4IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDEwMCU7IH0KKyAgIC5jYXNl
LnQxOSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAxMDhweDsgfQorICAgLmNhc2Uu
dDIwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHRvcDsgfQorICAgLmNhc2UudDIx
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCByaWdodDsgfQorICAgLmNhc2UudDIy
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBsZWZ0OyB9CisgIDwvc3R5bGU+Cisg
PC9oZWFkPgorPGJvZHk+CisgIDxwPkluIGFsbCB0aGUgZm9sbG93aW5nIGJveGVzLCB0aGUgZnVj
aHNpYSBkaWFtb25kIHNob3VsZCBiZSBzdXJyb3VuZGVkIGJ5IGEgcmluZy48L3A+CisgIDxkaXYg
Y2xhc3M9ImNhc2UgYSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgYiI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgYyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZSI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgZiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJv
bCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZyI+PGRpdiBjbGFzcz0i
dGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xh
c3M9ImNhc2UgaCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgaSI+PGRpdiBjbGFzcz0idGVzdCI+PGRp
diBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2Ug
aiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgayI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbCI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgbSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbiI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgbyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgcCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBj
bGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgcSI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMSI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgciByMiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMyI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgciByNCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJv
bCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNSI+PGRpdiBjbGFz
cz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYg
Y2xhc3M9ImNhc2UgciByNiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNyI+PGRpdiBjbGFzcz0i
dGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xh
c3M9ImNhc2UgciByOCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByOSI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgciByMTAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxIj48ZGl2IGNsYXNz
PSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY2FzZSBuZWdhdGl2ZSB0MiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDMi
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ0Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2
IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBu
ZWdhdGl2ZSB0NSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDYiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIG5lZ2F0aXZlIHQ3Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250
cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0OCI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5l
Z2F0aXZlIG5lZ2F0aXZlMyB0MTAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxMSI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDEyIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2
IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBu
ZWdhdGl2ZSB0MTMiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxNCI+PGRpdiBjbGFz
cz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYg
Y2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE1Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJj
b250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0
MTYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxNyI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgbmVnYXRpdmUgdDE4Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48
L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTkiPjxkaXYg
Y2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQyMCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRp
dmUgdDIxIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rp
dj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MjIiPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorIAorCis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjNjMWU4NjgxYmU2MzgzMWY4NmQ2NGRjMDRhYTU3NmQ4NmEzNGQ0M2YKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5n
Lmh0bWwKQEAgLTAsMCArMSwxMzcgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9E
VEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQi
PgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgIDx0aXRsZT5DU1MgVGVzdDogQ1NTIGJhY2tn
cm91bmQgcG9zaXRpb246IHBhcnNpbmc8L3RpdGxlPgorICA8bGluayByZWw9ImF1dGhvciIgdGl0
bGU9IklhbiBIaWNrc29uIiBocmVmPSJtYWlsdG86aWFuQGhpeGllLmNoIj4KKyAgPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9jb2xvcnMuaHRtbCNiYWNr
Z3JvdW5kIj4KKyAgPG1ldGEgbmFtZT0iZmxhZ3MiIGNvbnRlbnQ9ImludmFsaWQiPgorICA8c3R5
bGUgdHlwZT0idGV4dC9jc3MiPgorICAgLmNhc2UgeyBmbG9hdDogbGVmdDsgYm9yZGVyOiBzb2xp
ZDsgbWFyZ2luOiAwLjJlbTsgem9vbTowLjUgfSAvKiAxNTAgeCAxMDAgKi8KKyAgIC50ZXN0IHsg
YmFja2dyb3VuZDogI0ZGRkZDQyB1cmwocmVzb3VyY2VzL3JpbmcucG5nKSBuby1yZXBlYXQ7IHBh
ZGRpbmc6IC13ZWJraXQtY2FsYygxNnB4KTsgfQorICAgLmNvbnRyb2wgeyB3aWR0aDogMTE4cHg7
IGhlaWdodDogNjhweDsgYmFja2dyb3VuZDogdXJsKHJlc291cmNlcy9kaWFtb25kLnBuZykgbm8t
cmVwZWF0OyB9CisKKyAgIC5hIC5jb250cm9sLCAuYiAuY29udHJvbCwgLmMgLmNvbnRyb2wsIC5k
IC5jb250cm9sLCAuZSAuY29udHJvbCwgLmYgLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiAxMDAlIDEwMCU7IH0KKyAgIC5jYXNlLmEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBy
aWdodCBib3R0b207IH0KKyAgIC5jYXNlLmIgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBi
b3R0b20gcmlnaHQ7IH0KKyAgIC5jYXNlLmMgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAt
d2Via2l0LWNhbGMoMTAwJSkgYm90dG9tOyB9CisgICAuY2FzZS5kIC50ZXN0IHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogcmlnaHQgLXdlYmtpdC1jYWxjKDEwMCUpOyB9CisgICAuY2FzZS5lIC50ZXN0
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIC13ZWJraXQtY2FsYyg1
OHB4KTsgfQorICAgLmNhc2UuZiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQt
Y2FsYyg1MCUgKyA1NHB4KSAtd2Via2l0LWNhbGMoNTAlICsgMjlweCk7IH0KKworICAgLmcgLmNv
bnRyb2wsIC5oIC5jb250cm9sLCAuaSAuY29udHJvbCwgLmogLmNvbnRyb2wsIC5rIC5jb250cm9s
LCAubCAuY29udHJvbCwgLm0gLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1NHB4IDI4
cHg7IH0KKyAgIC5jYXNlLmcgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2Vu
dGVyOyB9CisgICAuY2FzZS5oIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1j
YWxjKDUwJSkgLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5jYXNlLmkgLnRlc3QgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiBjZW50ZXIgLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5jYXNlLmogLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoNTAlKSBjZW50ZXI7IH0KKyAg
IC5jYXNlLmsgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoNTAlKTsg
fQorICAgLmNhc2UubCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfQorICAg
LmNhc2UubSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYyg1NHB4KTsg
fQorCisgICAubiAuY29udHJvbCwgLm8gLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1
NHB4IDU2cHg7IH0KKyAgIC5jYXNlLm4gLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0
b20gY2VudGVyOyB9CisgICAuY2FzZS5vIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2Vu
dGVyIGJvdHRvbTsgfQorCisgICAucCAuY29udHJvbCwgLnEgLmNvbnRyb2wgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAxMDhweCAyOHB4OyB9CisgICAuY2FzZS5wIC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogcmlnaHQgY2VudGVyOyB9CisgICAuY2FzZS5xIC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogY2VudGVyIHJpZ2h0OyB9CisKKyAgIC5yIC5jb250cm9sIHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogdG9wIHJpZ2h0OyB9CisgICAuY2FzZS5yMCAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IHJpZ2h0IHRvcDsgfQorICAgLmNhc2UucjEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiByaWdodCAwOyB9CisgICAuY2FzZS5yMiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246
IHJpZ2h0IC13ZWJraXQtY2FsYygwcHgpOyB9CisgICAuY2FzZS5yMyAudGVzdCB7IGJhY2tncm91
bmQtcG9zaXRpb246IHJpZ2h0IC13ZWJraXQtY2FsYygwJSk7IH0KKyAgIC5jYXNlLnI0IC50ZXN0
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIHRvcDsgfQorICAgLmNh
c2UucjUgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMTAwJSkgMDsg
fQorICAgLmNhc2UucjYgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMo
MTAwJSkgLXdlYmtpdC1jYWxjKDBweCk7IH0KKyAgIC5jYXNlLnI3IC50ZXN0IHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIC13ZWJraXQtY2FsYygwJSk7IH0KKyAgIC5j
YXNlLnI4IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwOHB4KSB0
b3A7IH0KKyAgIC5jYXNlLnI5IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1j
YWxjKDEwOHB4KSAwOyB9CisgICAuY2FzZS5yMTAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiAtd2Via2l0LWNhbGMoMTA4cHgpIC13ZWJraXQtY2FsYygwcHgpOyB9CisgICAuY2FzZS5yMTEg
LnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMTA4cHgpIC13ZWJraXQt
Y2FsYygwJSk7IH0KKworICAgLm5lZ2F0aXZlIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogMCUgMCU7IH0KKyAgIC5uZWdhdGl2ZTMgLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiA1MCUgNTAlOyB9IC8qIENTUzMgYmFja2dyb3VuZCBzdXBwb3J0cyBjb21tYSAqLworICAgLmNh
c2UudDEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b20gYm90dG9tOyB9
CisgICAuY2FzZS50MiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodCBi
b3R0b207IH0KKyAgIC5jYXNlLnQzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9t
IC13ZWJraXQtY2FsYygxMDAlKTsgfQorICAgLmNhc2UudDQgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAtd2Via2l0LWNhbGMoMTAwJSkgcmlnaHQ7IH0KKyAgIC5jYXNlLnQ1IC50ZXN0IHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIC13ZWJraXQtY2FsYyg4cHgpOyB9CisgICAuY2Fz
ZS50NiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygyM3B4KSByaWdo
dDsgfQorICAgLmNhc2UudDcgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLXdl
YmtpdC1jYWxjKDUwJSkgY2VudGVyOyB9CisgICAuY2FzZS50OCAudGVzdCB7IGJhY2tncm91bmQt
cG9zaXRpb246IC13ZWJraXQtY2FsYyg1MCUpIC13ZWJraXQtY2FsYyg1MCUpIC13ZWJraXQtY2Fs
Yyg1MCUpOyB9CisgICAuY2FzZS50OSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRl
ciAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoNTAlKTsgfQorICAgLmNhc2UudDEwIC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDUwJSksIC13ZWJraXQtY2Fs
YygxMDAlKTsgfSAvKiBDU1MzIGJhY2tncm91bmQgc3VwcG9ydHMgY29tbWEgKi8KKyAgICAgIC8q
IFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoZSBjb21tYSBlaXRoZXIgaXMKKyAgICAgICAgICAgYSkg
aW52YWxpZCBwZXIgQ1NTMi4xCisgICAgICAgICAgIGIpIGhhbmRsZWQgY29ycmVjdGx5IHBlciBD
U1MzCisgICAgICAgICBhbmQgTk9UIHBhcnNlZCBhcyBhIHZhbGlkIHNlcGFyYXRvciBvZiB4IGFu
ZCB5IG9mZnNldHMuICovCisgICAuY2FzZS50MTEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiBib3R0b20gLXdlYmtpdC1jYWxjKDU0cHgpOyB9CisgICAuY2FzZS50MTIgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiA1MCAtd2Via2l0LWNhbGMoNTAlKTsgfQorICAgLmNhc2UudDEzIC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDEwMDsgfQorICAgLmNhc2UudDE0IC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHRib3R0b207IH0KKyAgIC5jYXNlLnQxNSAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgcmlnaHQ7IH0KKyAgIC5jYXNlLnQxNiAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygwcHgpIHJpZ2h0OyB9CisgICAu
Y2FzZS50MTcgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMCUpIHJp
Z2h0OyB9CisgICAuY2FzZS50MTggLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgLXdl
YmtpdC1jYWxjKDEwMCUpOyB9CisgICAuY2FzZS50MTkgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiB0b3AgLXdlYmtpdC1jYWxjKDEwOHB4KTsgfQorICAgLmNhc2UudDIwIC50ZXN0IHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogdG9wIHRvcDsgfQorICAgLmNhc2UudDIxIC50ZXN0IHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogbGVmdCByaWdodDsgfQorICAgLmNhc2UudDIyIC50ZXN0IHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogbGVmdCBsZWZ0OyB9CisgIDwvc3R5bGU+CisgPC9oZWFkPgorPGJvZHk+
CisgIDxwPkluIGFsbCB0aGUgZm9sbG93aW5nIGJveGVzLCB0aGUgZnVjaHNpYSBkaWFtb25kIHNo
b3VsZCBiZSBzdXJyb3VuZGVkIGJ5IGEgcmluZy48L3A+CisgIDxkaXYgY2xhc3M9ImNhc2UgYSI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgYiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgYyI+PGRpdiBjbGFz
cz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYg
Y2xhc3M9ImNhc2UgZCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZSI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgZiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgaCI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgaSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJv
bCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgaiI+PGRpdiBjbGFzcz0i
dGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xh
c3M9ImNhc2UgayI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbCI+PGRpdiBjbGFzcz0idGVzdCI+PGRp
diBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2Ug
bSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbyI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgcCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgcSI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgciByMCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMSI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgciByMiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMyI+PGRpdiBjbGFzcz0idGVzdCI+PGRp
diBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2Ug
ciByNCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBj
bGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciBy
NiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByOCI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgciByOSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMTAiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNs
YXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdh
dGl2ZSB0MiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDMiPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIG5lZ2F0aXZlIHQ0Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9s
Ij48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0NSI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0
aXZlIHQ3Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rp
dj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0OCI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgbmVnYXRpdmUgdDkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIG5lZ2F0aXZl
MyB0MTAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxMSI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgbmVnYXRpdmUgdDEyIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9s
Ij48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTMiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxNCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBj
bGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVn
YXRpdmUgdDE1Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48
L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTYiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIG5lZ2F0aXZlIHQxNyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE4
Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTkiPjxkaXYgY2xhc3M9InRlc3QiPjxk
aXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNl
IG5lZ2F0aXZlIHQyMCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDIxIj48ZGl2IGNs
YXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRp
diBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MjIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorIAorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFnZS1vdXRzZXQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0LWV4
cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjhjN2JjYzllODExOTRiMDRjZjMzMDUw
NTU1Y2UwYTAyYmRmOTkzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwK
QEAgLTAsMCArMSwxNCBAQAorPGhlYWQ+Cis8c3R5bGU+CisuYmxvY2tUZXN0IHsKKyAgICAgICAg
IG1hcmdpbjogMjVweDsKKyAgICAgICAgIHBhZGRpbmc6IDUwcHg7CisgICAgICAgICBjb2xvcjp3
aGl0ZTsKKwkgICAgIGJhY2tncm91bmQtY29sb3I6bWFyb29uOworICAgICAgICAgLXdlYmtpdC1t
YXNrLWJveC1pbWFnZTogdXJsKHJlc291cmNlcy9tYXNrLnBuZykgNzUgNzUgNzUgNzUgLyBhdXRv
IC8gMTAwcHggMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNz
PSJibG9ja1Rlc3QiIHN0eWxlPSJoZWlnaHQ6MCI+PGRpdiBzdHlsZT0iaGVpZ2h0OjQwMHB4OyBi
YWNrZ3JvdW5kLWNvbG9yOmdyZXkiPlRoaXMgY29udGVudCBzaG91bGQgYmUgbWFza2VkIHdpdGgg
YSBzb2Z0IGdsb3cuPC9kaXY+PC9kaXY+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvYmxvY2stbWFzay1vdmVybGF5LWltYWdlLW91dHNldC5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFnZS1vdXRzZXQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kYTUwYzAyNjM0MmM4NmEwNzdhMzNkYzI0NTRhMjIzNDE4NmQwOWZmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFn
ZS1vdXRzZXQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8aGVhZD4KKzxzdHlsZT4KKy5ibG9ja1Rl
c3QgeworICAgICAgICAgbWFyZ2luOiAyNXB4OworICAgICAgICAgcGFkZGluZzogNTBweDsKKyAg
ICAgICAgIGNvbG9yOndoaXRlOworCSAgICAgYmFja2dyb3VuZC1jb2xvcjptYXJvb247CisgICAg
ICAgICAtd2Via2l0LW1hc2stYm94LWltYWdlOiB1cmwocmVzb3VyY2VzL21hc2sucG5nKSA3NSA3
NSA3NSA3NSAvIGF1dG8gLyAtd2Via2l0LWNhbGMoMTAwcHgpIDA7Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0iYmxvY2tUZXN0IiBzdHlsZT0iaGVpZ2h0OjAi
PjxkaXYgc3R5bGU9ImhlaWdodDo0MDBweDsgYmFja2dyb3VuZC1jb2xvcjpncmV5Ij5UaGlzIGNv
bnRlbnQgc2hvdWxkIGJlIG1hc2tlZCB3aXRoIGEgc29mdCBnbG93LjwvZGl2PjwvZGl2PgorPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41YzczN2I1YjJmNWY3M2ZjZWY2NzFmMGYwZjQyY2M1MTM0ZjIwODE1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw5IEBACitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBib3JkZXIgb2YgMjUg
cGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyNTAsIGJ1dCB3YXMgNzg0
LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTcwLCBidXQgd2FzIDI0CisKK1RoaXMgZWxlbWVu
dCBzaG91bGQgaGF2ZSBhIGxlZnQgYm9yZGVyIG9mIDI1IHBpeGVscy4gPT4gRkFJTDogZXhwZWN0
ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDc4NCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0
IG9mIDEyMCwgYnV0IHdhcyAxOAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBi
b3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMjUs
IGJ1dCB3YXMgNzg0LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTIwLCBidXQgd2FzIDE4CisK
K1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBG
QUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMDAsIGJ1dCB3YXMgNzg0LCBleHBlY3RlZCB0
b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDIxCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2
ZSBhIGJvdHRvbSBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3
aWR0aCBvZiAyMDAsIGJ1dCB3YXMgNzg0LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBi
dXQgd2FzIDIxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXJhZGl1
cy1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1y
YWRpdXMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmYyOWY1YTliMGYxNzgx
NWU1NGVhMDZiNDAwMjU1NjI4NGViMzFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL2JvcmRlci1yYWRpdXMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsx
LDI2IEBACis8c3R5bGU+CitkaXYgeworICAgIHdpZHRoOjEwMHB4OworICAgIGhlaWdodDoxMDBw
eDsKKyAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsKK30KKy5jb250cm9sIHsKKyAgICBib3Jk
ZXItcmFkaXVzOjUwcHg7Cit9CisucGl4ZWxzIHsKKyAgICBib3JkZXItcmFkaXVzOjUwcHg7Cit9
CisucGVyY2VudCB7CisgICAgYm9yZGVyLXJhZGl1czo1MCU7Cit9CisuYm90aCB7CisgICAgYm9y
ZGVyLXJhZGl1czo1MCU7Cit9Cis8L3N0eWxlPgorCitUaGlzIHRlc3Qgc2hvdWxkIGhhdmUgZm91
ciBjaXJjbGVzLgorCis8ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBp
eGVscyI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImJv
dGgiPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1yYWRp
dXMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItcmFkaXVzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNmJkOWJiOTA4ZmM3NTlmYjU3ODUzZjg0MGMwMjJmMzE2NGEyNGVhYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItcmFkaXVzLmh0bWwKQEAgLTAs
MCArMSwyNiBAQAorPHN0eWxlPgorZGl2IHsKKyAgICB3aWR0aDoxMDBweDsKKyAgICBoZWlnaHQ6
MTAwcHg7CisgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7Cit9CisuY29udHJvbCB7CisgICAg
Ym9yZGVyLXJhZGl1czo1MHB4OyAgICAKK30KKy5waXhlbHMgeworICAgIGJvcmRlci1yYWRpdXM6
LXdlYmtpdC1jYWxjKDUwcHgpOworfQorLnBlcmNlbnQgeworICAgIGJvcmRlci1yYWRpdXM6LXdl
YmtpdC1jYWxjKDUwJSk7Cit9CisuYm90aCB7CisgICAgYm9yZGVyLXJhZGl1czotd2Via2l0LWNh
bGMoMjUlICsgMjVweCk7Cit9Cis8L3N0eWxlPgorCitUaGlzIHRlc3Qgc2hvdWxkIGhhdmUgZm91
ciBjaXJjbGVzLgorCis8ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBp
eGVscyI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImJv
dGgiPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1zcGFj
aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmFkZjNhMzBlMjUyNzMyNjU1MjlmOGZiYTMxZWFmNTli
ZmFhNWJhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXIt
c3BhY2luZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorPT4gRkFJTDogZXhwZWN0ZWQgdG90
YWwgd2lkdGggb2YgNDE2LCBidXQgd2FzIDQ4LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMjA1
LCBidXQgd2FzIDI0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNw
YWNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmNhMjg4NjkzZWZiNTQwNDY0NDkzOWM3OGQzNjc2Nzk2OWYwZjU2ZTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbApA
QCAtMCwwICsxLDU5IEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK3RkIHsgdmVydGljYWwt
YWxpZ246dG9wOyBwYWRkaW5nOiAwOyB3aWR0aDotd2Via2l0LWNhbGMoNTBweCk7IGhlaWdodDot
d2Via2l0LWNhbGMoNjBweCk7IGJhY2tncm91bmQtY29sb3I6Ymx1ZTsgYm9yZGVyOi13ZWJraXQt
Y2FsYygxcHgpIHNvbGlkIGJsYWNrIH0KK3RhYmxlIHsgYm9yZGVyLXNwYWNpbmc6IC13ZWJraXQt
Y2FsYygxMHB4ICogMiArIDVweCk7IGJvcmRlcjozcHggc29saWQgYmxhY2s7IHBvc2l0aW9uOnJl
bGF0aXZlIH0KKzwvc3R5bGU+CisKKzx0YWJsZSBpZD0ic3RpbXVsdXMiPgorICAgIDx0cj4KKyAg
ICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAg
ICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgor
ICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgor
ICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisK
K3ZhciBpbm5lckJvcmRlciA9IDE7Cit2YXIgb3V0ZXJCb3JkZXIgPSAzOwordmFyIGlubmVyV2lk
dGggPSA1MCArIDIgKiBpbm5lckJvcmRlcjsKK3ZhciBpbm5lckhlaWdodCA9IDYwICsgMiAqIGlu
bmVyQm9yZGVyOwordmFyIGJvcmRlclNwYWNpbmcgPSAyNTsKK3ZhciByb3dzID0gMjsKK3ZhciBj
b2x1bW5zID0gNTsKKwordmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldpZHRoICogY29sdW1ucyAr
IGJvcmRlclNwYWNpbmcgKiAoY29sdW1ucyArIDEpICsgMiAqIG91dGVyQm9yZGVyOwordmFyIGV4
cGVjdGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQgKiByb3dzICsgYm9yZGVyU3BhY2luZyAqIChyb3dz
ICsgMSkgKyAyICogb3V0ZXJCb3JkZXI7CisKK3ZhciBlbHQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RpbXVsdXMiKTsKKwordmFyIHdpZHRoID0gZWx0Lm9mZnNldFdpZHRoOwordmFyIGhl
aWdodCA9IGVsdC5vZmZzZXRIZWlnaHQ7CisKK3ZhciBlcnJvciA9IFtdOworaWYgKHdpZHRoICE9
IGV4cGVjdGVkV2lkdGgpCisgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGggb2Yg
IiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7CitpZiAoaGVpZ2h0ICE9
IGV4cGVjdGVkSGVpZ2h0KQorICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRvdGFsIGhlaWdodCBv
ZiAiICsgZXhwZWN0ZWRIZWlnaHQgKyAiLCBidXQgd2FzICIgKyBoZWlnaHQpOworCityZXN1bHQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CitpZiAoZXJyb3IgPT0gIiIpIHsK
KyAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHQuaW5u
ZXJIVE1MICs9ICIgPT4gUEFTUyI7Cit9IGVsc2UgeworICAgIGVsdC5zdHlsZS5iYWNrZ3JvdW5k
Q29sb3IgPSAicmVkIjsKKyAgICByZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVy
cm9yLmpvaW4oIiwgIik7Cit9Cis8L3NjcmlwdD4gICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvYm9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTU3NzJmOWJhOTdjMGYwOGIwYzE1M2QwYjA4MTNhM2VmMDk0Nzc1ZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXIuaHRtbApAQCAt
MCwwICsxLDc3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK3AgeworICAgIHdpZHRoOi13
ZWJraXQtY2FsYygyMDBweCk7IGhlaWdodDotd2Via2l0LWNhbGMoMTIwcHgpOworfQorLnNpbXBs
ZS1hbGwgeworICAgIGJvcmRlcjogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30K
KworLnNpbXBsZS1sZWZ0IHsKKyAgICBib3JkZXItbGVmdDogLXdlYmtpdC1jYWxjKDEzcHggKyAx
MnB4KSBzb2xpZDsKK30KKy5zaW1wbGUtcmlnaHQgeworICAgIGJvcmRlci1yaWdodDogLXdlYmtp
dC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKy5zaW1wbGUtdG9wIHsKKyAgICBib3JkZXIt
dG9wOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlkOworfQorLnNpbXBsZS1ib3R0b20g
eworICAgIGJvcmRlci1ib3R0b206IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCkgc29saWQ7Cit9
Cis8L3N0eWxlPgorCis8cCBjbGFzcz0ic2ltcGxlLWFsbCI+VGhpcyBlbGVtZW50IHNob3VsZCBo
YXZlIGFuIG92ZXJhbGwgYm9yZGVyIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxl
LWxlZnQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgYm9yZGVyIG9mIDI1IHBpeGVs
cy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YSByaWdodCBib3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUtdG9wIj5U
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgYm9yZGVyIG9mIDI1IHBpeGVscy48L3A+Cis8
cCBjbGFzcz0ic2ltcGxlLWJvdHRvbSI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9t
IGJvcmRlciBvZiAyNSBwaXhlbHMuPC9wPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisK
K3ZhciBpbm5lcldpZHRoID0gMjAwOwordmFyIGlubmVySGVpZ2h0ID0gMTIwOwordmFyIGJvcmRl
ciA9IDI1OworCit2YXIgdGVzdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgicCIp
OworZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkgeworICAgIHZhciBlbHQg
PSB0ZXN0c1tpXTsKKyAgICB2YXIgd2lkdGggPSBlbHQub2Zmc2V0V2lkdGg7CisgICAgdmFyIGhl
aWdodCA9IGVsdC5vZmZzZXRIZWlnaHQ7CisKKyAgICB2YXIgZXhwZWN0ZWRXaWR0aCA9IGlubmVy
V2lkdGg7CisgICAgdmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQ7CisKKyAgICBzd2l0
Y2ggKGVsdC5jbGFzc05hbWUuc3BsaXQoIi0iKVsxXSkgeworICAgIGNhc2UgImFsbCI6CisgICAg
ICAgIGV4cGVjdGVkV2lkdGggKz0gMiAqIGJvcmRlcjsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQg
Kz0gMiAqIGJvcmRlcjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAidG9wIjoKKyAgICBjYXNl
ICJib3R0b20iOgorICAgICAgICBleHBlY3RlZEhlaWdodCArPSBib3JkZXI7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgImxlZnQiOgorICAgIGNhc2UgInJpZ2h0IjoKKyAgICAgICAgZXhwZWN0
ZWRXaWR0aCArPSBib3JkZXI7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHZhciBlcnJv
ciA9IFtdOworICAgIGlmICh3aWR0aCAhPSBleHBlY3RlZFdpZHRoKQorICAgICAgICBlcnJvci5w
dXNoKCJleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAiICsgZXhwZWN0ZWRXaWR0aCArICIsIGJ1dCB3
YXMgIiArIHdpZHRoKTsKKyAgICBpZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAgICAg
ICBlcnJvci5wdXNoKCJleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgIiArIGV4cGVjdGVkSGVpZ2h0
ICsgIiwgYnV0IHdhcyAiICsgaGVpZ2h0KTsKKworICAgIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0cyIpOworICAgIGlmIChlcnJvciA9PSAiIikgeworICAgICAgICBl
bHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAgICAgICAgZWx0LmlubmVySFRN
TCArPSAiID0+IFBBU1MiOworICAgIH0gZWxzZSB7CisgICAgICAgIGVsdC5zdHlsZS5iYWNrZ3Jv
dW5kQ29sb3IgPSAicmVkIjsKKyAgICAgICAgZWx0LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIg
KyBlcnJvci5qb2luKCIsICIpOworICAgIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvY29sb3ItaHNsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNDc5YmJjYzE1OTI3
MWM3M2IyY2Q0ZjQ5OTMxZjczOGI1MmNhOWFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL2NvbG9yLWhzbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRl
bmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxk
IGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2Ft
ZSBjb2xvcgorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhz
bC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY4M2JmZjBlMWFlN2YwMjM1MWIwMmNlOGQwNmFhMGQ0NGIzYzllNDgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItaHNsLmh0bWwKQEAgLTAsMCArMSw0MSBA
QAorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2RpdiB7Y29sb3I6IHJlZDt9CisjY29udHJvbHNp
bXBsZSB7Y29sb3I6IGhzbCgxMjAsNzUlLDUwJSk7fQorI3NpbXBsZSB7Y29sb3I6IGhzbCgtd2Vi
a2l0LWNhbGMoMTIwKSwtd2Via2l0LWNhbGMoNzUlKSwtd2Via2l0LWNhbGMoNTAlKSk7fQorCisj
Y29udHJvbGFscGhhIHtjb2xvcjogaHNsYSgxMjAsNzUlLDUwJSwwLjcpO30KKyNhbHBoYSB7Y29s
b3I6IGhzbGEoLXdlYmtpdC1jYWxjKDEyMCksLXdlYmtpdC1jYWxjKDc1JSksLXdlYmtpdC1jYWxj
KDUwJSksIC13ZWJraXQtY2FsYygwLjcpKTt9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJjb250cm9s
c2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2
PgorPGRpdiBpZD0ic2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2Ft
ZSBjb2xvcjwvZGl2PgorPGhyLz4KKzxkaXYgaWQ9ImNvbnRyb2xhbHBoYSI+VGhlc2UgdHdvIHNl
bnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxkaXYgaWQ9ImFscGhhIj5U
aGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGhyLz4K
KzxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisK
K3Rlc3RzID0gWyJzaW1wbGUiLCAiYWxwaGEiXTsKKwordmFyIHN1Y2Nlc3MgPSB0cnVlOworCitm
b3IgKGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgdGVzdCA9IHRlc3Rz
W2ldOworICAgIHZhciBleHBlY3RlZCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRyb2wiICsgdGVzdCksIG51bGwpLmNvbG9yOworICAgIHZhciBhY3R1YWwg
PSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRlc3QpLCBudWxsKS5j
b2xvcjsKKyAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiAoYWN0dWFsID09IGV4cGVjdGVkKTsKK30K
KwordmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworaWYg
KHN1Y2Nlc3MpIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKyAgICByZXN1
bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xv
ciA9ICJyZWQiOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOworfQorPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjVlY2MwMGQwMmE3MjBiNzAwMWRhOWEzZWM4Mzc5N2I4NjJhMzI2NDEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDkgQEAKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9y
CitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdv
IHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMg
c2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0
aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29s
b3IKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0
d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorUEFTUwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2NvbG9yLXJnYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4MDI5YTg3MGFhMTI2M2ZlZDE1MzY5Nzk4
YTJkMGE2YjZjNjQzZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Y29sb3ItcmdiLmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
K2RpdiB7Y29sb3I6IHJlZDt9CisjY29udHJvbHNpbXBsZSB7Y29sb3I6IHJnYigxMCwxODAsMzAp
O30KKyNzaW1wbGUge2NvbG9yOiByZ2IoLXdlYmtpdC1jYWxjKDEwKSwtd2Via2l0LWNhbGMoMTgg
KiAxMCksLXdlYmtpdC1jYWxjKDMwKSk7fQorI2NvbnRyb2xwZXJjZW50c2ltcGxlIHtjb2xvcjog
cmdiKDEwJSw5NSUsMzAlKTt9CisjcGVyY2VudHNpbXBsZSB7Y29sb3I6IHJnYigtd2Via2l0LWNh
bGMoMiUgKyA4JSksLXdlYmtpdC1jYWxjKDk1JSksLXdlYmtpdC1jYWxjKDMlICogMTApKTt9CisK
KyNjb250cm9sYWxwaGEge2NvbG9yOiByZ2JhKDEwLDE4MCwzMCwwLjcpO30KKyNhbHBoYSB7Y29s
b3I6IHJnYmEoLXdlYmtpdC1jYWxjKDEwKSwtd2Via2l0LWNhbGMoMTgwKSwtd2Via2l0LWNhbGMo
MzApLCAtd2Via2l0LWNhbGMoMC4zNSAqIDIpKTt9CisjY29udHJvbHBlcmNlbnRhbHBoYSB7Y29s
b3I6IHJnYmEoMTAlLDk1JSwzMCUsMC43KTt9CisjcGVyY2VudGFscGhhIHtjb2xvcjogcmdiYSgt
d2Via2l0LWNhbGMoMiAqIDUlKSwtd2Via2l0LWNhbGMoMTAwJSAtIDUlKSwtd2Via2l0LWNhbGMo
MzAlKSwtd2Via2l0LWNhbGMoMC4yICogMyArIDAuMSkpO30KKzwvc3R5bGU+CisKKzxkaXYgaWQ9
ImNvbnRyb2xzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNv
bG9yPC9kaXY+Cis8ZGl2IGlkPSJzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJl
IHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8aHIvPgorPGRpdiBpZD0iY29udHJvbHBlcmNlbnRzaW1w
bGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8
ZGl2IGlkPSJwZXJjZW50c2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhl
IHNhbWUgY29sb3I8L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJjb250cm9sYWxwaGEiPlRoZXNlIHR3
byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJhbHBo
YSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxo
ci8+Cis8ZGl2IGlkPSJjb250cm9scGVyY2VudGFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNo
b3VsZCAgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxkaXYgaWQ9InBlcmNlbnRhbHBoYSI+VGhl
c2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8aHIvPgor
PGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwor
dGVzdHMgPSBbInNpbXBsZSIsICJhbHBoYSJdOworCit2YXIgc3VjY2VzcyA9IHRydWU7CisKK2Zv
ciAoaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7IGkrKykgeworICAgIHZhciB0ZXN0ID0gdGVzdHNb
aV07CisgICAgdmFyIGV4cGVjdGVkc2ltcGxlID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udHJvbCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7CisgICAgdmFyIGFj
dHVhbHNpbXBsZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGVz
dCksIG51bGwpLmNvbG9yOworICAgIHZhciBleHBlY3RlZHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9scGVyY2VudCIgKyB0ZXN0KSwgbnVs
bCkuY29sb3I7CisgICAgdmFyIGFjdHVhbHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwZXJjZW50IiArIHRlc3QpLCBudWxsKS5jb2xvcjsgICAgCisg
ICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGFjdHVhbHNpbXBsZSA9PSBleHBlY3RlZHNpbXBsZSkg
JiYgKGFjdHVhbHBlcmNlbnQgPT0gZXhwZWN0ZWRwZXJjZW50KTsKK30KKwordmFyIHJlc3VsdHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworaWYgKHN1Y2Nlc3MpIHsKKyAg
ICByZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9
ICJQQVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAg
IHJlc3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvY3NzMy1yYWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLW1pc21h
dGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY3NzMy1yYWRpYWwtZ3JhZGllbnRzLWV4
cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJjOTJlOGE2ZmViZTEwZWUzY2I3YmQ1
ZDQ5MjAyOGNlZDViMDI1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9jc3MzLXJhZGlhbC1ncmFkaWVudHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsx
LDcxIEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9
InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAuYm94IHsKKyAgICAgIGRpc3BsYXk6IGlu
bGluZS1ibG9jazsKKyAgICAgIGhlaWdodDogMTIwcHg7CisgICAgICB3aWR0aDogMjAwcHg7Cisg
ICAgICBtYXJnaW46IDEwcHg7CisgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAg
IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgfQorCisgICAgLmdyYWRpZW50MSB7
CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCg1MHB4IDUw
JSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KDUwcHggNTAlLCBjaXJjbGUgY2xvc2VzdC1zaWRl
LCB3aGl0ZSwgYmxhY2spOworICAgIH0KKyAgICAKKyAgICAuZ3JhZGllbnQyIHsKKyAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDIwcHggNTBweCwgZWxsaXBz
ZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IC1tb3otcmFkaWFsLWdyYWRpZW50KDIwcHggNTBweCwgZWxsaXBzZSBjbG9zZXN0LWNvcm5lciwg
d2hpdGUsIGJsYWNrKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQzIHsKKyAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDIwJSAyMCUsIGNpcmNsZSBjbG9zZXN0
LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFk
aWFsLWdyYWRpZW50KDIwJSAyMCUsIGNpcmNsZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNr
KTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQ0IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13
ZWJraXQtcmFkaWFsLWdyYWRpZW50KGxlZnQsIGNpcmNsZSBjb3ZlciwgcmVkLCBncmVlbiAzMCUs
IGJsdWUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQobGVm
dCwgY2lyY2xlIGNvdmVyLCByZWQsIGdyZWVuIDMwJSwgYmx1ZSk7CisgICAgfQorCisgICAgLmdy
YWRpZW50NSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVu
dChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIDgwcHgsIGJsdWUpOworICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBjb3ZlciwgcmVkLCBncmVlbiA4
MHB4LCBibHVlKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQ2IHsKKyAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBjb3ZlciwgcmVkIDIwJSwgZ3Jl
ZW4sIGJsdWUgMTUwJSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFk
aWVudChjaXJjbGUgY292ZXIsIHJlZCAyMCUsIGdyZWVuLCBibHVlIDE1MCUpOworICAgIH0KKwor
ICAgIC5ncmFkaWVudDcgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwt
Z3JhZGllbnQoMjAlIDIwJSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCByZWQgLTUwJSwgZ3JlZW4s
IGJsdWUgMTUwJSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVu
dCgyMCUgMjAlLCBjaXJjbGUgY2xvc2VzdC1jb3JuZXIsIHJlZCAtNTAlLCBncmVlbiwgYmx1ZSAx
NTAlKTsKKyAgICB9CisKKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgICB2YXIgZHVtcFBpeGVscyA9IHRydWU7CisgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KGR1bXBQaXhlbHMpOworICAgIH0KKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJncmFkaWVudDEgYm94Ij48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iZ3JhZGllbnQyIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50MyBib3gi
PjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NCBib3giPjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJncmFkaWVudDUgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQ2
IGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQ3IGJveCI+PC9kaXY+
CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9j
c3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jc3MzLXJh
ZGlhbC1ncmFkaWVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NzFlYjdjYzdkMmJlMjA3ZTRjYzY0Y2Rj
OGRkYWM3YjdhZjRmYTBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2NzczMtcmFkaWFsLWdyYWRpZW50cy5odG1sCkBAIC0wLDAgKzEsNzEgQEAKKzwhRE9DVFlQRSBo
dG1sPgorCis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJz
Y3JlZW4iPgorICAgIC5ib3ggeworICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAg
aGVpZ2h0OiAxMjBweDsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIG1hcmdpbjogMTBweDsK
KyAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6
IG5vLXJlcGVhdDsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQxIHsKKyAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYyg1MHB4KSAtd2Via2l0
LWNhbGMoNTAlKSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYyg1MHB4KSAt
d2Via2l0LWNhbGMoNTAlKSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJsYWNrKTsKKyAg
ICB9CisgICAgCisgICAgLmdyYWRpZW50MiB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Vi
a2l0LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjBweCkgLXdlYmtpdC1jYWxjKDUwcHgp
LCBlbGxpcHNlIGNsb3Nlc3QtY29ybmVyLCB3aGl0ZSwgYmxhY2spOworICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoLXdlYmtpdC1jYWxjKDIwcHgpIC13ZWJraXQt
Y2FsYyg1MHB4KSwgZWxsaXBzZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICB9
CisKKyAgICAuZ3JhZGllbnQzIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFk
aWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYygyMCUpIC13ZWJraXQtY2FsYygyMCUpLCBjaXJjbGUg
Y2xvc2VzdC1jb3JuZXIsIHdoaXRlLCBibGFjayk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAt
bW96LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjAlKSAtd2Via2l0LWNhbGMoMjAlKSwg
Y2lyY2xlIGNsb3Nlc3QtY29ybmVyLCB3aGl0ZSwgYmxhY2spOworICAgIH0KKworICAgIC5ncmFk
aWVudDQgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQo
bGVmdCwgY2lyY2xlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygzMCUpLCBibHVlKTsK
KyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KGxlZnQsIGNpcmNs
ZSBjb3ZlciwgcmVkLCBncmVlbiAtd2Via2l0LWNhbGMoMzAlKSwgYmx1ZSk7CisgICAgfQorCisg
ICAgLmdyYWRpZW50NSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1n
cmFkaWVudChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYyg4MHB4KSwgYmx1
ZSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChlbGxpcHNl
IGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYyg4MHB4KSwgYmx1ZSk7CisgICAgfQorCisg
ICAgLmdyYWRpZW50NiB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1n
cmFkaWVudChjaXJjbGUgY292ZXIsIHJlZCAtd2Via2l0LWNhbGMoMjAlKSwgZ3JlZW4sIGJsdWUg
LXdlYmtpdC1jYWxjKDE1MCUpKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFs
LWdyYWRpZW50KGNpcmNsZSBjb3ZlciwgcmVkIC13ZWJraXQtY2FsYygyMCUpLCBncmVlbiwgYmx1
ZSAtd2Via2l0LWNhbGMoMTUwJSkpOworICAgIH0KKworICAgIC5ncmFkaWVudDcgeworICAgICAg
YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoLXdlYmtpdC1jYWxjKDIw
JSkgLXdlYmtpdC1jYWxjKDIwJSksIGNpcmNsZSBjbG9zZXN0LWNvcm5lciwgcmVkIC01MCUsIGdy
ZWVuLCBibHVlIC13ZWJraXQtY2FsYygxNTAlKSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAt
bW96LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjAlKSAtd2Via2l0LWNhbGMoMjAlKSwg
Y2lyY2xlIGNsb3Nlc3QtY29ybmVyLCByZWQgLTUwJSwgZ3JlZW4sIGJsdWUgLXdlYmtpdC1jYWxj
KDE1MCUpKTsKKyAgICB9CisKKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgICB2YXIgZHVtcFBpeGVscyA9IHRydWU7CisgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQaXhlbHMpOworICAgIH0KKyAgPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJncmFkaWVudDEgYm94Ij48L2Rpdj4KKyAgPGRp
diBjbGFzcz0iZ3JhZGllbnQyIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50MyBi
b3giPjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NCBib3giPjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJncmFkaWVudDUgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGll
bnQ2IGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQ3IGJveCI+PC9k
aXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9mb250LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lNTA1ZGU2ZDNiNzE0ZTAwZDQzNzgxNmIzZTFlYmYyNzI5ODcwOGMx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsOSBAQAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhl
c2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWln
aHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQg
bGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQg
c2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAor
VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlk
ZW50aWNhbAorRkFJTAorTGluZSBoZWlnaHRzIGRvIG5vdCBtYXRjaAorCitMaW5lIHdpZHRocyBk
byBub3QgbWF0Y2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LW1vbm9z
cGFjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1tb25vc3BhY2Ut
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViNDU3NmRlMjkzMjI1MTEwMDMwZWUwMDBjNGM3MjEy
ZGMyMmVjMTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1t
b25vc3BhY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGhlIGZvbnQgc2l6ZSBhbmQg
bGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQg
c2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAor
RkFJTAorTGluZSBoZWlnaHRzIGRvIG5vdCBtYXRjaAorCitGb250IHNpemVzIGRvIG5vdCBtYXRj
aApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtbW9ub3NwYWNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1tb25vc3BhY2UuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
OGU0ZjVjZTIxMzY3MjA2MTg3MGNhODdhZTRmZWIwMzhmZjQ0NDVhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtbW9ub3NwYWNlLmh0bWwKQEAgLTAsMCArMSw0
NSBAQAorPHN0eWxlPiAKK2JvZHkgICAgIHtmb250LXNpemU6IDEycHg7fQorI2NvbnRyb2wge2Zv
bnQ6IGl0YWxpYyBzbWFsbC1jYXBzIDkwMCAxNTAlLzJlbSBtb25vc3BhY2U7fQorI2NhbGMgICAg
e2ZvbnQ6IGl0YWxpYyBzbWFsbC1jYXBzIDkwMCAtd2Via2l0LWNhbGMoMTUwJSkvMmVtIG1vbm9z
cGFjZTt9Cis8L3N0eWxlPgorCis8ZGl2PgorPHNwYW4gaWQ9ImNvbnRyb2wiPlRoZSBmb250IHNp
emUgYW5kIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3Nw
YW4+Cis8aHIvPgorPHNwYW4gaWQ9ImNhbGMiPlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0
IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8L2Rpdj4KKzxoci8+
Cis8ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
dmFyIGNvbnRyb2xIZWlnaHQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250cm9sIiksIG51bGwpLmxpbmVIZWlnaHQ7Cit2YXIgY29udHJvbFNpemUgPSBnZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiksIG51bGwpLmZv
bnRTaXplOworCit2YXIgc3BhbnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3Bh
biIpOwordmFyIHNhbWVIZWlnaHQgPSB0cnVlOwordmFyIHNhbWVTaXplID0gdHJ1ZTsKK2ZvciAo
dmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgY3VycmVudCA9IHNw
YW5zW2ldOworICAgIGlmIChzYW1lSGVpZ2h0KQorICAgICAgICBzYW1lSGVpZ2h0ID0gZ2V0Q29t
cHV0ZWRTdHlsZShjdXJyZW50LCBudWxsKS5saW5lSGVpZ2h0ID09IGNvbnRyb2xIZWlnaHQ7Cisg
ICAgaWYgKHNhbWVTaXplKQorICAgICAgICBzYW1lU2l6ZSA9IGdldENvbXB1dGVkU3R5bGUoY3Vy
cmVudCwgbnVsbCkuZm9udFNpemUgPT0gY29udHJvbFNpemU7Cit9CisKK3ZhciByZXN1bHRzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKK2lmIChzYW1lSGVpZ2h0ICYmIHNh
bWVTaXplKSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJncmVlbiI7CisgICAgcmVzdWx0
cy5pbm5lckhUTUwgPSAiUEFTUyI7Cit9IGVsc2UgeworICAgIHJlc3VsdHMuc3R5bGUuY29sb3Ig
PSAicmVkIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJGQUlMIjsgICAgCisgICAgaWYgKCFz
YW1lSGVpZ2h0KQorICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSAiPHA+TGluZSBoZWlnaHRz
IGRvIG5vdCBtYXRjaDwvcD4iOworICAgIGlmICghc2FtZVNpemUpCisgICAgICAgIHJlc3VsdHMu
aW5uZXJIVE1MICs9ICI8cD5Gb250IHNpemVzIGRvIG5vdCBtYXRjaDwvcD4iOworfQorCis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtc2l6ZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjUzNTE4MDZhZjZjMGFmYzI2Zjc5Y2UyOTZiYjM3MDJiZGJiMzBlZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorVGhlIGZvbnQgc2l6ZSBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUg
aWRlbnRpY2FsIAorVGhlIGZvbnQgc2l6ZSBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRp
Y2FsIAorVGhlIGZvbnQgc2l6ZSBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsCitG
QUlMCitDb21wdXRlZCBmb250IHNpemVzIGRvIG5vdCBtYXRjaApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2ZvbnQtc2l6ZS1mcmFjdGlvbmFsLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUtZnJhY3Rpb25hbC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWI0NTc2ZGUyOTMyMjUxMTAwMzBlZTAwMGM0YzcyMTJkYzIyZWMxMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUtZnJhY3Rpb25hbC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBv
ZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsCitUaGUgZm9udCBzaXplIGFuZCBsaW5l
IGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsCitGQUlMCitMaW5lIGhl
aWdodHMgZG8gbm90IG1hdGNoCisKK0ZvbnQgc2l6ZXMgZG8gbm90IG1hdGNoCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9uYWwuaHRtbCBiL0xheW91
dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUtZnJhY3Rpb25hbC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZi
OWY2OTMxZTg2ZDRlZmFiZWEyNWFlYmE1NzVlZWU2Y2Q3NDMxOGQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9uYWwuaHRtbApAQCAtMCww
ICsxLDQ1IEBACis8c3R5bGU+IAorYm9keSAgICAgICAgIHsgZm9udC1zaXplOiAxMnB4O30KKyNj
b250cm9sICAgICB7Zm9udDogbm9ybWFsIDQwMCA4MCUvMi41IHNhbnMtc2VyaWY7fQorI2NhbGMt
cmVkdWNlIHtmb250OiBub3JtYWwgNDAwIC13ZWJraXQtY2FsYyg4MCUpLzIuNSBzYW5zLXNlcmlm
O30KKzwvc3R5bGU+CisKKzxkaXY+Cis8c3BhbiBpZD0iY29udHJvbCI+VGhlIGZvbnQgc2l6ZSBh
bmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4K
Kzxoci8+Cis8c3BhbiBpZD0iY2FsYy1yZWR1Y2UiPlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVp
Z2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8L2Rpdj4KKzxo
ci8+Cis8ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OwordmFyIGNvbnRyb2xIZWlnaHQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250cm9sIiksIG51bGwpLmxpbmVIZWlnaHQ7Cit2YXIgY29udHJvbFNpemUgPSBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiksIG51bGwp
LmZvbnRTaXplOworCit2YXIgc3BhbnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
c3BhbiIpOwordmFyIHNhbWVIZWlnaHQgPSB0cnVlOwordmFyIHNhbWVTaXplID0gdHJ1ZTsKK2Zv
ciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgY3VycmVudCA9
IHNwYW5zW2ldOworICAgIGlmIChzYW1lSGVpZ2h0KQorICAgICAgICBzYW1lSGVpZ2h0ID0gZ2V0
Q29tcHV0ZWRTdHlsZShjdXJyZW50LCBudWxsKS5saW5lSGVpZ2h0ID09IGNvbnRyb2xIZWlnaHQ7
CisgICAgaWYgKHNhbWVTaXplKQorICAgICAgICBzYW1lU2l6ZSA9IGdldENvbXB1dGVkU3R5bGUo
Y3VycmVudCwgbnVsbCkuZm9udFNpemUgPT0gY29udHJvbFNpemU7Cit9CisKK3ZhciByZXN1bHRz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKK2lmIChzYW1lSGVpZ2h0ICYm
IHNhbWVTaXplKSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJncmVlbiI7CisgICAgcmVz
dWx0cy5pbm5lckhUTUwgPSAiUEFTUyI7Cit9IGVsc2UgeworICAgIHJlc3VsdHMuc3R5bGUuY29s
b3IgPSAicmVkIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJGQUlMIjsgICAgCisgICAgaWYg
KCFzYW1lSGVpZ2h0KQorICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSAiPHA+TGluZSBoZWln
aHRzIGRvIG5vdCBtYXRjaDwvcD4iOworICAgIGlmICghc2FtZVNpemUpCisgICAgICAgIHJlc3Vs
dHMuaW5uZXJIVE1MICs9ICI8cD5Gb250IHNpemVzIGRvIG5vdCBtYXRjaDwvcD4iOworfQorCis8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Mjhm
ZmY0YThkZWY3MTE5MzM5ZDk2NGM5NWE1MDdiZGNmZDEwZjFhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtc2l6ZS5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzxz
dHlsZT4gCisjY29udHJvbCB7Zm9udC1zaXplOiAyMDAlO30KKyNjYWxjLXBlcmNlbnQge2ZvbnQt
c2l6ZTogLXdlYmtpdC1jYWxjKDIwMCUpO30KKyNjYWxjLXBlcmNlbnQtcGl4ZWxzIHtmb250LXNp
emU6IC13ZWJraXQtY2FsYygxNTAlICsgMTBweCk7fQorPC9zdHlsZT4KKworPGRpdiBzdHlsZT0i
Zm9udC1zaXplOiAyMHB4OyI+Cis8c3BhbiBpZD0iY29udHJvbCI+VGhlIGZvbnQgc2l6ZSBvZiB0
aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGJyLz4KKzxzcGFuIGlkPSJj
YWxjLXBlcmNlbnQiPlRoZSBmb250IHNpemUgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50
aWNhbDwvc3Bhbj4KKzxici8+Cis8c3BhbiBpZD0iY2FsYy1wZXJjZW50LXBpeGVscyI+VGhlIGZv
bnQgc2l6ZSBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGhyLz4K
KzwvZGl2PgorPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKK3ZhciBjb250cm9sU2l6ZSA9ICBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250cm9sIiksIG51bGwpLmZvbnRTaXplCisKK3ZhciBzcGFucyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzcGFuIik7Cit2YXIgc2FtZVNpemUgPSB0cnVlOwor
Zm9yICh2YXIgaSA9IDA7IGkgPCBzcGFucy5sZW5ndGg7ICsraSkgeworICAgIHZhciBjdXJyZW50
ID0gc3BhbnNbaV07CisgICAgaWYgKHNhbWVTaXplKQorICAgICAgICBzYW1lU2l6ZSA9IGdldENv
bXB1dGVkU3R5bGUoY3VycmVudCwgbnVsbCkuZm9udFNpemUgPT0gY29udHJvbFNpemU7Cit9CisK
K3ZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKK2lmIChz
YW1lU2l6ZSkgeworICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3Vs
dHMuaW5uZXJIVE1MID0gIlBBU1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9y
ID0gInJlZCI7CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIHJlc3Vs
dHMuaW5uZXJIVE1MICs9ICI8cD5Db21wdXRlZCBmb250IHNpemVzIGRvIG5vdCBtYXRjaDwvcD4i
OworfQorCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmMDky
ZjM1MGIzMmNiN2E1NzA0YjgxZGEwYzZmOWU3NjNiZTViOWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzxzdHlsZT4g
CisjY29udHJvbCAgICAgICAgICAgICB7Zm9udDogMS41ZW0vNjNweCBzYW5zLXNlcmlmO30KKyNj
YWxjLXNpemUgICAgICAgICAgIHtmb250OiAtd2Via2l0LWNhbGMoMS41ZW0pLzYzcHggc2Fucy1z
ZXJpZn0KKyNjYWxjLWhlaWdodCAgICAgICAgIHtmb250OiAxLjVlbS8td2Via2l0LWNhbGMoMTI2
cHggLyAyKSBzYW5zLXNlcmlmfQorI2NhbGMtYm90aCAgICAgICAgICAge2ZvbnQ6IC13ZWJraXQt
Y2FsYygxLjVlbSkvLXdlYmtpdC1jYWxjKDYzcHgpIHNhbnMtc2VyaWZ9CisjY2FsYy1wZXJjZW50
LXNpemUgICB7Zm9udDogLXdlYmtpdC1jYWxjKDEwMCUgKyAwLjVlbSkvNjNweCBzYW5zLXNlcmlm
fQorPC9zdHlsZT4KKworPGRpdj4KKzxzcGFuIGlkPSJjb250cm9sIj5UaGUgZm9udCBzaXplIGFu
ZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgor
PGhyLz4KKzxzcGFuIGlkPSJjYWxjLXNpemUiPlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0
IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPHNwYW4g
aWQ9ImNhbGMtaGVpZ2h0Ij5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBs
aW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGhyLz4KKzxzcGFuIGlkPSJjYWxjLWJv
dGgiPlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBi
ZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPHNwYW4gaWQ9ImNhbGMtcGVyY2VudC1zaXplIj5U
aGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRl
bnRpY2FsPC9zcGFuPgorPC9kaXY+Cis8aHIvPgorPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+CisK
KzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK3ZhciBjb250cm9sSGVpZ2h0ID0gZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIpLCBudWxsKS5saW5lSGVp
Z2h0OwordmFyIGNvbnRyb2xTaXplID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udHJvbCIpLCBudWxsKS5mb250U2l6ZTsKKwordmFyIHNwYW5zID0gZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKK3ZhciBzYW1lSGVpZ2h0ID0gdHJ1ZTsK
K3ZhciBzYW1lU2l6ZSA9IHRydWU7Citmb3IgKHZhciBpID0gMDsgaSA8IHNwYW5zLmxlbmd0aDsg
KytpKSB7CisgICAgdmFyIGN1cnJlbnQgPSBzcGFuc1tpXTsKKyAgICBpZiAoc2FtZUhlaWdodCkK
KyAgICAgICAgc2FtZUhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoY3VycmVudCwgbnVsbCkubGlu
ZUhlaWdodCA9PSBjb250cm9sSGVpZ2h0OworICAgIGlmIChzYW1lU2l6ZSkKKyAgICAgICAgc2Ft
ZVNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnQsIG51bGwpLmZvbnRTaXplID09IGNvbnRy
b2xTaXplOworfQorCit2YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHRzIik7CitpZiAoc2FtZUhlaWdodCAmJiBzYW1lU2l6ZSkgeworICAgIHJlc3VsdHMuc3R5bGUu
Y29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIlBBU1MiOworfSBlbHNl
IHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gInJlZCI7CisgICAgcmVzdWx0cy5pbm5lckhU
TUwgPSAiRkFJTCI7ICAgIAorICAgIGlmICghc2FtZUhlaWdodCkKKyAgICAgICAgcmVzdWx0cy5p
bm5lckhUTUwgKz0gIjxwPkxpbmUgaGVpZ2h0cyBkbyBub3QgbWF0Y2g8L3A+IjsKKyAgICBpZiAo
IXNhbWVTaXplKQorICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSAiPHA+TGluZSB3aWR0aHMg
ZG8gbm90IG1hdGNoPC9wPiI7Cit9CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNl
bnRhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxNGNhNTUyZmI4YmY3NTI2ZTUwNmIzYjM4
OTA0NWRmNWRmMTc0MTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Z2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw3IEBACitUZXN0IGNhbGxpbmcgZ2V0UHJvcGVydHlWYWx1ZSBvbiBjb21wdXRlZCBtYXJnaW4g
c3R5bGVzLgorCittYXJnaW4tbGVmdDogMHB4CittYXJnaW4tdG9wOiAwcHgKK21hcmdpbi1yaWdo
dDogMHB4CittYXJnaW4tYm90dG9tOiAwcHgKK1Rlc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLmh0bWwgYi9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjNjNmZhMGEyNmQ5OTQwOTMwMzNlMjlkZmM1NjQwNDU4OTIwMjY4ZGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ2V0Q29tcHV0ZWRTdHlsZS1t
YXJnaW4tcGVyY2VudGFnZS5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgICNmb28geyAKKyAgICAgICAgICAg
IGJhY2tncm91bmQ6IHB1cnBsZTsKKyAgICAgICAgICAgIGJvcmRlcjogLXdlYmtpdC1jYWxjKDEw
cHgpIGRvdWJsZSAjMDAwMDAwOyAKKyAgICAgICAgICAgIHdpZHRoOiAtd2Via2l0LWNhbGMoNTAl
KTsKKyAgICAgICAgICAgIGhlaWdodDogYXV0bzsKKyAgICAgICAgICAgIAorICAgICAgICAgICAg
bWFyZ2luLWxlZnQ6IC13ZWJraXQtY2FsYygzMyUpOworICAgICAgICAgICAgbWFyZ2luLXRvcDog
LXdlYmtpdC1jYWxjKDEwJSk7CisgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIHBhZGRpbmctbGVmdDogYXV0bzsKKyAgICAgICAgICAgIGxl
ZnQ6IGF1dG87CisgICAgICAgICAgICBjb2xvcjogd2hpdGU7CisgICAgICAgICAgICBmb250OiAt
d2Via2l0LWNhbGMoMjRweCkgJ0x1Y2lkYSBHcmFuZGUnOworICAgICAgICAgICAgbGluZS1oZWln
aHQ6IC13ZWJraXQtY2FsYygyNHB4KTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgCisg
ICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gbG9nKG1zZykgeworICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZShtc2cgKyAnXG4nKSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1
bmN0aW9uIHRlc3QocHJvcCkgeworICAgICAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdmb28nKTsKKyAgICAgICAgICAgIGxvZyhwcm9wICsgJzogJyArIHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGRpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wKSk7CisgICAg
ICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgCisgICAgICAg
ICAgICB0ZXN0KCdtYXJnaW4tbGVmdCcpOworICAgICAgICAgICAgdGVzdCgnbWFyZ2luLXRvcCcp
OworICAgICAgICAgICAgdGVzdCgnbWFyZ2luLXJpZ2h0Jyk7CisgICAgICAgICAgICB0ZXN0KCdt
YXJnaW4tYm90dG9tJyk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJv
ZHkgb25sb2FkPSJydW5UZXN0cygpOyI+CisgICAgPHA+VGVzdCBjYWxsaW5nIGdldFByb3BlcnR5
VmFsdWUgb24gY29tcHV0ZWQgbWFyZ2luIHN0eWxlcy48L3A+CisgICAgPHByZSBpZD0iY29uc29s
ZSI+PC9wcmU+CisgICAgCisgICAgPGRpdiBpZD0iZm9vIj5UZXN0PC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQtY29sb3It
c3RvcHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ncmFk
aWVudC1jb2xvci1zdG9wcy1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkMDA1
YjkxNWMzOTZhZDE5ZDcxNTEzNzZhMTBkMjlhNDQ4MWExZmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMtZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbApAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVh
ZD4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAuYm94IHsK
KyAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgIGhlaWdodDogMTIwcHg7CisgICAg
ICB3aWR0aDogMjAwcHg7CisgICAgICBtYXJnaW46IDEwcHg7CisgICAgICBib3JkZXI6IDFweCBz
b2xpZCBibGFjazsKKyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgfQor
CisgICAgLmxpbmVhcjEgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXIt
Z3JhZGllbnQobGVmdCwgcmVkIDI1JSwgZ3JlZW4gNTAlLCBibHVlIDc1JSk7CisgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQgMjUlLCBncmVlbiA1
MCUsIGJsdWUgNzUlKTsKKyAgICB9CisKKyAgICAubGluZWFyMiB7CisgICAgICAvKiBHcmVlbiBz
aG91bGQgZ2V0IHNoaWZ0ZWQgdG8gNTAlICovCisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Vi
a2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQgNTAlLCBncmVlbiAzMCUsIGJsdWUgOTAlKTsK
KyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCA1
MCUsIGdyZWVuIDMwJSwgYmx1ZSA5MCUpOworICAgIH0KKworICAgIC5saW5lYXIzIHsKKyAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJlZCAtNTAlLCBncmVl
biwgYmx1ZSwgZ3JlZW4sIGJsdWUgMTUwJSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96
LWxpbmVhci1ncmFkaWVudChyZWQgLTUwJSwgZ3JlZW4sIGJsdWUsIGdyZWVuLCBibHVlIDE1MCUp
OworICAgIH0KKworICAgIC5saW5lYXI0IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJr
aXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4gMTAwcHgsIGJsdWUpOworICAgICAg
YmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkLCBncmVlbiAx
MDBweCwgYmx1ZSk7CisgICAgfQorCisgICAgLmxpbmVhcjUgeworICAgICAgYmFja2dyb3VuZC1p
bWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkLCBncmVlbiAxMjAlLCBibHVl
KTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJl
ZCwgZ3JlZW4gMTIwJSwgYmx1ZSk7CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgIHZhciBkdW1wUGl4ZWxzID0gdHJ1ZTsKKyAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoZHVtcFBpeGVscyk7CisgICAgfQorICA8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCisgIDxkaXYgY2xhc3M9ImxpbmVhcjEgYm94Ij48L2Rp
dj4KKyAgPGRpdiBjbGFzcz0ibGluZWFyMiBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJsaW5l
YXIzIGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0ibGluZWFyNCBib3giPjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJsaW5lYXI1IGJveCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy5o
dG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dyYWRpZW50LWNvbG9yLXN0b3BzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTRmNGU5YmI0OWQwN2UyZDljNmMxY2VjMDY3Yzg2YWMwNWFjMWE3MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy5o
dG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgor
ICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAgIC5ib3ggeworICAg
ICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgaGVpZ2h0OiAxMjBweDsKKyAgICAgIHdp
ZHRoOiAyMDBweDsKKyAgICAgIG1hcmdpbjogMTBweDsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsYWNrOworICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICB9CisKKyAg
ICAubGluZWFyMSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFk
aWVudChsZWZ0LCByZWQgLXdlYmtpdC1jYWxjKDI1JSksIGdyZWVuIC13ZWJraXQtY2FsYyg1MCUp
LCBibHVlIC13ZWJraXQtY2FsYyg3NSUpKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3ot
bGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCAtd2Via2l0LWNhbGMoMjUlKSwgZ3JlZW4gLXdlYmtp
dC1jYWxjKDUwJSksIGJsdWUgLXdlYmtpdC1jYWxjKDc1JSkpOworICAgIH0KKworICAgIC5saW5l
YXIyIHsKKyAgICAgIC8qIEdyZWVuIHNob3VsZCBnZXQgc2hpZnRlZCB0byAtd2Via2l0LWNhbGMo
NTAlKSAqLworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQo
bGVmdCwgcmVkIC13ZWJraXQtY2FsYyg1MCUpLCBncmVlbiAtd2Via2l0LWNhbGMoMzAlKSwgYmx1
ZSAtd2Via2l0LWNhbGMoOTAlKSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVh
ci1ncmFkaWVudChsZWZ0LCByZWQgLXdlYmtpdC1jYWxjKDUwJSksIGdyZWVuIC13ZWJraXQtY2Fs
YygzMCUpLCBibHVlIC13ZWJraXQtY2FsYyg5MCUpKTsKKyAgICB9CisKKyAgICAubGluZWFyMyB7
CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZWQgLXdl
YmtpdC1jYWxjKC01MCUpLCBncmVlbiwgYmx1ZSwgZ3JlZW4sIGJsdWUgLXdlYmtpdC1jYWxjKDE1
MCUpKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHJlZCAt
d2Via2l0LWNhbGMoLTUwJSksIGdyZWVuLCBibHVlLCBncmVlbiwgYmx1ZSAtd2Via2l0LWNhbGMo
MTUwJSkpOworICAgIH0KKworICAgIC5saW5lYXI0IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4gLXdlYmtpdC1jYWxjKDEw
MHB4KSwgYmx1ZSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVu
dChsZWZ0LCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygxMDBweCksIGJsdWUpOworICAgIH0KKwor
ICAgIC5saW5lYXI1IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdy
YWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4gLXdlYmtpdC1jYWxjKDEyMCUpLCBibHVlKTsKKyAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4g
LXdlYmtpdC1jYWxjKDEyMCUpLCBibHVlKTsKKyAgICB9CisgIDwvc3R5bGU+CisgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CisgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgdmFyIGR1bXBQaXhlbHMgPSB0cnVlOworICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dChkdW1wUGl4ZWxzKTsKKyAgICB9Cisg
IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKyAgPGRpdiBjbGFzcz0ibGluZWFyMSBib3gi
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJsaW5lYXIyIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImxpbmVhcjMgYm94Ij48L2Rpdj4KKyAgPGJyPgorICA8ZGl2IGNsYXNzPSJsaW5lYXI0IGJveCI+
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImxpbmVhcjUgYm94Ij48L2Rpdj4KKworPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ltZy1zaXplLWV4cGVjdGVk
LW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvaW1nLXNpemUtZXhwZWN0ZWQt
bWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOGRiMTI3MDQzMGQ5YjVkMDBiM2RlNzgxM2ExOWQy
MTBiMzY2Zjg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ltZy1z
aXplLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPHN0eWxlPgorLmNv
bnRyb2wgeyB3aWR0aDogNTAlOyB9CisucGl4ZWxzIHsgd2lkdGg6IDEwMHB4OyB9CisucGVyY2Vu
dCB7d2lkdGg6IDUwJTsgfQorLmJvdGgge3dpZHRoOiAxMDBweDsgfQorPC9zdHlsZT4KKworPGRp
diBzdHlsZT0id2lkdGg6MjAwcHg7Ij4KKyAgICA8aW1nIGNsYXNzPSJjb250cm9sIiBzcmM9ImRh
dGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFB
QUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNV
Vk9SSzVDWUlJPSI+CisgICAgPGhyLz4KKyAgICA8aW1nIGNsYXNzPSJwaXhlbHMiIHNyYz0iZGF0
YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFB
Qnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VW
T1JLNUNZSUk9Ij4KKyAgICA8aHIvPgorICAgIDxpbWcgY2xhc3M9InBlcmNlbnQiIHNyYz0iZGF0
YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFB
Qnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VW
T1JLNUNZSUk9Ij4KKyAgICA8aHIvPgorICAgIDxpbWcgY2xhc3M9ImJvdGgiIHNyYz0iZGF0YTpp
bWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFBQnl0
ZzBrQUFBQUZFbEVRVlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VWT1JL
NUNZSUk9Ij4KKzwvZGl2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWctc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2ltZy1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJjNmI5YTM4ZTFhZGY4MGUyOGQ4YjI4ZmI5
MWRmZjRmZDY3Mzk5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9p
bWctc2l6ZS5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzxzdHlsZT4KKy5jb250cm9sIHsgd2lkdGg6
IDUwJTsgfQorLnBpeGVscyB7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHgpOyB9CisucGVyY2Vu
dCB7d2lkdGg6IC13ZWJraXQtY2FsYyg1MCUpOyB9CisuYm90aCB7d2lkdGg6IC13ZWJraXQtY2Fs
YygyNSUgKyA1MHB4KTsgfQorPC9zdHlsZT4KKworPGRpdiBzdHlsZT0id2lkdGg6MjAwcHg7Ij4K
KyAgICA8aW1nIGNsYXNzPSJjb250cm9sIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJP
UncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6
OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPGhyLz4K
KyAgICA8aW1nIGNsYXNzPSJwaXhlbHMiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9S
dzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4
RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8aHIvPgor
ICAgIDxpbWcgY2xhc3M9InBlcmNlbnQiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9S
dzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4
RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8aHIvPgor
ICAgIDxpbWcgY2xhc3M9ImJvdGgiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBL
R2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4RHdI
d3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VWT1JLNUNZSUk9Ij4KKzwvZGl2PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9s
aW5lLWhlaWdodC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbGluZS1oZWln
aHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkNjUwZGNhOWZlMGJmN2NjZTYzNDAzNmUwYmE2
MDcxNzRhZWY0ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbGlu
ZS1oZWlnaHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhlIGxpbmUgaGVpZ2h0IG9m
IHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWwKK1RoZSBsaW5lIGhlaWdodCBvZiB0aGVz
ZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsCitUaGUgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGlu
ZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorRkFJTAorQ29tcHV0ZWQgbGluZSBoZWlnaHRzIGRvIG5v
dCBtYXRjaDogMzJweCwgbm9ybWFsLCBub3JtYWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9saW5lLWhlaWdodC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2xpbmUtaGVp
Z2h0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWM3ZDEwNjU3ZDBjMzBmMTZiNTI3ODZhMTAwNzAyZmJhYjUx
ZGRmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9saW5lLWhlaWdo
dC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzxzdHlsZT4gCitzcGFuIHsgZm9udC1zaXplOiAxNnB4
O30KKyNjb250cm9sIHtsaW5lLWhlaWdodDogMjAwJTt9CisjY2FsYy1wZXJjZW50IHtsaW5lLWhl
aWdodDogLXdlYmtpdC1jYWxjKDEwMCUgKiAyKTt9CisjY2FsYy1wZXJjZW50LXBpeGVscyB7bGlu
ZS1oZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlICsgMTZweCk7fQorPC9zdHlsZT4KKworPGRpdj4K
KzxzcGFuIGlkPSJjb250cm9sIj5UaGUgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxk
IGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYy1wZXJjZW50Ij5UaGUg
bGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxo
ci8+Cis8c3BhbiBpZD0iY2FsYy1wZXJjZW50LXBpeGVscyI+VGhlIGxpbmUgaGVpZ2h0IG9mIHRo
ZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPC9kaXY+Cis8ZGl2
IGlkPSJyZXN1bHRzIj48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwordmFyIGNv
bnRyb2xIZWlnaHQgPSAgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udHJvbCIpLCBudWxsKS5saW5lSGVpZ2h0OwordmFyIGhlaWdodHMgPSAiIjsKKwordmFyIHNw
YW5zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKK3ZhciBzYW1lSGVp
Z2h0ID0gdHJ1ZTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHsKKyAg
ICB2YXIgY3VycmVudCA9IHNwYW5zW2ldOworICAgIHZhciBjdXJyZW50SGVpZ2h0ID0gZ2V0Q29t
cHV0ZWRTdHlsZShjdXJyZW50LCBudWxsKS5saW5lSGVpZ2h0OworICAgIGlmIChoZWlnaHRzLmxl
bmd0aCAhPSAwKQorICAgICAgICBoZWlnaHRzID0gaGVpZ2h0cyArICIsICI7CisgICAgaGVpZ2h0
cyA9IGhlaWdodHMgKyBjdXJyZW50SGVpZ2h0OworICAgIGlmIChzYW1lSGVpZ2h0KQorICAgICAg
ICBzYW1lSGVpZ2h0ID0gY3VycmVudEhlaWdodCA9PSBjb250cm9sSGVpZ2h0OworfQorCit2YXIg
cmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZUhl
aWdodCkgeworICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3VsdHMu
aW5uZXJIVE1MID0gIlBBU1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0g
InJlZCI7CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIHJlc3VsdHMu
aW5uZXJIVE1MICs9ICI8cD5Db21wdXRlZCBsaW5lIGhlaWdodHMgZG8gbm90IG1hdGNoOiAiICsg
aGVpZ2h0cyArICI8L3A+IjsKK30KKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvbWFyZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9t
YXJnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhOWVmOTVhZDU1OGY0MTViZmEzZDJlMjI2
NTJmNzVkZmMzYzBmNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
bWFyZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitUaGlzIGVsZW1lbnQgc2hvdWxk
IGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0
b3RhbCB3aWR0aCBvZiAyNTAsIGJ1dCB3YXMgMzU3LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2Yg
MTcwLCBidXQgd2FzIDE4CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgbWFyZ2lu
IG9mIDI1IHBpeGVscy4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQg
d2FzIDMyNiwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDEyMCwgYnV0IHdhcyAxOAorCitUaGlz
IGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBGQUlM
OiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMjUsIGJ1dCB3YXMgMzM1LCBleHBlY3RlZCB0b3Rh
bCBoZWlnaHQgb2YgMTIwLCBidXQgd2FzIDE4CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBh
IHRvcCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBv
ZiAyMDAsIGJ1dCB3YXMgMzI2LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2Fz
IDE4CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBtYXJnaW4gb2YgMjUgcGl4
ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMDAsIGJ1dCB3YXMgMzUwLCBl
eHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDE4CisKK1RoaXMgZWxlbWVudCBz
aG91bGQgaGF2ZSBhbiBvdmVyYWxsIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQg
d2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGgg
b2YgMjUwLCBidXQgd2FzIDMwMCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDE3MCwgYnV0IHdh
cyA1NAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IG1hcmdpbiBvZiAyNSBwaXhl
bHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogZXhw
ZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDMwMCwgZXhwZWN0ZWQgdG90YWwgaGVp
Z2h0IG9mIDEyMCwgYnV0IHdhcyA1NAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdo
dCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVz
IDVweCkuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIyNSwgYnV0IHdhcyAzMDAs
IGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxMjAsIGJ1dCB3YXMgNTQKKworVGhpcyBlbGVtZW50
IHNob3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lk
dGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2Yg
MjAwLCBidXQgd2FzIDMwMCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDE0NSwgYnV0IHdhcyA1
NAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFyZ2luIG9mIDI1IHBpeGVs
cyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBl
Y3RlZCB0b3RhbCB3aWR0aCBvZiAyMDAsIGJ1dCB3YXMgMzAwLCBleHBlY3RlZCB0b3RhbCBoZWln
aHQgb2YgMTQ1LCBidXQgd2FzIDU0CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL21hcmdpbi5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjk0NWY5MzliYzExODBkZmJmNDI0NjFhZTEyZWY2NTljM2FlZDRiNTgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFyZ2luLmh0bWwKQEAgLTAsMCArMSwx
MzMgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHN0eWxlPgorZGl2IHsKKyAgICBkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7Cit9CisKK3AgeworICAgIHdpZHRoOi13ZWJraXQtY2FsYygyMDBweCk7IAorICAg
IGhlaWdodDotd2Via2l0LWNhbGMoMTIwcHgpOworICAgIG1hcmdpbjogMDsKK30KKy5zaW1wbGUt
YWxsIHsKKyAgICBtYXJnaW46IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxl
LWxlZnQgeworICAgIG1hcmdpbi1sZWZ0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQor
LnNpbXBsZS1yaWdodCB7CisgICAgbWFyZ2luLXJpZ2h0OiAtd2Via2l0LWNhbGMoMTNweCArIDEy
cHgpOworfQorLnNpbXBsZS10b3AgeworICAgIG1hcmdpbi10b3A6IC13ZWJraXQtY2FsYygxM3B4
ICsgMTJweCk7Cit9Cisuc2ltcGxlLWJvdHRvbSB7CisgICAgbWFyZ2luLWJvdHRvbTogLXdlYmtp
dC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5wZXJjZW50LWFsbCB7CisgICAvKiBtYXJnaW46IC13
ZWJraXQtY2FsYygxMCUgLSA1cHgpOworICAgIG1hcmdpbjogLW1vei1jYWxjKC13ZWJraXQtY2Fs
YygxMCUpIC0gNXB4KTsKKyAgICBtYXJnaW46IGNhbGMoLXdlYmtpdC1jYWxjKDEwJSkgLSA1cHgp
OyovCisgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQtY2FsYygxMCUpOworfQorLnBlcmNlbnQtbGVm
dCB7CisgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworICAgIG1hcmdp
bi1sZWZ0OiAtd2Via2l0LWNhbGMoMjAlKTsKK30KKy5wZXJjZW50LXJpZ2h0IHsKKyAgICBtYXJn
aW4tcmlnaHQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtdG9wIHsKKyAg
ICBtYXJnaW4tdG9wOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LWJvdHRv
bSB7CisgICBtYXJnaW4tYm90dG9tOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKzwvc3R5
bGU+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxk
IGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8
ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtbGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZl
IGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAg
IDxwIGNsYXNzPSJzaW1wbGUtcmlnaHQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0
IG1hcmdpbiBvZiAyNSBwaXhlbHMuPC9wPgorPC9kaXY+PGJyLz4KKzxkaXY+CisgICAgPHAgY2xh
c3M9InNpbXBsZS10b3AiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBtYXJnaW4gb2Yg
MjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUt
Ym90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFyZ2luIG9mIDI1IHBp
eGVscy48L3A+Cis8L2Rpdj48YnIvPgorCis8ZGl2IGlkPSJ3cmFwcGVyIiBzdHlsZT0id2lkdGg6
IDMwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBjb3Juc2lsazsgZGlzcGxheTogYmxvY2s7Ij4KKzxk
aXY+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMw
MHB4IG1pbnVzICAgICA1cHgpLjwvcD4KKzwvZGl2Pjxici8+CisKKworPGRpdj4KKyAgICA8cCBj
bGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IG1hcmdp
biBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48
L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1yaWdodCI+VGhp
cyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9m
IHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2
PgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXRvcCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEg
dG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWlu
dXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1i
b3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBtYXJnaW4gb2YgMjUgcGl4
ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorPC9kaXY+
PGJyLz4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaW5uZXJXaWR0aCA9IDIw
MDsKK3ZhciBpbm5lckhlaWdodCA9IDEyMDsKK3ZhciBtYXJnaW4gPSAyNTsKKwordmFyIHRlc3Rz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOworZm9yICh2YXIgaSA9IDA7
IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkgeworICAgIHZhciBvdXRlckVsdCA9IHRlc3RzW2ldOwor
ICAgIGlmIChvdXRlckVsdC5pZCA9PSAid3JhcHBlciIpCisgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAKKyAgICB2YXIgaW5uZXJFbHQgPSB0ZXN0c1tpXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
cCIpWzBdOworICAgIHZhciB3aWR0aCA9IG91dGVyRWx0Lm9mZnNldFdpZHRoOworICAgIHZhciBo
ZWlnaHQgPSBvdXRlckVsdC5vZmZzZXRIZWlnaHQ7CisKKyAgICB2YXIgZXhwZWN0ZWRXaWR0aCA9
IGlubmVyV2lkdGg7CisgICAgdmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQ7CisgICAg
CisgICAgc3dpdGNoIChpbm5lckVsdC5jbGFzc05hbWUuc3BsaXQoIi0iKVsxXSkgeworICAgIGNh
c2UgImFsbCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGggKz0gMiAqIG1hcmdpbjsKKyAgICAgICAg
ZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIG1hcmdpbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAi
dG9wIjoKKyAgICBjYXNlICJib3R0b20iOgorICAgICAgICBleHBlY3RlZEhlaWdodCArPSBtYXJn
aW47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgImxlZnQiOgorICAgIGNhc2UgInJpZ2h0IjoK
KyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSBtYXJnaW47CisgICAgICAgIGJyZWFrOworICAgIH0K
KyAgICAKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGggIT0gZXhwZWN0ZWRXaWR0
aCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVj
dGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7CisgICAgaWYgKGhlaWdodCAhPSBleHBl
Y3RlZEhlaWdodCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9m
ICIgKyBleHBlY3RlZEhlaWdodCArICIsIGJ1dCB3YXMgIiArIGhlaWdodCk7CisKKyAgICByZXN1
bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKKyAgICBpZiAoZXJyb3Ig
PT0gIiIpIHsKKyAgICAgICAgaW5uZXJFbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVu
IjsKKyAgICAgICAgaW5uZXJFbHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgaW5uZXJFbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gInJlZCI7CisgICAg
ICAgIGlubmVyRWx0LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIp
OworICAgIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3BhZGRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3BhZGRpbmctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0OWI5NTkxZTQ5YjU1NDVlMTA0NDllNWZmYmQwMDY5ZWZj
ZWU0YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcGFkZGluZy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFu
IG92ZXJhbGwgcGFkZGluZyBvZiAyNSBwaXhlbHMuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdp
ZHRoIG9mIDI1MCwgYnV0IHdhcyA3ODQsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxNzAsIGJ1
dCB3YXMgMTgKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9mIDI1
IHBpeGVscy4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDc4
NCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDEyMCwgYnV0IHdhcyAxOAorCitUaGlzIGVsZW1l
bnQgc2hvdWxkIGhhdmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscy4gPT4gRkFJTDogZXhw
ZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDc4NCwgZXhwZWN0ZWQgdG90YWwgaGVp
Z2h0IG9mIDEyMCwgYnV0IHdhcyAxOAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3Ag
cGFkZGluZyBvZiAyNSBwaXhlbHMuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIw
MCwgYnV0IHdhcyA3ODQsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxNDUsIGJ1dCB3YXMgMTgK
KworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBhZGRpbmcgb2YgMjUgcGl4ZWxz
LiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMDAsIGJ1dCB3YXMgNzY5LCBleHBl
Y3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDE4CisKK1RoaXMgZWxlbWVudCBzaG91
bGQgaGF2ZSBhbiBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdp
ZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9m
IDI1MCwgYnV0IHdhcyAzMDAsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxNzAsIGJ1dCB3YXMg
NTQKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVs
cyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBl
Y3RlZCB0b3RhbCB3aWR0aCBvZiAyMjUsIGJ1dCB3YXMgMzAwLCBleHBlY3RlZCB0b3RhbCBoZWln
aHQgb2YgMTIwLCBidXQgd2FzIDU0CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0
IHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVz
IDVweCkuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIyNSwgYnV0IHdhcyAzMDAs
IGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxMjAsIGJ1dCB3YXMgNTQKKworVGhpcyBlbGVtZW50
IHNob3VsZCBoYXZlIGEgdG9wIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdp
ZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9m
IDIwMCwgYnV0IHdhcyAzMDAsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxNDUsIGJ1dCB3YXMg
NTQKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBhZGRpbmcgb2YgMjUgcGl4
ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IEZBSUw6IGV4
cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIwMCwgYnV0IHdhcyAzMDAsIGV4cGVjdGVkIHRvdGFsIGhl
aWdodCBvZiAxNDUsIGJ1dCB3YXMgNTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9wYWRkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcGFkZGluZy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjFjZWE3YzczOGU5YmUzMDdmMjU5ZTE0NDg1MmQ2NGNjYWM1MTliMDgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcGFkZGluZy5odG1sCkBAIC0wLDAgKzEs
OTkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHN0eWxlPgorcCB7CisgICAgd2lkdGg6LXdlYmtpdC1j
YWxjKDIwMHB4KTsgaGVpZ2h0Oi13ZWJraXQtY2FsYygxMjBweCk7IAorfQorLnNpbXBsZS1hbGwg
eworICAgIHBhZGRpbmc6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLWxl
ZnQgeworICAgIHBhZGRpbmctbGVmdDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5z
aW1wbGUtcmlnaHQgeworICAgIHBhZGRpbmctcmlnaHQ6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJw
eCk7Cit9Cisuc2ltcGxlLXRvcCB7CisgICAgcGFkZGluZy10b3A6IC13ZWJraXQtY2FsYygxM3B4
ICsgMTJweCk7Cit9Cisuc2ltcGxlLWJvdHRvbSB7CisgICAgcGFkZGluZy1ib3R0b206IC13ZWJr
aXQtY2FsYygxM3B4ICsgMTJweCk7Cit9CisucGVyY2VudC1hbGwgeworICAgIHBhZGRpbmc6IC13
ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtbGVmdCB7CisgICAgcGFkZGluZy1s
ZWZ0OiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LXJpZ2h0IHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LXRvcCB7
CisgICAgcGFkZGluZy10b3A6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQt
Ym90dG9tIHsKKyAgIHBhZGRpbmctYm90dG9tOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30K
Kzwvc3R5bGU+CisKKzxwIGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhh
dmUgYW4gb3ZlcmFsbCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxl
LWxlZnQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgcGFkZGluZyBvZiAyNSBwaXhl
bHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZl
IGEgcmlnaHQgcGFkZGluZyBvZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS10b3Ai
PlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+
Cis8cCBjbGFzcz0ic2ltcGxlLWJvdHRvbSI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90
dG9tIHBhZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4KKworPGRpdiBzdHlsZT0id2lkdGg6IDMwMHB4
OyBiYWNrZ3JvdW5kLWNvbG9yOiBjb3Juc2lsazsiPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LWFs
bCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFuIG92ZXJhbGwgcGFkZGluZyBvZiAyNSBwaXhl
bHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+CisgICAgPHAg
Y2xhc3M9InBlcmNlbnQtbGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRk
aW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgp
LjwvcD4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBo
YXZlIGEgcmlnaHQgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2Yg
MzAwcHggbWludXMgNXB4KS48L3A+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtdG9wIj5UaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJl
bnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+CisgICAgPHAgY2xhc3M9InBlcmNlbnQt
Ym90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gcGFkZGluZyBvZiAyNSBw
aXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rp
dj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaW5uZXJXaWR0aCA9IDIwMDsK
K3ZhciBpbm5lckhlaWdodCA9IDEyMDsKK3ZhciBwYWRkaW5nID0gMjU7CisKK3ZhciB0ZXN0cyA9
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwIik7Citmb3IgKHZhciBpID0gMDsgaSA8
IHRlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGVsdCA9IHRlc3RzW2ldOworICAgIHZhciB3
aWR0aCA9IGVsdC5vZmZzZXRXaWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0gZWx0Lm9mZnNldEhlaWdo
dDsKKworICAgIHZhciBleHBlY3RlZFdpZHRoID0gaW5uZXJXaWR0aDsKKyAgICB2YXIgZXhwZWN0
ZWRIZWlnaHQgPSBpbm5lckhlaWdodDsKKyAgICAKKyAgICBzd2l0Y2ggKGVsdC5jbGFzc05hbWUu
c3BsaXQoIi0iKVsxXSkgeworICAgIGNhc2UgImFsbCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGgg
Kz0gMiAqIHBhZGRpbmc7CisgICAgICAgIGV4cGVjdGVkSGVpZ2h0ICs9IDIgKiBwYWRkaW5nOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlICJ0b3AiOgorICAgIGNhc2UgImJvdHRvbSI6CisgICAg
ICAgIGV4cGVjdGVkSGVpZ2h0ICs9IHBhZGRpbmc7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
ImxlZnQiOgorICAgIGNhc2UgInJpZ2h0IjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSBwYWRk
aW5nOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgCisgICAgdmFyIGVycm9yID0gW107Cisg
ICAgaWYgKHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAgICAgIGVycm9yLnB1c2goImV4cGVj
dGVkIHRvdGFsIHdpZHRoIG9mICIgKyBleHBlY3RlZFdpZHRoICsgIiwgYnV0IHdhcyAiICsgd2lk
dGgpOworICAgIGlmIChoZWlnaHQgIT0gZXhwZWN0ZWRIZWlnaHQpCisgICAgICAgIGVycm9yLnB1
c2goImV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAiICsgZXhwZWN0ZWRIZWlnaHQgKyAiLCBidXQg
d2FzICIgKyBoZWlnaHQpOworCisgICAgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHRzIik7CisgICAgaWYgKGVycm9yID09ICIiKSB7CisgICAgICAgIGVsdC5zdHlsZS5i
YWNrZ3JvdW5kQ29sb3IgPSAiZ3JlZW4iOworICAgICAgICBlbHQuaW5uZXJIVE1MICs9ICIgPT4g
UEFTUyI7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZWx0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9
ICJyZWQiOworICAgICAgICBlbHQuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpv
aW4oIiwgIik7CisgICAgfQorfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjI4MmE4NmNmYjJlZmE5NmJjNDE1ODU3Y2E4YzY2NDlkZjgyMzliMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0
eWxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACitUZXN0IGNhbGxpbmcgZ2V0UHJvcGVy
dHlWYWx1ZSBvbiBjb21wdXRlZCBzdHlsZXMgZm9yIC13ZWJraXQtYm9yZGVyLWltYWdlIHByb3Bl
cnR5LgorCistd2Via2l0LWJveC1yZWZsZWN0OiBub25lOworICAtd2Via2l0LWJveC1yZWZsZWN0
CisgICAgZ2V0UHJvcGVydHlWYWx1ZTogICAgbm9uZQorICAgIGdldFByb3BlcnR5Q1NTVmFsdWU6
IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCisKKy13ZWJraXQtYm94LXJlZmxlY3Q6IGJlbG93
OworICAtd2Via2l0LWJveC1yZWZsZWN0CisgICAgZ2V0UHJvcGVydHlWYWx1ZTogICAgYmVsb3cg
MHB4IG5vbmUKKyAgICBnZXRQcm9wZXJ0eUNTU1ZhbHVlOiBbb2JqZWN0IENTU1ZhbHVlXQorCist
d2Via2l0LWJveC1yZWZsZWN0OiByaWdodCA1MCU7CisgIC13ZWJraXQtYm94LXJlZmxlY3QKKyAg
ICBnZXRQcm9wZXJ0eVZhbHVlOiAgICByaWdodCAwcHggbm9uZQorICAgIGdldFByb3BlcnR5Q1NT
VmFsdWU6IFtvYmplY3QgQ1NTVmFsdWVdCisKKy13ZWJraXQtYm94LXJlZmxlY3Q6IGJlbG93IDVw
eCAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDApIDI1IDI1IDI1IDI1IHN0cmV0Y2gg
c3RyZXRjaDsKKyAgLXdlYmtpdC1ib3gtcmVmbGVjdAorICAgIGdldFByb3BlcnR5VmFsdWU6ICAg
IGJlbG93IDBweCAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDApIDI1IGZpbGwgLyBh
dXRvIC8gMHB4IHN0cmV0Y2gKKyAgICBnZXRQcm9wZXJ0eUNTU1ZhbHVlOiBbb2JqZWN0IENTU1Zh
bHVlXQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21w
dXRlZC1zdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3JlZmxlY3Rpb24tY29tcHV0
ZWQtc3R5bGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZTE1ZDdhMWM3NDY3M2IyNDViN2NmODE1YzNmMzA1
MmZlN2I3YzExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3JlZmxl
Y3Rpb24tY29tcHV0ZWQtc3R5bGUuaHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBkaXYgeyB3aWR0aDogMDsg
aGVpZ2h0OiAwIH0KKyAgICAgICAgI3JlZmxlY3Rpb25Ob25lIHsgLXdlYmtpdC1ib3gtcmVmbGVj
dDogbm9uZSB9CisgICAgICAgICNyZWZsZWN0aW9uRGlyZWN0aW9uIHsgLXdlYmtpdC1ib3gtcmVm
bGVjdDogYmVsb3cgfQorICAgICAgICAjcmVmbGVjdGlvbk9mZnNldCB7IC13ZWJraXQtYm94LXJl
ZmxlY3Q6IHJpZ2h0IC13ZWJraXQtY2FsYyg1MCUpIH0KKyAgICAgICAgI3JlZmxlY3Rpb25NYXNr
IHsgLXdlYmtpdC1ib3gtcmVmbGVjdDogYmVsb3cgLXdlYmtpdC1jYWxjKDVweCkgLXdlYmtpdC1n
cmFkaWVudChsaW5lYXIsIDAgMCwgMCAwKSAyNSAyNSAyNSAyNSBzdHJldGNoIHN0cmV0Y2g7IH0K
KyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAg
ICAgZnVuY3Rpb24gbG9nKG1zZykKKyAgICAgICAgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZShtc2cgKyAnXG4nKSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBzdWJUZXN0KG9i
LCBwcm9wKQorICAgICAgICB7CisgICAgICAgICAgICBsb2coJyAgJyArIHByb3ApOworICAgICAg
ICAgICAgbG9nKCcgICAgZ2V0UHJvcGVydHlWYWx1ZTogICAgJyArIGRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUob2IsIG51bGwpLmdldFByb3BlcnR5VmFsdWUocHJvcCkpOwor
ICAgICAgICAgICAgbG9nKCcgICAgZ2V0UHJvcGVydHlDU1NWYWx1ZTogJyArIGRvY3VtZW50LmRl
ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUob2IsIG51bGwpLmdldFByb3BlcnR5Q1NTVmFsdWUo
cHJvcCkpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdChpZCwgdmFsKQorICAg
ICAgICB7CisgICAgICAgICAgICBsb2coJy13ZWJraXQtYm94LXJlZmxlY3Q6ICcgKyB2YWwgKyAn
OycpOworICAgICAgICAgICAgdmFyIG9iID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwor
ICAgICAgICAgICAgc3ViVGVzdChvYiwgJy13ZWJraXQtYm94LXJlZmxlY3QnKTsKKyAgICAgICAg
fQorCisgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKKyAgICAgICAgeworICAgICAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0KCdyZWZsZWN0aW9u
Tm9uZScsICdub25lJyk7CisgICAgICAgICAgICBsb2coJycpOworICAgICAgICAgICAgdGVzdCgn
cmVmbGVjdGlvbkRpcmVjdGlvbicsICdiZWxvdycpOworICAgICAgICAgICAgbG9nKCcnKTsKKyAg
ICAgICAgICAgIHRlc3QoJ3JlZmxlY3Rpb25PZmZzZXQnLCAncmlnaHQgNTAlJyk7CisgICAgICAg
ICAgICBsb2coJycpOworICAgICAgICAgICAgdGVzdCgncmVmbGVjdGlvbk1hc2snLCAnYmVsb3cg
NXB4IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMCkgMjUgMjUgMjUgMjUgc3RyZXRj
aCBzdHJldGNoJyk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0icnVuVGVzdHMoKTsiPgorICAgIDxwPlRlc3QgY2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVl
IG9uIGNvbXB1dGVkIHN0eWxlcyBmb3IgLXdlYmtpdC1ib3JkZXItaW1hZ2UgcHJvcGVydHkuPC9w
PgorICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorCisgICAgPGRpdiBpZD0icmVmbGVjdGlv
bk5vbmUiPjwvZGl2PgorICAgIDxkaXYgaWQ9InJlZmxlY3Rpb25EaXJlY3Rpb24iPjwvZGl2Pgor
ICAgIDxkaXYgaWQ9InJlZmxlY3Rpb25PZmZzZXQiPjwvZGl2PgorICAgIDxkaXYgaWQ9InJlZmxl
Y3Rpb25NYXNrIj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvcmVzb3VyY2VzL2FscGhhLWdyYWRpZW50LnBuZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMWU1
MmY4M2MxNWZmMmI5MWY1ZmFkOWYzNmE4Y2M2YjA1NjE4OGNiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0
ZXJhbCA4ODMKemNtWkEwVH1WQDU3emdtej9ZSXU9OyNeZElwbH44OHFXUyQ8WGBDYW9UOW5vN1Yh
PmR9X0pOaG9aMWx5YjlnIT55CnolcjUkcmlWQ2BAQ0tnbnB0d1dHNEcrYnA8cVlGYlIxSWcmMzM/
K0wwYkFmY1Jvd01LamY4WD1HJndGLWVYWFIjbgp6TFJ0YzJPbUVzXkd9QVNONTNpJXxgPEIycHhe
UWxKeVViVypXTjMjYWtBQTBtRD1na0JrSVE/Ky1zb2hxISZCb0YKek8/N3MrKTlrYzZqdmFqRUVN
LWdeWiEqZmVrQTllbilWQXVZKF8yMHJPNmpYVkZ1SiF7Q351eSZvZmdWTj1nVmU7CnpTSTIkK1pk
KnhxY2k/elg/Zm12PHVwdVlxdFdORGNIRDJ1MjNILUp0QXkyLXY9dHFCMlNlWXgoXjR6TH5pSSZ0
Rwp6K1Rab01OaHg/YVp2REFWbXcpakBZcE52WD49TGlQVypNUT8kaUpieUZHdVNZciRITSk1dSlC
KXFFNjZTJnw0NXYKemdQP3JTNUskPm9aSi1zUEZiSnQlcGZhTXlWV04qbkpxQmZoLWhxJUIxe0gk
ZDZJcWVFMndEazNUfj8mTmZZeU9mCnpTNFhhUHpfVn1lXjhqSGVYe15iZ3NMQTQ9aHpvOSpDZUNK
UGtrJENPV1g+dXkkZFdrTDhsU35TNkFPa29QMCZKPAp6PU92Y21JYlJwZSElJUYmbT8kaE5sQTRA
bzYkRX4hTXd5PlVWYTE9bEVjWDA9WW9RPWZgMklwT1VxR31IUDd8SDwKelUjO3JOeHs/IWp1KSNJ
aEFpQ1V2Si0tQ3lnMyNyM2JmeUtnOUUye1hCUSo9IU5ifj8qbzxnYnpsdHEtY3BOez9UCno2Kn4z
fEkoQTE3eSRQYyhxRFA9aSZfakBlczBnRzdKdGYtWENXP1J4TDRDQ0h5Jl91cUU7X3l5NHxgNXpD
P0BJJAp6bmUrV3BeLWJ4KkM3TXgtO1NtaHkoUXVXRURYTEwxNndyTWxxVHdWX24zPEl9LUQrUGRR
RyoxWT1RdWg1TVNWOGUKYSM8WisxP2VAPkY/T2g3fVluWjhgKGlrWU9adSQjbmdnSWRWCgpsaXRl
cmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVz
b3VyY2VzL2RpYW1vbmQucG5nIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNlcy9kaWFt
b25kLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41MTExMmVmYzdjYWI1YjIwYTg2YmFlOWU0YzJhZWJkNjhhNTIz
MGIwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxODgKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2
cF5BVH0yVjg8NlpaST0+ZjRGJX0yOEoyOSp+Qy1WfT5WTjNGTWNWUUBJCno9d1VjX2BIK3E9UD12
RjxCZUl4KmZtO31hODV3NUhrcEsjXm13NVdSdmZwQUE9Q2x5Y1RrcyRuQ31pWDU7dXM9dgp6ZEZs
ajVKX1pHekxrSXI8bS1KVlltTzNpOHkpQmlZT0BWWExgSWtaUWxWKD9WdHUpRkhuKS04KzdfO0tm
bStSOWYKZVJaUzRIVzkpdlNAVmtEXnFGWD83Nyg4QTVULUdAeUd5d3BpS3tzdnkKCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJj
ZXMvbWFzay5wbmcgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVzb3VyY2VzL21hc2sucG5nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI3OTU3ZTEzNDM5MDZhNzM3NzQwN2E3OTgxMjgyYTE4NGY4YTAwNTQKR0lUIGJp
bmFyeSBwYXRjaApsaXRlcmFsIDg4OTMKemNtVjt1QjB9QVhQKTxoOzNLfExrMDAwZTFOSkxUcTAw
NS1gMDA1JjExXkBzNj52Rz01MDAwazVYK3VMJE5rYzsqCnpQO3pmKFg+NFR4MEM9MzBTOXZ0bS1Q
aG1XZCNgKHEqRX48eDVEX0pyI3wmMzgmbSFUdj1EQjsjQUBRV2xMb34+Ywp6c2dOUW1pMyYrbCN4
ekt4bDJwaE9uWmtZbHBxX1dWJi0kKDNkaU5oXmVhYDNYZWZIPDxiSmpYKjFGI0VgTFBHO2wKejAx
eS0kTXpKfWRQZE1ie091KVNjRyV4YHQ1UCpxOXJpU1dTUygoOXF3NTZBVDAwMkNmQ3h3T3Y4az0r
cGUrYTxrCnpFRX5DUyUlMn1OX3xJX3cwRHp8KWEmaVZoPE4kIW5YQUFFSzA0fFIkWXpGe2JrenRg
PjBFak9EYUZLbVVvJlpRSgp6MExXNDdZenpSOURnZU95WX5lY3FmY016Sy0yaX0oQXAzKj9BZz0r
aTlLb0pgITJxfSEwSVpJdTduS1p2bWplSiMKelBieFZHMEd8emooZ19MKkBkUktTMER6dDNQKVpt
OCtYP19rOSYmT2ZZKU4qSDF5RS1PcGxraHkzIXduaXk4I0hMCnp7S0g5MjFNdClWKVF8dGVFIVk0
ODAwPlYlKXE5XkowMDFEJmBUJXRBWHRWXz4wOS1EPk1oPWJrdEJnazVDPGoybAp6MSF4Ti1oZl5a
OT54Q2VfMFJMXmliPj9rREJMRkE+NUNLMVVnU2E4PHJ+JmpTOVJkNUN7eUNFdDk+WjNgRGFzd3AK
elRncVB8NyQ+WU5HQ2BuPChJakZlZUBUVClQcyFOSmNGNClkWFlYRUJAWXdyJnBSclFBaW1HYXsr
Sj1VTT00R3ZVCno5Y0E1IXtZYHBuMkhKKjYjNz82WFdBVEhnQ2pPPTslP2kheUVqbGVudG1iVylZ
LVF8aD58LTVqOVk+dVFvc3x6ZQp6eGxvVEp4U24pTmFIbz1USnpCfSV5bzl+JmRgfG16X15rISgz
R0BpYzNhJHdgNlk2dStrZ3wmXjVYSyhQOT5FKGEKejhucldlUG1JenJ0eXFKJjFNeD0zXiVLLWkk
Ui1MVkYoPEE2SEZ4cXVeMjx8Q1BCKjdxUFImaz5QQTZyVVd+eWNGCnolb2ZhSCVjYVgqSlRzb3hv
bkwhND5zLSl6KCtqJV9tPCM0RnpBQyg1UjlxWlVWdFBzQihwK2d2UyNyNWVnPW9jRwp6VyF2VDRE
YDhjS3RCRXl4dUx7QFZZVWkjRVVjWHV3VFRpXmZkRTxNLStuYXJqP1lIalV1NH01aVFfITR0X2dJ
VCgKenRMe0N6ZChIUSQ1MG9DUHc+QG55Pz9geSktbF9MVXliSW0rQG9gc29gSUZjbD4hJVY9ZT5g
akxQNDJWaz1qbmVwCnpQJnchYEJ0NylgZEhKeUczeE85ZVVnb3tCZChIY0xZXjN9UmN+b3JsLVBg
O3peTExuY0UjcU1tM0tRU29IKy1PZQp6UlEmalReNzFGPURkd3JXcE05ciFyYVFsY2YwaDBeX057
UW5aV2NYVEZ0PWxfXmdHfTg8bk9FVmdAMWVlQVRCVTMKeldHJThVcnZHSThuWkcydl5tNGcrPEAp
Tzh4O3U+cTBLOHhZUn1nLXI3VWhSXyFvPF4hOyErc21uQ3s+TypAYCZACnp4cjJDOWBIdUA0MiN0
dG5pc2xlTGlmYygra1gpQj9sNVVsZWxGaXQpQW4mfXBVMTcpR3paNTV3YmQrO2NLQl82SAp6TWBe
VFpFXjVvXjlNKDxTLT16MT4wQW9sWD9sKkVjO0JPcHJGeGUhX150QFMjZDQpeGxXd3E1Kz5qcy1n
d3F0ZmIKejlJJWRqaGp1I2NiSmpWMHp7VD4yZ1I4Mz4qKiV5UDtjPGVUP09FYmc9bCMmOSYtYnhr
cWtsPDJOPz0lIU4zZDBoCnpQTkA3KjVlZ2Q+TzxmTH4zIWpQQGs5LXNMSXtIPTJAVWg8NW1ianck
bkImZH4rOXhDdW5HelMxI3tZVkR2Tl5mKAp6Uk16UjM2cldWZkd9VXlXYlh2d2xXP05RcWM0fCY9
dUVRRDRKa2ZsfUEzdUJWLTErbElGQmxoeTZmOWhQUkc0NG4KelU5NFAhRChTeWVRaEt6XnpGZk92
TTx1Pjs+R0lmPmhnRFY4PXsyRU8/UH1HbzMwXztqezt1dnBlYzZxfjJHNShzCnpNdjJDP1RUZ0Zh
WGJRWmUrc3hWZzwhKmFSUUVTWFNyfjRXWU1CMzE4VSlwOys/bVI1K0pwRzg7PEB7S15vMztEbgp6
bGN0X0NQZVkhV19zYUZMXnYoNFQ0QWMhfjRFYTNROFJpKENke09yQEB8RVZSXzE3SUUqV01KMm9f
YyQ5JTwtTSgKenhXTUAwTUYwRXA1N2R2a2xNSXRYcFV6Rz5lSFF2V0hlS3xePCpWNCYjY3hrJGEl
VWFxMW08M1MmenJhVzh+MW5UCnpqfXJAZWk8cmZzcEVYTmElZ0hQR3Q1MUdlWXl7RDAwRHVQdEFq
MV97TWFhbG8pSmUxfUNXPndsbSUkTG9xYF5GZwp6UGkxM2E1OURhISt+QWhzRzI7IzNKSTA/VmtT
diVYYlhLQGI8ZUYkUjtpMUA1QHFVUngkKHxqcFFaPkB+SjdaLT8KenZjejRvYV9uLXk8VWo4by1n
OTR9V04pO2heKi1AXmI0cEZoJDVvNn1uTil8Pk80TmZqaD8tKHJENkxRMC04d2I4CnpyfW4kK0Rk
O1doLSFWOTVYaFQjcjU7O0pCVjhNOSY7NF9tdXJrQmk7JjMhQmtFeHVUMFNuYWNWWisrSXIlOWhK
Xgp6KVVMdWwqZ0A0MTlHQEwzYVBvRm1hOSVvbSpYN3N8P0lXQTY/UVNSQyV9QVcyNXN4Q1d0RVo2
WGh9VChmOHlebXoKelZjJkNwTkJqeD87e2s8JWp6TyRKVUJVNG9zdiRvQD55STkjczhDakB4NUds
aUNCdDd1QnU2U25qenlpMFIqTD0qCnpsWTVMOWk7ZUEleUJQMChUcitfd1ZkTy00cUlaJjUoeVBC
eFBDNndrb01KZ09iR2szKE1ydk1LUkp2bl5hd2NvJAp6PiNVNHkkP1NWTXVEUTZ9I3h3cVRsNm1q
KkZQKEtlQ3dneDNlQy04bGZvajMoI3BjNHVCSVRtUjs+TUVqT1hgPDQKek9DT2JgbTBNVHZSRSQ9
WlVpUTE5UWlaTDBRezdPTGREWHd4QFM0Y0E8P0dNdT5nJSZfTF5YS2NiWm9TfFdxZXp3CnpZNDA2
RUdoXzRvLVFrd290JWRnej8peUJqWTEzPDA+cmleQSlUIzFGeS1WWTxURFJnOHNVRUpMd1dreGtA
X3AzPAp6I3pYakZtWTN1YXAwfmFlciQyU2dkfHI7RChFenNvSl4lbyQzYyRIOTBFZXZyPkBFVWlJ
c2l5bDBDMmtsU2dgPXUKenNSUFBvQyFvWCowNzRZYF5NNDN7OHJYbXo5RVRoemhlcWd4PWtOak1W
SDA2UzFROXR6MyRafWxrdWM7bVFqOWJyCnomeVhuOzNNR290TEFqdzRRQnxtWilDeVcwWkhiT1dV
cXoyJVNUSzUrMnV2K3psMV94cWk3dDxCNVgqYCskRUlPPgp6YTExeVRUc20lJG99WnBmVXFgPm1W
OThMPHUqenU3YyRKQmNpTnRpRFMmJXR+ZDVwen5yMiRYQ3BKOFFTTz1QOTkKeiNqJE8kJDghTTMy
fklUVTJgKz55Zmc4OUpkRlhpM2RISHkmYFNrZmRAVFVyQjMlbjVZNkk+VXs2YyFWe0RQay0jCnpE
akdfXzVsWTNoI20yLUZCckdKPWJfbmNQbHpKP2t6dGRHbE5AaDtCWTFjX1Bkd0VJdXJRTi1Jc3Vq
fXFoQURkTgp6dnNFJXUpPlBUOER5YiVAJlppLXVEWHR+MnQqTFdSKktXVjdve3hVOEw3WlZlQHJL
YiRWPnIwaSNMTSkmUyYjWGUKenJIcXhBYik3QlBJb3IyN04qJjV9VDA4OVMoJmZ0Uz1JVU5hbmp4
IXJwN0kqXkc0PHtDY0xeOHtrXyhPeDg4fDlMCnozOHVEJV5GKU0yektrWnVqSygme3J6SD9pJXEx
bkM8Vmh8JnQmcX18V3wjZ2NHYnd2bCZpSSo8e0o/V003cXw9Tgp6MztUPVBGRXkzNVI2TS1nVW99
K295dGUwaFhaPikpPkBENlZnWFZ+cU9aVkN6akleKEdOX1k4b3c/MzhWUDQ4YkQKemF2USQ7YSVz
ZnZ0O1RyVSRKPGw+KF5nK1NXfW9+YFMtaUZFdlAlOE16RTBZWi0mb205ckQxN0ZHI1VWaWdGWU9B
CnoyKmBrUFhvNE9YZ0U8NWNjMD9SZUxXcWJYOylsY3tTeDUhYWowXy1PUC12N1dOKm0+aE48Pndv
VVpKc1FIRk47Rgp6NyhJbCtWWUR6fG18RCFJP1ZCSU12U0JUOysxTWMqNTYlVHdqezhRaExaM3VH
JFJOZkwmZHxkcyZLUz0pJUIwMHEKeiUjMzM4WEM3d1ImKGVVR3ohJEpgdlN6Y2Z2RXtKfnUkT1Z7
PTRqekc9YllkUT1mLWVuXk44fT87M2V7b0BgZHdyCnpAOzM8QjMjPHYyM0xPO3NET0A2QUYwditp
Zzx2bTZDdzVidUVGbXVPTCRZZn11fmVrQTx4VXdIdGp0SCp3cH1IMQp6QCQjO193ZkJoWnAoJXst
ZVZ8eWpAM2QwMWE9YzJxPk4mTUNePWdmcW55cCQ3d1I/NW09emlQM3BeckNeSDYjKiEKempqfDg0
OGg8eG9HdTFacEYrWHE3WXNGfU4mP2QpciV3RUFFKj5UZHoqIWpBUHo+eTVzNFI9NCVFaSM+X28h
MXJiCnpiemNYKyNzS2NYJGVeKGghX1hUUFFFRTsmSXdCQD1KfnwqfkF2UDtzQHAje2Z6JEF2aCU5
R1ZrSnhnJi1vbFRGKQp6I0FSS2A1ekI0Tik2ZWZhPVgqaThWNjNwRCohbUooWDtabT5yTkhJaHNe
bDdDRSEoeHB4e2V6U0g/UTQjKEEzcFQKelhfMENqeTxnTnU/b2pSSWYzKjJ7QHlZNWxyYXM5NWk9
a3R+XilGe2Y8VkgyZGh+cDlPOHokK2RUJjVwPWxibnRKCnpLSil7IyRoKlkySmgmUk5Ib25mWWYh
IUZ9RVRVUF5YYUp4Tkw2OFRIRmFUYz5Lekk7MiF+ayhZQjlTeDU0UColVQp6aTRzQj9we1NeRylO
Mz53KzYwfH4/IXxDcFRydCZ7cEw3T3ZYWHJqKkhMJHRaUykzYFpvfVFvbjYjWGhnMipWZGYKekZV
QWl7P284diU/IyFRQXFWUlpwRXZxJV8ySFExdTUoaFUmNGAoISY2eFNla0pkWnJqMml7Xm5GTWYz
YUElVnw9CnpTQT18b3JHPStPdThNe2IpV3ZYT1peaUZPZUJRdz1yNmdePChefT9gdG1gZyt4aFZP
Pi04cC0lRDBKPGUtTiZheQp6UkhtdkZ0TTttY2hLXj5FUi1jWnJ1SjhUXnkpXkA0IV49akQyT15F
OU9gSl8xbj00cjRTc35WbXd5YnRGNHpgQy0KelA3UX0ka0R5JT4tUFRDSzlgOEw1ZCVnOWNgaWM1
fjNKZUlFMihiPm1QbSFZKmdmbTdZTUlxN1kkR3FiemtHR3c7CnpwSHkpJj92ITxrYm4wNkFnVXF5
U1FtJFR9PnsqYGthTitDNHstWE1se0w7QWN6KUdocGBxaE0qPD1XMmM+R2dJRQp6a35mIWNidks9
QkNiYkIrNCYwQSE2S2R+eDgyVSk2WXI0QyFDLXM/VXBUKz4hO09GUEpVcXJ2IV5McFk8KT8zWjcK
ekZYSldlNH1YLUxUJUd6YkpedDA7VGtLNWZaMVlebF9YcVA7ZjJhTWhVKktFbFRhNVRBYG09Nkhl
V2BQS3w4bWBtCno9dH0wdyFtN3o/KzNNPD0pbXB7YzxTKXJ6VWNWfVRPfDQ2PGQjfnJMLSY+I0Y7
TX55TkBaWlNhWHkySUc8bDhqZgp6SmlkOCpiQX4yQ2JFZjZjeEBrMGt0JHFtcjAybUVJMHopVlNH
WHVsXyglaylqRWhzU2pjTWM4IVU9SEBNdS13TWUKenA8en5iMEtmd1BZdCNyXkFeQC1mQVoqQCNN
aENZcyFJTlpZM0lJWD9oKGU2N2ZkdjNDMTBaSko2ZUY5aGVVTC1gCnpCb2l3RHp5bCF1VWN2VVor
azh9THBxMUcrUDdNdnl3KmRlPzBIbn4xTzhvODk3fl5aX3hFPFI/M0FlRWEwNyhGMwp6STNVRS1X
O0ByNHI8ZFdqSFdWZn0oODZwPkdtNlZFPzRUVjBafj5yWCEzYW58MFV6KUpjYHlTNUZ4KHlxS21y
MDcKektuUEk0MyNlY09sUnlFVktWQStuMl44QEFLVC0xRjRKNHBJMWI2YHowJD5VIzVhaX5VTkND
cE8jfWdtfTF4T0o1CnpuXkN4YEBJXygkJiQ8REdLcD0jYEtNfCg/VnR5PDkkSlktJEE+PEVGez57
N2pCfnBTS3lkJXpzTH5BKHNWeCV5Tgp6Ny1mdDtNak5BcFEzbkVzMk98TFQ3JHVBdk1ofk5sKFpu
Y1kpY2E8ZFg4ej5hcypUNT1HbnpzbWN0SlEmenpjJV4KelJXSWBZUVVoRFBJeypOZDRXS1h5MEhB
eyV8RjNyejxgb3FOMEFMVWo4Y3AlQEBlTCNCZ0B5KXQkcV4wKWxYdUd6Cno2Y3JUSTtDfSR+cmdJ
Y1hhaWl6fTAyM2BxTF90KHxvYjg9cW16JXJ9Z3E3Xn17cnx0V2NRPzVvVDZZeWlCYUk5TQp6THA8
a2phS0pJZmVpKyMlP090U0RVR31jUDh8YzF3MXc0KD1AZ3ZrPj5RVEdHeCg1Jnchc0Y/c2tpSDYj
SExmI1oKelVhbUZaKzhvZldKR3hyXzFhQ2k4VmNRSk90c3IyX1R8M2BZRSo3Uz5eVSskbnZ6aFh1
SldJYm48JTxDKSVDcSRRCnpDOVQhTFN2bHhAXipEMl9zYn0+N1MzUzwyUHFwO34jNS1xP0Y/cEQ0
T350QX1Xeyl2PiptSjN0Ym4rNHlHY1h4Jgp6blJELXwzTlYkPUZNK2VTTG8xTFY3Xn5eKGI+QzZG
RmZLX351YlpsO0JpWWRFIUx7VUFib35rQmtFLUdMelFWRVMKeitSPEBXWXBvK0BQUz9BUyhvdWI/
ZDUpJUAqPkw4MXo1Nkh+KWQjQjVWUVQ9e2QoMH5AdDU+RVl6fWg9dUt0TGlHCnpKPmJ9NS1aZEEy
YE4/RG8jSlhhWFg3WnRIKikqISNTO2NnST04OTRKRWBRcHc5b0sxbEp0aU5lQzJ2JEp1ODJOSQp6
PWUlO2ZlTkBORmA2SDtoTWlfLSY0P3oxbElfSCZSPnJrRG9pJTk+TnRPdi1SNFY4IUx6fHtSTHM8
PFRNaCZgS0UKejk7eVJWY008NmUtd2Nvem9+dnsyTFklOE9yJWtpPkZ1Sz88U1BqJEJjMXpCUUpj
bm88IVdWX3w0OWNrVUc5V1ZtCnpuUkVxQ3chVE4jUWlzZVN5dll3cF9QRUhPez9YO3lJKFQ0T2dg
aEBJTXEjQEdxejliZGQmZVJ0Nig/PSR5RVRCLQp6XjFCRTkjajt0NHZgJTxhYHxJQypnWSlLOyhF
dnNEdjAhPS1MTkZgZ0l+dW9US3cxZDEmeTBKRGxne2VPK3xOajIKelY2SGwoYi0lWFBLKD07bUs7
MllYSSR4I1ViUW5pYXZTRkpBbEhDeGY5LVFLJnl9Qk8oek4mMkpHN2NIUj16WjMxCnoqKXxRUU5E
T0FuUn1TTj5RISpXMDByRGdIaktEPFdPPnk+N1U1X3BuTikpMElmSHg4TzdRY1A5bnA/SXNzK1di
MQp6YT85JU0rbEkpQkx3PUJabj9ETmM1dFB3ejw3bW56SHlNLWAjRnFZK1hDU1pZY21xYEF4IXN6
Sj5RSFg7YmpgcCQKekQzUX4hVkxKb3pnWlMoQFh5JXc9KCUhdjlfY0B9WGo8alAqMjFwSSZ4Qk98
fW1leFJDJXN4X3NRdnxuWkgwZ04pCnpjSWopelIlaXNLMmNYP1BvcVNQUFhVM1EhZWpePExNa309
Wmc3KTRSKGhKa3Q5WTVxYmJaMD1gPCs9UyllUTh6Swp6RFdtYVJIaW9uUz5oITFodXZXbS1ee3tu
NkI4VylyWSYja3xZOVJIN0FgejtDdThVc1pqSl9pKHBEUFB4YnNXYUgKenF6QnxAa1ZiQUFPQFE4
RShvPno+Y3UqbzN6ZVZJcmFDPTV8KHImNTBRJnw+eklOck5YPkE3VSZtS0lGM1N4NigtCnpMe0tz
bG8rSDdAaFZCZVgxbXVfZTBRbl50JG1tKVlPem9FQyR4aEUzb29LQDJ0dkF9U3FLNUY3PGRGNyZE
YjdCLQp6d143dnRXZCtGQW1LbCgzYCo1ITNmaHBweyojc2VGb0hGWHZFUFB3MSlOYzMtPnw1RiFi
OSFVVVk7MmpgIV5ueiYKelktdjU3TTNXbTA8KEp4e3d6U3U/K2ZgaXlHMnFSIzFzcj1neyVIOyhw
QH5FX1k8b2BHd29qQUo5TWZ5ZUdyRERVCnpFYV4+ZHZeIyN2NTBLZ15KKG9tfFh5SWhUSTJGUXxq
NDVAeDsqQHMjPCFzaEQ4TWxtPGhuTlIkR19md0opN2oqdgp6eHVrdSN5fDVkPnVHYCpvJU8oeHM7
eFElVEZ2djl7eDNxOXRoeTJldWhHeW4jeGFFLSlFZHtZSWBKd2k8P0Y1dkcKelVQb3FORzlsYXJ3
ZjhrK0c/dUtvcjNKRjMoTF5YNFRTajFkX2NGM2o9eCpyQE82IXN+V005RUdCaUJYYWRIWkgzCnow
fjR3OyhMbylITGJwelBaKkBAVXshZH5zcW5TN1o8cT1AQ1ZxRyR0YWVHbEZuJCl5JStJT19tK1d3
Nn5jJDBOdwp6czBMLSRRRF9XbEtZTVRAQVUoKFlQbzc9VlBKVmhxeE9iMDdmVWBRdUw3fV8zV0NX
eCotX2BIUDV0eHc/WHQhaV4KejVzfntFfEhRVTMoTHU5dUomcl9ScURqeFlqNFBNU3hePncwb1hp
VztwSnVQWVdRUj5udEF9cX1JNyhOPm1EeGhOCnpIX2sqJE0wLUtXbVBMMDRTcT0tT2VXIzdxQkJT
cHl6ZHUwQk5qKip9QkRGVTwpfE9HKWdFM21XV1J7NTc1TjtkRQp6KSpJZDEkVUBgRXd2USR5N0RA
fGFeY15xY0dlQWFUJTZzdG5wUDFpTUI0dU1yM259YGMxeklZS3BoVUI5MW0jaEkKeloxUH1pZGs7
IUlfUzNIcVpKQnBAOTZ4Rmh5KTZwWUNefV8mZnxDdjNrISFZbkhtPGJDR1JIKTNlWXt6Q0M0QCkh
CnpISllNe1A4N1ApV0pIJmZ6M285IXNBc3M7ekB0S1cxfD1GTipnVz1wMkJ9QHZ2MmFHQWVkJVAh
cmJrIXJxUFlpVAp6NnRYUmg/M2dgXkx8KWpvX3d9Rzl2dWB3Pmo5eyQ1aVFibi0+eV48c05BSy1A
akh0P1RrUWNyWWtVQ18wO2hBd3MKekNVa2VWPihWNzVFeWdqayQmWEhaS3poSmRYVyg5YU1ePXdo
ZGZ7NTxZd2MlZSpsMUcyRWQ4dzNwMW58X2tlKWVhCnoyQj53dVhsO3tTTD5GZ3w/cXd1Wm96ZXFF
T2tWd2wjJXUyZyN2WF80WVRNcGwzMzxvUipvX1Y0NXR6KkU5Zmp8QQp6NypuP1UpfWRRV1VOMi12
Sy14YWI5MTxDb0sxUXVxX0JiV3VJPylzNUokWEBCTS05aDE8Jm5jVEpOdiVLQUx6NmAKensrX2RL
Vyo1XkRrZU0/XlpMM3ZvPU91NCtecyVhQWRUP2VBaXBITjdUM3gyQy0+UXdiZmcmZmRLKDtnci1G
TnVgCnopQmU7OU1KeHV3WGg/Kkg1NDF+KXRVSi1NbTF1aSElOzVvdmolODFFX0xTVERwdF9ER2Mx
JnNXdyk5bj1vemlRZwp6c08+V2xIKSpASVhXeC15dlk8dXtoOGhyIWc+MWMwQmFRfVUzKDU5YSt1
TWFgM3VTfGB4b0ZnT3owU3h1V1MyZXsKejdNM3xyMXc8eXFxY0QmMUF8T1lEKDhgQTRjMSoqbDla
YHF5dDJ+MHFPaj1OVE1nMz48cCEhI0pTen0zdmBFMVcrCnpIPWFTfTluVHRAc24tYXlWZiYodlUh
M3pUJnNGOD0tNlRqZXMmRHxjKXRGS1hJVFkpaCo/QTNRMWc1PHtzXml7NQp6O0NjQ09EbE5pK0RU
Vlg7U35rNXxUZG8wUjF2O0NAbyloc0smVkcpN0pBK2QpYjx6MVckUTIrWk5RKms9PEA1NG4KeiQw
I2oqX3IydTE1dTZkK1VMN2h4anNoUSZTM2UhUDVkZjczKXdAPF43SGYhIzA9Kys3VFBzZz08R2xg
d0B9VFJGCnpFSHVmdm1ePX0xNXlhbTQkU290Uyl8U15pJVMoaHs1P1M3V2sheV51byhHRSEhQ3Nr
Rl8lPjw3dHJ5UjIrV1RCQgp6Nkc0QF5GMXElcGFDLWxBSyEtbVkzUT5FbyExYzVwUSpLI1hJMy1q
MHdjKkcqQis0X1luREpsbGMkdk5UVTR9Y2EKejNnMTA5KCtkc0xrUiF2Rz1+Wj4jdCZMdT5QS2lf
cjJXdkxhOGY4Xz5wbnJAMnRgJlhYSkhNb0RjYUk9QExkan4yCnpAaE5reUo8NDRJdVhpbWt0UGRZ
ME13eHYjRWVZNHJjUG59SlJQU1ZDPkdlanFfa1k/TyUxVUV3YEx2SkpEST9Xbwp6N3dyd0QkaUN5
bi1OI1FyJTxAZ295ez9nR2JCekd5KVlPQkgyO35xQF44cXlFYyMrVyZwYDFGb0NYYGRkWDtkZj0K
ejdqbVo3KTJMOWNwPzNyT0gxflVFRDVubXAzRlh2cW5vdiMrcndRZV84aE1Qa1kyRDVXPDtXZDZt
RlRRY0dNZUJICnpzJnxIUllFVnJtci1zdm5hJXduREQ1citnZ21QKilPKD5eXih9WiRySUs0QkpZ
eTVOOHNTV2hiUCktZjF2cUVfVwp6N2Qqb35ibV4+NlBIbjRBQUQ5V3spTnE8bVA3UzlzTC19ckZ2
ZVZxfXM4RjchZnY0Jms3MFJoTSlgVzZ1STg3KzAKemhTTCREb2EwU1MtZTAmcWdwTFNocS1xQm91
RVlON3NQKDJhMCtlaDZaYEJiYWJ9Jjw/KD57UUVMJUMpezlqNEktCnopKH55REg8VlVleG4/JUx4
KERaOERPOFdHIyltX1dKQ0U9dU9ZUmB1S0pWZVN1bHplWVJlOXxkd2MmOHU2VXhaNwp6KnR+bWJy
MjE2YWleO290KUVGJiVZeE9wYypUYCM+eU8qOzJTKTxJfUplejA+ciRrUjw3REFSWkxleX49Yj9v
QmcKejhURyQhVlBMZjN4emRJYFY3PiZAdC1eT1U0cVFeXlUzfEF8JDJgYztBOF94aiYjVDlqOSgt
Jj5WMWV5RHpkRVIrCnpPbXJnUHFKfkFDVjt2Rnd6M2lwKy1DRWhDMSR7PCZQe2ZNQmpqcCN6SkZy
azkyZU5zWGFfcn5vR0VEQG8xeUFHfAp6TkZDMFBCSUswVyF6PmNGcD85OGY7aSEmX3dadGl4ajA+
fEhONUM7NSVCekZ0bCVEbjtVcSpIRjBGMVdpSktwc3cKemhTNGpreWZ3bCU8ODx0azg5bl8+MlZ+
SEJAK0xuY2h6WUAyKUlqYVRfS20lNlI9NGFKckJ7cThHWThhWnJYaSM0CnpDaVBgNVU4a2N2PHQ7
ZyVtMHsxSlllI2ltezl5TSZuTFIwNDw3UThOYi1WcDc7fGl7PVR7SHIzQiZYRH1Bb0shUgp6Kn5G
d1BeK2NhM2VNO1VAbH1neFNZezx4ZnlFJmg0XjdBSyNGWHNHM2VnTV95UUYhMG1BKzRmendRWGwl
eWczX2MKek9CUDcpb1h3TmZwVmZXTUBFdXZjLTdfSEMyS081SERuQWY1VUNlUikoMFRDbmo2K2Bg
PFR8ejtiejl3cFpAWUBTCnpxVS1DcnQ9NUtIRlBAe1BGTXwmP3dzcHhDd2s/ISkmLXxJOzUhXkVC
KnZ1KFdKMGEpdmZRJXJ1YjsjPTV0dHlucgp6c3cwUWdjYHtkSTh1KGomSz5LI0NWWiR+OGFzJnQm
cHwqYGVfUDV6clV9WVRDKTx4SEVhWDlhQiVJR1FTM0RGVVIKenheWHw4YktkbldrUkZzcjBhQXBB
dmg2TDk4Y1lffS1xND1hcEhjPE4qNGdOU2o2KzZ+N1N3UEokWnpATWYqTGVeCnpvdlkrN2NfZz5B
byN7REw8ZG9pKUwwZyN8cD9abXYkR2FiPkhJe196NlNJfngrUXZtZCtVd3BWY1NgVGBzQThOXwp6
eDJiTnNGU0V9OFRfZEQ+Xih8QGIqfCR6ZDRUcWo9byZKJl5oeTBSZiRuPHJaT0ozdj0tcG5ie3VA
T3t0TigtaUwKeiRGfjEraiNvbERnMytzUXgwYiY5VypyaHVWbXVmJWtZRDBNWDNNfElCYmVfdHJi
SHAhMDt4OT87JnE+KGV5Y2lXCnpOZzAlX1U8LXFuTjF4OWNFclVANVh+VDh8Qm56ZVljfD04UyR2
fXlLJXBrUlcjS0lXV1MkX19KP2Z2T202aVFHZAp6QXV1aEJaUFNxMThAajc5WStlaG80ZiNpYShh
TC05Yj1uS3grQVo3bXpyUn1yUFNrJTBRWCUlQ0pTWilJTktFTHEKejBBKlcpR24hPyRAKjJFdDUp
P3RIX2NsR2NRMjFfcDRAJlEkKkhHJD40ZD5zSXlRSyRhPF5EdEBjMXE3M14qZCQoCnpZNDM/Kjlu
dVRLYHVlU20+XnFmLSZRVm0yUDlCc04lckMqdGk1JH45Q3AoX1ohdW1oO3l3VU1+eG9zT0o4c35V
Mwp6WSE1RDV3bDNxLWBPYnVybzl0KlBmMUJlVGwrbnhfZm9iYmsoJFhjTkN8cWFtPSpfVWItJEwz
bFRnYXxKRGU/XkQKejVkZStjcktqQ0JlN147fFgwKm14VGBLYktCVUZQajglSjcpTH1BLSZBcEom
MEhfJW1MaFpMdXJSQFI1fWVHa1laCnomJUIjWjJRJSVDWDVramgtQD1EKzRRNGlgdFVCZGdnbVgk
Z21QOFd8dVRmWXFKeSNSK2VHNFQ1bnVRVl84JUAjSgp6akVQY2M3T3ZzNmo7V245MTJVVjEraj4p
d19LcW98MkQhPn08RnAmUCU1JTdtZlZge2tlaE1DZ29eakZLJTcqVD8KenVaSGxwd18qRlk7M2ND
aGJuQ1JPbSN1cCQxWkMhcVhjaXY5czVrckMoM0BwekFuaUVQYklJdVNxRD4yTmR7M2NICnolKW1y
VEwoIXhzbn5gVTRkemRoZT8hJiMkLWRfbyFGPWhzNDZrXmYxc0tGU2ApVjtGQio7fGJXcSEhYm1V
ZlpMZwp6NHw+Wn1TdDRTOV55KkskckgwYVRNU0hGbD8xa2B+SlZNYkwxQSY7bXNuSEZubXc/YiV2
ZCFGP25Ld0UlcUhKZnsKempAQlRjPHY4UyktfGAzezArVnF8NF5WTl5zVldtND9ecmgyal5NUUFB
JjFwMj5DTCMkPlhJVVA3LSF3bSZjdTtwCnpkTlh2TFpfVXNSazV9STQ9cjN5NUx+aHlBLSkwfXA7
NXtJdEM3fDh+XkNKTSspRHl5Y3o+RllXRzZUMEVKLVJPdQp6U3ZJQj07bGcrV1FYfmlSUSNjQCh4
YTUoNVkrNz97PjRFN0BmXjIkOCpoY3JAJTBofDhtQzxvczBTamclMVlgeXkKemAtYEJuRUNwRzQ5
Y15KaVc2Tm1yPEgyYzxkMm1NSUpFfVc4Jml0T3pQRHJlQFRpKG9aeXw/OWhqYUM2dExuKj5MCnpX
cHNRKlJtWVZyb3Etdi1YMCMjNUoob21+aE9XOGhle2Z8aGJufi02ZEBtWUxNcXxoKlkqIXB8V0hf
Xk1YQzBGWAp6PEs3cmtnSn5mfXBMPC1BN1Z+P2BfRjM7ZSp7M3dwVUgkOzQ4P09CbVQ1cXUoSWJA
R1pYNkhzeilYQUEhTXZpJXgKelhYbXJ2cCo9SkVfUXNncntYRV5AVDBkUldwS3RRPi09PXVxKkZk
Jj5BTEBKMipzKjd9ZUl4KWBwfDxhRk9jZDc5CnpYQTMwYm0/aWdJXjNOZ0FhKjs/M3JwflhvMjM8
Nm4+MmIoK2dSPD4yJE1uRkFVfWI9MD5sckcwX1peK2ZFP35qKgp6bz9IKlczYFM8UT9SYGNYNjxW
ZVBtcEc7ZXJ4KVQ4aCluM3Q/ISFIfF5uYnw2RX4+JVFWUEF1Tkh+QjFwJFE+aHgKejkySy1KPGJf
RU9OZDRJWWcrZT1tRmF0OEhYUS1hcERUMldwPik4I3RVKj9MSFNAcyMwZnNtTEV3YHRePG5SYH0y
CnpeeFFGV085Jn5gUUJoZFR6LS00TiZAdT9POTdCIXtEKGZ5aVZAd3VPYmp+Wnd5TE1EUlMzT1lM
VitjJjA/JWh5JQp6UTlaSntwR0JHYldSOXVSeV87OEZSRkNNYEtQe09JUktlOGcydEwqc3N9Nll2
S3Jgb0w5SkIyK3dfX24oNi1iZmcKenApTGNuP0s0MkxlQ1MlSlVlV1Awc2JgRjdfWmdeSks1dmll
TWghPlM3PUxCM1dTfXZ9eXotZDN1XkkobmJfYGk5CnpCWjNBJiN2YiNvJVJEU2wpeWBON1c9a182
SWRqT1VLMmlPU3VCRFM3b3o3Z2U/YitgfV5ganJTcDNZKiFCQDVWRQp6QWY1QGxVYT4kXzBuTHQ4
dU9GKG5CY3R5emFRMzlMPm9WdWh0bG1rYChzWHcxQHtuWG5Dc3gzOyQxPk98RnVwVTAKek5FSnZi
cFIxRlh0fSpmJjlsOFdnSFY8PkhzYVRjSiR+ZldiRmdBVEdgTGFAUFNna15+I19hU1IpZE51UF87
N0lfCnp0cCNOaDFLQUE0dU5NUSNRcy1PRUZ0Jm5WP1dMTHQ+dzQ7NFFkKmppKjRDWjkpO2ozYV9O
djBRKi0rfEw1TnRpNgp6biZQejg4PjNhVk1ATFYlajtFSlNGaD5BbmdnUSg7WVMmZWNrJTFWd1pm
RFZ1T0trcktFPm9gRVYwZjxYMDAwMDAKTE5rdlhYdTBtamZgaj04QQoKbGl0ZXJhbCAwCkhjbVY/
ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNlcy9yaW5n
LnBuZyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJjZXMvcmluZy5wbmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDYxYmI5NGViYTg2ODljOWRhNmRjZGE4YWEzN2I0Yzg5ZTFlMjYyZQpHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgNzE1CnpjbVY7KzB5Tz1KUCk8aDszS3xMazAwMGUxTkpMVHEwMDFmZzAwMWZv
MV5AczYjbHkqNDAwMDAxYjVjaF8wSXRwKQp6PT5QeCMyNFlKYEw7KEspe3thNz55e0Q0XjAwMFNh
TkxoMEwwMUZjVTAxRmNWMEdnWl8wMDAwN2JWKkdgMmlnU18KejF+dnwjNmUxYDkwMEspJUxfdChv
IV99RndQVE5vdmhRREt4UiVFYlhMQGJPY1FYWWE9JGQ7OWJHRyZXfEdEaz89CnptPyNUdEhvcFE3
VlRwRVJLXlp7fExAZ0VXYSRJZ3R0YHBseVowOVZJdTRDV058TX0wZ0AzRjlrTlA2OUNwYnpZdAp6
TG87OV5RR0NBWTlJXyU8bkRhVmB7PVNxMm1sQSt5V3BCYGMteEw5czApVkdMWVltVnQ+PkZeSzJV
djFJLVVGUV8Kent+WkIkej1OaDJ3WiMhfDAqc2RjfENBXmBFKUFPV3g9K0J+MD1PJlNSaVpkcWF2
Y0hNeitlSU52cWJUSlZiQkdUCnpCakI0dkB0PX1+eEMwQ2BmSFBzR0Fta3gxVThaMFRTT0VAeiRH
b3RUO21JJVNSSSFBKktkZmcxUGp6PVprZUJPKgp6MWtoXzw+S3R4I2wqTy1UKChDPkxLQURxUm59
R0J2YCh9b0pPQjg+ZVEmakp1V2oob1JOSnJVMkUwQytJbnxrfWkKejgzOXdPaT5hfUlEQVB5a21I
Y2JmRGJIenY/LUlyNXNpSipiS3ZoRko3TztpWWNUKnBsZ0lDbFNjSjZSKWQyLV5sCnpNb3tuRWYl
O1FTK0xPOHtiPypPKUQoUTh2MUNLeE5zNlEtMktrI2ZIOXZUMkA4RnFhaGVRNXliOTdEakNnYnlA
cQp6MDlXVihvdGQkdDI3cD9JU3BaRFQ7N0oyT0V5RTt6KjF3eXpHXmxHVyl3bG41Y1N4YyokU1M2
R2pjVD9SNl9aXksKejF+cX5YZGBuZGRZSkVEXlNGV25selQ/P0hQNXl5dXJeMCUyc0Q3IV5uP3BP
Q2MyUWk5LVdiQGlaZlVFRTFFWGY1CnpPazI5UykzfmtMMCRDfG5taEVkbVkpd2xpJGF1QCUyY0E4
TDkpWEtobU0lVF9xNmxRQnFCKWRKP05FUSkoUmpBbQp4amE8fDJYP0FQZTFLaXc/NEg+fUF7ZHwp
SGR9QU5Qe3NMejc5czU1N0x7dEMoMDAyb3ZQREhMa1YxbjRHR3x2RDQKCmxpdGVyYWwgMApIY21W
P2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtY29tcG9z
aXRlZC1tYXNrLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
c2ltcGxlLWNvbXBvc2l0ZWQtbWFzay1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc0NzJmZTkwYTE4ZjdiMWFjNWM4Yjk0NmM5NWJjZmFlODc5ZTA4NzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay1leHBlY3Rl
ZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRT4KKworPGh0bWw+Cis8
aGVhZD4KKyAgPHRpdGxlPlNpbXBsZSBjb21wb3NpdGVkIG1hc2tzPC90aXRsZT4KKyAgPHN0eWxl
IHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAgICNjb250YWluZXIgeworICAg
ICAgICBoZWlnaHQ6IDc2MHB4OworICAgICAgICB3aWR0aDogMjYwcHg7CisgICAgICAgIGJvcmRl
cjogc29saWQgYmxhY2s7CisgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgIH0K
KyAgICAgIC5ib3ggeworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRo
OiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgbWFyZ2luOiAzMHB4Owor
ICAgICAgICBib3JkZXI6IDEwcHggc29saWQgYmxhY2s7CisgICAgICAgIGJhY2tncm91bmQtY29s
b3I6cmdiYSgxMDAsIDEwMCwgMjU1LCAwLjgpOworICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6
IGJvcmRlci1ib3g7CisgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogYmxhY2sgMCA0cHggNHB4
OworICAgICAgfQorCisgICAgICAjY29udGFpbmVyIC5tYXNrZWQgeworICAgICAgICAtd2Via2l0
LW1hc2staW1hZ2U6IHVybChyZXNvdXJjZXMvYWxwaGEtZ3JhZGllbnQucG5nKTsKKyAgICAgICAg
LXdlYmtpdC1tYXNrLXJlcGVhdDogcmVwZWF0OworICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTog
NTBweDsKKyAgICAgIH0KKyAgICAgIAorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKyAg
PHA+VGVzdGluZyBtYXNrcyBvbiBjb21wb3NpdGluZyBsYXllcnMuPC9wPgorICA8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgICAgPGRpdiBjbGFzcz0ibWFza2VkIGJveCI+PC9kaXY+CisgICAgICA8
ZGl2IGNsYXNzPSJtYXNrZWQgYm94Ij48L2Rpdj4KKyAgICAgIDxkaXYgY2xhc3M9Im1hc2tlZCBi
b3giPjwvZGl2PgorICA8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1hc2suaHRtbCBiL0xheW91dFRl
c3RzL2NzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2I1
NGQxOTIwYzAyZjgxNTcyODY3YjFkYTZhNmFiMmJlZWIxZmMxNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLmh0bWwKQEAgLTAs
MCArMSw1NCBAQAorPCFET0NUWVBFPgorCis8aHRtbD4KKzxoZWFkPgorICA8dGl0bGU+U2ltcGxl
IGNvbXBvc2l0ZWQgbWFza3M8L3RpdGxlPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlh
PSJzY3JlZW4iPgorICAgICAgI2NvbnRhaW5lciB7CisgICAgICAgIGhlaWdodDogNzYwcHg7Cisg
ICAgICAgIHdpZHRoOiAyNjBweDsKKyAgICAgICAgYm9yZGVyOiBzb2xpZCBibGFjazsKKyAgICAg
ICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgfQorICAgICAgLmJveCB7CisgICAgICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICBoZWln
aHQ6IDIwMHB4OworICAgICAgICBtYXJnaW46IDMwcHg7CisgICAgICAgIGJvcmRlcjogMTBweCBz
b2xpZCBibGFjazsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDEwMCwgMTAwLCAyNTUs
IDAuOCk7CisgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICAgICAg
LXdlYmtpdC1ib3gtc2hhZG93OiBibGFjayAwIDRweCA0cHg7CisgICAgICB9CisKKyAgICAgICNj
b250YWluZXIgLm1hc2tlZC1weCB7CisgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKHJl
c291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcpOworICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0
OiByZXBlYXQ7CisgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAtd2Via2l0LWNhbGMoNTBweCk7
CisgICAgICB9CisgICAgICAKKyAgICAgICNjb250YWluZXIgLm1hc2tlZC1wZXJjZW50IHsKKyAg
ICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwocmVzb3VyY2VzL2FscGhhLWdyYWRpZW50LnBu
Zyk7CisgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IHJlcGVhdDsKKyAgICAgICAgLXdlYmtp
dC1tYXNrLXNpemU6IC13ZWJraXQtY2FsYygyNSUpOworICAgICAgfQorICAgICAgCisgICAgICAj
Y29udGFpbmVyIC5tYXNrZWQtcGVyY2VudC1weCB7CisgICAgICAgIC13ZWJraXQtbWFzay1pbWFn
ZTogdXJsKHJlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcpOworICAgICAgICAtd2Via2l0LW1h
c2stcmVwZWF0OiByZXBlYXQ7CisgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAtd2Via2l0LWNh
bGMoMTAlICsgMzBweCk7CisgICAgICB9CisgICAgCisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKworICA8cD5UZXN0aW5nIG1hc2tzIG9uIGNvbXBvc2l0aW5nIGxheWVycy48L3A+CisgIDxk
aXYgaWQ9ImNvbnRhaW5lciI+CisgICAgICA8ZGl2IGNsYXNzPSJtYXNrZWQtcHggYm94Ij48L2Rp
dj4KKyAgICAgIDxkaXYgY2xhc3M9Im1hc2tlZC1wZXJjZW50IGJveCI+PC9kaXY+CisgICAgICA8
ZGl2IGNsYXNzPSJtYXNrZWQtcGVyY2VudC1weCBib3giPjwvZGl2PgorICA8L2Rpdj4KKworPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxlLWNh
bGNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxjcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTJmMTk0ZDM4ZTQ0NjBlZjAyOTEyNmNmNjRmZjZmODE3MzM5
Y2QxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxj
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitBbGwgdGFibGUgY2VsbHMgYmVsb3cgc2hv
dWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorCitjb250cm9sIHdpZHRoOjEwMHB4ID0+
IEZBSUw6IGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgMzYJc2ltcGxlIDEwMHB4ID0+
IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyA4NSwgZXhwZWN0ZWQgaGVpZ2h0
IG9mIDEwMCwgYnV0IHdhcyAxMDgJMjVweCAqIDQgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDU2LCBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2FzIDEwOAorY29u
dHJvbCBoZWlnaHQ6MTAwcHggPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDEzMQlzaW1wbGUgMTAwcHggPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDg1CTI1cHggKiA0ID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyA1MAor
Y29udHJvbCB3aWR0aDoyNSUgPT4gRkFJTDogZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdh
cyAzNglzaW1wbGUgMjUlID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAx
MzUsIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgOTAJMTAlICogMiArIDUlID0+IEZB
SUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyA0MCwgZXhwZWN0ZWQgaGVpZ2h0IG9m
IDEwMCwgYnV0IHdhcyA5MAorY29udHJvbCBoZWlnaHQ6MjUlID0+IEZBSUw6IGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAxMjAKK3NpbXBsZSAyNSUgPT4gRkFJTDogZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDc0LCBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2FzIDE4
CisxMCUgKiAyICsgNSUgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDkx
LCBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2FzIDE4CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxjcy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3RhYmxlLWNhbGNzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjE3MWM1OTQ2NDE4YzRkZDY0YWUxMGE3ZjA2
NDE3NDY3ZTRiOGZhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90
YWJsZS1jYWxjcy5odG1sCkBAIC0wLDAgKzEsMTAwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHls
ZT4KKy53aWR0aC10ZXN0IHsKKyAgICBwYWRkaW5nOiAwOworICAgIHdpZHRoOiAtd2Via2l0LWNh
bGMoMjU2cHgpOyAKKyAgICBoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDBweCk7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogcmVkOworfQorCisud2lkdGgtcGVyY2VudC10ZXN0IHsKKyAgICBwYWRkaW5n
OiAwOworICAgIGhlaWdodDogLXdlYmtpdC1jYWxjKDEwMHB4KTsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiByZWQ7Cit9CisKKy5oZWlnaHQtdGVzdCB7CisgICAgcGFkZGluZzogMDsKKyAgICB3aWR0
aDogLXdlYmtpdC1jYWxjKDEwMHB4KTsKKyAgICBoZWlnaHQ6IC13ZWJraXQtY2FsYygyNTZweCk7
CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQorCisuaGVpZ2h0LXBlcmNlbnQtdGVzdCB7
CisgICAgcGFkZGluZzogMDsKKyAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KTsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9CisKKzwvc3R5bGU+CisKKzxwPgorICBBbGwgdGFibGUg
Y2VsbHMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorPC9wPgorCis8
ZGl2IGlkPSJ0ZXN0Ij4KKyAgICA8dGFibGU+CisgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNs
YXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IDEwMHB4OyI+Y29udHJvbCB3aWR0aDoxMDBw
eDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13
ZWJraXQtY2FsYygxMDBweCk7Ij5zaW1wbGUgMTAwcHg8L3RkPgorICAgICAgICAgIDx0ZCBjbGFz
cz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMjVweCAqIDQpOyI+MjVw
eCAqIDQ8L3RkPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDx0YWJsZT4KKyAgICAg
IDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9ImhlaWdodC10ZXN0IiBzdHlsZT0iaGVpZ2h0OiAx
MDBweDsiPmNvbnRyb2wgaGVpZ2h0OjEwMHB4PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9Imhl
aWdodC10ZXN0IiBzdHlsZT0iaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwcHgpOyI+c2ltcGxlIDEw
MHB4PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9ImhlaWdodC10ZXN0IiBzdHlsZT0iaGVpZ2h0
OiAtd2Via2l0LWNhbGMoMjVweCAqIDQpOyI+MjVweCAqIDQ8L3RkPgorICAgICAgPC90cj4KKyAg
ICA8L3RhYmxlPgorICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6NDEwcHg7IGJvcmRlci1zcGFjaW5n
OiAycHggMnB4Ij4KKyAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXBlcmNl
bnQtdGVzdCIgc3R5bGU9IndpZHRoOiAyNSU7Ij5jb250cm9sIHdpZHRoOjI1JTwvdGQ+CisgICAg
ICAgICAgPHRkIGNsYXNzPSJ3aWR0aC1wZXJjZW50LXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtp
dC1jYWxjKDI1JSk7Ij5zaW1wbGUgMjUlPC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRo
LXBlcmNlbnQtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMTAlICogMiArIDUlKTsi
PjEwJSAqIDIgKyA1JTwvdGQ+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgCisgICAg
PGRpdiBzdHlsZT0iaGVpZ2h0OiA0MTZweCI+CisgICAgICA8dGFibGUgc3R5bGU9ImhlaWdodDog
MjUlIj4KKyAgICAgICAgICA8dHI+PHRkIGNsYXNzPSJoZWlnaHQtcGVyY2VudC10ZXN0Ij5jb250
cm9sIGhlaWdodDoyNSU8L3RkPjwvdHI+CisgICAgICA8L3RhYmxlPgorICAgIDwvZGl2PgorICAg
IDxkaXYgc3R5bGU9ImhlaWdodDogNDE2cHgiPgorICAgICAgPHRhYmxlIHN0eWxlPSJoZWlnaHQ6
IC13ZWJraXQtY2FsYygyNSUpOyI+CisgICAgICAgICAgPHRyPjx0ZCBjbGFzcz0iaGVpZ2h0LXBl
cmNlbnQtdGVzdCI+c2ltcGxlIDI1JTwvdGQ+PC90cj4KKyAgICAgIDwvdGFibGU+CisgICAgPC9k
aXY+CisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA0MTZweCI+CisgICAgICA8dGFibGUgc3R5bGU9
ImhlaWdodDogLXdlYmtpdC1jYWxjKDEwJSAqIDIgKyA1JSkpOyI+CisgICAgICAgICAgPHRyPjx0
ZCBjbGFzcz0iaGVpZ2h0LXBlcmNlbnQtdGVzdCI+MTAlICogMiArIDUlPC90ZD48L3RyPgorICAg
ICAgPC90YWJsZT4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGlkPSJyZXN1bHRzIj48L2Rp
dj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgY2VsbHMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGVzdCIpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpOworZm9yICh2
YXIgaSA9IDA7IGkgPCBjZWxscy5sZW5ndGg7ICsraSkgeworICAgIHZhciBjZWxsID0gY2VsbHNb
aV07CisgICAgdmFyIHdpZHRoID0gY2VsbC5vZmZzZXRXaWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0g
Y2VsbC5vZmZzZXRIZWlnaHQ7CisKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGgg
IT0gMTAwKQorICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3
YXMgIiArIHdpZHRoKTsKKyAgICBpZiAoaGVpZ2h0ICE9IDEwMCkKKyAgICAgICAgZXJyb3IucHVz
aCgiZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAiICsgaGVpZ2h0KTsKKworICAgIHJl
c3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworICAgIGlmIChlcnJv
ciA9PSAiIikgeworICAgICAgICBjZWxsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7
CisgICAgICAgIGNlbGwuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7CisgICAgfSBlbHNlCisgICAg
ICAgIGNlbGwuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7Cit9
Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy1leHBlY3RlZC1taXNt
YXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljY2U2ODEyZDNiMDc5MjI0NDM2OGRiODZjMTQyY2YxZmFk
MTBhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtZW1w
dHktY2VsbHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDI0MiBAQAorPGh0bWw+
PGhlYWQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAKKworLnBlcmNlbnQgeyB3aWR0aDo1MCU7
IH0KKy5maXhlZCB7IHdpZHRoOjQwMHB4OyB9CisuY2VsbDIge2hlaWdodDoyNXB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiBhcXVhIH0KKy5ib3JkZXIgeyBib3JkZXI6IDJweCBzb2xpZCBncmVlbiB9IAor
LnBhZGRpbmcgeyBwYWRkaW5nOiAycHggfSAKKy5tYXJnaW4geyBtYXJnaW46IDJweCB9IAorLmJn
Y29sb3IgeyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3cgfSAKKy5wcmUgeyB3aGl0ZS1zcGFjZTog
cHJlIH0KK3RhYmxlIHsgYm9yZGVyOiAycHggc29saWQgYmxhY2sgfQorCis8L3N0eWxlPgorPGJv
ZHkgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIj4KKworCis8dGFibGUgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xh
c3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIiPkZpcnN0IGNlbGwgZW1wdHksIHNl
Y29uZCBhdXRvIHdpZHRoPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxl
IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5Pgor
PHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQi
PkZpcnN0IGNlbGwgZW1wdHksIHNlY29uZCBwZXJjZW50IHdpZHRoPC90ZD4KKzwvdHI+Cis8L3Ri
b2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIg
d2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8
dGQgY2xhc3M9ImNlbGwyIGZpeGVkIj5GaXJzdCBjZWxsIGVtcHR5LCBzZWNvbmQgZml4ZWQgd2lk
dGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xh
c3M9ImNlbGwxIHByZSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNl
bGwgZW1wdHkgKHdpdGggc3BhY2UpIGFuZCBoYXMgd2hpdGUtc3BhY2U6cHJlPC90ZD4KKzwvdHI+
Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBwcmUi
PjwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgKG5vIHNw
YWNlKSBhbmQgaGFzIHdoaXRlLXNwYWNlOnByZTwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFi
bGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9
IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBib3JkZXIiPiA8L3RkPgor
PHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMgYm9yZGVy
PC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBhZGRp
bmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQg
Y2xhc3M9ImNlbGwxIHBhZGRpbmciPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5G
aXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMgcGFkZGluZzwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwv
dGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIxIiBjZWxsc3BhY2luZz0iMCIgd2lk
dGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQg
Y2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHksIHRhYmxlIGhhcyBjZWxscGFk
ZGluZzwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxw
YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgor
PHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0
IGNlbGwgZW1wdHksIHRhYmxlIGhhcyBjZWxsc3BhY2luZzwvdGQ+Cis8L3RyPgorPC90Ym9keT4K
KzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIg
d2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBtYXJnaW4iPiA8
L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMg
bWFyZ2luPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWUgY2Vs
bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+
Cis8dGQgY2xhc3M9ImNlbGwxIGJnY29sb3IiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJj
ZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMgYmFja2dyb3VuZCBjb2xvcjwvdGQ+Cis8L3Ry
PgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp
bmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8
L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGNlbGwgZW1w
dHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiB0ZXh0IDwvdGQ+Cis8dGQg
Y2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgbm90IGVtcHR5PC90
ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJj
ZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3Qg
Y2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8
dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHk8L3Rk
PgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNl
bGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNl
bGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qg
Y2VsbCBlbXB0eSwgaGFzIGNvbHNwYW48L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgor
Cis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8
dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIi
PiB0ZXh0IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3Qg
Y2VsbCBlbXB0eSwgc2Vjb25kIGNlbGwgbm9uLWVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQg
Y2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIiPlNlY29u
ZCByb3csIGZpcnN0IGNlbGwgZW1wdHkgd2l0aCBjb2xzcGFuPTI8L3RkPgorPC90cj4KKzwvdGJv
ZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3
aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwyIj4gdGV4dCA8L3Rk
PgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZp
cnN0IHJvdywgZmlyc3QgY2VsbCBub24tZW1wdHksIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwv
dHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFz
cz0iY2VsbDIiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHkgd2l0aCBjb2xzcGFuPTI8L3Rk
PgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNl
bGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNl
bGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBw
ZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGFuZCBzZWNvbmQgY2VsbCBlbXB0eTwvdGQ+Cis8L3Ry
PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSIgY29sc3Bhbj0iMiI+IDwvdGQ+Cis8dGQgY2xhc3M9
ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHksIGhhcyBjb2xzcGFu
PTI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xh
c3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJj
ZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGFuZCBzZWNvbmQgY2VsbCBlbXB0eTwvdGQ+
Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBwZXJjZW50IiBjb2xzcGFuPSIyIj4gPC90
ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0
eSwgaGFzIGNvbHNwYW49MiBhbmQgcGVyY2VudCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9keT4K
KzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRo
PSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNs
YXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywg
Zmlyc3QgYW5kIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9
ImNlbGwxIGZpeGVkIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2Vu
dCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNvbHNwYW49MiBhbmQgZml4ZWQg
d2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCitPbmUgZW1wdHkgY2VsbDoK
Kzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0
Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iIj4gPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJs
ZT4KKworVHdvIGVtcHR5IGNlbGxzOgorPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSIiPiA8L3RkPgor
PHRkIGNsYXNzPSIiPiA8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorPC9ib2R5Pgor
PC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtZW1wdHkt
Y2VsbHMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE3N2FkZWM3YzQ2MjE0OWY1NGNiMzA1YmVhZTc4NGI2YmE5NWRhMDkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMu
aHRtbApAQCAtMCwwICsxLDI0MiBAQAorPGh0bWw+PGhlYWQ+Cis8c3R5bGUgdHlwZT0idGV4dC9j
c3MiPiAKKworLnBlcmNlbnQgeyB3aWR0aDotd2Via2l0LWNhbGMoNTAlKTsgfQorLmZpeGVkIHsg
d2lkdGg6LXdlYmtpdC1jYWxjKDQwMHB4KTsgfQorLmNlbGwyIHtoZWlnaHQ6LXdlYmtpdC1jYWxj
KDI1cHgpOyBiYWNrZ3JvdW5kLWNvbG9yOiBhcXVhIH0KKy5ib3JkZXIgeyBib3JkZXI6IC13ZWJr
aXQtY2FsYygycHgpIHNvbGlkIGdyZWVuIH0gCisucGFkZGluZyB7IHBhZGRpbmc6IC13ZWJraXQt
Y2FsYygycHgpIH0gCisubWFyZ2luIHsgbWFyZ2luOiAtd2Via2l0LWNhbGMoMnB4KSB9IAorLmJn
Y29sb3IgeyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3cgfSAKKy5wcmUgeyB3aGl0ZS1zcGFjZTog
cHJlIH0KK3RhYmxlIHsgYm9yZGVyOiAtd2Via2l0LWNhbGMoMnB4KSBzb2xpZCBibGFjayB9CisK
Kzwvc3R5bGU+Cis8Ym9keSBsZWZ0bWFyZ2luPSIwIiB0b3BtYXJnaW49IjAiPgorCisKKzx0YWJs
ZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4K
Kzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+Rmlyc3Qg
Y2VsbCBlbXB0eSwgc2Vjb25kIGF1dG8gd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3Rh
YmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAw
JSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0i
Y2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25kIHBlcmNlbnQgd2lkdGg8L3Rk
PgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNl
bGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNl
bGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgZml4ZWQiPkZpcnN0IGNlbGwgZW1wdHksIHNl
Y29uZCBmaXhlZCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJs
ZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4K
Kzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcHJlIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVy
Y2VudCI+Rmlyc3QgY2VsbCBlbXB0eSAod2l0aCBzcGFjZSkgYW5kIGhhcyB3aGl0ZS1zcGFjZTpw
cmU8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xh
c3M9ImNlbGwxIHByZSI+PC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2Vs
bCBlbXB0eSAobm8gc3BhY2UpIGFuZCBoYXMgd2hpdGUtc3BhY2U6cHJlPC90ZD4KKzwvdHI+Cis8
L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj
aW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIGJv
cmRlciI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkg
YnV0IGhhcyBib3JkZXI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUg
aWQ9YyBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9k
eT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcGFkZGluZyI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNl
bGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBwYWRkaW5nPC90ZD4KKzwvdHI+
Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBhZGRpbmc9IjEiIGNlbGxz
cGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwx
Ij4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgdGFi
bGUgaGFzIGNlbGxwYWRkaW5nPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRh
YmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+Cis8
dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIg
cGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgdGFibGUgaGFzIGNlbGxzcGFjaW5nPC90ZD4KKzwv
dHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNl
bGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNl
bGwxIG1hcmdpbiI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwg
ZW1wdHkgYnV0IGhhcyBtYXJnaW48L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8
dGFibGUgaWQ9ZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4K
Kzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgYmdjb2xvciI+IDwvdGQ+Cis8dGQgY2xh
c3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBiYWNrZ3JvdW5kIGNv
bG9yPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5n
PSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNs
YXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywg
Zmlyc3QgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IHRl
eHQgPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2Vs
bCBub3QgZW1wdHk8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2Vs
bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+
Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmly
c3Qgcm93LCBmaXJzdCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNl
bGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3Qg
Y2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxs
cGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4K
Kzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBw
ZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3BhbjwvdGQ+Cis8L3RyPgorPC90Ym9k
eT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdp
ZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRk
IGNsYXNzPSJjZWxsMiI+IHRleHQgPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmly
c3Qgcm93LCBmaXJzdCBjZWxsIGVtcHR5LCBzZWNvbmQgY2VsbCBub24tZW1wdHk8L3RkPgorPC90
cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNz
PSJjZWxsMiI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSB3aXRoIGNvbHNwYW49MjwvdGQ+
Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2Vs
bHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2Vs
bDIiPiB0ZXh0IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2Vs
bDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIG5vbi1lbXB0eSwgc2Vjb25kIGNlbGwg
ZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIiPiA8
L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSB3aXRo
IGNvbHNwYW49MjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxs
cGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4K
Kzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQg
Y2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgYW5kIHNlY29uZCBjZWxsIGVt
cHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90
ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0
eSwgaGFzIGNvbHNwYW49MjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJs
ZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4K
Kzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+
Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgYW5kIHNlY29uZCBj
ZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIHBlcmNlbnQiIGNv
bHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBm
aXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3Bhbj0yIGFuZCBwZXJjZW50IHdpZHRoPC90ZD4KKzwv
dHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh
Y2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+
IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2Vu
dCI+Rmlyc3Qgcm93LCBmaXJzdCBhbmQgc2Vjb25kIGNlbGwgZW1wdHk8L3RkPgorPC90cj4KKzx0
cj4KKzx0ZCBjbGFzcz0iY2VsbDEgZml4ZWQiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNz
PSJjZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3Bh
bj0yIGFuZCBmaXhlZCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKK09u
ZSBlbXB0eSBjZWxsOgorPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lk
dGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSIiPiA8L3RkPgorPC90cj4KKzwv
dGJvZHk+Cis8L3RhYmxlPgorCitUd28gZW1wdHkgY2VsbHM6Cis8dGFibGUgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xh
c3M9IiI+IDwvdGQ+Cis8dGQgY2xhc3M9IiI+IDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFi
bGU+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120912</attachid>
            <date>2012-01-02 20:59:26 -0800</date>
            <delta_ts>2012-01-03 22:07:11 -0800</delta_ts>
            <desc>Updated to patch against tip</desc>
            <filename>bug-57082-20120103155922.patch</filename>
            <type>text/plain</type>
            <size>181162</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFhOWQxZmM5MjE5NTRm
ZDZhZThiNmEyYzMyZmU3MzYyMWJhZGZlMy4uZTQ4NmMwZDM0MmQ4MjY0MGQyNTM2YThjYWFiYWU4
YTJhZmRiM2EzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMCBAQAorMjAxMS0xMi0yMiAgTWlr
ZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBjYWxj
IHBhcnNpbmcgc3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3MDgyCisKKyAgICAgICAgVGhpcyBpcyB0aGUgcGFyc2luZyBzdGFnZSBvZiBjYWxj
LiBUaGUgZXhwcmVzc2lvbnMgYXJlIGV2YWx1YXRlZCBhbmQgCisgICAgICAgIGV4cHJlc3Npb24g
dHJlZXMgYXJlIGdlbmVyYXRlZC4gQ1NTIHZhbHVlcyBhcmUgbm90IGNyZWF0ZWQgeWV0IC0gdGhh
dAorICAgICAgICB3aWxsIGhhcHBlbiBpbiBhIHN1YnNlcXVlbnQgY29tbWl0LiAKKworICAgICAg
ICBOb3RlIHRoYXQgUkdCIGFuZCBIU0wgdmFsdWVzIGFyZSBjcmVhdGVkLCBhcyB0aGVzZSBtdXN0
IGJlIGV2YWx1YXRlZCB0bworICAgICAgICBhIHNpbXBsZSBudW1iZXIgYXQgcGFyc2UgdGltZS4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czog
Y3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5n
Lmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Ut
b3V0c2V0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9i
bG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGNzczMv
Y2FsYy9ib3JkZXItcmFkaXVzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAg
IGNzczMvY2FsYy9ib3JkZXItcmFkaXVzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9i
b3JkZXItc3BhY2luZy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYm9yZGVyLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy9jb2xvci1oc2wuaHRtbAorICAgICAgICAgICAgICAg
Y3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvY3NzMy1y
YWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAgIGNz
czMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9j
YWxjL2ZvbnQtbW9ub3NwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9mb250LXNp
emUtZnJhY3Rpb25hbC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZm9udC1zaXplLmh0
bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9mb250Lmh0bWwKKyAgICAgICAgICAgICAgIGNz
czMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLmh0bWwKKyAgICAgICAg
ICAgICAgIGNzczMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMuaHRtbAor
ICAgICAgICAgICAgICAgY3NzMy9jYWxjL2ltZy1zaXplLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy9pbWctc2l6ZS5odG1sCisgICAgICAgICAgICAgICBj
c3MzL2NhbGMvbGluZS1oZWlnaHQuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL21hcmdp
bi5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvcGFkZGluZy5odG1sCisgICAgICAgICAg
ICAgICBjc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS5odG1sCisgICAgICAgICAg
ICAgICBjc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay5odG1s
CisgICAgICAgICAgICAgICBjc3MzL2NhbGMvdGFibGUtY2FsY3MuaHRtbAorICAgICAgICAgICAg
ICAgY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAg
ICAgICAgICAgICAgIGNzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy5odG1sCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAg
ICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3Mv
Q1NTQ2FsY1ZhbHVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp1bml0Q2F0ZWdvcnkp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y2xhbXBUb1JhbmdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNWYWx1ZTo6ZG91YmxlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlOjp+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNQcmltaXRpdmVWYWx1ZTo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQ
cmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0
aXZlVmFsdWU6OmRvdWJsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aFB4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmlt
aXRpdmVWYWx1ZTo6Y29tcHV0ZVBlcmNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1By
aW1pdGl2ZVZhbHVlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNCaW5hcnlPcGVyYXRpb246OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uOjpkb3VibGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NhbGNCaW5hcnlPcGVyYXRpb246OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNNaW5NYXhMaXN0OjpDU1NDYWxjTWluTWF4TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDYWxjTWluTWF4TGlzdDo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNNaW5N
YXhMaXN0OjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01pbk1heExpc3Q6OmRv
dWJsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OmNoZWNrRGVwdGhBbmRJbmRleCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlQ2FsYyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlTWluTWF4
TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6Om9w
ZXJhdG9yVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFy
c2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9k
ZVBhcnNlcjo6cGFyc2VWYWx1ZVRlcm0pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyOjpwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VBZGRpdGl2
ZVZhbHVlRXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5v
ZGVQYXJzZXI6OnBhcnNlVmFsdWVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHBy
ZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VWYWx1ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ2FsY1ZhbHVlOjpjcmVhdGUpOgorICAgICAgICAqIGNzcy9DU1NDYWxjVmFsdWUuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6OmNhdGVnb3J5
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6aXNJbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlOjpDU1NDYWxjRXhwcmVzc2lvbk5v
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjYXRlZ29yeSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmlzSW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNWYWx1ZTo6Q1NTQ2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6dmFsaWRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cGFyc2VWYWxpZFByaW1pdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJz
ZUZpbGxQb3NpdGlvbkNvbXBvbmVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBh
cnNlZERvdWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmlzQ2FsY01pbk1heCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNvbG9ySW50RnJvbVZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRlcnMpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93UGFyc2VDb250ZXh0OjpTaGFkb3dQYXJzZUNvbnRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRMZW5ndGgpOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlU2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xp
Y2VQYXJzZUNvbnRleHQ6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQpOgorICAgICAgICAo
V2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29tbWl0TnVtYmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQ6OmNvbW1pdEJvcmRl
ckltYWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJvcmRlcklt
YWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0
OjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVy
SW1hZ2VRdWFkUGFyc2VDb250ZXh0Ojpjb21taXROdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6
Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0Ojpjb21taXRCb3JkZXJJbWFnZVF1YWQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUXVhZCk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ2FsYyk6CisgICAgICAgICogY3NzL0NTU1BhcnNl
ci5oOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NW
YWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6Cisg
ICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXND
YWxjVmFsdWUpOgorICAgICAgICAqIGNzcy9TVkdDU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVNWR1ZhbHVlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxj
VmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxjVmFsdWUuaDogQWRkZWQu
CisKIDIwMTItMDEtMDIgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xp
dmVpcmFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBGaXggY2hyb21pdW0gbWFjIGJ1aWxkIGFm
dGVyIHIxMDM5MDUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjg4ZTBmMTQxM2Q5OWI4NDhkMzRm
NTgwODI2MDQwYzUzZWMwN2NlNy4uY2QyOTQ5MDdmZWIxZDhmZDVhYTM3YjJkNjdiNTAzN2E1ZDBj
YWRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQyNyw2ICs0MjcsNyBAQCBTRVQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCiAgICAgY3NzL0NTU0Jv
cmRlckltYWdlVmFsdWUuY3BwCiAgICAgY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAK
KyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmNwcAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAKICAg
ICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCiAgICAgY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAKQEAgLTEwMzMsNiArMTAzNCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBw
YWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKIAogICAgIHBsYXRmb3JtL0FyZW5h
LmNwcAorICAgIHBsYXRmb3JtL0NhbGNWYWx1ZS5jcHAKICAgICBwbGF0Zm9ybS9DbG9jay5jcHAK
ICAgICBwbGF0Zm9ybS9Db250ZXh0TWVudS5jcHAKICAgICBwbGF0Zm9ybS9Db250ZXh0TWVudUl0
ZW0uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBlYWQ2ZGFkZDNmZDBmYjI1
YjgzMDI0OTUyNDdiNzdhOTU5YzdmY2QzLi5hZWZiYmNhMzQ4ZmVkOGVkMDQ2OGNjNWIwMDI4Mzli
ODg2OTg5NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTEyNzQsNiArMTI3
NCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZh
c1ZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ2FsY1ZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwIFwKQEAgLTI3NjQsNiArMjc2Niw4
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNG
aWxlU3lzdGVtLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVt
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9DYWxjVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2xvY2suY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DbG9jay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9DbG9ja0dlbmVyaWMuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDA0MDI5OTJhOTkxMWI2ZmZk
YzIwNzE0YzVkN2ZlYzVjODY2NDIwN2IuLmFjNjAzN2FjZjZlMTQwYzFmMmRmM2JiMmRmMDZlMDc2
ZmYxOTc0OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMzkzLDYgKzM5Myw3IEBAIFNPVVJDRVMgKz0gXAog
ICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdl
U2xpY2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCBcCisgICAg
Y3NzL0NTU0NhbGNWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAgXAogICAg
IGNzcy9DU1NDaGFyc2V0UnVsZS5jcHAgXAogICAgIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIFwKQEAgLTEwMTksNiArMTAyMCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRm
b3JtL3RleHQvTG9jYWxpemVkRGF0ZU5vbmUuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L0xvY2Fs
aXplZE51bWJlck5vbmUuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L1F1b3RlZFByaW50YWJsZS5j
cHAgXAorICAgIHBsYXRmb3JtL0NhbGNWYWx1ZS5jcHAgXAogICAgIHBsYXRmb3JtL0Nsb2NrLmNw
cCBcCiAgICAgcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmNwcCBcCiAgICAgcGxhdGZvcm0vQ29udGVu
dFR5cGUuY3BwIFwKQEAgLTE0OTYsNiArMTQ5OCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGNzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmggXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUu
aCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBcCisgICAgY3NzL0NTU0NhbGNWYWx1
ZS5oIFwKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuaCBcCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxl
LmggXAogICAgIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCBcCkBAIC0yMDYxLDYg
KzIwNjQsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9u
VXRpbGl0aWVzLmggXAogICAgIHBsYXRmb3JtL0FyZW5hLmggXAogICAgIHBsYXRmb3JtL0FzeW5j
RmlsZVN0cmVhbS5oIFwKKyAgICBwbGF0Zm9ybS9DYWxjVmFsdWUuaCBcCiAgICAgcGxhdGZvcm0v
Q2xvY2suaCBcCiAgICAgcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmggXAogICAgIHBsYXRmb3JtL0Nv
bnRlbnRUeXBlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCAyZjMzNWJmMzRlYmRiYzc0MzAz
OWRjNDE0MTE5MTgzMDljYWRlZjcxLi5iNjljMjdiODJmMjRkZjY5YzBhM2NmZmQ4NGIwNTllMGM3
YTc2ZjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtODY3LDYgKzg2Nyw3IEBAIF9fWk43V2Vi
Q29yZTZFZGl0b3I3Q29tbWFuZEMxRXYKIF9fWk43V2ViQ29yZTZFZGl0b3I3Y29tbWFuZEVSS04z
V1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTZFZGl0b3I3b3V0ZGVudEV2CiBfX1pON1dlYkNvcmU2
SlNOb2RlNnNfaW5mb0UKK19fWk43V2ViQ29yZTZMZW5ndGhEMUV2CiBfX1pON1dlYkNvcmU2UmVn
aW9uNXVuaXRlRVJLUzBfCiBfX1pON1dlYkNvcmU2UmVnaW9uOHN1YnRyYWN0RVJLUzBfCiBfX1pO
N1dlYkNvcmU2UmVnaW9uOWludGVyc2VjdEVSS1MwXwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDgzMDVm
Y2VkOGVhZjYzMDlmN2U2YmM5YmY3NjFiMDIxYWMwNDQ4ODUuLjM2MDlmM2MwNjRiNDk4N2Q0NTcw
MTM5YWYxMmYwMjQ5ZmNhMWFjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzNjksNiArMjM2OSw4
IEBACiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oJywKICAgICAg
ICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2Fu
dmFzVmFsdWUuaCcsCisgICAgICAgICAgICAnY3NzL0NTU0NhbGNWYWx1ZS5jcHAnLAorICAgICAg
ICAgICAgJ2Nzcy9DU1NDYWxjVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRS
dWxlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxlLmgnLAogICAgICAgICAg
ICAgJ2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwJywKQEAgLTMwOTIsNiArMzA5
NCw4IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vQ2Fs
Y1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vQ2FsY1ZhbHVlLmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL0Nsb2NrLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ2xvY2su
aCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ29udGVudFR5cGUuY3BwJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZjlmZjk0NzZhM2I3Y2Yz
OTQyY2VmMDIzNTBkY2E0NTk1NTNmM2M0ZC4uYzMwNGY0YTY2MzA1ODg5NjJhNmMzMTFhMTdhY2E5
NjY1YzgxMzg0NCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKQEAgLTI2Mzc0LDYgKzI2Mzc0LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENhbGNWYWx1ZS5jcHAiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENhbGNW
YWx1ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwbGF0Zm9ybVxDbG9jay5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzI2NzQsNiArMzI2
ODIsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cY3NzXENTU0NhbGNWYWx1ZS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NDYWxjVmFsdWUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0NhbnZhc1ZhbHVlLmNwcCIK
IAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYWQ4OGYwNDViM2QwYzg1MjUxMTZl
MGE5OWQ3NTU2ZDAwZjg0ZmRmYi4uNGU5NDdiMGJkZGEzNjAzMDcwODk2MzkyNGUyNjhmMTk1N2Vl
ODEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTIyMSw2ICsxMjIxLDEwIEBACiAJCTQ5OUIzRUQ2MTI4Q0QzMTQwMEU3MjZD
MiAvKiBHcmFwaGljc0xheWVyQ0EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDk5QjNFRDQxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJD
QS5jcHAgKi87IH07CiAJCTQ5OUIzRUQ3MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVy
Q0EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OUIz
RUQ1MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTlCM0VERDEyOERCNTAyMDBFNzI2
QzIgLyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDk5QjNFREMxMjhEQjUwMTAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FB
bmltYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk0OUFFMkQ4RTEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhDMTM0RUU1MEMw
MDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuY3BwICovOyB9OworCQk0OUFFMkQ4RjEzNEVFNTBDMDA3
MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmgg
Ki87IH07CisJCTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRTJEOTQxMzRFRTVG
OTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgKi87IH07CisJCTQ5QUUyRDk3MTM0RUU1RjkwMDcy
OTIwQSAvKiBDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCAqLzsgfTsK
IAkJNDlBRjJENjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRjJENjgxNDQz
NUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oICovOyB9OwogCQk0OUFGMkQ2
QzE0NDM1RDIxMDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUYyRDZCMTQ0MzVEMjEw
MDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwICovOyB9OwogCQk0OUM3Qjk5
MzEwNDJEMkQzMDAwOUQ0NDcgLyogSlNXZWJHTEJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3Qjk4MDEwNDJEMkQzMDAwOUQ0NDcgLyog
SlNXZWJHTEJ1ZmZlci5jcHAgKi87IH07CkBAIC04NDYzLDYgKzg0NjcsMTAgQEAKIAkJNDk5QjNF
RDQxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBHcmFwaGljc0xheWVyQ0EuY3BwOyBwYXRoID0gY2EvR3Jh
cGhpY3NMYXllckNBLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk5QjNFRDUx
MjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBHcmFwaGljc0xheWVyQ0EuaDsgcGF0aCA9IGNhL0dyYXBoaWNzTGF5ZXJD
QS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTlCM0VEQzEyOERCNTAxMDBFNzI2
QzIgLyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBQbGF0Zm9ybUNBQW5pbWF0aW9uLmg7IHBhdGggPSBjYS9QbGF0Zm9ybUNBQW5pbWF0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QUUyRDhDMTM0RUU1MEMwMDcyOTIw
QSAvKiBDU1NDYWxjVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ1NTQ2FsY1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJE
OEQxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NDYWxjVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDlBRTJEOTQxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxjVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0OUFFMkQ5NTEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0OUFGMkQ2ODE0NDM1RDA1MDAxNkE3ODQgLyogRGlzcGxheVJlZnJl
c2hNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpc3BsYXlSZWZy
ZXNoTW9uaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUFGMkQ2QjE0NDM1
RDIxMDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QzdCOTgwMTA0MkQyRDMwMDA5RDQ0NyAvKiBK
U1dlYkdMQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
V2ViR0xCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAyNDYsNiAr
MjAyNTQsOCBAQAogCQkJCTg5RDA4RDlEMTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0ZpbGVTeXN0
ZW0uaCAqLywKIAkJCQk4OUQwOEQ5RTEyMjI4NDUxMDAxMjQxREYgLyogQXN5bmNGaWxlU3lzdGVt
Q2FsbGJhY2tzLmggKi8sCiAJCQkJNTFFMUVDQjEwQzkxQzU1NjAwREMyNTVCIC8qIEF1dG9kcmFp
bmVkUG9vbC5oICovLAorCQkJCTQ5QUUyRDk0MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUu
Y3BwICovLAorCQkJCTQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCAqLywK
IAkJCQlDMzMwQTIyMTEzRUMxOTZCMDAwMEI0NUIgLyogQ29sb3JDaG9vc2VyLmggKi8sCiAJCQkJ
QzM3Q0RFQkMxNDlFRjIwMzAwNDIwOTBEIC8qIENvbG9yQ2hvb3NlckNsaWVudC5oICovLAogCQkJ
CUJDQzhDRkNBMDk4NkNEMjQwMDE0MEJGMiAvKiBDb2xvckRhdGEuZ3BlcmYgKi8sCkBAIC0yMDc5
OSw2ICsyMDgwOSw4IEBACiAJCQkJQTgwRTZDREQwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRl
ckltYWdlVmFsdWUuaCAqLywKIAkJCQlCQzI3NEIzMDE0MEVCRUQ4MDBFQURGQTYgLyogQ1NTQm9y
ZGVySW1hZ2VTbGljZVZhbHVlLmNwcCAqLywKIAkJCQlCQzI3NEIyRTE0MEVCRUIyMDBFQURGQTYg
LyogQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmggKi8sCisJCQkJNDlBRTJEOEMxMzRFRTUwQzAw
NzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAgKi8sCisJCQkJNDlBRTJEOEQxMzRFRTUwQzAwNzI5
MjBBIC8qIENTU0NhbGNWYWx1ZS5oICovLAogCQkJCUJDNjA0QTQyMERCNTYzNEUwMDIwNDczOSAv
KiBDU1NDYW52YXNWYWx1ZS5jcHAgKi8sCiAJCQkJQkM2MDQ5Q0IwREI1NjBDMjAwMjA0NzM5IC8q
IENTU0NhbnZhc1ZhbHVlLmggKi8sCiAJCQkJRTFFQkJCRDMwQUFDOUI4NzAwMUZFOEUyIC8qIENT
U0NoYXJzZXRSdWxlLmNwcCAqLywKQEAgLTIyMDQ1LDYgKzIyMDU3LDcgQEAKIAkJCQlEMEJDNTQ0
OTE0NDNBQzRBMDBFMTA1REEgLyogQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNCMTZDMjgwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OTUwMDgyNDVFNTkwMDFFOUFCQyAvKiBDYWNoZVBv
bGljeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDlBRTJEOTcxMzRFRTVGOTAwNzI5MjBBIC8qIENh
bGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFENUVDQjUxMzRCNThEQTAwODdDNzhGIC8q
IENhbGxiYWNrRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTZFNEU5MUFEMTBGN0ZCMzEw
MEEyNzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDk0ODRGQzIxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmggaW4gSGVhZGVycyAq
LywKQEAgLTIyMTI2LDYgKzIyMTM5LDcgQEAKIAkJCQlFMTY5ODAzRDExMzM1NDJEMDA4OTQxMTUg
LyogQ1J1bnRpbWVPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NUNBMjhCMTMwMzY1Rjgw
MEU5OUFEOSAvKiBDcnlwdG8uaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2RDA3MEExOTg5Q0Ew
MDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0OUFF
MkQ4RjEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzYwNDlDQzBEQjU2MEMyMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MEU2Q0Y5MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NDaGFyc2V0UnVsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkNFQTQ3OTAwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTA0Miw2ICsyNTA1Niw3IEBA
CiAJCTA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKIAkJ
CWlzYSA9IFBCWFByb2plY3Q7CiAJCQlhdHRyaWJ1dGVzID0geworCQkJCUJ1aWxkSW5kZXBlbmRl
bnRUYXJnZXRzSW5QYXJhbGxlbCA9IFlFUzsKIAkJCQlMYXN0VXBncmFkZUNoZWNrID0gMDQ0MDsK
IAkJCX07CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5QzI4NDMwODkwMkIxMTAwOEE5
RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIg
Ki87CkBAIC0yNTQyOSw2ICsyNTQ0NCw3IEBACiAJCQkJQkNCMTZDMjkwOTc5QzNCRDAwNDY3NzQx
IC8qIENhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjE2QzIz
MDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRTY3JpcHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNCMTZDMjcwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCMTgyNzQ5MzEzNENBNEMxMDBCOThDMkQgLyogQ2FsbGJhY2tG
dW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTRFOTFBQzEwRjdGQjMxMDBBMjc3OUMg
LyogQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0ODRG
QzExMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovLApA
QCAtMjU0OTYsNiArMjU1MTIsNyBAQAogCQkJCUUxNjk4MDQ5MTEzMzY0NDcwMDg5NDExNSAvKiBD
UnVudGltZU9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzVDQTI4QTEzMDM2NUY4MDBF
OTlBRDkgLyogQ3J5cHRvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU2Q0U1MEExOTg5Q0Ew
MDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5
QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM2MDRBNDMwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUUxRUJCQkQ0MEFBQzlCODcwMDFGRThFMiAvKiBDU1NDaGFyc2V0UnVs
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDc4RjA5N0NBQUM4MDA5NEM5RTQgLyogQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mN2I0ZWY5ZWQ1ODc5ZDQzYjA4OWEwMjBkNzA4
MjY1ZGVhOGNjYzE5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nh
bGNWYWx1ZS5jcHAKQEAgLTAsMCArMSw1MTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiQ1NTQ2FsY1ZhbHVlLmgiCisKKyNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCisjaW5j
bHVkZSAiQ1NTVmFsdWVMaXN0LmgiCisjaW5jbHVkZSAiTGVuZ3RoLmgiCisKKyNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK3N0YXRpYyBjb25zdCBpbnQgbWF4RXhwcmVzc2lvbkRl
cHRoID0gMTAwOworCitlbnVtIFBhcnNlU3RhdGUgeworICAgIE9LLAorICAgIFRvb0RlZXAsCisg
ICAgTm9Nb3JlVG9rZW5zCit9OworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBDYWxj
Q2F0ZWdvcnkgdW5pdENhdGVnb3J5KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMgdHlwZSkK
K3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
TlVNQkVSOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSU5URUdFUjoK
KyAgICAgICAgcmV0dXJuIENhbGNOdW1iZXI7CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1BFUkNFTlRBR0U6CisgICAgICAgIHJldHVybiBDYWxjUGVyY2VudDsKKyAgICBjYXNlIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19FWFM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYOgorICAgIGNhc2UgQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19DTToKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
TU06CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOOgorICAgIGNhc2UgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19QVDoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEM6
CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6CisgICAgICAgIHJldHVybiBD
YWxjTGVuZ3RoOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBDYWxjT3RoZXI7CisgICAg
fQorfQorICAgIAorU3RyaW5nIENTU0NhbGNWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuICIiOworfQorICAgIAorZG91YmxlIENTU0NhbGNWYWx1ZTo6Y2xhbXBUb1Jh
bmdlKGRvdWJsZSB2YWx1ZSkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9ub25OZWdhdGl2ZSAmJiB2
YWx1ZSA8IDAgPyAwIDogdmFsdWU7Cit9ICAgIAorICAgIAorZG91YmxlIENTU0NhbGNWYWx1ZTo6
ZG91YmxlVmFsdWUoKSBjb25zdCAKK3sgCisgICAgcmV0dXJuIGNsYW1wVG9SYW5nZShtX2V4cHJl
c3Npb24tPmRvdWJsZVZhbHVlKCkpOworfQorICAgIAorQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlOjp+
Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKCkgCit7Cit9CisgICAgCitjbGFzcyBDU1NDYWxjUHJpbWl0
aXZlVmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKworICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNQcmltaXRpdmVWYWx1ZT4gY3JlYXRlKENTU1ByaW1p
dGl2ZVZhbHVlKiB2YWx1ZSwgYm9vbCBpc0ludCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKHZhbHVlLCBpc0ludCkpOworICAgIH0KKyAg
ICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biAhbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFN0cmlu
ZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVlLT5jc3NUZXh0
KCk7CisgICAgfQorCisgICAgdmlydHVhbCBkb3VibGUgZG91YmxlVmFsdWUoKSBjb25zdAorICAg
IHsKKyAgICAgICAgc3dpdGNoIChtX2NhdGVnb3J5KSB7CisgICAgICAgIGNhc2UgQ2FsY051bWJl
cjoKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDogICAgICAgICAgICAgICAgCisgICAgICAgICAg
ICByZXR1cm4gbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICAgICAgY2FzZSBDYWxjTGVu
Z3RoOgorICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBjYXNlIENhbGNQ
ZXJjZW50TnVtYmVyOgorICAgICAgICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIAor
ICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSogY3VyclN0eWxl
LCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9vbCBjb21wdXRp
bmdGb250U2l6ZSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAobV9jYXRlZ29yeSkgewor
ICAgICAgICBjYXNlIENhbGNMZW5ndGg6CisgICAgICAgICAgICByZXR1cm4gbV92YWx1ZS0+Y29t
cHV0ZUxlbmd0aDxkb3VibGU+KGN1cnJTdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21w
dXRpbmdGb250U2l6ZSk7CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnQ6CisgICAgICAgIGNhc2Ug
Q2FsY051bWJlcjoKKyAgICAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5nZXREb3VibGVWYWx1ZSgp
OworICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBjYXNlIENhbGNQZXJj
ZW50TnVtYmVyOgorICAgICAgICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgCisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsgICAgICAgIAor
ICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIGRvdWJsZSBjb21wdXRlUGVyY2VudChkb3VibGUgb25l
SHVuZHJlZFBlcmNlbnRWYWx1ZSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAobV9jYXRl
Z29yeSkgeworICAgICAgICBjYXNlIENhbGNOdW1iZXI6CisgICAgICAgICAgICByZXR1cm4gbV92
YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDogICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICByZXR1cm4gKG1fdmFsdWUtPmdldERvdWJsZVZhbHVlKCkg
KiBvbmVIdW5kcmVkUGVyY2VudFZhbHVlKSAvIDEwMC4wZjsKKyAgICAgICAgY2FzZSBDYWxjTGVu
Z3RoOgorICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBjYXNlIENhbGNQ
ZXJjZW50TnVtYmVyOgorICAgICAgICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAg
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9
CisgICAgCitwcml2YXRlOgorICAgIGV4cGxpY2l0IENTU0NhbGNQcmltaXRpdmVWYWx1ZShDU1NQ
cmltaXRpdmVWYWx1ZSogdmFsdWUsIGJvb2wgaXNJbnQpCisgICAgICAgIDogQ1NTQ2FsY0V4cHJl
c3Npb25Ob2RlKHVuaXRDYXRlZ29yeSgoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2YWx1
ZS0+cHJpbWl0aXZlVHlwZSgpKSwgaXNJbnQpCisgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkgICAg
ICAgICAgICAgICAgIAorICAgIHsKKyAgICB9CisKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IG1fdmFsdWU7Cit9OworCitzdGF0aWMgY29uc3QgQ2FsY0NhdGVnb3J5IGFkZFN1YnRyYWN0
UmVzdWx0W0NhbGNPdGhlcl1bQ2FsY090aGVyXSA9IHsKKyAgICB7Q2FsY051bWJlciwgICAgICAg
IENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudE51bWJlciwgQ2FsY1BlcmNlbnROdW1iZXIs
IENhbGNPdGhlcn0sCisgICAge0NhbGNPdGhlciwgICAgICAgICBDYWxjTGVuZ3RoLCAgICAgICAg
Q2FsY1BlcmNlbnRMZW5ndGgsIENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudExlbmd0aH0s
CisgICAge0NhbGNQZXJjZW50TnVtYmVyLCBDYWxjUGVyY2VudExlbmd0aCwgQ2FsY1BlcmNlbnQs
ICAgICAgIENhbGNQZXJjZW50TnVtYmVyLCBDYWxjUGVyY2VudExlbmd0aH0sCisgICAge0NhbGNQ
ZXJjZW50TnVtYmVyLCBDYWxjT3RoZXIsICAgICAgICAgQ2FsY1BlcmNlbnROdW1iZXIsIENhbGNQ
ZXJjZW50TnVtYmVyLCBDYWxjT3RoZXJ9LAorICAgIHtDYWxjT3RoZXIsICAgICAgICAgQ2FsY1Bl
cmNlbnRMZW5ndGgsIENhbGNQZXJjZW50TGVuZ3RoLCBDYWxjT3RoZXIsICAgICAgICAgQ2FsY1Bl
cmNlbnRMZW5ndGh9LAorfTsgICAgCisgICAgCitjbGFzcyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9u
IDogcHVibGljIENTU0NhbGNFeHByZXNzaW9uTm9kZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQdHI8Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlPiBsZWZ0U2lkZSwgUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5v
ZGU+IHJpZ2h0U2lkZSwgQ2FsY09wZXJhdG9yIG9wKQorICAgIHsKKyAgICAgICAgQ2FsY0NhdGVn
b3J5IGxlZnRDYXRlZ29yeSA9IGxlZnRTaWRlLT5jYXRlZ29yeSgpOworICAgICAgICBDYWxjQ2F0
ZWdvcnkgcmlnaHRDYXRlZ29yeSA9IHJpZ2h0U2lkZS0+Y2F0ZWdvcnkoKTsKKyAgICAgICAgQ2Fs
Y0NhdGVnb3J5IG5ld0NhdGVnb3J5ID0gQ2FsY090aGVyOworICAgICAgICAKKyAgICAgICAgQVNT
RVJUKGxlZnRDYXRlZ29yeSAhPSBDYWxjT3RoZXIgJiYgcmlnaHRDYXRlZ29yeSAhPSBDYWxjT3Ro
ZXIpOworICAgICAgICAKKyAgICAgICAgc3dpdGNoIChvcCkgeworICAgICAgICBjYXNlIENhbGNB
ZGQ6CisgICAgICAgIGNhc2UgQ2FsY1N1YnRyYWN0OiAgICAgICAgICAgICAKKyAgICAgICAgICAg
IGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY090aGVyIHx8IHJpZ2h0Q2F0ZWdvcnkgPT0gQ2FsY090
aGVyKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgbmV3Q2F0ZWdvcnkg
PSBhZGRTdWJ0cmFjdFJlc3VsdFtsZWZ0Q2F0ZWdvcnldW3JpZ2h0Q2F0ZWdvcnldOworICAgICAg
ICAgICAgYnJlYWs7ICAgCisgICAgICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2FsY011bHRp
cGx5OgorICAgICAgICAgICAgaWYgKGxlZnRDYXRlZ29yeSAhPSBDYWxjTnVtYmVyICYmIHJpZ2h0
Q2F0ZWdvcnkgIT0gQ2FsY051bWJlcikgCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gbGVmdENhdGVnb3J5ID09IENhbGNO
dW1iZXIgPyByaWdodENhdGVnb3J5IDogbGVmdENhdGVnb3J5OworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2FsY0RpdmlkZToKKyAgICAgICAgY2Fz
ZSBDYWxjTW9kOgorICAgICAgICAgICAgaWYgKHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJlciB8
fCByaWdodFNpZGUtPmlzWmVybygpKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAg
ICAgICAgbmV3Q2F0ZWdvcnkgPSBsZWZ0Q2F0ZWdvcnk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKG5ld0NhdGVnb3J5ID09IENhbGNPdGhlcikK
KyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgCisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbihsZWZ0U2lkZSwgcmlnaHRTaWRlLCBvcCwg
bmV3Q2F0ZWdvcnkpKTsKKyAgICB9CisgICAgCisgICAgdmlydHVhbCBib29sIGlzWmVybygpIGNv
bnN0CisgICAgeworICAgICAgICAvLyBGSVhNRSBjYWxjOiBXZSBjYW4gcmV0dXJuIHRydWUgZm9y
IHNvbWUgY2FzZXMgKGUuZy4sIDMgLSAzLCAzICogMCwgYW5kIGV0Yy4pCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0
IAorICAgIHsKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRlKG1fbGVmdFNpZGUtPmRvdWJsZVZhbHVl
KCksIG1fcmlnaHRTaWRlLT5kb3VibGVWYWx1ZSgpKTsKKyAgICB9CisgICAgCitwcml2YXRlOgor
ICAgIENTU0NhbGNCaW5hcnlPcGVyYXRpb24oUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5v
ZGU+IGxlZnRTaWRlLCBQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gcmlnaHRTaWRl
LCBDYWxjT3BlcmF0b3Igb3AsIENhbGNDYXRlZ29yeSBjYXRlZ29yeSkKKyAgICAgICAgOiBDU1ND
YWxjRXhwcmVzc2lvbk5vZGUoY2F0ZWdvcnksIGxlZnRTaWRlLT5pc0ludCgpICYmIHJpZ2h0U2lk
ZS0+aXNJbnQoKSkKKyAgICAgICAgLCBtX2xlZnRTaWRlKGxlZnRTaWRlKQorICAgICAgICAsIG1f
cmlnaHRTaWRlKHJpZ2h0U2lkZSkKKyAgICAgICAgLCBtX29wZXJhdG9yKG9wKQorICAgIHsKKyAg
ICB9CisgICAgCisgICAgZG91YmxlIGV2YWx1YXRlKGRvdWJsZSBsZWZ0VmFsdWUsIGRvdWJsZSBy
aWdodFZhbHVlKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChtX29wZXJhdG9yKSB7Cisg
ICAgICAgIGNhc2UgQ2FsY0FkZDoKKyAgICAgICAgICAgIHJldHVybiBsZWZ0VmFsdWUgKyByaWdo
dFZhbHVlOworICAgICAgICBjYXNlIENhbGNTdWJ0cmFjdDoKKyAgICAgICAgICAgIHJldHVybiBs
ZWZ0VmFsdWUgLSByaWdodFZhbHVlOworICAgICAgICBjYXNlIENhbGNNdWx0aXBseToKKyAgICAg
ICAgICAgIHJldHVybiBsZWZ0VmFsdWUgKiByaWdodFZhbHVlOworICAgICAgICBjYXNlIENhbGNE
aXZpZGU6CisgICAgICAgICAgICBpZiAocmlnaHRWYWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gbGVmdFZhbHVlIC8gcmlnaHRWYWx1ZTsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bWVy
aWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOworICAgICAgICBjYXNlIENhbGNNb2Q6Cisg
ICAgICAgICAgICBpZiAocmlnaHRWYWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8aW50PihsZWZ0VmFsdWUpICUgc3RhdGljX2Nhc3Q8aW50PihyaWdodFZhbHVlKTsKKyAg
ICAgICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigp
OworICAgICAgICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1
cm4gMDsKKyAgICB9CisgICAgCisgICAgY29uc3QgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9k
ZT4gbV9sZWZ0U2lkZTsKKyAgICBjb25zdCBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBt
X3JpZ2h0U2lkZTsKKyAgICBjb25zdCBDYWxjT3BlcmF0b3IgbV9vcGVyYXRvcjsKK307CisKK2Ns
YXNzIENTU0NhbGNNaW5NYXhMaXN0IDogcHVibGljIENTU0NhbGNFeHByZXNzaW9uTm9kZSB7Citw
dWJsaWM6CisgICAgQ1NTQ2FsY01pbk1heExpc3QoQ2FsY0xpc3RUeXBlIHR5cGUpCisgICAgICAg
IDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKENhbGNPdGhlciwgZmFsc2UpCisgICAgICAgICwgbV9s
aXN0VHlwZSh0eXBlKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBib29sIGFw
cGVuZChQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gdmFsdWUpIAorICAgIHsKKyAg
ICAgICAgaWYgKCFtX2xpc3Quc2l6ZSgpKSB7CisgICAgICAgICAgICBtX2NhdGVnb3J5ID0gdmFs
dWUtPmNhdGVnb3J5KCk7CisgICAgICAgICAgICBtX2lzSW50ID0gdmFsdWUtPmlzSW50KCk7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX2NhdGVnb3J5ID0gYWRkU3VidHJhY3RSZXN1
bHRbbV9jYXRlZ29yeV1bdmFsdWUtPmNhdGVnb3J5KCldOworICAgICAgICAgICAgbV9pc0ludCA9
IG1faXNJbnQgJiYgdmFsdWUtPmlzSW50KCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAg
IGlmIChtX2NhdGVnb3J5ID09IENhbGNPdGhlcikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgCisgICAgICAgIG1fbGlzdC5hcHBlbmQodmFsdWUpOworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0Cisg
ICAgeworICAgICAgICBpZiAobV9saXN0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAKKyAgICAgICAgZG91YmxlIHJldHZhbCA9IG1fbGlzdFswXS0+ZG91YmxlVmFs
dWUoKTsKKyAgICAgICAgaWYgKG1fbGlzdFR5cGUgPT0gQ2FsY01pbikgeworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgeworICAgICAgICAg
ICAgICAgIGRvdWJsZSBjdXJyZW50ID0gbV9saXN0W2ldLT5kb3VibGVWYWx1ZSgpOworICAgICAg
ICAgICAgICAgIGlmIChjdXJyZW50IDwgcmV0dmFsKQorICAgICAgICAgICAgICAgICAgICByZXR2
YWwgPSBjdXJyZW50OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgeworICAgICAg
ICAgICAgICAgIGRvdWJsZSBjdXJyZW50ID0gbV9saXN0W2ldLT5kb3VibGVWYWx1ZSgpOworICAg
ICAgICAgICAgICAgIGlmIChjdXJyZW50ID4gcmV0dmFsKQorICAgICAgICAgICAgICAgICAgICBy
ZXR2YWwgPSBjdXJyZW50OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIAorICAg
ICAgICByZXR1cm4gcmV0dmFsOworICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAgQ2FsY0xpc3RU
eXBlIG1fbGlzdFR5cGU7CisgICAgVmVjdG9yPFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+
ID4gbV9saXN0OworfTsKKworc3RhdGljIFBhcnNlU3RhdGUgY2hlY2tEZXB0aEFuZEluZGV4KGlu
dCogZGVwdGgsIHVuc2lnbmVkIGluZGV4LCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucykKK3sK
KyAgICAoKmRlcHRoKSsrOworICAgIGlmICgqZGVwdGggPiBtYXhFeHByZXNzaW9uRGVwdGgpCisg
ICAgICAgIHJldHVybiBUb29EZWVwOworICAgIGlmIChpbmRleCA+PSB0b2tlbnMtPnNpemUoKSkK
KyAgICAgICAgcmV0dXJuIE5vTW9yZVRva2VuczsKKyAgICByZXR1cm4gT0s7Cit9CisKK2NsYXNz
IENTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlciB7CitwdWJsaWM6CisgICAgUGFzc1JlZlB0cjxD
U1NDYWxjRXhwcmVzc2lvbk5vZGU+IHBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2Vu
cykKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgVmFsdWUgcmVz
dWx0OworICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCAwLCAm
aW5kZXgsICZyZXN1bHQpOworICAgICAgICBBU1NFUlQoaW5kZXggPD0gdG9rZW5zLT5zaXplKCkp
OworICAgICAgICBpZiAoIW9rIHx8IGluZGV4ICE9IHRva2Vucy0+c2l6ZSgpKQorICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiByZXN1bHQudmFsdWU7CisgICAgfQorCisgICAg
UGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHBhcnNlTWluTWF4TGlzdChDYWxjTGlz
dFR5cGUgdHlwZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMpCisgICAgeworICAgICAgICB1
bnNpZ25lZCBpbmRleCA9IDA7CisgICAgICAgIFJlZlB0cjxDU1NDYWxjTWluTWF4TGlzdD4gcmVz
dWx0ID0gYWRvcHRSZWYobmV3IENTU0NhbGNNaW5NYXhMaXN0KHR5cGUpKTsKKworICAgICAgICBi
b29sIG9rID0gcGFyc2VWYWx1ZUxpc3QodG9rZW5zLCAwLCAmaW5kZXgsIHJlc3VsdC5nZXQoKSk7
CisgICAgICAgIEFTU0VSVChpbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIGlmICgh
b2sgfHwgaW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgc3RydWN0IFZhbHVl
IHsKKyAgICAgICAgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gdmFsdWU7CisgICAgfTsK
KworICAgIGNoYXIgb3BlcmF0b3JWYWx1ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgdW5z
aWduZWQgaW5kZXgpCisgICAgeworICAgICAgICBpZiAoaW5kZXggPj0gdG9rZW5zLT5zaXplKCkp
CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0g
dG9rZW5zLT52YWx1ZUF0KGluZGV4KTsKKyAgICAgICAgaWYgKHZhbHVlLT51bml0ICE9IENTU1Bh
cnNlclZhbHVlOjpPcGVyYXRvcikKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIHJl
dHVybiB2YWx1ZS0+aVZhbHVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZShDU1NQYXJz
ZXJWYWx1ZUxpc3QqIHRva2VucywgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAg
IHsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHBhcnNlclZhbHVlID0gdG9rZW5zLT52YWx1ZUF0
KCppbmRleCk7CisgICAgICAgIGlmIChwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1
ZTo6T3BlcmF0b3IgfHwgcGFyc2VyVmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0
aW9uKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIFJlZlB0cjxDU1NWYWx1
ZT4gdmFsdWUgPSBwYXJzZXJWYWx1ZS0+Y3JlYXRlQ1NTVmFsdWUoKTsKKyAgICAgICAgaWYgKCF2
YWx1ZSB8fCAhdmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0
aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlLmdldCgpKTsKKyAgICAgICAgcmVzdWx0
LT52YWx1ZSA9IENTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHByaW1pdGl2ZVZhbHVlLCBw
YXJzZXJWYWx1ZS0+aXNJbnQpOworCisgICAgICAgICsrKmluZGV4OworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVUZXJtKENTU1BhcnNlclZhbHVlTGlz
dCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAg
ICB7CisgICAgICAgIGlmIChjaGVja0RlcHRoQW5kSW5kZXgoJmRlcHRoLCAqaW5kZXgsIHRva2Vu
cykgIT0gT0spCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgIAorICAgICAgICAKKyAgICAg
ICAgaWYgKG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpID09ICcoJykgeworICAgICAgICAg
ICAgdW5zaWduZWQgY3VycmVudEluZGV4ID0gKmluZGV4ICsgMTsKKyAgICAgICAgICAgIGlmICgh
cGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgJmN1cnJlbnRJbmRleCwgcmVzdWx0
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChvcGVy
YXRvclZhbHVlKHRva2VucywgY3VycmVudEluZGV4KSAhPSAnKScpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAgICAgKmluZGV4ID0gY3VycmVudEluZGV4ICsgMTsKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHBhcnNl
VmFsdWUodG9rZW5zLCBpbmRleCwgcmVzdWx0KTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFs
dWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGlu
dCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAg
aWYgKGNoZWNrRGVwdGhBbmRJbmRleCgmZGVwdGgsICppbmRleCwgdG9rZW5zKSAhPSBPSykKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgCisKKyAgICAgICAgaWYgKCFwYXJzZVZhbHVlVGVy
bSh0b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgICAgICB3aGlsZSAoKmluZGV4IDwgdG9rZW5zLT5zaXplKCkgLSAxKSB7CisgICAg
ICAgICAgICBjaGFyIG9wZXJhdG9yQ2hhcmFjdGVyID0gb3BlcmF0b3JWYWx1ZSh0b2tlbnMsICpp
bmRleCk7CisgICAgICAgICAgICBpZiAob3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY011bHRpcGx5
ICYmIG9wZXJhdG9yQ2hhcmFjdGVyICE9IENhbGNEaXZpZGUgJiYgb3BlcmF0b3JDaGFyYWN0ZXIg
IT0gQ2FsY01vZCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICsrKmluZGV4
OworCisgICAgICAgICAgICBWYWx1ZSByaHM7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVU
ZXJtKHRva2VucywgZGVwdGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjQmluYXJ5T3BlcmF0
aW9uOjpjcmVhdGUocmVzdWx0LT52YWx1ZSwgcmhzLnZhbHVlLCBzdGF0aWNfY2FzdDxDYWxjT3Bl
cmF0b3I+KG9wZXJhdG9yQ2hhcmFjdGVyKSk7CisgICAgICAgICAgICBpZiAoIXJlc3VsdC0+dmFs
dWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAg
QVNTRVJUKCppbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKworICAgIGJvb2wgcGFyc2VBZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbihDU1NQYXJzZXJW
YWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1
bHQpCisgICAgeworICAgICAgICBpZiAoY2hlY2tEZXB0aEFuZEluZGV4KCZkZXB0aCwgKmluZGV4
LCB0b2tlbnMpICE9IE9LKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAKKworICAgICAg
ICBpZiAoIXBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwg
aW5kZXgsIHJlc3VsdCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgd2hp
bGUgKCppbmRleCA8IHRva2Vucy0+c2l6ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVy
YXRvckNoYXJhY3RlciA9IG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAg
ICAgaWYgKG9wZXJhdG9yQ2hhcmFjdGVyICE9IENhbGNBZGQgJiYgb3BlcmF0b3JDaGFyYWN0ZXIg
IT0gQ2FsY1N1YnRyYWN0KQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKysq
aW5kZXg7CisKKyAgICAgICAgICAgIFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFyc2VW
YWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgJnJocykp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICByZXN1bHQtPnZh
bHVlID0gQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbjo6Y3JlYXRlKHJlc3VsdC0+dmFsdWUsIHJocy52
YWx1ZSwgc3RhdGljX2Nhc3Q8Q2FsY09wZXJhdG9yPihvcGVyYXRvckNoYXJhY3RlcikpOworICAg
ICAgICAgICAgaWYgKCFyZXN1bHQtPnZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkp
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVMaXN0
KENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwg
Q1NTQ2FsY01pbk1heExpc3QqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIHdoaWxlICgqaW5kZXgg
PCB0b2tlbnMtPnNpemUoKSkgeworICAgICAgICAgICAgVmFsdWUgbmV4dDsKKyAgICAgICAgICAg
IGlmICghcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZuZXh0KSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGJvb2wgb2sgPSBy
ZXN1bHQtPmFwcGVuZChuZXh0LnZhbHVlKTsKKyAgICAgICAgICAgIGlmICghb2spCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBpZiAob3BlcmF0b3JWYWx1ZSh0
b2tlbnMsICppbmRleCkgIT0gJywnKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgKysqaW5kZXg7CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQoKmluZGV4IDw9IHRva2Vu
cy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYm9vbCBwYXJz
ZVZhbHVlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1
bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICByZXR1cm4gcGFy
c2VBZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0KTsK
KyAgICB9Cit9OworCitQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gQ1NTQ2FsY1ZhbHVlOjpjcmVh
dGUoQ1NTUGFyc2VyU3RyaW5nIG5hbWUsIENTU1BhcnNlclZhbHVlTGlzdCogcGFyc2VyVmFsdWVM
aXN0LCBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSByYW5nZSkKK3sgICAgCisgICAgQ1NTQ2FsY0V4
cHJlc3Npb25Ob2RlUGFyc2VyIHBhcnNlcjsgICAgCisgICAgUmVmUHRyPENTU0NhbGNFeHByZXNz
aW9uTm9kZT4gZXhwcmVzc2lvbiA9IDA7CisgICAgCisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KG5hbWUsICItd2Via2l0LWNhbGMoIikpCisgICAgICAgIGV4cHJlc3Npb24gPSBwYXJzZXIucGFy
c2VDYWxjKHBhcnNlclZhbHVlTGlzdCk7ICAgIAorICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKG5hbWUsICItd2Via2l0LW1pbigiKSkKKyAgICAgICAgZXhwcmVzc2lvbiA9IHBhcnNlci5w
YXJzZU1pbk1heExpc3QoQ2FsY01pbiwgcGFyc2VyVmFsdWVMaXN0KTsgICAgCisgICAgZWxzZSBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIi13ZWJraXQtbWF4KCIpKQorICAgICAgICBleHBy
ZXNzaW9uID0gcGFyc2VyLnBhcnNlTWluTWF4TGlzdChDYWxjTWF4LCBwYXJzZXJWYWx1ZUxpc3Qp
OworCisgICAgcmV0dXJuIGV4cHJlc3Npb24gPyBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ZhbHVlKGV4
cHJlc3Npb24sIHJhbmdlKSkgOiAwOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ2FsY1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc4YWM0MjZiNDUyMDI3OWE2OGYwYjBk
ODZkZjgwNmY4YTIyNTFkZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDYWxjVmFsdWUuaApAQCAtMCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTQ2FsY1ZhbHVlX2gKKyNk
ZWZpbmUgQ1NTQ2FsY1ZhbHVlX2gKKworI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVlcy5oIgorI2lu
Y2x1ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCisjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDU1NQYXJzZXJWYWx1
ZUxpc3Q7CitjbGFzcyBDU1NWYWx1ZUxpc3Q7CitjbGFzcyBSZW5kZXJTdHlsZTsKK2NsYXNzIENh
bGNWYWx1ZTsKK2NsYXNzIENhbGNFeHByZXNzaW9uTm9kZTsKKworZW51bSBDYWxjQ2F0ZWdvcnkg
eworICAgIENhbGNOdW1iZXIgPSAwLAorICAgIENhbGNMZW5ndGgsCisgICAgQ2FsY1BlcmNlbnQs
CisgICAgQ2FsY1BlcmNlbnROdW1iZXIsCisgICAgQ2FsY1BlcmNlbnRMZW5ndGgsCisgICAgQ2Fs
Y090aGVyCit9OworICAgIAorY2xhc3MgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIDogcHVibGljIFJl
ZkNvdW50ZWQ8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiB7CitwdWJsaWM6CisgICAgCisgICAgdmly
dHVhbCB+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKCkgPSAwOyAgICAKKyAgICB2aXJ0dWFsIGJvb2wg
aXNaZXJvKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgZG91YmxlIGRvdWJsZVZhbHVlKCkgY29u
c3QgPSAwOworICAgIAorICAgIENhbGNDYXRlZ29yeSBjYXRlZ29yeSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2F0ZWdvcnk7IH0gICAgCisgICAgYm9vbCBpc0ludCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJ
bnQ7IH0KKyAgICAKK3Byb3RlY3RlZDoKKyAgICBDU1NDYWxjRXhwcmVzc2lvbk5vZGUoQ2FsY0Nh
dGVnb3J5IGNhdGVnb3J5LCBib29sIGlzSW50KQorICAgICAgICA6IG1fY2F0ZWdvcnkoY2F0ZWdv
cnkpCisgICAgICAgICwgbV9pc0ludChpc0ludCkKKyAgICB7CisgICAgfQorICAgIAorICAgIENh
bGNDYXRlZ29yeSBtX2NhdGVnb3J5OworICAgIGJvb2wgbV9pc0ludDsKK307CisgICAgICAgIAor
Y2xhc3MgQ1NTQ2FsY1ZhbHVlIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IGNyZWF0ZShDU1NQYXJzZXJTdHJpbmcgbmFtZSwg
Q1NTUGFyc2VyVmFsdWVMaXN0KiwgQ2FsY1Blcm1pdHRlZFZhbHVlUmFuZ2UpOworCisgICAgQ2Fs
Y0NhdGVnb3J5IGNhdGVnb3J5KCkgY29uc3QgeyByZXR1cm4gbV9leHByZXNzaW9uLT5jYXRlZ29y
eSgpOyB9CisgICAgYm9vbCBpc0ludCgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwcmVzc2lvbi0+aXNJ
bnQoKTsgfQorICAgIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0OworICAgICAgICAKKyAgICBT
dHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OworICAgIAorcHJpdmF0ZTogICAgCisgICAgQ1NT
Q2FsY1ZhbHVlKFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBleHByZXNzaW9uLCBD
YWxjUGVybWl0dGVkVmFsdWVSYW5nZSByYW5nZSkKKyAgICAgICAgOiBDU1NWYWx1ZShDYWxjQ2xh
c3MpCisgICAgICAgICwgbV9leHByZXNzaW9uKGV4cHJlc3Npb24pCisgICAgICAgICwgbV9ub25O
ZWdhdGl2ZShyYW5nZSA9PSBDYWxjUmFuZ2VOb25OZWdhdGl2ZSkKKyAgICB7CisgICAgfQorICAg
IAorICAgIGRvdWJsZSBjbGFtcFRvUmFuZ2UoZG91YmxlKSBjb25zdDsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIAorICAgIGNvbnN0IFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IG1fZXhw
cmVzc2lvbjsKKyAgICBjb25zdCBib29sIG1fbm9uTmVnYXRpdmU7Cit9OworICAgIAorfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTQ2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKaW5kZXggNzk0MGIyNzc0ZmI4ODMxM2VkYTNhMjE4NjM1ZDExNDNhMGE3ZmMw
MC4uZjY4Zjk0YzZkOWQwNDVmYjQ1OWY5ZTI3NmU1ZmY1YTg4NDhmOTFiMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAKQEAgLTY5NCwxNyArNjk0LDUxIEBAIERvY3VtZW50KiBDU1NQYXJzZXI6
OmZpbmREb2N1bWVudCgpIGNvbnN0CiBib29sIENTU1BhcnNlcjo6dmFsaWRVbml0KENTU1BhcnNl
clZhbHVlKiB2YWx1ZSwgVW5pdHMgdW5pdGZsYWdzLCBib29sIHN0cmljdCkKIHsKICAgICBib29s
IGIgPSBmYWxzZTsKKyAgICBpZiAoaXNDYWxjTWluTWF4KHZhbHVlKSkgeworICAgICAgICBpZiAo
IXBhcnNlQ2FsYyh2YWx1ZSwgdW5pdGZsYWdzICYgRk5vbk5lZyA/IENhbGNSYW5nZU5vbk5lZ2F0
aXZlIDogQ2FsY1JhbmdlQWxsKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
CisgICAgICAgIHN3aXRjaCAobV9wYXJzZWRDYWxjLT5jYXRlZ29yeSgpKSB7CisgICAgICAgIGNh
c2UgQ2FsY0xlbmd0aDoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRkxlbmd0aCk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDoKKyAgICAgICAgICAg
IGIgPSAodW5pdGZsYWdzICYgRlBlcmNlbnQpOworICAgICAgICAgICAgaWYgKGIgJiYgKHVuaXRm
bGFncyAmIEZOb25OZWcpICYmIG1fcGFyc2VkQ2FsYy0+ZG91YmxlVmFsdWUoKSA8IDApCisgICAg
ICAgICAgICAgICAgYiA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
Q2FsY051bWJlcjoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRk51bWJlcik7CisgICAg
ICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRlZ2VyKSAmJiBtX3BhcnNlZENhbGMt
PmlzSW50KCkpCisgICAgICAgICAgICAgICAgYiA9IHRydWU7CisgICAgICAgICAgICBpZiAoYiAm
JiAodW5pdGZsYWdzICYgRk5vbk5lZykgJiYgbV9wYXJzZWRDYWxjLT5kb3VibGVWYWx1ZSgpIDwg
MCkKKyAgICAgICAgICAgICAgICBiID0gZmFsc2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBDYWxjUGVyY2VudExlbmd0aDoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYg
RlBlcmNlbnQpICYmICh1bml0ZmxhZ3MgJiBGTGVuZ3RoKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIENhbGNQZXJjZW50TnVtYmVyOgorICAgICAgICAgICAgYiA9ICh1bml0Zmxh
Z3MgJiBGUGVyY2VudCkgJiYgKHVuaXRmbGFncyAmIEZOdW1iZXIpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgQ2FsY090aGVyOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IH0KKyAgICAgICAgLy8gVE9ETzogaGFuZGxlIEZOb25OZWcKKyAgICAgICAgaWYgKCFiKQorICAg
ICAgICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKKyAgICAgICAgcmV0dXJuIGI7CisgICAg
fQogICAgIHN3aXRjaCAodmFsdWUtPnVuaXQpIHsKICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfTlVNQkVSOgogICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZOdW1iZXIpOwotICAgICAg
ICBpZiAoIWIgJiYgKCh1bml0ZmxhZ3MgJiAoRkxlbmd0aCB8IEZBbmdsZSB8IEZUaW1lKSkgJiYg
KHZhbHVlLT5mVmFsdWUgPT0gMCB8fCAhc3RyaWN0KSkpIHsKKyAgICAgICAgaWYgKCFiICYmICgo
dW5pdGZsYWdzICYgKEZMZW5ndGggfCBGQW5nbGUgfCBGVGltZSkpICYmICghdmFsdWUtPmZWYWx1
ZSB8fCAhc3RyaWN0KSkpIHsKICAgICAgICAgICAgIHZhbHVlLT51bml0ID0gKHVuaXRmbGFncyAm
IEZMZW5ndGgpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCA6CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICgodW5pdGZsYWdzICYgRkFuZ2xlKSA/IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
REVHIDogQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NUyk7CiAgICAgICAgICAgICBiID0gdHJ1ZTsK
ICAgICAgICAgfQogICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRlZ2VyKSAmJiB2
YWx1ZS0+aXNJbnQpCiAgICAgICAgICAgICBiID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7CisgICAg
ICAgIGJyZWFrOyAgICAgICAgICAgIAogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19Q
RVJDRU5UQUdFOgogICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQZXJjZW50KTsKICAgICAgICAg
YnJlYWs7CkBAIC03NDMsNiArNzc3LDE0IEBAIGJvb2wgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NT
UGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1bml0ZmxhZ3MsIGJvb2wgc3RyaWN0KQogCiBpbmxp
bmUgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpjcmVhdGVQcmltaXRp
dmVOdW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKQogeworICAgIGlmIChtX3BhcnNl
ZENhbGMpIHsKKyAgICAgICAgQVNTRVJUKGlzQ2FsY01pbk1heCh2YWx1ZSkpOworICAgICAgICAv
LyBGSVhNRSBjYWxjKCkgaHR0cDovL3dlYmtpdC5vcmcvYi8xNjY2MjogY3JlYXRlIGEgQ1NTUHJp
bWl0aXZlVmFsdWUgaGVyZSwgaWUKKyAgICAgICAgLy8gcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUobV9wYXJzZWRDYWxjLnJlbGVhc2UoKSk7CisgICAgICAgIG1fcGFyc2VkQ2FsYy5y
ZWxlYXNlKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAgICAgICAgICAgIAogICAg
IEFTU0VSVCgodmFsdWUtPnVuaXQgPj0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIgJiYg
dmFsdWUtPnVuaXQgPD0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19LSFopCiAgICAgICAgICAgIHx8
ICh2YWx1ZS0+dW5pdCA+PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1RVUk4gJiYgdmFsdWUtPnVu
aXQgPD0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SRU1TKSk7CiAgICAgcmV0dXJuIGNzc1ZhbHVl
UG9vbCgpLT5jcmVhdGVWYWx1ZSh2YWx1ZS0+ZlZhbHVlLCBzdGF0aWNfY2FzdDxDU1NQcmltaXRp
dmVWYWx1ZTo6VW5pdFR5cGVzPih2YWx1ZS0+dW5pdCkpOwpAQCAtODQwLDYgKzg4MiwxMSBAQCBp
bmxpbmUgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZVZhbGlk
UHJpbWl0aXZlKGludCBpZCwgQ1NTUAogICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlTnVt
ZXJpY1ZhbHVlKHZhbHVlKTsKICAgICBpZiAodmFsdWUtPnVuaXQgPj0gQ1NTUGFyc2VyVmFsdWU6
OlFfRU1TKQogICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUFsbG93aW5n
TWFyZ2luUXVpcmsodmFsdWUtPmZWYWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19FTVMpOwor
ICAgIGlmIChpc0NhbGNNaW5NYXgodmFsdWUpKQorICAgICAgICAvLyBGSVhNRSBjYWxjKCkgIGh0
dHA6Ly93ZWJraXQub3JnL2IvMTY2NjI6IGNyZWF0ZSBhIHByaW1pdGl2ZSB2YWx1ZSBoZXJlLCBp
ZQorICAgICAgICAvLyByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtX3BhcnNlZENh
bGMucmVsZWFzZSgpKTsKKyAgICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKKwogICAgIHJl
dHVybiAwOwogfQogCkBAIC04NTMsNiArOTAwLDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZh
bHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgIGlmICghdmFsdWUpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIC8vIE5vdGU6IG1fcGFyc2VkQ2FsYyBpcyB1c2VkIHRvIHBh
c3MgdGhlIGNhbGMgdmFsdWUgdG8gdmFsaWRVbml0IGFuZCB0aGVuIGNsZWFyZWQgYXQgdGhlIGVu
ZCBvZiB0aGlzIGZ1bmN0aW9uLgorICAgIC8vIEZJWE1FOiBUaGlzIGlzIHRvIGF2b2lkIGhhdmlu
ZyB0byBwYXNzIHBhcnNlZENhbGMgdG8gYWxsIHZhbGlkVW5pdCBjYWxsZXJzLgorICAgIEFTU0VS
VCghbV9wYXJzZWRDYWxjKTsKKyAgICAKICAgICBpbnQgaWQgPSB2YWx1ZS0+aWQ7CiAKICAgICAv
LyBJbiBxdWlya3MgbW9kZSwgd2Ugd2lsbCBsb29rIGZvciB1bml0cyB0aGF0IGhhdmUgYmVlbiBp
bmNvcnJlY3RseSBzZXBhcmF0ZWQgZnJvbSB0aGUgbnVtYmVyIHRoZXkgYmVsb25nIHRvCkBAIC0y
MjYyLDYgKzIzMTMsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBi
b29sIGltcG9ydGFudCkKICAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZVZhbGlkUHJpbWl0aXZl
KGlkLCB2YWx1ZSk7CiAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgfQorICAgIEFT
U0VSVCghbV9wYXJzZWRDYWxjKTsKICAgICBpZiAocGFyc2VkVmFsdWUpIHsKICAgICAgICAgaWYg
KCFtX3ZhbHVlTGlzdC0+Y3VycmVudCgpIHx8IGluU2hvcnRoYW5kKCkpIHsKICAgICAgICAgICAg
IGFkZFByb3BlcnR5KHByb3BJZCwgcGFyc2VkVmFsdWUucmVsZWFzZSgpLCBpbXBvcnRhbnQpOwpA
QCAtMjk2OSw4ICszMDIxLDExIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFy
c2VGaWxsUG9zaXRpb25Db21wb25lbnQoQ1NTUGFyc2VyVmFsdWVMaXN0KiB2CiAgICAgICAgIH0g
ZWxzZSBpZiAoY3VtdWxhdGl2ZUZsYWdzICYgKFhGaWxsUG9zaXRpb24gfCBBbWJpZ3VvdXNGaWxs
UG9zaXRpb24pKSB7CiAgICAgICAgICAgICBjdW11bGF0aXZlRmxhZ3MgfD0gWUZpbGxQb3NpdGlv
bjsKICAgICAgICAgICAgIGluZGl2aWR1YWxGbGFnID0gWUZpbGxQb3NpdGlvbjsKLSAgICAgICAg
fSBlbHNlCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAobV9wYXJzZWRDYWxjKQor
ICAgICAgICAgICAgICAgIG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCk7CiAgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1Zh
bHVlKHZhbHVlTGlzdC0+Y3VycmVudCgpKTsKICAgICB9CiAgICAgcmV0dXJuIDA7CkBAIC00ODUy
LDIyICs0OTA3LDQ3IEBAIGJvb2wgQ1NTUGFyc2VyOjpmYXN0UGFyc2VDb2xvcihSR0JBMzImIHJn
YiwgY29uc3QgU3RyaW5nJiBuYW1lLCBib29sIHN0cmljdCkKICAgICB9CiAgICAgcmV0dXJuIGZh
bHNlOwogfQorICAgIAoraW5saW5lIGRvdWJsZSBDU1NQYXJzZXI6OnBhcnNlZERvdWJsZShDU1NQ
YXJzZXJWYWx1ZSAqdiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZUNvbmRpdGlvbiByZWxlYXNlQ2Fs
YykKK3sKKyAgICBjb25zdCBkb3VibGUgcmVzdWx0ID0gbV9wYXJzZWRDYWxjID8gbV9wYXJzZWRD
YWxjLT5kb3VibGVWYWx1ZSgpIDogdi0+ZlZhbHVlOworICAgIGlmIChyZWxlYXNlQ2FsYyA9PSBS
ZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKQorICAgICAgICBtX3BhcnNlZENhbGMucmVsZWFzZSgpOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CiAKLXN0YXRpYyBpbmxpbmUgaW50IGNvbG9ySW50RnJvbVZh
bHVlKENTU1BhcnNlclZhbHVlKiB2KQorYm9vbCBDU1NQYXJzZXI6OmlzQ2FsY01pbk1heChDU1NQ
YXJzZXJWYWx1ZSogdmFsdWUpIAogewotICAgIGlmICh2LT5mVmFsdWUgPD0gMC4wKQorICAgIHJl
dHVybiAodmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uKSAKKyAgICAgICAg
JiYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtY2Fs
YygiKQorICAgICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUtPmZ1bmN0aW9uLT5u
YW1lLCAiLXdlYmtpdC1taW4oIikKKyAgICAgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZh
bHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbWF4KCIpKTsKK30KKworaW5saW5lIGludCBD
U1NQYXJzZXI6OmNvbG9ySW50RnJvbVZhbHVlKENTU1BhcnNlclZhbHVlKiB2KQoreworICAgIGJv
b2wgaXNQZXJjZW50OworICAgIAorICAgIGlmIChtX3BhcnNlZENhbGMpCisgICAgICAgIGlzUGVy
Y2VudCA9IG1fcGFyc2VkQ2FsYy0+Y2F0ZWdvcnkoKSA9PSBDYWxjUGVyY2VudDsKKyAgICBlbHNl
CisgICAgICAgIGlzUGVyY2VudCA9IHYtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19Q
RVJDRU5UQUdFOworCisgICAgY29uc3QgZG91YmxlIHZhbHVlID0gcGFyc2VkRG91YmxlKHYsIFJl
bGVhc2VQYXJzZWRDYWxjVmFsdWUpOworICAgIAorICAgIGlmICh2YWx1ZSA8PSAwLjApCiAgICAg
ICAgIHJldHVybiAwOwogCi0gICAgaWYgKHYtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19QRVJDRU5UQUdFKSB7Ci0gICAgICAgIGlmICh2LT5mVmFsdWUgPj0gMTAwLjApCisgICAgaWYg
KGlzUGVyY2VudCkgeworICAgICAgICBpZiAodmFsdWUgPj0gMTAwLjApCiAgICAgICAgICAgICBy
ZXR1cm4gMjU1OwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2LT5mVmFsdWUgKiAy
NTYuMCAvIDEwMC4wKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odmFsdWUgKiAy
NTYuMCAvIDEwMC4wKTsKICAgICB9CiAKLSAgICBpZiAodi0+ZlZhbHVlID49IDI1NS4wKQorICAg
IGlmICh2YWx1ZSA+PSAyNTUuMCkKICAgICAgICAgcmV0dXJuIDI1NTsKIAotICAgIHJldHVybiBz
dGF0aWNfY2FzdDxpbnQ+KHYtPmZWYWx1ZSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4o
dmFsdWUpOwogfQogCiBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRlcnMoQ1NTUGFy
c2VyVmFsdWUqIHZhbHVlLCBpbnQqIGNvbG9yQXJyYXksIGJvb2wgcGFyc2VBbHBoYSkKQEAgLTQ4
ODIsNiArNDk2Miw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyhDU1NQ
YXJzZXJWYWx1ZSogdmFsdWUsIGludCogY29sb3JBcnJheSwgYm9vCiAgICAgICAgIHVuaXRUeXBl
ID0gRlBlcmNlbnQ7CiAgICAgZWxzZQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCiAgICAg
Y29sb3JBcnJheVswXSA9IGNvbG9ySW50RnJvbVZhbHVlKHYpOwogICAgIGZvciAoaW50IGkgPSAx
OyBpIDwgMzsgaSsrKSB7CiAgICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CkBAIC00ODk5LDkgKzQ5
ODAsMTAgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3JQYXJhbWV0ZXJzKENTU1BhcnNlclZh
bHVlKiB2YWx1ZSwgaW50KiBjb2xvckFycmF5LCBib28KICAgICAgICAgdiA9IGFyZ3MtPm5leHQo
KTsKICAgICAgICAgaWYgKCF2YWxpZFVuaXQodiwgRk51bWJlciwgdHJ1ZSkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIGNvbnN0IGRvdWJsZSB2YWx1ZSA9IHBhcnNlZERvdWJs
ZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKTsKICAgICAgICAgLy8gQ29udmVydCB0aGUgZmxv
YXRpbmcgcG9pbnRlciBudW1iZXIgb2YgYWxwaGEgdG8gYW4gaW50ZWdlciBpbiB0aGUgcmFuZ2Ug
WzAsIDI1NiksCiAgICAgICAgIC8vIHdpdGggYW4gZXF1YWwgZGlzdHJpYnV0aW9uIGFjcm9zcyBh
bGwgMjU2IHZhbHVlcy4KLSAgICAgICAgY29sb3JBcnJheVszXSA9IHN0YXRpY19jYXN0PGludD4o
bWF4KDAuMCwgbWluKDEuMCwgdi0+ZlZhbHVlKSkgKiBuZXh0YWZ0ZXIoMjU2LjAsIDAuMCkpOwor
ICAgICAgICBjb2xvckFycmF5WzNdID0gc3RhdGljX2Nhc3Q8aW50PihtYXgoMC4wLCBtaW4oMS4w
LCB2YWx1ZSkpICogbmV4dGFmdGVyKDI1Ni4wLCAwLjApKTsKICAgICB9CiAgICAgcmV0dXJuIHRy
dWU7CiB9CkBAIC00OTE5LDcgKzUwMDEsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VIU0xQYXJh
bWV0ZXJzKENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgZG91YmxlKiBjb2xvckFycmF5LCBibwogICAg
IGlmICghdmFsaWRVbml0KHYsIEZOdW1iZXIsIHRydWUpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgLy8gbm9ybWFsaXplIHRoZSBIdWUgdmFsdWUgYW5kIGNoYW5nZSBpdCB0byBiZSBiZXR3
ZWVuIDAgYW5kIDEuMAotICAgIGNvbG9yQXJyYXlbMF0gPSAoKChzdGF0aWNfY2FzdDxpbnQ+KHYt
PmZWYWx1ZSkgJSAzNjApICsgMzYwKSAlIDM2MCkgLyAzNjAuMDsKKyAgICBjb2xvckFycmF5WzBd
ID0gKCgoc3RhdGljX2Nhc3Q8aW50PihwYXJzZWREb3VibGUodiwgUmVsZWFzZVBhcnNlZENhbGNW
YWx1ZSkpICUgMzYwKSArIDM2MCkgJSAzNjApIC8gMzYwLjA7CiAgICAgZm9yIChpbnQgaSA9IDE7
IGkgPCAzOyBpKyspIHsKICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKICAgICAgICAgaWYgKHYt
PnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yICYmIHYtPmlWYWx1ZSAhPSAnLCcpCkBA
IC00OTI3LDcgKzUwMDksNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VIU0xQYXJhbWV0ZXJzKENT
U1BhcnNlclZhbHVlKiB2YWx1ZSwgZG91YmxlKiBjb2xvckFycmF5LCBibwogICAgICAgICB2ID0g
YXJncy0+bmV4dCgpOwogICAgICAgICBpZiAoIXZhbGlkVW5pdCh2LCBGUGVyY2VudCwgdHJ1ZSkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGNvbG9yQXJyYXlbaV0gPSBtYXgo
MC4wLCBtaW4oMTAwLjAsIHYtPmZWYWx1ZSkpIC8gMTAwLjA7IC8vIG5lZWRzIHRvIGJlIHZhbHVl
IGJldHdlZW4gMCBhbmQgMS4wCisgICAgICAgIGNvbG9yQXJyYXlbaV0gPSBtYXgoMC4wLCBtaW4o
MTAwLjAsIHBhcnNlZERvdWJsZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKSkpIC8gMTAwLjA7
IC8vIG5lZWRzIHRvIGJlIHZhbHVlIGJldHdlZW4gMCBhbmQgMS4wCiAgICAgfQogICAgIGlmIChw
YXJzZUFscGhhKSB7CiAgICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CkBAIC00OTM2LDcgKzUwMTgs
NyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VIU0xQYXJhbWV0ZXJzKENTU1BhcnNlclZhbHVlKiB2
YWx1ZSwgZG91YmxlKiBjb2xvckFycmF5LCBibwogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwog
ICAgICAgICBpZiAoIXZhbGlkVW5pdCh2LCBGTnVtYmVyLCB0cnVlKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgY29sb3JBcnJheVszXSA9IG1heCgwLjAsIG1pbigxLjAsIHYt
PmZWYWx1ZSkpOworICAgICAgICBjb2xvckFycmF5WzNdID0gbWF4KDAuMCwgbWluKDEuMCwgcGFy
c2VkRG91YmxlKHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpKSk7CiAgICAgfQogICAgIHJldHVy
biB0cnVlOwogfQpAQCAtNTAwNCw5ICs1MDg2LDkgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29s
b3JGcm9tVmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBSR0JBMzImIGMpCiAvLyBUaGlzIGNs
YXNzIHRyYWNrcyBwYXJzaW5nIHN0YXRlIGZvciBzaGFkb3cgdmFsdWVzLiAgSWYgaXQgZ29lcyBv
dXQgb2Ygc2NvcGUgKGUuZy4sIGR1ZSB0byBhbiBlYXJseSByZXR1cm4pCiAvLyB3aXRob3V0IHRo
ZSBhbGxvd0JyZWFrIGJpdCBiZWluZyBzZXQsIHRoZW4gaXQgd2lsbCBjbGVhbiB1cCBhbGwgb2Yg
dGhlIG9iamVjdHMgYW5kIGRlc3Ryb3kgdGhlbS4KIHN0cnVjdCBTaGFkb3dQYXJzZUNvbnRleHQg
ewotICAgIFNoYWRvd1BhcnNlQ29udGV4dChDU1NQcm9wZXJ0eUlEIHByb3AsIENTU1ZhbHVlUG9v
bCogY3NzVmFsdWVQb29sKQorICAgIFNoYWRvd1BhcnNlQ29udGV4dChDU1NQcm9wZXJ0eUlEIHBy
b3AsIENTU1BhcnNlciogcGFyZW50KQogICAgICAgICA6IHByb3BlcnR5KHByb3ApCi0gICAgICAg
ICwgbV9jc3NWYWx1ZVBvb2woY3NzVmFsdWVQb29sKQorICAgICAgICAsIG1fcGFyZW50KHBhcmVu
dCkKICAgICAgICAgLCBhbGxvd1godHJ1ZSkKICAgICAgICAgLCBhbGxvd1koZmFsc2UpCiAgICAg
ICAgICwgYWxsb3dCbHVyKGZhbHNlKQpAQCAtNTA0OSw3ICs1MTMxLDcgQEAgc3RydWN0IFNoYWRv
d1BhcnNlQ29udGV4dCB7CiAKICAgICB2b2lkIGNvbW1pdExlbmd0aChDU1NQYXJzZXJWYWx1ZSog
dikKICAgICB7Ci0gICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsID0gbV9jc3NW
YWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHYtPmZWYWx1ZSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXMpdi0+dW5pdCk7CisgICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsID0g
bV9wYXJlbnQtPmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2KTsKIAogICAgICAgICBpZiAo
YWxsb3dYKSB7CiAgICAgICAgICAgICB4ID0gdmFsLnJlbGVhc2UoKTsKQEAgLTUwOTEsNyArNTE3
Myw3IEBAIHN0cnVjdCBTaGFkb3dQYXJzZUNvbnRleHQgewogCiAgICAgdm9pZCBjb21taXRTdHls
ZShDU1NQYXJzZXJWYWx1ZSogdikKICAgICB7Ci0gICAgICAgIHN0eWxlID0gbV9jc3NWYWx1ZVBv
b2wtPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2LT5pZCk7CisgICAgICAgIHN0eWxlID0gbV9wYXJl
bnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodi0+aWQpOwogICAgICAg
ICBhbGxvd1N0eWxlID0gZmFsc2U7CiAgICAgICAgIGlmIChhbGxvd1gpCiAgICAgICAgICAgICBh
bGxvd0JyZWFrID0gZmFsc2U7CkBAIC01MTAzLDcgKzUxODUsNyBAQCBzdHJ1Y3QgU2hhZG93UGFy
c2VDb250ZXh0IHsKICAgICB9CiAKICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5OwotICAgIENT
U1ZhbHVlUG9vbCogbV9jc3NWYWx1ZVBvb2w7CisgICAgQ1NTUGFyc2VyKiBtX3BhcmVudDsKIAog
ICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHZhbHVlczsKICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZl
VmFsdWU+IHg7CkBAIC01MTI0LDcgKzUyMDYsNyBAQCBzdHJ1Y3QgU2hhZG93UGFyc2VDb250ZXh0
IHsKIAogUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFyc2VTaGFkb3coQ1NT
UGFyc2VyVmFsdWVMaXN0KiB2YWx1ZUxpc3QsIGludCBwcm9wSWQpCiB7Ci0gICAgU2hhZG93UGFy
c2VDb250ZXh0IGNvbnRleHQoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcElkKSwgY3Nz
VmFsdWVQb29sKCkpOworICAgIFNoYWRvd1BhcnNlQ29udGV4dCBjb250ZXh0KHN0YXRpY19jYXN0
PENTU1Byb3BlcnR5SUQ+KHByb3BJZCksIHRoaXMpOwogICAgIENTU1BhcnNlclZhbHVlKiB2YWw7
CiAgICAgd2hpbGUgKCh2YWwgPSB2YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsKICAgICAgICAgLy8g
Q2hlY2sgZm9yIGEgY29tbWEgYnJlYWsgZmlyc3QuCkBAIC01NDkyLDggKzU1NzQsOCBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVJlcGVhdChSZWZQdHI8Q1NTVmFsdWU+JiByZXN1
bHQpCiAKIGNsYXNzIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQgewogcHVibGljOgotICAg
IEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQoQ1NTVmFsdWVQb29sKiBjc3NWYWx1ZVBvb2wp
Ci0gICAgOiBtX2Nzc1ZhbHVlUG9vbChjc3NWYWx1ZVBvb2wpCisgICAgQm9yZGVySW1hZ2VTbGlj
ZVBhcnNlQ29udGV4dChDU1NQYXJzZXIqIHBhcmVudCkKKyAgICA6IG1fcGFyZW50KHBhcmVudCkK
ICAgICAsIG1fYWxsb3dOdW1iZXIodHJ1ZSkKICAgICAsIG1fYWxsb3dGaWxsKGZhbHNlKQogICAg
ICwgbV9hbGxvd0ZpbmFsQ29tbWl0KGZhbHNlKQpAQCAtNTUwNyw3ICs1NTg5LDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBjb21taXROdW1iZXIoQ1NTUGFyc2VyVmFsdWUqIHYpCiAgICAgewotICAg
ICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fY3NzVmFsdWVQb29sLT5jcmVh
dGVWYWx1ZSh2LT5mVmFsdWUsIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKXYtPnVuaXQp
OworICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fcGFyZW50LT5jcmVh
dGVQcmltaXRpdmVOdW1lcmljVmFsdWUodik7CiAgICAgICAgIGlmICghbV90b3ApCiAgICAgICAg
ICAgICBtX3RvcCA9IHZhbDsKICAgICAgICAgZWxzZSBpZiAoIW1fcmlnaHQpCkBAIC01NTM0LDE2
ICs1NjE2LDE2IEBAIHB1YmxpYzoKICAgICAgICAgLy8gV2UgbmVlZCB0byBjbG9uZSBhbmQgcmVw
ZWF0IHZhbHVlcyBmb3IgYW55IG9taXNzaW9ucy4KICAgICAgICAgQVNTRVJUKG1fdG9wKTsKICAg
ICAgICAgaWYgKCFtX3JpZ2h0KSB7Ci0gICAgICAgICAgICBtX3JpZ2h0ID0gbV9jc3NWYWx1ZVBv
b2wtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFs
dWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKLSAgICAgICAgICAgIG1fYm90
dG9tID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgp
LCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsK
LSAgICAgICAgICAgIG1fbGVmdCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShtX3RvcC0+
Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnBy
aW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX3JpZ2h0ID0gbV9wYXJlbnQtPmNzc1ZhbHVl
UG9vbCgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2
ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBt
X2JvdHRvbSA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUobV90b3AtPmdl
dERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmlt
aXRpdmVUeXBlKCkpOworICAgICAgICAgICAgbV9sZWZ0ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9v
bCgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZh
bHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CiAgICAgICAgIH0KICAgICAg
ICAgaWYgKCFtX2JvdHRvbSkgewotICAgICAgICAgICAgbV9ib3R0b20gPSBtX2Nzc1ZhbHVlUG9v
bC0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1
ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOwotICAgICAgICAgICAgbV9sZWZ0
ID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCks
IChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7
CisgICAgICAgICAgICBtX2JvdHRvbSA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRl
VmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5
cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICAgICAgbV9sZWZ0ID0gbV9wYXJl
bnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1ZSgp
LCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBlKCkp
OwogICAgICAgICB9CiAgICAgICAgIGlmICghbV9sZWZ0KQotICAgICAgICAgICAgIG1fbGVmdCA9
IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1ZSgpLCAo
Q1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBlKCkpOwor
ICAgICAgICAgICAgIG1fbGVmdCA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFs
dWUobV9yaWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlw
ZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKIAogICAgICAgICAvLyBOb3cgYnVpbGQgYSBy
ZWN0IHZhbHVlIHRvIGhvbGQgYWxsIGZvdXIgb2Ygb3VyIHByaW1pdGl2ZSB2YWx1ZXMuCiAgICAg
ICAgIFJlZlB0cjxRdWFkPiBxdWFkID0gUXVhZDo6Y3JlYXRlKCk7CkBAIC01NTUzLDExICs1NjM1
LDExIEBAIHB1YmxpYzoKICAgICAgICAgcXVhZC0+c2V0TGVmdChtX2xlZnQpOwogCiAgICAgICAg
IC8vIE1ha2Ugb3VyIG5ldyBib3JkZXIgaW1hZ2UgdmFsdWUgbm93LgotICAgICAgICByZXR1cm4g
Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjpjcmVhdGUobV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZh
bHVlKHF1YWQucmVsZWFzZSgpKSwgbV9maWxsKTsKKyAgICAgICAgcmV0dXJuIENTU0JvcmRlcklt
YWdlU2xpY2VWYWx1ZTo6Y3JlYXRlKG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFs
dWUocXVhZC5yZWxlYXNlKCkpLCBtX2ZpbGwpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBDU1NW
YWx1ZVBvb2wqIG1fY3NzVmFsdWVQb29sOworICAgIENTU1BhcnNlciogbV9wYXJlbnQ7CiAKICAg
ICBib29sIG1fYWxsb3dOdW1iZXI7CiAgICAgYm9vbCBtX2FsbG93RmlsbDsKQEAgLTU1NzMsMTAg
KzU2NTUsMTEgQEAgcHJpdmF0ZToKIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VT
bGljZShpbnQgcHJvcElkLCBSZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPiYgcmVzdWx0
KQogewotICAgIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQgY29udGV4dChjc3NWYWx1ZVBv
b2woKSk7CisgICAgQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCBjb250ZXh0KHRoaXMpOwog
ICAgIENTU1BhcnNlclZhbHVlKiB2YWw7CiAgICAgd2hpbGUgKCh2YWwgPSBtX3ZhbHVlTGlzdC0+
Y3VycmVudCgpKSkgewotICAgICAgICBpZiAoY29udGV4dC5hbGxvd051bWJlcigpICYmIHZhbGlk
VW5pdCh2YWwsIEZJbnRlZ2VyIHwgRk5vbk5lZyB8IEZQZXJjZW50LCB0cnVlKSkgeworICAgICAg
ICAvLyBGSVhNRSBjYWxjKCkgaHR0cDovL3dlYmtpdC5vcmcvYi8xNjY2MiA6IGNhbGMgaXMgcGFy
c2VkIGJ1dCB2YWx1ZXMgYXJlIG5vdCBjcmVhdGVkIHlldC4KKyAgICAgICAgaWYgKGNvbnRleHQu
YWxsb3dOdW1iZXIoKSAmJiAhaXNDYWxjTWluTWF4KHZhbCkgJiYgdmFsaWRVbml0KHZhbCwgRklu
dGVnZXIgfCBGTm9uTmVnIHwgRlBlcmNlbnQsIHRydWUpKSB7CiAgICAgICAgICAgICBjb250ZXh0
LmNvbW1pdE51bWJlcih2YWwpOwogICAgICAgICB9IGVsc2UgaWYgKGNvbnRleHQuYWxsb3dGaWxs
KCkgJiYgdmFsLT5pZCA9PSBDU1NWYWx1ZUZpbGwpCiAgICAgICAgICAgICBjb250ZXh0LmNvbW1p
dEZpbGwoKTsKQEAgLTU2MDksOCArNTY5Miw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRl
ckltYWdlU2xpY2UoaW50IHByb3BJZCwgUmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1CiAK
IGNsYXNzIEJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dCB7CiBwdWJsaWM6Ci0gICAgQm9yZGVy
SW1hZ2VRdWFkUGFyc2VDb250ZXh0KENTU1ZhbHVlUG9vbCogY3NzVmFsdWVQb29sKQotICAgIDog
bV9jc3NWYWx1ZVBvb2woY3NzVmFsdWVQb29sKQorICAgIEJvcmRlckltYWdlUXVhZFBhcnNlQ29u
dGV4dChDU1NQYXJzZXIqIHBhcmVudCkKKyAgICA6IG1fcGFyZW50KHBhcmVudCkKICAgICAsIG1f
YWxsb3dOdW1iZXIodHJ1ZSkKICAgICAsIG1fYWxsb3dGaW5hbENvbW1pdChmYWxzZSkKICAgICB7
IH0KQEAgLTU2MjMsOSArNTcwNiw5IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIFJlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4gdmFsOwogICAgICAgICBpZiAodi0+aWQgPT0gQ1NTVmFsdWVBdXRv
KQotICAgICAgICAgICAgdmFsID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZUlkZW50aWZpZXJWYWx1
ZSh2LT5pZCk7CisgICAgICAgICAgICB2YWwgPSBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNy
ZWF0ZUlkZW50aWZpZXJWYWx1ZSh2LT5pZCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHZh
bCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZSh2LT5mVmFsdWUsIChDU1NQcmltaXRpdmVW
YWx1ZTo6VW5pdFR5cGVzKXYtPnVuaXQpOworICAgICAgICAgICAgdmFsID0gbV9wYXJlbnQtPmNy
ZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2KTsKIAogICAgICAgICBpZiAoIW1fdG9wKQogICAg
ICAgICAgICAgbV90b3AgPSB2YWw7CkBAIC01NjUwLDE2ICs1NzMzLDE2IEBAIHB1YmxpYzoKICAg
ICAgICAgLy8gV2UgbmVlZCB0byBjbG9uZSBhbmQgcmVwZWF0IHZhbHVlcyBmb3IgYW55IG9taXNz
aW9ucy4KICAgICAgICAgQVNTRVJUKG1fdG9wKTsKICAgICAgICAgaWYgKCFtX3JpZ2h0KSB7Ci0g
ICAgICAgICAgICBtX3JpZ2h0ID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKG1fdG9wLT5n
ZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJp
bWl0aXZlVHlwZSgpKTsKLSAgICAgICAgICAgIG1fYm90dG9tID0gbV9jc3NWYWx1ZVBvb2wtPmNy
ZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVu
aXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKLSAgICAgICAgICAgIG1fbGVmdCA9IG1f
Y3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1By
aW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAg
ICAgICBtX3JpZ2h0ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShtX3Rv
cC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3At
PnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX2JvdHRvbSA9IG1fcGFyZW50LT5jc3NW
YWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmlt
aXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICAg
ICAgbV9sZWZ0ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+
Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnBy
aW1pdGl2ZVR5cGUoKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFtX2JvdHRvbSkgewotICAg
ICAgICAgICAgbV9ib3R0b20gPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUobV90b3AtPmdl
dERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmlt
aXRpdmVUeXBlKCkpOwotICAgICAgICAgICAgbV9sZWZ0ID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0
ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5p
dFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX2JvdHRvbSA9
IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZh
bHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBl
KCkpOworICAgICAgICAgICAgbV9sZWZ0ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVh
dGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVu
aXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBlKCkpOwogICAgICAgICB9CiAgICAgICAgIGlm
ICghbV9sZWZ0KQotICAgICAgICAgICAgIG1fbGVmdCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVW
YWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRU
eXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICAgICAgIG1fbGVmdCA9IG1f
cGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFs
dWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlw
ZSgpKTsKIAogICAgICAgICAvLyBOb3cgYnVpbGQgYSBxdWFkIHZhbHVlIHRvIGhvbGQgYWxsIGZv
dXIgb2Ygb3VyIHByaW1pdGl2ZSB2YWx1ZXMuCiAgICAgICAgIFJlZlB0cjxRdWFkPiBxdWFkID0g
UXVhZDo6Y3JlYXRlKCk7CkBAIC01NjY5LDExICs1NzUyLDExIEBAIHB1YmxpYzoKICAgICAgICAg
cXVhZC0+c2V0TGVmdChtX2xlZnQpOwogCiAgICAgICAgIC8vIE1ha2Ugb3VyIG5ldyB2YWx1ZSBu
b3cuCi0gICAgICAgIHJldHVybiBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUocXVhZC5yZWxl
YXNlKCkpOworICAgICAgICByZXR1cm4gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVW
YWx1ZShxdWFkLnJlbGVhc2UoKSk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIENTU1ZhbHVlUG9v
bCogbV9jc3NWYWx1ZVBvb2w7CisgICAgQ1NTUGFyc2VyKiBtX3BhcmVudDsKIAogICAgIGJvb2wg
bV9hbGxvd051bWJlcjsKICAgICBib29sIG1fYWxsb3dGaW5hbENvbW1pdDsKQEAgLTU2ODYsNyAr
NTc2OSw3IEBAIHByaXZhdGU6CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUXVh
ZChVbml0cyB2YWxpZFVuaXRzLCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+JiByZXN1bHQpCiB7
Ci0gICAgQm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0IGNvbnRleHQoY3NzVmFsdWVQb29sKCkp
OworICAgIEJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dCBjb250ZXh0KHRoaXMpOwogICAgIENT
U1BhcnNlclZhbHVlKiB2YWw7CiAgICAgd2hpbGUgKCh2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVu
dCgpKSkgewogICAgICAgICBpZiAoY29udGV4dC5hbGxvd051bWJlcigpICYmICh2YWxpZFVuaXQo
dmFsLCB2YWxpZFVuaXRzLCB0cnVlKSB8fCB2YWwtPmlkID09IENTU1ZhbHVlQXV0bykpIHsKQEAg
LTcyMjIsNiArNzMwNSwyMyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VGb250RmVhdHVyZVNldHRp
bmdzKGJvb2wgaW1wb3J0YW50KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBDU1NQYXJz
ZXI6OnBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIENhbGNQZXJtaXR0ZWRWYWx1ZVJh
bmdlIHJhbmdlKSAKK3sKKyAgICBBU1NFUlQoaXNDYWxjTWluTWF4KHZhbHVlKSk7CisgICAgCisg
ICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzID0gdmFsdWUtPmZ1bmN0aW9uLT5hcmdzLmdldCgp
OworICAgIGlmICghYXJncyB8fCAhYXJncy0+c2l6ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBBU1NFUlQoIW1fcGFyc2VkQ2FsYyk7CisgICAgbV9wYXJzZWRDYWxjID0gQ1NTQ2Fs
Y1ZhbHVlOjpjcmVhdGUodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCBhcmdzLCByYW5nZSk7CisgICAg
CisgICAgaWYgKCFtX3BhcnNlZENhbGMpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKyAgICAKIHN0YXRpYyBpbmxpbmUgaW50IHl5ZXJyb3IoY29uc3Qg
Y2hhciopIHsgcmV0dXJuIDE7IH0KIAogI2RlZmluZSBFTkRfVE9LRU4gMApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oCmluZGV4IGFkYzE5MDI1YWYwZWZmZmFhZjQxOWU4MTRmZDVjMTE5M2M4N2I2YjcuLjkw
NzQ1Zjc0MzIyMGJkYTQ0NDI3NzA2NDRhZmYyNGI4OTE0YjIyOTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgKQEAgLTIzLDYgKzIzLDcgQEAKICNpZm5kZWYgQ1NTUGFyc2VyX2gKICNkZWZpbmUgQ1NT
UGFyc2VyX2gKIAorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0dyYWRp
ZW50VmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJWYWx1ZXMuaCIKICNpbmNsdWRlICJDU1NQ
cm9wZXJ0eVNvdXJjZURhdGEuaCIKQEAgLTIxMSw2ICsyMTIsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBwYXJzZVRleHRFbXBoYXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KTsKIAogICAgIGJvb2wgcGFy
c2VMaW5lQm94Q29udGFpbihib29sIGltcG9ydGFudCk7CisgICAgYm9vbCBwYXJzZUNhbGMoQ1NT
UGFyc2VyVmFsdWUqLCBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSk7CiAKICAgICBib29sIHBhcnNl
Rm9udEZlYXR1cmVUYWcoQ1NTVmFsdWVMaXN0Kik7CiAgICAgYm9vbCBwYXJzZUZvbnRGZWF0dXJl
U2V0dGluZ3MoYm9vbCBpbXBvcnRhbnQpOwpAQCAtMzIwLDYgKzMyMiw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGNvdW50TGluZXMoKTsKICAgICBpbnQgbGV4KCk7CiAKKyAgICBQYXNzUmVmUHRyPENT
U1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFs
dWUqKTsKKyAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVT
dHJpbmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOworICAgICAgICAKIHByaXZhdGU6CiAgICAgdm9p
ZCBzZXRTdHlsZVNoZWV0KENTU1N0eWxlU2hlZXQqKTsKICAgICB2b2lkIGVuc3VyZUNTU1ZhbHVl
UG9vbCgpOwpAQCAtMzg2LDYgKzM5MSw4IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPE93blB0cjxD
U1NQYXJzZXJTZWxlY3Rvcj4gPiBtX3JldXNhYmxlU2VsZWN0b3JWZWN0b3I7CiAgICAgVmVjdG9y
PE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiBtX3JldXNhYmxlUmVnaW9uU2VsZWN0b3JWZWN0
b3I7CiAKKyAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBtX3BhcnNlZENhbGM7CisKICAgICAvLyBk
ZWZpbmVzIHVuaXRzIGFsbG93ZWQgZm9yIGEgY2VydGFpbiBwcm9wZXJ0eSwgdXNlZCBpbiBwYXJz
ZVVuaXQKICAgICBlbnVtIFVuaXRzIHsKICAgICAgICAgRlVua25vd24gICA9IDB4MDAwMCwKQEAg
LTQwNSwxMyArNDEyLDE4IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxV
bml0cz4oc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGEpIHwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGIp
KTsKICAgICB9CiAKLSAgICBzdGF0aWMgYm9vbCB2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqLCBV
bml0cywgYm9vbCBzdHJpY3QpOworICAgIGJvb2wgdmFsaWRVbml0KENTU1BhcnNlclZhbHVlKiwg
VW5pdHMsIGJvb2wgc3RyaWN0KTsKIAogICAgIGJvb2wgcGFyc2VCb3JkZXJJbWFnZVF1YWQoVW5p
dHMsIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4mKTsKLQotICAgIFBhc3NSZWZQdHI8Q1NTUHJp
bWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSop
OwotICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmlu
Z1ZhbHVlKENTU1BhcnNlclZhbHVlKik7Ci0KKyAgICBpbnQgY29sb3JJbnRGcm9tVmFsdWUoQ1NT
UGFyc2VyVmFsdWUqKTsKKworICAgIGVudW0gUmVsZWFzZVBhcnNlZENhbGNWYWx1ZUNvbmRpdGlv
biB7CisgICAgICAgIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUsCisgICAgICAgIERvTm90UmVsZWFz
ZVBhcnNlZENhbGNWYWx1ZQorICAgIH07ICAgIAorICAgIGRvdWJsZSBwYXJzZWREb3VibGUoQ1NT
UGFyc2VyVmFsdWUqLCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlQ29uZGl0aW9uIHJlbGVhc2VDYWxj
ID0gRG9Ob3RSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKTsKKyAgICBib29sIGlzQ2FsY01pbk1heChD
U1NQYXJzZXJWYWx1ZSopOworICAgIAogICAgIGZyaWVuZCBjbGFzcyBUcmFuc2Zvcm1PcGVyYXRp
b25JbmZvOwogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBmcmllbmQgY2xhc3MgRmlsdGVy
T3BlcmF0aW9uSW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCmluZGV4IDRjZWZkYmM1YzI1MmMy
OTZkOTg4NTQxOGU4OTI4OWRlOTE1MzU4ZGMuLmIxNGM0MjVlOWFiMzc5YzhjNmNlZWU1NjZhMGNl
NWRmMzA3MjExZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApAQCAtMzAsNiArMzAsNyBAQAog
I2luY2x1ZGUgIkNTU0FzcGVjdFJhdGlvVmFsdWUuaCIKICNpbmNsdWRlICJDU1NCb3JkZXJJbWFn
ZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmgiCisjaW5jbHVk
ZSAiQ1NTQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2FudmFzVmFsdWUuaCIKICNpbmNsdWRl
ICJDU1NDcm9zc2ZhZGVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIK
QEAgLTE0Nyw2ICsxNDgsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTTGluZUJveENvbnRhaW5WYWx1ZSo+KHRo
aXMpLT5jdXN0b21Dc3NUZXh0KCk7CiAgICAgY2FzZSBGbGV4Q2xhc3M6CiAgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxjb25zdCBDU1NGbGV4VmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgp
OworICAgIGNhc2UgQ2FsY0NsYXNzOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3Qg
Q1NTQ2FsY1ZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKICNpZiBFTkFCTEUoQ1NTX0ZJ
TFRFUlMpCiAgICAgY2FzZSBXZWJLaXRDU1NGaWx0ZXJDbGFzczoKICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU0ZpbHRlclZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1Rl
eHQoKTsKQEAgLTI1MCw2ICsyNTMsOSBAQCB2b2lkIENTU1ZhbHVlOjpkZXN0cm95KCkKICAgICBj
YXNlIEZsZXhDbGFzczoKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PENTU0ZsZXhWYWx1ZSo+
KHRoaXMpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBDYWxjQ2xhc3M6CisgICAgICAgIGRl
bGV0ZSBzdGF0aWNfY2FzdDxDU1NDYWxjVmFsdWUqPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOwog
I2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBjYXNlIFdlYktpdENTU0ZpbHRlckNsYXNzOgog
ICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTRmlsdGVyVmFsdWUqPih0aGlzKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggY2U5NTM2OWFiYzBkNTY1N2ZiZTFjMDE3OTg0OGRjNjE3
ZGM2OWUyYi4uYTY4MGJhZDVkOTE1M2QzYmJkZWZhZWIyY2MzYjI0NWU2MTFhZDhiMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmgKQEAgLTc3LDYgKzc3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNXZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFdlYktp
dENTU1RyYW5zZm9ybUNsYXNzOyB9CiAgICAgYm9vbCBpc0NTU0xpbmVCb3hDb250YWluVmFsdWUo
KSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBMaW5lQm94Q29udGFpbkNsYXNzOyB9CiAg
ICAgYm9vbCBpc0ZsZXhWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZsZXhD
bGFzczsgfQorICAgIGJvb2wgaXNDYWxjVmFsdWUoKSBjb25zdCB7cmV0dXJuIG1fY2xhc3NUeXBl
ID09IENhbGNDbGFzczsgfQogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBib29sIGlzV2Vi
S2l0Q1NTRmlsdGVyVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBXZWJLaXRD
U1NGaWx0ZXJDbGFzczsgfQogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKQEAgLTEyOCw2ICsxMjks
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIFVuaWNvZGVSYW5nZUNsYXNzLAogICAgICAgICBMaW5l
Qm94Q29udGFpbkNsYXNzLAogICAgICAgICBGbGV4Q2xhc3MsCisgICAgICAgIENhbGNDbGFzcywK
ICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpICYmIEVOQUJMRShDU1NfU0hBREVSUykKICAgICAgICAg
V2ViS2l0Q1NTU2hhZGVyQ2xhc3MsCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TVkdDU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5j
cHAKaW5kZXggZGQ3MzhmYjNjM2VhZjc1NTRiMWQwYjI1ZjVjZThiNzg1ODFkMjA1OC4uNzUwMjIw
NWMwNWQ4YmM0ZmExZmM5NTYzZjFhMjQ1NzdhMGY2ZTY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NT
U1BhcnNlci5jcHAKQEAgLTMxNCw2ICszMTQsMTIgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU1ZH
VmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAgICBwYXJzZWRWYWx1
ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUodmFsdWUtPmZWYWx1ZSwgKENTU1ByaW1pdGl2
ZVZhbHVlOjpVbml0VHlwZXMpIHZhbHVlLT51bml0KTsKICAgICAgICAgZWxzZSBpZiAodmFsdWUt
PnVuaXQgPj0gQ1NTUGFyc2VyVmFsdWU6OlFfRU1TKQogICAgICAgICAgICAgcGFyc2VkVmFsdWUg
PSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlQWxsb3dpbmdNYXJnaW5RdWlyayh2YWx1ZS0+ZlZh
bHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUyk7CisgICAgICAgIGlmIChpc0NhbGNNaW5N
YXgodmFsdWUpKSB7CisgICAgICAgICAgICAvLyBGSVhNRSBjYWxjKCkgaHR0cDovL3dlYmtpdC5v
cmcvYi8xNjY2MiA6IGFjdHVhbGx5IGNyZWF0ZSBhIENTU1ByaW1pdGl2ZVZhbHVlIGhlcmUsIGll
CisgICAgICAgICAgICAvLyBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUo
bV9wYXJzZWRDYWxjLnJlbGVhc2UoKSk7CisgICAgICAgICAgICBtX3BhcnNlZENhbGMucmVsZWFz
ZSgpOworICAgICAgICAgICAgcGFyc2VkVmFsdWUgPSAwOworICAgICAgICB9CiAgICAgICAgIG1f
dmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgfQogICAgIGlmICghcGFyc2VkVmFsdWUgfHwgKG1fdmFs
dWVMaXN0LT5jdXJyZW50KCkgJiYgIWluU2hvcnRoYW5kKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0NhbGNWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGU4YTBjYTEwY2IxOTk2MjM5MDRmYjA3NDNkMWE0
MTZjMWU2YTg1NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nh
bGNWYWx1ZS5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJDYWxjVmFsdWUuaCIKKworI2luY2x1ZGUgPGxpbWl0cz4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCisgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1Zh
bHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjI5MjI4MGU4Yzc4ODIwYWJiM2QzNjM3MWM1Mzg1MDdhNWZjMWU0
OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5o
CkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIENhbGNWYWx1ZV9oCisjZGVmaW5lIENhbGNWYWx1ZV9o
CisKKyNpbmNsdWRlICJMZW5ndGguaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIENhbGNPcGVy
YXRvciB7CisgICAgQ2FsY0FkZCA9ICcrJywKKyAgICBDYWxjU3VidHJhY3QgPSAnLScsCisgICAg
Q2FsY011bHRpcGx5ID0gJyonLAorICAgIENhbGNEaXZpZGUgPSAnLycsCisgICAgQ2FsY01vZCA9
ICclJworfTsKKworZW51bSBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSB7CisgICAgQ2FsY1Jhbmdl
QWxsLAorICAgIENhbGNSYW5nZU5vbk5lZ2F0aXZlCit9OworCitlbnVtIENhbGNMaXN0VHlwZSB7
CisgICAgQ2FsY01pbiwKKyAgICBDYWxjTWF4LCAKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBDYWxjVmFsdWVfaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIxNTdlOTgwMzliNTA1Njc3
ODRlOGU1ZGI2NzM5OGQ2YTdjNjg1ZDUuLjAzOTIwZjU0MzUzYWZiM2VhODFmYjZiMWQyMmU4MWMz
ZWRlYjc0MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MiBAQAorMjAxMS0xMi0yMiAgTWlrZSBMYXd0aGVy
ICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBjYWxjIHBhcnNpbmcg
c3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3
MDgyCisKKyAgICAgICAgTm90ZSB0aGF0IHRoZXNlIHRlc3RzIGFyZSBleHBlY3RlZCB0byAnZmFp
bCcsIGFzIGNhbGMgaXMgbm90IHlldAorICAgICAgICBwcm9kdWNpbmcgdmFsdWVzLiBUaGV5IHNo
b3cgdGhhdCBjYWxjIGlzIG5vdCBjcmFzaGluZyBkdXJpbmcgcGFyc2luZy4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzczMvY2FsYy9iYWNrZ3Jv
dW5kLXBvc2l0aW9uLXBhcnNpbmctZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBjc3MzL2NhbGMvYmxvY2stbWFzay1vdmVybGF5LWltYWdlLW91dHNldC1leHBl
Y3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvYmxvY2stbWFz
ay1vdmVybGF5LWltYWdlLW91dHNldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMv
Ym9yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2JvcmRlci1y
YWRpdXMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxj
L2JvcmRlci1yYWRpdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2JvcmRlci1z
cGFjaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2JvcmRlci1z
cGFjaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3JkZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogY3NzMy9jYWxjL2NvbG9yLWhzbC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGNzczMvY2FsYy9jb2xvci1oc2wuaHRtbDogQWRkZWQuCisgICAgICAgICogY3Nz
My9jYWxjL2NvbG9yLXJnYi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2Fs
Yy9jb2xvci1yZ2IuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2NzczMtcmFkaWFs
LWdyYWRpZW50cy1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3Mz
L2NhbGMvY3NzMy1yYWRpYWwtZ3JhZGllbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMv
Y2FsYy9mb250LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2ZvbnQt
bW9ub3NwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2ZvbnQt
bW9ub3NwYWNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9mb250LXNpemUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9u
YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZm9udC1zaXplLWZy
YWN0aW9uYWwuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2ZvbnQtc2l6ZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZm9udC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBjc3MzL2NhbGMvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1w
ZXJjZW50YWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ncmFkaWVudC1jb2xv
ci1zdG9wcy1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Nh
bGMvZ3JhZGllbnQtY29sb3Itc3RvcHMuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxj
L2ltZy1zaXplLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMv
Y2FsYy9pbWctc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbGluZS1oZWln
aHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbGluZS1oZWlnaHQu
aHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL21hcmdpbi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9tYXJnaW4uaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3NzMy9jYWxjL3BhZGRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Nh
bGMvcGFkZGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvcmVmbGVjdGlvbi1j
b21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9y
ZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2Fs
Yy9yZXNvdXJjZXMvYWxwaGEtZ3JhZGllbnQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Nh
bGMvcmVzb3VyY2VzL2RpYW1vbmQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvcmVz
b3VyY2VzL21hc2sucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvcmVzb3VyY2VzL3Jp
bmcucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFz
ay1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvc2lt
cGxlLWNvbXBvc2l0ZWQtbWFzay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFi
bGUtY2FsY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUt
Y2FsY3MuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxz
LWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy90YWJs
ZS1lbXB0eS1jZWxscy5odG1sOiBBZGRlZC4KKwogMjAxMi0wMS0wMiAgQmFsYXpzIEtlbGVtZW4g
IDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBRdC1XSzIgZ2FyZGVu
aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRp
b24tcGFyc2luZy1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzOWIyNjk3MDdjNjI5NTA0ZjM3YzliNmNkNTA3NDQxNGI0MjAxMDEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJz
aW5nLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwxMzcgQEAKKzwhRE9DVFlQRSBo
dG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3Jn
L1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgIDx0aXRs
ZT5DU1MgVGVzdDogQ1NTIGJhY2tncm91bmQgcG9zaXRpb246IHBhcnNpbmc8L3RpdGxlPgorICA8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9IklhbiBIaWNrc29uIiBocmVmPSJtYWlsdG86aWFuQGhp
eGllLmNoIj4KKyAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9D
U1MyMS9jb2xvcnMuaHRtbCNiYWNrZ3JvdW5kIj4KKyAgPG1ldGEgbmFtZT0iZmxhZ3MiIGNvbnRl
bnQ9ImludmFsaWQiPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgLmNhc2UgeyBmbG9h
dDogbGVmdDsgYm9yZGVyOiBzb2xpZDsgbWFyZ2luOiAwLjJlbTsgem9vbTowLjUgfSAvKiAxNTAg
eCAxMDAgKi8KKyAgIC50ZXN0IHsgYmFja2dyb3VuZDogI0ZGRkZDQyB1cmwocmVzb3VyY2VzL3Jp
bmcucG5nKSBuby1yZXBlYXQ7IHBhZGRpbmc6IDE2cHg7IH0KKyAgIC5jb250cm9sIHsgd2lkdGg6
IDExOHB4OyBoZWlnaHQ6IDY4cHg7IGJhY2tncm91bmQ6IHVybChyZXNvdXJjZXMvZGlhbW9uZC5w
bmcpIG5vLXJlcGVhdDsgfQorCisgICAuYSAuY29udHJvbCwgLmIgLmNvbnRyb2wsIC5jIC5jb250
cm9sLCAuZCAuY29udHJvbCwgLmUgLmNvbnRyb2wsIC5mIC5jb250cm9sIHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogMTAwJSAxMDAlOyB9CisgICAuY2FzZS5hIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogcmlnaHQgYm90dG9tOyB9CisgICAuY2FzZS5iIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogYm90dG9tIHJpZ2h0OyB9CisgICAuY2FzZS5jIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogMTAwJSBib3R0b207IH0KKyAgIC5jYXNlLmQgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiByaWdodCAxMDAlOyB9CisgICAuY2FzZS5lIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogMTAwJSA1OHB4OyB9CisgICAuY2FzZS5mIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
MTA4cHggMTAwJTsgfQorCisgICAuZyAuY29udHJvbCwgLmggLmNvbnRyb2wsIC5pIC5jb250cm9s
LCAuaiAuY29udHJvbCwgLmsgLmNvbnRyb2wsIC5sIC5jb250cm9sLCAubSAuY29udHJvbCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IDU0cHggMjhweDsgfQorICAgLmNhc2UuZyAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH0KKyAgIC5jYXNlLmggLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9CisgICAuY2FzZS5pIC50ZXN0IHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogY2VudGVyIDUwJTsgfQorICAgLmNhc2UuaiAudGVzdCB7IGJhY2tncm91bmQt
cG9zaXRpb246IDUwJSBjZW50ZXI7IH0KKyAgIC5jYXNlLmsgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiA1MCU7IH0KKyAgIC5jYXNlLmwgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBj
ZW50ZXI7IH0KKyAgIC5jYXNlLm0gLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1NHB4OyB9
CisKKyAgIC5uIC5jb250cm9sLCAubyAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDU0
cHggNTZweDsgfQorICAgLmNhc2UubiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRv
bSBjZW50ZXI7IH0KKyAgIC5jYXNlLm8gLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50
ZXIgYm90dG9tOyB9CisKKyAgIC5wIC5jb250cm9sLCAucSAuY29udHJvbCB7IGJhY2tncm91bmQt
cG9zaXRpb246IDEwOHB4IDI4cHg7IH0KKyAgIC5jYXNlLnAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiByaWdodCBjZW50ZXI7IH0KKyAgIC5jYXNlLnEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiBjZW50ZXIgcmlnaHQ7IH0KKworICAgLnIgLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiB0b3AgcmlnaHQ7IH0KKyAgIC5jYXNlLnIwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogcmlnaHQgdG9wOyB9CisgICAuY2FzZS5yMSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IHJpZ2h0IDA7IH0KKyAgIC5jYXNlLnIyIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
cmlnaHQgMHB4OyB9CisgICAuY2FzZS5yMyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJp
Z2h0IDAlOyB9CisgICAuY2FzZS5yNCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUg
dG9wOyB9CisgICAuY2FzZS5yNSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDsg
fQorICAgLmNhc2UucjYgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDBweDsgfQor
ICAgLmNhc2UucjcgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDAlOyB9CisgICAu
Y2FzZS5yOCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwOHB4IHRvcDsgfQorICAgLmNh
c2UucjkgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDhweCAwOyB9CisgICAuY2FzZS5y
MTAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDhweCAwcHg7IH0KKyAgIC5jYXNlLnIx
MSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwOHB4IDAlOyB9CisKKyAgIC5uZWdhdGl2
ZSAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAlIDAlOyB9CisgICAubmVnYXRpdmUz
IC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfSAvKiBDU1MzIGJhY2tn
cm91bmQgc3VwcG9ydHMgY29tbWEgKi8KKyAgIC5jYXNlLnQxIC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogcmlnaHQgYm90dG9tIGJvdHRvbTsgfQorICAgLmNhc2UudDIgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQgYm90dG9tOyB9CisgICAuY2FzZS50MyAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAxMDAlOyB9CisgICAuY2FzZS50NCAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgcmlnaHQ7IH0KKyAgIC5jYXNlLnQ1IC50ZXN0
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDhweDsgfQorICAgLmNhc2UudDYgLnRlc3Qg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyM3B4IHJpZ2h0OyB9CisgICAuY2FzZS50NyAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA1MCUgY2VudGVyOyB9CisgICAuY2FzZS50OCAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCUgNTAlOyB9CisgICAuY2FzZS50OSAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA1MCUgNTAlOyB9CisgICAuY2FzZS50
MTAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUsIDEwMCU7IH0gLyogQ1NTMyBiYWNr
Z3JvdW5kIHN1cHBvcnRzIGNvbW1hICovCisgICAgICAvKiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0
aGUgY29tbWEgZWl0aGVyIGlzCisgICAgICAgICAgIGEpIGludmFsaWQgcGVyIENTUzIuMQorICAg
ICAgICAgICBiKSBoYW5kbGVkIGNvcnJlY3RseSBwZXIgQ1NTMworICAgICAgICAgYW5kIE5PVCBw
YXJzZWQgYXMgYSB2YWxpZCBzZXBhcmF0b3Igb2YgeCBhbmQgeSBvZmZzZXRzLiAqLworICAgLmNh
c2UudDExIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDU0cHg7IH0KKyAgIC5j
YXNlLnQxMiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwIDUwJTsgfQorICAgLmNhc2Uu
dDEzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDEwMDsgfQorICAgLmNhc2Uu
dDE0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHRib3R0b207IH0KKyAgIC5jYXNl
LnQxNSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgcmlnaHQ7IH0KKyAgIC5jYXNlLnQx
NiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDBweCByaWdodDsgfQorICAgLmNhc2UudDE3
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgcmlnaHQ7IH0KKyAgIC5jYXNlLnQxOCAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAxMDAlOyB9CisgICAuY2FzZS50MTkgLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgMTA4cHg7IH0KKyAgIC5jYXNlLnQyMCAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCB0b3A7IH0KKyAgIC5jYXNlLnQyMSAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgcmlnaHQ7IH0KKyAgIC5jYXNlLnQyMiAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgbGVmdDsgfQorICA8L3N0eWxlPgorIDwvaGVhZD4K
Kzxib2R5PgorICA8cD5JbiBhbGwgdGhlIGZvbGxvd2luZyBib3hlcywgdGhlIGZ1Y2hzaWEgZGlh
bW9uZCBzaG91bGQgYmUgc3Vycm91bmRlZCBieSBhIHJpbmcuPC9wPgorICA8ZGl2IGNsYXNzPSJj
YXNlIGEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGMiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIGQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGUiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIGYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGciPjxkaXYgY2xhc3M9InRlc3QiPjxk
aXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNl
IGgiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGoiPjxkaXYg
Y2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjYXNlIGsiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGwiPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIG0iPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG4iPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG8i
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIHAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHEiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIHIgcjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjEiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIHIgcjIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjMiPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIHIgcjQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjUiPjxkaXYgY2xhc3M9InRlc3Qi
PjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
YXNlIHIgcjYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjciPjxkaXYgY2xhc3M9InRlc3QiPjxk
aXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNl
IHIgcjgiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIg
cjEwIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MSI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgbmVnYXRpdmUgdDIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQzIj48ZGl2IGNs
YXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRp
diBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0NCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUg
dDUiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ2Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48
ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2Fz
ZSBuZWdhdGl2ZSB0NyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDgiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ5Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJj
b250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSBu
ZWdhdGl2ZTMgdDEwIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rp
dj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTEiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxMiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUg
dDEzIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTQiPjxkaXYgY2xhc3M9InRlc3Qi
PjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
YXNlIG5lZ2F0aXZlIHQxNSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE2Ij48ZGl2
IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAg
PGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0
aXZlIHQxOCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE5Ij48ZGl2IGNsYXNzPSJ0
ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iY2FzZSBuZWdhdGl2ZSB0MjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQyMSI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDIyIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2
IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAKKworPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzFl
ODY4MWJlNjM4MzFmODZkNjRkYzA0YWE1NzZkODZhMzRkNDNmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy5odG1sCkBA
IC0wLDAgKzEsMTM3IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwg
NC4wMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1s
IGxhbmc9ImVuIj4KKzxoZWFkPgorICA8dGl0bGU+Q1NTIFRlc3Q6IENTUyBiYWNrZ3JvdW5kIHBv
c2l0aW9uOiBwYXJzaW5nPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJYW4g
SGlja3NvbiIgaHJlZj0ibWFpbHRvOmlhbkBoaXhpZS5jaCI+CisgIDxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvY29sb3JzLmh0bWwjYmFja2dyb3VuZCI+
CisgIDxtZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSJpbnZhbGlkIj4KKyAgPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4KKyAgIC5jYXNlIHsgZmxvYXQ6IGxlZnQ7IGJvcmRlcjogc29saWQ7IG1hcmdp
bjogMC4yZW07IHpvb206MC41IH0gLyogMTUwIHggMTAwICovCisgICAudGVzdCB7IGJhY2tncm91
bmQ6ICNGRkZGQ0MgdXJsKHJlc291cmNlcy9yaW5nLnBuZykgbm8tcmVwZWF0OyBwYWRkaW5nOiAt
d2Via2l0LWNhbGMoMTZweCk7IH0KKyAgIC5jb250cm9sIHsgd2lkdGg6IDExOHB4OyBoZWlnaHQ6
IDY4cHg7IGJhY2tncm91bmQ6IHVybChyZXNvdXJjZXMvZGlhbW9uZC5wbmcpIG5vLXJlcGVhdDsg
fQorCisgICAuYSAuY29udHJvbCwgLmIgLmNvbnRyb2wsIC5jIC5jb250cm9sLCAuZCAuY29udHJv
bCwgLmUgLmNvbnRyb2wsIC5mIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAx
MDAlOyB9CisgICAuY2FzZS5hIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90
dG9tOyB9CisgICAuY2FzZS5iIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJp
Z2h0OyB9CisgICAuY2FzZS5jIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1j
YWxjKDEwMCUpIGJvdHRvbTsgfQorICAgLmNhc2UuZCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IHJpZ2h0IC13ZWJraXQtY2FsYygxMDAlKTsgfQorICAgLmNhc2UuZSAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDAlKSAtd2Via2l0LWNhbGMoNThweCk7IH0K
KyAgIC5jYXNlLmYgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoNTAl
ICsgNTRweCkgLXdlYmtpdC1jYWxjKDUwJSArIDI5cHgpOyB9CisKKyAgIC5nIC5jb250cm9sLCAu
aCAuY29udHJvbCwgLmkgLmNvbnRyb2wsIC5qIC5jb250cm9sLCAuayAuY29udHJvbCwgLmwgLmNv
bnRyb2wsIC5tIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTRweCAyOHB4OyB9Cisg
ICAuY2FzZS5nIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfQor
ICAgLmNhc2UuaCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYyg1MCUp
IC13ZWJraXQtY2FsYyg1MCUpOyB9CisgICAuY2FzZS5pIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogY2VudGVyIC13ZWJraXQtY2FsYyg1MCUpOyB9CisgICAuY2FzZS5qIC50ZXN0IHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDUwJSkgY2VudGVyOyB9CisgICAuY2FzZS5r
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5j
YXNlLmwgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH0KKyAgIC5jYXNlLm0g
LnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoNTRweCk7IH0KKworICAg
Lm4gLmNvbnRyb2wsIC5vIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTRweCA1NnB4
OyB9CisgICAuY2FzZS5uIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRl
cjsgfQorICAgLmNhc2UubyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0
b207IH0KKworICAgLnAgLmNvbnRyb2wsIC5xIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogMTA4cHggMjhweDsgfQorICAgLmNhc2UucCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246
IHJpZ2h0IGNlbnRlcjsgfQorICAgLmNhc2UucSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246
IGNlbnRlciByaWdodDsgfQorCisgICAuciAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246
IHRvcCByaWdodDsgfQorICAgLmNhc2UucjAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBy
aWdodCB0b3A7IH0KKyAgIC5jYXNlLnIxIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmln
aHQgMDsgfQorICAgLmNhc2UucjIgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAt
d2Via2l0LWNhbGMoMHB4KTsgfQorICAgLmNhc2UucjMgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiByaWdodCAtd2Via2l0LWNhbGMoMCUpOyB9CisgICAuY2FzZS5yNCAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDAlKSB0b3A7IH0KKyAgIC5jYXNlLnI1IC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIDA7IH0KKyAgIC5j
YXNlLnI2IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIC13
ZWJraXQtY2FsYygwcHgpOyB9CisgICAuY2FzZS5yNyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IC13ZWJraXQtY2FsYygxMDAlKSAtd2Via2l0LWNhbGMoMCUpOyB9CisgICAuY2FzZS5yOCAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDhweCkgdG9wOyB9Cisg
ICAuY2FzZS5yOSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDhw
eCkgMDsgfQorICAgLmNhc2UucjEwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtp
dC1jYWxjKDEwOHB4KSAtd2Via2l0LWNhbGMoMHB4KTsgfQorICAgLmNhc2UucjExIC50ZXN0IHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwOHB4KSAtd2Via2l0LWNhbGMoMCUp
OyB9CisKKyAgIC5uZWdhdGl2ZSAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAlIDAl
OyB9CisgICAubmVnYXRpdmUzIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUw
JTsgfSAvKiBDU1MzIGJhY2tncm91bmQgc3VwcG9ydHMgY29tbWEgKi8KKyAgIC5jYXNlLnQxIC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tIGJvdHRvbTsgfQorICAgLmNh
c2UudDIgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQgYm90dG9tOyB9
CisgICAuY2FzZS50MyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAtd2Via2l0
LWNhbGMoMTAwJSk7IH0KKyAgIC5jYXNlLnQ0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
LXdlYmtpdC1jYWxjKDEwMCUpIHJpZ2h0OyB9CisgICAuY2FzZS50NSAudGVzdCB7IGJhY2tncm91
bmQtcG9zaXRpb246IGJvdHRvbSAtd2Via2l0LWNhbGMoOHB4KTsgfQorICAgLmNhc2UudDYgLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMjNweCkgcmlnaHQ7IH0KKyAg
IC5jYXNlLnQ3IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC13ZWJraXQtY2Fs
Yyg1MCUpIGNlbnRlcjsgfQorICAgLmNhc2UudDggLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoNTAlKTsg
fQorICAgLmNhc2UudDkgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLXdlYmtp
dC1jYWxjKDUwJSkgLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5jYXNlLnQxMCAudGVzdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYyg1MCUpLCAtd2Via2l0LWNhbGMoMTAwJSk7
IH0gLyogQ1NTMyBiYWNrZ3JvdW5kIHN1cHBvcnRzIGNvbW1hICovCisgICAgICAvKiBUaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGUgY29tbWEgZWl0aGVyIGlzCisgICAgICAgICAgIGEpIGludmFsaWQg
cGVyIENTUzIuMQorICAgICAgICAgICBiKSBoYW5kbGVkIGNvcnJlY3RseSBwZXIgQ1NTMworICAg
ICAgICAgYW5kIE5PVCBwYXJzZWQgYXMgYSB2YWxpZCBzZXBhcmF0b3Igb2YgeCBhbmQgeSBvZmZz
ZXRzLiAqLworICAgLmNhc2UudDExIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9t
IC13ZWJraXQtY2FsYyg1NHB4KTsgfQorICAgLmNhc2UudDEyIC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogNTAgLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5jYXNlLnQxMyAudGVzdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAxMDA7IH0KKyAgIC5jYXNlLnQxNCAudGVzdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IHJpZ2h0Ym90dG9tOyB9CisgICAuY2FzZS50MTUgLnRlc3QgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAwIHJpZ2h0OyB9CisgICAuY2FzZS50MTYgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMHB4KSByaWdodDsgfQorICAgLmNhc2UudDE3
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDAlKSByaWdodDsgfQor
ICAgLmNhc2UudDE4IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIC13ZWJraXQtY2Fs
YygxMDAlKTsgfQorICAgLmNhc2UudDE5IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9w
IC13ZWJraXQtY2FsYygxMDhweCk7IH0KKyAgIC5jYXNlLnQyMCAudGVzdCB7IGJhY2tncm91bmQt
cG9zaXRpb246IHRvcCB0b3A7IH0KKyAgIC5jYXNlLnQyMSAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IGxlZnQgcmlnaHQ7IH0KKyAgIC5jYXNlLnQyMiAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IGxlZnQgbGVmdDsgfQorICA8L3N0eWxlPgorIDwvaGVhZD4KKzxib2R5PgorICA8cD5J
biBhbGwgdGhlIGZvbGxvd2luZyBib3hlcywgdGhlIGZ1Y2hzaWEgZGlhbW9uZCBzaG91bGQgYmUg
c3Vycm91bmRlZCBieSBhIHJpbmcuPC9wPgorICA8ZGl2IGNsYXNzPSJjYXNlIGEiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIGIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGMiPjxkaXYgY2xhc3M9InRlc3Qi
PjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
YXNlIGQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGUiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGYiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIGciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGgiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIGkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGoiPjxkaXYgY2xhc3M9InRlc3QiPjxk
aXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNl
IGsiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGwiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG0iPjxkaXYg
Y2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjYXNlIG4iPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG8iPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIHAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIg
cjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjIi
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjMiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjQiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjUiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjYiPjxkaXYg
Y2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjYXNlIHIgcjciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjgiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIHIgcjkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjEwIj48ZGl2IGNsYXNz
PSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY2FzZSBuZWdhdGl2ZSB0MSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDIi
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQzIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2
IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBu
ZWdhdGl2ZSB0NCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDUiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIG5lZ2F0aXZlIHQ2Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250
cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0NyI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDgiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5l
Z2F0aXZlIHQ5Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48
L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSBuZWdhdGl2ZTMgdDEwIj48
ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4K
KyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5l
Z2F0aXZlIHQxMiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDEzIj48ZGl2IGNsYXNz
PSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQx
NSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE2Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48
ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2Fz
ZSBuZWdhdGl2ZSB0MTciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxOCI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE5Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNz
PSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2
ZSB0MjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQyMSI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgbmVnYXRpdmUgdDIyIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9s
Ij48L2Rpdj48L2Rpdj48L2Rpdj4KKyAKKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9ibG9jay1t
YXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvYmxvY2stbWFzay1vdmVybGF5LWltYWdlLW91dHNldC1leHBlY3RlZC1t
aXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4YzdiY2M5ZTgxMTk0YjA0Y2YzMzA1MDU1NWNlMGEw
MmJkZjk5M2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmxvY2st
bWFzay1vdmVybGF5LWltYWdlLW91dHNldC1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAg
KzEsMTQgQEAKKzxoZWFkPgorPHN0eWxlPgorLmJsb2NrVGVzdCB7CisgICAgICAgICBtYXJnaW46
IDI1cHg7CisgICAgICAgICBwYWRkaW5nOiA1MHB4OworICAgICAgICAgY29sb3I6d2hpdGU7CisJ
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOm1hcm9vbjsKKyAgICAgICAgIC13ZWJraXQtbWFzay1ib3gt
aW1hZ2U6IHVybChyZXNvdXJjZXMvbWFzay5wbmcpIDc1IDc1IDc1IDc1IC8gYXV0byAvIDEwMHB4
IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0iYmxvY2tU
ZXN0IiBzdHlsZT0iaGVpZ2h0OjAiPjxkaXYgc3R5bGU9ImhlaWdodDo0MDBweDsgYmFja2dyb3Vu
ZC1jb2xvcjpncmV5Ij5UaGlzIGNvbnRlbnQgc2hvdWxkIGJlIG1hc2tlZCB3aXRoIGEgc29mdCBn
bG93LjwvZGl2PjwvZGl2PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFnZS1vdXRzZXQuaHRtbCBiL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGE1MGMwMjYzNDJjODZhMDc3YTMzZGMyNDU0YTIyMzQxODZkMDlmZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0
Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGhlYWQ+Cis8c3R5bGU+CisuYmxvY2tUZXN0IHsKKyAg
ICAgICAgIG1hcmdpbjogMjVweDsKKyAgICAgICAgIHBhZGRpbmc6IDUwcHg7CisgICAgICAgICBj
b2xvcjp3aGl0ZTsKKwkgICAgIGJhY2tncm91bmQtY29sb3I6bWFyb29uOworICAgICAgICAgLXdl
YmtpdC1tYXNrLWJveC1pbWFnZTogdXJsKHJlc291cmNlcy9tYXNrLnBuZykgNzUgNzUgNzUgNzUg
LyBhdXRvIC8gLXdlYmtpdC1jYWxjKDEwMHB4KSAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxkaXYgY2xhc3M9ImJsb2NrVGVzdCIgc3R5bGU9ImhlaWdodDowIj48ZGl2IHN0
eWxlPSJoZWlnaHQ6NDAwcHg7IGJhY2tncm91bmQtY29sb3I6Z3JleSI+VGhpcyBjb250ZW50IHNo
b3VsZCBiZSBtYXNrZWQgd2l0aCBhIHNvZnQgZ2xvdy48L2Rpdj48L2Rpdj4KKzwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWM3Mzdi
NWIyZjVmNzNmY2VmNjcxZjBmMGY0MmNjNTEzNGYyMDgxNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAor
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFuIG92ZXJhbGwgYm9yZGVyIG9mIDI1IHBpeGVscy4g
PT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjUwLCBidXQgd2FzIDc4NCwgZXhwZWN0
ZWQgdG90YWwgaGVpZ2h0IG9mIDE3MCwgYnV0IHdhcyAyNAorCitUaGlzIGVsZW1lbnQgc2hvdWxk
IGhhdmUgYSBsZWZ0IGJvcmRlciBvZiAyNSBwaXhlbHMuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFs
IHdpZHRoIG9mIDIyNSwgYnV0IHdhcyA3ODQsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxMjAs
IGJ1dCB3YXMgMTgKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgYm9yZGVyIG9m
IDI1IHBpeGVscy4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2Fz
IDc4NCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDEyMCwgYnV0IHdhcyAxOAorCitUaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgYm9yZGVyIG9mIDI1IHBpeGVscy4gPT4gRkFJTDogZXhw
ZWN0ZWQgdG90YWwgd2lkdGggb2YgMjAwLCBidXQgd2FzIDc4NCwgZXhwZWN0ZWQgdG90YWwgaGVp
Z2h0IG9mIDE0NSwgYnV0IHdhcyAyMQorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0
b20gYm9yZGVyIG9mIDI1IHBpeGVscy4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2Yg
MjAwLCBidXQgd2FzIDc4NCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDE0NSwgYnV0IHdhcyAy
MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1yYWRpdXMtZXhwZWN0
ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItcmFkaXVzLWV4
cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzZmMjlmNWE5YjBmMTc4MTVlNTRlYTA2
YjQwMDI1NTYyODRlYjMxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9ib3JkZXItcmFkaXVzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwyNiBAQAor
PHN0eWxlPgorZGl2IHsKKyAgICB3aWR0aDoxMDBweDsKKyAgICBoZWlnaHQ6MTAwcHg7CisgICAg
Ym9yZGVyOiAycHggc29saWQgYmxhY2s7Cit9CisuY29udHJvbCB7CisgICAgYm9yZGVyLXJhZGl1
czo1MHB4OworfQorLnBpeGVscyB7CisgICAgYm9yZGVyLXJhZGl1czo1MHB4OworfQorLnBlcmNl
bnQgeworICAgIGJvcmRlci1yYWRpdXM6NTAlOworfQorLmJvdGggeworICAgIGJvcmRlci1yYWRp
dXM6NTAlOworfQorPC9zdHlsZT4KKworVGhpcyB0ZXN0IHNob3VsZCBoYXZlIGZvdXIgY2lyY2xl
cy4KKworPGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwaXhlbHMiPjwv
ZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJib3RoIj48L2Rp
dj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItcmFkaXVzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXJhZGl1cy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZi
ZDliYjkwOGZjNzU5ZmI1Nzg1M2Y4NDBjMDIyZjMxNjRhMjRlYWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXJhZGl1cy5odG1sCkBAIC0wLDAgKzEsMjYg
QEAKKzxzdHlsZT4KK2RpdiB7CisgICAgd2lkdGg6MTAwcHg7CisgICAgaGVpZ2h0OjEwMHB4Owor
ICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrOworfQorLmNvbnRyb2wgeworICAgIGJvcmRlci1y
YWRpdXM6NTBweDsgICAgCit9CisucGl4ZWxzIHsKKyAgICBib3JkZXItcmFkaXVzOi13ZWJraXQt
Y2FsYyg1MHB4KTsKK30KKy5wZXJjZW50IHsKKyAgICBib3JkZXItcmFkaXVzOi13ZWJraXQtY2Fs
Yyg1MCUpOworfQorLmJvdGggeworICAgIGJvcmRlci1yYWRpdXM6LXdlYmtpdC1jYWxjKDI1JSAr
IDI1cHgpOworfQorPC9zdHlsZT4KKworVGhpcyB0ZXN0IHNob3VsZCBoYXZlIGZvdXIgY2lyY2xl
cy4KKworPGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwaXhlbHMiPjwv
ZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJib3RoIj48L2Rp
dj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZhZGYzYTMwZTI1MjczMjY1NTI5ZjhmYmEzMWVhZjU5YmZhYTViYWYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKz0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRo
IG9mIDQxNiwgYnV0IHdhcyA0OCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDIwNSwgYnV0IHdh
cyAyNApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1zcGFjaW5nLmh0
bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jYTI4ODY5M2VmYjU0MDQ2NDQ5MzljNzhkMzY3Njc5NjlmMGY1NmU5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1zcGFjaW5nLmh0bWwKQEAgLTAsMCAr
MSw1OSBAQAorPCFET0NUWVBFIEhUTUw+Cis8c3R5bGU+Cit0ZCB7IHZlcnRpY2FsLWFsaWduOnRv
cDsgcGFkZGluZzogMDsgd2lkdGg6LXdlYmtpdC1jYWxjKDUwcHgpOyBoZWlnaHQ6LXdlYmtpdC1j
YWxjKDYwcHgpOyBiYWNrZ3JvdW5kLWNvbG9yOmJsdWU7IGJvcmRlcjotd2Via2l0LWNhbGMoMXB4
KSBzb2xpZCBibGFjayB9Cit0YWJsZSB7IGJvcmRlci1zcGFjaW5nOiAtd2Via2l0LWNhbGMoMTBw
eCAqIDIgKyA1cHgpOyBib3JkZXI6M3B4IHNvbGlkIGJsYWNrOyBwb3NpdGlvbjpyZWxhdGl2ZSB9
Cis8L3N0eWxlPgorCis8dGFibGUgaWQ9InN0aW11bHVzIj4KKyAgICA8dHI+CisgICAgICAgIDx0
ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0
ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICA8L3RyPgorICAgIDx0cj4KKyAgICAgICAg
PHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAg
PHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgIDwvdHI+Cis8L3RhYmxlPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaW5u
ZXJCb3JkZXIgPSAxOwordmFyIG91dGVyQm9yZGVyID0gMzsKK3ZhciBpbm5lcldpZHRoID0gNTAg
KyAyICogaW5uZXJCb3JkZXI7Cit2YXIgaW5uZXJIZWlnaHQgPSA2MCArIDIgKiBpbm5lckJvcmRl
cjsKK3ZhciBib3JkZXJTcGFjaW5nID0gMjU7Cit2YXIgcm93cyA9IDI7Cit2YXIgY29sdW1ucyA9
IDU7CisKK3ZhciBleHBlY3RlZFdpZHRoID0gaW5uZXJXaWR0aCAqIGNvbHVtbnMgKyBib3JkZXJT
cGFjaW5nICogKGNvbHVtbnMgKyAxKSArIDIgKiBvdXRlckJvcmRlcjsKK3ZhciBleHBlY3RlZEhl
aWdodCA9IGlubmVySGVpZ2h0ICogcm93cyArIGJvcmRlclNwYWNpbmcgKiAocm93cyArIDEpICsg
MiAqIG91dGVyQm9yZGVyOworCit2YXIgZWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0
aW11bHVzIik7CisKK3ZhciB3aWR0aCA9IGVsdC5vZmZzZXRXaWR0aDsKK3ZhciBoZWlnaHQgPSBl
bHQub2Zmc2V0SGVpZ2h0OworCit2YXIgZXJyb3IgPSBbXTsKK2lmICh3aWR0aCAhPSBleHBlY3Rl
ZFdpZHRoKQorICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mICIgKyBleHBl
Y3RlZFdpZHRoICsgIiwgYnV0IHdhcyAiICsgd2lkdGgpOworaWYgKGhlaWdodCAhPSBleHBlY3Rl
ZEhlaWdodCkKKyAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgIiArIGV4
cGVjdGVkSGVpZ2h0ICsgIiwgYnV0IHdhcyAiICsgaGVpZ2h0KTsKKworcmVzdWx0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpOworaWYgKGVycm9yID09ICIiKSB7CisgICAgZWx0
LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgcmVzdWx0LmlubmVySFRNTCAr
PSAiID0+IFBBU1MiOworfSBlbHNlIHsKKyAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0g
InJlZCI7CisgICAgcmVzdWx0LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJvci5qb2lu
KCIsICIpOworfQorPC9zY3JpcHQ+ICAgIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2JvcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE1NzcyZjliYTk3YzBmMDhiMGMxNTNkMGIwODEzYTNlZjA5NDc3NWQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLmh0bWwKQEAgLTAsMCArMSw3
NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8c3R5bGU+CitwIHsKKyAgICB3aWR0aDotd2Via2l0LWNh
bGMoMjAwcHgpOyBoZWlnaHQ6LXdlYmtpdC1jYWxjKDEyMHB4KTsKK30KKy5zaW1wbGUtYWxsIHsK
KyAgICBib3JkZXI6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCkgc29saWQ7Cit9CisKKy5zaW1w
bGUtbGVmdCB7CisgICAgYm9yZGVyLWxlZnQ6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCkgc29s
aWQ7Cit9Cisuc2ltcGxlLXJpZ2h0IHsKKyAgICBib3JkZXItcmlnaHQ6IC13ZWJraXQtY2FsYygx
M3B4ICsgMTJweCkgc29saWQ7Cit9Cisuc2ltcGxlLXRvcCB7CisgICAgYm9yZGVyLXRvcDogLXdl
YmtpdC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAgICBi
b3JkZXItYm90dG9tOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlkOworfQorPC9zdHls
ZT4KKworPHAgY2xhc3M9InNpbXBsZS1hbGwiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhbiBv
dmVyYWxsIGJvcmRlciBvZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS1sZWZ0Ij5U
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IGJvcmRlciBvZiAyNSBwaXhlbHMuPC9wPgor
PHAgY2xhc3M9InNpbXBsZS1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQg
Ym9yZGVyIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLXRvcCI+VGhpcyBlbGVt
ZW50IHNob3VsZCBoYXZlIGEgdG9wIGJvcmRlciBvZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xhc3M9
InNpbXBsZS1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBib3JkZXIg
b2YgMjUgcGl4ZWxzLjwvcD4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaW5u
ZXJXaWR0aCA9IDIwMDsKK3ZhciBpbm5lckhlaWdodCA9IDEyMDsKK3ZhciBib3JkZXIgPSAyNTsK
KwordmFyIHRlc3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInAiKTsKK2ZvciAo
dmFyIGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgZWx0ID0gdGVzdHNb
aV07CisgICAgdmFyIHdpZHRoID0gZWx0Lm9mZnNldFdpZHRoOworICAgIHZhciBoZWlnaHQgPSBl
bHQub2Zmc2V0SGVpZ2h0OworCisgICAgdmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldpZHRoOwor
ICAgIHZhciBleHBlY3RlZEhlaWdodCA9IGlubmVySGVpZ2h0OworCisgICAgc3dpdGNoIChlbHQu
Y2xhc3NOYW1lLnNwbGl0KCItIilbMV0pIHsKKyAgICBjYXNlICJhbGwiOgorICAgICAgICBleHBl
Y3RlZFdpZHRoICs9IDIgKiBib3JkZXI7CisgICAgICAgIGV4cGVjdGVkSGVpZ2h0ICs9IDIgKiBi
b3JkZXI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgInRvcCI6CisgICAgY2FzZSAiYm90dG9t
IjoKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gYm9yZGVyOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlICJsZWZ0IjoKKyAgICBjYXNlICJyaWdodCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGgg
Kz0gYm9yZGVyOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICB2YXIgZXJyb3IgPSBbXTsK
KyAgICBpZiAod2lkdGggIT0gZXhwZWN0ZWRXaWR0aCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhw
ZWN0ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3
aWR0aCk7CisgICAgaWYgKGhlaWdodCAhPSBleHBlY3RlZEhlaWdodCkKKyAgICAgICAgZXJyb3Iu
cHVzaCgiZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mICIgKyBleHBlY3RlZEhlaWdodCArICIsIGJ1
dCB3YXMgIiArIGhlaWdodCk7CisKKyAgICByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlc3VsdHMiKTsKKyAgICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgZWx0LnN0eWxl
LmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAgIGVsdC5pbm5lckhUTUwgKz0gIiA9
PiBQQVNTIjsKKyAgICB9IGVsc2UgeworICAgICAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9y
ID0gInJlZCI7CisgICAgICAgIGVsdC5pbm5lckhUTUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iu
am9pbigiLCAiKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9jb2xvci1oc2wtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2NvbG9yLWhzbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ3OWJiY2MxNTkyNzFjNzNiMmNk
NGY0OTkzMWY3MzhiNTJjYTlhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9jb2xvci1oc2wtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhlc2UgdHdvIHNl
bnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hv
dWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUg
c2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IK
K1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1oc2wuaHRtbCBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1oc2wuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mODNiZmYw
ZTFhZTdmMDIzNTFiMDJjZThkMDZhYTBkNDRiM2M5ZTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sCkBAIC0wLDAgKzEsNDEgQEAKKzxzdHls
ZSB0eXBlPSJ0ZXh0L2NzcyI+CitkaXYge2NvbG9yOiByZWQ7fQorI2NvbnRyb2xzaW1wbGUge2Nv
bG9yOiBoc2woMTIwLDc1JSw1MCUpO30KKyNzaW1wbGUge2NvbG9yOiBoc2woLXdlYmtpdC1jYWxj
KDEyMCksLXdlYmtpdC1jYWxjKDc1JSksLXdlYmtpdC1jYWxjKDUwJSkpO30KKworI2NvbnRyb2xh
bHBoYSB7Y29sb3I6IGhzbGEoMTIwLDc1JSw1MCUsMC43KTt9CisjYWxwaGEge2NvbG9yOiBoc2xh
KC13ZWJraXQtY2FsYygxMjApLC13ZWJraXQtY2FsYyg3NSUpLC13ZWJraXQtY2FsYyg1MCUpLCAt
d2Via2l0LWNhbGMoMC43KSk7fQorPC9zdHlsZT4KKworPGRpdiBpZD0iY29udHJvbHNpbXBsZSI+
VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxkaXYg
aWQ9InNpbXBsZSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3I8
L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJjb250cm9sYWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMg
c2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJhbHBoYSI+VGhlc2UgdHdv
IHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxoci8+Cis8ZGl2IGlk
PSJyZXN1bHRzIj48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit0ZXN0cyA9
IFsic2ltcGxlIiwgImFscGhhIl07CisKK3ZhciBzdWNjZXNzID0gdHJ1ZTsKKworZm9yIChpID0g
MDsgaSA8IHRlc3RzLmxlbmd0aDsgaSsrKSB7CisgICAgdmFyIHRlc3QgPSB0ZXN0c1tpXTsKKyAg
ICB2YXIgZXhwZWN0ZWQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250cm9sIiArIHRlc3QpLCBudWxsKS5jb2xvcjsKKyAgICB2YXIgYWN0dWFsID0gZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0ZXN0KSwgbnVsbCkuY29sb3I7Cisg
ICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGFjdHVhbCA9PSBleHBlY3RlZCk7Cit9CisKK3ZhciBy
ZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKK2lmIChzdWNjZXNz
KSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJncmVlbiI7CisgICAgcmVzdWx0cy5pbm5l
ckhUTUwgPSAiUEFTUyI7Cit9IGVsc2UgeworICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAicmVk
IjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJGQUlMIjsKK30KKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZWNj
MDBkMDJhNzIwYjcwMDFkYTlhM2VjODM3OTdiODYyYTMyNjQxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5
IEBACitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2Ug
dHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5j
ZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBi
ZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUg
Y29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRl
bmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NzczMvY2FsYy9jb2xvci1yZ2IuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xv
ci1yZ2IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ODAyOWE4NzBhYTEyNjNmZWQxNTM2OTc5OGEyZDBhNmI2
YzY0M2YwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJn
Yi5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitkaXYge2Nv
bG9yOiByZWQ7fQorI2NvbnRyb2xzaW1wbGUge2NvbG9yOiByZ2IoMTAsMTgwLDMwKTt9Cisjc2lt
cGxlIHtjb2xvcjogcmdiKC13ZWJraXQtY2FsYygxMCksLXdlYmtpdC1jYWxjKDE4ICogMTApLC13
ZWJraXQtY2FsYygzMCkpO30KKyNjb250cm9scGVyY2VudHNpbXBsZSB7Y29sb3I6IHJnYigxMCUs
OTUlLDMwJSk7fQorI3BlcmNlbnRzaW1wbGUge2NvbG9yOiByZ2IoLXdlYmtpdC1jYWxjKDIlICsg
OCUpLC13ZWJraXQtY2FsYyg5NSUpLC13ZWJraXQtY2FsYygzJSAqIDEwKSk7fQorCisjY29udHJv
bGFscGhhIHtjb2xvcjogcmdiYSgxMCwxODAsMzAsMC43KTt9CisjYWxwaGEge2NvbG9yOiByZ2Jh
KC13ZWJraXQtY2FsYygxMCksLXdlYmtpdC1jYWxjKDE4MCksLXdlYmtpdC1jYWxjKDMwKSwgLXdl
YmtpdC1jYWxjKDAuMzUgKiAyKSk7fQorI2NvbnRyb2xwZXJjZW50YWxwaGEge2NvbG9yOiByZ2Jh
KDEwJSw5NSUsMzAlLDAuNyk7fQorI3BlcmNlbnRhbHBoYSB7Y29sb3I6IHJnYmEoLXdlYmtpdC1j
YWxjKDIgKiA1JSksLXdlYmtpdC1jYWxjKDEwMCUgLSA1JSksLXdlYmtpdC1jYWxjKDMwJSksLXdl
YmtpdC1jYWxjKDAuMiAqIDMgKyAwLjEpKTt9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJjb250cm9s
c2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2
PgorPGRpdiBpZD0ic2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2Ft
ZSBjb2xvcjwvZGl2PgorPGhyLz4KKzxkaXYgaWQ9ImNvbnRyb2xwZXJjZW50c2ltcGxlIj5UaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGRpdiBpZD0i
cGVyY2VudHNpbXBsZSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgIGJlIHRoZSBzYW1lIGNv
bG9yPC9kaXY+Cis8aHIvPgorPGRpdiBpZD0iY29udHJvbGFscGhhIj5UaGVzZSB0d28gc2VudGVu
Y2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGRpdiBpZD0iYWxwaGEiPlRoZXNl
IHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8aHIvPgorPGRp
diBpZD0iY29udHJvbHBlcmNlbnRhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgIGJl
IHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJwZXJjZW50YWxwaGEiPlRoZXNlIHR3byBz
ZW50ZW5jZXMgc2hvdWxkICBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGhyLz4KKzxkaXYgaWQ9
InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3Rlc3RzID0g
WyJzaW1wbGUiLCAiYWxwaGEiXTsKKwordmFyIHN1Y2Nlc3MgPSB0cnVlOworCitmb3IgKGkgPSAw
OyBpIDwgdGVzdHMubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgdGVzdCA9IHRlc3RzW2ldOworICAg
IHZhciBleHBlY3RlZHNpbXBsZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRyb2wiICsgdGVzdCksIG51bGwpLmNvbG9yOworICAgIHZhciBhY3R1YWxzaW1w
bGUgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRlc3QpLCBudWxs
KS5jb2xvcjsKKyAgICB2YXIgZXhwZWN0ZWRwZXJjZW50ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbHBlcmNlbnQiICsgdGVzdCksIG51bGwpLmNvbG9y
OworICAgIHZhciBhY3R1YWxwZXJjZW50ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGVyY2VudCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7ICAgIAorICAgIHN1Y2Nl
c3MgPSBzdWNjZXNzICYmIChhY3R1YWxzaW1wbGUgPT0gZXhwZWN0ZWRzaW1wbGUpICYmIChhY3R1
YWxwZXJjZW50ID09IGV4cGVjdGVkcGVyY2VudCk7Cit9CisKK3ZhciByZXN1bHRzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKK2lmIChzdWNjZXNzKSB7CisgICAgcmVzdWx0
cy5zdHlsZS5jb2xvciA9ICJncmVlbiI7CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiUEFTUyI7
Cit9IGVsc2UgeworICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAicmVkIjsKKyAgICByZXN1bHRz
LmlubmVySFRNTCA9ICJGQUlMIjsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL2NzczMtcmFkaWFsLWdyYWRpZW50cy1leHBlY3RlZC1taXNtYXRjaC5odG1s
IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NzczMtcmFkaWFsLWdyYWRpZW50cy1leHBlY3RlZC1t
aXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViYzkyZThhNmZlYmUxMGVlM2NiN2JkNWQ0OTIwMjhj
ZWQ1YjAyNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY3NzMy1y
YWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSw3MSBAQAor
PCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyIgbWVkaWE9InNjcmVlbiI+CisgICAgLmJveCB7CisgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxv
Y2s7CisgICAgICBoZWlnaHQ6IDEyMHB4OworICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgbWFy
Z2luOiAxMHB4OworICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICBiYWNrZ3Jv
dW5kLXJlcGVhdDogbm8tcmVwZWF0OworICAgIH0KKworICAgIC5ncmFkaWVudDEgeworICAgICAg
YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoNTBweCA1MCUsIGNpcmNs
ZSBjbG9zZXN0LXNpZGUsIHdoaXRlLCBibGFjayk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAt
bW96LXJhZGlhbC1ncmFkaWVudCg1MHB4IDUwJSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUs
IGJsYWNrKTsKKyAgICB9CisgICAgCisgICAgLmdyYWRpZW50MiB7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgyMHB4IDUwcHgsIGVsbGlwc2UgY2xvc2Vz
dC1jb3JuZXIsIHdoaXRlLCBibGFjayk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJh
ZGlhbC1ncmFkaWVudCgyMHB4IDUwcHgsIGVsbGlwc2UgY2xvc2VzdC1jb3JuZXIsIHdoaXRlLCBi
bGFjayk7CisgICAgfQorCisgICAgLmdyYWRpZW50MyB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdl
OiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgyMCUgMjAlLCBjaXJjbGUgY2xvc2VzdC1jb3JuZXIs
IHdoaXRlLCBibGFjayk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFk
aWVudCgyMCUgMjAlLCBjaXJjbGUgY2xvc2VzdC1jb3JuZXIsIHdoaXRlLCBibGFjayk7CisgICAg
fQorCisgICAgLmdyYWRpZW50NCB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJh
ZGlhbC1ncmFkaWVudChsZWZ0LCBjaXJjbGUgY292ZXIsIHJlZCwgZ3JlZW4gMzAlLCBibHVlKTsK
KyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KGxlZnQsIGNpcmNs
ZSBjb3ZlciwgcmVkLCBncmVlbiAzMCUsIGJsdWUpOworICAgIH0KKworICAgIC5ncmFkaWVudDUg
eworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoZWxsaXBz
ZSBjb3ZlciwgcmVkLCBncmVlbiA4MHB4LCBibHVlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IC1tb3otcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgY292ZXIsIHJlZCwgZ3JlZW4gODBweCwgYmx1
ZSk7CisgICAgfQorCisgICAgLmdyYWRpZW50NiB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAt
d2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUgY292ZXIsIHJlZCAyMCUsIGdyZWVuLCBibHVl
IDE1MCUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2ly
Y2xlIGNvdmVyLCByZWQgMjAlLCBncmVlbiwgYmx1ZSAxNTAlKTsKKyAgICB9CisKKyAgICAuZ3Jh
ZGllbnQ3IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50
KDIwJSAyMCUsIGNpcmNsZSBjbG9zZXN0LWNvcm5lciwgcmVkIC01MCUsIGdyZWVuLCBibHVlIDE1
MCUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoMjAlIDIw
JSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCByZWQgLTUwJSwgZ3JlZW4sIGJsdWUgMTUwJSk7Cisg
ICAgfQorCisgIDwvc3R5bGU+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFy
c2V0PSJ1dGYtOCI+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgdmFyIGR1bXBQaXhlbHMgPSB0cnVlOworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dChkdW1wUGl4ZWxzKTsKKyAgICB9CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
CisKKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQxIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9Imdy
YWRpZW50MiBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDMgYm94Ij48L2Rpdj4K
KyAgPGJyPgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDQgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iZ3JhZGllbnQ1IGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NiBib3giPjwv
ZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NyBib3giPjwvZGl2PgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY3NzMy1yYWRp
YWwtZ3JhZGllbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY3NzMy1yYWRpYWwtZ3Jh
ZGllbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTcxZWI3Y2M3ZDJiZTIwN2U0Y2M2NGNkYzhkZGFjN2I3
YWY0ZmEwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jc3MzLXJh
ZGlhbC1ncmFkaWVudHMuaHRtbApAQCAtMCwwICsxLDcxIEBACis8IURPQ1RZUEUgaHRtbD4KKwor
PGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4K
KyAgICAuYm94IHsKKyAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgIGhlaWdodDog
MTIwcHg7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgICBtYXJnaW46IDEwcHg7CisgICAgICBi
b3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBl
YXQ7CisgICAgfQorCisgICAgLmdyYWRpZW50MSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAt
d2Via2l0LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoNTBweCkgLXdlYmtpdC1jYWxjKDUw
JSksIGNpcmNsZSBjbG9zZXN0LXNpZGUsIHdoaXRlLCBibGFjayk7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoNTBweCkgLXdlYmtpdC1j
YWxjKDUwJSksIGNpcmNsZSBjbG9zZXN0LXNpZGUsIHdoaXRlLCBibGFjayk7CisgICAgfQorICAg
IAorICAgIC5ncmFkaWVudDIgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRp
YWwtZ3JhZGllbnQoLXdlYmtpdC1jYWxjKDIwcHgpIC13ZWJraXQtY2FsYyg1MHB4KSwgZWxsaXBz
ZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IC1tb3otcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYygyMHB4KSAtd2Via2l0LWNhbGMoNTBw
eCksIGVsbGlwc2UgY2xvc2VzdC1jb3JuZXIsIHdoaXRlLCBibGFjayk7CisgICAgfQorCisgICAg
LmdyYWRpZW50MyB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFk
aWVudCgtd2Via2l0LWNhbGMoMjAlKSAtd2Via2l0LWNhbGMoMjAlKSwgY2lyY2xlIGNsb3Nlc3Qt
Y29ybmVyLCB3aGl0ZSwgYmxhY2spOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRp
YWwtZ3JhZGllbnQoLXdlYmtpdC1jYWxjKDIwJSkgLXdlYmtpdC1jYWxjKDIwJSksIGNpcmNsZSBj
bG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQ0IHsK
KyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGxlZnQsIGNp
cmNsZSBjb3ZlciwgcmVkLCBncmVlbiAtd2Via2l0LWNhbGMoMzAlKSwgYmx1ZSk7CisgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChsZWZ0LCBjaXJjbGUgY292ZXIs
IHJlZCwgZ3JlZW4gLXdlYmtpdC1jYWxjKDMwJSksIGJsdWUpOworICAgIH0KKworICAgIC5ncmFk
aWVudDUgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQo
ZWxsaXBzZSBjb3ZlciwgcmVkLCBncmVlbiAtd2Via2l0LWNhbGMoODBweCksIGJsdWUpOworICAg
ICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBjb3Zlciwg
cmVkLCBncmVlbiAtd2Via2l0LWNhbGMoODBweCksIGJsdWUpOworICAgIH0KKworICAgIC5ncmFk
aWVudDYgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQo
Y2lyY2xlIGNvdmVyLCByZWQgLXdlYmtpdC1jYWxjKDIwJSksIGdyZWVuLCBibHVlIC13ZWJraXQt
Y2FsYygxNTAlKSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVu
dChjaXJjbGUgY292ZXIsIHJlZCAtd2Via2l0LWNhbGMoMjAlKSwgZ3JlZW4sIGJsdWUgLXdlYmtp
dC1jYWxjKDE1MCUpKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQ3IHsKKyAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYygyMCUpIC13ZWJr
aXQtY2FsYygyMCUpLCBjaXJjbGUgY2xvc2VzdC1jb3JuZXIsIHJlZCAtNTAlLCBncmVlbiwgYmx1
ZSAtd2Via2l0LWNhbGMoMTUwJSkpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRp
YWwtZ3JhZGllbnQoLXdlYmtpdC1jYWxjKDIwJSkgLXdlYmtpdC1jYWxjKDIwJSksIGNpcmNsZSBj
bG9zZXN0LWNvcm5lciwgcmVkIC01MCUsIGdyZWVuLCBibHVlIC13ZWJraXQtY2FsYygxNTAlKSk7
CisgICAgfQorCisgIDwvc3R5bGU+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBj
aGFyc2V0PSJ1dGYtOCI+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgICAgdmFyIGR1bXBQaXhlbHMgPSB0cnVlOworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dChkdW1wUGl4ZWxzKTsKKyAgICB9CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+CisKKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQxIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImdyYWRpZW50MiBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDMgYm94Ij48L2Rp
dj4KKyAgPGJyPgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDQgYm94Ij48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iZ3JhZGllbnQ1IGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NiBib3gi
PjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NyBib3giPjwvZGl2PgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTUwNWRlNmQzYjcxNGUwMGQ0Mzc4MTZiM2UxZWJmMjcyOTg3MDhjMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDkgQEAKK1RoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVz
IHNob3VsZCBiZSBpZGVudGljYWwKK1RoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9mIHRo
ZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWwKK1RoZSBmb250IHNpemUgYW5kIGxpbmUgaGVp
Z2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWwKK1RoZSBmb250IHNpemUgYW5k
IGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWwKK1RoZSBmb250
IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWwK
K0ZBSUwKK0xpbmUgaGVpZ2h0cyBkbyBub3QgbWF0Y2gKKworTGluZSB3aWR0aHMgZG8gbm90IG1h
dGNoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1tb25vc3BhY2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtbW9ub3NwYWNlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41YjQ1NzZkZTI5MzIyNTExMDAzMGVlMDAwYzRjNzIxMmRjMjJlYzEx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtbW9ub3NwYWNl
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1RoZSBmb250IHNpemUgYW5kIGxpbmUgaGVp
Z2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWwKK1RoZSBmb250IHNpemUgYW5k
IGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWwKK0ZBSUwKK0xp
bmUgaGVpZ2h0cyBkbyBub3QgbWF0Y2gKKworRm9udCBzaXplcyBkbyBub3QgbWF0Y2gKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LW1vbm9zcGFjZS5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2ZvbnQtbW9ub3NwYWNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYThlNGY1Y2Uy
MTM2NzIwNjE4NzBjYTg3YWU0ZmViMDM4ZmY0NDQ1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NzczMvY2FsYy9mb250LW1vbm9zcGFjZS5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzxz
dHlsZT4gCitib2R5ICAgICB7Zm9udC1zaXplOiAxMnB4O30KKyNjb250cm9sIHtmb250OiBpdGFs
aWMgc21hbGwtY2FwcyA5MDAgMTUwJS8yZW0gbW9ub3NwYWNlO30KKyNjYWxjICAgIHtmb250OiBp
dGFsaWMgc21hbGwtY2FwcyA5MDAgLXdlYmtpdC1jYWxjKDE1MCUpLzJlbSBtb25vc3BhY2U7fQor
PC9zdHlsZT4KKworPGRpdj4KKzxzcGFuIGlkPSJjb250cm9sIj5UaGUgZm9udCBzaXplIGFuZCBs
aW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGhy
Lz4KKzxzcGFuIGlkPSJjYWxjIj5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVz
ZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPC9kaXY+Cis8aHIvPgorPGRpdiBp
ZD0icmVzdWx0cyI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK3ZhciBjb250
cm9sSGVpZ2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dHJvbCIpLCBudWxsKS5saW5lSGVpZ2h0OwordmFyIGNvbnRyb2xTaXplID0gZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIpLCBudWxsKS5mb250U2l6ZTsK
KwordmFyIHNwYW5zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKK3Zh
ciBzYW1lSGVpZ2h0ID0gdHJ1ZTsKK3ZhciBzYW1lU2l6ZSA9IHRydWU7Citmb3IgKHZhciBpID0g
MDsgaSA8IHNwYW5zLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGN1cnJlbnQgPSBzcGFuc1tpXTsK
KyAgICBpZiAoc2FtZUhlaWdodCkKKyAgICAgICAgc2FtZUhlaWdodCA9IGdldENvbXB1dGVkU3R5
bGUoY3VycmVudCwgbnVsbCkubGluZUhlaWdodCA9PSBjb250cm9sSGVpZ2h0OworICAgIGlmIChz
YW1lU2l6ZSkKKyAgICAgICAgc2FtZVNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnQsIG51
bGwpLmZvbnRTaXplID09IGNvbnRyb2xTaXplOworfQorCit2YXIgcmVzdWx0cyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZUhlaWdodCAmJiBzYW1lU2l6ZSkg
eworICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3VsdHMuaW5uZXJI
VE1MID0gIlBBU1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gInJlZCI7
CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIGlmICghc2FtZUhlaWdo
dCkKKyAgICAgICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gIjxwPkxpbmUgaGVpZ2h0cyBkbyBub3Qg
bWF0Y2g8L3A+IjsKKyAgICBpZiAoIXNhbWVTaXplKQorICAgICAgICByZXN1bHRzLmlubmVySFRN
TCArPSAiPHA+Rm9udCBzaXplcyBkbyBub3QgbWF0Y2g8L3A+IjsKK30KKworPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI1MzUxODA2YWY2YzBhZmMyNmY3OWNlMjk2YmIzNzAyYmRiYjMwZWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoZSBmb250IHNpemUgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNh
bCAKK1RoZSBmb250IHNpemUgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbCAKK1Ro
ZSBmb250IHNpemUgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorRkFJTAorQ29t
cHV0ZWQgZm9udCBzaXplcyBkbyBub3QgbWF0Y2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9mb250LXNpemUtZnJhY3Rpb25hbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9uYWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVi
NDU3NmRlMjkzMjI1MTEwMDMwZWUwMDBjNGM3MjEyZGMyMmVjMTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9uYWwtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNiBAQAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2Ug
bGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQg
b2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorRkFJTAorTGluZSBoZWlnaHRzIGRv
IG5vdCBtYXRjaAorCitGb250IHNpemVzIGRvIG5vdCBtYXRjaApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2ZvbnQtc2l6ZS1mcmFjdGlvbmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9uYWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YjlmNjkzMWU4
NmQ0ZWZhYmVhMjVhZWJhNTc1ZWVlNmNkNzQzMThkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2ZvbnQtc2l6ZS1mcmFjdGlvbmFsLmh0bWwKQEAgLTAsMCArMSw0NSBA
QAorPHN0eWxlPiAKK2JvZHkgICAgICAgICB7IGZvbnQtc2l6ZTogMTJweDt9CisjY29udHJvbCAg
ICAge2ZvbnQ6IG5vcm1hbCA0MDAgODAlLzIuNSBzYW5zLXNlcmlmO30KKyNjYWxjLXJlZHVjZSB7
Zm9udDogbm9ybWFsIDQwMCAtd2Via2l0LWNhbGMoODAlKS8yLjUgc2Fucy1zZXJpZjt9Cis8L3N0
eWxlPgorCis8ZGl2PgorPHNwYW4gaWQ9ImNvbnRyb2wiPlRoZSBmb250IHNpemUgYW5kIGxpbmUg
aGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgor
PHNwYW4gaWQ9ImNhbGMtcmVkdWNlIj5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0
aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPC9kaXY+Cis8aHIvPgorPGRp
diBpZD0icmVzdWx0cyI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK3ZhciBj
b250cm9sSGVpZ2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29udHJvbCIpLCBudWxsKS5saW5lSGVpZ2h0OwordmFyIGNvbnRyb2xTaXplID0gZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIpLCBudWxsKS5mb250U2l6
ZTsKKwordmFyIHNwYW5zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsK
K3ZhciBzYW1lSGVpZ2h0ID0gdHJ1ZTsKK3ZhciBzYW1lU2l6ZSA9IHRydWU7Citmb3IgKHZhciBp
ID0gMDsgaSA8IHNwYW5zLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGN1cnJlbnQgPSBzcGFuc1tp
XTsKKyAgICBpZiAoc2FtZUhlaWdodCkKKyAgICAgICAgc2FtZUhlaWdodCA9IGdldENvbXB1dGVk
U3R5bGUoY3VycmVudCwgbnVsbCkubGluZUhlaWdodCA9PSBjb250cm9sSGVpZ2h0OworICAgIGlm
IChzYW1lU2l6ZSkKKyAgICAgICAgc2FtZVNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnQs
IG51bGwpLmZvbnRTaXplID09IGNvbnRyb2xTaXplOworfQorCit2YXIgcmVzdWx0cyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZUhlaWdodCAmJiBzYW1lU2l6
ZSkgeworICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3VsdHMuaW5u
ZXJIVE1MID0gIlBBU1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gInJl
ZCI7CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIGlmICghc2FtZUhl
aWdodCkKKyAgICAgICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gIjxwPkxpbmUgaGVpZ2h0cyBkbyBu
b3QgbWF0Y2g8L3A+IjsKKyAgICBpZiAoIXNhbWVTaXplKQorICAgICAgICByZXN1bHRzLmlubmVy
SFRNTCArPSAiPHA+Rm9udCBzaXplcyBkbyBub3QgbWF0Y2g8L3A+IjsKK30KKworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLmh0bWwgYi9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTI4ZmZmNGE4ZGVm
NzExOTMzOWQ5NjRjOTVhNTA3YmRjZmQxMGYxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvY2FsYy9mb250LXNpemUuaHRtbApAQCAtMCwwICsxLDQwIEBACis8c3R5bGU+IAor
I2NvbnRyb2wge2ZvbnQtc2l6ZTogMjAwJTt9CisjY2FsYy1wZXJjZW50IHtmb250LXNpemU6IC13
ZWJraXQtY2FsYygyMDAlKTt9CisjY2FsYy1wZXJjZW50LXBpeGVscyB7Zm9udC1zaXplOiAtd2Vi
a2l0LWNhbGMoMTUwJSArIDEwcHgpO30KKzwvc3R5bGU+CisKKzxkaXYgc3R5bGU9ImZvbnQtc2l6
ZTogMjBweDsiPgorPHNwYW4gaWQ9ImNvbnRyb2wiPlRoZSBmb250IHNpemUgb2YgdGhlc2UgbGlu
ZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxici8+Cis8c3BhbiBpZD0iY2FsYy1wZXJj
ZW50Ij5UaGUgZm9udCBzaXplIG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3Nw
YW4+Cis8YnIvPgorPHNwYW4gaWQ9ImNhbGMtcGVyY2VudC1waXhlbHMiPlRoZSBmb250IHNpemUg
b2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8L2Rpdj4K
KzxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cit2
YXIgY29udHJvbFNpemUgPSAgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udHJvbCIpLCBudWxsKS5mb250U2l6ZQorCit2YXIgc3BhbnMgPSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgic3BhbiIpOwordmFyIHNhbWVTaXplID0gdHJ1ZTsKK2ZvciAodmFy
IGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgY3VycmVudCA9IHNwYW5z
W2ldOworICAgIGlmIChzYW1lU2l6ZSkKKyAgICAgICAgc2FtZVNpemUgPSBnZXRDb21wdXRlZFN0
eWxlKGN1cnJlbnQsIG51bGwpLmZvbnRTaXplID09IGNvbnRyb2xTaXplOworfQorCit2YXIgcmVz
dWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZVNpemUp
IHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVy
SFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQi
OworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOyAgICAKKyAgICByZXN1bHRzLmlubmVy
SFRNTCArPSAiPHA+Q29tcHV0ZWQgZm9udCBzaXplcyBkbyBub3QgbWF0Y2g8L3A+IjsKK30KKwor
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjA5MmYzNTBiMzJj
YjdhNTcwNGI4MWRhMGM2ZjllNzYzYmU1YjlhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL2ZvbnQuaHRtbApAQCAtMCwwICsxLDUzIEBACis8c3R5bGU+IAorI2NvbnRy
b2wgICAgICAgICAgICAge2ZvbnQ6IDEuNWVtLzYzcHggc2Fucy1zZXJpZjt9CisjY2FsYy1zaXpl
ICAgICAgICAgICB7Zm9udDogLXdlYmtpdC1jYWxjKDEuNWVtKS82M3B4IHNhbnMtc2VyaWZ9Cisj
Y2FsYy1oZWlnaHQgICAgICAgICB7Zm9udDogMS41ZW0vLXdlYmtpdC1jYWxjKDEyNnB4IC8gMikg
c2Fucy1zZXJpZn0KKyNjYWxjLWJvdGggICAgICAgICAgIHtmb250OiAtd2Via2l0LWNhbGMoMS41
ZW0pLy13ZWJraXQtY2FsYyg2M3B4KSBzYW5zLXNlcmlmfQorI2NhbGMtcGVyY2VudC1zaXplICAg
e2ZvbnQ6IC13ZWJraXQtY2FsYygxMDAlICsgMC41ZW0pLzYzcHggc2Fucy1zZXJpZn0KKzwvc3R5
bGU+CisKKzxkaXY+Cis8c3BhbiBpZD0iY29udHJvbCI+VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBo
ZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8
c3BhbiBpZD0iY2FsYy1zaXplIj5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVz
ZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGhyLz4KKzxzcGFuIGlkPSJjYWxj
LWhlaWdodCI+VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hv
dWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYy1ib3RoIj5UaGUg
Zm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRp
Y2FsPC9zcGFuPgorPGhyLz4KKzxzcGFuIGlkPSJjYWxjLXBlcmNlbnQtc2l6ZSI+VGhlIGZvbnQg
c2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwv
c3Bhbj4KKzwvZGl2PgorPGhyLz4KKzxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0
PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7Cit2YXIgY29udHJvbEhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRyb2wiKSwgbnVsbCkubGluZUhlaWdodDsKK3Zh
ciBjb250cm9sU2l6ZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRyb2wiKSwgbnVsbCkuZm9udFNpemU7CisKK3ZhciBzcGFucyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJzcGFuIik7Cit2YXIgc2FtZUhlaWdodCA9IHRydWU7Cit2YXIgc2Ft
ZVNpemUgPSB0cnVlOworZm9yICh2YXIgaSA9IDA7IGkgPCBzcGFucy5sZW5ndGg7ICsraSkgewor
ICAgIHZhciBjdXJyZW50ID0gc3BhbnNbaV07CisgICAgaWYgKHNhbWVIZWlnaHQpCisgICAgICAg
IHNhbWVIZWlnaHQgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnQsIG51bGwpLmxpbmVIZWlnaHQg
PT0gY29udHJvbEhlaWdodDsKKyAgICBpZiAoc2FtZVNpemUpCisgICAgICAgIHNhbWVTaXplID0g
Z2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50LCBudWxsKS5mb250U2l6ZSA9PSBjb250cm9sU2l6ZTsK
K30KKwordmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOwor
aWYgKHNhbWVIZWlnaHQgJiYgc2FtZVNpemUpIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0g
ImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7CisgICAg
cmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZB
SUwiOyAgICAKKyAgICBpZiAoIXNhbWVIZWlnaHQpCisgICAgICAgIHJlc3VsdHMuaW5uZXJIVE1M
ICs9ICI8cD5MaW5lIGhlaWdodHMgZG8gbm90IG1hdGNoPC9wPiI7CisgICAgaWYgKCFzYW1lU2l6
ZSkKKyAgICAgICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gIjxwPkxpbmUgd2lkdGhzIGRvIG5vdCBt
YXRjaDwvcD4iOworfQorCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTRjYTU1MmZiOGJmNzUyNmU1MDZiM2IzODkwNDVkZjVk
ZjE3NDE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dldENvbXB1
dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAor
VGVzdCBjYWxsaW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQgbWFyZ2luIHN0eWxlcy4K
KworbWFyZ2luLWxlZnQ6IDBweAorbWFyZ2luLXRvcDogMHB4CittYXJnaW4tcmlnaHQ6IDBweAor
bWFyZ2luLWJvdHRvbTogMHB4CitUZXN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sIGIvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zYzZmYTBhMjZkOTk0MDkzMDMzZTI5ZGZjNTY0MDQ1ODkyMDI2OGRiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBl
cmNlbnRhZ2UuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICAjZm9vIHsgCisgICAgICAgICAgICBiYWNrZ3Jv
dW5kOiBwdXJwbGU7CisgICAgICAgICAgICBib3JkZXI6IC13ZWJraXQtY2FsYygxMHB4KSBkb3Vi
bGUgIzAwMDAwMDsgCisgICAgICAgICAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDUwJSk7CisgICAg
ICAgICAgICBoZWlnaHQ6IGF1dG87CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1hcmdpbi1s
ZWZ0OiAtd2Via2l0LWNhbGMoMzMlKTsKKyAgICAgICAgICAgIG1hcmdpbi10b3A6IC13ZWJraXQt
Y2FsYygxMCUpOworICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOworICAgICAgICAgICAg
CisgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGF1dG87CisgICAgICAgICAgICBsZWZ0OiBhdXRv
OworICAgICAgICAgICAgY29sb3I6IHdoaXRlOworICAgICAgICAgICAgZm9udDogLXdlYmtpdC1j
YWxjKDI0cHgpICdMdWNpZGEgR3JhbmRlJzsKKyAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAtd2Vi
a2l0LWNhbGMoMjRweCk7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIAorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGZ1bmN0aW9uIGxvZyhtc2cpIHsKKyAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdjb25zb2xlJykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUobXNnICsgJ1xuJykpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiB0
ZXN0KHByb3ApIHsKKyAgICAgICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZm9vJyk7CisgICAgICAgICAgICBsb2cocHJvcCArICc6ICcgKyB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShkaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUocHJvcCkpOworICAgICAgICB9Cisg
ICAgICAgIAorICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAgICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgdGVz
dCgnbWFyZ2luLWxlZnQnKTsKKyAgICAgICAgICAgIHRlc3QoJ21hcmdpbi10b3AnKTsKKyAgICAg
ICAgICAgIHRlc3QoJ21hcmdpbi1yaWdodCcpOworICAgICAgICAgICAgdGVzdCgnbWFyZ2luLWJv
dHRvbScpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9h
ZD0icnVuVGVzdHMoKTsiPgorICAgIDxwPlRlc3QgY2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVlIG9u
IGNvbXB1dGVkIG1hcmdpbiBzdHlsZXMuPC9wPgorICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJl
PgorICAgIAorICAgIDxkaXYgaWQ9ImZvbyI+VGVzdDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dyYWRpZW50LWNvbG9yLXN0b3BzLWV4
cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQtY29s
b3Itc3RvcHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZDAwNWI5MTVjMzk2
YWQxOWQ3MTUxMzc2YTEwZDI5YTQ0ODFhMWZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL2dyYWRpZW50LWNvbG9yLXN0b3BzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwK
QEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CisgICAgLmJveCB7CisgICAgICBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICBoZWlnaHQ6IDEyMHB4OworICAgICAgd2lkdGg6
IDIwMHB4OworICAgICAgbWFyZ2luOiAxMHB4OworICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxh
Y2s7CisgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworICAgIH0KKworICAgIC5s
aW5lYXIxIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50
KGxlZnQsIHJlZCAyNSUsIGdyZWVuIDUwJSwgYmx1ZSA3NSUpOworICAgICAgYmFja2dyb3VuZC1p
bWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkIDI1JSwgZ3JlZW4gNTAlLCBibHVl
IDc1JSk7CisgICAgfQorCisgICAgLmxpbmVhcjIgeworICAgICAgLyogR3JlZW4gc2hvdWxkIGdl
dCBzaGlmdGVkIHRvIDUwJSAqLworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5l
YXItZ3JhZGllbnQobGVmdCwgcmVkIDUwJSwgZ3JlZW4gMzAlLCBibHVlIDkwJSk7CisgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQgNTAlLCBncmVl
biAzMCUsIGJsdWUgOTAlKTsKKyAgICB9CisKKyAgICAubGluZWFyMyB7CisgICAgICBiYWNrZ3Jv
dW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZWQgLTUwJSwgZ3JlZW4sIGJsdWUs
IGdyZWVuLCBibHVlIDE1MCUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXIt
Z3JhZGllbnQocmVkIC01MCUsIGdyZWVuLCBibHVlLCBncmVlbiwgYmx1ZSAxNTAlKTsKKyAgICB9
CisKKyAgICAubGluZWFyNCB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVh
ci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVuIDEwMHB4LCBibHVlKTsKKyAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4gMTAwcHgsIGJs
dWUpOworICAgIH0KKworICAgIC5saW5lYXI1IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13
ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4gMTIwJSwgYmx1ZSk7CisgICAg
ICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVu
IDEyMCUsIGJsdWUpOworICAgIH0KKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgICB2YXIgZHVtcFBpeGVscyA9IHRydWU7CisgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQaXhlbHMpOworICAgIH0KKyAgPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJsaW5lYXIxIGJveCI+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImxpbmVhcjIgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0ibGluZWFyMyBib3gi
PjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImxpbmVhcjQgYm94Ij48L2Rpdj4KKyAgPGRp
diBjbGFzcz0ibGluZWFyNSBib3giPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMuaHRtbCBiL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU0ZjRlOWJiNDlkMDdlMmQ5YzZjMWNlYzA2N2M4NmFjMDVhYzFhNzIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMuaHRtbApAQCAt
MCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxl
IHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAuYm94IHsKKyAgICAgIGRpc3Bs
YXk6IGlubGluZS1ibG9jazsKKyAgICAgIGhlaWdodDogMTIwcHg7CisgICAgICB3aWR0aDogMjAw
cHg7CisgICAgICBtYXJnaW46IDEwcHg7CisgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsK
KyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgfQorCisgICAgLmxpbmVh
cjEgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVm
dCwgcmVkIC13ZWJraXQtY2FsYygyNSUpLCBncmVlbiAtd2Via2l0LWNhbGMoNTAlKSwgYmx1ZSAt
d2Via2l0LWNhbGMoNzUlKSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1n
cmFkaWVudChsZWZ0LCByZWQgLXdlYmtpdC1jYWxjKDI1JSksIGdyZWVuIC13ZWJraXQtY2FsYyg1
MCUpLCBibHVlIC13ZWJraXQtY2FsYyg3NSUpKTsKKyAgICB9CisKKyAgICAubGluZWFyMiB7Cisg
ICAgICAvKiBHcmVlbiBzaG91bGQgZ2V0IHNoaWZ0ZWQgdG8gLXdlYmtpdC1jYWxjKDUwJSkgKi8K
KyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJl
ZCAtd2Via2l0LWNhbGMoNTAlKSwgZ3JlZW4gLXdlYmtpdC1jYWxjKDMwJSksIGJsdWUgLXdlYmtp
dC1jYWxjKDkwJSkpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGll
bnQobGVmdCwgcmVkIC13ZWJraXQtY2FsYyg1MCUpLCBncmVlbiAtd2Via2l0LWNhbGMoMzAlKSwg
Ymx1ZSAtd2Via2l0LWNhbGMoOTAlKSk7CisgICAgfQorCisgICAgLmxpbmVhcjMgeworICAgICAg
YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmVkIC13ZWJraXQtY2Fs
YygtNTAlKSwgZ3JlZW4sIGJsdWUsIGdyZWVuLCBibHVlIC13ZWJraXQtY2FsYygxNTAlKSk7Cisg
ICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyZWQgLXdlYmtpdC1j
YWxjKC01MCUpLCBncmVlbiwgYmx1ZSwgZ3JlZW4sIGJsdWUgLXdlYmtpdC1jYWxjKDE1MCUpKTsK
KyAgICB9CisKKyAgICAubGluZWFyNCB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0
LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygxMDBweCksIGJs
dWUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwg
cmVkLCBncmVlbiAtd2Via2l0LWNhbGMoMTAwcHgpLCBibHVlKTsKKyAgICB9CisKKyAgICAubGlu
ZWFyNSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChs
ZWZ0LCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygxMjAlKSwgYmx1ZSk7CisgICAgICBiYWNrZ3Jv
dW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVuIC13ZWJraXQt
Y2FsYygxMjAlKSwgYmx1ZSk7CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICAgIHZhciBkdW1wUGl4ZWxzID0gdHJ1ZTsKKyAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoZHVtcFBpeGVscyk7CisgICAgfQorICA8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorCisgIDxkaXYgY2xhc3M9ImxpbmVhcjEgYm94Ij48L2Rpdj4K
KyAgPGRpdiBjbGFzcz0ibGluZWFyMiBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJsaW5lYXIz
IGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0ibGluZWFyNCBib3giPjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJsaW5lYXI1IGJveCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWctc2l6ZS1leHBlY3RlZC1taXNtYXRj
aC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ltZy1zaXplLWV4cGVjdGVkLW1pc21hdGNo
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDhkYjEyNzA0MzBkOWI1ZDAwYjNkZTc4MTNhMTlkMjEwYjM2NmY4
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWctc2l6ZS1leHBl
Y3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzxzdHlsZT4KKy5jb250cm9sIHsg
d2lkdGg6IDUwJTsgfQorLnBpeGVscyB7IHdpZHRoOiAxMDBweDsgfQorLnBlcmNlbnQge3dpZHRo
OiA1MCU7IH0KKy5ib3RoIHt3aWR0aDogMTAwcHg7IH0KKzwvc3R5bGU+CisKKzxkaXYgc3R5bGU9
IndpZHRoOjIwMHB4OyI+CisgICAgPGltZyBjbGFzcz0iY29udHJvbCIgc3JjPSJkYXRhOmltYWdl
L3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFJQUFBQUNDQVlBQUFCeXRnMGtB
QUFBRkVsRVFWUUlIV1A0ejhEd0h3eUJOSkROOEI4QVFORUcrdDVJazJrQUFBQUFTVVZPUks1Q1lJ
ST0iPgorICAgIDxoci8+CisgICAgPGltZyBjbGFzcz0icGl4ZWxzIiBzcmM9ImRhdGE6aW1hZ2Uv
cG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FB
QUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJ
PSI+CisgICAgPGhyLz4KKyAgICA8aW1nIGNsYXNzPSJwZXJjZW50IiBzcmM9ImRhdGE6aW1hZ2Uv
cG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FB
QUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJ
PSI+CisgICAgPGhyLz4KKyAgICA8aW1nIGNsYXNzPSJib3RoIiBzcmM9ImRhdGE6aW1hZ2UvcG5n
O2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFG
RWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+
Cis8L2Rpdj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvaW1nLXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWct
c2l6ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyYzZiOWEzOGUxYWRmODBlMjhkOGIyOGZiOTFkZmY0ZmQ2
NzM5OTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvaW1nLXNpemUu
aHRtbApAQCAtMCwwICsxLDE2IEBACis8c3R5bGU+CisuY29udHJvbCB7IHdpZHRoOiA1MCU7IH0K
Ky5waXhlbHMgeyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KTsgfQorLnBlcmNlbnQge3dpZHRo
OiAtd2Via2l0LWNhbGMoNTAlKTsgfQorLmJvdGgge3dpZHRoOiAtd2Via2l0LWNhbGMoMjUlICsg
NTBweCk7IH0KKzwvc3R5bGU+CisKKzxkaXYgc3R5bGU9IndpZHRoOjIwMHB4OyI+CisgICAgPGlt
ZyBjbGFzcz0iY29udHJvbCIgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29B
QUFBTlNVaEVVZ0FBQUFJQUFBQUNDQVlBQUFCeXRnMGtBQUFBRkVsRVFWUUlIV1A0ejhEd0h3eUJO
SkROOEI4QVFORUcrdDVJazJrQUFBQUFTVVZPUks1Q1lJST0iPgorICAgIDxoci8+CisgICAgPGlt
ZyBjbGFzcz0icGl4ZWxzIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FB
QUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5K
RE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPGhyLz4KKyAgICA8aW1n
IGNsYXNzPSJwZXJjZW50IiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FB
QUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5K
RE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPGhyLz4KKyAgICA8aW1n
IGNsYXNzPSJib3RoIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFO
U1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44
QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+Cis8L2Rpdj4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbGluZS1oZWln
aHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2xpbmUtaGVpZ2h0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zZDY1MGRjYTlmZTBiZjdjY2U2MzQwMzZlMGJhNjA3MTc0YWVm
NDgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2xpbmUtaGVpZ2h0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoZSBsaW5lIGhlaWdodCBvZiB0aGVzZSBs
aW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsCitUaGUgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMg
c2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3Vs
ZCBiZSBpZGVudGljYWwKK0ZBSUwKK0NvbXB1dGVkIGxpbmUgaGVpZ2h0cyBkbyBub3QgbWF0Y2g6
IDMycHgsIG5vcm1hbCwgbm9ybWFsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
bGluZS1oZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9saW5lLWhlaWdodC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVjN2QxMDY1N2QwYzMwZjE2YjUyNzg2YTEwMDcwMmZiYWI1MWRkZjAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbGluZS1oZWlnaHQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8c3R5bGU+IAorc3BhbiB7IGZvbnQtc2l6ZTogMTZweDt9CisjY29u
dHJvbCB7bGluZS1oZWlnaHQ6IDIwMCU7fQorI2NhbGMtcGVyY2VudCB7bGluZS1oZWlnaHQ6IC13
ZWJraXQtY2FsYygxMDAlICogMik7fQorI2NhbGMtcGVyY2VudC1waXhlbHMge2xpbmUtaGVpZ2h0
OiAtd2Via2l0LWNhbGMoMTAwJSArIDE2cHgpO30KKzwvc3R5bGU+CisKKzxkaXY+Cis8c3BhbiBp
ZD0iY29udHJvbCI+VGhlIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVu
dGljYWw8L3NwYW4+Cis8aHIvPgorPHNwYW4gaWQ9ImNhbGMtcGVyY2VudCI+VGhlIGxpbmUgaGVp
Z2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPHNw
YW4gaWQ9ImNhbGMtcGVyY2VudC1waXhlbHMiPlRoZSBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5l
cyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGhyLz4KKzwvZGl2PgorPGRpdiBpZD0icmVz
dWx0cyI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK3ZhciBjb250cm9sSGVp
Z2h0ID0gIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRyb2wi
KSwgbnVsbCkubGluZUhlaWdodDsKK3ZhciBoZWlnaHRzID0gIiI7CisKK3ZhciBzcGFucyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzcGFuIik7Cit2YXIgc2FtZUhlaWdodCA9IHRy
dWU7Citmb3IgKHZhciBpID0gMDsgaSA8IHNwYW5zLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGN1
cnJlbnQgPSBzcGFuc1tpXTsKKyAgICB2YXIgY3VycmVudEhlaWdodCA9IGdldENvbXB1dGVkU3R5
bGUoY3VycmVudCwgbnVsbCkubGluZUhlaWdodDsKKyAgICBpZiAoaGVpZ2h0cy5sZW5ndGggIT0g
MCkKKyAgICAgICAgaGVpZ2h0cyA9IGhlaWdodHMgKyAiLCAiOworICAgIGhlaWdodHMgPSBoZWln
aHRzICsgY3VycmVudEhlaWdodDsKKyAgICBpZiAoc2FtZUhlaWdodCkKKyAgICAgICAgc2FtZUhl
aWdodCA9IGN1cnJlbnRIZWlnaHQgPT0gY29udHJvbEhlaWdodDsKK30KKwordmFyIHJlc3VsdHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworaWYgKHNhbWVIZWlnaHQpIHsK
KyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVySFRN
TCA9ICJQQVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOwor
ICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOyAgICAKKyAgICByZXN1bHRzLmlubmVySFRN
TCArPSAiPHA+Q29tcHV0ZWQgbGluZSBoZWlnaHRzIGRvIG5vdCBtYXRjaDogIiArIGhlaWdodHMg
KyAiPC9wPiI7Cit9CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL21hcmdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFyZ2luLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTllZjk1YWQ1NThmNDE1YmZhM2QyZTIyNjUyZjc1ZGZj
M2MwZjc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFu
IG92ZXJhbGwgbWFyZ2luIG9mIDI1IHBpeGVscy4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lk
dGggb2YgMjUwLCBidXQgd2FzIDM1NywgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDE3MCwgYnV0
IHdhcyAxOAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IG1hcmdpbiBvZiAyNSBw
aXhlbHMuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIyNSwgYnV0IHdhcyAzMjYs
IGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxMjAsIGJ1dCB3YXMgMTgKKworVGhpcyBlbGVtZW50
IHNob3VsZCBoYXZlIGEgcmlnaHQgbWFyZ2luIG9mIDI1IHBpeGVscy4gPT4gRkFJTDogZXhwZWN0
ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDMzNSwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0
IG9mIDEyMCwgYnV0IHdhcyAxOAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgbWFy
Z2luIG9mIDI1IHBpeGVscy4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjAwLCBi
dXQgd2FzIDMyNiwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDE0NSwgYnV0IHdhcyAxOAorCitU
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFyZ2luIG9mIDI1IHBpeGVscy4gPT4g
RkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjAwLCBidXQgd2FzIDM1MCwgZXhwZWN0ZWQg
dG90YWwgaGVpZ2h0IG9mIDE0NSwgYnV0IHdhcyAxOAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhh
dmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9m
IDMwMHB4IG1pbnVzIDVweCkuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDI1MCwg
YnV0IHdhcyAzMDAsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxNzAsIGJ1dCB3YXMgNTQKKwor
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUg
b2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IEZBSUw6IGV4cGVjdGVkIHRv
dGFsIHdpZHRoIG9mIDIyNSwgYnV0IHdhcyAzMDAsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAx
MjAsIGJ1dCB3YXMgNTQKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgbWFyZ2lu
IG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9
PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMjUsIGJ1dCB3YXMgMzAwLCBleHBlY3Rl
ZCB0b3RhbCBoZWlnaHQgb2YgMTIwLCBidXQgd2FzIDU0CisKK1RoaXMgZWxlbWVudCBzaG91bGQg
aGF2ZSBhIHRvcCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMw
MHB4IG1pbnVzIDVweCkuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIwMCwgYnV0
IHdhcyAzMDAsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAxNDUsIGJ1dCB3YXMgNTQKKworVGhp
cyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBv
ZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogZXhwZWN0ZWQgdG90
YWwgd2lkdGggb2YgMjAwLCBidXQgd2FzIDMwMCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDE0
NSwgYnV0IHdhcyA1NAorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9tYXJn
aW4uaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9tYXJnaW4uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
NDVmOTM5YmMxMTgwZGZiZjQyNDYxYWUxMmVmNjU5YzNhZWQ0YjU4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sCkBAIC0wLDAgKzEsMTMzIEBACis8
IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK2RpdiB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2Nr
OworfQorCitwIHsKKyAgICB3aWR0aDotd2Via2l0LWNhbGMoMjAwcHgpOyAKKyAgICBoZWlnaHQ6
LXdlYmtpdC1jYWxjKDEyMHB4KTsKKyAgICBtYXJnaW46IDA7Cit9Cisuc2ltcGxlLWFsbCB7Cisg
ICAgbWFyZ2luOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnNpbXBsZS1sZWZ0IHsK
KyAgICBtYXJnaW4tbGVmdDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUt
cmlnaHQgeworICAgIG1hcmdpbi1yaWdodDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30K
Ky5zaW1wbGUtdG9wIHsKKyAgICBtYXJnaW4tdG9wOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgp
OworfQorLnNpbXBsZS1ib3R0b20geworICAgIG1hcmdpbi1ib3R0b206IC13ZWJraXQtY2FsYygx
M3B4ICsgMTJweCk7Cit9CisucGVyY2VudC1hbGwgeworICAgLyogbWFyZ2luOiAtd2Via2l0LWNh
bGMoMTAlIC0gNXB4KTsKKyAgICBtYXJnaW46IC1tb3otY2FsYygtd2Via2l0LWNhbGMoMTAlKSAt
IDVweCk7CisgICAgbWFyZ2luOiBjYWxjKC13ZWJraXQtY2FsYygxMCUpIC0gNXB4KTsqLworICAg
IG1hcmdpbi1sZWZ0OiAtd2Via2l0LWNhbGMoMTAlKTsKK30KKy5wZXJjZW50LWxlZnQgeworICAg
IG1hcmdpbi1sZWZ0OiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKKyAgICBtYXJnaW4tbGVmdDog
LXdlYmtpdC1jYWxjKDIwJSk7Cit9CisucGVyY2VudC1yaWdodCB7CisgICAgbWFyZ2luLXJpZ2h0
OiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LXRvcCB7CisgICAgbWFyZ2lu
LXRvcDogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2VudC1ib3R0b20geworICAg
bWFyZ2luLWJvdHRvbTogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9Cis8L3N0eWxlPgorPGRp
dj4KKyAgICA8cCBjbGFzcz0ic2ltcGxlLWFsbCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFu
IG92ZXJhbGwgbWFyZ2luIG9mIDI1IHBpeGVscy48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAg
ICA8cCBjbGFzcz0ic2ltcGxlLWxlZnQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQg
bWFyZ2luIG9mIDI1IHBpeGVscy48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFz
cz0ic2ltcGxlLXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBtYXJnaW4g
b2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1w
bGUtdG9wIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgbWFyZ2luIG9mIDI1IHBpeGVs
cy48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFzcz0ic2ltcGxlLWJvdHRvbSI+
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIG1hcmdpbiBvZiAyNSBwaXhlbHMuPC9w
PgorPC9kaXY+PGJyLz4KKworPGRpdiBpZD0id3JhcHBlciIgc3R5bGU9IndpZHRoOiAzMDBweDsg
YmFja2dyb3VuZC1jb2xvcjogY29ybnNpbGs7IGRpc3BsYXk6IGJsb2NrOyI+Cis8ZGl2PgorICAg
IDxwIGNsYXNzPSJwZXJjZW50LWFsbCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFuIG92ZXJh
bGwgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51
cyAgICAgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorCisKKzxkaXY+CisgICAgPHAgY2xhc3M9InBl
cmNlbnQtbGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUg
cGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorPC9k
aXY+PGJyLz4KKzxkaXY+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtcmlnaHQiPlRoaXMgZWxlbWVu
dCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQg
d2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8
cCBjbGFzcz0icGVyY2VudC10b3AiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBtYXJn
aW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
PC9wPgorPC9kaXY+PGJyLz4KKzxkaXY+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtYm90dG9tIj5U
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAl
IG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2Pjxici8+CisK
KzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordmFyIGlubmVyV2lkdGggPSAyMDA7Cit2YXIg
aW5uZXJIZWlnaHQgPSAxMjA7Cit2YXIgbWFyZ2luID0gMjU7CisKK3ZhciB0ZXN0cyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJkaXYiKTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgdGVz
dHMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgb3V0ZXJFbHQgPSB0ZXN0c1tpXTsKKyAgICBpZiAo
b3V0ZXJFbHQuaWQgPT0gIndyYXBwZXIiKQorICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisg
ICAgdmFyIGlubmVyRWx0ID0gdGVzdHNbaV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInAiKVswXTsK
KyAgICB2YXIgd2lkdGggPSBvdXRlckVsdC5vZmZzZXRXaWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0g
b3V0ZXJFbHQub2Zmc2V0SGVpZ2h0OworCisgICAgdmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldp
ZHRoOworICAgIHZhciBleHBlY3RlZEhlaWdodCA9IGlubmVySGVpZ2h0OworICAgIAorICAgIHN3
aXRjaCAoaW5uZXJFbHQuY2xhc3NOYW1lLnNwbGl0KCItIilbMV0pIHsKKyAgICBjYXNlICJhbGwi
OgorICAgICAgICBleHBlY3RlZFdpZHRoICs9IDIgKiBtYXJnaW47CisgICAgICAgIGV4cGVjdGVk
SGVpZ2h0ICs9IDIgKiBtYXJnaW47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgInRvcCI6Cisg
ICAgY2FzZSAiYm90dG9tIjoKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gbWFyZ2luOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlICJsZWZ0IjoKKyAgICBjYXNlICJyaWdodCI6CisgICAgICAg
IGV4cGVjdGVkV2lkdGggKz0gbWFyZ2luOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgCisg
ICAgdmFyIGVycm9yID0gW107CisgICAgaWYgKHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAg
ICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mICIgKyBleHBlY3RlZFdpZHRo
ICsgIiwgYnV0IHdhcyAiICsgd2lkdGgpOworICAgIGlmIChoZWlnaHQgIT0gZXhwZWN0ZWRIZWln
aHQpCisgICAgICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAiICsgZXhw
ZWN0ZWRIZWlnaHQgKyAiLCBidXQgd2FzICIgKyBoZWlnaHQpOworCisgICAgcmVzdWx0cyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CisgICAgaWYgKGVycm9yID09ICIiKSB7
CisgICAgICAgIGlubmVyRWx0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAg
ICAgIGlubmVyRWx0LmlubmVySFRNTCArPSAiID0+IFBBU1MiOworICAgIH0gZWxzZSB7CisgICAg
ICAgIGlubmVyRWx0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJyZWQiOworICAgICAgICBpbm5l
ckVsdC5pbm5lckhUTUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsKKyAgICB9
Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9wYWRkaW5n
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9wYWRkaW5nLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hNDliOTU5MWU0OWI1NTQ1ZTEwNDQ5ZTVmZmJkMDA2OWVmY2VlNGMzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3BhZGRpbmctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTkgQEAKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhbiBvdmVyYWxs
IHBhZGRpbmcgb2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAy
NTAsIGJ1dCB3YXMgNzg0LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTcwLCBidXQgd2FzIDE4
CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgcGFkZGluZyBvZiAyNSBwaXhlbHMu
ID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIyNSwgYnV0IHdhcyA3ODQsIGV4cGVj
dGVkIHRvdGFsIGhlaWdodCBvZiAxMjAsIGJ1dCB3YXMgMTgKKworVGhpcyBlbGVtZW50IHNob3Vs
ZCBoYXZlIGEgcmlnaHQgcGFkZGluZyBvZiAyNSBwaXhlbHMuID0+IEZBSUw6IGV4cGVjdGVkIHRv
dGFsIHdpZHRoIG9mIDIyNSwgYnV0IHdhcyA3ODQsIGV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAx
MjAsIGJ1dCB3YXMgMTgKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIHBhZGRpbmcg
b2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMDAsIGJ1dCB3
YXMgNzg0LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDE4CisKK1RoaXMg
ZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBwYWRkaW5nIG9mIDI1IHBpeGVscy4gPT4gRkFJ
TDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjAwLCBidXQgd2FzIDc2OSwgZXhwZWN0ZWQgdG90
YWwgaGVpZ2h0IG9mIDE0NSwgYnV0IHdhcyAxOAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YW4gb3ZlcmFsbCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAz
MDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyNTAsIGJ1
dCB3YXMgMzAwLCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTcwLCBidXQgd2FzIDU0CisKK1Ro
aXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBv
ZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogZXhwZWN0ZWQgdG90
YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDMwMCwgZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDEy
MCwgYnV0IHdhcyA1NAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBwYWRkaW5n
IG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9
PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMjUsIGJ1dCB3YXMgMzAwLCBleHBlY3Rl
ZCB0b3RhbCBoZWlnaHQgb2YgMTIwLCBidXQgd2FzIDU0CisKK1RoaXMgZWxlbWVudCBzaG91bGQg
aGF2ZSBhIHRvcCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAz
MDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMDAsIGJ1
dCB3YXMgMzAwLCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDU0CisKK1Ro
aXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAl
IG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0
b3RhbCB3aWR0aCBvZiAyMDAsIGJ1dCB3YXMgMzAwLCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2Yg
MTQ1LCBidXQgd2FzIDU0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcGFkZGlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3BhZGRpbmcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
Y2VhN2M3MzhlOWJlMzA3ZjI1OWUxNDQ4NTJkNjRjY2FjNTE5YjA4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3BhZGRpbmcuaHRtbApAQCAtMCwwICsxLDk5IEBACis8
IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK3AgeworICAgIHdpZHRoOi13ZWJraXQtY2FsYygyMDBw
eCk7IGhlaWdodDotd2Via2l0LWNhbGMoMTIwcHgpOyAKK30KKy5zaW1wbGUtYWxsIHsKKyAgICBw
YWRkaW5nOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnNpbXBsZS1sZWZ0IHsKKyAg
ICBwYWRkaW5nLWxlZnQ6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLXJp
Z2h0IHsKKyAgICBwYWRkaW5nLXJpZ2h0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQor
LnNpbXBsZS10b3AgeworICAgIHBhZGRpbmctdG9wOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgp
OworfQorLnNpbXBsZS1ib3R0b20geworICAgIHBhZGRpbmctYm90dG9tOiAtd2Via2l0LWNhbGMo
MTNweCArIDEycHgpOworfQorLnBlcmNlbnQtYWxsIHsKKyAgICBwYWRkaW5nOiAtd2Via2l0LWNh
bGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LWxlZnQgeworICAgIHBhZGRpbmctbGVmdDogLXdl
YmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2VudC1yaWdodCB7CisgICAgcGFkZGluZy1y
aWdodDogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2VudC10b3AgeworICAgIHBh
ZGRpbmctdG9wOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LWJvdHRvbSB7
CisgICBwYWRkaW5nLWJvdHRvbTogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9Cis8L3N0eWxl
PgorCis8cCBjbGFzcz0ic2ltcGxlLWFsbCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFuIG92
ZXJhbGwgcGFkZGluZyBvZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS1sZWZ0Ij5U
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IHBhZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4K
KzxwIGNsYXNzPSJzaW1wbGUtcmlnaHQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0
IHBhZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUtdG9wIj5UaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgcGFkZGluZyBvZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xh
c3M9InNpbXBsZS1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBwYWRk
aW5nIG9mIDI1IHBpeGVscy48L3A+CisKKzxkaXYgc3R5bGU9IndpZHRoOiAzMDBweDsgYmFja2dy
b3VuZC1jb2xvcjogY29ybnNpbGs7Ij4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1hbGwiPlRoaXMg
ZWxlbWVudCBzaG91bGQgaGF2ZSBhbiBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUg
b2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorICAgIDxwIGNsYXNzPSJw
ZXJjZW50LWxlZnQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgcGFkZGluZyBvZiAy
NSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+Cisg
ICAgPHAgY2xhc3M9InBlcmNlbnQtcmlnaHQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJp
Z2h0IHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1p
bnVzIDVweCkuPC9wPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXRvcCI+VGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGEgdG9wIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRo
IG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LWJvdHRvbSI+
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgx
MCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorPC9kaXY+CisKKzxz
Y3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordmFyIGlubmVyV2lkdGggPSAyMDA7Cit2YXIgaW5u
ZXJIZWlnaHQgPSAxMjA7Cit2YXIgcGFkZGluZyA9IDI1OworCit2YXIgdGVzdHMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgicCIpOworZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5s
ZW5ndGg7ICsraSkgeworICAgIHZhciBlbHQgPSB0ZXN0c1tpXTsKKyAgICB2YXIgd2lkdGggPSBl
bHQub2Zmc2V0V2lkdGg7CisgICAgdmFyIGhlaWdodCA9IGVsdC5vZmZzZXRIZWlnaHQ7CisKKyAg
ICB2YXIgZXhwZWN0ZWRXaWR0aCA9IGlubmVyV2lkdGg7CisgICAgdmFyIGV4cGVjdGVkSGVpZ2h0
ID0gaW5uZXJIZWlnaHQ7CisgICAgCisgICAgc3dpdGNoIChlbHQuY2xhc3NOYW1lLnNwbGl0KCIt
IilbMV0pIHsKKyAgICBjYXNlICJhbGwiOgorICAgICAgICBleHBlY3RlZFdpZHRoICs9IDIgKiBw
YWRkaW5nOworICAgICAgICBleHBlY3RlZEhlaWdodCArPSAyICogcGFkZGluZzsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSAidG9wIjoKKyAgICBjYXNlICJib3R0b20iOgorICAgICAgICBleHBl
Y3RlZEhlaWdodCArPSBwYWRkaW5nOworICAgICAgICBicmVhazsKKyAgICBjYXNlICJsZWZ0IjoK
KyAgICBjYXNlICJyaWdodCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGggKz0gcGFkZGluZzsKKyAg
ICAgICAgYnJlYWs7CisgICAgfQorICAgIAorICAgIHZhciBlcnJvciA9IFtdOworICAgIGlmICh3
aWR0aCAhPSBleHBlY3RlZFdpZHRoKQorICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB0b3Rh
bCB3aWR0aCBvZiAiICsgZXhwZWN0ZWRXaWR0aCArICIsIGJ1dCB3YXMgIiArIHdpZHRoKTsKKyAg
ICBpZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAgICAgICBlcnJvci5wdXNoKCJleHBl
Y3RlZCB0b3RhbCBoZWlnaHQgb2YgIiArIGV4cGVjdGVkSGVpZ2h0ICsgIiwgYnV0IHdhcyAiICsg
aGVpZ2h0KTsKKworICAgIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
cyIpOworICAgIGlmIChlcnJvciA9PSAiIikgeworICAgICAgICBlbHQuc3R5bGUuYmFja2dyb3Vu
ZENvbG9yID0gImdyZWVuIjsKKyAgICAgICAgZWx0LmlubmVySFRNTCArPSAiID0+IFBBU1MiOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIGVsdC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsK
KyAgICAgICAgZWx0LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIp
OworICAgIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmIyODJhODZjZmIyZWZhOTZiYzQxNTg1N2NhOGM2NjQ5ZGY4MjM5YjAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAorVGVzdCBjYWxsaW5nIGdldFByb3BlcnR5VmFsdWUg
b24gY29tcHV0ZWQgc3R5bGVzIGZvciAtd2Via2l0LWJvcmRlci1pbWFnZSBwcm9wZXJ0eS4KKwor
LXdlYmtpdC1ib3gtcmVmbGVjdDogbm9uZTsKKyAgLXdlYmtpdC1ib3gtcmVmbGVjdAorICAgIGdl
dFByb3BlcnR5VmFsdWU6ICAgIG5vbmUKKyAgICBnZXRQcm9wZXJ0eUNTU1ZhbHVlOiBbb2JqZWN0
IENTU1ByaW1pdGl2ZVZhbHVlXQorCistd2Via2l0LWJveC1yZWZsZWN0OiBiZWxvdzsKKyAgLXdl
YmtpdC1ib3gtcmVmbGVjdAorICAgIGdldFByb3BlcnR5VmFsdWU6ICAgIGJlbG93IDBweCBub25l
CisgICAgZ2V0UHJvcGVydHlDU1NWYWx1ZTogW29iamVjdCBDU1NWYWx1ZV0KKworLXdlYmtpdC1i
b3gtcmVmbGVjdDogcmlnaHQgNTAlOworICAtd2Via2l0LWJveC1yZWZsZWN0CisgICAgZ2V0UHJv
cGVydHlWYWx1ZTogICAgcmlnaHQgMHB4IG5vbmUKKyAgICBnZXRQcm9wZXJ0eUNTU1ZhbHVlOiBb
b2JqZWN0IENTU1ZhbHVlXQorCistd2Via2l0LWJveC1yZWZsZWN0OiBiZWxvdyA1cHggLXdlYmtp
dC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAwKSAyNSAyNSAyNSAyNSBzdHJldGNoIHN0cmV0Y2g7
CisgIC13ZWJraXQtYm94LXJlZmxlY3QKKyAgICBnZXRQcm9wZXJ0eVZhbHVlOiAgICBiZWxvdyAw
cHggLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAwKSAyNSBmaWxsIC8gYXV0byAvIDBw
eCBzdHJldGNoCisgICAgZ2V0UHJvcGVydHlDU1NWYWx1ZTogW29iamVjdCBDU1NWYWx1ZV0KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5
bGUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYmUxNWQ3YTFjNzQ2NzNiMjQ1YjdjZjgxNWMzZjMwNTJmZTdiN2Mx
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZWZsZWN0aW9uLWNv
bXB1dGVkLXN0eWxlLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgZGl2IHsgd2lkdGg6IDA7IGhlaWdodDog
MCB9CisgICAgICAgICNyZWZsZWN0aW9uTm9uZSB7IC13ZWJraXQtYm94LXJlZmxlY3Q6IG5vbmUg
fQorICAgICAgICAjcmVmbGVjdGlvbkRpcmVjdGlvbiB7IC13ZWJraXQtYm94LXJlZmxlY3Q6IGJl
bG93IH0KKyAgICAgICAgI3JlZmxlY3Rpb25PZmZzZXQgeyAtd2Via2l0LWJveC1yZWZsZWN0OiBy
aWdodCAtd2Via2l0LWNhbGMoNTAlKSB9CisgICAgICAgICNyZWZsZWN0aW9uTWFzayB7IC13ZWJr
aXQtYm94LXJlZmxlY3Q6IGJlbG93IC13ZWJraXQtY2FsYyg1cHgpIC13ZWJraXQtZ3JhZGllbnQo
bGluZWFyLCAwIDAsIDAgMCkgMjUgMjUgMjUgMjUgc3RyZXRjaCBzdHJldGNoOyB9CisgICAgPC9z
dHlsZT4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICAgIGZ1bmN0
aW9uIGxvZyhtc2cpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdjb25zb2xlJykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsg
J1xuJykpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gc3ViVGVzdChvYiwgcHJvcCkK
KyAgICAgICAgeworICAgICAgICAgICAgbG9nKCcgICcgKyBwcm9wKTsKKyAgICAgICAgICAgIGxv
ZygnICAgIGdldFByb3BlcnR5VmFsdWU6ICAgICcgKyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRD
b21wdXRlZFN0eWxlKG9iLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKHByb3ApKTsKKyAgICAgICAg
ICAgIGxvZygnICAgIGdldFByb3BlcnR5Q1NTVmFsdWU6ICcgKyBkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKG9iLCBudWxsKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKHByb3ApKTsK
KyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3QoaWQsIHZhbCkKKyAgICAgICAgewor
ICAgICAgICAgICAgbG9nKCctd2Via2l0LWJveC1yZWZsZWN0OiAnICsgdmFsICsgJzsnKTsKKyAg
ICAgICAgICAgIHZhciBvYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICAgICAg
ICAgIHN1YlRlc3Qob2IsICctd2Via2l0LWJveC1yZWZsZWN0Jyk7CisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBydW5UZXN0cygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdGVzdCgncmVmbGVjdGlvbk5vbmUnLCAn
bm9uZScpOworICAgICAgICAgICAgbG9nKCcnKTsKKyAgICAgICAgICAgIHRlc3QoJ3JlZmxlY3Rp
b25EaXJlY3Rpb24nLCAnYmVsb3cnKTsKKyAgICAgICAgICAgIGxvZygnJyk7CisgICAgICAgICAg
ICB0ZXN0KCdyZWZsZWN0aW9uT2Zmc2V0JywgJ3JpZ2h0IDUwJScpOworICAgICAgICAgICAgbG9n
KCcnKTsKKyAgICAgICAgICAgIHRlc3QoJ3JlZmxlY3Rpb25NYXNrJywgJ2JlbG93IDVweCAtd2Vi
a2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDApIDI1IDI1IDI1IDI1IHN0cmV0Y2ggc3RyZXRj
aCcpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1
blRlc3RzKCk7Ij4KKyAgICA8cD5UZXN0IGNhbGxpbmcgZ2V0UHJvcGVydHlWYWx1ZSBvbiBjb21w
dXRlZCBzdHlsZXMgZm9yIC13ZWJraXQtYm9yZGVyLWltYWdlIHByb3BlcnR5LjwvcD4KKyAgICA8
cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKworICAgIDxkaXYgaWQ9InJlZmxlY3Rpb25Ob25lIj48
L2Rpdj4KKyAgICA8ZGl2IGlkPSJyZWZsZWN0aW9uRGlyZWN0aW9uIj48L2Rpdj4KKyAgICA8ZGl2
IGlkPSJyZWZsZWN0aW9uT2Zmc2V0Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJyZWZsZWN0aW9uTWFz
ayI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9yZXNvdXJjZXMvYWxwaGEtZ3JhZGllbnQucG5nIGIvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL3Jlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFlNTJmODNjMTVm
ZjJiOTFmNWZhZDlmMzZhOGNjNmIwNTYxODhjYgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgODgz
CnpjbVpBMFR9VkA1N3pnbXo/WUl1PTsjXmRJcGx+ODhxV1MkPFhgQ2FvVDlubzdWIT5kfV9KTmhv
WjFseWI5ZyE+eQp6JXI1JHJpVkNgQENLZ25wdHdXRzRHK2JwPHFZRmJSMUlnJjMzPytMMGJBZmNS
b3dNS2pmOFg9RyZ3Ri1lWFhSI24KekxSdGMyT21Fc15HfUFTTjUzaSV8YDxCMnB4XlFsSnlVYlcq
V04zI2FrQUEwbUQ9Z2tCa0lRPystc29ocSEmQm9GCnpPPzdzKyk5a2M2anZhakVFTS1nXlohKmZl
a0E5ZW4pVkF1WShfMjByTzZqWFZGdUohe0N+dXkmb2ZnVk49Z1ZlOwp6U0kyJCtaZCp4cWNpP3pY
P2Ztdjx1cHVZcXRXTkRjSEQydTIzSC1KdEF5Mi12PXRxQjJTZVl4KF40ekx+aUkmdEcKeitUWm9N
Tmh4P2FadkRBVm13KWpAWXBOdlg+PUxpUFcqTVE/JGlKYnlGR3VTWXIkSE0pNXUpQilxRTY2UyZ8
NDV2CnpnUD9yUzVLJD5vWkotc1BGYkp0JXBmYU15VldOKm5KcUJmaC1ocSVCMXtIJGQ2SXFlRTJ3
RGszVH4/Jk5mWXlPZgp6UzRYYVB6X1Z9ZV44akhlWHteYmdzTEE0PWh6bzkqQ2VDSlBrayRDT1dY
PnV5JGRXa0w4bFN+UzZBT2tvUDAmSjwKej1PdmNtSWJScGUhJSVGJm0/JGhObEE0QG82JEV+IU13
eT5VVmExPWxFY1gwPVlvUT1mYDJJcE9VcUd9SFA3fEg8CnpVIztyTnh7PyFqdSkjSWhBaUNVdkot
LUN5ZzMjcjNiZnlLZzlFMntYQlEqPSFOYn4/Km88Z2J6bHRxLWNwTns/VAp6Nip+M3xJKEExN3kk
UGMocURQPWkmX2pAZXMwZ0c3SnRmLVhDVz9SeEw0Q0NIeSZfdXFFO195eTR8YDV6Qz9ASSQKem5l
K1dwXi1ieCpDN014LTtTbWh5KFF1V0VEWExMMTZ3ck1scVR3Vl9uMzxJfS1EK1BkUUcqMVk9UXVo
NU1TVjhlCmEjPForMT9lQD5GP09oN31Zblo4YChpa1lPWnUkI25nZ0lkVgoKbGl0ZXJhbCAwCkhj
bVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNlcy9k
aWFtb25kLnBuZyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJjZXMvZGlhbW9uZC5wbmcK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTExMTJlZmM3Y2FiNWIyMGE4NmJhZTllNGMyYWViZDY4YTUyMzBiMApHSVQg
YmluYXJ5IHBhdGNoCmxpdGVyYWwgMTg4CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBeQVR9MlY4
PDZaWkk9PmY0RiV9MjhKMjkqfkMtVn0+Vk4zRk1jVlFASQp6PXdVY19gSCtxPVA9dkY8QmVJeCpm
bTt9YTg1dzVIa3BLI15tdzVXUnZmcEFBPUNseWNUa3MkbkN9aVg1O3VzPXYKemRGbGo1Sl9aR3pM
a0lyPG0tSlZZbU8zaTh5KUJpWU9AVlhMYElrWlFsVig/VnR1KUZIbiktOCs3XztLZm0rUjlmCmVS
WlM0SFc5KXZTQFZrRF5xRlg/NzcoOEE1VC1HQHlHeXdwaUt7c3Z5CgpsaXRlcmFsIDAKSGNtVj9k
MDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVzb3VyY2VzL21hc2su
cG5nIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNlcy9tYXNrLnBuZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iNzk1N2UxMzQzOTA2YTczNzc0MDdhNzk4MTI4MmExODRmOGEwMDU0CkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCA4ODkzCnpjbVY7dUIwfUFYUCk8aDszS3xMazAwMGUxTkpMVHEwMDUtYDAwNSYx
MV5AczY+dkc9NTAwMGs1WCt1TCROa2M7Kgp6UDt6ZihYPjRUeDBDPTMwUzl2dG0tUGhtV2QjYChx
KkV+PHg1RF9KciN8JjM4Jm0hVHY9REI7I0FAUVdsTG9+PmMKenNnTlFtaTMmK2wjeHpLeGwycGhP
blprWWxwcV9XViYtJCgzZGlOaF5lYWAzWGVmSDw8YkpqWCoxRiNFYExQRztsCnowMXktJE16Sn1k
UGRNYntPdSlTY0cleGB0NVAqcTlyaVNXU1MoKDlxdzU2QVQwMDJDZkN4d092OGs9K3BlK2E8awp6
RUV+Q1MlJTJ9Tl98SV93MER6fClhJmlWaDxOJCFuWEFBRUswNHxSJFl6Rntia3p0YD4wRWpPRGFG
S21VbyZaUUoKejBMVzQ3WXp6UjlEZ2VPeVl+ZWNxZmNNekstMml9KEFwMyo/QWc9K2k5S29KYCEy
cX0hMElaSXU3bktadm1qZUojCnpQYnhWRzBHfHpqKGdfTCpAZFJLUzBEenQzUClabTgrWD9fazkm
Jk9mWSlOKkgxeUUtT3Bsa2h5MyF3bml5OCNITAp6e0tIOTIxTXQpVilRfHRlRSFZNDgwMD5WJSlx
OV5KMDAxRCZgVCV0QVh0Vl8+MDktRD5NaD1ia3RCZ2s1QzxqMmwKejEheE4taGZeWjk+eENlXzBS
TF5pYj4/a0RCTEZBPjVDSzFVZ1NhODxyfiZqUzlSZDVDe3lDRXQ5PlozYERhc3dwCnpUZ3FQfDck
PllOR0NgbjwoSWpGZWVAVFQpUHMhTkpjRjQpZFhZWEVCQFl3ciZwUnJRQWltR2F7K0o9VU09NEd2
VQp6OWNBNSF7WWBwbjJISio2Izc/NlhXQVRIZ0NqTz07JT9pIXlFamxlbnRtYlcpWS1RfGg+fC01
ajlZPnVRb3N8emUKenhsb1RKeFNuKU5hSG89VEp6Qn0leW85fiZkYHxtel9eayEoM0dAaWMzYSR3
YDZZNnUra2d8Jl41WEsoUDk+RShhCno4bnJXZVBtSXpydHlxSiYxTXg9M14lSy1pJFItTFZGKDxB
NkhGeHF1XjI8fENQQio3cVBSJms+UEE2clVXfnljRgp6JW9mYUglY2FYKkpUc294b25MITQ+cy0p
eigraiVfbTwjNEZ6QUMoNVI5cVpVVnRQc0IocCtndlMjcjVlZz1vY0cKelchdlQ0RGA4Y0t0QkV5
eHVMe0BWWVVpI0VVY1h1d1RUaV5mZEU8TS0rbmFyaj9ZSGpVdTR9NWlRXyE0dF9nSVQoCnp0THtD
emQoSFEkNTBvQ1B3PkBueT8/YHkpLWxfTFV5YkltK0BvYHNvYElGY2w+ISVWPWU+YGpMUDQyVms9
am5lcAp6UCZ3IWBCdDcpYGRISnlHM3hPOWVVZ297QmQoSGNMWV4zfVJjfm9ybC1QYDt6XkxMbmNF
I3FNbTNLUVNvSCstT2UKelJRJmpUXjcxRj1EZHdyV3BNOXIhcmFRbGNmMGgwXl9Oe1FuWldjWFRG
dD1sX15nR304PG5PRVZnQDFlZUFUQlUzCnpXRyU4VXJ2R0k4blpHMnZebTRnKzxAKU84eDt1PnEw
Szh4WVJ9Zy1yN1VoUl8hbzxeITshK3NtbkN7Pk8qQGAmQAp6eHIyQzlgSHVANDIjdHRuaXNsZUxp
ZmMoK2tYKUI/bDVVbGVsRml0KUFuJn1wVTE3KUd6WjU1d2JkKztjS0JfNkgKek1gXlRaRV41b145
TSg8Uy09ejE+MEFvbFg/bCpFYztCT3ByRnhlIV9edEBTI2Q0KXhsV3dxNSs+anMtZ3dxdGZiCno5
SSVkamhqdSNjYkpqVjB6e1Q+MmdSODM+KioleVA7YzxlVD9PRWJnPWwjJjkmLWJ4a3FrbDwyTj89
JSFOM2QwaAp6UE5ANyo1ZWdkPk88Zkx+MyFqUEBrOS1zTEl7SD0yQFVoPDVtYmp3JG5CJmR+Kzl4
Q3VuR3pTMSN7WVZEdk5eZigKelJNelIzNnJXVmZHfVV5V2JYdndsVz9OUXFjNHwmPXVFUUQ0Smtm
bH1BM3VCVi0xK2xJRkJsaHk2ZjloUFJHNDRuCnpVOTRQIUQoU3llUWhLel56RmZPdk08dT47PkdJ
Zj5oZ0RWOD17MkVPP1B9R28zMF87ans7dXZwZWM2cX4yRzUocwp6TXYyQz9UVGdGYVhiUVplK3N4
Vmc8ISphUlFFU1hTcn40V1lNQjMxOFUpcDsrP21SNStKcEc4OzxAe0tebzM7RG4KemxjdF9DUGVZ
IVdfc2FGTF52KDRUNEFjIX40RWEzUThSaShDZHtPckBAfEVWUl8xN0lFKldNSjJvX2MkOSU8LU0o
Cnp4V01AME1GMEVwNTdkdmtsTUl0WHBVekc+ZUhRdldIZUt8XjwqVjQmI2N4ayRhJVVhcTFtPDNT
JnpyYVc4fjFuVAp6an1yQGVpPHJmc3BFWE5hJWdIUEd0NTFHZVl5e0QwMER1UHRBajFfe01hYWxv
KUplMX1DVz53bG0lJExvcWBeRmcKelBpMTNhNTlEYSErfkFoc0cyOyMzSkkwP1ZrU3YlWGJYS0Bi
PGVGJFI7aTFANUBxVVJ4JCh8anBRWj5Afko3Wi0/Cnp2Y3o0b2Ffbi15PFVqOG8tZzk0fVdOKTto
XiotQF5iNHBGaCQ1bzZ9bk4pfD5PNE5mamg/LShyRDZMUTAtOHdiOAp6cn1uJCtEZDtXaC0hVjk1
WGhUI3I1OztKQlY4TTkmOzRfbXVya0JpOyYzIUJrRXh1VDBTbmFjVlorK0lyJTloSl4KeilVTHVs
KmdANDE5R0BMM2FQb0ZtYTklb20qWDdzfD9JV0E2P1FTUkMlfUFXMjVzeENXdEVaNlhofVQoZjh5
Xm16CnpWYyZDcE5Cang/O3trPCVqek8kSlVCVTRvc3Ykb0A+eUk5I3M4Q2pAeDVHbGlDQnQ3dUJ1
NlNuanp5aTBSKkw9Kgp6bFk1TDlpO2VBJXlCUDAoVHIrX3dWZE8tNHFJWiY1KHlQQnhQQzZ3a29N
SmdPYkdrMyhNcnZNS1JKdm5eYXdjbyQKej4jVTR5JD9TVk11RFE2fSN4d3FUbDZtaipGUChLZUN3
Z3gzZUMtOGxmb2ozKCNwYzR1QklUbVI7Pk1Fak9YYDw0CnpPQ09iYG0wTVR2UkUkPVpVaVExOVFp
WkwwUXs3T0xkRFh3eEBTNGNBPD9HTXU+ZyUmX0xeWEtjYlpvU3xXcWV6dwp6WTQwNkVHaF80by1R
a3dvdCVkZ3o/KXlCalkxMzwwPnJpXkEpVCMxRnktVlk8VERSZzhzVUVKTHdXa3hrQF9wMzwKeiN6
WGpGbVkzdWFwMH5hZXIkMlNnZHxyO0QoRXpzb0peJW8kM2MkSDkwRWV2cj5ARVVpSXNpeWwwQzJr
bFNnYD11CnpzUlBQb0Mhb1gqMDc0WWBeTTQzezhyWG16OUVUaHpoZXFneD1rTmpNVkgwNlMxUTl0
ejMkWn1sa3VjO21Rajlicgp6JnlYbjszTUdvdExBanc0UUJ8bVopQ3lXMFpIYk9XVXF6MiVTVEs1
KzJ1dit6bDFfeHFpN3Q8QjVYKmArJEVJTz4KemExMXlUVHNtJSRvfVpwZlVxYD5tVjk4TDx1Knp1
N2MkSkJjaU50aURTJiV0fmQ1cHp+cjIkWENwSjhRU089UDk5CnojaiRPJCQ4IU0zMn5JVFUyYCs+
eWZnODlKZEZYaTNkSEh5JmBTa2ZkQFRVckIzJW41WTZJPlV7NmMhVntEUGstIwp6RGpHX181bFkz
aCNtMi1GQnJHSj1iX25jUGx6Sj9renRkR2xOQGg7QlkxY19QZHdFSXVyUU4tSXN1an1xaEFEZE4K
enZzRSV1KT5QVDhEeWIlQCZaaS11RFh0fjJ0KkxXUipLV1Y3b3t4VThMN1pWZUByS2IkVj5yMGkj
TE0pJlMmI1hlCnpySHF4QWIpN0JQSW9yMjdOKiY1fVQwODlTKCZmdFM9SVVOYW5qeCFycDdJKl5H
NDx7Q2NMXjh7a18oT3g4OHw5TAp6Mzh1RCVeRilNMnpLa1p1aksoJntyekg/aSVxMW5DPFZofCZ0
JnF9fFd8I2djR2J3dmwmaUkqPHtKP1dNN3F8PU4KejM7VD1QRkV5MzVSNk0tZ1VvfStveXRlMGhY
Wj4pKT5ARDZWZ1hWfnFPWlZDempJXihHTl9ZOG93PzM4VlA0OGJECnphdlEkO2Elc2Z2dDtUclUk
SjxsPiheZytTV31vfmBTLWlGRXZQJThNekUwWVotJm9tOXJEMTdGRyNVVmlnRllPQQp6Mipga1BY
bzRPWGdFPDVjYzA/UmVMV3FiWDspbGN7U3g1IWFqMF8tT1AtdjdXTiptPmhOPD53b1VaSnNRSEZO
O0YKejcoSWwrVllEenxtfEQhST9WQklNdlNCVDsrMU1jKjU2JVR3ans4UWhMWjN1RyRSTmZMJmR8
ZHMmS1M9KSVCMDBxCnolIzMzOFhDN3dSJihlVUd6ISRKYHZTemNmdkV7Sn51JE9Wez00anpHPWJZ
ZFE9Zi1lbl5OOH0/OzNle29AYGR3cgp6QDszPEIzIzx2MjNMTztzRE9ANkFGMHYraWc8dm02Q3c1
YnVFRm11T0wkWWZ9dX5la0E8eFV3SHRqdEgqd3B9SDEKekAkIztfd2ZCaFpwKCV7LWVWfHlqQDNk
MDFhPWMycT5OJk1DXj1nZnFueXAkN3dSPzVtPXppUDNwXnJDXkg2IyohCnpqanw4NDhoPHhvR3Ux
WnBGK1hxN1lzRn1OJj9kKXIld0VBRSo+VGR6KiFqQVB6Pnk1czRSPTQlRWkjPl9vITFyYgp6Ynpj
WCsjc0tjWCRlXihoIV9YVFBRRUU7Jkl3QkA9Sn58Kn5BdlA7c0BwI3tmeiRBdmglOUdWa0p4ZyYt
b2xURikKeiNBUktgNXpCNE4pNmVmYT1YKmk4VjYzcEQqIW1KKFg7Wm0+ck5ISWhzXmw3Q0UhKHhw
eHtlelNIP1E0IyhBM3BUCnpYXzBDank8Z051P29qUklmMyoye0B5WTVscmFzOTVpPWt0fl4pRntm
PFZIMmRofnA5Tzh6JCtkVCY1cD1sYm50Sgp6S0opeyMkaCpZMkpoJlJOSG9uZllmISFGfUVUVVBe
WGFKeE5MNjhUSEZhVGM+S3pJOzIhfmsoWUI5U3g1NFAqJVUKemk0c0I/cHtTXkcpTjM+dys2MHx+
PyF8Q3BUcnQme3BMN092WFhyaipITCR0WlMpM2Bab31Rb242I1hoZzIqVmRmCnpGVUFpez9vOHYl
PyMhUUFxVlJacEV2cSVfMkhRMXU1KGhVJjRgKCEmNnhTZWtKZFpyajJpe15uRk1mM2FBJVZ8PQp6
U0E9fG9yRz0rT3U4TXtiKVd2WE9aXmlGT2VCUXc9cjZnXjwoXn0/YHRtYGcreGhWTz4tOHAtJUQw
SjxlLU4mYXkKelJIbXZGdE07bWNoS14+RVItY1pydUo4VF55KV5ANCFePWpEMk9eRTlPYEpfMW49
NHI0U3N+Vm13eWJ0RjR6YEMtCnpQN1F9JGtEeSU+LVBUQ0s5YDhMNWQlZzljYGljNX4zSmVJRTIo
Yj5tUG0hWSpnZm03WU1JcTdZJEdxYnprR0d3Owp6cEh5KSY/diE8a2JuMDZBZ1VxeVNRbSRUfT57
KmBrYU4rQzR7LVhNbHtMO0FjeilHaHBgcWhNKjw9VzJjPkdnSUUKemt+ZiFjYnZLPUJDYmJCKzQm
MEEhNktkfng4MlUpNllyNEMhQy1zP1VwVCs+ITtPRlBKVXFydiFeTHBZPCk/M1o3CnpGWEpXZTR9
WC1MVCVHemJKXnQwO1RrSzVmWjFZXmxfWHFQO2YyYU1oVSpLRWxUYTVUQWBtPTZIZVdgUEt8OG1g
bQp6PXR9MHchbTd6PyszTTw9KW1we2M8UylyelVjVn1UT3w0NjxkI35yTC0mPiNGO01+eU5AWlpT
YVh5MklHPGw4amYKekppZDgqYkF+MkNiRWY2Y3hAazBrdCRxbXIwMm1FSTB6KVZTR1h1bF8oJWsp
akVoc1NqY01jOCFVPUhATXUtd01lCnpwPHp+YjBLZndQWXQjcl5BXkAtZkFaKkAjTWhDWXMhSU5a
WTNJSVg/aChlNjdmZHYzQzEwWkpKNmVGOWhlVUwtYAp6Qm9pd0R6eWwhdVVjdlVaK2s4fUxwcTFH
K1A3TXZ5dypkZT8wSG5+MU84bzg5N35eWl94RTxSPzNBZUVhMDcoRjMKekkzVUUtVztAcjRyPGRX
akhXVmZ9KDg2cD5HbTZWRT80VFYwWn4+clghM2FufDBVeilKY2B5UzVGeCh5cUttcjA3CnpLblBJ
NDMjZWNPbFJ5RVZLVkErbjJeOEBBS1QtMUY0SjRwSTFiNmB6MCQ+VSM1YWl+VU5DQ3BPI31nbX0x
eE9KNQp6bl5DeGBASV8oJCYkPERHS3A9I2BLTXwoP1Z0eTw5JEpZLSRBPjxFRns+ezdqQn5wU0t5
ZCV6c0x+QShzVngleU4KejctZnQ7TWpOQXBRM25FczJPfExUNyR1QXZNaH5ObChabmNZKWNhPGRY
OHo+YXMqVDU9R256c21jdEpRJnp6YyVeCnpSV0lgWVFVaERQSXsqTmQ0V0tYeTBIQXslfEYzcno8
YG9xTjBBTFVqOGNwJUBAZUwjQmdAeSl0JHFeMClsWHVHegp6NmNyVEk7Q30kfnJnSWNYYWlpen0w
MjNgcUxfdCh8b2I4PXFteiVyfWdxN159e3J8dFdjUT81b1Q2WXlpQmFJOU0KekxwPGtqYUtKSWZl
aSsjJT9PdFNEVUd9Y1A4fGMxdzF3NCg9QGd2az4+UVRHR3goNSZ3IXNGP3NraUg2I0hMZiNaCnpV
YW1GWis4b2ZXSkd4cl8xYUNpOFZjUUpPdHNyMl9UfDNgWUUqN1M+XlUrJG52emhYdUpXSWJuPCU8
QyklQ3EkUQp6QzlUIUxTdmx4QF4qRDJfc2J9PjdTM1M8MlBxcDt+IzUtcT9GP3BENE9+dEF9V3sp
dj4qbUozdGJuKzR5R2NYeCYKem5SRC18M05WJD1GTStlU0xvMUxWN15+XihiPkM2RkZmS19+dWJa
bDtCaVlkRSFMe1VBYm9+a0JrRS1HTHpRVkVTCnorUjxAV1lwbytAUFM/QVMob3ViP2Q1KSVAKj5M
ODF6NTZIfilkI0I1VlFUPXtkKDB+QHQ1PkVZen1oPXVLdExpRwp6Sj5ifTUtWmRBMmBOP0RvI0pY
YVhYN1p0SCopKiEjUztjZ0k9ODk0SkVgUXB3OW9LMWxKdGlOZUMydiRKdTgyTkkKej1lJTtmZU5A
TkZgNkg7aE1pXy0mND96MWxJX0gmUj5ya0RvaSU5Pk50T3YtUjRWOCFMenx7UkxzPDxUTWgmYEtF
Cno5O3lSVmNNPDZlLXdjb3pvfnZ7MkxZJThPciVraT5GdUs/PFNQaiRCYzF6QlFKY25vPCFXVl98
NDlja1VHOVdWbQp6blJFcUN3IVROI1Fpc2VTeXZZd3BfUEVIT3s/WDt5SShUNE9nYGhASU1xI0BH
cXo5YmRkJmVSdDYoPz0keUVUQi0Kel4xQkU5I2o7dDR2YCU8YWB8SUMqZ1kpSzsoRXZzRHYwIT0t
TE5GYGdJfnVvVEt3MWQxJnkwSkRsZ3tlTyt8TmoyCnpWNkhsKGItJVhQSyg9O21LOzJZWEkkeCNV
YlFuaWF2U0ZKQWxIQ3hmOS1RSyZ5fUJPKHpOJjJKRzdjSFI9elozMQp6Kil8UVFORE9BblJ9U04+
USEqVzAwckRnSGpLRDxXTz55PjdVNV9wbk4pKTBJZkh4OE83UWNQOW5wP0lzcytXYjEKemE/OSVN
K2xJKUJMdz1CWm4/RE5jNXRQd3o8N21uekh5TS1gI0ZxWStYQ1NaWWNtcWBBeCFzeko+UUhYO2Jq
YHAkCnpEM1F+IVZMSm96Z1pTKEBYeSV3PSglIXY5X2NAfVhqPGpQKjIxcEkmeEJPfH1tZXhSQyVz
eF9zUXZ8blpIMGdOKQp6Y0lqKXpSJWlzSzJjWD9Qb3FTUFBYVTNRIWVqXjxMTWt9PVpnNyk0Uiho
Smt0OVk1cWJiWjA9YDwrPVMpZVE4eksKekRXbWFSSGlvblM+aCExaHV2V20tXnt7bjZCOFcpclkm
I2t8WTlSSDdBYHo7Q3U4VXNaakpfaShwRFBQeGJzV2FICnpxekJ8QGtWYkFBT0BROEUobz56PmN1
Km8zemVWSXJhQz01fChyJjUwUSZ8PnpJTnJOWD5BN1UmbUtJRjNTeDYoLQp6THtLc2xvK0g3QGhW
QmVYMW11X2UwUW5edCRtbSlZT3pvRUMkeGhFM29vS0AydHZBfVNxSzVGNzxkRjcmRGI3Qi0Kende
N3Z0V2QrRkFtS2woM2AqNSEzZmhwcHsqI3NlRm9IRlh2RVBQdzEpTmMzLT58NUYhYjkhVVVZOzJq
YCFebnomCnpZLXY1N00zV20wPChKeHt3elN1PytmYGl5RzJxUiMxc3I9Z3slSDsocEB+RV9ZPG9g
R3dvakFKOU1meWVHckREVQp6RWFePmR2XiMjdjUwS2deSihvbXxYeUloVEkyRlF8ajQ1QHg7KkBz
Izwhc2hEOE1sbTxobk5SJEdfZndKKTdqKnYKenh1a3UjeXw1ZD51R2AqbyVPKHhzO3hRJVRGdnY5
e3gzcTl0aHkyZXVoR3luI3hhRS0pRWR7WUlgSndpPD9GNXZHCnpVUG9xTkc5bGFyd2Y4aytHP3VL
b3IzSkYzKExeWDRUU2oxZF9jRjNqPXgqckBPNiFzfldNOUVHQmlCWGFkSFpIMwp6MH40dzsoTG8p
SExicHpQWipAQFV7IWR+c3FuUzdaPHE9QENWcUckdGFlR2xGbiQpeSUrSU9fbStXdzZ+YyQwTncK
enMwTC0kUURfV2xLWU1UQEFVKChZUG83PVZQSlZocXhPYjA3ZlVgUXVMN31fM1dDV3gqLV9gSFA1
dHh3P1h0IWleCno1c357RXxIUVUzKEx1OXVKJnJfUnFEanhZajRQTVN4Xj53MG9YaVc7cEp1UFlX
UVI+bnRBfXF9STcoTj5tRHhoTgp6SF9rKiRNMC1LV21QTDA0U3E9LU9lVyM3cUJCU3B5emR1MEJO
aioqfUJERlU8KXxPRylnRTNtV1dSezU3NU47ZEUKeikqSWQxJFVAYEV3dlEkeTdEQHxhXmNecWNH
ZUFhVCU2c3RucFAxaU1CNHVNcjNufWBjMXpJWUtwaFVCOTFtI2hJCnpaMVB9aWRrOyFJX1MzSHFa
SkJwQDk2eEZoeSk2cFlDXn1fJmZ8Q3YzayEhWW5IbTxiQ0dSSCkzZVl7ekNDNEApIQp6SEpZTXtQ
ODdQKVdKSCZmejNvOSFzQXNzO3pAdEtXMXw9Rk4qZ1c9cDJCfUB2djJhR0FlZCVQIXJiayFycVBZ
aVQKejZ0WFJoPzNnYF5MfClqb193fUc5dnVgdz5qOXskNWlRYm4tPnlePHNOQUstQGpIdD9Ua1Fj
cllrVUNfMDtoQXdzCnpDVWtlVj4oVjc1RXlnamskJlhIWkt6aEpkWFcoOWFNXj13aGRmezU8WXdj
JWUqbDFHMkVkOHczcDFufF9rZSllYQp6MkI+d3VYbDt7U0w+Rmd8P3F3dVpvemVxRU9rVndsIyV1
MmcjdlhfNFlUTXBsMzM8b1Iqb19WNDV0eipFOWZqfEEKejcqbj9VKX1kUVdVTjItdksteGFiOTE8
Q29LMVF1cV9CYld1ST8pczVKJFhAQk0tOWgxPCZuY1RKTnYlS0FMejZgCnp7K19kS1cqNV5Ea2VN
P15aTDN2bz1PdTQrXnMlYUFkVD9lQWlwSE43VDN4MkMtPlF3YmZnJmZkSyg7Z3ItRk51YAp6KUJl
OzlNSnh1d1hoPypINTQxfil0VUotTW0xdWkhJTs1b3ZqJTgxRV9MU1REcHRfREdjMSZzV3cpOW49
b3ppUWcKenNPPldsSCkqQElYV3gteXZZPHV7aDhociFnPjFjMEJhUX1VMyg1OWErdU1hYDN1U3xg
eG9GZ096MFN4dVdTMmV7Cno3TTN8cjF3PHlxcWNEJjFBfE9ZRCg4YEE0YzEqKmw5WmBxeXQyfjBx
T2o9TlRNZzM+PHAhISNKU3p9M3ZgRTFXKwp6SD1hU305blR0QHNuLWF5VmYmKHZVITN6VCZzRjg9
LTZUamVzJkR8Yyl0RktYSVRZKWgqP0EzUTFnNTx7c15pezUKejtDY0NPRGxOaStEVFZYO1N+azV8
VGRvMFIxdjtDQG8paHNLJlZHKTdKQStkKWI8ejFXJFEyK1pOUSprPTxANTRuCnokMCNqKl9yMnUx
NXU2ZCtVTDdoeGpzaFEmUzNlIVA1ZGY3Myl3QDxeN0hmISMwPSsrN1RQc2c9PEdsYHdAfVRSRgp6
RUh1ZnZtXj19MTV5YW00JFNvdFMpfFNeaSVTKGh7NT9TN1drIXledW8oR0UhIUNza0ZfJT48N3Ry
eVIyK1dUQkIKejZHNEBeRjFxJXBhQy1sQUshLW1ZM1E+RW8hMWM1cFEqSyNYSTMtajB3YypHKkIr
NF9ZbkRKbGxjJHZOVFU0fWNhCnozZzEwOSgrZHNMa1Ihdkc9flo+I3QmTHU+UEtpX3IyV3ZMYThm
OF8+cG5yQDJ0YCZYWEpITW9EY2FJPUBMZGp+Mgp6QGhOa3lKPDQ0SXVYaW1rdFBkWTBNd3h2I0Vl
WTRyY1BufUpSUFNWQz5HZWpxX2tZP08lMVVFd2BMdkpKREk/V28Kejd3cndEJGlDeW4tTiNRciU8
QGdveXs/Z0diQnpHeSlZT0JIMjt+cUBeOHF5RWMjK1cmcGAxRm9DWGBkZFg7ZGY9Cno3am1aNyky
TDljcD8zck9IMX5VRUQ1bm1wM0ZYdnFub3YjK3J3UWVfOGhNUGtZMkQ1Vzw7V2Q2bUZUUWNHTWVC
SAp6cyZ8SFJZRVZybXItc3ZuYSV3bkRENXIrZ2dtUCopTyg+Xl4ofVokcklLNEJKWXk1TjhzU1do
YlApLWYxdnFFX1cKejdkKm9+Ym1ePjZQSG40QUFEOVd7KU5xPG1QN1M5c0wtfXJGdmVWcX1zOEY3
IWZ2NCZrNzBSaE0pYFc2dUk4NyswCnpoU0wkRG9hMFNTLWUwJnFncExTaHEtcUJvdUVZTjdzUCgy
YTArZWg2WmBCYmFifSY8Pyg+e1FFTCVDKXs5ajRJLQp6KSh+eURIPFZVZXhuPyVMeChEWjhETzhX
RyMpbV9XSkNFPXVPWVJgdUtKVmVTdWx6ZVlSZTl8ZHdjJjh1NlV4WjcKeip0fm1icjIxNmFpXjtv
dClFRiYlWXhPcGMqVGAjPnlPKjsyUyk8SX1KZXowPnIka1I8N0RBUlpMZXl+PWI/b0JnCno4VEck
IVZQTGYzeHpkSWBWNz4mQHQtXk9VNHFRXl5VM3xBfCQyYGM7QThfeGomI1Q5ajkoLSY+VjFleUR6
ZEVSKwp6T21yZ1BxSn5BQ1Y7dkZ3ejNpcCstQ0VoQzEkezwmUHtmTUJqanAjekpGcms5MmVOc1hh
X3J+b0dFREBvMXlBR3wKek5GQzBQQklLMFchej5jRnA/OThmO2khJl93WnRpeGowPnxITjVDOzUl
QnpGdGwlRG47VXEqSEYwRjFXaUpLcHN3CnpoUzRqa3lmd2wlPDg8dGs4OW5fPjJWfkhCQCtMbmNo
ellAMilJamFUX0ttJTZSPTRhSnJCe3E4R1k4YVpyWGkjNAp6Q2lQYDVVOGtjdjx0O2clbTB7MUpZ
ZSNpbXs5eU0mbkxSMDQ8N1E4TmItVnA3O3xpez1Ue0hyM0ImWER9QW9LIVIKeip+RndQXitjYTNl
TTtVQGx9Z3hTWXs8eGZ5RSZoNF43QUsjRlhzRzNlZ01feVFGITBtQSs0Znp3UVhsJXlnM19jCnpP
QlA3KW9Yd05mcFZmV01ARXV2Yy03X0hDMktPNUhEbkFmNVVDZVIpKDBUQ25qNitgYDxUfHo7Yno5
d3BaQFlAUwp6cVUtQ3J0PTVLSEZQQHtQRk18Jj93c3B4Q3drPyEpJi18STs1IV5FQip2dShXSjBh
KXZmUSVydWI7Iz01dHR5bnIKenN3MFFnY2B7ZEk4dShqJks+SyNDVlokfjhhcyZ0JnB8KmBlX1A1
enJVfVlUQyk8eEhFYVg5YUIlSUdRUzNERlVSCnp4Xlh8OGJLZG5Xa1JGc3IwYUFwQXZoNkw5OGNZ
X30tcTQ9YXBIYzxOKjRnTlNqNis2fjdTd1BKJFp6QE1mKkxlXgp6b3ZZKzdjX2c+QW8je0RMPGRv
aSlMMGcjfHA/Wm12JEdhYj5ISXtfejZTSX54K1F2bWQrVXdwVmNTYFRgc0E4Tl8KengyYk5zRlNF
fThUX2REPl4ofEBiKnwkemQ0VHFqPW8mSiZeaHkwUmYkbjxyWk9KM3Y9LXBuYnt1QE97dE4oLWlM
CnokRn4xK2ojb2xEZzMrc1F4MGImOVcqcmh1Vm11ZiVrWUQwTVgzTXxJQmJlX3RyYkhwITA7eDk/
OyZxPihleWNpVwp6TmcwJV9VPC1xbk4xeDljRXJVQDVYflQ4fEJuemVZY3w9OFMkdn15SyVwa1JX
I0tJV1dTJF9fSj9mdk9tNmlRR2QKekF1dWhCWlBTcTE4QGo3OVkrZWhvNGYjaWEoYUwtOWI9bkt4
K0FaN216clJ9clBTayUwUVglJUNKU1opSU5LRUxxCnowQSpXKUduIT8kQCoyRXQ1KT90SF9jbEdj
UTIxX3A0QCZRJCpIRyQ+NGQ+c0l5UUskYTxeRHRAYzFxNzNeKmQkKAp6WTQzPyo5bnVUS2B1ZVNt
Pl5xZi0mUVZtMlA5QnNOJXJDKnRpNSR+OUNwKF9aIXVtaDt5d1VNfnhvc09KOHN+VTMKelkhNUQ1
d2wzcS1gT2J1cm85dCpQZjFCZVRsK254X2ZvYmJrKCRYY05DfHFhbT0qX1ViLSRMM2xUZ2F8SkRl
P15ECno1ZGUrY3JLakNCZTdeO3xYMCpteFRgS2JLQlVGUGo4JUo3KUx9QS0mQXBKJjBIXyVtTGha
THVyUkBSNX1lR2tZWgp6JiVCI1oyUSUlQ1g1a2poLUA9RCs0UTRpYHRVQmRnZ21YJGdtUDhXfHVU
ZllxSnkjUitlRzRUNW51UVZfOCVAI0oKempFUGNjN092czZqO1duOTEyVVYxK2o+KXdfS3FvfDJE
IT59PEZwJlAlNSU3bWZWYHtrZWhNQ2dvXmpGSyU3KlQ/Cnp1WkhscHdfKkZZOzNjQ2hibkNST20j
dXAkMVpDIXFYY2l2OXM1a3JDKDNAcHpBbmlFUGJJSXVTcUQ+Mk5kezNjSAp6JSltclRMKCF4c25+
YFU0ZHpkaGU/ISYjJC1kX28hRj1oczQ2a15mMXNLRlNgKVY7RkIqO3xiV3EhIWJtVWZaTGcKejR8
Plp9U3Q0UzleeSpLJHJIMGFUTVNIRmw/MWtgfkpWTWJMMUEmO21zbkhGbm13P2IldmQhRj9uS3dF
JXFISmZ7CnpqQEJUYzx2OFMpLXxgM3swK1ZxfDReVk5ec1ZXbTQ/XnJoMmpeTVFBQSYxcDI+Q0wj
JD5YSVVQNy0hd20mY3U7cAp6ZE5YdkxaX1VzUms1fUk0PXIzeTVMfmh5QS0pMH1wOzV7SXRDN3w4
fl5DSk0rKUR5eWN6PkZZV0c2VDBFSi1ST3UKelN2SUI9O2xnK1dRWH5pUlEjY0AoeGE1KDVZKzc/
ez40RTdAZl4yJDgqaGNyQCUwaHw4bUM8b3MwU2pnJTFZYHl5CnpgLWBCbkVDcEc0OWNeSmlXNk5t
cjxIMmM8ZDJtTUlKRX1XOCZpdE96UERyZUBUaShvWnl8PzloamFDNnRMbio+TAp6V3BzUSpSbVlW
cm9xLXYtWDAjIzVKKG9tfmhPVzhoZXtmfGhibn4tNmRAbVlMTXF8aCpZKiFwfFdIX15NWEMwRlgK
ejxLN3JrZ0p+Zn1wTDwtQTdWfj9gX0YzO2UqezN3cFVIJDs0OD9PQm1UNXF1KEliQEdaWDZIc3op
WEFBIU12aSV4CnpYWG1ydnAqPUpFX1FzZ3J7WEVeQFQwZFJXcEt0UT4tPT11cSpGZCY+QUxASjIq
cyo3fWVJeClgcHw8YUZPY2Q3OQp6WEEzMGJtP2lnSV4zTmdBYSo7PzNycH5YbzIzPDZuPjJiKCtn
Ujw+MiRNbkZBVX1iPTA+bHJHMF9aXitmRT9+aioKem8/SCpXM2BTPFE/UmBjWDY8VmVQbXBHO2Vy
eClUOGgpbjN0PyEhSHxebmJ8NkV+PiVRVlBBdU5IfkIxcCRRPmh4Cno5MkstSjxiX0VPTmQ0SVln
K2U9bUZhdDhIWFEtYXBEVDJXcD4pOCN0VSo/TEhTQHMjMGZzbUxFd2B0XjxuUmB9Mgp6XnhRRldP
OSZ+YFFCaGRUei0tNE4mQHU/Tzk3QiF7RChmeWlWQHd1T2Jqflp3eUxNRFJTM09ZTFYrYyYwPyVo
eSUKelE5Wkp7cEdCR2JXUjl1UnlfOzhGUkZDTWBLUHtPSVJLZThnMnRMKnNzfTZZdktyYG9MOUpC
Mit3X19uKDYtYmZnCnpwKUxjbj9LNDJMZUNTJUpVZVdQMHNiYEY3X1pnXkpLNXZpZU1oIT5TNz1M
QjNXU312fXl6LWQzdV5JKG5iX2BpOQp6QlozQSYjdmIjbyVSRFNsKXlgTjdXPWtfNklkak9VSzJp
T1N1QkRTN296N2dlP2IrYH1eYGpyU3AzWSohQkA1VkUKekFmNUBsVWE+JF8wbkx0OHVPRihuQmN0
eXphUTM5TD5vVnVodGxta2Aoc1h3MUB7blhuQ3N4MzskMT5PfEZ1cFUwCnpORUp2YnBSMUZYdH0q
ZiY5bDhXZ0hWPD5Ic2FUY0okfmZXYkZnQVRHYExhQFBTZ2tefiNfYVNSKWROdVBfOzdJXwp6dHAj
TmgxS0FBNHVOTVEjUXMtT0VGdCZuVj9XTEx0Pnc0OzRRZCpqaSo0Q1o5KTtqM2FfTnYwUSotK3xM
NU50aTYKem4mUHo4OD4zYVZNQExWJWo7RUpTRmg+QW5nZ1EoO1lTJmVjayUxVndaZkRWdU9La3JL
RT5vYEVWMGY8WDAwMDAwCkxOa3ZYWHUwbWpmYGo9OEEKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJjZXMvcmluZy5wbmcgYi9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVzb3VyY2VzL3JpbmcucG5nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2MWJi
OTRlYmE4Njg5YzlkYTZkY2RhOGFhMzdiNGM4OWUxZTI2MmUKR0lUIGJpbmFyeSBwYXRjaApsaXRl
cmFsIDcxNQp6Y21WOysweU89SlApPGg7M0t8TGswMDBlMU5KTFRxMDAxZmcwMDFmbzFeQHM2I2x5
KjQwMDAwMWI1Y2hfMEl0cCkKej0+UHgjMjRZSmBMOyhLKXt7YTc+eXtENF4wMDBTYU5MaDBMMDFG
Y1UwMUZjVjBHZ1pfMDAwMDdiVipHYDJpZ1NfCnoxfnZ8IzZlMWA5MDBLKSVMX3QobyFffUZ3UFRO
b3ZoUURLeFIlRWJYTEBiT2NRWFlhPSRkOzliR0cmV3xHRGs/PQp6bT8jVHRIb3BRN1ZUcEVSS15a
e3xMQGdFV2EkSWd0dGBwbHlaMDlWSXU0Q1dOfE19MGdAM0Y5a05QNjlDcGJ6WXQKekxvOzleUUdD
QVk5SV8lPG5EYVZgez1TcTJtbEEreVdwQmBjLXhMOXMwKVZHTFlZbVZ0Pj5GXksyVXYxSS1VRlFf
Cnp7flpCJHo9Tmgyd1ojIXwwKnNkY3xDQV5gRSlBT1d4PStCfjA9TyZTUmlaZHFhdmNITXorZUlO
dnFiVEpWYkJHVAp6QmpCNHZAdD19fnhDMENgZkhQc0dBbWt4MVU4WjBUU09FQHokR290VDttSSVT
UkkhQSpLZGZnMVBqej1aa2VCTyoKejFraF88Pkt0eCNsKk8tVCgoQz5MS0FEcVJufUdCdmAofW9K
T0I4PmVRJmpKdVdqKG9STkpyVTJFMEMrSW58a31pCno4Mzl3T2k+YX1JREFQeWttSGNiZkRiSHp2
Py1JcjVzaUoqYkt2aEZKN087aVljVCpwbGdJQ2xTY0o2UilkMi1ebAp6TW97bkVmJTtRUytMTzh7
Yj8qTylEKFE4djFDS3hOczZRLTJLayNmSDl2VDJAOEZxYWhlUTV5Yjk3RGpDZ2J5QHEKejA5V1Yo
b3RkJHQyN3A/SVNwWkRUOzdKMk9FeUU7eioxd3l6R15sR1cpd2xuNWNTeGMqJFNTNkdqY1Q/UjZf
Wl5LCnoxfnF+WGRgbmRkWUpFRF5TRldubHpUPz9IUDV5eXVyXjAlMnNENyFebj9wT0NjMlFpOS1X
YkBpWmZVRUUxRVhmNQp6T2syOVMpM35rTDAkQ3xubWhFZG1ZKXdsaSRhdUAlMmNBOEw5KVhLaG1N
JVRfcTZsUUJxQilkSj9ORVEpKFJqQW0KeGphPHwyWD9BUGUxS2l3PzRIPn1Be2R8KUhkfUFOUHtz
THo3OXM1NTdMe3RDKDAwMm92UERITGtWMW40R0d8dkQ0CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEK
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFz
ay1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1j
b21wb3NpdGVkLW1hc2stZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDcyZmU5
MGExOGY3YjFhYzVjOGI5NDZjOTViY2ZhZTg3OWUwODc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1hc2stZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEU+CisKKzxodG1sPgorPGhlYWQ+Cisg
IDx0aXRsZT5TaW1wbGUgY29tcG9zaXRlZCBtYXNrczwvdGl0bGU+CisgIDxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CisgICAgICAjY29udGFpbmVyIHsKKyAgICAgICAgaGVp
Z2h0OiA3NjBweDsKKyAgICAgICAgd2lkdGg6IDI2MHB4OworICAgICAgICBib3JkZXI6IHNvbGlk
IGJsYWNrOworICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICB9CisgICAgICAu
Ym94IHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMjAwcHg7
CisgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgIG1hcmdpbjogMzBweDsKKyAgICAgICAg
Ym9yZGVyOiAxMHB4IHNvbGlkIGJsYWNrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEo
MTAwLCAxMDAsIDI1NSwgMC44KTsKKyAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXIt
Ym94OworICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IGJsYWNrIDAgNHB4IDRweDsKKyAgICAg
IH0KKworICAgICAgI2NvbnRhaW5lciAubWFza2VkIHsKKyAgICAgICAgLXdlYmtpdC1tYXNrLWlt
YWdlOiB1cmwocmVzb3VyY2VzL2FscGhhLWdyYWRpZW50LnBuZyk7CisgICAgICAgIC13ZWJraXQt
bWFzay1yZXBlYXQ6IHJlcGVhdDsKKyAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDUwcHg7Cisg
ICAgICB9CisgICAgICAKKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCisgIDxwPlRlc3Rp
bmcgbWFza3Mgb24gY29tcG9zaXRpbmcgbGF5ZXJzLjwvcD4KKyAgPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgICAgIDxkaXYgY2xhc3M9Im1hc2tlZCBib3giPjwvZGl2PgorICAgICAgPGRpdiBjbGFz
cz0ibWFza2VkIGJveCI+PC9kaXY+CisgICAgICA8ZGl2IGNsYXNzPSJtYXNrZWQgYm94Ij48L2Rp
dj4KKyAgPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiNTRkMTkyMGMw
MmY4MTU3Mjg2N2IxZGE2YTZhYjJiZWViMWZjMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay5odG1sCkBAIC0wLDAgKzEsNTQg
QEAKKzwhRE9DVFlQRT4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHRpdGxlPlNpbXBsZSBjb21wb3Np
dGVkIG1hc2tzPC90aXRsZT4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVu
Ij4KKyAgICAgICNjb250YWluZXIgeworICAgICAgICBoZWlnaHQ6IDc2MHB4OworICAgICAgICB3
aWR0aDogMjYwcHg7CisgICAgICAgIGJvcmRlcjogc29saWQgYmxhY2s7CisgICAgICAgIGRpc3Bs
YXk6IGlubGluZS1ibG9jazsKKyAgICAgIH0KKyAgICAgIC5ib3ggeworICAgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMDBw
eDsKKyAgICAgICAgbWFyZ2luOiAzMHB4OworICAgICAgICBib3JkZXI6IDEwcHggc29saWQgYmxh
Y2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxMDAsIDEwMCwgMjU1LCAwLjgpOwor
ICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgICAgIC13ZWJraXQt
Ym94LXNoYWRvdzogYmxhY2sgMCA0cHggNHB4OworICAgICAgfQorCisgICAgICAjY29udGFpbmVy
IC5tYXNrZWQtcHggeworICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChyZXNvdXJjZXMv
YWxwaGEtZ3JhZGllbnQucG5nKTsKKyAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogcmVwZWF0
OworICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogLXdlYmtpdC1jYWxjKDUwcHgpOworICAgICAg
fQorICAgICAgCisgICAgICAjY29udGFpbmVyIC5tYXNrZWQtcGVyY2VudCB7CisgICAgICAgIC13
ZWJraXQtbWFzay1pbWFnZTogdXJsKHJlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcpOworICAg
ICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiByZXBlYXQ7CisgICAgICAgIC13ZWJraXQtbWFzay1z
aXplOiAtd2Via2l0LWNhbGMoMjUlKTsKKyAgICAgIH0KKyAgICAgIAorICAgICAgI2NvbnRhaW5l
ciAubWFza2VkLXBlcmNlbnQtcHggeworICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChy
ZXNvdXJjZXMvYWxwaGEtZ3JhZGllbnQucG5nKTsKKyAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVh
dDogcmVwZWF0OworICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogLXdlYmtpdC1jYWxjKDEwJSAr
IDMwcHgpOworICAgICAgfQorICAgIAorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKyAg
PHA+VGVzdGluZyBtYXNrcyBvbiBjb21wb3NpdGluZyBsYXllcnMuPC9wPgorICA8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgICAgPGRpdiBjbGFzcz0ibWFza2VkLXB4IGJveCI+PC9kaXY+CisgICAg
ICA8ZGl2IGNsYXNzPSJtYXNrZWQtcGVyY2VudCBib3giPjwvZGl2PgorICAgICAgPGRpdiBjbGFz
cz0ibWFza2VkLXBlcmNlbnQtcHggYm94Ij48L2Rpdj4KKyAgPC9kaXY+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxjcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2FsY3MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjUyZjE5NGQzOGU0NDYwZWYwMjkxMjZjZjY0ZmY2ZjgxNzMzOWNkMWYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2FsY3MtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQWxsIHRhYmxlIGNlbGxzIGJlbG93IHNob3VsZCBiZSAx
MDBweCAqIDEwMHB4IGFuZCBncmVlbi4KKworY29udHJvbCB3aWR0aDoxMDBweCA9PiBGQUlMOiBl
eHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2FzIDM2CXNpbXBsZSAxMDBweCA9PiBGQUlMOiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgODUsIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAs
IGJ1dCB3YXMgMTA4CTI1cHggKiA0ID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyA1NiwgZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAxMDgKK2NvbnRyb2wgaGVp
Z2h0OjEwMHB4ID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAxMzEJc2lt
cGxlIDEwMHB4ID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyA4NQkyNXB4
ICogNCA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgNTAKK2NvbnRyb2wg
d2lkdGg6MjUlID0+IEZBSUw6IGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgMzYJc2lt
cGxlIDI1JSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMTM1LCBleHBl
Y3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2FzIDkwCTEwJSAqIDIgKyA1JSA9PiBGQUlMOiBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgNDAsIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1
dCB3YXMgOTAKK2NvbnRyb2wgaGVpZ2h0OjI1JSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAx
MDAsIGJ1dCB3YXMgMTIwCitzaW1wbGUgMjUlID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyA3NCwgZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAxOAorMTAlICog
MiArIDUlID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyA5MSwgZXhwZWN0
ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAxOAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvdGFibGUtY2FsY3MuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1j
YWxjcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxNzFjNTk0NjQxOGM0ZGQ2NGFlMTBhN2YwNjQxNzQ2N2U0
YjhmYWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2Fs
Y3MuaHRtbApAQCAtMCwwICsxLDEwMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8c3R5bGU+Cisud2lk
dGgtdGVzdCB7CisgICAgcGFkZGluZzogMDsKKyAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDI1NnB4
KTsgCisgICAgaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwcHgpOworICAgIGJhY2tncm91bmQtY29s
b3I6IHJlZDsKK30KKworLndpZHRoLXBlcmNlbnQtdGVzdCB7CisgICAgcGFkZGluZzogMDsKKyAg
ICBoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDBweCk7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVk
OworfQorCisuaGVpZ2h0LXRlc3QgeworICAgIHBhZGRpbmc6IDA7CisgICAgd2lkdGg6IC13ZWJr
aXQtY2FsYygxMDBweCk7CisgICAgaGVpZ2h0OiAtd2Via2l0LWNhbGMoMjU2cHgpOworICAgIGJh
Y2tncm91bmQtY29sb3I6IHJlZDsKK30KKworLmhlaWdodC1wZXJjZW50LXRlc3QgeworICAgIHBh
ZGRpbmc6IDA7CisgICAgd2lkdGg6IC13ZWJraXQtY2FsYygxMDBweCk7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogcmVkOworfQorCis8L3N0eWxlPgorCis8cD4KKyAgQWxsIHRhYmxlIGNlbGxzIGJl
bG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4IGFuZCBncmVlbi4KKzwvcD4KKworPGRpdiBpZD0i
dGVzdCI+CisgICAgPHRhYmxlPgorICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lk
dGgtdGVzdCIgc3R5bGU9IndpZHRoOiAxMDBweDsiPmNvbnRyb2wgd2lkdGg6MTAwcHg8L3RkPgor
ICAgICAgICAgIDx0ZCBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNh
bGMoMTAwcHgpOyI+c2ltcGxlIDEwMHB4PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRo
LXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDI1cHggKiA0KTsiPjI1cHggKiA0PC90
ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8dGFibGU+CisgICAgICA8dHI+Cisg
ICAgICAgICAgPHRkIGNsYXNzPSJoZWlnaHQtdGVzdCIgc3R5bGU9ImhlaWdodDogMTAwcHg7Ij5j
b250cm9sIGhlaWdodDoxMDBweDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJoZWlnaHQtdGVz
dCIgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDEwMHB4KTsiPnNpbXBsZSAxMDBweDwvdGQ+
CisgICAgICAgICAgPHRkIGNsYXNzPSJoZWlnaHQtdGVzdCIgc3R5bGU9ImhlaWdodDogLXdlYmtp
dC1jYWxjKDI1cHggKiA0KTsiPjI1cHggKiA0PC90ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJs
ZT4KKyAgICA8dGFibGUgc3R5bGU9IndpZHRoOjQxMHB4OyBib3JkZXItc3BhY2luZzogMnB4IDJw
eCI+CisgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0aC1wZXJjZW50LXRlc3Qi
IHN0eWxlPSJ3aWR0aDogMjUlOyI+Y29udHJvbCB3aWR0aDoyNSU8L3RkPgorICAgICAgICAgIDx0
ZCBjbGFzcz0id2lkdGgtcGVyY2VudC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygy
NSUpOyI+c2ltcGxlIDI1JTwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0aC1wZXJjZW50
LXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDEwJSAqIDIgKyA1JSk7Ij4xMCUgKiAy
ICsgNSU8L3RkPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIAorICAgIDxkaXYgc3R5
bGU9ImhlaWdodDogNDE2cHgiPgorICAgICAgPHRhYmxlIHN0eWxlPSJoZWlnaHQ6IDI1JSI+Cisg
ICAgICAgICAgPHRyPjx0ZCBjbGFzcz0iaGVpZ2h0LXBlcmNlbnQtdGVzdCI+Y29udHJvbCBoZWln
aHQ6MjUlPC90ZD48L3RyPgorICAgICAgPC90YWJsZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IHN0
eWxlPSJoZWlnaHQ6IDQxNnB4Ij4KKyAgICAgIDx0YWJsZSBzdHlsZT0iaGVpZ2h0OiAtd2Via2l0
LWNhbGMoMjUlKTsiPgorICAgICAgICAgIDx0cj48dGQgY2xhc3M9ImhlaWdodC1wZXJjZW50LXRl
c3QiPnNpbXBsZSAyNSU8L3RkPjwvdHI+CisgICAgICA8L3RhYmxlPgorICAgIDwvZGl2PgorICAg
IDxkaXYgc3R5bGU9ImhlaWdodDogNDE2cHgiPgorICAgICAgPHRhYmxlIHN0eWxlPSJoZWlnaHQ6
IC13ZWJraXQtY2FsYygxMCUgKiAyICsgNSUpKTsiPgorICAgICAgICAgIDx0cj48dGQgY2xhc3M9
ImhlaWdodC1wZXJjZW50LXRlc3QiPjEwJSAqIDIgKyA1JTwvdGQ+PC90cj4KKyAgICAgIDwvdGFi
bGU+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+CisKKzxz
Y3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordmFyIGNlbGxzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3QiKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKTsKK2ZvciAodmFyIGkgPSAw
OyBpIDwgY2VsbHMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgY2VsbCA9IGNlbGxzW2ldOworICAg
IHZhciB3aWR0aCA9IGNlbGwub2Zmc2V0V2lkdGg7CisgICAgdmFyIGhlaWdodCA9IGNlbGwub2Zm
c2V0SGVpZ2h0OworCisgICAgdmFyIGVycm9yID0gW107CisgICAgaWYgKHdpZHRoICE9IDEwMCkK
KyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzICIgKyB3
aWR0aCk7CisgICAgaWYgKGhlaWdodCAhPSAxMDApCisgICAgICAgIGVycm9yLnB1c2goImV4cGVj
dGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgIiArIGhlaWdodCk7CisKKyAgICByZXN1bHRzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKKyAgICBpZiAoZXJyb3IgPT0gIiIp
IHsKKyAgICAgICAgY2VsbC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAiZ3JlZW4iOworICAgICAg
ICBjZWxsLmlubmVySFRNTCArPSAiID0+IFBBU1MiOworICAgIH0gZWxzZQorICAgICAgICBjZWxs
LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIpOworfQorPC9zY3Jp
cHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45Y2NlNjgxMmQzYjA3OTIyNDQzNjhkYjg2YzE0MmNmMWZhZDEwYWVkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxz
LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwyNDIgQEAKKzxodG1sPjxoZWFkPgor
PHN0eWxlIHR5cGU9InRleHQvY3NzIj4gCisKKy5wZXJjZW50IHsgd2lkdGg6NTAlOyB9CisuZml4
ZWQgeyB3aWR0aDo0MDBweDsgfQorLmNlbGwyIHtoZWlnaHQ6MjVweDsgYmFja2dyb3VuZC1jb2xv
cjogYXF1YSB9CisuYm9yZGVyIHsgYm9yZGVyOiAycHggc29saWQgZ3JlZW4gfSAKKy5wYWRkaW5n
IHsgcGFkZGluZzogMnB4IH0gCisubWFyZ2luIHsgbWFyZ2luOiAycHggfSAKKy5iZ2NvbG9yIHsg
YmFja2dyb3VuZC1jb2xvcjogeWVsbG93IH0gCisucHJlIHsgd2hpdGUtc3BhY2U6IHByZSB9Cit0
YWJsZSB7IGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrIH0KKworPC9zdHlsZT4KKzxib2R5IGxlZnRt
YXJnaW49IjAiIHRvcG1hcmdpbj0iMCI+CisKKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxs
MSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIj5GaXJzdCBjZWxsIGVtcHR5LCBzZWNvbmQgYXV0
byB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0
ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBj
ZWxsIGVtcHR5LCBzZWNvbmQgcGVyY2VudCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwv
dGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIx
MDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNz
PSJjZWxsMiBmaXhlZCI+Rmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25kIGZpeGVkIHdpZHRoPC90ZD4K
KzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxs
MSBwcmUiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5
ICh3aXRoIHNwYWNlKSBhbmQgaGFzIHdoaXRlLXNwYWNlOnByZTwvdGQ+Cis8L3RyPgorPC90Ym9k
eT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdp
ZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcHJlIj48L3RkPgor
PHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IChubyBzcGFjZSkgYW5k
IGhhcyB3aGl0ZS1zcGFjZTpwcmU8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8
dGFibGUgaWQ9YyBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4K
Kzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgYm9yZGVyIj4gPC90ZD4KKzx0ZCBjbGFz
cz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSBidXQgaGFzIGJvcmRlcjwvdGQ+Cis8
L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJj
ZWxsMSBwYWRkaW5nIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2Vs
bCBlbXB0eSBidXQgaGFzIHBhZGRpbmc8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgor
Cis8dGFibGUgaWQ9YyBjZWxscGFkZGluZz0iMSIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAl
Ij4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJj
ZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5LCB0YWJsZSBoYXMgY2VsbHBhZGRpbmc8L3Rk
PgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgaWQ9YyBjZWxscGFkZGluZz0i
MCIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFz
cz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVt
cHR5LCB0YWJsZSBoYXMgY2VsbHNwYWNpbmc8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxl
PgorCis8dGFibGUgaWQ9YyBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIx
MDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgbWFyZ2luIj4gPC90ZD4KKzx0
ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSBidXQgaGFzIG1hcmdpbjwv
dGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1lIGNlbGxwYWRkaW5n
PSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNs
YXNzPSJjZWxsMSBiZ2NvbG9yIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmly
c3QgY2VsbCBlbXB0eSBidXQgaGFzIGJhY2tncm91bmQgY29sb3I8L3RkPgorPC90cj4KKzwvdGJv
ZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3
aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0
ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIGVtcHR5PC90ZD4K
KzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gdGV4dCA8L3RkPgorPHRkIGNsYXNzPSJj
ZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIG5vdCBlbXB0eTwvdGQ+Cis8L3Ry
PgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp
bmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8
L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGNlbGwgZW1w
dHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNz
PSJjZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+
Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSIgY29s
c3Bhbj0iMiI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1w
dHksIGhhcyBjb2xzcGFuPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxl
IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5Pgor
PHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIj4gdGV4dCA8
L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGNlbGwgZW1w
dHksIHNlY29uZCBjZWxsIG5vbi1lbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJj
ZWxsMSIgY29sc3Bhbj0iMiI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIj5TZWNvbmQgcm93LCBm
aXJzdCBjZWxsIGVtcHR5IHdpdGggY29sc3Bhbj0yPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90
YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEw
MCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMiI+IHRleHQgPC90ZD4KKzx0ZCBj
bGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3cs
IGZpcnN0IGNlbGwgbm9uLWVtcHR5LCBzZWNvbmQgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRy
PgorPHRkIGNsYXNzPSJjZWxsMSIgY29sc3Bhbj0iMiI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwy
Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIGVtcHR5IHdpdGggY29sc3Bhbj0yPC90ZD4KKzwvdHI+
Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwv
dGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+
Rmlyc3Qgcm93LCBmaXJzdCBhbmQgc2Vjb25kIGNlbGwgZW1wdHk8L3RkPgorPC90cj4KKzx0cj4K
Kzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBw
ZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3Bhbj0yPC90ZD4K
KzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxs
MSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVy
Y2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBhbmQgc2Vjb25kIGNlbGwgZW1wdHk8L3RkPgorPC90cj4K
Kzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcGVyY2VudCIgY29sc3Bhbj0iMiI+IDwvdGQ+Cis8dGQg
Y2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHksIGhhcyBj
b2xzcGFuPTIgYW5kIHBlcmNlbnQgd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxl
PgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+
Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2Vs
bDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGFu
ZCBzZWNvbmQgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBm
aXhlZCIgY29sc3Bhbj0iMiI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29u
ZCByb3csIGZpcnN0IGNlbGwgZW1wdHksIGhhcyBjb2xzcGFuPTIgYW5kIGZpeGVkIHdpZHRoPC90
ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworT25lIGVtcHR5IGNlbGw6Cis8dGFibGUg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8
dHI+Cis8dGQgY2xhc3M9IiI+IDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKK1R3
byBlbXB0eSBjZWxsczoKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdp
ZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iIj4gPC90ZD4KKzx0ZCBjbGFz
cz0iIj4gPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzwvYm9keT4KKzwvaHRtbD4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLmh0
bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hNzdhZGVjN2M0NjIxNDlmNTRjYjMwNWJlYWU3ODRiNmJhOTVkYTA5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLmh0bWwKQEAg
LTAsMCArMSwyNDIgQEAKKzxodG1sPjxoZWFkPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4gCisK
Ky5wZXJjZW50IHsgd2lkdGg6LXdlYmtpdC1jYWxjKDUwJSk7IH0KKy5maXhlZCB7IHdpZHRoOi13
ZWJraXQtY2FsYyg0MDBweCk7IH0KKy5jZWxsMiB7aGVpZ2h0Oi13ZWJraXQtY2FsYygyNXB4KTsg
YmFja2dyb3VuZC1jb2xvcjogYXF1YSB9CisuYm9yZGVyIHsgYm9yZGVyOiAtd2Via2l0LWNhbGMo
MnB4KSBzb2xpZCBncmVlbiB9IAorLnBhZGRpbmcgeyBwYWRkaW5nOiAtd2Via2l0LWNhbGMoMnB4
KSB9IAorLm1hcmdpbiB7IG1hcmdpbjogLXdlYmtpdC1jYWxjKDJweCkgfSAKKy5iZ2NvbG9yIHsg
YmFja2dyb3VuZC1jb2xvcjogeWVsbG93IH0gCisucHJlIHsgd2hpdGUtc3BhY2U6IHByZSB9Cit0
YWJsZSB7IGJvcmRlcjogLXdlYmtpdC1jYWxjKDJweCkgc29saWQgYmxhY2sgfQorCis8L3N0eWxl
PgorPGJvZHkgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIj4KKworCis8dGFibGUgY2VsbHBh
ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8
dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIiPkZpcnN0IGNlbGwgZW1w
dHksIHNlY29uZCBhdXRvIHdpZHRoPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKwor
PHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRi
b2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBl
cmNlbnQiPkZpcnN0IGNlbGwgZW1wdHksIHNlY29uZCBwZXJjZW50IHdpZHRoPC90ZD4KKzwvdHI+
Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwv
dGQ+Cis8dGQgY2xhc3M9ImNlbGwyIGZpeGVkIj5GaXJzdCBjZWxsIGVtcHR5LCBzZWNvbmQgZml4
ZWQgd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBh
ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8
dGQgY2xhc3M9ImNlbGwxIHByZSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZp
cnN0IGNlbGwgZW1wdHkgKHdpdGggc3BhY2UpIGFuZCBoYXMgd2hpdGUtc3BhY2U6cHJlPC90ZD4K
KzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxs
MSBwcmUiPjwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkg
KG5vIHNwYWNlKSBhbmQgaGFzIHdoaXRlLXNwYWNlOnByZTwvdGQ+Cis8L3RyPgorPC90Ym9keT4K
KzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIg
d2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBib3JkZXIiPiA8
L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMg
Ym9yZGVyPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2Vs
bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+
Cis8dGQgY2xhc3M9ImNlbGwxIHBhZGRpbmciPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJj
ZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMgcGFkZGluZzwvdGQ+Cis8L3RyPgorPC90Ym9k
eT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIxIiBjZWxsc3BhY2luZz0i
MCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+
Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHksIHRhYmxlIGhhcyBj
ZWxscGFkZGluZzwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1j
IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPgorPHRib2R5Pgor
PHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQi
PkZpcnN0IGNlbGwgZW1wdHksIHRhYmxlIGhhcyBjZWxsc3BhY2luZzwvdGQ+Cis8L3RyPgorPC90
Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBtYXJn
aW4iPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1
dCBoYXMgbWFyZ2luPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlk
PWUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+
Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIGJnY29sb3IiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxs
MiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMgYmFja2dyb3VuZCBjb2xvcjwvdGQ+
Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2Vs
bHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2Vs
bDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGNl
bGwgZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiB0ZXh0IDwvdGQ+
Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgbm90IGVt
cHR5PC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5n
PSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNs
YXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywg
Zmlyc3QgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwv
dGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1w
dHk8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xh
c3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+
Rmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNvbHNwYW48L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3Rh
YmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAw
JSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0i
Y2VsbDIiPiB0ZXh0IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywg
Zmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25kIGNlbGwgbm9uLWVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+
Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIi
PlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHkgd2l0aCBjb2xzcGFuPTI8L3RkPgorPC90cj4K
KzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwyIj4gdGV4
dCA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNl
bnQiPkZpcnN0IHJvdywgZmlyc3QgY2VsbCBub24tZW1wdHksIHNlY29uZCBjZWxsIGVtcHR5PC90
ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0
ZCBjbGFzcz0iY2VsbDIiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHkgd2l0aCBjb2xzcGFu
PTI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xh
c3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJj
ZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGFuZCBzZWNvbmQgY2VsbCBlbXB0eTwvdGQ+
Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSIgY29sc3Bhbj0iMiI+IDwvdGQ+Cis8dGQg
Y2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHksIGhhcyBj
b2xzcGFuPTI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBh
ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8
dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNs
YXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGFuZCBzZWNvbmQgY2VsbCBlbXB0
eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBwZXJjZW50IiBjb2xzcGFuPSIy
Ij4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2Vs
bCBlbXB0eSwgaGFzIGNvbHNwYW49MiBhbmQgcGVyY2VudCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90
Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAi
IHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgor
PHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0
IHJvdywgZmlyc3QgYW5kIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQg
Y2xhc3M9ImNlbGwxIGZpeGVkIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIg
cGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNvbHNwYW49MiBhbmQg
Zml4ZWQgd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCitPbmUgZW1wdHkg
Y2VsbDoKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAl
Ij4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iIj4gPC90ZD4KKzwvdHI+Cis8L3Rib2R5Pgor
PC90YWJsZT4KKworVHdvIGVtcHR5IGNlbGxzOgorPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSIiPiA8
L3RkPgorPHRkIGNsYXNzPSIiPiA8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorPC9i
b2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121063</attachid>
            <date>2012-01-03 22:07:51 -0800</date>
            <delta_ts>2012-01-26 00:55:10 -0800</delta_ts>
            <desc>modified some tests to pass on cr-linux</desc>
            <filename>bug-57082-20120104170748.patch</filename>
            <type>text/plain</type>
            <size>178304</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM1Y2M4YzczODI5NmQx
Njg5YjExYWVmYzdlYjg3YWIzYWFhOWRkOC4uY2NmNTkzNjJlNmI1YzdjMzViNmQxNjUxMDg0YzA2
ZjI1YTI5MGNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMCBAQAorMjAxMS0xMi0yMiAgTWlr
ZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBjYWxj
IHBhcnNpbmcgc3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3MDgyCisKKyAgICAgICAgVGhpcyBpcyB0aGUgcGFyc2luZyBzdGFnZSBvZiBjYWxj
LiBUaGUgZXhwcmVzc2lvbnMgYXJlIGV2YWx1YXRlZCBhbmQgCisgICAgICAgIGV4cHJlc3Npb24g
dHJlZXMgYXJlIGdlbmVyYXRlZC4gQ1NTIHZhbHVlcyBhcmUgbm90IGNyZWF0ZWQgeWV0IC0gdGhh
dAorICAgICAgICB3aWxsIGhhcHBlbiBpbiBhIHN1YnNlcXVlbnQgY29tbWl0LiAKKworICAgICAg
ICBOb3RlIHRoYXQgUkdCIGFuZCBIU0wgdmFsdWVzIGFyZSBjcmVhdGVkLCBhcyB0aGVzZSBtdXN0
IGJlIGV2YWx1YXRlZCB0bworICAgICAgICBhIHNpbXBsZSBudW1iZXIgYXQgcGFyc2UgdGltZS4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czog
Y3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5n
Lmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Ut
b3V0c2V0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9i
bG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0Lmh0bWwKKyAgICAgICAgICAgICAgIGNzczMv
Y2FsYy9ib3JkZXItcmFkaXVzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAg
IGNzczMvY2FsYy9ib3JkZXItcmFkaXVzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9i
b3JkZXItc3BhY2luZy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYm9yZGVyLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy9jb2xvci1oc2wuaHRtbAorICAgICAgICAgICAgICAg
Y3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvY3NzMy1y
YWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAgICAgICAgICAgICAgIGNz
czMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9j
YWxjL2ZvbnQtbW9ub3NwYWNlLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9mb250LXNp
emUtZnJhY3Rpb25hbC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZm9udC1zaXplLmh0
bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9mb250Lmh0bWwKKyAgICAgICAgICAgICAgIGNz
czMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLmh0bWwKKyAgICAgICAg
ICAgICAgIGNzczMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMuaHRtbAor
ICAgICAgICAgICAgICAgY3NzMy9jYWxjL2ltZy1zaXplLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy9pbWctc2l6ZS5odG1sCisgICAgICAgICAgICAgICBj
c3MzL2NhbGMvbGluZS1oZWlnaHQuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL21hcmdp
bi5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvcGFkZGluZy5odG1sCisgICAgICAgICAg
ICAgICBjc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS5odG1sCisgICAgICAgICAg
ICAgICBjc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay5odG1s
CisgICAgICAgICAgICAgICBjc3MzL2NhbGMvdGFibGUtY2FsY3MuaHRtbAorICAgICAgICAgICAg
ICAgY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKKyAg
ICAgICAgICAgICAgIGNzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy5odG1sCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAg
ICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3Mv
Q1NTQ2FsY1ZhbHVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp1bml0Q2F0ZWdvcnkp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y2xhbXBUb1JhbmdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNWYWx1ZTo6ZG91YmxlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlOjp+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNQcmltaXRpdmVWYWx1ZTo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQ
cmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0
aXZlVmFsdWU6OmRvdWJsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aFB4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmlt
aXRpdmVWYWx1ZTo6Y29tcHV0ZVBlcmNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1By
aW1pdGl2ZVZhbHVlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNCaW5hcnlPcGVyYXRpb246OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uOjpkb3VibGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NhbGNCaW5hcnlPcGVyYXRpb246OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNNaW5NYXhMaXN0OjpDU1NDYWxjTWluTWF4TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDYWxjTWluTWF4TGlzdDo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNNaW5N
YXhMaXN0OjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01pbk1heExpc3Q6OmRv
dWJsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OmNoZWNrRGVwdGhBbmRJbmRleCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlQ2FsYyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlTWluTWF4
TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6Om9w
ZXJhdG9yVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFy
c2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9k
ZVBhcnNlcjo6cGFyc2VWYWx1ZVRlcm0pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyOjpwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VBZGRpdGl2
ZVZhbHVlRXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5v
ZGVQYXJzZXI6OnBhcnNlVmFsdWVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHBy
ZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VWYWx1ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ2FsY1ZhbHVlOjpjcmVhdGUpOgorICAgICAgICAqIGNzcy9DU1NDYWxjVmFsdWUuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6OmNhdGVnb3J5
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6aXNJbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlOjpDU1NDYWxjRXhwcmVzc2lvbk5v
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjYXRlZ29yeSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmlzSW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNWYWx1ZTo6Q1NTQ2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6dmFsaWRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cGFyc2VWYWxpZFByaW1pdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJz
ZUZpbGxQb3NpdGlvbkNvbXBvbmVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBh
cnNlZERvdWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmlzQ2FsY01pbk1heCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNvbG9ySW50RnJvbVZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRlcnMpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93UGFyc2VDb250ZXh0OjpTaGFkb3dQYXJzZUNvbnRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRMZW5ndGgpOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlU2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xp
Y2VQYXJzZUNvbnRleHQ6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQpOgorICAgICAgICAo
V2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29tbWl0TnVtYmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQ6OmNvbW1pdEJvcmRl
ckltYWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJvcmRlcklt
YWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0
OjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVy
SW1hZ2VRdWFkUGFyc2VDb250ZXh0Ojpjb21taXROdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6
Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0Ojpjb21taXRCb3JkZXJJbWFnZVF1YWQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUXVhZCk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ2FsYyk6CisgICAgICAgICogY3NzL0NTU1BhcnNl
ci5oOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NW
YWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6Cisg
ICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXND
YWxjVmFsdWUpOgorICAgICAgICAqIGNzcy9TVkdDU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVNWR1ZhbHVlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxj
VmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxjVmFsdWUuaDogQWRkZWQu
CisKIDIwMTItMDEtMDMgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBbY2hyb21pdW1dIFJlbW92ZSB1bm5lZWRlZCBjb250ZW50IHZzLiBsYXllciBzcGFjZSBk
aXN0aW5jdGlvbiBpbiB0aWxlZCBsYXllcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjg4ZTBm
MTQxM2Q5OWI4NDhkMzRmNTgwODI2MDQwYzUzZWMwN2NlNy4uY2QyOTQ5MDdmZWIxZDhmZDVhYTM3
YjJkNjdiNTAzN2E1ZDBjYWRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQyNyw2ICs0Mjcs
NyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3Bw
CiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwCiAgICAgY3NzL0NTU0JvcmRlckltYWdl
U2xpY2VWYWx1ZS5jcHAKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmNwcAogICAgIGNzcy9DU1NDYW52
YXNWYWx1ZS5jcHAKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCiAgICAgY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTEwMzMsNiArMTAzNCw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBwYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKIAogICAg
IHBsYXRmb3JtL0FyZW5hLmNwcAorICAgIHBsYXRmb3JtL0NhbGNWYWx1ZS5jcHAKICAgICBwbGF0
Zm9ybS9DbG9jay5jcHAKICAgICBwbGF0Zm9ybS9Db250ZXh0TWVudS5jcHAKICAgICBwbGF0Zm9y
bS9Db250ZXh0TWVudUl0ZW0uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBl
YWQ2ZGFkZDNmZDBmYjI1YjgzMDI0OTUyNDdiNzdhOTU5YzdmY2QzLi5hZWZiYmNhMzQ4ZmVkOGVk
MDQ2OGNjNWIwMDI4MzliODg2OTg5NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
QEAgLTEyNzQsNiArMTI3NCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0
UnVsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NhbGNWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwIFwKQEAg
LTI3NjQsNiArMjc2Niw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
QXN5bmNGaWxlU3lzdGVtLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVk
UG9vbC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQ2xvY2suY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DbG9jay5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9DbG9ja0dlbmVyaWMuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDA0
MDI5OTJhOTkxMWI2ZmZkYzIwNzE0YzVkN2ZlYzVjODY2NDIwN2IuLmFjNjAzN2FjZjZlMTQwYzFm
MmRmM2JiMmRmMDZlMDc2ZmYxOTc0OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMzkzLDYgKzM5Myw3IEBA
IFNPVVJDRVMgKz0gXAogICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBcCiAgICAgY3Nz
L0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZh
bHVlLmNwcCBcCisgICAgY3NzL0NTU0NhbGNWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5jcHAgXAogICAgIGNzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIFwKQEAgLTEwMTksNiArMTAyMCw3IEBAIFNPVVJDRVMg
Kz0gXAogICAgIHBsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZU5vbmUuY3BwIFwKICAgICBwbGF0
Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlck5vbmUuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L1F1
b3RlZFByaW50YWJsZS5jcHAgXAorICAgIHBsYXRmb3JtL0NhbGNWYWx1ZS5jcHAgXAogICAgIHBs
YXRmb3JtL0Nsb2NrLmNwcCBcCiAgICAgcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmNwcCBcCiAgICAg
cGxhdGZvcm0vQ29udGVudFR5cGUuY3BwIFwKQEAgLTE0OTYsNiArMTQ5OCw3IEBAIEhFQURFUlMg
Kz0gXAogICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmggXAogICAgIGNzcy9DU1NCb3JkZXJJ
bWFnZVNsaWNlVmFsdWUuaCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBcCisgICAg
Y3NzL0NTU0NhbGNWYWx1ZS5oIFwKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuaCBcCiAgICAgY3Nz
L0NTU0NoYXJzZXRSdWxlLmggXAogICAgIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
aCBcCkBAIC0yMDYxLDYgKzIwNjQsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9hbmlt
YXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmggXAogICAgIHBsYXRmb3JtL0FyZW5hLmggXAogICAg
IHBsYXRmb3JtL0FzeW5jRmlsZVN0cmVhbS5oIFwKKyAgICBwbGF0Zm9ybS9DYWxjVmFsdWUuaCBc
CiAgICAgcGxhdGZvcm0vQ2xvY2suaCBcCiAgICAgcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmggXAog
ICAgIHBsYXRmb3JtL0NvbnRlbnRUeXBlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDgzMDVmY2Vk
OGVhZjYzMDlmN2U2YmM5YmY3NjFiMDIxYWMwNDQ4ODUuLjM2MDlmM2MwNjRiNDk4N2Q0NTcwMTM5
YWYxMmYwMjQ5ZmNhMWFjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzNjksNiArMjM2OSw4IEBA
CiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oJywKICAgICAgICAg
ICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2FudmFz
VmFsdWUuaCcsCisgICAgICAgICAgICAnY3NzL0NTU0NhbGNWYWx1ZS5jcHAnLAorICAgICAgICAg
ICAgJ2Nzcy9DU1NDYWxjVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxl
LmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxlLmgnLAogICAgICAgICAgICAg
J2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwJywKQEAgLTMwOTIsNiArMzA5NCw4
IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vQ2FsY1Zh
bHVlLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vQ2FsY1ZhbHVlLmgnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL0Nsb2NrLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ2xvY2suaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vQ29udGVudFR5cGUuY3BwJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZDBjZjM5NWU5M2JmZDg3YjFm
Y2FiYWFiNzhkZjZmYmU1OWI5Y2JiYy4uNjFmNzQ4NDUxMjBiY2JjYWUxMzQ0ZjI3MjM2NzEzMDQz
MDdiNGY5ZCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKQEAgLTI2Mzc0LDYgKzI2Mzc0LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENhbGNWYWx1ZS5jcHAiCisJCQkJPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENhbGNWYWx1
ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxw
bGF0Zm9ybVxDbG9jay5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzI2NzQsNiArMzI2ODIs
MTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Y3NzXENTU0NhbGNWYWx1ZS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NDYWxjVmFsdWUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0NhbnZhc1ZhbHVlLmNwcCIKIAkJ
CQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMThjNzA3M2U1MmE5MmYwZWI5YzMxZjdi
NzNjYjAxMGZjMDZiOGI2Yy4uNGRjM2M4OWY0NGVhODhmZmRjNzExMmJjNzY5ZTIyOTVlZDQzNzZh
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTIyMSw2ICsxMjIxLDEwIEBACiAJCTQ5OUIzRUQ2MTI4Q0QzMTQwMEU3MjZDMiAv
KiBHcmFwaGljc0xheWVyQ0EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDk5QjNFRDQxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5j
cHAgKi87IH07CiAJCTQ5OUIzRUQ3MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0Eu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OUIzRUQ1
MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTlCM0VERDEyOERCNTAyMDBFNzI2QzIg
LyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDk5QjNFREMxMjhEQjUwMTAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FBbmlt
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQk0OUFFMkQ4RTEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhDMTM0RUU1MEMwMDcy
OTIwQSAvKiBDU1NDYWxjVmFsdWUuY3BwICovOyB9OworCQk0OUFFMkQ4RjEzNEVFNTBDMDA3Mjky
MEEgLyogQ1NTQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggKi87
IH07CisJCTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRTJEOTQxMzRFRTVGOTAw
NzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgKi87IH07CisJCTQ5QUUyRDk3MTM0RUU1RjkwMDcyOTIw
QSAvKiBDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCAqLzsgfTsKIAkJ
NDlBRjJENjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRjJENjgxNDQzNUQw
NTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oICovOyB9OwogCQk0OUFGMkQ2QzE0
NDM1RDIxMDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUYyRDZCMTQ0MzVEMjEwMDE2
QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwICovOyB9OwogCQk0OUM3Qjk5MzEw
NDJEMkQzMDAwOUQ0NDcgLyogSlNXZWJHTEJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3Qjk4MDEwNDJEMkQzMDAwOUQ0NDcgLyogSlNX
ZWJHTEJ1ZmZlci5jcHAgKi87IH07CkBAIC04NDYzLDYgKzg0NjcsMTAgQEAKIAkJNDk5QjNFRDQx
MjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBHcmFwaGljc0xheWVyQ0EuY3BwOyBwYXRoID0gY2EvR3JhcGhp
Y3NMYXllckNBLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk5QjNFRDUxMjhD
RDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBHcmFwaGljc0xheWVyQ0EuaDsgcGF0aCA9IGNhL0dyYXBoaWNzTGF5ZXJDQS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTlCM0VEQzEyOERCNTAxMDBFNzI2QzIg
LyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBQbGF0Zm9ybUNBQW5pbWF0aW9uLmg7IHBhdGggPSBjYS9QbGF0Zm9ybUNBQW5pbWF0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QUUyRDhDMTM0RUU1MEMwMDcyOTIwQSAv
KiBDU1NDYWxjVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q1NTQ2FsY1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOEQx
MzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NDYWxjVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDlBRTJEOTQxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxjVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0OUFFMkQ5NTEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0OUFGMkQ2ODE0NDM1RDA1MDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hN
b25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpc3BsYXlSZWZyZXNo
TW9uaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUFGMkQ2QjE0NDM1RDIx
MDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QzdCOTgwMTA0MkQyRDMwMDA5RDQ0NyAvKiBKU1dl
YkdMQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2Vi
R0xCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAyNDgsNiArMjAy
NTYsOCBAQAogCQkJCTg5RDA4RDlEMTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0ZpbGVTeXN0ZW0u
aCAqLywKIAkJCQk4OUQwOEQ5RTEyMjI4NDUxMDAxMjQxREYgLyogQXN5bmNGaWxlU3lzdGVtQ2Fs
bGJhY2tzLmggKi8sCiAJCQkJNTFFMUVDQjEwQzkxQzU1NjAwREMyNTVCIC8qIEF1dG9kcmFpbmVk
UG9vbC5oICovLAorCQkJCTQ5QUUyRDk0MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3Bw
ICovLAorCQkJCTQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCAqLywKIAkJ
CQlDREVBNzYzMzE0NjBCNDYyMDA4QjMxRjEgLyogQ2xvY2suY3BwICovLAogCQkJCUNERUE3NjJD
MTQ2MDgyMjQwMDhCMzFGMSAvKiBDbG9jay5oICovLAogCQkJCUNERUE3NjMyMTQ2MEFFMjkwMDhC
MzFGMSAvKiBDbG9ja0dlbmVyaWMuY3BwICovLApAQCAtMjA3OTcsNiArMjA4MDcsOCBAQAogCQkJ
CUJDMjc0QjJFMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCAq
LywKIAkJCQlBODBFNkNCQjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5j
cHAgKi8sCiAJCQkJQTgwRTZDREQwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRlckltYWdlVmFs
dWUuaCAqLywKKwkJCQk0OUFFMkQ4QzEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmNw
cCAqLywKKwkJCQk0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggKi8s
CiAJCQkJQkM2MDRBNDIwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmNwcCAqLywK
IAkJCQlCQzYwNDlDQjBEQjU2MEMyMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuaCAqLywKIAkJ
CQlFMUVCQkJEMzBBQUM5Qjg3MDAxRkU4RTIgLyogQ1NTQ2hhcnNldFJ1bGUuY3BwICovLApAQCAt
MjIwMzgsNiArMjIwNTAsNyBAQAogCQkJCTA3NTM4NjAzMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNo
ZWRUZXh0VHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjE2QzI4MDk3OUMzQkQwMDQ2Nzc0
MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTk1MDA4
MjQ1RTU5MDAxRTlBQkMgLyogQ2FjaGVQb2xpY3kuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5QUUy
RDk3MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIx
RDVFQ0I1MTM0QjU4REEwMDg3Qzc4RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQk2RTRFOTFBRDEwRjdGQjMxMDBBMjc3OUMgLyogQ2FudmFzQ29udGV4dEF0dHJpYnV0
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NDg0RkMyMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52
YXNHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMjEyNCw2ICsyMjEzNyw3IEBACiAJCQkJ
Q0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDMjc0QjJGMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNs
aWNlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2RDA3MEExOTg5Q0EwMDdGQjhDNSAv
KiBDU1NCb3JkZXJJbWFnZVZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0OUFFMkQ4RjEzNEVF
NTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzYwNDlD
QzBEQjU2MEMyMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE4MEU2Q0Y5MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NDaGFyc2V0UnVsZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNFQTQ3OTAwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTA0NCw2ICsyNTA1OCw3IEBACiAJCTA4NjdE
NjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKIAkJCWlzYSA9IFBC
WFByb2plY3Q7CiAJCQlhdHRyaWJ1dGVzID0geworCQkJCUJ1aWxkSW5kZXBlbmRlbnRUYXJnZXRz
SW5QYXJhbGxlbCA9IFlFUzsKIAkJCQlMYXN0VXBncmFkZUNoZWNrID0gMDQ0MDsKIAkJCX07CiAJ
CQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5QzI4NDMwODkwMkIxMTAwOEE5RUZDIC8qIEJ1
aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIgKi87CkBAIC0y
NTQzMSw2ICsyNTQ0Niw3IEBACiAJCQkJNTAzOEJFNDAxNDcyQUQ5ODAwOTVFMEQxIC8qIENhY2hl
ZFNoYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzUzODYwMjE0NDg5RTk4MDBCNzg0NTIg
LyogQ2FjaGVkVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjE2QzI3MDk3OUMz
QkQwMDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQjE4Mjc0OTMxMzRDQTRDMTAwQjk4QzJEIC8qIENhbGxiYWNrRnVuY3Rpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNkU0RTkxQUMxMEY3RkIzMTAwQTI3NzlDIC8qIENhbnZhc0NvbnRl
eHRBdHRyaWJ1dGVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5NDg0RkMxMTAyQ0YyM0MwMDE4
N0REMyAvKiBDYW52YXNHcmFkaWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1NTA0LDYgKzI1
NTIwLDcgQEAKIAkJCQlDQUU5RjkwRjE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzI3NEIzMTE0MEVCRUQ4MDBFQURGQTYgLyog
Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU2Q0U1
MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM2MDRBNDMwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxRUJCQkQ0MEFBQzlCODcwMDFGRThFMiAvKiBDU1ND
aGFyc2V0UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDc4RjA5N0NBQUM4MDA5NEM5
RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mN2I0ZWY5ZWQ1ODc5ZDQzYjA4
OWEwMjBkNzA4MjY1ZGVhOGNjYzE5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NhbGNWYWx1ZS5jcHAKQEAgLTAsMCArMSw1MTIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCisKKyNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9y
LmgiCisjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCisjaW5jbHVkZSAiTGVuZ3RoLmgiCisKKyNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK3N0YXRpYyBjb25zdCBpbnQgbWF4RXhw
cmVzc2lvbkRlcHRoID0gMTAwOworCitlbnVtIFBhcnNlU3RhdGUgeworICAgIE9LLAorICAgIFRv
b0RlZXAsCisgICAgTm9Nb3JlVG9rZW5zCit9OworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
YXRpYyBDYWxjQ2F0ZWdvcnkgdW5pdENhdGVnb3J5KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlw
ZXMgdHlwZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfTlVNQkVSOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJf
SU5URUdFUjoKKyAgICAgICAgcmV0dXJuIENhbGNOdW1iZXI7CisgICAgY2FzZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U6CisgICAgICAgIHJldHVybiBDYWxjUGVyY2VudDsKKyAg
ICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19FWFM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYOgorICAg
IGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DTToKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfTU06CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOOgorICAgIGNh
c2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QVDoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUEM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6CisgICAgICAg
IHJldHVybiBDYWxjTGVuZ3RoOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBDYWxjT3Ro
ZXI7CisgICAgfQorfQorICAgIAorU3RyaW5nIENTU0NhbGNWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuICIiOworfQorICAgIAorZG91YmxlIENTU0NhbGNWYWx1ZTo6
Y2xhbXBUb1JhbmdlKGRvdWJsZSB2YWx1ZSkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9ub25OZWdh
dGl2ZSAmJiB2YWx1ZSA8IDAgPyAwIDogdmFsdWU7Cit9ICAgIAorICAgIAorZG91YmxlIENTU0Nh
bGNWYWx1ZTo6ZG91YmxlVmFsdWUoKSBjb25zdCAKK3sgCisgICAgcmV0dXJuIGNsYW1wVG9SYW5n
ZShtX2V4cHJlc3Npb24tPmRvdWJsZVZhbHVlKCkpOworfQorICAgIAorQ1NTQ2FsY0V4cHJlc3Np
b25Ob2RlOjp+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKCkgCit7Cit9CisgICAgCitjbGFzcyBDU1ND
YWxjUHJpbWl0aXZlVmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1Ymxp
YzoKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNQcmltaXRpdmVWYWx1ZT4gY3JlYXRl
KENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSwgYm9vbCBpc0ludCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKHZhbHVlLCBpc0ludCkpOwor
ICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiAhbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICB9CisKKyAgICB2aXJ0
dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVl
LT5jc3NUZXh0KCk7CisgICAgfQorCisgICAgdmlydHVhbCBkb3VibGUgZG91YmxlVmFsdWUoKSBj
b25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChtX2NhdGVnb3J5KSB7CisgICAgICAgIGNhc2Ug
Q2FsY051bWJlcjoKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDogICAgICAgICAgICAgICAgCisg
ICAgICAgICAgICByZXR1cm4gbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICAgICAgY2Fz
ZSBDYWxjTGVuZ3RoOgorICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBj
YXNlIENhbGNQZXJjZW50TnVtYmVyOgorICAgICAgICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorICAgIAorICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSog
Y3VyclN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9v
bCBjb21wdXRpbmdGb250U2l6ZSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAobV9jYXRl
Z29yeSkgeworICAgICAgICBjYXNlIENhbGNMZW5ndGg6CisgICAgICAgICAgICByZXR1cm4gbV92
YWx1ZS0+Y29tcHV0ZUxlbmd0aDxkb3VibGU+KGN1cnJTdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBs
aWVyLCBjb21wdXRpbmdGb250U2l6ZSk7CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnQ6CisgICAg
ICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5nZXREb3Vi
bGVWYWx1ZSgpOworICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBjYXNl
IENhbGNQZXJjZW50TnVtYmVyOgorICAgICAgICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAg
ICAgICAgCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsg
ICAgICAgIAorICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIGRvdWJsZSBjb21wdXRlUGVyY2VudChk
b3VibGUgb25lSHVuZHJlZFBlcmNlbnRWYWx1ZSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRj
aCAobV9jYXRlZ29yeSkgeworICAgICAgICBjYXNlIENhbGNOdW1iZXI6CisgICAgICAgICAgICBy
ZXR1cm4gbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2Vu
dDogICAgICAgICAgICAgICAgCisgICAgICAgICAgICByZXR1cm4gKG1fdmFsdWUtPmdldERvdWJs
ZVZhbHVlKCkgKiBvbmVIdW5kcmVkUGVyY2VudFZhbHVlKSAvIDEwMC4wZjsKKyAgICAgICAgY2Fz
ZSBDYWxjTGVuZ3RoOgorICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBj
YXNlIENhbGNQZXJjZW50TnVtYmVyOgorICAgICAgICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyAgICAgICAgCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4g
MDsKKyAgICB9CisgICAgCitwcml2YXRlOgorICAgIGV4cGxpY2l0IENTU0NhbGNQcmltaXRpdmVW
YWx1ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUsIGJvb2wgaXNJbnQpCisgICAgICAgIDogQ1NT
Q2FsY0V4cHJlc3Npb25Ob2RlKHVuaXRDYXRlZ29yeSgoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRU
eXBlcyl2YWx1ZS0+cHJpbWl0aXZlVHlwZSgpKSwgaXNJbnQpCisgICAgICAgICwgbV92YWx1ZSh2
YWx1ZSkgICAgICAgICAgICAgICAgIAorICAgIHsKKyAgICB9CisKKyAgICBSZWZQdHI8Q1NTUHJp
bWl0aXZlVmFsdWU+IG1fdmFsdWU7Cit9OworCitzdGF0aWMgY29uc3QgQ2FsY0NhdGVnb3J5IGFk
ZFN1YnRyYWN0UmVzdWx0W0NhbGNPdGhlcl1bQ2FsY090aGVyXSA9IHsKKyAgICB7Q2FsY051bWJl
ciwgICAgICAgIENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudE51bWJlciwgQ2FsY1BlcmNl
bnROdW1iZXIsIENhbGNPdGhlcn0sCisgICAge0NhbGNPdGhlciwgICAgICAgICBDYWxjTGVuZ3Ro
LCAgICAgICAgQ2FsY1BlcmNlbnRMZW5ndGgsIENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2Vu
dExlbmd0aH0sCisgICAge0NhbGNQZXJjZW50TnVtYmVyLCBDYWxjUGVyY2VudExlbmd0aCwgQ2Fs
Y1BlcmNlbnQsICAgICAgIENhbGNQZXJjZW50TnVtYmVyLCBDYWxjUGVyY2VudExlbmd0aH0sCisg
ICAge0NhbGNQZXJjZW50TnVtYmVyLCBDYWxjT3RoZXIsICAgICAgICAgQ2FsY1BlcmNlbnROdW1i
ZXIsIENhbGNQZXJjZW50TnVtYmVyLCBDYWxjT3RoZXJ9LAorICAgIHtDYWxjT3RoZXIsICAgICAg
ICAgQ2FsY1BlcmNlbnRMZW5ndGgsIENhbGNQZXJjZW50TGVuZ3RoLCBDYWxjT3RoZXIsICAgICAg
ICAgQ2FsY1BlcmNlbnRMZW5ndGh9LAorfTsgICAgCisgICAgCitjbGFzcyBDU1NDYWxjQmluYXJ5
T3BlcmF0aW9uIDogcHVibGljIENTU0NhbGNFeHByZXNzaW9uTm9kZSB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQ
dHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBsZWZ0U2lkZSwgUGFzc1JlZlB0cjxDU1NDYWxjRXhw
cmVzc2lvbk5vZGU+IHJpZ2h0U2lkZSwgQ2FsY09wZXJhdG9yIG9wKQorICAgIHsKKyAgICAgICAg
Q2FsY0NhdGVnb3J5IGxlZnRDYXRlZ29yeSA9IGxlZnRTaWRlLT5jYXRlZ29yeSgpOworICAgICAg
ICBDYWxjQ2F0ZWdvcnkgcmlnaHRDYXRlZ29yeSA9IHJpZ2h0U2lkZS0+Y2F0ZWdvcnkoKTsKKyAg
ICAgICAgQ2FsY0NhdGVnb3J5IG5ld0NhdGVnb3J5ID0gQ2FsY090aGVyOworICAgICAgICAKKyAg
ICAgICAgQVNTRVJUKGxlZnRDYXRlZ29yeSAhPSBDYWxjT3RoZXIgJiYgcmlnaHRDYXRlZ29yeSAh
PSBDYWxjT3RoZXIpOworICAgICAgICAKKyAgICAgICAgc3dpdGNoIChvcCkgeworICAgICAgICBj
YXNlIENhbGNBZGQ6CisgICAgICAgIGNhc2UgQ2FsY1N1YnRyYWN0OiAgICAgICAgICAgICAKKyAg
ICAgICAgICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY090aGVyIHx8IHJpZ2h0Q2F0ZWdvcnkg
PT0gQ2FsY090aGVyKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgbmV3
Q2F0ZWdvcnkgPSBhZGRTdWJ0cmFjdFJlc3VsdFtsZWZ0Q2F0ZWdvcnldW3JpZ2h0Q2F0ZWdvcnld
OworICAgICAgICAgICAgYnJlYWs7ICAgCisgICAgICAgICAgICAgICAgCisgICAgICAgIGNhc2Ug
Q2FsY011bHRpcGx5OgorICAgICAgICAgICAgaWYgKGxlZnRDYXRlZ29yeSAhPSBDYWxjTnVtYmVy
ICYmIHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJlcikgCisgICAgICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gbGVmdENhdGVnb3J5
ID09IENhbGNOdW1iZXIgPyByaWdodENhdGVnb3J5IDogbGVmdENhdGVnb3J5OworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2FsY0RpdmlkZToKKyAg
ICAgICAgY2FzZSBDYWxjTW9kOgorICAgICAgICAgICAgaWYgKHJpZ2h0Q2F0ZWdvcnkgIT0gQ2Fs
Y051bWJlciB8fCByaWdodFNpZGUtPmlzWmVybygpKQorICAgICAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBsZWZ0Q2F0ZWdvcnk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKG5ld0NhdGVnb3J5ID09IENh
bGNPdGhlcikKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgCisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbihsZWZ0U2lkZSwgcmlnaHRT
aWRlLCBvcCwgbmV3Q2F0ZWdvcnkpKTsKKyAgICB9CisgICAgCisgICAgdmlydHVhbCBib29sIGlz
WmVybygpIGNvbnN0CisgICAgeworICAgICAgICAvLyBGSVhNRSBjYWxjOiBXZSBjYW4gcmV0dXJu
IHRydWUgZm9yIHNvbWUgY2FzZXMgKGUuZy4sIDMgLSAzLCAzICogMCwgYW5kIGV0Yy4pCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1
ZSgpIGNvbnN0IAorICAgIHsKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRlKG1fbGVmdFNpZGUtPmRv
dWJsZVZhbHVlKCksIG1fcmlnaHRTaWRlLT5kb3VibGVWYWx1ZSgpKTsKKyAgICB9CisgICAgCitw
cml2YXRlOgorICAgIENTU0NhbGNCaW5hcnlPcGVyYXRpb24oUGFzc1JlZlB0cjxDU1NDYWxjRXhw
cmVzc2lvbk5vZGU+IGxlZnRTaWRlLCBQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4g
cmlnaHRTaWRlLCBDYWxjT3BlcmF0b3Igb3AsIENhbGNDYXRlZ29yeSBjYXRlZ29yeSkKKyAgICAg
ICAgOiBDU1NDYWxjRXhwcmVzc2lvbk5vZGUoY2F0ZWdvcnksIGxlZnRTaWRlLT5pc0ludCgpICYm
IHJpZ2h0U2lkZS0+aXNJbnQoKSkKKyAgICAgICAgLCBtX2xlZnRTaWRlKGxlZnRTaWRlKQorICAg
ICAgICAsIG1fcmlnaHRTaWRlKHJpZ2h0U2lkZSkKKyAgICAgICAgLCBtX29wZXJhdG9yKG9wKQor
ICAgIHsKKyAgICB9CisgICAgCisgICAgZG91YmxlIGV2YWx1YXRlKGRvdWJsZSBsZWZ0VmFsdWUs
IGRvdWJsZSByaWdodFZhbHVlKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChtX29wZXJh
dG9yKSB7CisgICAgICAgIGNhc2UgQ2FsY0FkZDoKKyAgICAgICAgICAgIHJldHVybiBsZWZ0VmFs
dWUgKyByaWdodFZhbHVlOworICAgICAgICBjYXNlIENhbGNTdWJ0cmFjdDoKKyAgICAgICAgICAg
IHJldHVybiBsZWZ0VmFsdWUgLSByaWdodFZhbHVlOworICAgICAgICBjYXNlIENhbGNNdWx0aXBs
eToKKyAgICAgICAgICAgIHJldHVybiBsZWZ0VmFsdWUgKiByaWdodFZhbHVlOworICAgICAgICBj
YXNlIENhbGNEaXZpZGU6CisgICAgICAgICAgICBpZiAocmlnaHRWYWx1ZSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gbGVmdFZhbHVlIC8gcmlnaHRWYWx1ZTsKKyAgICAgICAgICAgIHJldHVybiBz
dGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOworICAgICAgICBjYXNlIENh
bGNNb2Q6CisgICAgICAgICAgICBpZiAocmlnaHRWYWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8aW50PihsZWZ0VmFsdWUpICUgc3RhdGljX2Nhc3Q8aW50PihyaWdodFZh
bHVlKTsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1
aWV0X05hTigpOworICAgICAgICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgCisgICAgY29uc3QgUmVmUHRyPENTU0NhbGNFeHBy
ZXNzaW9uTm9kZT4gbV9sZWZ0U2lkZTsKKyAgICBjb25zdCBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Np
b25Ob2RlPiBtX3JpZ2h0U2lkZTsKKyAgICBjb25zdCBDYWxjT3BlcmF0b3IgbV9vcGVyYXRvcjsK
K307CisKK2NsYXNzIENTU0NhbGNNaW5NYXhMaXN0IDogcHVibGljIENTU0NhbGNFeHByZXNzaW9u
Tm9kZSB7CitwdWJsaWM6CisgICAgQ1NTQ2FsY01pbk1heExpc3QoQ2FsY0xpc3RUeXBlIHR5cGUp
CisgICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKENhbGNPdGhlciwgZmFsc2UpCisgICAg
ICAgICwgbV9saXN0VHlwZSh0eXBlKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wg
aXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAg
ICBib29sIGFwcGVuZChQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gdmFsdWUpIAor
ICAgIHsKKyAgICAgICAgaWYgKCFtX2xpc3Quc2l6ZSgpKSB7CisgICAgICAgICAgICBtX2NhdGVn
b3J5ID0gdmFsdWUtPmNhdGVnb3J5KCk7CisgICAgICAgICAgICBtX2lzSW50ID0gdmFsdWUtPmlz
SW50KCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX2NhdGVnb3J5ID0gYWRkU3Vi
dHJhY3RSZXN1bHRbbV9jYXRlZ29yeV1bdmFsdWUtPmNhdGVnb3J5KCldOworICAgICAgICAgICAg
bV9pc0ludCA9IG1faXNJbnQgJiYgdmFsdWUtPmlzSW50KCk7CisgICAgICAgIH0KKyAgICAgICAg
CisgICAgICAgIGlmIChtX2NhdGVnb3J5ID09IENhbGNPdGhlcikKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIG1fbGlzdC5hcHBlbmQodmFsdWUpOworICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1ZSgp
IGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9saXN0LmlzRW1wdHkoKSkKKyAgICAgICAgICAg
IHJldHVybiAwOworICAgICAgICAKKyAgICAgICAgZG91YmxlIHJldHZhbCA9IG1fbGlzdFswXS0+
ZG91YmxlVmFsdWUoKTsKKyAgICAgICAgaWYgKG1fbGlzdFR5cGUgPT0gQ2FsY01pbikgeworICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgewor
ICAgICAgICAgICAgICAgIGRvdWJsZSBjdXJyZW50ID0gbV9saXN0W2ldLT5kb3VibGVWYWx1ZSgp
OworICAgICAgICAgICAgICAgIGlmIChjdXJyZW50IDwgcmV0dmFsKQorICAgICAgICAgICAgICAg
ICAgICByZXR2YWwgPSBjdXJyZW50OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkg
eworICAgICAgICAgICAgICAgIGRvdWJsZSBjdXJyZW50ID0gbV9saXN0W2ldLT5kb3VibGVWYWx1
ZSgpOworICAgICAgICAgICAgICAgIGlmIChjdXJyZW50ID4gcmV0dmFsKQorICAgICAgICAgICAg
ICAgICAgICByZXR2YWwgPSBjdXJyZW50OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
ICAgIAorICAgICAgICByZXR1cm4gcmV0dmFsOworICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAg
Q2FsY0xpc3RUeXBlIG1fbGlzdFR5cGU7CisgICAgVmVjdG9yPFJlZlB0cjxDU1NDYWxjRXhwcmVz
c2lvbk5vZGU+ID4gbV9saXN0OworfTsKKworc3RhdGljIFBhcnNlU3RhdGUgY2hlY2tEZXB0aEFu
ZEluZGV4KGludCogZGVwdGgsIHVuc2lnbmVkIGluZGV4LCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHRv
a2VucykKK3sKKyAgICAoKmRlcHRoKSsrOworICAgIGlmICgqZGVwdGggPiBtYXhFeHByZXNzaW9u
RGVwdGgpCisgICAgICAgIHJldHVybiBUb29EZWVwOworICAgIGlmIChpbmRleCA+PSB0b2tlbnMt
PnNpemUoKSkKKyAgICAgICAgcmV0dXJuIE5vTW9yZVRva2VuczsKKyAgICByZXR1cm4gT0s7Cit9
CisKK2NsYXNzIENTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlciB7CitwdWJsaWM6CisgICAgUGFz
c1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1ZUxp
c3QqIHRva2VucykKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAg
VmFsdWUgcmVzdWx0OworICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9r
ZW5zLCAwLCAmaW5kZXgsICZyZXN1bHQpOworICAgICAgICBBU1NFUlQoaW5kZXggPD0gdG9rZW5z
LT5zaXplKCkpOworICAgICAgICBpZiAoIW9rIHx8IGluZGV4ICE9IHRva2Vucy0+c2l6ZSgpKQor
ICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiByZXN1bHQudmFsdWU7CisgICAg
fQorCisgICAgUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHBhcnNlTWluTWF4TGlz
dChDYWxjTGlzdFR5cGUgdHlwZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMpCisgICAgewor
ICAgICAgICB1bnNpZ25lZCBpbmRleCA9IDA7CisgICAgICAgIFJlZlB0cjxDU1NDYWxjTWluTWF4
TGlzdD4gcmVzdWx0ID0gYWRvcHRSZWYobmV3IENTU0NhbGNNaW5NYXhMaXN0KHR5cGUpKTsKKwor
ICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUxpc3QodG9rZW5zLCAwLCAmaW5kZXgsIHJlc3Vs
dC5nZXQoKSk7CisgICAgICAgIEFTU0VSVChpbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAg
ICAgIGlmICghb2sgfHwgaW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgc3Ry
dWN0IFZhbHVlIHsKKyAgICAgICAgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gdmFsdWU7
CisgICAgfTsKKworICAgIGNoYXIgb3BlcmF0b3JWYWx1ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRv
a2VucywgdW5zaWduZWQgaW5kZXgpCisgICAgeworICAgICAgICBpZiAoaW5kZXggPj0gdG9rZW5z
LT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUq
IHZhbHVlID0gdG9rZW5zLT52YWx1ZUF0KGluZGV4KTsKKyAgICAgICAgaWYgKHZhbHVlLT51bml0
ICE9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvcikKKyAgICAgICAgICAgIHJldHVybiAwOworCisg
ICAgICAgIHJldHVybiB2YWx1ZS0+aVZhbHVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1
ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVz
dWx0KQorICAgIHsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHBhcnNlclZhbHVlID0gdG9rZW5z
LT52YWx1ZUF0KCppbmRleCk7CisgICAgICAgIGlmIChwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQ
YXJzZXJWYWx1ZTo6T3BlcmF0b3IgfHwgcGFyc2VyVmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFs
dWU6OkZ1bmN0aW9uKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIFJlZlB0
cjxDU1NWYWx1ZT4gdmFsdWUgPSBwYXJzZXJWYWx1ZS0+Y3JlYXRlQ1NTVmFsdWUoKTsKKyAgICAg
ICAgaWYgKCF2YWx1ZSB8fCAhdmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFs
dWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlLmdldCgpKTsKKyAgICAg
ICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHByaW1pdGl2
ZVZhbHVlLCBwYXJzZXJWYWx1ZS0+aXNJbnQpOworCisgICAgICAgICsrKmluZGV4OworICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVUZXJtKENTU1BhcnNl
clZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJl
c3VsdCkKKyAgICB7CisgICAgICAgIGlmIChjaGVja0RlcHRoQW5kSW5kZXgoJmRlcHRoLCAqaW5k
ZXgsIHRva2VucykgIT0gT0spCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgIAorICAgICAg
ICAKKyAgICAgICAgaWYgKG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpID09ICcoJykgewor
ICAgICAgICAgICAgdW5zaWduZWQgY3VycmVudEluZGV4ID0gKmluZGV4ICsgMTsKKyAgICAgICAg
ICAgIGlmICghcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgJmN1cnJlbnRJbmRl
eCwgcmVzdWx0KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAg
IGlmIChvcGVyYXRvclZhbHVlKHRva2VucywgY3VycmVudEluZGV4KSAhPSAnKScpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgKmluZGV4ID0gY3VycmVudEluZGV4
ICsgMTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0
dXJuIHBhcnNlVmFsdWUodG9rZW5zLCBpbmRleCwgcmVzdWx0KTsKKyAgICB9CisKKyAgICBib29s
IHBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0
b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsK
KyAgICAgICAgaWYgKGNoZWNrRGVwdGhBbmRJbmRleCgmZGVwdGgsICppbmRleCwgdG9rZW5zKSAh
PSBPSykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgCisKKyAgICAgICAgaWYgKCFwYXJz
ZVZhbHVlVGVybSh0b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgICAgICB3aGlsZSAoKmluZGV4IDwgdG9rZW5zLT5zaXplKCkgLSAx
KSB7CisgICAgICAgICAgICBjaGFyIG9wZXJhdG9yQ2hhcmFjdGVyID0gb3BlcmF0b3JWYWx1ZSh0
b2tlbnMsICppbmRleCk7CisgICAgICAgICAgICBpZiAob3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2Fs
Y011bHRpcGx5ICYmIG9wZXJhdG9yQ2hhcmFjdGVyICE9IENhbGNEaXZpZGUgJiYgb3BlcmF0b3JD
aGFyYWN0ZXIgIT0gQ2FsY01vZCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICsrKmluZGV4OworCisgICAgICAgICAgICBWYWx1ZSByaHM7CisgICAgICAgICAgICBpZiAoIXBh
cnNlVmFsdWVUZXJtKHRva2VucywgZGVwdGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uOjpjcmVhdGUocmVzdWx0LT52YWx1ZSwgcmhzLnZhbHVlLCBzdGF0aWNfY2Fz
dDxDYWxjT3BlcmF0b3I+KG9wZXJhdG9yQ2hhcmFjdGVyKSk7CisgICAgICAgICAgICBpZiAoIXJl
c3VsdC0+dmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisK
KyAgICAgICAgQVNTRVJUKCppbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VBZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbihD
U1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZh
bHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBpZiAoY2hlY2tEZXB0aEFuZEluZGV4KCZkZXB0
aCwgKmluZGV4LCB0b2tlbnMpICE9IE9LKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAK
KworICAgICAgICBpZiAoIXBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24odG9rZW5z
LCBkZXB0aCwgaW5kZXgsIHJlc3VsdCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAgICAgd2hpbGUgKCppbmRleCA8IHRva2Vucy0+c2l6ZSgpIC0gMSkgeworICAgICAgICAgICAg
Y2hhciBvcGVyYXRvckNoYXJhY3RlciA9IG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpOwor
ICAgICAgICAgICAgaWYgKG9wZXJhdG9yQ2hhcmFjdGVyICE9IENhbGNBZGQgJiYgb3BlcmF0b3JD
aGFyYWN0ZXIgIT0gQ2FsY1N1YnRyYWN0KQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgKysqaW5kZXg7CisKKyAgICAgICAgICAgIFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlm
ICghcGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRl
eCwgJnJocykpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBy
ZXN1bHQtPnZhbHVlID0gQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbjo6Y3JlYXRlKHJlc3VsdC0+dmFs
dWUsIHJocy52YWx1ZSwgc3RhdGljX2Nhc3Q8Q2FsY09wZXJhdG9yPihvcGVyYXRvckNoYXJhY3Rl
cikpOworICAgICAgICAgICAgaWYgKCFyZXN1bHQtPnZhbHVlKQorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5kZXggPD0gdG9rZW5z
LT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNl
VmFsdWVMaXN0KENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVk
KiBpbmRleCwgQ1NTQ2FsY01pbk1heExpc3QqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIHdoaWxl
ICgqaW5kZXggPCB0b2tlbnMtPnNpemUoKSkgeworICAgICAgICAgICAgVmFsdWUgbmV4dDsKKyAg
ICAgICAgICAgIGlmICghcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgs
ICZuZXh0KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGJv
b2wgb2sgPSByZXN1bHQtPmFwcGVuZChuZXh0LnZhbHVlKTsKKyAgICAgICAgICAgIGlmICghb2sp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBpZiAob3BlcmF0
b3JWYWx1ZSh0b2tlbnMsICppbmRleCkgIT0gJywnKQorICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgKysqaW5kZXg7CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQoKmluZGV4
IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAg
Ym9vbCBwYXJzZVZhbHVlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50
IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBy
ZXR1cm4gcGFyc2VBZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwg
cmVzdWx0KTsKKyAgICB9Cit9OworCitQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gQ1NTQ2FsY1Zh
bHVlOjpjcmVhdGUoQ1NTUGFyc2VyU3RyaW5nIG5hbWUsIENTU1BhcnNlclZhbHVlTGlzdCogcGFy
c2VyVmFsdWVMaXN0LCBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSByYW5nZSkKK3sgICAgCisgICAg
Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyIHBhcnNlcjsgICAgCisgICAgUmVmUHRyPENTU0Nh
bGNFeHByZXNzaW9uTm9kZT4gZXhwcmVzc2lvbiA9IDA7CisgICAgCisgICAgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKG5hbWUsICItd2Via2l0LWNhbGMoIikpCisgICAgICAgIGV4cHJlc3Npb24gPSBw
YXJzZXIucGFyc2VDYWxjKHBhcnNlclZhbHVlTGlzdCk7ICAgIAorICAgIGVsc2UgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKG5hbWUsICItd2Via2l0LW1pbigiKSkKKyAgICAgICAgZXhwcmVzc2lvbiA9
IHBhcnNlci5wYXJzZU1pbk1heExpc3QoQ2FsY01pbiwgcGFyc2VyVmFsdWVMaXN0KTsgICAgCisg
ICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIi13ZWJraXQtbWF4KCIpKQorICAg
ICAgICBleHByZXNzaW9uID0gcGFyc2VyLnBhcnNlTWluTWF4TGlzdChDYWxjTWF4LCBwYXJzZXJW
YWx1ZUxpc3QpOworCisgICAgcmV0dXJuIGV4cHJlc3Npb24gPyBhZG9wdFJlZihuZXcgQ1NTQ2Fs
Y1ZhbHVlKGV4cHJlc3Npb24sIHJhbmdlKSkgOiAwOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc4YWM0MjZiNDUyMDI3
OWE2OGYwYjBkODZkZjgwNmY4YTIyNTFkZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDYWxjVmFsdWUuaApAQCAtMCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTQ2FsY1Zh
bHVlX2gKKyNkZWZpbmUgQ1NTQ2FsY1ZhbHVlX2gKKworI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVl
cy5oIgorI2luY2x1ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCisjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDU1NQ
YXJzZXJWYWx1ZUxpc3Q7CitjbGFzcyBDU1NWYWx1ZUxpc3Q7CitjbGFzcyBSZW5kZXJTdHlsZTsK
K2NsYXNzIENhbGNWYWx1ZTsKK2NsYXNzIENhbGNFeHByZXNzaW9uTm9kZTsKKworZW51bSBDYWxj
Q2F0ZWdvcnkgeworICAgIENhbGNOdW1iZXIgPSAwLAorICAgIENhbGNMZW5ndGgsCisgICAgQ2Fs
Y1BlcmNlbnQsCisgICAgQ2FsY1BlcmNlbnROdW1iZXIsCisgICAgQ2FsY1BlcmNlbnRMZW5ndGgs
CisgICAgQ2FsY090aGVyCit9OworICAgIAorY2xhc3MgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIDog
cHVibGljIFJlZkNvdW50ZWQ8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiB7CitwdWJsaWM6CisgICAg
CisgICAgdmlydHVhbCB+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKCkgPSAwOyAgICAKKyAgICB2aXJ0
dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgZG91YmxlIGRvdWJsZVZh
bHVlKCkgY29uc3QgPSAwOworICAgIAorICAgIENhbGNDYXRlZ29yeSBjYXRlZ29yeSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2F0ZWdvcnk7IH0gICAgCisgICAgYm9vbCBpc0ludCgpIGNvbnN0IHsgcmV0
dXJuIG1faXNJbnQ7IH0KKyAgICAKK3Byb3RlY3RlZDoKKyAgICBDU1NDYWxjRXhwcmVzc2lvbk5v
ZGUoQ2FsY0NhdGVnb3J5IGNhdGVnb3J5LCBib29sIGlzSW50KQorICAgICAgICA6IG1fY2F0ZWdv
cnkoY2F0ZWdvcnkpCisgICAgICAgICwgbV9pc0ludChpc0ludCkKKyAgICB7CisgICAgfQorICAg
IAorICAgIENhbGNDYXRlZ29yeSBtX2NhdGVnb3J5OworICAgIGJvb2wgbV9pc0ludDsKK307Cisg
ICAgICAgIAorY2xhc3MgQ1NTQ2FsY1ZhbHVlIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IGNyZWF0ZShDU1NQYXJzZXJTdHJp
bmcgbmFtZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiwgQ2FsY1Blcm1pdHRlZFZhbHVlUmFuZ2UpOwor
CisgICAgQ2FsY0NhdGVnb3J5IGNhdGVnb3J5KCkgY29uc3QgeyByZXR1cm4gbV9leHByZXNzaW9u
LT5jYXRlZ29yeSgpOyB9CisgICAgYm9vbCBpc0ludCgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwcmVz
c2lvbi0+aXNJbnQoKTsgfQorICAgIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0OworICAgICAg
ICAKKyAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OworICAgIAorcHJpdmF0ZTogICAg
CisgICAgQ1NTQ2FsY1ZhbHVlKFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBleHBy
ZXNzaW9uLCBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSByYW5nZSkKKyAgICAgICAgOiBDU1NWYWx1
ZShDYWxjQ2xhc3MpCisgICAgICAgICwgbV9leHByZXNzaW9uKGV4cHJlc3Npb24pCisgICAgICAg
ICwgbV9ub25OZWdhdGl2ZShyYW5nZSA9PSBDYWxjUmFuZ2VOb25OZWdhdGl2ZSkKKyAgICB7Cisg
ICAgfQorICAgIAorICAgIGRvdWJsZSBjbGFtcFRvUmFuZ2UoZG91YmxlKSBjb25zdDsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIAorICAgIGNvbnN0IFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5v
ZGU+IG1fZXhwcmVzc2lvbjsKKyAgICBjb25zdCBib29sIG1fbm9uTmVnYXRpdmU7Cit9OworICAg
IAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTQ2FsY1ZhbHVlX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggNzk0MGIyNzc0ZmI4ODMxM2VkYTNhMjE4NjM1ZDEx
NDNhMGE3ZmMwMC4uZjY4Zjk0YzZkOWQwNDVmYjQ1OWY5ZTI3NmU1ZmY1YTg4NDhmOTFiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTY5NCwxNyArNjk0LDUxIEBAIERvY3VtZW50KiBD
U1NQYXJzZXI6OmZpbmREb2N1bWVudCgpIGNvbnN0CiBib29sIENTU1BhcnNlcjo6dmFsaWRVbml0
KENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgVW5pdHMgdW5pdGZsYWdzLCBib29sIHN0cmljdCkKIHsK
ICAgICBib29sIGIgPSBmYWxzZTsKKyAgICBpZiAoaXNDYWxjTWluTWF4KHZhbHVlKSkgeworICAg
ICAgICBpZiAoIXBhcnNlQ2FsYyh2YWx1ZSwgdW5pdGZsYWdzICYgRk5vbk5lZyA/IENhbGNSYW5n
ZU5vbk5lZ2F0aXZlIDogQ2FsY1JhbmdlQWxsKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgCisgICAgICAgIHN3aXRjaCAobV9wYXJzZWRDYWxjLT5jYXRlZ29yeSgpKSB7Cisg
ICAgICAgIGNhc2UgQ2FsY0xlbmd0aDoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRkxl
bmd0aCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDoKKyAg
ICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRlBlcmNlbnQpOworICAgICAgICAgICAgaWYgKGIg
JiYgKHVuaXRmbGFncyAmIEZOb25OZWcpICYmIG1fcGFyc2VkQ2FsYy0+ZG91YmxlVmFsdWUoKSA8
IDApCisgICAgICAgICAgICAgICAgYiA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRk51bWJl
cik7CisgICAgICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRlZ2VyKSAmJiBtX3Bh
cnNlZENhbGMtPmlzSW50KCkpCisgICAgICAgICAgICAgICAgYiA9IHRydWU7CisgICAgICAgICAg
ICBpZiAoYiAmJiAodW5pdGZsYWdzICYgRk5vbk5lZykgJiYgbV9wYXJzZWRDYWxjLT5kb3VibGVW
YWx1ZSgpIDwgMCkKKyAgICAgICAgICAgICAgICBiID0gZmFsc2U7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudExlbmd0aDoKKyAgICAgICAgICAgIGIgPSAodW5p
dGZsYWdzICYgRlBlcmNlbnQpICYmICh1bml0ZmxhZ3MgJiBGTGVuZ3RoKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIENhbGNQZXJjZW50TnVtYmVyOgorICAgICAgICAgICAgYiA9
ICh1bml0ZmxhZ3MgJiBGUGVyY2VudCkgJiYgKHVuaXRmbGFncyAmIEZOdW1iZXIpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2FsY090aGVyOgorICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICAgICAgLy8gVE9ETzogaGFuZGxlIEZOb25OZWcKKyAgICAgICAgaWYg
KCFiKQorICAgICAgICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKKyAgICAgICAgcmV0dXJu
IGI7CisgICAgfQogICAgIHN3aXRjaCAodmFsdWUtPnVuaXQpIHsKICAgICBjYXNlIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfTlVNQkVSOgogICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZOdW1iZXIp
OwotICAgICAgICBpZiAoIWIgJiYgKCh1bml0ZmxhZ3MgJiAoRkxlbmd0aCB8IEZBbmdsZSB8IEZU
aW1lKSkgJiYgKHZhbHVlLT5mVmFsdWUgPT0gMCB8fCAhc3RyaWN0KSkpIHsKKyAgICAgICAgaWYg
KCFiICYmICgodW5pdGZsYWdzICYgKEZMZW5ndGggfCBGQW5nbGUgfCBGVGltZSkpICYmICghdmFs
dWUtPmZWYWx1ZSB8fCAhc3RyaWN0KSkpIHsKICAgICAgICAgICAgIHZhbHVlLT51bml0ID0gKHVu
aXRmbGFncyAmIEZMZW5ndGgpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCA6CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICgodW5pdGZsYWdzICYgRkFuZ2xlKSA/IENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfREVHIDogQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NUyk7CiAgICAgICAgICAgICBi
ID0gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRl
Z2VyKSAmJiB2YWx1ZS0+aXNJbnQpCiAgICAgICAgICAgICBiID0gdHJ1ZTsKLSAgICAgICAgYnJl
YWs7CisgICAgICAgIGJyZWFrOyAgICAgICAgICAgIAogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19QRVJDRU5UQUdFOgogICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQZXJjZW50KTsK
ICAgICAgICAgYnJlYWs7CkBAIC03NDMsNiArNzc3LDE0IEBAIGJvb2wgQ1NTUGFyc2VyOjp2YWxp
ZFVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1bml0ZmxhZ3MsIGJvb2wgc3RyaWN0
KQogCiBpbmxpbmUgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpjcmVh
dGVQcmltaXRpdmVOdW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKQogeworICAgIGlm
IChtX3BhcnNlZENhbGMpIHsKKyAgICAgICAgQVNTRVJUKGlzQ2FsY01pbk1heCh2YWx1ZSkpOwor
ICAgICAgICAvLyBGSVhNRSBjYWxjKCkgaHR0cDovL3dlYmtpdC5vcmcvYi8xNjY2MjogY3JlYXRl
IGEgQ1NTUHJpbWl0aXZlVmFsdWUgaGVyZSwgaWUKKyAgICAgICAgLy8gcmV0dXJuIENTU1ByaW1p
dGl2ZVZhbHVlOjpjcmVhdGUobV9wYXJzZWRDYWxjLnJlbGVhc2UoKSk7CisgICAgICAgIG1fcGFy
c2VkQ2FsYy5yZWxlYXNlKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAgICAgICAg
ICAgIAogICAgIEFTU0VSVCgodmFsdWUtPnVuaXQgPj0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19O
VU1CRVIgJiYgdmFsdWUtPnVuaXQgPD0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19LSFopCiAgICAg
ICAgICAgIHx8ICh2YWx1ZS0+dW5pdCA+PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1RVUk4gJiYg
dmFsdWUtPnVuaXQgPD0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SRU1TKSk7CiAgICAgcmV0dXJu
IGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZSh2YWx1ZS0+ZlZhbHVlLCBzdGF0aWNfY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzPih2YWx1ZS0+dW5pdCkpOwpAQCAtODQwLDYgKzg4
MiwxMSBAQCBpbmxpbmUgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpw
YXJzZVZhbGlkUHJpbWl0aXZlKGludCBpZCwgQ1NTUAogICAgICAgICByZXR1cm4gY3JlYXRlUHJp
bWl0aXZlTnVtZXJpY1ZhbHVlKHZhbHVlKTsKICAgICBpZiAodmFsdWUtPnVuaXQgPj0gQ1NTUGFy
c2VyVmFsdWU6OlFfRU1TKQogICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0
ZUFsbG93aW5nTWFyZ2luUXVpcmsodmFsdWUtPmZWYWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19FTVMpOworICAgIGlmIChpc0NhbGNNaW5NYXgodmFsdWUpKQorICAgICAgICAvLyBGSVhNRSBj
YWxjKCkgIGh0dHA6Ly93ZWJraXQub3JnL2IvMTY2NjI6IGNyZWF0ZSBhIHByaW1pdGl2ZSB2YWx1
ZSBoZXJlLCBpZQorICAgICAgICAvLyByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSht
X3BhcnNlZENhbGMucmVsZWFzZSgpKTsKKyAgICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsK
KwogICAgIHJldHVybiAwOwogfQogCkBAIC04NTMsNiArOTAwLDEwIEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgIGlmICghdmFsdWUp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIE5vdGU6IG1fcGFyc2VkQ2FsYyBpcyB1
c2VkIHRvIHBhc3MgdGhlIGNhbGMgdmFsdWUgdG8gdmFsaWRVbml0IGFuZCB0aGVuIGNsZWFyZWQg
YXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLgorICAgIC8vIEZJWE1FOiBUaGlzIGlzIHRvIGF2
b2lkIGhhdmluZyB0byBwYXNzIHBhcnNlZENhbGMgdG8gYWxsIHZhbGlkVW5pdCBjYWxsZXJzLgor
ICAgIEFTU0VSVCghbV9wYXJzZWRDYWxjKTsKKyAgICAKICAgICBpbnQgaWQgPSB2YWx1ZS0+aWQ7
CiAKICAgICAvLyBJbiBxdWlya3MgbW9kZSwgd2Ugd2lsbCBsb29rIGZvciB1bml0cyB0aGF0IGhh
dmUgYmVlbiBpbmNvcnJlY3RseSBzZXBhcmF0ZWQgZnJvbSB0aGUgbnVtYmVyIHRoZXkgYmVsb25n
IHRvCkBAIC0yMjYyLDYgKzIzMTMsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQg
cHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZVZhbGlk
UHJpbWl0aXZlKGlkLCB2YWx1ZSk7CiAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAg
fQorICAgIEFTU0VSVCghbV9wYXJzZWRDYWxjKTsKICAgICBpZiAocGFyc2VkVmFsdWUpIHsKICAg
ICAgICAgaWYgKCFtX3ZhbHVlTGlzdC0+Y3VycmVudCgpIHx8IGluU2hvcnRoYW5kKCkpIHsKICAg
ICAgICAgICAgIGFkZFByb3BlcnR5KHByb3BJZCwgcGFyc2VkVmFsdWUucmVsZWFzZSgpLCBpbXBv
cnRhbnQpOwpAQCAtMjk2OSw4ICszMDIxLDExIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1Bh
cnNlcjo6cGFyc2VGaWxsUG9zaXRpb25Db21wb25lbnQoQ1NTUGFyc2VyVmFsdWVMaXN0KiB2CiAg
ICAgICAgIH0gZWxzZSBpZiAoY3VtdWxhdGl2ZUZsYWdzICYgKFhGaWxsUG9zaXRpb24gfCBBbWJp
Z3VvdXNGaWxsUG9zaXRpb24pKSB7CiAgICAgICAgICAgICBjdW11bGF0aXZlRmxhZ3MgfD0gWUZp
bGxQb3NpdGlvbjsKICAgICAgICAgICAgIGluZGl2aWR1YWxGbGFnID0gWUZpbGxQb3NpdGlvbjsK
LSAgICAgICAgfSBlbHNlCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAobV9wYXJz
ZWRDYWxjKQorICAgICAgICAgICAgICAgIG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCk7CiAgICAgICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZl
TnVtZXJpY1ZhbHVlKHZhbHVlTGlzdC0+Y3VycmVudCgpKTsKICAgICB9CiAgICAgcmV0dXJuIDA7
CkBAIC00ODUyLDIyICs0OTA3LDQ3IEBAIGJvb2wgQ1NTUGFyc2VyOjpmYXN0UGFyc2VDb2xvcihS
R0JBMzImIHJnYiwgY29uc3QgU3RyaW5nJiBuYW1lLCBib29sIHN0cmljdCkKICAgICB9CiAgICAg
cmV0dXJuIGZhbHNlOwogfQorICAgIAoraW5saW5lIGRvdWJsZSBDU1NQYXJzZXI6OnBhcnNlZERv
dWJsZShDU1NQYXJzZXJWYWx1ZSAqdiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZUNvbmRpdGlvbiBy
ZWxlYXNlQ2FsYykKK3sKKyAgICBjb25zdCBkb3VibGUgcmVzdWx0ID0gbV9wYXJzZWRDYWxjID8g
bV9wYXJzZWRDYWxjLT5kb3VibGVWYWx1ZSgpIDogdi0+ZlZhbHVlOworICAgIGlmIChyZWxlYXNl
Q2FsYyA9PSBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKQorICAgICAgICBtX3BhcnNlZENhbGMucmVs
ZWFzZSgpOworICAgIHJldHVybiByZXN1bHQ7Cit9CiAKLXN0YXRpYyBpbmxpbmUgaW50IGNvbG9y
SW50RnJvbVZhbHVlKENTU1BhcnNlclZhbHVlKiB2KQorYm9vbCBDU1NQYXJzZXI6OmlzQ2FsY01p
bk1heChDU1NQYXJzZXJWYWx1ZSogdmFsdWUpIAogewotICAgIGlmICh2LT5mVmFsdWUgPD0gMC4w
KQorICAgIHJldHVybiAodmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uKSAK
KyAgICAgICAgJiYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13
ZWJraXQtY2FsYygiKQorICAgICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUtPmZ1
bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1taW4oIikKKyAgICAgICAgICAgIHx8IGVxdWFsSWdub3Jp
bmdDYXNlKHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbWF4KCIpKTsKK30KKworaW5s
aW5lIGludCBDU1NQYXJzZXI6OmNvbG9ySW50RnJvbVZhbHVlKENTU1BhcnNlclZhbHVlKiB2KQor
eworICAgIGJvb2wgaXNQZXJjZW50OworICAgIAorICAgIGlmIChtX3BhcnNlZENhbGMpCisgICAg
ICAgIGlzUGVyY2VudCA9IG1fcGFyc2VkQ2FsYy0+Y2F0ZWdvcnkoKSA9PSBDYWxjUGVyY2VudDsK
KyAgICBlbHNlCisgICAgICAgIGlzUGVyY2VudCA9IHYtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19QRVJDRU5UQUdFOworCisgICAgY29uc3QgZG91YmxlIHZhbHVlID0gcGFyc2VkRG91
YmxlKHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpOworICAgIAorICAgIGlmICh2YWx1ZSA8PSAw
LjApCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKHYtPnVuaXQgPT0gQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19QRVJDRU5UQUdFKSB7Ci0gICAgICAgIGlmICh2LT5mVmFsdWUgPj0gMTAwLjAp
CisgICAgaWYgKGlzUGVyY2VudCkgeworICAgICAgICBpZiAodmFsdWUgPj0gMTAwLjApCiAgICAg
ICAgICAgICByZXR1cm4gMjU1OwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2LT5m
VmFsdWUgKiAyNTYuMCAvIDEwMC4wKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4o
dmFsdWUgKiAyNTYuMCAvIDEwMC4wKTsKICAgICB9CiAKLSAgICBpZiAodi0+ZlZhbHVlID49IDI1
NS4wKQorICAgIGlmICh2YWx1ZSA+PSAyNTUuMCkKICAgICAgICAgcmV0dXJuIDI1NTsKIAotICAg
IHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHYtPmZWYWx1ZSk7CisgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGludD4odmFsdWUpOwogfQogCiBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRl
cnMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBpbnQqIGNvbG9yQXJyYXksIGJvb2wgcGFyc2VBbHBo
YSkKQEAgLTQ4ODIsNiArNDk2Miw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1l
dGVycyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIGludCogY29sb3JBcnJheSwgYm9vCiAgICAgICAg
IHVuaXRUeXBlID0gRlBlcmNlbnQ7CiAgICAgZWxzZQogICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgCiAgICAgY29sb3JBcnJheVswXSA9IGNvbG9ySW50RnJvbVZhbHVlKHYpOwogICAgIGZvciAo
aW50IGkgPSAxOyBpIDwgMzsgaSsrKSB7CiAgICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CkBAIC00
ODk5LDkgKzQ5ODAsMTAgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3JQYXJhbWV0ZXJzKENT
U1BhcnNlclZhbHVlKiB2YWx1ZSwgaW50KiBjb2xvckFycmF5LCBib28KICAgICAgICAgdiA9IGFy
Z3MtPm5leHQoKTsKICAgICAgICAgaWYgKCF2YWxpZFVuaXQodiwgRk51bWJlciwgdHJ1ZSkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGNvbnN0IGRvdWJsZSB2YWx1ZSA9IHBh
cnNlZERvdWJsZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKTsKICAgICAgICAgLy8gQ29udmVy
dCB0aGUgZmxvYXRpbmcgcG9pbnRlciBudW1iZXIgb2YgYWxwaGEgdG8gYW4gaW50ZWdlciBpbiB0
aGUgcmFuZ2UgWzAsIDI1NiksCiAgICAgICAgIC8vIHdpdGggYW4gZXF1YWwgZGlzdHJpYnV0aW9u
IGFjcm9zcyBhbGwgMjU2IHZhbHVlcy4KLSAgICAgICAgY29sb3JBcnJheVszXSA9IHN0YXRpY19j
YXN0PGludD4obWF4KDAuMCwgbWluKDEuMCwgdi0+ZlZhbHVlKSkgKiBuZXh0YWZ0ZXIoMjU2LjAs
IDAuMCkpOworICAgICAgICBjb2xvckFycmF5WzNdID0gc3RhdGljX2Nhc3Q8aW50PihtYXgoMC4w
LCBtaW4oMS4wLCB2YWx1ZSkpICogbmV4dGFmdGVyKDI1Ni4wLCAwLjApKTsKICAgICB9CiAgICAg
cmV0dXJuIHRydWU7CiB9CkBAIC00OTE5LDcgKzUwMDEsNyBAQCBib29sIENTU1BhcnNlcjo6cGFy
c2VIU0xQYXJhbWV0ZXJzKENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgZG91YmxlKiBjb2xvckFycmF5
LCBibwogICAgIGlmICghdmFsaWRVbml0KHYsIEZOdW1iZXIsIHRydWUpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgLy8gbm9ybWFsaXplIHRoZSBIdWUgdmFsdWUgYW5kIGNoYW5nZSBpdCB0
byBiZSBiZXR3ZWVuIDAgYW5kIDEuMAotICAgIGNvbG9yQXJyYXlbMF0gPSAoKChzdGF0aWNfY2Fz
dDxpbnQ+KHYtPmZWYWx1ZSkgJSAzNjApICsgMzYwKSAlIDM2MCkgLyAzNjAuMDsKKyAgICBjb2xv
ckFycmF5WzBdID0gKCgoc3RhdGljX2Nhc3Q8aW50PihwYXJzZWREb3VibGUodiwgUmVsZWFzZVBh
cnNlZENhbGNWYWx1ZSkpICUgMzYwKSArIDM2MCkgJSAzNjApIC8gMzYwLjA7CiAgICAgZm9yIChp
bnQgaSA9IDE7IGkgPCAzOyBpKyspIHsKICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKICAgICAg
ICAgaWYgKHYtPnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yICYmIHYtPmlWYWx1ZSAh
PSAnLCcpCkBAIC00OTI3LDcgKzUwMDksNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VIU0xQYXJh
bWV0ZXJzKENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgZG91YmxlKiBjb2xvckFycmF5LCBibwogICAg
ICAgICB2ID0gYXJncy0+bmV4dCgpOwogICAgICAgICBpZiAoIXZhbGlkVW5pdCh2LCBGUGVyY2Vu
dCwgdHJ1ZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGNvbG9yQXJyYXlb
aV0gPSBtYXgoMC4wLCBtaW4oMTAwLjAsIHYtPmZWYWx1ZSkpIC8gMTAwLjA7IC8vIG5lZWRzIHRv
IGJlIHZhbHVlIGJldHdlZW4gMCBhbmQgMS4wCisgICAgICAgIGNvbG9yQXJyYXlbaV0gPSBtYXgo
MC4wLCBtaW4oMTAwLjAsIHBhcnNlZERvdWJsZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKSkp
IC8gMTAwLjA7IC8vIG5lZWRzIHRvIGJlIHZhbHVlIGJldHdlZW4gMCBhbmQgMS4wCiAgICAgfQog
ICAgIGlmIChwYXJzZUFscGhhKSB7CiAgICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CkBAIC00OTM2
LDcgKzUwMTgsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VIU0xQYXJhbWV0ZXJzKENTU1BhcnNl
clZhbHVlKiB2YWx1ZSwgZG91YmxlKiBjb2xvckFycmF5LCBibwogICAgICAgICB2ID0gYXJncy0+
bmV4dCgpOwogICAgICAgICBpZiAoIXZhbGlkVW5pdCh2LCBGTnVtYmVyLCB0cnVlKSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgY29sb3JBcnJheVszXSA9IG1heCgwLjAsIG1p
bigxLjAsIHYtPmZWYWx1ZSkpOworICAgICAgICBjb2xvckFycmF5WzNdID0gbWF4KDAuMCwgbWlu
KDEuMCwgcGFyc2VkRG91YmxlKHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpKSk7CiAgICAgfQog
ICAgIHJldHVybiB0cnVlOwogfQpAQCAtNTAwNCw5ICs1MDg2LDkgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlQ29sb3JGcm9tVmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBSR0JBMzImIGMpCiAv
LyBUaGlzIGNsYXNzIHRyYWNrcyBwYXJzaW5nIHN0YXRlIGZvciBzaGFkb3cgdmFsdWVzLiAgSWYg
aXQgZ29lcyBvdXQgb2Ygc2NvcGUgKGUuZy4sIGR1ZSB0byBhbiBlYXJseSByZXR1cm4pCiAvLyB3
aXRob3V0IHRoZSBhbGxvd0JyZWFrIGJpdCBiZWluZyBzZXQsIHRoZW4gaXQgd2lsbCBjbGVhbiB1
cCBhbGwgb2YgdGhlIG9iamVjdHMgYW5kIGRlc3Ryb3kgdGhlbS4KIHN0cnVjdCBTaGFkb3dQYXJz
ZUNvbnRleHQgewotICAgIFNoYWRvd1BhcnNlQ29udGV4dChDU1NQcm9wZXJ0eUlEIHByb3AsIENT
U1ZhbHVlUG9vbCogY3NzVmFsdWVQb29sKQorICAgIFNoYWRvd1BhcnNlQ29udGV4dChDU1NQcm9w
ZXJ0eUlEIHByb3AsIENTU1BhcnNlciogcGFyZW50KQogICAgICAgICA6IHByb3BlcnR5KHByb3Ap
Ci0gICAgICAgICwgbV9jc3NWYWx1ZVBvb2woY3NzVmFsdWVQb29sKQorICAgICAgICAsIG1fcGFy
ZW50KHBhcmVudCkKICAgICAgICAgLCBhbGxvd1godHJ1ZSkKICAgICAgICAgLCBhbGxvd1koZmFs
c2UpCiAgICAgICAgICwgYWxsb3dCbHVyKGZhbHNlKQpAQCAtNTA0OSw3ICs1MTMxLDcgQEAgc3Ry
dWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7CiAKICAgICB2b2lkIGNvbW1pdExlbmd0aChDU1NQYXJz
ZXJWYWx1ZSogdikKICAgICB7Ci0gICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFs
ID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHYtPmZWYWx1ZSwgKENTU1ByaW1pdGl2ZVZh
bHVlOjpVbml0VHlwZXMpdi0+dW5pdCk7CisgICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1
ZT4gdmFsID0gbV9wYXJlbnQtPmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2KTsKIAogICAg
ICAgICBpZiAoYWxsb3dYKSB7CiAgICAgICAgICAgICB4ID0gdmFsLnJlbGVhc2UoKTsKQEAgLTUw
OTEsNyArNTE3Myw3IEBAIHN0cnVjdCBTaGFkb3dQYXJzZUNvbnRleHQgewogCiAgICAgdm9pZCBj
b21taXRTdHlsZShDU1NQYXJzZXJWYWx1ZSogdikKICAgICB7Ci0gICAgICAgIHN0eWxlID0gbV9j
c3NWYWx1ZVBvb2wtPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2LT5pZCk7CisgICAgICAgIHN0eWxl
ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodi0+aWQp
OwogICAgICAgICBhbGxvd1N0eWxlID0gZmFsc2U7CiAgICAgICAgIGlmIChhbGxvd1gpCiAgICAg
ICAgICAgICBhbGxvd0JyZWFrID0gZmFsc2U7CkBAIC01MTAzLDcgKzUxODUsNyBAQCBzdHJ1Y3Qg
U2hhZG93UGFyc2VDb250ZXh0IHsKICAgICB9CiAKICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5
OwotICAgIENTU1ZhbHVlUG9vbCogbV9jc3NWYWx1ZVBvb2w7CisgICAgQ1NTUGFyc2VyKiBtX3Bh
cmVudDsKIAogICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHZhbHVlczsKICAgICBSZWZQdHI8Q1NT
UHJpbWl0aXZlVmFsdWU+IHg7CkBAIC01MTI0LDcgKzUyMDYsNyBAQCBzdHJ1Y3QgU2hhZG93UGFy
c2VDb250ZXh0IHsKIAogUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFyc2VT
aGFkb3coQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZUxpc3QsIGludCBwcm9wSWQpCiB7Ci0gICAg
U2hhZG93UGFyc2VDb250ZXh0IGNvbnRleHQoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJv
cElkKSwgY3NzVmFsdWVQb29sKCkpOworICAgIFNoYWRvd1BhcnNlQ29udGV4dCBjb250ZXh0KHN0
YXRpY19jYXN0PENTU1Byb3BlcnR5SUQ+KHByb3BJZCksIHRoaXMpOwogICAgIENTU1BhcnNlclZh
bHVlKiB2YWw7CiAgICAgd2hpbGUgKCh2YWwgPSB2YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsKICAg
ICAgICAgLy8gQ2hlY2sgZm9yIGEgY29tbWEgYnJlYWsgZmlyc3QuCkBAIC01NDkyLDggKzU1NzQs
OCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVJlcGVhdChSZWZQdHI8Q1NTVmFs
dWU+JiByZXN1bHQpCiAKIGNsYXNzIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQgewogcHVi
bGljOgotICAgIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQoQ1NTVmFsdWVQb29sKiBjc3NW
YWx1ZVBvb2wpCi0gICAgOiBtX2Nzc1ZhbHVlUG9vbChjc3NWYWx1ZVBvb2wpCisgICAgQm9yZGVy
SW1hZ2VTbGljZVBhcnNlQ29udGV4dChDU1NQYXJzZXIqIHBhcmVudCkKKyAgICA6IG1fcGFyZW50
KHBhcmVudCkKICAgICAsIG1fYWxsb3dOdW1iZXIodHJ1ZSkKICAgICAsIG1fYWxsb3dGaWxsKGZh
bHNlKQogICAgICwgbV9hbGxvd0ZpbmFsQ29tbWl0KGZhbHNlKQpAQCAtNTUwNyw3ICs1NTg5LDcg
QEAgcHVibGljOgogCiAgICAgdm9pZCBjb21taXROdW1iZXIoQ1NTUGFyc2VyVmFsdWUqIHYpCiAg
ICAgewotICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fY3NzVmFsdWVQ
b29sLT5jcmVhdGVWYWx1ZSh2LT5mVmFsdWUsIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVz
KXYtPnVuaXQpOworICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fcGFy
ZW50LT5jcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUodik7CiAgICAgICAgIGlmICghbV90b3Ap
CiAgICAgICAgICAgICBtX3RvcCA9IHZhbDsKICAgICAgICAgZWxzZSBpZiAoIW1fcmlnaHQpCkBA
IC01NTM0LDE2ICs1NjE2LDE2IEBAIHB1YmxpYzoKICAgICAgICAgLy8gV2UgbmVlZCB0byBjbG9u
ZSBhbmQgcmVwZWF0IHZhbHVlcyBmb3IgYW55IG9taXNzaW9ucy4KICAgICAgICAgQVNTRVJUKG1f
dG9wKTsKICAgICAgICAgaWYgKCFtX3JpZ2h0KSB7Ci0gICAgICAgICAgICBtX3JpZ2h0ID0gbV9j
c3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJp
bWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKLSAgICAgICAg
ICAgIG1fYm90dG9tID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3Vi
bGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZl
VHlwZSgpKTsKLSAgICAgICAgICAgIG1fbGVmdCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1
ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMp
bV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX3JpZ2h0ID0gbV9wYXJlbnQt
PmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENT
U1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAg
ICAgICAgICBtX2JvdHRvbSA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUo
bV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1f
dG9wLT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICAgICAgbV9sZWZ0ID0gbV9wYXJlbnQtPmNz
c1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1By
aW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CiAgICAgICAg
IH0KICAgICAgICAgaWYgKCFtX2JvdHRvbSkgewotICAgICAgICAgICAgbV9ib3R0b20gPSBtX2Nz
c1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmlt
aXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOwotICAgICAgICAg
ICAgbV9sZWZ0ID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJs
ZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2
ZVR5cGUoKSk7CisgICAgICAgICAgICBtX2JvdHRvbSA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2wo
KS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1
ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICAgICAgbV9sZWZ0
ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3Vi
bGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRp
dmVUeXBlKCkpOwogICAgICAgICB9CiAgICAgICAgIGlmICghbV9sZWZ0KQotICAgICAgICAgICAg
IG1fbGVmdCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVW
YWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVU
eXBlKCkpOworICAgICAgICAgICAgIG1fbGVmdCA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+
Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVl
OjpVbml0VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKIAogICAgICAgICAvLyBOb3cg
YnVpbGQgYSByZWN0IHZhbHVlIHRvIGhvbGQgYWxsIGZvdXIgb2Ygb3VyIHByaW1pdGl2ZSB2YWx1
ZXMuCiAgICAgICAgIFJlZlB0cjxRdWFkPiBxdWFkID0gUXVhZDo6Y3JlYXRlKCk7CkBAIC01NTUz
LDExICs1NjM1LDExIEBAIHB1YmxpYzoKICAgICAgICAgcXVhZC0+c2V0TGVmdChtX2xlZnQpOwog
CiAgICAgICAgIC8vIE1ha2Ugb3VyIG5ldyBib3JkZXIgaW1hZ2UgdmFsdWUgbm93LgotICAgICAg
ICByZXR1cm4gQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjpjcmVhdGUobV9jc3NWYWx1ZVBvb2wt
PmNyZWF0ZVZhbHVlKHF1YWQucmVsZWFzZSgpKSwgbV9maWxsKTsKKyAgICAgICAgcmV0dXJuIENT
U0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6Y3JlYXRlKG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+
Y3JlYXRlVmFsdWUocXVhZC5yZWxlYXNlKCkpLCBtX2ZpbGwpOwogICAgIH0KIAogcHJpdmF0ZToK
LSAgICBDU1NWYWx1ZVBvb2wqIG1fY3NzVmFsdWVQb29sOworICAgIENTU1BhcnNlciogbV9wYXJl
bnQ7CiAKICAgICBib29sIG1fYWxsb3dOdW1iZXI7CiAgICAgYm9vbCBtX2FsbG93RmlsbDsKQEAg
LTU1NzMsMTAgKzU2NTUsMTEgQEAgcHJpdmF0ZToKIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9y
ZGVySW1hZ2VTbGljZShpbnQgcHJvcElkLCBSZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVl
PiYgcmVzdWx0KQogewotICAgIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQgY29udGV4dChj
c3NWYWx1ZVBvb2woKSk7CisgICAgQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCBjb250ZXh0
KHRoaXMpOwogICAgIENTU1BhcnNlclZhbHVlKiB2YWw7CiAgICAgd2hpbGUgKCh2YWwgPSBtX3Zh
bHVlTGlzdC0+Y3VycmVudCgpKSkgewotICAgICAgICBpZiAoY29udGV4dC5hbGxvd051bWJlcigp
ICYmIHZhbGlkVW5pdCh2YWwsIEZJbnRlZ2VyIHwgRk5vbk5lZyB8IEZQZXJjZW50LCB0cnVlKSkg
eworICAgICAgICAvLyBGSVhNRSBjYWxjKCkgaHR0cDovL3dlYmtpdC5vcmcvYi8xNjY2MiA6IGNh
bGMgaXMgcGFyc2VkIGJ1dCB2YWx1ZXMgYXJlIG5vdCBjcmVhdGVkIHlldC4KKyAgICAgICAgaWYg
KGNvbnRleHQuYWxsb3dOdW1iZXIoKSAmJiAhaXNDYWxjTWluTWF4KHZhbCkgJiYgdmFsaWRVbml0
KHZhbCwgRkludGVnZXIgfCBGTm9uTmVnIHwgRlBlcmNlbnQsIHRydWUpKSB7CiAgICAgICAgICAg
ICBjb250ZXh0LmNvbW1pdE51bWJlcih2YWwpOwogICAgICAgICB9IGVsc2UgaWYgKGNvbnRleHQu
YWxsb3dGaWxsKCkgJiYgdmFsLT5pZCA9PSBDU1NWYWx1ZUZpbGwpCiAgICAgICAgICAgICBjb250
ZXh0LmNvbW1pdEZpbGwoKTsKQEAgLTU2MDksOCArNTY5Miw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZUJvcmRlckltYWdlU2xpY2UoaW50IHByb3BJZCwgUmVmUHRyPENTU0JvcmRlckltYWdlU2xp
Y2VWYWx1CiAKIGNsYXNzIEJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dCB7CiBwdWJsaWM6Ci0g
ICAgQm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0KENTU1ZhbHVlUG9vbCogY3NzVmFsdWVQb29s
KQotICAgIDogbV9jc3NWYWx1ZVBvb2woY3NzVmFsdWVQb29sKQorICAgIEJvcmRlckltYWdlUXVh
ZFBhcnNlQ29udGV4dChDU1NQYXJzZXIqIHBhcmVudCkKKyAgICA6IG1fcGFyZW50KHBhcmVudCkK
ICAgICAsIG1fYWxsb3dOdW1iZXIodHJ1ZSkKICAgICAsIG1fYWxsb3dGaW5hbENvbW1pdChmYWxz
ZSkKICAgICB7IH0KQEAgLTU2MjMsOSArNTcwNiw5IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAg
IFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsOwogICAgICAgICBpZiAodi0+aWQgPT0gQ1NT
VmFsdWVBdXRvKQotICAgICAgICAgICAgdmFsID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZUlkZW50
aWZpZXJWYWx1ZSh2LT5pZCk7CisgICAgICAgICAgICB2YWwgPSBtX3BhcmVudC0+Y3NzVmFsdWVQ
b29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2LT5pZCk7CiAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIHZhbCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZSh2LT5mVmFsdWUsIChDU1NQ
cmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKXYtPnVuaXQpOworICAgICAgICAgICAgdmFsID0gbV9w
YXJlbnQtPmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2KTsKIAogICAgICAgICBpZiAoIW1f
dG9wKQogICAgICAgICAgICAgbV90b3AgPSB2YWw7CkBAIC01NjUwLDE2ICs1NzMzLDE2IEBAIHB1
YmxpYzoKICAgICAgICAgLy8gV2UgbmVlZCB0byBjbG9uZSBhbmQgcmVwZWF0IHZhbHVlcyBmb3Ig
YW55IG9taXNzaW9ucy4KICAgICAgICAgQVNTRVJUKG1fdG9wKTsKICAgICAgICAgaWYgKCFtX3Jp
Z2h0KSB7Ci0gICAgICAgICAgICBtX3JpZ2h0ID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVl
KG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcylt
X3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKLSAgICAgICAgICAgIG1fYm90dG9tID0gbV9jc3NWYWx1
ZVBvb2wtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZl
VmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKLSAgICAgICAgICAgIG1f
bGVmdCA9IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUo
KSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7
CisgICAgICAgICAgICBtX3JpZ2h0ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVW
YWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlw
ZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX2JvdHRvbSA9IG1fcGFy
ZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCks
IChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOwor
ICAgICAgICAgICAgbV9sZWZ0ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1
ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMp
bV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFtX2JvdHRv
bSkgewotICAgICAgICAgICAgbV9ib3R0b20gPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUo
bV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1f
dG9wLT5wcmltaXRpdmVUeXBlKCkpOwotICAgICAgICAgICAgbV9sZWZ0ID0gbV9jc3NWYWx1ZVBv
b2wtPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVW
YWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBt
X2JvdHRvbSA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUobV90b3AtPmdl
dERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmlt
aXRpdmVUeXBlKCkpOworICAgICAgICAgICAgbV9sZWZ0ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9v
bCgpLT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZl
VmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBlKCkpOwogICAgICAgICB9CiAg
ICAgICAgIGlmICghbV9sZWZ0KQotICAgICAgICAgICAgIG1fbGVmdCA9IG1fY3NzVmFsdWVQb29s
LT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFs
dWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICAgICAgIG1f
bGVmdCA9IG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0
RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9yaWdodC0+cHJp
bWl0aXZlVHlwZSgpKTsKIAogICAgICAgICAvLyBOb3cgYnVpbGQgYSBxdWFkIHZhbHVlIHRvIGhv
bGQgYWxsIGZvdXIgb2Ygb3VyIHByaW1pdGl2ZSB2YWx1ZXMuCiAgICAgICAgIFJlZlB0cjxRdWFk
PiBxdWFkID0gUXVhZDo6Y3JlYXRlKCk7CkBAIC01NjY5LDExICs1NzUyLDExIEBAIHB1YmxpYzoK
ICAgICAgICAgcXVhZC0+c2V0TGVmdChtX2xlZnQpOwogCiAgICAgICAgIC8vIE1ha2Ugb3VyIG5l
dyB2YWx1ZSBub3cuCi0gICAgICAgIHJldHVybiBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUo
cXVhZC5yZWxlYXNlKCkpOworICAgICAgICByZXR1cm4gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgp
LT5jcmVhdGVWYWx1ZShxdWFkLnJlbGVhc2UoKSk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIENT
U1ZhbHVlUG9vbCogbV9jc3NWYWx1ZVBvb2w7CisgICAgQ1NTUGFyc2VyKiBtX3BhcmVudDsKIAog
ICAgIGJvb2wgbV9hbGxvd051bWJlcjsKICAgICBib29sIG1fYWxsb3dGaW5hbENvbW1pdDsKQEAg
LTU2ODYsNyArNTc2OSw3IEBAIHByaXZhdGU6CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRl
ckltYWdlUXVhZChVbml0cyB2YWxpZFVuaXRzLCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+JiBy
ZXN1bHQpCiB7Ci0gICAgQm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0IGNvbnRleHQoY3NzVmFs
dWVQb29sKCkpOworICAgIEJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dCBjb250ZXh0KHRoaXMp
OwogICAgIENTU1BhcnNlclZhbHVlKiB2YWw7CiAgICAgd2hpbGUgKCh2YWwgPSBtX3ZhbHVlTGlz
dC0+Y3VycmVudCgpKSkgewogICAgICAgICBpZiAoY29udGV4dC5hbGxvd051bWJlcigpICYmICh2
YWxpZFVuaXQodmFsLCB2YWxpZFVuaXRzLCB0cnVlKSB8fCB2YWwtPmlkID09IENTU1ZhbHVlQXV0
bykpIHsKQEAgLTcyMjIsNiArNzMwNSwyMyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VGb250RmVh
dHVyZVNldHRpbmdzKGJvb2wgaW1wb3J0YW50KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9v
bCBDU1NQYXJzZXI6OnBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIENhbGNQZXJtaXR0
ZWRWYWx1ZVJhbmdlIHJhbmdlKSAKK3sKKyAgICBBU1NFUlQoaXNDYWxjTWluTWF4KHZhbHVlKSk7
CisgICAgCisgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzID0gdmFsdWUtPmZ1bmN0aW9uLT5h
cmdzLmdldCgpOworICAgIGlmICghYXJncyB8fCAhYXJncy0+c2l6ZSgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBBU1NFUlQoIW1fcGFyc2VkQ2FsYyk7CisgICAgbV9wYXJzZWRDYWxj
ID0gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCBhcmdzLCByYW5n
ZSk7CisgICAgCisgICAgaWYgKCFtX3BhcnNlZENhbGMpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyAgICAKIHN0YXRpYyBpbmxpbmUgaW50IHl5ZXJy
b3IoY29uc3QgY2hhciopIHsgcmV0dXJuIDE7IH0KIAogI2RlZmluZSBFTkRfVE9LRU4gMApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5oCmluZGV4IGFkYzE5MDI1YWYwZWZmZmFhZjQxOWU4MTRmZDVjMTE5M2M4
N2I2YjcuLjkwNzQ1Zjc0MzIyMGJkYTQ0NDI3NzA2NDRhZmYyNGI4OTE0YjIyOTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgKQEAgLTIzLDYgKzIzLDcgQEAKICNpZm5kZWYgQ1NTUGFyc2VyX2gKICNk
ZWZpbmUgQ1NTUGFyc2VyX2gKIAorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0dyYWRpZW50VmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJWYWx1ZXMuaCIKICNpbmNs
dWRlICJDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCIKQEAgLTIxMSw2ICsyMTIsNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCBwYXJzZVRleHRFbXBoYXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KTsKIAogICAg
IGJvb2wgcGFyc2VMaW5lQm94Q29udGFpbihib29sIGltcG9ydGFudCk7CisgICAgYm9vbCBwYXJz
ZUNhbGMoQ1NTUGFyc2VyVmFsdWUqLCBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSk7CiAKICAgICBi
b29sIHBhcnNlRm9udEZlYXR1cmVUYWcoQ1NTVmFsdWVMaXN0Kik7CiAgICAgYm9vbCBwYXJzZUZv
bnRGZWF0dXJlU2V0dGluZ3MoYm9vbCBpbXBvcnRhbnQpOwpAQCAtMzIwLDYgKzMyMiw5IEBAIHB1
YmxpYzoKICAgICB2b2lkIGNvdW50TGluZXMoKTsKICAgICBpbnQgbGV4KCk7CiAKKyAgICBQYXNz
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUoQ1NT
UGFyc2VyVmFsdWUqKTsKKyAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQ
cmltaXRpdmVTdHJpbmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOworICAgICAgICAKIHByaXZhdGU6
CiAgICAgdm9pZCBzZXRTdHlsZVNoZWV0KENTU1N0eWxlU2hlZXQqKTsKICAgICB2b2lkIGVuc3Vy
ZUNTU1ZhbHVlUG9vbCgpOwpAQCAtMzg2LDYgKzM5MSw4IEBAIHByaXZhdGU6CiAgICAgVmVjdG9y
PE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiBtX3JldXNhYmxlU2VsZWN0b3JWZWN0b3I7CiAg
ICAgVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiBtX3JldXNhYmxlUmVnaW9uU2Vs
ZWN0b3JWZWN0b3I7CiAKKyAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBtX3BhcnNlZENhbGM7CisK
ICAgICAvLyBkZWZpbmVzIHVuaXRzIGFsbG93ZWQgZm9yIGEgY2VydGFpbiBwcm9wZXJ0eSwgdXNl
ZCBpbiBwYXJzZVVuaXQKICAgICBlbnVtIFVuaXRzIHsKICAgICAgICAgRlVua25vd24gICA9IDB4
MDAwMCwKQEAgLTQwNSwxMyArNDEyLDE4IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxVbml0cz4oc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGEpIHwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KGIpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgYm9vbCB2YWxpZFVuaXQoQ1NTUGFyc2Vy
VmFsdWUqLCBVbml0cywgYm9vbCBzdHJpY3QpOworICAgIGJvb2wgdmFsaWRVbml0KENTU1BhcnNl
clZhbHVlKiwgVW5pdHMsIGJvb2wgc3RyaWN0KTsKIAogICAgIGJvb2wgcGFyc2VCb3JkZXJJbWFn
ZVF1YWQoVW5pdHMsIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4mKTsKLQotICAgIFBhc3NSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZShDU1NQYXJz
ZXJWYWx1ZSopOwotICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1p
dGl2ZVN0cmluZ1ZhbHVlKENTU1BhcnNlclZhbHVlKik7Ci0KKyAgICBpbnQgY29sb3JJbnRGcm9t
VmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKKworICAgIGVudW0gUmVsZWFzZVBhcnNlZENhbGNWYWx1
ZUNvbmRpdGlvbiB7CisgICAgICAgIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUsCisgICAgICAgIERv
Tm90UmVsZWFzZVBhcnNlZENhbGNWYWx1ZQorICAgIH07ICAgIAorICAgIGRvdWJsZSBwYXJzZWRE
b3VibGUoQ1NTUGFyc2VyVmFsdWUqLCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlQ29uZGl0aW9uIHJl
bGVhc2VDYWxjID0gRG9Ob3RSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKTsKKyAgICBib29sIGlzQ2Fs
Y01pbk1heChDU1NQYXJzZXJWYWx1ZSopOworICAgIAogICAgIGZyaWVuZCBjbGFzcyBUcmFuc2Zv
cm1PcGVyYXRpb25JbmZvOwogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBmcmllbmQgY2xh
c3MgRmlsdGVyT3BlcmF0aW9uSW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCmluZGV4IDRjZWZk
YmM1YzI1MmMyOTZkOTg4NTQxOGU4OTI4OWRlOTE1MzU4ZGMuLmIxNGM0MjVlOWFiMzc5YzhjNmNl
ZWU1NjZhMGNlNWRmMzA3MjExZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogI2luY2x1ZGUgIkNTU0FzcGVjdFJhdGlvVmFsdWUuaCIKICNpbmNsdWRlICJDU1NC
b3JkZXJJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmgi
CisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2FudmFzVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NDcm9zc2ZhZGVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdl
VmFsdWUuaCIKQEAgLTE0Nyw2ICsxNDgsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBj
b25zdAogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTTGluZUJveENvbnRhaW5W
YWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CiAgICAgY2FzZSBGbGV4Q2xhc3M6CiAgICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NGbGV4VmFsdWUqPih0aGlzKS0+Y3VzdG9t
Q3NzVGV4dCgpOworICAgIGNhc2UgQ2FsY0NsYXNzOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8Y29uc3QgQ1NTQ2FsY1ZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKICNpZiBFTkFC
TEUoQ1NTX0ZJTFRFUlMpCiAgICAgY2FzZSBXZWJLaXRDU1NGaWx0ZXJDbGFzczoKICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU0ZpbHRlclZhbHVlKj4odGhpcyktPmN1
c3RvbUNzc1RleHQoKTsKQEAgLTI1MCw2ICsyNTMsOSBAQCB2b2lkIENTU1ZhbHVlOjpkZXN0cm95
KCkKICAgICBjYXNlIEZsZXhDbGFzczoKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PENTU0Zs
ZXhWYWx1ZSo+KHRoaXMpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBDYWxjQ2xhc3M6Cisg
ICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxDU1NDYWxjVmFsdWUqPih0aGlzKTsKKyAgICAgICAg
cmV0dXJuOwogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBjYXNlIFdlYktpdENTU0ZpbHRl
ckNsYXNzOgogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTRmlsdGVyVmFsdWUq
Pih0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggY2U5NTM2OWFiYzBkNTY1N2ZiZTFjMDE3
OTg0OGRjNjE3ZGM2OWUyYi4uYTY4MGJhZDVkOTE1M2QzYmJkZWZhZWIyY2MzYjI0NWU2MTFhZDhi
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTc3LDYgKzc3LDcgQEAgcHVibGljOgogICAgIGJv
b2wgaXNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBl
ID09IFdlYktpdENTU1RyYW5zZm9ybUNsYXNzOyB9CiAgICAgYm9vbCBpc0NTU0xpbmVCb3hDb250
YWluVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBMaW5lQm94Q29udGFpbkNs
YXNzOyB9CiAgICAgYm9vbCBpc0ZsZXhWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBl
ID09IEZsZXhDbGFzczsgfQorICAgIGJvb2wgaXNDYWxjVmFsdWUoKSBjb25zdCB7cmV0dXJuIG1f
Y2xhc3NUeXBlID09IENhbGNDbGFzczsgfQogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBi
b29sIGlzV2ViS2l0Q1NTRmlsdGVyVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9
PSBXZWJLaXRDU1NGaWx0ZXJDbGFzczsgfQogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKQEAgLTEy
OCw2ICsxMjksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIFVuaWNvZGVSYW5nZUNsYXNzLAogICAg
ICAgICBMaW5lQm94Q29udGFpbkNsYXNzLAogICAgICAgICBGbGV4Q2xhc3MsCisgICAgICAgIENh
bGNDbGFzcywKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpICYmIEVOQUJMRShDU1NfU0hBREVSUykK
ICAgICAgICAgV2ViS2l0Q1NTU2hhZGVyQ2xhc3MsCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TVkdDU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NT
U1BhcnNlci5jcHAKaW5kZXggZGQ3MzhmYjNjM2VhZjc1NTRiMWQwYjI1ZjVjZThiNzg1ODFkMjA1
OC4uNzUwMjIwNWMwNWQ4YmM0ZmExZmM5NTYzZjFhMjQ1NzdhMGY2ZTY1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1NWR0NTU1BhcnNlci5jcHAKQEAgLTMxNCw2ICszMTQsMTIgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlU1ZHVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAgICBw
YXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUodmFsdWUtPmZWYWx1ZSwgKENT
U1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpIHZhbHVlLT51bml0KTsKICAgICAgICAgZWxzZSBp
ZiAodmFsdWUtPnVuaXQgPj0gQ1NTUGFyc2VyVmFsdWU6OlFfRU1TKQogICAgICAgICAgICAgcGFy
c2VkVmFsdWUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlQWxsb3dpbmdNYXJnaW5RdWlyayh2
YWx1ZS0+ZlZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUyk7CisgICAgICAgIGlmIChp
c0NhbGNNaW5NYXgodmFsdWUpKSB7CisgICAgICAgICAgICAvLyBGSVhNRSBjYWxjKCkgaHR0cDov
L3dlYmtpdC5vcmcvYi8xNjY2MiA6IGFjdHVhbGx5IGNyZWF0ZSBhIENTU1ByaW1pdGl2ZVZhbHVl
IGhlcmUsIGllCisgICAgICAgICAgICAvLyBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUobV9wYXJzZWRDYWxjLnJlbGVhc2UoKSk7CisgICAgICAgICAgICBtX3BhcnNlZENh
bGMucmVsZWFzZSgpOworICAgICAgICAgICAgcGFyc2VkVmFsdWUgPSAwOworICAgICAgICB9CiAg
ICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgfQogICAgIGlmICghcGFyc2VkVmFsdWUg
fHwgKG1fdmFsdWVMaXN0LT5jdXJyZW50KCkgJiYgIWluU2hvcnRoYW5kKCkpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGU4YTBjYTEwY2IxOTk2MjM5MDRm
YjA3NDNkMWE0MTZjMWU2YTg1NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NhbGNWYWx1ZS5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJDYWxjVmFsdWUuaCIKKworI2luY2x1ZGUgPGxpbWl0cz4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCisgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQ2FsY1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjI5MjI4MGU4Yzc4ODIwYWJiM2QzNjM3MWM1Mzg1
MDdhNWZjMWU0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nh
bGNWYWx1ZS5oCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENhbGNWYWx1ZV9oCisjZGVmaW5lIENh
bGNWYWx1ZV9oCisKKyNpbmNsdWRlICJMZW5ndGguaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVt
IENhbGNPcGVyYXRvciB7CisgICAgQ2FsY0FkZCA9ICcrJywKKyAgICBDYWxjU3VidHJhY3QgPSAn
LScsCisgICAgQ2FsY011bHRpcGx5ID0gJyonLAorICAgIENhbGNEaXZpZGUgPSAnLycsCisgICAg
Q2FsY01vZCA9ICclJworfTsKKworZW51bSBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSB7CisgICAg
Q2FsY1JhbmdlQWxsLAorICAgIENhbGNSYW5nZU5vbk5lZ2F0aXZlCit9OworCitlbnVtIENhbGNM
aXN0VHlwZSB7CisgICAgQ2FsY01pbiwKKyAgICBDYWxjTWF4LCAKK307CisgICAgCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDYWxjVmFsdWVfaApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNkMTM5YjQ1
OGFlYTFlZThhNDdhNDRmYWVjYTJkNTJmYzg4ODBiYTIuLjYzNzY0NDQ2M2ZiNTVhYTM5NzBiOTE4
MzRiMGQ2YjNmZjU4OWMwYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MiBAQAorMjAxMS0xMi0yMiAgTWlr
ZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBjYWxj
IHBhcnNpbmcgc3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3MDgyCisKKyAgICAgICAgTm90ZSB0aGF0IHRoZXNlIHRlc3RzIGFyZSBleHBlY3Rl
ZCB0byAnZmFpbCcsIGFzIGNhbGMgaXMgbm90IHlldAorICAgICAgICBwcm9kdWNpbmcgdmFsdWVz
LiBUaGV5IHNob3cgdGhhdCBjYWxjIGlzIG5vdCBjcmFzaGluZyBkdXJpbmcgcGFyc2luZy4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzczMvY2Fs
Yy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmctZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRk
ZWQuCisgICAgICAgICogY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvYmxvY2stbWFzay1vdmVybGF5LWltYWdlLW91
dHNldC1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMv
YmxvY2stbWFzay1vdmVybGF5LWltYWdlLW91dHNldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
c3MzL2NhbGMvYm9yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxj
L2JvcmRlci1yYWRpdXMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3NzMy9jYWxjL2JvcmRlci1yYWRpdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxj
L2JvcmRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxj
L2JvcmRlci1zcGFjaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3JkZXIu
aHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2NvbG9yLWhzbC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jb2xvci1oc2wuaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL2NvbG9yLXJnYi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGNzczMvY2FsYy9jb2xvci1yZ2IuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2Nz
czMtcmFkaWFsLWdyYWRpZW50cy1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NhbGMvY3NzMy1yYWRpYWwtZ3JhZGllbnRzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvY2FsYy9mb250LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9j
YWxjL2ZvbnQtbW9ub3NwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9j
YWxjL2ZvbnQtbW9ub3NwYWNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9mb250
LXNpemUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZm9udC1zaXpl
LWZyYWN0aW9uYWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZm9u
dC1zaXplLWZyYWN0aW9uYWwuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2ZvbnQt
c2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZm9udC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBjc3MzL2NhbGMvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9nZXRDb21wdXRlZFN0eWxl
LW1hcmdpbi1wZXJjZW50YWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ncmFk
aWVudC1jb2xvci1zdG9wcy1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBjc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3NzMy9jYWxjL2ltZy1zaXplLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvY2FsYy9pbWctc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMv
bGluZS1oZWlnaHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbGlu
ZS1oZWlnaHQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL21hcmdpbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9tYXJnaW4uaHRtbDogQWRkZWQuCisg
ICAgICAgICogY3NzMy9jYWxjL3BhZGRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjc3MzL2NhbGMvcGFkZGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvcmVm
bGVjdGlvbi1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNz
czMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNzczMvY2FsYy9yZXNvdXJjZXMvYWxwaGEtZ3JhZGllbnQucG5nOiBBZGRlZC4KKyAgICAgICAg
KiBjc3MzL2NhbGMvcmVzb3VyY2VzL2RpYW1vbmQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3Mz
L2NhbGMvcmVzb3VyY2VzL21hc2sucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvcmVz
b3VyY2VzL3JpbmcucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvc2ltcGxlLWNvbXBv
c2l0ZWQtbWFzay1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3Mz
L2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3Mz
L2NhbGMvdGFibGUtY2FsY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Nh
bGMvdGFibGUtY2FsY3MuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3RhYmxlLWVt
cHR5LWNlbGxzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMv
Y2FsYy90YWJsZS1lbXB0eS1jZWxscy5odG1sOiBBZGRlZC4KKwogMjAxMi0wMS0wMyAgQWRyaWVu
bmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gU3VwcG9y
dCBSVEwgcGFnZXMgYW5kIGVsZW1lbnRzIGluIHRoZSBjb21wb3NpdG9yCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5nLWV4cGVjdGVk
LW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlv
bi1wYXJzaW5nLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM5YjI2OTcwN2M2
Mjk1MDRmMzdjOWI2Y2Q1MDc0NDE0YjQyMDEwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmctZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbApAQCAtMCwwICsxLDEzNyBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0Mv
L0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0
ZCI+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgPHRpdGxlPkNTUyBUZXN0OiBDU1MgYmFj
a2dyb3VuZCBwb3NpdGlvbjogcGFyc2luZzwvdGl0bGU+CisgIDxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iSWFuIEhpY2tzb24iIGhyZWY9Im1haWx0bzppYW5AaGl4aWUuY2giPgorICA8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxL2NvbG9ycy5odG1sI2Jh
Y2tncm91bmQiPgorICA8bWV0YSBuYW1lPSJmbGFncyIgY29udGVudD0iaW52YWxpZCI+CisgIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAuY2FzZSB7IGZsb2F0OiBsZWZ0OyBib3JkZXI6IHNv
bGlkOyBtYXJnaW46IDAuMmVtOyB6b29tOjAuNSB9IC8qIDE1MCB4IDEwMCAqLworICAgLnRlc3Qg
eyBiYWNrZ3JvdW5kOiAjRkZGRkNDIHVybChyZXNvdXJjZXMvcmluZy5wbmcpIG5vLXJlcGVhdDsg
cGFkZGluZzogMTZweDsgfQorICAgLmNvbnRyb2wgeyB3aWR0aDogMTE4cHg7IGhlaWdodDogNjhw
eDsgYmFja2dyb3VuZDogdXJsKHJlc291cmNlcy9kaWFtb25kLnBuZykgbm8tcmVwZWF0OyB9CisK
KyAgIC5hIC5jb250cm9sLCAuYiAuY29udHJvbCwgLmMgLmNvbnRyb2wsIC5kIC5jb250cm9sLCAu
ZSAuY29udHJvbCwgLmYgLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7
IH0KKyAgIC5jYXNlLmEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207
IH0KKyAgIC5jYXNlLmIgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7
IH0KKyAgIC5jYXNlLmMgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIGJvdHRvbTsg
fQorICAgLmNhc2UuZCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwMCU7IH0K
KyAgIC5jYXNlLmUgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDU4cHg7IH0KKyAg
IC5jYXNlLmYgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDhweCAxMDAlOyB9CisKKyAg
IC5nIC5jb250cm9sLCAuaCAuY29udHJvbCwgLmkgLmNvbnRyb2wsIC5qIC5jb250cm9sLCAuayAu
Y29udHJvbCwgLmwgLmNvbnRyb2wsIC5tIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
NTRweCAyOHB4OyB9CisgICAuY2FzZS5nIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2Vu
dGVyIGNlbnRlcjsgfQorICAgLmNhc2UuaCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUw
JSA1MCU7IH0KKyAgIC5jYXNlLmkgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIg
NTAlOyB9CisgICAuY2FzZS5qIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIGNlbnRl
cjsgfQorICAgLmNhc2UuayAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJTsgfQorICAg
LmNhc2UubCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfQorICAgLmNhc2Uu
bSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDU0cHg7IH0KKworICAgLm4gLmNvbnRyb2ws
IC5vIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTRweCA1NnB4OyB9CisgICAuY2Fz
ZS5uIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjsgfQorICAgLmNh
c2UubyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207IH0KKworICAg
LnAgLmNvbnRyb2wsIC5xIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTA4cHggMjhw
eDsgfQorICAgLmNhc2UucCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRl
cjsgfQorICAgLmNhc2UucSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdo
dDsgfQorCisgICAuciAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDsg
fQorICAgLmNhc2UucjAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7IH0K
KyAgIC5jYXNlLnIxIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMDsgfQorICAg
LmNhc2UucjIgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwcHg7IH0KKyAgIC5j
YXNlLnIzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMCU7IH0KKyAgIC5jYXNl
LnI0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSB0b3A7IH0KKyAgIC5jYXNlLnI1
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwOyB9CisgICAuY2FzZS5yNiAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMHB4OyB9CisgICAuY2FzZS5yNyAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMCU7IH0KKyAgIC5jYXNlLnI4IC50ZXN0IHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogMTA4cHggdG9wOyB9CisgICAuY2FzZS5yOSAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IDEwOHB4IDA7IH0KKyAgIC5jYXNlLnIxMCAudGVzdCB7IGJhY2tncm91
bmQtcG9zaXRpb246IDEwOHB4IDBweDsgfQorICAgLmNhc2UucjExIC50ZXN0IHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogMTA4cHggMCU7IH0KKworICAgLm5lZ2F0aXZlIC5jb250cm9sIHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogMCUgMCU7IH0KKyAgIC5uZWdhdGl2ZTMgLmNvbnRyb2wgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9IC8qIENTUzMgYmFja2dyb3VuZCBzdXBwb3J0cyBjb21t
YSAqLworICAgLmNhc2UudDEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0
b20gYm90dG9tOyB9CisgICAuY2FzZS50MiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJv
dHRvbSByaWdodCBib3R0b207IH0KKyAgIC5jYXNlLnQzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogYm90dG9tIDEwMCU7IH0KKyAgIC5jYXNlLnQ0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogMTAwJSByaWdodDsgfQorICAgLmNhc2UudDUgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiBib3R0b20gOHB4OyB9CisgICAuY2FzZS50NiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IDIzcHggcmlnaHQ7IH0KKyAgIC5jYXNlLnQ3IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogY2VudGVyIDUwJSBjZW50ZXI7IH0KKyAgIC5jYXNlLnQ4IC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogNTAlIDUwJSA1MCU7IH0KKyAgIC5jYXNlLnQ5IC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogY2VudGVyIDUwJSA1MCU7IH0KKyAgIC5jYXNlLnQxMCAudGVzdCB7IGJhY2tncm91
bmQtcG9zaXRpb246IDUwJSwgMTAwJTsgfSAvKiBDU1MzIGJhY2tncm91bmQgc3VwcG9ydHMgY29t
bWEgKi8KKyAgICAgIC8qIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoZSBjb21tYSBlaXRoZXIgaXMK
KyAgICAgICAgICAgYSkgaW52YWxpZCBwZXIgQ1NTMi4xCisgICAgICAgICAgIGIpIGhhbmRsZWQg
Y29ycmVjdGx5IHBlciBDU1MzCisgICAgICAgICBhbmQgTk9UIHBhcnNlZCBhcyBhIHZhbGlkIHNl
cGFyYXRvciBvZiB4IGFuZCB5IG9mZnNldHMuICovCisgICAuY2FzZS50MTEgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiBib3R0b20gNTRweDsgfQorICAgLmNhc2UudDEyIC50ZXN0IHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogNTAgNTAlOyB9CisgICAuY2FzZS50MTMgLnRlc3QgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiBib3R0b20gMTAwOyB9CisgICAuY2FzZS50MTQgLnRlc3QgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiByaWdodGJvdHRvbTsgfQorICAgLmNhc2UudDE1IC50ZXN0IHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogMCByaWdodDsgfQorICAgLmNhc2UudDE2IC50ZXN0IHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogMHB4IHJpZ2h0OyB9CisgICAuY2FzZS50MTcgLnRlc3QgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAwJSByaWdodDsgfQorICAgLmNhc2UudDE4IC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogdG9wIDEwMCU7IH0KKyAgIC5jYXNlLnQxOSAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IHRvcCAxMDhweDsgfQorICAgLmNhc2UudDIwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogdG9wIHRvcDsgfQorICAgLmNhc2UudDIxIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogbGVmdCByaWdodDsgfQorICAgLmNhc2UudDIyIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogbGVmdCBsZWZ0OyB9CisgIDwvc3R5bGU+CisgPC9oZWFkPgorPGJvZHk+CisgIDxwPkluIGFs
bCB0aGUgZm9sbG93aW5nIGJveGVzLCB0aGUgZnVjaHNpYSBkaWFtb25kIHNob3VsZCBiZSBzdXJy
b3VuZGVkIGJ5IGEgcmluZy48L3A+CisgIDxkaXYgY2xhc3M9ImNhc2UgYSI+PGRpdiBjbGFzcz0i
dGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xh
c3M9ImNhc2UgYiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgYyI+PGRpdiBjbGFzcz0idGVzdCI+PGRp
diBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2Ug
ZCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZiI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgZyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgaCI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgaSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgaiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBj
bGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgayI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgbCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbSI+PGRpdiBjbGFz
cz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYg
Y2xhc3M9ImNhc2UgbiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbyI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgcCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgcSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMCI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMiI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgciByMyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNCI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgciByNSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJv
bCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNiI+PGRpdiBjbGFz
cz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYg
Y2xhc3M9ImNhc2UgciByNyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByOCI+PGRpdiBjbGFzcz0i
dGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xh
c3M9ImNhc2UgciByOSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMTAiPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIG5lZ2F0aXZlIHQxIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9s
Ij48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MiI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDMiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0
aXZlIHQ0Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rp
dj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0NSI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgbmVnYXRpdmUgdDYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ3Ij48ZGl2
IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAg
PGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0OCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRp
dmUgdDkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIG5lZ2F0aXZlMyB0MTAiPjxkaXYg
Y2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxMSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRp
dmUgdDEyIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rp
dj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTMiPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIG5lZ2F0aXZlIHQxNCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJv
bCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE1Ij48
ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4K
KyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5l
Z2F0aXZlIHQxNyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE4Ij48ZGl2IGNsYXNz
PSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQy
MCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDIxIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48
ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2Fz
ZSBuZWdhdGl2ZSB0MjIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorIAorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQt
cG9zaXRpb24tcGFyc2luZy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQt
cG9zaXRpb24tcGFyc2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjMWU4NjgxYmU2MzgzMWY4NmQ2NGRj
MDRhYTU3NmQ4NmEzNGQ0M2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5nLmh0bWwKQEAgLTAsMCArMSwxMzcgQEAKKzwh
RE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93
d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+
CisgIDx0aXRsZT5DU1MgVGVzdDogQ1NTIGJhY2tncm91bmQgcG9zaXRpb246IHBhcnNpbmc8L3Rp
dGxlPgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IklhbiBIaWNrc29uIiBocmVmPSJtYWls
dG86aWFuQGhpeGllLmNoIj4KKyAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9DU1MyMS9jb2xvcnMuaHRtbCNiYWNrZ3JvdW5kIj4KKyAgPG1ldGEgbmFtZT0iZmxh
Z3MiIGNvbnRlbnQ9ImludmFsaWQiPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgLmNh
c2UgeyBmbG9hdDogbGVmdDsgYm9yZGVyOiBzb2xpZDsgbWFyZ2luOiAwLjJlbTsgem9vbTowLjUg
fSAvKiAxNTAgeCAxMDAgKi8KKyAgIC50ZXN0IHsgYmFja2dyb3VuZDogI0ZGRkZDQyB1cmwocmVz
b3VyY2VzL3JpbmcucG5nKSBuby1yZXBlYXQ7IHBhZGRpbmc6IC13ZWJraXQtY2FsYygxNnB4KTsg
fQorICAgLmNvbnRyb2wgeyB3aWR0aDogMTE4cHg7IGhlaWdodDogNjhweDsgYmFja2dyb3VuZDog
dXJsKHJlc291cmNlcy9kaWFtb25kLnBuZykgbm8tcmVwZWF0OyB9CisKKyAgIC5hIC5jb250cm9s
LCAuYiAuY29udHJvbCwgLmMgLmNvbnRyb2wsIC5kIC5jb250cm9sLCAuZSAuY29udHJvbCwgLmYg
LmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7IH0KKyAgIC5jYXNlLmEg
LnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207IH0KKyAgIC5jYXNlLmIg
LnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7IH0KKyAgIC5jYXNlLmMg
LnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMTAwJSkgYm90dG9tOyB9
CisgICAuY2FzZS5kIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLXdlYmtpdC1j
YWxjKDEwMCUpOyB9CisgICAuY2FzZS5lIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdl
YmtpdC1jYWxjKDEwMCUpIC13ZWJraXQtY2FsYyg1OHB4KTsgfQorICAgLmNhc2UuZiAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYyg1MCUgKyA1NHB4KSAtd2Via2l0LWNh
bGMoNTAlICsgMjlweCk7IH0KKworICAgLmcgLmNvbnRyb2wsIC5oIC5jb250cm9sLCAuaSAuY29u
dHJvbCwgLmogLmNvbnRyb2wsIC5rIC5jb250cm9sLCAubCAuY29udHJvbCwgLm0gLmNvbnRyb2wg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1NHB4IDI4cHg7IH0KKyAgIC5jYXNlLmcgLnRlc3QgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9CisgICAuY2FzZS5oIC50ZXN0IHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDUwJSkgLXdlYmtpdC1jYWxjKDUwJSk7
IH0KKyAgIC5jYXNlLmkgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLXdlYmtp
dC1jYWxjKDUwJSk7IH0KKyAgIC5jYXNlLmogLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAt
d2Via2l0LWNhbGMoNTAlKSBjZW50ZXI7IH0KKyAgIC5jYXNlLmsgLnRlc3QgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoNTAlKTsgfQorICAgLmNhc2UubCAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IGNlbnRlcjsgfQorICAgLmNhc2UubSAudGVzdCB7IGJhY2tncm91bmQt
cG9zaXRpb246IC13ZWJraXQtY2FsYyg1NHB4KTsgfQorCisgICAubiAuY29udHJvbCwgLm8gLmNv
bnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1NHB4IDU2cHg7IH0KKyAgIC5jYXNlLm4gLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyOyB9CisgICAuY2FzZS5vIC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsgfQorCisgICAucCAuY29u
dHJvbCwgLnEgLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDhweCAyOHB4OyB9Cisg
ICAuY2FzZS5wIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOyB9Cisg
ICAuY2FzZS5xIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0OyB9CisK
KyAgIC5yIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0OyB9CisgICAu
Y2FzZS5yMCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHRvcDsgfQorICAgLmNh
c2UucjEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwOyB9CisgICAuY2FzZS5y
MiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC13ZWJraXQtY2FsYygwcHgpOyB9
CisgICAuY2FzZS5yMyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC13ZWJraXQt
Y2FsYygwJSk7IH0KKyAgIC5jYXNlLnI0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdl
YmtpdC1jYWxjKDEwMCUpIHRvcDsgfQorICAgLmNhc2UucjUgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAtd2Via2l0LWNhbGMoMTAwJSkgMDsgfQorICAgLmNhc2UucjYgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMTAwJSkgLXdlYmtpdC1jYWxjKDBweCk7IH0K
KyAgIC5jYXNlLnI3IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEw
MCUpIC13ZWJraXQtY2FsYygwJSk7IH0KKyAgIC5jYXNlLnI4IC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwOHB4KSB0b3A7IH0KKyAgIC5jYXNlLnI5IC50ZXN0IHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwOHB4KSAwOyB9CisgICAuY2FzZS5y
MTAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMTA4cHgpIC13ZWJr
aXQtY2FsYygwcHgpOyB9CisgICAuY2FzZS5yMTEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiAtd2Via2l0LWNhbGMoMTA4cHgpIC13ZWJraXQtY2FsYygwJSk7IH0KKworICAgLm5lZ2F0aXZl
IC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7IH0KKyAgIC5uZWdhdGl2ZTMg
LmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9IC8qIENTUzMgYmFja2dy
b3VuZCBzdXBwb3J0cyBjb21tYSAqLworICAgLmNhc2UudDEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiByaWdodCBib3R0b20gYm90dG9tOyB9CisgICAuY2FzZS50MiAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodCBib3R0b207IH0KKyAgIC5jYXNlLnQzIC50ZXN0
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIC13ZWJraXQtY2FsYygxMDAlKTsgfQorICAg
LmNhc2UudDQgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMTAwJSkg
cmlnaHQ7IH0KKyAgIC5jYXNlLnQ1IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9t
IC13ZWJraXQtY2FsYyg4cHgpOyB9CisgICAuY2FzZS50NiAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IC13ZWJraXQtY2FsYygyM3B4KSByaWdodDsgfQorICAgLmNhc2UudDcgLnRlc3QgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLXdlYmtpdC1jYWxjKDUwJSkgY2VudGVyOyB9Cisg
ICAuY2FzZS50OCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYyg1MCUp
IC13ZWJraXQtY2FsYyg1MCUpIC13ZWJraXQtY2FsYyg1MCUpOyB9CisgICAuY2FzZS50OSAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0
LWNhbGMoNTAlKTsgfQorICAgLmNhc2UudDEwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
LXdlYmtpdC1jYWxjKDUwJSksIC13ZWJraXQtY2FsYygxMDAlKTsgfSAvKiBDU1MzIGJhY2tncm91
bmQgc3VwcG9ydHMgY29tbWEgKi8KKyAgICAgIC8qIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoZSBj
b21tYSBlaXRoZXIgaXMKKyAgICAgICAgICAgYSkgaW52YWxpZCBwZXIgQ1NTMi4xCisgICAgICAg
ICAgIGIpIGhhbmRsZWQgY29ycmVjdGx5IHBlciBDU1MzCisgICAgICAgICBhbmQgTk9UIHBhcnNl
ZCBhcyBhIHZhbGlkIHNlcGFyYXRvciBvZiB4IGFuZCB5IG9mZnNldHMuICovCisgICAuY2FzZS50
MTEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gLXdlYmtpdC1jYWxjKDU0cHgp
OyB9CisgICAuY2FzZS50MTIgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCAtd2Via2l0
LWNhbGMoNTAlKTsgfQorICAgLmNhc2UudDEzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
Ym90dG9tIDEwMDsgfQorICAgLmNhc2UudDE0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
cmlnaHRib3R0b207IH0KKyAgIC5jYXNlLnQxNSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246
IDAgcmlnaHQ7IH0KKyAgIC5jYXNlLnQxNiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13
ZWJraXQtY2FsYygwcHgpIHJpZ2h0OyB9CisgICAuY2FzZS50MTcgLnRlc3QgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMCUpIHJpZ2h0OyB9CisgICAuY2FzZS50MTggLnRlc3Qg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgLXdlYmtpdC1jYWxjKDEwMCUpOyB9CisgICAuY2Fz
ZS50MTkgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgLXdlYmtpdC1jYWxjKDEwOHB4
KTsgfQorICAgLmNhc2UudDIwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHRvcDsg
fQorICAgLmNhc2UudDIxIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCByaWdodDsg
fQorICAgLmNhc2UudDIyIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBsZWZ0OyB9
CisgIDwvc3R5bGU+CisgPC9oZWFkPgorPGJvZHk+CisgIDxwPkluIGFsbCB0aGUgZm9sbG93aW5n
IGJveGVzLCB0aGUgZnVjaHNpYSBkaWFtb25kIHNob3VsZCBiZSBzdXJyb3VuZGVkIGJ5IGEgcmlu
Zy48L3A+CisgIDxkaXYgY2xhc3M9ImNhc2UgYSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgYiI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgYyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJv
bCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZCI+PGRpdiBjbGFzcz0i
dGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xh
c3M9ImNhc2UgZSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgZiI+PGRpdiBjbGFzcz0idGVzdCI+PGRp
diBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2Ug
ZyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgaCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgaSI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgaiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgayI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgbCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBj
bGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbiI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgbyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgcCI+PGRpdiBjbGFz
cz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYg
Y2xhc3M9ImNhc2UgcSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMCI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgciByMSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMiI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgciByMyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNCI+PGRpdiBjbGFzcz0idGVzdCI+PGRp
diBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2Ug
ciByNSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByNiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBj
bGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciBy
NyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByOCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFz
cz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgciByOSI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgciByMTAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZl
IHQxIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MiI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgbmVnYXRpdmUgdDMiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ0Ij48ZGl2IGNs
YXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRp
diBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0NSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUg
dDYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ3Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48
ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2Fz
ZSBuZWdhdGl2ZSB0OCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDkiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIG5lZ2F0aXZlMyB0MTAiPjxkaXYgY2xhc3M9InRlc3QiPjxk
aXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNl
IG5lZ2F0aXZlIHQxMSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDEyIj48ZGl2IGNs
YXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRp
diBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTMiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZl
IHQxNCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE1Ij48ZGl2IGNsYXNzPSJ0ZXN0
Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0i
Y2FzZSBuZWdhdGl2ZSB0MTYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxNyI+PGRp
diBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE4Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNs
YXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdh
dGl2ZSB0MTkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQyMCI+PGRpdiBjbGFzcz0i
dGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xh
c3M9ImNhc2UgbmVnYXRpdmUgdDIxIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250
cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MjIi
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorIAorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFnZS1v
dXRzZXQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ibG9j
ay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjhjN2JjYzllODExOTRiMDRjZjMzMDUwNTU1Y2UwYTAyYmRmOTkzYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Ut
b3V0c2V0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGhlYWQ+Cis8
c3R5bGU+CisuYmxvY2tUZXN0IHsKKyAgICAgICAgIG1hcmdpbjogMjVweDsKKyAgICAgICAgIHBh
ZGRpbmc6IDUwcHg7CisgICAgICAgICBjb2xvcjp3aGl0ZTsKKwkgICAgIGJhY2tncm91bmQtY29s
b3I6bWFyb29uOworICAgICAgICAgLXdlYmtpdC1tYXNrLWJveC1pbWFnZTogdXJsKHJlc291cmNl
cy9tYXNrLnBuZykgNzUgNzUgNzUgNzUgLyBhdXRvIC8gMTAwcHggMDsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJibG9ja1Rlc3QiIHN0eWxlPSJoZWlnaHQ6
MCI+PGRpdiBzdHlsZT0iaGVpZ2h0OjQwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOmdyZXkiPlRoaXMg
Y29udGVudCBzaG91bGQgYmUgbWFza2VkIHdpdGggYSBzb2Z0IGdsb3cuPC9kaXY+PC9kaXY+Cis8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmxvY2stbWFzay1vdmVy
bGF5LWltYWdlLW91dHNldC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Jsb2NrLW1hc2st
b3ZlcmxheS1pbWFnZS1vdXRzZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTUwYzAyNjM0MmM4NmEwNzdh
MzNkYzI0NTRhMjIzNDE4NmQwOWZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFnZS1vdXRzZXQuaHRtbApAQCAtMCwwICsxLDE0
IEBACis8aGVhZD4KKzxzdHlsZT4KKy5ibG9ja1Rlc3QgeworICAgICAgICAgbWFyZ2luOiAyNXB4
OworICAgICAgICAgcGFkZGluZzogNTBweDsKKyAgICAgICAgIGNvbG9yOndoaXRlOworCSAgICAg
YmFja2dyb3VuZC1jb2xvcjptYXJvb247CisgICAgICAgICAtd2Via2l0LW1hc2stYm94LWltYWdl
OiB1cmwocmVzb3VyY2VzL21hc2sucG5nKSA3NSA3NSA3NSA3NSAvIGF1dG8gLyAtd2Via2l0LWNh
bGMoMTAwcHgpIDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBjbGFz
cz0iYmxvY2tUZXN0IiBzdHlsZT0iaGVpZ2h0OjAiPjxkaXYgc3R5bGU9ImhlaWdodDo0MDBweDsg
YmFja2dyb3VuZC1jb2xvcjpncmV5Ij5UaGlzIGNvbnRlbnQgc2hvdWxkIGJlIG1hc2tlZCB3aXRo
IGEgc29mdCBnbG93LjwvZGl2PjwvZGl2PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Ym9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTkwYjExZDg2NGNlM2Y5OWFlOTcwNDMy
OGZjYzQxZjc0YTA0MmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2JvcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUaGlzIGVsZW1lbnQgc2hvdWxk
IGhhdmUgYW4gb3ZlcmFsbCBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiB3cm9uZyB3aWR0
aCwgd3JvbmcgaGVpZ2h0CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgYm9yZGVy
IG9mIDI1IHBpeGVscy4gPT4gRkFJTDogd3Jvbmcgd2lkdGgKKworVGhpcyBlbGVtZW50IHNob3Vs
ZCBoYXZlIGEgcmlnaHQgYm9yZGVyIG9mIDI1IHBpeGVscy4gPT4gRkFJTDogd3Jvbmcgd2lkdGgK
KworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIGJvcmRlciBvZiAyNSBwaXhlbHMuID0+
IEZBSUw6IHdyb25nIGhlaWdodAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20g
Ym9yZGVyIG9mIDI1IHBpeGVscy4gPT4gRkFJTDogd3JvbmcgaGVpZ2h0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXJhZGl1cy1leHBlY3RlZC1taXNtYXRjaC5odG1s
IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1yYWRpdXMtZXhwZWN0ZWQtbWlzbWF0Y2gu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNmYyOWY1YTliMGYxNzgxNWU1NGVhMDZiNDAwMjU1NjI4NGViMzFh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1yYWRpdXMt
ZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDI2IEBACis8c3R5bGU+CitkaXYgewor
ICAgIHdpZHRoOjEwMHB4OworICAgIGhlaWdodDoxMDBweDsKKyAgICBib3JkZXI6IDJweCBzb2xp
ZCBibGFjazsKK30KKy5jb250cm9sIHsKKyAgICBib3JkZXItcmFkaXVzOjUwcHg7Cit9CisucGl4
ZWxzIHsKKyAgICBib3JkZXItcmFkaXVzOjUwcHg7Cit9CisucGVyY2VudCB7CisgICAgYm9yZGVy
LXJhZGl1czo1MCU7Cit9CisuYm90aCB7CisgICAgYm9yZGVyLXJhZGl1czo1MCU7Cit9Cis8L3N0
eWxlPgorCitUaGlzIHRlc3Qgc2hvdWxkIGhhdmUgZm91ciBjaXJjbGVzLgorCis8ZGl2IGNsYXNz
PSJjb250cm9sIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBpeGVscyI+PC9kaXY+Cis8ZGl2IGNsYXNz
PSJwZXJjZW50Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImJvdGgiPjwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1yYWRpdXMuaHRtbCBiL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9ib3JkZXItcmFkaXVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmJkOWJiOTA4ZmM3NTlmYjU3
ODUzZjg0MGMwMjJmMzE2NGEyNGVhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9ib3JkZXItcmFkaXVzLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPHN0eWxlPgorZGl2
IHsKKyAgICB3aWR0aDoxMDBweDsKKyAgICBoZWlnaHQ6MTAwcHg7CisgICAgYm9yZGVyOiAycHgg
c29saWQgYmxhY2s7Cit9CisuY29udHJvbCB7CisgICAgYm9yZGVyLXJhZGl1czo1MHB4OyAgICAK
K30KKy5waXhlbHMgeworICAgIGJvcmRlci1yYWRpdXM6LXdlYmtpdC1jYWxjKDUwcHgpOworfQor
LnBlcmNlbnQgeworICAgIGJvcmRlci1yYWRpdXM6LXdlYmtpdC1jYWxjKDUwJSk7Cit9CisuYm90
aCB7CisgICAgYm9yZGVyLXJhZGl1czotd2Via2l0LWNhbGMoMjUlICsgMjVweCk7Cit9Cis8L3N0
eWxlPgorCitUaGlzIHRlc3Qgc2hvdWxkIGhhdmUgZm91ciBjaXJjbGVzLgorCis8ZGl2IGNsYXNz
PSJjb250cm9sIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBpeGVscyI+PC9kaXY+Cis8ZGl2IGNsYXNz
PSJwZXJjZW50Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImJvdGgiPjwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZmFkZjNhMzBlMjUyNzMyNjU1MjlmOGZiYTMxZWFmNTliZmFhNWJhZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSBAQAorPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgNDE2LCBidXQgd2Fz
IDQ4LCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMjA1LCBidXQgd2FzIDI0CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbCBiL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhN2QyNzY3NjQ3YmEz
ODA0N2RmODdjYWVkNzRjMTFmYjg2YTI0OTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbApAQCAtMCwwICsxLDU5IEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxzdHlsZT4KK3RkIHsgdmVydGljYWwtYWxpZ246dG9wOyBwYWRkaW5nOiAwOyB3
aWR0aDotd2Via2l0LWNhbGMoNTBweCk7IGhlaWdodDotd2Via2l0LWNhbGMoNjBweCk7IGJhY2tn
cm91bmQtY29sb3I6Ymx1ZTsgYm9yZGVyOi13ZWJraXQtY2FsYygxcHgpIHNvbGlkIGJsYWNrIH0K
K3RhYmxlIHsgYm9yZGVyLXNwYWNpbmc6IC13ZWJraXQtY2FsYygxMHB4ICogMiArIDVweCk7IGJv
cmRlcjozcHggc29saWQgYmxhY2s7IHBvc2l0aW9uOnJlbGF0aXZlIH0KKzwvc3R5bGU+CisKKzx0
YWJsZSBpZD0ic3RpbXVsdXMiPgorICAgIDx0cj4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAg
IDx0ZD48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAg
ICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAg
ICAgPHRkPjwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciBpbm5lckJvcmRlciA9IDE7Cit2
YXIgb3V0ZXJCb3JkZXIgPSAzOwordmFyIGlubmVyV2lkdGggPSA1MCArIDIgKiBpbm5lckJvcmRl
cjsKK3ZhciBpbm5lckhlaWdodCA9IDYwICsgMiAqIGlubmVyQm9yZGVyOwordmFyIGJvcmRlclNw
YWNpbmcgPSAyNTsKK3ZhciByb3dzID0gMjsKK3ZhciBjb2x1bW5zID0gNTsKKwordmFyIGV4cGVj
dGVkV2lkdGggPSBpbm5lcldpZHRoICogY29sdW1ucyArIGJvcmRlclNwYWNpbmcgKiAoY29sdW1u
cyArIDEpICsgMiAqIG91dGVyQm9yZGVyOwordmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJIZWln
aHQgKiByb3dzICsgYm9yZGVyU3BhY2luZyAqIChyb3dzICsgMSkgKyAyICogb3V0ZXJCb3JkZXI7
CisKK3ZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0aW11bHVzIik7CisK
K3ZhciB3aWR0aCA9IGVsZW1lbnQub2Zmc2V0V2lkdGg7Cit2YXIgaGVpZ2h0ID0gZWxlbWVudC5v
ZmZzZXRIZWlnaHQ7CisKK3ZhciBlcnJvciA9IFtdOworaWYgKHdpZHRoICE9IGV4cGVjdGVkV2lk
dGgpCisgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVk
V2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7CitpZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVp
Z2h0KQorICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAiICsgZXhwZWN0
ZWRIZWlnaHQgKyAiLCBidXQgd2FzICIgKyBoZWlnaHQpOworCityZXN1bHQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CitpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICBlbGVtZW50
LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgcmVzdWx0LmlubmVySFRNTCAr
PSAiID0+IFBBU1MiOworfSBlbHNlIHsKKyAgICBlbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xv
ciA9ICJyZWQiOworICAgIHJlc3VsdC5pbm5lckhUTUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iu
am9pbigiLCAiKTsKK30KKzwvc2NyaXB0PiAgICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9ib3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMzkyNWQ1Yjk1MThkZDNiZjk1MzE0YWQzNjMxMGEwNjk1N2M4N2QyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci5odG1sCkBAIC0wLDAg
KzEsNzcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHN0eWxlPgorcCB7CisgICAgd2lkdGg6MjAwcHg7
IGhlaWdodDoxMjBweDsKK30KKy5zaW1wbGUtYWxsIHsKKyAgICBib3JkZXI6IC13ZWJraXQtY2Fs
YygxM3B4ICsgMTJweCkgc29saWQ7Cit9CisKKy5zaW1wbGUtbGVmdCB7CisgICAgYm9yZGVyLWxl
ZnQ6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCkgc29saWQ7Cit9Cisuc2ltcGxlLXJpZ2h0IHsK
KyAgICBib3JkZXItcmlnaHQ6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCkgc29saWQ7Cit9Cisu
c2ltcGxlLXRvcCB7CisgICAgYm9yZGVyLXRvcDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBz
b2xpZDsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAgICBib3JkZXItYm90dG9tOiAtd2Via2l0LWNh
bGMoMTNweCArIDEycHgpIHNvbGlkOworfQorPC9zdHlsZT4KKworPHAgY2xhc3M9InNpbXBsZS1h
bGwiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhbiBvdmVyYWxsIGJvcmRlciBvZiAyNSBwaXhl
bHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS1sZWZ0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YSBsZWZ0IGJvcmRlciBvZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS1yaWdodCI+
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgYm9yZGVyIG9mIDI1IHBpeGVscy48L3A+
Cis8cCBjbGFzcz0ic2ltcGxlLXRvcCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIGJv
cmRlciBvZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS1ib3R0b20iPlRoaXMgZWxl
bWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBib3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKworPHNj
cmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaW5uZXJXaWR0aCA9IDIwMDsKK3ZhciBpbm5l
ckhlaWdodCA9IDEyMDsKK3ZhciBib3JkZXIgPSAyNTsKKwordmFyIHRlc3RzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoInAiKTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgdGVzdHMubGVu
Z3RoOyArK2kpIHsKKyAgICB2YXIgZWx0ID0gdGVzdHNbaV07CisgICAgdmFyIHdpZHRoID0gZWx0
Lm9mZnNldFdpZHRoOworICAgIHZhciBoZWlnaHQgPSBlbHQub2Zmc2V0SGVpZ2h0OworCisgICAg
dmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldpZHRoOworICAgIHZhciBleHBlY3RlZEhlaWdodCA9
IGlubmVySGVpZ2h0OworCisgICAgc3dpdGNoIChlbHQuY2xhc3NOYW1lLnNwbGl0KCItIilbMV0p
IHsKKyAgICBjYXNlICJhbGwiOgorICAgICAgICBleHBlY3RlZFdpZHRoICs9IDIgKiBib3JkZXI7
CisgICAgICAgIGV4cGVjdGVkSGVpZ2h0ICs9IDIgKiBib3JkZXI7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgInRvcCI6CisgICAgY2FzZSAiYm90dG9tIjoKKyAgICAgICAgZXhwZWN0ZWRIZWln
aHQgKz0gYm9yZGVyOworICAgICAgICBicmVhazsKKyAgICBjYXNlICJsZWZ0IjoKKyAgICBjYXNl
ICJyaWdodCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGggKz0gYm9yZGVyOworICAgICAgICBicmVh
azsKKyAgICB9CisKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGggIT0gZXhwZWN0
ZWRXaWR0aCkKKyAgICAgICAgZXJyb3IucHVzaCgid3Jvbmcgd2lkdGgiKTsKKyAgICBpZiAoaGVp
Z2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAgICAgICBlcnJvci5wdXNoKCJ3cm9uZyBoZWlnaHQi
KTsKKworICAgIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOwor
ICAgIGlmIChlcnJvciA9PSAiIikgeworICAgICAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9y
ID0gImdyZWVuIjsKKyAgICAgICAgZWx0LmlubmVySFRNTCArPSAiID0+IFBBU1MiOworICAgIH0g
ZWxzZSB7CisgICAgICAgIGVsdC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAgICAg
ICAgZWx0LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIpOworICAg
IH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9y
LWhzbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItaHNsLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wNDc5YmJjYzE1OTI3MWM3M2IyY2Q0ZjQ5OTMxZjczOGI1MmNh
OWFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBi
ZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUg
Y29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorUEFTUwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sIGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2NvbG9yLWhzbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4M2JmZjBlMWFlN2YwMjM1MWIwMmNl
OGQwNmFhMGQ0NGIzYzllNDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvY29sb3ItaHNsLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPHN0eWxlIHR5cGU9InRleHQvY3Nz
Ij4KK2RpdiB7Y29sb3I6IHJlZDt9CisjY29udHJvbHNpbXBsZSB7Y29sb3I6IGhzbCgxMjAsNzUl
LDUwJSk7fQorI3NpbXBsZSB7Y29sb3I6IGhzbCgtd2Via2l0LWNhbGMoMTIwKSwtd2Via2l0LWNh
bGMoNzUlKSwtd2Via2l0LWNhbGMoNTAlKSk7fQorCisjY29udHJvbGFscGhhIHtjb2xvcjogaHNs
YSgxMjAsNzUlLDUwJSwwLjcpO30KKyNhbHBoYSB7Y29sb3I6IGhzbGEoLXdlYmtpdC1jYWxjKDEy
MCksLXdlYmtpdC1jYWxjKDc1JSksLXdlYmtpdC1jYWxjKDUwJSksIC13ZWJraXQtY2FsYygwLjcp
KTt9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJjb250cm9sc2ltcGxlIj5UaGVzZSB0d28gc2VudGVu
Y2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGRpdiBpZD0ic2ltcGxlIj5UaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGhyLz4KKzxk
aXYgaWQ9ImNvbnRyb2xhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNh
bWUgY29sb3I8L2Rpdj4KKzxkaXYgaWQ9ImFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3Vs
ZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGhyLz4KKzxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2
PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3Rlc3RzID0gWyJzaW1wbGUiLCAiYWxw
aGEiXTsKKwordmFyIHN1Y2Nlc3MgPSB0cnVlOworCitmb3IgKGkgPSAwOyBpIDwgdGVzdHMubGVu
Z3RoOyBpKyspIHsKKyAgICB2YXIgdGVzdCA9IHRlc3RzW2ldOworICAgIHZhciBleHBlY3RlZCA9
IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRyb2wiICsgdGVz
dCksIG51bGwpLmNvbG9yOworICAgIHZhciBhY3R1YWwgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKHRlc3QpLCBudWxsKS5jb2xvcjsKKyAgICBzdWNjZXNzID0gc3Vj
Y2VzcyAmJiAoYWN0dWFsID09IGV4cGVjdGVkKTsKK30KKwordmFyIHJlc3VsdHMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworaWYgKHN1Y2Nlc3MpIHsKKyAgICByZXN1bHRz
LnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsK
K30gZWxzZSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3VsdHMu
aW5uZXJIVE1MID0gIkZBSUwiOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9jb2xvci1yZ2ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlY2MwMGQwMmE3MjBiNzAwMWRh
OWEzZWM4Mzc5N2I4NjJhMzI2NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1RoZXNlIHR3byBz
ZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNo
b3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhl
IHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9y
CitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdv
IHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMg
c2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0
aGUgc2FtZSBjb2xvcgorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Nv
bG9yLXJnYi5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjg4MDI5YTg3MGFhMTI2M2ZlZDE1MzY5Nzk4YTJkMGE2YjZjNjQzZjAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLmh0bWwKQEAgLTAsMCAr
MSw1MyBAQAorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2RpdiB7Y29sb3I6IHJlZDt9CisjY29u
dHJvbHNpbXBsZSB7Y29sb3I6IHJnYigxMCwxODAsMzApO30KKyNzaW1wbGUge2NvbG9yOiByZ2Io
LXdlYmtpdC1jYWxjKDEwKSwtd2Via2l0LWNhbGMoMTggKiAxMCksLXdlYmtpdC1jYWxjKDMwKSk7
fQorI2NvbnRyb2xwZXJjZW50c2ltcGxlIHtjb2xvcjogcmdiKDEwJSw5NSUsMzAlKTt9CisjcGVy
Y2VudHNpbXBsZSB7Y29sb3I6IHJnYigtd2Via2l0LWNhbGMoMiUgKyA4JSksLXdlYmtpdC1jYWxj
KDk1JSksLXdlYmtpdC1jYWxjKDMlICogMTApKTt9CisKKyNjb250cm9sYWxwaGEge2NvbG9yOiBy
Z2JhKDEwLDE4MCwzMCwwLjcpO30KKyNhbHBoYSB7Y29sb3I6IHJnYmEoLXdlYmtpdC1jYWxjKDEw
KSwtd2Via2l0LWNhbGMoMTgwKSwtd2Via2l0LWNhbGMoMzApLCAtd2Via2l0LWNhbGMoMC4zNSAq
IDIpKTt9CisjY29udHJvbHBlcmNlbnRhbHBoYSB7Y29sb3I6IHJnYmEoMTAlLDk1JSwzMCUsMC43
KTt9CisjcGVyY2VudGFscGhhIHtjb2xvcjogcmdiYSgtd2Via2l0LWNhbGMoMiAqIDUlKSwtd2Vi
a2l0LWNhbGMoMTAwJSAtIDUlKSwtd2Via2l0LWNhbGMoMzAlKSwtd2Via2l0LWNhbGMoMC4yICog
MyArIDAuMSkpO30KKzwvc3R5bGU+CisKKzxkaXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNlIHR3
byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJzaW1w
bGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8
aHIvPgorPGRpdiBpZD0iY29udHJvbHBlcmNlbnRzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMg
c2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJwZXJjZW50c2ltcGxlIj5U
aGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxoci8+
Cis8ZGl2IGlkPSJjb250cm9sYWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRo
ZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBz
aG91bGQgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJjb250cm9scGVy
Y2VudGFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29sb3I8
L2Rpdj4KKzxkaXYgaWQ9InBlcmNlbnRhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQg
IGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8aHIvPgorPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+
CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordGVzdHMgPSBbInNpbXBsZSIsICJhbHBo
YSJdOworCit2YXIgc3VjY2VzcyA9IHRydWU7CisKK2ZvciAoaSA9IDA7IGkgPCB0ZXN0cy5sZW5n
dGg7IGkrKykgeworICAgIHZhciB0ZXN0ID0gdGVzdHNbaV07CisgICAgdmFyIGV4cGVjdGVkc2lt
cGxlID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIg
KyB0ZXN0KSwgbnVsbCkuY29sb3I7CisgICAgdmFyIGFjdHVhbHNpbXBsZSA9IGdldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGVzdCksIG51bGwpLmNvbG9yOworICAgIHZh
ciBleHBlY3RlZHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250cm9scGVyY2VudCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7CisgICAgdmFyIGFjdHVh
bHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJj
ZW50IiArIHRlc3QpLCBudWxsKS5jb2xvcjsgICAgCisgICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYg
KGFjdHVhbHNpbXBsZSA9PSBleHBlY3RlZHNpbXBsZSkgJiYgKGFjdHVhbHBlcmNlbnQgPT0gZXhw
ZWN0ZWRwZXJjZW50KTsKK30KKwordmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicmVzdWx0cyIpOworaWYgKHN1Y2Nlc3MpIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0g
ImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7CisgICAg
cmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZB
SUwiOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY3Nz
My1yYWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvY3NzMy1yYWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWJjOTJlOGE2ZmViZTEwZWUzY2I3YmQ1ZDQ5MjAyOGNlZDViMDI1NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMt
ZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDcxIEBACis8IURPQ1RZUEUgaHRtbD4K
KworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVu
Ij4KKyAgICAuYm94IHsKKyAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgIGhlaWdo
dDogMTIwcHg7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgICBtYXJnaW46IDEwcHg7CisgICAg
ICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1y
ZXBlYXQ7CisgICAgfQorCisgICAgLmdyYWRpZW50MSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdl
OiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCg1MHB4IDUwJSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwg
d2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRp
ZW50KDUwcHggNTAlLCBjaXJjbGUgY2xvc2VzdC1zaWRlLCB3aGl0ZSwgYmxhY2spOworICAgIH0K
KyAgICAKKyAgICAuZ3JhZGllbnQyIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQt
cmFkaWFsLWdyYWRpZW50KDIwcHggNTBweCwgZWxsaXBzZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUs
IGJsYWNrKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KDIw
cHggNTBweCwgZWxsaXBzZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICB9CisK
KyAgICAuZ3JhZGllbnQzIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFs
LWdyYWRpZW50KDIwJSAyMCUsIGNpcmNsZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsK
KyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KDIwJSAyMCUsIGNp
cmNsZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICB9CisKKyAgICAuZ3JhZGll
bnQ0IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGxl
ZnQsIGNpcmNsZSBjb3ZlciwgcmVkLCBncmVlbiAzMCUsIGJsdWUpOworICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQobGVmdCwgY2lyY2xlIGNvdmVyLCByZWQsIGdy
ZWVuIDMwJSwgYmx1ZSk7CisgICAgfQorCisgICAgLmdyYWRpZW50NSB7CisgICAgICBiYWNrZ3Jv
dW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGNvdmVyLCByZWQsIGdy
ZWVuIDgwcHgsIGJsdWUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3Jh
ZGllbnQoZWxsaXBzZSBjb3ZlciwgcmVkLCBncmVlbiA4MHB4LCBibHVlKTsKKyAgICB9CisKKyAg
ICAuZ3JhZGllbnQ2IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdy
YWRpZW50KGNpcmNsZSBjb3ZlciwgcmVkIDIwJSwgZ3JlZW4sIGJsdWUgMTUwJSk7CisgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjaXJjbGUgY292ZXIsIHJlZCAy
MCUsIGdyZWVuLCBibHVlIDE1MCUpOworICAgIH0KKworICAgIC5ncmFkaWVudDcgeworICAgICAg
YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoMjAlIDIwJSwgY2lyY2xl
IGNsb3Nlc3QtY29ybmVyLCByZWQgLTUwJSwgZ3JlZW4sIGJsdWUgMTUwJSk7CisgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudCgyMCUgMjAlLCBjaXJjbGUgY2xvc2Vz
dC1jb3JuZXIsIHJlZCAtNTAlLCBncmVlbiwgYmx1ZSAxNTAlKTsKKyAgICB9CisKKyAgPC9zdHls
ZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICB2YXIgZHVtcFBpeGVs
cyA9IHRydWU7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQaXhl
bHMpOworICAgIH0KKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNz
PSJncmFkaWVudDEgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQyIGJveCI+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50MyBib3giPjwvZGl2PgorICA8YnI+CisgIDxkaXYg
Y2xhc3M9ImdyYWRpZW50NCBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDUgYm94
Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQ2IGJveCI+PC9kaXY+CisgIDxicj4KKyAg
PGRpdiBjbGFzcz0iZ3JhZGllbnQ3IGJveCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NzFlYjdjYzdkMmJlMjA3ZTRjYzY0Y2RjOGRkYWM3YjdhZjRmYTBjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NzczMtcmFkaWFsLWdyYWRpZW50cy5o
dG1sCkBAIC0wLDAgKzEsNzEgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgor
ICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAgIC5ib3ggeworICAg
ICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgaGVpZ2h0OiAxMjBweDsKKyAgICAgIHdp
ZHRoOiAyMDBweDsKKyAgICAgIG1hcmdpbjogMTBweDsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsYWNrOworICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICB9CisKKyAg
ICAuZ3JhZGllbnQxIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdy
YWRpZW50KC13ZWJraXQtY2FsYyg1MHB4KSAtd2Via2l0LWNhbGMoNTAlKSwgY2lyY2xlIGNsb3Nl
c3Qtc2lkZSwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFk
aWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYyg1MHB4KSAtd2Via2l0LWNhbGMoNTAlKSwgY2lyY2xl
IGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJsYWNrKTsKKyAgICB9CisgICAgCisgICAgLmdyYWRpZW50
MiB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgtd2Vi
a2l0LWNhbGMoMjBweCkgLXdlYmtpdC1jYWxjKDUwcHgpLCBlbGxpcHNlIGNsb3Nlc3QtY29ybmVy
LCB3aGl0ZSwgYmxhY2spOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3Jh
ZGllbnQoLXdlYmtpdC1jYWxjKDIwcHgpIC13ZWJraXQtY2FsYyg1MHB4KSwgZWxsaXBzZSBjbG9z
ZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQzIHsKKyAg
ICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2Fs
YygyMCUpIC13ZWJraXQtY2FsYygyMCUpLCBjaXJjbGUgY2xvc2VzdC1jb3JuZXIsIHdoaXRlLCBi
bGFjayk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudCgtd2Vi
a2l0LWNhbGMoMjAlKSAtd2Via2l0LWNhbGMoMjAlKSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCB3
aGl0ZSwgYmxhY2spOworICAgIH0KKworICAgIC5ncmFkaWVudDQgeworICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQobGVmdCwgY2lyY2xlIGNvdmVyLCByZWQs
IGdyZWVuIC13ZWJraXQtY2FsYygzMCUpLCBibHVlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IC1tb3otcmFkaWFsLWdyYWRpZW50KGxlZnQsIGNpcmNsZSBjb3ZlciwgcmVkLCBncmVlbiAtd2Vi
a2l0LWNhbGMoMzAlKSwgYmx1ZSk7CisgICAgfQorCisgICAgLmdyYWRpZW50NSB7CisgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGNvdmVyLCBy
ZWQsIGdyZWVuIC13ZWJraXQtY2FsYyg4MHB4KSwgYmx1ZSk7CisgICAgICBiYWNrZ3JvdW5kLWlt
YWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJr
aXQtY2FsYyg4MHB4KSwgYmx1ZSk7CisgICAgfQorCisgICAgLmdyYWRpZW50NiB7CisgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUgY292ZXIsIHJl
ZCAtd2Via2l0LWNhbGMoMjAlKSwgZ3JlZW4sIGJsdWUgLXdlYmtpdC1jYWxjKDE1MCUpKTsKKyAg
ICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBjb3Zlciwg
cmVkIC13ZWJraXQtY2FsYygyMCUpLCBncmVlbiwgYmx1ZSAtd2Via2l0LWNhbGMoMTUwJSkpOwor
ICAgIH0KKworICAgIC5ncmFkaWVudDcgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtp
dC1yYWRpYWwtZ3JhZGllbnQoLXdlYmtpdC1jYWxjKDIwJSkgLXdlYmtpdC1jYWxjKDIwJSksIGNp
cmNsZSBjbG9zZXN0LWNvcm5lciwgcmVkIC01MCUsIGdyZWVuLCBibHVlIC13ZWJraXQtY2FsYygx
NTAlKSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudCgtd2Vi
a2l0LWNhbGMoMjAlKSAtd2Via2l0LWNhbGMoMjAlKSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCBy
ZWQgLTUwJSwgZ3JlZW4sIGJsdWUgLXdlYmtpdC1jYWxjKDE1MCUpKTsKKyAgICB9CisKKyAgPC9z
dHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICB2YXIgZHVtcFBp
eGVscyA9IHRydWU7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQ
aXhlbHMpOworICAgIH0KKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNs
YXNzPSJncmFkaWVudDEgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQyIGJveCI+
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50MyBib3giPjwvZGl2PgorICA8YnI+CisgIDxk
aXYgY2xhc3M9ImdyYWRpZW50NCBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDUg
Ym94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQ2IGJveCI+PC9kaXY+CisgIDxicj4K
KyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQ3IGJveCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9mb250LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTA1ZGU2
ZDNiNzE0ZTAwZDQzNzgxNmIzZTFlYmYyNzI5ODcwOGMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGhl
IGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50
aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxk
IGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGlu
ZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2Yg
dGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBo
ZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorRkFJTAorTGluZSBoZWln
aHRzIGRvIG5vdCBtYXRjaAorCitMaW5lIHdpZHRocyBkbyBub3QgbWF0Y2gKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LW1vbm9zcGFjZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvZm9udC1tb25vc3BhY2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjViNDU3NmRlMjkzMjI1MTEwMDMwZWUwMDBjNGM3MjEyZGMyMmVjMTEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1tb25vc3BhY2UtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNiBAQAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGlu
ZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2Yg
dGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorRkFJTAorTGluZSBoZWlnaHRzIGRvIG5v
dCBtYXRjaAorCitGb250IHNpemVzIGRvIG5vdCBtYXRjaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL2ZvbnQtbW9ub3NwYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Zm9udC1tb25vc3BhY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOGU0ZjVjZTIxMzY3MjA2MTg3MGNhODdh
ZTRmZWIwMzhmZjQ0NDVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2ZvbnQtbW9ub3NwYWNlLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPHN0eWxlPiAKK2JvZHkgICAg
IHtmb250LXNpemU6IDEycHg7fQorI2NvbnRyb2wge2ZvbnQ6IGl0YWxpYyBzbWFsbC1jYXBzIDkw
MCAxNTAlLzJlbSBtb25vc3BhY2U7fQorI2NhbGMgICAge2ZvbnQ6IGl0YWxpYyBzbWFsbC1jYXBz
IDkwMCAtd2Via2l0LWNhbGMoMTUwJSkvMmVtIG1vbm9zcGFjZTt9Cis8L3N0eWxlPgorCis8ZGl2
PgorPHNwYW4gaWQ9ImNvbnRyb2wiPlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9mIHRo
ZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPHNwYW4gaWQ9ImNh
bGMiPlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBi
ZSBpZGVudGljYWw8L3NwYW4+Cis8L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJyZXN1bHRzIj48L2Rp
dj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwordmFyIGNvbnRyb2xIZWlnaHQgPSBnZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiksIG51bGwpLmxp
bmVIZWlnaHQ7Cit2YXIgY29udHJvbFNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250cm9sIiksIG51bGwpLmZvbnRTaXplOworCit2YXIgc3BhbnMgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3BhbiIpOwordmFyIHNhbWVIZWlnaHQgPSB0
cnVlOwordmFyIHNhbWVTaXplID0gdHJ1ZTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVu
Z3RoOyArK2kpIHsKKyAgICB2YXIgY3VycmVudCA9IHNwYW5zW2ldOworICAgIGlmIChzYW1lSGVp
Z2h0KQorICAgICAgICBzYW1lSGVpZ2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50LCBudWxs
KS5saW5lSGVpZ2h0ID09IGNvbnRyb2xIZWlnaHQ7CisgICAgaWYgKHNhbWVTaXplKQorICAgICAg
ICBzYW1lU2l6ZSA9IGdldENvbXB1dGVkU3R5bGUoY3VycmVudCwgbnVsbCkuZm9udFNpemUgPT0g
Y29udHJvbFNpemU7Cit9CisKK3ZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdHMiKTsKK2lmIChzYW1lSGVpZ2h0ICYmIHNhbWVTaXplKSB7CisgICAgcmVzdWx0cy5z
dHlsZS5jb2xvciA9ICJncmVlbiI7CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiUEFTUyI7Cit9
IGVsc2UgeworICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAicmVkIjsKKyAgICByZXN1bHRzLmlu
bmVySFRNTCA9ICJGQUlMIjsgICAgCisgICAgaWYgKCFzYW1lSGVpZ2h0KQorICAgICAgICByZXN1
bHRzLmlubmVySFRNTCArPSAiPHA+TGluZSBoZWlnaHRzIGRvIG5vdCBtYXRjaDwvcD4iOworICAg
IGlmICghc2FtZVNpemUpCisgICAgICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8cD5Gb250IHNp
emVzIGRvIG5vdCBtYXRjaDwvcD4iOworfQorCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2ZvbnQtc2l6ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjUzNTE4MDZhZjZjMGFm
YzI2Zjc5Y2UyOTZiYjM3MDJiZGJiMzBlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9mb250LXNpemUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhlIGZv
bnQgc2l6ZSBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsIAorVGhlIGZvbnQgc2l6
ZSBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsIAorVGhlIGZvbnQgc2l6ZSBvZiB0
aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsCitGQUlMCitDb21wdXRlZCBmb250IHNpemVz
IGRvIG5vdCBtYXRjaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtc2l6
ZS1mcmFjdGlvbmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNp
emUtZnJhY3Rpb25hbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWI0NTc2ZGUyOTMyMjUxMTAw
MzBlZTAwMGM0YzcyMTJkYzIyZWMxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9mb250LXNpemUtZnJhY3Rpb25hbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBA
CitUaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUg
aWRlbnRpY2FsCitUaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBz
aG91bGQgYmUgaWRlbnRpY2FsCitGQUlMCitMaW5lIGhlaWdodHMgZG8gbm90IG1hdGNoCisKK0Zv
bnQgc2l6ZXMgZG8gbm90IG1hdGNoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Zm9udC1zaXplLWZyYWN0aW9uYWwuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNp
emUtZnJhY3Rpb25hbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiOWY2OTMxZTg2ZDRlZmFiZWEyNWFlYmE1
NzVlZWU2Y2Q3NDMxOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Zm9udC1zaXplLWZyYWN0aW9uYWwuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8c3R5bGU+IAorYm9k
eSAgICAgICAgIHsgZm9udC1zaXplOiAxMnB4O30KKyNjb250cm9sICAgICB7Zm9udDogbm9ybWFs
IDQwMCA4MCUvMi41IHNhbnMtc2VyaWY7fQorI2NhbGMtcmVkdWNlIHtmb250OiBub3JtYWwgNDAw
IC13ZWJraXQtY2FsYyg4MCUpLzIuNSBzYW5zLXNlcmlmO30KKzwvc3R5bGU+CisKKzxkaXY+Cis8
c3BhbiBpZD0iY29udHJvbCI+VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2Ug
bGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYy1y
ZWR1Y2UiPlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3Vs
ZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJyZXN1bHRzIj48
L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwordmFyIGNvbnRyb2xIZWlnaHQgPSBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiksIG51bGwp
LmxpbmVIZWlnaHQ7Cit2YXIgY29udHJvbFNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiksIG51bGwpLmZvbnRTaXplOworCit2YXIgc3BhbnMg
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3BhbiIpOwordmFyIHNhbWVIZWlnaHQg
PSB0cnVlOwordmFyIHNhbWVTaXplID0gdHJ1ZTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMu
bGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgY3VycmVudCA9IHNwYW5zW2ldOworICAgIGlmIChzYW1l
SGVpZ2h0KQorICAgICAgICBzYW1lSGVpZ2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50LCBu
dWxsKS5saW5lSGVpZ2h0ID09IGNvbnRyb2xIZWlnaHQ7CisgICAgaWYgKHNhbWVTaXplKQorICAg
ICAgICBzYW1lU2l6ZSA9IGdldENvbXB1dGVkU3R5bGUoY3VycmVudCwgbnVsbCkuZm9udFNpemUg
PT0gY29udHJvbFNpemU7Cit9CisKK3ZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlc3VsdHMiKTsKK2lmIChzYW1lSGVpZ2h0ICYmIHNhbWVTaXplKSB7CisgICAgcmVzdWx0
cy5zdHlsZS5jb2xvciA9ICJncmVlbiI7CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiUEFTUyI7
Cit9IGVsc2UgeworICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAicmVkIjsKKyAgICByZXN1bHRz
LmlubmVySFRNTCA9ICJGQUlMIjsgICAgCisgICAgaWYgKCFzYW1lSGVpZ2h0KQorICAgICAgICBy
ZXN1bHRzLmlubmVySFRNTCArPSAiPHA+TGluZSBoZWlnaHRzIGRvIG5vdCBtYXRjaDwvcD4iOwor
ICAgIGlmICghc2FtZVNpemUpCisgICAgICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8cD5Gb250
IHNpemVzIGRvIG5vdCBtYXRjaDwvcD4iOworfQorCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9mb250LXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9mb250LXNpemUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjhmZmY0YThkZWY3MTE5MzM5ZDk2NGM5NWE1
MDdiZGNmZDEwZjFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Zv
bnQtc2l6ZS5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzxzdHlsZT4gCisjY29udHJvbCB7Zm9udC1z
aXplOiAyMDAlO30KKyNjYWxjLXBlcmNlbnQge2ZvbnQtc2l6ZTogLXdlYmtpdC1jYWxjKDIwMCUp
O30KKyNjYWxjLXBlcmNlbnQtcGl4ZWxzIHtmb250LXNpemU6IC13ZWJraXQtY2FsYygxNTAlICsg
MTBweCk7fQorPC9zdHlsZT4KKworPGRpdiBzdHlsZT0iZm9udC1zaXplOiAyMHB4OyI+Cis8c3Bh
biBpZD0iY29udHJvbCI+VGhlIGZvbnQgc2l6ZSBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRl
bnRpY2FsPC9zcGFuPgorPGJyLz4KKzxzcGFuIGlkPSJjYWxjLXBlcmNlbnQiPlRoZSBmb250IHNp
emUgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxici8+Cis8c3Bh
biBpZD0iY2FsYy1wZXJjZW50LXBpeGVscyI+VGhlIGZvbnQgc2l6ZSBvZiB0aGVzZSBsaW5lcyBz
aG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGhyLz4KKzwvZGl2PgorPGRpdiBpZD0icmVzdWx0
cyI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK3ZhciBjb250cm9sU2l6ZSA9
ICBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiksIG51
bGwpLmZvbnRTaXplCisKK3ZhciBzcGFucyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJzcGFuIik7Cit2YXIgc2FtZVNpemUgPSB0cnVlOworZm9yICh2YXIgaSA9IDA7IGkgPCBzcGFu
cy5sZW5ndGg7ICsraSkgeworICAgIHZhciBjdXJyZW50ID0gc3BhbnNbaV07CisgICAgaWYgKHNh
bWVTaXplKQorICAgICAgICBzYW1lU2l6ZSA9IGdldENvbXB1dGVkU3R5bGUoY3VycmVudCwgbnVs
bCkuZm9udFNpemUgPT0gY29udHJvbFNpemU7Cit9CisKK3ZhciByZXN1bHRzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKK2lmIChzYW1lU2l6ZSkgeworICAgIHJlc3VsdHMu
c3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIlBBU1MiOwor
fSBlbHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gInJlZCI7CisgICAgcmVzdWx0cy5p
bm5lckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8cD5Db21w
dXRlZCBmb250IHNpemVzIGRvIG5vdCBtYXRjaDwvcD4iOworfQorCis8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvZm9udC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmMDkyZjM1MGIzMmNiN2E1NzA0YjgxZGEwYzZm
OWU3NjNiZTViOWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9u
dC5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzxzdHlsZT4gCisjY29udHJvbCAgICAgICAgICAgICB7
Zm9udDogMS41ZW0vNjNweCBzYW5zLXNlcmlmO30KKyNjYWxjLXNpemUgICAgICAgICAgIHtmb250
OiAtd2Via2l0LWNhbGMoMS41ZW0pLzYzcHggc2Fucy1zZXJpZn0KKyNjYWxjLWhlaWdodCAgICAg
ICAgIHtmb250OiAxLjVlbS8td2Via2l0LWNhbGMoMTI2cHggLyAyKSBzYW5zLXNlcmlmfQorI2Nh
bGMtYm90aCAgICAgICAgICAge2ZvbnQ6IC13ZWJraXQtY2FsYygxLjVlbSkvLXdlYmtpdC1jYWxj
KDYzcHgpIHNhbnMtc2VyaWZ9CisjY2FsYy1wZXJjZW50LXNpemUgICB7Zm9udDogLXdlYmtpdC1j
YWxjKDEwMCUgKyAwLjVlbSkvNjNweCBzYW5zLXNlcmlmfQorPC9zdHlsZT4KKworPGRpdj4KKzxz
cGFuIGlkPSJjb250cm9sIj5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBs
aW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGhyLz4KKzxzcGFuIGlkPSJjYWxjLXNp
emUiPlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBi
ZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPHNwYW4gaWQ9ImNhbGMtaGVpZ2h0Ij5UaGUgZm9u
dCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2Fs
PC9zcGFuPgorPGhyLz4KKzxzcGFuIGlkPSJjYWxjLWJvdGgiPlRoZSBmb250IHNpemUgYW5kIGxp
bmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIv
PgorPHNwYW4gaWQ9ImNhbGMtcGVyY2VudC1zaXplIj5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhl
aWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPC9kaXY+Cis8
aHIvPgorPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKK3ZhciBjb250cm9sSGVpZ2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udHJvbCIpLCBudWxsKS5saW5lSGVpZ2h0OwordmFyIGNvbnRyb2xTaXplID0g
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIpLCBudWxs
KS5mb250U2l6ZTsKKwordmFyIHNwYW5zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
InNwYW4iKTsKK3ZhciBzYW1lSGVpZ2h0ID0gdHJ1ZTsKK3ZhciBzYW1lU2l6ZSA9IHRydWU7Citm
b3IgKHZhciBpID0gMDsgaSA8IHNwYW5zLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGN1cnJlbnQg
PSBzcGFuc1tpXTsKKyAgICBpZiAoc2FtZUhlaWdodCkKKyAgICAgICAgc2FtZUhlaWdodCA9IGdl
dENvbXB1dGVkU3R5bGUoY3VycmVudCwgbnVsbCkubGluZUhlaWdodCA9PSBjb250cm9sSGVpZ2h0
OworICAgIGlmIChzYW1lU2l6ZSkKKyAgICAgICAgc2FtZVNpemUgPSBnZXRDb21wdXRlZFN0eWxl
KGN1cnJlbnQsIG51bGwpLmZvbnRTaXplID09IGNvbnRyb2xTaXplOworfQorCit2YXIgcmVzdWx0
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZUhlaWdodCAm
JiBzYW1lU2l6ZSkgeworICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJl
c3VsdHMuaW5uZXJIVE1MID0gIlBBU1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNv
bG9yID0gInJlZCI7CisgICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIGlm
ICghc2FtZUhlaWdodCkKKyAgICAgICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gIjxwPkxpbmUgaGVp
Z2h0cyBkbyBub3QgbWF0Y2g8L3A+IjsKKyAgICBpZiAoIXNhbWVTaXplKQorICAgICAgICByZXN1
bHRzLmlubmVySFRNTCArPSAiPHA+TGluZSB3aWR0aHMgZG8gbm90IG1hdGNoPC9wPiI7Cit9CisK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dldENvbXB1dGVk
U3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQxNGNhNTUyZmI4YmY3NTI2ZTUwNmIzYjM4OTA0NWRmNWRmMTc0MTkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4t
cGVyY2VudGFnZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0IGNhbGxpbmcgZ2V0
UHJvcGVydHlWYWx1ZSBvbiBjb21wdXRlZCBtYXJnaW4gc3R5bGVzLgorCittYXJnaW4tbGVmdDog
MHB4CittYXJnaW4tdG9wOiAwcHgKK21hcmdpbi1yaWdodDogMHB4CittYXJnaW4tYm90dG9tOiAw
cHgKK1Rlc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9nZXRDb21wdXRlZFN0
eWxlLW1hcmdpbi1wZXJjZW50YWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ2V0Q29t
cHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjNmZhMGEyNmQ5
OTQwOTMwMzNlMjlkZmM1NjQwNDU4OTIwMjY4ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sCkBA
IC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5
bGU+CisgICAgICAgICNmb28geyAKKyAgICAgICAgICAgIGJhY2tncm91bmQ6IHB1cnBsZTsKKyAg
ICAgICAgICAgIGJvcmRlcjogLXdlYmtpdC1jYWxjKDEwcHgpIGRvdWJsZSAjMDAwMDAwOyAKKyAg
ICAgICAgICAgIHdpZHRoOiAtd2Via2l0LWNhbGMoNTAlKTsKKyAgICAgICAgICAgIGhlaWdodDog
YXV0bzsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQtY2Fs
YygzMyUpOworICAgICAgICAgICAgbWFyZ2luLXRvcDogLXdlYmtpdC1jYWxjKDEwJSk7CisgICAg
ICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHBh
ZGRpbmctbGVmdDogYXV0bzsKKyAgICAgICAgICAgIGxlZnQ6IGF1dG87CisgICAgICAgICAgICBj
b2xvcjogd2hpdGU7CisgICAgICAgICAgICBmb250OiAtd2Via2l0LWNhbGMoMjRweCkgJ0x1Y2lk
YSBHcmFuZGUnOworICAgICAgICAgICAgbGluZS1oZWlnaHQ6IC13ZWJraXQtY2FsYygyNHB4KTsK
KyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgCisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVu
Y3Rpb24gbG9nKG1zZykgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nv
bnNvbGUnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtc2cgKyAnXG4nKSk7
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIHRlc3QocHJvcCkgeworICAg
ICAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb28nKTsKKyAgICAg
ICAgICAgIGxvZyhwcm9wICsgJzogJyArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpdiwgbnVs
bCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wKSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAg
IGZ1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICB0ZXN0KCdtYXJnaW4tbGVmdCcp
OworICAgICAgICAgICAgdGVzdCgnbWFyZ2luLXRvcCcpOworICAgICAgICAgICAgdGVzdCgnbWFy
Z2luLXJpZ2h0Jyk7CisgICAgICAgICAgICB0ZXN0KCdtYXJnaW4tYm90dG9tJyk7CisgICAgICAg
IH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0cygpOyI+
CisgICAgPHA+VGVzdCBjYWxsaW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQgbWFyZ2lu
IHN0eWxlcy48L3A+CisgICAgPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CisgICAgCisgICAgPGRp
diBpZD0iZm9vIj5UZXN0PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMtZXhwZWN0ZWQtbWlzbWF0Y2gu
aHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy1leHBlY3Rl
ZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkMDA1YjkxNWMzOTZhZDE5ZDcxNTEzNzZhMTBk
MjlhNDQ4MWExZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3Jh
ZGllbnQtY29sb3Itc3RvcHMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDU4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9InRleHQv
Y3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAuYm94IHsKKyAgICAgIGRpc3BsYXk6IGlubGluZS1i
bG9jazsKKyAgICAgIGhlaWdodDogMTIwcHg7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgICBt
YXJnaW46IDEwcHg7CisgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgIGJhY2tn
cm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgfQorCisgICAgLmxpbmVhcjEgeworICAgICAg
YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkIDI1JSwg
Z3JlZW4gNTAlLCBibHVlIDc1JSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVh
ci1ncmFkaWVudChsZWZ0LCByZWQgMjUlLCBncmVlbiA1MCUsIGJsdWUgNzUlKTsKKyAgICB9CisK
KyAgICAubGluZWFyMiB7CisgICAgICAvKiBHcmVlbiBzaG91bGQgZ2V0IHNoaWZ0ZWQgdG8gNTAl
ICovCisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0
LCByZWQgNTAlLCBncmVlbiAzMCUsIGJsdWUgOTAlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCA1MCUsIGdyZWVuIDMwJSwgYmx1ZSA5MCUp
OworICAgIH0KKworICAgIC5saW5lYXIzIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJr
aXQtbGluZWFyLWdyYWRpZW50KHJlZCAtNTAlLCBncmVlbiwgYmx1ZSwgZ3JlZW4sIGJsdWUgMTUw
JSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyZWQgLTUw
JSwgZ3JlZW4sIGJsdWUsIGdyZWVuLCBibHVlIDE1MCUpOworICAgIH0KKworICAgIC5saW5lYXI0
IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQs
IHJlZCwgZ3JlZW4gMTAwcHgsIGJsdWUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1s
aW5lYXItZ3JhZGllbnQobGVmdCwgcmVkLCBncmVlbiAxMDBweCwgYmx1ZSk7CisgICAgfQorCisg
ICAgLmxpbmVhcjUgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3Jh
ZGllbnQobGVmdCwgcmVkLCBncmVlbiAxMjAlLCBibHVlKTsKKyAgICAgIGJhY2tncm91bmQtaW1h
Z2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4gMTIwJSwgYmx1ZSk7Cisg
ICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNl
dD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAg
IHZhciBkdW1wUGl4ZWxzID0gdHJ1ZTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoZHVtcFBpeGVscyk7CisgICAgfQorICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
CisgIDxkaXYgY2xhc3M9ImxpbmVhcjEgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0ibGluZWFy
MiBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJsaW5lYXIzIGJveCI+PC9kaXY+CisgIDxicj4K
KyAgPGRpdiBjbGFzcz0ibGluZWFyNCBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJsaW5lYXI1
IGJveCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2dyYWRpZW50LWNvbG9yLXN0b3BzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRmNGU5YmI0OWQwN2Uy
ZDljNmMxY2VjMDY3Yzg2YWMwNWFjMWE3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9ncmFkaWVudC1jb2xvci1zdG9wcy5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwh
RE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
IG1lZGlhPSJzY3JlZW4iPgorICAgIC5ib3ggeworICAgICAgZGlzcGxheTogaW5saW5lLWJsb2Nr
OworICAgICAgaGVpZ2h0OiAxMjBweDsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIG1hcmdp
bjogMTBweDsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgYmFja2dyb3Vu
ZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICB9CisKKyAgICAubGluZWFyMSB7CisgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQgLXdlYmtpdC1j
YWxjKDI1JSksIGdyZWVuIC13ZWJraXQtY2FsYyg1MCUpLCBibHVlIC13ZWJraXQtY2FsYyg3NSUp
KTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJl
ZCAtd2Via2l0LWNhbGMoMjUlKSwgZ3JlZW4gLXdlYmtpdC1jYWxjKDUwJSksIGJsdWUgLXdlYmtp
dC1jYWxjKDc1JSkpOworICAgIH0KKworICAgIC5saW5lYXIyIHsKKyAgICAgIC8qIEdyZWVuIHNo
b3VsZCBnZXQgc2hpZnRlZCB0byAtd2Via2l0LWNhbGMoNTAlKSAqLworICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkIC13ZWJraXQtY2FsYyg1
MCUpLCBncmVlbiAtd2Via2l0LWNhbGMoMzAlKSwgYmx1ZSAtd2Via2l0LWNhbGMoOTAlKSk7Cisg
ICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQgLXdl
YmtpdC1jYWxjKDUwJSksIGdyZWVuIC13ZWJraXQtY2FsYygzMCUpLCBibHVlIC13ZWJraXQtY2Fs
Yyg5MCUpKTsKKyAgICB9CisKKyAgICAubGluZWFyMyB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdl
OiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZWQgLXdlYmtpdC1jYWxjKC01MCUpLCBncmVlbiwg
Ymx1ZSwgZ3JlZW4sIGJsdWUgLXdlYmtpdC1jYWxjKDE1MCUpKTsKKyAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHJlZCAtd2Via2l0LWNhbGMoLTUwJSksIGdyZWVu
LCBibHVlLCBncmVlbiwgYmx1ZSAtd2Via2l0LWNhbGMoMTUwJSkpOworICAgIH0KKworICAgIC5s
aW5lYXI0IHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50
KGxlZnQsIHJlZCwgZ3JlZW4gLXdlYmtpdC1jYWxjKDEwMHB4KSwgYmx1ZSk7CisgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVuIC13ZWJr
aXQtY2FsYygxMDBweCksIGJsdWUpOworICAgIH0KKworICAgIC5saW5lYXI1IHsKKyAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4g
LXdlYmtpdC1jYWxjKDEyMCUpLCBibHVlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3ot
bGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3JlZW4gLXdlYmtpdC1jYWxjKDEyMCUpLCBibHVl
KTsKKyAgICB9CisgIDwvc3R5bGU+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBj
aGFyc2V0PSJ1dGYtOCI+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgICAgdmFyIGR1bXBQaXhlbHMgPSB0cnVlOworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dChkdW1wUGl4ZWxzKTsKKyAgICB9CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+CisKKyAgPGRpdiBjbGFzcz0ibGluZWFyMSBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJs
aW5lYXIyIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImxpbmVhcjMgYm94Ij48L2Rpdj4KKyAg
PGJyPgorICA8ZGl2IGNsYXNzPSJsaW5lYXI0IGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9Imxp
bmVhcjUgYm94Ij48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2ltZy1zaXplLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvaW1nLXNpemUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wOGRiMTI3MDQzMGQ5YjVkMDBiM2RlNzgxM2ExOWQyMTBiMzY2Zjg5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ltZy1zaXplLWV4cGVjdGVkLW1pc21hdGNoLmh0
bWwKQEAgLTAsMCArMSwxNiBAQAorPHN0eWxlPgorLmNvbnRyb2wgeyB3aWR0aDogNTAlOyB9Cisu
cGl4ZWxzIHsgd2lkdGg6IDEwMHB4OyB9CisucGVyY2VudCB7d2lkdGg6IDUwJTsgfQorLmJvdGgg
e3dpZHRoOiAxMDBweDsgfQorPC9zdHlsZT4KKworPGRpdiBzdHlsZT0id2lkdGg6MjAwcHg7Ij4K
KyAgICA8aW1nIGNsYXNzPSJjb250cm9sIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJP
UncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6
OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPGhyLz4K
KyAgICA8aW1nIGNsYXNzPSJwaXhlbHMiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9S
dzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4
RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8aHIvPgor
ICAgIDxpbWcgY2xhc3M9InBlcmNlbnQiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9S
dzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4
RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8aHIvPgor
ICAgIDxpbWcgY2xhc3M9ImJvdGgiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBL
R2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4RHdI
d3lCTkpETjhCOEFRTkVHK3Q1SWsya0FBQUFBU1VWT1JLNUNZSUk9Ij4KKzwvZGl2PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9p
bWctc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ltZy1zaXplLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTJjNmI5YTM4ZTFhZGY4MGUyOGQ4YjI4ZmI5MWRmZjRmZDY3Mzk5MQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWctc2l6ZS5odG1sCkBAIC0wLDAgKzEs
MTYgQEAKKzxzdHlsZT4KKy5jb250cm9sIHsgd2lkdGg6IDUwJTsgfQorLnBpeGVscyB7IHdpZHRo
OiAtd2Via2l0LWNhbGMoMTAwcHgpOyB9CisucGVyY2VudCB7d2lkdGg6IC13ZWJraXQtY2FsYyg1
MCUpOyB9CisuYm90aCB7d2lkdGg6IC13ZWJraXQtY2FsYygyNSUgKyA1MHB4KTsgfQorPC9zdHls
ZT4KKworPGRpdiBzdHlsZT0id2lkdGg6MjAwcHg7Ij4KKyAgICA8aW1nIGNsYXNzPSJjb250cm9s
IiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlB
QUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlr
MmtBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPGhyLz4KKyAgICA8aW1nIGNsYXNzPSJwaXhlbHMi
IHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFB
QUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsy
a0FBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8aHIvPgorICAgIDxpbWcgY2xhc3M9InBlcmNlbnQi
IHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFB
QUFDQ0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsy
a0FBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8aHIvPgorICAgIDxpbWcgY2xhc3M9ImJvdGgiIHNy
Yz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFD
Q0FZQUFBQnl0ZzBrQUFBQUZFbEVRVlFJSFdQNHo4RHdId3lCTkpETjhCOEFRTkVHK3Q1SWsya0FB
QUFBU1VWT1JLNUNZSUk9Ij4KKzwvZGl2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9saW5lLWhlaWdodC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbGluZS1oZWlnaHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjNkNjUwZGNhOWZlMGJmN2NjZTYzNDAzNmUwYmE2MDcxNzRhZWY0ODAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbGluZS1oZWlnaHQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBp
ZGVudGljYWwKK1RoZSBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRp
Y2FsCitUaGUgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAor
RkFJTAorQ29tcHV0ZWQgbGluZSBoZWlnaHRzIGRvIG5vdCBtYXRjaDogMzJweCwgbm9ybWFsLCBu
b3JtYWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9saW5lLWhlaWdodC5odG1s
IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2xpbmUtaGVpZ2h0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWM3
ZDEwNjU3ZDBjMzBmMTZiNTI3ODZhMTAwNzAyZmJhYjUxZGRmMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy9saW5lLWhlaWdodC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzxzdHlsZT4gCitzcGFuIHsgZm9udC1zaXplOiAxNnB4O30KKyNjb250cm9sIHtsaW5lLWhlaWdo
dDogMjAwJTt9CisjY2FsYy1wZXJjZW50IHtsaW5lLWhlaWdodDogLXdlYmtpdC1jYWxjKDEwMCUg
KiAyKTt9CisjY2FsYy1wZXJjZW50LXBpeGVscyB7bGluZS1oZWlnaHQ6IC13ZWJraXQtY2FsYygx
MDAlICsgMTZweCk7fQorPC9zdHlsZT4KKworPGRpdj4KKzxzcGFuIGlkPSJjb250cm9sIj5UaGUg
bGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxo
ci8+Cis8c3BhbiBpZD0iY2FsYy1wZXJjZW50Ij5UaGUgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGlu
ZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYy1wZXJj
ZW50LXBpeGVscyI+VGhlIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVu
dGljYWw8L3NwYW4+Cis8aHIvPgorPC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KKwor
PHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwordmFyIGNvbnRyb2xIZWlnaHQgPSAgZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIpLCBudWxsKS5saW5lSGVp
Z2h0OwordmFyIGhlaWdodHMgPSAiIjsKKwordmFyIHNwYW5zID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoInNwYW4iKTsKK3ZhciBzYW1lSGVpZ2h0ID0gdHJ1ZTsKK2ZvciAodmFyIGkg
PSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgY3VycmVudCA9IHNwYW5zW2ld
OworICAgIHZhciBjdXJyZW50SGVpZ2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50LCBudWxs
KS5saW5lSGVpZ2h0OworICAgIGlmIChoZWlnaHRzLmxlbmd0aCAhPSAwKQorICAgICAgICBoZWln
aHRzID0gaGVpZ2h0cyArICIsICI7CisgICAgaGVpZ2h0cyA9IGhlaWdodHMgKyBjdXJyZW50SGVp
Z2h0OworICAgIGlmIChzYW1lSGVpZ2h0KQorICAgICAgICBzYW1lSGVpZ2h0ID0gY3VycmVudEhl
aWdodCA9PSBjb250cm9sSGVpZ2h0OworfQorCit2YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZUhlaWdodCkgeworICAgIHJlc3VsdHMuc3R5
bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIlBBU1MiOworfSBl
bHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gInJlZCI7CisgICAgcmVzdWx0cy5pbm5l
ckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8cD5Db21wdXRl
ZCBsaW5lIGhlaWdodHMgZG8gbm90IG1hdGNoOiAiICsgaGVpZ2h0cyArICI8L3A+IjsKK30KKwor
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFyZ2luLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9tYXJnaW4tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE2YWI2YzkxMzlhMWMxYjRjM2I3MTI1MThlOWM4Yzg1ZjVhMmUxMTgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFyZ2luLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIxIEBACitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4g
b2YgMjUgcGl4ZWxzLiA9PiBGQUlMOiB3cm9uZyB3aWR0aCwgd3JvbmcgaGVpZ2h0CisKK1RoaXMg
ZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgbWFyZ2luIG9mIDI1IHBpeGVscy4gPT4gRkFJTDog
d3Jvbmcgd2lkdGgKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgbWFyZ2luIG9m
IDI1IHBpeGVscy4gPT4gRkFJTDogd3Jvbmcgd2lkdGgKKworVGhpcyBlbGVtZW50IHNob3VsZCBo
YXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+IEZBSUw6IHdyb25nIGhlaWdodAorCitU
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFyZ2luIG9mIDI1IHBpeGVscy4gPT4g
RkFJTDogd3JvbmcgaGVpZ2h0CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhbiBvdmVyYWxs
IG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMg
NXB4KS4gPT4gRkFJTDogd3Jvbmcgd2lkdGgsIHdyb25nIGhlaWdodAorCitUaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYSBsZWZ0IG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lk
dGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogd3Jvbmcgd2lkdGgKKworVGhpcyBlbGVt
ZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVu
dCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiB3cm9uZyB3aWR0aAorCitUaGlz
IGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBh
cmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiB3cm9uZyBoZWlnaHQKKwor
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEw
JSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogd3JvbmcgaGVp
Z2h0CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhYmFhNGFjMDlm
MTIzZTEzNjM3NzNjOTQ3ODdlMDM0OWQyODU5NDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvbWFyZ2luLmh0bWwKQEAgLTAsMCArMSwxMzMgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPHN0eWxlPgorZGl2IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cit9CisKK3Ag
eworICAgIHdpZHRoOjIwMHB4OyAKKyAgICBoZWlnaHQ6MTIwcHg7CisgICAgbWFyZ2luOiAwOwor
fQorLnNpbXBsZS1hbGwgeworICAgIG1hcmdpbjogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsK
K30KKy5zaW1wbGUtbGVmdCB7CisgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQtY2FsYygxM3B4ICsg
MTJweCk7Cit9Cisuc2ltcGxlLXJpZ2h0IHsKKyAgICBtYXJnaW4tcmlnaHQ6IC13ZWJraXQtY2Fs
YygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLXRvcCB7CisgICAgbWFyZ2luLXRvcDogLXdlYmtp
dC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAgICBtYXJnaW4tYm90
dG9tOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnBlcmNlbnQtYWxsIHsKKyAgIC8q
IG1hcmdpbjogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7CisgICAgbWFyZ2luOiAtbW96LWNhbGMo
LXdlYmtpdC1jYWxjKDEwJSkgLSA1cHgpOworICAgIG1hcmdpbjogY2FsYygtd2Via2l0LWNhbGMo
MTAlKSAtIDVweCk7Ki8KKyAgICBtYXJnaW4tbGVmdDogLXdlYmtpdC1jYWxjKDEwJSk7Cit9Cisu
cGVyY2VudC1sZWZ0IHsKKyAgICBtYXJnaW4tbGVmdDogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7
CisgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQtY2FsYygyMCUpOworfQorLnBlcmNlbnQtcmlnaHQg
eworICAgIG1hcmdpbi1yaWdodDogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2Vu
dC10b3AgeworICAgIG1hcmdpbi10b3A6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBl
cmNlbnQtYm90dG9tIHsKKyAgIG1hcmdpbi1ib3R0b206IC13ZWJraXQtY2FsYygxMCUgLSA1cHgp
OworfQorPC9zdHlsZT4KKzxkaXY+CisgICAgPHAgY2xhc3M9InNpbXBsZS1hbGwiPlRoaXMgZWxl
bWVudCBzaG91bGQgaGF2ZSBhbiBvdmVyYWxsIG1hcmdpbiBvZiAyNSBwaXhlbHMuPC9wPgorPC9k
aXY+PGJyLz4KKzxkaXY+CisgICAgPHAgY2xhc3M9InNpbXBsZS1sZWZ0Ij5UaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYSBsZWZ0IG1hcmdpbiBvZiAyNSBwaXhlbHMuPC9wPgorPC9kaXY+PGJyLz4K
KzxkaXY+CisgICAgPHAgY2xhc3M9InNpbXBsZS1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBo
YXZlIGEgcmlnaHQgbWFyZ2luIG9mIDI1IHBpeGVscy48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4K
KyAgICA8cCBjbGFzcz0ic2ltcGxlLXRvcCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9w
IG1hcmdpbiBvZiAyNSBwaXhlbHMuPC9wPgorPC9kaXY+PGJyLz4KKzxkaXY+CisgICAgPHAgY2xh
c3M9InNpbXBsZS1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBtYXJn
aW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+CisKKzxkaXYgaWQ9IndyYXBwZXIiIHN0
eWxlPSJ3aWR0aDogMzAwcHg7IGJhY2tncm91bmQtY29sb3I6IGNvcm5zaWxrOyBkaXNwbGF5OiBi
bG9jazsiPgorPGRpdj4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1hbGwiPlRoaXMgZWxlbWVudCBz
aG91bGQgaGF2ZSBhbiBvdmVyYWxsIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQg
d2lkdGggb2YgMzAwcHggbWludXMgICAgIDVweCkuPC9wPgorPC9kaXY+PGJyLz4KKworCis8ZGl2
PgorICAgIDxwIGNsYXNzPSJwZXJjZW50LWxlZnQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBh
IGxlZnQgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBt
aW51cyA1cHgpLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJwZXJjZW50
LXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBtYXJnaW4gb2YgMjUgcGl4
ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorPC9kaXY+
PGJyLz4KKzxkaXY+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtdG9wIj5UaGlzIGVsZW1lbnQgc2hv
dWxkIGhhdmUgYSB0b3AgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBv
ZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNz
PSJwZXJjZW50LWJvdHRvbSI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIG1hcmdp
biBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48
L3A+Cis8L2Rpdj48YnIvPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciBpbm5l
cldpZHRoID0gMjAwOwordmFyIGlubmVySGVpZ2h0ID0gMTIwOwordmFyIG1hcmdpbiA9IDI1Owor
Cit2YXIgdGVzdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZGl2Iik7Citmb3Ig
KHZhciBpID0gMDsgaSA8IHRlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIG91dGVyRWx0ID0g
dGVzdHNbaV07CisgICAgaWYgKG91dGVyRWx0LmlkID09ICJ3cmFwcGVyIikKKyAgICAgICAgY29u
dGludWU7CisgICAgICAgIAorICAgIHZhciBpbm5lckVsdCA9IHRlc3RzW2ldLmdldEVsZW1lbnRz
QnlUYWdOYW1lKCJwIilbMF07CisgICAgdmFyIHdpZHRoID0gb3V0ZXJFbHQub2Zmc2V0V2lkdGg7
CisgICAgdmFyIGhlaWdodCA9IG91dGVyRWx0Lm9mZnNldEhlaWdodDsKKworICAgIHZhciBleHBl
Y3RlZFdpZHRoID0gaW5uZXJXaWR0aDsKKyAgICB2YXIgZXhwZWN0ZWRIZWlnaHQgPSBpbm5lckhl
aWdodDsKKyAgICAKKyAgICBzd2l0Y2ggKGlubmVyRWx0LmNsYXNzTmFtZS5zcGxpdCgiLSIpWzFd
KSB7CisgICAgY2FzZSAiYWxsIjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSAyICogbWFyZ2lu
OworICAgICAgICBleHBlY3RlZEhlaWdodCArPSAyICogbWFyZ2luOworICAgICAgICBicmVhazsK
KyAgICBjYXNlICJ0b3AiOgorICAgIGNhc2UgImJvdHRvbSI6CisgICAgICAgIGV4cGVjdGVkSGVp
Z2h0ICs9IG1hcmdpbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAibGVmdCI6CisgICAgY2Fz
ZSAicmlnaHQiOgorICAgICAgICBleHBlY3RlZFdpZHRoICs9IG1hcmdpbjsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorICAgIAorICAgIHZhciBlcnJvciA9IFtdOworICAgIGlmICh3aWR0aCAhPSBl
eHBlY3RlZFdpZHRoKQorICAgICAgICBlcnJvci5wdXNoKCJ3cm9uZyB3aWR0aCIpOworICAgIGlm
IChoZWlnaHQgIT0gZXhwZWN0ZWRIZWlnaHQpCisgICAgICAgIGVycm9yLnB1c2goIndyb25nIGhl
aWdodCIpOworCisgICAgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRz
Iik7CisgICAgaWYgKGVycm9yID09ICIiKSB7CisgICAgICAgIGlubmVyRWx0LnN0eWxlLmJhY2tn
cm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAgIGlubmVyRWx0LmlubmVySFRNTCArPSAiID0+
IFBBU1MiOworICAgIH0gZWxzZSB7CisgICAgICAgIGlubmVyRWx0LnN0eWxlLmJhY2tncm91bmRD
b2xvciA9ICJyZWQiOworICAgICAgICBpbm5lckVsdC5pbm5lckhUTUwgKz0gIiA9PiBGQUlMOiAi
ICsgZXJyb3Iuam9pbigiLCAiKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9wYWRkaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9wYWRkaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Y2IzOTZjM2QwZTRiNzg4
MzgwMGY0MWYwNWYxMzI5MTc4YjgyNWMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL3BhZGRpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK1RoaXMgZWxl
bWVudCBzaG91bGQgaGF2ZSBhbiBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxzLiA9PiBGQUlM
OiB3cm9uZyB3aWR0aCwgd3JvbmcgaGVpZ2h0CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBh
IGxlZnQgcGFkZGluZyBvZiAyNSBwaXhlbHMuID0+IEZBSUw6IHdyb25nIHdpZHRoCisKK1RoaXMg
ZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IHBhZGRpbmcgb2YgMjUgcGl4ZWxzLiA9PiBGQUlM
OiB3cm9uZyB3aWR0aAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgcGFkZGluZyBv
ZiAyNSBwaXhlbHMuID0+IEZBSUw6IHdyb25nIGhlaWdodAorCitUaGlzIGVsZW1lbnQgc2hvdWxk
IGhhdmUgYSBib3R0b20gcGFkZGluZyBvZiAyNSBwaXhlbHMuID0+IEZBSUw6IHdyb25nIGhlaWdo
dAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBwYWRkaW5nIG9mIDI1IHBp
eGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiB3
cm9uZyB3aWR0aCwgd3JvbmcgaGVpZ2h0CisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxl
ZnQgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWlu
dXMgNXB4KS4gPT4gRkFJTDogd3Jvbmcgd2lkdGgKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZl
IGEgcmlnaHQgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAw
cHggbWludXMgNXB4KS4gPT4gRkFJTDogd3Jvbmcgd2lkdGgKKworVGhpcyBlbGVtZW50IHNob3Vs
ZCBoYXZlIGEgdG9wIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9m
IDMwMHB4IG1pbnVzIDVweCkuID0+IEZBSUw6IHdyb25nIGhlaWdodAorCitUaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYSBib3R0b20gcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQg
d2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogd3JvbmcgaGVpZ2h0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcGFkZGluZy5odG1sIGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3BhZGRpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xODUwMWUyMTQzZmM2NWQxY2FiNzc0ZWQ1
ZWQ3MGIxNTY0NzcxMzU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3BhZGRpbmcuaHRtbApAQCAtMCwwICsxLDk5IEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4K
K3AgeworICAgIHdpZHRoOjIwMHB4OyBoZWlnaHQ6MTIwcHg7IAorfQorLnNpbXBsZS1hbGwgewor
ICAgIHBhZGRpbmc6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLWxlZnQg
eworICAgIHBhZGRpbmctbGVmdDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1w
bGUtcmlnaHQgeworICAgIHBhZGRpbmctcmlnaHQ6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7
Cit9Cisuc2ltcGxlLXRvcCB7CisgICAgcGFkZGluZy10b3A6IC13ZWJraXQtY2FsYygxM3B4ICsg
MTJweCk7Cit9Cisuc2ltcGxlLWJvdHRvbSB7CisgICAgcGFkZGluZy1ib3R0b206IC13ZWJraXQt
Y2FsYygxM3B4ICsgMTJweCk7Cit9CisucGVyY2VudC1hbGwgeworICAgIHBhZGRpbmc6IC13ZWJr
aXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtbGVmdCB7CisgICAgcGFkZGluZy1sZWZ0
OiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LXJpZ2h0IHsKKyAgICBwYWRk
aW5nLXJpZ2h0OiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LXRvcCB7Cisg
ICAgcGFkZGluZy10b3A6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtYm90
dG9tIHsKKyAgIHBhZGRpbmctYm90dG9tOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKzwv
c3R5bGU+CisKKzxwIGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YW4gb3ZlcmFsbCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLWxl
ZnQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgcGFkZGluZyBvZiAyNSBwaXhlbHMu
PC9wPgorPHAgY2xhc3M9InNpbXBsZS1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEg
cmlnaHQgcGFkZGluZyBvZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS10b3AiPlRo
aXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+Cis8
cCBjbGFzcz0ic2ltcGxlLWJvdHRvbSI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9t
IHBhZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4KKworPGRpdiBzdHlsZT0id2lkdGg6IDMwMHB4OyBi
YWNrZ3JvdW5kLWNvbG9yOiBjb3Juc2lsazsiPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LWFsbCI+
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFuIG92ZXJhbGwgcGFkZGluZyBvZiAyNSBwaXhlbHMg
KDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+CisgICAgPHAgY2xh
c3M9InBlcmNlbnQtbGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5n
IG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwv
cD4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZl
IGEgcmlnaHQgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAw
cHggbWludXMgNXB4KS48L3A+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtdG9wIj5UaGlzIGVsZW1l
bnQgc2hvdWxkIGhhdmUgYSB0b3AgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQg
d2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtYm90
dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gcGFkZGluZyBvZiAyNSBwaXhl
bHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rpdj4K
KworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaW5uZXJXaWR0aCA9IDIwMDsKK3Zh
ciBpbm5lckhlaWdodCA9IDEyMDsKK3ZhciBwYWRkaW5nID0gMjU7CisKK3ZhciB0ZXN0cyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwIik7Citmb3IgKHZhciBpID0gMDsgaSA8IHRl
c3RzLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGVsZW1lbnQgPSB0ZXN0c1tpXTsKKyAgICB2YXIg
d2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoOworICAgIHZhciBoZWlnaHQgPSBlbGVtZW50Lm9m
ZnNldEhlaWdodDsKKworICAgIHZhciBleHBlY3RlZFdpZHRoID0gaW5uZXJXaWR0aDsKKyAgICB2
YXIgZXhwZWN0ZWRIZWlnaHQgPSBpbm5lckhlaWdodDsKKyAgICAKKyAgICBzd2l0Y2ggKGVsZW1l
bnQuY2xhc3NOYW1lLnNwbGl0KCItIilbMV0pIHsKKyAgICBjYXNlICJhbGwiOgorICAgICAgICBl
eHBlY3RlZFdpZHRoICs9IDIgKiBwYWRkaW5nOworICAgICAgICBleHBlY3RlZEhlaWdodCArPSAy
ICogcGFkZGluZzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAidG9wIjoKKyAgICBjYXNlICJi
b3R0b20iOgorICAgICAgICBleHBlY3RlZEhlaWdodCArPSBwYWRkaW5nOworICAgICAgICBicmVh
azsKKyAgICBjYXNlICJsZWZ0IjoKKyAgICBjYXNlICJyaWdodCI6CisgICAgICAgIGV4cGVjdGVk
V2lkdGggKz0gcGFkZGluZzsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIAorICAgIHZhciBl
cnJvciA9IFtdOworICAgIGlmICh3aWR0aCAhPSBleHBlY3RlZFdpZHRoKQorICAgICAgICBlcnJv
ci5wdXNoKCJ3cm9uZyB3aWR0aCIpOworICAgIGlmIChoZWlnaHQgIT0gZXhwZWN0ZWRIZWlnaHQp
CisgICAgICAgIGVycm9yLnB1c2goIndyb25nIGhlaWdodCIpOworCisgICAgcmVzdWx0cyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CisgICAgaWYgKGVycm9yID09ICIiKSB7
CisgICAgICAgIGVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAgICAg
ICAgZWxlbWVudC5pbm5lckhUTUwgKz0gIiA9PiBQQVNTIjsKKyAgICB9IGVsc2UgeworICAgICAg
ICBlbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJyZWQiOworICAgICAgICBlbGVtZW50
LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIpOworICAgIH0KK30K
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3JlZmxlY3Rpb24t
Y29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3JlZmxl
Y3Rpb24tY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyODJhODZjZmIy
ZWZhOTZiYzQxNTg1N2NhOGM2NjQ5ZGY4MjM5YjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwyMiBAQAorVGVzdCBjYWxsaW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQg
c3R5bGVzIGZvciAtd2Via2l0LWJvcmRlci1pbWFnZSBwcm9wZXJ0eS4KKworLXdlYmtpdC1ib3gt
cmVmbGVjdDogbm9uZTsKKyAgLXdlYmtpdC1ib3gtcmVmbGVjdAorICAgIGdldFByb3BlcnR5VmFs
dWU6ICAgIG5vbmUKKyAgICBnZXRQcm9wZXJ0eUNTU1ZhbHVlOiBbb2JqZWN0IENTU1ByaW1pdGl2
ZVZhbHVlXQorCistd2Via2l0LWJveC1yZWZsZWN0OiBiZWxvdzsKKyAgLXdlYmtpdC1ib3gtcmVm
bGVjdAorICAgIGdldFByb3BlcnR5VmFsdWU6ICAgIGJlbG93IDBweCBub25lCisgICAgZ2V0UHJv
cGVydHlDU1NWYWx1ZTogW29iamVjdCBDU1NWYWx1ZV0KKworLXdlYmtpdC1ib3gtcmVmbGVjdDog
cmlnaHQgNTAlOworICAtd2Via2l0LWJveC1yZWZsZWN0CisgICAgZ2V0UHJvcGVydHlWYWx1ZTog
ICAgcmlnaHQgMHB4IG5vbmUKKyAgICBnZXRQcm9wZXJ0eUNTU1ZhbHVlOiBbb2JqZWN0IENTU1Zh
bHVlXQorCistd2Via2l0LWJveC1yZWZsZWN0OiBiZWxvdyA1cHggLXdlYmtpdC1ncmFkaWVudChs
aW5lYXIsIDAgMCwgMCAwKSAyNSAyNSAyNSAyNSBzdHJldGNoIHN0cmV0Y2g7CisgIC13ZWJraXQt
Ym94LXJlZmxlY3QKKyAgICBnZXRQcm9wZXJ0eVZhbHVlOiAgICBiZWxvdyAwcHggLXdlYmtpdC1n
cmFkaWVudChsaW5lYXIsIDAgMCwgMCAwKSAyNSBmaWxsIC8gYXV0byAvIDBweCBzdHJldGNoCisg
ICAgZ2V0UHJvcGVydHlDU1NWYWx1ZTogW29iamVjdCBDU1NWYWx1ZV0KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5bGUuaHRtbCBiL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmUxNWQ3YTFjNzQ2NzNiMjQ1YjdjZjgxNWMzZjMwNTJmZTdiN2MxMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxl
Lmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
ICAgIDxzdHlsZT4KKyAgICAgICAgZGl2IHsgd2lkdGg6IDA7IGhlaWdodDogMCB9CisgICAgICAg
ICNyZWZsZWN0aW9uTm9uZSB7IC13ZWJraXQtYm94LXJlZmxlY3Q6IG5vbmUgfQorICAgICAgICAj
cmVmbGVjdGlvbkRpcmVjdGlvbiB7IC13ZWJraXQtYm94LXJlZmxlY3Q6IGJlbG93IH0KKyAgICAg
ICAgI3JlZmxlY3Rpb25PZmZzZXQgeyAtd2Via2l0LWJveC1yZWZsZWN0OiByaWdodCAtd2Via2l0
LWNhbGMoNTAlKSB9CisgICAgICAgICNyZWZsZWN0aW9uTWFzayB7IC13ZWJraXQtYm94LXJlZmxl
Y3Q6IGJlbG93IC13ZWJraXQtY2FsYyg1cHgpIC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAs
IDAgMCkgMjUgMjUgMjUgMjUgc3RyZXRjaCBzdHJldGNoOyB9CisgICAgPC9zdHlsZT4KKyAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICAgIGZ1bmN0aW9uIGxvZyhtc2cp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xl
JykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsgJ1xuJykpOworICAg
ICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gc3ViVGVzdChvYiwgcHJvcCkKKyAgICAgICAgewor
ICAgICAgICAgICAgbG9nKCcgICcgKyBwcm9wKTsKKyAgICAgICAgICAgIGxvZygnICAgIGdldFBy
b3BlcnR5VmFsdWU6ICAgICcgKyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KG9iLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKHByb3ApKTsKKyAgICAgICAgICAgIGxvZygnICAg
IGdldFByb3BlcnR5Q1NTVmFsdWU6ICcgKyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRl
ZFN0eWxlKG9iLCBudWxsKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKHByb3ApKTsKKyAgICAgICAgfQor
CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoaWQsIHZhbCkKKyAgICAgICAgeworICAgICAgICAgICAg
bG9nKCctd2Via2l0LWJveC1yZWZsZWN0OiAnICsgdmFsICsgJzsnKTsKKyAgICAgICAgICAgIHZh
ciBvYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICAgICAgICAgIHN1YlRlc3Qo
b2IsICctd2Via2l0LWJveC1yZWZsZWN0Jyk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlv
biBydW5UZXN0cygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICAgICAgdGVzdCgncmVmbGVjdGlvbk5vbmUnLCAnbm9uZScpOworICAg
ICAgICAgICAgbG9nKCcnKTsKKyAgICAgICAgICAgIHRlc3QoJ3JlZmxlY3Rpb25EaXJlY3Rpb24n
LCAnYmVsb3cnKTsKKyAgICAgICAgICAgIGxvZygnJyk7CisgICAgICAgICAgICB0ZXN0KCdyZWZs
ZWN0aW9uT2Zmc2V0JywgJ3JpZ2h0IDUwJScpOworICAgICAgICAgICAgbG9nKCcnKTsKKyAgICAg
ICAgICAgIHRlc3QoJ3JlZmxlY3Rpb25NYXNrJywgJ2JlbG93IDVweCAtd2Via2l0LWdyYWRpZW50
KGxpbmVhciwgMCAwLCAwIDApIDI1IDI1IDI1IDI1IHN0cmV0Y2ggc3RyZXRjaCcpOworICAgICAg
ICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4K
KyAgICA8cD5UZXN0IGNhbGxpbmcgZ2V0UHJvcGVydHlWYWx1ZSBvbiBjb21wdXRlZCBzdHlsZXMg
Zm9yIC13ZWJraXQtYm9yZGVyLWltYWdlIHByb3BlcnR5LjwvcD4KKyAgICA8cHJlIGlkPSJjb25z
b2xlIj48L3ByZT4KKworICAgIDxkaXYgaWQ9InJlZmxlY3Rpb25Ob25lIj48L2Rpdj4KKyAgICA8
ZGl2IGlkPSJyZWZsZWN0aW9uRGlyZWN0aW9uIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJyZWZsZWN0
aW9uT2Zmc2V0Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJyZWZsZWN0aW9uTWFzayI+PC9kaXY+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZXNv
dXJjZXMvYWxwaGEtZ3JhZGllbnQucG5nIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNl
cy9hbHBoYS1ncmFkaWVudC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFlNTJmODNjMTVmZjJiOTFmNWZhZDlm
MzZhOGNjNmIwNTYxODhjYgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgODgzCnpjbVpBMFR9VkA1
N3pnbXo/WUl1PTsjXmRJcGx+ODhxV1MkPFhgQ2FvVDlubzdWIT5kfV9KTmhvWjFseWI5ZyE+eQp6
JXI1JHJpVkNgQENLZ25wdHdXRzRHK2JwPHFZRmJSMUlnJjMzPytMMGJBZmNSb3dNS2pmOFg9RyZ3
Ri1lWFhSI24KekxSdGMyT21Fc15HfUFTTjUzaSV8YDxCMnB4XlFsSnlVYlcqV04zI2FrQUEwbUQ9
Z2tCa0lRPystc29ocSEmQm9GCnpPPzdzKyk5a2M2anZhakVFTS1nXlohKmZla0E5ZW4pVkF1WShf
MjByTzZqWFZGdUohe0N+dXkmb2ZnVk49Z1ZlOwp6U0kyJCtaZCp4cWNpP3pYP2Ztdjx1cHVZcXRX
TkRjSEQydTIzSC1KdEF5Mi12PXRxQjJTZVl4KF40ekx+aUkmdEcKeitUWm9NTmh4P2FadkRBVm13
KWpAWXBOdlg+PUxpUFcqTVE/JGlKYnlGR3VTWXIkSE0pNXUpQilxRTY2UyZ8NDV2CnpnUD9yUzVL
JD5vWkotc1BGYkp0JXBmYU15VldOKm5KcUJmaC1ocSVCMXtIJGQ2SXFlRTJ3RGszVH4/Jk5mWXlP
Zgp6UzRYYVB6X1Z9ZV44akhlWHteYmdzTEE0PWh6bzkqQ2VDSlBrayRDT1dYPnV5JGRXa0w4bFN+
UzZBT2tvUDAmSjwKej1PdmNtSWJScGUhJSVGJm0/JGhObEE0QG82JEV+IU13eT5VVmExPWxFY1gw
PVlvUT1mYDJJcE9VcUd9SFA3fEg8CnpVIztyTnh7PyFqdSkjSWhBaUNVdkotLUN5ZzMjcjNiZnlL
ZzlFMntYQlEqPSFOYn4/Km88Z2J6bHRxLWNwTns/VAp6Nip+M3xJKEExN3kkUGMocURQPWkmX2pA
ZXMwZ0c3SnRmLVhDVz9SeEw0Q0NIeSZfdXFFO195eTR8YDV6Qz9ASSQKem5lK1dwXi1ieCpDN014
LTtTbWh5KFF1V0VEWExMMTZ3ck1scVR3Vl9uMzxJfS1EK1BkUUcqMVk9UXVoNU1TVjhlCmEjPFor
MT9lQD5GP09oN31Zblo4YChpa1lPWnUkI25nZ0lkVgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNlcy9kaWFtb25kLnBuZyBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJjZXMvZGlhbW9uZC5wbmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTExMTJlZmM3Y2FiNWIyMGE4NmJhZTllNGMyYWViZDY4YTUyMzBiMApHSVQgYmluYXJ5IHBhdGNo
CmxpdGVyYWwgMTg4CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBeQVR9MlY4PDZaWkk9PmY0RiV9
MjhKMjkqfkMtVn0+Vk4zRk1jVlFASQp6PXdVY19gSCtxPVA9dkY8QmVJeCpmbTt9YTg1dzVIa3BL
I15tdzVXUnZmcEFBPUNseWNUa3MkbkN9aVg1O3VzPXYKemRGbGo1Sl9aR3pMa0lyPG0tSlZZbU8z
aTh5KUJpWU9AVlhMYElrWlFsVig/VnR1KUZIbiktOCs3XztLZm0rUjlmCmVSWlM0SFc5KXZTQFZr
RF5xRlg/NzcoOEE1VC1HQHlHeXdwaUt7c3Z5CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVzb3VyY2VzL21hc2sucG5nIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNlcy9tYXNrLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNzk1N2UxMzQz
OTA2YTczNzc0MDdhNzk4MTI4MmExODRmOGEwMDU0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA4
ODkzCnpjbVY7dUIwfUFYUCk8aDszS3xMazAwMGUxTkpMVHEwMDUtYDAwNSYxMV5AczY+dkc9NTAw
MGs1WCt1TCROa2M7Kgp6UDt6ZihYPjRUeDBDPTMwUzl2dG0tUGhtV2QjYChxKkV+PHg1RF9KciN8
JjM4Jm0hVHY9REI7I0FAUVdsTG9+PmMKenNnTlFtaTMmK2wjeHpLeGwycGhPblprWWxwcV9XViYt
JCgzZGlOaF5lYWAzWGVmSDw8YkpqWCoxRiNFYExQRztsCnowMXktJE16Sn1kUGRNYntPdSlTY0cl
eGB0NVAqcTlyaVNXU1MoKDlxdzU2QVQwMDJDZkN4d092OGs9K3BlK2E8awp6RUV+Q1MlJTJ9Tl98
SV93MER6fClhJmlWaDxOJCFuWEFBRUswNHxSJFl6Rntia3p0YD4wRWpPRGFGS21VbyZaUUoKejBM
VzQ3WXp6UjlEZ2VPeVl+ZWNxZmNNekstMml9KEFwMyo/QWc9K2k5S29KYCEycX0hMElaSXU3bkta
dm1qZUojCnpQYnhWRzBHfHpqKGdfTCpAZFJLUzBEenQzUClabTgrWD9fazkmJk9mWSlOKkgxeUUt
T3Bsa2h5MyF3bml5OCNITAp6e0tIOTIxTXQpVilRfHRlRSFZNDgwMD5WJSlxOV5KMDAxRCZgVCV0
QVh0Vl8+MDktRD5NaD1ia3RCZ2s1QzxqMmwKejEheE4taGZeWjk+eENlXzBSTF5pYj4/a0RCTEZB
PjVDSzFVZ1NhODxyfiZqUzlSZDVDe3lDRXQ5PlozYERhc3dwCnpUZ3FQfDckPllOR0NgbjwoSWpG
ZWVAVFQpUHMhTkpjRjQpZFhZWEVCQFl3ciZwUnJRQWltR2F7K0o9VU09NEd2VQp6OWNBNSF7WWBw
bjJISio2Izc/NlhXQVRIZ0NqTz07JT9pIXlFamxlbnRtYlcpWS1RfGg+fC01ajlZPnVRb3N8emUK
enhsb1RKeFNuKU5hSG89VEp6Qn0leW85fiZkYHxtel9eayEoM0dAaWMzYSR3YDZZNnUra2d8Jl41
WEsoUDk+RShhCno4bnJXZVBtSXpydHlxSiYxTXg9M14lSy1pJFItTFZGKDxBNkhGeHF1XjI8fENQ
Qio3cVBSJms+UEE2clVXfnljRgp6JW9mYUglY2FYKkpUc294b25MITQ+cy0peigraiVfbTwjNEZ6
QUMoNVI5cVpVVnRQc0IocCtndlMjcjVlZz1vY0cKelchdlQ0RGA4Y0t0QkV5eHVMe0BWWVVpI0VV
Y1h1d1RUaV5mZEU8TS0rbmFyaj9ZSGpVdTR9NWlRXyE0dF9nSVQoCnp0THtDemQoSFEkNTBvQ1B3
PkBueT8/YHkpLWxfTFV5YkltK0BvYHNvYElGY2w+ISVWPWU+YGpMUDQyVms9am5lcAp6UCZ3IWBC
dDcpYGRISnlHM3hPOWVVZ297QmQoSGNMWV4zfVJjfm9ybC1QYDt6XkxMbmNFI3FNbTNLUVNvSCst
T2UKelJRJmpUXjcxRj1EZHdyV3BNOXIhcmFRbGNmMGgwXl9Oe1FuWldjWFRGdD1sX15nR304PG5P
RVZnQDFlZUFUQlUzCnpXRyU4VXJ2R0k4blpHMnZebTRnKzxAKU84eDt1PnEwSzh4WVJ9Zy1yN1Vo
Ul8hbzxeITshK3NtbkN7Pk8qQGAmQAp6eHIyQzlgSHVANDIjdHRuaXNsZUxpZmMoK2tYKUI/bDVV
bGVsRml0KUFuJn1wVTE3KUd6WjU1d2JkKztjS0JfNkgKek1gXlRaRV41b145TSg8Uy09ejE+MEFv
bFg/bCpFYztCT3ByRnhlIV9edEBTI2Q0KXhsV3dxNSs+anMtZ3dxdGZiCno5SSVkamhqdSNjYkpq
VjB6e1Q+MmdSODM+KioleVA7YzxlVD9PRWJnPWwjJjkmLWJ4a3FrbDwyTj89JSFOM2QwaAp6UE5A
Nyo1ZWdkPk88Zkx+MyFqUEBrOS1zTEl7SD0yQFVoPDVtYmp3JG5CJmR+Kzl4Q3VuR3pTMSN7WVZE
dk5eZigKelJNelIzNnJXVmZHfVV5V2JYdndsVz9OUXFjNHwmPXVFUUQ0SmtmbH1BM3VCVi0xK2xJ
RkJsaHk2ZjloUFJHNDRuCnpVOTRQIUQoU3llUWhLel56RmZPdk08dT47PkdJZj5oZ0RWOD17MkVP
P1B9R28zMF87ans7dXZwZWM2cX4yRzUocwp6TXYyQz9UVGdGYVhiUVplK3N4Vmc8ISphUlFFU1hT
cn40V1lNQjMxOFUpcDsrP21SNStKcEc4OzxAe0tebzM7RG4KemxjdF9DUGVZIVdfc2FGTF52KDRU
NEFjIX40RWEzUThSaShDZHtPckBAfEVWUl8xN0lFKldNSjJvX2MkOSU8LU0oCnp4V01AME1GMEVw
NTdkdmtsTUl0WHBVekc+ZUhRdldIZUt8XjwqVjQmI2N4ayRhJVVhcTFtPDNTJnpyYVc4fjFuVAp6
an1yQGVpPHJmc3BFWE5hJWdIUEd0NTFHZVl5e0QwMER1UHRBajFfe01hYWxvKUplMX1DVz53bG0l
JExvcWBeRmcKelBpMTNhNTlEYSErfkFoc0cyOyMzSkkwP1ZrU3YlWGJYS0BiPGVGJFI7aTFANUBx
VVJ4JCh8anBRWj5Afko3Wi0/Cnp2Y3o0b2Ffbi15PFVqOG8tZzk0fVdOKTtoXiotQF5iNHBGaCQ1
bzZ9bk4pfD5PNE5mamg/LShyRDZMUTAtOHdiOAp6cn1uJCtEZDtXaC0hVjk1WGhUI3I1OztKQlY4
TTkmOzRfbXVya0JpOyYzIUJrRXh1VDBTbmFjVlorK0lyJTloSl4KeilVTHVsKmdANDE5R0BMM2FQ
b0ZtYTklb20qWDdzfD9JV0E2P1FTUkMlfUFXMjVzeENXdEVaNlhofVQoZjh5Xm16CnpWYyZDcE5C
ang/O3trPCVqek8kSlVCVTRvc3Ykb0A+eUk5I3M4Q2pAeDVHbGlDQnQ3dUJ1NlNuanp5aTBSKkw9
Kgp6bFk1TDlpO2VBJXlCUDAoVHIrX3dWZE8tNHFJWiY1KHlQQnhQQzZ3a29NSmdPYkdrMyhNcnZN
S1JKdm5eYXdjbyQKej4jVTR5JD9TVk11RFE2fSN4d3FUbDZtaipGUChLZUN3Z3gzZUMtOGxmb2oz
KCNwYzR1QklUbVI7Pk1Fak9YYDw0CnpPQ09iYG0wTVR2UkUkPVpVaVExOVFpWkwwUXs3T0xkRFh3
eEBTNGNBPD9HTXU+ZyUmX0xeWEtjYlpvU3xXcWV6dwp6WTQwNkVHaF80by1Ra3dvdCVkZ3o/KXlC
alkxMzwwPnJpXkEpVCMxRnktVlk8VERSZzhzVUVKTHdXa3hrQF9wMzwKeiN6WGpGbVkzdWFwMH5h
ZXIkMlNnZHxyO0QoRXpzb0peJW8kM2MkSDkwRWV2cj5ARVVpSXNpeWwwQzJrbFNnYD11CnpzUlBQ
b0Mhb1gqMDc0WWBeTTQzezhyWG16OUVUaHpoZXFneD1rTmpNVkgwNlMxUTl0ejMkWn1sa3VjO21R
ajlicgp6JnlYbjszTUdvdExBanc0UUJ8bVopQ3lXMFpIYk9XVXF6MiVTVEs1KzJ1dit6bDFfeHFp
N3Q8QjVYKmArJEVJTz4KemExMXlUVHNtJSRvfVpwZlVxYD5tVjk4TDx1Knp1N2MkSkJjaU50aURT
JiV0fmQ1cHp+cjIkWENwSjhRU089UDk5CnojaiRPJCQ4IU0zMn5JVFUyYCs+eWZnODlKZEZYaTNk
SEh5JmBTa2ZkQFRVckIzJW41WTZJPlV7NmMhVntEUGstIwp6RGpHX181bFkzaCNtMi1GQnJHSj1i
X25jUGx6Sj9renRkR2xOQGg7QlkxY19QZHdFSXVyUU4tSXN1an1xaEFEZE4KenZzRSV1KT5QVDhE
eWIlQCZaaS11RFh0fjJ0KkxXUipLV1Y3b3t4VThMN1pWZUByS2IkVj5yMGkjTE0pJlMmI1hlCnpy
SHF4QWIpN0JQSW9yMjdOKiY1fVQwODlTKCZmdFM9SVVOYW5qeCFycDdJKl5HNDx7Q2NMXjh7a18o
T3g4OHw5TAp6Mzh1RCVeRilNMnpLa1p1aksoJntyekg/aSVxMW5DPFZofCZ0JnF9fFd8I2djR2J3
dmwmaUkqPHtKP1dNN3F8PU4KejM7VD1QRkV5MzVSNk0tZ1VvfStveXRlMGhYWj4pKT5ARDZWZ1hW
fnFPWlZDempJXihHTl9ZOG93PzM4VlA0OGJECnphdlEkO2Elc2Z2dDtUclUkSjxsPiheZytTV31v
fmBTLWlGRXZQJThNekUwWVotJm9tOXJEMTdGRyNVVmlnRllPQQp6Mipga1BYbzRPWGdFPDVjYzA/
UmVMV3FiWDspbGN7U3g1IWFqMF8tT1AtdjdXTiptPmhOPD53b1VaSnNRSEZOO0YKejcoSWwrVllE
enxtfEQhST9WQklNdlNCVDsrMU1jKjU2JVR3ans4UWhMWjN1RyRSTmZMJmR8ZHMmS1M9KSVCMDBx
CnolIzMzOFhDN3dSJihlVUd6ISRKYHZTemNmdkV7Sn51JE9Wez00anpHPWJZZFE9Zi1lbl5OOH0/
OzNle29AYGR3cgp6QDszPEIzIzx2MjNMTztzRE9ANkFGMHYraWc8dm02Q3c1YnVFRm11T0wkWWZ9
dX5la0E8eFV3SHRqdEgqd3B9SDEKekAkIztfd2ZCaFpwKCV7LWVWfHlqQDNkMDFhPWMycT5OJk1D
Xj1nZnFueXAkN3dSPzVtPXppUDNwXnJDXkg2IyohCnpqanw4NDhoPHhvR3UxWnBGK1hxN1lzRn1O
Jj9kKXIld0VBRSo+VGR6KiFqQVB6Pnk1czRSPTQlRWkjPl9vITFyYgp6YnpjWCsjc0tjWCRlXiho
IV9YVFBRRUU7Jkl3QkA9Sn58Kn5BdlA7c0BwI3tmeiRBdmglOUdWa0p4ZyYtb2xURikKeiNBUktg
NXpCNE4pNmVmYT1YKmk4VjYzcEQqIW1KKFg7Wm0+ck5ISWhzXmw3Q0UhKHhweHtlelNIP1E0IyhB
M3BUCnpYXzBDank8Z051P29qUklmMyoye0B5WTVscmFzOTVpPWt0fl4pRntmPFZIMmRofnA5Tzh6
JCtkVCY1cD1sYm50Sgp6S0opeyMkaCpZMkpoJlJOSG9uZllmISFGfUVUVVBeWGFKeE5MNjhUSEZh
VGM+S3pJOzIhfmsoWUI5U3g1NFAqJVUKemk0c0I/cHtTXkcpTjM+dys2MHx+PyF8Q3BUcnQme3BM
N092WFhyaipITCR0WlMpM2Bab31Rb242I1hoZzIqVmRmCnpGVUFpez9vOHYlPyMhUUFxVlJacEV2
cSVfMkhRMXU1KGhVJjRgKCEmNnhTZWtKZFpyajJpe15uRk1mM2FBJVZ8PQp6U0E9fG9yRz0rT3U4
TXtiKVd2WE9aXmlGT2VCUXc9cjZnXjwoXn0/YHRtYGcreGhWTz4tOHAtJUQwSjxlLU4mYXkKelJI
bXZGdE07bWNoS14+RVItY1pydUo4VF55KV5ANCFePWpEMk9eRTlPYEpfMW49NHI0U3N+Vm13eWJ0
RjR6YEMtCnpQN1F9JGtEeSU+LVBUQ0s5YDhMNWQlZzljYGljNX4zSmVJRTIoYj5tUG0hWSpnZm03
WU1JcTdZJEdxYnprR0d3Owp6cEh5KSY/diE8a2JuMDZBZ1VxeVNRbSRUfT57KmBrYU4rQzR7LVhN
bHtMO0FjeilHaHBgcWhNKjw9VzJjPkdnSUUKemt+ZiFjYnZLPUJDYmJCKzQmMEEhNktkfng4MlUp
NllyNEMhQy1zP1VwVCs+ITtPRlBKVXFydiFeTHBZPCk/M1o3CnpGWEpXZTR9WC1MVCVHemJKXnQw
O1RrSzVmWjFZXmxfWHFQO2YyYU1oVSpLRWxUYTVUQWBtPTZIZVdgUEt8OG1gbQp6PXR9MHchbTd6
PyszTTw9KW1we2M8UylyelVjVn1UT3w0NjxkI35yTC0mPiNGO01+eU5AWlpTYVh5MklHPGw4amYK
ekppZDgqYkF+MkNiRWY2Y3hAazBrdCRxbXIwMm1FSTB6KVZTR1h1bF8oJWspakVoc1NqY01jOCFV
PUhATXUtd01lCnpwPHp+YjBLZndQWXQjcl5BXkAtZkFaKkAjTWhDWXMhSU5aWTNJSVg/aChlNjdm
ZHYzQzEwWkpKNmVGOWhlVUwtYAp6Qm9pd0R6eWwhdVVjdlVaK2s4fUxwcTFHK1A3TXZ5dypkZT8w
SG5+MU84bzg5N35eWl94RTxSPzNBZUVhMDcoRjMKekkzVUUtVztAcjRyPGRXakhXVmZ9KDg2cD5H
bTZWRT80VFYwWn4+clghM2FufDBVeilKY2B5UzVGeCh5cUttcjA3CnpLblBJNDMjZWNPbFJ5RVZL
VkErbjJeOEBBS1QtMUY0SjRwSTFiNmB6MCQ+VSM1YWl+VU5DQ3BPI31nbX0xeE9KNQp6bl5DeGBA
SV8oJCYkPERHS3A9I2BLTXwoP1Z0eTw5JEpZLSRBPjxFRns+ezdqQn5wU0t5ZCV6c0x+QShzVngl
eU4KejctZnQ7TWpOQXBRM25FczJPfExUNyR1QXZNaH5ObChabmNZKWNhPGRYOHo+YXMqVDU9R256
c21jdEpRJnp6YyVeCnpSV0lgWVFVaERQSXsqTmQ0V0tYeTBIQXslfEYzcno8YG9xTjBBTFVqOGNw
JUBAZUwjQmdAeSl0JHFeMClsWHVHegp6NmNyVEk7Q30kfnJnSWNYYWlpen0wMjNgcUxfdCh8b2I4
PXFteiVyfWdxN159e3J8dFdjUT81b1Q2WXlpQmFJOU0KekxwPGtqYUtKSWZlaSsjJT9PdFNEVUd9
Y1A4fGMxdzF3NCg9QGd2az4+UVRHR3goNSZ3IXNGP3NraUg2I0hMZiNaCnpVYW1GWis4b2ZXSkd4
cl8xYUNpOFZjUUpPdHNyMl9UfDNgWUUqN1M+XlUrJG52emhYdUpXSWJuPCU8QyklQ3EkUQp6QzlU
IUxTdmx4QF4qRDJfc2J9PjdTM1M8MlBxcDt+IzUtcT9GP3BENE9+dEF9V3spdj4qbUozdGJuKzR5
R2NYeCYKem5SRC18M05WJD1GTStlU0xvMUxWN15+XihiPkM2RkZmS19+dWJabDtCaVlkRSFMe1VB
Ym9+a0JrRS1HTHpRVkVTCnorUjxAV1lwbytAUFM/QVMob3ViP2Q1KSVAKj5MODF6NTZIfilkI0I1
VlFUPXtkKDB+QHQ1PkVZen1oPXVLdExpRwp6Sj5ifTUtWmRBMmBOP0RvI0pYYVhYN1p0SCopKiEj
UztjZ0k9ODk0SkVgUXB3OW9LMWxKdGlOZUMydiRKdTgyTkkKej1lJTtmZU5ATkZgNkg7aE1pXy0m
ND96MWxJX0gmUj5ya0RvaSU5Pk50T3YtUjRWOCFMenx7UkxzPDxUTWgmYEtFCno5O3lSVmNNPDZl
LXdjb3pvfnZ7MkxZJThPciVraT5GdUs/PFNQaiRCYzF6QlFKY25vPCFXVl98NDlja1VHOVdWbQp6
blJFcUN3IVROI1Fpc2VTeXZZd3BfUEVIT3s/WDt5SShUNE9nYGhASU1xI0BHcXo5YmRkJmVSdDYo
Pz0keUVUQi0Kel4xQkU5I2o7dDR2YCU8YWB8SUMqZ1kpSzsoRXZzRHYwIT0tTE5GYGdJfnVvVEt3
MWQxJnkwSkRsZ3tlTyt8TmoyCnpWNkhsKGItJVhQSyg9O21LOzJZWEkkeCNVYlFuaWF2U0ZKQWxI
Q3hmOS1RSyZ5fUJPKHpOJjJKRzdjSFI9elozMQp6Kil8UVFORE9BblJ9U04+USEqVzAwckRnSGpL
RDxXTz55PjdVNV9wbk4pKTBJZkh4OE83UWNQOW5wP0lzcytXYjEKemE/OSVNK2xJKUJMdz1CWm4/
RE5jNXRQd3o8N21uekh5TS1gI0ZxWStYQ1NaWWNtcWBBeCFzeko+UUhYO2JqYHAkCnpEM1F+IVZM
Sm96Z1pTKEBYeSV3PSglIXY5X2NAfVhqPGpQKjIxcEkmeEJPfH1tZXhSQyVzeF9zUXZ8blpIMGdO
KQp6Y0lqKXpSJWlzSzJjWD9Qb3FTUFBYVTNRIWVqXjxMTWt9PVpnNyk0UihoSmt0OVk1cWJiWjA9
YDwrPVMpZVE4eksKekRXbWFSSGlvblM+aCExaHV2V20tXnt7bjZCOFcpclkmI2t8WTlSSDdBYHo7
Q3U4VXNaakpfaShwRFBQeGJzV2FICnpxekJ8QGtWYkFBT0BROEUobz56PmN1Km8zemVWSXJhQz01
fChyJjUwUSZ8PnpJTnJOWD5BN1UmbUtJRjNTeDYoLQp6THtLc2xvK0g3QGhWQmVYMW11X2UwUW5e
dCRtbSlZT3pvRUMkeGhFM29vS0AydHZBfVNxSzVGNzxkRjcmRGI3Qi0KendeN3Z0V2QrRkFtS2wo
M2AqNSEzZmhwcHsqI3NlRm9IRlh2RVBQdzEpTmMzLT58NUYhYjkhVVVZOzJqYCFebnomCnpZLXY1
N00zV20wPChKeHt3elN1PytmYGl5RzJxUiMxc3I9Z3slSDsocEB+RV9ZPG9gR3dvakFKOU1meWVH
ckREVQp6RWFePmR2XiMjdjUwS2deSihvbXxYeUloVEkyRlF8ajQ1QHg7KkBzIzwhc2hEOE1sbTxo
bk5SJEdfZndKKTdqKnYKenh1a3UjeXw1ZD51R2AqbyVPKHhzO3hRJVRGdnY5e3gzcTl0aHkyZXVo
R3luI3hhRS0pRWR7WUlgSndpPD9GNXZHCnpVUG9xTkc5bGFyd2Y4aytHP3VLb3IzSkYzKExeWDRU
U2oxZF9jRjNqPXgqckBPNiFzfldNOUVHQmlCWGFkSFpIMwp6MH40dzsoTG8pSExicHpQWipAQFV7
IWR+c3FuUzdaPHE9QENWcUckdGFlR2xGbiQpeSUrSU9fbStXdzZ+YyQwTncKenMwTC0kUURfV2xL
WU1UQEFVKChZUG83PVZQSlZocXhPYjA3ZlVgUXVMN31fM1dDV3gqLV9gSFA1dHh3P1h0IWleCno1
c357RXxIUVUzKEx1OXVKJnJfUnFEanhZajRQTVN4Xj53MG9YaVc7cEp1UFlXUVI+bnRBfXF9STco
Tj5tRHhoTgp6SF9rKiRNMC1LV21QTDA0U3E9LU9lVyM3cUJCU3B5emR1MEJOaioqfUJERlU8KXxP
RylnRTNtV1dSezU3NU47ZEUKeikqSWQxJFVAYEV3dlEkeTdEQHxhXmNecWNHZUFhVCU2c3RucFAx
aU1CNHVNcjNufWBjMXpJWUtwaFVCOTFtI2hJCnpaMVB9aWRrOyFJX1MzSHFaSkJwQDk2eEZoeSk2
cFlDXn1fJmZ8Q3YzayEhWW5IbTxiQ0dSSCkzZVl7ekNDNEApIQp6SEpZTXtQODdQKVdKSCZmejNv
OSFzQXNzO3pAdEtXMXw9Rk4qZ1c9cDJCfUB2djJhR0FlZCVQIXJiayFycVBZaVQKejZ0WFJoPzNn
YF5MfClqb193fUc5dnVgdz5qOXskNWlRYm4tPnlePHNOQUstQGpIdD9Ua1FjcllrVUNfMDtoQXdz
CnpDVWtlVj4oVjc1RXlnamskJlhIWkt6aEpkWFcoOWFNXj13aGRmezU8WXdjJWUqbDFHMkVkOHcz
cDFufF9rZSllYQp6MkI+d3VYbDt7U0w+Rmd8P3F3dVpvemVxRU9rVndsIyV1MmcjdlhfNFlUTXBs
MzM8b1Iqb19WNDV0eipFOWZqfEEKejcqbj9VKX1kUVdVTjItdksteGFiOTE8Q29LMVF1cV9CYld1
ST8pczVKJFhAQk0tOWgxPCZuY1RKTnYlS0FMejZgCnp7K19kS1cqNV5Ea2VNP15aTDN2bz1PdTQr
XnMlYUFkVD9lQWlwSE43VDN4MkMtPlF3YmZnJmZkSyg7Z3ItRk51YAp6KUJlOzlNSnh1d1hoPypI
NTQxfil0VUotTW0xdWkhJTs1b3ZqJTgxRV9MU1REcHRfREdjMSZzV3cpOW49b3ppUWcKenNPPlds
SCkqQElYV3gteXZZPHV7aDhociFnPjFjMEJhUX1VMyg1OWErdU1hYDN1U3xgeG9GZ096MFN4dVdT
MmV7Cno3TTN8cjF3PHlxcWNEJjFBfE9ZRCg4YEE0YzEqKmw5WmBxeXQyfjBxT2o9TlRNZzM+PHAh
ISNKU3p9M3ZgRTFXKwp6SD1hU305blR0QHNuLWF5VmYmKHZVITN6VCZzRjg9LTZUamVzJkR8Yyl0
RktYSVRZKWgqP0EzUTFnNTx7c15pezUKejtDY0NPRGxOaStEVFZYO1N+azV8VGRvMFIxdjtDQG8p
aHNLJlZHKTdKQStkKWI8ejFXJFEyK1pOUSprPTxANTRuCnokMCNqKl9yMnUxNXU2ZCtVTDdoeGpz
aFEmUzNlIVA1ZGY3Myl3QDxeN0hmISMwPSsrN1RQc2c9PEdsYHdAfVRSRgp6RUh1ZnZtXj19MTV5
YW00JFNvdFMpfFNeaSVTKGh7NT9TN1drIXledW8oR0UhIUNza0ZfJT48N3RyeVIyK1dUQkIKejZH
NEBeRjFxJXBhQy1sQUshLW1ZM1E+RW8hMWM1cFEqSyNYSTMtajB3YypHKkIrNF9ZbkRKbGxjJHZO
VFU0fWNhCnozZzEwOSgrZHNMa1Ihdkc9flo+I3QmTHU+UEtpX3IyV3ZMYThmOF8+cG5yQDJ0YCZY
WEpITW9EY2FJPUBMZGp+Mgp6QGhOa3lKPDQ0SXVYaW1rdFBkWTBNd3h2I0VlWTRyY1BufUpSUFNW
Qz5HZWpxX2tZP08lMVVFd2BMdkpKREk/V28Kejd3cndEJGlDeW4tTiNRciU8QGdveXs/Z0diQnpH
eSlZT0JIMjt+cUBeOHF5RWMjK1cmcGAxRm9DWGBkZFg7ZGY9Cno3am1aNykyTDljcD8zck9IMX5V
RUQ1bm1wM0ZYdnFub3YjK3J3UWVfOGhNUGtZMkQ1Vzw7V2Q2bUZUUWNHTWVCSAp6cyZ8SFJZRVZy
bXItc3ZuYSV3bkRENXIrZ2dtUCopTyg+Xl4ofVokcklLNEJKWXk1TjhzU1doYlApLWYxdnFFX1cK
ejdkKm9+Ym1ePjZQSG40QUFEOVd7KU5xPG1QN1M5c0wtfXJGdmVWcX1zOEY3IWZ2NCZrNzBSaE0p
YFc2dUk4NyswCnpoU0wkRG9hMFNTLWUwJnFncExTaHEtcUJvdUVZTjdzUCgyYTArZWg2WmBCYmFi
fSY8Pyg+e1FFTCVDKXs5ajRJLQp6KSh+eURIPFZVZXhuPyVMeChEWjhETzhXRyMpbV9XSkNFPXVP
WVJgdUtKVmVTdWx6ZVlSZTl8ZHdjJjh1NlV4WjcKeip0fm1icjIxNmFpXjtvdClFRiYlWXhPcGMq
VGAjPnlPKjsyUyk8SX1KZXowPnIka1I8N0RBUlpMZXl+PWI/b0JnCno4VEckIVZQTGYzeHpkSWBW
Nz4mQHQtXk9VNHFRXl5VM3xBfCQyYGM7QThfeGomI1Q5ajkoLSY+VjFleUR6ZEVSKwp6T21yZ1Bx
Sn5BQ1Y7dkZ3ejNpcCstQ0VoQzEkezwmUHtmTUJqanAjekpGcms5MmVOc1hhX3J+b0dFREBvMXlB
R3wKek5GQzBQQklLMFchej5jRnA/OThmO2khJl93WnRpeGowPnxITjVDOzUlQnpGdGwlRG47VXEq
SEYwRjFXaUpLcHN3CnpoUzRqa3lmd2wlPDg8dGs4OW5fPjJWfkhCQCtMbmNoellAMilJamFUX0tt
JTZSPTRhSnJCe3E4R1k4YVpyWGkjNAp6Q2lQYDVVOGtjdjx0O2clbTB7MUpZZSNpbXs5eU0mbkxS
MDQ8N1E4TmItVnA3O3xpez1Ue0hyM0ImWER9QW9LIVIKeip+RndQXitjYTNlTTtVQGx9Z3hTWXs8
eGZ5RSZoNF43QUsjRlhzRzNlZ01feVFGITBtQSs0Znp3UVhsJXlnM19jCnpPQlA3KW9Yd05mcFZm
V01ARXV2Yy03X0hDMktPNUhEbkFmNVVDZVIpKDBUQ25qNitgYDxUfHo7Yno5d3BaQFlAUwp6cVUt
Q3J0PTVLSEZQQHtQRk18Jj93c3B4Q3drPyEpJi18STs1IV5FQip2dShXSjBhKXZmUSVydWI7Iz01
dHR5bnIKenN3MFFnY2B7ZEk4dShqJks+SyNDVlokfjhhcyZ0JnB8KmBlX1A1enJVfVlUQyk8eEhF
YVg5YUIlSUdRUzNERlVSCnp4Xlh8OGJLZG5Xa1JGc3IwYUFwQXZoNkw5OGNZX30tcTQ9YXBIYzxO
KjRnTlNqNis2fjdTd1BKJFp6QE1mKkxlXgp6b3ZZKzdjX2c+QW8je0RMPGRvaSlMMGcjfHA/Wm12
JEdhYj5ISXtfejZTSX54K1F2bWQrVXdwVmNTYFRgc0E4Tl8KengyYk5zRlNFfThUX2REPl4ofEBi
KnwkemQ0VHFqPW8mSiZeaHkwUmYkbjxyWk9KM3Y9LXBuYnt1QE97dE4oLWlMCnokRn4xK2ojb2xE
ZzMrc1F4MGImOVcqcmh1Vm11ZiVrWUQwTVgzTXxJQmJlX3RyYkhwITA7eDk/OyZxPihleWNpVwp6
TmcwJV9VPC1xbk4xeDljRXJVQDVYflQ4fEJuemVZY3w9OFMkdn15SyVwa1JXI0tJV1dTJF9fSj9m
dk9tNmlRR2QKekF1dWhCWlBTcTE4QGo3OVkrZWhvNGYjaWEoYUwtOWI9bkt4K0FaN216clJ9clBT
ayUwUVglJUNKU1opSU5LRUxxCnowQSpXKUduIT8kQCoyRXQ1KT90SF9jbEdjUTIxX3A0QCZRJCpI
RyQ+NGQ+c0l5UUskYTxeRHRAYzFxNzNeKmQkKAp6WTQzPyo5bnVUS2B1ZVNtPl5xZi0mUVZtMlA5
QnNOJXJDKnRpNSR+OUNwKF9aIXVtaDt5d1VNfnhvc09KOHN+VTMKelkhNUQ1d2wzcS1gT2J1cm85
dCpQZjFCZVRsK254X2ZvYmJrKCRYY05DfHFhbT0qX1ViLSRMM2xUZ2F8SkRlP15ECno1ZGUrY3JL
akNCZTdeO3xYMCpteFRgS2JLQlVGUGo4JUo3KUx9QS0mQXBKJjBIXyVtTGhaTHVyUkBSNX1lR2tZ
Wgp6JiVCI1oyUSUlQ1g1a2poLUA9RCs0UTRpYHRVQmRnZ21YJGdtUDhXfHVUZllxSnkjUitlRzRU
NW51UVZfOCVAI0oKempFUGNjN092czZqO1duOTEyVVYxK2o+KXdfS3FvfDJEIT59PEZwJlAlNSU3
bWZWYHtrZWhNQ2dvXmpGSyU3KlQ/Cnp1WkhscHdfKkZZOzNjQ2hibkNST20jdXAkMVpDIXFYY2l2
OXM1a3JDKDNAcHpBbmlFUGJJSXVTcUQ+Mk5kezNjSAp6JSltclRMKCF4c25+YFU0ZHpkaGU/ISYj
JC1kX28hRj1oczQ2a15mMXNLRlNgKVY7RkIqO3xiV3EhIWJtVWZaTGcKejR8Plp9U3Q0UzleeSpL
JHJIMGFUTVNIRmw/MWtgfkpWTWJMMUEmO21zbkhGbm13P2IldmQhRj9uS3dFJXFISmZ7CnpqQEJU
Yzx2OFMpLXxgM3swK1ZxfDReVk5ec1ZXbTQ/XnJoMmpeTVFBQSYxcDI+Q0wjJD5YSVVQNy0hd20m
Y3U7cAp6ZE5YdkxaX1VzUms1fUk0PXIzeTVMfmh5QS0pMH1wOzV7SXRDN3w4fl5DSk0rKUR5eWN6
PkZZV0c2VDBFSi1ST3UKelN2SUI9O2xnK1dRWH5pUlEjY0AoeGE1KDVZKzc/ez40RTdAZl4yJDgq
aGNyQCUwaHw4bUM8b3MwU2pnJTFZYHl5CnpgLWBCbkVDcEc0OWNeSmlXNk5tcjxIMmM8ZDJtTUlK
RX1XOCZpdE96UERyZUBUaShvWnl8PzloamFDNnRMbio+TAp6V3BzUSpSbVlWcm9xLXYtWDAjIzVK
KG9tfmhPVzhoZXtmfGhibn4tNmRAbVlMTXF8aCpZKiFwfFdIX15NWEMwRlgKejxLN3JrZ0p+Zn1w
TDwtQTdWfj9gX0YzO2UqezN3cFVIJDs0OD9PQm1UNXF1KEliQEdaWDZIc3opWEFBIU12aSV4CnpY
WG1ydnAqPUpFX1FzZ3J7WEVeQFQwZFJXcEt0UT4tPT11cSpGZCY+QUxASjIqcyo3fWVJeClgcHw8
YUZPY2Q3OQp6WEEzMGJtP2lnSV4zTmdBYSo7PzNycH5YbzIzPDZuPjJiKCtnUjw+MiRNbkZBVX1i
PTA+bHJHMF9aXitmRT9+aioKem8/SCpXM2BTPFE/UmBjWDY8VmVQbXBHO2VyeClUOGgpbjN0PyEh
SHxebmJ8NkV+PiVRVlBBdU5IfkIxcCRRPmh4Cno5MkstSjxiX0VPTmQ0SVlnK2U9bUZhdDhIWFEt
YXBEVDJXcD4pOCN0VSo/TEhTQHMjMGZzbUxFd2B0XjxuUmB9Mgp6XnhRRldPOSZ+YFFCaGRUei0t
NE4mQHU/Tzk3QiF7RChmeWlWQHd1T2Jqflp3eUxNRFJTM09ZTFYrYyYwPyVoeSUKelE5Wkp7cEdC
R2JXUjl1UnlfOzhGUkZDTWBLUHtPSVJLZThnMnRMKnNzfTZZdktyYG9MOUpCMit3X19uKDYtYmZn
CnpwKUxjbj9LNDJMZUNTJUpVZVdQMHNiYEY3X1pnXkpLNXZpZU1oIT5TNz1MQjNXU312fXl6LWQz
dV5JKG5iX2BpOQp6QlozQSYjdmIjbyVSRFNsKXlgTjdXPWtfNklkak9VSzJpT1N1QkRTN296N2dl
P2IrYH1eYGpyU3AzWSohQkA1VkUKekFmNUBsVWE+JF8wbkx0OHVPRihuQmN0eXphUTM5TD5vVnVo
dGxta2Aoc1h3MUB7blhuQ3N4MzskMT5PfEZ1cFUwCnpORUp2YnBSMUZYdH0qZiY5bDhXZ0hWPD5I
c2FUY0okfmZXYkZnQVRHYExhQFBTZ2tefiNfYVNSKWROdVBfOzdJXwp6dHAjTmgxS0FBNHVOTVEj
UXMtT0VGdCZuVj9XTEx0Pnc0OzRRZCpqaSo0Q1o5KTtqM2FfTnYwUSotK3xMNU50aTYKem4mUHo4
OD4zYVZNQExWJWo7RUpTRmg+QW5nZ1EoO1lTJmVjayUxVndaZkRWdU9La3JLRT5vYEVWMGY8WDAw
MDAwCkxOa3ZYWHUwbWpmYGo9OEEKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJjZXMvcmluZy5wbmcgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcmVzb3VyY2VzL3JpbmcucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2MWJiOTRlYmE4Njg5Yzlk
YTZkY2RhOGFhMzdiNGM4OWUxZTI2MmUKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDcxNQp6Y21W
OysweU89SlApPGg7M0t8TGswMDBlMU5KTFRxMDAxZmcwMDFmbzFeQHM2I2x5KjQwMDAwMWI1Y2hf
MEl0cCkKej0+UHgjMjRZSmBMOyhLKXt7YTc+eXtENF4wMDBTYU5MaDBMMDFGY1UwMUZjVjBHZ1pf
MDAwMDdiVipHYDJpZ1NfCnoxfnZ8IzZlMWA5MDBLKSVMX3QobyFffUZ3UFROb3ZoUURLeFIlRWJY
TEBiT2NRWFlhPSRkOzliR0cmV3xHRGs/PQp6bT8jVHRIb3BRN1ZUcEVSS15ae3xMQGdFV2EkSWd0
dGBwbHlaMDlWSXU0Q1dOfE19MGdAM0Y5a05QNjlDcGJ6WXQKekxvOzleUUdDQVk5SV8lPG5EYVZg
ez1TcTJtbEEreVdwQmBjLXhMOXMwKVZHTFlZbVZ0Pj5GXksyVXYxSS1VRlFfCnp7flpCJHo9Tmgy
d1ojIXwwKnNkY3xDQV5gRSlBT1d4PStCfjA9TyZTUmlaZHFhdmNITXorZUlOdnFiVEpWYkJHVAp6
QmpCNHZAdD19fnhDMENgZkhQc0dBbWt4MVU4WjBUU09FQHokR290VDttSSVTUkkhQSpLZGZnMVBq
ej1aa2VCTyoKejFraF88Pkt0eCNsKk8tVCgoQz5MS0FEcVJufUdCdmAofW9KT0I4PmVRJmpKdVdq
KG9STkpyVTJFMEMrSW58a31pCno4Mzl3T2k+YX1JREFQeWttSGNiZkRiSHp2Py1JcjVzaUoqYkt2
aEZKN087aVljVCpwbGdJQ2xTY0o2UilkMi1ebAp6TW97bkVmJTtRUytMTzh7Yj8qTylEKFE4djFD
S3hOczZRLTJLayNmSDl2VDJAOEZxYWhlUTV5Yjk3RGpDZ2J5QHEKejA5V1Yob3RkJHQyN3A/SVNw
WkRUOzdKMk9FeUU7eioxd3l6R15sR1cpd2xuNWNTeGMqJFNTNkdqY1Q/UjZfWl5LCnoxfnF+WGRg
bmRkWUpFRF5TRldubHpUPz9IUDV5eXVyXjAlMnNENyFebj9wT0NjMlFpOS1XYkBpWmZVRUUxRVhm
NQp6T2syOVMpM35rTDAkQ3xubWhFZG1ZKXdsaSRhdUAlMmNBOEw5KVhLaG1NJVRfcTZsUUJxQilk
Sj9ORVEpKFJqQW0KeGphPHwyWD9BUGUxS2l3PzRIPn1Be2R8KUhkfUFOUHtzTHo3OXM1NTdMe3RD
KDAwMm92UERITGtWMW40R0d8dkQ0CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay1leHBlY3RlZC1t
aXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1h
c2stZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDcyZmU5MGExOGY3YjFhYzVj
OGI5NDZjOTViY2ZhZTg3OWUwODc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1hc2stZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAt
MCwwICsxLDQyIEBACis8IURPQ1RZUEU+CisKKzxodG1sPgorPGhlYWQ+CisgIDx0aXRsZT5TaW1w
bGUgY29tcG9zaXRlZCBtYXNrczwvdGl0bGU+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVk
aWE9InNjcmVlbiI+CisgICAgICAjY29udGFpbmVyIHsKKyAgICAgICAgaGVpZ2h0OiA3NjBweDsK
KyAgICAgICAgd2lkdGg6IDI2MHB4OworICAgICAgICBib3JkZXI6IHNvbGlkIGJsYWNrOworICAg
ICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICB9CisgICAgICAuYm94IHsKKyAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhl
aWdodDogMjAwcHg7CisgICAgICAgIG1hcmdpbjogMzBweDsKKyAgICAgICAgYm9yZGVyOiAxMHB4
IHNvbGlkIGJsYWNrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAwLCAxMDAsIDI1
NSwgMC44KTsKKyAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgICAg
ICAtd2Via2l0LWJveC1zaGFkb3c6IGJsYWNrIDAgNHB4IDRweDsKKyAgICAgIH0KKworICAgICAg
I2NvbnRhaW5lciAubWFza2VkIHsKKyAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwocmVz
b3VyY2VzL2FscGhhLWdyYWRpZW50LnBuZyk7CisgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6
IHJlcGVhdDsKKyAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDUwcHg7CisgICAgICB9CisgICAg
ICAKKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCisgIDxwPlRlc3RpbmcgbWFza3Mgb24g
Y29tcG9zaXRpbmcgbGF5ZXJzLjwvcD4KKyAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICAgIDxk
aXYgY2xhc3M9Im1hc2tlZCBib3giPjwvZGl2PgorICAgICAgPGRpdiBjbGFzcz0ibWFza2VkIGJv
eCI+PC9kaXY+CisgICAgICA8ZGl2IGNsYXNzPSJtYXNrZWQgYm94Ij48L2Rpdj4KKyAgPC9kaXY+
CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9z
aW1wbGUtY29tcG9zaXRlZC1tYXNrLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxl
LWNvbXBvc2l0ZWQtbWFzay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiNTRkMTkyMGMwMmY4MTU3Mjg2N2Ix
ZGE2YTZhYjJiZWViMWZjMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9DVFlQ
RT4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHRpdGxlPlNpbXBsZSBjb21wb3NpdGVkIG1hc2tzPC90
aXRsZT4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAgICNj
b250YWluZXIgeworICAgICAgICBoZWlnaHQ6IDc2MHB4OworICAgICAgICB3aWR0aDogMjYwcHg7
CisgICAgICAgIGJvcmRlcjogc29saWQgYmxhY2s7CisgICAgICAgIGRpc3BsYXk6IGlubGluZS1i
bG9jazsKKyAgICAgIH0KKyAgICAgIC5ib3ggeworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAg
bWFyZ2luOiAzMHB4OworICAgICAgICBib3JkZXI6IDEwcHggc29saWQgYmxhY2s7CisgICAgICAg
IGJhY2tncm91bmQtY29sb3I6cmdiYSgxMDAsIDEwMCwgMjU1LCAwLjgpOworICAgICAgICAtd2Vi
a2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzog
YmxhY2sgMCA0cHggNHB4OworICAgICAgfQorCisgICAgICAjY29udGFpbmVyIC5tYXNrZWQtcHgg
eworICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChyZXNvdXJjZXMvYWxwaGEtZ3JhZGll
bnQucG5nKTsKKyAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogcmVwZWF0OworICAgICAgICAt
d2Via2l0LW1hc2stc2l6ZTogLXdlYmtpdC1jYWxjKDUwcHgpOworICAgICAgfQorICAgICAgCisg
ICAgICAjY29udGFpbmVyIC5tYXNrZWQtcGVyY2VudCB7CisgICAgICAgIC13ZWJraXQtbWFzay1p
bWFnZTogdXJsKHJlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcpOworICAgICAgICAtd2Via2l0
LW1hc2stcmVwZWF0OiByZXBlYXQ7CisgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAtd2Via2l0
LWNhbGMoMjUlKTsKKyAgICAgIH0KKyAgICAgIAorICAgICAgI2NvbnRhaW5lciAubWFza2VkLXBl
cmNlbnQtcHggeworICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChyZXNvdXJjZXMvYWxw
aGEtZ3JhZGllbnQucG5nKTsKKyAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogcmVwZWF0Owor
ICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogLXdlYmtpdC1jYWxjKDEwJSArIDMwcHgpOworICAg
ICAgfQorICAgIAorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKyAgPHA+VGVzdGluZyBt
YXNrcyBvbiBjb21wb3NpdGluZyBsYXllcnMuPC9wPgorICA8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgICAgPGRpdiBjbGFzcz0ibWFza2VkLXB4IGJveCI+PC9kaXY+CisgICAgICA8ZGl2IGNsYXNz
PSJtYXNrZWQtcGVyY2VudCBib3giPjwvZGl2PgorICAgICAgPGRpdiBjbGFzcz0ibWFza2VkLXBl
cmNlbnQtcHggYm94Ij48L2Rpdj4KKyAgPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxjcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2FsY3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFiMzQwYzMxNDBmNmQyNTI4MjkyNTBjMzk0MDgyNTMwNjYxMWNmZDMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2FsY3MtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsOSBAQAorQWxsIHRhYmxlIGNlbGxzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4
IGFuZCBncmVlbi4KKworY29udHJvbCB3aWR0aDoxMDBweCA9PiBGQUlMOiBoZWlnaHQgd2FzIG5v
dCAxMDAJc2ltcGxlIDEwMHB4ID0+IEZBSUw6IHdpZHRoIHdhcyBub3QgMTAwLCBoZWlnaHQgd2Fz
IG5vdCAxMDAJMjVweCAqIDQgPT4gRkFJTDogd2lkdGggd2FzIG5vdCAxMDAsIGhlaWdodCB3YXMg
bm90IDEwMAorY29udHJvbCBoZWlnaHQ6MTAwcHggPT4gRkFJTDogd2lkdGggd2FzIG5vdCAxMDAJ
c2ltcGxlIDEwMHB4ID0+IEZBSUw6IHdpZHRoIHdhcyBub3QgMTAwCTI1cHggKiA0ID0+IEZBSUw6
IHdpZHRoIHdhcyBub3QgMTAwCitjb250cm9sIHdpZHRoOjI1JSA9PiBGQUlMOiBoZWlnaHQgd2Fz
IG5vdCAxMDAJc2ltcGxlIDI1JSA9PiBGQUlMOiB3aWR0aCB3YXMgbm90IDEwMCwgaGVpZ2h0IHdh
cyBub3QgMTAwCTEwJSAqIDIgKyA1JSA9PiBGQUlMOiB3aWR0aCB3YXMgbm90IDEwMCwgaGVpZ2h0
IHdhcyBub3QgMTAwCitjb250cm9sIGhlaWdodDoyNSUgPT4gRkFJTDogd2lkdGggd2FzIG5vdCAx
MDAKK3NpbXBsZSAyNSUgPT4gRkFJTDogd2lkdGggd2FzIG5vdCAxMDAsIGhlaWdodCB3YXMgbm90
IDEwMAorMTAlICogMiArIDUlID0+IEZBSUw6IHdpZHRoIHdhcyBub3QgMTAwLCBoZWlnaHQgd2Fz
IG5vdCAxMDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxlLWNhbGNz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2FsY3MuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wNDE4N2VmYTAxMTI4ZjE0M2MyOWI0NDA3YzdlYTFlNWUxYTgyOGZkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxlLWNhbGNzLmh0bWwKQEAgLTAsMCArMSwx
MDAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHN0eWxlPgorLndpZHRoLXRlc3QgeworICAgIHBhZGRp
bmc6IDA7CisgICAgd2lkdGg6IC13ZWJraXQtY2FsYygyNTZweCk7IAorICAgIGhlaWdodDogLXdl
YmtpdC1jYWxjKDEwMHB4KTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9CisKKy53aWR0
aC1wZXJjZW50LXRlc3QgeworICAgIHBhZGRpbmc6IDA7CisgICAgaGVpZ2h0OiAtd2Via2l0LWNh
bGMoMTAwcHgpOworICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKK30KKworLmhlaWdodC10ZXN0
IHsKKyAgICBwYWRkaW5nOiAwOworICAgIHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHgpOworICAg
IGhlaWdodDogLXdlYmtpdC1jYWxjKDI1NnB4KTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
Cit9CisKKy5oZWlnaHQtcGVyY2VudC10ZXN0IHsKKyAgICBwYWRkaW5nOiAwOworICAgIHdpZHRo
OiAtd2Via2l0LWNhbGMoMTAwcHgpOworICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKK30KKwor
PC9zdHlsZT4KKworPHA+CisgIEFsbCB0YWJsZSBjZWxscyBiZWxvdyBzaG91bGQgYmUgMTAwcHgg
KiAxMDBweCBhbmQgZ3JlZW4uCis8L3A+CisKKzxkaXYgaWQ9InRlc3QiPgorICAgIDx0YWJsZT4K
KyAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0
aDogMTAwcHg7Ij5jb250cm9sIHdpZHRoOjEwMHB4PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9
IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KTsiPnNpbXBsZSAx
MDBweDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6
IC13ZWJraXQtY2FsYygyNXB4ICogNCk7Ij4yNXB4ICogNDwvdGQ+CisgICAgICA8L3RyPgorICAg
IDwvdGFibGU+CisgICAgPHRhYmxlPgorICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0i
aGVpZ2h0LXRlc3QiIHN0eWxlPSJoZWlnaHQ6IDEwMHB4OyI+Y29udHJvbCBoZWlnaHQ6MTAwcHg8
L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0iaGVpZ2h0LXRlc3QiIHN0eWxlPSJoZWlnaHQ6IC13
ZWJraXQtY2FsYygxMDBweCk7Ij5zaW1wbGUgMTAwcHg8L3RkPgorICAgICAgICAgIDx0ZCBjbGFz
cz0iaGVpZ2h0LXRlc3QiIHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQtY2FsYygyNXB4ICogNCk7Ij4y
NXB4ICogNDwvdGQ+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPHRhYmxlIHN0eWxl
PSJ3aWR0aDo0MTBweDsgYm9yZGVyLXNwYWNpbmc6IDJweCAycHgiPgorICAgICAgPHRyPgorICAg
ICAgICAgIDx0ZCBjbGFzcz0id2lkdGgtcGVyY2VudC10ZXN0IiBzdHlsZT0id2lkdGg6IDI1JTsi
PmNvbnRyb2wgd2lkdGg6MjUlPC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXBlcmNl
bnQtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMjUlKTsiPnNpbXBsZSAyNSU8L3Rk
PgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lkdGgtcGVyY2VudC10ZXN0IiBzdHlsZT0id2lkdGg6
IC13ZWJraXQtY2FsYygxMCUgKiAyICsgNSUpOyI+MTAlICogMiArIDUlPC90ZD4KKyAgICAgIDwv
dHI+CisgICAgPC90YWJsZT4KKyAgICAKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDQxNnB4Ij4K
KyAgICAgIDx0YWJsZSBzdHlsZT0iaGVpZ2h0OiAyNSUiPgorICAgICAgICAgIDx0cj48dGQgY2xh
c3M9ImhlaWdodC1wZXJjZW50LXRlc3QiPmNvbnRyb2wgaGVpZ2h0OjI1JTwvdGQ+PC90cj4KKyAg
ICAgIDwvdGFibGU+CisgICAgPC9kaXY+CisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA0MTZweCI+
CisgICAgICA8dGFibGUgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDI1JSk7Ij4KKyAgICAg
ICAgICA8dHI+PHRkIGNsYXNzPSJoZWlnaHQtcGVyY2VudC10ZXN0Ij5zaW1wbGUgMjUlPC90ZD48
L3RyPgorICAgICAgPC90YWJsZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6
IDQxNnB4Ij4KKyAgICAgIDx0YWJsZSBzdHlsZT0iaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAlICog
MiArIDUlKSk7Ij4KKyAgICAgICAgICA8dHI+PHRkIGNsYXNzPSJoZWlnaHQtcGVyY2VudC10ZXN0
Ij4xMCUgKiAyICsgNSU8L3RkPjwvdHI+CisgICAgICA8L3RhYmxlPgorICAgIDwvZGl2PgorPC9k
aXY+CisKKzxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisKK3ZhciBjZWxscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoInRkIik7Citmb3IgKHZhciBpID0gMDsgaSA8IGNlbGxzLmxlbmd0aDsg
KytpKSB7CisgICAgdmFyIGNlbGwgPSBjZWxsc1tpXTsKKyAgICB2YXIgd2lkdGggPSBjZWxsLm9m
ZnNldFdpZHRoOworICAgIHZhciBoZWlnaHQgPSBjZWxsLm9mZnNldEhlaWdodDsKKworICAgIHZh
ciBlcnJvciA9IFtdOworICAgIGlmICh3aWR0aCAhPSAxMDApCisgICAgICAgIGVycm9yLnB1c2go
IndpZHRoIHdhcyBub3QgMTAwIik7CisgICAgaWYgKGhlaWdodCAhPSAxMDApCisgICAgICAgIGVy
cm9yLnB1c2goImhlaWdodCB3YXMgbm90IDEwMCIpOworCisgICAgcmVzdWx0cyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CisgICAgaWYgKGVycm9yID09ICIiKSB7CisgICAg
ICAgIGNlbGwuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAgICAgICAgY2VsbC5p
bm5lckhUTUwgKz0gIiA9PiBQQVNTIjsKKyAgICB9IGVsc2UKKyAgICAgICAgY2VsbC5pbm5lckhU
TUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsKK30KKzwvc2NyaXB0PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy90YWJsZS1lbXB0eS1jZWxscy1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWNjZTY4MTJkM2IwNzkyMjQ0MzY4ZGI4NmMxNDJjZjFmYWQxMGFlZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy1leHBlY3Rl
ZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMjQyIEBACis8aHRtbD48aGVhZD4KKzxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+IAorCisucGVyY2VudCB7IHdpZHRoOjUwJTsgfQorLmZpeGVkIHsgd2lk
dGg6NDAwcHg7IH0KKy5jZWxsMiB7aGVpZ2h0OjI1cHg7IGJhY2tncm91bmQtY29sb3I6IGFxdWEg
fQorLmJvcmRlciB7IGJvcmRlcjogMnB4IHNvbGlkIGdyZWVuIH0gCisucGFkZGluZyB7IHBhZGRp
bmc6IDJweCB9IAorLm1hcmdpbiB7IG1hcmdpbjogMnB4IH0gCisuYmdjb2xvciB7IGJhY2tncm91
bmQtY29sb3I6IHllbGxvdyB9IAorLnByZSB7IHdoaXRlLXNwYWNlOiBwcmUgfQordGFibGUgeyBi
b3JkZXI6IDJweCBzb2xpZCBibGFjayB9CisKKzwvc3R5bGU+Cis8Ym9keSBsZWZ0bWFyZ2luPSIw
IiB0b3BtYXJnaW49IjAiPgorCisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9
IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3Rk
PgorPHRkIGNsYXNzPSJjZWxsMiI+Rmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25kIGF1dG8gd2lkdGg8
L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAi
IGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9
ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0
eSwgc2Vjb25kIHBlcmNlbnQgd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgor
Cis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8
dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIg
Zml4ZWQiPkZpcnN0IGNlbGwgZW1wdHksIHNlY29uZCBmaXhlZCB3aWR0aDwvdGQ+Cis8L3RyPgor
PC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9
IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcHJlIj4g
PC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSAod2l0aCBz
cGFjZSkgYW5kIGhhcyB3aGl0ZS1zcGFjZTpwcmU8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3Rh
YmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAw
JSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIHByZSI+PC90ZD4KKzx0ZCBjbGFz
cz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSAobm8gc3BhY2UpIGFuZCBoYXMgd2hp
dGUtc3BhY2U6cHJlPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlk
PWMgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+
Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIGJvcmRlciI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwy
IHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBib3JkZXI8L3RkPgorPC90cj4KKzwv
dGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgaWQ9YyBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp
bmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcGFk
ZGluZyI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkg
YnV0IGhhcyBwYWRkaW5nPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxl
IGlkPWMgY2VsbHBhZGRpbmc9IjEiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVy
Y2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgdGFibGUgaGFzIGNlbGxwYWRkaW5nPC90ZD4KKzwvdHI+
Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNlbGxz
cGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwx
Ij4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgdGFi
bGUgaGFzIGNlbGxzcGFjaW5nPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRh
YmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8
dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIG1hcmdpbiI+IDwvdGQ+Cis8dGQgY2xhc3M9
ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBtYXJnaW48L3RkPgorPC90
cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgaWQ9ZSBjZWxscGFkZGluZz0iMCIgY2Vs
bHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2Vs
bDEgYmdjb2xvciI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwg
ZW1wdHkgYnV0IGhhcyBiYWNrZ3JvdW5kIGNvbG9yPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90
YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEw
MCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9
ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgor
PHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IHRleHQgPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVy
Y2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBub3QgZW1wdHk8L3RkPgorPC90cj4KKzwvdGJv
ZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3
aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0
ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIGVtcHR5PC90ZD4K
KzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIg
cGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPC90Ym9k
eT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdp
ZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIi
PiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5LCBoYXMg
Y29sc3BhbjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0
ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+IHRleHQgPC90ZD4KKzx0
ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIGVtcHR5LCBzZWNv
bmQgY2VsbCBub24tZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiIGNv
bHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+U2Vjb25kIHJvdywgZmlyc3QgY2Vs
bCBlbXB0eSB3aXRoIGNvbHNwYW49MjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisK
Kzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0
Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDIiPiB0ZXh0IDwvdGQ+Cis8dGQgY2xhc3M9ImNl
bGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBj
ZWxsIG5vbi1lbXB0eSwgc2Vjb25kIGNlbGwgZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBj
bGFzcz0iY2VsbDEiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+U2Vjb25k
IHJvdywgZmlyc3QgY2VsbCBlbXB0eSB3aXRoIGNvbHNwYW49MjwvdGQ+Cis8L3RyPgorPC90Ym9k
eT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdp
ZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRk
IGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJv
dywgZmlyc3QgYW5kIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xh
c3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+
U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNvbHNwYW49MjwvdGQ+Cis8L3RyPgor
PC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9
IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3Rk
PgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZp
cnN0IHJvdywgZmlyc3QgYW5kIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8
dGQgY2xhc3M9ImNlbGwxIHBlcmNlbnQiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJj
ZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3Bhbj0y
IGFuZCBwZXJjZW50IHdpZHRoPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRh
YmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5
PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90
ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBhbmQgc2Vjb25k
IGNlbGwgZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgZml4ZWQiIGNv
bHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBm
aXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3Bhbj0yIGFuZCBmaXhlZCB3aWR0aDwvdGQ+Cis8L3Ry
PgorPC90Ym9keT4KKzwvdGFibGU+CisKK09uZSBlbXB0eSBjZWxsOgorPHRhYmxlIGNlbGxwYWRk
aW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRk
IGNsYXNzPSIiPiA8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCitUd28gZW1wdHkg
Y2VsbHM6Cis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAw
JSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9IiI+IDwvdGQ+Cis8dGQgY2xhc3M9IiI+IDwv
dGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTc3
YWRlYzdjNDYyMTQ5ZjU0Y2IzMDViZWFlNzg0YjZiYTk1ZGEwOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy5odG1sCkBAIC0wLDAgKzEs
MjQyIEBACis8aHRtbD48aGVhZD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+IAorCisucGVyY2Vu
dCB7IHdpZHRoOi13ZWJraXQtY2FsYyg1MCUpOyB9CisuZml4ZWQgeyB3aWR0aDotd2Via2l0LWNh
bGMoNDAwcHgpOyB9CisuY2VsbDIge2hlaWdodDotd2Via2l0LWNhbGMoMjVweCk7IGJhY2tncm91
bmQtY29sb3I6IGFxdWEgfQorLmJvcmRlciB7IGJvcmRlcjogLXdlYmtpdC1jYWxjKDJweCkgc29s
aWQgZ3JlZW4gfSAKKy5wYWRkaW5nIHsgcGFkZGluZzogLXdlYmtpdC1jYWxjKDJweCkgfSAKKy5t
YXJnaW4geyBtYXJnaW46IC13ZWJraXQtY2FsYygycHgpIH0gCisuYmdjb2xvciB7IGJhY2tncm91
bmQtY29sb3I6IHllbGxvdyB9IAorLnByZSB7IHdoaXRlLXNwYWNlOiBwcmUgfQordGFibGUgeyBi
b3JkZXI6IC13ZWJraXQtY2FsYygycHgpIHNvbGlkIGJsYWNrIH0KKworPC9zdHlsZT4KKzxib2R5
IGxlZnRtYXJnaW49IjAiIHRvcG1hcmdpbj0iMCI+CisKKworPHRhYmxlIGNlbGxwYWRkaW5nPSIw
IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNz
PSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIj5GaXJzdCBjZWxsIGVtcHR5LCBzZWNv
bmQgYXV0byB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBj
ZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0
cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5G
aXJzdCBjZWxsIGVtcHR5LCBzZWNvbmQgcGVyY2VudCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9k
eT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdp
ZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRk
IGNsYXNzPSJjZWxsMiBmaXhlZCI+Rmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25kIGZpeGVkIHdpZHRo
PC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIw
IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNz
PSJjZWxsMSBwcmUiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxs
IGVtcHR5ICh3aXRoIHNwYWNlKSBhbmQgaGFzIHdoaXRlLXNwYWNlOnByZTwvdGQ+Cis8L3RyPgor
PC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9
IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcHJlIj48
L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IChubyBzcGFj
ZSkgYW5kIGhhcyB3aGl0ZS1zcGFjZTpwcmU8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxl
PgorCis8dGFibGUgaWQ9YyBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIx
MDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgYm9yZGVyIj4gPC90ZD4KKzx0
ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSBidXQgaGFzIGJvcmRlcjwv
dGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5n
PSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNs
YXNzPSJjZWxsMSBwYWRkaW5nIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmly
c3QgY2VsbCBlbXB0eSBidXQgaGFzIHBhZGRpbmc8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3Rh
YmxlPgorCis8dGFibGUgaWQ9YyBjZWxscGFkZGluZz0iMSIgY2VsbHNwYWNpbmc9IjAiIHdpZHRo
PSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNs
YXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5LCB0YWJsZSBoYXMgY2VsbHBhZGRp
bmc8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgaWQ9YyBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0
ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBj
ZWxsIGVtcHR5LCB0YWJsZSBoYXMgY2VsbHNwYWNpbmc8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8
L3RhYmxlPgorCis8dGFibGUgaWQ9YyBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdp
ZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgbWFyZ2luIj4gPC90
ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSBidXQgaGFzIG1h
cmdpbjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1lIGNlbGxw
YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgor
PHRkIGNsYXNzPSJjZWxsMSBiZ2NvbG9yIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2Vu
dCI+Rmlyc3QgY2VsbCBlbXB0eSBidXQgaGFzIGJhY2tncm91bmQgY29sb3I8L3RkPgorPC90cj4K
KzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90
ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIGVtcHR5
PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gdGV4dCA8L3RkPgorPHRkIGNs
YXNzPSJjZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIG5vdCBlbXB0eTwvdGQ+
Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2Vs
bHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2Vs
bDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGNl
bGwgZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRk
IGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIGVtcHR5PC90ZD4K
KzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxs
MSIgY29sc3Bhbj0iMiI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNl
bGwgZW1wdHksIGhhcyBjb2xzcGFuPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKwor
PHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRi
b2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIj4g
dGV4dCA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGNl
bGwgZW1wdHksIHNlY29uZCBjZWxsIG5vbi1lbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNs
YXNzPSJjZWxsMSIgY29sc3Bhbj0iMiI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIj5TZWNvbmQg
cm93LCBmaXJzdCBjZWxsIGVtcHR5IHdpdGggY29sc3Bhbj0yPC90ZD4KKzwvdHI+Cis8L3Rib2R5
PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lk
dGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMiI+IHRleHQgPC90ZD4K
Kzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJz
dCByb3csIGZpcnN0IGNlbGwgbm9uLWVtcHR5LCBzZWNvbmQgY2VsbCBlbXB0eTwvdGQ+Cis8L3Ry
PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSIgY29sc3Bhbj0iMiI+IDwvdGQ+Cis8dGQgY2xhc3M9
ImNlbGwyIj5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIGVtcHR5IHdpdGggY29sc3Bhbj0yPC90ZD4K
KzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxs
MSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVy
Y2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBhbmQgc2Vjb25kIGNlbGwgZW1wdHk8L3RkPgorPC90cj4K
Kzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJj
ZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3Bhbj0y
PC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIw
IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNz
PSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2Vs
bDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBhbmQgc2Vjb25kIGNlbGwgZW1wdHk8L3RkPgor
PC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcGVyY2VudCIgY29sc3Bhbj0iMiI+IDwvdGQ+
Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHks
IGhhcyBjb2xzcGFuPTIgYW5kIHBlcmNlbnQgd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8
L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0i
MTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFz
cz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZp
cnN0IGFuZCBzZWNvbmQgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJj
ZWxsMSBmaXhlZCIgY29sc3Bhbj0iMiI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQi
PlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHksIGhhcyBjb2xzcGFuPTIgYW5kIGZpeGVkIHdp
ZHRoPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworT25lIGVtcHR5IGNlbGw6Cis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9IiI+IDwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+
CisKK1R3byBlbXB0eSBjZWxsczoKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9
IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iIj4gPC90ZD4KKzx0
ZCBjbGFzcz0iIj4gPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzwvYm9keT4KKzwv
aHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124071</attachid>
            <date>2012-01-26 00:55:17 -0800</date>
            <delta_ts>2012-01-26 09:43:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57082-20120126195514.patch</filename>
            <type>text/plain</type>
            <size>59285</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1ODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDYyZTljYThiODg0NWU5
NDkwZGRjOTdlYzMzY2EzZWNlN2ExZGZlMy4uODU4ZGUxMGU2NjA2Y2E2Mzk1ZGMwNWFiMjE4NjZl
ODcyZGZiOTAwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwOCBAQAorMjAxMi0wMS0yNiAgTWlr
ZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBjYWxj
IHBhcnNpbmcgc3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3MDgyCisKKyAgICAgICAgVGhpcyBpcyB0aGUgcGFyc2luZyBzdGFnZSBvZiBjYWxj
LiBUaGUgZXhwcmVzc2lvbnMgYXJlIGV2YWx1YXRlZCBhbmQgCisgICAgICAgIGV4cHJlc3Npb24g
dHJlZXMgYXJlIGdlbmVyYXRlZC4gQ1NTIHZhbHVlcyBhcmUgbm90IGNyZWF0ZWQgeWV0IC0gdGhh
dAorICAgICAgICB3aWxsIGhhcHBlbiBpbiBhIHN1YnNlcXVlbnQgY29tbWl0LiAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBmdW5jdGlvbmFsIGNo
YW5nZSAtIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMgaW4gTGF5b3V0VGVzdHMvY3NzMy9jYWxj
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0NhbGNWYWx1ZS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjp1bml0Q2F0
ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjdXN0b21Dc3NUZXh0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6fkNTU0NhbGNFeHByZXNz
aW9uTm9kZSk6CisgICAgICAgIChDU1NDYWxjUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNQcmltaXRpdmVWYWx1ZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKCk6Cisg
ICAgICAgIChDU1NDYWxjQmluYXJ5T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNCaW5hcnlPcGVyYXRpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uKToKKyAgICAgICAgKENTU0NhbGNN
aW5NYXhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNNaW5NYXhMaXN0OjpDU1NDYWxj
TWluTWF4TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6YXBwZW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OmNoZWNrRGVwdGhBbmRJbmRleCk6CisgICAgICAgIChDU1ND
YWxjRXhwcmVzc2lvbk5vZGVQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyOjpwYXJzZUNhbGMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4
cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZU1pbk1heExpc3QpOgorICAgICAgICAoVmFsdWUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpvcGVyYXRvclZh
bHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFy
c2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6
OnBhcnNlVmFsdWVUZXJtKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9k
ZVBhcnNlcjo6cGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlQWRkaXRpdmVWYWx1ZUV4
cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2Vy
OjpwYXJzZVZhbHVlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5v
ZGVQYXJzZXI6OnBhcnNlVmFsdWVFeHByZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY1ZhbHVlLmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICgpOgorICAgICAgICAoQ1NTQ2FsY0V4cHJlc3Np
b25Ob2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6Y2F0ZWdv
cnkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlOjppc0ludCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6OmlzWmVybyk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZSk6
CisgICAgICAgIChDU1NDYWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVl
OjpjYXRlZ29yeSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmlzSW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Q1NTQ2FsY1ZhbHVlKToKKyAgICAgICAgKiBj
c3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6dmFsaWRVbml0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1Zh
bHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWxpZFByaW1pdGl2ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZpbGxQb3NpdGlvbkNvbXBvbmVudCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VkRG91YmxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aXNDYWxjTWluTWF4KToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6Y29sb3JJbnRGcm9tVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlSFNMUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNv
bnRleHQ6OlNoYWRvd1BhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dQYXJz
ZUNvbnRleHQ6OmNvbW1pdExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNv
bnRleHQ6OmNvbW1pdFN0eWxlKToKKyAgICAgICAgKFNoYWRvd1BhcnNlQ29udGV4dCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6
OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQ6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29t
bWl0TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRl
eHQ6OmNvbW1pdEJvcmRlckltYWdlU2xpY2UpOgorICAgICAgICAoQm9yZGVySW1hZ2VTbGljZVBh
cnNlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1h
Z2VTbGljZSk6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6
OkJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJ
bWFnZVF1YWRQYXJzZUNvbnRleHQ6OmNvbW1pdE51bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpC
b3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6OmNvbW1pdEJvcmRlckltYWdlUXVhZCk6CisgICAg
ICAgIChCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlQ2FsYyk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAoKToK
KyAgICAgICAgKENTU1BhcnNlcik6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Zh
bHVlOjpkZXN0cm95KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ZhbHVlOjppc0NhbGNWYWx1ZSk6CisgICAgICAgICgpOgorICAgICAgICAqIGNzcy9T
VkdDU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVNWR1Zh
bHVlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxjVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL0NhbGNWYWx1ZS5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoKToKKwogMjAxMi0wMS0yNSAgS2F1c3R1YmggQXRyYXdh
bGthciAgPGthdXN0dWJoQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW5uZWNlc3Nh
cnkgbWVtYmVyIHZhcmlhYmxlIGZyb20gUGx1Z2luVmlldy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggMzY2YzJhMDBjYjFlZTcyYTZjY2Q2ZWVmYTkzNTFkMzg2OWQwMWM2NC4uMWI3ZjFjNjI2ODM5
NDMzODI2NTU4OTE3MzRlYjQ4YTg1ZWJlNzBmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQy
OSw2ICs0MjksNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL0NTU0FzcGVjdFJhdGlv
VmFsdWUuY3BwCiAgICAgY3NzL0NTU0JvcmRlckltYWdlLmNwcAogICAgIGNzcy9DU1NCb3JkZXJJ
bWFnZVNsaWNlVmFsdWUuY3BwCisgICAgY3NzL0NTU0NhbGNWYWx1ZS5jcHAKICAgICBjc3MvQ1NT
Q2FudmFzVmFsdWUuY3BwCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmNwcAogICAgIGNzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMDQxLDYgKzEwNDIsNyBAQCBTRVQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCiAK
ICAgICBwbGF0Zm9ybS9BcmVuYS5jcHAKKyAgICBwbGF0Zm9ybS9DYWxjVmFsdWUuY3BwCiAgICAg
cGxhdGZvcm0vQ2xvY2suY3BwCiAgICAgcGxhdGZvcm0vQ29udGV4dE1lbnUuY3BwCiAgICAgcGxh
dGZvcm0vQ29udGV4dE1lbnVJdGVtLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5k
ZXggMjE5NTg2ZmQ0ODllMGU5MjlkYjZiNzAxZjk0OGEzNWJmNjBkYzAzMi4uNWY2ZTY2ZjFmYWNj
MTI5MmM3YTZhZjdkY2JmZWVjM2IxZWVmMGJmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCkBAIC0xMjg0LDYgKzEyODQsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hh
cnNldFJ1bGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaCBcCisJ
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDYWxjVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nyb3NzZmFkZVZhbHVlLmNwcCBc
CkBAIC0yNzg3LDYgKzI3ODksOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0FzeW5jRmlsZVN5c3RlbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJh
aW5lZFBvb2wuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBcCisJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0Nsb2NrLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2xvY2suaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmNwcCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRl
eCA4Yzg1ODMxN2ZlNTI1NzE5ZmJhNDU4N2MxMjZmYzBlZmRlNTU3ZTAyLi5jYmI4NDk2YjNkODhk
NjQ3ZDIyMDNmY2UxOGM1MzA2YTkzNzM1MGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTM5NSw2ICszOTUs
NyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgXAogICAg
IGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQm9yZGVySW1h
Z2UuY3BwIFwKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0NhbnZhc1Zh
bHVlLmNwcCBcCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBcCiAgICAgY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgXApAQCAtMTAyNiw2ICsxMDI3LDcgQEAgU09VUkNFUyAr
PSBcCiAgICAgcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlTm9uZS5jcHAgXAogICAgIHBsYXRm
b3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAgXAogICAgIHBsYXRmb3JtL3RleHQvUXVv
dGVkUHJpbnRhYmxlLmNwcCBcCisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBcCiAgICAgcGxh
dGZvcm0vQ2xvY2suY3BwIFwKICAgICBwbGF0Zm9ybS9DbG9ja0dlbmVyaWMuY3BwIFwKICAgICBw
bGF0Zm9ybS9Db250ZW50VHlwZS5jcHAgXApAQCAtMTUwNSw3ICsxNTA3LDEwIEBAIHY4IHsKIEhF
QURFUlMgKz0gXAogICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmggXAogICAgIGNzcy9DU1NC
b3JkZXJJbWFnZVNsaWNlVmFsdWUuaCBcCisgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBc
CiAgICAgY3NzL0NTU0JvcmRlckltYWdlLmggXAorICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVl
LmggXAorICAgIGNzcy9DU1NDYWxjVmFsdWUuaCBcCiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmgg
XAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5oIFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmggXApAQCAtMjA3NCw2ICsyMDc5LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxh
dGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oIFwKICAgICBwbGF0Zm9ybS9BcmVu
YS5oIFwKICAgICBwbGF0Zm9ybS9Bc3luY0ZpbGVTdHJlYW0uaCBcCisgICAgcGxhdGZvcm0vQ2Fs
Y1ZhbHVlLmggXAogICAgIHBsYXRmb3JtL0Nsb2NrLmggXAogICAgIHBsYXRmb3JtL0Nsb2NrR2Vu
ZXJpYy5oIFwKICAgICBwbGF0Zm9ybS9Db250ZW50VHlwZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRl
eCAxYzg4NDIxOWEzMzc2MTAzMjg5MjRlYjJlZTI2ZWU2ZGFmOTUyZmRhLi5jZDc1Njg1YmM3YzVm
YjhhNDczZGI4OTZmYzI5ZGY2MTZjYzZmMmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xOTgzLDYg
KzE5ODMsOCBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCcs
CiAgICAgICAgICAgICAnY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnY3Nz
L0NTU0NhbnZhc1ZhbHVlLmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NDYWxjVmFsdWUuY3BwJywK
KyAgICAgICAgICAgICdjc3MvQ1NTQ2FsY1ZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1ND
aGFyc2V0UnVsZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5oJywKICAg
ICAgICAgICAgICdjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCcsCkBAIC0yNzEz
LDYgKzI3MTUsOCBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgnLAorICAgICAgICAgICAgJ3BsYXRm
b3JtL0NhbGNWYWx1ZS5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL0NhbGNWYWx1ZS5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9DbG9jay5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L0Nsb2NrLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0NvbnRlbnRUeXBlLmNwcCcsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDM5MzYwMTNh
MDY3MDE4Y2FkYWQ3YTlhNGU0MDhjN2U1NDdkODg2M2IuLmFkMTQ3MGJhYTE5MjMyYTI4MzZiNWYw
ZTNkOWUzNWJjNzcxOTc0ZDAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCkBAIC0yNjM1MCw2ICsyNjM1MCwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxDYWxjVmFsdWUuY3BwIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9y
bVxDYWxjVmFsdWUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGxhdGZvcm1cQ2xvY2suY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTMyNjk0
LDYgKzMyNzAyLDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGNzc1xDU1NDYWxjVmFsdWUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2FsY1ZhbHVlLmgiCisJCQkJPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NDYW52YXNWYWx1
ZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk5ZThlM2Y3ZjFkYzY4
NzYxNWQwZGFiMzFiMDU3YzI5MDE3MTZhZGMuLmZkM2NhMzdjNTZlYTkyZjc0ZWNkYTAyZjhjYTQy
YjdmYWJjOGVkODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTEyMjYsNiArMTIyNiwxMCBAQAogCQk0OTlCM0VENjEyOENEMzE0
MDBFNzI2QzIgLyogR3JhcGhpY3NMYXllckNBLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OUIzRUQ0MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGlj
c0xheWVyQ0EuY3BwICovOyB9OwogCQk0OTlCM0VENzEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhp
Y3NMYXllckNBLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OTlCM0VENTEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhpY3NMYXllckNBLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDk5QjNFREQxMjhEQjUw
MjAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FBbmltYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OUIzRURDMTI4REI1MDEwMEU3MjZDMiAvKiBQbGF0
Zm9ybUNBQW5pbWF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJNDlBRTJEOEUxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ4QzEz
NEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmNwcCAqLzsgfTsKKwkJNDlBRTJEOEYxMzRF
RTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRTJEOEQxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNW
YWx1ZS5oICovOyB9OworCQk0OUFFMkQ5NjEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk0
MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3BwICovOyB9OworCQk0OUFFMkQ5NzEzNEVF
NUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ5NTEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmgg
Ki87IH07CiAJCTQ5QUYyRDY5MTQ0MzVEMDUwMDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUYy
RDY4MTQ0MzVEMDUwMDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCAqLzsgfTsKIAkJ
NDlBRjJENkMxNDQzNUQyMTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUFGMkQ2QjE0
NDM1RDIxMDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCAqLzsgfTsKIAkJ
NDlDN0I5OTMxMDQyRDJEMzAwMDlENDQ3IC8qIEpTV2ViR0xCdWZmZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDN0I5ODAxMDQyRDJEMzAwMDlE
NDQ3IC8qIEpTV2ViR0xCdWZmZXIuY3BwICovOyB9OwpAQCAtODAyNiw2ICs4MDMwLDEwIEBACiAJ
CTQ5OUIzRUQ0MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gR3JhcGhpY3NMYXllckNBLmNwcDsgcGF0aCA9
IGNhL0dyYXBoaWNzTGF5ZXJDQS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5
OUIzRUQ1MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gR3JhcGhpY3NMYXllckNBLmg7IHBhdGggPSBjYS9HcmFwaGlj
c0xheWVyQ0EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk5QjNFREMxMjhEQjUw
MTAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FBbmltYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gUGxhdGZvcm1DQUFuaW1hdGlvbi5oOyBwYXRoID0gY2EvUGxhdGZvcm1DQUFu
aW1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUFFMkQ4QzEzNEVFNTBD
MDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENTU0NhbGNWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQ5QUUyRDhEMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQ2FsY1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQ5QUUyRDk0MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FsY1ZhbHVlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOTUxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWxjVmFsdWUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlBRjJENjgxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3Bs
YXlSZWZyZXNoTW9uaXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNw
bGF5UmVmcmVzaE1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlBRjJE
NkIxNDQzNUQyMTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUM3Qjk4MDEwNDJEMkQzMDAwOUQ0
NDcgLyogSlNXZWJHTEJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1dlYkdMQnVmZmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5
NTczLDYgKzE5NTgxLDggQEAKIAkJCQk4OUQwOEQ5RDEyMjI4NDUxMDAxMjQxREYgLyogQXN5bmNG
aWxlU3lzdGVtLmggKi8sCiAJCQkJODlEMDhEOUUxMjIyODQ1MTAwMTI0MURGIC8qIEFzeW5jRmls
ZVN5c3RlbUNhbGxiYWNrcy5oICovLAogCQkJCTUxRTFFQ0IxMEM5MUM1NTYwMERDMjU1QiAvKiBB
dXRvZHJhaW5lZFBvb2wuaCAqLywKKwkJCQk0OUFFMkQ5NDEzNEVFNUY5MDA3MjkyMEEgLyogQ2Fs
Y1ZhbHVlLmNwcCAqLywKKwkJCQk0OUFFMkQ5NTEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVl
LmggKi8sCiAJCQkJQ0RFQTc2MzMxNDYwQjQ2MjAwOEIzMUYxIC8qIENsb2NrLmNwcCAqLywKIAkJ
CQlDREVBNzYyQzE0NjA4MjI0MDA4QjMxRjEgLyogQ2xvY2suaCAqLywKIAkJCQlDREVBNzYzMjE0
NjBBRTI5MDA4QjMxRjEgLyogQ2xvY2tHZW5lcmljLmNwcCAqLywKQEAgLTE5ODg0LDYgKzE5ODk0
LDggQEAKIAkJCQlFMTZBODRGODE0Qzg1Q0NDMDAyOTc3REYgLyogQ1NTQm9yZGVySW1hZ2UuaCAq
LywKIAkJCQlCQzI3NEIzMDE0MEVCRUQ4MDBFQURGQTYgLyogQ1NTQm9yZGVySW1hZ2VTbGljZVZh
bHVlLmNwcCAqLywKIAkJCQlCQzI3NEIyRTE0MEVCRUIyMDBFQURGQTYgLyogQ1NTQm9yZGVySW1h
Z2VTbGljZVZhbHVlLmggKi8sCisJCQkJNDlBRTJEOEMxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0Nh
bGNWYWx1ZS5jcHAgKi8sCisJCQkJNDlBRTJEOEQxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNW
YWx1ZS5oICovLAogCQkJCUJDNjA0QTQyMERCNTYzNEUwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1
ZS5jcHAgKi8sCiAJCQkJQkM2MDQ5Q0IwREI1NjBDMjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVl
LmggKi8sCiAJCQkJRTFFQkJCRDMwQUFDOUI4NzAwMUZFOEUyIC8qIENTU0NoYXJzZXRSdWxlLmNw
cCAqLywKQEAgLTIxMTE4LDYgKzIxMTMwLDcgQEAKIAkJCQkwNzUzODYwMzE0NDg5RTk4MDBCNzg0
NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IxNkMyODA5NzlD
M0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTNGMTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hlUG9saWN5LmggaW4gSGVhZGVycyAqLywK
KwkJCQk0OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCMUQ1RUNCNTEzNEI1OERBMDA4N0M3OEYgLyogQ2FsbGJhY2tGdW5jdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNkU0RTkxQUQxMEY3RkIzMTAwQTI3NzlDIC8qIENhbnZhc0NvbnRl
eHRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTQ4NEZDMjEwMkNGMjNDMDAxODdE
RDMgLyogQ2FudmFzR3JhZGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjEyMDYsNiArMjEyMTks
NyBAQAogCQkJCUNBRTlGOTEwMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTZBODRGQTE0Qzg1Q0NDMDAyOTc3REYgLyogQ1NTQm9y
ZGVySW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjc0QjJGMTQwRUJFQjIwMEVBREZBNiAv
KiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5QUUyRDhG
MTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
NjA0OUNDMERCNTYwQzIwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTgwRTZDRjkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0NoYXJzZXRSdWxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0VBNDc5MDA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI0MTQyLDYgKzI0MTU2LDcgQEAKIAkJ
MDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovID0gewogCQkJaXNh
ID0gUEJYUHJvamVjdDsKIAkJCWF0dHJpYnV0ZXMgPSB7CisJCQkJQnVpbGRJbmRlcGVuZGVudFRh
cmdldHNJblBhcmFsbGVsID0gWUVTOwogCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNDQwOwogCQkJ
fTsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDlDMjg0MzA4OTAyQjExMDA4QTlFRkMg
LyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJDb3JlIiAqLzsK
QEAgLTI0NTMwLDYgKzI0NTQ1LDcgQEAKIAkJCQk1MDM4QkU0MDE0NzJBRDk4MDA5NUUwRDEgLyog
Q2FjaGVkU2hhZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3NTM4NjAyMTQ0ODlFOTgwMEI3
ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMjcw
OTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCMTgyNzQ5MzEzNENBNEMxMDBCOThDMkQgLyogQ2FsbGJhY2tGdW5jdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTRFOTFBQzEwRjdGQjMxMDBBMjc3OUMgLyogQ2FudmFz
Q29udGV4dEF0dHJpYnV0ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0ODRGQzExMDJDRjIz
QzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjQ2MDUs
NiArMjQ2MjEsNyBAQAogCQkJCUNBRTlGOTBGMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RS
YXRpb1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNkE4NEY5MTRDODVDQ0MwMDI5NzdE
RiAvKiBDU1NCb3JkZXJJbWFnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzI3NEIzMTE0MEVC
RUQ4MDBFQURGQTYgLyogQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM2MDRBNDMwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxRUJCQkQ0MEFBQzlCODcwMDFGRThFMiAvKiBDU1ND
aGFyc2V0UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDc4RjA5N0NBQUM4MDA5NEM5
RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTkwZDA1MzNlZjI4YzY4MmFi
OTdlNWNlOWQ1YzA3NjY2MGFlMTdkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NhbGNWYWx1ZS5jcHAKQEAgLTAsMCArMSwzODEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCisKKyNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9y
LmgiCisjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCisjaW5jbHVkZSAiTGVuZ3RoLmgiCisKKyNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK3N0YXRpYyBjb25zdCBpbnQgbWF4RXhw
cmVzc2lvbkRlcHRoID0gMTAwOworCitlbnVtIFBhcnNlU3RhdGUgeworICAgIE9LLAorICAgIFRv
b0RlZXAsCisgICAgTm9Nb3JlVG9rZW5zCit9OworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
YXRpYyBDYWxjQ2F0ZWdvcnkgdW5pdENhdGVnb3J5KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlw
ZXMgdHlwZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfTlVNQkVSOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJf
SU5URUdFUjoKKyAgICAgICAgcmV0dXJuIENhbGNOdW1iZXI7CisgICAgY2FzZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U6CisgICAgICAgIHJldHVybiBDYWxjUGVyY2VudDsKKyAg
ICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19FWFM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYOgorICAg
IGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DTToKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfTU06CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOOgorICAgIGNh
c2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QVDoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUEM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6CisgICAgICAg
IHJldHVybiBDYWxjTGVuZ3RoOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBDYWxjT3Ro
ZXI7CisgICAgfQorfQorICAgIAorU3RyaW5nIENTU0NhbGNWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuICIiOworfQorICAgIAorQ1NTQ2FsY0V4cHJlc3Npb25Ob2Rl
Ojp+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKCkgCit7Cit9CisgICAgCitjbGFzcyBDU1NDYWxjUHJp
bWl0aXZlVmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKwor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNQcmltaXRpdmVWYWx1ZT4gY3JlYXRlKENTU1By
aW1pdGl2ZVZhbHVlKiB2YWx1ZSwgYm9vbCBpc0ludCkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKHZhbHVlLCBpc0ludCkpOworICAgIH0K
KyAgICAKKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiBtX3ZhbHVlLT5jc3NUZXh0KCk7CisgICAgfQorCisgICAgCitwcml2YXRlOgorICAg
IGV4cGxpY2l0IENTU0NhbGNQcmltaXRpdmVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUs
IGJvb2wgaXNJbnQpCisgICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKHVuaXRDYXRlZ29y
eSgoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2YWx1ZS0+cHJpbWl0aXZlVHlwZSgpKSwg
aXNJbnQpCisgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkgICAgICAgICAgICAgICAgIAorICAgIHsK
KyAgICB9CisKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fdmFsdWU7Cit9OworCitz
dGF0aWMgY29uc3QgQ2FsY0NhdGVnb3J5IGFkZFN1YnRyYWN0UmVzdWx0W0NhbGNPdGhlcl1bQ2Fs
Y090aGVyXSA9IHsKKyAgICB7Q2FsY051bWJlciwgICAgICAgIENhbGNPdGhlciwgICAgICAgICBD
YWxjUGVyY2VudE51bWJlciwgQ2FsY1BlcmNlbnROdW1iZXIsIENhbGNPdGhlcn0sCisgICAge0Nh
bGNPdGhlciwgICAgICAgICBDYWxjTGVuZ3RoLCAgICAgICAgQ2FsY1BlcmNlbnRMZW5ndGgsIENh
bGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudExlbmd0aH0sCisgICAge0NhbGNQZXJjZW50TnVt
YmVyLCBDYWxjUGVyY2VudExlbmd0aCwgQ2FsY1BlcmNlbnQsICAgICAgIENhbGNQZXJjZW50TnVt
YmVyLCBDYWxjUGVyY2VudExlbmd0aH0sCisgICAge0NhbGNQZXJjZW50TnVtYmVyLCBDYWxjT3Ro
ZXIsICAgICAgICAgQ2FsY1BlcmNlbnROdW1iZXIsIENhbGNQZXJjZW50TnVtYmVyLCBDYWxjT3Ro
ZXJ9LAorICAgIHtDYWxjT3RoZXIsICAgICAgICAgQ2FsY1BlcmNlbnRMZW5ndGgsIENhbGNQZXJj
ZW50TGVuZ3RoLCBDYWxjT3RoZXIsICAgICAgICAgQ2FsY1BlcmNlbnRMZW5ndGh9LAorfTsgICAg
CisgICAgCitjbGFzcyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uIDogcHVibGljIENTU0NhbGNFeHBy
ZXNzaW9uTm9kZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTQ2FsY0JpbmFy
eU9wZXJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBsZWZ0
U2lkZSwgUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHJpZ2h0U2lkZSwgQ2FsY09w
ZXJhdG9yIG9wKQorICAgIHsKKyAgICAgICAgQ2FsY0NhdGVnb3J5IGxlZnRDYXRlZ29yeSA9IGxl
ZnRTaWRlLT5jYXRlZ29yeSgpOworICAgICAgICBDYWxjQ2F0ZWdvcnkgcmlnaHRDYXRlZ29yeSA9
IHJpZ2h0U2lkZS0+Y2F0ZWdvcnkoKTsKKyAgICAgICAgQ2FsY0NhdGVnb3J5IG5ld0NhdGVnb3J5
ID0gQ2FsY090aGVyOworICAgICAgICAKKyAgICAgICAgQVNTRVJUKGxlZnRDYXRlZ29yeSAhPSBD
YWxjT3RoZXIgJiYgcmlnaHRDYXRlZ29yeSAhPSBDYWxjT3RoZXIpOworICAgICAgICAKKyAgICAg
ICAgc3dpdGNoIChvcCkgeworICAgICAgICBjYXNlIENhbGNBZGQ6CisgICAgICAgIGNhc2UgQ2Fs
Y1N1YnRyYWN0OiAgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0g
Q2FsY090aGVyIHx8IHJpZ2h0Q2F0ZWdvcnkgPT0gQ2FsY090aGVyKQorICAgICAgICAgICAgICAg
IHJldHVybiAwOworICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBhZGRTdWJ0cmFjdFJlc3VsdFts
ZWZ0Q2F0ZWdvcnldW3JpZ2h0Q2F0ZWdvcnldOworICAgICAgICAgICAgYnJlYWs7ICAgCisgICAg
ICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2FsY011bHRpcGx5OgorICAgICAgICAgICAgaWYg
KGxlZnRDYXRlZ29yeSAhPSBDYWxjTnVtYmVyICYmIHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJl
cikgCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IG5ld0NhdGVnb3J5ID0gbGVmdENhdGVnb3J5ID09IENhbGNOdW1iZXIgPyByaWdodENhdGVnb3J5
IDogbGVmdENhdGVnb3J5OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgCisg
ICAgICAgIGNhc2UgQ2FsY0RpdmlkZToKKyAgICAgICAgY2FzZSBDYWxjTW9kOgorICAgICAgICAg
ICAgaWYgKHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJlciB8fCByaWdodFNpZGUtPmlzWmVybygp
KQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBs
ZWZ0Q2F0ZWdvcnk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAKKyAg
ICAgICAgaWYgKG5ld0NhdGVnb3J5ID09IENhbGNPdGhlcikKKyAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAgICAgCisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY0JpbmFy
eU9wZXJhdGlvbihsZWZ0U2lkZSwgcmlnaHRTaWRlLCBvcCwgbmV3Q2F0ZWdvcnkpKTsKKyAgICB9
CisgICAgCitwcml2YXRlOgorICAgIENTU0NhbGNCaW5hcnlPcGVyYXRpb24oUGFzc1JlZlB0cjxD
U1NDYWxjRXhwcmVzc2lvbk5vZGU+IGxlZnRTaWRlLCBQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNz
aW9uTm9kZT4gcmlnaHRTaWRlLCBDYWxjT3BlcmF0b3Igb3AsIENhbGNDYXRlZ29yeSBjYXRlZ29y
eSkKKyAgICAgICAgOiBDU1NDYWxjRXhwcmVzc2lvbk5vZGUoY2F0ZWdvcnksIGxlZnRTaWRlLT5p
c0ludCgpICYmIHJpZ2h0U2lkZS0+aXNJbnQoKSkKKyAgICAgICAgLCBtX2xlZnRTaWRlKGxlZnRT
aWRlKQorICAgICAgICAsIG1fcmlnaHRTaWRlKHJpZ2h0U2lkZSkKKyAgICAgICAgLCBtX29wZXJh
dG9yKG9wKQorICAgIHsKKyAgICB9CisgICAgCisgICAgY29uc3QgUmVmUHRyPENTU0NhbGNFeHBy
ZXNzaW9uTm9kZT4gbV9sZWZ0U2lkZTsKKyAgICBjb25zdCBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Np
b25Ob2RlPiBtX3JpZ2h0U2lkZTsKKyAgICBjb25zdCBDYWxjT3BlcmF0b3IgbV9vcGVyYXRvcjsK
K307CisKK2NsYXNzIENTU0NhbGNNaW5NYXhMaXN0IDogcHVibGljIENTU0NhbGNFeHByZXNzaW9u
Tm9kZSB7CitwdWJsaWM6CisgICAgQ1NTQ2FsY01pbk1heExpc3QoQ2FsY0xpc3RUeXBlIHR5cGUp
CisgICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKENhbGNPdGhlciwgZmFsc2UpCisgICAg
ICAgICwgbV9saXN0VHlwZSh0eXBlKQorICAgIHsKKyAgICB9CisKKyAgICBib29sIGFwcGVuZChQ
YXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gdmFsdWUpIAorICAgIHsKKyAgICAgICAg
aWYgKCFtX2xpc3Quc2l6ZSgpKSB7CisgICAgICAgICAgICBtX2NhdGVnb3J5ID0gdmFsdWUtPmNh
dGVnb3J5KCk7CisgICAgICAgICAgICBtX2lzSW50ID0gdmFsdWUtPmlzSW50KCk7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICBtX2NhdGVnb3J5ID0gYWRkU3VidHJhY3RSZXN1bHRbbV9j
YXRlZ29yeV1bdmFsdWUtPmNhdGVnb3J5KCldOworICAgICAgICAgICAgbV9pc0ludCA9IG1faXNJ
bnQgJiYgdmFsdWUtPmlzSW50KCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmICht
X2NhdGVnb3J5ID09IENhbGNPdGhlcikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgCisgICAgICAgIG1fbGlzdC5hcHBlbmQodmFsdWUpOworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgQ2FsY0xpc3RUeXBlIG1fbGlzdFR5cGU7CisgICAgVmVj
dG9yPFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+ID4gbV9saXN0OworfTsKKworc3RhdGlj
IFBhcnNlU3RhdGUgY2hlY2tEZXB0aEFuZEluZGV4KGludCogZGVwdGgsIHVuc2lnbmVkIGluZGV4
LCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucykKK3sKKyAgICAoKmRlcHRoKSsrOworICAgIGlm
ICgqZGVwdGggPiBtYXhFeHByZXNzaW9uRGVwdGgpCisgICAgICAgIHJldHVybiBUb29EZWVwOwor
ICAgIGlmIChpbmRleCA+PSB0b2tlbnMtPnNpemUoKSkKKyAgICAgICAgcmV0dXJuIE5vTW9yZVRv
a2VuczsKKyAgICByZXR1cm4gT0s7Cit9CisKK2NsYXNzIENTU0NhbGNFeHByZXNzaW9uTm9kZVBh
cnNlciB7CitwdWJsaWM6CisgICAgUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHBh
cnNlQ2FsYyhDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucykKKyAgICB7CisgICAgICAgIHVuc2ln
bmVkIGluZGV4ID0gMDsKKyAgICAgICAgVmFsdWUgcmVzdWx0OworICAgICAgICBib29sIG9rID0g
cGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCAwLCAmaW5kZXgsICZyZXN1bHQpOworICAgICAg
ICBBU1NFUlQoaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICBpZiAoIW9rIHx8IGlu
ZGV4ICE9IHRva2Vucy0+c2l6ZSgpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJl
dHVybiByZXN1bHQudmFsdWU7CisgICAgfQorCisgICAgUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVz
c2lvbk5vZGU+IHBhcnNlTWluTWF4TGlzdChDYWxjTGlzdFR5cGUgdHlwZSwgQ1NTUGFyc2VyVmFs
dWVMaXN0KiB0b2tlbnMpCisgICAgeworICAgICAgICB1bnNpZ25lZCBpbmRleCA9IDA7CisgICAg
ICAgIFJlZlB0cjxDU1NDYWxjTWluTWF4TGlzdD4gcmVzdWx0ID0gYWRvcHRSZWYobmV3IENTU0Nh
bGNNaW5NYXhMaXN0KHR5cGUpKTsKKworICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUxpc3Qo
dG9rZW5zLCAwLCAmaW5kZXgsIHJlc3VsdC5nZXQoKSk7CisgICAgICAgIEFTU0VSVChpbmRleCA8
PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIGlmICghb2sgfHwgaW5kZXggIT0gdG9rZW5zLT5z
aXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAg
ICB9CisKK3ByaXZhdGU6CisgICAgc3RydWN0IFZhbHVlIHsKKyAgICAgICAgUmVmUHRyPENTU0Nh
bGNFeHByZXNzaW9uTm9kZT4gdmFsdWU7CisgICAgfTsKKworICAgIGNoYXIgb3BlcmF0b3JWYWx1
ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgdW5zaWduZWQgaW5kZXgpCisgICAgeworICAg
ICAgICBpZiAoaW5kZXggPj0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gdG9rZW5zLT52YWx1ZUF0KGluZGV4KTsK
KyAgICAgICAgaWYgKHZhbHVlLT51bml0ICE9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvcikKKyAg
ICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIHJldHVybiB2YWx1ZS0+aVZhbHVlOworICAg
IH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgdW5z
aWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgQ1NTUGFyc2VyVmFs
dWUqIHBhcnNlclZhbHVlID0gdG9rZW5zLT52YWx1ZUF0KCppbmRleCk7CisgICAgICAgIGlmIChw
YXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgfHwgcGFyc2VyVmFs
dWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBwYXJzZXJWYWx1ZS0+
Y3JlYXRlQ1NTVmFsdWUoKTsKKyAgICAgICAgaWYgKCF2YWx1ZSB8fCAhdmFsdWUtPmlzUHJpbWl0
aXZlVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBDU1NQcmlt
aXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1
ZSo+KHZhbHVlLmdldCgpKTsKKyAgICAgICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNQcmltaXRp
dmVWYWx1ZTo6Y3JlYXRlKHByaW1pdGl2ZVZhbHVlLCBwYXJzZXJWYWx1ZS0+aXNJbnQpOworCisg
ICAgICAgICsrKmluZGV4OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29s
IHBhcnNlVmFsdWVUZXJtKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVu
c2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIGlmIChjaGVja0Rl
cHRoQW5kSW5kZXgoJmRlcHRoLCAqaW5kZXgsIHRva2VucykgIT0gT0spCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7ICAgIAorICAgICAgICAKKyAgICAgICAgaWYgKG9wZXJhdG9yVmFsdWUodG9r
ZW5zLCAqaW5kZXgpID09ICcoJykgeworICAgICAgICAgICAgdW5zaWduZWQgY3VycmVudEluZGV4
ID0gKmluZGV4ICsgMTsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9r
ZW5zLCBkZXB0aCwgJmN1cnJlbnRJbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChvcGVyYXRvclZhbHVlKHRva2VucywgY3VycmVu
dEluZGV4KSAhPSAnKScpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAg
ICAgKmluZGV4ID0gY3VycmVudEluZGV4ICsgMTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHBhcnNlVmFsdWUodG9rZW5zLCBpbmRleCwgcmVz
dWx0KTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Np
b24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGluZGV4
LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYgKGNoZWNrRGVwdGhBbmRJbmRleCgm
ZGVwdGgsICppbmRleCwgdG9rZW5zKSAhPSBPSykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsg
ICAgCisKKyAgICAgICAgaWYgKCFwYXJzZVZhbHVlVGVybSh0b2tlbnMsIGRlcHRoLCBpbmRleCwg
cmVzdWx0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICB3aGlsZSAoKmlu
ZGV4IDwgdG9rZW5zLT5zaXplKCkgLSAxKSB7CisgICAgICAgICAgICBjaGFyIG9wZXJhdG9yQ2hh
cmFjdGVyID0gb3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCk7CisgICAgICAgICAgICBpZiAo
b3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY011bHRpcGx5ICYmIG9wZXJhdG9yQ2hhcmFjdGVyICE9
IENhbGNEaXZpZGUgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY01vZCkKKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICsrKmluZGV4OworCisgICAgICAgICAgICBWYWx1ZSBy
aHM7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVUZXJtKHRva2VucywgZGVwdGgsIGluZGV4
LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHJl
c3VsdC0+dmFsdWUgPSBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uOjpjcmVhdGUocmVzdWx0LT52YWx1
ZSwgcmhzLnZhbHVlLCBzdGF0aWNfY2FzdDxDYWxjT3BlcmF0b3I+KG9wZXJhdG9yQ2hhcmFjdGVy
KSk7CisgICAgICAgICAgICBpZiAoIXJlc3VsdC0+dmFsdWUpCisgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgQVNTRVJUKCppbmRleCA8PSB0b2tlbnMt
PnNpemUoKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VB
ZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRl
cHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBpZiAo
Y2hlY2tEZXB0aEFuZEluZGV4KCZkZXB0aCwgKmluZGV4LCB0b2tlbnMpICE9IE9LKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOyAgICAKKworICAgICAgICBpZiAoIXBhcnNlVmFsdWVNdWx0aXBs
aWNhdGl2ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsIHJlc3VsdCkpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgd2hpbGUgKCppbmRleCA8IHRva2Vucy0+c2l6
ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVyYXRvckNoYXJhY3RlciA9IG9wZXJhdG9y
VmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAgICAgaWYgKG9wZXJhdG9yQ2hhcmFjdGVy
ICE9IENhbGNBZGQgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY1N1YnRyYWN0KQorICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKysqaW5kZXg7CisKKyAgICAgICAgICAgIFZh
bHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVz
c2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgJnJocykpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgICAgICByZXN1bHQtPnZhbHVlID0gQ1NTQ2FsY0JpbmFyeU9wZXJh
dGlvbjo6Y3JlYXRlKHJlc3VsdC0+dmFsdWUsIHJocy52YWx1ZSwgc3RhdGljX2Nhc3Q8Q2FsY09w
ZXJhdG9yPihvcGVyYXRvckNoYXJhY3RlcikpOworICAgICAgICAgICAgaWYgKCFyZXN1bHQtPnZh
bHVlKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAg
IEFTU0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVMaXN0KENTU1BhcnNlclZhbHVlTGlzdCogdG9r
ZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgQ1NTQ2FsY01pbk1heExpc3QqIHJlc3Vs
dCkKKyAgICB7CisgICAgICAgIHdoaWxlICgqaW5kZXggPCB0b2tlbnMtPnNpemUoKSkgeworICAg
ICAgICAgICAgVmFsdWUgbmV4dDsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZUV4cHJlc3Np
b24odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZuZXh0KSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAgICAgICAgIGJvb2wgb2sgPSByZXN1bHQtPmFwcGVuZChuZXh0LnZhbHVl
KTsKKyAgICAgICAgICAgIGlmICghb2spCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgICAgICAgICBpZiAob3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCkgIT0gJywnKQor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKysqaW5kZXg7CisgICAgICAgIH0K
KworICAgICAgICBBU1NFUlQoKmluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlRXhwcmVzc2lvbihDU1NQYXJz
ZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiBy
ZXN1bHQpCisgICAgeworICAgICAgICByZXR1cm4gcGFyc2VBZGRpdGl2ZVZhbHVlRXhwcmVzc2lv
bih0b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0KTsKKyAgICB9Cit9OworCitQYXNzUmVmUHRy
PENTU0NhbGNWYWx1ZT4gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUoQ1NTUGFyc2VyU3RyaW5nIG5hbWUs
IENTU1BhcnNlclZhbHVlTGlzdCogcGFyc2VyVmFsdWVMaXN0KQoreyAgICAKKyAgICBDU1NDYWxj
RXhwcmVzc2lvbk5vZGVQYXJzZXIgcGFyc2VyOyAgICAKKyAgICBSZWZQdHI8Q1NTQ2FsY0V4cHJl
c3Npb25Ob2RlPiBleHByZXNzaW9uID0gMDsKKyAgICAKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UobmFtZSwgIi13ZWJraXQtY2FsYygiKSkKKyAgICAgICAgZXhwcmVzc2lvbiA9IHBhcnNlci5w
YXJzZUNhbGMocGFyc2VyVmFsdWVMaXN0KTsgICAgCisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmlu
Z0Nhc2UobmFtZSwgIi13ZWJraXQtbWluKCIpKQorICAgICAgICBleHByZXNzaW9uID0gcGFyc2Vy
LnBhcnNlTWluTWF4TGlzdChDYWxjTWluLCBwYXJzZXJWYWx1ZUxpc3QpOyAgICAKKyAgICBlbHNl
IGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiLXdlYmtpdC1tYXgoIikpCisgICAgICAgIGV4
cHJlc3Npb24gPSBwYXJzZXIucGFyc2VNaW5NYXhMaXN0KENhbGNNYXgsIHBhcnNlclZhbHVlTGlz
dCk7CisKKyAgICByZXR1cm4gZXhwcmVzc2lvbiA/IGFkb3B0UmVmKG5ldyBDU1NDYWxjVmFsdWUo
ZXhwcmVzc2lvbikpIDogMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NhbGNWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkNGM3ZmNkMGM1YmU1NDhjMTMwNDY4OThmMjgz
NTUyYjYxYTgyODEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2Fs
Y1ZhbHVlLmgKQEAgLTAsMCArMSw5OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTQ2FsY1ZhbHVlX2gKKyNkZWZpbmUg
Q1NTQ2FsY1ZhbHVlX2gKKworI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVlcy5oIgorI2luY2x1ZGUg
IkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7
CitjbGFzcyBDU1NWYWx1ZUxpc3Q7CitjbGFzcyBSZW5kZXJTdHlsZTsKK2NsYXNzIENhbGNWYWx1
ZTsKK2NsYXNzIENhbGNFeHByZXNzaW9uTm9kZTsKKworZW51bSBDYWxjQ2F0ZWdvcnkgeworICAg
IENhbGNOdW1iZXIgPSAwLAorICAgIENhbGNMZW5ndGgsCisgICAgQ2FsY1BlcmNlbnQsCisgICAg
Q2FsY1BlcmNlbnROdW1iZXIsCisgICAgQ2FsY1BlcmNlbnRMZW5ndGgsCisgICAgQ2FsY090aGVy
Cit9OworICAgIAorY2xhc3MgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIDogcHVibGljIFJlZkNvdW50
ZWQ8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiB7CitwdWJsaWM6CisgICAgCisgICAgdmlydHVhbCB+
Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKCkgPSAwOyAgICAKKyAgICAKKyAgICBDYWxjQ2F0ZWdvcnkg
Y2F0ZWdvcnkoKSBjb25zdCB7IHJldHVybiBtX2NhdGVnb3J5OyB9ICAgIAorICAgIGJvb2wgaXNJ
bnQoKSBjb25zdCB7IHJldHVybiBtX2lzSW50OyB9CisgICAgYm9vbCBpc1plcm8oKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQorICAgIAorcHJvdGVjdGVkOgorICAgIENTU0NhbGNFeHByZXNzaW9u
Tm9kZShDYWxjQ2F0ZWdvcnkgY2F0ZWdvcnksIGJvb2wgaXNJbnQpCisgICAgICAgIDogbV9jYXRl
Z29yeShjYXRlZ29yeSkKKyAgICAgICAgLCBtX2lzSW50KGlzSW50KQorICAgIHsKKyAgICB9Cisg
ICAgCisgICAgQ2FsY0NhdGVnb3J5IG1fY2F0ZWdvcnk7CisgICAgYm9vbCBtX2lzSW50OworfTsK
KyAgICAgICAgCitjbGFzcyBDU1NDYWxjVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gY3JlYXRlKENTU1BhcnNlclN0
cmluZyBuYW1lLCBDU1NQYXJzZXJWYWx1ZUxpc3QqKTsKKworICAgIENhbGNDYXRlZ29yeSBjYXRl
Z29yeSgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwcmVzc2lvbi0+Y2F0ZWdvcnkoKTsgfQorICAgIGJv
b2wgaXNJbnQoKSBjb25zdCB7IHJldHVybiBtX2V4cHJlc3Npb24tPmlzSW50KCk7IH0KKyAgICAg
ICAgCisgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKKyAgICAKK3ByaXZhdGU6ICAg
IAorICAgIENTU0NhbGNWYWx1ZShQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gZXhw
cmVzc2lvbikKKyAgICAgICAgOiBDU1NWYWx1ZShDYWxjQ2xhc3MpCisgICAgICAgICwgbV9leHBy
ZXNzaW9uKGV4cHJlc3Npb24pCisgICAgeworICAgIH0KKyAgICAKKyAgICBjb25zdCBSZWZQdHI8
Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBtX2V4cHJlc3Npb247Cit9OworICAgIAorfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTQ2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKaW5kZXggM2JlNzM0ZDg3YWI1ZmI2M2ZjMjk1YjQxYTRkYTYyYjIzYzdiMGM4Ni4u
ZGVkOTczOGE1ZGYzNDk1ZWZlMmI4ZWQyZDBhMmIwN2VkYTA4Y2RjOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKQEAgLTY5NSwxNyArNjk1LDUzIEBAIERvY3VtZW50KiBDU1NQYXJzZXI6OmZp
bmREb2N1bWVudCgpIGNvbnN0CiBib29sIENTU1BhcnNlcjo6dmFsaWRVbml0KENTU1BhcnNlclZh
bHVlKiB2YWx1ZSwgVW5pdHMgdW5pdGZsYWdzLCBib29sIHN0cmljdCkKIHsKICAgICBib29sIGIg
PSBmYWxzZTsKKyAgICBpZiAoaXNDYWxjTWluTWF4KHZhbHVlKSkgeworICAgICAgICBpZiAoIXBh
cnNlQ2FsYyh2YWx1ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAg
ICAgICBzd2l0Y2ggKG1fcGFyc2VkQ2FsYy0+Y2F0ZWdvcnkoKSkgeworICAgICAgICBjYXNlIENh
bGNMZW5ndGg6CisgICAgICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZMZW5ndGgpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnQ6CisgICAgICAgICAgICBiID0g
KHVuaXRmbGFncyAmIEZQZXJjZW50KTsKKyAgICAgICAgICAgIC8vIEZJWE1FIGNhbGMgKGh0dHA6
Ly93ZWJraXQub3JnL2IvMTY2NjIpOiB0ZXN0IEZOb25OZWcgaGVyZSwgZWcKKyAgICAgICAgICAg
IC8vIGlmIChiICYmICh1bml0ZmxhZ3MgJiBGTm9uTmVnKSAmJiBtX3BhcnNlZENhbGMtPmRvdWJs
ZVZhbHVlKCkgPCAwKQorICAgICAgICAgICAgLy8gICAgYiA9IGZhbHNlOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAgICAgIGIgPSAodW5pdGZs
YWdzICYgRk51bWJlcik7CisgICAgICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRl
Z2VyKSAmJiBtX3BhcnNlZENhbGMtPmlzSW50KCkpCisgICAgICAgICAgICAgICAgYiA9IHRydWU7
CisgICAgICAgICAgICAvLyBGSVhNRSBjYWxjIChodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyKTog
dGVzdCBGTm9uTmVnIGhlcmUsIGVnCisgICAgICAgICAgICAvLyBpZiAoYiAmJiAodW5pdGZsYWdz
ICYgRk5vbk5lZykgJiYgbV9wYXJzZWRDYWxjLT5kb3VibGVWYWx1ZSgpIDwgMCkKKyAgICAgICAg
ICAgIC8vICAgIGIgPSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENh
bGNQZXJjZW50TGVuZ3RoOgorICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGUGVyY2VudCkg
JiYgKHVuaXRmbGFncyAmIEZMZW5ndGgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgQ2FsY1BlcmNlbnROdW1iZXI6CisgICAgICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQZXJj
ZW50KSAmJiAodW5pdGZsYWdzICYgRk51bWJlcik7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBDYWxjT3RoZXI6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAg
ICAvLyBUT0RPOiBoYW5kbGUgRk5vbk5lZworICAgICAgICBpZiAoIWIpCisgICAgICAgICAgICBt
X3BhcnNlZENhbGMucmVsZWFzZSgpOworICAgICAgICByZXR1cm4gYjsKKyAgICB9CiAgICAgc3dp
dGNoICh2YWx1ZS0+dW5pdCkgewogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1C
RVI6CiAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRk51bWJlcik7Ci0gICAgICAgIGlmICghYiAm
JiAoKHVuaXRmbGFncyAmIChGTGVuZ3RoIHwgRkFuZ2xlIHwgRlRpbWUpKSAmJiAodmFsdWUtPmZW
YWx1ZSA9PSAwIHx8ICFzdHJpY3QpKSkgeworICAgICAgICBpZiAoIWIgJiYgKCh1bml0ZmxhZ3Mg
JiAoRkxlbmd0aCB8IEZBbmdsZSB8IEZUaW1lKSkgJiYgKCF2YWx1ZS0+ZlZhbHVlIHx8ICFzdHJp
Y3QpKSkgewogICAgICAgICAgICAgdmFsdWUtPnVuaXQgPSAodW5pdGZsYWdzICYgRkxlbmd0aCkg
PyBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
KCh1bml0ZmxhZ3MgJiBGQW5nbGUpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19ERUcgOiBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX01TKTsKICAgICAgICAgICAgIGIgPSB0cnVlOwogICAgICAgICB9
CiAgICAgICAgIGlmICghYiAmJiAodW5pdGZsYWdzICYgRkludGVnZXIpICYmIHZhbHVlLT5pc0lu
dCkKICAgICAgICAgICAgIGIgPSB0cnVlOwotICAgICAgICBicmVhazsKKyAgICAgICAgYnJlYWs7
ICAgICAgICAgICAgCiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U6
CiAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRlBlcmNlbnQpOwogICAgICAgICBicmVhazsKQEAg
LTc0NCw2ICs3ODAsMTQgQEAgYm9vbCBDU1NQYXJzZXI6OnZhbGlkVW5pdChDU1NQYXJzZXJWYWx1
ZSogdmFsdWUsIFVuaXRzIHVuaXRmbGFncywgYm9vbCBzdHJpY3QpCiAKIGlubGluZSBQYXNzUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBDU1NQYXJzZXI6OmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNW
YWx1ZShDU1NQYXJzZXJWYWx1ZSogdmFsdWUpCiB7CisgICAgaWYgKG1fcGFyc2VkQ2FsYykgewor
ICAgICAgICBBU1NFUlQoaXNDYWxjTWluTWF4KHZhbHVlKSk7CisgICAgICAgIC8vIEZJWE1FIGNh
bGMoKSBodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyOiBjcmVhdGUgYSBDU1NQcmltaXRpdmVWYWx1
ZSBoZXJlLCBpZQorICAgICAgICAvLyByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSht
X3BhcnNlZENhbGMucmVsZWFzZSgpKTsKKyAgICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsK
KyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgICAgICAgICAgICAgCiAgICAgQVNTRVJUKCh2
YWx1ZS0+dW5pdCA+PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUiAmJiB2YWx1ZS0+dW5p
dCA8PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0tIWikKICAgICAgICAgICAgfHwgKHZhbHVlLT51
bml0ID49IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVFVSTiAmJiB2YWx1ZS0+dW5pdCA8PSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVMpKTsKICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCktPmNy
ZWF0ZVZhbHVlKHZhbHVlLT5mVmFsdWUsIHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlOjpV
bml0VHlwZXM+KHZhbHVlLT51bml0KSk7CkBAIC04NDEsNiArODg1LDExIEBAIGlubGluZSBQYXNz
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlVmFsaWRQcmltaXRpdmUo
aW50IGlkLCBDU1NQCiAgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUo
dmFsdWUpOwogICAgIGlmICh2YWx1ZS0+dW5pdCA+PSBDU1NQYXJzZXJWYWx1ZTo6UV9FTVMpCiAg
ICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlQWxsb3dpbmdNYXJnaW5RdWly
ayh2YWx1ZS0+ZlZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUyk7CisgICAgaWYgKGlz
Q2FsY01pbk1heCh2YWx1ZSkpCisgICAgICAgIC8vIEZJWE1FIGNhbGMoKSAgaHR0cDovL3dlYmtp
dC5vcmcvYi8xNjY2MjogY3JlYXRlIGEgcHJpbWl0aXZlIHZhbHVlIGhlcmUsIGllCisgICAgICAg
IC8vIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1fcGFyc2VkQ2FsYy5yZWxlYXNl
KCkpOworICAgICAgICBtX3BhcnNlZENhbGMucmVsZWFzZSgpOworCiAgICAgcmV0dXJuIDA7CiB9
CiAKQEAgLTg1NCw2ICs5MDMsMTAgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHBy
b3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCisgICAgLy8gTm90ZTogbV9wYXJzZWRDYWxjIGlzIHVzZWQgdG8gcGFzcyB0aGUgY2Fs
YyB2YWx1ZSB0byB2YWxpZFVuaXQgYW5kIHRoZW4gY2xlYXJlZCBhdCB0aGUgZW5kIG9mIHRoaXMg
ZnVuY3Rpb24uCisgICAgLy8gRklYTUU6IFRoaXMgaXMgdG8gYXZvaWQgaGF2aW5nIHRvIHBhc3Mg
cGFyc2VkQ2FsYyB0byBhbGwgdmFsaWRVbml0IGNhbGxlcnMuCisgICAgQVNTRVJUKCFtX3BhcnNl
ZENhbGMpOworICAgIAogICAgIGludCBpZCA9IHZhbHVlLT5pZDsKIAogICAgIC8vIEluIHF1aXJr
cyBtb2RlLCB3ZSB3aWxsIGxvb2sgZm9yIHVuaXRzIHRoYXQgaGF2ZSBiZWVuIGluY29ycmVjdGx5
IHNlcGFyYXRlZCBmcm9tIHRoZSBudW1iZXIgdGhleSBiZWxvbmcgdG8KQEAgLTIyNzgsNiArMjMz
MSw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0
YW50KQogICAgICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlVmFsaWRQcmltaXRpdmUoaWQsIHZhbHVl
KTsKICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICB9CisgICAgQVNTRVJUKCFtX3Bh
cnNlZENhbGMpOwogICAgIGlmIChwYXJzZWRWYWx1ZSkgewogICAgICAgICBpZiAoIW1fdmFsdWVM
aXN0LT5jdXJyZW50KCkgfHwgaW5TaG9ydGhhbmQoKSkgewogICAgICAgICAgICAgYWRkUHJvcGVy
dHkocHJvcElkLCBwYXJzZWRWYWx1ZS5yZWxlYXNlKCksIGltcG9ydGFudCk7CkBAIC0yOTg1LDgg
KzMwMzksMTEgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUZpbGxQb3Np
dGlvbkNvbXBvbmVudChDU1NQYXJzZXJWYWx1ZUxpc3QqIHYKICAgICAgICAgfSBlbHNlIGlmIChj
dW11bGF0aXZlRmxhZ3MgJiAoWEZpbGxQb3NpdGlvbiB8IEFtYmlndW91c0ZpbGxQb3NpdGlvbikp
IHsKICAgICAgICAgICAgIGN1bXVsYXRpdmVGbGFncyB8PSBZRmlsbFBvc2l0aW9uOwogICAgICAg
ICAgICAgaW5kaXZpZHVhbEZsYWcgPSBZRmlsbFBvc2l0aW9uOwotICAgICAgICB9IGVsc2UKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChtX3BhcnNlZENhbGMpCisgICAgICAgICAg
ICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKICAgICAgICAgICAgIHJldHVybiAwOworICAg
ICAgICB9CiAgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUodmFsdWVM
aXN0LT5jdXJyZW50KCkpOwogICAgIH0KICAgICByZXR1cm4gMDsKQEAgLTQ4NjgsMjIgKzQ5MjUs
NDkgQEAgYm9vbCBDU1NQYXJzZXI6OmZhc3RQYXJzZUNvbG9yKFJHQkEzMiYgcmdiLCBjb25zdCBT
dHJpbmcmIG5hbWUsIGJvb2wgc3RyaWN0KQogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9Cisg
ICAgCitpbmxpbmUgZG91YmxlIENTU1BhcnNlcjo6cGFyc2VkRG91YmxlKENTU1BhcnNlclZhbHVl
ICp2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlQ29uZGl0aW9uIHJlbGVhc2VDYWxjKQoreworICAg
IC8vIEZJWE1FIGNhbGMgKGh0dHA6Ly93ZWJraXQub3JnL2IvMTY2NjIpOiBldmFsdWF0ZSBjYWxj
IGhlcmUsIGVnCisgICAgLy8gY29uc3QgZG91YmxlIHJlc3VsdCA9IG1fcGFyc2VkQ2FsYyA/IG1f
cGFyc2VkQ2FsYy0+ZG91YmxlVmFsdWUoKSA6IHYtPmZWYWx1ZTsKKyAgICBjb25zdCBkb3VibGUg
cmVzdWx0ID0gbV9wYXJzZWRDYWxjID8gMCA6IHYtPmZWYWx1ZTsKKyAgICBpZiAocmVsZWFzZUNh
bGMgPT0gUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSkKKyAgICAgICAgbV9wYXJzZWRDYWxjLnJlbGVh
c2UoKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQogCi1zdGF0aWMgaW5saW5lIGludCBjb2xvcklu
dEZyb21WYWx1ZShDU1NQYXJzZXJWYWx1ZSogdikKK2Jvb2wgQ1NTUGFyc2VyOjppc0NhbGNNaW5N
YXgoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKSAKIHsKLSAgICBpZiAodi0+ZlZhbHVlIDw9IDAuMCkK
KyAgICByZXR1cm4gKHZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpGdW5jdGlvbikgCisg
ICAgICAgICYmIChlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Vi
a2l0LWNhbGMoIikKKyAgICAgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLT5mdW5j
dGlvbi0+bmFtZSwgIi13ZWJraXQtbWluKCIpCisgICAgICAgICAgICB8fCBlcXVhbElnbm9yaW5n
Q2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LW1heCgiKSk7Cit9CisKK2lubGlu
ZSBpbnQgQ1NTUGFyc2VyOjpjb2xvckludEZyb21WYWx1ZShDU1NQYXJzZXJWYWx1ZSogdikKK3sK
KyAgICBib29sIGlzUGVyY2VudDsKKyAgICAKKyAgICBpZiAobV9wYXJzZWRDYWxjKQorICAgICAg
ICBpc1BlcmNlbnQgPSBtX3BhcnNlZENhbGMtPmNhdGVnb3J5KCkgPT0gQ2FsY1BlcmNlbnQ7Cisg
ICAgZWxzZQorICAgICAgICBpc1BlcmNlbnQgPSB2LT51bml0ID09IENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUEVSQ0VOVEFHRTsKKworICAgIGNvbnN0IGRvdWJsZSB2YWx1ZSA9IHBhcnNlZERvdWJs
ZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKTsKKyAgICAKKyAgICBpZiAodmFsdWUgPD0gMC4w
KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmICh2LT51bml0ID09IENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUEVSQ0VOVEFHRSkgewotICAgICAgICBpZiAodi0+ZlZhbHVlID49IDEwMC4wKQor
ICAgIGlmIChpc1BlcmNlbnQpIHsKKyAgICAgICAgaWYgKHZhbHVlID49IDEwMC4wKQogICAgICAg
ICAgICAgcmV0dXJuIDI1NTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odi0+ZlZh
bHVlICogMjU2LjAgLyAxMDAuMCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHZh
bHVlICogMjU2LjAgLyAxMDAuMCk7CiAgICAgfQogCi0gICAgaWYgKHYtPmZWYWx1ZSA+PSAyNTUu
MCkKKyAgICBpZiAodmFsdWUgPj0gMjU1LjApCiAgICAgICAgIHJldHVybiAyNTU7CiAKLSAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2LT5mVmFsdWUpOworICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxpbnQ+KHZhbHVlKTsKIH0KIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3JQYXJhbWV0ZXJz
KENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgaW50KiBjb2xvckFycmF5LCBib29sIHBhcnNlQWxwaGEp
CkBAIC00ODk4LDYgKzQ5ODIsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRl
cnMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBpbnQqIGNvbG9yQXJyYXksIGJvbwogICAgICAgICB1
bml0VHlwZSA9IEZQZXJjZW50OwogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IAogICAgIGNvbG9yQXJyYXlbMF0gPSBjb2xvckludEZyb21WYWx1ZSh2KTsKICAgICBmb3IgKGlu
dCBpID0gMTsgaSA8IDM7IGkrKykgewogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwpAQCAtNDkx
NSw5ICs1MDAwLDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyhDU1NQ
YXJzZXJWYWx1ZSogdmFsdWUsIGludCogY29sb3JBcnJheSwgYm9vCiAgICAgICAgIHYgPSBhcmdz
LT5uZXh0KCk7CiAgICAgICAgIGlmICghdmFsaWRVbml0KHYsIEZOdW1iZXIsIHRydWUpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBjb25zdCBkb3VibGUgdmFsdWUgPSBwYXJz
ZWREb3VibGUodiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSk7CiAgICAgICAgIC8vIENvbnZlcnQg
dGhlIGZsb2F0aW5nIHBvaW50ZXIgbnVtYmVyIG9mIGFscGhhIHRvIGFuIGludGVnZXIgaW4gdGhl
IHJhbmdlIFswLCAyNTYpLAogICAgICAgICAvLyB3aXRoIGFuIGVxdWFsIGRpc3RyaWJ1dGlvbiBh
Y3Jvc3MgYWxsIDI1NiB2YWx1ZXMuCi0gICAgICAgIGNvbG9yQXJyYXlbM10gPSBzdGF0aWNfY2Fz
dDxpbnQ+KG1heCgwLjAsIG1pbigxLjAsIHYtPmZWYWx1ZSkpICogbmV4dGFmdGVyKDI1Ni4wLCAw
LjApKTsKKyAgICAgICAgY29sb3JBcnJheVszXSA9IHN0YXRpY19jYXN0PGludD4obWF4KDAuMCwg
bWluKDEuMCwgdmFsdWUpKSAqIG5leHRhZnRlcigyNTYuMCwgMC4wKSk7CiAgICAgfQogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtNDkzNSw3ICs1MDIxLDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNl
SFNMUGFyYW1ldGVycyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIGRvdWJsZSogY29sb3JBcnJheSwg
Ym8KICAgICBpZiAoIXZhbGlkVW5pdCh2LCBGTnVtYmVyLCB0cnVlKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIC8vIG5vcm1hbGl6ZSB0aGUgSHVlIHZhbHVlIGFuZCBjaGFuZ2UgaXQgdG8g
YmUgYmV0d2VlbiAwIGFuZCAxLjAKLSAgICBjb2xvckFycmF5WzBdID0gKCgoc3RhdGljX2Nhc3Q8
aW50Pih2LT5mVmFsdWUpICUgMzYwKSArIDM2MCkgJSAzNjApIC8gMzYwLjA7CisgICAgY29sb3JB
cnJheVswXSA9ICgoKHN0YXRpY19jYXN0PGludD4ocGFyc2VkRG91YmxlKHYsIFJlbGVhc2VQYXJz
ZWRDYWxjVmFsdWUpKSAlIDM2MCkgKyAzNjApICUgMzYwKSAvIDM2MC4wOwogICAgIGZvciAoaW50
IGkgPSAxOyBpIDwgMzsgaSsrKSB7CiAgICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CiAgICAgICAg
IGlmICh2LT51bml0ICE9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciAmJiB2LT5pVmFsdWUgIT0g
JywnKQpAQCAtNDk0Myw3ICs1MDI5LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlSFNMUGFyYW1l
dGVycyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIGRvdWJsZSogY29sb3JBcnJheSwgYm8KICAgICAg
ICAgdiA9IGFyZ3MtPm5leHQoKTsKICAgICAgICAgaWYgKCF2YWxpZFVuaXQodiwgRlBlcmNlbnQs
IHRydWUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBjb2xvckFycmF5W2ld
ID0gbWF4KDAuMCwgbWluKDEwMC4wLCB2LT5mVmFsdWUpKSAvIDEwMC4wOyAvLyBuZWVkcyB0byBi
ZSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEuMAorICAgICAgICBjb2xvckFycmF5W2ldID0gbWF4KDAu
MCwgbWluKDEwMC4wLCBwYXJzZWREb3VibGUodiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSkpKSAv
IDEwMC4wOyAvLyBuZWVkcyB0byBiZSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEuMAogICAgIH0KICAg
ICBpZiAocGFyc2VBbHBoYSkgewogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwpAQCAtNDk1Miw3
ICs1MDM4LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJW
YWx1ZSogdmFsdWUsIGRvdWJsZSogY29sb3JBcnJheSwgYm8KICAgICAgICAgdiA9IGFyZ3MtPm5l
eHQoKTsKICAgICAgICAgaWYgKCF2YWxpZFVuaXQodiwgRk51bWJlciwgdHJ1ZSkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGNvbG9yQXJyYXlbM10gPSBtYXgoMC4wLCBtaW4o
MS4wLCB2LT5mVmFsdWUpKTsKKyAgICAgICAgY29sb3JBcnJheVszXSA9IG1heCgwLjAsIG1pbigx
LjAsIHBhcnNlZERvdWJsZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKSkpOwogICAgIH0KICAg
ICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTUwMjAsOSArNTEwNiw5IEBAIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZUNvbG9yRnJvbVZhbHVlKENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgUkdCQTMyJiBjKQogLy8g
VGhpcyBjbGFzcyB0cmFja3MgcGFyc2luZyBzdGF0ZSBmb3Igc2hhZG93IHZhbHVlcy4gIElmIGl0
IGdvZXMgb3V0IG9mIHNjb3BlIChlLmcuLCBkdWUgdG8gYW4gZWFybHkgcmV0dXJuKQogLy8gd2l0
aG91dCB0aGUgYWxsb3dCcmVhayBiaXQgYmVpbmcgc2V0LCB0aGVuIGl0IHdpbGwgY2xlYW4gdXAg
YWxsIG9mIHRoZSBvYmplY3RzIGFuZCBkZXN0cm95IHRoZW0uCiBzdHJ1Y3QgU2hhZG93UGFyc2VD
b250ZXh0IHsKLSAgICBTaGFkb3dQYXJzZUNvbnRleHQoQ1NTUHJvcGVydHlJRCBwcm9wLCBDU1NW
YWx1ZVBvb2wqIGNzc1ZhbHVlUG9vbCkKKyAgICBTaGFkb3dQYXJzZUNvbnRleHQoQ1NTUHJvcGVy
dHlJRCBwcm9wLCBDU1NQYXJzZXIqIHBhcmVudCkKICAgICAgICAgOiBwcm9wZXJ0eShwcm9wKQot
ICAgICAgICAsIG1fY3NzVmFsdWVQb29sKGNzc1ZhbHVlUG9vbCkKKyAgICAgICAgLCBtX3BhcmVu
dChwYXJlbnQpCiAgICAgICAgICwgYWxsb3dYKHRydWUpCiAgICAgICAgICwgYWxsb3dZKGZhbHNl
KQogICAgICAgICAsIGFsbG93Qmx1cihmYWxzZSkKQEAgLTUwNjUsNyArNTE1MSw3IEBAIHN0cnVj
dCBTaGFkb3dQYXJzZUNvbnRleHQgewogCiAgICAgdm9pZCBjb21taXRMZW5ndGgoQ1NTUGFyc2Vy
VmFsdWUqIHYpCiAgICAgewotICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9
IG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZSh2LT5mVmFsdWUsIHN0YXRpY19jYXN0PENTU1By
aW1pdGl2ZVZhbHVlOjpVbml0VHlwZXM+KHYtPnVuaXQpKTsKKyAgICAgICAgUmVmUHRyPENTU1By
aW1pdGl2ZVZhbHVlPiB2YWwgPSBtX3BhcmVudC0+Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVl
KHYpOwogCiAgICAgICAgIGlmIChhbGxvd1gpIHsKICAgICAgICAgICAgIHggPSB2YWwucmVsZWFz
ZSgpOwpAQCAtNTEwNyw3ICs1MTkzLDcgQEAgc3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7CiAK
ICAgICB2b2lkIGNvbW1pdFN0eWxlKENTU1BhcnNlclZhbHVlKiB2KQogICAgIHsKLSAgICAgICAg
c3R5bGUgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKHYtPmlkKTsKKyAg
ICAgICAgc3R5bGUgPSBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJW
YWx1ZSh2LT5pZCk7CiAgICAgICAgIGFsbG93U3R5bGUgPSBmYWxzZTsKICAgICAgICAgaWYgKGFs
bG93WCkKICAgICAgICAgICAgIGFsbG93QnJlYWsgPSBmYWxzZTsKQEAgLTUxMTksNyArNTIwNSw3
IEBAIHN0cnVjdCBTaGFkb3dQYXJzZUNvbnRleHQgewogICAgIH0KIAogICAgIENTU1Byb3BlcnR5
SUQgcHJvcGVydHk7Ci0gICAgQ1NTVmFsdWVQb29sKiBtX2Nzc1ZhbHVlUG9vbDsKKyAgICBDU1NQ
YXJzZXIqIG1fcGFyZW50OwogCiAgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gdmFsdWVzOwogICAg
IFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4geDsKQEAgLTUxNDAsNyArNTIyNiw3IEBAIHN0cnVj
dCBTaGFkb3dQYXJzZUNvbnRleHQgewogCiBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFy
c2VyOjpwYXJzZVNoYWRvdyhDU1NQYXJzZXJWYWx1ZUxpc3QqIHZhbHVlTGlzdCwgaW50IHByb3BJ
ZCkKIHsKLSAgICBTaGFkb3dQYXJzZUNvbnRleHQgY29udGV4dChzdGF0aWNfY2FzdDxDU1NQcm9w
ZXJ0eUlEPihwcm9wSWQpLCBjc3NWYWx1ZVBvb2woKSk7CisgICAgU2hhZG93UGFyc2VDb250ZXh0
IGNvbnRleHQoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcElkKSwgdGhpcyk7CiAgICAg
Q1NTUGFyc2VyVmFsdWUqIHZhbDsKICAgICB3aGlsZSAoKHZhbCA9IHZhbHVlTGlzdC0+Y3VycmVu
dCgpKSkgewogICAgICAgICAvLyBDaGVjayBmb3IgYSBjb21tYSBicmVhayBmaXJzdC4KQEAgLTU1
MDcsOCArNTU5Myw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUmVwZWF0KFJl
ZlB0cjxDU1NWYWx1ZT4mIHJlc3VsdCkKIAogY2xhc3MgQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29u
dGV4dCB7CiBwdWJsaWM6Ci0gICAgQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dChDU1NWYWx1
ZVBvb2wqIGNzc1ZhbHVlUG9vbCkKLSAgICA6IG1fY3NzVmFsdWVQb29sKGNzc1ZhbHVlUG9vbCkK
KyAgICBCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0KENTU1BhcnNlciogcGFyZW50KQorICAg
IDogbV9wYXJlbnQocGFyZW50KQogICAgICwgbV9hbGxvd051bWJlcih0cnVlKQogICAgICwgbV9h
bGxvd0ZpbGwoZmFsc2UpCiAgICAgLCBtX2FsbG93RmluYWxDb21taXQoZmFsc2UpCkBAIC01NTIy
LDcgKzU2MDgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNvbW1pdE51bWJlcihDU1NQYXJzZXJW
YWx1ZSogdikKICAgICB7Ci0gICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsID0g
bV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHYtPmZWYWx1ZSwgc3RhdGljX2Nhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWU6OlVuaXRUeXBlcz4odi0+dW5pdCkpOworICAgICAgICBSZWZQdHI8Q1NTUHJp
bWl0aXZlVmFsdWU+IHZhbCA9IG1fcGFyZW50LT5jcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUo
dik7CiAgICAgICAgIGlmICghbV90b3ApCiAgICAgICAgICAgICBtX3RvcCA9IHZhbDsKICAgICAg
ICAgZWxzZSBpZiAoIW1fcmlnaHQpCkBAIC01NTY4LDExICs1NjU0LDExIEBAIHB1YmxpYzoKICAg
ICAgICAgcXVhZC0+c2V0TGVmdChtX2xlZnQpOwogCiAgICAgICAgIC8vIE1ha2Ugb3VyIG5ldyBi
b3JkZXIgaW1hZ2UgdmFsdWUgbm93LgotICAgICAgICByZXR1cm4gQ1NTQm9yZGVySW1hZ2VTbGlj
ZVZhbHVlOjpjcmVhdGUobV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHF1YWQucmVsZWFzZSgp
KSwgbV9maWxsKTsKKyAgICAgICAgcmV0dXJuIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6Y3Jl
YXRlKG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUocXVhZC5yZWxlYXNlKCkp
LCBtX2ZpbGwpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBDU1NWYWx1ZVBvb2wqIG1fY3NzVmFs
dWVQb29sOworICAgIENTU1BhcnNlciogbV9wYXJlbnQ7CiAKICAgICBib29sIG1fYWxsb3dOdW1i
ZXI7CiAgICAgYm9vbCBtX2FsbG93RmlsbDsKQEAgLTU1ODgsMTAgKzU2NzQsMTEgQEAgcHJpdmF0
ZToKIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VTbGljZShpbnQgcHJvcElkLCBS
ZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPiYgcmVzdWx0KQogewotICAgIEJvcmRlcklt
YWdlU2xpY2VQYXJzZUNvbnRleHQgY29udGV4dChjc3NWYWx1ZVBvb2woKSk7CisgICAgQm9yZGVy
SW1hZ2VTbGljZVBhcnNlQ29udGV4dCBjb250ZXh0KHRoaXMpOwogICAgIENTU1BhcnNlclZhbHVl
KiB2YWw7CiAgICAgd2hpbGUgKCh2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKSkgewotICAg
ICAgICBpZiAoY29udGV4dC5hbGxvd051bWJlcigpICYmIHZhbGlkVW5pdCh2YWwsIEZJbnRlZ2Vy
IHwgRk5vbk5lZyB8IEZQZXJjZW50LCB0cnVlKSkgeworICAgICAgICAvLyBGSVhNRSBjYWxjKCkg
aHR0cDovL3dlYmtpdC5vcmcvYi8xNjY2MiA6IGNhbGMgaXMgcGFyc2VkIGJ1dCB2YWx1ZXMgYXJl
IG5vdCBjcmVhdGVkIHlldC4KKyAgICAgICAgaWYgKGNvbnRleHQuYWxsb3dOdW1iZXIoKSAmJiAh
aXNDYWxjTWluTWF4KHZhbCkgJiYgdmFsaWRVbml0KHZhbCwgRkludGVnZXIgfCBGTm9uTmVnIHwg
RlBlcmNlbnQsIHRydWUpKSB7CiAgICAgICAgICAgICBjb250ZXh0LmNvbW1pdE51bWJlcih2YWwp
OwogICAgICAgICB9IGVsc2UgaWYgKGNvbnRleHQuYWxsb3dGaWxsKCkgJiYgdmFsLT5pZCA9PSBD
U1NWYWx1ZUZpbGwpCiAgICAgICAgICAgICBjb250ZXh0LmNvbW1pdEZpbGwoKTsKQEAgLTU2MjQs
OCArNTcxMSw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlU2xpY2UoaW50IHBy
b3BJZCwgUmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1CiAKIGNsYXNzIEJvcmRlckltYWdl
UXVhZFBhcnNlQ29udGV4dCB7CiBwdWJsaWM6Ci0gICAgQm9yZGVySW1hZ2VRdWFkUGFyc2VDb250
ZXh0KENTU1ZhbHVlUG9vbCogY3NzVmFsdWVQb29sKQotICAgIDogbV9jc3NWYWx1ZVBvb2woY3Nz
VmFsdWVQb29sKQorICAgIEJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dChDU1NQYXJzZXIqIHBh
cmVudCkKKyAgICA6IG1fcGFyZW50KHBhcmVudCkKICAgICAsIG1fYWxsb3dOdW1iZXIodHJ1ZSkK
ICAgICAsIG1fYWxsb3dGaW5hbENvbW1pdChmYWxzZSkKICAgICB7IH0KQEAgLTU2MzgsOSArNTcy
NSw5IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4g
dmFsOwogICAgICAgICBpZiAodi0+aWQgPT0gQ1NTVmFsdWVBdXRvKQotICAgICAgICAgICAgdmFs
ID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2LT5pZCk7CisgICAgICAg
ICAgICB2YWwgPSBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1
ZSh2LT5pZCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHZhbCA9IG1fY3NzVmFsdWVQb29s
LT5jcmVhdGVWYWx1ZSh2LT5mVmFsdWUsIHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlOjpV
bml0VHlwZXM+KHYtPnVuaXQpKTsKKyAgICAgICAgICAgIHZhbCA9IG1fcGFyZW50LT5jcmVhdGVQ
cmltaXRpdmVOdW1lcmljVmFsdWUodik7CiAKICAgICAgICAgaWYgKCFtX3RvcCkKICAgICAgICAg
ICAgIG1fdG9wID0gdmFsOwpAQCAtNTY4NCwxMSArNTc3MSwxMSBAQCBwdWJsaWM6CiAgICAgICAg
IHF1YWQtPnNldExlZnQobV9sZWZ0KTsKIAogICAgICAgICAvLyBNYWtlIG91ciBuZXcgdmFsdWUg
bm93LgotICAgICAgICByZXR1cm4gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHF1YWQucmVs
ZWFzZSgpKTsKKyAgICAgICAgcmV0dXJuIG1fcGFyZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRl
VmFsdWUocXVhZC5yZWxlYXNlKCkpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBDU1NWYWx1ZVBv
b2wqIG1fY3NzVmFsdWVQb29sOworICAgIENTU1BhcnNlciogbV9wYXJlbnQ7CiAKICAgICBib29s
IG1fYWxsb3dOdW1iZXI7CiAgICAgYm9vbCBtX2FsbG93RmluYWxDb21taXQ7CkBAIC01NzAxLDcg
KzU3ODgsNyBAQCBwcml2YXRlOgogCiBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVF1
YWQoVW5pdHMgdmFsaWRVbml0cywgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiYgcmVzdWx0KQog
ewotICAgIEJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dCBjb250ZXh0KGNzc1ZhbHVlUG9vbCgp
KTsKKyAgICBCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQgY29udGV4dCh0aGlzKTsKICAgICBD
U1NQYXJzZXJWYWx1ZSogdmFsOwogICAgIHdoaWxlICgodmFsID0gbV92YWx1ZUxpc3QtPmN1cnJl
bnQoKSkpIHsKICAgICAgICAgaWYgKGNvbnRleHQuYWxsb3dOdW1iZXIoKSAmJiAodmFsaWRVbml0
KHZhbCwgdmFsaWRVbml0cywgdHJ1ZSkgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUF1dG8pKSB7CkBA
IC03MzA1LDYgKzczOTIsMjMgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udFZhcmlhbnRMaWdh
dHVyZXMoYm9vbCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgQ1NTUGFy
c2VyOjpwYXJzZUNhbGMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKSAKK3sKKyAgICBBU1NFUlQoaXND
YWxjTWluTWF4KHZhbHVlKSk7CisgICAgCisgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzID0g
dmFsdWUtPmZ1bmN0aW9uLT5hcmdzLmdldCgpOworICAgIGlmICghYXJncyB8fCAhYXJncy0+c2l6
ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBBU1NFUlQoIW1fcGFyc2VkQ2FsYyk7
CisgICAgbV9wYXJzZWRDYWxjID0gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUodmFsdWUtPmZ1bmN0aW9u
LT5uYW1lLCBhcmdzKTsKKyAgICAKKyAgICBpZiAoIW1fcGFyc2VkQ2FsYykKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIAorICAgIHJldHVybiB0cnVlOworfQorICAgIAogc3RhdGljIGlubGlu
ZSBpbnQgeXllcnJvcihjb25zdCBjaGFyKikgeyByZXR1cm4gMTsgfQogCiAjZGVmaW5lIEVORF9U
T0tFTiAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggYTBkZjY5NjdjODQ5YTRlYzk4MjA4ODRh
NzY1YTFhYzk3MzRlZDA4My4uZTU2NDU4MGI1ZGRiOWEyODUxODRmYmQwNDBjZGZkZTEwMjQ5ZWQ3
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMjMsNiArMjMsNyBAQAogI2lmbmRlZiBDU1NQ
YXJzZXJfaAogI2RlZmluZSBDU1NQYXJzZXJfaAogCisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgi
CiAjaW5jbHVkZSAiQ1NTR3JhZGllbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVl
cy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5U291cmNlRGF0YS5oIgpAQCAtMjExLDYgKzIxMiw3
IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlVGV4dEVtcGhhc2lzU3R5bGUoYm9vbCBpbXBvcnRh
bnQpOwogCiAgICAgYm9vbCBwYXJzZUxpbmVCb3hDb250YWluKGJvb2wgaW1wb3J0YW50KTsKKyAg
ICBib29sIHBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1ZSopOwogCiAgICAgYm9vbCBwYXJzZUZvbnRG
ZWF0dXJlVGFnKENTU1ZhbHVlTGlzdCopOwogICAgIGJvb2wgcGFyc2VGb250RmVhdHVyZVNldHRp
bmdzKGJvb2wgaW1wb3J0YW50KTsKQEAgLTMyMiw2ICszMjQsOSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBjb3VudExpbmVzKCk7CiAgICAgaW50IGxleCgpOwogCisgICAgUGFzc1JlZlB0cjxDU1NQcmlt
aXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKik7
CisgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlU3RyaW5n
VmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKKyAgICAgICAgCiBwcml2YXRlOgogICAgIHZvaWQgc2V0
U3R5bGVTaGVldChDU1NTdHlsZVNoZWV0Kik7CiAgICAgdm9pZCBlbnN1cmVDU1NWYWx1ZVBvb2wo
KTsKQEAgLTM4OCw2ICszOTMsOCBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxPd25QdHI8Q1NTUGFy
c2VyU2VsZWN0b3I+ID4gbV9yZXVzYWJsZVNlbGVjdG9yVmVjdG9yOwogICAgIFZlY3RvcjxPd25Q
dHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4gbV9yZXVzYWJsZVJlZ2lvblNlbGVjdG9yVmVjdG9yOwog
CisgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9wYXJzZWRDYWxjOworCiAgICAgLy8gZGVmaW5l
cyB1bml0cyBhbGxvd2VkIGZvciBhIGNlcnRhaW4gcHJvcGVydHksIHVzZWQgaW4gcGFyc2VVbml0
CiAgICAgZW51bSBVbml0cyB7CiAgICAgICAgIEZVbmtub3duICAgPSAweDAwMDAsCkBAIC00MDcs
MTMgKzQxNCwxOCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VW5pdHM+
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihhKSB8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihiKSk7CiAg
ICAgfQogCi0gICAgc3RhdGljIGJvb2wgdmFsaWRVbml0KENTU1BhcnNlclZhbHVlKiwgVW5pdHMs
IGJvb2wgc3RyaWN0KTsKKyAgICBib29sIHZhbGlkVW5pdChDU1NQYXJzZXJWYWx1ZSosIFVuaXRz
LCBib29sIHN0cmljdCk7CiAKICAgICBib29sIHBhcnNlQm9yZGVySW1hZ2VRdWFkKFVuaXRzLCBS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+Jik7Ci0KLSAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKLSAg
ICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVTdHJpbmdWYWx1
ZShDU1NQYXJzZXJWYWx1ZSopOwotCisgICAgaW50IGNvbG9ySW50RnJvbVZhbHVlKENTU1BhcnNl
clZhbHVlKik7CisKKyAgICBlbnVtIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWVDb25kaXRpb24gewor
ICAgICAgICBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlLAorICAgICAgICBEb05vdFJlbGVhc2VQYXJz
ZWRDYWxjVmFsdWUKKyAgICB9OyAgICAKKyAgICBkb3VibGUgcGFyc2VkRG91YmxlKENTU1BhcnNl
clZhbHVlKiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZUNvbmRpdGlvbiByZWxlYXNlQ2FsYyA9IERv
Tm90UmVsZWFzZVBhcnNlZENhbGNWYWx1ZSk7CisgICAgYm9vbCBpc0NhbGNNaW5NYXgoQ1NTUGFy
c2VyVmFsdWUqKTsKKyAgICAKICAgICBmcmllbmQgY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9uSW5m
bzsKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgZnJpZW5kIGNsYXNzIEZpbHRlck9wZXJh
dGlvbkluZm87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCAwYjg4ZjU1MzQyZjYyMzExNWMw
MDFiNzkyYzk1NTQ4NTk4ZTY1ZWFlLi43MTNkY2QzMWY4YzU0ODY0NTYwMjRjZmE1ZTNlNTY3YWQx
Y2RkMzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2lu
Y2x1ZGUgIkNTU0FzcGVjdFJhdGlvVmFsdWUuaCIKICNpbmNsdWRlICJDU1NCb3JkZXJJbWFnZVNs
aWNlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDYW52
YXNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Nyb3NzZmFkZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NT
Q3Vyc29ySW1hZ2VWYWx1ZS5oIgpAQCAtMTQ5LDYgKzE1MCw4IEBAIFN0cmluZyBDU1NWYWx1ZTo6
Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NMaW5l
Qm94Q29udGFpblZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKICAgICBjYXNlIEZsZXhD
bGFzczoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0ZsZXhWYWx1ZSo+KHRo
aXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgY2FzZSBDYWxjQ2xhc3M6CisgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxjb25zdCBDU1NDYWxjVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgp
OwogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBjYXNlIFdlYktpdENTU0ZpbHRlckNsYXNz
OgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTRmlsdGVyVmFsdWUq
Pih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOwpAQCAtMjQ5LDYgKzI1Miw5IEBAIHZvaWQgQ1NTVmFs
dWU6OmRlc3Ryb3koKQogICAgIGNhc2UgRmxleENsYXNzOgogICAgICAgICBkZWxldGUgc3RhdGlj
X2Nhc3Q8Q1NTRmxleFZhbHVlKj4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIENh
bGNDbGFzczoKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PENTU0NhbGNWYWx1ZSo+KHRoaXMp
OworICAgICAgICByZXR1cm47CiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgIGNhc2UgV2Vi
S2l0Q1NTRmlsdGVyQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXZWJLaXRDU1NG
aWx0ZXJWYWx1ZSo+KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCAyZDMzMjQyMzI2MGY1
NzdmOGI4OTAxODA4NTM3M2UyZGUyNDY5OWE2Li4xOTE0OWRkZGNkY2FiM2Y1Mzc2NmY5NzdkZTc1
OWE2YzU1ZThkMDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNzYsNiArNzYsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc1dlYktpdENTU1RyYW5zZm9ybVZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gV2ViS2l0Q1NTVHJhbnNmb3JtQ2xhc3M7IH0KICAgICBib29sIGlzQ1NT
TGluZUJveENvbnRhaW5WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IExpbmVC
b3hDb250YWluQ2xhc3M7IH0KICAgICBib29sIGlzRmxleFZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gRmxleENsYXNzOyB9CisgICAgYm9vbCBpc0NhbGNWYWx1ZSgpIGNvbnN0
IHtyZXR1cm4gbV9jbGFzc1R5cGUgPT0gQ2FsY0NsYXNzOyB9CiAjaWYgRU5BQkxFKENTU19GSUxU
RVJTKQogICAgIGJvb2wgaXNXZWJLaXRDU1NGaWx0ZXJWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3NUeXBlID09IFdlYktpdENTU0ZpbHRlckNsYXNzOyB9CiAjaWYgRU5BQkxFKENTU19TSEFE
RVJTKQpAQCAtMTI2LDYgKzEyNyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgVW5pY29kZVJhbmdl
Q2xhc3MsCiAgICAgICAgIExpbmVCb3hDb250YWluQ2xhc3MsCiAgICAgICAgIEZsZXhDbGFzcywK
KyAgICAgICAgQ2FsY0NsYXNzLAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykgJiYgRU5BQkxFKENT
U19TSEFERVJTKQogICAgICAgICBXZWJLaXRDU1NTaGFkZXJDbGFzcywKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcAppbmRleCBkZDczOGZiM2MzZWFmNzU1NGIxZDBiMjVmNWNl
OGI3ODU4MWQyMDU4Li43NTAyMjA1YzA1ZDhiYzRmYTFmYzk1NjNmMWEyNDU3N2EwZjZlNjU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcApAQCAtMzE0LDYgKzMxNCwxMiBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VTVkdWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAg
ICAgICAgICAgIHBhcnNlZFZhbHVlID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSh2YWx1ZS0+
ZlZhbHVlLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcykgdmFsdWUtPnVuaXQpOwogICAg
ICAgICBlbHNlIGlmICh2YWx1ZS0+dW5pdCA+PSBDU1NQYXJzZXJWYWx1ZTo6UV9FTVMpCiAgICAg
ICAgICAgICBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGVBbGxvd2luZ01h
cmdpblF1aXJrKHZhbHVlLT5mVmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TKTsKKyAg
ICAgICAgaWYgKGlzQ2FsY01pbk1heCh2YWx1ZSkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FIGNh
bGMoKSBodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyIDogYWN0dWFsbHkgY3JlYXRlIGEgQ1NTUHJp
bWl0aXZlVmFsdWUgaGVyZSwgaWUKKyAgICAgICAgICAgIC8vIHBhcnNlZFZhbHVlID0gQ1NTUHJp
bWl0aXZlVmFsdWU6OmNyZWF0ZShtX3BhcnNlZENhbGMucmVsZWFzZSgpKTsKKyAgICAgICAgICAg
IG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCk7CisgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IDA7Cisg
ICAgICAgIH0KICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICB9CiAgICAgaWYgKCFw
YXJzZWRWYWx1ZSB8fCAobV92YWx1ZUxpc3QtPmN1cnJlbnQoKSAmJiAhaW5TaG9ydGhhbmQoKSkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDc1NQpp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YzQzOTlmNzI3
MzgzM2UzMmM5YjczOTlkYzNmY2UyZmEzODY2YjQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcApAQCAtMCwwICsxLDM3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkNhbGNWYWx1ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKKyAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFs
dWUuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43OGRhMDMzNzA3ZWYxOThkOTUwYjc0MTQ1NmZiYWI4YjA4ZTc3MjVm
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmgK
QEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgQ2FsY1ZhbHVlX2gKKyNkZWZpbmUgQ2FsY1ZhbHVlX2gK
KworI2luY2x1ZGUgIkxlbmd0aC5oIgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gQ2FsY09wZXJh
dG9yIHsKKyAgICBDYWxjQWRkID0gJysnLAorICAgIENhbGNTdWJ0cmFjdCA9ICctJywKKyAgICBD
YWxjTXVsdGlwbHkgPSAnKicsCisgICAgQ2FsY0RpdmlkZSA9ICcvJywKKyAgICBDYWxjTW9kID0g
JyUnCit9OworCitlbnVtIENhbGNMaXN0VHlwZSB7CisgICAgQ2FsY01pbiwKKyAgICBDYWxjTWF4
LCAKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDYWxjVmFs
dWVfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124130</attachid>
            <date>2012-01-26 09:43:44 -0800</date>
            <delta_ts>2012-01-27 01:07:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57082-20120127044342.patch</filename>
            <type>text/plain</type>
            <size>57339</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1ODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDYyZTljYThiODg0NWU5
NDkwZGRjOTdlYzMzY2EzZWNlN2ExZGZlMy4uZGM2NWM5NjIyMDI3ZDY1MzI0Nzc3Y2FlMDFhMDgz
MmEzMzdiMWVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNCBAQAorMjAxMi0wMS0yNiAgTWlr
ZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBjYWxj
IHBhcnNpbmcgc3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3MDgyCisKKyAgICAgICAgVGhpcyBpcyB0aGUgcGFyc2luZyBzdGFnZSBvZiBjYWxj
LiBUaGUgZXhwcmVzc2lvbnMgYXJlIGV2YWx1YXRlZCBhbmQgCisgICAgICAgIGV4cHJlc3Npb24g
dHJlZXMgYXJlIGdlbmVyYXRlZC4gQ1NTIHZhbHVlcyBhcmUgbm90IGNyZWF0ZWQgeWV0IC0gdGhh
dAorICAgICAgICB3aWxsIGhhcHBlbiBpbiBhIHN1YnNlcXVlbnQgY29tbWl0LiAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBmdW5jdGlvbmFsIGNo
YW5nZSAtIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMgaW4gTGF5b3V0VGVzdHMvY3NzMy9jYWxj
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0NhbGNWYWx1ZS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjp1bml0Q2F0
ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjdXN0b21Dc3NUZXh0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6fkNTU0NhbGNFeHByZXNz
aW9uTm9kZSk6CisgICAgICAgIChDU1NDYWxjUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNQcmltaXRpdmVWYWx1ZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKCk6Cisg
ICAgICAgIChDU1NDYWxjQmluYXJ5T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNCaW5hcnlPcGVyYXRpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OmNoZWNrRGVwdGhBbmRJbmRleCk6CisgICAgICAgIChDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJz
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJz
ZUNhbGMpOgorICAgICAgICAoVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyOjpvcGVyYXRvclZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlVmFsdWVUZXJtKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VWYWx1ZU11bHRpcGxpY2F0
aXZlRXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQ
YXJzZXI6OnBhcnNlQWRkaXRpdmVWYWx1ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZVZhbHVlTGlzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlVmFsdWVFeHByZXNzaW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBj
c3MvQ1NTQ2FsY1ZhbHVlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICgp
OgorICAgICAgICAoQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNFeHByZXNzaW9uTm9kZTo6Y2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlOjppc0ludCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVz
c2lvbk5vZGU6OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5v
ZGU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChDU1NDYWxjVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjYXRlZ29yeSk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NDYWxjVmFsdWU6OmlzSW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6
Q1NTQ2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlcjo6dmFsaWRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6cGFyc2VWYWxpZFByaW1pdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZpbGxQb3Np
dGlvbkNvbXBvbmVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6cGFyc2VkRG91YmxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aXND
YWxjTWluTWF4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y29sb3JJbnRGcm9tVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlSFNMUGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6OlNoYWRvd1BhcnNlQ29udGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6OmNvbW1pdExlbmd0aCk6CisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6OmNvbW1pdFN0eWxlKToKKyAgICAgICAg
KFNoYWRvd1BhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNl
U2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQ6
OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVy
SW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29tbWl0TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQ6OmNvbW1pdEJvcmRlckltYWdlU2xpY2UpOgor
ICAgICAgICAoQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VTbGljZSk6CisgICAgICAgIChXZWJDb3JlOjpC
b3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6OkJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6OmNvbW1pdE51
bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6OmNv
bW1pdEJvcmRlckltYWdlUXVhZCk6CisgICAgICAgIChCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUXVhZCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ2FsYyk6CisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5oOgorICAgICAgICAoKToKKyAgICAgICAgKENTU1BhcnNlcik6CisgICAgICAg
ICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpjc3NUZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpkZXN0cm95KToKKyAgICAgICAgKiBjc3Mv
Q1NTVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0NhbGNWYWx1ZSk6Cisg
ICAgICAgICgpOgorICAgICAgICAqIGNzcy9TVkdDU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVNWR1ZhbHVlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxj
VmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L0NhbGNWYWx1ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoKToKKwog
MjAxMi0wMS0yNSAgS2F1c3R1YmggQXRyYXdhbGthciAgPGthdXN0dWJoQG1vdG9yb2xhLmNvbT4K
IAogICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgbWVtYmVyIHZhcmlhYmxlIGZyb20gUGx1Z2lu
Vmlldy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMzY2YzJhMDBjYjFlZTcyYTZjY2Q2ZWVmYTkz
NTFkMzg2OWQwMWM2NC4uMWI3ZjFjNjI2ODM5NDMzODI2NTU4OTE3MzRlYjQ4YTg1ZWJlNzBmZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQyOSw2ICs0MjksNyBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCiAgICAgY3NzL0NTU0JvcmRlcklt
YWdlLmNwcAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwCisgICAgY3NzL0NT
U0NhbGNWYWx1ZS5jcHAKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwCiAgICAgY3NzL0NTU0No
YXJzZXRSdWxlLmNwcAogICAgIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBA
IC0xMDQxLDYgKzEwNDIsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9hbmltYXRp
b24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCiAKICAgICBwbGF0Zm9ybS9BcmVuYS5jcHAKKyAgICBw
bGF0Zm9ybS9DYWxjVmFsdWUuY3BwCiAgICAgcGxhdGZvcm0vQ2xvY2suY3BwCiAgICAgcGxhdGZv
cm0vQ29udGV4dE1lbnUuY3BwCiAgICAgcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMjE5NTg2ZmQ0ODllMGU5MjlkYjZiNzAxZjk0
OGEzNWJmNjBkYzAzMi4uNWY2ZTY2ZjFmYWNjMTI5MmM3YTZhZjdkY2JmZWVjM2IxZWVmMGJmOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMjg0LDYgKzEyODQsOCBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1
ZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuaCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0Nyb3NzZmFkZVZhbHVlLmNwcCBcCkBAIC0yNzg3LDYgKzI3ODksOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCBcCisJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1Zh
bHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nsb2NrLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vQ2xvY2suaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2xvY2tH
ZW5lcmljLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA4Yzg1ODMxN2ZlNTI1NzE5ZmJhNDU4N2MxMjZm
YzBlZmRlNTU3ZTAyLi5jYmI4NDk2YjNkODhkNjQ3ZDIyMDNmY2UxOGM1MzA2YTkzNzM1MGZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKQEAgLTM5NSw2ICszOTUsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvQ1NT
QXNwZWN0UmF0aW9WYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUu
Y3BwIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2UuY3BwIFwKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVl
LmNwcCBcCiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0NoYXJzZXRS
dWxlLmNwcCBcCiAgICAgY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgXApAQCAt
MTAyNiw2ICsxMDI3LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0vdGV4dC9Mb2NhbGl6
ZWREYXRlTm9uZS5jcHAgXAogICAgIHBsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5j
cHAgXAogICAgIHBsYXRmb3JtL3RleHQvUXVvdGVkUHJpbnRhYmxlLmNwcCBcCisgICAgcGxhdGZv
cm0vQ2FsY1ZhbHVlLmNwcCBcCiAgICAgcGxhdGZvcm0vQ2xvY2suY3BwIFwKICAgICBwbGF0Zm9y
bS9DbG9ja0dlbmVyaWMuY3BwIFwKICAgICBwbGF0Zm9ybS9Db250ZW50VHlwZS5jcHAgXApAQCAt
MTUwNSw3ICsxNTA3LDEwIEBAIHY4IHsKIEhFQURFUlMgKz0gXAogICAgIGNzcy9DU1NBc3BlY3RS
YXRpb1ZhbHVlLmggXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCBcCisgICAg
Y3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlLmggXAor
ICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmggXAorICAgIGNzcy9DU1NDYWxjVmFsdWUuaCBc
CiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmggXAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5oIFwK
ICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggXApAQCAtMjA3NCw2ICsyMDc5
LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxp
dGllcy5oIFwKICAgICBwbGF0Zm9ybS9BcmVuYS5oIFwKICAgICBwbGF0Zm9ybS9Bc3luY0ZpbGVT
dHJlYW0uaCBcCisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmggXAogICAgIHBsYXRmb3JtL0Nsb2Nr
LmggXAogICAgIHBsYXRmb3JtL0Nsb2NrR2VuZXJpYy5oIFwKICAgICBwbGF0Zm9ybS9Db250ZW50
VHlwZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAxYzg4NDIxOWEzMzc2MTAzMjg5MjRlYjJlZTI2
ZWU2ZGFmOTUyZmRhLi5jZDc1Njg1YmM3YzVmYjhhNDczZGI4OTZmYzI5ZGY2MTZjYzZmMmVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0xOTgzLDYgKzE5ODMsOCBAQAogICAgICAgICAgICAgJ2Nzcy9D
U1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NhbnZhc1Zh
bHVlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NhbnZhc1ZhbHVlLmgnLAorICAgICAgICAg
ICAgJ2Nzcy9DU1NDYWxjVmFsdWUuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTQ2FsY1ZhbHVl
LmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAnLAogICAgICAgICAgICAg
J2Nzcy9DU1NDaGFyc2V0UnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcCcsCkBAIC0yNzEzLDYgKzI3MTUsOCBAQAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Bc3luY0Zp
bGVTeXN0ZW1DYWxsYmFja3MuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQXV0b2RyYWluZWRQ
b29sLmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAnLAorICAgICAgICAg
ICAgJ3BsYXRmb3JtL0NhbGNWYWx1ZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9DbG9jay5j
cHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0Nsb2NrLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL0NvbnRlbnRUeXBlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCmluZGV4IDM5MzYwMTNhMDY3MDE4Y2FkYWQ3YTlhNGU0MDhjN2U1NDdkODg2
M2IuLmFkMTQ3MGJhYTE5MjMyYTI4MzZiNWYwZTNkOWUzNWJjNzcxOTc0ZDAgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNjM1MCw2ICsyNjM1
MCwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwbGF0Zm9ybVxDYWxjVmFsdWUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxDYWxjVmFsdWUuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cQ2xvY2suY3BwIgog
CQkJCT4KIAkJCTwvRmlsZT4KQEAgLTMyNjk0LDYgKzMyNzAyLDE0IEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NDYWxjVmFsdWUuY3Bw
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3Nc
Q1NTQ2FsY1ZhbHVlLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGNzc1xDU1NDYW52YXNWYWx1ZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDk5ZThlM2Y3ZjFkYzY4NzYxNWQwZGFiMzFiMDU3YzI5MDE3MTZhZGMuLmZk
M2NhMzdjNTZlYTkyZjc0ZWNkYTAyZjhjYTQyYjdmYWJjOGVkODcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMjYsNiArMTIy
NiwxMCBAQAogCQk0OTlCM0VENjEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhpY3NMYXllckNBLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OUIzRUQ0
MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuY3BwICovOyB9OwogCQk0OTlCM0VE
NzEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhpY3NMYXllckNBLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTlCM0VENTEyOENEMzE0MDBFNzI2QzIgLyog
R3JhcGhpY3NMYXllckNBLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDk5QjNFREQxMjhEQjUwMjAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FBbmltYXRp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OUIz
RURDMTI4REI1MDEwMEU3MjZDMiAvKiBQbGF0Zm9ybUNBQW5pbWF0aW9uLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDlBRTJEOEUxMzRFRTUwQzAw
NzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ4QzEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVl
LmNwcCAqLzsgfTsKKwkJNDlBRTJEOEYxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRTJEOEQx
MzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5oICovOyB9OworCQk0OUFFMkQ5NjEzNEVF
NUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk0MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUu
Y3BwICovOyB9OworCQk0OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ5NTEzNEVF
NUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggKi87IH07CiAJCTQ5QUYyRDY5MTQ0MzVEMDUwMDE2
QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUYyRDY4MTQ0MzVEMDUwMDE2QTc4NCAvKiBEaXNwbGF5
UmVmcmVzaE1vbml0b3IuaCAqLzsgfTsKIAkJNDlBRjJENkMxNDQzNUQyMTAwMTZBNzg0IC8qIERp
c3BsYXlSZWZyZXNoTW9uaXRvck1hYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OUFGMkQ2QjE0NDM1RDIxMDAxNkE3ODQgLyogRGlzcGxheVJlZnJl
c2hNb25pdG9yTWFjLmNwcCAqLzsgfTsKIAkJNDlDN0I5OTMxMDQyRDJEMzAwMDlENDQ3IC8qIEpT
V2ViR0xCdWZmZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDlDN0I5ODAxMDQyRDJEMzAwMDlENDQ3IC8qIEpTV2ViR0xCdWZmZXIuY3BwICovOyB9
OwpAQCAtODAyNiw2ICs4MDMwLDEwIEBACiAJCTQ5OUIzRUQ0MTI4Q0QzMTQwMEU3MjZDMiAvKiBH
cmFwaGljc0xheWVyQ0EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
R3JhcGhpY3NMYXllckNBLmNwcDsgcGF0aCA9IGNhL0dyYXBoaWNzTGF5ZXJDQS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5OUIzRUQ1MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFw
aGljc0xheWVyQ0EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gR3JhcGhpY3NM
YXllckNBLmg7IHBhdGggPSBjYS9HcmFwaGljc0xheWVyQ0EuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDk5QjNFREMxMjhEQjUwMTAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FBbmltYXRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUGxhdGZvcm1DQUFuaW1hdGlv
bi5oOyBwYXRoID0gY2EvUGxhdGZvcm1DQUFuaW1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0OUFFMkQ4QzEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0NhbGNWYWx1ZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QUUyRDhEMTM0RUU1MEMwMDcyOTIwQSAvKiBD
U1NDYWxjVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQ2FsY1Zh
bHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QUUyRDk0MTM0RUU1RjkwMDcy
OTIwQSAvKiBDYWxjVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ2FsY1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOTUx
MzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDYWxjVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlBRjJE
NjgxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5UmVmcmVzaE1vbml0b3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlBRjJENkIxNDQzNUQyMTAwMTZBNzg0IC8qIERpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0OUM3Qjk4MDEwNDJEMkQzMDAwOUQ0NDcgLyogSlNXZWJHTEJ1ZmZlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYkdMQnVmZmVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5NTczLDYgKzE5NTgxLDggQEAKIAkJCQk4OUQwOEQ5
RDEyMjI4NDUxMDAxMjQxREYgLyogQXN5bmNGaWxlU3lzdGVtLmggKi8sCiAJCQkJODlEMDhEOUUx
MjIyODQ1MTAwMTI0MURGIC8qIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oICovLAogCQkJCTUx
RTFFQ0IxMEM5MUM1NTYwMERDMjU1QiAvKiBBdXRvZHJhaW5lZFBvb2wuaCAqLywKKwkJCQk0OUFF
MkQ5NDEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmNwcCAqLywKKwkJCQk0OUFFMkQ5NTEz
NEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggKi8sCiAJCQkJQ0RFQTc2MzMxNDYwQjQ2MjAw
OEIzMUYxIC8qIENsb2NrLmNwcCAqLywKIAkJCQlDREVBNzYyQzE0NjA4MjI0MDA4QjMxRjEgLyog
Q2xvY2suaCAqLywKIAkJCQlDREVBNzYzMjE0NjBBRTI5MDA4QjMxRjEgLyogQ2xvY2tHZW5lcmlj
LmNwcCAqLywKQEAgLTE5ODg0LDYgKzE5ODk0LDggQEAKIAkJCQlFMTZBODRGODE0Qzg1Q0NDMDAy
OTc3REYgLyogQ1NTQm9yZGVySW1hZ2UuaCAqLywKIAkJCQlCQzI3NEIzMDE0MEVCRUQ4MDBFQURG
QTYgLyogQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCAqLywKIAkJCQlCQzI3NEIyRTE0MEVC
RUIyMDBFQURGQTYgLyogQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmggKi8sCisJCQkJNDlBRTJE
OEMxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAgKi8sCisJCQkJNDlBRTJEOEQx
MzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5oICovLAogCQkJCUJDNjA0QTQyMERCNTYz
NEUwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5jcHAgKi8sCiAJCQkJQkM2MDQ5Q0IwREI1NjBD
MjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggKi8sCiAJCQkJRTFFQkJCRDMwQUFDOUI4NzAw
MUZFOEUyIC8qIENTU0NoYXJzZXRSdWxlLmNwcCAqLywKQEAgLTIxMTE4LDYgKzIxMTMwLDcgQEAK
IAkJCQkwNzUzODYwMzE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVT
aGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENh
Y2hlUG9saWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEg
LyogQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMUQ1RUNCNTEzNEI1OERBMDA4N0M3
OEYgLyogQ2FsbGJhY2tGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkU0RTkxQUQxMEY3
RkIzMTAwQTI3NzlDIC8qIENhbnZhc0NvbnRleHRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OTQ4NEZDMjEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzR3JhZGllbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjEyMDYsNiArMjEyMTksNyBAQAogCQkJCUNBRTlGOTEwMTQ2NDQxRjAwMEMy
NDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTZBODRG
QTE0Qzg1Q0NDMDAyOTc3REYgLyogQ1NTQm9yZGVySW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMjc0QjJGMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCBp
biBIZWFkZXJzICovLAorCQkJCTQ5QUUyRDhGMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFs
dWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNjA0OUNDMERCNTYwQzIwMDIwNDczOSAvKiBDU1ND
YW52YXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZDRjkwQTE5ODlDQTAwN0ZCOEM1
IC8qIENTU0NoYXJzZXRSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDc5MDA5N0NBQUM4
MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggaW4gSGVhZGVycyAqLywK
QEAgLTI0MTQyLDYgKzI0MTU2LDcgQEAKIAkJMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFBy
b2plY3Qgb2JqZWN0ICovID0gewogCQkJaXNhID0gUEJYUHJvamVjdDsKIAkJCWF0dHJpYnV0ZXMg
PSB7CisJCQkJQnVpbGRJbmRlcGVuZGVudFRhcmdldHNJblBhcmFsbGVsID0gWUVTOwogCQkJCUxh
c3RVcGdyYWRlQ2hlY2sgPSAwNDQwOwogCQkJfTsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3Qg
PSAxNDlDMjg0MzA4OTAyQjExMDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZv
ciBQQlhQcm9qZWN0ICJXZWJDb3JlIiAqLzsKQEAgLTI0NTMwLDYgKzI0NTQ1LDcgQEAKIAkJCQk1
MDM4QkU0MDE0NzJBRDk4MDA5NUUwRDEgLyogQ2FjaGVkU2hhZGVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTA3NTM4NjAyMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMjcwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0
eWxlU2hlZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBB
IC8qIENhbGNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMTgyNzQ5MzEzNENBNEMxMDBC
OThDMkQgLyogQ2FsbGJhY2tGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTRFOTFB
QzEwRjdGQjMxMDBBMjc3OUMgLyogQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDk0ODRGQzExMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMjQ2MDUsNiArMjQ2MjEsNyBAQAogCQkJCUNBRTlGOTBGMTQ2
NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUUxNkE4NEY5MTRDODVDQ0MwMDI5NzdERiAvKiBDU1NCb3JkZXJJbWFnZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQzI3NEIzMTE0MEVCRUQ4MDBFQURGQTYgLyogQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIw
QSAvKiBDU1NDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2MDRBNDMwREI1NjM0
RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxRUJC
QkQ0MEFBQzlCODcwMDFGRThFMiAvKiBDU1NDaGFyc2V0UnVsZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQ0VBNDc4RjA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NhbGNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iYTQ0YTdlMTAwMzVlMGVlNWM4NTc5N2YxMWFkYjFlYzI1NGY3YzRkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAKQEAgLTAsMCAr
MSwzMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCisK
KyNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCisjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0Lmgi
CisjaW5jbHVkZSAiTGVuZ3RoLmgiCisKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CisKK3N0YXRpYyBjb25zdCBpbnQgbWF4RXhwcmVzc2lvbkRlcHRoID0gMTAwOworCitlbnVtIFBh
cnNlU3RhdGUgeworICAgIE9LLAorICAgIFRvb0RlZXAsCisgICAgTm9Nb3JlVG9rZW5zCit9Owor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBDYWxjQ2F0ZWdvcnkgdW5pdENhdGVnb3J5
KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMgdHlwZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUp
IHsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSOgorICAgIGNhc2UgQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSU5URUdFUjoKKyAgICAgICAgcmV0dXJuIENhbGNO
dW1iZXI7CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U6CisgICAg
ICAgIHJldHVybiBDYWxjUGVyY2VudDsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
RU1TOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19FWFM6CisgICAgY2FzZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1BYOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19D
TToKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTU06CisgICAgY2FzZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX0lOOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QVDoK
KyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEM6CisgICAgY2FzZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1JFTVM6CisgICAgICAgIHJldHVybiBDYWxjTGVuZ3RoOworICAgIGRlZmF1
bHQ6CisgICAgICAgIHJldHVybiBDYWxjT3RoZXI7CisgICAgfQorfQorICAgIAorU3RyaW5nIENT
U0NhbGNWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICIiOworfQor
ICAgIAorQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlOjp+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKCkgCit7
Cit9CisgICAgCitjbGFzcyBDU1NDYWxjUHJpbWl0aXZlVmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY0V4
cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNQ
cmltaXRpdmVWYWx1ZT4gY3JlYXRlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSwgYm9vbCBpc0lu
dCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ByaW1pdGl2ZVZh
bHVlKHZhbHVlLCBpc0ludCkpOworICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NU
ZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVlLT5jc3NUZXh0KCk7Cisg
ICAgfQorCisgICAgCitwcml2YXRlOgorICAgIGV4cGxpY2l0IENTU0NhbGNQcmltaXRpdmVWYWx1
ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUsIGJvb2wgaXNJbnQpCisgICAgICAgIDogQ1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlKHVuaXRDYXRlZ29yeSgoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBl
cyl2YWx1ZS0+cHJpbWl0aXZlVHlwZSgpKSwgaXNJbnQpCisgICAgICAgICwgbV92YWx1ZSh2YWx1
ZSkgICAgICAgICAgICAgICAgIAorICAgIHsKKyAgICB9CisKKyAgICBSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IG1fdmFsdWU7Cit9OworCitzdGF0aWMgY29uc3QgQ2FsY0NhdGVnb3J5IGFkZFN1
YnRyYWN0UmVzdWx0W0NhbGNPdGhlcl1bQ2FsY090aGVyXSA9IHsKKyAgICB7Q2FsY051bWJlciwg
ICAgICAgIENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudE51bWJlciwgQ2FsY1BlcmNlbnRO
dW1iZXIsIENhbGNPdGhlcn0sCisgICAge0NhbGNPdGhlciwgICAgICAgICBDYWxjTGVuZ3RoLCAg
ICAgICAgQ2FsY1BlcmNlbnRMZW5ndGgsIENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudExl
bmd0aH0sCisgICAge0NhbGNQZXJjZW50TnVtYmVyLCBDYWxjUGVyY2VudExlbmd0aCwgQ2FsY1Bl
cmNlbnQsICAgICAgIENhbGNQZXJjZW50TnVtYmVyLCBDYWxjUGVyY2VudExlbmd0aH0sCisgICAg
e0NhbGNQZXJjZW50TnVtYmVyLCBDYWxjT3RoZXIsICAgICAgICAgQ2FsY1BlcmNlbnROdW1iZXIs
IENhbGNQZXJjZW50TnVtYmVyLCBDYWxjT3RoZXJ9LAorICAgIHtDYWxjT3RoZXIsICAgICAgICAg
Q2FsY1BlcmNlbnRMZW5ndGgsIENhbGNQZXJjZW50TGVuZ3RoLCBDYWxjT3RoZXIsICAgICAgICAg
Q2FsY1BlcmNlbnRMZW5ndGh9LAorfTsgICAgCisgICAgCitjbGFzcyBDU1NDYWxjQmluYXJ5T3Bl
cmF0aW9uIDogcHVibGljIENTU0NhbGNFeHByZXNzaW9uTm9kZSB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQdHI8
Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBsZWZ0U2lkZSwgUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVz
c2lvbk5vZGU+IHJpZ2h0U2lkZSwgQ2FsY09wZXJhdG9yIG9wKQorICAgIHsKKyAgICAgICAgQ2Fs
Y0NhdGVnb3J5IGxlZnRDYXRlZ29yeSA9IGxlZnRTaWRlLT5jYXRlZ29yeSgpOworICAgICAgICBD
YWxjQ2F0ZWdvcnkgcmlnaHRDYXRlZ29yeSA9IHJpZ2h0U2lkZS0+Y2F0ZWdvcnkoKTsKKyAgICAg
ICAgQ2FsY0NhdGVnb3J5IG5ld0NhdGVnb3J5ID0gQ2FsY090aGVyOworICAgICAgICAKKyAgICAg
ICAgQVNTRVJUKGxlZnRDYXRlZ29yeSAhPSBDYWxjT3RoZXIgJiYgcmlnaHRDYXRlZ29yeSAhPSBD
YWxjT3RoZXIpOworICAgICAgICAKKyAgICAgICAgc3dpdGNoIChvcCkgeworICAgICAgICBjYXNl
IENhbGNBZGQ6CisgICAgICAgIGNhc2UgQ2FsY1N1YnRyYWN0OiAgICAgICAgICAgICAKKyAgICAg
ICAgICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY090aGVyIHx8IHJpZ2h0Q2F0ZWdvcnkgPT0g
Q2FsY090aGVyKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgbmV3Q2F0
ZWdvcnkgPSBhZGRTdWJ0cmFjdFJlc3VsdFtsZWZ0Q2F0ZWdvcnldW3JpZ2h0Q2F0ZWdvcnldOwor
ICAgICAgICAgICAgYnJlYWs7ICAgCisgICAgICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2Fs
Y011bHRpcGx5OgorICAgICAgICAgICAgaWYgKGxlZnRDYXRlZ29yeSAhPSBDYWxjTnVtYmVyICYm
IHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJlcikgCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gbGVmdENhdGVnb3J5ID09
IENhbGNOdW1iZXIgPyByaWdodENhdGVnb3J5IDogbGVmdENhdGVnb3J5OworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2FsY0RpdmlkZToKKyAgICAg
ICAgY2FzZSBDYWxjTW9kOgorICAgICAgICAgICAgaWYgKHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051
bWJlciB8fCByaWdodFNpZGUtPmlzWmVybygpKQorICAgICAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBsZWZ0Q2F0ZWdvcnk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKG5ld0NhdGVnb3J5ID09IENhbGNP
dGhlcikKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgCisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbihsZWZ0U2lkZSwgcmlnaHRTaWRl
LCBvcCwgbmV3Q2F0ZWdvcnkpKTsKKyAgICB9CisgICAgCitwcml2YXRlOgorICAgIENTU0NhbGNC
aW5hcnlPcGVyYXRpb24oUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IGxlZnRTaWRl
LCBQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gcmlnaHRTaWRlLCBDYWxjT3BlcmF0
b3Igb3AsIENhbGNDYXRlZ29yeSBjYXRlZ29yeSkKKyAgICAgICAgOiBDU1NDYWxjRXhwcmVzc2lv
bk5vZGUoY2F0ZWdvcnksIGxlZnRTaWRlLT5pc0ludCgpICYmIHJpZ2h0U2lkZS0+aXNJbnQoKSkK
KyAgICAgICAgLCBtX2xlZnRTaWRlKGxlZnRTaWRlKQorICAgICAgICAsIG1fcmlnaHRTaWRlKHJp
Z2h0U2lkZSkKKyAgICAgICAgLCBtX29wZXJhdG9yKG9wKQorICAgIHsKKyAgICB9CisgICAgCisg
ICAgY29uc3QgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gbV9sZWZ0U2lkZTsKKyAgICBj
b25zdCBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBtX3JpZ2h0U2lkZTsKKyAgICBjb25z
dCBDYWxjT3BlcmF0b3IgbV9vcGVyYXRvcjsKK307CisKK3N0YXRpYyBQYXJzZVN0YXRlIGNoZWNr
RGVwdGhBbmRJbmRleChpbnQqIGRlcHRoLCB1bnNpZ25lZCBpbmRleCwgQ1NTUGFyc2VyVmFsdWVM
aXN0KiB0b2tlbnMpCit7CisgICAgKCpkZXB0aCkrKzsKKyAgICBpZiAoKmRlcHRoID4gbWF4RXhw
cmVzc2lvbkRlcHRoKQorICAgICAgICByZXR1cm4gVG9vRGVlcDsKKyAgICBpZiAoaW5kZXggPj0g
dG9rZW5zLT5zaXplKCkpCisgICAgICAgIHJldHVybiBOb01vcmVUb2tlbnM7CisgICAgcmV0dXJu
IE9LOworfQorCitjbGFzcyBDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXIgeworcHVibGljOgor
ICAgIFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBwYXJzZUNhbGMoQ1NTUGFyc2Vy
VmFsdWVMaXN0KiB0b2tlbnMpCisgICAgeworICAgICAgICB1bnNpZ25lZCBpbmRleCA9IDA7Cisg
ICAgICAgIFZhbHVlIHJlc3VsdDsKKyAgICAgICAgYm9vbCBvayA9IHBhcnNlVmFsdWVFeHByZXNz
aW9uKHRva2VucywgMCwgJmluZGV4LCAmcmVzdWx0KTsKKyAgICAgICAgQVNTRVJUKGluZGV4IDw9
IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgaWYgKCFvayB8fCBpbmRleCAhPSB0b2tlbnMtPnNp
emUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gcmVzdWx0LnZhbHVl
OworICAgIH0KKworcHJpdmF0ZToKKyAgICBzdHJ1Y3QgVmFsdWUgeworICAgICAgICBSZWZQdHI8
Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiB2YWx1ZTsKKyAgICB9OworCisgICAgY2hhciBvcGVyYXRv
clZhbHVlKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCB1bnNpZ25lZCBpbmRleCkKKyAgICB7
CisgICAgICAgIGlmIChpbmRleCA+PSB0b2tlbnMtPnNpemUoKSkKKyAgICAgICAgICAgIHJldHVy
biAwOworICAgICAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSB0b2tlbnMtPnZhbHVlQXQoaW5k
ZXgpOworICAgICAgICBpZiAodmFsdWUtPnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9y
KQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgcmV0dXJuIHZhbHVlLT5pVmFsdWU7
CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5z
LCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBDU1NQYXJz
ZXJWYWx1ZSogcGFyc2VyVmFsdWUgPSB0b2tlbnMtPnZhbHVlQXQoKmluZGV4KTsKKyAgICAgICAg
aWYgKHBhcnNlclZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciB8fCBwYXJz
ZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24pCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9IHBhcnNlclZh
bHVlLT5jcmVhdGVDU1NWYWx1ZSgpOworICAgICAgICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS0+aXNQ
cmltaXRpdmVWYWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIENT
U1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlKj4odmFsdWUuZ2V0KCkpOworICAgICAgICByZXN1bHQtPnZhbHVlID0gQ1NTQ2FsY1By
aW1pdGl2ZVZhbHVlOjpjcmVhdGUocHJpbWl0aXZlVmFsdWUsIHBhcnNlclZhbHVlLT5pc0ludCk7
CisKKyAgICAgICAgKysqaW5kZXg7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAg
IGJvb2wgcGFyc2VWYWx1ZVRlcm0oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0
aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYgKGNo
ZWNrRGVwdGhBbmRJbmRleCgmZGVwdGgsICppbmRleCwgdG9rZW5zKSAhPSBPSykKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsgICAgCisgICAgICAgIAorICAgICAgICBpZiAob3BlcmF0b3JWYWx1
ZSh0b2tlbnMsICppbmRleCkgPT0gJygnKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBjdXJyZW50
SW5kZXggPSAqaW5kZXggKyAxOworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlRXhwcmVzc2lv
bih0b2tlbnMsIGRlcHRoLCAmY3VycmVudEluZGV4LCByZXN1bHQpKQorICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgaWYgKG9wZXJhdG9yVmFsdWUodG9rZW5zLCBj
dXJyZW50SW5kZXgpICE9ICcpJykKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgICAgICAqaW5kZXggPSBjdXJyZW50SW5kZXggKyAxOworICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gcGFyc2VWYWx1ZSh0b2tlbnMsIGluZGV4
LCByZXN1bHQpOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhw
cmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCog
aW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBpZiAoY2hlY2tEZXB0aEFuZElu
ZGV4KCZkZXB0aCwgKmluZGV4LCB0b2tlbnMpICE9IE9LKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOyAgICAKKworICAgICAgICBpZiAoIXBhcnNlVmFsdWVUZXJtKHRva2VucywgZGVwdGgsIGlu
ZGV4LCByZXN1bHQpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHdoaWxl
ICgqaW5kZXggPCB0b2tlbnMtPnNpemUoKSAtIDEpIHsKKyAgICAgICAgICAgIGNoYXIgb3BlcmF0
b3JDaGFyYWN0ZXIgPSBvcGVyYXRvclZhbHVlKHRva2VucywgKmluZGV4KTsKKyAgICAgICAgICAg
IGlmIChvcGVyYXRvckNoYXJhY3RlciAhPSBDYWxjTXVsdGlwbHkgJiYgb3BlcmF0b3JDaGFyYWN0
ZXIgIT0gQ2FsY0RpdmlkZSAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSBDYWxjTW9kKQorICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKysqaW5kZXg7CisKKyAgICAgICAgICAgIFZh
bHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZVRlcm0odG9rZW5zLCBkZXB0aCwg
aW5kZXgsICZyaHMpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAg
ICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNCaW5hcnlPcGVyYXRpb246OmNyZWF0ZShyZXN1bHQt
PnZhbHVlLCByaHMudmFsdWUsIHN0YXRpY19jYXN0PENhbGNPcGVyYXRvcj4ob3BlcmF0b3JDaGFy
YWN0ZXIpKTsKKyAgICAgICAgICAgIGlmICghcmVzdWx0LT52YWx1ZSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQoKmluZGV4IDw9IHRv
a2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYm9vbCBw
YXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBp
bnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAg
IGlmIChjaGVja0RlcHRoQW5kSW5kZXgoJmRlcHRoLCAqaW5kZXgsIHRva2VucykgIT0gT0spCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgIAorCisgICAgICAgIGlmICghcGFyc2VWYWx1ZU11
bHRpcGxpY2F0aXZlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0KSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICB3aGlsZSAoKmluZGV4IDwgdG9rZW5z
LT5zaXplKCkgLSAxKSB7CisgICAgICAgICAgICBjaGFyIG9wZXJhdG9yQ2hhcmFjdGVyID0gb3Bl
cmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCk7CisgICAgICAgICAgICBpZiAob3BlcmF0b3JDaGFy
YWN0ZXIgIT0gQ2FsY0FkZCAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSBDYWxjU3VidHJhY3QpCisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsKKworICAgICAgICAg
ICAgVmFsdWUgcmhzOworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVF
eHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjQmluYXJ5
T3BlcmF0aW9uOjpjcmVhdGUocmVzdWx0LT52YWx1ZSwgcmhzLnZhbHVlLCBzdGF0aWNfY2FzdDxD
YWxjT3BlcmF0b3I+KG9wZXJhdG9yQ2hhcmFjdGVyKSk7CisgICAgICAgICAgICBpZiAoIXJlc3Vs
dC0+dmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAg
ICAgICAgQVNTRVJUKCppbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVmFs
dWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHBhcnNlQWRkaXRpdmVWYWx1ZUV4cHJlc3Npb24odG9r
ZW5zLCBkZXB0aCwgaW5kZXgsIHJlc3VsdCk7CisgICAgfQorfTsKKworUGFzc1JlZlB0cjxDU1ND
YWxjVmFsdWU+IENTU0NhbGNWYWx1ZTo6Y3JlYXRlKENTU1BhcnNlclN0cmluZyBuYW1lLCBDU1NQ
YXJzZXJWYWx1ZUxpc3QqIHBhcnNlclZhbHVlTGlzdCkKK3sgICAgCisgICAgQ1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyIHBhcnNlcjsgICAgCisgICAgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9u
Tm9kZT4gZXhwcmVzc2lvbiA9IDA7CisgICAgCisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5h
bWUsICItd2Via2l0LWNhbGMoIikpCisgICAgICAgIGV4cHJlc3Npb24gPSBwYXJzZXIucGFyc2VD
YWxjKHBhcnNlclZhbHVlTGlzdCk7ICAgIAorICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KG5hbWUsICItd2Via2l0LW1pbigiKSkKKyAgICAgICAgLy8gRklYTUUgY2FsYyAoaHR0cDovL3dl
YmtpdC5vcmcvYi8xNjY2MikgQWRkIHBhcnNpbmcgZm9yIG1pbiBoZXJlCisgICAgICAgIGV4cHJl
c3Npb24gPSAwOworICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICItd2Via2l0
LW1heCgiKSkKKyAgICAgICAgLy8gRklYTUUgY2FsYyAoaHR0cDovL3dlYmtpdC5vcmcvYi8xNjY2
MikgQWRkIHBhcnNpbmcgZm9yIG1heCBoZXJlCisgICAgICAgIGV4cHJlc3Npb24gPSAwOworCisg
ICAgcmV0dXJuIGV4cHJlc3Npb24gPyBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ZhbHVlKGV4cHJlc3Np
b24pKSA6IDA7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxj
VmFsdWUuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40ZDRjN2ZjZDBjNWJlNTQ4YzEzMDQ2ODk4ZjI4MzU1MmI2MWE4
MjgxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5o
CkBAIC0wLDAgKzEsOTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIENTU0NhbGNWYWx1ZV9oCisjZGVmaW5lIENTU0NhbGNW
YWx1ZV9oCisKKyNpbmNsdWRlICJDU1NQYXJzZXJWYWx1ZXMuaCIKKyNpbmNsdWRlICJDU1NWYWx1
ZS5oIgorI2luY2x1ZGUgIkNhbGNWYWx1ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0OworY2xhc3Mg
Q1NTVmFsdWVMaXN0OworY2xhc3MgUmVuZGVyU3R5bGU7CitjbGFzcyBDYWxjVmFsdWU7CitjbGFz
cyBDYWxjRXhwcmVzc2lvbk5vZGU7CisKK2VudW0gQ2FsY0NhdGVnb3J5IHsKKyAgICBDYWxjTnVt
YmVyID0gMCwKKyAgICBDYWxjTGVuZ3RoLAorICAgIENhbGNQZXJjZW50LAorICAgIENhbGNQZXJj
ZW50TnVtYmVyLAorICAgIENhbGNQZXJjZW50TGVuZ3RoLAorICAgIENhbGNPdGhlcgorfTsKKyAg
ICAKK2NsYXNzIENTU0NhbGNFeHByZXNzaW9uTm9kZSA6IHB1YmxpYyBSZWZDb3VudGVkPENTU0Nh
bGNFeHByZXNzaW9uTm9kZT4geworcHVibGljOgorICAgIAorICAgIHZpcnR1YWwgfkNTU0NhbGNF
eHByZXNzaW9uTm9kZSgpID0gMDsgICAgCisgICAgCisgICAgQ2FsY0NhdGVnb3J5IGNhdGVnb3J5
KCkgY29uc3QgeyByZXR1cm4gbV9jYXRlZ29yeTsgfSAgICAKKyAgICBib29sIGlzSW50KCkgY29u
c3QgeyByZXR1cm4gbV9pc0ludDsgfQorICAgIGJvb2wgaXNaZXJvKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KKyAgICAKK3Byb3RlY3RlZDoKKyAgICBDU1NDYWxjRXhwcmVzc2lvbk5vZGUoQ2Fs
Y0NhdGVnb3J5IGNhdGVnb3J5LCBib29sIGlzSW50KQorICAgICAgICA6IG1fY2F0ZWdvcnkoY2F0
ZWdvcnkpCisgICAgICAgICwgbV9pc0ludChpc0ludCkKKyAgICB7CisgICAgfQorICAgIAorICAg
IENhbGNDYXRlZ29yeSBtX2NhdGVnb3J5OworICAgIGJvb2wgbV9pc0ludDsKK307CisgICAgICAg
IAorY2xhc3MgQ1NTQ2FsY1ZhbHVlIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IGNyZWF0ZShDU1NQYXJzZXJTdHJpbmcgbmFt
ZSwgQ1NTUGFyc2VyVmFsdWVMaXN0Kik7CisKKyAgICBDYWxjQ2F0ZWdvcnkgY2F0ZWdvcnkoKSBj
b25zdCB7IHJldHVybiBtX2V4cHJlc3Npb24tPmNhdGVnb3J5KCk7IH0KKyAgICBib29sIGlzSW50
KCkgY29uc3QgeyByZXR1cm4gbV9leHByZXNzaW9uLT5pc0ludCgpOyB9CisgICAgICAgIAorICAg
IFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CisgICAgCitwcml2YXRlOiAgICAKKyAgICBD
U1NDYWxjVmFsdWUoUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IGV4cHJlc3Npb24p
CisgICAgICAgIDogQ1NTVmFsdWUoQ2FsY0NsYXNzKQorICAgICAgICAsIG1fZXhwcmVzc2lvbihl
eHByZXNzaW9uKQorICAgIHsKKyAgICB9CisgICAgCisgICAgY29uc3QgUmVmUHRyPENTU0NhbGNF
eHByZXNzaW9uTm9kZT4gbV9leHByZXNzaW9uOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIENTU0NhbGNWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CmluZGV4IDNiZTczNGQ4N2FiNWZiNjNmYzI5NWI0MWE0ZGE2MmIyM2M3YjBjODYuLmRlZDk3Mzhh
NWRmMzQ5NWVmZTJiOGVkMmQwYTJiMDdlZGEwOGNkYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCkBAIC02OTUsMTcgKzY5NSw1MyBAQCBEb2N1bWVudCogQ1NTUGFyc2VyOjpmaW5kRG9jdW1l
bnQoKSBjb25zdAogYm9vbCBDU1NQYXJzZXI6OnZhbGlkVW5pdChDU1NQYXJzZXJWYWx1ZSogdmFs
dWUsIFVuaXRzIHVuaXRmbGFncywgYm9vbCBzdHJpY3QpCiB7CiAgICAgYm9vbCBiID0gZmFsc2U7
CisgICAgaWYgKGlzQ2FsY01pbk1heCh2YWx1ZSkpIHsKKyAgICAgICAgaWYgKCFwYXJzZUNhbGMo
dmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgc3dp
dGNoIChtX3BhcnNlZENhbGMtPmNhdGVnb3J5KCkpIHsKKyAgICAgICAgY2FzZSBDYWxjTGVuZ3Ro
OgorICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGTGVuZ3RoKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIENhbGNQZXJjZW50OgorICAgICAgICAgICAgYiA9ICh1bml0Zmxh
Z3MgJiBGUGVyY2VudCk7CisgICAgICAgICAgICAvLyBGSVhNRSBjYWxjIChodHRwOi8vd2Via2l0
Lm9yZy9iLzE2NjYyKTogdGVzdCBGTm9uTmVnIGhlcmUsIGVnCisgICAgICAgICAgICAvLyBpZiAo
YiAmJiAodW5pdGZsYWdzICYgRk5vbk5lZykgJiYgbV9wYXJzZWRDYWxjLT5kb3VibGVWYWx1ZSgp
IDwgMCkKKyAgICAgICAgICAgIC8vICAgIGIgPSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIENhbGNOdW1iZXI6CisgICAgICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZO
dW1iZXIpOworICAgICAgICAgICAgaWYgKCFiICYmICh1bml0ZmxhZ3MgJiBGSW50ZWdlcikgJiYg
bV9wYXJzZWRDYWxjLT5pc0ludCgpKQorICAgICAgICAgICAgICAgIGIgPSB0cnVlOworICAgICAg
ICAgICAgLy8gRklYTUUgY2FsYyAoaHR0cDovL3dlYmtpdC5vcmcvYi8xNjY2Mik6IHRlc3QgRk5v
bk5lZyBoZXJlLCBlZworICAgICAgICAgICAgLy8gaWYgKGIgJiYgKHVuaXRmbGFncyAmIEZOb25O
ZWcpICYmIG1fcGFyc2VkQ2FsYy0+ZG91YmxlVmFsdWUoKSA8IDApCisgICAgICAgICAgICAvLyAg
ICBiID0gZmFsc2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2Vu
dExlbmd0aDoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRlBlcmNlbnQpICYmICh1bml0
ZmxhZ3MgJiBGTGVuZ3RoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENhbGNQ
ZXJjZW50TnVtYmVyOgorICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGUGVyY2VudCkgJiYg
KHVuaXRmbGFncyAmIEZOdW1iZXIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
Q2FsY090aGVyOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgLy8gVE9E
TzogaGFuZGxlIEZOb25OZWcKKyAgICAgICAgaWYgKCFiKQorICAgICAgICAgICAgbV9wYXJzZWRD
YWxjLnJlbGVhc2UoKTsKKyAgICAgICAgcmV0dXJuIGI7CisgICAgfQogICAgIHN3aXRjaCAodmFs
dWUtPnVuaXQpIHsKICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSOgogICAg
ICAgICBiID0gKHVuaXRmbGFncyAmIEZOdW1iZXIpOwotICAgICAgICBpZiAoIWIgJiYgKCh1bml0
ZmxhZ3MgJiAoRkxlbmd0aCB8IEZBbmdsZSB8IEZUaW1lKSkgJiYgKHZhbHVlLT5mVmFsdWUgPT0g
MCB8fCAhc3RyaWN0KSkpIHsKKyAgICAgICAgaWYgKCFiICYmICgodW5pdGZsYWdzICYgKEZMZW5n
dGggfCBGQW5nbGUgfCBGVGltZSkpICYmICghdmFsdWUtPmZWYWx1ZSB8fCAhc3RyaWN0KSkpIHsK
ICAgICAgICAgICAgIHZhbHVlLT51bml0ID0gKHVuaXRmbGFncyAmIEZMZW5ndGgpID8gQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19QWCA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodW5pdGZs
YWdzICYgRkFuZ2xlKSA/IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfREVHIDogQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19NUyk7CiAgICAgICAgICAgICBiID0gdHJ1ZTsKICAgICAgICAgfQogICAgICAg
ICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRlZ2VyKSAmJiB2YWx1ZS0+aXNJbnQpCiAgICAg
ICAgICAgICBiID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIGJyZWFrOyAgICAgICAg
ICAgIAogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFOgogICAgICAg
ICBiID0gKHVuaXRmbGFncyAmIEZQZXJjZW50KTsKICAgICAgICAgYnJlYWs7CkBAIC03NDQsNiAr
NzgwLDE0IEBAIGJvb2wgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVl
LCBVbml0cyB1bml0ZmxhZ3MsIGJvb2wgc3RyaWN0KQogCiBpbmxpbmUgUGFzc1JlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUoQ1NT
UGFyc2VyVmFsdWUqIHZhbHVlKQogeworICAgIGlmIChtX3BhcnNlZENhbGMpIHsKKyAgICAgICAg
QVNTRVJUKGlzQ2FsY01pbk1heCh2YWx1ZSkpOworICAgICAgICAvLyBGSVhNRSBjYWxjKCkgaHR0
cDovL3dlYmtpdC5vcmcvYi8xNjY2MjogY3JlYXRlIGEgQ1NTUHJpbWl0aXZlVmFsdWUgaGVyZSwg
aWUKKyAgICAgICAgLy8gcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobV9wYXJzZWRD
YWxjLnJlbGVhc2UoKSk7CisgICAgICAgIG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCk7CisgICAgICAg
IHJldHVybiAwOworICAgIH0KKyAgICAgICAgICAgICAgIAogICAgIEFTU0VSVCgodmFsdWUtPnVu
aXQgPj0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIgJiYgdmFsdWUtPnVuaXQgPD0gQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19LSFopCiAgICAgICAgICAgIHx8ICh2YWx1ZS0+dW5pdCA+PSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1RVUk4gJiYgdmFsdWUtPnVuaXQgPD0gQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19SRU1TKSk7CiAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1
ZSh2YWx1ZS0+ZlZhbHVlLCBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVz
Pih2YWx1ZS0+dW5pdCkpOwpAQCAtODQxLDYgKzg4NSwxMSBAQCBpbmxpbmUgUGFzc1JlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZVZhbGlkUHJpbWl0aXZlKGludCBpZCwg
Q1NTUAogICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHZhbHVlKTsK
ICAgICBpZiAodmFsdWUtPnVuaXQgPj0gQ1NTUGFyc2VyVmFsdWU6OlFfRU1TKQogICAgICAgICBy
ZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUFsbG93aW5nTWFyZ2luUXVpcmsodmFsdWUt
PmZWYWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19FTVMpOworICAgIGlmIChpc0NhbGNNaW5N
YXgodmFsdWUpKQorICAgICAgICAvLyBGSVhNRSBjYWxjKCkgIGh0dHA6Ly93ZWJraXQub3JnL2Iv
MTY2NjI6IGNyZWF0ZSBhIHByaW1pdGl2ZSB2YWx1ZSBoZXJlLCBpZQorICAgICAgICAvLyByZXR1
cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtX3BhcnNlZENhbGMucmVsZWFzZSgpKTsKKyAg
ICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKKwogICAgIHJldHVybiAwOwogfQogCkBAIC04
NTQsNiArOTAzLDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJv
b2wgaW1wb3J0YW50KQogICAgIGlmICghdmFsdWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAor
ICAgIC8vIE5vdGU6IG1fcGFyc2VkQ2FsYyBpcyB1c2VkIHRvIHBhc3MgdGhlIGNhbGMgdmFsdWUg
dG8gdmFsaWRVbml0IGFuZCB0aGVuIGNsZWFyZWQgYXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9u
LgorICAgIC8vIEZJWE1FOiBUaGlzIGlzIHRvIGF2b2lkIGhhdmluZyB0byBwYXNzIHBhcnNlZENh
bGMgdG8gYWxsIHZhbGlkVW5pdCBjYWxsZXJzLgorICAgIEFTU0VSVCghbV9wYXJzZWRDYWxjKTsK
KyAgICAKICAgICBpbnQgaWQgPSB2YWx1ZS0+aWQ7CiAKICAgICAvLyBJbiBxdWlya3MgbW9kZSwg
d2Ugd2lsbCBsb29rIGZvciB1bml0cyB0aGF0IGhhdmUgYmVlbiBpbmNvcnJlY3RseSBzZXBhcmF0
ZWQgZnJvbSB0aGUgbnVtYmVyIHRoZXkgYmVsb25nIHRvCkBAIC0yMjc4LDYgKzIzMzEsNyBAQCBi
b29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAg
ICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZVZhbGlkUHJpbWl0aXZlKGlkLCB2YWx1ZSk7CiAgICAg
ICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgfQorICAgIEFTU0VSVCghbV9wYXJzZWRDYWxj
KTsKICAgICBpZiAocGFyc2VkVmFsdWUpIHsKICAgICAgICAgaWYgKCFtX3ZhbHVlTGlzdC0+Y3Vy
cmVudCgpIHx8IGluU2hvcnRoYW5kKCkpIHsKICAgICAgICAgICAgIGFkZFByb3BlcnR5KHByb3BJ
ZCwgcGFyc2VkVmFsdWUucmVsZWFzZSgpLCBpbXBvcnRhbnQpOwpAQCAtMjk4NSw4ICszMDM5LDEx
IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VGaWxsUG9zaXRpb25Db21w
b25lbnQoQ1NTUGFyc2VyVmFsdWVMaXN0KiB2CiAgICAgICAgIH0gZWxzZSBpZiAoY3VtdWxhdGl2
ZUZsYWdzICYgKFhGaWxsUG9zaXRpb24gfCBBbWJpZ3VvdXNGaWxsUG9zaXRpb24pKSB7CiAgICAg
ICAgICAgICBjdW11bGF0aXZlRmxhZ3MgfD0gWUZpbGxQb3NpdGlvbjsKICAgICAgICAgICAgIGlu
ZGl2aWR1YWxGbGFnID0gWUZpbGxQb3NpdGlvbjsKLSAgICAgICAgfSBlbHNlCisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBpZiAobV9wYXJzZWRDYWxjKQorICAgICAgICAgICAgICAgIG1f
cGFyc2VkQ2FsYy5yZWxlYXNlKCk7CiAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQog
ICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHZhbHVlTGlzdC0+Y3Vy
cmVudCgpKTsKICAgICB9CiAgICAgcmV0dXJuIDA7CkBAIC00ODY4LDIyICs0OTI1LDQ5IEBAIGJv
b2wgQ1NTUGFyc2VyOjpmYXN0UGFyc2VDb2xvcihSR0JBMzImIHJnYiwgY29uc3QgU3RyaW5nJiBu
YW1lLCBib29sIHN0cmljdCkKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQorICAgIAoraW5s
aW5lIGRvdWJsZSBDU1NQYXJzZXI6OnBhcnNlZERvdWJsZShDU1NQYXJzZXJWYWx1ZSAqdiwgUmVs
ZWFzZVBhcnNlZENhbGNWYWx1ZUNvbmRpdGlvbiByZWxlYXNlQ2FsYykKK3sKKyAgICAvLyBGSVhN
RSBjYWxjIChodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyKTogZXZhbHVhdGUgY2FsYyBoZXJlLCBl
ZworICAgIC8vIGNvbnN0IGRvdWJsZSByZXN1bHQgPSBtX3BhcnNlZENhbGMgPyBtX3BhcnNlZENh
bGMtPmRvdWJsZVZhbHVlKCkgOiB2LT5mVmFsdWU7CisgICAgY29uc3QgZG91YmxlIHJlc3VsdCA9
IG1fcGFyc2VkQ2FsYyA/IDAgOiB2LT5mVmFsdWU7CisgICAgaWYgKHJlbGVhc2VDYWxjID09IFJl
bGVhc2VQYXJzZWRDYWxjVmFsdWUpCisgICAgICAgIG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KIAotc3RhdGljIGlubGluZSBpbnQgY29sb3JJbnRGcm9tVmFs
dWUoQ1NTUGFyc2VyVmFsdWUqIHYpCitib29sIENTU1BhcnNlcjo6aXNDYWxjTWluTWF4KENTU1Bh
cnNlclZhbHVlKiB2YWx1ZSkgCiB7Ci0gICAgaWYgKHYtPmZWYWx1ZSA8PSAwLjApCisgICAgcmV0
dXJuICh2YWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24pIAorICAgICAgICAm
JiAoZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jYWxj
KCIpCisgICAgICAgICAgICB8fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5h
bWUsICItd2Via2l0LW1pbigiKQorICAgICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFs
dWUtPmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1tYXgoIikpOworfQorCitpbmxpbmUgaW50IENT
U1BhcnNlcjo6Y29sb3JJbnRGcm9tVmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHYpCit7CisgICAgYm9v
bCBpc1BlcmNlbnQ7CisgICAgCisgICAgaWYgKG1fcGFyc2VkQ2FsYykKKyAgICAgICAgaXNQZXJj
ZW50ID0gbV9wYXJzZWRDYWxjLT5jYXRlZ29yeSgpID09IENhbGNQZXJjZW50OworICAgIGVsc2UK
KyAgICAgICAgaXNQZXJjZW50ID0gdi0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BF
UkNFTlRBR0U7CisKKyAgICBjb25zdCBkb3VibGUgdmFsdWUgPSBwYXJzZWREb3VibGUodiwgUmVs
ZWFzZVBhcnNlZENhbGNWYWx1ZSk7CisgICAgCisgICAgaWYgKHZhbHVlIDw9IDAuMCkKICAgICAg
ICAgcmV0dXJuIDA7CiAKLSAgICBpZiAodi0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X1BFUkNFTlRBR0UpIHsKLSAgICAgICAgaWYgKHYtPmZWYWx1ZSA+PSAxMDAuMCkKKyAgICBpZiAo
aXNQZXJjZW50KSB7CisgICAgICAgIGlmICh2YWx1ZSA+PSAxMDAuMCkKICAgICAgICAgICAgIHJl
dHVybiAyNTU7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHYtPmZWYWx1ZSAqIDI1
Ni4wIC8gMTAwLjApOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSAqIDI1
Ni4wIC8gMTAwLjApOwogICAgIH0KIAotICAgIGlmICh2LT5mVmFsdWUgPj0gMjU1LjApCisgICAg
aWYgKHZhbHVlID49IDI1NS4wKQogICAgICAgICByZXR1cm4gMjU1OwogCi0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PGludD4odi0+ZlZhbHVlKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2
YWx1ZSk7CiB9CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyhDU1NQYXJz
ZXJWYWx1ZSogdmFsdWUsIGludCogY29sb3JBcnJheSwgYm9vbCBwYXJzZUFscGhhKQpAQCAtNDg5
OCw2ICs0OTgyLDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3JQYXJhbWV0ZXJzKENTU1Bh
cnNlclZhbHVlKiB2YWx1ZSwgaW50KiBjb2xvckFycmF5LCBib28KICAgICAgICAgdW5pdFR5cGUg
PSBGUGVyY2VudDsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKICAgICBj
b2xvckFycmF5WzBdID0gY29sb3JJbnRGcm9tVmFsdWUodik7CiAgICAgZm9yIChpbnQgaSA9IDE7
IGkgPCAzOyBpKyspIHsKICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKQEAgLTQ5MTUsOSArNTAw
MCwxMCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFs
dWUqIHZhbHVlLCBpbnQqIGNvbG9yQXJyYXksIGJvbwogICAgICAgICB2ID0gYXJncy0+bmV4dCgp
OwogICAgICAgICBpZiAoIXZhbGlkVW5pdCh2LCBGTnVtYmVyLCB0cnVlKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgY29uc3QgZG91YmxlIHZhbHVlID0gcGFyc2VkRG91Ymxl
KHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpOwogICAgICAgICAvLyBDb252ZXJ0IHRoZSBmbG9h
dGluZyBwb2ludGVyIG51bWJlciBvZiBhbHBoYSB0byBhbiBpbnRlZ2VyIGluIHRoZSByYW5nZSBb
MCwgMjU2KSwKICAgICAgICAgLy8gd2l0aCBhbiBlcXVhbCBkaXN0cmlidXRpb24gYWNyb3NzIGFs
bCAyNTYgdmFsdWVzLgotICAgICAgICBjb2xvckFycmF5WzNdID0gc3RhdGljX2Nhc3Q8aW50Piht
YXgoMC4wLCBtaW4oMS4wLCB2LT5mVmFsdWUpKSAqIG5leHRhZnRlcigyNTYuMCwgMC4wKSk7Cisg
ICAgICAgIGNvbG9yQXJyYXlbM10gPSBzdGF0aWNfY2FzdDxpbnQ+KG1heCgwLjAsIG1pbigxLjAs
IHZhbHVlKSkgKiBuZXh0YWZ0ZXIoMjU2LjAsIDAuMCkpOwogICAgIH0KICAgICByZXR1cm4gdHJ1
ZTsKIH0KQEAgLTQ5MzUsNyArNTAyMSw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFt
ZXRlcnMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBkb3VibGUqIGNvbG9yQXJyYXksIGJvCiAgICAg
aWYgKCF2YWxpZFVuaXQodiwgRk51bWJlciwgdHJ1ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAvLyBub3JtYWxpemUgdGhlIEh1ZSB2YWx1ZSBhbmQgY2hhbmdlIGl0IHRvIGJlIGJldHdl
ZW4gMCBhbmQgMS4wCi0gICAgY29sb3JBcnJheVswXSA9ICgoKHN0YXRpY19jYXN0PGludD4odi0+
ZlZhbHVlKSAlIDM2MCkgKyAzNjApICUgMzYwKSAvIDM2MC4wOworICAgIGNvbG9yQXJyYXlbMF0g
PSAoKChzdGF0aWNfY2FzdDxpbnQ+KHBhcnNlZERvdWJsZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1Zh
bHVlKSkgJSAzNjApICsgMzYwKSAlIDM2MCkgLyAzNjAuMDsKICAgICBmb3IgKGludCBpID0gMTsg
aSA8IDM7IGkrKykgewogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwogICAgICAgICBpZiAodi0+
dW5pdCAhPSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgJiYgdi0+aVZhbHVlICE9ICcsJykKQEAg
LTQ5NDMsNyArNTAyOSw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMoQ1NT
UGFyc2VyVmFsdWUqIHZhbHVlLCBkb3VibGUqIGNvbG9yQXJyYXksIGJvCiAgICAgICAgIHYgPSBh
cmdzLT5uZXh0KCk7CiAgICAgICAgIGlmICghdmFsaWRVbml0KHYsIEZQZXJjZW50LCB0cnVlKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgY29sb3JBcnJheVtpXSA9IG1heCgw
LjAsIG1pbigxMDAuMCwgdi0+ZlZhbHVlKSkgLyAxMDAuMDsgLy8gbmVlZHMgdG8gYmUgdmFsdWUg
YmV0d2VlbiAwIGFuZCAxLjAKKyAgICAgICAgY29sb3JBcnJheVtpXSA9IG1heCgwLjAsIG1pbigx
MDAuMCwgcGFyc2VkRG91YmxlKHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpKSkgLyAxMDAuMDsg
Ly8gbmVlZHMgdG8gYmUgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLjAKICAgICB9CiAgICAgaWYgKHBh
cnNlQWxwaGEpIHsKICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKQEAgLTQ5NTIsNyArNTAzOCw3
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFsdWUqIHZh
bHVlLCBkb3VibGUqIGNvbG9yQXJyYXksIGJvCiAgICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CiAg
ICAgICAgIGlmICghdmFsaWRVbml0KHYsIEZOdW1iZXIsIHRydWUpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICBjb2xvckFycmF5WzNdID0gbWF4KDAuMCwgbWluKDEuMCwgdi0+
ZlZhbHVlKSk7CisgICAgICAgIGNvbG9yQXJyYXlbM10gPSBtYXgoMC4wLCBtaW4oMS4wLCBwYXJz
ZWREb3VibGUodiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSkpKTsKICAgICB9CiAgICAgcmV0dXJu
IHRydWU7CiB9CkBAIC01MDIwLDkgKzUxMDYsOSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xv
ckZyb21WYWx1ZShDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIFJHQkEzMiYgYykKIC8vIFRoaXMgY2xh
c3MgdHJhY2tzIHBhcnNpbmcgc3RhdGUgZm9yIHNoYWRvdyB2YWx1ZXMuICBJZiBpdCBnb2VzIG91
dCBvZiBzY29wZSAoZS5nLiwgZHVlIHRvIGFuIGVhcmx5IHJldHVybikKIC8vIHdpdGhvdXQgdGhl
IGFsbG93QnJlYWsgYml0IGJlaW5nIHNldCwgdGhlbiBpdCB3aWxsIGNsZWFuIHVwIGFsbCBvZiB0
aGUgb2JqZWN0cyBhbmQgZGVzdHJveSB0aGVtLgogc3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7
Ci0gICAgU2hhZG93UGFyc2VDb250ZXh0KENTU1Byb3BlcnR5SUQgcHJvcCwgQ1NTVmFsdWVQb29s
KiBjc3NWYWx1ZVBvb2wpCisgICAgU2hhZG93UGFyc2VDb250ZXh0KENTU1Byb3BlcnR5SUQgcHJv
cCwgQ1NTUGFyc2VyKiBwYXJlbnQpCiAgICAgICAgIDogcHJvcGVydHkocHJvcCkKLSAgICAgICAg
LCBtX2Nzc1ZhbHVlUG9vbChjc3NWYWx1ZVBvb2wpCisgICAgICAgICwgbV9wYXJlbnQocGFyZW50
KQogICAgICAgICAsIGFsbG93WCh0cnVlKQogICAgICAgICAsIGFsbG93WShmYWxzZSkKICAgICAg
ICAgLCBhbGxvd0JsdXIoZmFsc2UpCkBAIC01MDY1LDcgKzUxNTEsNyBAQCBzdHJ1Y3QgU2hhZG93
UGFyc2VDb250ZXh0IHsKIAogICAgIHZvaWQgY29tbWl0TGVuZ3RoKENTU1BhcnNlclZhbHVlKiB2
KQogICAgIHsKLSAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwgPSBtX2Nzc1Zh
bHVlUG9vbC0+Y3JlYXRlVmFsdWUodi0+ZlZhbHVlLCBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZTo6VW5pdFR5cGVzPih2LT51bml0KSk7CisgICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVW
YWx1ZT4gdmFsID0gbV9wYXJlbnQtPmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2KTsKIAog
ICAgICAgICBpZiAoYWxsb3dYKSB7CiAgICAgICAgICAgICB4ID0gdmFsLnJlbGVhc2UoKTsKQEAg
LTUxMDcsNyArNTE5Myw3IEBAIHN0cnVjdCBTaGFkb3dQYXJzZUNvbnRleHQgewogCiAgICAgdm9p
ZCBjb21taXRTdHlsZShDU1NQYXJzZXJWYWx1ZSogdikKICAgICB7Ci0gICAgICAgIHN0eWxlID0g
bV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2LT5pZCk7CisgICAgICAgIHN0
eWxlID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodi0+
aWQpOwogICAgICAgICBhbGxvd1N0eWxlID0gZmFsc2U7CiAgICAgICAgIGlmIChhbGxvd1gpCiAg
ICAgICAgICAgICBhbGxvd0JyZWFrID0gZmFsc2U7CkBAIC01MTE5LDcgKzUyMDUsNyBAQCBzdHJ1
Y3QgU2hhZG93UGFyc2VDb250ZXh0IHsKICAgICB9CiAKICAgICBDU1NQcm9wZXJ0eUlEIHByb3Bl
cnR5OwotICAgIENTU1ZhbHVlUG9vbCogbV9jc3NWYWx1ZVBvb2w7CisgICAgQ1NTUGFyc2VyKiBt
X3BhcmVudDsKIAogICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHZhbHVlczsKICAgICBSZWZQdHI8
Q1NTUHJpbWl0aXZlVmFsdWU+IHg7CkBAIC01MTQwLDcgKzUyMjYsNyBAQCBzdHJ1Y3QgU2hhZG93
UGFyc2VDb250ZXh0IHsKIAogUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFy
c2VTaGFkb3coQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZUxpc3QsIGludCBwcm9wSWQpCiB7Ci0g
ICAgU2hhZG93UGFyc2VDb250ZXh0IGNvbnRleHQoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4o
cHJvcElkKSwgY3NzVmFsdWVQb29sKCkpOworICAgIFNoYWRvd1BhcnNlQ29udGV4dCBjb250ZXh0
KHN0YXRpY19jYXN0PENTU1Byb3BlcnR5SUQ+KHByb3BJZCksIHRoaXMpOwogICAgIENTU1BhcnNl
clZhbHVlKiB2YWw7CiAgICAgd2hpbGUgKCh2YWwgPSB2YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsK
ICAgICAgICAgLy8gQ2hlY2sgZm9yIGEgY29tbWEgYnJlYWsgZmlyc3QuCkBAIC01NTA3LDggKzU1
OTMsOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVJlcGVhdChSZWZQdHI8Q1NT
VmFsdWU+JiByZXN1bHQpCiAKIGNsYXNzIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQgewog
cHVibGljOgotICAgIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQoQ1NTVmFsdWVQb29sKiBj
c3NWYWx1ZVBvb2wpCi0gICAgOiBtX2Nzc1ZhbHVlUG9vbChjc3NWYWx1ZVBvb2wpCisgICAgQm9y
ZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dChDU1NQYXJzZXIqIHBhcmVudCkKKyAgICA6IG1fcGFy
ZW50KHBhcmVudCkKICAgICAsIG1fYWxsb3dOdW1iZXIodHJ1ZSkKICAgICAsIG1fYWxsb3dGaWxs
KGZhbHNlKQogICAgICwgbV9hbGxvd0ZpbmFsQ29tbWl0KGZhbHNlKQpAQCAtNTUyMiw3ICs1NjA4
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjb21taXROdW1iZXIoQ1NTUGFyc2VyVmFsdWUqIHYp
CiAgICAgewotICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fY3NzVmFs
dWVQb29sLT5jcmVhdGVWYWx1ZSh2LT5mVmFsdWUsIHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZh
bHVlOjpVbml0VHlwZXM+KHYtPnVuaXQpKTsKKyAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZh
bHVlPiB2YWwgPSBtX3BhcmVudC0+Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHYpOwogICAg
ICAgICBpZiAoIW1fdG9wKQogICAgICAgICAgICAgbV90b3AgPSB2YWw7CiAgICAgICAgIGVsc2Ug
aWYgKCFtX3JpZ2h0KQpAQCAtNTU2OCwxMSArNTY1NCwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHF1
YWQtPnNldExlZnQobV9sZWZ0KTsKIAogICAgICAgICAvLyBNYWtlIG91ciBuZXcgYm9yZGVyIGlt
YWdlIHZhbHVlIG5vdy4KLSAgICAgICAgcmV0dXJuIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6
Y3JlYXRlKG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShxdWFkLnJlbGVhc2UoKSksIG1fZmls
bCk7CisgICAgICAgIHJldHVybiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU6OmNyZWF0ZShtX3Bh
cmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKHF1YWQucmVsZWFzZSgpKSwgbV9maWxs
KTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgQ1NTVmFsdWVQb29sKiBtX2Nzc1ZhbHVlUG9vbDsK
KyAgICBDU1NQYXJzZXIqIG1fcGFyZW50OwogCiAgICAgYm9vbCBtX2FsbG93TnVtYmVyOwogICAg
IGJvb2wgbV9hbGxvd0ZpbGw7CkBAIC01NTg4LDEwICs1Njc0LDExIEBAIHByaXZhdGU6CiAKIGJv
b2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlU2xpY2UoaW50IHByb3BJZCwgUmVmUHRyPENT
U0JvcmRlckltYWdlU2xpY2VWYWx1ZT4mIHJlc3VsdCkKIHsKLSAgICBCb3JkZXJJbWFnZVNsaWNl
UGFyc2VDb250ZXh0IGNvbnRleHQoY3NzVmFsdWVQb29sKCkpOworICAgIEJvcmRlckltYWdlU2xp
Y2VQYXJzZUNvbnRleHQgY29udGV4dCh0aGlzKTsKICAgICBDU1NQYXJzZXJWYWx1ZSogdmFsOwog
ICAgIHdoaWxlICgodmFsID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsKLSAgICAgICAgaWYg
KGNvbnRleHQuYWxsb3dOdW1iZXIoKSAmJiB2YWxpZFVuaXQodmFsLCBGSW50ZWdlciB8IEZOb25O
ZWcgfCBGUGVyY2VudCwgdHJ1ZSkpIHsKKyAgICAgICAgLy8gRklYTUUgY2FsYygpIGh0dHA6Ly93
ZWJraXQub3JnL2IvMTY2NjIgOiBjYWxjIGlzIHBhcnNlZCBidXQgdmFsdWVzIGFyZSBub3QgY3Jl
YXRlZCB5ZXQuCisgICAgICAgIGlmIChjb250ZXh0LmFsbG93TnVtYmVyKCkgJiYgIWlzQ2FsY01p
bk1heCh2YWwpICYmIHZhbGlkVW5pdCh2YWwsIEZJbnRlZ2VyIHwgRk5vbk5lZyB8IEZQZXJjZW50
LCB0cnVlKSkgewogICAgICAgICAgICAgY29udGV4dC5jb21taXROdW1iZXIodmFsKTsKICAgICAg
ICAgfSBlbHNlIGlmIChjb250ZXh0LmFsbG93RmlsbCgpICYmIHZhbC0+aWQgPT0gQ1NTVmFsdWVG
aWxsKQogICAgICAgICAgICAgY29udGV4dC5jb21taXRGaWxsKCk7CkBAIC01NjI0LDggKzU3MTEs
OCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVNsaWNlKGludCBwcm9wSWQsIFJl
ZlB0cjxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdQogCiBjbGFzcyBCb3JkZXJJbWFnZVF1YWRQYXJz
ZUNvbnRleHQgewogcHVibGljOgotICAgIEJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dChDU1NW
YWx1ZVBvb2wqIGNzc1ZhbHVlUG9vbCkKLSAgICA6IG1fY3NzVmFsdWVQb29sKGNzc1ZhbHVlUG9v
bCkKKyAgICBCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQoQ1NTUGFyc2VyKiBwYXJlbnQpCisg
ICAgOiBtX3BhcmVudChwYXJlbnQpCiAgICAgLCBtX2FsbG93TnVtYmVyKHRydWUpCiAgICAgLCBt
X2FsbG93RmluYWxDb21taXQoZmFsc2UpCiAgICAgeyB9CkBAIC01NjM4LDkgKzU3MjUsOSBAQCBw
dWJsaWM6CiAgICAgewogICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbDsKICAg
ICAgICAgaWYgKHYtPmlkID09IENTU1ZhbHVlQXV0bykKLSAgICAgICAgICAgIHZhbCA9IG1fY3Nz
VmFsdWVQb29sLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodi0+aWQpOworICAgICAgICAgICAgdmFs
ID0gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodi0+aWQp
OwogICAgICAgICBlbHNlCi0gICAgICAgICAgICB2YWwgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRl
VmFsdWUodi0+ZlZhbHVlLCBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVz
Pih2LT51bml0KSk7CisgICAgICAgICAgICB2YWwgPSBtX3BhcmVudC0+Y3JlYXRlUHJpbWl0aXZl
TnVtZXJpY1ZhbHVlKHYpOwogCiAgICAgICAgIGlmICghbV90b3ApCiAgICAgICAgICAgICBtX3Rv
cCA9IHZhbDsKQEAgLTU2ODQsMTEgKzU3NzEsMTEgQEAgcHVibGljOgogICAgICAgICBxdWFkLT5z
ZXRMZWZ0KG1fbGVmdCk7CiAKICAgICAgICAgLy8gTWFrZSBvdXIgbmV3IHZhbHVlIG5vdy4KLSAg
ICAgICAgcmV0dXJuIG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShxdWFkLnJlbGVhc2UoKSk7
CisgICAgICAgIHJldHVybiBtX3BhcmVudC0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKHF1
YWQucmVsZWFzZSgpKTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgQ1NTVmFsdWVQb29sKiBtX2Nz
c1ZhbHVlUG9vbDsKKyAgICBDU1NQYXJzZXIqIG1fcGFyZW50OwogCiAgICAgYm9vbCBtX2FsbG93
TnVtYmVyOwogICAgIGJvb2wgbV9hbGxvd0ZpbmFsQ29tbWl0OwpAQCAtNTcwMSw3ICs1Nzg4LDcg
QEAgcHJpdmF0ZToKIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VRdWFkKFVuaXRz
IHZhbGlkVW5pdHMsIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4mIHJlc3VsdCkKIHsKLSAgICBC
b3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQgY29udGV4dChjc3NWYWx1ZVBvb2woKSk7CisgICAg
Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0IGNvbnRleHQodGhpcyk7CiAgICAgQ1NTUGFyc2Vy
VmFsdWUqIHZhbDsKICAgICB3aGlsZSAoKHZhbCA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7
CiAgICAgICAgIGlmIChjb250ZXh0LmFsbG93TnVtYmVyKCkgJiYgKHZhbGlkVW5pdCh2YWwsIHZh
bGlkVW5pdHMsIHRydWUpIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVBdXRvKSkgewpAQCAtNzMwNSw2
ICs3MzkyLDIzIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZvbnRWYXJpYW50TGlnYXR1cmVzKGJv
b2wgaW1wb3J0YW50KQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIENTU1BhcnNlcjo6cGFy
c2VDYWxjKENTU1BhcnNlclZhbHVlKiB2YWx1ZSkgCit7CisgICAgQVNTRVJUKGlzQ2FsY01pbk1h
eCh2YWx1ZSkpOworICAgIAorICAgIENTU1BhcnNlclZhbHVlTGlzdCogYXJncyA9IHZhbHVlLT5m
dW5jdGlvbi0+YXJncy5nZXQoKTsKKyAgICBpZiAoIWFyZ3MgfHwgIWFyZ3MtPnNpemUoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQVNTRVJUKCFtX3BhcnNlZENhbGMpOworICAgIG1f
cGFyc2VkQ2FsYyA9IENTU0NhbGNWYWx1ZTo6Y3JlYXRlKHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwg
YXJncyk7CisgICAgCisgICAgaWYgKCFtX3BhcnNlZENhbGMpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyAgICAKIHN0YXRpYyBpbmxpbmUgaW50IHl5
ZXJyb3IoY29uc3QgY2hhciopIHsgcmV0dXJuIDE7IH0KIAogI2RlZmluZSBFTkRfVE9LRU4gMApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGEwZGY2OTY3Yzg0OWE0ZWM5ODIwODg0YTc2NWExYWM5
NzM0ZWQwODMuLmU1NjQ1ODBiNWRkYjlhMjg1MTg0ZmJkMDQwY2RmZGUxMDI0OWVkNzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTIzLDYgKzIzLDcgQEAKICNpZm5kZWYgQ1NTUGFyc2VyX2gK
ICNkZWZpbmUgQ1NTUGFyc2VyX2gKIAorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1
ZGUgIkNTU0dyYWRpZW50VmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJWYWx1ZXMuaCIKICNp
bmNsdWRlICJDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCIKQEAgLTIxMSw2ICsyMTIsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBwYXJzZVRleHRFbXBoYXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KTsKIAog
ICAgIGJvb2wgcGFyc2VMaW5lQm94Q29udGFpbihib29sIGltcG9ydGFudCk7CisgICAgYm9vbCBw
YXJzZUNhbGMoQ1NTUGFyc2VyVmFsdWUqKTsKIAogICAgIGJvb2wgcGFyc2VGb250RmVhdHVyZVRh
ZyhDU1NWYWx1ZUxpc3QqKTsKICAgICBib29sIHBhcnNlRm9udEZlYXR1cmVTZXR0aW5ncyhib29s
IGltcG9ydGFudCk7CkBAIC0zMjIsNiArMzI0LDkgQEAgcHVibGljOgogICAgIHZvaWQgY291bnRM
aW5lcygpOwogICAgIGludCBsZXgoKTsKIAorICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOworICAgIFBh
c3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKENT
U1BhcnNlclZhbHVlKik7CisgICAgICAgIAogcHJpdmF0ZToKICAgICB2b2lkIHNldFN0eWxlU2hl
ZXQoQ1NTU3R5bGVTaGVldCopOwogICAgIHZvaWQgZW5zdXJlQ1NTVmFsdWVQb29sKCk7CkBAIC0z
ODgsNiArMzkzLDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVj
dG9yPiA+IG1fcmV1c2FibGVTZWxlY3RvclZlY3RvcjsKICAgICBWZWN0b3I8T3duUHRyPENTU1Bh
cnNlclNlbGVjdG9yPiA+IG1fcmV1c2FibGVSZWdpb25TZWxlY3RvclZlY3RvcjsKIAorICAgIFJl
ZlB0cjxDU1NDYWxjVmFsdWU+IG1fcGFyc2VkQ2FsYzsKKwogICAgIC8vIGRlZmluZXMgdW5pdHMg
YWxsb3dlZCBmb3IgYSBjZXJ0YWluIHByb3BlcnR5LCB1c2VkIGluIHBhcnNlVW5pdAogICAgIGVu
dW0gVW5pdHMgewogICAgICAgICBGVW5rbm93biAgID0gMHgwMDAwLApAQCAtNDA3LDEzICs0MTQs
MTggQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFVuaXRzPihzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oYSkgfCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oYikpOwogICAgIH0KIAot
ICAgIHN0YXRpYyBib29sIHZhbGlkVW5pdChDU1NQYXJzZXJWYWx1ZSosIFVuaXRzLCBib29sIHN0
cmljdCk7CisgICAgYm9vbCB2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqLCBVbml0cywgYm9vbCBz
dHJpY3QpOwogCiAgICAgYm9vbCBwYXJzZUJvcmRlckltYWdlUXVhZChVbml0cywgUmVmUHRyPENT
U1ByaW1pdGl2ZVZhbHVlPiYpOwotCi0gICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4g
Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKik7Ci0gICAgUGFzc1Jl
ZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlU3RyaW5nVmFsdWUoQ1NTUGFy
c2VyVmFsdWUqKTsKLQorICAgIGludCBjb2xvckludEZyb21WYWx1ZShDU1NQYXJzZXJWYWx1ZSop
OworCisgICAgZW51bSBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlQ29uZGl0aW9uIHsKKyAgICAgICAg
UmVsZWFzZVBhcnNlZENhbGNWYWx1ZSwKKyAgICAgICAgRG9Ob3RSZWxlYXNlUGFyc2VkQ2FsY1Zh
bHVlCisgICAgfTsgICAgCisgICAgZG91YmxlIHBhcnNlZERvdWJsZShDU1NQYXJzZXJWYWx1ZSos
IFJlbGVhc2VQYXJzZWRDYWxjVmFsdWVDb25kaXRpb24gcmVsZWFzZUNhbGMgPSBEb05vdFJlbGVh
c2VQYXJzZWRDYWxjVmFsdWUpOworICAgIGJvb2wgaXNDYWxjTWluTWF4KENTU1BhcnNlclZhbHVl
Kik7CisgICAgCiAgICAgZnJpZW5kIGNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbkluZm87CiAjaWYg
RU5BQkxFKENTU19GSUxURVJTKQogICAgIGZyaWVuZCBjbGFzcyBGaWx0ZXJPcGVyYXRpb25JbmZv
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXggMGI4OGY1NTM0MmY2MjMxMTVjMDAxYjc5MmM5
NTU0ODU5OGU2NWVhZS4uNzEzZGNkMzFmOGM1NDg2NDU2MDI0Y2ZhNWUzZTU2N2FkMWNkZDM2OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJD
U1NBc3BlY3RSYXRpb1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVl
LmgiCisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2FudmFzVmFsdWUu
aCIKICNpbmNsdWRlICJDU1NDcm9zc2ZhZGVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvcklt
YWdlVmFsdWUuaCIKQEAgLTE0OSw2ICsxNTAsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQo
KSBjb25zdAogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTTGluZUJveENvbnRh
aW5WYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CiAgICAgY2FzZSBGbGV4Q2xhc3M6CiAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NGbGV4VmFsdWUqPih0aGlzKS0+Y3Vz
dG9tQ3NzVGV4dCgpOworICAgIGNhc2UgQ2FsY0NsYXNzOgorICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Y29uc3QgQ1NTQ2FsY1ZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKICNpZiBF
TkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgY2FzZSBXZWJLaXRDU1NGaWx0ZXJDbGFzczoKICAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU0ZpbHRlclZhbHVlKj4odGhpcykt
PmN1c3RvbUNzc1RleHQoKTsKQEAgLTI0OSw2ICsyNTIsOSBAQCB2b2lkIENTU1ZhbHVlOjpkZXN0
cm95KCkKICAgICBjYXNlIEZsZXhDbGFzczoKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PENT
U0ZsZXhWYWx1ZSo+KHRoaXMpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBDYWxjQ2xhc3M6
CisgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxDU1NDYWxjVmFsdWUqPih0aGlzKTsKKyAgICAg
ICAgcmV0dXJuOwogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBjYXNlIFdlYktpdENTU0Zp
bHRlckNsYXNzOgogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTRmlsdGVyVmFs
dWUqPih0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggMmQzMzI0MjMyNjBmNTc3ZjhiODkw
MTgwODUzNzNlMmRlMjQ2OTlhNi4uMTkxNDlkZGRjZGNhYjNmNTM3NjZmOTc3ZGU3NTlhNmM1NWU4
ZDAxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTc2LDYgKzc2LDcgQEAgcHVibGljOgogICAg
IGJvb2wgaXNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NU
eXBlID09IFdlYktpdENTU1RyYW5zZm9ybUNsYXNzOyB9CiAgICAgYm9vbCBpc0NTU0xpbmVCb3hD
b250YWluVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBMaW5lQm94Q29udGFp
bkNsYXNzOyB9CiAgICAgYm9vbCBpc0ZsZXhWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NU
eXBlID09IEZsZXhDbGFzczsgfQorICAgIGJvb2wgaXNDYWxjVmFsdWUoKSBjb25zdCB7cmV0dXJu
IG1fY2xhc3NUeXBlID09IENhbGNDbGFzczsgfQogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAg
ICBib29sIGlzV2ViS2l0Q1NTRmlsdGVyVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlw
ZSA9PSBXZWJLaXRDU1NGaWx0ZXJDbGFzczsgfQogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKQEAg
LTEyNiw2ICsxMjcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIFVuaWNvZGVSYW5nZUNsYXNzLAog
ICAgICAgICBMaW5lQm94Q29udGFpbkNsYXNzLAogICAgICAgICBGbGV4Q2xhc3MsCisgICAgICAg
IENhbGNDbGFzcywKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpICYmIEVOQUJMRShDU1NfU0hBREVS
UykKICAgICAgICAgV2ViS2l0Q1NTU2hhZGVyQ2xhc3MsCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NW
R0NTU1BhcnNlci5jcHAKaW5kZXggZGQ3MzhmYjNjM2VhZjc1NTRiMWQwYjI1ZjVjZThiNzg1ODFk
MjA1OC4uNzUwMjIwNWMwNWQ4YmM0ZmExZmM5NTYzZjFhMjQ1NzdhMGY2ZTY1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1NWR0NTU1BhcnNlci5jcHAKQEAgLTMxNCw2ICszMTQsMTIgQEAgYm9vbCBDU1NQYXJz
ZXI6OnBhcnNlU1ZHVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAg
ICBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUodmFsdWUtPmZWYWx1ZSwg
KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpIHZhbHVlLT51bml0KTsKICAgICAgICAgZWxz
ZSBpZiAodmFsdWUtPnVuaXQgPj0gQ1NTUGFyc2VyVmFsdWU6OlFfRU1TKQogICAgICAgICAgICAg
cGFyc2VkVmFsdWUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlQWxsb3dpbmdNYXJnaW5RdWly
ayh2YWx1ZS0+ZlZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUyk7CisgICAgICAgIGlm
IChpc0NhbGNNaW5NYXgodmFsdWUpKSB7CisgICAgICAgICAgICAvLyBGSVhNRSBjYWxjKCkgaHR0
cDovL3dlYmtpdC5vcmcvYi8xNjY2MiA6IGFjdHVhbGx5IGNyZWF0ZSBhIENTU1ByaW1pdGl2ZVZh
bHVlIGhlcmUsIGllCisgICAgICAgICAgICAvLyBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZh
bHVlOjpjcmVhdGUobV9wYXJzZWRDYWxjLnJlbGVhc2UoKSk7CisgICAgICAgICAgICBtX3BhcnNl
ZENhbGMucmVsZWFzZSgpOworICAgICAgICAgICAgcGFyc2VkVmFsdWUgPSAwOworICAgICAgICB9
CiAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgfQogICAgIGlmICghcGFyc2VkVmFs
dWUgfHwgKG1fdmFsdWVMaXN0LT5jdXJyZW50KCkgJiYgIWluU2hvcnRoYW5kKCkpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGM0Mzk5ZjcyNzM4MzNlMzJj
OWI3Mzk5ZGMzZmNlMmZhMzg2NmI0MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJDYWxjVmFsdWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisgICAK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0NhbGNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmgKbmV3
IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzhkYTAzMzcwN2VmMTk4ZDk1MGI3NDE0NTZmYmFiOGIwOGU3NzI1ZgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oCkBAIC0wLDAg
KzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIENhbGNWYWx1ZV9oCisjZGVmaW5lIENhbGNWYWx1ZV9oCisKKyNpbmNs
dWRlICJMZW5ndGguaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIENhbGNPcGVyYXRvciB7Cisg
ICAgQ2FsY0FkZCA9ICcrJywKKyAgICBDYWxjU3VidHJhY3QgPSAnLScsCisgICAgQ2FsY011bHRp
cGx5ID0gJyonLAorICAgIENhbGNEaXZpZGUgPSAnLycsCisgICAgQ2FsY01vZCA9ICclJworfTsK
KworZW51bSBDYWxjTGlzdFR5cGUgeworICAgIENhbGNNaW4sCisgICAgQ2FsY01heCwgCit9Owor
ICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2FsY1ZhbHVlX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124270</attachid>
            <date>2012-01-27 01:03:14 -0800</date>
            <delta_ts>2012-01-27 14:55:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57082-20120127200311.patch</filename>
            <type>text/plain</type>
            <size>57728</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1ODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDYyZTljYThiODg0NWU5
NDkwZGRjOTdlYzMzY2EzZWNlN2ExZGZlMy4uMWU3YmM0MGFjNjFiYTI1ZGQzMzBiODBhOGQ0ODg5
YTAwYTZkMWU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNCBAQAorMjAxMi0wMS0yNiAgTWlr
ZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBjYWxj
IHBhcnNpbmcgc3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3MDgyCisKKyAgICAgICAgVGhpcyBpcyB0aGUgcGFyc2luZyBzdGFnZSBvZiBjYWxj
LiBUaGUgZXhwcmVzc2lvbnMgYXJlIGV2YWx1YXRlZCBhbmQgCisgICAgICAgIGV4cHJlc3Npb24g
dHJlZXMgYXJlIGdlbmVyYXRlZC4gQ1NTIHZhbHVlcyBhcmUgbm90IGNyZWF0ZWQgeWV0IC0gdGhh
dAorICAgICAgICB3aWxsIGhhcHBlbiBpbiBhIHN1YnNlcXVlbnQgY29tbWl0LiAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBmdW5jdGlvbmFsIGNo
YW5nZSAtIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMgaW4gTGF5b3V0VGVzdHMvY3NzMy9jYWxj
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0NhbGN1bGF0aW9u
VmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
dW5pdENhdGVnb3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y3VzdG9tQ3Nz
VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6On5DU1NDYWxj
RXhwcmVzc2lvbk5vZGUpOgorICAgICAgICAoQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICgpOgorICAgICAgICAoQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Q2FsY0JpbmFyeU9wZXJhdGlvbjo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpjaGVja0RlcHRoQW5kSW5kZXgpOgorICAgICAgICAoQ1NTQ2FsY0V4cHJlc3Npb25O
b2RlUGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNl
cjo6cGFyc2VDYWxjKToKKyAgICAgICAgKFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6b3BlcmF0b3JWYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZVZhbHVlVGVybSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlVmFsdWVNdWx0
aXBsaWNhdGl2ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Np
b25Ob2RlUGFyc2VyOjpwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VWYWx1ZUV4cHJlc3Npb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjcmVhdGUpOgorICAgICAgICAqIGNz
cy9DU1NDYWxjdWxhdGlvblZhbHVlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICgpOgorICAgICAgICAoQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6Y2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlOjppc0ludCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxj
RXhwcmVzc2lvbk5vZGU6OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVz
c2lvbk5vZGU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChDU1NDYWxjVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjYXRlZ29yeSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmlzSW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNW
YWx1ZTo6Q1NTQ2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6dmFsaWRDYWxjdWxhdGlvblVuaXQpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnZhbGlkVW5pdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsaWRQcmltaXRpdmUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6cGFyc2VGaWxsUG9zaXRpb25Db21wb25lbnQpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpwYXJzZWREb3VibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpp
c0NhbGN1bGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y29sb3JJbnRGcm9t
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlSFNMUGFyYW1ldGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6OlNoYWRvd1BhcnNlQ29udGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6OmNvbW1pdExlbmd0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6OmNvbW1pdFN0eWxlKToKKyAgICAg
ICAgKFNoYWRvd1BhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBh
cnNlU2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRl
eHQ6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Qm9y
ZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29tbWl0TnVtYmVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQ6OmNvbW1pdEJvcmRlckltYWdlU2xpY2Up
OgorICAgICAgICAoQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VTbGljZSk6CisgICAgICAgIChXZWJDb3Jl
OjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6OkJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4
dCk6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6OmNvbW1p
dE51bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6
OmNvbW1pdEJvcmRlckltYWdlUXVhZCk6CisgICAgICAgIChCb3JkZXJJbWFnZVF1YWRQYXJzZUNv
bnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUXVh
ZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ2FsY3VsYXRpb24pOgorICAg
ICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKCk6CisgICAgICAgIChDU1NQYXJzZXIp
OgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1
ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAg
ICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNDYWxj
dWxhdGlvblZhbHVlKToKKyAgICAgICAgKCk6CisgICAgICAgICogY3NzL1NWR0NTU1BhcnNlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU1ZHVmFsdWUpOgorICAgICAg
ICAqIHBsYXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIHBsYXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuaDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKCk6CisKIDIwMTItMDEtMjUgIEthdXN0dWJoIEF0cmF3
YWxrYXIgIDxrYXVzdHViaEBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHVubmVjZXNz
YXJ5IG1lbWJlciB2YXJpYWJsZSBmcm9tIFBsdWdpblZpZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IDM2NmMyYTAwY2IxZWU3MmE2Y2NkNmVlZmE5MzUxZDM4NjlkMDFjNjQuLmFjMDc4N2Q3Zjgw
YzhjNzUyMjY1MjA0NjJjYzVkNGUzYjFiZjk5ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00
MjksNiArNDI5LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGNzcy9DU1NBc3BlY3RSYXRp
b1ZhbHVlLmNwcAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZS5jcHAKICAgICBjc3MvQ1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlLmNwcAorICAgIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAogICAg
IGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCiAgICAg
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTEwNDEsNiArMTA0Miw3IEBA
IFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlv
bi5jcHAKIAogICAgIHBsYXRmb3JtL0FyZW5hLmNwcAorICAgIHBsYXRmb3JtL0NhbGN1bGF0aW9u
VmFsdWUuY3BwCiAgICAgcGxhdGZvcm0vQ2xvY2suY3BwCiAgICAgcGxhdGZvcm0vQ29udGV4dE1l
bnUuY3BwCiAgICAgcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggMjE5NTg2ZmQ0ODllMGU5MjlkYjZiNzAxZjk0OGEzNWJmNjBkYzAz
Mi4uOWM4YjQyYTIwNzY0ZDQ4NDJhYjQzZjBhMWZhZGE1MTJiZjJjOWQ5MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMjg0LDYgKzEyODQsOCBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hh
cnNldFJ1bGUuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3Bw
IFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwIFwKQEAgLTI3ODcsNiArMjc4OSw4IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVt
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmggXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQ2FsY3VsYXRpb25WYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DbG9jay5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nsb2NrLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0Nsb2NrR2VuZXJpYy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggOGM4NTgzMTdmZTUy
NTcxOWZiYTQ1ODdjMTI2ZmMwZWZkZTU1N2UwMi4uOTM5ZTQ0ZDdjYTI0ZGZiMTgzZDFjODgyOTY0
ZWZhMDVkMmQ5NzEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0zOTUsNiArMzk1LDcgQEAgU09VUkNFUyAr
PSBcCiAgICAgY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlLmNwcCBcCisgICAg
Y3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuY3Bw
IFwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcCBcCkBAIC0xMDI2LDYgKzEwMjcsNyBAQCBTT1VSQ0VTICs9IFwKICAg
ICBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVOb25lLmNwcCBcCiAgICAgcGxhdGZvcm0vdGV4
dC9Mb2NhbGl6ZWROdW1iZXJOb25lLmNwcCBcCiAgICAgcGxhdGZvcm0vdGV4dC9RdW90ZWRQcmlu
dGFibGUuY3BwIFwKKyAgICBwbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcCBcCiAgICAgcGxh
dGZvcm0vQ2xvY2suY3BwIFwKICAgICBwbGF0Zm9ybS9DbG9ja0dlbmVyaWMuY3BwIFwKICAgICBw
bGF0Zm9ybS9Db250ZW50VHlwZS5jcHAgXApAQCAtMTUwNSw3ICsxNTA3LDEwIEBAIHY4IHsKIEhF
QURFUlMgKz0gXAogICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmggXAogICAgIGNzcy9DU1NC
b3JkZXJJbWFnZVNsaWNlVmFsdWUuaCBcCisgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBc
CiAgICAgY3NzL0NTU0JvcmRlckltYWdlLmggXAorICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVl
LmggXAorICAgIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmggXAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5oIFwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuaCBcCiAgICAgY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5oIFwKQEAgLTIwNzQsNiArMjA3OSw3IEBAIEhFQURFUlMgKz0gXAog
ICAgIHBsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaCBcCiAgICAgcGxhdGZv
cm0vQXJlbmEuaCBcCiAgICAgcGxhdGZvcm0vQXN5bmNGaWxlU3RyZWFtLmggXAorICAgIHBsYXRm
b3JtL0NhbGN1bGF0aW9uVmFsdWUuaCBcCiAgICAgcGxhdGZvcm0vQ2xvY2suaCBcCiAgICAgcGxh
dGZvcm0vQ2xvY2tHZW5lcmljLmggXAogICAgIHBsYXRmb3JtL0NvbnRlbnRUeXBlLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IDFjODg0MjE5YTMzNzYxMDMyODkyNGViMmVlMjZlZTZkYWY5NTJmZGEu
LjVkMzU4ODg4MGFjNzM0MmFkMDlhY2VkNmY3ZmU3ZGIzMTViOTZmZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTE5ODMsNiArMTk4Myw4IEBACiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdl
U2xpY2VWYWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwJywKICAg
ICAgICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuaCcsCisgICAgICAgICAgICAnY3NzL0NTU0Nh
bGN1bGF0aW9uVmFsdWUuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1
ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwJywKICAgICAgICAgICAg
ICdjc3MvQ1NTQ2hhcnNldFJ1bGUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAnLApAQCAtMjcxMyw2ICsyNzE1LDggQEAKICAgICAgICAgICAgICdw
bGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQXN5bmNG
aWxlU3lzdGVtQ2FsbGJhY2tzLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0F1dG9kcmFpbmVk
UG9vbC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcCcsCisg
ICAgICAgICAgICAncGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9DbG9jay5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0Nsb2NrLmgnLAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL0NvbnRlbnRUeXBlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDM5MzYwMTNhMDY3MDE4Y2FkYWQ3YTlh
NGU0MDhjN2U1NDdkODg2M2IuLjU2Zjg1ZGZmMGVmNjA0NTZlOTY2NjQ4M2UxZmFkMDQzYjJiNWM3
MmQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBA
IC0yNjM1MCw2ICsyNjM1MCwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxDYWxjdWxhdGlvblZhbHVlLmNwcCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cQ2FsY3Vs
YXRpb25WYWx1ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwbGF0Zm9ybVxDbG9jay5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzI2OTQs
NiArMzI3MDIsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cY3NzXENTU0NhbGN1bGF0aW9uVmFsdWUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2FsY3VsYXRpb25WYWx1ZS5o
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3Nc
Q1NTQ2FudmFzVmFsdWUuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5
OWU4ZTNmN2YxZGM2ODc2MTVkMGRhYjMxYjA1N2MyOTAxNzE2YWRjLi5hMTRjNDU2NGRiMWZkYWJk
OGFlMzM0YTA3ODY5YTMwOGQwY2NiNDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjI2LDYgKzEyMjYsMTAgQEAKIAkJNDk5
QjNFRDYxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTlCM0VENDEyOENEMzE0MDBFNzI2
QzIgLyogR3JhcGhpY3NMYXllckNBLmNwcCAqLzsgfTsKIAkJNDk5QjNFRDcxMjhDRDMxNDAwRTcy
NkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDk5QjNFRDUxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJD
QS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5
OUIzRUREMTI4REI1MDIwMEU3MjZDMiAvKiBQbGF0Zm9ybUNBQW5pbWF0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTlCM0VEQzEyOERCNTAxMDBF
NzI2QzIgLyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1ND
YWxjdWxhdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ5QUUyRDhDMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVl
LmNwcCAqLzsgfTsKKwkJNDlBRTJEOEYxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGN1bGF0aW9u
VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
QUUyRDhEMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmggKi87IH07CisJ
CTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk0MTM0RUU1Rjkw
MDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCAqLzsgfTsKKwkJNDlBRTJEOTcxMzRFRTVG
OTAwNzI5MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxh
dGlvblZhbHVlLmggKi87IH07CiAJCTQ5QUYyRDY5MTQ0MzVEMDUwMDE2QTc4NCAvKiBEaXNwbGF5
UmVmcmVzaE1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5QUYyRDY4MTQ0MzVEMDUwMDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3Iu
aCAqLzsgfTsKIAkJNDlBRjJENkMxNDQzNUQyMTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9u
aXRvck1hYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OUFGMkQ2QjE0NDM1RDIxMDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNw
cCAqLzsgfTsKIAkJNDlDN0I5OTMxMDQyRDJEMzAwMDlENDQ3IC8qIEpTV2ViR0xCdWZmZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDN0I5ODAx
MDQyRDJEMzAwMDlENDQ3IC8qIEpTV2ViR0xCdWZmZXIuY3BwICovOyB9OwpAQCAtODAyNiw2ICs4
MDMwLDEwIEBACiAJCTQ5OUIzRUQ0MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0Eu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gR3JhcGhpY3NMYXllckNB
LmNwcDsgcGF0aCA9IGNhL0dyYXBoaWNzTGF5ZXJDQS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ5OUIzRUQ1MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gR3JhcGhpY3NMYXllckNBLmg7IHBhdGgg
PSBjYS9HcmFwaGljc0xheWVyQ0EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk5
QjNFREMxMjhEQjUwMTAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FBbmltYXRpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUGxhdGZvcm1DQUFuaW1hdGlvbi5oOyBwYXRoID0gY2Ev
UGxhdGZvcm1DQUFuaW1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUFF
MkQ4QzEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOEQxMzRFRTUwQzAwNzI5MjBBIC8qIENT
U0NhbGN1bGF0aW9uVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NT
Q2FsY3VsYXRpb25WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUFFMkQ5
NDEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxjdWxhdGlvblZhbHVlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOTUxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9u
VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsY3VsYXRpb25WYWx1
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUFGMkQ2ODE0NDM1RDA1MDAxNkE3
ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0OUFGMkQ2QjE0NDM1RDIxMDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFj
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlSZWZyZXNo
TW9uaXRvck1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QzdCOTgwMTA0
MkQyRDMwMDA5RDQ0NyAvKiBKU1dlYkdMQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTk1NzMsNiArMTk1ODEsOCBAQAogCQkJCTg5RDA4RDlEMTIyMjg0NTEwMDEyNDFE
RiAvKiBBc3luY0ZpbGVTeXN0ZW0uaCAqLywKIAkJCQk4OUQwOEQ5RTEyMjI4NDUxMDAxMjQxREYg
LyogQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggKi8sCiAJCQkJNTFFMUVDQjEwQzkxQzU1NjAw
REMyNTVCIC8qIEF1dG9kcmFpbmVkUG9vbC5oICovLAorCQkJCTQ5QUUyRDk0MTM0RUU1RjkwMDcy
OTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCAqLywKKwkJCQk0OUFFMkQ5NTEzNEVFNUY5MDA3
MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5oICovLAogCQkJCUNERUE3NjMzMTQ2MEI0NjIwMDhC
MzFGMSAvKiBDbG9jay5jcHAgKi8sCiAJCQkJQ0RFQTc2MkMxNDYwODIyNDAwOEIzMUYxIC8qIENs
b2NrLmggKi8sCiAJCQkJQ0RFQTc2MzIxNDYwQUUyOTAwOEIzMUYxIC8qIENsb2NrR2VuZXJpYy5j
cHAgKi8sCkBAIC0xOTg4NCw2ICsxOTg5NCw4IEBACiAJCQkJRTE2QTg0RjgxNEM4NUNDQzAwMjk3
N0RGIC8qIENTU0JvcmRlckltYWdlLmggKi8sCiAJCQkJQkMyNzRCMzAxNDBFQkVEODAwRUFERkE2
IC8qIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAgKi8sCiAJCQkJQkMyNzRCMkUxNDBFQkVC
MjAwRUFERkE2IC8qIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oICovLAorCQkJCTQ5QUUyRDhD
MTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcCAqLywKKwkJCQk0OUFF
MkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oICovLAogCQkJCUJD
NjA0QTQyMERCNTYzNEUwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5jcHAgKi8sCiAJCQkJQkM2
MDQ5Q0IwREI1NjBDMjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggKi8sCiAJCQkJRTFFQkJC
RDMwQUFDOUI4NzAwMUZFOEUyIC8qIENTU0NoYXJzZXRSdWxlLmNwcCAqLywKQEAgLTIxMTE4LDYg
KzIxMTMwLDcgQEAKIAkJCQkwNzUzODYwMzE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRy
YWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2Fj
aGVkWFNMU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAw
MUU5QUJDIC8qIENhY2hlUG9saWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0OUFFMkQ5NzEzNEVF
NUY5MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFE
NUVDQjUxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTZFNEU5MUFEMTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk0ODRGQzIxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZh
c0dyYWRpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTIxMjA2LDYgKzIxMjE5LDcgQEAKIAkJCQlD
QUU5RjkxMDE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTE2QTg0RkExNEM4NUNDQzAwMjk3N0RGIC8qIENTU0JvcmRlckltYWdlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzI3NEIyRjE0MEVCRUIyMDBFQURGQTYgLyogQ1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0OUFFMkQ4RjEzNEVFNTBDMDA3
MjkyMEEgLyogQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2MDQ5
Q0MwREI1NjBDMjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODBFNkNGOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQ2hhcnNldFJ1bGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDRUE0NzkwMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMjQxNDIsNiArMjQxNTYsNyBAQAogCQkwODY3
RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhQcm9qZWN0OwogCQkJYXR0cmlidXRlcyA9IHsKKwkJCQlCdWlsZEluZGVwZW5kZW50VGFyZ2V0
c0luUGFyYWxsZWwgPSBZRVM7CiAJCQkJTGFzdFVwZ3JhZGVDaGVjayA9IDA0NDA7CiAJCQl9Owog
CQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyODQzMDg5MDJCMTEwMDhBOUVGQyAvKiBC
dWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIldlYkNvcmUiICovOwpAQCAt
MjQ1MzAsNiArMjQ1NDUsNyBAQAogCQkJCTUwMzhCRTQwMTQ3MkFEOTgwMDk1RTBEMSAvKiBDYWNo
ZWRTaGFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc1Mzg2MDIxNDQ4OUU5ODAwQjc4NDUy
IC8qIENhY2hlZFRleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMyNzA5NzlD
M0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk0OUFFMkQ5NjEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCMTgyNzQ5MzEzNENBNEMxMDBCOThDMkQgLyogQ2FsbGJhY2tGdW5jdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTRFOTFBQzEwRjdGQjMxMDBBMjc3OUMgLyogQ2Fu
dmFzQ29udGV4dEF0dHJpYnV0ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0ODRGQzExMDJD
RjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjQ2
MDUsNiArMjQ2MjEsNyBAQAogCQkJCUNBRTlGOTBGMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3Bl
Y3RSYXRpb1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNkE4NEY5MTRDODVDQ0MwMDI5
NzdERiAvKiBDU1NCb3JkZXJJbWFnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzI3NEIzMTE0
MEVCRUQ4MDBFQURGQTYgLyogQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNjA0QTQzMERCNTYzNEUwMDIwNDczOSAvKiBDU1ND
YW52YXNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUVCQkJENDBBQUM5Qjg3MDAxRkU4
RTIgLyogQ1NTQ2hhcnNldFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFQTQ3OEYwOTdD
QUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zZmRhYjI1MDFjMDMwMGM0MTI4YjVkNGJkZjJmYWE2MTY3NWRiODU4Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCkBAIC0w
LDAgKzEsMzE2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0NhbGN1bGF0aW9u
VmFsdWUuaCIKKworI2luY2x1ZGUgIkNTU1N0eWxlU2VsZWN0b3IuaCIKKyNpbmNsdWRlICJDU1NW
YWx1ZUxpc3QuaCIKKyNpbmNsdWRlICJMZW5ndGguaCIKKworI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuaD4KKworc3RhdGljIGNvbnN0IGludCBtYXhFeHByZXNzaW9uRGVwdGggPSAxMDA7
CisKK2VudW0gUGFyc2VTdGF0ZSB7CisgICAgT0ssCisgICAgVG9vRGVlcCwKKyAgICBOb01vcmVU
b2tlbnMKK307CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIENhbGN1bGF0aW9uQ2F0
ZWdvcnkgdW5pdENhdGVnb3J5KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMgdHlwZSkKK3sK
KyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVN
QkVSOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSU5URUdFUjoKKyAg
ICAgICAgcmV0dXJuIENhbGNOdW1iZXI7CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X1BFUkNFTlRBR0U6CisgICAgICAgIHJldHVybiBDYWxjUGVyY2VudDsKKyAgICBjYXNlIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfRU1TOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19F
WFM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYOgorICAgIGNhc2UgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19DTToKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTU06
CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOOgorICAgIGNhc2UgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19QVDoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEM6Cisg
ICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6CisgICAgICAgIHJldHVybiBDYWxj
TGVuZ3RoOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBDYWxjT3RoZXI7CisgICAgfQor
fQorICAgIAorU3RyaW5nIENTU0NhbGNWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuICIiOworfQorICAgIAorQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlOjp+Q1NTQ2FsY0V4
cHJlc3Npb25Ob2RlKCkgCit7Cit9CisgICAgCitjbGFzcyBDU1NDYWxjUHJpbWl0aXZlVmFsdWUg
OiBwdWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKworICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPENTU0NhbGNQcmltaXRpdmVWYWx1ZT4gY3JlYXRlKENTU1ByaW1pdGl2ZVZhbHVl
KiB2YWx1ZSwgYm9vbCBpc0ludCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKHZhbHVlLCBpc0ludCkpOworICAgIH0KKyAgICAKKyAgICB2
aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3Zh
bHVlLT5jc3NUZXh0KCk7CisgICAgfQorCisgICAgCitwcml2YXRlOgorICAgIGV4cGxpY2l0IENT
U0NhbGNQcmltaXRpdmVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUsIGJvb2wgaXNJbnQp
CisgICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKHVuaXRDYXRlZ29yeSgoQ1NTUHJpbWl0
aXZlVmFsdWU6OlVuaXRUeXBlcyl2YWx1ZS0+cHJpbWl0aXZlVHlwZSgpKSwgaXNJbnQpCisgICAg
ICAgICwgbV92YWx1ZSh2YWx1ZSkgICAgICAgICAgICAgICAgIAorICAgIHsKKyAgICB9CisKKyAg
ICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fdmFsdWU7Cit9OworCitzdGF0aWMgY29uc3Qg
Q2FsY3VsYXRpb25DYXRlZ29yeSBhZGRTdWJ0cmFjdFJlc3VsdFtDYWxjT3RoZXJdW0NhbGNPdGhl
cl0gPSB7CisgICAge0NhbGNOdW1iZXIsICAgICAgICBDYWxjT3RoZXIsICAgICAgICAgQ2FsY1Bl
cmNlbnROdW1iZXIsIENhbGNQZXJjZW50TnVtYmVyLCBDYWxjT3RoZXJ9LAorICAgIHtDYWxjT3Ro
ZXIsICAgICAgICAgQ2FsY0xlbmd0aCwgICAgICAgIENhbGNQZXJjZW50TGVuZ3RoLCBDYWxjT3Ro
ZXIsICAgICAgICAgQ2FsY1BlcmNlbnRMZW5ndGh9LAorICAgIHtDYWxjUGVyY2VudE51bWJlciwg
Q2FsY1BlcmNlbnRMZW5ndGgsIENhbGNQZXJjZW50LCAgICAgICBDYWxjUGVyY2VudE51bWJlciwg
Q2FsY1BlcmNlbnRMZW5ndGh9LAorICAgIHtDYWxjUGVyY2VudE51bWJlciwgQ2FsY090aGVyLCAg
ICAgICAgIENhbGNQZXJjZW50TnVtYmVyLCBDYWxjUGVyY2VudE51bWJlciwgQ2FsY090aGVyfSwK
KyAgICB7Q2FsY090aGVyLCAgICAgICAgIENhbGNQZXJjZW50TGVuZ3RoLCBDYWxjUGVyY2VudExl
bmd0aCwgQ2FsY090aGVyLCAgICAgICAgIENhbGNQZXJjZW50TGVuZ3RofSwKK307ICAgIAorICAg
IAorY2xhc3MgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbiA6IHB1YmxpYyBDU1NDYWxjRXhwcmVzc2lv
bk5vZGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNCaW5hcnlPcGVy
YXRpb24+IGNyZWF0ZShQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gbGVmdFNpZGUs
IFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiByaWdodFNpZGUsIENhbGNPcGVyYXRv
ciBvcCkKKyAgICB7CisgICAgICAgIENhbGN1bGF0aW9uQ2F0ZWdvcnkgbGVmdENhdGVnb3J5ID0g
bGVmdFNpZGUtPmNhdGVnb3J5KCk7CisgICAgICAgIENhbGN1bGF0aW9uQ2F0ZWdvcnkgcmlnaHRD
YXRlZ29yeSA9IHJpZ2h0U2lkZS0+Y2F0ZWdvcnkoKTsKKyAgICAgICAgQ2FsY3VsYXRpb25DYXRl
Z29yeSBuZXdDYXRlZ29yeSA9IENhbGNPdGhlcjsKKyAgICAgICAgCisgICAgICAgIEFTU0VSVChs
ZWZ0Q2F0ZWdvcnkgIT0gQ2FsY090aGVyICYmIHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY090aGVyKTsK
KyAgICAgICAgCisgICAgICAgIHN3aXRjaCAob3ApIHsKKyAgICAgICAgY2FzZSBDYWxjQWRkOgor
ICAgICAgICBjYXNlIENhbGNTdWJ0cmFjdDogICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAo
bGVmdENhdGVnb3J5ID09IENhbGNPdGhlciB8fCByaWdodENhdGVnb3J5ID09IENhbGNPdGhlcikK
KyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gYWRk
U3VidHJhY3RSZXN1bHRbbGVmdENhdGVnb3J5XVtyaWdodENhdGVnb3J5XTsKKyAgICAgICAgICAg
IGJyZWFrOyAgIAorICAgICAgICAgICAgICAgIAorICAgICAgICBjYXNlIENhbGNNdWx0aXBseToK
KyAgICAgICAgICAgIGlmIChsZWZ0Q2F0ZWdvcnkgIT0gQ2FsY051bWJlciAmJiByaWdodENhdGVn
b3J5ICE9IENhbGNOdW1iZXIpIAorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAg
ICAgCisgICAgICAgICAgICBuZXdDYXRlZ29yeSA9IGxlZnRDYXRlZ29yeSA9PSBDYWxjTnVtYmVy
ID8gcmlnaHRDYXRlZ29yeSA6IGxlZnRDYXRlZ29yeTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgICAgIAorICAgICAgICBjYXNlIENhbGNEaXZpZGU6CisgICAgICAgIGNhc2UgQ2Fs
Y01vZDoKKyAgICAgICAgICAgIGlmIChyaWdodENhdGVnb3J5ICE9IENhbGNOdW1iZXIgfHwgcmln
aHRTaWRlLT5pc1plcm8oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAg
IG5ld0NhdGVnb3J5ID0gbGVmdENhdGVnb3J5OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IH0KKyAgICAgICAgCisgICAgICAgIGlmIChuZXdDYXRlZ29yeSA9PSBDYWxjT3RoZXIpCisgICAg
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIAorICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IENTU0NhbGNCaW5hcnlPcGVyYXRpb24obGVmdFNpZGUsIHJpZ2h0U2lkZSwgb3AsIG5ld0Nh
dGVnb3J5KSk7CisgICAgfQorICAgIAorcHJpdmF0ZToKKyAgICBDU1NDYWxjQmluYXJ5T3BlcmF0
aW9uKFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBsZWZ0U2lkZSwgUGFzc1JlZlB0
cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHJpZ2h0U2lkZSwgQ2FsY09wZXJhdG9yIG9wLCBDYWxj
dWxhdGlvbkNhdGVnb3J5IGNhdGVnb3J5KQorICAgICAgICA6IENTU0NhbGNFeHByZXNzaW9uTm9k
ZShjYXRlZ29yeSwgbGVmdFNpZGUtPmlzSW50KCkgJiYgcmlnaHRTaWRlLT5pc0ludCgpKQorICAg
ICAgICAsIG1fbGVmdFNpZGUobGVmdFNpZGUpCisgICAgICAgICwgbV9yaWdodFNpZGUocmlnaHRT
aWRlKQorICAgICAgICAsIG1fb3BlcmF0b3Iob3ApCisgICAgeworICAgIH0KKyAgICAKKyAgICBj
b25zdCBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBtX2xlZnRTaWRlOworICAgIGNvbnN0
IFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IG1fcmlnaHRTaWRlOworICAgIGNvbnN0IENh
bGNPcGVyYXRvciBtX29wZXJhdG9yOworfTsKKworc3RhdGljIFBhcnNlU3RhdGUgY2hlY2tEZXB0
aEFuZEluZGV4KGludCogZGVwdGgsIHVuc2lnbmVkIGluZGV4LCBDU1NQYXJzZXJWYWx1ZUxpc3Qq
IHRva2VucykKK3sKKyAgICAoKmRlcHRoKSsrOworICAgIGlmICgqZGVwdGggPiBtYXhFeHByZXNz
aW9uRGVwdGgpCisgICAgICAgIHJldHVybiBUb29EZWVwOworICAgIGlmIChpbmRleCA+PSB0b2tl
bnMtPnNpemUoKSkKKyAgICAgICAgcmV0dXJuIE5vTW9yZVRva2VuczsKKyAgICByZXR1cm4gT0s7
Cit9CisKK2NsYXNzIENTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlciB7CitwdWJsaWM6CisgICAg
UGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1
ZUxpc3QqIHRva2VucykKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAg
ICAgVmFsdWUgcmVzdWx0OworICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUV4cHJlc3Npb24o
dG9rZW5zLCAwLCAmaW5kZXgsICZyZXN1bHQpOworICAgICAgICBBU1NFUlQoaW5kZXggPD0gdG9r
ZW5zLT5zaXplKCkpOworICAgICAgICBpZiAoIW9rIHx8IGluZGV4ICE9IHRva2Vucy0+c2l6ZSgp
KQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiByZXN1bHQudmFsdWU7Cisg
ICAgfQorCitwcml2YXRlOgorICAgIHN0cnVjdCBWYWx1ZSB7CisgICAgICAgIFJlZlB0cjxDU1ND
YWxjRXhwcmVzc2lvbk5vZGU+IHZhbHVlOworICAgIH07CisKKyAgICBjaGFyIG9wZXJhdG9yVmFs
dWUoQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIHVuc2lnbmVkIGluZGV4KQorICAgIHsKKyAg
ICAgICAgaWYgKGluZGV4ID49IHRva2Vucy0+c2l6ZSgpKQorICAgICAgICAgICAgcmV0dXJuIDA7
CisgICAgICAgIENTU1BhcnNlclZhbHVlKiB2YWx1ZSA9IHRva2Vucy0+dmFsdWVBdChpbmRleCk7
CisgICAgICAgIGlmICh2YWx1ZS0+dW5pdCAhPSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IpCisg
ICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICByZXR1cm4gdmFsdWUtPmlWYWx1ZTsKKyAg
ICB9CisKKyAgICBib29sIHBhcnNlVmFsdWUoQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIHVu
c2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIENTU1BhcnNlclZh
bHVlKiBwYXJzZXJWYWx1ZSA9IHRva2Vucy0+dmFsdWVBdCgqaW5kZXgpOworICAgICAgICBpZiAo
cGFyc2VyVmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yIHx8IHBhcnNlclZh
bHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpGdW5jdGlvbikKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gcGFyc2VyVmFsdWUt
PmNyZWF0ZUNTU1ZhbHVlKCk7CisgICAgICAgIGlmICghdmFsdWUgfHwgIXZhbHVlLT5pc1ByaW1p
dGl2ZVZhbHVlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgQ1NTUHJp
bWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFs
dWUqPih2YWx1ZS5nZXQoKSk7CisgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjUHJpbWl0
aXZlVmFsdWU6OmNyZWF0ZShwcmltaXRpdmVWYWx1ZSwgcGFyc2VyVmFsdWUtPmlzSW50KTsKKwor
ICAgICAgICArKyppbmRleDsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYm9v
bCBwYXJzZVZhbHVlVGVybShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1
bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBpZiAoY2hlY2tE
ZXB0aEFuZEluZGV4KCZkZXB0aCwgKmluZGV4LCB0b2tlbnMpICE9IE9LKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOyAgICAKKyAgICAgICAgCisgICAgICAgIGlmIChvcGVyYXRvclZhbHVlKHRv
a2VucywgKmluZGV4KSA9PSAnKCcpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRJbmRl
eCA9ICppbmRleCArIDE7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVFeHByZXNzaW9uKHRv
a2VucywgZGVwdGgsICZjdXJyZW50SW5kZXgsIHJlc3VsdCkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgICAgICBpZiAob3BlcmF0b3JWYWx1ZSh0b2tlbnMsIGN1cnJl
bnRJbmRleCkgIT0gJyknKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
ICAgICppbmRleCA9IGN1cnJlbnRJbmRleCArIDE7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBwYXJzZVZhbHVlKHRva2VucywgaW5kZXgsIHJl
c3VsdCk7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNz
aW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRl
eCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIGlmIChjaGVja0RlcHRoQW5kSW5kZXgo
JmRlcHRoLCAqaW5kZXgsIHRva2VucykgIT0gT0spCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
ICAgIAorCisgICAgICAgIGlmICghcGFyc2VWYWx1ZVRlcm0odG9rZW5zLCBkZXB0aCwgaW5kZXgs
IHJlc3VsdCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgd2hpbGUgKCpp
bmRleCA8IHRva2Vucy0+c2l6ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVyYXRvckNo
YXJhY3RlciA9IG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAgICAgaWYg
KG9wZXJhdG9yQ2hhcmFjdGVyICE9IENhbGNNdWx0aXBseSAmJiBvcGVyYXRvckNoYXJhY3RlciAh
PSBDYWxjRGl2aWRlICYmIG9wZXJhdG9yQ2hhcmFjdGVyICE9IENhbGNNb2QpCisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsKKworICAgICAgICAgICAgVmFsdWUg
cmhzOworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlVGVybSh0b2tlbnMsIGRlcHRoLCBpbmRl
eCwgJnJocykpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBy
ZXN1bHQtPnZhbHVlID0gQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbjo6Y3JlYXRlKHJlc3VsdC0+dmFs
dWUsIHJocy52YWx1ZSwgc3RhdGljX2Nhc3Q8Q2FsY09wZXJhdG9yPihvcGVyYXRvckNoYXJhY3Rl
cikpOworICAgICAgICAgICAgaWYgKCFyZXN1bHQtPnZhbHVlKQorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5kZXggPD0gdG9rZW5z
LT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNl
QWRkaXRpdmVWYWx1ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBk
ZXB0aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYg
KGNoZWNrRGVwdGhBbmRJbmRleCgmZGVwdGgsICppbmRleCwgdG9rZW5zKSAhPSBPSykKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsgICAgCisKKyAgICAgICAgaWYgKCFwYXJzZVZhbHVlTXVsdGlw
bGljYXRpdmVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4LCByZXN1bHQpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHdoaWxlICgqaW5kZXggPCB0b2tlbnMtPnNp
emUoKSAtIDEpIHsKKyAgICAgICAgICAgIGNoYXIgb3BlcmF0b3JDaGFyYWN0ZXIgPSBvcGVyYXRv
clZhbHVlKHRva2VucywgKmluZGV4KTsKKyAgICAgICAgICAgIGlmIChvcGVyYXRvckNoYXJhY3Rl
ciAhPSBDYWxjQWRkICYmIG9wZXJhdG9yQ2hhcmFjdGVyICE9IENhbGNTdWJ0cmFjdCkKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICsrKmluZGV4OworCisgICAgICAgICAgICBW
YWx1ZSByaHM7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJl
c3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZyaHMpKQorICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICAgICAgICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNCaW5hcnlPcGVy
YXRpb246OmNyZWF0ZShyZXN1bHQtPnZhbHVlLCByaHMudmFsdWUsIHN0YXRpY19jYXN0PENhbGNP
cGVyYXRvcj4ob3BlcmF0b3JDaGFyYWN0ZXIpKTsKKyAgICAgICAgICAgIGlmICghcmVzdWx0LT52
YWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKworICAgICAg
ICBBU1NFUlQoKmluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxp
c3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisg
ICAgeworICAgICAgICByZXR1cm4gcGFyc2VBZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMs
IGRlcHRoLCBpbmRleCwgcmVzdWx0KTsKKyAgICB9Cit9OworCitQYXNzUmVmUHRyPENTU0NhbGNW
YWx1ZT4gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUoQ1NTUGFyc2VyU3RyaW5nIG5hbWUsIENTU1BhcnNl
clZhbHVlTGlzdCogcGFyc2VyVmFsdWVMaXN0KQoreyAgICAKKyAgICBDU1NDYWxjRXhwcmVzc2lv
bk5vZGVQYXJzZXIgcGFyc2VyOyAgICAKKyAgICBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2Rl
PiBleHByZXNzaW9uOworICAgIAorICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiLXdl
YmtpdC1jYWxjKCIpKQorICAgICAgICBleHByZXNzaW9uID0gcGFyc2VyLnBhcnNlQ2FsYyhwYXJz
ZXJWYWx1ZUxpc3QpOyAgICAKKyAgICAvLyBGSVhNRSBjYWxjIChodHRwOi8vd2Via2l0Lm9yZy9i
LzE2NjYyKSBBZGQgcGFyc2luZyBmb3IgbWluIGFuZCBtYXggaGVyZQorCisgICAgcmV0dXJuIGV4
cHJlc3Npb24gPyBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ZhbHVlKGV4cHJlc3Npb24pKSA6IDA7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDYWxjdWxhdGlvblZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRp
b25WYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0MThhZTU5OTZkZjMwMmU3NWRhNGU3N2FkYzhlNTVmNDdh
NjEwY2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRp
b25WYWx1ZS5oCkBAIC0wLDAgKzEsOTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENTU0NhbGN1bGF0aW9uVmFsdWVfaAor
I2RlZmluZSBDU1NDYWxjdWxhdGlvblZhbHVlX2gKKworI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVl
cy5oIgorI2luY2x1ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2FsY3VsYXRpb25WYWx1ZS5o
IgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgQ1NTUGFyc2VyVmFsdWVMaXN0OworY2xhc3MgQ1NTVmFsdWVMaXN0OworY2xhc3MgUmVuZGVy
U3R5bGU7CitjbGFzcyBDYWxjVmFsdWU7CitjbGFzcyBDYWxjRXhwcmVzc2lvbk5vZGU7CisKK2Vu
dW0gQ2FsY3VsYXRpb25DYXRlZ29yeSB7CisgICAgQ2FsY051bWJlciA9IDAsCisgICAgQ2FsY0xl
bmd0aCwKKyAgICBDYWxjUGVyY2VudCwKKyAgICBDYWxjUGVyY2VudE51bWJlciwKKyAgICBDYWxj
UGVyY2VudExlbmd0aCwKKyAgICBDYWxjT3RoZXIKK307CisgICAgCitjbGFzcyBDU1NDYWxjRXhw
cmVzc2lvbk5vZGUgOiBwdWJsaWMgUmVmQ291bnRlZDxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHsK
K3B1YmxpYzoKKyAgICAKKyAgICB2aXJ0dWFsIH5DU1NDYWxjRXhwcmVzc2lvbk5vZGUoKSA9IDA7
ICAgIAorICAgIAorICAgIENhbGN1bGF0aW9uQ2F0ZWdvcnkgY2F0ZWdvcnkoKSBjb25zdCB7IHJl
dHVybiBtX2NhdGVnb3J5OyB9ICAgIAorICAgIGJvb2wgaXNJbnQoKSBjb25zdCB7IHJldHVybiBt
X2lzSW50OyB9CisgICAgYm9vbCBpc1plcm8oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAg
IAorcHJvdGVjdGVkOgorICAgIENTU0NhbGNFeHByZXNzaW9uTm9kZShDYWxjdWxhdGlvbkNhdGVn
b3J5IGNhdGVnb3J5LCBib29sIGlzSW50KQorICAgICAgICA6IG1fY2F0ZWdvcnkoY2F0ZWdvcnkp
CisgICAgICAgICwgbV9pc0ludChpc0ludCkKKyAgICB7CisgICAgfQorICAgIAorICAgIENhbGN1
bGF0aW9uQ2F0ZWdvcnkgbV9jYXRlZ29yeTsKKyAgICBib29sIG1faXNJbnQ7Cit9OworICAgICAg
ICAKK2NsYXNzIENTU0NhbGNWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBjcmVhdGUoQ1NTUGFyc2VyU3RyaW5nIG5h
bWUsIENTU1BhcnNlclZhbHVlTGlzdCopOworCisgICAgQ2FsY3VsYXRpb25DYXRlZ29yeSBjYXRl
Z29yeSgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwcmVzc2lvbi0+Y2F0ZWdvcnkoKTsgfQorICAgIGJv
b2wgaXNJbnQoKSBjb25zdCB7IHJldHVybiBtX2V4cHJlc3Npb24tPmlzSW50KCk7IH0KKyAgICAg
ICAgCisgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKKyAgICAKK3ByaXZhdGU6ICAg
IAorICAgIENTU0NhbGNWYWx1ZShQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gZXhw
cmVzc2lvbikKKyAgICAgICAgOiBDU1NWYWx1ZShDYWxjdWxhdGlvbkNsYXNzKQorICAgICAgICAs
IG1fZXhwcmVzc2lvbihleHByZXNzaW9uKQorICAgIHsKKyAgICB9CisgICAgCisgICAgY29uc3Qg
UmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gbV9leHByZXNzaW9uOworfTsKKyAgICAKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENTU0NhbGN1bGF0aW9uVmFsdWVfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCAzYmU3MzRkODdhYjVmYjYzZmMyOTViNDFhNGRh
NjJiMjNjN2IwYzg2Li5mNGM4ZTk4ZjBmMTk3YWQ1ZmQ4MTQwNjkzYTFmMjNkNmQ4ZmUxZGRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNjkyLDEzICs2OTIsNTQgQEAgRG9jdW1lbnQq
IENTU1BhcnNlcjo6ZmluZERvY3VtZW50KCkgY29uc3QKICAgICByZXR1cm4gbV9zdHlsZVNoZWV0
LT5maW5kRG9jdW1lbnQoKTsKIH0KIAorYm9vbCBDU1NQYXJzZXI6OnZhbGlkQ2FsY3VsYXRpb25V
bml0KENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgVW5pdHMgdW5pdGZsYWdzKQoreworICAgIGlmICgh
cGFyc2VDYWxjdWxhdGlvbih2YWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGJv
b2wgYiA9IGZhbHNlOworICAgIHN3aXRjaCAobV9wYXJzZWRDYWxjdWxhdGlvbi0+Y2F0ZWdvcnko
KSkgeworICAgIGNhc2UgQ2FsY0xlbmd0aDoKKyAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGTGVu
Z3RoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDYWxjUGVyY2VudDoKKyAgICAgICAgYiA9
ICh1bml0ZmxhZ3MgJiBGUGVyY2VudCk7CisgICAgICAgIC8vIEZJWE1FIGNhbGMgKGh0dHA6Ly93
ZWJraXQub3JnL2IvMTY2NjIpOiB0ZXN0IEZOb25OZWcgaGVyZSwgZWcKKyAgICAgICAgLy8gaWYg
KGIgJiYgKHVuaXRmbGFncyAmIEZOb25OZWcpICYmIG1fcGFyc2VkQ2FsY3VsYXRpb24tPmRvdWJs
ZVZhbHVlKCkgPCAwKQorICAgICAgICAvLyAgICBiID0gZmFsc2U7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGTnVtYmVyKTsK
KyAgICAgICAgaWYgKCFiICYmICh1bml0ZmxhZ3MgJiBGSW50ZWdlcikgJiYgbV9wYXJzZWRDYWxj
dWxhdGlvbi0+aXNJbnQoKSkKKyAgICAgICAgICAgIGIgPSB0cnVlOworICAgICAgICAvLyBGSVhN
RSBjYWxjIChodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyKTogdGVzdCBGTm9uTmVnIGhlcmUsIGVn
CisgICAgICAgIC8vIGlmIChiICYmICh1bml0ZmxhZ3MgJiBGTm9uTmVnKSAmJiBtX3BhcnNlZENh
bGN1bGF0aW9uLT5kb3VibGVWYWx1ZSgpIDwgMCkKKyAgICAgICAgLy8gICAgYiA9IGZhbHNlOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBiID0g
KHVuaXRmbGFncyAmIEZQZXJjZW50KSAmJiAodW5pdGZsYWdzICYgRkxlbmd0aCk7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgQ2FsY1BlcmNlbnROdW1iZXI6CisgICAgICAgIGIgPSAodW5pdGZs
YWdzICYgRlBlcmNlbnQpICYmICh1bml0ZmxhZ3MgJiBGTnVtYmVyKTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBDYWxjT3RoZXI6CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBpZiAoIWIp
CisgICAgICAgIG1fcGFyc2VkQ2FsY3VsYXRpb24ucmVsZWFzZSgpOworICAgIHJldHVybiBiOyAg
ICAKK30KKwogYm9vbCBDU1NQYXJzZXI6OnZhbGlkVW5pdChDU1NQYXJzZXJWYWx1ZSogdmFsdWUs
IFVuaXRzIHVuaXRmbGFncywgYm9vbCBzdHJpY3QpCiB7CisgICAgaWYgKGlzQ2FsY3VsYXRpb24o
dmFsdWUpKQorICAgICAgICByZXR1cm4gdmFsaWRDYWxjdWxhdGlvblVuaXQodmFsdWUsIHVuaXRm
bGFncyk7CisgICAgICAgIAogICAgIGJvb2wgYiA9IGZhbHNlOwogICAgIHN3aXRjaCAodmFsdWUt
PnVuaXQpIHsKICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSOgogICAgICAg
ICBiID0gKHVuaXRmbGFncyAmIEZOdW1iZXIpOwotICAgICAgICBpZiAoIWIgJiYgKCh1bml0Zmxh
Z3MgJiAoRkxlbmd0aCB8IEZBbmdsZSB8IEZUaW1lKSkgJiYgKHZhbHVlLT5mVmFsdWUgPT0gMCB8
fCAhc3RyaWN0KSkpIHsKKyAgICAgICAgaWYgKCFiICYmICgodW5pdGZsYWdzICYgKEZMZW5ndGgg
fCBGQW5nbGUgfCBGVGltZSkpICYmICghdmFsdWUtPmZWYWx1ZSB8fCAhc3RyaWN0KSkpIHsKICAg
ICAgICAgICAgIHZhbHVlLT51bml0ID0gKHVuaXRmbGFncyAmIEZMZW5ndGgpID8gQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19QWCA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodW5pdGZsYWdz
ICYgRkFuZ2xlKSA/IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfREVHIDogQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19NUyk7CiAgICAgICAgICAgICBiID0gdHJ1ZTsKQEAgLTc0NCw2ICs3ODUsMTQgQEAg
Ym9vbCBDU1NQYXJzZXI6OnZhbGlkVW5pdChDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIFVuaXRzIHVu
aXRmbGFncywgYm9vbCBzdHJpY3QpCiAKIGlubGluZSBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZh
bHVlPiBDU1NQYXJzZXI6OmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1
ZSogdmFsdWUpCiB7CisgICAgaWYgKG1fcGFyc2VkQ2FsY3VsYXRpb24pIHsKKyAgICAgICAgQVNT
RVJUKGlzQ2FsY3VsYXRpb24odmFsdWUpKTsKKyAgICAgICAgLy8gRklYTUUgY2FsYygpIGh0dHA6
Ly93ZWJraXQub3JnL2IvMTY2NjI6IGNyZWF0ZSBhIENTU1ByaW1pdGl2ZVZhbHVlIGhlcmUsIGll
CisgICAgICAgIC8vIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1fcGFyc2VkQ2Fs
Y3VsYXRpb24ucmVsZWFzZSgpKTsKKyAgICAgICAgbV9wYXJzZWRDYWxjdWxhdGlvbi5yZWxlYXNl
KCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAgICAgICAgICAgIAogICAgIEFTU0VS
VCgodmFsdWUtPnVuaXQgPj0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIgJiYgdmFsdWUt
PnVuaXQgPD0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19LSFopCiAgICAgICAgICAgIHx8ICh2YWx1
ZS0+dW5pdCA+PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1RVUk4gJiYgdmFsdWUtPnVuaXQgPD0g
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SRU1TKSk7CiAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgp
LT5jcmVhdGVWYWx1ZSh2YWx1ZS0+ZlZhbHVlLCBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1
ZTo6VW5pdFR5cGVzPih2YWx1ZS0+dW5pdCkpOwpAQCAtODQxLDYgKzg5MCwxMSBAQCBpbmxpbmUg
UGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZVZhbGlkUHJpbWl0
aXZlKGludCBpZCwgQ1NTUAogICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1Zh
bHVlKHZhbHVlKTsKICAgICBpZiAodmFsdWUtPnVuaXQgPj0gQ1NTUGFyc2VyVmFsdWU6OlFfRU1T
KQogICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUFsbG93aW5nTWFyZ2lu
UXVpcmsodmFsdWUtPmZWYWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19FTVMpOworICAgIGlm
IChpc0NhbGN1bGF0aW9uKHZhbHVlKSkKKyAgICAgICAgLy8gRklYTUUgY2FsYygpICBodHRwOi8v
d2Via2l0Lm9yZy9iLzE2NjYyOiBjcmVhdGUgYSBwcmltaXRpdmUgdmFsdWUgaGVyZSwgaWUKKyAg
ICAgICAgLy8gcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobV9wYXJzZWRDYWxjdWxh
dGlvbi5yZWxlYXNlKCkpOworICAgICAgICBtX3BhcnNlZENhbGN1bGF0aW9uLnJlbGVhc2UoKTsK
KwogICAgIHJldHVybiAwOwogfQogCkBAIC04NTQsNiArOTA4LDEwIEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgIGlmICghdmFsdWUp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIE5vdGU6IG1fcGFyc2VkQ2FsY3VsYXRp
b24gaXMgdXNlZCB0byBwYXNzIHRoZSBjYWxjIHZhbHVlIHRvIHZhbGlkVW5pdCBhbmQgdGhlbiBj
bGVhcmVkIGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbi4KKyAgICAvLyBGSVhNRTogVGhpcyBp
cyB0byBhdm9pZCBoYXZpbmcgdG8gcGFzcyBwYXJzZWRDYWxjIHRvIGFsbCB2YWxpZFVuaXQgY2Fs
bGVycy4KKyAgICBBU1NFUlQoIW1fcGFyc2VkQ2FsY3VsYXRpb24pOworICAgIAogICAgIGludCBp
ZCA9IHZhbHVlLT5pZDsKIAogICAgIC8vIEluIHF1aXJrcyBtb2RlLCB3ZSB3aWxsIGxvb2sgZm9y
IHVuaXRzIHRoYXQgaGF2ZSBiZWVuIGluY29ycmVjdGx5IHNlcGFyYXRlZCBmcm9tIHRoZSBudW1i
ZXIgdGhleSBiZWxvbmcgdG8KQEAgLTIyNzgsNiArMjMzNiw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICBwYXJzZWRWYWx1
ZSA9IHBhcnNlVmFsaWRQcmltaXRpdmUoaWQsIHZhbHVlKTsKICAgICAgICAgbV92YWx1ZUxpc3Qt
Pm5leHQoKTsKICAgICB9CisgICAgQVNTRVJUKCFtX3BhcnNlZENhbGN1bGF0aW9uKTsKICAgICBp
ZiAocGFyc2VkVmFsdWUpIHsKICAgICAgICAgaWYgKCFtX3ZhbHVlTGlzdC0+Y3VycmVudCgpIHx8
IGluU2hvcnRoYW5kKCkpIHsKICAgICAgICAgICAgIGFkZFByb3BlcnR5KHByb3BJZCwgcGFyc2Vk
VmFsdWUucmVsZWFzZSgpLCBpbXBvcnRhbnQpOwpAQCAtMjk4NSw4ICszMDQ0LDExIEBAIFBhc3NS
ZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VGaWxsUG9zaXRpb25Db21wb25lbnQoQ1NT
UGFyc2VyVmFsdWVMaXN0KiB2CiAgICAgICAgIH0gZWxzZSBpZiAoY3VtdWxhdGl2ZUZsYWdzICYg
KFhGaWxsUG9zaXRpb24gfCBBbWJpZ3VvdXNGaWxsUG9zaXRpb24pKSB7CiAgICAgICAgICAgICBj
dW11bGF0aXZlRmxhZ3MgfD0gWUZpbGxQb3NpdGlvbjsKICAgICAgICAgICAgIGluZGl2aWR1YWxG
bGFnID0gWUZpbGxQb3NpdGlvbjsKLSAgICAgICAgfSBlbHNlCisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBpZiAobV9wYXJzZWRDYWxjdWxhdGlvbikKKyAgICAgICAgICAgICAgICBtX3Bh
cnNlZENhbGN1bGF0aW9uLnJlbGVhc2UoKTsKICAgICAgICAgICAgIHJldHVybiAwOworICAgICAg
ICB9CiAgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUodmFsdWVMaXN0
LT5jdXJyZW50KCkpOwogICAgIH0KICAgICByZXR1cm4gMDsKQEAgLTQ4NjgsMjIgKzQ5MzAsNDkg
QEAgYm9vbCBDU1NQYXJzZXI6OmZhc3RQYXJzZUNvbG9yKFJHQkEzMiYgcmdiLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGJvb2wgc3RyaWN0KQogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CisgICAg
CitpbmxpbmUgZG91YmxlIENTU1BhcnNlcjo6cGFyc2VkRG91YmxlKENTU1BhcnNlclZhbHVlICp2
LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlQ29uZGl0aW9uIHJlbGVhc2VDYWxjKQoreworICAgIC8v
IEZJWE1FIGNhbGMgKGh0dHA6Ly93ZWJraXQub3JnL2IvMTY2NjIpOiBldmFsdWF0ZSBjYWxjIGhl
cmUsIGVnCisgICAgLy8gY29uc3QgZG91YmxlIHJlc3VsdCA9IG1fcGFyc2VkQ2FsY3VsYXRpb24g
PyBtX3BhcnNlZENhbGN1bGF0aW9uLT5kb3VibGVWYWx1ZSgpIDogdi0+ZlZhbHVlOworICAgIGNv
bnN0IGRvdWJsZSByZXN1bHQgPSBtX3BhcnNlZENhbGN1bGF0aW9uID8gMCA6IHYtPmZWYWx1ZTsK
KyAgICBpZiAocmVsZWFzZUNhbGMgPT0gUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSkKKyAgICAgICAg
bV9wYXJzZWRDYWxjdWxhdGlvbi5yZWxlYXNlKCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KIAot
c3RhdGljIGlubGluZSBpbnQgY29sb3JJbnRGcm9tVmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHYpCiti
b29sIENTU1BhcnNlcjo6aXNDYWxjdWxhdGlvbihDU1NQYXJzZXJWYWx1ZSogdmFsdWUpIAogewot
ICAgIGlmICh2LT5mVmFsdWUgPD0gMC4wKQorICAgIHJldHVybiAodmFsdWUtPnVuaXQgPT0gQ1NT
UGFyc2VyVmFsdWU6OkZ1bmN0aW9uKSAKKyAgICAgICAgJiYgKGVxdWFsSWdub3JpbmdDYXNlKHZh
bHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtY2FsYygiKQorICAgICAgICAgICAgfHwgZXF1
YWxJZ25vcmluZ0Nhc2UodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1taW4oIikKKyAg
ICAgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13
ZWJraXQtbWF4KCIpKTsKK30KKworaW5saW5lIGludCBDU1NQYXJzZXI6OmNvbG9ySW50RnJvbVZh
bHVlKENTU1BhcnNlclZhbHVlKiB2KQoreworICAgIGJvb2wgaXNQZXJjZW50OworICAgIAorICAg
IGlmIChtX3BhcnNlZENhbGN1bGF0aW9uKQorICAgICAgICBpc1BlcmNlbnQgPSBtX3BhcnNlZENh
bGN1bGF0aW9uLT5jYXRlZ29yeSgpID09IENhbGNQZXJjZW50OworICAgIGVsc2UKKyAgICAgICAg
aXNQZXJjZW50ID0gdi0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U7
CisKKyAgICBjb25zdCBkb3VibGUgdmFsdWUgPSBwYXJzZWREb3VibGUodiwgUmVsZWFzZVBhcnNl
ZENhbGNWYWx1ZSk7CisgICAgCisgICAgaWYgKHZhbHVlIDw9IDAuMCkKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICBpZiAodi0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRB
R0UpIHsKLSAgICAgICAgaWYgKHYtPmZWYWx1ZSA+PSAxMDAuMCkKKyAgICBpZiAoaXNQZXJjZW50
KSB7CisgICAgICAgIGlmICh2YWx1ZSA+PSAxMDAuMCkKICAgICAgICAgICAgIHJldHVybiAyNTU7
Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHYtPmZWYWx1ZSAqIDI1Ni4wIC8gMTAw
LjApOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSAqIDI1Ni4wIC8gMTAw
LjApOwogICAgIH0KIAotICAgIGlmICh2LT5mVmFsdWUgPj0gMjU1LjApCisgICAgaWYgKHZhbHVl
ID49IDI1NS4wKQogICAgICAgICByZXR1cm4gMjU1OwogCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PGludD4odi0+ZlZhbHVlKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSk7CiB9
CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyhDU1NQYXJzZXJWYWx1ZSog
dmFsdWUsIGludCogY29sb3JBcnJheSwgYm9vbCBwYXJzZUFscGhhKQpAQCAtNDg5OCw2ICs0OTg3
LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3JQYXJhbWV0ZXJzKENTU1BhcnNlclZhbHVl
KiB2YWx1ZSwgaW50KiBjb2xvckFycmF5LCBib28KICAgICAgICAgdW5pdFR5cGUgPSBGUGVyY2Vu
dDsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKICAgICBjb2xvckFycmF5
WzBdID0gY29sb3JJbnRGcm9tVmFsdWUodik7CiAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCAzOyBp
KyspIHsKICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKQEAgLTQ5MTUsOSArNTAwNSwxMCBAQCBi
b29sIENTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVl
LCBpbnQqIGNvbG9yQXJyYXksIGJvbwogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwogICAgICAg
ICBpZiAoIXZhbGlkVW5pdCh2LCBGTnVtYmVyLCB0cnVlKSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgY29uc3QgZG91YmxlIHZhbHVlID0gcGFyc2VkRG91YmxlKHYsIFJlbGVh
c2VQYXJzZWRDYWxjVmFsdWUpOwogICAgICAgICAvLyBDb252ZXJ0IHRoZSBmbG9hdGluZyBwb2lu
dGVyIG51bWJlciBvZiBhbHBoYSB0byBhbiBpbnRlZ2VyIGluIHRoZSByYW5nZSBbMCwgMjU2KSwK
ICAgICAgICAgLy8gd2l0aCBhbiBlcXVhbCBkaXN0cmlidXRpb24gYWNyb3NzIGFsbCAyNTYgdmFs
dWVzLgotICAgICAgICBjb2xvckFycmF5WzNdID0gc3RhdGljX2Nhc3Q8aW50PihtYXgoMC4wLCBt
aW4oMS4wLCB2LT5mVmFsdWUpKSAqIG5leHRhZnRlcigyNTYuMCwgMC4wKSk7CisgICAgICAgIGNv
bG9yQXJyYXlbM10gPSBzdGF0aWNfY2FzdDxpbnQ+KG1heCgwLjAsIG1pbigxLjAsIHZhbHVlKSkg
KiBuZXh0YWZ0ZXIoMjU2LjAsIDAuMCkpOwogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAg
LTQ5MzUsNyArNTAyNiw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMoQ1NT
UGFyc2VyVmFsdWUqIHZhbHVlLCBkb3VibGUqIGNvbG9yQXJyYXksIGJvCiAgICAgaWYgKCF2YWxp
ZFVuaXQodiwgRk51bWJlciwgdHJ1ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAvLyBu
b3JtYWxpemUgdGhlIEh1ZSB2YWx1ZSBhbmQgY2hhbmdlIGl0IHRvIGJlIGJldHdlZW4gMCBhbmQg
MS4wCi0gICAgY29sb3JBcnJheVswXSA9ICgoKHN0YXRpY19jYXN0PGludD4odi0+ZlZhbHVlKSAl
IDM2MCkgKyAzNjApICUgMzYwKSAvIDM2MC4wOworICAgIGNvbG9yQXJyYXlbMF0gPSAoKChzdGF0
aWNfY2FzdDxpbnQ+KHBhcnNlZERvdWJsZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKSkgJSAz
NjApICsgMzYwKSAlIDM2MCkgLyAzNjAuMDsKICAgICBmb3IgKGludCBpID0gMTsgaSA8IDM7IGkr
KykgewogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwogICAgICAgICBpZiAodi0+dW5pdCAhPSBD
U1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgJiYgdi0+aVZhbHVlICE9ICcsJykKQEAgLTQ5NDMsNyAr
NTAzNCw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFs
dWUqIHZhbHVlLCBkb3VibGUqIGNvbG9yQXJyYXksIGJvCiAgICAgICAgIHYgPSBhcmdzLT5uZXh0
KCk7CiAgICAgICAgIGlmICghdmFsaWRVbml0KHYsIEZQZXJjZW50LCB0cnVlKSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgY29sb3JBcnJheVtpXSA9IG1heCgwLjAsIG1pbigx
MDAuMCwgdi0+ZlZhbHVlKSkgLyAxMDAuMDsgLy8gbmVlZHMgdG8gYmUgdmFsdWUgYmV0d2VlbiAw
IGFuZCAxLjAKKyAgICAgICAgY29sb3JBcnJheVtpXSA9IG1heCgwLjAsIG1pbigxMDAuMCwgcGFy
c2VkRG91YmxlKHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpKSkgLyAxMDAuMDsgLy8gbmVlZHMg
dG8gYmUgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLjAKICAgICB9CiAgICAgaWYgKHBhcnNlQWxwaGEp
IHsKICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKQEAgLTQ5NTIsNyArNTA0Myw3IEBAIGJvb2wg
Q1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBkb3Vi
bGUqIGNvbG9yQXJyYXksIGJvCiAgICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CiAgICAgICAgIGlm
ICghdmFsaWRVbml0KHYsIEZOdW1iZXIsIHRydWUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICBjb2xvckFycmF5WzNdID0gbWF4KDAuMCwgbWluKDEuMCwgdi0+ZlZhbHVlKSk7
CisgICAgICAgIGNvbG9yQXJyYXlbM10gPSBtYXgoMC4wLCBtaW4oMS4wLCBwYXJzZWREb3VibGUo
diwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSkpKTsKICAgICB9CiAgICAgcmV0dXJuIHRydWU7CiB9
CkBAIC01MDIwLDkgKzUxMTEsOSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xvckZyb21WYWx1
ZShDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIFJHQkEzMiYgYykKIC8vIFRoaXMgY2xhc3MgdHJhY2tz
IHBhcnNpbmcgc3RhdGUgZm9yIHNoYWRvdyB2YWx1ZXMuICBJZiBpdCBnb2VzIG91dCBvZiBzY29w
ZSAoZS5nLiwgZHVlIHRvIGFuIGVhcmx5IHJldHVybikKIC8vIHdpdGhvdXQgdGhlIGFsbG93QnJl
YWsgYml0IGJlaW5nIHNldCwgdGhlbiBpdCB3aWxsIGNsZWFuIHVwIGFsbCBvZiB0aGUgb2JqZWN0
cyBhbmQgZGVzdHJveSB0aGVtLgogc3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7Ci0gICAgU2hh
ZG93UGFyc2VDb250ZXh0KENTU1Byb3BlcnR5SUQgcHJvcCwgQ1NTVmFsdWVQb29sKiBjc3NWYWx1
ZVBvb2wpCisgICAgU2hhZG93UGFyc2VDb250ZXh0KENTU1Byb3BlcnR5SUQgcHJvcCwgQ1NTUGFy
c2VyKiBwYXJlbnQpCiAgICAgICAgIDogcHJvcGVydHkocHJvcCkKLSAgICAgICAgLCBtX2Nzc1Zh
bHVlUG9vbChjc3NWYWx1ZVBvb2wpCisgICAgICAgICwgbV9wYXJlbnQocGFyZW50KQogICAgICAg
ICAsIGFsbG93WCh0cnVlKQogICAgICAgICAsIGFsbG93WShmYWxzZSkKICAgICAgICAgLCBhbGxv
d0JsdXIoZmFsc2UpCkBAIC01MDY1LDcgKzUxNTYsNyBAQCBzdHJ1Y3QgU2hhZG93UGFyc2VDb250
ZXh0IHsKIAogICAgIHZvaWQgY29tbWl0TGVuZ3RoKENTU1BhcnNlclZhbHVlKiB2KQogICAgIHsK
LSAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwgPSBtX2Nzc1ZhbHVlUG9vbC0+
Y3JlYXRlVmFsdWUodi0+ZlZhbHVlLCBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZTo6VW5p
dFR5cGVzPih2LT51bml0KSk7CisgICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFs
ID0gbV9wYXJlbnQtPmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2KTsKIAogICAgICAgICBp
ZiAoYWxsb3dYKSB7CiAgICAgICAgICAgICB4ID0gdmFsLnJlbGVhc2UoKTsKQEAgLTUxMDcsNyAr
NTE5OCw3IEBAIHN0cnVjdCBTaGFkb3dQYXJzZUNvbnRleHQgewogCiAgICAgdm9pZCBjb21taXRT
dHlsZShDU1NQYXJzZXJWYWx1ZSogdikKICAgICB7Ci0gICAgICAgIHN0eWxlID0gbV9jc3NWYWx1
ZVBvb2wtPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2LT5pZCk7CisgICAgICAgIHN0eWxlID0gbV9w
YXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodi0+aWQpOwogICAg
ICAgICBhbGxvd1N0eWxlID0gZmFsc2U7CiAgICAgICAgIGlmIChhbGxvd1gpCiAgICAgICAgICAg
ICBhbGxvd0JyZWFrID0gZmFsc2U7CkBAIC01MTE5LDcgKzUyMTAsNyBAQCBzdHJ1Y3QgU2hhZG93
UGFyc2VDb250ZXh0IHsKICAgICB9CiAKICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5OwotICAg
IENTU1ZhbHVlUG9vbCogbV9jc3NWYWx1ZVBvb2w7CisgICAgQ1NTUGFyc2VyKiBtX3BhcmVudDsK
IAogICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHZhbHVlczsKICAgICBSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IHg7CkBAIC01MTQwLDcgKzUyMzEsNyBAQCBzdHJ1Y3QgU2hhZG93UGFyc2VDb250
ZXh0IHsKIAogUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFyc2VTaGFkb3co
Q1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZUxpc3QsIGludCBwcm9wSWQpCiB7Ci0gICAgU2hhZG93
UGFyc2VDb250ZXh0IGNvbnRleHQoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcElkKSwg
Y3NzVmFsdWVQb29sKCkpOworICAgIFNoYWRvd1BhcnNlQ29udGV4dCBjb250ZXh0KHN0YXRpY19j
YXN0PENTU1Byb3BlcnR5SUQ+KHByb3BJZCksIHRoaXMpOwogICAgIENTU1BhcnNlclZhbHVlKiB2
YWw7CiAgICAgd2hpbGUgKCh2YWwgPSB2YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsKICAgICAgICAg
Ly8gQ2hlY2sgZm9yIGEgY29tbWEgYnJlYWsgZmlyc3QuCkBAIC01NTA3LDggKzU1OTgsOCBAQCBi
b29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVJlcGVhdChSZWZQdHI8Q1NTVmFsdWU+JiBy
ZXN1bHQpCiAKIGNsYXNzIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQgewogcHVibGljOgot
ICAgIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQoQ1NTVmFsdWVQb29sKiBjc3NWYWx1ZVBv
b2wpCi0gICAgOiBtX2Nzc1ZhbHVlUG9vbChjc3NWYWx1ZVBvb2wpCisgICAgQm9yZGVySW1hZ2VT
bGljZVBhcnNlQ29udGV4dChDU1NQYXJzZXIqIHBhcmVudCkKKyAgICA6IG1fcGFyZW50KHBhcmVu
dCkKICAgICAsIG1fYWxsb3dOdW1iZXIodHJ1ZSkKICAgICAsIG1fYWxsb3dGaWxsKGZhbHNlKQog
ICAgICwgbV9hbGxvd0ZpbmFsQ29tbWl0KGZhbHNlKQpAQCAtNTUyMiw3ICs1NjEzLDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBjb21taXROdW1iZXIoQ1NTUGFyc2VyVmFsdWUqIHYpCiAgICAgewot
ICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fY3NzVmFsdWVQb29sLT5j
cmVhdGVWYWx1ZSh2LT5mVmFsdWUsIHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXM+KHYtPnVuaXQpKTsKKyAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwg
PSBtX3BhcmVudC0+Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHYpOwogICAgICAgICBpZiAo
IW1fdG9wKQogICAgICAgICAgICAgbV90b3AgPSB2YWw7CiAgICAgICAgIGVsc2UgaWYgKCFtX3Jp
Z2h0KQpAQCAtNTU2OCwxMSArNTY1OSwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHF1YWQtPnNldExl
ZnQobV9sZWZ0KTsKIAogICAgICAgICAvLyBNYWtlIG91ciBuZXcgYm9yZGVyIGltYWdlIHZhbHVl
IG5vdy4KLSAgICAgICAgcmV0dXJuIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6Y3JlYXRlKG1f
Y3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShxdWFkLnJlbGVhc2UoKSksIG1fZmlsbCk7CisgICAg
ICAgIHJldHVybiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU6OmNyZWF0ZShtX3BhcmVudC0+Y3Nz
VmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKHF1YWQucmVsZWFzZSgpKSwgbV9maWxsKTsKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgQ1NTVmFsdWVQb29sKiBtX2Nzc1ZhbHVlUG9vbDsKKyAgICBDU1NQ
YXJzZXIqIG1fcGFyZW50OwogCiAgICAgYm9vbCBtX2FsbG93TnVtYmVyOwogICAgIGJvb2wgbV9h
bGxvd0ZpbGw7CkBAIC01NTg4LDEwICs1Njc5LDExIEBAIHByaXZhdGU6CiAKIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZUJvcmRlckltYWdlU2xpY2UoaW50IHByb3BJZCwgUmVmUHRyPENTU0JvcmRlcklt
YWdlU2xpY2VWYWx1ZT4mIHJlc3VsdCkKIHsKLSAgICBCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250
ZXh0IGNvbnRleHQoY3NzVmFsdWVQb29sKCkpOworICAgIEJvcmRlckltYWdlU2xpY2VQYXJzZUNv
bnRleHQgY29udGV4dCh0aGlzKTsKICAgICBDU1NQYXJzZXJWYWx1ZSogdmFsOwogICAgIHdoaWxl
ICgodmFsID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsKLSAgICAgICAgaWYgKGNvbnRleHQu
YWxsb3dOdW1iZXIoKSAmJiB2YWxpZFVuaXQodmFsLCBGSW50ZWdlciB8IEZOb25OZWcgfCBGUGVy
Y2VudCwgdHJ1ZSkpIHsKKyAgICAgICAgLy8gRklYTUUgY2FsYygpIGh0dHA6Ly93ZWJraXQub3Jn
L2IvMTY2NjIgOiBjYWxjIGlzIHBhcnNlZCBidXQgdmFsdWVzIGFyZSBub3QgY3JlYXRlZCB5ZXQu
CisgICAgICAgIGlmIChjb250ZXh0LmFsbG93TnVtYmVyKCkgJiYgIWlzQ2FsY3VsYXRpb24odmFs
KSAmJiB2YWxpZFVuaXQodmFsLCBGSW50ZWdlciB8IEZOb25OZWcgfCBGUGVyY2VudCwgdHJ1ZSkp
IHsKICAgICAgICAgICAgIGNvbnRleHQuY29tbWl0TnVtYmVyKHZhbCk7CiAgICAgICAgIH0gZWxz
ZSBpZiAoY29udGV4dC5hbGxvd0ZpbGwoKSAmJiB2YWwtPmlkID09IENTU1ZhbHVlRmlsbCkKICAg
ICAgICAgICAgIGNvbnRleHQuY29tbWl0RmlsbCgpOwpAQCAtNTYyNCw4ICs1NzE2LDggQEAgYm9v
bCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VTbGljZShpbnQgcHJvcElkLCBSZWZQdHI8Q1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHUKIAogY2xhc3MgQm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0
IHsKIHB1YmxpYzoKLSAgICBCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQoQ1NTVmFsdWVQb29s
KiBjc3NWYWx1ZVBvb2wpCi0gICAgOiBtX2Nzc1ZhbHVlUG9vbChjc3NWYWx1ZVBvb2wpCisgICAg
Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0KENTU1BhcnNlciogcGFyZW50KQorICAgIDogbV9w
YXJlbnQocGFyZW50KQogICAgICwgbV9hbGxvd051bWJlcih0cnVlKQogICAgICwgbV9hbGxvd0Zp
bmFsQ29tbWl0KGZhbHNlKQogICAgIHsgfQpAQCAtNTYzOCw5ICs1NzMwLDkgQEAgcHVibGljOgog
ICAgIHsKICAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWw7CiAgICAgICAgIGlm
ICh2LT5pZCA9PSBDU1NWYWx1ZUF1dG8pCi0gICAgICAgICAgICB2YWwgPSBtX2Nzc1ZhbHVlUG9v
bC0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKHYtPmlkKTsKKyAgICAgICAgICAgIHZhbCA9IG1fcGFy
ZW50LT5jc3NWYWx1ZVBvb2woKS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKHYtPmlkKTsKICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgdmFsID0gbV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHYt
PmZWYWx1ZSwgc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcz4odi0+dW5p
dCkpOworICAgICAgICAgICAgdmFsID0gbV9wYXJlbnQtPmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNW
YWx1ZSh2KTsKIAogICAgICAgICBpZiAoIW1fdG9wKQogICAgICAgICAgICAgbV90b3AgPSB2YWw7
CkBAIC01Njg0LDExICs1Nzc2LDExIEBAIHB1YmxpYzoKICAgICAgICAgcXVhZC0+c2V0TGVmdCht
X2xlZnQpOwogCiAgICAgICAgIC8vIE1ha2Ugb3VyIG5ldyB2YWx1ZSBub3cuCi0gICAgICAgIHJl
dHVybiBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUocXVhZC5yZWxlYXNlKCkpOworICAgICAg
ICByZXR1cm4gbV9wYXJlbnQtPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVWYWx1ZShxdWFkLnJlbGVh
c2UoKSk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIENTU1ZhbHVlUG9vbCogbV9jc3NWYWx1ZVBv
b2w7CisgICAgQ1NTUGFyc2VyKiBtX3BhcmVudDsKIAogICAgIGJvb2wgbV9hbGxvd051bWJlcjsK
ICAgICBib29sIG1fYWxsb3dGaW5hbENvbW1pdDsKQEAgLTU3MDEsNyArNTc5Myw3IEBAIHByaXZh
dGU6CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUXVhZChVbml0cyB2YWxpZFVu
aXRzLCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+JiByZXN1bHQpCiB7Ci0gICAgQm9yZGVySW1h
Z2VRdWFkUGFyc2VDb250ZXh0IGNvbnRleHQoY3NzVmFsdWVQb29sKCkpOworICAgIEJvcmRlcklt
YWdlUXVhZFBhcnNlQ29udGV4dCBjb250ZXh0KHRoaXMpOwogICAgIENTU1BhcnNlclZhbHVlKiB2
YWw7CiAgICAgd2hpbGUgKCh2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKSkgewogICAgICAg
ICBpZiAoY29udGV4dC5hbGxvd051bWJlcigpICYmICh2YWxpZFVuaXQodmFsLCB2YWxpZFVuaXRz
LCB0cnVlKSB8fCB2YWwtPmlkID09IENTU1ZhbHVlQXV0bykpIHsKQEAgLTczMDUsNiArNzM5Nywy
MyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VGb250VmFyaWFudExpZ2F0dXJlcyhib29sIGltcG9y
dGFudCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ2FsY3Vs
YXRpb24oQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKSAKK3sKKyAgICBBU1NFUlQoaXNDYWxjdWxhdGlv
bih2YWx1ZSkpOworICAgIAorICAgIENTU1BhcnNlclZhbHVlTGlzdCogYXJncyA9IHZhbHVlLT5m
dW5jdGlvbi0+YXJncy5nZXQoKTsKKyAgICBpZiAoIWFyZ3MgfHwgIWFyZ3MtPnNpemUoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQVNTRVJUKCFtX3BhcnNlZENhbGN1bGF0aW9uKTsK
KyAgICBtX3BhcnNlZENhbGN1bGF0aW9uID0gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUodmFsdWUtPmZ1
bmN0aW9uLT5uYW1lLCBhcmdzKTsKKyAgICAKKyAgICBpZiAoIW1fcGFyc2VkQ2FsY3VsYXRpb24p
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyAgICAK
IHN0YXRpYyBpbmxpbmUgaW50IHl5ZXJyb3IoY29uc3QgY2hhciopIHsgcmV0dXJuIDE7IH0KIAog
I2RlZmluZSBFTkRfVE9LRU4gMApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGEwZGY2OTY3Yzg0
OWE0ZWM5ODIwODg0YTc2NWExYWM5NzM0ZWQwODMuLmI2ZTJiMGE5MWY0YThiZjk5NGJlZjY3ODc1
OTcyNTJiNWE4NzA5YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTIzLDYgKzIzLDcgQEAK
ICNpZm5kZWYgQ1NTUGFyc2VyX2gKICNkZWZpbmUgQ1NTUGFyc2VyX2gKIAorI2luY2x1ZGUgIkNT
U0NhbGN1bGF0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJDU1NHcmFkaWVudFZhbHVlLmgiCiAjaW5j
bHVkZSAiQ1NTUGFyc2VyVmFsdWVzLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlTb3VyY2VEYXRh
LmgiCkBAIC0yMTEsNiArMjEyLDcgQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VUZXh0RW1waGFz
aXNTdHlsZShib29sIGltcG9ydGFudCk7CiAKICAgICBib29sIHBhcnNlTGluZUJveENvbnRhaW4o
Ym9vbCBpbXBvcnRhbnQpOworICAgIGJvb2wgcGFyc2VDYWxjdWxhdGlvbihDU1NQYXJzZXJWYWx1
ZSopOwogCiAgICAgYm9vbCBwYXJzZUZvbnRGZWF0dXJlVGFnKENTU1ZhbHVlTGlzdCopOwogICAg
IGJvb2wgcGFyc2VGb250RmVhdHVyZVNldHRpbmdzKGJvb2wgaW1wb3J0YW50KTsKQEAgLTMyMiw2
ICszMjQsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb3VudExpbmVzKCk7CiAgICAgaW50IGxleCgp
OwogCisgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlTnVt
ZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CisgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVW
YWx1ZT4gY3JlYXRlUHJpbWl0aXZlU3RyaW5nVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKKyAgICAg
ICAgCiBwcml2YXRlOgogICAgIHZvaWQgc2V0U3R5bGVTaGVldChDU1NTdHlsZVNoZWV0Kik7CiAg
ICAgdm9pZCBlbnN1cmVDU1NWYWx1ZVBvb2woKTsKQEAgLTM4OCw2ICszOTMsOCBAQCBwcml2YXRl
OgogICAgIFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4gbV9yZXVzYWJsZVNlbGVj
dG9yVmVjdG9yOwogICAgIFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4gbV9yZXVz
YWJsZVJlZ2lvblNlbGVjdG9yVmVjdG9yOwogCisgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9w
YXJzZWRDYWxjdWxhdGlvbjsKKwogICAgIC8vIGRlZmluZXMgdW5pdHMgYWxsb3dlZCBmb3IgYSBj
ZXJ0YWluIHByb3BlcnR5LCB1c2VkIGluIHBhcnNlVW5pdAogICAgIGVudW0gVW5pdHMgewogICAg
ICAgICBGVW5rbm93biAgID0gMHgwMDAwLApAQCAtNDA3LDEzICs0MTQsMTkgQEAgcHJpdmF0ZToK
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFVuaXRzPihzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
YSkgfCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oYikpOwogICAgIH0KIAotICAgIHN0YXRpYyBib29s
IHZhbGlkVW5pdChDU1NQYXJzZXJWYWx1ZSosIFVuaXRzLCBib29sIHN0cmljdCk7CisgICAgYm9v
bCB2YWxpZENhbGN1bGF0aW9uVW5pdChDU1NQYXJzZXJWYWx1ZSosIFVuaXRzKTsKKyAgICBib29s
IHZhbGlkVW5pdChDU1NQYXJzZXJWYWx1ZSosIFVuaXRzLCBib29sIHN0cmljdCk7CiAKICAgICBi
b29sIHBhcnNlQm9yZGVySW1hZ2VRdWFkKFVuaXRzLCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
Jik7Ci0KLSAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVO
dW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKLSAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVTdHJpbmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwotCisg
ICAgaW50IGNvbG9ySW50RnJvbVZhbHVlKENTU1BhcnNlclZhbHVlKik7CisKKyAgICBlbnVtIFJl
bGVhc2VQYXJzZWRDYWxjVmFsdWVDb25kaXRpb24geworICAgICAgICBSZWxlYXNlUGFyc2VkQ2Fs
Y1ZhbHVlLAorICAgICAgICBEb05vdFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUKKyAgICB9OyAgICAK
KyAgICBkb3VibGUgcGFyc2VkRG91YmxlKENTU1BhcnNlclZhbHVlKiwgUmVsZWFzZVBhcnNlZENh
bGNWYWx1ZUNvbmRpdGlvbiByZWxlYXNlQ2FsYyA9IERvTm90UmVsZWFzZVBhcnNlZENhbGNWYWx1
ZSk7CisgICAgYm9vbCBpc0NhbGN1bGF0aW9uKENTU1BhcnNlclZhbHVlKik7CisgICAgCiAgICAg
ZnJpZW5kIGNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbkluZm87CiAjaWYgRU5BQkxFKENTU19GSUxU
RVJTKQogICAgIGZyaWVuZCBjbGFzcyBGaWx0ZXJPcGVyYXRpb25JbmZvOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5jcHAKaW5kZXggMGI4OGY1NTM0MmY2MjMxMTVjMDAxYjc5MmM5NTU0ODU5OGU2NWVhZS4u
MDE2Y2IwYmJhYzEzMWYxZjBlMWEwYjQyMzY3MDk3YzZjM2Y1NjU3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWUuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDU1NBc3BlY3RSYXRpb1Zh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmgiCisjaW5jbHVkZSAi
Q1NTQ2FsY3VsYXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0NhbnZhc1ZhbHVlLmgiCiAjaW5j
bHVkZSAiQ1NTQ3Jvc3NmYWRlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDdXJzb3JJbWFnZVZhbHVl
LmgiCkBAIC0xNDksNiArMTUwLDggQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QK
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0xpbmVCb3hDb250YWluVmFsdWUq
Pih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOwogICAgIGNhc2UgRmxleENsYXNzOgogICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTRmxleFZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1Rl
eHQoKTsKKyAgICBjYXNlIENhbGN1bGF0aW9uQ2xhc3M6CisgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxjb25zdCBDU1NDYWxjVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOwogI2lmIEVO
QUJMRShDU1NfRklMVEVSUykKICAgICBjYXNlIFdlYktpdENTU0ZpbHRlckNsYXNzOgogICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTRmlsdGVyVmFsdWUqPih0aGlzKS0+
Y3VzdG9tQ3NzVGV4dCgpOwpAQCAtMjQ5LDYgKzI1Miw5IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ry
b3koKQogICAgIGNhc2UgRmxleENsYXNzOgogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8Q1NT
RmxleFZhbHVlKj4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIENhbGN1bGF0aW9u
Q2xhc3M6CisgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxDU1NDYWxjVmFsdWUqPih0aGlzKTsK
KyAgICAgICAgcmV0dXJuOwogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBjYXNlIFdlYktp
dENTU0ZpbHRlckNsYXNzOgogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTRmls
dGVyVmFsdWUqPih0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggMmQzMzI0MjMyNjBmNTc3
ZjhiODkwMTgwODUzNzNlMmRlMjQ2OTlhNi4uNjEyMzMyMTJiNzhjMzk1YzVlZTU3Mzg1OTUzYjM1
MTYxZDBmZWVmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTc2LDYgKzc2LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3NUeXBlID09IFdlYktpdENTU1RyYW5zZm9ybUNsYXNzOyB9CiAgICAgYm9vbCBpc0NTU0xp
bmVCb3hDb250YWluVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBMaW5lQm94
Q29udGFpbkNsYXNzOyB9CiAgICAgYm9vbCBpc0ZsZXhWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3NUeXBlID09IEZsZXhDbGFzczsgfQorICAgIGJvb2wgaXNDYWxjdWxhdGlvblZhbHVlKCkg
Y29uc3Qge3JldHVybiBtX2NsYXNzVHlwZSA9PSBDYWxjdWxhdGlvbkNsYXNzOyB9CiAjaWYgRU5B
QkxFKENTU19GSUxURVJTKQogICAgIGJvb2wgaXNXZWJLaXRDU1NGaWx0ZXJWYWx1ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFdlYktpdENTU0ZpbHRlckNsYXNzOyB9CiAjaWYgRU5B
QkxFKENTU19TSEFERVJTKQpAQCAtMTI2LDYgKzEyNyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAg
VW5pY29kZVJhbmdlQ2xhc3MsCiAgICAgICAgIExpbmVCb3hDb250YWluQ2xhc3MsCiAgICAgICAg
IEZsZXhDbGFzcywKKyAgICAgICAgQ2FsY3VsYXRpb25DbGFzcywKICNpZiBFTkFCTEUoQ1NTX0ZJ
TFRFUlMpICYmIEVOQUJMRShDU1NfU0hBREVSUykKICAgICAgICAgV2ViS2l0Q1NTU2hhZGVyQ2xh
c3MsCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NQYXJzZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAKaW5kZXggZGQ3MzhmYjNj
M2VhZjc1NTRiMWQwYjI1ZjVjZThiNzg1ODFkMjA1OC4uMmMyOTU3NjVhMGQ0ODNjMGVkMzhmNTFh
MjIyMzEzYzc2NTQxNzVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1Bh
cnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAKQEAgLTMx
NCw2ICszMTQsMTIgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU1ZHVmFsdWUoaW50IHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZh
bHVlOjpjcmVhdGUodmFsdWUtPmZWYWx1ZSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMp
IHZhbHVlLT51bml0KTsKICAgICAgICAgZWxzZSBpZiAodmFsdWUtPnVuaXQgPj0gQ1NTUGFyc2Vy
VmFsdWU6OlFfRU1TKQogICAgICAgICAgICAgcGFyc2VkVmFsdWUgPSBDU1NQcmltaXRpdmVWYWx1
ZTo6Y3JlYXRlQWxsb3dpbmdNYXJnaW5RdWlyayh2YWx1ZS0+ZlZhbHVlLCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX0VNUyk7CisgICAgICAgIGlmIChpc0NhbGN1bGF0aW9uKHZhbHVlKSkgeworICAg
ICAgICAgICAgLy8gRklYTUUgY2FsYygpIGh0dHA6Ly93ZWJraXQub3JnL2IvMTY2NjIgOiBhY3R1
YWxseSBjcmVhdGUgYSBDU1NQcmltaXRpdmVWYWx1ZSBoZXJlLCBpZQorICAgICAgICAgICAgLy8g
cGFyc2VkVmFsdWUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1fcGFyc2VkQ2FsY3VsYXRp
b24ucmVsZWFzZSgpKTsKKyAgICAgICAgICAgIG1fcGFyc2VkQ2FsY3VsYXRpb24ucmVsZWFzZSgp
OworICAgICAgICAgICAgcGFyc2VkVmFsdWUgPSAwOworICAgICAgICB9CiAgICAgICAgIG1fdmFs
dWVMaXN0LT5uZXh0KCk7CiAgICAgfQogICAgIGlmICghcGFyc2VkVmFsdWUgfHwgKG1fdmFsdWVM
aXN0LT5jdXJyZW50KCkgJiYgIWluU2hvcnRoYW5kKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOWUzODU4MWFkYWQ4YjE5NjQ4
YWRjYWVkMGU3ZjQzOTUzNTFmNjI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5jcHAKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJDYWxjdWxhdGlvblZhbHVlLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q2FsY3VsYXRpb25WYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0YTUyZDVlZDQ5Y2RiNGUyMTUxYWFhNTQy
N2Y1ODQ3MmZmMTE1ODQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9DYWxjdWxhdGlvblZhbHVlLmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ2FsY3VsYXRpb25W
YWx1ZV9oCisjZGVmaW5lIENhbGN1bGF0aW9uVmFsdWVfaAorCisjaW5jbHVkZSAiTGVuZ3RoLmgi
CisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBDYWxjT3BlcmF0b3IgeworICAgIENhbGNBZGQgPSAn
KycsCisgICAgQ2FsY1N1YnRyYWN0ID0gJy0nLAorICAgIENhbGNNdWx0aXBseSA9ICcqJywKKyAg
ICBDYWxjRGl2aWRlID0gJy8nLAorICAgIENhbGNNb2QgPSAnJScKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENhbGN1bGF0aW9uVmFsdWVfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124376</attachid>
            <date>2012-01-27 14:55:47 -0800</date>
            <delta_ts>2012-01-27 16:05:20 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-57082-20120128095544.patch</filename>
            <type>text/plain</type>
            <size>57787</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1ODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDYyZTljYThiODg0NWU5
NDkwZGRjOTdlYzMzY2EzZWNlN2ExZGZlMy4uYjMxZTYwZDNmOWYxOTA3ZjRkMzdjYjQ0MTAxNzE5
ODU1MjAzNTVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNCBAQAorMjAxMi0wMS0yNiAgTWlr
ZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBjYWxj
IHBhcnNpbmcgc3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3MDgyCisKKyAgICAgICAgVGhpcyBpcyB0aGUgcGFyc2luZyBzdGFnZSBvZiBjYWxj
LiBUaGUgZXhwcmVzc2lvbnMgYXJlIGV2YWx1YXRlZCBhbmQgCisgICAgICAgIGV4cHJlc3Npb24g
dHJlZXMgYXJlIGdlbmVyYXRlZC4gQ1NTIHZhbHVlcyBhcmUgbm90IGNyZWF0ZWQgeWV0IC0gdGhh
dAorICAgICAgICB3aWxsIGhhcHBlbiBpbiBhIHN1YnNlcXVlbnQgY29tbWl0LiAKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4KKworICAgICAgICBObyBmdW5jdGlvbmFsIGNoYW5n
ZSAtIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMgaW4gTGF5b3V0VGVzdHMvY3NzMy9jYWxjLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5h
bToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAg
ICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0NhbGN1bGF0aW9uVmFs
dWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6dW5p
dENhdGVnb3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y3VzdG9tQ3NzVGV4
dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGU6On5DU1NDYWxjRXhw
cmVzc2lvbk5vZGUpOgorICAgICAgICAoQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDYWxjUHJpbWl0aXZlVmFsdWU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgICgp
OgorICAgICAgICAoQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDYWxjQmluYXJ5T3BlcmF0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y0JpbmFyeU9wZXJhdGlvbjo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpjaGVja0RlcHRoQW5kSW5kZXgpOgorICAgICAgICAoQ1NTQ2FsY0V4cHJlc3Npb25Ob2Rl
UGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6
cGFyc2VDYWxjKToKKyAgICAgICAgKFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNF
eHByZXNzaW9uTm9kZVBhcnNlcjo6b3BlcmF0b3JWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZVZhbHVlVGVybSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlVmFsdWVNdWx0aXBs
aWNhdGl2ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25O
b2RlUGFyc2VyOjpwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VWYWx1ZUV4cHJlc3Npb24pOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjcmVhdGUpOgorICAgICAgICAqIGNzcy9D
U1NDYWxjdWxhdGlvblZhbHVlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICgpOgorICAgICAgICAoQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NhbGNFeHByZXNzaW9uTm9kZTo6Y2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Q2FsY0V4cHJlc3Npb25Ob2RlOjppc0ludCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhw
cmVzc2lvbk5vZGU6OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lv
bk5vZGU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChDU1NDYWxjVmFsdWUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjYXRlZ29yeSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjVmFsdWU6OmlzSW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1
ZTo6Q1NTQ2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6dmFsaWRDYWxjdWxhdGlvblVuaXQpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnZhbGlkVW5pdCk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsaWRQcmltaXRpdmUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6cGFyc2VGaWxsUG9zaXRpb25Db21wb25lbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZWREb3VibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjppc0Nh
bGN1bGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y29sb3JJbnRGcm9tVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlSFNMUGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6OlNoYWRvd1BhcnNlQ29udGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6OmNvbW1pdExlbmd0aCk6CisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6OmNvbW1pdFN0eWxlKToKKyAgICAgICAg
KFNoYWRvd1BhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNl
U2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQ6
OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVy
SW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29tbWl0TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQ6OmNvbW1pdEJvcmRlckltYWdlU2xpY2UpOgor
ICAgICAgICAoQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VTbGljZSk6CisgICAgICAgIChXZWJDb3JlOjpC
b3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6OkJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6OmNvbW1pdE51
bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQ6OmNv
bW1pdEJvcmRlckltYWdlUXVhZCk6CisgICAgICAgIChCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUXVhZCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ2FsY3VsYXRpb24pOgorICAgICAg
ICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKCk6CisgICAgICAgIChDU1NQYXJzZXIpOgor
ICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6
Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAg
ICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNDYWxjdWxh
dGlvblZhbHVlKToKKyAgICAgICAgKCk6CisgICAgICAgICogY3NzL1NWR0NTU1BhcnNlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU1ZHVmFsdWUpOgorICAgICAgICAq
IHBsYXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIHBsYXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKCk6CisKIDIwMTItMDEtMjUgIEthdXN0dWJoIEF0cmF3YWxr
YXIgIDxrYXVzdHViaEBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5
IG1lbWJlciB2YXJpYWJsZSBmcm9tIFBsdWdpblZpZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IDM2NmMyYTAwY2IxZWU3MmE2Y2NkNmVlZmE5MzUxZDM4NjlkMDFjNjQuLmFjMDc4N2Q3ZjgwYzhj
NzUyMjY1MjA0NjJjYzVkNGUzYjFiZjk5ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00Mjks
NiArNDI5LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGNzcy9DU1NBc3BlY3RSYXRpb1Zh
bHVlLmNwcAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZS5jcHAKICAgICBjc3MvQ1NTQm9yZGVySW1h
Z2VTbGljZVZhbHVlLmNwcAorICAgIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAogICAgIGNz
cy9DU1NDYW52YXNWYWx1ZS5jcHAKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCiAgICAgY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTEwNDEsNiArMTA0Miw3IEBAIFNF
VChXZWJDb3JlX1NPVVJDRVMKICAgICBwYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5j
cHAKIAogICAgIHBsYXRmb3JtL0FyZW5hLmNwcAorICAgIHBsYXRmb3JtL0NhbGN1bGF0aW9uVmFs
dWUuY3BwCiAgICAgcGxhdGZvcm0vQ2xvY2suY3BwCiAgICAgcGxhdGZvcm0vQ29udGV4dE1lbnUu
Y3BwCiAgICAgcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KaW5kZXggMjE5NTg2ZmQ0ODllMGU5MjlkYjZiNzAxZjk0OGEzNWJmNjBkYzAzMi4u
OWM4YjQyYTIwNzY0ZDQ4NDJhYjQzZjBhMWZhZGE1MTJiZjJjOWQ5MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCkBAIC0xMjg0LDYgKzEyODQsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNl
dFJ1bGUuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwIFwK
KwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwIFwKQEAgLTI3ODcsNiArMjc4OSw4IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q2FsY3VsYXRpb25WYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DbG9jay5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nsb2NrLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0Nsb2NrR2VuZXJpYy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggOGM4NTgzMTdmZTUyNTcx
OWZiYTQ1ODdjMTI2ZmMwZWZkZTU1N2UwMi4uOTM5ZTQ0ZDdjYTI0ZGZiMTgzZDFjODgyOTY0ZWZh
MDVkMmQ5NzEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0zOTUsNiArMzk1LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQm9yZGVySW1h
Z2VTbGljZVZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlLmNwcCBcCisgICAgY3Nz
L0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwIFwK
ICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcCBcCkBAIC0xMDI2LDYgKzEwMjcsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBw
bGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVOb25lLmNwcCBcCiAgICAgcGxhdGZvcm0vdGV4dC9M
b2NhbGl6ZWROdW1iZXJOb25lLmNwcCBcCiAgICAgcGxhdGZvcm0vdGV4dC9RdW90ZWRQcmludGFi
bGUuY3BwIFwKKyAgICBwbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcCBcCiAgICAgcGxhdGZv
cm0vQ2xvY2suY3BwIFwKICAgICBwbGF0Zm9ybS9DbG9ja0dlbmVyaWMuY3BwIFwKICAgICBwbGF0
Zm9ybS9Db250ZW50VHlwZS5jcHAgXApAQCAtMTUwNSw3ICsxNTA3LDEwIEBAIHY4IHsKIEhFQURF
UlMgKz0gXAogICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmggXAogICAgIGNzcy9DU1NCb3Jk
ZXJJbWFnZVNsaWNlVmFsdWUuaCBcCisgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBcCiAg
ICAgY3NzL0NTU0JvcmRlckltYWdlLmggXAorICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgg
XAorICAgIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmggXAogICAgIGNzcy9DU1NDYW52YXNWYWx1
ZS5oIFwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuaCBcCiAgICAgY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5oIFwKQEAgLTIwNzQsNiArMjA3OSw3IEBAIEhFQURFUlMgKz0gXAogICAg
IHBsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaCBcCiAgICAgcGxhdGZvcm0v
QXJlbmEuaCBcCiAgICAgcGxhdGZvcm0vQXN5bmNGaWxlU3RyZWFtLmggXAorICAgIHBsYXRmb3Jt
L0NhbGN1bGF0aW9uVmFsdWUuaCBcCiAgICAgcGxhdGZvcm0vQ2xvY2suaCBcCiAgICAgcGxhdGZv
cm0vQ2xvY2tHZW5lcmljLmggXAogICAgIHBsYXRmb3JtL0NvbnRlbnRUeXBlLmggXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCmluZGV4IDFjODg0MjE5YTMzNzYxMDMyODkyNGViMmVlMjZlZTZkYWY5NTJmZGEuLjVk
MzU4ODg4MGFjNzM0MmFkMDlhY2VkNmY3ZmU3ZGIzMTViOTZmZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTE5ODMsNiArMTk4Myw4IEBACiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwJywKICAgICAg
ICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuaCcsCisgICAgICAgICAgICAnY3NzL0NTU0NhbGN1
bGF0aW9uVmFsdWUuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5o
JywKICAgICAgICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwJywKICAgICAgICAgICAgICdj
c3MvQ1NTQ2hhcnNldFJ1bGUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAnLApAQCAtMjcxMyw2ICsyNzE1LDggQEAKICAgICAgICAgICAgICdwbGF0
Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQXN5bmNGaWxl
U3lzdGVtQ2FsbGJhY2tzLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9v
bC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcCcsCisgICAg
ICAgICAgICAncGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5oJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9DbG9jay5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0Nsb2NrLmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL0NvbnRlbnRUeXBlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDM5MzYwMTNhMDY3MDE4Y2FkYWQ3YTlhNGU0
MDhjN2U1NDdkODg2M2IuLjU2Zjg1ZGZmMGVmNjA0NTZlOTY2NjQ4M2UxZmFkMDQzYjJiNWM3MmQg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0y
NjM1MCw2ICsyNjM1MCwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxDYWxjdWxhdGlvblZhbHVlLmNwcCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cQ2FsY3VsYXRp
b25WYWx1ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRo
PSIuLlxwbGF0Zm9ybVxDbG9jay5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzI2OTQsNiAr
MzI3MDIsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cY3NzXENTU0NhbGN1bGF0aW9uVmFsdWUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJ
CTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NT
Q2FudmFzVmFsdWUuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5OWU4
ZTNmN2YxZGM2ODc2MTVkMGRhYjMxYjA1N2MyOTAxNzE2YWRjLi5hMTRjNDU2NGRiMWZkYWJkOGFl
MzM0YTA3ODY5YTMwOGQwY2NiNDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjI2LDYgKzEyMjYsMTAgQEAKIAkJNDk5QjNF
RDYxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTlCM0VENDEyOENEMzE0MDBFNzI2QzIg
LyogR3JhcGhpY3NMYXllckNBLmNwcCAqLzsgfTsKIAkJNDk5QjNFRDcxMjhDRDMxNDAwRTcyNkMy
IC8qIEdyYXBoaWNzTGF5ZXJDQS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDk5QjNFRDUxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5OUIz
RUREMTI4REI1MDIwMEU3MjZDMiAvKiBQbGF0Zm9ybUNBQW5pbWF0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTlCM0VEQzEyOERCNTAxMDBFNzI2
QzIgLyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxj
dWxhdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5QUUyRDhDMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmNw
cCAqLzsgfTsKKwkJNDlBRTJEOEYxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGN1bGF0aW9uVmFs
dWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUy
RDhEMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmggKi87IH07CisJCTQ5
QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk0MTM0RUU1RjkwMDcy
OTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCAqLzsgfTsKKwkJNDlBRTJEOTcxMzRFRTVGOTAw
NzI5MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlv
blZhbHVlLmggKi87IH07CiAJCTQ5QUYyRDY5MTQ0MzVEMDUwMDE2QTc4NCAvKiBEaXNwbGF5UmVm
cmVzaE1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5QUYyRDY4MTQ0MzVEMDUwMDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCAq
LzsgfTsKIAkJNDlBRjJENkMxNDQzNUQyMTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRv
ck1hYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
OUFGMkQ2QjE0NDM1RDIxMDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCAq
LzsgfTsKIAkJNDlDN0I5OTMxMDQyRDJEMzAwMDlENDQ3IC8qIEpTV2ViR0xCdWZmZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDN0I5ODAxMDQy
RDJEMzAwMDlENDQ3IC8qIEpTV2ViR0xCdWZmZXIuY3BwICovOyB9OwpAQCAtODAyNiw2ICs4MDMw
LDEwIEBACiAJCTQ5OUIzRUQ0MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gR3JhcGhpY3NMYXllckNBLmNw
cDsgcGF0aCA9IGNhL0dyYXBoaWNzTGF5ZXJDQS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ5OUIzRUQ1MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gR3JhcGhpY3NMYXllckNBLmg7IHBhdGggPSBj
YS9HcmFwaGljc0xheWVyQ0EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk5QjNF
REMxMjhEQjUwMTAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FBbmltYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gUGxhdGZvcm1DQUFuaW1hdGlvbi5oOyBwYXRoID0gY2EvUGxh
dGZvcm1DQUFuaW1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUFFMkQ4
QzEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOEQxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0Nh
bGN1bGF0aW9uVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQ2Fs
Y3VsYXRpb25WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUFFMkQ5NDEz
NEVFNUY5MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDYWxjdWxhdGlvblZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOTUxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9uVmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsY3VsYXRpb25WYWx1ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUFGMkQ2ODE0NDM1RDA1MDAxNkE3ODQg
LyogRGlzcGxheVJlZnJlc2hNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0OUFGMkQ2QjE0NDM1RDIxMDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlSZWZyZXNoTW9u
aXRvck1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QzdCOTgwMTA0MkQy
RDMwMDA5RDQ0NyAvKiBKU1dlYkdMQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTV2ViR0xCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTk1NzMsNiArMTk1ODEsOCBAQAogCQkJCTg5RDA4RDlEMTIyMjg0NTEwMDEyNDFERiAv
KiBBc3luY0ZpbGVTeXN0ZW0uaCAqLywKIAkJCQk4OUQwOEQ5RTEyMjI4NDUxMDAxMjQxREYgLyog
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggKi8sCiAJCQkJNTFFMUVDQjEwQzkxQzU1NjAwREMy
NTVCIC8qIEF1dG9kcmFpbmVkUG9vbC5oICovLAorCQkJCTQ5QUUyRDk0MTM0RUU1RjkwMDcyOTIw
QSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCAqLywKKwkJCQk0OUFFMkQ5NTEzNEVFNUY5MDA3Mjky
MEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5oICovLAogCQkJCUNERUE3NjMzMTQ2MEI0NjIwMDhCMzFG
MSAvKiBDbG9jay5jcHAgKi8sCiAJCQkJQ0RFQTc2MkMxNDYwODIyNDAwOEIzMUYxIC8qIENsb2Nr
LmggKi8sCiAJCQkJQ0RFQTc2MzIxNDYwQUUyOTAwOEIzMUYxIC8qIENsb2NrR2VuZXJpYy5jcHAg
Ki8sCkBAIC0xOTg4NCw2ICsxOTg5NCw4IEBACiAJCQkJRTE2QTg0RjgxNEM4NUNDQzAwMjk3N0RG
IC8qIENTU0JvcmRlckltYWdlLmggKi8sCiAJCQkJQkMyNzRCMzAxNDBFQkVEODAwRUFERkE2IC8q
IENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAgKi8sCiAJCQkJQkMyNzRCMkUxNDBFQkVCMjAw
RUFERkE2IC8qIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oICovLAorCQkJCTQ5QUUyRDhDMTM0
RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcCAqLywKKwkJCQk0OUFFMkQ4
RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oICovLAogCQkJCUJDNjA0
QTQyMERCNTYzNEUwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5jcHAgKi8sCiAJCQkJQkM2MDQ5
Q0IwREI1NjBDMjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggKi8sCiAJCQkJRTFFQkJCRDMw
QUFDOUI4NzAwMUZFOEUyIC8qIENTU0NoYXJzZXRSdWxlLmNwcCAqLywKQEAgLTIxMTE4LDYgKzIx
MTMwLDcgQEAKIAkJCQkwNzUzODYwMzE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNr
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVk
WFNMU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5
QUJDIC8qIENhY2hlUG9saWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0OUFFMkQ5NzEzNEVFNUY5
MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFENUVD
QjUxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTZFNEU5MUFEMTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRlcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDk0ODRGQzIxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dy
YWRpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTIxMjA2LDYgKzIxMjE5LDcgQEAKIAkJCQlDQUU5
RjkxMDE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTE2QTg0RkExNEM4NUNDQzAwMjk3N0RGIC8qIENTU0JvcmRlckltYWdlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzI3NEIyRjE0MEVCRUIyMDBFQURGQTYgLyogQ1NTQm9yZGVySW1h
Z2VTbGljZVZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0OUFFMkQ4RjEzNEVFNTBDMDA3Mjky
MEEgLyogQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2MDQ5Q0Mw
REI1NjBDMjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
ODBFNkNGOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQ2hhcnNldFJ1bGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDRUE0NzkwMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMjQxNDIsNiArMjQxNTYsNyBAQAogCQkwODY3RDY5
MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhQ
cm9qZWN0OwogCQkJYXR0cmlidXRlcyA9IHsKKwkJCQlCdWlsZEluZGVwZW5kZW50VGFyZ2V0c0lu
UGFyYWxsZWwgPSBZRVM7CiAJCQkJTGFzdFVwZ3JhZGVDaGVjayA9IDA0NDA7CiAJCQl9OwogCQkJ
YnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyODQzMDg5MDJCMTEwMDhBOUVGQyAvKiBCdWls
ZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIldlYkNvcmUiICovOwpAQCAtMjQ1
MzAsNiArMjQ1NDUsNyBAQAogCQkJCTUwMzhCRTQwMTQ3MkFEOTgwMDk1RTBEMSAvKiBDYWNoZWRT
aGFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc1Mzg2MDIxNDQ4OUU5ODAwQjc4NDUyIC8q
IENhY2hlZFRleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMyNzA5NzlDM0JE
MDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0
OUFFMkQ5NjEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCMTgyNzQ5MzEzNENBNEMxMDBCOThDMkQgLyogQ2FsbGJhY2tGdW5jdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTRFOTFBQzEwRjdGQjMxMDBBMjc3OUMgLyogQ2FudmFz
Q29udGV4dEF0dHJpYnV0ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0ODRGQzExMDJDRjIz
QzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjQ2MDUs
NiArMjQ2MjEsNyBAQAogCQkJCUNBRTlGOTBGMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RS
YXRpb1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNkE4NEY5MTRDODVDQ0MwMDI5NzdE
RiAvKiBDU1NCb3JkZXJJbWFnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzI3NEIzMTE0MEVC
RUQ4MDBFQURGQTYgLyogQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDNjA0QTQzMERCNTYzNEUwMDIwNDczOSAvKiBDU1NDYW52
YXNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUVCQkJENDBBQUM5Qjg3MDAxRkU4RTIg
LyogQ1NTQ2hhcnNldFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFQTQ3OEYwOTdDQUFD
ODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMTkwN2YyODBhNGY5MTk0Njk3ZDY1YWY2Y2FiMGYyNjJlYTJiNzRjCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCkBAIC0wLDAg
KzEsMzE2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0NhbGN1bGF0aW9uVmFs
dWUuaCIKKworI2luY2x1ZGUgIkNTU1N0eWxlU2VsZWN0b3IuaCIKKyNpbmNsdWRlICJDU1NWYWx1
ZUxpc3QuaCIKKyNpbmNsdWRlICJMZW5ndGguaCIKKworI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
KyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KKworc3RhdGljIGNvbnN0IGludCBtYXhFeHByZXNzaW9uRGVwdGggPSAxMDA7CisK
K2VudW0gUGFyc2VTdGF0ZSB7CisgICAgT0ssCisgICAgVG9vRGVlcCwKKyAgICBOb01vcmVUb2tl
bnMKK307CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIENhbGN1bGF0aW9uQ2F0ZWdv
cnkgdW5pdENhdGVnb3J5KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMgdHlwZSkKK3sKKyAg
ICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVS
OgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSU5URUdFUjoKKyAgICAg
ICAgcmV0dXJuIENhbGNOdW1iZXI7CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BF
UkNFTlRBR0U6CisgICAgICAgIHJldHVybiBDYWxjUGVyY2VudDsKKyAgICBjYXNlIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfRU1TOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19FWFM6
CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYOgorICAgIGNhc2UgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19DTToKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTU06Cisg
ICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19QVDoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEM6CisgICAg
Y2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6CisgICAgICAgIHJldHVybiBDYWxjTGVu
Z3RoOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBDYWxjT3RoZXI7CisgICAgfQorfQor
ICAgIAorU3RyaW5nIENTU0NhbGNWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuICIiOworfQorICAgIAorQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlOjp+Q1NTQ2FsY0V4cHJl
c3Npb25Ob2RlKCkgCit7Cit9CisgICAgCitjbGFzcyBDU1NDYWxjUHJpbWl0aXZlVmFsdWUgOiBw
dWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKworICAgIHN0YXRpYyBQYXNz
UmVmUHRyPENTU0NhbGNQcmltaXRpdmVWYWx1ZT4gY3JlYXRlKENTU1ByaW1pdGl2ZVZhbHVlKiB2
YWx1ZSwgYm9vbCBpc0ludGVnZXIpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IENTU0NhbGNQcmltaXRpdmVWYWx1ZSh2YWx1ZSwgaXNJbnRlZ2VyKSk7CisgICAgfQorICAgIAor
ICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJu
IG1fdmFsdWUtPmNzc1RleHQoKTsKKyAgICB9CisKKyAgICAKK3ByaXZhdGU6CisgICAgZXhwbGlj
aXQgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSwgYm9vbCBp
c0ludGVnZXIpCisgICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKHVuaXRDYXRlZ29yeSgo
Q1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2YWx1ZS0+cHJpbWl0aXZlVHlwZSgpKSwgaXNJ
bnRlZ2VyKQorICAgICAgICAsIG1fdmFsdWUodmFsdWUpICAgICAgICAgICAgICAgICAKKyAgICB7
CisgICAgfQorCisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX3ZhbHVlOworfTsKKwor
c3RhdGljIGNvbnN0IENhbGN1bGF0aW9uQ2F0ZWdvcnkgYWRkU3VidHJhY3RSZXN1bHRbQ2FsY090
aGVyXVtDYWxjT3RoZXJdID0geworICAgIHsgQ2FsY051bWJlciwgICAgICAgIENhbGNPdGhlciwg
ICAgICAgICBDYWxjUGVyY2VudE51bWJlciwgQ2FsY1BlcmNlbnROdW1iZXIsIENhbGNPdGhlciB9
LAorICAgIHsgQ2FsY090aGVyLCAgICAgICAgIENhbGNMZW5ndGgsICAgICAgICBDYWxjUGVyY2Vu
dExlbmd0aCwgQ2FsY090aGVyLCAgICAgICAgIENhbGNQZXJjZW50TGVuZ3RoIH0sCisgICAgeyBD
YWxjUGVyY2VudE51bWJlciwgQ2FsY1BlcmNlbnRMZW5ndGgsIENhbGNQZXJjZW50LCAgICAgICBD
YWxjUGVyY2VudE51bWJlciwgQ2FsY1BlcmNlbnRMZW5ndGggfSwKKyAgICB7IENhbGNQZXJjZW50
TnVtYmVyLCBDYWxjT3RoZXIsICAgICAgICAgQ2FsY1BlcmNlbnROdW1iZXIsIENhbGNQZXJjZW50
TnVtYmVyLCBDYWxjT3RoZXIgfSwKKyAgICB7IENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2Vu
dExlbmd0aCwgQ2FsY1BlcmNlbnRMZW5ndGgsIENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2Vu
dExlbmd0aCB9LAorfTsgICAgCisgICAgCitjbGFzcyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uIDog
cHVibGljIENTU0NhbGNFeHByZXNzaW9uTm9kZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQdHI8Q1NTQ2FsY0V4
cHJlc3Npb25Ob2RlPiBsZWZ0U2lkZSwgUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+
IHJpZ2h0U2lkZSwgQ2FsY09wZXJhdG9yIG9wKQorICAgIHsKKyAgICAgICAgQ2FsY3VsYXRpb25D
YXRlZ29yeSBsZWZ0Q2F0ZWdvcnkgPSBsZWZ0U2lkZS0+Y2F0ZWdvcnkoKTsKKyAgICAgICAgQ2Fs
Y3VsYXRpb25DYXRlZ29yeSByaWdodENhdGVnb3J5ID0gcmlnaHRTaWRlLT5jYXRlZ29yeSgpOwor
ICAgICAgICBDYWxjdWxhdGlvbkNhdGVnb3J5IG5ld0NhdGVnb3J5ID0gQ2FsY090aGVyOworICAg
ICAgICAKKyAgICAgICAgQVNTRVJUKGxlZnRDYXRlZ29yeSAhPSBDYWxjT3RoZXIgJiYgcmlnaHRD
YXRlZ29yeSAhPSBDYWxjT3RoZXIpOworICAgICAgICAKKyAgICAgICAgc3dpdGNoIChvcCkgewor
ICAgICAgICBjYXNlIENhbGNBZGQ6CisgICAgICAgIGNhc2UgQ2FsY1N1YnRyYWN0OiAgICAgICAg
ICAgICAKKyAgICAgICAgICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY090aGVyIHx8IHJpZ2h0
Q2F0ZWdvcnkgPT0gQ2FsY090aGVyKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAg
ICAgICAgbmV3Q2F0ZWdvcnkgPSBhZGRTdWJ0cmFjdFJlc3VsdFtsZWZ0Q2F0ZWdvcnldW3JpZ2h0
Q2F0ZWdvcnldOworICAgICAgICAgICAgYnJlYWs7ICAgCisgICAgICAgICAgICAgICAgCisgICAg
ICAgIGNhc2UgQ2FsY011bHRpcGx5OgorICAgICAgICAgICAgaWYgKGxlZnRDYXRlZ29yeSAhPSBD
YWxjTnVtYmVyICYmIHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJlcikgCisgICAgICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gbGVm
dENhdGVnb3J5ID09IENhbGNOdW1iZXIgPyByaWdodENhdGVnb3J5IDogbGVmdENhdGVnb3J5Owor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2FsY0Rp
dmlkZToKKyAgICAgICAgY2FzZSBDYWxjTW9kOgorICAgICAgICAgICAgaWYgKHJpZ2h0Q2F0ZWdv
cnkgIT0gQ2FsY051bWJlciB8fCByaWdodFNpZGUtPmlzWmVybygpKQorICAgICAgICAgICAgICAg
IHJldHVybiAwOworICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBsZWZ0Q2F0ZWdvcnk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKG5ld0NhdGVn
b3J5ID09IENhbGNPdGhlcikKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgCisg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbihsZWZ0U2lk
ZSwgcmlnaHRTaWRlLCBvcCwgbmV3Q2F0ZWdvcnkpKTsKKyAgICB9CisgICAgCitwcml2YXRlOgor
ICAgIENTU0NhbGNCaW5hcnlPcGVyYXRpb24oUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5v
ZGU+IGxlZnRTaWRlLCBQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gcmlnaHRTaWRl
LCBDYWxjT3BlcmF0b3Igb3AsIENhbGN1bGF0aW9uQ2F0ZWdvcnkgY2F0ZWdvcnkpCisgICAgICAg
IDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKGNhdGVnb3J5LCBsZWZ0U2lkZS0+aXNJbnRlZ2VyKCkg
JiYgcmlnaHRTaWRlLT5pc0ludGVnZXIoKSkKKyAgICAgICAgLCBtX2xlZnRTaWRlKGxlZnRTaWRl
KQorICAgICAgICAsIG1fcmlnaHRTaWRlKHJpZ2h0U2lkZSkKKyAgICAgICAgLCBtX29wZXJhdG9y
KG9wKQorICAgIHsKKyAgICB9CisgICAgCisgICAgY29uc3QgUmVmUHRyPENTU0NhbGNFeHByZXNz
aW9uTm9kZT4gbV9sZWZ0U2lkZTsKKyAgICBjb25zdCBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25O
b2RlPiBtX3JpZ2h0U2lkZTsKKyAgICBjb25zdCBDYWxjT3BlcmF0b3IgbV9vcGVyYXRvcjsKK307
CisKK3N0YXRpYyBQYXJzZVN0YXRlIGNoZWNrRGVwdGhBbmRJbmRleChpbnQqIGRlcHRoLCB1bnNp
Z25lZCBpbmRleCwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMpCit7CisgICAgKCpkZXB0aCkr
KzsKKyAgICBpZiAoKmRlcHRoID4gbWF4RXhwcmVzc2lvbkRlcHRoKQorICAgICAgICByZXR1cm4g
VG9vRGVlcDsKKyAgICBpZiAoaW5kZXggPj0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgIHJldHVy
biBOb01vcmVUb2tlbnM7CisgICAgcmV0dXJuIE9LOworfQorCitjbGFzcyBDU1NDYWxjRXhwcmVz
c2lvbk5vZGVQYXJzZXIgeworcHVibGljOgorICAgIFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Np
b25Ob2RlPiBwYXJzZUNhbGMoQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMpCisgICAgeworICAg
ICAgICB1bnNpZ25lZCBpbmRleCA9IDA7CisgICAgICAgIFZhbHVlIHJlc3VsdDsKKyAgICAgICAg
Ym9vbCBvayA9IHBhcnNlVmFsdWVFeHByZXNzaW9uKHRva2VucywgMCwgJmluZGV4LCAmcmVzdWx0
KTsKKyAgICAgICAgQVNTRVJUKGluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgaWYg
KCFvayB8fCBpbmRleCAhPSB0b2tlbnMtPnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gcmVzdWx0LnZhbHVlOworICAgIH0KKworcHJpdmF0ZToKKyAgICBzdHJ1
Y3QgVmFsdWUgeworICAgICAgICBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiB2YWx1ZTsK
KyAgICB9OworCisgICAgY2hhciBvcGVyYXRvclZhbHVlKENTU1BhcnNlclZhbHVlTGlzdCogdG9r
ZW5zLCB1bnNpZ25lZCBpbmRleCkKKyAgICB7CisgICAgICAgIGlmIChpbmRleCA+PSB0b2tlbnMt
PnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBDU1NQYXJzZXJWYWx1ZSog
dmFsdWUgPSB0b2tlbnMtPnZhbHVlQXQoaW5kZXgpOworICAgICAgICBpZiAodmFsdWUtPnVuaXQg
IT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAg
ICAgICAgcmV0dXJuIHZhbHVlLT5pVmFsdWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVl
KENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1
bHQpCisgICAgeworICAgICAgICBDU1NQYXJzZXJWYWx1ZSogcGFyc2VyVmFsdWUgPSB0b2tlbnMt
PnZhbHVlQXQoKmluZGV4KTsKKyAgICAgICAgaWYgKHBhcnNlclZhbHVlLT51bml0ID09IENTU1Bh
cnNlclZhbHVlOjpPcGVyYXRvciB8fCBwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1
ZTo6RnVuY3Rpb24pCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgUmVmUHRy
PENTU1ZhbHVlPiB2YWx1ZSA9IHBhcnNlclZhbHVlLT5jcmVhdGVDU1NWYWx1ZSgpOworICAgICAg
ICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1
ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFsdWUuZ2V0KCkpOworICAgICAg
ICByZXN1bHQtPnZhbHVlID0gQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUocHJpbWl0aXZl
VmFsdWUsIHBhcnNlclZhbHVlLT5pc0ludCk7CisKKyAgICAgICAgKysqaW5kZXg7CisgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZVRlcm0oQ1NTUGFyc2Vy
VmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVz
dWx0KQorICAgIHsKKyAgICAgICAgaWYgKGNoZWNrRGVwdGhBbmRJbmRleCgmZGVwdGgsICppbmRl
eCwgdG9rZW5zKSAhPSBPSykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgCisgICAgICAg
IAorICAgICAgICBpZiAob3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCkgPT0gJygnKSB7Cisg
ICAgICAgICAgICB1bnNpZ25lZCBjdXJyZW50SW5kZXggPSAqaW5kZXggKyAxOworICAgICAgICAg
ICAgaWYgKCFwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCAmY3VycmVudEluZGV4
LCByZXN1bHQpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAg
aWYgKG9wZXJhdG9yVmFsdWUodG9rZW5zLCBjdXJyZW50SW5kZXgpICE9ICcpJykKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAqaW5kZXggPSBjdXJyZW50SW5kZXgg
KyAxOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAgICByZXR1
cm4gcGFyc2VWYWx1ZSh0b2tlbnMsIGluZGV4LCByZXN1bHQpOworICAgIH0KKworICAgIGJvb2wg
cGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIHRv
a2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgewor
ICAgICAgICBpZiAoY2hlY2tEZXB0aEFuZEluZGV4KCZkZXB0aCwgKmluZGV4LCB0b2tlbnMpICE9
IE9LKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAKKworICAgICAgICBpZiAoIXBhcnNl
VmFsdWVUZXJtKHRva2VucywgZGVwdGgsIGluZGV4LCByZXN1bHQpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgIHdoaWxlICgqaW5kZXggPCB0b2tlbnMtPnNpemUoKSAtIDEp
IHsKKyAgICAgICAgICAgIGNoYXIgb3BlcmF0b3JDaGFyYWN0ZXIgPSBvcGVyYXRvclZhbHVlKHRv
a2VucywgKmluZGV4KTsKKyAgICAgICAgICAgIGlmIChvcGVyYXRvckNoYXJhY3RlciAhPSBDYWxj
TXVsdGlwbHkgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY0RpdmlkZSAmJiBvcGVyYXRvckNo
YXJhY3RlciAhPSBDYWxjTW9kKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
KysqaW5kZXg7CisKKyAgICAgICAgICAgIFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFy
c2VWYWx1ZVRlcm0odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZyaHMpKQorICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNCaW5h
cnlPcGVyYXRpb246OmNyZWF0ZShyZXN1bHQtPnZhbHVlLCByaHMudmFsdWUsIHN0YXRpY19jYXN0
PENhbGNPcGVyYXRvcj4ob3BlcmF0b3JDaGFyYWN0ZXIpKTsKKyAgICAgICAgICAgIGlmICghcmVz
dWx0LT52YWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKwor
ICAgICAgICBBU1NFUlQoKmluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKENT
U1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFs
dWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIGlmIChjaGVja0RlcHRoQW5kSW5kZXgoJmRlcHRo
LCAqaW5kZXgsIHRva2VucykgIT0gT0spCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgIAor
CisgICAgICAgIGlmICghcGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbih0b2tlbnMs
IGRlcHRoLCBpbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
ICAgICB3aGlsZSAoKmluZGV4IDwgdG9rZW5zLT5zaXplKCkgLSAxKSB7CisgICAgICAgICAgICBj
aGFyIG9wZXJhdG9yQ2hhcmFjdGVyID0gb3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCk7Cisg
ICAgICAgICAgICBpZiAob3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY0FkZCAmJiBvcGVyYXRvckNo
YXJhY3RlciAhPSBDYWxjU3VidHJhY3QpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICArKyppbmRleDsKKworICAgICAgICAgICAgVmFsdWUgcmhzOworICAgICAgICAgICAgaWYg
KCFwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4
LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHJl
c3VsdC0+dmFsdWUgPSBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uOjpjcmVhdGUocmVzdWx0LT52YWx1
ZSwgcmhzLnZhbHVlLCBzdGF0aWNfY2FzdDxDYWxjT3BlcmF0b3I+KG9wZXJhdG9yQ2hhcmFjdGVy
KSk7CisgICAgICAgICAgICBpZiAoIXJlc3VsdC0+dmFsdWUpCisgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgQVNTRVJUKCppbmRleCA8PSB0b2tlbnMt
PnNpemUoKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VW
YWx1ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5z
aWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHBhcnNl
QWRkaXRpdmVWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsIHJlc3VsdCk7Cisg
ICAgfQorfTsKKworUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IENTU0NhbGNWYWx1ZTo6Y3JlYXRl
KENTU1BhcnNlclN0cmluZyBuYW1lLCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHBhcnNlclZhbHVlTGlz
dCkKK3sgICAgCisgICAgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyIHBhcnNlcjsgICAgCisg
ICAgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gZXhwcmVzc2lvbjsKKyAgICAKKyAgICBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIi13ZWJraXQtY2FsYygiKSkKKyAgICAgICAgZXhw
cmVzc2lvbiA9IHBhcnNlci5wYXJzZUNhbGMocGFyc2VyVmFsdWVMaXN0KTsgICAgCisgICAgLy8g
RklYTUUgY2FsYyAoaHR0cDovL3dlYmtpdC5vcmcvYi8xNjY2MikgQWRkIHBhcnNpbmcgZm9yIG1p
biBhbmQgbWF4IGhlcmUKKworICAgIHJldHVybiBleHByZXNzaW9uID8gYWRvcHRSZWYobmV3IENT
U0NhbGNWYWx1ZShleHByZXNzaW9uKSkgOiAwOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuaApuZXcgZmlsZSBtb2RlIDEw
MDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDQ2
MzlkMTEyMDk3YjMwMWRjY2NlNDVlOWE1YTFjZmNlYjAzNjRiCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuaApAQCAtMCwwICsxLDk5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBDU1NDYWxjdWxhdGlvblZhbHVlX2gKKyNkZWZpbmUgQ1NTQ2FsY3VsYXRpb25WYWx1
ZV9oCisKKyNpbmNsdWRlICJDU1NQYXJzZXJWYWx1ZXMuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZS5o
IgorI2luY2x1ZGUgIkNhbGN1bGF0aW9uVmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1BhcnNlclZhbHVlTGlzdDsKK2Ns
YXNzIENTU1ZhbHVlTGlzdDsKK2NsYXNzIFJlbmRlclN0eWxlOworY2xhc3MgQ2FsY1ZhbHVlOwor
Y2xhc3MgQ2FsY0V4cHJlc3Npb25Ob2RlOworCitlbnVtIENhbGN1bGF0aW9uQ2F0ZWdvcnkgewor
ICAgIENhbGNOdW1iZXIgPSAwLAorICAgIENhbGNMZW5ndGgsCisgICAgQ2FsY1BlcmNlbnQsCisg
ICAgQ2FsY1BlcmNlbnROdW1iZXIsCisgICAgQ2FsY1BlcmNlbnRMZW5ndGgsCisgICAgQ2FsY090
aGVyCit9OworICAgIAorY2xhc3MgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIDogcHVibGljIFJlZkNv
dW50ZWQ8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiB7CitwdWJsaWM6CisgICAgCisgICAgdmlydHVh
bCB+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKCkgPSAwOyAgICAKKyAgICAKKyAgICBDYWxjdWxhdGlv
bkNhdGVnb3J5IGNhdGVnb3J5KCkgY29uc3QgeyByZXR1cm4gbV9jYXRlZ29yeTsgfSAgICAKKyAg
ICBib29sIGlzSW50ZWdlcigpIGNvbnN0IHsgcmV0dXJuIG1faXNJbnRlZ2VyOyB9CisgICAgYm9v
bCBpc1plcm8oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIAorcHJvdGVjdGVkOgorICAg
IENTU0NhbGNFeHByZXNzaW9uTm9kZShDYWxjdWxhdGlvbkNhdGVnb3J5IGNhdGVnb3J5LCBib29s
IGlzSW50ZWdlcikKKyAgICAgICAgOiBtX2NhdGVnb3J5KGNhdGVnb3J5KQorICAgICAgICAsIG1f
aXNJbnRlZ2VyKGlzSW50ZWdlcikKKyAgICB7CisgICAgfQorICAgIAorICAgIENhbGN1bGF0aW9u
Q2F0ZWdvcnkgbV9jYXRlZ29yeTsKKyAgICBib29sIG1faXNJbnRlZ2VyOworfTsKKyAgICAgICAg
CitjbGFzcyBDU1NDYWxjVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gY3JlYXRlKENTU1BhcnNlclN0cmluZyBuYW1l
LCBDU1NQYXJzZXJWYWx1ZUxpc3QqKTsKKworICAgIENhbGN1bGF0aW9uQ2F0ZWdvcnkgY2F0ZWdv
cnkoKSBjb25zdCB7IHJldHVybiBtX2V4cHJlc3Npb24tPmNhdGVnb3J5KCk7IH0KKyAgICBib29s
IGlzSW50KCkgY29uc3QgeyByZXR1cm4gbV9leHByZXNzaW9uLT5pc0ludGVnZXIoKTsgfQorICAg
ICAgICAKKyAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OworICAgIAorcHJpdmF0ZTog
ICAgCisgICAgQ1NTQ2FsY1ZhbHVlKFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBl
eHByZXNzaW9uKQorICAgICAgICA6IENTU1ZhbHVlKENhbGN1bGF0aW9uQ2xhc3MpCisgICAgICAg
ICwgbV9leHByZXNzaW9uKGV4cHJlc3Npb24pCisgICAgeworICAgIH0KKyAgICAKKyAgICBjb25z
dCBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBtX2V4cHJlc3Npb247Cit9OworICAgIAor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTQ2FsY3VsYXRpb25WYWx1ZV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDNiZTczNGQ4N2FiNWZiNjNmYzI5NWI0MWE0
ZGE2MmIyM2M3YjBjODYuLmUyNDU3MTY2MTJlYjhlMzMxZDgyNzcyMzQ1MmZmMWVhYWIxYmIyZjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC02OTIsMTMgKzY5Miw1NCBAQCBEb2N1bWVu
dCogQ1NTUGFyc2VyOjpmaW5kRG9jdW1lbnQoKSBjb25zdAogICAgIHJldHVybiBtX3N0eWxlU2hl
ZXQtPmZpbmREb2N1bWVudCgpOwogfQogCitib29sIENTU1BhcnNlcjo6dmFsaWRDYWxjdWxhdGlv
blVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1bml0ZmxhZ3MpCit7CisgICAgaWYg
KCFwYXJzZUNhbGN1bGF0aW9uKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
Ym9vbCBiID0gZmFsc2U7CisgICAgc3dpdGNoIChtX3BhcnNlZENhbGN1bGF0aW9uLT5jYXRlZ29y
eSgpKSB7CisgICAgY2FzZSBDYWxjTGVuZ3RoOgorICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZM
ZW5ndGgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENhbGNQZXJjZW50OgorICAgICAgICBi
ID0gKHVuaXRmbGFncyAmIEZQZXJjZW50KTsKKyAgICAgICAgLy8gRklYTUUgY2FsYyAoaHR0cDov
L3dlYmtpdC5vcmcvYi8xNjY2Mik6IHRlc3QgRk5vbk5lZyBoZXJlLCBlZworICAgICAgICAvLyBp
ZiAoYiAmJiAodW5pdGZsYWdzICYgRk5vbk5lZykgJiYgbV9wYXJzZWRDYWxjdWxhdGlvbi0+ZG91
YmxlVmFsdWUoKSA8IDApCisgICAgICAgIC8vICAgIGIgPSBmYWxzZTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBDYWxjTnVtYmVyOgorICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZOdW1iZXIp
OworICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRlZ2VyKSAmJiBtX3BhcnNlZENh
bGN1bGF0aW9uLT5pc0ludCgpKQorICAgICAgICAgICAgYiA9IHRydWU7CisgICAgICAgIC8vIEZJ
WE1FIGNhbGMgKGh0dHA6Ly93ZWJraXQub3JnL2IvMTY2NjIpOiB0ZXN0IEZOb25OZWcgaGVyZSwg
ZWcKKyAgICAgICAgLy8gaWYgKGIgJiYgKHVuaXRmbGFncyAmIEZOb25OZWcpICYmIG1fcGFyc2Vk
Q2FsY3VsYXRpb24tPmRvdWJsZVZhbHVlKCkgPCAwKQorICAgICAgICAvLyAgICBiID0gZmFsc2U7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ2FsY1BlcmNlbnRMZW5ndGg6CisgICAgICAgIGIg
PSAodW5pdGZsYWdzICYgRlBlcmNlbnQpICYmICh1bml0ZmxhZ3MgJiBGTGVuZ3RoKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBDYWxjUGVyY2VudE51bWJlcjoKKyAgICAgICAgYiA9ICh1bml0
ZmxhZ3MgJiBGUGVyY2VudCkgJiYgKHVuaXRmbGFncyAmIEZOdW1iZXIpOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmICgh
YikKKyAgICAgICAgbV9wYXJzZWRDYWxjdWxhdGlvbi5yZWxlYXNlKCk7CisgICAgcmV0dXJuIGI7
ICAgIAorfQorCiBib29sIENTU1BhcnNlcjo6dmFsaWRVbml0KENTU1BhcnNlclZhbHVlKiB2YWx1
ZSwgVW5pdHMgdW5pdGZsYWdzLCBib29sIHN0cmljdCkKIHsKKyAgICBpZiAoaXNDYWxjdWxhdGlv
bih2YWx1ZSkpCisgICAgICAgIHJldHVybiB2YWxpZENhbGN1bGF0aW9uVW5pdCh2YWx1ZSwgdW5p
dGZsYWdzKTsKKyAgICAgICAgCiAgICAgYm9vbCBiID0gZmFsc2U7CiAgICAgc3dpdGNoICh2YWx1
ZS0+dW5pdCkgewogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVI6CiAgICAg
ICAgIGIgPSAodW5pdGZsYWdzICYgRk51bWJlcik7Ci0gICAgICAgIGlmICghYiAmJiAoKHVuaXRm
bGFncyAmIChGTGVuZ3RoIHwgRkFuZ2xlIHwgRlRpbWUpKSAmJiAodmFsdWUtPmZWYWx1ZSA9PSAw
IHx8ICFzdHJpY3QpKSkgeworICAgICAgICBpZiAoIWIgJiYgKCh1bml0ZmxhZ3MgJiAoRkxlbmd0
aCB8IEZBbmdsZSB8IEZUaW1lKSkgJiYgKCF2YWx1ZS0+ZlZhbHVlIHx8ICFzdHJpY3QpKSkgewog
ICAgICAgICAgICAgdmFsdWUtPnVuaXQgPSAodW5pdGZsYWdzICYgRkxlbmd0aCkgPyBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1BYIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1bml0Zmxh
Z3MgJiBGQW5nbGUpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19ERUcgOiBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX01TKTsKICAgICAgICAgICAgIGIgPSB0cnVlOwpAQCAtNzQ0LDYgKzc4NSwxNCBA
QCBib29sIENTU1BhcnNlcjo6dmFsaWRVbml0KENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgVW5pdHMg
dW5pdGZsYWdzLCBib29sIHN0cmljdCkKIAogaW5saW5lIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZl
VmFsdWU+IENTU1BhcnNlcjo6Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZh
bHVlKiB2YWx1ZSkKIHsKKyAgICBpZiAobV9wYXJzZWRDYWxjdWxhdGlvbikgeworICAgICAgICBB
U1NFUlQoaXNDYWxjdWxhdGlvbih2YWx1ZSkpOworICAgICAgICAvLyBGSVhNRSBjYWxjKCkgaHR0
cDovL3dlYmtpdC5vcmcvYi8xNjY2MjogY3JlYXRlIGEgQ1NTUHJpbWl0aXZlVmFsdWUgaGVyZSwg
aWUKKyAgICAgICAgLy8gcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobV9wYXJzZWRD
YWxjdWxhdGlvbi5yZWxlYXNlKCkpOworICAgICAgICBtX3BhcnNlZENhbGN1bGF0aW9uLnJlbGVh
c2UoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgICAgICAgICAgICAgCiAgICAgQVNT
RVJUKCh2YWx1ZS0+dW5pdCA+PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUiAmJiB2YWx1
ZS0+dW5pdCA8PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0tIWikKICAgICAgICAgICAgfHwgKHZh
bHVlLT51bml0ID49IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVFVSTiAmJiB2YWx1ZS0+dW5pdCA8
PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVMpKTsKICAgICByZXR1cm4gY3NzVmFsdWVQb29s
KCktPmNyZWF0ZVZhbHVlKHZhbHVlLT5mVmFsdWUsIHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZh
bHVlOjpVbml0VHlwZXM+KHZhbHVlLT51bml0KSk7CkBAIC04NDEsNiArODkwLDExIEBAIGlubGlu
ZSBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlVmFsaWRQcmlt
aXRpdmUoaW50IGlkLCBDU1NQCiAgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVOdW1lcmlj
VmFsdWUodmFsdWUpOwogICAgIGlmICh2YWx1ZS0+dW5pdCA+PSBDU1NQYXJzZXJWYWx1ZTo6UV9F
TVMpCiAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlQWxsb3dpbmdNYXJn
aW5RdWlyayh2YWx1ZS0+ZlZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUyk7CisgICAg
aWYgKGlzQ2FsY3VsYXRpb24odmFsdWUpKQorICAgICAgICAvLyBGSVhNRSBjYWxjKCkgIGh0dHA6
Ly93ZWJraXQub3JnL2IvMTY2NjI6IGNyZWF0ZSBhIHByaW1pdGl2ZSB2YWx1ZSBoZXJlLCBpZQor
ICAgICAgICAvLyByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtX3BhcnNlZENhbGN1
bGF0aW9uLnJlbGVhc2UoKSk7CisgICAgICAgIG1fcGFyc2VkQ2FsY3VsYXRpb24ucmVsZWFzZSgp
OworCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTg1NCw2ICs5MDgsMTAgQEAgYm9vbCBDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgaWYgKCF2YWx1
ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgLy8gTm90ZTogbV9wYXJzZWRDYWxjdWxh
dGlvbiBpcyB1c2VkIHRvIHBhc3MgdGhlIGNhbGMgdmFsdWUgdG8gdmFsaWRVbml0IGFuZCB0aGVu
IGNsZWFyZWQgYXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLgorICAgIC8vIEZJWE1FOiBUaGlz
IGlzIHRvIGF2b2lkIGhhdmluZyB0byBwYXNzIHBhcnNlZENhbGMgdG8gYWxsIHZhbGlkVW5pdCBj
YWxsZXJzLgorICAgIEFTU0VSVCghbV9wYXJzZWRDYWxjdWxhdGlvbik7CisgICAgCiAgICAgaW50
IGlkID0gdmFsdWUtPmlkOwogCiAgICAgLy8gSW4gcXVpcmtzIG1vZGUsIHdlIHdpbGwgbG9vayBm
b3IgdW5pdHMgdGhhdCBoYXZlIGJlZW4gaW5jb3JyZWN0bHkgc2VwYXJhdGVkIGZyb20gdGhlIG51
bWJlciB0aGV5IGJlbG9uZyB0bwpAQCAtMjI3OCw2ICsyMzM2LDcgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgIHBhcnNlZFZh
bHVlID0gcGFyc2VWYWxpZFByaW1pdGl2ZShpZCwgdmFsdWUpOwogICAgICAgICBtX3ZhbHVlTGlz
dC0+bmV4dCgpOwogICAgIH0KKyAgICBBU1NFUlQoIW1fcGFyc2VkQ2FsY3VsYXRpb24pOwogICAg
IGlmIChwYXJzZWRWYWx1ZSkgewogICAgICAgICBpZiAoIW1fdmFsdWVMaXN0LT5jdXJyZW50KCkg
fHwgaW5TaG9ydGhhbmQoKSkgewogICAgICAgICAgICAgYWRkUHJvcGVydHkocHJvcElkLCBwYXJz
ZWRWYWx1ZS5yZWxlYXNlKCksIGltcG9ydGFudCk7CkBAIC0yOTg1LDggKzMwNDQsMTEgQEAgUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUZpbGxQb3NpdGlvbkNvbXBvbmVudChD
U1NQYXJzZXJWYWx1ZUxpc3QqIHYKICAgICAgICAgfSBlbHNlIGlmIChjdW11bGF0aXZlRmxhZ3Mg
JiAoWEZpbGxQb3NpdGlvbiB8IEFtYmlndW91c0ZpbGxQb3NpdGlvbikpIHsKICAgICAgICAgICAg
IGN1bXVsYXRpdmVGbGFncyB8PSBZRmlsbFBvc2l0aW9uOwogICAgICAgICAgICAgaW5kaXZpZHVh
bEZsYWcgPSBZRmlsbFBvc2l0aW9uOwotICAgICAgICB9IGVsc2UKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIGlmIChtX3BhcnNlZENhbGN1bGF0aW9uKQorICAgICAgICAgICAgICAgIG1f
cGFyc2VkQ2FsY3VsYXRpb24ucmVsZWFzZSgpOwogICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgIH0KICAgICAgICAgcmV0dXJuIGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2YWx1ZUxp
c3QtPmN1cnJlbnQoKSk7CiAgICAgfQogICAgIHJldHVybiAwOwpAQCAtNDg2OCwyMiArNDkzMCw0
OSBAQCBib29sIENTU1BhcnNlcjo6ZmFzdFBhcnNlQ29sb3IoUkdCQTMyJiByZ2IsIGNvbnN0IFN0
cmluZyYgbmFtZSwgYm9vbCBzdHJpY3QpCiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KKyAg
ICAKK2lubGluZSBkb3VibGUgQ1NTUGFyc2VyOjpwYXJzZWREb3VibGUoQ1NTUGFyc2VyVmFsdWUg
KnYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWVDb25kaXRpb24gcmVsZWFzZUNhbGMpCit7CisgICAg
Ly8gRklYTUUgY2FsYyAoaHR0cDovL3dlYmtpdC5vcmcvYi8xNjY2Mik6IGV2YWx1YXRlIGNhbGMg
aGVyZSwgZWcKKyAgICAvLyBjb25zdCBkb3VibGUgcmVzdWx0ID0gbV9wYXJzZWRDYWxjdWxhdGlv
biA/IG1fcGFyc2VkQ2FsY3VsYXRpb24tPmRvdWJsZVZhbHVlKCkgOiB2LT5mVmFsdWU7CisgICAg
Y29uc3QgZG91YmxlIHJlc3VsdCA9IG1fcGFyc2VkQ2FsY3VsYXRpb24gPyAwIDogdi0+ZlZhbHVl
OworICAgIGlmIChyZWxlYXNlQ2FsYyA9PSBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKQorICAgICAg
ICBtX3BhcnNlZENhbGN1bGF0aW9uLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQog
Ci1zdGF0aWMgaW5saW5lIGludCBjb2xvckludEZyb21WYWx1ZShDU1NQYXJzZXJWYWx1ZSogdikK
K2Jvb2wgQ1NTUGFyc2VyOjppc0NhbGN1bGF0aW9uKENTU1BhcnNlclZhbHVlKiB2YWx1ZSkgCiB7
Ci0gICAgaWYgKHYtPmZWYWx1ZSA8PSAwLjApCisgICAgcmV0dXJuICh2YWx1ZS0+dW5pdCA9PSBD
U1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24pIAorICAgICAgICAmJiAoZXF1YWxJZ25vcmluZ0Nhc2Uo
dmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jYWxjKCIpCisgICAgICAgICAgICB8fCBl
cXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LW1pbigiKQor
ICAgICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCAi
LXdlYmtpdC1tYXgoIikpOworfQorCitpbmxpbmUgaW50IENTU1BhcnNlcjo6Y29sb3JJbnRGcm9t
VmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHYpCit7CisgICAgYm9vbCBpc1BlcmNlbnQ7CisgICAgCisg
ICAgaWYgKG1fcGFyc2VkQ2FsY3VsYXRpb24pCisgICAgICAgIGlzUGVyY2VudCA9IG1fcGFyc2Vk
Q2FsY3VsYXRpb24tPmNhdGVnb3J5KCkgPT0gQ2FsY1BlcmNlbnQ7CisgICAgZWxzZQorICAgICAg
ICBpc1BlcmNlbnQgPSB2LT51bml0ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFH
RTsKKworICAgIGNvbnN0IGRvdWJsZSB2YWx1ZSA9IHBhcnNlZERvdWJsZSh2LCBSZWxlYXNlUGFy
c2VkQ2FsY1ZhbHVlKTsKKyAgICAKKyAgICBpZiAodmFsdWUgPD0gMC4wKQogICAgICAgICByZXR1
cm4gMDsKIAotICAgIGlmICh2LT51bml0ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VO
VEFHRSkgewotICAgICAgICBpZiAodi0+ZlZhbHVlID49IDEwMC4wKQorICAgIGlmIChpc1BlcmNl
bnQpIHsKKyAgICAgICAgaWYgKHZhbHVlID49IDEwMC4wKQogICAgICAgICAgICAgcmV0dXJuIDI1
NTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odi0+ZlZhbHVlICogMjU2LjAgLyAx
MDAuMCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlICogMjU2LjAgLyAx
MDAuMCk7CiAgICAgfQogCi0gICAgaWYgKHYtPmZWYWx1ZSA+PSAyNTUuMCkKKyAgICBpZiAodmFs
dWUgPj0gMjU1LjApCiAgICAgICAgIHJldHVybiAyNTU7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8aW50Pih2LT5mVmFsdWUpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlKTsK
IH0KIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3JQYXJhbWV0ZXJzKENTU1BhcnNlclZhbHVl
KiB2YWx1ZSwgaW50KiBjb2xvckFycmF5LCBib29sIHBhcnNlQWxwaGEpCkBAIC00ODk4LDYgKzQ5
ODcsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFs
dWUqIHZhbHVlLCBpbnQqIGNvbG9yQXJyYXksIGJvbwogICAgICAgICB1bml0VHlwZSA9IEZQZXJj
ZW50OwogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAogICAgIGNvbG9yQXJy
YXlbMF0gPSBjb2xvckludEZyb21WYWx1ZSh2KTsKICAgICBmb3IgKGludCBpID0gMTsgaSA8IDM7
IGkrKykgewogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwpAQCAtNDkxNSw5ICs1MDA1LDEwIEBA
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyhDU1NQYXJzZXJWYWx1ZSogdmFs
dWUsIGludCogY29sb3JBcnJheSwgYm9vCiAgICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CiAgICAg
ICAgIGlmICghdmFsaWRVbml0KHYsIEZOdW1iZXIsIHRydWUpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICBjb25zdCBkb3VibGUgdmFsdWUgPSBwYXJzZWREb3VibGUodiwgUmVs
ZWFzZVBhcnNlZENhbGNWYWx1ZSk7CiAgICAgICAgIC8vIENvbnZlcnQgdGhlIGZsb2F0aW5nIHBv
aW50ZXIgbnVtYmVyIG9mIGFscGhhIHRvIGFuIGludGVnZXIgaW4gdGhlIHJhbmdlIFswLCAyNTYp
LAogICAgICAgICAvLyB3aXRoIGFuIGVxdWFsIGRpc3RyaWJ1dGlvbiBhY3Jvc3MgYWxsIDI1NiB2
YWx1ZXMuCi0gICAgICAgIGNvbG9yQXJyYXlbM10gPSBzdGF0aWNfY2FzdDxpbnQ+KG1heCgwLjAs
IG1pbigxLjAsIHYtPmZWYWx1ZSkpICogbmV4dGFmdGVyKDI1Ni4wLCAwLjApKTsKKyAgICAgICAg
Y29sb3JBcnJheVszXSA9IHN0YXRpY19jYXN0PGludD4obWF4KDAuMCwgbWluKDEuMCwgdmFsdWUp
KSAqIG5leHRhZnRlcigyNTYuMCwgMC4wKSk7CiAgICAgfQogICAgIHJldHVybiB0cnVlOwogfQpA
QCAtNDkzNSw3ICs1MDI2LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlSFNMUGFyYW1ldGVycyhD
U1NQYXJzZXJWYWx1ZSogdmFsdWUsIGRvdWJsZSogY29sb3JBcnJheSwgYm8KICAgICBpZiAoIXZh
bGlkVW5pdCh2LCBGTnVtYmVyLCB0cnVlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8v
IG5vcm1hbGl6ZSB0aGUgSHVlIHZhbHVlIGFuZCBjaGFuZ2UgaXQgdG8gYmUgYmV0d2VlbiAwIGFu
ZCAxLjAKLSAgICBjb2xvckFycmF5WzBdID0gKCgoc3RhdGljX2Nhc3Q8aW50Pih2LT5mVmFsdWUp
ICUgMzYwKSArIDM2MCkgJSAzNjApIC8gMzYwLjA7CisgICAgY29sb3JBcnJheVswXSA9ICgoKHN0
YXRpY19jYXN0PGludD4ocGFyc2VkRG91YmxlKHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpKSAl
IDM2MCkgKyAzNjApICUgMzYwKSAvIDM2MC4wOwogICAgIGZvciAoaW50IGkgPSAxOyBpIDwgMzsg
aSsrKSB7CiAgICAgICAgIHYgPSBhcmdzLT5uZXh0KCk7CiAgICAgICAgIGlmICh2LT51bml0ICE9
IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciAmJiB2LT5pVmFsdWUgIT0gJywnKQpAQCAtNDk0Myw3
ICs1MDM0LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJW
YWx1ZSogdmFsdWUsIGRvdWJsZSogY29sb3JBcnJheSwgYm8KICAgICAgICAgdiA9IGFyZ3MtPm5l
eHQoKTsKICAgICAgICAgaWYgKCF2YWxpZFVuaXQodiwgRlBlcmNlbnQsIHRydWUpKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBjb2xvckFycmF5W2ldID0gbWF4KDAuMCwgbWlu
KDEwMC4wLCB2LT5mVmFsdWUpKSAvIDEwMC4wOyAvLyBuZWVkcyB0byBiZSB2YWx1ZSBiZXR3ZWVu
IDAgYW5kIDEuMAorICAgICAgICBjb2xvckFycmF5W2ldID0gbWF4KDAuMCwgbWluKDEwMC4wLCBw
YXJzZWREb3VibGUodiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSkpKSAvIDEwMC4wOyAvLyBuZWVk
cyB0byBiZSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEuMAogICAgIH0KICAgICBpZiAocGFyc2VBbHBo
YSkgewogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwpAQCAtNDk1Miw3ICs1MDQzLDcgQEAgYm9v
bCBDU1NQYXJzZXI6OnBhcnNlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIGRv
dWJsZSogY29sb3JBcnJheSwgYm8KICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKICAgICAgICAg
aWYgKCF2YWxpZFVuaXQodiwgRk51bWJlciwgdHJ1ZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIGNvbG9yQXJyYXlbM10gPSBtYXgoMC4wLCBtaW4oMS4wLCB2LT5mVmFsdWUp
KTsKKyAgICAgICAgY29sb3JBcnJheVszXSA9IG1heCgwLjAsIG1pbigxLjAsIHBhcnNlZERvdWJs
ZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKSkpOwogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsK
IH0KQEAgLTUwMjAsOSArNTExMSw5IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yRnJvbVZh
bHVlKENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgUkdCQTMyJiBjKQogLy8gVGhpcyBjbGFzcyB0cmFj
a3MgcGFyc2luZyBzdGF0ZSBmb3Igc2hhZG93IHZhbHVlcy4gIElmIGl0IGdvZXMgb3V0IG9mIHNj
b3BlIChlLmcuLCBkdWUgdG8gYW4gZWFybHkgcmV0dXJuKQogLy8gd2l0aG91dCB0aGUgYWxsb3dC
cmVhayBiaXQgYmVpbmcgc2V0LCB0aGVuIGl0IHdpbGwgY2xlYW4gdXAgYWxsIG9mIHRoZSBvYmpl
Y3RzIGFuZCBkZXN0cm95IHRoZW0uCiBzdHJ1Y3QgU2hhZG93UGFyc2VDb250ZXh0IHsKLSAgICBT
aGFkb3dQYXJzZUNvbnRleHQoQ1NTUHJvcGVydHlJRCBwcm9wLCBDU1NWYWx1ZVBvb2wqIGNzc1Zh
bHVlUG9vbCkKKyAgICBTaGFkb3dQYXJzZUNvbnRleHQoQ1NTUHJvcGVydHlJRCBwcm9wLCBDU1NQ
YXJzZXIqIHBhcnNlcikKICAgICAgICAgOiBwcm9wZXJ0eShwcm9wKQotICAgICAgICAsIG1fY3Nz
VmFsdWVQb29sKGNzc1ZhbHVlUG9vbCkKKyAgICAgICAgLCBtX3BhcnNlcihwYXJzZXIpCiAgICAg
ICAgICwgYWxsb3dYKHRydWUpCiAgICAgICAgICwgYWxsb3dZKGZhbHNlKQogICAgICAgICAsIGFs
bG93Qmx1cihmYWxzZSkKQEAgLTUwNjUsNyArNTE1Niw3IEBAIHN0cnVjdCBTaGFkb3dQYXJzZUNv
bnRleHQgewogCiAgICAgdm9pZCBjb21taXRMZW5ndGgoQ1NTUGFyc2VyVmFsdWUqIHYpCiAgICAg
ewotICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fY3NzVmFsdWVQb29s
LT5jcmVhdGVWYWx1ZSh2LT5mVmFsdWUsIHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlOjpV
bml0VHlwZXM+KHYtPnVuaXQpKTsKKyAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2
YWwgPSBtX3BhcnNlci0+Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHYpOwogCiAgICAgICAg
IGlmIChhbGxvd1gpIHsKICAgICAgICAgICAgIHggPSB2YWwucmVsZWFzZSgpOwpAQCAtNTEwNyw3
ICs1MTk4LDcgQEAgc3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7CiAKICAgICB2b2lkIGNvbW1p
dFN0eWxlKENTU1BhcnNlclZhbHVlKiB2KQogICAgIHsKLSAgICAgICAgc3R5bGUgPSBtX2Nzc1Zh
bHVlUG9vbC0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKHYtPmlkKTsKKyAgICAgICAgc3R5bGUgPSBt
X3BhcnNlci0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2LT5pZCk7CiAg
ICAgICAgIGFsbG93U3R5bGUgPSBmYWxzZTsKICAgICAgICAgaWYgKGFsbG93WCkKICAgICAgICAg
ICAgIGFsbG93QnJlYWsgPSBmYWxzZTsKQEAgLTUxMTksNyArNTIxMCw3IEBAIHN0cnVjdCBTaGFk
b3dQYXJzZUNvbnRleHQgewogICAgIH0KIAogICAgIENTU1Byb3BlcnR5SUQgcHJvcGVydHk7Ci0g
ICAgQ1NTVmFsdWVQb29sKiBtX2Nzc1ZhbHVlUG9vbDsKKyAgICBDU1NQYXJzZXIqIG1fcGFyc2Vy
OwogCiAgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gdmFsdWVzOwogICAgIFJlZlB0cjxDU1NQcmlt
aXRpdmVWYWx1ZT4geDsKQEAgLTUxNDAsNyArNTIzMSw3IEBAIHN0cnVjdCBTaGFkb3dQYXJzZUNv
bnRleHQgewogCiBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJzZVNoYWRv
dyhDU1NQYXJzZXJWYWx1ZUxpc3QqIHZhbHVlTGlzdCwgaW50IHByb3BJZCkKIHsKLSAgICBTaGFk
b3dQYXJzZUNvbnRleHQgY29udGV4dChzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihwcm9wSWQp
LCBjc3NWYWx1ZVBvb2woKSk7CisgICAgU2hhZG93UGFyc2VDb250ZXh0IGNvbnRleHQoc3RhdGlj
X2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcElkKSwgdGhpcyk7CiAgICAgQ1NTUGFyc2VyVmFsdWUq
IHZhbDsKICAgICB3aGlsZSAoKHZhbCA9IHZhbHVlTGlzdC0+Y3VycmVudCgpKSkgewogICAgICAg
ICAvLyBDaGVjayBmb3IgYSBjb21tYSBicmVhayBmaXJzdC4KQEAgLTU1MDcsOCArNTU5OCw4IEBA
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUmVwZWF0KFJlZlB0cjxDU1NWYWx1ZT4m
IHJlc3VsdCkKIAogY2xhc3MgQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCB7CiBwdWJsaWM6
Ci0gICAgQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dChDU1NWYWx1ZVBvb2wqIGNzc1ZhbHVl
UG9vbCkKLSAgICA6IG1fY3NzVmFsdWVQb29sKGNzc1ZhbHVlUG9vbCkKKyAgICBCb3JkZXJJbWFn
ZVNsaWNlUGFyc2VDb250ZXh0KENTU1BhcnNlciogcGFyc2VyKQorICAgIDogbV9wYXJzZXIocGFy
c2VyKQogICAgICwgbV9hbGxvd051bWJlcih0cnVlKQogICAgICwgbV9hbGxvd0ZpbGwoZmFsc2Up
CiAgICAgLCBtX2FsbG93RmluYWxDb21taXQoZmFsc2UpCkBAIC01NTIyLDcgKzU2MTMsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGNvbW1pdE51bWJlcihDU1NQYXJzZXJWYWx1ZSogdikKICAgICB7
Ci0gICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsID0gbV9jc3NWYWx1ZVBvb2wt
PmNyZWF0ZVZhbHVlKHYtPmZWYWx1ZSwgc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU6OlVu
aXRUeXBlcz4odi0+dW5pdCkpOworICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZh
bCA9IG1fcGFyc2VyLT5jcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUodik7CiAgICAgICAgIGlm
ICghbV90b3ApCiAgICAgICAgICAgICBtX3RvcCA9IHZhbDsKICAgICAgICAgZWxzZSBpZiAoIW1f
cmlnaHQpCkBAIC01NTY4LDExICs1NjU5LDExIEBAIHB1YmxpYzoKICAgICAgICAgcXVhZC0+c2V0
TGVmdChtX2xlZnQpOwogCiAgICAgICAgIC8vIE1ha2Ugb3VyIG5ldyBib3JkZXIgaW1hZ2UgdmFs
dWUgbm93LgotICAgICAgICByZXR1cm4gQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjpjcmVhdGUo
bV9jc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHF1YWQucmVsZWFzZSgpKSwgbV9maWxsKTsKKyAg
ICAgICAgcmV0dXJuIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6Y3JlYXRlKG1fcGFyc2VyLT5j
c3NWYWx1ZVBvb2woKS0+Y3JlYXRlVmFsdWUocXVhZC5yZWxlYXNlKCkpLCBtX2ZpbGwpOwogICAg
IH0KIAogcHJpdmF0ZToKLSAgICBDU1NWYWx1ZVBvb2wqIG1fY3NzVmFsdWVQb29sOworICAgIENT
U1BhcnNlciogbV9wYXJzZXI7CiAKICAgICBib29sIG1fYWxsb3dOdW1iZXI7CiAgICAgYm9vbCBt
X2FsbG93RmlsbDsKQEAgLTU1ODgsMTAgKzU2NzksMTEgQEAgcHJpdmF0ZToKIAogYm9vbCBDU1NQ
YXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VTbGljZShpbnQgcHJvcElkLCBSZWZQdHI8Q1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlPiYgcmVzdWx0KQogewotICAgIEJvcmRlckltYWdlU2xpY2VQYXJzZUNv
bnRleHQgY29udGV4dChjc3NWYWx1ZVBvb2woKSk7CisgICAgQm9yZGVySW1hZ2VTbGljZVBhcnNl
Q29udGV4dCBjb250ZXh0KHRoaXMpOwogICAgIENTU1BhcnNlclZhbHVlKiB2YWw7CiAgICAgd2hp
bGUgKCh2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKSkgewotICAgICAgICBpZiAoY29udGV4
dC5hbGxvd051bWJlcigpICYmIHZhbGlkVW5pdCh2YWwsIEZJbnRlZ2VyIHwgRk5vbk5lZyB8IEZQ
ZXJjZW50LCB0cnVlKSkgeworICAgICAgICAvLyBGSVhNRSBjYWxjKCkgaHR0cDovL3dlYmtpdC5v
cmcvYi8xNjY2MiA6IGNhbGMgaXMgcGFyc2VkIGJ1dCB2YWx1ZXMgYXJlIG5vdCBjcmVhdGVkIHll
dC4KKyAgICAgICAgaWYgKGNvbnRleHQuYWxsb3dOdW1iZXIoKSAmJiAhaXNDYWxjdWxhdGlvbih2
YWwpICYmIHZhbGlkVW5pdCh2YWwsIEZJbnRlZ2VyIHwgRk5vbk5lZyB8IEZQZXJjZW50LCB0cnVl
KSkgewogICAgICAgICAgICAgY29udGV4dC5jb21taXROdW1iZXIodmFsKTsKICAgICAgICAgfSBl
bHNlIGlmIChjb250ZXh0LmFsbG93RmlsbCgpICYmIHZhbC0+aWQgPT0gQ1NTVmFsdWVGaWxsKQog
ICAgICAgICAgICAgY29udGV4dC5jb21taXRGaWxsKCk7CkBAIC01NjI0LDggKzU3MTYsOCBAQCBi
b29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVNsaWNlKGludCBwcm9wSWQsIFJlZlB0cjxD
U1NCb3JkZXJJbWFnZVNsaWNlVmFsdQogCiBjbGFzcyBCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRl
eHQgewogcHVibGljOgotICAgIEJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dChDU1NWYWx1ZVBv
b2wqIGNzc1ZhbHVlUG9vbCkKLSAgICA6IG1fY3NzVmFsdWVQb29sKGNzc1ZhbHVlUG9vbCkKKyAg
ICBCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQoQ1NTUGFyc2VyKiBwYXJzZXIpCisgICAgOiBt
X3BhcnNlcihwYXJzZXIpCiAgICAgLCBtX2FsbG93TnVtYmVyKHRydWUpCiAgICAgLCBtX2FsbG93
RmluYWxDb21taXQoZmFsc2UpCiAgICAgeyB9CkBAIC01NjM4LDkgKzU3MzAsOSBAQCBwdWJsaWM6
CiAgICAgewogICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbDsKICAgICAgICAg
aWYgKHYtPmlkID09IENTU1ZhbHVlQXV0bykKLSAgICAgICAgICAgIHZhbCA9IG1fY3NzVmFsdWVQ
b29sLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodi0+aWQpOworICAgICAgICAgICAgdmFsID0gbV9w
YXJzZXItPmNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodi0+aWQpOwogICAg
ICAgICBlbHNlCi0gICAgICAgICAgICB2YWwgPSBtX2Nzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUo
di0+ZlZhbHVlLCBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzPih2LT51
bml0KSk7CisgICAgICAgICAgICB2YWwgPSBtX3BhcnNlci0+Y3JlYXRlUHJpbWl0aXZlTnVtZXJp
Y1ZhbHVlKHYpOwogCiAgICAgICAgIGlmICghbV90b3ApCiAgICAgICAgICAgICBtX3RvcCA9IHZh
bDsKQEAgLTU2ODQsMTEgKzU3NzYsMTEgQEAgcHVibGljOgogICAgICAgICBxdWFkLT5zZXRMZWZ0
KG1fbGVmdCk7CiAKICAgICAgICAgLy8gTWFrZSBvdXIgbmV3IHZhbHVlIG5vdy4KLSAgICAgICAg
cmV0dXJuIG1fY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShxdWFkLnJlbGVhc2UoKSk7CisgICAg
ICAgIHJldHVybiBtX3BhcnNlci0+Y3NzVmFsdWVQb29sKCktPmNyZWF0ZVZhbHVlKHF1YWQucmVs
ZWFzZSgpKTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgQ1NTVmFsdWVQb29sKiBtX2Nzc1ZhbHVl
UG9vbDsKKyAgICBDU1NQYXJzZXIqIG1fcGFyc2VyOwogCiAgICAgYm9vbCBtX2FsbG93TnVtYmVy
OwogICAgIGJvb2wgbV9hbGxvd0ZpbmFsQ29tbWl0OwpAQCAtNTcwMSw3ICs1NzkzLDcgQEAgcHJp
dmF0ZToKIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VRdWFkKFVuaXRzIHZhbGlk
VW5pdHMsIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4mIHJlc3VsdCkKIHsKLSAgICBCb3JkZXJJ
bWFnZVF1YWRQYXJzZUNvbnRleHQgY29udGV4dChjc3NWYWx1ZVBvb2woKSk7CisgICAgQm9yZGVy
SW1hZ2VRdWFkUGFyc2VDb250ZXh0IGNvbnRleHQodGhpcyk7CiAgICAgQ1NTUGFyc2VyVmFsdWUq
IHZhbDsKICAgICB3aGlsZSAoKHZhbCA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7CiAgICAg
ICAgIGlmIChjb250ZXh0LmFsbG93TnVtYmVyKCkgJiYgKHZhbGlkVW5pdCh2YWwsIHZhbGlkVW5p
dHMsIHRydWUpIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVBdXRvKSkgewpAQCAtNzMwNSw2ICs3Mzk3
LDIzIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZvbnRWYXJpYW50TGlnYXR1cmVzKGJvb2wgaW1w
b3J0YW50KQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIENTU1BhcnNlcjo6cGFyc2VDYWxj
dWxhdGlvbihDU1NQYXJzZXJWYWx1ZSogdmFsdWUpIAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0
aW9uKHZhbHVlKSk7CisgICAgCisgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzID0gdmFsdWUt
PmZ1bmN0aW9uLT5hcmdzLmdldCgpOworICAgIGlmICghYXJncyB8fCAhYXJncy0+c2l6ZSgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBBU1NFUlQoIW1fcGFyc2VkQ2FsY3VsYXRpb24p
OworICAgIG1fcGFyc2VkQ2FsY3VsYXRpb24gPSBDU1NDYWxjVmFsdWU6OmNyZWF0ZSh2YWx1ZS0+
ZnVuY3Rpb24tPm5hbWUsIGFyZ3MpOworICAgIAorICAgIGlmICghbV9wYXJzZWRDYWxjdWxhdGlv
bikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAorICAgIHJldHVybiB0cnVlOworfQorICAg
IAogc3RhdGljIGlubGluZSBpbnQgeXllcnJvcihjb25zdCBjaGFyKikgeyByZXR1cm4gMTsgfQog
CiAjZGVmaW5lIEVORF9UT0tFTiAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggYTBkZjY5Njdj
ODQ5YTRlYzk4MjA4ODRhNzY1YTFhYzk3MzRlZDA4My4uYjZlMmIwYTkxZjRhOGJmOTk0YmVmNjc4
NzU5NzI1MmI1YTg3MDliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMjMsNiArMjMsNyBA
QAogI2lmbmRlZiBDU1NQYXJzZXJfaAogI2RlZmluZSBDU1NQYXJzZXJfaAogCisjaW5jbHVkZSAi
Q1NTQ2FsY3VsYXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0dyYWRpZW50VmFsdWUuaCIKICNp
bmNsdWRlICJDU1NQYXJzZXJWYWx1ZXMuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eVNvdXJjZURh
dGEuaCIKQEAgLTIxMSw2ICsyMTIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJzZVRleHRFbXBo
YXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KTsKIAogICAgIGJvb2wgcGFyc2VMaW5lQm94Q29udGFp
bihib29sIGltcG9ydGFudCk7CisgICAgYm9vbCBwYXJzZUNhbGN1bGF0aW9uKENTU1BhcnNlclZh
bHVlKik7CiAKICAgICBib29sIHBhcnNlRm9udEZlYXR1cmVUYWcoQ1NTVmFsdWVMaXN0Kik7CiAg
ICAgYm9vbCBwYXJzZUZvbnRGZWF0dXJlU2V0dGluZ3MoYm9vbCBpbXBvcnRhbnQpOwpAQCAtMzIy
LDYgKzMyNCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvdW50TGluZXMoKTsKICAgICBpbnQgbGV4
KCk7CiAKKyAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVO
dW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKKyAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVTdHJpbmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOworICAg
ICAgICAKIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTdHlsZVNoZWV0KENTU1N0eWxlU2hlZXQqKTsK
ICAgICB2b2lkIGVuc3VyZUNTU1ZhbHVlUG9vbCgpOwpAQCAtMzg4LDYgKzM5Myw4IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiBtX3JldXNhYmxlU2Vs
ZWN0b3JWZWN0b3I7CiAgICAgVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiBtX3Jl
dXNhYmxlUmVnaW9uU2VsZWN0b3JWZWN0b3I7CiAKKyAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBt
X3BhcnNlZENhbGN1bGF0aW9uOworCiAgICAgLy8gZGVmaW5lcyB1bml0cyBhbGxvd2VkIGZvciBh
IGNlcnRhaW4gcHJvcGVydHksIHVzZWQgaW4gcGFyc2VVbml0CiAgICAgZW51bSBVbml0cyB7CiAg
ICAgICAgIEZVbmtub3duICAgPSAweDAwMDAsCkBAIC00MDcsMTMgKzQxNCwxOSBAQCBwcml2YXRl
OgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VW5pdHM+KHN0YXRpY19jYXN0PHVuc2lnbmVk
PihhKSB8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihiKSk7CiAgICAgfQogCi0gICAgc3RhdGljIGJv
b2wgdmFsaWRVbml0KENTU1BhcnNlclZhbHVlKiwgVW5pdHMsIGJvb2wgc3RyaWN0KTsKKyAgICBi
b29sIHZhbGlkQ2FsY3VsYXRpb25Vbml0KENTU1BhcnNlclZhbHVlKiwgVW5pdHMpOworICAgIGJv
b2wgdmFsaWRVbml0KENTU1BhcnNlclZhbHVlKiwgVW5pdHMsIGJvb2wgc3RyaWN0KTsKIAogICAg
IGJvb2wgcGFyc2VCb3JkZXJJbWFnZVF1YWQoVW5pdHMsIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1
ZT4mKTsKLQotICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2
ZU51bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwotICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKENTU1BhcnNlclZhbHVlKik7Ci0K
KyAgICBpbnQgY29sb3JJbnRGcm9tVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKKworICAgIGVudW0g
UmVsZWFzZVBhcnNlZENhbGNWYWx1ZUNvbmRpdGlvbiB7CisgICAgICAgIFJlbGVhc2VQYXJzZWRD
YWxjVmFsdWUsCisgICAgICAgIERvTm90UmVsZWFzZVBhcnNlZENhbGNWYWx1ZQorICAgIH07ICAg
IAorICAgIGRvdWJsZSBwYXJzZWREb3VibGUoQ1NTUGFyc2VyVmFsdWUqLCBSZWxlYXNlUGFyc2Vk
Q2FsY1ZhbHVlQ29uZGl0aW9uIHJlbGVhc2VDYWxjID0gRG9Ob3RSZWxlYXNlUGFyc2VkQ2FsY1Zh
bHVlKTsKKyAgICBib29sIGlzQ2FsY3VsYXRpb24oQ1NTUGFyc2VyVmFsdWUqKTsKKyAgICAKICAg
ICBmcmllbmQgY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9uSW5mbzsKICNpZiBFTkFCTEUoQ1NTX0ZJ
TFRFUlMpCiAgICAgZnJpZW5kIGNsYXNzIEZpbHRlck9wZXJhdGlvbkluZm87CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlLmNwcAppbmRleCAwYjg4ZjU1MzQyZjYyMzExNWMwMDFiNzkyYzk1NTQ4NTk4ZTY1ZWFl
Li4wMTZjYjBiYmFjMTMxZjFmMGUxYTBiNDIzNjcwOTdjNmMzZjU2NTc2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkNTU0FzcGVjdFJhdGlv
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCIKKyNpbmNsdWRl
ICJDU1NDYWxjdWxhdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2FudmFzVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NDcm9zc2ZhZGVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFs
dWUuaCIKQEAgLTE0OSw2ICsxNTAsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25z
dAogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTTGluZUJveENvbnRhaW5WYWx1
ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CiAgICAgY2FzZSBGbGV4Q2xhc3M6CiAgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NGbGV4VmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3Nz
VGV4dCgpOworICAgIGNhc2UgQ2FsY3VsYXRpb25DbGFzczoKKyAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PGNvbnN0IENTU0NhbGNWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CiAjaWYg
RU5BQkxFKENTU19GSUxURVJTKQogICAgIGNhc2UgV2ViS2l0Q1NTRmlsdGVyQ2xhc3M6CiAgICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NGaWx0ZXJWYWx1ZSo+KHRoaXMp
LT5jdXN0b21Dc3NUZXh0KCk7CkBAIC0yNDksNiArMjUyLDkgQEAgdm9pZCBDU1NWYWx1ZTo6ZGVz
dHJveSgpCiAgICAgY2FzZSBGbGV4Q2xhc3M6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxD
U1NGbGV4VmFsdWUqPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgQ2FsY3VsYXRp
b25DbGFzczoKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PENTU0NhbGNWYWx1ZSo+KHRoaXMp
OworICAgICAgICByZXR1cm47CiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgIGNhc2UgV2Vi
S2l0Q1NTRmlsdGVyQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXZWJLaXRDU1NG
aWx0ZXJWYWx1ZSo+KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCAyZDMzMjQyMzI2MGY1
NzdmOGI4OTAxODA4NTM3M2UyZGUyNDY5OWE2Li42MTIzMzIxMmI3OGMzOTVjNWVlNTczODU5NTNi
MzUxNjFkMGZlZWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNzYsNiArNzYsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc1dlYktpdENTU1RyYW5zZm9ybVZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gV2ViS2l0Q1NTVHJhbnNmb3JtQ2xhc3M7IH0KICAgICBib29sIGlzQ1NT
TGluZUJveENvbnRhaW5WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IExpbmVC
b3hDb250YWluQ2xhc3M7IH0KICAgICBib29sIGlzRmxleFZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gRmxleENsYXNzOyB9CisgICAgYm9vbCBpc0NhbGN1bGF0aW9uVmFsdWUo
KSBjb25zdCB7cmV0dXJuIG1fY2xhc3NUeXBlID09IENhbGN1bGF0aW9uQ2xhc3M7IH0KICNpZiBF
TkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgYm9vbCBpc1dlYktpdENTU0ZpbHRlclZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gV2ViS2l0Q1NTRmlsdGVyQ2xhc3M7IH0KICNpZiBF
TkFCTEUoQ1NTX1NIQURFUlMpCkBAIC0xMjYsNiArMTI3LDcgQEAgcHJvdGVjdGVkOgogICAgICAg
ICBVbmljb2RlUmFuZ2VDbGFzcywKICAgICAgICAgTGluZUJveENvbnRhaW5DbGFzcywKICAgICAg
ICAgRmxleENsYXNzLAorICAgICAgICBDYWxjdWxhdGlvbkNsYXNzLAogI2lmIEVOQUJMRShDU1Nf
RklMVEVSUykgJiYgRU5BQkxFKENTU19TSEFERVJTKQogICAgICAgICBXZWJLaXRDU1NTaGFkZXJD
bGFzcywKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcAppbmRleCBkZDczOGZi
M2MzZWFmNzU1NGIxZDBiMjVmNWNlOGI3ODU4MWQyMDU4Li4yYzI5NTc2NWEwZDQ4M2MwZWQzOGY1
MWEyMjIzMTNjNzY1NDE3NWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NT
UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcApAQCAt
MzE0LDYgKzMxNCwxMiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VTVkdWYWx1ZShpbnQgcHJvcElk
LCBib29sIGltcG9ydGFudCkKICAgICAgICAgICAgIHBhcnNlZFZhbHVlID0gQ1NTUHJpbWl0aXZl
VmFsdWU6OmNyZWF0ZSh2YWx1ZS0+ZlZhbHVlLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBl
cykgdmFsdWUtPnVuaXQpOwogICAgICAgICBlbHNlIGlmICh2YWx1ZS0+dW5pdCA+PSBDU1NQYXJz
ZXJWYWx1ZTo6UV9FTVMpCiAgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZh
bHVlOjpjcmVhdGVBbGxvd2luZ01hcmdpblF1aXJrKHZhbHVlLT5mVmFsdWUsIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfRU1TKTsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRpb24odmFsdWUpKSB7Cisg
ICAgICAgICAgICAvLyBGSVhNRSBjYWxjKCkgaHR0cDovL3dlYmtpdC5vcmcvYi8xNjY2MiA6IGFj
dHVhbGx5IGNyZWF0ZSBhIENTU1ByaW1pdGl2ZVZhbHVlIGhlcmUsIGllCisgICAgICAgICAgICAv
LyBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobV9wYXJzZWRDYWxjdWxh
dGlvbi5yZWxlYXNlKCkpOworICAgICAgICAgICAgbV9wYXJzZWRDYWxjdWxhdGlvbi5yZWxlYXNl
KCk7CisgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IDA7CisgICAgICAgIH0KICAgICAgICAgbV92
YWx1ZUxpc3QtPm5leHQoKTsKICAgICB9CiAgICAgaWYgKCFwYXJzZWRWYWx1ZSB8fCAobV92YWx1
ZUxpc3QtPmN1cnJlbnQoKSAmJiAhaW5TaG9ydGhhbmQoKSkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5ZTM4NTgxYWRhZDhiMTk2
NDhhZGNhZWQwZTdmNDM5NTM1MWY2MjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcApAQCAtMCwwICsxLDM2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkNhbGN1bGF0aW9uVmFsdWUuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9DYWxjdWxhdGlvblZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRhNTJkNWVkNDljZGI0ZTIxNTFhYWE1
NDI3ZjU4NDcyZmYxMTU4NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0NhbGN1bGF0aW9uVmFsdWUuaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDYWxjdWxhdGlv
blZhbHVlX2gKKyNkZWZpbmUgQ2FsY3VsYXRpb25WYWx1ZV9oCisKKyNpbmNsdWRlICJMZW5ndGgu
aCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIENhbGNPcGVyYXRvciB7CisgICAgQ2FsY0FkZCA9
ICcrJywKKyAgICBDYWxjU3VidHJhY3QgPSAnLScsCisgICAgQ2FsY011bHRpcGx5ID0gJyonLAor
ICAgIENhbGNEaXZpZGUgPSAnLycsCisgICAgQ2FsY01vZCA9ICclJworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2FsY3VsYXRpb25WYWx1ZV9oCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>