<?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>214769</bug_id>
          
          <creation_ts>2020-07-24 16:39:36 -0700</creation_ts>
          <short_desc>Spacing of Chinese characters is inconsistent in macOS 11/Safari 14 beta</short_desc>
          <delta_ts>2020-08-17 02:35:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>215051</dependson>
    
    <dependson>215057</dependson>
    
    <dependson>215059</dependson>
          <blocked>206208</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>cipang</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>stephen</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1674909</commentid>
    <comment_count>0</comment_count>
      <attachid>405202</attachid>
    <who name="">cipang</who>
    <bug_when>2020-07-24 16:39:36 -0700</bug_when>
    <thetext>Created attachment 405202
Comparison between Safari on Catalina and Big Sur

Please refer to the attached screenshot. This is the link to reproduce the problem: https://orientaldaily.on.cc/cnt/finance/20200723/00202_001.html

On macOS Catalina, the spacing between each character is consistent. But on Big Sur, some of the characters do not have spacing before/after (the green circles just highlight some examples).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674926</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-24 17:15:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/66081833&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676601</commentid>
    <comment_count>2</comment_count>
      <attachid>405631</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-07-30 15:52:31 -0700</bug_when>
    <thetext>Created attachment 405631
Selection rects are wrong</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676605</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-07-30 16:07:15 -0700</bug_when>
    <thetext>We&apos;re using the simple text codepath</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676609</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-07-30 16:12:10 -0700</bug_when>
    <thetext>The whole run is being rendered with PingFangTC-Regular 16.00</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676615</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-07-30 16:14:40 -0700</bug_when>
    <thetext>When we run font-&gt;widthForGlyph(glyph), it&apos;s returning 16.0 every time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676617</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-07-30 16:17:09 -0700</bug_when>
    <thetext>Because of letter-spacing, before we call WidthIterator::applyFontTransforms(), the GlyphBuffer only contains a bunch of (width = 21, height = 0)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676620</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-07-30 16:19:56 -0700</bug_when>
    <thetext>After calling Font::applyTransforms(), some of the advances are 16 and some are 21. Looks like this is caused by us applying letter-spacing before shaping, rather than after shaping.

If we wanted to do it correctly, we would have to apply letter-spacing after shaping. However, for that, we need to be able to determine which glyphs come from which characters, which CTFontTransformGlyphsWithLanguage() does not do. Other functions may do this, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676621</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-07-30 16:22:04 -0700</bug_when>
    <thetext>I&apos;ll try to determine what the difference is between Catalina and Big Sur.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676638</commentid>
    <comment_count>9</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-07-30 16:48:17 -0700</bug_when>
    <thetext>Verified that CTFontTransformGlyphsWithLanguage() yields different results on Catalina and Big Sur when run on the same characters using PingFangTC-Regular and using &quot;zh-hk&quot; as the locale</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678540</commentid>
    <comment_count>10</comment_count>
      <attachid>406159</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-07 02:23:12 -0700</bug_when>
    <thetext>Created attachment 406159
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678542</commentid>
    <comment_count>11</comment_count>
      <attachid>406160</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-07 02:30:55 -0700</bug_when>
    <thetext>Created attachment 406160
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678544</commentid>
    <comment_count>12</comment_count>
      <attachid>406161</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-07 03:12:16 -0700</bug_when>
    <thetext>Created attachment 406161
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678545</commentid>
    <comment_count>13</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-07 03:49:50 -0700</bug_when>
    <thetext>This last patch causes all the tests to pass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678691</commentid>
    <comment_count>14</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-07 12:37:29 -0700</bug_when>
    <thetext>This patch needs tests, of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678857</commentid>
    <comment_count>15</comment_count>
      <attachid>406240</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-07 18:30:41 -0700</bug_when>
    <thetext>Created attachment 406240
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678869</commentid>
    <comment_count>16</comment_count>
      <attachid>406246</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-07 22:38:32 -0700</bug_when>
    <thetext>Created attachment 406246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678878</commentid>
    <comment_count>17</comment_count>
      <attachid>406251</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-07 23:30:50 -0700</bug_when>
    <thetext>Created attachment 406251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678888</commentid>
    <comment_count>18</comment_count>
      <attachid>406253</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-08 01:43:51 -0700</bug_when>
    <thetext>Created attachment 406253
Needs tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678962</commentid>
    <comment_count>19</comment_count>
      <attachid>406266</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-09 02:27:23 -0700</bug_when>
    <thetext>Created attachment 406266
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678979</commentid>
    <comment_count>20</comment_count>
      <attachid>406266</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-09 09:46:20 -0700</bug_when>
    <thetext>Comment on attachment 406266
Patch

The win EWS failure does seem to be related to these changes. The mac-debug-wk1 one does not, so I am pushing the retry button.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678982</commentid>
    <comment_count>21</comment_count>
      <attachid>406266</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-09 10:10:01 -0700</bug_when>
    <thetext>Comment on attachment 406266
Patch

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

The win EWS failure does seem to be related to these changes. The mac-debug-wk1 one does not, so I am pushing the retry button.

Looks good, but need to figure out why the Windows failure is happening.

&gt; Source/WebCore/platform/graphics/FontCascade.cpp:1395
&gt; +    glyphBuffer.setInitialAdvance(FloatSize(initialAdvance, 0) + static_cast&lt;FloatSize&gt;(glyphBuffer.initialAdvance()));

Could we use a local variable to avoid the static_cast here?

&gt; Source/WebCore/platform/graphics/GlyphBuffer.h:262
&gt; +        GlyphBufferAdvance&amp; lastAdvance = m_advances[index];

auto&amp;

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:197
&gt; +        if (character == tabCharacter)
&gt; +            m_containsTabs = true;

Consider |= instead?

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:201
&gt; +        bool currentIsLastCharacter = currentCharacterIndex + advanceLength == static_cast&lt;size_t&gt;(m_run.length());
&gt; +        if (currentIsLastCharacter)

I think this would read better without the local variable.

Is the static_cast&lt;size_t&gt; really needed?

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:303
&gt; +    if (hasExtraSpacing()) { // Tab stops apparently don&apos;t count as &quot;extra spacing&quot;.

The &quot;apparently&quot; here spreads a little fear, uncertainty, and doubt. Could you write this in a more affirmative way? Or if you think this is wrong, say why?

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:306
&gt; +        { // Letter-spacing

Could we comment in a more traditional way? I don’t think adding a comment on the brace that starts a block is helpful enough to be worth the unconventional formatting. I also also don’t think we need to scope &quot;baseWidth&quot;, and so traditional blocks of code would be OK without adding braces. If it’s critical to break these sections out a traditional way would be to use named functions, and I think that *would* be practical here.

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:307
&gt; +            // This is an approximation to determine if the character is non-visible. Non-visible characters don&apos;t get letter-spacing.

Not totally sure about the code below.

I’m not sure what the word &quot;approximation&quot; means in this context. Checking a floating point sum for exactly zero is quite precise, so maybe we mean something more like &quot;heuristic&quot;. What would the &quot;real&quot; way to find out if something is non-visible be? Is it OK to work around it by checking for the sum of advances to be zero? Since are are summing the widths it seems that we think it’s likely that there will be a combination of positive and negative widths that exactly cancel each other out, and it’s important to treat that case as non-visible? Is that right? Do we have tests of cases like that?

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:321
&gt; +            bool currentIsLastCharacter = m_lastCharacterIndex &amp;&amp; currentCharacterIndex == static_cast&lt;GlyphBufferStringOffset&gt;(*m_lastCharacterIndex);

Is there a way to avoid the static_cast&lt;GlyphBufferStringOffset&gt; that makes this line so long?

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:339
&gt; +            bool runForcesLeftExpansion = (m_run.expansionBehavior() &amp; LeftExpansionMask) == ForceLeftExpansion;
&gt; +            bool runForcesRightExpansion = (m_run.expansionBehavior() &amp; RightExpansionMask) == ForceRightExpansion;
&gt; +            bool runForbidsLeftExpansion = (m_run.expansionBehavior() &amp; LeftExpansionMask) == ForbidLeftExpansion;
&gt; +            bool runForbidsRightExpansion = (m_run.expansionBehavior() &amp; RightExpansionMask) == ForbidRightExpansion;
&gt; +
&gt; +            bool forceLeftExpansion = false;
&gt; +            bool forceRightExpansion = false;
&gt; +            bool forbidLeftExpansion = false;
&gt; +            bool forbidRightExpansion = false;
&gt; +            if (runForcesLeftExpansion)
&gt; +                forceLeftExpansion = m_run.ltr() ? !currentCharacterIndex : currentIsLastCharacter;
&gt; +            if (runForcesRightExpansion)
&gt; +                forceRightExpansion = m_run.ltr() ? currentIsLastCharacter : !currentCharacterIndex;
&gt; +            if (runForbidsLeftExpansion)
&gt; +                forbidLeftExpansion = m_run.ltr() ? !currentCharacterIndex : currentIsLastCharacter;
&gt; +            if (runForbidsRightExpansion)
&gt; +                forbidRightExpansion = m_run.ltr() ? currentIsLastCharacter : !currentCharacterIndex;

I think these local variables makes the code harder to read. I suggest writing it more like this:

    bool isLeft = !currentCharacterIndex;
    bool isRight = m_lastCharacterIndex &amp;&amp; currentCharacterIndex == static_cast&lt;GlyphBufferStringOffset&gt;(*m_lastCharacterIndex);
    if (m_run.ltr())
        std::swap(isLeft, isRight);

    bool forceLeftExpansion = isLeft &amp;&amp; ((m_run.expansionBehavior() &amp; LeftExpansionMask) == ForceLeftExpansion);
    bool forceRightExpansion = isRight &amp;&amp; ((m_run.expansionBehavior() &amp; RightExpansionMask) == ForceRightExpansion);
    bool forbidLeftExpansion = isLeft &amp;&amp; ((m_run.expansionBehavior() &amp; LeftExpansionMask) == ForbidLeftExpansion);
    bool forbidRightExpansion = isRight &amp;&amp; ((m_run.expansionBehavior() &amp; RightExpansionMask) == ForbidRightExpansion);

Easier to see what’s going on, I think. Maybe we can go even further in improving this. Might be helpful to put m_run.expansionBehavior() into a local? Maybe use a structure to pass these four booleans rather than as four separate function arguments?

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:341
&gt; +            static bool expandAroundIdeographs = FontCascade::canExpandAroundIdeographsInComplexText();

I think here we want to write static const bool to make it clear that we can’t accidentally change during on one call and have it affect a subsequent call.

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:342
&gt; +            bool ideograph = (expandAroundIdeographs &amp;&amp; FontCascade::isCJKIdeographOrSymbol(character));

We’d want to call this &quot;isIdeograph&quot; because the boolean doesn’t contain an ideograph. Also I would omit the parentheses here.

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:405
&gt; +    Vector&lt;Optional&lt;GlyphIndexRange&gt;&gt; characterIndexToGlyphIndexRange(m_run.length());
&gt; +    Vector&lt;float&gt; advanceWidths(m_run.length(), 0);

Not sure why in the case of Optional we don’t explicitly pass WTF::nullopt but in the case of float we explicitly pass 0. I don’t think either is required, but perhaps I am mistaken.

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:433
&gt; +    for (GlyphBufferStringOffset currentCharacterIndex = characterStartIndex; currentCharacterIndex &lt; static_cast&lt;GlyphBufferStringOffset&gt;(characterDestinationIndex); ++currentCharacterIndex) {

auto?

That static_cast here and these long variable names make this super-simple loop hard to recognize as such. Compare with the loop above using &quot;I&quot;.

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:438
&gt; +        auto additionalWidth = calculateAdditionalWidth(glyphBuffer, currentCharacterIndex, glyphIndexRange-&gt;leadingGlyphIndex, glyphIndexRange-&gt;trailingGlyphIndex, position);

In this very narrow and clear context I think we can name this local just &quot;width&quot;, making the code easier to read. After all, each structure member *also* has the word additional. Additional additional.

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:463
&gt; +void WidthIterator::finalize(GlyphBuffer&amp; glyphBuffer)

I recommend naming the argument just &quot;buffer&quot; given the context is narrow and clear. Single words for the win.

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:495
&gt; +    // In general, we have to apply spacing after shaping, because shaping requires its input to be unperterbed (see https://bugs.webkit.org/show_bug.cgi?id=215052).

Spelling error here: &quot;unperturbed&quot;.

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:497
&gt; +    {

Why the braces here?

&gt; Source/WebCore/platform/graphics/WidthIterator.h:68
&gt; +    inline bool hasExtraSpacing() const;

Not sure this inline is needed or valuable.

&gt; Source/WebCore/platform/graphics/WidthIterator.h:74
&gt; +        float leftAdditionalWidth;
&gt; +        float rightAdditionalWidth;
&gt; +        float leftExpansionAdditionalWidth;
&gt; +        float rightExpansionAdditionalWidth;

Could consider leaving the words &quot;additional width&quot; off the names of these data members since the structure itself is named additional width.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678991</commentid>
    <comment_count>22</comment_count>
      <attachid>406266</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-09 16:55:10 -0700</bug_when>
    <thetext>Comment on attachment 406266
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:307
&gt;&gt; +            // This is an approximation to determine if the character is non-visible. Non-visible characters don&apos;t get letter-spacing.
&gt; 
&gt; Not totally sure about the code below.
&gt; 
&gt; I’m not sure what the word &quot;approximation&quot; means in this context. Checking a floating point sum for exactly zero is quite precise, so maybe we mean something more like &quot;heuristic&quot;. What would the &quot;real&quot; way to find out if something is non-visible be? Is it OK to work around it by checking for the sum of advances to be zero? Since are are summing the widths it seems that we think it’s likely that there will be a combination of positive and negative widths that exactly cancel each other out, and it’s important to treat that case as non-visible? Is that right? Do we have tests of cases like that?

Yeah, it doesn&apos;t make perfect sense to me either. This code is attempting to reproduce the deleted code from above, which does the same checking of a floating point value for exactly zero:

249             if (width) {
250                 width += m_font.letterSpacing();

I invented the &quot;summing&quot; behavior because a single character may produce multiple glyphs, so it&apos;s not super obvious what to turn this zero-check into.

The &quot;real&quot; way would probably be to get the path for the glyph and see if it contains any contours. Perhaps I should do this in a follow-up.

&gt;&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:405
&gt;&gt; +    Vector&lt;float&gt; advanceWidths(m_run.length(), 0);
&gt; 
&gt; Not sure why in the case of Optional we don’t explicitly pass WTF::nullopt but in the case of float we explicitly pass 0. I don’t think either is required, but perhaps I am mistaken.

I didn&apos;t know scalar types get zero-initialized in WTF::Vectors.

&gt;&gt; Source/WebCore/platform/graphics/WidthIterator.h:68
&gt;&gt; +    inline bool hasExtraSpacing() const;
&gt; 
&gt; Not sure this inline is needed or valuable.

It&apos;s just for code reuse. It&apos;s called in two places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678992</commentid>
    <comment_count>23</comment_count>
      <attachid>406275</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-09 17:00:13 -0700</bug_when>
    <thetext>Created attachment 406275
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678996</commentid>
    <comment_count>24</comment_count>
      <attachid>406266</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-09 17:59:09 -0700</bug_when>
    <thetext>Comment on attachment 406266
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:405
&gt;&gt;&gt; +    Vector&lt;Optional&lt;GlyphIndexRange&gt;&gt; characterIndexToGlyphIndexRange(m_run.length());
&gt;&gt;&gt; +    Vector&lt;float&gt; advanceWidths(m_run.length(), 0);
&gt;&gt; 
&gt;&gt; Not sure why in the case of Optional we don’t explicitly pass WTF::nullopt but in the case of float we explicitly pass 0. I don’t think either is required, but perhaps I am mistaken.
&gt; 
&gt; I didn&apos;t know scalar types get zero-initialized in WTF::Vectors.

Pretty sure they do, but let me check to be sure.

&gt;&gt;&gt; Source/WebCore/platform/graphics/WidthIterator.h:68
&gt;&gt;&gt; +    inline bool hasExtraSpacing() const;
&gt;&gt; 
&gt;&gt; Not sure this inline is needed or valuable.
&gt; 
&gt; It&apos;s just for code reuse. It&apos;s called in two places.

I meant the keyword &quot;inline&quot; seemed not needed or valuable here; no comment on the value of the function itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679015</commentid>
    <comment_count>25</comment_count>
      <attachid>406283</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 00:14:00 -0700</bug_when>
    <thetext>Created attachment 406283
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679016</commentid>
    <comment_count>26</comment_count>
      <attachid>406284</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 00:14:56 -0700</bug_when>
    <thetext>Created attachment 406284
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679017</commentid>
    <comment_count>27</comment_count>
      <attachid>406266</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 00:18:05 -0700</bug_when>
    <thetext>Comment on attachment 406266
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:405
&gt;&gt;&gt;&gt; +    Vector&lt;float&gt; advanceWidths(m_run.length(), 0);
&gt;&gt;&gt; 
&gt;&gt;&gt; Not sure why in the case of Optional we don’t explicitly pass WTF::nullopt but in the case of float we explicitly pass 0. I don’t think either is required, but perhaps I am mistaken.
&gt;&gt; 
&gt;&gt; I didn&apos;t know scalar types get zero-initialized in WTF::Vectors.
&gt; 
&gt; Pretty sure they do, but let me check to be sure.

// Unlike in std::vector, this constructor does not initialize POD types.
    explicit Vector(size_t size)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679039</commentid>
    <comment_count>28</comment_count>
      <attachid>406292</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 04:07:38 -0700</bug_when>
    <thetext>Created attachment 406292
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679308</commentid>
    <comment_count>29</comment_count>
      <attachid>406360</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 21:44:37 -0700</bug_when>
    <thetext>Created attachment 406360
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679310</commentid>
    <comment_count>30</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 22:17:09 -0700</bug_when>
    <thetext>Committed r265488: &lt;https://trac.webkit.org/changeset/265488&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679323</commentid>
    <comment_count>31</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 23:11:58 -0700</bug_when>
    <thetext>Committed r265490: &lt;https://trac.webkit.org/changeset/265490&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680753</commentid>
    <comment_count>32</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-17 02:35:06 -0700</bug_when>
    <thetext>*** Bug 206898 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>405202</attachid>
            <date>2020-07-24 16:39:36 -0700</date>
            <delta_ts>2020-07-24 16:39:36 -0700</delta_ts>
            <desc>Comparison between Safari on Catalina and Big Sur</desc>
            <filename>example.png</filename>
            <type>image/png</type>
            <size>293610</size>
            <attacher>cipang</attacher>
            
              <data encoding="base64">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
H4CRsSjWH8AuLqr1L5GluziPxSKj0yX2o1L51hAAfDMAX6VK5fB2pfLrHrTYBwC05I7N9SNihL4x
Zo28E5Bb+BPgnzI28/+lx39qMFKBK/in/hO0DB3tVVOC2wAAAIplWElmTU0AKgAAAAgABAEaAAUA
AAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAACQAAAAAQAA
AJAAAAABAAOShgAHAAAAEgAAAHigAgAEAAAAAQAABEagAwAEAAAAAQAABCgAAAAAQVNDSUkAAABT
Y3JlZW5zaG90pis82gAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAdhpVFh0WE1MOmNvbS5hZG9iZS54
bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBD
b3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5
LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9
IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8i
PgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTA5NDwvZXhpZjpQaXhlbFhEaW1lbnNp
b24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1l
bnQ+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMDY0PC9leGlmOlBpeGVsWURpbWVu
c2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+
Ch3MlFQAAAAcaURPVAAAAAIAAAAAAAACFAAAACgAAAIUAAACFAACI1Sm2gfPAABAAElEQVR4Aeyd
BaAT17b+5+BQtJQCBYoXKlCXW3/u7n6f633u8n/u97nrfe7ufqncGi20UGhLixVKW6xIcfuv356z
cvYZJskkmeQkOd9qOUlG9/xmZsu311574OTJk5cSmQiIgAiIgAiIgAiIgAiIgAiIgAiIgAiMIgID
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
iIAIiEARAhJGilDSNiIgAiIgAiIgAiIgAiIgAiIgAiIgAn1JQMJIX95WXZQIiIAIiIAIiIAIiIAI
iIAIiIAIiEARAhJGilDSNiIgAiIgAiIgAiIgAiIgAiIgAiIgAn1JQMJIX95WXZQIiIAIiIAIiIAI
iIAIiIAIiIAIiEARAhJGilDSNiIgAiIgAiIgAiIgAiIgAiIgAiIgAn1JQMJIX95WXZQIiIAIiIAI
iIAIiIAIiIAIiIAIiEARAhJGilDSNiIgAiIgAiIgAiIgAiIgAiIgAiIgAn1JQMJIX95WXZQIiIAI
iIAIiIAIiIAIiIAIiIAIiEARAhJGilDSNiIgAiIgAiIgAiIgAiIgAiIgAiIgAn1JQMJIX95WXZQI
iIAIiIAIiIAIiIAIiIAIiIAIiEARAhJGilDSNiIgAiIgAiIgAiIgAiIgAiIgAiIgAn1JQMJIX95W
XZQIiIAIiIAIiIAIiIAIiIAIiIAIiEARAhJGilDSNiIgAiIgAiIgAiIgAiIgAiIgAiIgAn1JQMJI
X95WXZQIiIAIiIAIiIAIiIAIiIAIiIAIiEARAhJGilDSNiIgAiIgAiIgAiIgAiIgAiIgAiIgAn1J
oLAwsnHjxr4EoIsSAREQAREQAREQAREQAREQAREQARHoHwK33nprQxcjYaQhXNpYBERABERABERA
BERABERABERABESgmwlIGOnmu6O0iYAIiIAIiIAIiIAIiIAIiIAIiIAItJWAhJG24tXBRUAEREAE
REAEREAEREAEREAEREAEupmAhJFuvjtKmwiIgAiIgAiIgAiIgAiIgAiIgAiIQFsJSBhpK14dXARE
QAREQAREQAREQAREQAREQAREoJsJSBjp5rujtImACIiACIiACIiACIiACIiACIiACLSVgISRtuLV
wUVABERABERABERABERABERABERABLqZgISRbr47SpsIiIAIiIAIiIAIiIAIiIAIiIAIiEBbCUgY
aSteHVwEREAEREAEREAEREAEREAEREAERKCbCUgY6ea7o7SJgAiIgAiIgAiIgAiIgAiIgAiIgAi0
lYCEkbbi1cFFQAREQAREQAREQAREQAREQAREQAS6mYCEkW6+O0qbCIiACIiACIiACIiACIiACIiA
CIhAWwlIGGkrXh1cBERABERABERABERABERABERABESgmwlIGOnmu6O0iYAIiIAIiIAIiIAIiIAI
iIAIiIAItJWAhJG24tXBRUAEREAEREAEREAEREAEREAEREAEupmAhJFuvjtKmwiIgAiIgAiIgAiI
gAiIgAiIgAiIQFsJSBhpK14dXAREQAREQAREQAREQAREQAREQAREoJsJSBjp5rujtImACIiACIiA
CIiACIiACIiACIiACLSVgISRtuLVwUVABERABERABERABERABERABERABLqZgISRbr47SpsIiIAI
iIAIiIAIiIAIiIAIiIAIiEBbCUgYaSteHVwEREAEREAEREAEREAEREAEREAERKCbCUgY6ea7o7SJ
gAiIgAiIgAiIgAiIgAiIgAiIgAi0lUBfCyMXL15MfumXfinZvn17cuHCheTXf/3Xk4GBgbYCjQ/+
1FNPJfv27Utmz56dPPTQQ/Gqmt9PnjwZ0n3u3LnkgQceSD7swz6s5vadWkm6duzYkdx0002VUx45
ciTZv39/+H3ddddVlpf55dKlS+Fwnbx3Zaa/F47FPXzyySeTXbt2JWQKDz74YM1k//mf/3nywgsv
JNdcc03yaZ/2acmiRYtqbq+VQwTOnDmT/NEf/VFgPXHixOT//b//N7RS3/qGwB/8wR8kb731VnLj
jTeGPHzq1Kl9c20jfSG7d+9O/uu//isk4yM+4iOSZcuWjWiSyD+vuuqqZMyYMSOajmZPTvr//d//
Pex+//33J8uXL2/2UKXsd/bs2WTbtm3Jyy+/nHz4h394cuWVVyYf/OAHk3feeSehnhHXQUo5YQMH
IQ08e08//XTysR/7sclHf/RH192butxP/uRPhnLytttuS26++ea6+3RiA8qiX/iFX0jgTZo+5VM+
pROnrXqORx55JHnzzTeTq6++Otz3N954I7D+wi/8wmT8+PGX7ffTP/3TybRp00Kd5T3vec9l68tc
QHvi93//90NePtLvR951NVtP5hl45plnQjtp7dq1Cc+nLJ8AjP/pn/4pOXXqVAKrG264IX/DOktf
eumlhH/U/z7u4z6u7eUG7TbyrIULFyZ33nlnMnfu3NwU/uM//mMyefLkZPXq1cm1116bu81oWNjX
wgg38Nu//dsTBArsF3/xF5M77rgjfO/En+/93u9NHn300ZBxe6WjyHlff/315PM///PDpl/8xV+c
fNVXfVWR3dqyzYkTJ5LHH388WbduXagIUIDGHL/ne74neeyxx8K52a5sQ4z5ru/6ruT8+fPJj/zI
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
tisHKgcqByoHKgcqByoHKgcqByoHKgcqByoHKgeOHwcqMHL8nnm948qByoHKgcqByoHKgcqByoHK
gcqByoHKgcqByoFzOVCBkToUKgcqByoHKgcqByoHKgcqByoHKgcqByoHKgcqB44tByowcmwffb3x
yoHKgcqByoHKgcqByoHKgcqByoHKgcqByoHKgQqM1DFQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQ
OVA5cGw5UIGRY/vo641XDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQOVGCkjoHKgcqByoHKgcqB
yoHKgcqByoHKgcqByoHKgcqBY8uBCowc20dfb7xyoHKgcqByoHKgcqByoHKgcqByoHKgcqByoHKg
AiN1DFQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA4cWw5UYOTYPvp645UDlQOVA5UDlQOVA5UD
lQOVA5UDlQOVA5UDlQMVGKljoHKgcqByoHKgcqByoHKgcqByoHKgcqByoHKgcuDYcqACI8f20dcb
rxyoHKgcqByoHKgcqByoHKgcqByoHKgcqByoHKjASB0DlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UD
lQOVA8eWAxUYObaPvt545UDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQAVG6hioHKgcqByoHKgc
qByoHKgcqByoHKgcqByoHKgcOLYcqMDIIT/6f/7nf25++Zd/ubn4xS/eXP3qV2+udKUrHXKPui//
L//yL81b3/rWducXfdEXNZ/2aZ/WfeAOtv7v//5v84pXvKK59rWv3XzSJ33SDq44/RLvfe97m//7
v/9rLn3pS48++aMf/WjzT//0T82nf/qnjz5nmwc++9nPbv7+7/++fda3ve1tt3mp3rbNj4te9KK9
++fs+O///u/mr//6r5vP/MzPbD7rsz5rThOTzvmbv/mb5o/+6I/ac77hG76h+dRP/dRJ52/r4Fe/
+tXN0572tOYLv/ALm+td73rNl37pl27rUltp11z5vd/7vfZZkp93vOMdt3KdKY0+8YlPbD7jMz6j
ueENb9hc8IIX7Dz1P/7jPxpj4m//9m9bnn/u535u53F149HiwD/+4z82T3jCE5qv//qvb65whSsc
dP79739/88pXvrL9fYMb3OBQ186DThVf6vpeMKT+PBQO/Od//mfzjne8o/m7v/u7hnFijR6iv/zL
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
x5EyMDJXv99GjRF9EQHI4O0iz1PqjzXG8+Po7ANru85fc9tawMiu1s01731f2nrFiXSqLmet/nFk
K/7NbluLRKdYk8gQzhPX8AcE4UAdU/i/ry/SajjhrUF0pr5XUfedf5S3HxlgRO49AxgxEucqNn0P
CzIW73kWLjkX6Q1jxnWGDN++ftiuxoSUEIOd8lXpYxxQiJMRDDCKt7ZQMCikEZa6hFdC0zyzJYoP
ZZxA0Q6DttI8DphHFuglz2LeletZmQPGctTCsdCuUWgvt9/1nSJqXkuLWvrmLYAZ5RVZM7Yxnhhe
DFsAMAOn0qnLgRiXa+sfJceMWYAOXeS40L6v74yQbRWWPy7PuO8+yWlyHwEW5kSES8EFUAC/yxS2
vuueStuP2rp5KvE+7oVjjp1K/2e/+TSWL3axi80a09HuYX6yRzlz3c9xoSMDjByXB1Lvs3KgcqBy
oHKgcqByoHKgcqByoHKgcqByoHKgcmB3HKjAyO54Xa9UOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQ
OVA5sGccqMDInj2Q2p3KgcqByoHKgcqByoHKgcqByoHKgcqByoHKgcqB3XGgAiO743W9UuVA5UDl
QOVA5UDlQOVA5UDlQOVA5UDlQOVA5cCecaACI3v2QGp3KgcqByoHKgcqByoHKgcqByoHKgcqByoH
KgcqB3bHgQqM7I7X9UqVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDe8aBCozs2QOp3akcqByo
HKgcqByoHKgcqByoHKgcqByoHKgcqBzYHQcqMLI7XtcrVQ5UDlQOVA5UDlQOVA5UDlQOVA5UDlQO
VA5UDuwZByowsmcPpHancqByoHKgcqByoHKgcqByoHKgcqByoHKgcqByYHccqMDI7nhdr1Q5UDlQ
OVA5UDlQOVA5UDlQOVA5UDlQOVA5UDmwZxyowMiePZDancqByoHKgcqByoHKgcqByoHKgcqByoHK
gcqByoHdcaACI7vjdb1S5UDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlwJ5xoAIje/ZAancqByoH
KgcqByoHKgcqByoHKgcqByoHKgcqByoHdseBCozsjtf1SpUDlQOVA5UDlQOVA5UDlQOVA5UDlQOV
A5UDlQN7xoEKjOzZA6ndqRyoHKgcqByoHKgcqByoHKgcqByoHKgcqByoHNgdB05ZYOSDH/xg85zn
PKfl5HWuc53mS77kS3bH1XqlyoHKgdEc+MAHPtC8+tWvbt7+9rc3BNL1rne9wXOf+tSnNn/2Z3/W
fM7nfE5z85vfvLnMZS4zeHzdWTmwlAP/+I//2DzhCU9ovv7rv765whWucNDc+9///uaVr3xl+/sG
N7hB82mf9mkH+3b15Z//+Z+bv/u7v2s+5VM+pfmCL/iCXV121nX+93//t3nFK17RXPva124+6ZM+
aVYbR+2kf/mXf2le9KIXtd2++tWv3nze533eVm/BeHjEIx7RXOISl2j1nm/6pm/a6vWGGv+///u/
5ld+5Vear/7qr24ud7nLDR16KPs++tGPtte9wAUuMOn6//mf/9n80R/9UfPXf/3XzVWvetXmale7
2qTzD/tgY/Kf/umfGnLtMOQGvlv3P/uzP/skVpgnF7nIRZov+qIvaj7jMz7jpH2H8cP41adP//RP
b/vks9J0Dhhvv/7rv96Q/1/5lV/ZXOlKV2obsXa++c1vbr/f9a53bT7u4z5ueuPH/Azy/olPfGLL
hStf+crNGWecccCR97znPc2lLnWpZqp8O2jgmH45ZYGRl73sZc1DH/rQ9rF+7/d+b3OYysExHVv1
tisHRnHgbW97W3OXu9yloSwBOZ7ylKf0CnKKys1udrPmH/7hH5pP+IRPaJ71rGfthQI16kbrQRs5
8N73vrf5i7/4i43HdR0AsACWrU3//u//3tznPvc56NfDH/7w5vrXv357mde85jXN/e53v/b7Ix/5
yNYAXPv6m9q7//3v3/zhH/5hq1T+xE/8RHONa1zjpFMYcX/7t3970rYxP77wC7+wnWNjjh17zO/9
3u81D37wg5tP/dRPbddnQJL+rUEXv/jFm9NOO21WU29605saCuYUAnB87ud+7sZT3vWudzW3ve1t
2+PucIc7NN/2bd+28ZwlB5CJZ599dtsEvYf+c1jE8Pm+7/u+9vL3ute9mtvd7nYndeXDH/5w88Y3
vvGkbVN/jH0OZbv//d//3Y5B4OYP//APN5e85CXLQ3p/M/RudatbNT4ve9nLNk960pN616zeRhbs
sA6SS/nv3/7t3076jbeAj/izZgYY4t6D9P/JT35y/NzaJz7/8R//cfPa1762ed3rXteu4Q960INa
sDkuCng2D6973es2P/IjPxKbt/4J4CJDgV0cNPhBRr373e9ubnOb27TX//7v//7mxje+8db7clQv
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
OGAcqMDIAXtgtbuVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDy3GgAiPL8bK2VDlQOVA5UDlQ
OVA5UDlQOVA5UDlQOVA5UDlQOXDAOFCBkQP2wGp3KwcqByoHKgcqByoHKgcqByoHKgcqByoHKgcq
B5bjQAVGluNlbalyoHKgcqByoHKgcqByoHKgcqByoHKgcqByoHLggHGgAiMH7IHV7lYOVA5UDlQO
VA5UDlQOVA5UDlQOVA5UDlQOVA4sx4EKjCzHy9pS5UDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDl
wAHjQAVGDtgDq92tHKgcqByoHKgcqByoHKgcqByoHKgcqByoHKgcWI4DFRhZjpe1pcqByoHKgcqB
yoHKgcqByoHKgcqByoHKgcqByoEDxoEKjBywB1a7WzlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQ
ObAcByowshwva0uVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDB4wDFRg5YA+sdrdyoHKgcqBy
oHKgcqByoHKgcqByoHKgcqByoHJgOQ6c0MDIJz7xiebtb397c4UrXOEoxz784Q83//Zv/9b+/vqv
//qj2zf15V3velfzwhe+sLn4xS/enHLKKc3FLnaxwUudccYZzed//uc3l7rUpZrv+I7vGDx2qZ3/
+I//2PzTP/1Tc65znav53u/93pXN4uuf//mfN//yL//SnP/8529++qd/euU5Sxzw3//9380f/dEf
Nf/3f//XnHbaac3Xfu3XLtHsoW3Dc3zTm97UPvcrX/nKzed93ucdaF7sar5/8pOfbPyZC3PojW98
Y/Of//mfzZd92Zc1l73sZec0Uc85JBz4zGc+0/z93/99c8UrXrE597nPPfquzQ3z+wu+4AtGn7Op
A60bL3jBC9rmTz311Obrvu7rNnWp3natJda7853vfL3HzNnxH//xH8173vOe5kpXutKc0yefQ3bQ
cdB3fud3Nhe84AUnt7GJE+55z3s25z3vedtne6Mb3aj9vonrbKrNv/3bv23OPvvs5l//9V+bW9zi
Fs3XfM3XbOpSo9p9xzve0Tzzmc9sfuAHfqC55CUv2XvOe9/73nY8mO/Xvva1e4+rO/o58Na3vrX5
yEc+0nzxF39xc5nLXKb/wA3vectb3tL8z//8T2sL6Ms+05vf/ObG2rSv+os18+/+7u9aFt7ylrcc
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
iz9yoZd4w1NX23Xb/nKgCxhRoBYZf/4CDFkVyg28B2gispFXDlDaFT3WHnQC/ePJFL1ovoqU6CMe
WXLaXI35an7GX8zZVfNVdJgoxE2TSJeIipx6LVGrinNuk/DvIEeM5BQmfDOP1PgQwTpXNy353wWM
lMfU38McMI/N+W0R/ZLeP5UY2sBqQIjUnlVAKt2BDic1RRTpFOcTcA1Aftppp03t5jHHdxnqkS4r
0likMAOTnF0FNOSGATiiokQ/iGa0Vq1bMmAVMAJsjJooEZ2V+1R+D6exN0Cx0+aSTAAygwNDlPGQ
jdTF777rqs/CKReAuXHp7Zu1tkgfx47dfmCAEd3mHaP0rWO4Mk4irEhYV6XPvr4zQrlWCeRd8gtY
RFAigp0xcBCJgAuPrZz+uXn9c+8dcNeVH7uqPbz3DBgDFr4hIb6qrTH7D8J8ZyiZO+vIpDG8qMcc
bg4YZ/HadHN3SWD8sHGW4j0FFD5s/NnW/QKL5cMby4zBTRMwOuosiDZdx9jSlnGERIcwbKYYp2Pu
FSAX3ncOhlVvSBrTZj2mcmApDgA3I3rJfIpIBON2qfUJsNVVb2PqPZivQzaOffGWU9dbFfGlX/Rg
c3Jd3Y/Tg+xYtSa5nusits8Y+UWHVntsCR5O5flBPv5AASMHmdG175UDlQOVA5UDlQOVA5UDlQOV
A5UDlQOVA5UDlQP7x4EKjOzfM6k9qhyoHKgcqByoHKgcqByoHKgcqByoHKgcqByoHNgSByowsiVG
18tUDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQO7B8HKjCyf8+k9qhyoHKgcqByoHKgcqByoHKg
cqByoHKgcqByoHJgSxyowMiWGF0vUzlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQObB/HKjAyP49
k9qjyoHKgcqByoHKgcqByoHKgcqByoHKgcqByoHKgS1xoAIjW2J0vUzlQOVA5UDlQOVA5UDlQOVA
5UDlQOVA5UDlQOXA/nGgAiP790xqjyoHKgcqByoHKgcqByoHKgcqByoHKgcqByoHKge2xIEKjGyJ
0fUylQOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA/vHgQqM7N8zqT2qHKgcqByoHKgcqByoHKgc
qByoHKgcqByoHKgc2BIHKjCyJUbXy1QOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA7sHwcqMLJ/
z6T2qHKgcqByoHKgcqByoHKgcqByoHKgcqByoHKgcmBLHKjAyJYYXS9TOVA5UDlQOVA5UDlQOVA5
UDlQOVA5UDlQOVA5sH8cqMDI/j2T2qPKgcqByoHKgcqByoHKgcqByoHKgcqByoHKgcqBLXGgAiNb
YnS9TOVA5UDlQOVA5UDlQOVA5UDlQOVA5UDlQOVA5cD+ceCEBkY+8YlPNG9/+9ubK1zhCkc5/+EP
f7j5t3/7t/b313/91x/dfti//N3f/V3zX//1X80lLnGJ5qu/+qtbduDdWWed1Xze531e8yM/8iNH
WfTpT3+6eeYzn9n893//d2MAXeYyl2n3veY1r2k++MEPNhe72MWaK17xikeP39YX/Xrf+97XnOc8
52kucpGLHHPZ9773vc0rX/nKdtt3f/d3N+c///mP2b+PP4zfd7zjHe3fF3/xFzff+Z3fufVumit/
9Vd/1V73W77lW46OjeiI8fGv//qvzZd92Zc13/Vd3xWbt/r5Z3/2Z81//Md/NBe4wAWaG9/4xlu9
9tiLmSuPf/zjm3/5l39p/vd//7f51V/91eZc5zrX2NMXP+5d73pX88IXvrC5+MUv3pxyyintnB26
yBlnnNF8/ud/fnOpS12q+Y7v+I6hQ7e672Mf+1jz5je/ub0meW4MVDqeA+Ty//zP/zRf8AVf0M7V
44+YtsXYQeb9N33TN007+ZAf/ZnPfKb5y7/8y+Ztb3tbc+5zn7u55S1vuROOmDt/8id/0nzqU59q
5/TlL3/5th+veMUrmje+8Y3t99vc5jbt+r+TDp4AF33uc5/byqd///d/b+5zn/u0MnSbt/WRj3yk
+fjHP95ekl42ds151rOe1Z73NV/zNXsl77fJu4N4LXrGa1/72oYuTq5c8IIXHH0b5NITnvCE5ku/
9EtbneCkk04afe5hPvCpT31qQ5/6ki/5koa83Aey1tM13/nOd7Y22oUudKHBbr3lLW9pdVK233Wv
e91Dv6afcMCIRYAhd+aZZzZ/8zd/0xohj3rUo44+6Hvc4x7Ny1/+8naQhME3OGIOyc6b3OQm7eRm
/D7ykY9s7/q3fuu3mic/+ckt0ICfQRbb613veu3PO9/5zs2P/uiPtt+/93u/t/nP//zP5prXvGar
BMTx634S2AQ+4CY+fWcMB3AQQoBAAO488YlPbPsd137Oc57TPOhBD2p/EmRf+ZVfGbu2/ul+jFN/
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
OFA4UDhQOFA4UDiwYzlQgJEd+2rLgxUOFA4UDhQOFA4UDhQOFA4UDhQOFA4UDhQOFA70caAAI30c
KucLBwoHCgcKBwoHCgcKBwoHCgcKBwoHCgcKBwoHdiwHCjCyY19tebDCgcKBwoHCgcKBwoHCgcKB
woHCgcKBwoHCgcKBPg4UYKSPQ+V84UDhQOFA4UDhQOFA4UDhQOFA4UDhQOFA4UDhwI7lQAFGduyr
LQ9WOFA4UDhQOFA4UDhQOFA4UDhQOFA4UDhQOFA40MeBAoz0caicLxwoHCgcKBwoHCgcKBwoHCgc
KBwoHCgcKBwoHNixHCjAyI59teXBCgcKBwoHCgcKBwoHCgcKBwoHCgcKBwoHCgcKB/o4UICRPg6V
84UDhQOFA4UDhQOFA4UDhQOFA4UDhQOFA4UDhQM7lgMFGNmxr7Y8WOFA4UDhQOFA4UDhQOFA4UDh
QOFA4UDhQOFA4UAfBwow0sehcr5woHCgcKBwoHCgcKBwoHCgcKBwoHCgcKBwoHBgx3KgACM79tWW
ByscKBwoHCgcKBwoHCgcKBwoHCgcKBwoHCgcKBzo40ABRvo4VM4XDhQOFA4UDhQOFA4UDhQOFA4U
DhQOFA4UDhQO7FgOFGBkx77a8mCFA4UDhQOFA4UDhQOFA4UDhQOFA4UDhQOFA4UDfRwowEgfh3bp
+W984xvVYx/72OoP//APq8tc5jLVVa961V3KiXGP/cMf/rA63elON+6intL/93//V33+85+vznSm
M1VnPvOZe0qX04UDq+PAF77wheoDH/hAfYM///M/r05zmtO03uyYY46pznGOc1TnO9/5qlOd6lR1
mZ///OfVRz7ykeo//uM/qhvd6EbVfvvt13rtZh08/vjjqxe+8IX17f7iL/6iusAFLrBZtx58n//+
7/+uXv/611df+tKXqv3337+61a1uNfjaOQt+8pOfrD796U9Xv/d7v1dd97rXrU52spPNWX2pa405
YE37yle+Uo/jP/qjP1rjllbVL3/5y+rYY4+tDjjggOoUpzjF2rX1P//zP6sPfvCDdbtue9vb1uNp
SCP/53/+p3rjG99YF73QhS60aXOV+f60pz1t9Qd/8Af7NNOc8MUvfrE65znPWV384hff5/w6HHjl
K19Zffe7363XqVve8pbr0KTShhk58Na3vrX61Kc+VZ385Cev/vqv/3rGmktVu5kD2woYIVRbWIbQ
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
jjlIP9dvVrm+swbzDlmmvQDIJlg95U2SWY0rgFXX3IMnwE0g7aJtUKfcv1xTONDkgP5I/jCm1514
xAGCxgDFY57JWgbct106o0WheTmwY4GRedlUaiscKBwoHCgcKBwoHCgcKBwoHCgcKBwoHCgcKBzY
iRwowMhOfKvlmQoHCgcKBwoHCgcKBwoHCgcKBwoHCgcKBwoHCgcGcaAAI4PYVAoVDhQOFA4UDhQO
FA4UDhQOFA4UDhQOFA4UDhQO7EQOFGBkJ77V8kyFA4UDhQOFA4UDhQOFA4UDhQOFA4UDhQOFA4UD
gzhQgJFBbCqFCgcKBwoHCgcKBwoHCgcKBwoHCgcKBwoHCgcKB3YiBwowshPfanmmwoHCgcKBwoHC
gcKBwoHCgcKBwoHCgcKBwoHCgUEcKMDIIDaVQoUDhQOFA4UDhQOFA4UDhQOFA4UDhQOFA4UDhQM7
kQMFGNmJb7U8U+FA4UDhQOFA4UDhQOFA4UDhQOFA4UDhQOFA4cAgDhRgZBCbSqHCgcKBwoHCgcKB
woHCgcKBwoHCgcKBwoHCgcKBnciBAozsxLdanqlwoHCgcKBwoHCgcKBwoHCgcKBwoHCgcKBwoHBg
EAcKMDKITaVQ4UDhQOFA4UDhQOFA4UDhQOFA4UDhQOFA4UDhwE7kQAFGduJbLc9UOFA4UDhQOFA4
UDhQOFA4UDhQOFA4UDhQOFA4MIgDBRgZxKZSqHCgcKBwoHCgcKBwoHCgcKBwoHCgcKBwoHCgcGAn
cqAAIzvxrZZnKhwoHCgcKBwoHCgcKBwoHCgcKBwoHCgcKBwoHBjEgQKMDGJTKVQ4UDhQOFA4UDhQ
OFA4UDhQOFA4UDhQOFA4UDiwEzlQgJGd+FZX8Ew/+clPqk9/+tN1zec73/mq05zmNCu4y7Aqf/nL
X1bHHntsdcABB1SnOMUphl1USs3Kgf/+7/+uXvziF1e/+tWvqqtd7WrVH//xH89af6ls6zjwyle+
svrud79bj/Fb3vKWW9eQ3975P//zP6vPfe5z1c9+9rPq5je/eW973ve+91U/+MEP6j5pripUOLCZ
HPj3f//36rOf/Wz1rW99q7rvfe9bneQkJ+m8/Q9/+MPqb//2b6uznvWs1YUudKHqRje6UWfZcqJw
oHCgcKBwoHCgcGC1HNiWwAglnUCxKjrjGc9Y/f7v//6qqt929RLw7n//+1df/OIX67ZTNp7+9KdX
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
8b3jb+cfcoIy59POv5c1iOuJrj+6/uI66frzshk4xwu46fq79x+Ol73/ern3X17LeT07/3l+H7r+
GSddQzhm0s71p3X6O/uOEeyzbG+M8MQIHVt8UbwAkpSinReHnuILndIXcwda/ANPIQ5xc5GNPvtn
B5WSfWZdbEr7t5+7APFPffsv/82/Xn8df+5v8hkmHUsZHzv+dv4hJ3LOzbq5krLz7+sfO4a/LF1/
dP1HPnT92fVn159df35T1p/Oe8qd8W9n/+Gzzz7L6fXB+msbIy5cVl5zY8QDB+uj4Oj448Ww8CGe
dfT5XRi280WBNQbSxwbxm4lh/J3+8bU/JL622//9plb5b/5xXfjX6+/y2G7Hn46/nX9e3xjr/HtZ
33T98fD6r+uvrj9dbyO7/u79h/nQ+6/efzGHulfgvQdy3n+As2C3PLT/QI6tnhiZ+x3Zfm1jxI5W
0o0RDogAFG+kqatn0ONAHfzAaEfiqz+YVQxJcUIlHnWx+tvO+O2//Df/ev11/Ln/AskcHzv+dv5x
/uz82/XHXEORG11/3f9SSHIhV14/tnN87fqz68+uP7v+7Prz7a0/GaP5cxxmXIZ/imP1zb58lV+l
cdL0QDgAigustFPHzobGrOPvwSN9UUdx8KdkfLHorad99pnH0v7Lf/PvMnj0+uv40/H3MqkezSOd
fzr/dv3R9VeuLx0ruv7s+ttcyPzo/Ufv//KeM+u9/7z9/SfjcnLOEyOuc7E9VLafGPniiy/uNjl4
rJzPlLMrSvFJDg4i9QwWDhTgfOoDncUBhTZ68cQEnwmEDX37L/+ZZ82/y5NUvf46/uR10fG384/z
KfNr5983f02v64/LEzNdf3X92fV37z+cL3r/1fvPr9v997M+MeKFwsTJr9JYuAlj0wI7xZ2Y3MiA
WBYeadcPiY0/cfqCJ64XJ1LdXeXLf8Z57v4zGd5F/74uZPu/DE5v8/yX/8t13fzr9dfxp+MP82HH
37e3/uj80/nHdXDH346/HX87/7yN+Zc+HHe8135X48+t+s+NkdzXcE9hyteeGJkOtqecQbItVt1s
q0dqm1LM1NvWnlKbUhttCieeknZt6LHvtMVlPPwp04bOmInPOhiKvpfWcVvcWQxtxGr/Pf/kgTlB
PmQdGwWduXLWFncWQxtxjKmu/Zf/zAVyhILOXDlrizuLoY04xlTX/Gv+ZS6QIxR05spZW9xZDG3E
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
bF8Te8d39jfbOzGuwcz+Zvua2Du+s7/Z3olxDWb2N9vXxN7xnf3N9k6MazCzv9m+JvaO7+xvtndi
XIOZ/c32Y2JPX9tIyuoeXoz9rNr6ZhxxRzr60mbsjHNn//jjj19tjAjWcUqdM9ise1BTP9tHOPXK
6Xfrtv0qb93fjG+/ymm/ddt+lbfub8a3X+W037ptv8pb9zfj269y2m/dtl/lrfub8e1XOe23btuv
8tb9zfj2q5z2W7ftV3nr/mZ8+1VO+63b9qu8dX8zvv0qp/3WbftV3rq/Gd9+ldN+67b9Km/d34xv
v8ppv3XbfpW37m/Gt1/ltN+6bb/KW/c349uvctpv3bZf5a37m/HtVzntt27br/LW/c349quc9lu3
7Vd56/5mfPtVTvut2/arvHV/M779Kqf91m37Vd6qv6P46pWP7R8/CnsXq6J9hdF2t++RT4wIfg3w
ZUezk7TjQ3tuotg2JvKo6H9kv0a/E3sH89Rj2Im9g3lq/zt+7f/NHN/h7bkw5b/8zzH2uXJrJ07z
r/nX/FsvpHaun2sxvf56/fX66/V37TjyVP+OP1/f8Wfn3O5gbplb9j/lUZ/gKI6Z0y/bxgA7/bCp
m7hX3zGiQWAGwvbQQeif0gNEl/VVO/1mPX2z/tg4M27bZaAMlIEyUAbKQBkoA2WgDJSBMlAGysA9
A3nPnXUQs33vdV7b9QNHea79B+Pl0RkbnfYP/SiNCowC0VnXKdvoKInL+sW693/lt9LtRSuqDJSB
MlAGykAZKANloAyUgTJQBspAGXgfGVjd6690q2NPXNYfg8XPwh7Hq5/rzQ2Ps+BnNgMrxSrVPyQf
i38oXu1loAyUgTJQBspAGSgDZaAMlIEyUAbKwPvHwHPc/xODcrfJMR7w8BXbjxK9fndPjKRBJ6XA
7OAMr99Kpt9RfeV3a10ey637avwyUAbKQBkoA2WgDJSBMlAGykAZKAPvioF3ff/7UP8P2Y94m362
kRQfBlGfcV59lEalTulIfeWsT8pdXPq0XgbKQBkoA2WgDJSBMlAGykAZKANloAyUgccwsNp/SF3W
V3GxU157YiSdsr4KoO4Id6TXr7IMlIEyUAbKQBkoA2WgDJSBMlAGykAZKAO7DBztMxzpV3HFKsG8
9sRIGjLAkf6xmMS/z3U/NnR2jM+FWfXxXLF34rT/NxnY4e25MG/2fv+5uJVNXfu///ktOZlyh6Pp
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
paEOq6eCD+OriIDGCDoD4QdsjZgwBHEwSgJJS4sWLUIqKN5BoEMGGh1DfSiHPDZAxBtMdBzHVodd
XPCRBoc6rB6vjzRrD8dwFoYPZ/nZPvnz+gvcpPC7wO8Dvw3+/nj/wbXA+2/gQcznT2Diyecv5x+c
f3H+aXNom0d7fZtH4F5hjvNvvv/geuD7F98/7d5R3+//kF9AKAbTH3l5ee4flDtwjUKWAZkGltPg
3oYwnns4hnP3MwhGcHDVVVe5SlARKkRmWGpt06aNE24gDtI5e6lCGToSIAESIAESIAESIAESIAES
IAESIAESqE8CENRB0IGPf/gHTRH4sJNqtlIRB2UPaJDgH2QaKIN/SRdddFE5hB4XXHCB0xSBJAVb
2UDVBDZFICiB9IWOBEiABEiABEiABEiABEiABEiABEiABBoDASy3wZIa0xBZs2aNk3lAKAKDrIiH
sAQCkqQJEyaUFxUVyXnnnSedO3d2kpPc3FxnU4RaIY3hdLOPJEACJEACJEACJEACJEACJEACJEAC
4QhAmwQCEiiBQPaBXXfhw2Yp4pGepJoi5UcccYTb2QXaIdiil44ESIAESIAESIAESIAESIAESIAE
SIAEEoUAFD9atmzpzIXk5OQ47RGEYUIk6YknnigfNmyYbNq0KWT4NFEGznGQAAmQAAmQAAmQAAmQ
AAmQAAmQAAmQgBGATZF27dq5bZ+x8QyW1STNnj27HMZI6EiABEiABEiABEiABEiABEiABEiABEgg
0QnAMCs0RSALgXAk6dNPPy23LdoSffAcHwmQAAmQAAmQAAmQAAmQAAmQAAmQAAnAtgh24YVwJOmT
Tz7hvru8JkiABEiABEiABEiABEiABEiABEiABPY4Am3btqVgZI876xwwCZAACZAACZAACZAACZAA
CZAACZCAI4BlNdQY4cVAAiRAAiRAAiRAAiRAAiRAAiRAAiSwxxKgYGSPPfUcOAmQAAmQAAmQAAmQ
AAmQAAmQAAmQAAUjvAZIgARIgARIgARIgARIgARIgARIgAT2WAIUjOyxp54DJwESIAESIAESIAES
IAESIAESIAESoGCE1wAJkAAJkAAJkAAJkAAJkAAJkAAJkMAeS4CCkT321HPgJEACJEACJEACJEAC
JEACJEACJEACFIzwGiABEiABEiABEiABEiABEiABEiABEthjCVAwsseeeg6cBEiABEiABEiABEiA
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
kqOOOsrtGoMICB6wvS60ReCOO+44Ofjgg91xVQUjKDRp0iS38w0ELNiWNzMzUyCMgMHT5bqNLlxV
BCPI/9RTT7my2MIXdWJfdhxDIAItFOw0k52dLeeeey6yy5IlS+TZZ591x3369JExY8Y446xYcvPm
m2+6ckikYMQh4h8SIAESIAESIAESIAESqDMCFIzUGWo2VBcEsH0qdiuhiz+BeLOFvY0XX3zRCQys
t82aNXPCBWh5mOvRo4ez02Hb21ZHMPLOO+/IN99846rE9YF2YMMEDpobWNJTVcEIDLhiecymTZtC
9UIwgnHBwX7JhAkTpFOnTi6MP1OnTnXb/1lEkyZNQrvwdOjQwe2OQ8GI0aFPAolNIN731MSmVbXR
RWMbLa1qrTC3n0BtsK2NOv393lPDZNv4z/yeeA5rc8wUjDT+3wRHQAKNlgBubp999pkTWmAZiddB
EAJhBbRFIEAwt2DBAidQibSVLrQyoJ1x5JFHysiRI10xtAMNlBkzZjhtFERCcDFat/TFshcITaC1
AsOocAhDmNKtWze58MILXVy4P9AKQf+xCw6O4SB46du3r9OAgbDD75Afwp1169a5pNatW8uwYcOc
sOa1114TlPntb3/rL8YwCZAACZAACZAACZAACZBALRGgYKSWwLJaEiCBqhHA0hYTFsA4KgQGteGg
jVJWVubqj6d2EfoPbREIbGIxxpqfn+/6gW2H6UiABEiABEiABEiABEiABOqPAAUj9ceeLdcygdpU
tarlrjeY6smwwZwKdoQESCCBCfBeW/OTWx2G1SlT854mVg11ybAu20qss7RrNGS4i0WiHSXyua2r
sVEwkmi/Co6HBEiABEiABEiABEiABEiABEiABEggZgIUjMSMihlJgARIgARIgARIgARIgARIgARI
gAQSjQAFI4l2RjkeEiABEiABEiABEiABEiABEiABEiCBmAlQMBIzKmYkARIgARIgARIgARIgARIg
ARIgARJINAIUjCTaGeV4SIAESIAESIAESIAESIAESIAESIAEYiZAwUjMqJiRBEiABEiABEiABEiA
BEiABEiABEgg0QhQMJJoZ5TjIQESIAESIAESIAESIAESIAESIAESiJkABSMxo2JGEiABEiABEiAB
EiABEiABEiABEiCBRCNAwUiinVGOhwRIgARIgARIgARIgARIgARIgARIIGYCFIzEjIoZSYAESIAE
SIAESIAESIAESIAESIAEEo0ABSOJdkY5HhIgARIgARIgARIgARIgARIgARIggZgJUDASMypmJAES
IAESIAESIAESIAESIAESIAESSDQCFIwk2hnleEiABEiABEiABEiABEiABEiABEiABGImQMFIzKiY
kQRIgARIgARIgARIgARIgARIgARIINEIUDCSaGeU4yEBEiABEiABEiABEiABEiABEiABEoiZAAUj
MaNiRhIgARIgARIgARIgARIgARIgARIggUQjQMFIop1RjocESIAESIAESIAESIAESIAESIAESCBm
AhSMxIyKGUmABEiABEiABEiABEiABEiABEiABBKNAAUjiXZGOR4SIAESIAESIAESIAESIAESIAES
IIGYCVAwEjMqZiQBEiABEiABEiABEiABEiABEiABEkg0AhSMJNoZ5XhIgARIgARIgARIgARIgARI
gARIgARiJkDBSMyomJEESIAESIAESIAESIAESIAESIAESCDRCFAwkmhnlOMhARIgARIgARIgARIg
ARIgARIgARKImQAFIzGjYkYSIAESIAESIAESIAESIAESIAESIIFEI0DBSKKdUY6HBEiABEiABEiA
BEiABEiABEiABEggZgIUjMSMihlJgARIgARIgARIgARIgARIgARIgAQSjUBS7969yxNtUBwPCZAA
CZAACZAACZAACZAACZAACZAACcRCIKlPnz4UjMRCinlIgARIgARIgARIgARIgARIgARIgAQSjkBS
3759KRhJuNPKAZEACZAACZAACZAACZAACZAACZAACcRCIGmfffahYCQWUsxDAiRAAiRAAiRAAiRA
AiRAAiRAAiSQcASS+vXrR8FIwp1WDogESIAESIAESIAESIAESIAESIAESCAWAhSMxEKJeUiABEiA
BEiABEiABEiABEiABEiABBKSAAUjCXlaOSgSIAESIAESIAESIAESIAESIAESIIFYCFAwEgsl5iEB
EiABEiABEiABEiABEiABEiABEkhIAhSMJORp5aBIgARIgARIgARIgARIgARIgARIgARiIUDBSCyU
mIcESIAESIAESIAESIAESIAESIAESCAhCVAwkpCnlYMiARIgARIgARIgARIgARIgARIgARKIhQAF
I7FQYh4SIAESIAESIAESIAESIAESIAESIIGEJEDBSEKeVg6KBEiABEiABEiABEiABEiABEiABEgg
FgIUjMRCiXlIgARIgARIgARIgARIgARIgARIgAQSkgAFIwl5WjkoEiABEiABEiABEiABEiABEiAB
EiCBWAhQMBILJeYhARIgARIgARIgARIgARIgARIgARJISAIUjCTkaeWgSIAESIAESIAESIAESIAE
SIAESIAEYiFAwUgslJiHBEiABEiABEiABEiABEiABEiABEggIQlQMJKQp5WDIgESIAESIAESIAES
IAESIAESIAESiIUABSOxUGIeEiABEiABEiABEiABEiABEiABEiCBhCRAwUhCnlYOigRIgARIgARI
gARIgARIgARIgARIIBYCFIzEQol5SIAESIAESIAESIAESIAESIAESIAEEpIABSMJeVo5KBIgARIg
ARIgARIgARIgARIgARIggVgIUDASCyXmIQESIAESIAESIAESIAESIAESIAESSEgCFIwk5GnloEiA
BEiABEiABEiABEiABEiABEiABGIhQMFILJSYhwRIgARIgARIgARIgARIgARIgARIICEJUDCSkKeV
gyIBEiABEiABEiABEiABEiABEiABEoiFAAUjsVBiHhIgARIgARIgARIgARIgARIgARIggYQkQMFI
Qp5WDooESIAESIAESIAESIAESIAESIAESCAWAhSMxEKJeUiABEiABEiABEiABEiABEiABEiABBKS
AAUjCXlaOSgSIAESIAESIAESIAESIAESIAESIIFYCFAwEgsl5iEBEiABEiABEiABEiABEiABEiAB
EkhIAhSMJORp5aBIgARIgARIgARIgARIgARIgARIgARiIUDBSCyUmIcESIAESIAESIAESIAESIAE
SIAESCAhCSQVFBSUJ+TIOCgSIAESIAESIAESIAESIAESIAESIAESiEBg0KBBLoWCkQiAGE0CJEAC
JEACJEACJEACJEACJEACJJC4BCgYSdxzy5GRAAmQAAmQAAmQAAmQAAmQAAmQAAlUQoCCkUoAMZkE
SIAESIAESIAESIAESIAESIAESCBxCVAwkrjnliMjARIgARIgARIgARIgARIgARIgARKohAAFI5UA
YjIJkAAJkAAJkAAJkAAJkAAJkAAJkEDiEqBgJHHPLUdGAiRAAiRAAiRAAiRAAiRAAiRAAiRQCQEK
RioBxGQSIAESIAESIAESIAESIAESIAESIIHEJUDBSOKeW46MBEiABEiABEiABEiABEiABEiABEig
EgIUjFQCiMkkQAIkQAIkQAIkQAIkQAIkQAIkQAKJS4CCkcQ9txwZCZAACZAACZAACZAACZAACZAA
CZBAJQQoGKkEEJNJgARIgARIgARIgARIgARIgARIgAQSlwAFI4l7bjkyEiABEiABEog7geLSItle
tEn/bZYdxVulqDhfisuKpLSsRMqlLO7txavCJGkiyU1SJKVJumSkZEpmWitpnt5WWqS3k7TkjHg1
w3pIgARIgARIgAQaIQEKRhrhSWOXSYAESIAESKAuCZSU7ZTcgvWyPm+5bN6xWrYWrpc8FYwUFG+X
opIdgvTSchWMlJdrt/CvobkkSUpKkuSkZBWOpEm6CkaapraQ5mlt/5+9+4C346juBz6WLMuy5SL3
boELBoPtP+BGCab3DklICHF6QkIqENJJA5IACemEhJIEQje9FwM27g3cqyzLRW5ykXv773fFeR6t
9vZ737tPmqOP3r13d3Z39uzMmXN+p2zabsnOaYcle6Zdtlmetl+ya1pUASeFCgcKBwoHCgcKBwoH
Ni0OFGBk03re5W4LBwoHCgcKBwoH+uaA6JCb7lyVVt1yQbr29kvTjXdcVUeLiA7ZWEgUydItlqWd
tt4n7bbtfmmv7Q6qv5coko3lCZf7KBwoHCgcKBwoHOjNgQKM9OZRaVE4UDhQOFA4UDiwSXHgoYce
TLfcvTqtuPkHacWac9L1t19RRYesrWJBpjEaZDyPpoopSVsu2jrtsnR52nfZIWn5DoemZUt2Tws2
WzCeC5SzFA4UDhQOFA4UDhQOTC0HCjAytY+mdKxwoHCgcKBwoHBg9jlw3wN3p2tuuyRddMNJaeWa
c6uUmTV9ASJSVdTxmFYC6gB8epG72Hrx9mnv7R+THrXz0WnP7R5V1SBZ0uuwsr9woHCgcKBwoHCg
cGAec6AAI/P44ZWuFw4UDhQOFA4UDoyTA2qGrLj5nHTudcen626/vK4d0jy/CAqFS5ct2a0qXLpT
2mrRtmmLzZdU9Ts2r+p4TDcw8sCD96V7K+Dnrntvq1KCbkxr7rou3XHvrenBhx5o3mZVpHVRHT1y
8G5PS4/c8fH1fW7QqGwoHCgcKBwoHCgcKBzYKDhQgJGN4jGWmygcKBwoHCgcKBwYjQMAgktvPDX9
8NpvpxuruiLN6IpFCxenHbfaK+2x7QFVDY69q6Klu9a1ObZctLR+q8uCqrDptBMARN0UaUF33Lum
LiKrbsq1VYSMT6BJTqJgdliyR3rsbsekA3c5qr7ffH/5XjhQOFA4UDhQOFA4sHFwoAAjG8dzLHdR
OFA4UDhQOFA4MDQHRIpcfMMp6Zxrvla9deba9VJnFCfdoaq1sXyHw9Je2z867bz1vlXEyLZVwslm
Q19vWg6UXuPeb1y7Mq269YJ0RRUto9hsXlzWfXpbzSG7PzMdtOuTS+TItDy80o/CgcKBwoHCgcKB
MXKgACNjZGY5VeFA4UDhQOFA4cB844CaIpfedEY646ov1lETeYHVLTffer1aG1JoNla6677b0tW3
XpwuvvHkuraKqJIg4MgOW+2RHr/X89OBOx9Zao4EY8pn4UDhQOFA4UDhwEbCgQKMbCQPstxG4UDh
QOFA4UDhwKAckC5zVRUpcerKz1QRExetlz6z9Rbbp/13emI6eNenpZ2X7l29nWXzQU8/79pLtbnp
jqvT+au/my6p0opuv+fmmXuQVrP7NvunI/Z5af3WmvK2mhnWlC+FA4UDhQOFA4UD854DBRiZ94+w
3EDhQOFA4UDhQOHAcBxQfPSMVV9MF6w+cb1Cq0CRg3Y5Oj1ut2ekZVvtPtzJ5/FRt9x1fTqvKkB7
wfUnrAeOKMh6wM5HpMP3fklVb2XPeXyHpeuFA4UDhQOFA4UDhQM5BwowknOjfC8cKBwoHCgcKBzY
RDigCOn5q7+XTrvq85Xxf9PMXUufOXDno9Lj93zeJgmKBCOAI2quAEfytJqli5dVvHl+etzuz6iL
zkb78lk4UDhQOFA4UDhQODB/OVCAkfn77ErPCwcKBwoHCgcKB4bmwOrqdbwnrzwuXXHT2TPFVhVa
fcQOh6Yj9n5p2nWbRw597o3lwBuqoqynrfpc9bae02cKsqo3ss+yg9NR+76iekPPgRvLrZb7KBwo
HCgcKBwoHNikOVCAkU368ZebLxwoHCgcKBzYFDlw/4P31q/lPfWqz6Q77719hgVew3tElSZywM6H
bxI1RWZuvMMXNUcuv+msdEpVg+X6tStmWi2pXlH8+L1ekP7fns9NixYsntlevhQOFA4UDhQOFA4U
DsxPDhRgZH4+t9LrwoHCgcKBwoHCgaE5cNOdV9fG/sXXnzwTLbJo4eK6psjhe7+oeh3vxvv2mUGZ
5m01Z1391fr/vdUbfJCokUfu+Ph09PJXVq8v3mfQU5b2hQOFA4UDhQOFA4UDU8aBjQoYefDBB9N7
3vOedNlll6UHHngg/eu//mtSRX626OSTT07XXHNN2nHHHdPTnva0vi977733po985CPpvvvuSx7I
E5/4xL6PHabhnXfemS6//PL02Mc+dubwW265JV1//fX17wMPnExo8EMPPVSffzafycwNbiJfPMOT
TjoprVixoh5LP/ZjP9b1zv/v//4vnXPOOWmPPfZIL3/5y9Pee+/dtX3Z+TAH7rnnnvTf//3fNa8X
L16c/vRP//ThneXb1HPggx/8YLruuuvSwQcfnJ7+9KenpUuXTn2fx9nBi284JX1/xSeS4qtBu27z
iHTUPq+oDP7/F5uG+iR/vvCFL9THvuhFL0rLly8f6jy9DiLvdtppp7RgwYJeTUfev3LNuemkKz+V
rrntkplzbbflzunIfV6eDt6tu5ydOaDxRf+//OUv11uf8pSnpP3226/RYnZ/3n333eniiy9OF110
UXr+859fz4nvf//76eabb077779/Ouigg8beoTVr1qSvfe1r6ZRTTknPe97z0nOe85ye16Arvf3t
b6/Xq8c//vHp0EMP7XnMbDSwJvz93/99otPp00tf+tLZuGzHa3zxi9Xrt2+8Me22227puc99brr6
6qtrXr/2ta9NixYt2uC4v/zLv0zbb799esITnpCe9KQnbbC/nw308Pe///21TJ3r8dxPf/tt49me
euqptX3xqEc9Kh199NH9HrrRtKPDf+5zn0t33XVXOuSQQ9JjHvOYoe7tggsuSP7Tm8iZSctv9g4Z
s9dee6XDDz887brrrq39/uxnP5uWLFlSy7l99ilgdyuTNoGNGxUw4nm98Y1vTAAK9A//8A8TBxnq
C/3ozx/+4R+m7373u2mbbbaZUXby/Z2+r1y5Mv3UT/1Uvft1r3td+uVf/uVOTYfefscdd6QTTjgh
HX/88bUCYuHO+fMHf/AH6Xvf+159fu3GTcCY3//930/3339/+ou/+Iu08847b3AJChJhOSwtXLgw
HXnkkcMevlEcd8kll6Sf//mfr165+VCtNALcOgFRFJiXvexltdK7+eabp09/+tNphx122Cj4MBs3
gcfm6xVXXFFf7n/+53/SIx7xiIle2hyhnPVDW221VXrqU5860/Sb3/xmPf9mNnT5Qikmx0Yhc11/
x0UU9jZlfpjzf+Mb30hvfetb60MBIh/72MfSdtvNfoQE/qxevXqYWxj4mEc+8pFpiy22qI9TdPWM
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
fbPAyN2w47yrMtIS8rUkuM+70nlnA4sIVGQB2Ipqnnf1484mCBPabaHZm/+/t0eAu7E82qX28N4z
IEz1e07YL7W1Zj+vOWPwHKBKqGnCDYV7Hk3ADHPnnD4e3afe3uPDAeMnr0M3J48EvB8fLhzTU4r3
FrD3mKv2VloOCLmXD28sMwYvTfSXRAKJIj3H2NKWcYREhzBsthina+4VIJcUUWCL9MpOnQO3wgHg
plQQxLmVSATj9qj1CbBFhzyXlmwXuhlnFHK9pYgv/aLfmpPn6nScHmTH0prkeq6L2DRr5BfdWD2Q
I3joutK9zkkTxOekc5GZ/jpdnwMdGLk+z/sVOwc6BzoHOgc6BzoHOgc6BzoHOgc6BzoHOgc6B26E
Ax0YuZEH0bvROdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA5cH0OdGDk+jzvV+wc6BzoHOgc6Bzo
HOgc6BzoHOgc6BzoHOgc6By4EQ50YORGHkTvRudA50DnQOdA50DnQOdA50DnQOdA50DnQOdA58D1
OdCBkevzvF+xc6BzoHOgc6BzoHOgc6BzoHOgc6BzoHOgc6Bz4EY40IGRG3kQvRudA50DnQOdA50D
nQOdA50DnQOdA50DnQOdA50D1+dAB0auz/N+xc6BzoHOgc6BzoHOgc6BzoHOgc6BzoHOgc6BzoEb
4UAHRm7kQfRudA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DlyfAx0YuT7P+xU7BzoHOgc6BzoH
Ogc6BzoHOgc6BzoHOgc6BzoHboQDHRi5kQfRu9E50DnQOdA50DnQOdA50DnQOdA50DnQOdA50Dlw
fQ50YOT6PO9X7BzoHOgc6BzoHOgc6BzoHOgc6BzoHOgc6BzoHLgRDnRg5EYeRO9G50DnQOdA50Dn
QOdA50DnQOdA50DnQOdA50DnwPU50IGR6/O8X7FzoHOgc6BzoHOgc6BzoHOgc6BzoHOgc6BzoHPg
RjjQgZEbeRC9G50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQPX50AHRq7P837FzoHOgc6BzoHO
gc6BzoHOgc6BzoHOgc6BzoHOgRvhwGMDjPz9v//3T9/4jd94epu3eZvT9/ye33Ng3z//5//89KpX
ver0zb7ZNzv9tJ/20x6y9P/+3/97+nN/7s+d/vt//+8nN/jc5z532Pd3/+7fPf3H//gfT9/tu323
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
tgqMcPik9s7a82vxVZGZauIdTYChvDlozBG15nrkCjl8aWDkyGez5r7qMQGwjwJGRCvtlcW1X75z
VBlbY+ssXYkDV9oYGT1F5DQgVzvkD12w03oOPDHACGGYYnCKmJ7jPV7Pvv1H8kxRRMcG//5W158p
+oYH0GKX1ziuP/sNR1JYkQV0bNEfdpZ/FF+GGGHU6bocoIjEuyot6wgl57p30K92KQ4IZRbVRRbx
uPdF9FKcvm67ZDyQeCsYyTAaA1629j4FnYEE59RPcF194iio64z1M55hYFENK2bY2bcHJAcSnhMR
YY3z10bU8MSqO/S4EMM13vvHpc932U8g7dd93dcN0XiiH+mkjJM1kQUioo1fx+8hupznpY0aSban
rVs6B0hKfm2VYe5BKsFe3XaMB+SCdTJgztY+qeuQiDxOvCWAZ6wPS9s4IaVzIdfYo+eR2+6VPjAH
pC31ZWy//mVd8Gz29G+s3a3b2CJ0Ys9wr75jbCZ64xLPcus99eOP48ATA4wcx5LeUudA50DnQOdA
50DnQOdA50DnQOdA50DnQOdA58B94UAHRu7Lk+732TnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQ
OfAIBzow8ghL+obOgc6BzoHOgc6BzoHOgc6BzoHOgc6BzoHOgc6B+8KBDozclyfd77NzoHOgc6Bz
oHOgc6BzoHOgc6BzoHOgc6BzoHPgEQ50YOQRlvQNnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOd
A/eFAx0YuS9Put9n50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnwCMc6MDIIyzpGzoHOgc6BzoH
Ogc6BzoHOgc6BzoHOgc6BzoHOgfuCwc6MHJfnnS/z86BzoHOgc6BzoHOgc6BzoHOgc6BzoHOgc6B
zoFHONCBkUdY0jd0DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQO3BcOdGDkvjzpfp+dA50DnQOd
A50DnQOdA50DnQOdA50DnQOdA50Dj3CgAyOPsKRv6BzoHOgc6BzoHOgc6BzoHOgc6BzoHOgc6Bzo
HLgvHOjAyH150v0+Owc6BzoHOgc6BzoHOgc6BzoHOgc6BzoHOgc6Bx7hQAdGHmFJ39A50DnQOdA5
0DnQOdA50DnQOdA50DnQOdA50DlwXzjQgZH78qT7fXYOdA50DnQOdA50DnQOdA50DnQOdA50DnQO
dA48woEOjDzCkr6hc6BzoHOgc6Bz4P+3dx/gslPV28Bjr9gLKipWUNHPB0VRLNh7RUVRETsWLCg2
bFiwoGLFimAXbGDFgiIWsGFFRRHFjoJgxe53f/G/jvvmZmYymcw5M/eu9TznzEzqzptk77XeVXYi
kAgkAolAIpAIJAKJQCKwqSCQxMhAd/r3v/99dcELXnCgo/33MP/4xz+qH/3oR9VFL3rR6uIXv/ig
x86DJQLTIHDSSSdVX/7yl+td7nCHO1SbbbZZ6+4f/vCHq8tc5jLVVa961ep85ztfvc3f//736hvf
+Eb1ta99rbrb3e5Wbb755q37rtbCX/ziF9Xb3va2+nR3vetdq6233nq1Tt35PH/+85+rj370o9VP
fvKTaosttqjuc5/7dN53yA2PP/746oQTTqjOetazVre//e2rc57znEMePo+1wAgY037605/W7/EV
r3jFBW5pVf3rX/+qjjrqqGqHHXaozn3ucy9cW7/73e9WX/nKV+p23f/+96/fpy6N/Mtf/lIdccQR
9aZXv/rVV62v0t9f4AIXqC52sYtt0Ex9wo9//OPqspe9bPX//t//22D9Iix4//vfX5122mn1OHXv
e997EZqUbRgQgU996lPV97///epc5zpX9dCHPnTAI+ehNgUE/vOf/9T9w7///e/qEpe4xKZwySvX
+Kc//anW6Sygp4/S5Vd22AS/LCwx8te//rV6xSteUd361reuopHuz5lnnlkZmNvk7Gc/e3Xta1+7
XvWzn/2sOuWUU9o222DZ5S53uZlejne84x3V61//+uqxj31stdNOO21w/C4L/vnPf9bKhs4+/ign
yJHrXOc6NRZdjpPbJALzQOCd73xndcABB9SH9t0705Tf/e531Z3vfOd68c1udrPquc99bv398MMP
r/bbb7/6OyXmAQ94QHPXVf396U9/unrmM59Zn/M5z3lOdfOb33xVz9/lZPq/u9/97tUf/vCH2tD7
0Ic+VJ3nPOfpsuug27zhDW+o3vrWt9bH9J1xVgoD6dvf/na5qNN3ysj222/fadu2jfTtp59+etuq
kcvgd/nLX74m+BBP08g1rnGNmcaIac61KNs+8YlPrI499tjaiH/pS19abbfddus17W9/+1s9Zq23
sMOPK1/5ypWxekg5+uijq6c97WnV+c9//vrdpuxp3xCCHNhyyy1nOhT8PvCBD9TH+MxnPlOd4xzn
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
QmCC
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>405631</attachid>
            <date>2020-07-30 15:52:31 -0700</date>
            <delta_ts>2020-07-30 15:52:31 -0700</delta_ts>
            <desc>Selection rects are wrong</desc>
            <filename>Screen Shot 2020-07-30 at 3.52.04 PM.png</filename>
            <type>image/png</type>
            <size>44936</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">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
UawPgB0d5eNfJkl3dJjORUKUJebD1NQbRLPgOgH4Ip6amtw9NfWlDin2HgBdedOaXmbYowCY1gFY
8uheqSH4u03r/T/1+PcZyCpwAn+f/wlaTxdmIHlg1QAAAIplWElmTU0AKgAAAAgABAEaAAUAAAAB
AAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAACQAAAAAQAAAJAA
AAABAAOShgAHAAAAEgAAAHigAgAEAAAAAQAAAi6gAwAEAAAAAQAAANoAAAAAQVNDSUkAAABTY3Jl
ZW5zaG90V5sZ6gAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAdZpVFh0WE1MOmNvbS5hZG9iZS54bXAA
AAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3Jl
IDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAy
LzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIK
ICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgog
ICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NTU4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4K
ICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4K
ICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjIxODwvZXhpZjpQaXhlbFlEaW1lbnNpb24+
CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgrYsIpG
AAAAHGlET1QAAAACAAAAAAAAAG0AAAAoAAAAbQAAAG0AAFbzXo3PcgAAQABJREFUeAHsnQncDdUb
x0+FVpWKFoVQWiikUFS00C4qaRVCtKcou9CismQpZalIKC2KhAqppH2RvyVEWVqV9u1/vuf1XOed
d+bembu8772c5/O5986dOXPmzDNnzvk969nut99++085chxwHHAccBxwHHAccBzIAQ5s54BLDjwl
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
qMK2m/PjgYqw9WRzOdIxME57HYBpMwEEFQ6tVmBcT+Z+0DohrCV6DozNK5Z8ZC6xlx57o5o96QPf
rFttzj9Qa43jOZRHuQ94JI70gE4/foWpLwi44E8ijrA40CabOwUTEU65ZcuWDdOcpMsAYIg2Yr2i
ePTNN9+Y0Oodd9xRVahQIVZ0O61i8tc9xYpkZuONZXn+DZmp3dXqOOA44DjgOOA4sHVxIAi4bF13
mfhuHHBJzCNXwnHAccBxwHHAcaDIOeCAS94jcMClyLuia4DjgOOA44DjgONAYg444JLHIwdcEvcV
V8JxwHHAccBxwHGgyDnggEveI3DApci7omuA44DjgOOA44DjQGIOOOCSxyMHXBL3FVfCccBxwHHA
ccBxoMg54IBL3iMoMuBS5D3ANcBxwHHAccBxwHHAcSDnOOCAS849MtdgxwHHAccBxwHHgW2XAw64
bLvP3t2544DjgOOA44DjQM5xwAGXnHtkrsGOA44DjgOOA44D2y4HHHDZdp+9u3PHAccBxwHHAceB
nOOAAy4598hcgx0HHAccBxwHHAe2XQ444LLtPnt3544DjgOOA44DjgM5xwEHXHLukbkGOw44DjgO
OA44Dmy7HHDAZdt99u7OHQccBxwHHAccB3KOAzkHXH7//Xd1zz33qL322kvVrFlTnXDCCYXK9E2b
Nqn//e9/5pqHHnqoKlmyZKFe377YP//8o15//XXDg5122sk+lDXba9euVf/++68qW7Zs6Db9999/
6scff1SlSpUKfU4mCz777LPq22+/Nc/64osvzuSlAuveuHGj2mOPPQKPJ3Pgr7/+UsuXL1d77723
Kl26dDJVRDrniy++UO+884455+yzz1a77bZbpPMzVfitt95STz31lKpcubI68cQT1dFHH52pS2Wk
Xt6VuXPnmme5zz77qMsvvzwj14lS6RNPPGHG6NNPP10VL17c91TGcvrEihUrDM8PPPBA33JuZ25x
4IcfflBjxoxRZ511lqpSpUqs8evXr1fz5883/0877bSU5s4iBy4bNmxQ33//fezmvBvbbbedOuSQ
Q9T2229vDk2ZMkU98MADZrtdu3aF+pLC+E6dOpkXjQYAXIYMGVJkAzCD1R133GGu36NHD9MR/vjj
D8ObVL8YACtUqJBSNQCWli1bqpUrV6ozzjhD3X777QXqA6QwKS9evFgtWrRIffbZZ+b3t99+U+PG
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
zjsXF154YTH//PMXBx98cLHmmmvOcs5dd91VXH311bNsa/LjSU96Utl3mhzb9Jhzzjmn2H333cv7
+tCHPlQCOPVrQx71qEcVyy677EBF/epXvyoAwH4EAFl66aV7nnLDDTcUr371q8vjtt566+Ktb31r
z3PqDsjApU4zeXvWwBRrgNFj/MjHPvax4lnPelbH2qYDxfOf//xir7326nhcGxsvu+yy4thjj22j
qNnKUO+HP/zhs22f2zb8+Mc/Ln75y182uq3NN9+8OPPMM4vPf/7zjY6vHmSgB2rbFEzL+9///pl7
0OYMzMAESdtjHXABxnjmp59+eskqvvOd75wZ8OrqGkAg9mNy6GWppZaKTcUf/vCHYptttpn53fTL
Bz/4wWLjjTduenij49773vcWP/nJT8pjv/CFL5SOSKMTGxyE5fIMBhHAAsDoR97ylrcUr3vd63qe
MtcDl6uuuqqA2nmG0PY0CS/38ssvL6699tryAaM+F1100dLzhTpR9w94wANarzLPWUP/xS9+Udx0
002lB8Bb0jGf+cxnNvJImlTq3//+d0H/7rMfEX6YpoFlUs+Jzv7+978X119/falDXi2mYxD5z3/+
U/zsZz/reOrvf//74sgjjyz3rbLKKrUG+eSTTy69UAduu+22xcorrzxbeQ984APLdjvbjj43nHba
acV+++3X51nNDj/11FOLxRZbrNnBc/BRhxxySMmKNbkFrMKvf/3rqQEuV155ZckisE+EXdp///1n
af+dgMsdd9xR3gdvn40D3FL788QnPrE45phjalWCqdhqq61Kuxi29+677y5Zh89+9rPFwgsvXJ47
KHDhJGy22Wa11+93hwH8Na95TXmP+uMnPvGJ4rnPfW6/xdQeP2ngwpHyTJ/+9KeXoemo6FwLXDQ2
hi/iYC9+8YuLXXbZJe574p9XXHFF8fGPf7zwWSeAFg+hzYboevvss08tEgYYdNxXvepVQ4Omb37z
m8WBBx5Yd3u12z/84Q8Xz3ve82r3j3PHpJ6Te8Q6MHQ6LqHPQUMzclle9rKXleWM+p8Q0uKLLz7U
ZS6++OJyoBqqkJqTjzrqqNJBqNk912wGRo8//vhG91MFLl/5yleKxzzmMV3PFSoRZiRtMS7s9tFH
H13W+5577inLNiAfeuihs+VvpMCF04WJMaClQKUs4P5/QMjaa69dbLDBBsULXvCC2Dzb5+c+97kZ
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
m9/8ZvHvf/+7WH311YsVVlih3HfppZcWt956a7HEEksUK6+88szx4/qiXjfddFOx4IILFosvvvgs
l73xxhuLCy64oNy2ySabFAsvvPAs+6fxx3//+9/ihhtuKK655priEY94RLHaaqu1Vs0///nPxbnn
nluWt9Zaa80887iA5+7aiy66aLH++uvH5rF+fv3rXy9uueWW4mEPe1jx6le/eqzXbnoxfeCoo44q
rr322uI///lPceihhxbzzTdf09NbP+76668vTj/99GKppZYqVl111bIvdrvI0UcfXTzgAQ8olltu
uWKdddbpduhY9/3jH/8ofvvb35bXXH755cs2MNYKzCEXY2/vuuuuYqGFFir76rDV1naIfr/GGmsM
W9w8db4x5pJLLimuvvrq4iUveUnxuMc9buD7v+2228qxbMUVV5wp4y9/+Uvx3e9+t7jvvvuKzTff
vFhsscXKfWeccUbxxz/+sRzzNt1005njfTnrrLOKpz/96eX4McuOAX9MHXB5zWteUzB6BrFDDjmk
vK0jjzyyOP7440sgcPbZZ8/c6h133FFsttlm5e8ddtih2HLLLcvvL3zhC4vbb7+92HDDDYu99957
5vhhv3hQBgjAKj59N6gZ1P0ZOK677rqyEwNfX/rSl8p6x7VPO+20Yr/99it/nnzyycVjH/vY2DWR
TyDrX//6V/H3v/+9vA+NEphwTzfffHN5P57H3XffXdbv4Q9/ePHlL3+5tgE67qCDDioNzpvf/OYS
bHa7McBkxx13LA/ZZ599ig022GCWw/fcc8/izDPPLB784AeXA+EsO8f045WvfGXBGCy55JLFSSed
NKar9ncZbXObbbYpgHxyxBFHlGC+v1LaO/q4444rPv3pT5cFfvCDHyw23njj2sINei9+8YtLQ8gB
UfdpEO1/5513LgcA9QFcDj/88OKhD33oWKp3yimnFEDzqIWd3G677Ya6zK677lqcf/75pW6+973v
DVUWm7rRRhuVZay99trFwQcfPFR589rJ55xzTrH77ruXt21MNDYOIkgBYzAH6IQTTpgZqy666KJi
p512KovkLAVhoK9ceOGFJVlgzA6JMY8NP/DAA3vaJf3uiiuuiNM7fk4tcFlzzTVLr1GtJw1coEud
h0dhgOhH9thjjwKzEhIP0e9RAhfg4vLLLy+wJffcc8/Mp++ACk/yn//8Z/m9n3vS+HSELbbYIm5p
ls/ddtutOO+888ptPKW99tqrWGSRRWY5Jv2RgUuqjeG+GzA+/OEPl4UACgDDpIRhY+AYvW9961td
20Ba7+23374EYJOqd1z3yiuvLHbZZZfir3/9a2wqP1dZZZXSmGMWRi0GhS9+8YujvkzplRt0hpEA
Llgz3vUwwnF62cteVhbRlvPJ8T3mmGOGqVbjc/W7Zz/72Y2PTw8EODjF3WTrrbcu2Yu6YzijAAtn
C2P1jW98o1hggQXqDq/djul2LWMGtnvfffctj+0HuGBgtt1225koivbcq+8cdthh5dhYW7H7d/w/
rHC3LQZN2OAAAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406159</attachid>
            <date>2020-08-07 02:23:12 -0700</date>
            <delta_ts>2020-08-07 02:30:55 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>23536</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCmluZGV4
IDE3MmQzYTc4MjhhLi42OTZhZGNhYjk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkZsb2F0U2l6ZS5oIgogI2lu
Y2x1ZGUgIkdseXBoLmgiCiAjaW5jbHVkZSA8Y2xpbWl0cz4KQEAgLTE5OCw2ICsxOTksNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHNldEluaXRpYWxBZHZhbmNlKEdseXBoQnVmZmVyQWR2YW5jZSBp
bml0aWFsQWR2YW5jZSkgeyBtX2luaXRpYWxBZHZhbmNlID0gaW5pdGlhbEFkdmFuY2U7IH0KICAg
ICBjb25zdCBHbHlwaEJ1ZmZlckFkdmFuY2UmIGluaXRpYWxBZHZhbmNlKCkgY29uc3QgeyByZXR1
cm4gbV9pbml0aWFsQWR2YW5jZTsgfQorICAgIHZvaWQgZXhwYW5kSW5pdGlhbEFkdmFuY2UoZmxv
YXQgd2lkdGgpIHsgbV9pbml0aWFsQWR2YW5jZS5zZXRXaWR0aChtX2luaXRpYWxBZHZhbmNlLndp
ZHRoKCkgKyB3aWR0aCk7IH0KICAgICAKICAgICBzdGF0aWMgY29uc3RleHByIEdseXBoQnVmZmVy
U3RyaW5nT2Zmc2V0IG5vT2Zmc2V0ID0gc3RkOjpudW1lcmljX2xpbWl0czxHbHlwaEJ1ZmZlclN0
cmluZ09mZnNldD46Om1heCgpOwogICAgIHZvaWQgYWRkKEdseXBoIGdseXBoLCBjb25zdCBGb250
KiBmb250LCBmbG9hdCB3aWR0aCwgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgb2Zmc2V0SW5TdHJp
bmcgPSBub09mZnNldCkKQEAgLTI1MCw2ICsyNTIsMTMgQEAgcHVibGljOgogICAgICAgICBsYXN0
QWR2YW5jZS5zZXRXaWR0aChsYXN0QWR2YW5jZS53aWR0aCgpICsgd2lkdGgpOwogICAgIH0KIAor
ICAgIHZvaWQgZXhwYW5kQWR2YW5jZSh1bnNpZ25lZCBpbmRleCwgZmxvYXQgd2lkdGgpCisgICAg
eworICAgICAgICBBU1NFUlQoaW5kZXggPCBzaXplKCkpOworICAgICAgICBHbHlwaEJ1ZmZlckFk
dmFuY2UmIGxhc3RBZHZhbmNlID0gbV9hZHZhbmNlc1tpbmRleF07CisgICAgICAgIGxhc3RBZHZh
bmNlLnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0aCk7CisgICAgfQorCiAgICAg
dm9pZCBleHBhbmRMYXN0QWR2YW5jZShHbHlwaEJ1ZmZlckFkdmFuY2UgZXhwYW5zaW9uKQogICAg
IHsKICAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRleCA1OWI0NDMzZTc5MC4uNjVm
NzMwZmE1NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCkBAIC00NSw2ICs0NSw4IEBAIFdpZHRoSXRlcmF0b3I6OldpZHRoSXRl
cmF0b3IoY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNl
CiAgICAgLCBtX3JlcXVpcmVzU2hhcGluZyhmb250LnJlcXVpcmVzU2hhcGluZygpKQogICAgICwg
bV9mb3JUZXh0RW1waGFzaXMoZm9yVGV4dEVtcGhhc2lzKQogeworICAgIC8vIEZJWE1FOiBTaG91
bGQgd2UgY2xhbXAgbV9leHBhbnNpb24gc28gaXQgY2FuIG5ldmVyIGJlIG5lZ2F0aXZlPworCiAg
ICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSA9
IDA7CiAgICAgZWxzZSB7CkBAIC01OSw2ICs2MSw4IEBAIFdpZHRoSXRlcmF0b3I6OldpZHRoSXRl
cmF0b3IoY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNl
CiAKIHN0cnVjdCBPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2Ugewog
cHVibGljOgorICAgIE9yaWdpbmFsQWR2YW5jZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNTcGFjZSgp
ID0gZGVmYXVsdDsKKwogICAgIGV4cGxpY2l0IE9yaWdpbmFsQWR2YW5jZXNGb3JDaGFyYWN0ZXJU
cmVhdGVkQXNTcGFjZShib29sIGlzU3BhY2UsIGZsb2F0IGFkdmFuY2VCZWZvcmUsIGZsb2F0IGFk
dmFuY2VBdCkKICAgICAgICAgOiBjaGFyYWN0ZXJJc1NwYWNlKGlzU3BhY2UpCiAgICAgICAgICwg
YWR2YW5jZUJlZm9yZUNoYXJhY3RlcihhZHZhbmNlQmVmb3JlKQpAQCAtNjYsOSArNzAsOSBAQCBw
dWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIGJvb2wgY2hhcmFjdGVySXNTcGFjZTsKLSAgICBm
bG9hdCBhZHZhbmNlQmVmb3JlQ2hhcmFjdGVyOwotICAgIGZsb2F0IGFkdmFuY2VBdENoYXJhY3Rl
cjsKKyAgICBib29sIGNoYXJhY3RlcklzU3BhY2UgPSBmYWxzZTsKKyAgICBmbG9hdCBhZHZhbmNl
QmVmb3JlQ2hhcmFjdGVyID0gMDsKKyAgICBmbG9hdCBhZHZhbmNlQXRDaGFyYWN0ZXIgPSAwOwog
fTsKIAogc3RhdGljIGlubGluZSBib29sIGlzU29mdEJhbmtFbW9qaShVQ2hhcjMyIGNvZGVwb2lu
dCkKQEAgLTEzMSwxOCArMTM1LDE1IEBAIGlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBs
eUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBsCiAgICAgaWYg
KCFsdHIpCiAgICAgICAgIGdseXBoQnVmZmVyLT5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlw
aEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CiAKLSAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjA4OiBUaGlzIGlzIHRvdGFsbHksIDEwMCUsIGZ1
cmlvdXNseSwgdXR0ZXJseSwgZnJ1c3RyYXRpbmdseSBib2d1cy4KLSAgICAvLyBUaGVyZSBpcyBh
YnNvbHV0ZWx5IG5vIGd1YXJhbnRlZSB0aGF0IGdseXBoIGluZGljZXMgYmVmb3JlIHNoYXBpbmcg
aGF2ZSBhbnkgcmVsYXRpb24gYXQgYWxsIHdpdGggZ2x5cGggaW5kaWNlcyBhZnRlciBzaGFwaW5n
LgotICAgIC8vIE9uZSBvZiB0aGUgZnVuZGFtZW50YWwgdGhpbmdzIHRoYXQgc2hhcGluZyBkb2Vz
IGlzIGluc2VydCBnbHlwaCBhbGwgb3ZlciB0aGUgcGxhY2UuCi0gICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2Uuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
YXV0byBzcGFjZU9mZnNldCA9IGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZVtpXS5maXJzdDsKLSAg
ICAgICAgLy8gU2hhcGluZyBtYXkgaGF2ZSBkZWxldGVkIHRoZSBnbHlwaC4KLSAgICAgICAgaWYg
KHNwYWNlT2Zmc2V0ID49IGdseXBoQnVmZmVyU2l6ZSkKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSBs
YXN0R2x5cGhDb3VudDsgaSA8IGdseXBoQnVmZmVyU2l6ZTsgKytpKSB7CisgICAgICAgIGF1dG8g
Y2hhcmFjdGVySW5kZXggPSBnbHlwaEJ1ZmZlci0+c3RyaW5nT2Zmc2V0QXQoaSk7CisgICAgICAg
IGF1dG8gaXRlcmF0b3IgPSBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UuZmluZChjaGFyYWN0ZXJJ
bmRleCk7CisgICAgICAgIGlmIChpdGVyYXRvciA9PSBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2Uu
ZW5kKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgY29uc3QgT3JpZ2luYWxBZHZh
bmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlJiBvcmlnaW5hbEFkdmFuY2VzID0gY2hhcmFj
dGVyc1RyZWF0ZWRBc1NwYWNlW2ldLnNlY29uZDsKLSAgICAgICAgaWYgKHNwYWNlT2Zmc2V0ICYm
ICFvcmlnaW5hbEFkdmFuY2VzLmNoYXJhY3RlcklzU3BhY2UpCi0gICAgICAgICAgICBnbHlwaEJ1
ZmZlci0+YWR2YW5jZXMoc3BhY2VPZmZzZXQgLSAxKS0+c2V0V2lkdGgob3JpZ2luYWxBZHZhbmNl
cy5hZHZhbmNlQmVmb3JlQ2hhcmFjdGVyKTsKLSAgICAgICAgZ2x5cGhCdWZmZXItPmFkdmFuY2Vz
KHNwYWNlT2Zmc2V0KS0+c2V0V2lkdGgob3JpZ2luYWxBZHZhbmNlcy5hZHZhbmNlQXRDaGFyYWN0
ZXIpOworICAgICAgICBjb25zdCBhdXRvJiBvcmlnaW5hbEFkdmFuY2VzID0gaXRlcmF0b3ItPnZh
bHVlOworICAgICAgICBpZiAoaSAmJiAhb3JpZ2luYWxBZHZhbmNlcy5jaGFyYWN0ZXJJc1NwYWNl
KQorICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkdmFuY2VzKGkgLSAxKS0+c2V0V2lkdGgob3Jp
Z2luYWxBZHZhbmNlcy5hZHZhbmNlQmVmb3JlQ2hhcmFjdGVyKTsKKyAgICAgICAgZ2x5cGhCdWZm
ZXItPmFkdmFuY2VzKGkpLT5zZXRXaWR0aChvcmlnaW5hbEFkdmFuY2VzLmFkdmFuY2VBdENoYXJh
Y3Rlcik7CiAgICAgfQogICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5jbGVhcigpOwogCkBA
IC0xODIsMTIgKzE4MywxNyBAQCBzdGF0aWMgaW5saW5lIHN0ZDo6cGFpcjxib29sLCBib29sPiBl
eHBhbnNpb25Mb2NhdGlvbihib29sIGlkZW9ncmFwaCwgYm9vbCB0cmVhdAogICAgIHJldHVybiBz
dGQ6Om1ha2VfcGFpcihleHBhbmRMZWZ0LCBleHBhbmRSaWdodCk7CiB9CiAKK2lubGluZSBib29s
IFdpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuICht
X2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5z
aW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUZXh0SXRlcmF0b3I+Ci1pbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikK
K2lubGluZSBjb25zdCBGb250JiBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0
ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKIHsKICAgICAv
LyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIEZvbnRDYXNjYWRlOjp3aWR0aEZv
clNpbXBsZVRleHQoKQogICAgIGJvb2wgcnRsID0gbV9ydW4ucnRsKCk7Ci0gICAgYm9vbCBoYXNF
eHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQud29yZFNwYWNp
bmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOworICAgIGJv
b2wgc2hvdWxkQXBwbHlFeHRyYVNwYWNpbmdCZWZvcmVTaGFwaW5nID0gIWdseXBoQnVmZmVyICYm
IGhhc0V4dHJhU3BhY2luZygpOwogCiAgICAgYm9vbCBydW5Gb3JjZXNMZWZ0RXhwYW5zaW9uID0g
KG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBMZWZ0RXhwYW5zaW9uTWFzaykgPT0gRm9yY2VM
ZWZ0RXhwYW5zaW9uOwogICAgIGJvb2wgcnVuRm9yY2VzUmlnaHRFeHBhbnNpb24gPSAobV9ydW4u
ZXhwYW5zaW9uQmVoYXZpb3IoKSAmIFJpZ2h0RXhwYW5zaW9uTWFzaykgPT0gRm9yY2VSaWdodEV4
cGFuc2lvbjsKQEAgLTIxNCw2ICsyMjAsOSBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjph
ZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAg
IHdoaWxlICh0ZXh0SXRlcmF0b3IuY29uc3VtZShjaGFyYWN0ZXIsIGNsdXN0ZXJMZW5ndGgpKSB7
CiAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5k
ZXgoKTsKICAgICAgICAgdW5zaWduZWQgYWR2YW5jZUxlbmd0aCA9IGNsdXN0ZXJMZW5ndGg7Cisg
ICAgICAgIGJvb2wgY3VycmVudElzTGFzdENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXJJbmRl
eCArIGFkdmFuY2VMZW5ndGggPT0gc3RhdGljX2Nhc3Q8c2l6ZV90PihtX3J1bi5sZW5ndGgoKSk7
CisgICAgICAgIGlmIChjdXJyZW50SXNMYXN0Q2hhcmFjdGVyKQorICAgICAgICAgICAgbV9sYXN0
Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAgICAgICAgIGJvb2wgY2hh
cmFjdGVyTXVzdERyYXdTb21ldGhpbmcgPSAhaXNEZWZhdWx0SWdub3JhYmxlQ29kZVBvaW50KGNo
YXJhY3Rlcik7CiAjaWYgVVNFKEZSRUVUWVBFKQogICAgICAgICAvLyBGcmVldHlwZSBiYXNlZCBw
b3J0cyBvbmx5IG92ZXJyaWRlIHRoZSBjaGFyYWN0ZXJzIHdpdGggRGVmYXVsdF9JZ25vcmFibGUg
dW5pY29kZSBwcm9wZXJ0eSB3aGVuIHRoZSBmb250CkBAIC0yNjUsNyArMjc0LDExIEBAIGlubGlu
ZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJ
dGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBp
ZiAoaGFzRXh0cmFTcGFjaW5nKSB7CisgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDUyOiBEZWxldGUgdGhpcyBzZWN0aW9uIGluIGZh
dm9yIG9mIGFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFwaW5nKCkuCisgICAgICAgIC8vIElmIHRo
ZXJlIGlzIG5vIEdseXBoQnVmZmVyLCB3ZSBjYW4ndCBhcHBseSBzcGFjaW5nIHdoZW4gd2UncmUg
ZG9uZSBiZWNhdXNlIHdlJ3ZlIGxvc3QgYWxsIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB3aGljaCBj
aGFyYWN0ZXIgaXMgYXNzb2NpYXRlZCB3aXRoIHdoaWNoIGdseXBoLgorICAgICAgICAvLyBGSVhN
RTogSXMgdGhpcyByZWFsbHkgdHJ1ZT8gSWYgdGhlcmUncyBubyBHbHlwaEJ1ZmZlciwgdGhlbiB0
aGUgb25seSBvdXRwdXQgb2YgdGhpcyBjbGFzcyBpcyB0b3RhbCB3aWR0aHMuIENhbid0IHdlIGp1
c3QgYWRkIGluIHRoZSB0b3RhbCBleHRyYSBzcGFjaW5nIGF0IHRoZSBlbmQ/CisgICAgICAgIC8v
IFRoYXQgd291bGQgYmUgZmFzdGVyIHRoYW4gYWxsIHRoaXMgY29tcGxpY2F0ZWQgbG9naWMgYWJv
dXQgYXNzb2NpYXRpbmcgZWFjaCBjaGFyYWN0ZXIgd2l0aCBzcGFjZSBvbiBpdHMgbGVmdCBvciBy
aWdodCBzaWRlLi4uCisgICAgICAgIGlmIChzaG91bGRBcHBseUV4dHJhU3BhY2luZ0JlZm9yZVNo
YXBpbmcpIHsKICAgICAgICAgICAgIC8vIEFjY291bnQgZm9yIGxldHRlci1zcGFjaW5nLgogICAg
ICAgICAgICAgaWYgKHdpZHRoKSB7CiAgICAgICAgICAgICAgICAgd2lkdGggKz0gbV9mb250Lmxl
dHRlclNwYWNpbmcoKTsKQEAgLTI3NSw5ICsyODgsOCBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVm
ZgogCiAgICAgICAgICAgICBzdGF0aWMgYm9vbCBleHBhbmRBcm91bmRJZGVvZ3JhcGhzID0gRm9u
dENhc2NhZGU6OmNhbkV4cGFuZEFyb3VuZElkZW9ncmFwaHNJbkNvbXBsZXhUZXh0KCk7CiAgICAg
ICAgICAgICBib29sIHRyZWF0QXNTcGFjZSA9IEZvbnRDYXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hh
cmFjdGVyKTsKLSAgICAgICAgICAgIGJvb2wgY3VycmVudElzTGFzdENoYXJhY3RlciA9IGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCArIGFkdmFuY2VMZW5ndGggPT0gc3RhdGljX2Nhc3Q8c2l6ZV90Piht
X3J1bi5sZW5ndGgoKSk7Ci0gICAgICAgICAgICBib29sIGZvcmNlTGVmdEV4cGFuc2lvbiA9IGZh
bHNlOyAvLyBPbiB0aGUgbGVmdCwgcmVnYXJkbGVzcyBvZiBtX3J1bi5sdHIoKQotICAgICAgICAg
ICAgYm9vbCBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gZmFsc2U7IC8vIE9uIHRoZSByaWdodCwgcmVn
YXJkbGVzcyBvZiBtX3J1bi5sdHIoKQorICAgICAgICAgICAgYm9vbCBmb3JjZUxlZnRFeHBhbnNp
b24gPSBmYWxzZTsKKyAgICAgICAgICAgIGJvb2wgZm9yY2VSaWdodEV4cGFuc2lvbiA9IGZhbHNl
OwogICAgICAgICAgICAgYm9vbCBmb3JiaWRMZWZ0RXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAg
ICAgICBib29sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAgICAgICBpZiAo
cnVuRm9yY2VzTGVmdEV4cGFuc2lvbikKQEAgLTI5MSw3ICszMDMsNyBAQCBpbmxpbmUgdm9pZCBX
aWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3Is
IEdseXBoQnVmZgogICAgICAgICAgICAgYm9vbCBpZGVvZ3JhcGggPSAoZXhwYW5kQXJvdW5kSWRl
b2dyYXBocyAmJiBGb250Q2FzY2FkZTo6aXNDSktJZGVvZ3JhcGhPclN5bWJvbChjaGFyYWN0ZXIp
KTsKICAgICAgICAgICAgIGlmICh0cmVhdEFzU3BhY2UgfHwgaWRlb2dyYXBoIHx8IGZvcmNlTGVm
dEV4cGFuc2lvbiB8fCBmb3JjZVJpZ2h0RXhwYW5zaW9uKSB7CiAgICAgICAgICAgICAgICAgLy8g
RGlzdHJpYnV0ZSB0aGUgcnVuJ3MgdG90YWwgZXhwYW5zaW9uIGV2ZW5seSBvdmVyIGFsbCBleHBh
bnNpb24gb3Bwb3J0dW5pdGllcyBpbiB0aGUgcnVuLgotICAgICAgICAgICAgICAgIGlmIChtX2V4
cGFuc2lvbikgeworICAgICAgICAgICAgICAgIGlmIChtX2V4cGFuc2lvbikgeyAvLyBGSVhNRTog
U2hvdWxkbid0IHRoaXMgYmUgIm1fZXhwYW5zaW9uID4gMCI/CiAgICAgICAgICAgICAgICAgICAg
IGF1dG8gW2V4cGFuZExlZnQsIGV4cGFuZFJpZ2h0XSA9IGV4cGFuc2lvbkxvY2F0aW9uKGlkZW9n
cmFwaCwgdHJlYXRBc1NwYWNlLCBtX3J1bi5sdHIoKSwgbV9pc0FmdGVyRXhwYW5zaW9uLCBmb3Ji
aWRMZWZ0RXhwYW5zaW9uLCBmb3JiaWRSaWdodEV4cGFuc2lvbiwgZm9yY2VMZWZ0RXhwYW5zaW9u
LCBmb3JjZVJpZ2h0RXhwYW5zaW9uKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGV4cGFuZExl
ZnQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkgewpAQCAtMzEy
LDYgKzMyNCw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChU
ZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY3JlYXNlIG5l
eHQgd2lkdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0b3Zlckp1c3RpZmljYXRp
b25XaWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBXaHkgYXJlbid0IHdlIGRvaW5nICJtX2V4cGFuc2lvbiAtPSBt
X2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OyIgaGVyZT8KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgICB9CkBAIC0zMzQsOCArMzQ3LDkgQEAgaW5saW5lIHZvaWQg
V2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9y
LCBHbHlwaEJ1ZmYKIAogICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlG
b250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0
ZXJJbmRleCk7CiAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6
Tm9uZSAmJiBnbHlwaEJ1ZmZlciAmJiBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rl
cikpIHsKLSAgICAgICAgICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5hcHBlbmQoc3RkOjpt
YWtlX3BhaXIoZ2x5cGhCdWZmZXItPnNpemUoKSwKLSAgICAgICAgICAgICAgICBPcmlnaW5hbEFk
dmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2UoY2hhcmFjdGVyID09ICcgJywgZ2x5cGhC
dWZmZXItPnNpemUoKSA/IGdseXBoQnVmZmVyLT5hZHZhbmNlQXQoZ2x5cGhCdWZmZXItPnNpemUo
KSAtIDEpLndpZHRoKCkgOiAwLCB3aWR0aCkpKTsKKyAgICAgICAgICAgIGF1dG8gYWRkUmVzdWx0
ID0gY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLnNldChjdXJyZW50Q2hhcmFjdGVySW5kZXgsCisg
ICAgICAgICAgICAgICAgT3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNl
KGNoYXJhY3RlciA9PSAnICcsIGdseXBoQnVmZmVyLT5zaXplKCkgPyBnbHlwaEJ1ZmZlci0+YWR2
YW5jZUF0KGdseXBoQnVmZmVyLT5zaXplKCkgLSAxKS53aWR0aCgpIDogMCwgd2lkdGgpKTsKKyAg
ICAgICAgICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7
CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMpIHsKQEAg
LTM3MSwxNSArMzg1LDE0NCBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50
ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICBtX3J1
bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRy
KCksIGxhc3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsICpsYXN0Rm9udERhdGEs
IHRyYW5zZm9ybXNUeXBlID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVh
dGVkQXNTcGFjZSk7CiAgICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3Iu
Y3VycmVudEluZGV4KCk7CiAKLSAgICBpZiAoZ2x5cGhCdWZmZXIgJiYgbGVmdG92ZXJKdXN0aWZp
Y2F0aW9uV2lkdGgpIHsKLSAgICAgICAgaWYgKG1fZm9yVGV4dEVtcGhhc2lzKQotICAgICAgICAg
ICAgZ2x5cGhCdWZmZXItPmFkZChsYXN0Rm9udERhdGEtPnplcm9XaWR0aFNwYWNlR2x5cGgoKSwg
bGFzdEZvbnREYXRhLCBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkg
LSAxKTsKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZzsKKyAg
ICBtX2ZpbmFsUm91bmRpbmdXaWR0aCA9IGxhc3RSb3VuZGluZ1dpZHRoOworCisgICAgcmV0dXJu
ICpsYXN0Rm9udERhdGE7Cit9CisKK2F1dG8gV2lkdGhJdGVyYXRvcjo6Y2FsY3VsYXRlQWRkaXRp
b25hbFdpZHRoKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgR2x5cGhCdWZmZXJTdHJpbmdPZmZz
ZXQgY3VycmVudENoYXJhY3RlckluZGV4LCB1bnNpZ25lZCBsZWFkaW5nR2x5cGhJbmRleCwgdW5z
aWduZWQgdHJhaWxpbmdHbHlwaEluZGV4KSBjb25zdCAtPiBBZGRpdGlvbmFsV2lkdGgKK3sKKyAg
ICBmbG9hdCBsZWZ0QWRkaXRpb25hbFdpZHRoID0gMDsKKyAgICBmbG9hdCByaWdodEFkZGl0aW9u
YWxXaWR0aCA9IDA7CisgICAgZmxvYXQgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCA9IDA7
CisgICAgZmxvYXQgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggPSAwOworCisgICAgYXV0
byBjaGFyYWN0ZXIgPSBtX3J1bltjdXJyZW50Q2hhcmFjdGVySW5kZXhdOworICAgIGJvb2wgdHJl
YXRBc1NwYWNlID0gRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpOworCisgICAg
eworICAgICAgICAvLyBUaGlzIGlzIGFuIGFwcHJveGltYXRpb24gdG8gZGV0ZXJtaW5lIGlmIHRo
ZSBjaGFyYWN0ZXIgaXMgbm9uLXZpc2libGUuIE5vbi12aXNpYmxlIGNoYXJhY3RlcnMgZG9uJ3Qg
Z2V0IGxldHRlci1zcGFjaW5nLgorICAgICAgICBmbG9hdCBiYXNlV2lkdGggPSAwOworICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBsZWFkaW5nR2x5cGhJbmRleDsgaSA8PSB0cmFpbGluZ0dseXBo
SW5kZXg7ICsraSkKKyAgICAgICAgICAgIGJhc2VXaWR0aCArPSBnbHlwaEJ1ZmZlci5hZHZhbmNl
QXQoaSkud2lkdGgoKTsKKyAgICAgICAgaWYgKGJhc2VXaWR0aCkKKyAgICAgICAgICAgIHJpZ2h0
QWRkaXRpb25hbFdpZHRoICs9IG1fZm9udC5sZXR0ZXJTcGFjaW5nKCk7CisgICAgfQorCisgICAg
eworICAgICAgICBpZiAodHJlYXRBc1NwYWNlICYmIChjaGFyYWN0ZXIgIT0gdGFiQ2hhcmFjdGVy
IHx8ICFtX3J1bi5hbGxvd1RhYnMoKSkgJiYgKGN1cnJlbnRDaGFyYWN0ZXJJbmRleCB8fCBjaGFy
YWN0ZXIgPT0gbm9CcmVha1NwYWNlKSAmJiBtX2ZvbnQud29yZFNwYWNpbmcoKSkKKyAgICAgICAg
ICAgIHJpZ2h0QWRkaXRpb25hbFdpZHRoICs9IG1fZm9udC53b3JkU3BhY2luZygpOworICAgIH0K
KworICAgIGlmIChtX2V4cGFuc2lvbiA+IDApIHsKKyAgICAgICAgYm9vbCBjdXJyZW50SXNMYXN0
Q2hhcmFjdGVyID0gbV9sYXN0Q2hhcmFjdGVySW5kZXggJiYgY3VycmVudENoYXJhY3RlckluZGV4
ID09ICptX2xhc3RDaGFyYWN0ZXJJbmRleDsKKworICAgICAgICBib29sIHJ1bkZvcmNlc0xlZnRF
eHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNr
KSA9PSBGb3JjZUxlZnRFeHBhbnNpb247CisgICAgICAgIGJvb2wgcnVuRm9yY2VzUmlnaHRFeHBh
bnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIFJpZ2h0RXhwYW5zaW9uTWFzaykg
PT0gRm9yY2VSaWdodEV4cGFuc2lvbjsKKyAgICAgICAgYm9vbCBydW5Gb3JiaWRzTGVmdEV4cGFu
c2lvbiA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgTGVmdEV4cGFuc2lvbk1hc2spID09
IEZvcmJpZExlZnRFeHBhbnNpb247CisgICAgICAgIGJvb2wgcnVuRm9yYmlkc1JpZ2h0RXhwYW5z
aW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBSaWdodEV4cGFuc2lvbk1hc2spID09
IEZvcmJpZFJpZ2h0RXhwYW5zaW9uOworCisgICAgICAgIGJvb2wgZm9yY2VMZWZ0RXhwYW5zaW9u
ID0gZmFsc2U7CisgICAgICAgIGJvb2wgZm9yY2VSaWdodEV4cGFuc2lvbiA9IGZhbHNlOworICAg
ICAgICBib29sIGZvcmJpZExlZnRFeHBhbnNpb24gPSBmYWxzZTsKKyAgICAgICAgYm9vbCBmb3Ji
aWRSaWdodEV4cGFuc2lvbiA9IGZhbHNlOworICAgICAgICBpZiAocnVuRm9yY2VzTGVmdEV4cGFu
c2lvbikKKyAgICAgICAgICAgIGZvcmNlTGVmdEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gIWN1
cnJlbnRDaGFyYWN0ZXJJbmRleCA6IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXI7CisgICAgICAgIGlm
IChydW5Gb3JjZXNSaWdodEV4cGFuc2lvbikKKyAgICAgICAgICAgIGZvcmNlUmlnaHRFeHBhbnNp
b24gPSBtX3J1bi5sdHIoKSA/IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgOiAhY3VycmVudENoYXJh
Y3RlckluZGV4OworICAgICAgICBpZiAocnVuRm9yYmlkc0xlZnRFeHBhbnNpb24pCisgICAgICAg
ICAgICBmb3JiaWRMZWZ0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyAhY3VycmVudENoYXJhY3Rl
ckluZGV4IDogY3VycmVudElzTGFzdENoYXJhY3RlcjsKKyAgICAgICAgaWYgKHJ1bkZvcmJpZHNS
aWdodEV4cGFuc2lvbikKKyAgICAgICAgICAgIGZvcmJpZFJpZ2h0RXhwYW5zaW9uID0gbV9ydW4u
bHRyKCkgPyBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyIDogIWN1cnJlbnRDaGFyYWN0ZXJJbmRleDsK
KworICAgICAgICBzdGF0aWMgYm9vbCBleHBhbmRBcm91bmRJZGVvZ3JhcGhzID0gRm9udENhc2Nh
ZGU6OmNhbkV4cGFuZEFyb3VuZElkZW9ncmFwaHNJbkNvbXBsZXhUZXh0KCk7CisgICAgICAgIGJv
b2wgaWRlb2dyYXBoID0gKGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgJiYgRm9udENhc2NhZGU6Omlz
Q0pLSWRlb2dyYXBoT3JTeW1ib2woY2hhcmFjdGVyKSk7CisKKyAgICAgICAgaWYgKHRyZWF0QXNT
cGFjZSB8fCBpZGVvZ3JhcGggfHwgZm9yY2VMZWZ0RXhwYW5zaW9uIHx8IGZvcmNlUmlnaHRFeHBh
bnNpb24pIHsKKyAgICAgICAgICAgIGF1dG8gW2V4cGFuZExlZnQsIGV4cGFuZFJpZ2h0XSA9IGV4
cGFuc2lvbkxvY2F0aW9uKGlkZW9ncmFwaCwgdHJlYXRBc1NwYWNlLCBtX3J1bi5sdHIoKSwgbV9p
c0FmdGVyRXhwYW5zaW9uLCBmb3JiaWRMZWZ0RXhwYW5zaW9uLCBmb3JiaWRSaWdodEV4cGFuc2lv
biwgZm9yY2VMZWZ0RXhwYW5zaW9uLCBmb3JjZVJpZ2h0RXhwYW5zaW9uKTsKKworICAgICAgICAg
ICAgaWYgKGV4cGFuZExlZnQpCisgICAgICAgICAgICAgICAgbGVmdEV4cGFuc2lvbkFkZGl0aW9u
YWxXaWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OworICAgICAgICAgICAgaWYgKGV4
cGFuZFJpZ2h0KQorICAgICAgICAgICAgICAgIHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRo
ICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBy
ZXR1cm4geyBsZWZ0QWRkaXRpb25hbFdpZHRoLCByaWdodEFkZGl0aW9uYWxXaWR0aCwgbGVmdEV4
cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggfTsK
K30KKworc3RydWN0IEdseXBoSW5kZXhSYW5nZSB7CisgICAgLy8gVGhpcyBtZWFucyB0aGUgY2hh
cmFjdGVyIGdvdCBleHBhbmRlZCB0byBnbHlwaHMgaW5zaWRlIHRoZSBHbHlwaEJ1ZmZlciBhdCBp
bmRpY2VzIFtsZWFkaW5nR2x5cGhJbmRleCwgdHJhaWxpbmdHbHlwaEluZGV4XS4KKyAgICB1bnNp
Z25lZCBsZWFkaW5nR2x5cGhJbmRleDsKKyAgICB1bnNpZ25lZCB0cmFpbGluZ0dseXBoSW5kZXg7
Cit9OworCit2b2lkIFdpZHRoSXRlcmF0b3I6OmFwcGx5QWRkaXRpb25hbFdpZHRoKEdseXBoQnVm
ZmVyJiBnbHlwaEJ1ZmZlciwgR2x5cGhJbmRleFJhbmdlIGdseXBoSW5kZXhSYW5nZSwgZmxvYXQg
bGVmdEFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IGxl
ZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25h
bFdpZHRoLCB1bnNpZ25lZCBjaGFyYWN0ZXJEZXN0aW5hdGlvbkluZGV4LCBjb25zdCBGb250JiBs
YXN0Rm9udERhdGEpCit7CisgICAgbV9leHBhbnNpb24gLT0gbGVmdEV4cGFuc2lvbkFkZGl0aW9u
YWxXaWR0aCArIHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworCisgICAgbGVmdEFkZGl0
aW9uYWxXaWR0aCArPSBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworICAgIHJpZ2h0QWRk
aXRpb25hbFdpZHRoICs9IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworCisgICAgaWYg
KGxlZnRBZGRpdGlvbmFsV2lkdGgpIHsKKyAgICAgICAgaWYgKG1fcnVuLmx0cigpKSB7CisgICAg
ICAgICAgICAvLyBMZWZ0IGFkZGl0aW9uYWwgd2lkdGggaW4gTFRSIG1lYW5zIHRoZSBwcmV2aW91
cyAobGVhZGluZykgZ2x5cGgncyByaWdodCBzaWRlIGdldHMgZXhwYW5kZWQuCisgICAgICAgICAg
ICBhdXRvIGxlYWRpbmdHbHlwaEluZGV4ID0gZ2x5cGhJbmRleFJhbmdlLmxlYWRpbmdHbHlwaElu
ZGV4OworICAgICAgICAgICAgaWYgKGxlYWRpbmdHbHlwaEluZGV4KQorICAgICAgICAgICAgICAg
IGdseXBoQnVmZmVyLmV4cGFuZEFkdmFuY2UobGVhZGluZ0dseXBoSW5kZXggLSAxLCBsZWZ0QWRk
aXRpb25hbFdpZHRoKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIC8vIEZJ
WE1FOiBEb2VzIHRoaXMgbmVlZCB0byBpbnNlcnQgYSBnbHlwaCBpbnN0ZWFkPworICAgICAgICAg
ICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEluaXRpYWxBZHZhbmNlKGxlZnRBZGRpdGlvbmFsV2lk
dGgpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gTGVm
dCBhZGRpdGlvbmFsIHdpZHRoIGluIFJUTCBtZWFucyB0aGUgbmV4dCAodHJhaWxpbmcpIGdseXBo
J3MgcmlnaHQgc2lkZSBnZXRzIGV4cGFuZGVkLgorICAgICAgICAgICAgYXV0byB0cmFpbGluZ0ds
eXBoSW5kZXggPSBnbHlwaEluZGV4UmFuZ2UudHJhaWxpbmdHbHlwaEluZGV4OworICAgICAgICAg
ICAgaWYgKHRyYWlsaW5nR2x5cGhJbmRleCArIDEgPCBnbHlwaEJ1ZmZlci5zaXplKCkpCisgICAg
ICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZSh0cmFpbGluZ0dseXBoSW5kZXgg
KyAxLCBsZWZ0QWRkaXRpb25hbFdpZHRoKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAg
ICAgICAgIC8vIEZJWE1FOiBUaGVyZSBpcyBhIGJldHRlciB3YXkgb2YgZG9pbmcgdGhpcy4KKyAg
ICAgICAgICAgICAgICAvLyBXZSBjYW4gc2V0IHNvbWUgaW50ZXJuYWwgc3RhdGUgc3VjaCB0aGF0
IGlmIGFkdmFuY2UoKSBnZXRzIGNhbGxlZCBhZ2FpbiwgdGhlIGZpcnN0IGdseXBoIHRoYXQgZ2V0
cyBhZGRlZCBhdXRvbWF0aWNhbGx5IGdldHMgZXhwYW5kZWQgdG8gaW5jbHVkZSB0aGlzIGFkdmFu
Y2UuCisgICAgICAgICAgICAgICAgLy8gQWxzbywgaWYgdGhlcmUgYXJlIG5vIG1vcmUgY2FsbHMg
dG8gYWR2YW5jZSgpLCB3ZSBjYW4gYWRkIGEgZmluYWxpemUoKSBtZXRob2Qgd2hpY2ggd291bGQg
YWRkIHRoaXMgdG8gdGhlIGluaXRpYWwgYWR2YW5jZS4KKyAgICAgICAgICAgICAgICAvLyBQaGls
b3NvcGhpY2FsbHksIHdlIHNob3VsZG4ndCBuZWVkIHRvIGFkZCBleHRyYSBnbHlwaHMgdG8gdGhl
IEdseXBoQnVmZmVyLgorCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFdoeSB1c2UgWldTIHNv
bWV0aW1lcyBhbmQgc3BhY2Ugb3RoZXIgdGltZXM/CisgICAgICAgICAgICAgICAgaWYgKG1fZm9y
VGV4dEVtcGhhc2lzKQorICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQobGFzdEZv
bnREYXRhLnplcm9XaWR0aFNwYWNlR2x5cGgoKSwgJmxhc3RGb250RGF0YSwgbGVmdEFkZGl0aW9u
YWxXaWR0aCwgY2hhcmFjdGVyRGVzdGluYXRpb25JbmRleCAtIDEpOworICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGxhc3RGb250RGF0YS5z
cGFjZUdseXBoKCksICZsYXN0Rm9udERhdGEsIGxlZnRBZGRpdGlvbmFsV2lkdGgsIGNoYXJhY3Rl
ckRlc3RpbmF0aW9uSW5kZXggLSAxKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0K
KworICAgIGlmIChyaWdodEFkZGl0aW9uYWxXaWR0aCkgeworICAgICAgICAvLyBSaWdodCBhZGRp
dGlvbmFsIHdpZHRoIG1lYW5zIHRoZSBjdXJyZW50IGdseXBoJ3MgcmlnaHQgc2lkZSBnZXRzIGV4
cGFuZGVkLiBUaGlzIGlzIHRydWUgZm9yIGJvdGggTFRSIGFuZCBSVEwuCisgICAgICAgIGdseXBo
QnVmZmVyLmV4cGFuZEFkdmFuY2UoZ2x5cGhJbmRleFJhbmdlLnRyYWlsaW5nR2x5cGhJbmRleCwg
cmlnaHRBZGRpdGlvbmFsV2lkdGgpOworICAgIH0KK30KKwordm9pZCBXaWR0aEl0ZXJhdG9yOjph
cHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVu
c2lnbmVkIGdseXBoQnVmZmVyU3RhcnRJbmRleCwgdW5zaWduZWQgY2hhcmFjdGVyRGVzdGluYXRp
b25JbmRleCwgY29uc3QgRm9udCYgbGFzdEZvbnREYXRhKQoreworICAgIFZlY3RvcjxPcHRpb25h
bDxHbHlwaEluZGV4UmFuZ2U+PiBjaGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlKG1fcnVu
Lmxlbmd0aCgpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXg7
IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCk7ICsraSkgeworICAgICAgICBhdXRvIHN0cmluZ09mZnNl
dCA9IGdseXBoQnVmZmVyLnN0cmluZ09mZnNldEF0KGkpOworICAgICAgICBhdXRvJiBnbHlwaElu
ZGV4UmFuZ2UgPSBjaGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlW3N0cmluZ09mZnNldF07
CisgICAgICAgIGlmIChnbHlwaEluZGV4UmFuZ2UpCisgICAgICAgICAgICBnbHlwaEluZGV4UmFu
Z2UtPnRyYWlsaW5nR2x5cGhJbmRleCA9IGk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGds
eXBoQnVmZmVyLT5hZGQobGFzdEZvbnREYXRhLT5zcGFjZUdseXBoKCksIGxhc3RGb250RGF0YSwg
bGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7CisgICAgICAg
ICAgICBnbHlwaEluZGV4UmFuZ2UgPSB7e2ksIGl9fTsKICAgICB9CiAKLSAgICBtX3J1bldpZHRo
U29GYXIgKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZzsKLSAgICBtX2ZpbmFsUm91bmRpbmdXaWR0
aCA9IGxhc3RSb3VuZGluZ1dpZHRoOworICAgIGZvciAoR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQg
Y3VycmVudENoYXJhY3RlckluZGV4ID0gMDsgY3VycmVudENoYXJhY3RlckluZGV4IDwgbV9ydW4u
bGVuZ3RoKCk7ICsrY3VycmVudENoYXJhY3RlckluZGV4KSB7CisgICAgICAgIGF1dG8mIGdseXBo
SW5kZXhSYW5nZSA9IGNoYXJhY3RlckluZGV4VG9HbHlwaEluZGV4UmFuZ2VbY3VycmVudENoYXJh
Y3RlckluZGV4XTsKKyAgICAgICAgaWYgKCFnbHlwaEluZGV4UmFuZ2UpCisgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICBhdXRvIGFkZGl0aW9uYWxXaWR0aCA9IGNhbGN1bGF0ZUFkZGl0
aW9uYWxXaWR0aChnbHlwaEJ1ZmZlciwgY3VycmVudENoYXJhY3RlckluZGV4LCBnbHlwaEluZGV4
UmFuZ2UtPmxlYWRpbmdHbHlwaEluZGV4LCBnbHlwaEluZGV4UmFuZ2UtPnRyYWlsaW5nR2x5cGhJ
bmRleCk7CisgICAgICAgIGFwcGx5QWRkaXRpb25hbFdpZHRoKGdseXBoQnVmZmVyLCBnbHlwaElu
ZGV4UmFuZ2UudmFsdWUoKSwgYWRkaXRpb25hbFdpZHRoLmxlZnRBZGRpdGlvbmFsV2lkdGgsIGFk
ZGl0aW9uYWxXaWR0aC5yaWdodEFkZGl0aW9uYWxXaWR0aCwgYWRkaXRpb25hbFdpZHRoLmxlZnRF
eHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIGFkZGl0aW9uYWxXaWR0aC5yaWdodEV4cGFuc2lvbkFk
ZGl0aW9uYWxXaWR0aCwgY2hhcmFjdGVyRGVzdGluYXRpb25JbmRleCwgbGFzdEZvbnREYXRhKTsK
KworICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSAobV9ydW4ubHRyKCkgJiYgYWRkaXRpb25h
bFdpZHRoLnJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoKSB8fCAoIW1fcnVuLmx0cigpICYm
IGFkZGl0aW9uYWxXaWR0aC5sZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoKTsKKyAgICB9CiB9
CiAKIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZSh1bnNpZ25lZCBvZmZzZXQsIEdseXBoQnVm
ZmVyKiBnbHlwaEJ1ZmZlcikKQEAgLTM5MiwxNCArNTM1LDI2IEBAIHZvaWQgV2lkdGhJdGVyYXRv
cjo6YWR2YW5jZSh1bnNpZ25lZCBvZmZzZXQsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKICAg
ICBpZiAobV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPj0gb2Zmc2V0KQogICAgICAgICByZXR1cm47
CiAKKyAgICB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXggPSBnbHlwaEJ1ZmZlciA/IGds
eXBoQnVmZmVyLT5zaXplKCkgOiAwOworCisgICAgY29uc3QgRm9udCogbGFzdEZvbnREYXRhID0g
bnVsbHB0cjsKICAgICBpZiAobV9ydW4uaXM4Qml0KCkpIHsKICAgICAgICAgTGF0aW4xVGV4dEl0
ZXJhdG9yIHRleHRJdGVyYXRvcihtX3J1bi5kYXRhOChtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCks
IG1fY3VycmVudENoYXJhY3RlckluZGV4LCBvZmZzZXQsIGxlbmd0aCk7Ci0gICAgICAgIGFkdmFu
Y2VJbnRlcm5hbCh0ZXh0SXRlcmF0b3IsIGdseXBoQnVmZmVyKTsKLSAgICAgICAgcmV0dXJuOwor
ICAgICAgICBsYXN0Rm9udERhdGEgPSAmYWR2YW5jZUludGVybmFsKHRleHRJdGVyYXRvciwgZ2x5
cGhCdWZmZXIpOworICAgIH0gZWxzZSB7CisgICAgICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJ
dGVyYXRvciB0ZXh0SXRlcmF0b3IobV9ydW4uZGF0YTE2KG1fY3VycmVudENoYXJhY3RlckluZGV4
KSwgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKKyAgICAgICAgbGFz
dEZvbnREYXRhID0gJmFkdmFuY2VJbnRlcm5hbCh0ZXh0SXRlcmF0b3IsIGdseXBoQnVmZmVyKTsK
ICAgICB9Ci0KLSAgICBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IgdGV4dEl0ZXJhdG9y
KG1fcnVuLmRhdGExNihtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCksIG1fY3VycmVudENoYXJhY3Rl
ckluZGV4LCBvZmZzZXQsIGxlbmd0aCk7Ci0gICAgYWR2YW5jZUludGVybmFsKHRleHRJdGVyYXRv
ciwgZ2x5cGhCdWZmZXIpOworICAgIEFTU0VSVChsYXN0Rm9udERhdGEpOworCisgICAgLy8gSW4g
Z2VuZXJhbCwgd2UgaGF2ZSB0byBhcHBseSBzcGFjaW5nIGFmdGVyIHNoYXBpbmcsIGJlY2F1c2Ug
c2hhcGluZyByZXF1aXJlcyBpdHMgaW5wdXQgdG8gYmUgdW5wZXJ0ZXJiZWQgKHNlZSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDUyKS4KKyAgICAvLyBIb3dldmVy
LCBpZiB3ZSBkb24ndCBoYXZlIGEgZ2x5cGggYnVmZmVyLCB0aGVuIHdlJ3ZlIGxvc3QgYWxsIHRo
ZSBkYXRhIHdlIG5lZWQgdG8gYXBwbHkgc3BhY2luZywgc28gd2UgY2FuJ3QgZG8gaXQgaGVyZS4K
KyAgICAvLyAoQWxzbywgaWYgd2UgZG9uJ3QgaGF2ZSBhIGdseXBoIGJ1ZmZlciwgd2UgY2FuJ3Qg
cGVyZm9ybSBzaGFwaW5nLCB3aGljaCBtZWFucyB0aGVyZSdzIG5vIGRpZmZlcmVuY2UgYmV0d2Vl
biBhcHBseWluZyBzcGFjaW5nIGJlZm9yZSBvciBhZnRlciBzaGFwaW5nLikKKyAgICAvLyBTbywg
aW4gdGhhdCBzaXR1YXRpb24sIHdlIGFwcGx5IHNwYWNpbmcgd2hpbGUgaXRlcmF0aW5nIHRocm91
Z2ggdGhlIFRleHRSdW4uCisgICAgLy8gQnV0LCBpbiB0aGUgZ2VuZXJhbCBjYXNlIHdoZW4gd2Ug
aGF2ZSBhIEdseXBoQnVmZmVyLCB3ZSBoYXZlIHRvIGRvIGl0IGhlcmUsIGFmdGVyIHNoYXBpbmcu
CisgICAgYm9vbCBzaG91bGRBcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZyA9IGdseXBoQnVm
ZmVyICYmIGhhc0V4dHJhU3BhY2luZygpOworICAgIGlmIChzaG91bGRBcHBseUV4dHJhU3BhY2lu
Z0FmdGVyU2hhcGluZykKKyAgICAgICAgYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoKmds
eXBoQnVmZmVyLCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXgsIG9mZnNldCwgKmxhc3RGb250RGF0YSk7
CiB9CiAKIGJvb2wgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lk
dGgsIEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaAppbmRleCAzOGNmOGViOTcwMy4uMjY2NzY0MjJi
NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRl
cmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJh
dG9yLmgKQEAgLTIyLDYgKzIyLDcgQEAKICNpZm5kZWYgV2lkdGhJdGVyYXRvcl9oCiAjZGVmaW5l
IFdpZHRoSXRlcmF0b3JfaAogCisjaW5jbHVkZSAiR2x5cGhCdWZmZXIuaCIKICNpbmNsdWRlIDx1
bmljb2RlL3VtYWNoaW5lLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CkBAIC0yOSwxMyArMzAsMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgRm9udENhc2NhZGU7Ci1jbGFzcyBHbHlwaEJ1ZmZlcjsKIGNsYXNzIEZvbnQ7CiBjbGFz
cyBUZXh0UnVuOwogc3RydWN0IEdseXBoRGF0YTsKK3N0cnVjdCBHbHlwaEluZGV4UmFuZ2U7CiBz
dHJ1Y3QgT3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlOwogCi10eXBl
ZGVmIFZlY3RvcjxzdGQ6OnBhaXI8dW5zaWduZWQsIE9yaWdpbmFsQWR2YW5jZXNGb3JDaGFyYWN0
ZXJUcmVhdGVkQXNTcGFjZT4sIDY0PiBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2U7Cit0eXBlZGVm
IEhhc2hNYXA8dW5zaWduZWQsIE9yaWdpbmFsQWR2YW5jZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNT
cGFjZSwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNo
VHJhaXRzPHVuc2lnbmVkPj4gQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlOwogCiBzdHJ1Y3QgV2lk
dGhJdGVyYXRvciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CkBAIC01OCwxNiArNTks
MjggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBHbHlwaERhdGEgZ2x5cGhEYXRhRm9yQ2hhcmFj
dGVyKFVDaGFyMzIsIGJvb2wgbWlycm9yKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVGV4dEl0
ZXJhdG9yPgotICAgIGlubGluZSB2b2lkIGFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImLCBH
bHlwaEJ1ZmZlciopOworICAgIGlubGluZSBjb25zdCBGb250JiBhZHZhbmNlSW50ZXJuYWwoVGV4
dEl0ZXJhdG9yJiwgR2x5cGhCdWZmZXIqKTsKIAogICAgIGVudW0gY2xhc3MgVHJhbnNmb3Jtc1R5
cGUgeyBOb25lLCBGb3JjZWQsIE5vdEZvcmNlZCB9OwogICAgIFRyYW5zZm9ybXNUeXBlIHNob3Vs
ZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqLCB1bnNpZ25lZCBsYXN0R2x5
cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4KSBjb25zdDsKICAgICBmbG9h
dCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiwgYm9vbCBsdHIsIHVuc2lnbmVkIGxh
c3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQm
LCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmKTsKIAorICAgIGlubGluZSBi
b29sIGhhc0V4dHJhU3BhY2luZygpIGNvbnN0OworICAgIHZvaWQgYXBwbHlFeHRyYVNwYWNpbmdB
ZnRlclNoYXBpbmcoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXgs
IHVuc2lnbmVkIGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXgsIGNvbnN0IEZvbnQmIGxhc3RGb250
RGF0YSk7CisgICAgc3RydWN0IEFkZGl0aW9uYWxXaWR0aCB7CisgICAgICAgIGZsb2F0IGxlZnRB
ZGRpdGlvbmFsV2lkdGg7CisgICAgICAgIGZsb2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoOworICAg
ICAgICBmbG9hdCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworICAgICAgICBmbG9hdCBy
aWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aDsKKyAgICB9OworICAgIEFkZGl0aW9uYWxXaWR0
aCBjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoR2x5cGhCdWZmZXImLCBHbHlwaEJ1ZmZlclN0cmlu
Z09mZnNldCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIHVuc2lnbmVkIGxlYWRpbmdHbHlwaEluZGV4
LCB1bnNpZ25lZCB0cmFpbGluZ0dseXBoSW5kZXgpIGNvbnN0OworICAgIHZvaWQgYXBwbHlBZGRp
dGlvbmFsV2lkdGgoR2x5cGhCdWZmZXImLCBHbHlwaEluZGV4UmFuZ2UsIGZsb2F0IGxlZnRBZGRp
dGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoLCBmbG9hdCBsZWZ0RXhwYW5z
aW9uQWRkaXRpb25hbFdpZHRoLCBmbG9hdCByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwg
dW5zaWduZWQgY2hhcmFjdGVyRGVzdGluYXRpb25JbmRleCwgY29uc3QgRm9udCYgbGFzdEZvbnRE
YXRhKTsKKwogICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBtX2ZvbnQ7CiAgICAgY29uc3QgVGV4dFJ1
biYgbV9ydW47CiAgICAgSGFzaFNldDxjb25zdCBGb250Kj4qIG1fZmFsbGJhY2tGb250cyB7IG51
bGxwdHIgfTsKIAorICAgIE9wdGlvbmFsPHVuc2lnbmVkPiBtX2xhc3RDaGFyYWN0ZXJJbmRleDsK
ICAgICB1bnNpZ25lZCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCB7IDAgfTsKICAgICBmbG9hdCBt
X3J1bldpZHRoU29GYXIgeyAwIH07CiAgICAgZmxvYXQgbV9leHBhbnNpb24geyAwIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406160</attachid>
            <date>2020-08-07 02:30:55 -0700</date>
            <delta_ts>2020-08-07 03:12:16 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>23629</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCmluZGV4
IDE3MmQzYTc4MjhhLi42OTZhZGNhYjk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkZsb2F0U2l6ZS5oIgogI2lu
Y2x1ZGUgIkdseXBoLmgiCiAjaW5jbHVkZSA8Y2xpbWl0cz4KQEAgLTE5OCw2ICsxOTksNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHNldEluaXRpYWxBZHZhbmNlKEdseXBoQnVmZmVyQWR2YW5jZSBp
bml0aWFsQWR2YW5jZSkgeyBtX2luaXRpYWxBZHZhbmNlID0gaW5pdGlhbEFkdmFuY2U7IH0KICAg
ICBjb25zdCBHbHlwaEJ1ZmZlckFkdmFuY2UmIGluaXRpYWxBZHZhbmNlKCkgY29uc3QgeyByZXR1
cm4gbV9pbml0aWFsQWR2YW5jZTsgfQorICAgIHZvaWQgZXhwYW5kSW5pdGlhbEFkdmFuY2UoZmxv
YXQgd2lkdGgpIHsgbV9pbml0aWFsQWR2YW5jZS5zZXRXaWR0aChtX2luaXRpYWxBZHZhbmNlLndp
ZHRoKCkgKyB3aWR0aCk7IH0KICAgICAKICAgICBzdGF0aWMgY29uc3RleHByIEdseXBoQnVmZmVy
U3RyaW5nT2Zmc2V0IG5vT2Zmc2V0ID0gc3RkOjpudW1lcmljX2xpbWl0czxHbHlwaEJ1ZmZlclN0
cmluZ09mZnNldD46Om1heCgpOwogICAgIHZvaWQgYWRkKEdseXBoIGdseXBoLCBjb25zdCBGb250
KiBmb250LCBmbG9hdCB3aWR0aCwgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgb2Zmc2V0SW5TdHJp
bmcgPSBub09mZnNldCkKQEAgLTI1MCw2ICsyNTIsMTMgQEAgcHVibGljOgogICAgICAgICBsYXN0
QWR2YW5jZS5zZXRXaWR0aChsYXN0QWR2YW5jZS53aWR0aCgpICsgd2lkdGgpOwogICAgIH0KIAor
ICAgIHZvaWQgZXhwYW5kQWR2YW5jZSh1bnNpZ25lZCBpbmRleCwgZmxvYXQgd2lkdGgpCisgICAg
eworICAgICAgICBBU1NFUlQoaW5kZXggPCBzaXplKCkpOworICAgICAgICBHbHlwaEJ1ZmZlckFk
dmFuY2UmIGxhc3RBZHZhbmNlID0gbV9hZHZhbmNlc1tpbmRleF07CisgICAgICAgIGxhc3RBZHZh
bmNlLnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0aCk7CisgICAgfQorCiAgICAg
dm9pZCBleHBhbmRMYXN0QWR2YW5jZShHbHlwaEJ1ZmZlckFkdmFuY2UgZXhwYW5zaW9uKQogICAg
IHsKICAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRleCA1OWI0NDMzZTc5MC4uM2Vm
NWUwMDgyYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCkBAIC00NSw2ICs0NSw4IEBAIFdpZHRoSXRlcmF0b3I6OldpZHRoSXRl
cmF0b3IoY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNl
CiAgICAgLCBtX3JlcXVpcmVzU2hhcGluZyhmb250LnJlcXVpcmVzU2hhcGluZygpKQogICAgICwg
bV9mb3JUZXh0RW1waGFzaXMoZm9yVGV4dEVtcGhhc2lzKQogeworICAgIC8vIEZJWE1FOiBTaG91
bGQgd2UgY2xhbXAgbV9leHBhbnNpb24gc28gaXQgY2FuIG5ldmVyIGJlIG5lZ2F0aXZlPworCiAg
ICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSA9
IDA7CiAgICAgZWxzZSB7CkBAIC01OSw2ICs2MSw4IEBAIFdpZHRoSXRlcmF0b3I6OldpZHRoSXRl
cmF0b3IoY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNl
CiAKIHN0cnVjdCBPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2Ugewog
cHVibGljOgorICAgIE9yaWdpbmFsQWR2YW5jZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNTcGFjZSgp
ID0gZGVmYXVsdDsKKwogICAgIGV4cGxpY2l0IE9yaWdpbmFsQWR2YW5jZXNGb3JDaGFyYWN0ZXJU
cmVhdGVkQXNTcGFjZShib29sIGlzU3BhY2UsIGZsb2F0IGFkdmFuY2VCZWZvcmUsIGZsb2F0IGFk
dmFuY2VBdCkKICAgICAgICAgOiBjaGFyYWN0ZXJJc1NwYWNlKGlzU3BhY2UpCiAgICAgICAgICwg
YWR2YW5jZUJlZm9yZUNoYXJhY3RlcihhZHZhbmNlQmVmb3JlKQpAQCAtNjYsOSArNzAsOSBAQCBw
dWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIGJvb2wgY2hhcmFjdGVySXNTcGFjZTsKLSAgICBm
bG9hdCBhZHZhbmNlQmVmb3JlQ2hhcmFjdGVyOwotICAgIGZsb2F0IGFkdmFuY2VBdENoYXJhY3Rl
cjsKKyAgICBib29sIGNoYXJhY3RlcklzU3BhY2UgPSBmYWxzZTsKKyAgICBmbG9hdCBhZHZhbmNl
QmVmb3JlQ2hhcmFjdGVyID0gMDsKKyAgICBmbG9hdCBhZHZhbmNlQXRDaGFyYWN0ZXIgPSAwOwog
fTsKIAogc3RhdGljIGlubGluZSBib29sIGlzU29mdEJhbmtFbW9qaShVQ2hhcjMyIGNvZGVwb2lu
dCkKQEAgLTEzMSwxOCArMTM1LDE1IEBAIGlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBs
eUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBsCiAgICAgaWYg
KCFsdHIpCiAgICAgICAgIGdseXBoQnVmZmVyLT5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlw
aEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CiAKLSAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjA4OiBUaGlzIGlzIHRvdGFsbHksIDEwMCUsIGZ1
cmlvdXNseSwgdXR0ZXJseSwgZnJ1c3RyYXRpbmdseSBib2d1cy4KLSAgICAvLyBUaGVyZSBpcyBh
YnNvbHV0ZWx5IG5vIGd1YXJhbnRlZSB0aGF0IGdseXBoIGluZGljZXMgYmVmb3JlIHNoYXBpbmcg
aGF2ZSBhbnkgcmVsYXRpb24gYXQgYWxsIHdpdGggZ2x5cGggaW5kaWNlcyBhZnRlciBzaGFwaW5n
LgotICAgIC8vIE9uZSBvZiB0aGUgZnVuZGFtZW50YWwgdGhpbmdzIHRoYXQgc2hhcGluZyBkb2Vz
IGlzIGluc2VydCBnbHlwaCBhbGwgb3ZlciB0aGUgcGxhY2UuCi0gICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2Uuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
YXV0byBzcGFjZU9mZnNldCA9IGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZVtpXS5maXJzdDsKLSAg
ICAgICAgLy8gU2hhcGluZyBtYXkgaGF2ZSBkZWxldGVkIHRoZSBnbHlwaC4KLSAgICAgICAgaWYg
KHNwYWNlT2Zmc2V0ID49IGdseXBoQnVmZmVyU2l6ZSkKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSBs
YXN0R2x5cGhDb3VudDsgaSA8IGdseXBoQnVmZmVyU2l6ZTsgKytpKSB7CisgICAgICAgIGF1dG8g
Y2hhcmFjdGVySW5kZXggPSBnbHlwaEJ1ZmZlci0+c3RyaW5nT2Zmc2V0QXQoaSk7CisgICAgICAg
IGF1dG8gaXRlcmF0b3IgPSBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UuZmluZChjaGFyYWN0ZXJJ
bmRleCk7CisgICAgICAgIGlmIChpdGVyYXRvciA9PSBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2Uu
ZW5kKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgY29uc3QgT3JpZ2luYWxBZHZh
bmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlJiBvcmlnaW5hbEFkdmFuY2VzID0gY2hhcmFj
dGVyc1RyZWF0ZWRBc1NwYWNlW2ldLnNlY29uZDsKLSAgICAgICAgaWYgKHNwYWNlT2Zmc2V0ICYm
ICFvcmlnaW5hbEFkdmFuY2VzLmNoYXJhY3RlcklzU3BhY2UpCi0gICAgICAgICAgICBnbHlwaEJ1
ZmZlci0+YWR2YW5jZXMoc3BhY2VPZmZzZXQgLSAxKS0+c2V0V2lkdGgob3JpZ2luYWxBZHZhbmNl
cy5hZHZhbmNlQmVmb3JlQ2hhcmFjdGVyKTsKLSAgICAgICAgZ2x5cGhCdWZmZXItPmFkdmFuY2Vz
KHNwYWNlT2Zmc2V0KS0+c2V0V2lkdGgob3JpZ2luYWxBZHZhbmNlcy5hZHZhbmNlQXRDaGFyYWN0
ZXIpOworICAgICAgICBjb25zdCBhdXRvJiBvcmlnaW5hbEFkdmFuY2VzID0gaXRlcmF0b3ItPnZh
bHVlOworICAgICAgICBpZiAoaSAmJiAhb3JpZ2luYWxBZHZhbmNlcy5jaGFyYWN0ZXJJc1NwYWNl
KQorICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkdmFuY2VzKGkgLSAxKS0+c2V0V2lkdGgob3Jp
Z2luYWxBZHZhbmNlcy5hZHZhbmNlQmVmb3JlQ2hhcmFjdGVyKTsKKyAgICAgICAgZ2x5cGhCdWZm
ZXItPmFkdmFuY2VzKGkpLT5zZXRXaWR0aChvcmlnaW5hbEFkdmFuY2VzLmFkdmFuY2VBdENoYXJh
Y3Rlcik7CiAgICAgfQogICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5jbGVhcigpOwogCkBA
IC0xODIsMTIgKzE4MywxNyBAQCBzdGF0aWMgaW5saW5lIHN0ZDo6cGFpcjxib29sLCBib29sPiBl
eHBhbnNpb25Mb2NhdGlvbihib29sIGlkZW9ncmFwaCwgYm9vbCB0cmVhdAogICAgIHJldHVybiBz
dGQ6Om1ha2VfcGFpcihleHBhbmRMZWZ0LCBleHBhbmRSaWdodCk7CiB9CiAKK2lubGluZSBib29s
IFdpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuICht
X2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5z
aW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUZXh0SXRlcmF0b3I+Ci1pbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikK
K2lubGluZSBjb25zdCBGb250JiBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0
ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKIHsKICAgICAv
LyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIEZvbnRDYXNjYWRlOjp3aWR0aEZv
clNpbXBsZVRleHQoKQogICAgIGJvb2wgcnRsID0gbV9ydW4ucnRsKCk7Ci0gICAgYm9vbCBoYXNF
eHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQud29yZFNwYWNp
bmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOworICAgIGJv
b2wgc2hvdWxkQXBwbHlFeHRyYVNwYWNpbmdCZWZvcmVTaGFwaW5nID0gIWdseXBoQnVmZmVyICYm
IGhhc0V4dHJhU3BhY2luZygpOwogCiAgICAgYm9vbCBydW5Gb3JjZXNMZWZ0RXhwYW5zaW9uID0g
KG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBMZWZ0RXhwYW5zaW9uTWFzaykgPT0gRm9yY2VM
ZWZ0RXhwYW5zaW9uOwogICAgIGJvb2wgcnVuRm9yY2VzUmlnaHRFeHBhbnNpb24gPSAobV9ydW4u
ZXhwYW5zaW9uQmVoYXZpb3IoKSAmIFJpZ2h0RXhwYW5zaW9uTWFzaykgPT0gRm9yY2VSaWdodEV4
cGFuc2lvbjsKQEAgLTIxNCw2ICsyMjAsOSBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjph
ZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAg
IHdoaWxlICh0ZXh0SXRlcmF0b3IuY29uc3VtZShjaGFyYWN0ZXIsIGNsdXN0ZXJMZW5ndGgpKSB7
CiAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5k
ZXgoKTsKICAgICAgICAgdW5zaWduZWQgYWR2YW5jZUxlbmd0aCA9IGNsdXN0ZXJMZW5ndGg7Cisg
ICAgICAgIGJvb2wgY3VycmVudElzTGFzdENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXJJbmRl
eCArIGFkdmFuY2VMZW5ndGggPT0gc3RhdGljX2Nhc3Q8c2l6ZV90PihtX3J1bi5sZW5ndGgoKSk7
CisgICAgICAgIGlmIChjdXJyZW50SXNMYXN0Q2hhcmFjdGVyKQorICAgICAgICAgICAgbV9sYXN0
Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAgICAgICAgIGJvb2wgY2hh
cmFjdGVyTXVzdERyYXdTb21ldGhpbmcgPSAhaXNEZWZhdWx0SWdub3JhYmxlQ29kZVBvaW50KGNo
YXJhY3Rlcik7CiAjaWYgVVNFKEZSRUVUWVBFKQogICAgICAgICAvLyBGcmVldHlwZSBiYXNlZCBw
b3J0cyBvbmx5IG92ZXJyaWRlIHRoZSBjaGFyYWN0ZXJzIHdpdGggRGVmYXVsdF9JZ25vcmFibGUg
dW5pY29kZSBwcm9wZXJ0eSB3aGVuIHRoZSBmb250CkBAIC0yNjUsNyArMjc0LDExIEBAIGlubGlu
ZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJ
dGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBp
ZiAoaGFzRXh0cmFTcGFjaW5nKSB7CisgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDUyOiBEZWxldGUgdGhpcyBzZWN0aW9uIGluIGZh
dm9yIG9mIGFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFwaW5nKCkuCisgICAgICAgIC8vIElmIHRo
ZXJlIGlzIG5vIEdseXBoQnVmZmVyLCB3ZSBjYW4ndCBhcHBseSBzcGFjaW5nIHdoZW4gd2UncmUg
ZG9uZSBiZWNhdXNlIHdlJ3ZlIGxvc3QgYWxsIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB3aGljaCBj
aGFyYWN0ZXIgaXMgYXNzb2NpYXRlZCB3aXRoIHdoaWNoIGdseXBoLgorICAgICAgICAvLyBGSVhN
RTogSXMgdGhpcyByZWFsbHkgdHJ1ZT8gSWYgdGhlcmUncyBubyBHbHlwaEJ1ZmZlciwgdGhlbiB0
aGUgb25seSBvdXRwdXQgb2YgdGhpcyBjbGFzcyBpcyB0b3RhbCB3aWR0aHMuIENhbid0IHdlIGp1
c3QgYWRkIGluIHRoZSB0b3RhbCBleHRyYSBzcGFjaW5nIGF0IHRoZSBlbmQ/CisgICAgICAgIC8v
IFRoYXQgd291bGQgYmUgZmFzdGVyIHRoYW4gYWxsIHRoaXMgY29tcGxpY2F0ZWQgbG9naWMgYWJv
dXQgYXNzb2NpYXRpbmcgZWFjaCBjaGFyYWN0ZXIgd2l0aCBzcGFjZSBvbiBpdHMgbGVmdCBvciBy
aWdodCBzaWRlLi4uCisgICAgICAgIGlmIChzaG91bGRBcHBseUV4dHJhU3BhY2luZ0JlZm9yZVNo
YXBpbmcpIHsKICAgICAgICAgICAgIC8vIEFjY291bnQgZm9yIGxldHRlci1zcGFjaW5nLgogICAg
ICAgICAgICAgaWYgKHdpZHRoKSB7CiAgICAgICAgICAgICAgICAgd2lkdGggKz0gbV9mb250Lmxl
dHRlclNwYWNpbmcoKTsKQEAgLTI3NSw5ICsyODgsOCBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVm
ZgogCiAgICAgICAgICAgICBzdGF0aWMgYm9vbCBleHBhbmRBcm91bmRJZGVvZ3JhcGhzID0gRm9u
dENhc2NhZGU6OmNhbkV4cGFuZEFyb3VuZElkZW9ncmFwaHNJbkNvbXBsZXhUZXh0KCk7CiAgICAg
ICAgICAgICBib29sIHRyZWF0QXNTcGFjZSA9IEZvbnRDYXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hh
cmFjdGVyKTsKLSAgICAgICAgICAgIGJvb2wgY3VycmVudElzTGFzdENoYXJhY3RlciA9IGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCArIGFkdmFuY2VMZW5ndGggPT0gc3RhdGljX2Nhc3Q8c2l6ZV90Piht
X3J1bi5sZW5ndGgoKSk7Ci0gICAgICAgICAgICBib29sIGZvcmNlTGVmdEV4cGFuc2lvbiA9IGZh
bHNlOyAvLyBPbiB0aGUgbGVmdCwgcmVnYXJkbGVzcyBvZiBtX3J1bi5sdHIoKQotICAgICAgICAg
ICAgYm9vbCBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gZmFsc2U7IC8vIE9uIHRoZSByaWdodCwgcmVn
YXJkbGVzcyBvZiBtX3J1bi5sdHIoKQorICAgICAgICAgICAgYm9vbCBmb3JjZUxlZnRFeHBhbnNp
b24gPSBmYWxzZTsKKyAgICAgICAgICAgIGJvb2wgZm9yY2VSaWdodEV4cGFuc2lvbiA9IGZhbHNl
OwogICAgICAgICAgICAgYm9vbCBmb3JiaWRMZWZ0RXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAg
ICAgICBib29sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAgICAgICBpZiAo
cnVuRm9yY2VzTGVmdEV4cGFuc2lvbikKQEAgLTI5MSw3ICszMDMsNyBAQCBpbmxpbmUgdm9pZCBX
aWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3Is
IEdseXBoQnVmZgogICAgICAgICAgICAgYm9vbCBpZGVvZ3JhcGggPSAoZXhwYW5kQXJvdW5kSWRl
b2dyYXBocyAmJiBGb250Q2FzY2FkZTo6aXNDSktJZGVvZ3JhcGhPclN5bWJvbChjaGFyYWN0ZXIp
KTsKICAgICAgICAgICAgIGlmICh0cmVhdEFzU3BhY2UgfHwgaWRlb2dyYXBoIHx8IGZvcmNlTGVm
dEV4cGFuc2lvbiB8fCBmb3JjZVJpZ2h0RXhwYW5zaW9uKSB7CiAgICAgICAgICAgICAgICAgLy8g
RGlzdHJpYnV0ZSB0aGUgcnVuJ3MgdG90YWwgZXhwYW5zaW9uIGV2ZW5seSBvdmVyIGFsbCBleHBh
bnNpb24gb3Bwb3J0dW5pdGllcyBpbiB0aGUgcnVuLgotICAgICAgICAgICAgICAgIGlmIChtX2V4
cGFuc2lvbikgeworICAgICAgICAgICAgICAgIGlmIChtX2V4cGFuc2lvbikgeyAvLyBGSVhNRTog
U2hvdWxkbid0IHRoaXMgYmUgIm1fZXhwYW5zaW9uID4gMCI/CiAgICAgICAgICAgICAgICAgICAg
IGF1dG8gW2V4cGFuZExlZnQsIGV4cGFuZFJpZ2h0XSA9IGV4cGFuc2lvbkxvY2F0aW9uKGlkZW9n
cmFwaCwgdHJlYXRBc1NwYWNlLCBtX3J1bi5sdHIoKSwgbV9pc0FmdGVyRXhwYW5zaW9uLCBmb3Ji
aWRMZWZ0RXhwYW5zaW9uLCBmb3JiaWRSaWdodEV4cGFuc2lvbiwgZm9yY2VMZWZ0RXhwYW5zaW9u
LCBmb3JjZVJpZ2h0RXhwYW5zaW9uKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGV4cGFuZExl
ZnQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkgewpAQCAtMzEy
LDYgKzMyNCw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChU
ZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY3JlYXNlIG5l
eHQgd2lkdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0b3Zlckp1c3RpZmljYXRp
b25XaWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBXaHkgYXJlbid0IHdlIGRvaW5nICJtX2V4cGFuc2lvbiAtPSBt
X2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OyIgaGVyZT8KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgICB9CkBAIC0zMzQsOCArMzQ3LDkgQEAgaW5saW5lIHZvaWQg
V2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9y
LCBHbHlwaEJ1ZmYKIAogICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlG
b250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0
ZXJJbmRleCk7CiAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6
Tm9uZSAmJiBnbHlwaEJ1ZmZlciAmJiBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rl
cikpIHsKLSAgICAgICAgICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5hcHBlbmQoc3RkOjpt
YWtlX3BhaXIoZ2x5cGhCdWZmZXItPnNpemUoKSwKLSAgICAgICAgICAgICAgICBPcmlnaW5hbEFk
dmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2UoY2hhcmFjdGVyID09ICcgJywgZ2x5cGhC
dWZmZXItPnNpemUoKSA/IGdseXBoQnVmZmVyLT5hZHZhbmNlQXQoZ2x5cGhCdWZmZXItPnNpemUo
KSAtIDEpLndpZHRoKCkgOiAwLCB3aWR0aCkpKTsKKyAgICAgICAgICAgIGF1dG8gYWRkUmVzdWx0
ID0gY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLnNldChjdXJyZW50Q2hhcmFjdGVySW5kZXgsCisg
ICAgICAgICAgICAgICAgT3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNl
KGNoYXJhY3RlciA9PSAnICcsIGdseXBoQnVmZmVyLT5zaXplKCkgPyBnbHlwaEJ1ZmZlci0+YWR2
YW5jZUF0KGdseXBoQnVmZmVyLT5zaXplKCkgLSAxKS53aWR0aCgpIDogMCwgd2lkdGgpKTsKKyAg
ICAgICAgICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7
CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMpIHsKQEAg
LTM3MSwxNSArMzg1LDE0NyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50
ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICBtX3J1
bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRy
KCksIGxhc3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsICpsYXN0Rm9udERhdGEs
IHRyYW5zZm9ybXNUeXBlID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVh
dGVkQXNTcGFjZSk7CiAgICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3Iu
Y3VycmVudEluZGV4KCk7CiAKLSAgICBpZiAoZ2x5cGhCdWZmZXIgJiYgbGVmdG92ZXJKdXN0aWZp
Y2F0aW9uV2lkdGgpIHsKLSAgICAgICAgaWYgKG1fZm9yVGV4dEVtcGhhc2lzKQotICAgICAgICAg
ICAgZ2x5cGhCdWZmZXItPmFkZChsYXN0Rm9udERhdGEtPnplcm9XaWR0aFNwYWNlR2x5cGgoKSwg
bGFzdEZvbnREYXRhLCBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkg
LSAxKTsKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZzsKKyAg
ICBtX2ZpbmFsUm91bmRpbmdXaWR0aCA9IGxhc3RSb3VuZGluZ1dpZHRoOworCisgICAgcmV0dXJu
ICpsYXN0Rm9udERhdGE7Cit9CisKK2F1dG8gV2lkdGhJdGVyYXRvcjo6Y2FsY3VsYXRlQWRkaXRp
b25hbFdpZHRoKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgR2x5cGhCdWZmZXJTdHJpbmdPZmZz
ZXQgY3VycmVudENoYXJhY3RlckluZGV4LCB1bnNpZ25lZCBsZWFkaW5nR2x5cGhJbmRleCwgdW5z
aWduZWQgdHJhaWxpbmdHbHlwaEluZGV4KSBjb25zdCAtPiBBZGRpdGlvbmFsV2lkdGgKK3sKKyAg
ICBmbG9hdCBsZWZ0QWRkaXRpb25hbFdpZHRoID0gMDsKKyAgICBmbG9hdCByaWdodEFkZGl0aW9u
YWxXaWR0aCA9IDA7CisgICAgZmxvYXQgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCA9IDA7
CisgICAgZmxvYXQgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggPSAwOworCisgICAgYXV0
byBjaGFyYWN0ZXIgPSBtX3J1bltjdXJyZW50Q2hhcmFjdGVySW5kZXhdOworICAgIGJvb2wgdHJl
YXRBc1NwYWNlID0gRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpOworCisgICAg
eworICAgICAgICAvLyBUaGlzIGlzIGFuIGFwcHJveGltYXRpb24gdG8gZGV0ZXJtaW5lIGlmIHRo
ZSBjaGFyYWN0ZXIgaXMgbm9uLXZpc2libGUuIE5vbi12aXNpYmxlIGNoYXJhY3RlcnMgZG9uJ3Qg
Z2V0IGxldHRlci1zcGFjaW5nLgorICAgICAgICBmbG9hdCBiYXNlV2lkdGggPSAwOworICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBsZWFkaW5nR2x5cGhJbmRleDsgaSA8PSB0cmFpbGluZ0dseXBo
SW5kZXg7ICsraSkKKyAgICAgICAgICAgIGJhc2VXaWR0aCArPSBnbHlwaEJ1ZmZlci5hZHZhbmNl
QXQoaSkud2lkdGgoKTsKKyAgICAgICAgaWYgKGJhc2VXaWR0aCkKKyAgICAgICAgICAgIHJpZ2h0
QWRkaXRpb25hbFdpZHRoICs9IG1fZm9udC5sZXR0ZXJTcGFjaW5nKCk7CisgICAgfQorCisgICAg
eworICAgICAgICBpZiAodHJlYXRBc1NwYWNlICYmIChjaGFyYWN0ZXIgIT0gdGFiQ2hhcmFjdGVy
IHx8ICFtX3J1bi5hbGxvd1RhYnMoKSkgJiYgKGN1cnJlbnRDaGFyYWN0ZXJJbmRleCB8fCBjaGFy
YWN0ZXIgPT0gbm9CcmVha1NwYWNlKSAmJiBtX2ZvbnQud29yZFNwYWNpbmcoKSkKKyAgICAgICAg
ICAgIHJpZ2h0QWRkaXRpb25hbFdpZHRoICs9IG1fZm9udC53b3JkU3BhY2luZygpOworICAgIH0K
KworICAgIGlmIChtX2V4cGFuc2lvbiA+IDApIHsKKyAgICAgICAgYm9vbCBjdXJyZW50SXNMYXN0
Q2hhcmFjdGVyID0gbV9sYXN0Q2hhcmFjdGVySW5kZXggJiYgY3VycmVudENoYXJhY3RlckluZGV4
ID09ICptX2xhc3RDaGFyYWN0ZXJJbmRleDsKKworICAgICAgICBib29sIHJ1bkZvcmNlc0xlZnRF
eHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNr
KSA9PSBGb3JjZUxlZnRFeHBhbnNpb247CisgICAgICAgIGJvb2wgcnVuRm9yY2VzUmlnaHRFeHBh
bnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIFJpZ2h0RXhwYW5zaW9uTWFzaykg
PT0gRm9yY2VSaWdodEV4cGFuc2lvbjsKKyAgICAgICAgYm9vbCBydW5Gb3JiaWRzTGVmdEV4cGFu
c2lvbiA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgTGVmdEV4cGFuc2lvbk1hc2spID09
IEZvcmJpZExlZnRFeHBhbnNpb247CisgICAgICAgIGJvb2wgcnVuRm9yYmlkc1JpZ2h0RXhwYW5z
aW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBSaWdodEV4cGFuc2lvbk1hc2spID09
IEZvcmJpZFJpZ2h0RXhwYW5zaW9uOworCisgICAgICAgIGJvb2wgZm9yY2VMZWZ0RXhwYW5zaW9u
ID0gZmFsc2U7CisgICAgICAgIGJvb2wgZm9yY2VSaWdodEV4cGFuc2lvbiA9IGZhbHNlOworICAg
ICAgICBib29sIGZvcmJpZExlZnRFeHBhbnNpb24gPSBmYWxzZTsKKyAgICAgICAgYm9vbCBmb3Ji
aWRSaWdodEV4cGFuc2lvbiA9IGZhbHNlOworICAgICAgICBpZiAocnVuRm9yY2VzTGVmdEV4cGFu
c2lvbikKKyAgICAgICAgICAgIGZvcmNlTGVmdEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gIWN1
cnJlbnRDaGFyYWN0ZXJJbmRleCA6IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXI7CisgICAgICAgIGlm
IChydW5Gb3JjZXNSaWdodEV4cGFuc2lvbikKKyAgICAgICAgICAgIGZvcmNlUmlnaHRFeHBhbnNp
b24gPSBtX3J1bi5sdHIoKSA/IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgOiAhY3VycmVudENoYXJh
Y3RlckluZGV4OworICAgICAgICBpZiAocnVuRm9yYmlkc0xlZnRFeHBhbnNpb24pCisgICAgICAg
ICAgICBmb3JiaWRMZWZ0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyAhY3VycmVudENoYXJhY3Rl
ckluZGV4IDogY3VycmVudElzTGFzdENoYXJhY3RlcjsKKyAgICAgICAgaWYgKHJ1bkZvcmJpZHNS
aWdodEV4cGFuc2lvbikKKyAgICAgICAgICAgIGZvcmJpZFJpZ2h0RXhwYW5zaW9uID0gbV9ydW4u
bHRyKCkgPyBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyIDogIWN1cnJlbnRDaGFyYWN0ZXJJbmRleDsK
KworICAgICAgICBzdGF0aWMgYm9vbCBleHBhbmRBcm91bmRJZGVvZ3JhcGhzID0gRm9udENhc2Nh
ZGU6OmNhbkV4cGFuZEFyb3VuZElkZW9ncmFwaHNJbkNvbXBsZXhUZXh0KCk7CisgICAgICAgIGJv
b2wgaWRlb2dyYXBoID0gKGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgJiYgRm9udENhc2NhZGU6Omlz
Q0pLSWRlb2dyYXBoT3JTeW1ib2woY2hhcmFjdGVyKSk7CisKKyAgICAgICAgaWYgKHRyZWF0QXNT
cGFjZSB8fCBpZGVvZ3JhcGggfHwgZm9yY2VMZWZ0RXhwYW5zaW9uIHx8IGZvcmNlUmlnaHRFeHBh
bnNpb24pIHsKKyAgICAgICAgICAgIGF1dG8gW2V4cGFuZExlZnQsIGV4cGFuZFJpZ2h0XSA9IGV4
cGFuc2lvbkxvY2F0aW9uKGlkZW9ncmFwaCwgdHJlYXRBc1NwYWNlLCBtX3J1bi5sdHIoKSwgbV9p
c0FmdGVyRXhwYW5zaW9uLCBmb3JiaWRMZWZ0RXhwYW5zaW9uLCBmb3JiaWRSaWdodEV4cGFuc2lv
biwgZm9yY2VMZWZ0RXhwYW5zaW9uLCBmb3JjZVJpZ2h0RXhwYW5zaW9uKTsKKworICAgICAgICAg
ICAgaWYgKGV4cGFuZExlZnQpCisgICAgICAgICAgICAgICAgbGVmdEV4cGFuc2lvbkFkZGl0aW9u
YWxXaWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OworICAgICAgICAgICAgaWYgKGV4
cGFuZFJpZ2h0KQorICAgICAgICAgICAgICAgIHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRo
ICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBy
ZXR1cm4geyBsZWZ0QWRkaXRpb25hbFdpZHRoLCByaWdodEFkZGl0aW9uYWxXaWR0aCwgbGVmdEV4
cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggfTsK
K30KKworc3RydWN0IEdseXBoSW5kZXhSYW5nZSB7CisgICAgLy8gVGhpcyBtZWFucyB0aGUgY2hh
cmFjdGVyIGdvdCBleHBhbmRlZCB0byBnbHlwaHMgaW5zaWRlIHRoZSBHbHlwaEJ1ZmZlciBhdCBp
bmRpY2VzIFtsZWFkaW5nR2x5cGhJbmRleCwgdHJhaWxpbmdHbHlwaEluZGV4XS4KKyAgICB1bnNp
Z25lZCBsZWFkaW5nR2x5cGhJbmRleDsKKyAgICB1bnNpZ25lZCB0cmFpbGluZ0dseXBoSW5kZXg7
Cit9OworCit2b2lkIFdpZHRoSXRlcmF0b3I6OmFwcGx5QWRkaXRpb25hbFdpZHRoKEdseXBoQnVm
ZmVyJiBnbHlwaEJ1ZmZlciwgR2x5cGhJbmRleFJhbmdlIGdseXBoSW5kZXhSYW5nZSwgZmxvYXQg
bGVmdEFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IGxl
ZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25h
bFdpZHRoLCB1bnNpZ25lZCBjaGFyYWN0ZXJEZXN0aW5hdGlvbkluZGV4LCBjb25zdCBGb250JiBs
YXN0Rm9udERhdGEpCit7CisgICAgbV9leHBhbnNpb24gLT0gbGVmdEV4cGFuc2lvbkFkZGl0aW9u
YWxXaWR0aCArIHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworCisgICAgbGVmdEFkZGl0
aW9uYWxXaWR0aCArPSBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworICAgIHJpZ2h0QWRk
aXRpb25hbFdpZHRoICs9IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworCisgICAgbV9y
dW5XaWR0aFNvRmFyICs9IGxlZnRBZGRpdGlvbmFsV2lkdGg7CisgICAgbV9ydW5XaWR0aFNvRmFy
ICs9IHJpZ2h0QWRkaXRpb25hbFdpZHRoOworCisgICAgaWYgKGxlZnRBZGRpdGlvbmFsV2lkdGgp
IHsKKyAgICAgICAgaWYgKG1fcnVuLmx0cigpKSB7CisgICAgICAgICAgICAvLyBMZWZ0IGFkZGl0
aW9uYWwgd2lkdGggaW4gTFRSIG1lYW5zIHRoZSBwcmV2aW91cyAobGVhZGluZykgZ2x5cGgncyBy
aWdodCBzaWRlIGdldHMgZXhwYW5kZWQuCisgICAgICAgICAgICBhdXRvIGxlYWRpbmdHbHlwaElu
ZGV4ID0gZ2x5cGhJbmRleFJhbmdlLmxlYWRpbmdHbHlwaEluZGV4OworICAgICAgICAgICAgaWYg
KGxlYWRpbmdHbHlwaEluZGV4KQorICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEFk
dmFuY2UobGVhZGluZ0dseXBoSW5kZXggLSAxLCBsZWZ0QWRkaXRpb25hbFdpZHRoKTsKKyAgICAg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBEb2VzIHRoaXMgbmVlZCB0
byBpbnNlcnQgYSBnbHlwaCBpbnN0ZWFkPworICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmV4
cGFuZEluaXRpYWxBZHZhbmNlKGxlZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAgICAgICAgfQor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gTGVmdCBhZGRpdGlvbmFsIHdpZHRoIGlu
IFJUTCBtZWFucyB0aGUgbmV4dCAodHJhaWxpbmcpIGdseXBoJ3MgcmlnaHQgc2lkZSBnZXRzIGV4
cGFuZGVkLgorICAgICAgICAgICAgYXV0byB0cmFpbGluZ0dseXBoSW5kZXggPSBnbHlwaEluZGV4
UmFuZ2UudHJhaWxpbmdHbHlwaEluZGV4OworICAgICAgICAgICAgaWYgKHRyYWlsaW5nR2x5cGhJ
bmRleCArIDEgPCBnbHlwaEJ1ZmZlci5zaXplKCkpCisgICAgICAgICAgICAgICAgZ2x5cGhCdWZm
ZXIuZXhwYW5kQWR2YW5jZSh0cmFpbGluZ0dseXBoSW5kZXggKyAxLCBsZWZ0QWRkaXRpb25hbFdp
ZHRoKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGVy
ZSBpcyBhIGJldHRlciB3YXkgb2YgZG9pbmcgdGhpcy4KKyAgICAgICAgICAgICAgICAvLyBXZSBj
YW4gc2V0IHNvbWUgaW50ZXJuYWwgc3RhdGUgc3VjaCB0aGF0IGlmIGFkdmFuY2UoKSBnZXRzIGNh
bGxlZCBhZ2FpbiwgdGhlIGZpcnN0IGdseXBoIHRoYXQgZ2V0cyBhZGRlZCBhdXRvbWF0aWNhbGx5
IGdldHMgZXhwYW5kZWQgdG8gaW5jbHVkZSB0aGlzIGFkdmFuY2UuCisgICAgICAgICAgICAgICAg
Ly8gQWxzbywgaWYgdGhlcmUgYXJlIG5vIG1vcmUgY2FsbHMgdG8gYWR2YW5jZSgpLCB3ZSBjYW4g
YWRkIGEgZmluYWxpemUoKSBtZXRob2Qgd2hpY2ggd291bGQgYWRkIHRoaXMgdG8gdGhlIGluaXRp
YWwgYWR2YW5jZS4KKyAgICAgICAgICAgICAgICAvLyBQaGlsb3NvcGhpY2FsbHksIHdlIHNob3Vs
ZG4ndCBuZWVkIHRvIGFkZCBleHRyYSBnbHlwaHMgdG8gdGhlIEdseXBoQnVmZmVyLgorCisgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IFdoeSB1c2UgWldTIHNvbWV0aW1lcyBhbmQgc3BhY2Ugb3Ro
ZXIgdGltZXM/CisgICAgICAgICAgICAgICAgaWYgKG1fZm9yVGV4dEVtcGhhc2lzKQorICAgICAg
ICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQobGFzdEZvbnREYXRhLnplcm9XaWR0aFNwYWNl
R2x5cGgoKSwgJmxhc3RGb250RGF0YSwgbGVmdEFkZGl0aW9uYWxXaWR0aCwgY2hhcmFjdGVyRGVz
dGluYXRpb25JbmRleCAtIDEpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgZ2x5cGhCdWZmZXIuYWRkKGxhc3RGb250RGF0YS5zcGFjZUdseXBoKCksICZsYXN0Rm9u
dERhdGEsIGxlZnRBZGRpdGlvbmFsV2lkdGgsIGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXggLSAx
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChyaWdodEFkZGl0
aW9uYWxXaWR0aCkgeworICAgICAgICAvLyBSaWdodCBhZGRpdGlvbmFsIHdpZHRoIG1lYW5zIHRo
ZSBjdXJyZW50IGdseXBoJ3MgcmlnaHQgc2lkZSBnZXRzIGV4cGFuZGVkLiBUaGlzIGlzIHRydWUg
Zm9yIGJvdGggTFRSIGFuZCBSVEwuCisgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEFkdmFuY2Uo
Z2x5cGhJbmRleFJhbmdlLnRyYWlsaW5nR2x5cGhJbmRleCwgcmlnaHRBZGRpdGlvbmFsV2lkdGgp
OworICAgIH0KK30KKwordm9pZCBXaWR0aEl0ZXJhdG9yOjphcHBseUV4dHJhU3BhY2luZ0FmdGVy
U2hhcGluZyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVkIGdseXBoQnVmZmVyU3Rh
cnRJbmRleCwgdW5zaWduZWQgY2hhcmFjdGVyRGVzdGluYXRpb25JbmRleCwgY29uc3QgRm9udCYg
bGFzdEZvbnREYXRhKQoreworICAgIFZlY3RvcjxPcHRpb25hbDxHbHlwaEluZGV4UmFuZ2U+PiBj
aGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlKG1fcnVuLmxlbmd0aCgpKTsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXg7IGkgPCBnbHlwaEJ1ZmZlci5zaXpl
KCk7ICsraSkgeworICAgICAgICBhdXRvIHN0cmluZ09mZnNldCA9IGdseXBoQnVmZmVyLnN0cmlu
Z09mZnNldEF0KGkpOworICAgICAgICBhdXRvJiBnbHlwaEluZGV4UmFuZ2UgPSBjaGFyYWN0ZXJJ
bmRleFRvR2x5cGhJbmRleFJhbmdlW3N0cmluZ09mZnNldF07CisgICAgICAgIGlmIChnbHlwaElu
ZGV4UmFuZ2UpCisgICAgICAgICAgICBnbHlwaEluZGV4UmFuZ2UtPnRyYWlsaW5nR2x5cGhJbmRl
eCA9IGk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQobGFzdEZv
bnREYXRhLT5zcGFjZUdseXBoKCksIGxhc3RGb250RGF0YSwgbGVmdG92ZXJKdXN0aWZpY2F0aW9u
V2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7CisgICAgICAgICAgICBnbHlwaEluZGV4UmFuZ2Ug
PSB7e2ksIGl9fTsKICAgICB9CiAKLSAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lkdGhTaW5jZUxh
c3RSb3VuZGluZzsKLSAgICBtX2ZpbmFsUm91bmRpbmdXaWR0aCA9IGxhc3RSb3VuZGluZ1dpZHRo
OworICAgIGZvciAoR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgY3VycmVudENoYXJhY3RlckluZGV4
ID0gMDsgY3VycmVudENoYXJhY3RlckluZGV4IDwgbV9ydW4ubGVuZ3RoKCk7ICsrY3VycmVudENo
YXJhY3RlckluZGV4KSB7CisgICAgICAgIGF1dG8mIGdseXBoSW5kZXhSYW5nZSA9IGNoYXJhY3Rl
ckluZGV4VG9HbHlwaEluZGV4UmFuZ2VbY3VycmVudENoYXJhY3RlckluZGV4XTsKKyAgICAgICAg
aWYgKCFnbHlwaEluZGV4UmFuZ2UpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBh
dXRvIGFkZGl0aW9uYWxXaWR0aCA9IGNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0aChnbHlwaEJ1ZmZl
ciwgY3VycmVudENoYXJhY3RlckluZGV4LCBnbHlwaEluZGV4UmFuZ2UtPmxlYWRpbmdHbHlwaElu
ZGV4LCBnbHlwaEluZGV4UmFuZ2UtPnRyYWlsaW5nR2x5cGhJbmRleCk7CisgICAgICAgIGFwcGx5
QWRkaXRpb25hbFdpZHRoKGdseXBoQnVmZmVyLCBnbHlwaEluZGV4UmFuZ2UudmFsdWUoKSwgYWRk
aXRpb25hbFdpZHRoLmxlZnRBZGRpdGlvbmFsV2lkdGgsIGFkZGl0aW9uYWxXaWR0aC5yaWdodEFk
ZGl0aW9uYWxXaWR0aCwgYWRkaXRpb25hbFdpZHRoLmxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lk
dGgsIGFkZGl0aW9uYWxXaWR0aC5yaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwgY2hhcmFj
dGVyRGVzdGluYXRpb25JbmRleCwgbGFzdEZvbnREYXRhKTsKKworICAgICAgICBtX2lzQWZ0ZXJF
eHBhbnNpb24gPSAobV9ydW4ubHRyKCkgJiYgYWRkaXRpb25hbFdpZHRoLnJpZ2h0RXhwYW5zaW9u
QWRkaXRpb25hbFdpZHRoKSB8fCAoIW1fcnVuLmx0cigpICYmIGFkZGl0aW9uYWxXaWR0aC5sZWZ0
RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoKTsKKyAgICB9CiB9CiAKIHZvaWQgV2lkdGhJdGVyYXRv
cjo6YWR2YW5jZSh1bnNpZ25lZCBvZmZzZXQsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKQEAg
LTM5MiwxNCArNTM4LDI2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZSh1bnNpZ25lZCBv
ZmZzZXQsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKICAgICBpZiAobV9jdXJyZW50Q2hhcmFj
dGVySW5kZXggPj0gb2Zmc2V0KQogICAgICAgICByZXR1cm47CiAKKyAgICB1bnNpZ25lZCBnbHlw
aEJ1ZmZlclN0YXJ0SW5kZXggPSBnbHlwaEJ1ZmZlciA/IGdseXBoQnVmZmVyLT5zaXplKCkgOiAw
OworCisgICAgY29uc3QgRm9udCogbGFzdEZvbnREYXRhID0gbnVsbHB0cjsKICAgICBpZiAobV9y
dW4uaXM4Qml0KCkpIHsKICAgICAgICAgTGF0aW4xVGV4dEl0ZXJhdG9yIHRleHRJdGVyYXRvciht
X3J1bi5kYXRhOChtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCksIG1fY3VycmVudENoYXJhY3Rlcklu
ZGV4LCBvZmZzZXQsIGxlbmd0aCk7Ci0gICAgICAgIGFkdmFuY2VJbnRlcm5hbCh0ZXh0SXRlcmF0
b3IsIGdseXBoQnVmZmVyKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICBsYXN0Rm9udERhdGEg
PSAmYWR2YW5jZUludGVybmFsKHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvciB0ZXh0SXRlcmF0b3Io
bV9ydW4uZGF0YTE2KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9jdXJyZW50Q2hhcmFjdGVy
SW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKKyAgICAgICAgbGFzdEZvbnREYXRhID0gJmFkdmFuY2VJ
bnRlcm5hbCh0ZXh0SXRlcmF0b3IsIGdseXBoQnVmZmVyKTsKICAgICB9Ci0KLSAgICBTdXJyb2dh
dGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IgdGV4dEl0ZXJhdG9yKG1fcnVuLmRhdGExNihtX2N1cnJl
bnRDaGFyYWN0ZXJJbmRleCksIG1fY3VycmVudENoYXJhY3RlckluZGV4LCBvZmZzZXQsIGxlbmd0
aCk7Ci0gICAgYWR2YW5jZUludGVybmFsKHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOworICAg
IEFTU0VSVChsYXN0Rm9udERhdGEpOworCisgICAgLy8gSW4gZ2VuZXJhbCwgd2UgaGF2ZSB0byBh
cHBseSBzcGFjaW5nIGFmdGVyIHNoYXBpbmcsIGJlY2F1c2Ugc2hhcGluZyByZXF1aXJlcyBpdHMg
aW5wdXQgdG8gYmUgdW5wZXJ0ZXJiZWQgKHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE1MDUyKS4KKyAgICAvLyBIb3dldmVyLCBpZiB3ZSBkb24ndCBoYXZlIGEg
Z2x5cGggYnVmZmVyLCB0aGVuIHdlJ3ZlIGxvc3QgYWxsIHRoZSBkYXRhIHdlIG5lZWQgdG8gYXBw
bHkgc3BhY2luZywgc28gd2UgY2FuJ3QgZG8gaXQgaGVyZS4KKyAgICAvLyAoQWxzbywgaWYgd2Ug
ZG9uJ3QgaGF2ZSBhIGdseXBoIGJ1ZmZlciwgd2UgY2FuJ3QgcGVyZm9ybSBzaGFwaW5nLCB3aGlj
aCBtZWFucyB0aGVyZSdzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBhcHBseWluZyBzcGFjaW5nIGJl
Zm9yZSBvciBhZnRlciBzaGFwaW5nLikKKyAgICAvLyBTbywgaW4gdGhhdCBzaXR1YXRpb24sIHdl
IGFwcGx5IHNwYWNpbmcgd2hpbGUgaXRlcmF0aW5nIHRocm91Z2ggdGhlIFRleHRSdW4uCisgICAg
Ly8gQnV0LCBpbiB0aGUgZ2VuZXJhbCBjYXNlIHdoZW4gd2UgaGF2ZSBhIEdseXBoQnVmZmVyLCB3
ZSBoYXZlIHRvIGRvIGl0IGhlcmUsIGFmdGVyIHNoYXBpbmcuCisgICAgYm9vbCBzaG91bGRBcHBs
eUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZyA9IGdseXBoQnVmZmVyICYmIGhhc0V4dHJhU3BhY2lu
ZygpOworICAgIGlmIChzaG91bGRBcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZykKKyAgICAg
ICAgYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoKmdseXBoQnVmZmVyLCBnbHlwaEJ1ZmZl
clN0YXJ0SW5kZXgsIG9mZnNldCwgKmxhc3RGb250RGF0YSk7CiB9CiAKIGJvb2wgV2lkdGhJdGVy
YXRvcjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEdseXBoQnVmZmVyJiBnbHlw
aEJ1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRl
cmF0b3IuaAppbmRleCAzOGNmOGViOTcwMy4uMjY2NzY0MjJiNDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKQEAgLTIyLDYgKzIyLDcg
QEAKICNpZm5kZWYgV2lkdGhJdGVyYXRvcl9oCiAjZGVmaW5lIFdpZHRoSXRlcmF0b3JfaAogCisj
aW5jbHVkZSAiR2x5cGhCdWZmZXIuaCIKICNpbmNsdWRlIDx1bmljb2RlL3VtYWNoaW5lLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC0yOSwx
MyArMzAsMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9udENhc2NhZGU7Ci1j
bGFzcyBHbHlwaEJ1ZmZlcjsKIGNsYXNzIEZvbnQ7CiBjbGFzcyBUZXh0UnVuOwogc3RydWN0IEds
eXBoRGF0YTsKK3N0cnVjdCBHbHlwaEluZGV4UmFuZ2U7CiBzdHJ1Y3QgT3JpZ2luYWxBZHZhbmNl
c0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlOwogCi10eXBlZGVmIFZlY3RvcjxzdGQ6OnBhaXI8
dW5zaWduZWQsIE9yaWdpbmFsQWR2YW5jZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNTcGFjZT4sIDY0
PiBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2U7Cit0eXBlZGVmIEhhc2hNYXA8dW5zaWduZWQsIE9y
aWdpbmFsQWR2YW5jZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNTcGFjZSwgRGVmYXVsdEhhc2g8dW5z
aWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gQ2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlOwogCiBzdHJ1Y3QgV2lkdGhJdGVyYXRvciB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CkBAIC01OCwxNiArNTksMjggQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBHbHlwaERhdGEgZ2x5cGhEYXRhRm9yQ2hhcmFjdGVyKFVDaGFyMzIsIGJvb2wgbWly
cm9yKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVGV4dEl0ZXJhdG9yPgotICAgIGlubGluZSB2
b2lkIGFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImLCBHbHlwaEJ1ZmZlciopOworICAgIGlu
bGluZSBjb25zdCBGb250JiBhZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiwgR2x5cGhCdWZm
ZXIqKTsKIAogICAgIGVudW0gY2xhc3MgVHJhbnNmb3Jtc1R5cGUgeyBOb25lLCBGb3JjZWQsIE5v
dEZvcmNlZCB9OwogICAgIFRyYW5zZm9ybXNUeXBlIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMo
Y29uc3QgR2x5cGhCdWZmZXIqLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3Vy
cmVudENoYXJhY3RlckluZGV4KSBjb25zdDsKICAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1z
KEdseXBoQnVmZmVyKiwgYm9vbCBsdHIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25l
ZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQmLCBib29sIGZvcmNlLCBDaGFyYWN0
ZXJzVHJlYXRlZEFzU3BhY2UmKTsKIAorICAgIGlubGluZSBib29sIGhhc0V4dHJhU3BhY2luZygp
IGNvbnN0OworICAgIHZvaWQgYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoR2x5cGhCdWZm
ZXImLCB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXgsIHVuc2lnbmVkIGNoYXJhY3RlckRl
c3RpbmF0aW9uSW5kZXgsIGNvbnN0IEZvbnQmIGxhc3RGb250RGF0YSk7CisgICAgc3RydWN0IEFk
ZGl0aW9uYWxXaWR0aCB7CisgICAgICAgIGZsb2F0IGxlZnRBZGRpdGlvbmFsV2lkdGg7CisgICAg
ICAgIGZsb2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoOworICAgICAgICBmbG9hdCBsZWZ0RXhwYW5z
aW9uQWRkaXRpb25hbFdpZHRoOworICAgICAgICBmbG9hdCByaWdodEV4cGFuc2lvbkFkZGl0aW9u
YWxXaWR0aDsKKyAgICB9OworICAgIEFkZGl0aW9uYWxXaWR0aCBjYWxjdWxhdGVBZGRpdGlvbmFs
V2lkdGgoR2x5cGhCdWZmZXImLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBjdXJyZW50Q2hhcmFj
dGVySW5kZXgsIHVuc2lnbmVkIGxlYWRpbmdHbHlwaEluZGV4LCB1bnNpZ25lZCB0cmFpbGluZ0ds
eXBoSW5kZXgpIGNvbnN0OworICAgIHZvaWQgYXBwbHlBZGRpdGlvbmFsV2lkdGgoR2x5cGhCdWZm
ZXImLCBHbHlwaEluZGV4UmFuZ2UsIGZsb2F0IGxlZnRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJp
Z2h0QWRkaXRpb25hbFdpZHRoLCBmbG9hdCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoLCBm
bG9hdCByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwgdW5zaWduZWQgY2hhcmFjdGVyRGVz
dGluYXRpb25JbmRleCwgY29uc3QgRm9udCYgbGFzdEZvbnREYXRhKTsKKwogICAgIGNvbnN0IEZv
bnRDYXNjYWRlJiBtX2ZvbnQ7CiAgICAgY29uc3QgVGV4dFJ1biYgbV9ydW47CiAgICAgSGFzaFNl
dDxjb25zdCBGb250Kj4qIG1fZmFsbGJhY2tGb250cyB7IG51bGxwdHIgfTsKIAorICAgIE9wdGlv
bmFsPHVuc2lnbmVkPiBtX2xhc3RDaGFyYWN0ZXJJbmRleDsKICAgICB1bnNpZ25lZCBtX2N1cnJl
bnRDaGFyYWN0ZXJJbmRleCB7IDAgfTsKICAgICBmbG9hdCBtX3J1bldpZHRoU29GYXIgeyAwIH07
CiAgICAgZmxvYXQgbV9leHBhbnNpb24geyAwIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406161</attachid>
            <date>2020-08-07 03:12:16 -0700</date>
            <delta_ts>2020-08-07 18:30:40 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>25482</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0
YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZQppbmRleCAxNTgy
ZTFhM2M1Ni4uNjFjN2NmMGViYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dl
YkNvcmUueGNzY2hlbWUKQEAgLTQwLDYgKzQwLDEwIEBACiAgICAgICBkZWJ1Z0RvY3VtZW50VmVy
c2lvbmluZyA9ICJZRVMiCiAgICAgICBkZWJ1Z1NlcnZpY2VFeHRlbnNpb24gPSAiaW50ZXJuYWwi
CiAgICAgICBhbGxvd0xvY2F0aW9uU2ltdWxhdGlvbiA9ICJZRVMiPgorICAgICAgPFBhdGhSdW5u
YWJsZQorICAgICAgICAgcnVubmFibGVEZWJ1Z2dpbmdNb2RlID0gIjAiCisgICAgICAgICBGaWxl
UGF0aCA9ICIvVXNlcnMvbW1heGZpZWxkL0J1aWxkL1Byb2R1Y3RzL0RlYnVnL01pbmlCcm93c2Vy
LmFwcCI+CisgICAgICA8L1BhdGhSdW5uYWJsZT4KICAgIDwvTGF1bmNoQWN0aW9uPgogICAgPFBy
b2ZpbGVBY3Rpb24KICAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJSZWxlYXNlIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmluZGV4IGU5
MTY0NjQwMDEzLi44MTRmN2Y2NjcwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcApAQCAtMTM5Miw4ICsxMzkyLDggQEAgR2x5cGhCdWZm
ZXIgRm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCB1bnNp
Z25lZCBmcm9tLCB1bnMKICAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBmaW5hbFJvdW5kaW5nV2lk
dGggKyBpdC5ydW5XaWR0aFNvRmFyKCkgLSBhZnRlcldpZHRoOwogICAgIH0gZWxzZQogICAgICAg
ICBpbml0aWFsQWR2YW5jZSA9IGJlZm9yZVdpZHRoOwotICAgIC8vIEZJWE1FOiBEZWFsIHdpdGgg
dGhlIEdseXBoQnVmZmVyJ3MgY3VycmVudCBpbml0aWFsQWR2YW5jZS4KLSAgICBnbHlwaEJ1ZmZl
ci5zZXRJbml0aWFsQWR2YW5jZShGbG9hdFNpemUoaW5pdGlhbEFkdmFuY2UsIDApKTsKKyAgICAv
LyBGSVhNRTogRG8gd2UgbmVlZCB0byBkbyBhbnl0aGluZyB3aXRoIGxvY2FsR2x5cGhCdWZmZXIn
cyBpbml0aWFsIGFkdmFuY2U/CisgICAgZ2x5cGhCdWZmZXIuc2V0SW5pdGlhbEFkdmFuY2UoRmxv
YXRTaXplKGluaXRpYWxBZHZhbmNlLCAwKSArIHN0YXRpY19jYXN0PEZsb2F0U2l6ZT4oZ2x5cGhC
dWZmZXIuaW5pdGlhbEFkdmFuY2UoKSkpOwogCiAgICAgLy8gVGhlIGdseXBoIGJ1ZmZlciBpcyBj
dXJyZW50bHkgaW4gbG9naWNhbCBvcmRlciwKICAgICAvLyBidXQgd2UgbmVlZCB0byByZXR1cm4g
dGhlIHJlc3VsdHMgaW4gdmlzdWFsIG9yZGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dseXBoQnVmZmVyLmgKaW5kZXggMTcyZDNhNzgyOGEuLjY5NmFkY2FiOTRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgKQEAg
LTI5LDYgKzI5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGbG9hdFBvaW50Lmgi
CiAjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjaW5jbHVkZSAiR2x5cGguaCIKICNpbmNsdWRlIDxj
bGltaXRzPgpAQCAtMTk4LDYgKzE5OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SW5pdGlh
bEFkdmFuY2UoR2x5cGhCdWZmZXJBZHZhbmNlIGluaXRpYWxBZHZhbmNlKSB7IG1faW5pdGlhbEFk
dmFuY2UgPSBpbml0aWFsQWR2YW5jZTsgfQogICAgIGNvbnN0IEdseXBoQnVmZmVyQWR2YW5jZSYg
aW5pdGlhbEFkdmFuY2UoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxBZHZhbmNlOyB9CisgICAg
dm9pZCBleHBhbmRJbml0aWFsQWR2YW5jZShmbG9hdCB3aWR0aCkgeyBtX2luaXRpYWxBZHZhbmNl
LnNldFdpZHRoKG1faW5pdGlhbEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsgfQogICAgIAogICAg
IHN0YXRpYyBjb25zdGV4cHIgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgbm9PZmZzZXQgPSBzdGQ6
Om51bWVyaWNfbGltaXRzPEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0Pjo6bWF4KCk7CiAgICAgdm9p
ZCBhZGQoR2x5cGggZ2x5cGgsIGNvbnN0IEZvbnQqIGZvbnQsIGZsb2F0IHdpZHRoLCBHbHlwaEJ1
ZmZlclN0cmluZ09mZnNldCBvZmZzZXRJblN0cmluZyA9IG5vT2Zmc2V0KQpAQCAtMjUwLDYgKzI1
MiwxMyBAQCBwdWJsaWM6CiAgICAgICAgIGxhc3RBZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZhbmNl
LndpZHRoKCkgKyB3aWR0aCk7CiAgICAgfQogCisgICAgdm9pZCBleHBhbmRBZHZhbmNlKHVuc2ln
bmVkIGluZGV4LCBmbG9hdCB3aWR0aCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8IHNp
emUoKSk7CisgICAgICAgIEdseXBoQnVmZmVyQWR2YW5jZSYgbGFzdEFkdmFuY2UgPSBtX2FkdmFu
Y2VzW2luZGV4XTsKKyAgICAgICAgbGFzdEFkdmFuY2Uuc2V0V2lkdGgobGFzdEFkdmFuY2Uud2lk
dGgoKSArIHdpZHRoKTsKKyAgICB9CisKICAgICB2b2lkIGV4cGFuZExhc3RBZHZhbmNlKEdseXBo
QnVmZmVyQWR2YW5jZSBleHBhbnNpb24pCiAgICAgewogICAgICAgICBBU1NFUlQoIWlzRW1wdHko
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0
b3IuY3BwCmluZGV4IDU5YjQ0MzNlNzkwLi45ZmQ4NWFmMDc5MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKQEAgLTQ1LDYgKzQ1
LDggQEAgV2lkdGhJdGVyYXRvcjo6V2lkdGhJdGVyYXRvcihjb25zdCBGb250Q2FzY2FkZSYgZm9u
dCwgY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2UKICAgICAsIG1fcmVxdWlyZXNTaGFwaW5nKGZv
bnQucmVxdWlyZXNTaGFwaW5nKCkpCiAgICAgLCBtX2ZvclRleHRFbXBoYXNpcyhmb3JUZXh0RW1w
aGFzaXMpCiB7CisgICAgLy8gRklYTUU6IFNob3VsZCB3ZSBjbGFtcCBtX2V4cGFuc2lvbiBzbyBp
dCBjYW4gbmV2ZXIgYmUgbmVnYXRpdmU/CisKICAgICBpZiAoIW1fZXhwYW5zaW9uKQogICAgICAg
ICBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5ID0gMDsKICAgICBlbHNlIHsKQEAgLTU5LDYgKzYx
LDggQEAgV2lkdGhJdGVyYXRvcjo6V2lkdGhJdGVyYXRvcihjb25zdCBGb250Q2FzY2FkZSYgZm9u
dCwgY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2UKIAogc3RydWN0IE9yaWdpbmFsQWR2YW5jZXNG
b3JDaGFyYWN0ZXJUcmVhdGVkQXNTcGFjZSB7CiBwdWJsaWM6CisgICAgT3JpZ2luYWxBZHZhbmNl
c0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlKCkgPSBkZWZhdWx0OworCiAgICAgZXhwbGljaXQg
T3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlKGJvb2wgaXNTcGFjZSwg
ZmxvYXQgYWR2YW5jZUJlZm9yZSwgZmxvYXQgYWR2YW5jZUF0KQogICAgICAgICA6IGNoYXJhY3Rl
cklzU3BhY2UoaXNTcGFjZSkKICAgICAgICAgLCBhZHZhbmNlQmVmb3JlQ2hhcmFjdGVyKGFkdmFu
Y2VCZWZvcmUpCkBAIC02Niw5ICs3MCw5IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAg
Ym9vbCBjaGFyYWN0ZXJJc1NwYWNlOwotICAgIGZsb2F0IGFkdmFuY2VCZWZvcmVDaGFyYWN0ZXI7
Ci0gICAgZmxvYXQgYWR2YW5jZUF0Q2hhcmFjdGVyOworICAgIGJvb2wgY2hhcmFjdGVySXNTcGFj
ZSA9IGZhbHNlOworICAgIGZsb2F0IGFkdmFuY2VCZWZvcmVDaGFyYWN0ZXIgPSAwOworICAgIGZs
b2F0IGFkdmFuY2VBdENoYXJhY3RlciA9IDA7CiB9OwogCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNT
b2Z0QmFua0Vtb2ppKFVDaGFyMzIgY29kZXBvaW50KQpAQCAtMTMxLDE4ICsxMzUsMTUgQEAgaW5s
aW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIq
IGdseXBoQnVmZmVyLCBib29sIGwKICAgICBpZiAoIWx0cikKICAgICAgICAgZ2x5cGhCdWZmZXIt
PnJldmVyc2UobGFzdEdseXBoQ291bnQsIGdseXBoQnVmZmVyU2l6ZSAtIGxhc3RHbHlwaENvdW50
KTsKIAotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYy
MDg6IFRoaXMgaXMgdG90YWxseSwgMTAwJSwgZnVyaW91c2x5LCB1dHRlcmx5LCBmcnVzdHJhdGlu
Z2x5IGJvZ3VzLgotICAgIC8vIFRoZXJlIGlzIGFic29sdXRlbHkgbm8gZ3VhcmFudGVlIHRoYXQg
Z2x5cGggaW5kaWNlcyBiZWZvcmUgc2hhcGluZyBoYXZlIGFueSByZWxhdGlvbiBhdCBhbGwgd2l0
aCBnbHlwaCBpbmRpY2VzIGFmdGVyIHNoYXBpbmcuCi0gICAgLy8gT25lIG9mIHRoZSBmdW5kYW1l
bnRhbCB0aGluZ3MgdGhhdCBzaGFwaW5nIGRvZXMgaXMgaW5zZXJ0IGdseXBoIGFsbCBvdmVyIHRo
ZSBwbGFjZS4KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNoYXJhY3RlcnNUcmVhdGVkQXNT
cGFjZS5zaXplKCk7ICsraSkgewotICAgICAgICBhdXRvIHNwYWNlT2Zmc2V0ID0gY2hhcmFjdGVy
c1RyZWF0ZWRBc1NwYWNlW2ldLmZpcnN0OwotICAgICAgICAvLyBTaGFwaW5nIG1heSBoYXZlIGRl
bGV0ZWQgdGhlIGdseXBoLgotICAgICAgICBpZiAoc3BhY2VPZmZzZXQgPj0gZ2x5cGhCdWZmZXJT
aXplKQorICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlwaENvdW50OyBpIDwgZ2x5cGhCdWZm
ZXJTaXplOyArK2kpIHsKKyAgICAgICAgYXV0byBjaGFyYWN0ZXJJbmRleCA9IGdseXBoQnVmZmVy
LT5zdHJpbmdPZmZzZXRBdChpKTsKKyAgICAgICAgYXV0byBpdGVyYXRvciA9IGNoYXJhY3RlcnNU
cmVhdGVkQXNTcGFjZS5maW5kKGNoYXJhY3RlckluZGV4KTsKKyAgICAgICAgaWYgKGl0ZXJhdG9y
ID09IGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5lbmQoKSkKICAgICAgICAgICAgIGNvbnRpbnVl
OwotICAgICAgICBjb25zdCBPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3Bh
Y2UmIG9yaWdpbmFsQWR2YW5jZXMgPSBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2VbaV0uc2Vjb25k
OwotICAgICAgICBpZiAoc3BhY2VPZmZzZXQgJiYgIW9yaWdpbmFsQWR2YW5jZXMuY2hhcmFjdGVy
SXNTcGFjZSkKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZHZhbmNlcyhzcGFjZU9mZnNldCAt
IDEpLT5zZXRXaWR0aChvcmlnaW5hbEFkdmFuY2VzLmFkdmFuY2VCZWZvcmVDaGFyYWN0ZXIpOwot
ICAgICAgICBnbHlwaEJ1ZmZlci0+YWR2YW5jZXMoc3BhY2VPZmZzZXQpLT5zZXRXaWR0aChvcmln
aW5hbEFkdmFuY2VzLmFkdmFuY2VBdENoYXJhY3Rlcik7CisgICAgICAgIGNvbnN0IGF1dG8mIG9y
aWdpbmFsQWR2YW5jZXMgPSBpdGVyYXRvci0+dmFsdWU7CisgICAgICAgIGlmIChpICYmICFvcmln
aW5hbEFkdmFuY2VzLmNoYXJhY3RlcklzU3BhY2UpCisgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+
YWR2YW5jZXMoaSAtIDEpLT5zZXRXaWR0aChvcmlnaW5hbEFkdmFuY2VzLmFkdmFuY2VCZWZvcmVD
aGFyYWN0ZXIpOworICAgICAgICBnbHlwaEJ1ZmZlci0+YWR2YW5jZXMoaSktPnNldFdpZHRoKG9y
aWdpbmFsQWR2YW5jZXMuYWR2YW5jZUF0Q2hhcmFjdGVyKTsKICAgICB9CiAgICAgY2hhcmFjdGVy
c1RyZWF0ZWRBc1NwYWNlLmNsZWFyKCk7CiAKQEAgLTE4MiwxMiArMTgzLDE3IEBAIHN0YXRpYyBp
bmxpbmUgc3RkOjpwYWlyPGJvb2wsIGJvb2w+IGV4cGFuc2lvbkxvY2F0aW9uKGJvb2wgaWRlb2dy
YXBoLCBib29sIHRyZWF0CiAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKGV4cGFuZExlZnQsIGV4
cGFuZFJpZ2h0KTsKIH0KIAoraW5saW5lIGJvb2wgV2lkdGhJdGVyYXRvcjo6aGFzRXh0cmFTcGFj
aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gKG1fZm9udC5sZXR0ZXJTcGFjaW5nKCkgfHwgbV9m
b250LndvcmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJs
ZWQoKTsKK30KKwogdGVtcGxhdGUgPHR5cGVuYW1lIFRleHRJdGVyYXRvcj4KLWlubGluZSB2b2lk
IFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRv
ciwgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyKQoraW5saW5lIGNvbnN0IEZvbnQmIFdpZHRoSXRl
cmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhC
dWZmZXIqIGdseXBoQnVmZmVyKQogewogICAgIC8vIFRoZSBjb3JlIGxvZ2ljIGhlcmUgbmVlZHMg
dG8gbWF0Y2ggRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpCiAgICAgYm9vbCBydGwg
PSBtX3J1bi5ydGwoKTsKLSAgICBib29sIGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQubGV0dGVy
U3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9y
dW4uc3BhY2luZ0Rpc2FibGVkKCk7CisgICAgYm9vbCBzaG91bGRBcHBseUV4dHJhU3BhY2luZ0Jl
Zm9yZVNoYXBpbmcgPSAhZ2x5cGhCdWZmZXIgJiYgaGFzRXh0cmFTcGFjaW5nKCk7CiAKICAgICBi
b29sIHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAm
IExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZUxlZnRFeHBhbnNpb247CiAgICAgYm9vbCBydW5G
b3JjZXNSaWdodEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgUmlnaHRF
eHBhbnNpb25NYXNrKSA9PSBGb3JjZVJpZ2h0RXhwYW5zaW9uOwpAQCAtMjE0LDYgKzIyMCw5IEBA
IGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3Im
IHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgd2hpbGUgKHRleHRJdGVyYXRvci5jb25zdW1l
KGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkpIHsKICAgICAgICAgY3VycmVudENoYXJhY3Rlcklu
ZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICB1bnNpZ25lZCBhZHZh
bmNlTGVuZ3RoID0gY2x1c3Rlckxlbmd0aDsKKyAgICAgICAgYm9vbCBjdXJyZW50SXNMYXN0Q2hh
cmFjdGVyID0gY3VycmVudENoYXJhY3RlckluZGV4ICsgYWR2YW5jZUxlbmd0aCA9PSBzdGF0aWNf
Y2FzdDxzaXplX3Q+KG1fcnVuLmxlbmd0aCgpKTsKKyAgICAgICAgaWYgKGN1cnJlbnRJc0xhc3RD
aGFyYWN0ZXIpCisgICAgICAgICAgICBtX2xhc3RDaGFyYWN0ZXJJbmRleCA9IGN1cnJlbnRDaGFy
YWN0ZXJJbmRleDsKICAgICAgICAgYm9vbCBjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZyA9ICFp
c0RlZmF1bHRJZ25vcmFibGVDb2RlUG9pbnQoY2hhcmFjdGVyKTsKICNpZiBVU0UoRlJFRVRZUEUp
CiAgICAgICAgIC8vIEZyZWV0eXBlIGJhc2VkIHBvcnRzIG9ubHkgb3ZlcnJpZGUgdGhlIGNoYXJh
Y3RlcnMgd2l0aCBEZWZhdWx0X0lnbm9yYWJsZSB1bmljb2RlIHByb3BlcnR5IHdoZW4gdGhlIGZv
bnQKQEAgLTI2NSw3ICsyNzQsMTEgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIGlmIChoYXNFeHRyYVNwYWNpbmcpIHsKKyAgICAg
ICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUw
NTI6IERlbGV0ZSB0aGlzIHNlY3Rpb24gaW4gZmF2b3Igb2YgYXBwbHlFeHRyYVNwYWNpbmdBZnRl
clNoYXBpbmcoKS4KKyAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gR2x5cGhCdWZmZXIsIHdlIGNh
bid0IGFwcGx5IHNwYWNpbmcgd2hlbiB3ZSdyZSBkb25lIGJlY2F1c2Ugd2UndmUgbG9zdCBhbGwg
dGhlIGluZm9ybWF0aW9uIGFib3V0IHdoaWNoIGNoYXJhY3RlciBpcyBhc3NvY2lhdGVkIHdpdGgg
d2hpY2ggZ2x5cGguCisgICAgICAgIC8vIEZJWE1FOiBJcyB0aGlzIHJlYWxseSB0cnVlPyBJZiB0
aGVyZSdzIG5vIEdseXBoQnVmZmVyLCB0aGVuIHRoZSBvbmx5IG91dHB1dCBvZiB0aGlzIGNsYXNz
IGlzIHRvdGFsIHdpZHRocy4gQ2FuJ3Qgd2UganVzdCBhZGQgaW4gdGhlIHRvdGFsIGV4dHJhIHNw
YWNpbmcgYXQgdGhlIGVuZD8KKyAgICAgICAgLy8gVGhhdCB3b3VsZCBiZSBmYXN0ZXIgdGhhbiBh
bGwgdGhpcyBjb21wbGljYXRlZCBsb2dpYyBhYm91dCBhc3NvY2lhdGluZyBlYWNoIGNoYXJhY3Rl
ciB3aXRoIHNwYWNlIG9uIGl0cyBsZWZ0IG9yIHJpZ2h0IHNpZGUuLi4KKyAgICAgICAgaWYgKHNo
b3VsZEFwcGx5RXh0cmFTcGFjaW5nQmVmb3JlU2hhcGluZykgewogICAgICAgICAgICAgLy8gQWNj
b3VudCBmb3IgbGV0dGVyLXNwYWNpbmcuCiAgICAgICAgICAgICBpZiAod2lkdGgpIHsKICAgICAg
ICAgICAgICAgICB3aWR0aCArPSBtX2ZvbnQubGV0dGVyU3BhY2luZygpOwpAQCAtMjc1LDkgKzI4
OCw4IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRl
cmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAKICAgICAgICAgICAgIHN0YXRpYyBib29s
IGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgPSBGb250Q2FzY2FkZTo6Y2FuRXhwYW5kQXJvdW5kSWRl
b2dyYXBoc0luQ29tcGxleFRleHQoKTsKICAgICAgICAgICAgIGJvb2wgdHJlYXRBc1NwYWNlID0g
Rm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpOwotICAgICAgICAgICAgYm9vbCBj
dXJyZW50SXNMYXN0Q2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlckluZGV4ICsgYWR2YW5jZUxl
bmd0aCA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KG1fcnVuLmxlbmd0aCgpKTsKLSAgICAgICAgICAg
IGJvb2wgZm9yY2VMZWZ0RXhwYW5zaW9uID0gZmFsc2U7IC8vIE9uIHRoZSBsZWZ0LCByZWdhcmRs
ZXNzIG9mIG1fcnVuLmx0cigpCi0gICAgICAgICAgICBib29sIGZvcmNlUmlnaHRFeHBhbnNpb24g
PSBmYWxzZTsgLy8gT24gdGhlIHJpZ2h0LCByZWdhcmRsZXNzIG9mIG1fcnVuLmx0cigpCisgICAg
ICAgICAgICBib29sIGZvcmNlTGVmdEV4cGFuc2lvbiA9IGZhbHNlOworICAgICAgICAgICAgYm9v
bCBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAgICAgICBib29sIGZvcmJpZExl
ZnRFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgICAgIGJvb2wgZm9yYmlkUmlnaHRFeHBhbnNp
b24gPSBmYWxzZTsKICAgICAgICAgICAgIGlmIChydW5Gb3JjZXNMZWZ0RXhwYW5zaW9uKQpAQCAt
MjkxLDcgKzMwMyw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5h
bChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICBib29s
IGlkZW9ncmFwaCA9IChleHBhbmRBcm91bmRJZGVvZ3JhcGhzICYmIEZvbnRDYXNjYWRlOjppc0NK
S0lkZW9ncmFwaE9yU3ltYm9sKGNoYXJhY3RlcikpOwogICAgICAgICAgICAgaWYgKHRyZWF0QXNT
cGFjZSB8fCBpZGVvZ3JhcGggfHwgZm9yY2VMZWZ0RXhwYW5zaW9uIHx8IGZvcmNlUmlnaHRFeHBh
bnNpb24pIHsKICAgICAgICAgICAgICAgICAvLyBEaXN0cmlidXRlIHRoZSBydW4ncyB0b3RhbCBl
eHBhbnNpb24gZXZlbmx5IG92ZXIgYWxsIGV4cGFuc2lvbiBvcHBvcnR1bml0aWVzIGluIHRoZSBy
dW4uCi0gICAgICAgICAgICAgICAgaWYgKG1fZXhwYW5zaW9uKSB7CisgICAgICAgICAgICAgICAg
aWYgKG1fZXhwYW5zaW9uKSB7IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBiZSAibV9leHBhbnNp
b24gPiAwIj8KICAgICAgICAgICAgICAgICAgICAgYXV0byBbZXhwYW5kTGVmdCwgZXhwYW5kUmln
aHRdID0gZXhwYW5zaW9uTG9jYXRpb24oaWRlb2dyYXBoLCB0cmVhdEFzU3BhY2UsIG1fcnVuLmx0
cigpLCBtX2lzQWZ0ZXJFeHBhbnNpb24sIGZvcmJpZExlZnRFeHBhbnNpb24sIGZvcmJpZFJpZ2h0
RXhwYW5zaW9uLCBmb3JjZUxlZnRFeHBhbnNpb24sIGZvcmNlUmlnaHRFeHBhbnNpb24pOwogICAg
ICAgICAgICAgICAgICAgICBpZiAoZXhwYW5kTGVmdCkgewogICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKG1fcnVuLmx0cigpKSB7CkBAIC0zMTIsNiArMzI0LDcgQEAgaW5saW5lIHZvaWQgV2lk
dGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBH
bHlwaEJ1ZmYKICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gSW5jcmVhc2UgbmV4dCB3aWR0aAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bw
b3J0dW5pdHk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFdoeSBhcmVu
J3Qgd2UgZG9pbmcgIm1fZXhwYW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7IiBo
ZXJlPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KQEAg
LTMzNCw4ICszNDcsOSBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogCiAgICAgICAgIGF1dG8g
dHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBs
YXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4KTsKICAgICAgICAgaWYgKHRyYW5z
Zm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lICYmIGdseXBoQnVmZmVyICYmIEZvbnRD
YXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hhcmFjdGVyKSkgewotICAgICAgICAgICAgY2hhcmFjdGVy
c1RyZWF0ZWRBc1NwYWNlLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihnbHlwaEJ1ZmZlci0+c2l6ZSgp
LAotICAgICAgICAgICAgICAgIE9yaWdpbmFsQWR2YW5jZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNT
cGFjZShjaGFyYWN0ZXIgPT0gJyAnLCBnbHlwaEJ1ZmZlci0+c2l6ZSgpID8gZ2x5cGhCdWZmZXIt
PmFkdmFuY2VBdChnbHlwaEJ1ZmZlci0+c2l6ZSgpIC0gMSkud2lkdGgoKSA6IDAsIHdpZHRoKSkp
OworICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2Uu
c2V0KGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwKKyAgICAgICAgICAgICAgICBPcmlnaW5hbEFkdmFu
Y2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2UoY2hhcmFjdGVyID09ICcgJywgZ2x5cGhCdWZm
ZXItPnNpemUoKSA/IGdseXBoQnVmZmVyLT5hZHZhbmNlQXQoZ2x5cGhCdWZmZXItPnNpemUoKSAt
IDEpLndpZHRoKCkgOiAwLCB3aWR0aCkpOworICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChhZGRS
ZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICht
X2FjY291bnRGb3JHbHlwaEJvdW5kcykgewpAQCAtMzcxLDE1ICszODUsMTQ3IEBAIGlubGluZSB2
b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVy
YXRvciwgR2x5cGhCdWZmCiAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFu
c2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRD
aGFyYWN0ZXJJbmRleCwgKmxhc3RGb250RGF0YSwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jt
c1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKICAgICBtX2N1cnJlbnRD
aGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKIAotICAgIGlmIChn
bHlwaEJ1ZmZlciAmJiBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkgewotICAgICAgICBpZiAo
bV9mb3JUZXh0RW1waGFzaXMpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGxhc3RGb250
RGF0YS0+emVyb1dpZHRoU3BhY2VHbHlwaCgpLCBsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlm
aWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOworICAgIG1fcnVuV2lkdGhTb0ZhciAr
PSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOworICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFz
dFJvdW5kaW5nV2lkdGg7CisKKyAgICByZXR1cm4gKmxhc3RGb250RGF0YTsKK30KKworYXV0byBX
aWR0aEl0ZXJhdG9yOjpjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoR2x5cGhCdWZmZXImIGdseXBo
QnVmZmVyLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIHVu
c2lnbmVkIGxlYWRpbmdHbHlwaEluZGV4LCB1bnNpZ25lZCB0cmFpbGluZ0dseXBoSW5kZXgpIGNv
bnN0IC0+IEFkZGl0aW9uYWxXaWR0aAoreworICAgIGZsb2F0IGxlZnRBZGRpdGlvbmFsV2lkdGgg
PSAwOworICAgIGZsb2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoID0gMDsKKyAgICBmbG9hdCBsZWZ0
RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoID0gMDsKKyAgICBmbG9hdCByaWdodEV4cGFuc2lvbkFk
ZGl0aW9uYWxXaWR0aCA9IDA7CisKKyAgICBhdXRvIGNoYXJhY3RlciA9IG1fcnVuW2N1cnJlbnRD
aGFyYWN0ZXJJbmRleF07CisgICAgYm9vbCB0cmVhdEFzU3BhY2UgPSBGb250Q2FzY2FkZTo6dHJl
YXRBc1NwYWNlKGNoYXJhY3Rlcik7CisKKyAgICB7CisgICAgICAgIC8vIFRoaXMgaXMgYW4gYXBw
cm94aW1hdGlvbiB0byBkZXRlcm1pbmUgaWYgdGhlIGNoYXJhY3RlciBpcyBub24tdmlzaWJsZS4g
Tm9uLXZpc2libGUgY2hhcmFjdGVycyBkb24ndCBnZXQgbGV0dGVyLXNwYWNpbmcuCisgICAgICAg
IGZsb2F0IGJhc2VXaWR0aCA9IDA7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGxlYWRpbmdH
bHlwaEluZGV4OyBpIDw9IHRyYWlsaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICAgICAgYmFz
ZVdpZHRoICs9IGdseXBoQnVmZmVyLmFkdmFuY2VBdChpKS53aWR0aCgpOworICAgICAgICBpZiAo
YmFzZVdpZHRoKQorICAgICAgICAgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gbV9mb250Lmxl
dHRlclNwYWNpbmcoKTsKKyAgICB9CisKKyAgICB7CisgICAgICAgIGlmICh0cmVhdEFzU3BhY2Ug
JiYgKGNoYXJhY3RlciAhPSB0YWJDaGFyYWN0ZXIgfHwgIW1fcnVuLmFsbG93VGFicygpKSAmJiAo
Y3VycmVudENoYXJhY3RlckluZGV4IHx8IGNoYXJhY3RlciA9PSBub0JyZWFrU3BhY2UpICYmIG1f
Zm9udC53b3JkU3BhY2luZygpKQorICAgICAgICAgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0g
bV9mb250LndvcmRTcGFjaW5nKCk7CisgICAgfQorCisgICAgaWYgKG1fZXhwYW5zaW9uID4gMCkg
eworICAgICAgICBib29sIGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgPSBtX2xhc3RDaGFyYWN0ZXJJ
bmRleCAmJiBjdXJyZW50Q2hhcmFjdGVySW5kZXggPT0gKm1fbGFzdENoYXJhY3RlckluZGV4Owor
CisgICAgICAgIGJvb2wgcnVuRm9yY2VzTGVmdEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25C
ZWhhdmlvcigpICYgTGVmdEV4cGFuc2lvbk1hc2spID09IEZvcmNlTGVmdEV4cGFuc2lvbjsKKyAg
ICAgICAgYm9vbCBydW5Gb3JjZXNSaWdodEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25CZWhh
dmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZVJpZ2h0RXhwYW5zaW9uOworICAg
ICAgICBib29sIHJ1bkZvcmJpZHNMZWZ0RXhwYW5zaW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2
aW9yKCkgJiBMZWZ0RXhwYW5zaW9uTWFzaykgPT0gRm9yYmlkTGVmdEV4cGFuc2lvbjsKKyAgICAg
ICAgYm9vbCBydW5Gb3JiaWRzUmlnaHRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZp
b3IoKSAmIFJpZ2h0RXhwYW5zaW9uTWFzaykgPT0gRm9yYmlkUmlnaHRFeHBhbnNpb247CisKKyAg
ICAgICAgYm9vbCBmb3JjZUxlZnRFeHBhbnNpb24gPSBmYWxzZTsKKyAgICAgICAgYm9vbCBmb3Jj
ZVJpZ2h0RXhwYW5zaW9uID0gZmFsc2U7CisgICAgICAgIGJvb2wgZm9yYmlkTGVmdEV4cGFuc2lv
biA9IGZhbHNlOworICAgICAgICBib29sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uID0gZmFsc2U7Cisg
ICAgICAgIGlmIChydW5Gb3JjZXNMZWZ0RXhwYW5zaW9uKQorICAgICAgICAgICAgZm9yY2VMZWZ0
RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyAhY3VycmVudENoYXJhY3RlckluZGV4IDogY3VycmVu
dElzTGFzdENoYXJhY3RlcjsKKyAgICAgICAgaWYgKHJ1bkZvcmNlc1JpZ2h0RXhwYW5zaW9uKQor
ICAgICAgICAgICAgZm9yY2VSaWdodEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gY3VycmVudElz
TGFzdENoYXJhY3RlciA6ICFjdXJyZW50Q2hhcmFjdGVySW5kZXg7CisgICAgICAgIGlmIChydW5G
b3JiaWRzTGVmdEV4cGFuc2lvbikKKyAgICAgICAgICAgIGZvcmJpZExlZnRFeHBhbnNpb24gPSBt
X3J1bi5sdHIoKSA/ICFjdXJyZW50Q2hhcmFjdGVySW5kZXggOiBjdXJyZW50SXNMYXN0Q2hhcmFj
dGVyOworICAgICAgICBpZiAocnVuRm9yYmlkc1JpZ2h0RXhwYW5zaW9uKQorICAgICAgICAgICAg
Zm9yYmlkUmlnaHRFeHBhbnNpb24gPSBtX3J1bi5sdHIoKSA/IGN1cnJlbnRJc0xhc3RDaGFyYWN0
ZXIgOiAhY3VycmVudENoYXJhY3RlckluZGV4OworCisgICAgICAgIHN0YXRpYyBib29sIGV4cGFu
ZEFyb3VuZElkZW9ncmFwaHMgPSBGb250Q2FzY2FkZTo6Y2FuRXhwYW5kQXJvdW5kSWRlb2dyYXBo
c0luQ29tcGxleFRleHQoKTsKKyAgICAgICAgYm9vbCBpZGVvZ3JhcGggPSAoZXhwYW5kQXJvdW5k
SWRlb2dyYXBocyAmJiBGb250Q2FzY2FkZTo6aXNDSktJZGVvZ3JhcGhPclN5bWJvbChjaGFyYWN0
ZXIpKTsKKworICAgICAgICBpZiAodHJlYXRBc1NwYWNlIHx8IGlkZW9ncmFwaCB8fCBmb3JjZUxl
ZnRFeHBhbnNpb24gfHwgZm9yY2VSaWdodEV4cGFuc2lvbikgeworICAgICAgICAgICAgYXV0byBb
ZXhwYW5kTGVmdCwgZXhwYW5kUmlnaHRdID0gZXhwYW5zaW9uTG9jYXRpb24oaWRlb2dyYXBoLCB0
cmVhdEFzU3BhY2UsIG1fcnVuLmx0cigpLCBtX2lzQWZ0ZXJFeHBhbnNpb24sIGZvcmJpZExlZnRF
eHBhbnNpb24sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uLCBmb3JjZUxlZnRFeHBhbnNpb24sIGZvcmNl
UmlnaHRFeHBhbnNpb24pOworCisgICAgICAgICAgICBpZiAoZXhwYW5kTGVmdCkKKyAgICAgICAg
ICAgICAgICBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bw
b3J0dW5pdHk7CisgICAgICAgICAgICBpZiAoZXhwYW5kUmlnaHQpCisgICAgICAgICAgICAgICAg
cmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggKz0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0
eTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB7IGxlZnRBZGRpdGlvbmFsV2lkdGgs
IHJpZ2h0QWRkaXRpb25hbFdpZHRoLCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoLCByaWdo
dEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCB9OworfQorCitzdHJ1Y3QgR2x5cGhJbmRleFJhbmdl
IHsKKyAgICAvLyBUaGlzIG1lYW5zIHRoZSBjaGFyYWN0ZXIgZ290IGV4cGFuZGVkIHRvIGdseXBo
cyBpbnNpZGUgdGhlIEdseXBoQnVmZmVyIGF0IGluZGljZXMgW2xlYWRpbmdHbHlwaEluZGV4LCB0
cmFpbGluZ0dseXBoSW5kZXhdLgorICAgIHVuc2lnbmVkIGxlYWRpbmdHbHlwaEluZGV4OworICAg
IHVuc2lnbmVkIHRyYWlsaW5nR2x5cGhJbmRleDsKK307CisKK3ZvaWQgV2lkdGhJdGVyYXRvcjo6
YXBwbHlBZGRpdGlvbmFsV2lkdGgoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBHbHlwaEluZGV4
UmFuZ2UgZ2x5cGhJbmRleFJhbmdlLCBmbG9hdCBsZWZ0QWRkaXRpb25hbFdpZHRoLCBmbG9hdCBy
aWdodEFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwg
ZmxvYXQgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIHVuc2lnbmVkIGNoYXJhY3RlckRl
c3RpbmF0aW9uSW5kZXgsIGNvbnN0IEZvbnQmIGxhc3RGb250RGF0YSkKK3sKKyAgICBtX2V4cGFu
c2lvbiAtPSBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICsgcmlnaHRFeHBhbnNpb25BZGRp
dGlvbmFsV2lkdGg7CisKKyAgICBsZWZ0QWRkaXRpb25hbFdpZHRoICs9IGxlZnRFeHBhbnNpb25B
ZGRpdGlvbmFsV2lkdGg7CisgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gcmlnaHRFeHBhbnNp
b25BZGRpdGlvbmFsV2lkdGg7CisKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gbGVmdEFkZGl0aW9u
YWxXaWR0aDsKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gcmlnaHRBZGRpdGlvbmFsV2lkdGg7CisK
KyAgICBpZiAobGVmdEFkZGl0aW9uYWxXaWR0aCkgeworICAgICAgICBpZiAobV9ydW4ubHRyKCkp
IHsKKyAgICAgICAgICAgIC8vIExlZnQgYWRkaXRpb25hbCB3aWR0aCBpbiBMVFIgbWVhbnMgdGhl
IHByZXZpb3VzIChsZWFkaW5nKSBnbHlwaCdzIHJpZ2h0IHNpZGUgZ2V0cyBleHBhbmRlZC4KKyAg
ICAgICAgICAgIGF1dG8gbGVhZGluZ0dseXBoSW5kZXggPSBnbHlwaEluZGV4UmFuZ2UubGVhZGlu
Z0dseXBoSW5kZXg7CisgICAgICAgICAgICBpZiAobGVhZGluZ0dseXBoSW5kZXgpCisgICAgICAg
ICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShsZWFkaW5nR2x5cGhJbmRleCAtIDEs
IGxlZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAg
ICAgLy8gRklYTUU6IERvZXMgdGhpcyBuZWVkIHRvIGluc2VydCBhIGdseXBoIGluc3RlYWQ/Cisg
ICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kSW5pdGlhbEFkdmFuY2UobGVmdEFkZGl0
aW9uYWxXaWR0aCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAvLyBMZWZ0IGFkZGl0aW9uYWwgd2lkdGggaW4gUlRMIG1lYW5zIHRoZSBuZXh0ICh0cmFpbGlu
ZykgZ2x5cGgncyByaWdodCBzaWRlIGdldHMgZXhwYW5kZWQuCisgICAgICAgICAgICBhdXRvIHRy
YWlsaW5nR2x5cGhJbmRleCA9IGdseXBoSW5kZXhSYW5nZS50cmFpbGluZ0dseXBoSW5kZXg7Cisg
ICAgICAgICAgICBpZiAodHJhaWxpbmdHbHlwaEluZGV4ICsgMSA8IGdseXBoQnVmZmVyLnNpemUo
KSkKKyAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKHRyYWlsaW5nR2x5
cGhJbmRleCArIDEsIGxlZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoZXJlIGlzIGEgYmV0dGVyIHdheSBvZiBkb2luZyB0
aGlzLgorICAgICAgICAgICAgICAgIC8vIFdlIGNhbiBzZXQgc29tZSBpbnRlcm5hbCBzdGF0ZSBz
dWNoIHRoYXQgaWYgYWR2YW5jZSgpIGdldHMgY2FsbGVkIGFnYWluLCB0aGUgZmlyc3QgZ2x5cGgg
dGhhdCBnZXRzIGFkZGVkIGF1dG9tYXRpY2FsbHkgZ2V0cyBleHBhbmRlZCB0byBpbmNsdWRlIHRo
aXMgYWR2YW5jZS4KKyAgICAgICAgICAgICAgICAvLyBBbHNvLCBpZiB0aGVyZSBhcmUgbm8gbW9y
ZSBjYWxscyB0byBhZHZhbmNlKCksIHdlIGNhbiBhZGQgYSBmaW5hbGl6ZSgpIG1ldGhvZCB3aGlj
aCB3b3VsZCBhZGQgdGhpcyB0byB0aGUgaW5pdGlhbCBhZHZhbmNlLgorICAgICAgICAgICAgICAg
IC8vIFBoaWxvc29waGljYWxseSwgd2Ugc2hvdWxkbid0IG5lZWQgdG8gYWRkIGV4dHJhIGdseXBo
cyB0byB0aGUgR2x5cGhCdWZmZXIuCisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogV2h5IHVz
ZSBaV1Mgc29tZXRpbWVzIGFuZCBzcGFjZSBvdGhlciB0aW1lcz8KKyAgICAgICAgICAgICAgICBp
ZiAobV9mb3JUZXh0RW1waGFzaXMpCisgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmFk
ZChsYXN0Rm9udERhdGEuemVyb1dpZHRoU3BhY2VHbHlwaCgpLCAmbGFzdEZvbnREYXRhLCBsZWZ0
QWRkaXRpb25hbFdpZHRoLCBjaGFyYWN0ZXJEZXN0aW5hdGlvbkluZGV4IC0gMSk7CisgICAgICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQobGFzdEZv
bnREYXRhLnNwYWNlR2x5cGgoKSwgJmxhc3RGb250RGF0YSwgbGVmdEFkZGl0aW9uYWxXaWR0aCwg
Y2hhcmFjdGVyRGVzdGluYXRpb25JbmRleCAtIDEpOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQorCisgICAgaWYgKHJpZ2h0QWRkaXRpb25hbFdpZHRoKSB7CisgICAgICAgIC8vIFJp
Z2h0IGFkZGl0aW9uYWwgd2lkdGggbWVhbnMgdGhlIGN1cnJlbnQgZ2x5cGgncyByaWdodCBzaWRl
IGdldHMgZXhwYW5kZWQuIFRoaXMgaXMgdHJ1ZSBmb3IgYm90aCBMVFIgYW5kIFJUTC4KKyAgICAg
ICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShnbHlwaEluZGV4UmFuZ2UudHJhaWxpbmdHbHlw
aEluZGV4LCByaWdodEFkZGl0aW9uYWxXaWR0aCk7CisgICAgfQorfQorCit2b2lkIFdpZHRoSXRl
cmF0b3I6OmFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFwaW5nKEdseXBoQnVmZmVyJiBnbHlwaEJ1
ZmZlciwgdW5zaWduZWQgY2hhcmFjdGVyU3RhcnRJbmRleCwgdW5zaWduZWQgZ2x5cGhCdWZmZXJT
dGFydEluZGV4LCB1bnNpZ25lZCBjaGFyYWN0ZXJEZXN0aW5hdGlvbkluZGV4LCBjb25zdCBGb250
JiBsYXN0Rm9udERhdGEpCit7CisgICAgVmVjdG9yPE9wdGlvbmFsPEdseXBoSW5kZXhSYW5nZT4+
IGNoYXJhY3RlckluZGV4VG9HbHlwaEluZGV4UmFuZ2UobV9ydW4ubGVuZ3RoKCkpOworICAgIGZv
ciAodW5zaWduZWQgaSA9IGdseXBoQnVmZmVyU3RhcnRJbmRleDsgaSA8IGdseXBoQnVmZmVyLnNp
emUoKTsgKytpKSB7CisgICAgICAgIGF1dG8gc3RyaW5nT2Zmc2V0ID0gZ2x5cGhCdWZmZXIuc3Ry
aW5nT2Zmc2V0QXQoaSk7CisgICAgICAgIGF1dG8mIGdseXBoSW5kZXhSYW5nZSA9IGNoYXJhY3Rl
ckluZGV4VG9HbHlwaEluZGV4UmFuZ2Vbc3RyaW5nT2Zmc2V0XTsKKyAgICAgICAgaWYgKGdseXBo
SW5kZXhSYW5nZSkKKyAgICAgICAgICAgIGdseXBoSW5kZXhSYW5nZS0+dHJhaWxpbmdHbHlwaElu
ZGV4ID0gaTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChsYXN0
Rm9udERhdGEtPnNwYWNlR2x5cGgoKSwgbGFzdEZvbnREYXRhLCBsZWZ0b3Zlckp1c3RpZmljYXRp
b25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkgLSAxKTsKKyAgICAgICAgICAgIGdseXBoSW5kZXhSYW5n
ZSA9IHt7aSwgaX19OwogICAgIH0KIAotICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNl
TGFzdFJvdW5kaW5nOwotICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lk
dGg7CisgICAgZm9yIChHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBjdXJyZW50Q2hhcmFjdGVySW5k
ZXggPSBjaGFyYWN0ZXJTdGFydEluZGV4OyBjdXJyZW50Q2hhcmFjdGVySW5kZXggPCBjaGFyYWN0
ZXJEZXN0aW5hdGlvbkluZGV4OyArK2N1cnJlbnRDaGFyYWN0ZXJJbmRleCkgeworICAgICAgICBh
dXRvJiBnbHlwaEluZGV4UmFuZ2UgPSBjaGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlW2N1
cnJlbnRDaGFyYWN0ZXJJbmRleF07CisgICAgICAgIGlmICghZ2x5cGhJbmRleFJhbmdlKQorICAg
ICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgYXV0byBhZGRpdGlvbmFsV2lkdGggPSBjYWxj
dWxhdGVBZGRpdGlvbmFsV2lkdGgoZ2x5cGhCdWZmZXIsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwg
Z2x5cGhJbmRleFJhbmdlLT5sZWFkaW5nR2x5cGhJbmRleCwgZ2x5cGhJbmRleFJhbmdlLT50cmFp
bGluZ0dseXBoSW5kZXgpOworICAgICAgICBhcHBseUFkZGl0aW9uYWxXaWR0aChnbHlwaEJ1ZmZl
ciwgZ2x5cGhJbmRleFJhbmdlLnZhbHVlKCksIGFkZGl0aW9uYWxXaWR0aC5sZWZ0QWRkaXRpb25h
bFdpZHRoLCBhZGRpdGlvbmFsV2lkdGgucmlnaHRBZGRpdGlvbmFsV2lkdGgsIGFkZGl0aW9uYWxX
aWR0aC5sZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoLCBhZGRpdGlvbmFsV2lkdGgucmlnaHRF
eHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXgsIGxhc3RG
b250RGF0YSk7CisKKyAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gKG1fcnVuLmx0cigpICYm
IGFkZGl0aW9uYWxXaWR0aC5yaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCkgfHwgKCFtX3J1
bi5sdHIoKSAmJiBhZGRpdGlvbmFsV2lkdGgubGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCk7
CisgICAgfQogfQogCiB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UodW5zaWduZWQgb2Zmc2V0
LCBHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIpCkBAIC0zOTIsMTQgKzUzOCwyNyBAQCB2b2lkIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2UodW5zaWduZWQgb2Zmc2V0LCBHbHlwaEJ1ZmZlciogZ2x5cGhC
dWZmZXIpCiAgICAgaWYgKG1fY3VycmVudENoYXJhY3RlckluZGV4ID49IG9mZnNldCkKICAgICAg
ICAgcmV0dXJuOwogCisgICAgdW5zaWduZWQgY2hhcmFjdGVyU3RhcnRJbmRleCA9IG1fY3VycmVu
dENoYXJhY3RlckluZGV4OworICAgIHVuc2lnbmVkIGdseXBoQnVmZmVyU3RhcnRJbmRleCA9IGds
eXBoQnVmZmVyID8gZ2x5cGhCdWZmZXItPnNpemUoKSA6IDA7CisKKyAgICBjb25zdCBGb250KiBs
YXN0Rm9udERhdGEgPSBudWxscHRyOwogICAgIGlmIChtX3J1bi5pczhCaXQoKSkgewogICAgICAg
ICBMYXRpbjFUZXh0SXRlcmF0b3IgdGV4dEl0ZXJhdG9yKG1fcnVuLmRhdGE4KG1fY3VycmVudENo
YXJhY3RlckluZGV4KSwgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsK
LSAgICAgICAgYWR2YW5jZUludGVybmFsKHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOwotICAg
ICAgICByZXR1cm47CisgICAgICAgIGxhc3RGb250RGF0YSA9ICZhZHZhbmNlSW50ZXJuYWwodGV4
dEl0ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgU3Vycm9nYXRl
UGFpckF3YXJlVGV4dEl0ZXJhdG9yIHRleHRJdGVyYXRvcihtX3J1bi5kYXRhMTYobV9jdXJyZW50
Q2hhcmFjdGVySW5kZXgpLCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCwgb2Zmc2V0LCBsZW5ndGgp
OworICAgICAgICBsYXN0Rm9udERhdGEgPSAmYWR2YW5jZUludGVybmFsKHRleHRJdGVyYXRvciwg
Z2x5cGhCdWZmZXIpOwogICAgIH0KLQotICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRv
ciB0ZXh0SXRlcmF0b3IobV9ydW4uZGF0YTE2KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9j
dXJyZW50Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKLSAgICBhZHZhbmNlSW50ZXJu
YWwodGV4dEl0ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7CisgICAgQVNTRVJUKGxhc3RGb250RGF0YSk7
CisKKyAgICAvLyBJbiBnZW5lcmFsLCB3ZSBoYXZlIHRvIGFwcGx5IHNwYWNpbmcgYWZ0ZXIgc2hh
cGluZywgYmVjYXVzZSBzaGFwaW5nIHJlcXVpcmVzIGl0cyBpbnB1dCB0byBiZSB1bnBlcnRlcmJl
ZCAoc2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTIpLgor
ICAgIC8vIEhvd2V2ZXIsIGlmIHdlIGRvbid0IGhhdmUgYSBnbHlwaCBidWZmZXIsIHRoZW4gd2Un
dmUgbG9zdCBhbGwgdGhlIGRhdGEgd2UgbmVlZCB0byBhcHBseSBzcGFjaW5nLCBzbyB3ZSBjYW4n
dCBkbyBpdCBoZXJlLgorICAgIC8vIChBbHNvLCBpZiB3ZSBkb24ndCBoYXZlIGEgZ2x5cGggYnVm
ZmVyLCB3ZSBjYW4ndCBwZXJmb3JtIHNoYXBpbmcsIHdoaWNoIG1lYW5zIHRoZXJlJ3Mgbm8gZGlm
ZmVyZW5jZSBiZXR3ZWVuIGFwcGx5aW5nIHNwYWNpbmcgYmVmb3JlIG9yIGFmdGVyIHNoYXBpbmcu
KQorICAgIC8vIFNvLCBpbiB0aGF0IHNpdHVhdGlvbiwgd2UgYXBwbHkgc3BhY2luZyB3aGlsZSBp
dGVyYXRpbmcgdGhyb3VnaCB0aGUgVGV4dFJ1bi4KKyAgICAvLyBCdXQsIGluIHRoZSBnZW5lcmFs
IGNhc2Ugd2hlbiB3ZSBoYXZlIGEgR2x5cGhCdWZmZXIsIHdlIGhhdmUgdG8gZG8gaXQgaGVyZSwg
YWZ0ZXIgc2hhcGluZy4KKyAgICBib29sIHNob3VsZEFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFw
aW5nID0gZ2x5cGhCdWZmZXIgJiYgaGFzRXh0cmFTcGFjaW5nKCk7CisgICAgaWYgKHNob3VsZEFw
cGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFwaW5nKQorICAgICAgICBhcHBseUV4dHJhU3BhY2luZ0Fm
dGVyU2hhcGluZygqZ2x5cGhCdWZmZXIsIGNoYXJhY3RlclN0YXJ0SW5kZXgsIGdseXBoQnVmZmVy
U3RhcnRJbmRleCwgb2Zmc2V0LCAqbGFzdEZvbnREYXRhKTsKIH0KIAogYm9vbCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlT25lQ2hhcmFjdGVyKGZsb2F0JiB3aWR0aCwgR2x5cGhCdWZmZXImIGdseXBo
QnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lk
dGhJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVy
YXRvci5oCmluZGV4IDM4Y2Y4ZWI5NzAzLi5lYjIzMTI5YjhjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaApAQCAtMjIsNiArMjIsNyBA
QAogI2lmbmRlZiBXaWR0aEl0ZXJhdG9yX2gKICNkZWZpbmUgV2lkdGhJdGVyYXRvcl9oCiAKKyNp
bmNsdWRlICJHbHlwaEJ1ZmZlci5oIgogI2luY2x1ZGUgPHVuaWNvZGUvdW1hY2hpbmUuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTI5LDEz
ICszMCwxMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGb250Q2FzY2FkZTsKLWNs
YXNzIEdseXBoQnVmZmVyOwogY2xhc3MgRm9udDsKIGNsYXNzIFRleHRSdW47CiBzdHJ1Y3QgR2x5
cGhEYXRhOworc3RydWN0IEdseXBoSW5kZXhSYW5nZTsKIHN0cnVjdCBPcmlnaW5hbEFkdmFuY2Vz
Rm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2U7CiAKLXR5cGVkZWYgVmVjdG9yPHN0ZDo6cGFpcjx1
bnNpZ25lZCwgT3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlPiwgNjQ+
IENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZTsKK3R5cGVkZWYgSGFzaE1hcDx1bnNpZ25lZCwgT3Jp
Z2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlLCBEZWZhdWx0SGFzaDx1bnNp
Z25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiBDaGFy
YWN0ZXJzVHJlYXRlZEFzU3BhY2U7CiAKIHN0cnVjdCBXaWR0aEl0ZXJhdG9yIHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKQEAgLTU4LDE2ICs1OSwyOCBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIEdseXBoRGF0YSBnbHlwaERhdGFGb3JDaGFyYWN0ZXIoVUNoYXIzMiwgYm9vbCBtaXJy
b3IpOwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+Ci0gICAgaW5saW5lIHZv
aWQgYWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYsIEdseXBoQnVmZmVyKik7CisgICAgaW5s
aW5lIGNvbnN0IEZvbnQmIGFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImLCBHbHlwaEJ1ZmZl
ciopOwogCiAgICAgZW51bSBjbGFzcyBUcmFuc2Zvcm1zVHlwZSB7IE5vbmUsIEZvcmNlZCwgTm90
Rm9yY2VkIH07CiAgICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhj
b25zdCBHbHlwaEJ1ZmZlciosIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJy
ZW50Q2hhcmFjdGVySW5kZXgpIGNvbnN0OwogICAgIGZsb2F0IGFwcGx5Rm9udFRyYW5zZm9ybXMo
R2x5cGhCdWZmZXIqLCBib29sIGx0ciwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVk
IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY29uc3QgRm9udCYsIGJvb2wgZm9yY2UsIENoYXJhY3Rl
cnNUcmVhdGVkQXNTcGFjZSYpOwogCisgICAgaW5saW5lIGJvb2wgaGFzRXh0cmFTcGFjaW5nKCkg
Y29uc3Q7CisgICAgdm9pZCBhcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZyhHbHlwaEJ1ZmZl
ciYsIHVuc2lnbmVkIGNoYXJhY3RlclN0YXJ0SW5kZXgsIHVuc2lnbmVkIGdseXBoQnVmZmVyU3Rh
cnRJbmRleCwgdW5zaWduZWQgY2hhcmFjdGVyRGVzdGluYXRpb25JbmRleCwgY29uc3QgRm9udCYg
bGFzdEZvbnREYXRhKTsKKyAgICBzdHJ1Y3QgQWRkaXRpb25hbFdpZHRoIHsKKyAgICAgICAgZmxv
YXQgbGVmdEFkZGl0aW9uYWxXaWR0aDsKKyAgICAgICAgZmxvYXQgcmlnaHRBZGRpdGlvbmFsV2lk
dGg7CisgICAgICAgIGZsb2F0IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisgICAgICAg
IGZsb2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworICAgIH07CisgICAgQWRkaXRp
b25hbFdpZHRoIGNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYsIEdseXBoQnVm
ZmVyU3RyaW5nT2Zmc2V0IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgdW5zaWduZWQgbGVhZGluZ0ds
eXBoSW5kZXgsIHVuc2lnbmVkIHRyYWlsaW5nR2x5cGhJbmRleCkgY29uc3Q7CisgICAgdm9pZCBh
cHBseUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYsIEdseXBoSW5kZXhSYW5nZSwgZmxvYXQg
bGVmdEFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IGxl
ZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25h
bFdpZHRoLCB1bnNpZ25lZCBjaGFyYWN0ZXJEZXN0aW5hdGlvbkluZGV4LCBjb25zdCBGb250JiBs
YXN0Rm9udERhdGEpOworCiAgICAgY29uc3QgRm9udENhc2NhZGUmIG1fZm9udDsKICAgICBjb25z
dCBUZXh0UnVuJiBtX3J1bjsKICAgICBIYXNoU2V0PGNvbnN0IEZvbnQqPiogbV9mYWxsYmFja0Zv
bnRzIHsgbnVsbHB0ciB9OwogCisgICAgT3B0aW9uYWw8dW5zaWduZWQ+IG1fbGFzdENoYXJhY3Rl
ckluZGV4OwogICAgIHVuc2lnbmVkIG1fY3VycmVudENoYXJhY3RlckluZGV4IHsgMCB9OwogICAg
IGZsb2F0IG1fcnVuV2lkdGhTb0ZhciB7IDAgfTsKICAgICBmbG9hdCBtX2V4cGFuc2lvbiB7IDAg
fTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406240</attachid>
            <date>2020-08-07 18:30:41 -0700</date>
            <delta_ts>2020-08-07 22:38:30 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-214769-20200807183040.patch</filename>
            <type>text/plain</type>
            <size>26688</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1Mzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmNDk1NjNkOTg0NWVl
NDg5ZmVkYjg2MjJiZjBkZGQ3NDI2N2U3MC4uYjg1OGMyNzA3NzBlYWYwOWYxZjZlNmUwNjI0Y2Yy
ZTM2ZTMyMmQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA4LTA3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBv
ZiBDaGluZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAx
NCBiZXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YXNjYWRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJh
bmdlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVU
ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9y
U2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6YWRqdXN0
U2VsZWN0aW9uUmVjdEZvclNpbXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9u
dENhc2NhZGU6Om9mZnNldEZvclBvc2l0aW9uRm9yU2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Okds
eXBoQnVmZmVyOjpleHBhbmRJbml0aWFsQWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpHbHlw
aEJ1ZmZlcjo6ZXhwYW5kQWR2YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lk
dGhJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0
ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2lu
ZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwpOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6Y2FsY3VsYXRlQWRkaXRpb25h
bFdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5QWRk
aXRpb25hbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5RXh0
cmFTcGFjaW5nQWZ0ZXJTaGFwaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6
OmZpbmFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdUZXh0TWV0cmljc0J1aWxkZXI6Om1lYXN1cmVUZXh0UmVuZGVyZXIpOgorCiAyMDIwLTA4
LTA3ICBKYW1lcyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBPZmYgYnkgb25lIGVycm9yIGluIHRyYW5zZm9ybSBmZWVkYmFjayBidWZmZXIgYmluZGluZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmlu
ZGV4IGMwNTMwZWRlMDAwM2ZhZTc0Nzc5MTdhMDFlNjg3NDgzMDYzNzkxZjMuLmI1OWRkZGZhNmVi
NWEzY2U0MWFlYTE3ZGEyYmFiN2ZkMDNlNDc0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTM3OSw2ICszNzksNyBAQCBmbG9h
dCBGb250Q2FzY2FkZTo6d2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVuJiBydW4sIHVuc2ln
bmVkIGZyb20sIHVuc2lnbmVkCiAgICAgICAgIG9mZnNldEFmdGVyUmFuZ2UgPSBzaW1wbGVJdGVy
YXRvci5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNpbXBsZUl0ZXJhdG9yLmFkdmFuY2UocnVu
Lmxlbmd0aCgpLCBudWxscHRyKTsKICAgICAgICAgdG90YWxXaWR0aCA9IHNpbXBsZUl0ZXJhdG9y
LnJ1bldpZHRoU29GYXIoKTsKKyAgICAgICAgc2ltcGxlSXRlcmF0b3IuZmluYWxpemUobnVsbHB0
cik7CiAgICAgfQogCiAgICAgaWYgKG91dFdpZHRoQmVmb3JlUmFuZ2UpCkBAIC0xMzg5LDExICsx
MzkwLDE2IEBAIEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0
IFRleHRSdW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgaWYgKHJ1bi5ydGwoKSkgewog
ICAgICAgICBmbG9hdCBmaW5hbFJvdW5kaW5nV2lkdGggPSBpdC5maW5hbFJvdW5kaW5nV2lkdGgo
KTsKICAgICAgICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksICZsb2NhbEdseXBoQnVmZmVyKTsK
KyAgICAgICAgaXQuZmluYWxpemUoJmxvY2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFs
QWR2YW5jZSA9IGZpbmFsUm91bmRpbmdXaWR0aCArIGl0LnJ1bldpZHRoU29GYXIoKSAtIGFmdGVy
V2lkdGg7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAgICAgaXQuZmluYWxpemUoJmxv
Y2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJlZm9yZVdpZHRoOwot
ICAgIC8vIEZJWE1FOiBEZWFsIHdpdGggdGhlIEdseXBoQnVmZmVyJ3MgY3VycmVudCBpbml0aWFs
QWR2YW5jZS4KLSAgICBnbHlwaEJ1ZmZlci5zZXRJbml0aWFsQWR2YW5jZShGbG9hdFNpemUoaW5p
dGlhbEFkdmFuY2UsIDApKTsKKyAgICB9CisgICAgLy8gRklYTUU6IERvIHdlIG5lZWQgdG8gZG8g
YW55dGhpbmcgd2l0aCBsb2NhbEdseXBoQnVmZmVyJ3MgaW5pdGlhbCBhZHZhbmNlPworICAgIC8v
IEl0IHNlZW1zIGxpa2UgdGhlIGFuc3dlciBpcyAibm8iIGJlY2F1c2UgbG9jYWxHbHlwaEJ1ZmZl
cidzIGluaXRpYWwgYWR2YW5jZSB3aWxsIGNhdXNlIGl0cyBydW5XaWR0aFNvRmFyKCkgdG8gYmUg
aW5jcmVhc2VkLCB0aGVyZWJ5IG1vdmluZyB0aGUgcmVsZXZhbnQgZ2x5cGhzIGFwcHJvcHJpYXRl
bHkuCisgICAgLy8gQnV0IHRoaXMgcHJvYmFibHkgcmVxdWlyZXMgbW9yZSBpbnZlc3RpZ2F0aW9u
L3Rob3VnaHQuCisgICAgZ2x5cGhCdWZmZXIuc2V0SW5pdGlhbEFkdmFuY2UoRmxvYXRTaXplKGlu
aXRpYWxBZHZhbmNlLCAwKSArIHN0YXRpY19jYXN0PEZsb2F0U2l6ZT4oZ2x5cGhCdWZmZXIuaW5p
dGlhbEFkdmFuY2UoKSkpOwogCiAgICAgaWYgKHJ1bi5ydGwoKSkKICAgICAgICAgZ2x5cGhCdWZm
ZXIucmV2ZXJzZSgwLCBnbHlwaEJ1ZmZlci5zaXplKCkpOwpAQCAtMTUyMyw3ICsxNTI5LDkgQEAg
ZmxvYXQgRm9udENhc2NhZGU6OmZsb2F0V2lkdGhGb3JTaW1wbGVUZXh0KGNvbnN0IFRleHRSdW4m
IHJ1biwgSGFzaFNldDxjb25zdCBGb24KIHsKICAgICBXaWR0aEl0ZXJhdG9yIGl0KCp0aGlzLCBy
dW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIEdseXBoQnVmZmVyIGdseXBo
QnVmZmVyOwotICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCAoZW5hYmxlS2VybmluZygpIHx8
IHJlcXVpcmVzU2hhcGluZygpKSA/ICZnbHlwaEJ1ZmZlciA6IG51bGxwdHIpOworICAgIEdseXBo
QnVmZmVyKiBnbHlwaEJ1ZmZlckFyZ3VtZW50ID0gKGVuYWJsZUtlcm5pbmcoKSB8fCByZXF1aXJl
c1NoYXBpbmcoKSkgPyAmZ2x5cGhCdWZmZXIgOiBudWxscHRyOworICAgIGl0LmFkdmFuY2UocnVu
Lmxlbmd0aCgpLCBnbHlwaEJ1ZmZlckFyZ3VtZW50KTsKKyAgICBpdC5maW5hbGl6ZShnbHlwaEJ1
ZmZlckFyZ3VtZW50KTsKIAogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7CiAgICAgICAgIGdseXBo
T3ZlcmZsb3ctPnRvcCA9IHN0ZDo6bWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigt
aXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSAoZ2x5cGhPdmVyZmxvdy0+Y29tcHV0ZUJvdW5k
cyA/IDAgOiBmb250TWV0cmljcygpLmFzY2VudCgpKSk7CkBAIC0xNTU4LDEwICsxNTY2LDEzIEBA
IHZvaWQgRm9udENhc2NhZGU6OmFkanVzdFNlbGVjdGlvblJlY3RGb3JTaW1wbGVUZXh0KGNvbnN0
IFRleHRSdW4mIHJ1biwgTGF5b3V0UmVjCiAKICAgICBpZiAocnVuLnJ0bCgpKSB7CiAgICAgICAg
IGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCAmZ2x5cGhCdWZmZXIpOworICAgICAgICBpdC5maW5h
bGl6ZSgmZ2x5cGhCdWZmZXIpOwogICAgICAgICBmbG9hdCB0b3RhbFdpZHRoID0gaXQucnVuV2lk
dGhTb0ZhcigpOwogICAgICAgICBzZWxlY3Rpb25SZWN0Lm1vdmUodG90YWxXaWR0aCAtIGFmdGVy
V2lkdGgsIDApOwotICAgIH0gZWxzZQorICAgIH0gZWxzZSB7CisgICAgICAgIGl0LmZpbmFsaXpl
KCZnbHlwaEJ1ZmZlcik7CiAgICAgICAgIHNlbGVjdGlvblJlY3QubW92ZShiZWZvcmVXaWR0aCwg
MCk7CisgICAgfQogICAgIHNlbGVjdGlvblJlY3Quc2V0V2lkdGgoTGF5b3V0VW5pdDo6ZnJvbUZs
b2F0Q2VpbChhZnRlcldpZHRoIC0gYmVmb3JlV2lkdGgpKTsKIH0KIApAQCAtMTYyMCw2ICsxNjMx
LDcgQEAgaW50IEZvbnRDYXNjYWRlOjpvZmZzZXRGb3JQb3NpdGlvbkZvclNpbXBsZVRleHQoY29u
c3QgVGV4dFJ1biYgcnVuLCBmbG9hdCB4LCBib28KICAgICAgICAgfQogICAgIH0KIAorICAgIGl0
LmZpbmFsaXplKCZsb2NhbEdseXBoQnVmZmVyKTsKICAgICByZXR1cm4gb2Zmc2V0OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaAppbmRleCAx
NzJkM2E3ODI4YWQwOTA3MzMwZTdjMjRmZWY1YzkzYzVmNzYyYmIwLi42OTZhZGNhYjk0ZjZiOTcy
NDBjYjMyZjc5YTk5NmMxZWE0NjhhOTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dseXBoQnVmZmVyLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI3ByYWdtYSBvbmNl
CiAKKyNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjaW5j
bHVkZSAiR2x5cGguaCIKICNpbmNsdWRlIDxjbGltaXRzPgpAQCAtMTk4LDYgKzE5OSw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgc2V0SW5pdGlhbEFkdmFuY2UoR2x5cGhCdWZmZXJBZHZhbmNlIGlu
aXRpYWxBZHZhbmNlKSB7IG1faW5pdGlhbEFkdmFuY2UgPSBpbml0aWFsQWR2YW5jZTsgfQogICAg
IGNvbnN0IEdseXBoQnVmZmVyQWR2YW5jZSYgaW5pdGlhbEFkdmFuY2UoKSBjb25zdCB7IHJldHVy
biBtX2luaXRpYWxBZHZhbmNlOyB9CisgICAgdm9pZCBleHBhbmRJbml0aWFsQWR2YW5jZShmbG9h
dCB3aWR0aCkgeyBtX2luaXRpYWxBZHZhbmNlLnNldFdpZHRoKG1faW5pdGlhbEFkdmFuY2Uud2lk
dGgoKSArIHdpZHRoKTsgfQogICAgIAogICAgIHN0YXRpYyBjb25zdGV4cHIgR2x5cGhCdWZmZXJT
dHJpbmdPZmZzZXQgbm9PZmZzZXQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPEdseXBoQnVmZmVyU3Ry
aW5nT2Zmc2V0Pjo6bWF4KCk7CiAgICAgdm9pZCBhZGQoR2x5cGggZ2x5cGgsIGNvbnN0IEZvbnQq
IGZvbnQsIGZsb2F0IHdpZHRoLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBvZmZzZXRJblN0cmlu
ZyA9IG5vT2Zmc2V0KQpAQCAtMjUwLDYgKzI1MiwxMyBAQCBwdWJsaWM6CiAgICAgICAgIGxhc3RB
ZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0aCk7CiAgICAgfQogCisg
ICAgdm9pZCBleHBhbmRBZHZhbmNlKHVuc2lnbmVkIGluZGV4LCBmbG9hdCB3aWR0aCkKKyAgICB7
CisgICAgICAgIEFTU0VSVChpbmRleCA8IHNpemUoKSk7CisgICAgICAgIEdseXBoQnVmZmVyQWR2
YW5jZSYgbGFzdEFkdmFuY2UgPSBtX2FkdmFuY2VzW2luZGV4XTsKKyAgICAgICAgbGFzdEFkdmFu
Y2Uuc2V0V2lkdGgobGFzdEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsKKyAgICB9CisKICAgICB2
b2lkIGV4cGFuZExhc3RBZHZhbmNlKEdseXBoQnVmZmVyQWR2YW5jZSBleHBhbnNpb24pCiAgICAg
ewogICAgICAgICBBU1NFUlQoIWlzRW1wdHkoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCmluZGV4IDU0NTViYmRmNzA1NzRmZDU1
NzJlNmNjNjM2Mzg4ZTNhMmFjYzIxM2EuLjVlNDdhNGRmZTU2ODM1NmU3ZjI1ZDVlYTAxOGU1MGI3
NzU0YjMwMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCkBAIC00NSw2ICs0NSw4IEBAIFdpZHRoSXRlcmF0b3I6OldpZHRoSXRl
cmF0b3IoY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNl
CiAgICAgLCBtX3JlcXVpcmVzU2hhcGluZyhmb250LnJlcXVpcmVzU2hhcGluZygpKQogICAgICwg
bV9mb3JUZXh0RW1waGFzaXMoZm9yVGV4dEVtcGhhc2lzKQogeworICAgIC8vIEZJWE1FOiBTaG91
bGQgd2UgY2xhbXAgbV9leHBhbnNpb24gc28gaXQgY2FuIG5ldmVyIGJlIG5lZ2F0aXZlPworCiAg
ICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSA9
IDA7CiAgICAgZWxzZSB7CkBAIC0xNjgsMTIgKzE3MCwxNyBAQCBzdGF0aWMgaW5saW5lIHN0ZDo6
cGFpcjxib29sLCBib29sPiBleHBhbnNpb25Mb2NhdGlvbihib29sIGlkZW9ncmFwaCwgYm9vbCB0
cmVhdAogICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihleHBhbmRMZWZ0LCBleHBhbmRSaWdodCk7
CiB9CiAKK2lubGluZSBib29sIFdpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2luZygpIGNvbnN0
Cit7CisgICAgcmV0dXJuIChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3Bh
Y2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7Cit9CisK
IHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVm
ZmVyKiBnbHlwaEJ1ZmZlcikKIHsKICAgICAvLyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRv
IG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2ltcGxlVGV4dCgpCiAgICAgYm9vbCBy
dGwgPSBtX3J1bi5ydGwoKTsKLSAgICBib29sIGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQubGV0
dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAh
bV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7CisgICAgYm9vbCBzaG91bGRBcHBseUV4dHJhU3BhY2lu
Z0JlZm9yZVNoYXBpbmcgPSAhZ2x5cGhCdWZmZXIgJiYgaGFzRXh0cmFTcGFjaW5nKCk7CiAKICAg
ICBib29sIHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3Io
KSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZUxlZnRFeHBhbnNpb247CiAgICAgYm9vbCBy
dW5Gb3JjZXNSaWdodEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgUmln
aHRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZVJpZ2h0RXhwYW5zaW9uOwpAQCAtMTkxLDYgKzE5OCw3
IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0
b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgY29uc3QgRm9udCogbGFzdEZvbnREYXRh
ID0gJnByaW1hcnlGb250OwogICAgIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZm
ZXIgPyBnbHlwaEJ1ZmZlci0+c2l6ZSgpIDogMDsKIAorICAgIGF1dG8gY3VycmVudENoYXJhY3Rl
ckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgIFVDaGFyMzIgY2hhcmFj
dGVyID0gMDsKICAgICBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyID0gMDsKICAgICB1bnNpZ25l
ZCBjbHVzdGVyTGVuZ3RoID0gMDsKQEAgLTE5OCw3ICsyMDYsMTEgQEAgaW5saW5lIHZvaWQgV2lk
dGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBH
bHlwaEJ1ZmYKICAgICBTdHJpbmcgbm9ybWFsaXplZFNwYWNlc1N0cmluZ0NhY2hlOwogICAgIC8v
IFdlIGFyZSBpdGVyYXRpbmcgaW4gc3RyaW5nIG9yZGVyLCBub3QgZ2x5cGggb3JkZXIuIENvbXBh
cmUgdGhpcyB0byBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2Vz
KCkKICAgICB3aGlsZSAodGV4dEl0ZXJhdG9yLmNvbnN1bWUoY2hhcmFjdGVyLCBjbHVzdGVyTGVu
Z3RoKSkgeworICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3Vy
cmVudEluZGV4KCk7CiAgICAgICAgIHVuc2lnbmVkIGFkdmFuY2VMZW5ndGggPSBjbHVzdGVyTGVu
Z3RoOworICAgICAgICBib29sIGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFj
dGVySW5kZXggKyBhZHZhbmNlTGVuZ3RoID09IHN0YXRpY19jYXN0PHNpemVfdD4obV9ydW4ubGVu
Z3RoKCkpOworICAgICAgICBpZiAoY3VycmVudElzTGFzdENoYXJhY3RlcikKKyAgICAgICAgICAg
IG1fbGFzdENoYXJhY3RlckluZGV4ID0gY3VycmVudENoYXJhY3RlckluZGV4OwogICAgICAgICBi
b29sIGNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nID0gIWlzRGVmYXVsdElnbm9yYWJsZUNvZGVQ
b2ludChjaGFyYWN0ZXIpOwogI2lmIFVTRShGUkVFVFlQRSkKICAgICAgICAgLy8gRnJlZXR5cGUg
YmFzZWQgcG9ydHMgb25seSBvdmVycmlkZSB0aGUgY2hhcmFjdGVycyB3aXRoIERlZmF1bHRfSWdu
b3JhYmxlIHVuaWNvZGUgcHJvcGVydHkgd2hlbiB0aGUgZm9udApAQCAtMjA4LDcgKzIyMCw2IEBA
IGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3Im
IHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAg
fQogI2VuZGlmCi0gICAgICAgIGludCBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0
b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIGNvbnN0IEdseXBoRGF0YSYgZ2x5cGhEYXRhID0g
bV9mb250LmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIHJ0bCk7CiAgICAgICAgIEds
eXBoIGdseXBoID0gZ2x5cGhEYXRhLmdseXBoOwogICAgICAgICBpZiAoIWdseXBoICYmICFjaGFy
YWN0ZXJNdXN0RHJhd1NvbWV0aGluZykgewpAQCAtMjUxLDcgKzI2MiwxMSBAQCBpbmxpbmUgdm9p
ZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0
b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGhh
c0V4dHJhU3BhY2luZykgeworICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNTA1MjogRGVsZXRlIHRoaXMgc2VjdGlvbiBpbiBmYXZvciBv
ZiBhcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZygpLgorICAgICAgICAvLyBJZiB0aGVyZSBp
cyBubyBHbHlwaEJ1ZmZlciwgd2UgY2FuJ3QgYXBwbHkgc3BhY2luZyB3aGVuIHdlJ3JlIGRvbmUg
YmVjYXVzZSB3ZSd2ZSBsb3N0IGFsbCB0aGUgaW5mb3JtYXRpb24gYWJvdXQgd2hpY2ggY2hhcmFj
dGVyIGlzIGFzc29jaWF0ZWQgd2l0aCB3aGljaCBnbHlwaC4KKyAgICAgICAgLy8gRklYTUU6IElz
IHRoaXMgcmVhbGx5IHRydWU/IElmIHRoZXJlJ3Mgbm8gR2x5cGhCdWZmZXIsIHRoZW4gdGhlIG9u
bHkgb3V0cHV0IG9mIHRoaXMgY2xhc3MgaXMgdG90YWwgd2lkdGhzLiBDYW4ndCB3ZSBqdXN0IGFk
ZCBpbiB0aGUgdG90YWwgZXh0cmEgc3BhY2luZyBhdCB0aGUgZW5kPworICAgICAgICAvLyBUaGF0
IHdvdWxkIGJlIGZhc3RlciB0aGFuIGFsbCB0aGlzIGNvbXBsaWNhdGVkIGxvZ2ljIGFib3V0IGFz
c29jaWF0aW5nIGVhY2ggY2hhcmFjdGVyIHdpdGggc3BhY2Ugb24gaXRzIGxlZnQgb3IgcmlnaHQg
c2lkZS4uLgorICAgICAgICBpZiAoc2hvdWxkQXBwbHlFeHRyYVNwYWNpbmdCZWZvcmVTaGFwaW5n
KSB7CiAgICAgICAgICAgICAvLyBBY2NvdW50IGZvciBsZXR0ZXItc3BhY2luZy4KICAgICAgICAg
ICAgIGlmICh3aWR0aCkgewogICAgICAgICAgICAgICAgIHdpZHRoICs9IG1fZm9udC5sZXR0ZXJT
cGFjaW5nKCk7CkBAIC0yNjEsOSArMjc2LDggQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6
YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKIAog
ICAgICAgICAgICAgc3RhdGljIGJvb2wgZXhwYW5kQXJvdW5kSWRlb2dyYXBocyA9IEZvbnRDYXNj
YWRlOjpjYW5FeHBhbmRBcm91bmRJZGVvZ3JhcGhzSW5Db21wbGV4VGV4dCgpOwogICAgICAgICAg
ICAgYm9vbCB0cmVhdEFzU3BhY2UgPSBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rl
cik7Ci0gICAgICAgICAgICBib29sIGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgPSBjdXJyZW50Q2hh
cmFjdGVySW5kZXggKyBhZHZhbmNlTGVuZ3RoID09IHN0YXRpY19jYXN0PHNpemVfdD4obV9ydW4u
bGVuZ3RoKCkpOwotICAgICAgICAgICAgYm9vbCBmb3JjZUxlZnRFeHBhbnNpb24gPSBmYWxzZTsg
Ly8gT24gdGhlIGxlZnQsIHJlZ2FyZGxlc3Mgb2YgbV9ydW4ubHRyKCkKLSAgICAgICAgICAgIGJv
b2wgZm9yY2VSaWdodEV4cGFuc2lvbiA9IGZhbHNlOyAvLyBPbiB0aGUgcmlnaHQsIHJlZ2FyZGxl
c3Mgb2YgbV9ydW4ubHRyKCkKKyAgICAgICAgICAgIGJvb2wgZm9yY2VMZWZ0RXhwYW5zaW9uID0g
ZmFsc2U7CisgICAgICAgICAgICBib29sIGZvcmNlUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsKICAg
ICAgICAgICAgIGJvb2wgZm9yYmlkTGVmdEV4cGFuc2lvbiA9IGZhbHNlOwogICAgICAgICAgICAg
Ym9vbCBmb3JiaWRSaWdodEV4cGFuc2lvbiA9IGZhbHNlOwogICAgICAgICAgICAgaWYgKHJ1bkZv
cmNlc0xlZnRFeHBhbnNpb24pCkBAIC0yNzcsNiArMjkxLDcgQEAgaW5saW5lIHZvaWQgV2lkdGhJ
dGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlw
aEJ1ZmYKICAgICAgICAgICAgIGJvb2wgaWRlb2dyYXBoID0gKGV4cGFuZEFyb3VuZElkZW9ncmFw
aHMgJiYgRm9udENhc2NhZGU6OmlzQ0pLSWRlb2dyYXBoT3JTeW1ib2woY2hhcmFjdGVyKSk7CiAg
ICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlIHx8IGlkZW9ncmFwaCB8fCBmb3JjZUxlZnRFeHBh
bnNpb24gfHwgZm9yY2VSaWdodEV4cGFuc2lvbikgewogICAgICAgICAgICAgICAgIC8vIERpc3Ry
aWJ1dGUgdGhlIHJ1bidzIHRvdGFsIGV4cGFuc2lvbiBldmVubHkgb3ZlciBhbGwgZXhwYW5zaW9u
IG9wcG9ydHVuaXRpZXMgaW4gdGhlIHJ1bi4KKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hv
dWxkbid0IHRoaXMgY29uZGl0aW9uIGJlICJtX2V4cGFuc2lvbiA+IDAiPwogICAgICAgICAgICAg
ICAgIGlmIChtX2V4cGFuc2lvbikgewogICAgICAgICAgICAgICAgICAgICBhdXRvIFtleHBhbmRM
ZWZ0LCBleHBhbmRSaWdodF0gPSBleHBhbnNpb25Mb2NhdGlvbihpZGVvZ3JhcGgsIHRyZWF0QXNT
cGFjZSwgbV9ydW4ubHRyKCksIG1faXNBZnRlckV4cGFuc2lvbiwgZm9yYmlkTGVmdEV4cGFuc2lv
biwgZm9yYmlkUmlnaHRFeHBhbnNpb24sIGZvcmNlTGVmdEV4cGFuc2lvbiwgZm9yY2VSaWdodEV4
cGFuc2lvbik7CiAgICAgICAgICAgICAgICAgICAgIGlmIChleHBhbmRMZWZ0KSB7CkBAIC0yOTYs
NiArMzExLDcgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRl
eHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5jcmVhc2UgbmV4
dCB3aWR0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRvdmVySnVzdGlmaWNhdGlv
bldpZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gRklYTUU6IFdoeSBhcmVuJ3Qgd2UgZG9pbmcgIm1fZXhwYW5zaW9uIC09IG1f
ZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7IiBoZXJlPwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTM1MSwxMyArMzY3LDYgQEAgaW5saW5lIHZvaWQg
V2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9y
LCBHbHlwaEJ1ZmYKICAgICAgICAgcHJldmlvdXNDaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7CiAgICAg
fQogCi0gICAgaWYgKGdseXBoQnVmZmVyICYmIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKSB7
Ci0gICAgICAgIGlmIChtX2ZvclRleHRFbXBoYXNpcykKLSAgICAgICAgICAgIGdseXBoQnVmZmVy
LT5hZGQobGFzdEZvbnREYXRhLT56ZXJvV2lkdGhTcGFjZUdseXBoKCksIGxhc3RGb250RGF0YSwg
bGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7Ci0gICAgICAg
IGVsc2UKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQobGFzdEZvbnREYXRhLT5zcGFjZUds
eXBoKCksIGxhc3RGb250RGF0YSwgbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgsIG1fcnVuLmxl
bmd0aCgpIC0gMSk7Ci0gICAgfQotCiAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFw
cGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0No
YXJhY3Rlcik7CiAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25l
KSB7CiAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBo
QnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsICpsYXN0Rm9udERhdGEsIHByZXZp
b3VzQ2hhcmFjdGVyLCB0cmFuc2Zvcm1zVHlwZSA9PSBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkLCBj
aGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwpAQCAtMzcwLDYgKzM3OSwxNTIgQEAgaW5saW5lIHZv
aWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJh
dG9yLCBHbHlwaEJ1ZmYKICAgICBtX2ZpbmFsUm91bmRpbmdXaWR0aCA9IGxhc3RSb3VuZGluZ1dp
ZHRoOwogfQogCithdXRvIFdpZHRoSXRlcmF0b3I6OmNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0aChH
bHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0IGN1cnJlbnRD
aGFyYWN0ZXJJbmRleCwgdW5zaWduZWQgbGVhZGluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIHRyYWls
aW5nR2x5cGhJbmRleCkgY29uc3QgLT4gQWRkaXRpb25hbFdpZHRoCit7CisgICAgZmxvYXQgbGVm
dEFkZGl0aW9uYWxXaWR0aCA9IDA7CisgICAgZmxvYXQgcmlnaHRBZGRpdGlvbmFsV2lkdGggPSAw
OworICAgIGZsb2F0IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggPSAwOworICAgIGZsb2F0
IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoID0gMDsKKworICAgIGF1dG8gY2hhcmFjdGVy
ID0gbV9ydW5bY3VycmVudENoYXJhY3RlckluZGV4XTsKKyAgICBib29sIHRyZWF0QXNTcGFjZSA9
IEZvbnRDYXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hhcmFjdGVyKTsKKworICAgIHsKKyAgICAgICAg
Ly8gVGhpcyBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIGRldGVybWluZSBpZiB0aGUgY2hhcmFjdGVy
IGlzIG5vbi12aXNpYmxlLiBOb24tdmlzaWJsZSBjaGFyYWN0ZXJzIGRvbid0IGdldCBsZXR0ZXIt
c3BhY2luZy4KKyAgICAgICAgZmxvYXQgYmFzZVdpZHRoID0gMDsKKyAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gbGVhZGluZ0dseXBoSW5kZXg7IGkgPD0gdHJhaWxpbmdHbHlwaEluZGV4OyArK2kp
CisgICAgICAgICAgICBiYXNlV2lkdGggKz0gZ2x5cGhCdWZmZXIuYWR2YW5jZUF0KGkpLndpZHRo
KCk7CisgICAgICAgIGlmIChiYXNlV2lkdGgpCisgICAgICAgICAgICByaWdodEFkZGl0aW9uYWxX
aWR0aCArPSBtX2ZvbnQubGV0dGVyU3BhY2luZygpOworICAgIH0KKworICAgIHsKKyAgICAgICAg
aWYgKHRyZWF0QXNTcGFjZSAmJiAoY2hhcmFjdGVyICE9IHRhYkNoYXJhY3RlciB8fCAhbV9ydW4u
YWxsb3dUYWJzKCkpICYmIChjdXJyZW50Q2hhcmFjdGVySW5kZXggfHwgY2hhcmFjdGVyID09IG5v
QnJlYWtTcGFjZSkgJiYgbV9mb250LndvcmRTcGFjaW5nKCkpCisgICAgICAgICAgICByaWdodEFk
ZGl0aW9uYWxXaWR0aCArPSBtX2ZvbnQud29yZFNwYWNpbmcoKTsKKyAgICB9CisKKyAgICBpZiAo
bV9leHBhbnNpb24gPiAwKSB7CisgICAgICAgIGJvb2wgY3VycmVudElzTGFzdENoYXJhY3RlciA9
IG1fbGFzdENoYXJhY3RlckluZGV4ICYmIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9PSAqbV9sYXN0
Q2hhcmFjdGVySW5kZXg7CisKKyAgICAgICAgYm9vbCBydW5Gb3JjZXNMZWZ0RXhwYW5zaW9uID0g
KG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBMZWZ0RXhwYW5zaW9uTWFzaykgPT0gRm9yY2VM
ZWZ0RXhwYW5zaW9uOworICAgICAgICBib29sIHJ1bkZvcmNlc1JpZ2h0RXhwYW5zaW9uID0gKG1f
cnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBSaWdodEV4cGFuc2lvbk1hc2spID09IEZvcmNlUmln
aHRFeHBhbnNpb247CisgICAgICAgIGJvb2wgcnVuRm9yYmlkc0xlZnRFeHBhbnNpb24gPSAobV9y
dW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRMZWZ0
RXhwYW5zaW9uOworICAgICAgICBib29sIHJ1bkZvcmJpZHNSaWdodEV4cGFuc2lvbiA9IChtX3J1
bi5leHBhbnNpb25CZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRSaWdo
dEV4cGFuc2lvbjsKKworICAgICAgICBib29sIGZvcmNlTGVmdEV4cGFuc2lvbiA9IGZhbHNlOwor
ICAgICAgICBib29sIGZvcmNlUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsKKyAgICAgICAgYm9vbCBm
b3JiaWRMZWZ0RXhwYW5zaW9uID0gZmFsc2U7CisgICAgICAgIGJvb2wgZm9yYmlkUmlnaHRFeHBh
bnNpb24gPSBmYWxzZTsKKyAgICAgICAgaWYgKHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24pCisgICAg
ICAgICAgICBmb3JjZUxlZnRFeHBhbnNpb24gPSBtX3J1bi5sdHIoKSA/ICFjdXJyZW50Q2hhcmFj
dGVySW5kZXggOiBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyOworICAgICAgICBpZiAocnVuRm9yY2Vz
UmlnaHRFeHBhbnNpb24pCisgICAgICAgICAgICBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gbV9ydW4u
bHRyKCkgPyBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyIDogIWN1cnJlbnRDaGFyYWN0ZXJJbmRleDsK
KyAgICAgICAgaWYgKHJ1bkZvcmJpZHNMZWZ0RXhwYW5zaW9uKQorICAgICAgICAgICAgZm9yYmlk
TGVmdEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gIWN1cnJlbnRDaGFyYWN0ZXJJbmRleCA6IGN1
cnJlbnRJc0xhc3RDaGFyYWN0ZXI7CisgICAgICAgIGlmIChydW5Gb3JiaWRzUmlnaHRFeHBhbnNp
b24pCisgICAgICAgICAgICBmb3JiaWRSaWdodEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gY3Vy
cmVudElzTGFzdENoYXJhY3RlciA6ICFjdXJyZW50Q2hhcmFjdGVySW5kZXg7CisKKyAgICAgICAg
c3RhdGljIGJvb2wgZXhwYW5kQXJvdW5kSWRlb2dyYXBocyA9IEZvbnRDYXNjYWRlOjpjYW5FeHBh
bmRBcm91bmRJZGVvZ3JhcGhzSW5Db21wbGV4VGV4dCgpOworICAgICAgICBib29sIGlkZW9ncmFw
aCA9IChleHBhbmRBcm91bmRJZGVvZ3JhcGhzICYmIEZvbnRDYXNjYWRlOjppc0NKS0lkZW9ncmFw
aE9yU3ltYm9sKGNoYXJhY3RlcikpOworCisgICAgICAgIGlmICh0cmVhdEFzU3BhY2UgfHwgaWRl
b2dyYXBoIHx8IGZvcmNlTGVmdEV4cGFuc2lvbiB8fCBmb3JjZVJpZ2h0RXhwYW5zaW9uKSB7Cisg
ICAgICAgICAgICBhdXRvIFtleHBhbmRMZWZ0LCBleHBhbmRSaWdodF0gPSBleHBhbnNpb25Mb2Nh
dGlvbihpZGVvZ3JhcGgsIHRyZWF0QXNTcGFjZSwgbV9ydW4ubHRyKCksIG1faXNBZnRlckV4cGFu
c2lvbiwgZm9yYmlkTGVmdEV4cGFuc2lvbiwgZm9yYmlkUmlnaHRFeHBhbnNpb24sIGZvcmNlTGVm
dEV4cGFuc2lvbiwgZm9yY2VSaWdodEV4cGFuc2lvbik7CisKKyAgICAgICAgICAgIGlmIChleHBh
bmRMZWZ0KQorICAgICAgICAgICAgICAgIGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggKz0g
bV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKKyAgICAgICAgICAgIGlmIChleHBhbmRSaWdodCkK
KyAgICAgICAgICAgICAgICByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCArPSBtX2V4cGFu
c2lvblBlck9wcG9ydHVuaXR5OworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHsgbGVm
dEFkZGl0aW9uYWxXaWR0aCwgcmlnaHRBZGRpdGlvbmFsV2lkdGgsIGxlZnRFeHBhbnNpb25BZGRp
dGlvbmFsV2lkdGgsIHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoIH07Cit9CisKK3N0cnVj
dCBHbHlwaEluZGV4UmFuZ2UgeworICAgIC8vIFRoaXMgbWVhbnMgdGhlIGNoYXJhY3RlciBnb3Qg
ZXhwYW5kZWQgdG8gZ2x5cGhzIGluc2lkZSB0aGUgR2x5cGhCdWZmZXIgYXQgaW5kaWNlcyBbbGVh
ZGluZ0dseXBoSW5kZXgsIHRyYWlsaW5nR2x5cGhJbmRleF0uCisgICAgdW5zaWduZWQgbGVhZGlu
Z0dseXBoSW5kZXg7CisgICAgdW5zaWduZWQgdHJhaWxpbmdHbHlwaEluZGV4OworfTsKKwordm9p
ZCBXaWR0aEl0ZXJhdG9yOjphcHBseUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYgZ2x5cGhC
dWZmZXIsIEdseXBoSW5kZXhSYW5nZSBnbHlwaEluZGV4UmFuZ2UsIGZsb2F0IGxlZnRBZGRpdGlv
bmFsV2lkdGgsIGZsb2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoLCBmbG9hdCBsZWZ0RXhwYW5zaW9u
QWRkaXRpb25hbFdpZHRoLCBmbG9hdCByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCkKK3sK
KyAgICBtX2V4cGFuc2lvbiAtPSBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICsgcmlnaHRF
eHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisKKyAgICBsZWZ0QWRkaXRpb25hbFdpZHRoICs9IGxl
ZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0g
cmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisKKyAgICBtX3J1bldpZHRoU29GYXIgKz0g
bGVmdEFkZGl0aW9uYWxXaWR0aDsKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gcmlnaHRBZGRpdGlv
bmFsV2lkdGg7CisKKyAgICBpZiAobGVmdEFkZGl0aW9uYWxXaWR0aCkgeworICAgICAgICBpZiAo
bV9ydW4ubHRyKCkpIHsKKyAgICAgICAgICAgIC8vIExlZnQgYWRkaXRpb25hbCB3aWR0aCBpbiBM
VFIgbWVhbnMgdGhlIHByZXZpb3VzIChsZWFkaW5nKSBnbHlwaCdzIHJpZ2h0IHNpZGUgZ2V0cyBl
eHBhbmRlZC4KKyAgICAgICAgICAgIGF1dG8gbGVhZGluZ0dseXBoSW5kZXggPSBnbHlwaEluZGV4
UmFuZ2UubGVhZGluZ0dseXBoSW5kZXg7CisgICAgICAgICAgICBpZiAobGVhZGluZ0dseXBoSW5k
ZXgpCisgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShsZWFkaW5nR2x5
cGhJbmRleCAtIDEsIGxlZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEluaXRpYWxBZHZhbmNlKGxlZnRBZGRpdGlv
bmFsV2lkdGgpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gTGVmdCBhZGRpdGlv
bmFsIHdpZHRoIGluIFJUTCBtZWFucyB0aGUgbmV4dCAodHJhaWxpbmcpIGdseXBoJ3MgcmlnaHQg
c2lkZSBnZXRzIGV4cGFuZGVkLgorICAgICAgICAgICAgYXV0byB0cmFpbGluZ0dseXBoSW5kZXgg
PSBnbHlwaEluZGV4UmFuZ2UudHJhaWxpbmdHbHlwaEluZGV4OworICAgICAgICAgICAgaWYgKHRy
YWlsaW5nR2x5cGhJbmRleCArIDEgPCBnbHlwaEJ1ZmZlci5zaXplKCkpCisgICAgICAgICAgICAg
ICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZSh0cmFpbGluZ0dseXBoSW5kZXggKyAxLCBsZWZ0
QWRkaXRpb25hbFdpZHRoKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIG1f
bGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGggPSBsZWZ0QWRkaXRpb25hbFdpZHRoOworICAgICAg
ICAgICAgICAgIC8vIFdlIGNhbid0IGFjdHVhbGx5IGFkZCBpbiB0aGlzIHdpZHRoIGp1c3QgeWV0
LgorICAgICAgICAgICAgICAgIC8vIEFkZCBpdCBpbiB3aGVuIHRoZSBjbGllbnQgY2FsbHMgYWR2
YW5jZSgpIGFnYWluIG9yIGZpbmFsaXplKCkuCisgICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNv
RmFyIC09IG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGg7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBpZiAocmlnaHRBZGRpdGlvbmFsV2lkdGgpIHsKKyAgICAgICAg
Ly8gUmlnaHQgYWRkaXRpb25hbCB3aWR0aCBtZWFucyB0aGUgY3VycmVudCBnbHlwaCdzIHJpZ2h0
IHNpZGUgZ2V0cyBleHBhbmRlZC4gVGhpcyBpcyB0cnVlIGZvciBib3RoIExUUiBhbmQgUlRMLgor
ICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKGdseXBoSW5kZXhSYW5nZS50cmFpbGlu
Z0dseXBoSW5kZXgsIHJpZ2h0QWRkaXRpb25hbFdpZHRoKTsKKyAgICB9Cit9CisKK3ZvaWQgV2lk
dGhJdGVyYXRvcjo6YXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoR2x5cGhCdWZmZXImIGds
eXBoQnVmZmVyLCB1bnNpZ25lZCBjaGFyYWN0ZXJTdGFydEluZGV4LCB1bnNpZ25lZCBnbHlwaEJ1
ZmZlclN0YXJ0SW5kZXgsIHVuc2lnbmVkIGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXgpCit7Cisg
ICAgaWYgKGdseXBoQnVmZmVyU3RhcnRJbmRleCA8IGdseXBoQnVmZmVyLnNpemUoKSkgeworICAg
ICAgICBnbHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKGdseXBoQnVmZmVyU3RhcnRJbmRleCwgbV9s
ZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCk7CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBt
X2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoOworICAgICAgICBtX2xlZnRvdmVySnVzdGlmaWNh
dGlvbldpZHRoID0gMDsKKyAgICB9CisKKyAgICBWZWN0b3I8T3B0aW9uYWw8R2x5cGhJbmRleFJh
bmdlPj4gY2hhcmFjdGVySW5kZXhUb0dseXBoSW5kZXhSYW5nZShtX3J1bi5sZW5ndGgoKSk7Cisg
ICAgZm9yICh1bnNpZ25lZCBpID0gZ2x5cGhCdWZmZXJTdGFydEluZGV4OyBpIDwgZ2x5cGhCdWZm
ZXIuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgYXV0byBzdHJpbmdPZmZzZXQgPSBnbHlwaEJ1ZmZl
ci5zdHJpbmdPZmZzZXRBdChpKTsKKyAgICAgICAgYXV0byYgZ2x5cGhJbmRleFJhbmdlID0gY2hh
cmFjdGVySW5kZXhUb0dseXBoSW5kZXhSYW5nZVtzdHJpbmdPZmZzZXRdOworICAgICAgICBpZiAo
Z2x5cGhJbmRleFJhbmdlKQorICAgICAgICAgICAgZ2x5cGhJbmRleFJhbmdlLT50cmFpbGluZ0ds
eXBoSW5kZXggPSBpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBnbHlwaEluZGV4UmFuZ2Ug
PSB7e2ksIGl9fTsKKyAgICB9CisgICAgZm9yIChHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBjdXJy
ZW50Q2hhcmFjdGVySW5kZXggPSBjaGFyYWN0ZXJTdGFydEluZGV4OyBjdXJyZW50Q2hhcmFjdGVy
SW5kZXggPCBjaGFyYWN0ZXJEZXN0aW5hdGlvbkluZGV4OyArK2N1cnJlbnRDaGFyYWN0ZXJJbmRl
eCkgeworICAgICAgICBhdXRvJiBnbHlwaEluZGV4UmFuZ2UgPSBjaGFyYWN0ZXJJbmRleFRvR2x5
cGhJbmRleFJhbmdlW2N1cnJlbnRDaGFyYWN0ZXJJbmRleF07CisgICAgICAgIGlmICghZ2x5cGhJ
bmRleFJhbmdlKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgYXV0byBhZGRpdGlv
bmFsV2lkdGggPSBjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoZ2x5cGhCdWZmZXIsIGN1cnJlbnRD
aGFyYWN0ZXJJbmRleCwgZ2x5cGhJbmRleFJhbmdlLT5sZWFkaW5nR2x5cGhJbmRleCwgZ2x5cGhJ
bmRleFJhbmdlLT50cmFpbGluZ0dseXBoSW5kZXgpOworICAgICAgICBhcHBseUFkZGl0aW9uYWxX
aWR0aChnbHlwaEJ1ZmZlciwgZ2x5cGhJbmRleFJhbmdlLnZhbHVlKCksIGFkZGl0aW9uYWxXaWR0
aC5sZWZ0QWRkaXRpb25hbFdpZHRoLCBhZGRpdGlvbmFsV2lkdGgucmlnaHRBZGRpdGlvbmFsV2lk
dGgsIGFkZGl0aW9uYWxXaWR0aC5sZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoLCBhZGRpdGlv
bmFsV2lkdGgucmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgpOworCisgICAgICAgIG1faXNB
ZnRlckV4cGFuc2lvbiA9IChtX3J1bi5sdHIoKSAmJiBhZGRpdGlvbmFsV2lkdGgucmlnaHRFeHBh
bnNpb25BZGRpdGlvbmFsV2lkdGgpIHx8ICghbV9ydW4ubHRyKCkgJiYgYWRkaXRpb25hbFdpZHRo
LmxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgpOworICAgIH0KK30KKwordm9pZCBXaWR0aEl0
ZXJhdG9yOjpmaW5hbGl6ZShHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIpCit7CisgICAgaWYgKCFn
bHlwaEJ1ZmZlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKG1fcnVuLnJ0bCgpIHx8
ICFtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKTsKKyAgICAvLyBJbiBMVFIgdGhpcyBkb2Vz
IG5vdGhpbmcuIEluIFJUTCwgdGhpcyBhZGRzIGxlZnQgd2lkdGggYnkgbW92aW5nIHRoZSB3aG9s
ZSBydW4gdG8gdGhlIHJpZ2h0LgorICAgIGdseXBoQnVmZmVyLT5leHBhbmRJbml0aWFsQWR2YW5j
ZShtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKTsKKyAgICBtX3J1bldpZHRoU29GYXIgKz0g
bV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aDsKKyAgICBtX2xlZnRvdmVySnVzdGlmaWNhdGlv
bldpZHRoID0gMDsKK30KKwogdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKHVuc2lnbmVkIG9m
ZnNldCwgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyKQogewogICAgIHVuc2lnbmVkIGxlbmd0aCA9
IG1fcnVuLmxlbmd0aCgpOwpAQCAtMzgwLDE0ICs1MzUsMjUgQEAgdm9pZCBXaWR0aEl0ZXJhdG9y
OjphZHZhbmNlKHVuc2lnbmVkIG9mZnNldCwgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyKQogICAg
IGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA+PSBvZmZzZXQpCiAgICAgICAgIHJldHVybjsK
IAorICAgIHVuc2lnbmVkIGNoYXJhY3RlclN0YXJ0SW5kZXggPSBtX2N1cnJlbnRDaGFyYWN0ZXJJ
bmRleDsKKyAgICB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXggPSBnbHlwaEJ1ZmZlciA/
IGdseXBoQnVmZmVyLT5zaXplKCkgOiAwOworCiAgICAgaWYgKG1fcnVuLmlzOEJpdCgpKSB7CiAg
ICAgICAgIExhdGluMVRleHRJdGVyYXRvciB0ZXh0SXRlcmF0b3IobV9ydW4uZGF0YTgobV9jdXJy
ZW50Q2hhcmFjdGVySW5kZXgpLCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCwgb2Zmc2V0LCBsZW5n
dGgpOwogICAgICAgICBhZHZhbmNlSW50ZXJuYWwodGV4dEl0ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7
Ci0gICAgICAgIHJldHVybjsKKyAgICB9IGVsc2UgeworICAgICAgICBTdXJyb2dhdGVQYWlyQXdh
cmVUZXh0SXRlcmF0b3IgdGV4dEl0ZXJhdG9yKG1fcnVuLmRhdGExNihtX2N1cnJlbnRDaGFyYWN0
ZXJJbmRleCksIG1fY3VycmVudENoYXJhY3RlckluZGV4LCBvZmZzZXQsIGxlbmd0aCk7CisgICAg
ICAgIGFkdmFuY2VJbnRlcm5hbCh0ZXh0SXRlcmF0b3IsIGdseXBoQnVmZmVyKTsKICAgICB9CiAK
LSAgICBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IgdGV4dEl0ZXJhdG9yKG1fcnVuLmRh
dGExNihtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCksIG1fY3VycmVudENoYXJhY3RlckluZGV4LCBv
ZmZzZXQsIGxlbmd0aCk7Ci0gICAgYWR2YW5jZUludGVybmFsKHRleHRJdGVyYXRvciwgZ2x5cGhC
dWZmZXIpOworICAgIC8vIEluIGdlbmVyYWwsIHdlIGhhdmUgdG8gYXBwbHkgc3BhY2luZyBhZnRl
ciBzaGFwaW5nLCBiZWNhdXNlIHNoYXBpbmcgcmVxdWlyZXMgaXRzIGlucHV0IHRvIGJlIHVucGVy
dGVyYmVkIChzZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTA1
MikuCisgICAgLy8gSG93ZXZlciwgaWYgd2UgZG9uJ3QgaGF2ZSBhIGdseXBoIGJ1ZmZlciwgdGhl
biB3ZSd2ZSBsb3N0IGFsbCB0aGUgZGF0YSB3ZSBuZWVkIHRvIGFwcGx5IHNwYWNpbmcsIHNvIHdl
IGNhbid0IGRvIGl0IGhlcmUuCisgICAgLy8gKEFsc28sIGlmIHdlIGRvbid0IGhhdmUgYSBnbHlw
aCBidWZmZXIsIHdlIGNhbid0IHBlcmZvcm0gc2hhcGluZywgd2hpY2ggbWVhbnMgdGhlcmUncyBu
byBkaWZmZXJlbmNlIGJldHdlZW4gYXBwbHlpbmcgc3BhY2luZyBiZWZvcmUgb3IgYWZ0ZXIgc2hh
cGluZy4pCisgICAgLy8gU28sIGluIHRoYXQgc2l0dWF0aW9uLCB3ZSBhcHBseSBzcGFjaW5nIHdo
aWxlIGl0ZXJhdGluZyB0aHJvdWdoIHRoZSBUZXh0UnVuLgorICAgIC8vIEJ1dCwgaW4gdGhlIGdl
bmVyYWwgY2FzZSB3aGVuIHdlIGhhdmUgYSBHbHlwaEJ1ZmZlciwgd2UgaGF2ZSB0byBkbyBpdCBo
ZXJlLCBhZnRlciBzaGFwaW5nLgorICAgIGJvb2wgc2hvdWxkQXBwbHlFeHRyYVNwYWNpbmdBZnRl
clNoYXBpbmcgPSBnbHlwaEJ1ZmZlciAmJiBoYXNFeHRyYVNwYWNpbmcoKTsKKyAgICBpZiAoc2hv
dWxkQXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcpCisgICAgICAgIGFwcGx5RXh0cmFTcGFj
aW5nQWZ0ZXJTaGFwaW5nKCpnbHlwaEJ1ZmZlciwgY2hhcmFjdGVyU3RhcnRJbmRleCwgZ2x5cGhC
dWZmZXJTdGFydEluZGV4LCBvZmZzZXQpOwogfQogCiBib29sIFdpZHRoSXRlcmF0b3I6OmFkdmFu
Y2VPbmVDaGFyYWN0ZXIoZmxvYXQmIHdpZHRoLCBHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKaW5k
ZXggODdiYTU1ODVhMjAyMDk4MTQ3MjFiZDU2MzZkODA5YWY2Y2ZkM2VlOS4uNWIxZDEwYTEyMjY0
NjZjMjE3M2QxNzQ4Y2QwMzI4YzEwYjJlODc2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaApAQCAtMjIsNiArMjIsNyBAQAogI2lmbmRl
ZiBXaWR0aEl0ZXJhdG9yX2gKICNkZWZpbmUgV2lkdGhJdGVyYXRvcl9oCiAKKyNpbmNsdWRlICJH
bHlwaEJ1ZmZlci5oIgogI2luY2x1ZGUgPHVuaWNvZGUvdW1hY2hpbmUuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTI5LDEwICszMCwxMCBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGb250Q2FzY2FkZTsKLWNsYXNzIEdseXBo
QnVmZmVyOwogY2xhc3MgRm9udDsKIGNsYXNzIFRleHRSdW47CiBzdHJ1Y3QgR2x5cGhEYXRhOwor
c3RydWN0IEdseXBoSW5kZXhSYW5nZTsKIHN0cnVjdCBPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFj
dGVyVHJlYXRlZEFzU3BhY2U7CiAKIHR5cGVkZWYgVmVjdG9yPHN0ZDo6cGFpcjx1bnNpZ25lZCwg
T3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlPiwgNjQ+IENoYXJhY3Rl
cnNUcmVhdGVkQXNTcGFjZTsKQEAgLTQ0LDYgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBh
ZHZhbmNlKHVuc2lnbmVkIHRvLCBHbHlwaEJ1ZmZlciopOwogICAgIGJvb2wgYWR2YW5jZU9uZUNo
YXJhY3RlcihmbG9hdCYgd2lkdGgsIEdseXBoQnVmZmVyJik7CisgICAgdm9pZCBmaW5hbGl6ZShH
bHlwaEJ1ZmZlciopOwogCiAgICAgZmxvYXQgbWF4R2x5cGhCb3VuZGluZ0JveFkoKSBjb25zdCB7
IEFTU0VSVChtX2FjY291bnRGb3JHbHlwaEJvdW5kcyk7IHJldHVybiBtX21heEdseXBoQm91bmRp
bmdCb3hZOyB9CiAgICAgZmxvYXQgbWluR2x5cGhCb3VuZGluZ0JveFkoKSBjb25zdCB7IEFTU0VS
VChtX2FjY291bnRGb3JHbHlwaEJvdW5kcyk7IHJldHVybiBtX21pbkdseXBoQm91bmRpbmdCb3hZ
OyB9CkBAIC02NCwxMSArNjYsMjQgQEAgcHJpdmF0ZToKICAgICBUcmFuc2Zvcm1zVHlwZSBzaG91
bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyKiwgdW5zaWduZWQgbGFzdEds
eXBoQ291bnQsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0OwogICAgIGZsb2F0IGFw
cGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIqLCBib29sIGx0ciwgdW5zaWduZWQmIGxhc3RH
bHlwaENvdW50LCBjb25zdCBGb250JiwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBm
b3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7CiAKKyAgICBpbmxpbmUgYm9vbCBoYXNF
eHRyYVNwYWNpbmcoKSBjb25zdDsKKyAgICB2b2lkIGFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFw
aW5nKEdseXBoQnVmZmVyJiwgdW5zaWduZWQgY2hhcmFjdGVyU3RhcnRJbmRleCwgdW5zaWduZWQg
Z2x5cGhCdWZmZXJTdGFydEluZGV4LCB1bnNpZ25lZCBjaGFyYWN0ZXJEZXN0aW5hdGlvbkluZGV4
KTsKKyAgICBzdHJ1Y3QgQWRkaXRpb25hbFdpZHRoIHsKKyAgICAgICAgZmxvYXQgbGVmdEFkZGl0
aW9uYWxXaWR0aDsKKyAgICAgICAgZmxvYXQgcmlnaHRBZGRpdGlvbmFsV2lkdGg7CisgICAgICAg
IGZsb2F0IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisgICAgICAgIGZsb2F0IHJpZ2h0
RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworICAgIH07CisgICAgQWRkaXRpb25hbFdpZHRoIGNh
bGN1bGF0ZUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYsIEdseXBoQnVmZmVyU3RyaW5nT2Zm
c2V0IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgdW5zaWduZWQgbGVhZGluZ0dseXBoSW5kZXgsIHVu
c2lnbmVkIHRyYWlsaW5nR2x5cGhJbmRleCkgY29uc3Q7CisgICAgdm9pZCBhcHBseUFkZGl0aW9u
YWxXaWR0aChHbHlwaEJ1ZmZlciYsIEdseXBoSW5kZXhSYW5nZSwgZmxvYXQgbGVmdEFkZGl0aW9u
YWxXaWR0aCwgZmxvYXQgcmlnaHRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IGxlZnRFeHBhbnNpb25B
ZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoKTsKKwog
ICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBtX2ZvbnQ7CiAgICAgY29uc3QgVGV4dFJ1biYgbV9ydW47
CiAgICAgSGFzaFNldDxjb25zdCBGb250Kj4qIG1fZmFsbGJhY2tGb250cyB7IG51bGxwdHIgfTsK
IAorICAgIE9wdGlvbmFsPHVuc2lnbmVkPiBtX2xhc3RDaGFyYWN0ZXJJbmRleDsKICAgICB1bnNp
Z25lZCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCB7IDAgfTsKKyAgICBmbG9hdCBtX2xlZnRvdmVy
SnVzdGlmaWNhdGlvbldpZHRoIHsgMCB9OwogICAgIGZsb2F0IG1fcnVuV2lkdGhTb0ZhciB7IDAg
fTsKICAgICBmbG9hdCBtX2V4cGFuc2lvbiB7IDAgfTsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBl
ck9wcG9ydHVuaXR5IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxkZXIuY3BwCmluZGV4IDUzODRlZDBhNmMzMThiYjA2YTQy
Y2UyMzA5YWI1YjQ5ZDYxYzc5NDMuLmYyZjkxY2FjYmMwNDhlNzZkNmIwMWMyYzI1ODY5YzI2ZmNi
N2RhODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1l
dHJpY3NCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRNZXRyaWNzQnVpbGRlci5jcHAKQEAgLTE2NSw2ICsxNjUsMTAgQEAgdm9pZCBTVkdUZXh0TWV0
cmljc0J1aWxkZXI6Om1lYXN1cmVUZXh0UmVuZGVyZXIoUmVuZGVyU1ZHSW5saW5lVGV4dCYgdGV4
dCwgTWVhc3UKICAgICAgICAgZGF0YS0+bGFzdENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7
CiAgICAgfQogCisgICAgR2x5cGhCdWZmZXIgZ2x5cGhCdWZmZXI7CisgICAgaWYgKG1fc2ltcGxl
V2lkdGhJdGVyYXRvcikKKyAgICAgICAgbV9zaW1wbGVXaWR0aEl0ZXJhdG9yLT5maW5hbGl6ZSgm
Z2x5cGhCdWZmZXIpOworCiAgICAgaWYgKCFkYXRhLT5hbGxDaGFyYWN0ZXJzTWFwKQogICAgICAg
ICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406246</attachid>
            <date>2020-08-07 22:38:32 -0700</date>
            <delta_ts>2020-08-07 23:30:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214769-20200807223831.patch</filename>
            <type>text/plain</type>
            <size>26208</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1Mzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmNDk1NjNkOTg0NWVl
NDg5ZmVkYjg2MjJiZjBkZGQ3NDI2N2U3MC4uYjg1OGMyNzA3NzBlYWYwOWYxZjZlNmUwNjI0Y2Yy
ZTM2ZTMyMmQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA4LTA3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBv
ZiBDaGluZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAx
NCBiZXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YXNjYWRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJh
bmdlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVU
ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9y
U2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6YWRqdXN0
U2VsZWN0aW9uUmVjdEZvclNpbXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9u
dENhc2NhZGU6Om9mZnNldEZvclBvc2l0aW9uRm9yU2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Okds
eXBoQnVmZmVyOjpleHBhbmRJbml0aWFsQWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpHbHlw
aEJ1ZmZlcjo6ZXhwYW5kQWR2YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lk
dGhJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0
ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2lu
ZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwpOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6Y2FsY3VsYXRlQWRkaXRpb25h
bFdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5QWRk
aXRpb25hbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5RXh0
cmFTcGFjaW5nQWZ0ZXJTaGFwaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6
OmZpbmFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdUZXh0TWV0cmljc0J1aWxkZXI6Om1lYXN1cmVUZXh0UmVuZGVyZXIpOgorCiAyMDIwLTA4
LTA3ICBKYW1lcyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBPZmYgYnkgb25lIGVycm9yIGluIHRyYW5zZm9ybSBmZWVkYmFjayBidWZmZXIgYmluZGluZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmlu
ZGV4IGMwNTMwZWRlMDAwM2ZhZTc0Nzc5MTdhMDFlNjg3NDgzMDYzNzkxZjMuLjQzYjMyM2RiOGVh
NWEyZjc5NTVmMzNjMWNlNmI4YWQ5NzkxYTk0YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTM3OSw2ICszNzksNyBAQCBmbG9h
dCBGb250Q2FzY2FkZTo6d2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVuJiBydW4sIHVuc2ln
bmVkIGZyb20sIHVuc2lnbmVkCiAgICAgICAgIG9mZnNldEFmdGVyUmFuZ2UgPSBzaW1wbGVJdGVy
YXRvci5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNpbXBsZUl0ZXJhdG9yLmFkdmFuY2UocnVu
Lmxlbmd0aCgpLCBudWxscHRyKTsKICAgICAgICAgdG90YWxXaWR0aCA9IHNpbXBsZUl0ZXJhdG9y
LnJ1bldpZHRoU29GYXIoKTsKKyAgICAgICAgc2ltcGxlSXRlcmF0b3IuZmluYWxpemUobnVsbHB0
cik7CiAgICAgfQogCiAgICAgaWYgKG91dFdpZHRoQmVmb3JlUmFuZ2UpCkBAIC0xMzg5LDExICsx
MzkwLDEzIEBAIEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0
IFRleHRSdW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgaWYgKHJ1bi5ydGwoKSkgewog
ICAgICAgICBmbG9hdCBmaW5hbFJvdW5kaW5nV2lkdGggPSBpdC5maW5hbFJvdW5kaW5nV2lkdGgo
KTsKICAgICAgICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksICZsb2NhbEdseXBoQnVmZmVyKTsK
KyAgICAgICAgaXQuZmluYWxpemUoJmxvY2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFs
QWR2YW5jZSA9IGZpbmFsUm91bmRpbmdXaWR0aCArIGl0LnJ1bldpZHRoU29GYXIoKSAtIGFmdGVy
V2lkdGg7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAgICAgaXQuZmluYWxpemUoJmxv
Y2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJlZm9yZVdpZHRoOwot
ICAgIC8vIEZJWE1FOiBEZWFsIHdpdGggdGhlIEdseXBoQnVmZmVyJ3MgY3VycmVudCBpbml0aWFs
QWR2YW5jZS4KLSAgICBnbHlwaEJ1ZmZlci5zZXRJbml0aWFsQWR2YW5jZShGbG9hdFNpemUoaW5p
dGlhbEFkdmFuY2UsIDApKTsKKyAgICB9CisgICAgZ2x5cGhCdWZmZXIuc2V0SW5pdGlhbEFkdmFu
Y2UoRmxvYXRTaXplKGluaXRpYWxBZHZhbmNlLCAwKSArIHN0YXRpY19jYXN0PEZsb2F0U2l6ZT4o
Z2x5cGhCdWZmZXIuaW5pdGlhbEFkdmFuY2UoKSkpOwogCiAgICAgaWYgKHJ1bi5ydGwoKSkKICAg
ICAgICAgZ2x5cGhCdWZmZXIucmV2ZXJzZSgwLCBnbHlwaEJ1ZmZlci5zaXplKCkpOwpAQCAtMTUy
Myw3ICsxNTI2LDkgQEAgZmxvYXQgRm9udENhc2NhZGU6OmZsb2F0V2lkdGhGb3JTaW1wbGVUZXh0
KGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNldDxjb25zdCBGb24KIHsKICAgICBXaWR0aEl0ZXJh
dG9yIGl0KCp0aGlzLCBydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIEds
eXBoQnVmZmVyIGdseXBoQnVmZmVyOwotICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCAoZW5h
YmxlS2VybmluZygpIHx8IHJlcXVpcmVzU2hhcGluZygpKSA/ICZnbHlwaEJ1ZmZlciA6IG51bGxw
dHIpOworICAgIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlckFyZ3VtZW50ID0gKGVuYWJsZUtlcm5p
bmcoKSB8fCByZXF1aXJlc1NoYXBpbmcoKSkgPyAmZ2x5cGhCdWZmZXIgOiBudWxscHRyOworICAg
IGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCBnbHlwaEJ1ZmZlckFyZ3VtZW50KTsKKyAgICBpdC5m
aW5hbGl6ZShnbHlwaEJ1ZmZlckFyZ3VtZW50KTsKIAogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7
CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IHN0ZDo6bWF4PGludD4oZ2x5cGhPdmVyZmxv
dy0+dG9wLCBjZWlsZigtaXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSAoZ2x5cGhPdmVyZmxv
dy0+Y29tcHV0ZUJvdW5kcyA/IDAgOiBmb250TWV0cmljcygpLmFzY2VudCgpKSk7CkBAIC0xNTU4
LDEwICsxNTYzLDEzIEBAIHZvaWQgRm9udENhc2NhZGU6OmFkanVzdFNlbGVjdGlvblJlY3RGb3JT
aW1wbGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgTGF5b3V0UmVjCiAKICAgICBpZiAocnVuLnJ0
bCgpKSB7CiAgICAgICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCAmZ2x5cGhCdWZmZXIpOwor
ICAgICAgICBpdC5maW5hbGl6ZSgmZ2x5cGhCdWZmZXIpOwogICAgICAgICBmbG9hdCB0b3RhbFdp
ZHRoID0gaXQucnVuV2lkdGhTb0ZhcigpOwogICAgICAgICBzZWxlY3Rpb25SZWN0Lm1vdmUodG90
YWxXaWR0aCAtIGFmdGVyV2lkdGgsIDApOwotICAgIH0gZWxzZQorICAgIH0gZWxzZSB7CisgICAg
ICAgIGl0LmZpbmFsaXplKCZnbHlwaEJ1ZmZlcik7CiAgICAgICAgIHNlbGVjdGlvblJlY3QubW92
ZShiZWZvcmVXaWR0aCwgMCk7CisgICAgfQogICAgIHNlbGVjdGlvblJlY3Quc2V0V2lkdGgoTGF5
b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChhZnRlcldpZHRoIC0gYmVmb3JlV2lkdGgpKTsKIH0KIApA
QCAtMTYyMCw2ICsxNjI4LDcgQEAgaW50IEZvbnRDYXNjYWRlOjpvZmZzZXRGb3JQb3NpdGlvbkZv
clNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBmbG9hdCB4LCBib28KICAgICAgICAgfQog
ICAgIH0KIAorICAgIGl0LmZpbmFsaXplKCZsb2NhbEdseXBoQnVmZmVyKTsKICAgICByZXR1cm4g
b2Zmc2V0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HbHlwaEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhC
dWZmZXIuaAppbmRleCAxNzJkM2E3ODI4YWQwOTA3MzMwZTdjMjRmZWY1YzkzYzVmNzYyYmIwLi42
OTZhZGNhYjk0ZjZiOTcyNDBjYjMyZjc5YTk5NmMxZWE0NjhhOTQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgKQEAgLTI5LDYgKzI5LDcgQEAK
IAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxv
YXRTaXplLmgiCiAjaW5jbHVkZSAiR2x5cGguaCIKICNpbmNsdWRlIDxjbGltaXRzPgpAQCAtMTk4
LDYgKzE5OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SW5pdGlhbEFkdmFuY2UoR2x5cGhC
dWZmZXJBZHZhbmNlIGluaXRpYWxBZHZhbmNlKSB7IG1faW5pdGlhbEFkdmFuY2UgPSBpbml0aWFs
QWR2YW5jZTsgfQogICAgIGNvbnN0IEdseXBoQnVmZmVyQWR2YW5jZSYgaW5pdGlhbEFkdmFuY2Uo
KSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxBZHZhbmNlOyB9CisgICAgdm9pZCBleHBhbmRJbml0
aWFsQWR2YW5jZShmbG9hdCB3aWR0aCkgeyBtX2luaXRpYWxBZHZhbmNlLnNldFdpZHRoKG1faW5p
dGlhbEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsgfQogICAgIAogICAgIHN0YXRpYyBjb25zdGV4
cHIgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgbm9PZmZzZXQgPSBzdGQ6Om51bWVyaWNfbGltaXRz
PEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0Pjo6bWF4KCk7CiAgICAgdm9pZCBhZGQoR2x5cGggZ2x5
cGgsIGNvbnN0IEZvbnQqIGZvbnQsIGZsb2F0IHdpZHRoLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNl
dCBvZmZzZXRJblN0cmluZyA9IG5vT2Zmc2V0KQpAQCAtMjUwLDYgKzI1MiwxMyBAQCBwdWJsaWM6
CiAgICAgICAgIGxhc3RBZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0
aCk7CiAgICAgfQogCisgICAgdm9pZCBleHBhbmRBZHZhbmNlKHVuc2lnbmVkIGluZGV4LCBmbG9h
dCB3aWR0aCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8IHNpemUoKSk7CisgICAgICAg
IEdseXBoQnVmZmVyQWR2YW5jZSYgbGFzdEFkdmFuY2UgPSBtX2FkdmFuY2VzW2luZGV4XTsKKyAg
ICAgICAgbGFzdEFkdmFuY2Uuc2V0V2lkdGgobGFzdEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsK
KyAgICB9CisKICAgICB2b2lkIGV4cGFuZExhc3RBZHZhbmNlKEdseXBoQnVmZmVyQWR2YW5jZSBl
eHBhbnNpb24pCiAgICAgewogICAgICAgICBBU1NFUlQoIWlzRW1wdHkoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCmluZGV4IDU0
NTViYmRmNzA1NzRmZDU1NzJlNmNjNjM2Mzg4ZTNhMmFjYzIxM2EuLjVlOGE1YTk3YWIwODI5ZTE1
NWZlNTlkNzJlODdhYzlhM2E1OTM5YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC00NSw2ICs0NSw4IEBAIFdpZHRoSXRl
cmF0b3I6OldpZHRoSXRlcmF0b3IoY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IFRleHRS
dW4mIHJ1biwgSGFzaFNlCiAgICAgLCBtX3JlcXVpcmVzU2hhcGluZyhmb250LnJlcXVpcmVzU2hh
cGluZygpKQogICAgICwgbV9mb3JUZXh0RW1waGFzaXMoZm9yVGV4dEVtcGhhc2lzKQogeworICAg
IC8vIEZJWE1FOiBTaG91bGQgd2UgY2xhbXAgbV9leHBhbnNpb24gc28gaXQgY2FuIG5ldmVyIGJl
IG5lZ2F0aXZlPworCiAgICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBhbnNpb25Q
ZXJPcHBvcnR1bml0eSA9IDA7CiAgICAgZWxzZSB7CkBAIC0xNjgsMTIgKzE3MCwxNyBAQCBzdGF0
aWMgaW5saW5lIHN0ZDo6cGFpcjxib29sLCBib29sPiBleHBhbnNpb25Mb2NhdGlvbihib29sIGlk
ZW9ncmFwaCwgYm9vbCB0cmVhdAogICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihleHBhbmRMZWZ0
LCBleHBhbmRSaWdodCk7CiB9CiAKK2lubGluZSBib29sIFdpZHRoSXRlcmF0b3I6Omhhc0V4dHJh
U3BhY2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8
IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rp
c2FibGVkKCk7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBpbmxpbmUg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRl
cmF0b3IsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKIHsKICAgICAvLyBUaGUgY29yZSBsb2dp
YyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2ltcGxlVGV4
dCgpCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKLSAgICBib29sIGhhc0V4dHJhU3BhY2lu
ZyA9IChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1f
ZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7CisgICAgYm9vbCBzaG91bGRB
cHBseUV4dHJhU3BhY2luZ0JlZm9yZVNoYXBpbmcgPSAhZ2x5cGhCdWZmZXIgJiYgaGFzRXh0cmFT
cGFjaW5nKCk7CiAKICAgICBib29sIHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhw
YW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZUxlZnRFeHBhbnNp
b247CiAgICAgYm9vbCBydW5Gb3JjZXNSaWdodEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25C
ZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZVJpZ2h0RXhwYW5zaW9uOwpA
QCAtMTkxLDYgKzE5OCw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRl
cm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgY29uc3QgRm9u
dCogbGFzdEZvbnREYXRhID0gJnByaW1hcnlGb250OwogICAgIHVuc2lnbmVkIGxhc3RHbHlwaENv
dW50ID0gZ2x5cGhCdWZmZXIgPyBnbHlwaEJ1ZmZlci0+c2l6ZSgpIDogMDsKIAorICAgIGF1dG8g
Y3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAg
IFVDaGFyMzIgY2hhcmFjdGVyID0gMDsKICAgICBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyID0g
MDsKICAgICB1bnNpZ25lZCBjbHVzdGVyTGVuZ3RoID0gMDsKQEAgLTE5OCw3ICsyMDYsMTEgQEAg
aW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYg
dGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBTdHJpbmcgbm9ybWFsaXplZFNwYWNlc1N0cmlu
Z0NhY2hlOwogICAgIC8vIFdlIGFyZSBpdGVyYXRpbmcgaW4gc3RyaW5nIG9yZGVyLCBub3QgZ2x5
cGggb3JkZXIuIENvbXBhcmUgdGhpcyB0byBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEds
eXBoc0FuZEFkdmFuY2VzKCkKICAgICB3aGlsZSAodGV4dEl0ZXJhdG9yLmNvbnN1bWUoY2hhcmFj
dGVyLCBjbHVzdGVyTGVuZ3RoKSkgeworICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0
ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIHVuc2lnbmVkIGFkdmFuY2VMZW5n
dGggPSBjbHVzdGVyTGVuZ3RoOworICAgICAgICBib29sIGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIg
PSBjdXJyZW50Q2hhcmFjdGVySW5kZXggKyBhZHZhbmNlTGVuZ3RoID09IHN0YXRpY19jYXN0PHNp
emVfdD4obV9ydW4ubGVuZ3RoKCkpOworICAgICAgICBpZiAoY3VycmVudElzTGFzdENoYXJhY3Rl
cikKKyAgICAgICAgICAgIG1fbGFzdENoYXJhY3RlckluZGV4ID0gY3VycmVudENoYXJhY3Rlcklu
ZGV4OwogICAgICAgICBib29sIGNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nID0gIWlzRGVmYXVs
dElnbm9yYWJsZUNvZGVQb2ludChjaGFyYWN0ZXIpOwogI2lmIFVTRShGUkVFVFlQRSkKICAgICAg
ICAgLy8gRnJlZXR5cGUgYmFzZWQgcG9ydHMgb25seSBvdmVycmlkZSB0aGUgY2hhcmFjdGVycyB3
aXRoIERlZmF1bHRfSWdub3JhYmxlIHVuaWNvZGUgcHJvcGVydHkgd2hlbiB0aGUgZm9udApAQCAt
MjA4LDcgKzIyMCw2IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5h
bChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgfQogI2VuZGlmCi0gICAgICAgIGludCBjdXJyZW50Q2hhcmFjdGVySW5k
ZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIGNvbnN0IEdseXBoRGF0
YSYgZ2x5cGhEYXRhID0gbV9mb250LmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIHJ0
bCk7CiAgICAgICAgIEdseXBoIGdseXBoID0gZ2x5cGhEYXRhLmdseXBoOwogICAgICAgICBpZiAo
IWdseXBoICYmICFjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZykgewpAQCAtMjUxLDcgKzI2Miwx
MCBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJh
dG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKGhhc0V4dHJhU3BhY2luZykgeworICAgICAgICAvLyBGSVhNRTogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTA1MjogRGVsZXRlIHRoaXMgc2Vj
dGlvbiBpbiBmYXZvciBvZiBhcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZygpLgorICAgICAg
ICAvLyBJZiB0aGVyZSBpcyBubyBHbHlwaEJ1ZmZlciwgd2UgY2FuJ3QgYXBwbHkgc3BhY2luZyB3
aGVuIHdlJ3JlIGRvbmUgYmVjYXVzZSB3ZSd2ZSBsb3N0IGFsbCB0aGUgaW5mb3JtYXRpb24gYWJv
dXQgd2hpY2ggY2hhcmFjdGVyIGlzIGFzc29jaWF0ZWQgd2l0aCB3aGljaCBnbHlwaC4KKyAgICAg
ICAgLy8gU28sIGlmIHRoZXJlIGlzIG5vIEdseXBoQnVmZmVyLCBhcHBseSBzcGFjaW5nIGhlcmUg
aW5zdGVhZC4KKyAgICAgICAgaWYgKHNob3VsZEFwcGx5RXh0cmFTcGFjaW5nQmVmb3JlU2hhcGlu
ZykgewogICAgICAgICAgICAgLy8gQWNjb3VudCBmb3IgbGV0dGVyLXNwYWNpbmcuCiAgICAgICAg
ICAgICBpZiAod2lkdGgpIHsKICAgICAgICAgICAgICAgICB3aWR0aCArPSBtX2ZvbnQubGV0dGVy
U3BhY2luZygpOwpAQCAtMjYxLDkgKzI3NSw4IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6
OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAK
ICAgICAgICAgICAgIHN0YXRpYyBib29sIGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgPSBGb250Q2Fz
Y2FkZTo6Y2FuRXhwYW5kQXJvdW5kSWRlb2dyYXBoc0luQ29tcGxleFRleHQoKTsKICAgICAgICAg
ICAgIGJvb2wgdHJlYXRBc1NwYWNlID0gRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFyYWN0
ZXIpOwotICAgICAgICAgICAgYm9vbCBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyID0gY3VycmVudENo
YXJhY3RlckluZGV4ICsgYWR2YW5jZUxlbmd0aCA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KG1fcnVu
Lmxlbmd0aCgpKTsKLSAgICAgICAgICAgIGJvb2wgZm9yY2VMZWZ0RXhwYW5zaW9uID0gZmFsc2U7
IC8vIE9uIHRoZSBsZWZ0LCByZWdhcmRsZXNzIG9mIG1fcnVuLmx0cigpCi0gICAgICAgICAgICBi
b29sIGZvcmNlUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsgLy8gT24gdGhlIHJpZ2h0LCByZWdhcmRs
ZXNzIG9mIG1fcnVuLmx0cigpCisgICAgICAgICAgICBib29sIGZvcmNlTGVmdEV4cGFuc2lvbiA9
IGZhbHNlOworICAgICAgICAgICAgYm9vbCBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gZmFsc2U7CiAg
ICAgICAgICAgICBib29sIGZvcmJpZExlZnRFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgICAg
IGJvb2wgZm9yYmlkUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgICAgIGlmIChydW5G
b3JjZXNMZWZ0RXhwYW5zaW9uKQpAQCAtMjc3LDYgKzI5MCw3IEBAIGlubGluZSB2b2lkIFdpZHRo
SXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5
cGhCdWZmCiAgICAgICAgICAgICBib29sIGlkZW9ncmFwaCA9IChleHBhbmRBcm91bmRJZGVvZ3Jh
cGhzICYmIEZvbnRDYXNjYWRlOjppc0NKS0lkZW9ncmFwaE9yU3ltYm9sKGNoYXJhY3RlcikpOwog
ICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFjZSB8fCBpZGVvZ3JhcGggfHwgZm9yY2VMZWZ0RXhw
YW5zaW9uIHx8IGZvcmNlUmlnaHRFeHBhbnNpb24pIHsKICAgICAgICAgICAgICAgICAvLyBEaXN0
cmlidXRlIHRoZSBydW4ncyB0b3RhbCBleHBhbnNpb24gZXZlbmx5IG92ZXIgYWxsIGV4cGFuc2lv
biBvcHBvcnR1bml0aWVzIGluIHRoZSBydW4uCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFNo
b3VsZG4ndCB0aGlzIGNvbmRpdGlvbiBiZSAibV9leHBhbnNpb24gPiAwIj8KICAgICAgICAgICAg
ICAgICBpZiAobV9leHBhbnNpb24pIHsKICAgICAgICAgICAgICAgICAgICAgYXV0byBbZXhwYW5k
TGVmdCwgZXhwYW5kUmlnaHRdID0gZXhwYW5zaW9uTG9jYXRpb24oaWRlb2dyYXBoLCB0cmVhdEFz
U3BhY2UsIG1fcnVuLmx0cigpLCBtX2lzQWZ0ZXJFeHBhbnNpb24sIGZvcmJpZExlZnRFeHBhbnNp
b24sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uLCBmb3JjZUxlZnRFeHBhbnNpb24sIGZvcmNlUmlnaHRF
eHBhbnNpb24pOwogICAgICAgICAgICAgICAgICAgICBpZiAoZXhwYW5kTGVmdCkgewpAQCAtMjk2
LDYgKzMxMCw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChU
ZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY3JlYXNlIG5l
eHQgd2lkdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0b3Zlckp1c3RpZmljYXRp
b25XaWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBXaHkgYXJlbid0IHdlIGRvaW5nICJtX2V4cGFuc2lvbiAtPSBt
X2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OyIgaGVyZT8KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgICB9CkBAIC0zNTEsMTMgKzM2Niw2IEBAIGlubGluZSB2b2lk
IFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRv
ciwgR2x5cGhCdWZmCiAgICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyID0gY2hhcmFjdGVyOwogICAg
IH0KIAotICAgIGlmIChnbHlwaEJ1ZmZlciAmJiBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkg
ewotICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+YWRkKGxhc3RGb250RGF0YS0+emVyb1dpZHRoU3BhY2VHbHlwaCgpLCBsYXN0Rm9udERhdGEs
IGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGxhc3RGb250RGF0YS0+c3BhY2VH
bHlwaCgpLCBsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5s
ZW5ndGgoKSAtIDEpOwotICAgIH0KLQogICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXND
aGFyYWN0ZXIpOwogICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9u
ZSkgewogICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlw
aEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCAqbGFzdEZvbnREYXRhLCBwcmV2
aW91c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwg
Y2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKQEAgLTM3MCw2ICszNzgsMTUyIEBAIGlubGluZSB2
b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVy
YXRvciwgR2x5cGhCdWZmCiAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBsYXN0Um91bmRpbmdX
aWR0aDsKIH0KIAorYXV0byBXaWR0aEl0ZXJhdG9yOjpjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgo
R2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBjdXJyZW50
Q2hhcmFjdGVySW5kZXgsIHVuc2lnbmVkIGxlYWRpbmdHbHlwaEluZGV4LCB1bnNpZ25lZCB0cmFp
bGluZ0dseXBoSW5kZXgpIGNvbnN0IC0+IEFkZGl0aW9uYWxXaWR0aAoreworICAgIGZsb2F0IGxl
ZnRBZGRpdGlvbmFsV2lkdGggPSAwOworICAgIGZsb2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoID0g
MDsKKyAgICBmbG9hdCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoID0gMDsKKyAgICBmbG9h
dCByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCA9IDA7CisKKyAgICBhdXRvIGNoYXJhY3Rl
ciA9IG1fcnVuW2N1cnJlbnRDaGFyYWN0ZXJJbmRleF07CisgICAgYm9vbCB0cmVhdEFzU3BhY2Ug
PSBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rlcik7CisKKyAgICB7IC8vIExldHRl
ci1zcGFjaW5nCisgICAgICAgIC8vIFRoaXMgaXMgYW4gYXBwcm94aW1hdGlvbiB0byBkZXRlcm1p
bmUgaWYgdGhlIGNoYXJhY3RlciBpcyBub24tdmlzaWJsZS4gTm9uLXZpc2libGUgY2hhcmFjdGVy
cyBkb24ndCBnZXQgbGV0dGVyLXNwYWNpbmcuCisgICAgICAgIGZsb2F0IGJhc2VXaWR0aCA9IDA7
CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGxlYWRpbmdHbHlwaEluZGV4OyBpIDw9IHRyYWls
aW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICAgICAgYmFzZVdpZHRoICs9IGdseXBoQnVmZmVy
LmFkdmFuY2VBdChpKS53aWR0aCgpOworICAgICAgICBpZiAoYmFzZVdpZHRoKQorICAgICAgICAg
ICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gbV9mb250LmxldHRlclNwYWNpbmcoKTsKKyAgICB9
CisKKyAgICB7IC8vIFdvcmQgc3BhY2luZworICAgICAgICBpZiAodHJlYXRBc1NwYWNlICYmIChj
aGFyYWN0ZXIgIT0gdGFiQ2hhcmFjdGVyIHx8ICFtX3J1bi5hbGxvd1RhYnMoKSkgJiYgKGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCB8fCBjaGFyYWN0ZXIgPT0gbm9CcmVha1NwYWNlKSAmJiBtX2ZvbnQu
d29yZFNwYWNpbmcoKSkKKyAgICAgICAgICAgIHJpZ2h0QWRkaXRpb25hbFdpZHRoICs9IG1fZm9u
dC53b3JkU3BhY2luZygpOworICAgIH0KKworICAgIGlmIChtX2V4cGFuc2lvbiA+IDApIHsgLy8g
SnVzdGlmaWNhdGlvbgorICAgICAgICBib29sIGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgPSBtX2xh
c3RDaGFyYWN0ZXJJbmRleCAmJiBjdXJyZW50Q2hhcmFjdGVySW5kZXggPT0gc3RhdGljX2Nhc3Q8
R2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQ+KCptX2xhc3RDaGFyYWN0ZXJJbmRleCk7CisKKyAgICAg
ICAgYm9vbCBydW5Gb3JjZXNMZWZ0RXhwYW5zaW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9y
KCkgJiBMZWZ0RXhwYW5zaW9uTWFzaykgPT0gRm9yY2VMZWZ0RXhwYW5zaW9uOworICAgICAgICBi
b29sIHJ1bkZvcmNlc1JpZ2h0RXhwYW5zaW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkg
JiBSaWdodEV4cGFuc2lvbk1hc2spID09IEZvcmNlUmlnaHRFeHBhbnNpb247CisgICAgICAgIGJv
b2wgcnVuRm9yYmlkc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAm
IExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRMZWZ0RXhwYW5zaW9uOworICAgICAgICBib29s
IHJ1bkZvcmJpZHNSaWdodEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYg
UmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRSaWdodEV4cGFuc2lvbjsKKworICAgICAgICBi
b29sIGZvcmNlTGVmdEV4cGFuc2lvbiA9IGZhbHNlOworICAgICAgICBib29sIGZvcmNlUmlnaHRF
eHBhbnNpb24gPSBmYWxzZTsKKyAgICAgICAgYm9vbCBmb3JiaWRMZWZ0RXhwYW5zaW9uID0gZmFs
c2U7CisgICAgICAgIGJvb2wgZm9yYmlkUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsKKyAgICAgICAg
aWYgKHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24pCisgICAgICAgICAgICBmb3JjZUxlZnRFeHBhbnNp
b24gPSBtX3J1bi5sdHIoKSA/ICFjdXJyZW50Q2hhcmFjdGVySW5kZXggOiBjdXJyZW50SXNMYXN0
Q2hhcmFjdGVyOworICAgICAgICBpZiAocnVuRm9yY2VzUmlnaHRFeHBhbnNpb24pCisgICAgICAg
ICAgICBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyBjdXJyZW50SXNMYXN0Q2hh
cmFjdGVyIDogIWN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKKyAgICAgICAgaWYgKHJ1bkZvcmJpZHNM
ZWZ0RXhwYW5zaW9uKQorICAgICAgICAgICAgZm9yYmlkTGVmdEV4cGFuc2lvbiA9IG1fcnVuLmx0
cigpID8gIWN1cnJlbnRDaGFyYWN0ZXJJbmRleCA6IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXI7Cisg
ICAgICAgIGlmIChydW5Gb3JiaWRzUmlnaHRFeHBhbnNpb24pCisgICAgICAgICAgICBmb3JiaWRS
aWdodEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gY3VycmVudElzTGFzdENoYXJhY3RlciA6ICFj
dXJyZW50Q2hhcmFjdGVySW5kZXg7CisKKyAgICAgICAgc3RhdGljIGJvb2wgZXhwYW5kQXJvdW5k
SWRlb2dyYXBocyA9IEZvbnRDYXNjYWRlOjpjYW5FeHBhbmRBcm91bmRJZGVvZ3JhcGhzSW5Db21w
bGV4VGV4dCgpOworICAgICAgICBib29sIGlkZW9ncmFwaCA9IChleHBhbmRBcm91bmRJZGVvZ3Jh
cGhzICYmIEZvbnRDYXNjYWRlOjppc0NKS0lkZW9ncmFwaE9yU3ltYm9sKGNoYXJhY3RlcikpOwor
CisgICAgICAgIGlmICh0cmVhdEFzU3BhY2UgfHwgaWRlb2dyYXBoIHx8IGZvcmNlTGVmdEV4cGFu
c2lvbiB8fCBmb3JjZVJpZ2h0RXhwYW5zaW9uKSB7CisgICAgICAgICAgICBhdXRvIFtleHBhbmRM
ZWZ0LCBleHBhbmRSaWdodF0gPSBleHBhbnNpb25Mb2NhdGlvbihpZGVvZ3JhcGgsIHRyZWF0QXNT
cGFjZSwgbV9ydW4ubHRyKCksIG1faXNBZnRlckV4cGFuc2lvbiwgZm9yYmlkTGVmdEV4cGFuc2lv
biwgZm9yYmlkUmlnaHRFeHBhbnNpb24sIGZvcmNlTGVmdEV4cGFuc2lvbiwgZm9yY2VSaWdodEV4
cGFuc2lvbik7CisKKyAgICAgICAgICAgIGlmIChleHBhbmRMZWZ0KQorICAgICAgICAgICAgICAg
IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggKz0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0
eTsKKyAgICAgICAgICAgIGlmIChleHBhbmRSaWdodCkKKyAgICAgICAgICAgICAgICByaWdodEV4
cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OworICAg
ICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHsgbGVmdEFkZGl0aW9uYWxXaWR0aCwgcmlnaHRB
ZGRpdGlvbmFsV2lkdGgsIGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIHJpZ2h0RXhwYW5z
aW9uQWRkaXRpb25hbFdpZHRoIH07Cit9CisKK3N0cnVjdCBHbHlwaEluZGV4UmFuZ2UgeworICAg
IC8vIFRoaXMgbWVhbnMgdGhlIGNoYXJhY3RlciBnb3QgZXhwYW5kZWQgdG8gZ2x5cGhzIGluc2lk
ZSB0aGUgR2x5cGhCdWZmZXIgYXQgaW5kaWNlcyBbbGVhZGluZ0dseXBoSW5kZXgsIHRyYWlsaW5n
R2x5cGhJbmRleF0uCisgICAgdW5zaWduZWQgbGVhZGluZ0dseXBoSW5kZXg7CisgICAgdW5zaWdu
ZWQgdHJhaWxpbmdHbHlwaEluZGV4OworfTsKKwordm9pZCBXaWR0aEl0ZXJhdG9yOjphcHBseUFk
ZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIEdseXBoSW5kZXhSYW5nZSBn
bHlwaEluZGV4UmFuZ2UsIGZsb2F0IGxlZnRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0QWRk
aXRpb25hbFdpZHRoLCBmbG9hdCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoLCBmbG9hdCBy
aWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCkKK3sKKyAgICBtX2V4cGFuc2lvbiAtPSBsZWZ0
RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICsgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7
CisKKyAgICBsZWZ0QWRkaXRpb25hbFdpZHRoICs9IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lk
dGg7CisgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFs
V2lkdGg7CisKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gbGVmdEFkZGl0aW9uYWxXaWR0aDsKKyAg
ICBtX3J1bldpZHRoU29GYXIgKz0gcmlnaHRBZGRpdGlvbmFsV2lkdGg7CisKKyAgICBpZiAobGVm
dEFkZGl0aW9uYWxXaWR0aCkgeworICAgICAgICBpZiAobV9ydW4ubHRyKCkpIHsKKyAgICAgICAg
ICAgIC8vIExlZnQgYWRkaXRpb25hbCB3aWR0aCBpbiBMVFIgbWVhbnMgdGhlIHByZXZpb3VzIChs
ZWFkaW5nKSBnbHlwaCdzIHJpZ2h0IHNpZGUgZ2V0cyBleHBhbmRlZC4KKyAgICAgICAgICAgIGF1
dG8gbGVhZGluZ0dseXBoSW5kZXggPSBnbHlwaEluZGV4UmFuZ2UubGVhZGluZ0dseXBoSW5kZXg7
CisgICAgICAgICAgICBpZiAobGVhZGluZ0dseXBoSW5kZXgpCisgICAgICAgICAgICAgICAgZ2x5
cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShsZWFkaW5nR2x5cGhJbmRleCAtIDEsIGxlZnRBZGRpdGlv
bmFsV2lkdGgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGdseXBoQnVmZmVy
LmV4cGFuZEluaXRpYWxBZHZhbmNlKGxlZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgLy8gTGVmdCBhZGRpdGlvbmFsIHdpZHRoIGluIFJUTCBtZWFucyB0
aGUgbmV4dCAodHJhaWxpbmcpIGdseXBoJ3MgcmlnaHQgc2lkZSBnZXRzIGV4cGFuZGVkLgorICAg
ICAgICAgICAgYXV0byB0cmFpbGluZ0dseXBoSW5kZXggPSBnbHlwaEluZGV4UmFuZ2UudHJhaWxp
bmdHbHlwaEluZGV4OworICAgICAgICAgICAgaWYgKHRyYWlsaW5nR2x5cGhJbmRleCArIDEgPCBn
bHlwaEJ1ZmZlci5zaXplKCkpCisgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2
YW5jZSh0cmFpbGluZ0dseXBoSW5kZXggKyAxLCBsZWZ0QWRkaXRpb25hbFdpZHRoKTsKKyAgICAg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lk
dGggPSBsZWZ0QWRkaXRpb25hbFdpZHRoOworICAgICAgICAgICAgICAgIC8vIFdlIGNhbid0IGFj
dHVhbGx5IGFkZCBpbiB0aGlzIHdpZHRoIGp1c3QgeWV0LgorICAgICAgICAgICAgICAgIC8vIEFk
ZCBpdCBpbiB3aGVuIHRoZSBjbGllbnQgY2FsbHMgYWR2YW5jZSgpIGFnYWluIG9yIGZpbmFsaXpl
KCkuCisgICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyIC09IG1fbGVmdG92ZXJKdXN0aWZp
Y2F0aW9uV2lkdGg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAo
cmlnaHRBZGRpdGlvbmFsV2lkdGgpIHsKKyAgICAgICAgLy8gUmlnaHQgYWRkaXRpb25hbCB3aWR0
aCBtZWFucyB0aGUgY3VycmVudCBnbHlwaCdzIHJpZ2h0IHNpZGUgZ2V0cyBleHBhbmRlZC4gVGhp
cyBpcyB0cnVlIGZvciBib3RoIExUUiBhbmQgUlRMLgorICAgICAgICBnbHlwaEJ1ZmZlci5leHBh
bmRBZHZhbmNlKGdseXBoSW5kZXhSYW5nZS50cmFpbGluZ0dseXBoSW5kZXgsIHJpZ2h0QWRkaXRp
b25hbFdpZHRoKTsKKyAgICB9Cit9CisKK3ZvaWQgV2lkdGhJdGVyYXRvcjo6YXBwbHlFeHRyYVNw
YWNpbmdBZnRlclNoYXBpbmcoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBjaGFy
YWN0ZXJTdGFydEluZGV4LCB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXgsIHVuc2lnbmVk
IGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXgpCit7CisgICAgaWYgKGdseXBoQnVmZmVyU3RhcnRJ
bmRleCA8IGdseXBoQnVmZmVyLnNpemUoKSkgeworICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRB
ZHZhbmNlKGdseXBoQnVmZmVyU3RhcnRJbmRleCwgbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0
aCk7CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldp
ZHRoOworICAgICAgICBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoID0gMDsKKyAgICB9CisK
KyAgICBWZWN0b3I8T3B0aW9uYWw8R2x5cGhJbmRleFJhbmdlPj4gY2hhcmFjdGVySW5kZXhUb0ds
eXBoSW5kZXhSYW5nZShtX3J1bi5sZW5ndGgoKSk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gZ2x5
cGhCdWZmZXJTdGFydEluZGV4OyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgYXV0byBzdHJpbmdPZmZzZXQgPSBnbHlwaEJ1ZmZlci5zdHJpbmdPZmZzZXRBdChpKTsKKyAg
ICAgICAgYXV0byYgZ2x5cGhJbmRleFJhbmdlID0gY2hhcmFjdGVySW5kZXhUb0dseXBoSW5kZXhS
YW5nZVtzdHJpbmdPZmZzZXRdOworICAgICAgICBpZiAoZ2x5cGhJbmRleFJhbmdlKQorICAgICAg
ICAgICAgZ2x5cGhJbmRleFJhbmdlLT50cmFpbGluZ0dseXBoSW5kZXggPSBpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBnbHlwaEluZGV4UmFuZ2UgPSB7e2ksIGl9fTsKKyAgICB9CisgICAg
Zm9yIChHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSBjaGFy
YWN0ZXJTdGFydEluZGV4OyBjdXJyZW50Q2hhcmFjdGVySW5kZXggPCBjaGFyYWN0ZXJEZXN0aW5h
dGlvbkluZGV4OyArK2N1cnJlbnRDaGFyYWN0ZXJJbmRleCkgeworICAgICAgICBhdXRvJiBnbHlw
aEluZGV4UmFuZ2UgPSBjaGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlW2N1cnJlbnRDaGFy
YWN0ZXJJbmRleF07CisgICAgICAgIGlmICghZ2x5cGhJbmRleFJhbmdlKQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgYXV0byBhZGRpdGlvbmFsV2lkdGggPSBjYWxjdWxhdGVBZGRp
dGlvbmFsV2lkdGgoZ2x5cGhCdWZmZXIsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgZ2x5cGhJbmRl
eFJhbmdlLT5sZWFkaW5nR2x5cGhJbmRleCwgZ2x5cGhJbmRleFJhbmdlLT50cmFpbGluZ0dseXBo
SW5kZXgpOworICAgICAgICBhcHBseUFkZGl0aW9uYWxXaWR0aChnbHlwaEJ1ZmZlciwgZ2x5cGhJ
bmRleFJhbmdlLnZhbHVlKCksIGFkZGl0aW9uYWxXaWR0aC5sZWZ0QWRkaXRpb25hbFdpZHRoLCBh
ZGRpdGlvbmFsV2lkdGgucmlnaHRBZGRpdGlvbmFsV2lkdGgsIGFkZGl0aW9uYWxXaWR0aC5sZWZ0
RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoLCBhZGRpdGlvbmFsV2lkdGgucmlnaHRFeHBhbnNpb25B
ZGRpdGlvbmFsV2lkdGgpOworCisgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IChtX3J1bi5s
dHIoKSAmJiBhZGRpdGlvbmFsV2lkdGgucmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgpIHx8
ICghbV9ydW4ubHRyKCkgJiYgYWRkaXRpb25hbFdpZHRoLmxlZnRFeHBhbnNpb25BZGRpdGlvbmFs
V2lkdGgpOworICAgIH0KK30KKwordm9pZCBXaWR0aEl0ZXJhdG9yOjpmaW5hbGl6ZShHbHlwaEJ1
ZmZlciogZ2x5cGhCdWZmZXIpCit7CisgICAgaWYgKCFnbHlwaEJ1ZmZlcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgQVNTRVJUKG1fcnVuLnJ0bCgpIHx8ICFtX2xlZnRvdmVySnVzdGlmaWNhdGlv
bldpZHRoKTsKKyAgICAvLyBJbiBMVFIgdGhpcyBkb2VzIG5vdGhpbmcuIEluIFJUTCwgdGhpcyBh
ZGRzIGxlZnQgd2lkdGggYnkgbW92aW5nIHRoZSB3aG9sZSBydW4gdG8gdGhlIHJpZ2h0LgorICAg
IGdseXBoQnVmZmVyLT5leHBhbmRJbml0aWFsQWR2YW5jZShtX2xlZnRvdmVySnVzdGlmaWNhdGlv
bldpZHRoKTsKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25X
aWR0aDsKKyAgICBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoID0gMDsKK30KKwogdm9pZCBX
aWR0aEl0ZXJhdG9yOjphZHZhbmNlKHVuc2lnbmVkIG9mZnNldCwgR2x5cGhCdWZmZXIqIGdseXBo
QnVmZmVyKQogewogICAgIHVuc2lnbmVkIGxlbmd0aCA9IG1fcnVuLmxlbmd0aCgpOwpAQCAtMzgw
LDE0ICs1MzQsMjUgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKHVuc2lnbmVkIG9mZnNl
dCwgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyKQogICAgIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJJ
bmRleCA+PSBvZmZzZXQpCiAgICAgICAgIHJldHVybjsKIAorICAgIHVuc2lnbmVkIGNoYXJhY3Rl
clN0YXJ0SW5kZXggPSBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleDsKKyAgICB1bnNpZ25lZCBnbHlw
aEJ1ZmZlclN0YXJ0SW5kZXggPSBnbHlwaEJ1ZmZlciA/IGdseXBoQnVmZmVyLT5zaXplKCkgOiAw
OworCiAgICAgaWYgKG1fcnVuLmlzOEJpdCgpKSB7CiAgICAgICAgIExhdGluMVRleHRJdGVyYXRv
ciB0ZXh0SXRlcmF0b3IobV9ydW4uZGF0YTgobV9jdXJyZW50Q2hhcmFjdGVySW5kZXgpLCBtX2N1
cnJlbnRDaGFyYWN0ZXJJbmRleCwgb2Zmc2V0LCBsZW5ndGgpOwogICAgICAgICBhZHZhbmNlSW50
ZXJuYWwodGV4dEl0ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7Ci0gICAgICAgIHJldHVybjsKKyAgICB9
IGVsc2UgeworICAgICAgICBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IgdGV4dEl0ZXJh
dG9yKG1fcnVuLmRhdGExNihtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCksIG1fY3VycmVudENoYXJh
Y3RlckluZGV4LCBvZmZzZXQsIGxlbmd0aCk7CisgICAgICAgIGFkdmFuY2VJbnRlcm5hbCh0ZXh0
SXRlcmF0b3IsIGdseXBoQnVmZmVyKTsKICAgICB9CiAKLSAgICBTdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SXRlcmF0b3IgdGV4dEl0ZXJhdG9yKG1fcnVuLmRhdGExNihtX2N1cnJlbnRDaGFyYWN0ZXJJ
bmRleCksIG1fY3VycmVudENoYXJhY3RlckluZGV4LCBvZmZzZXQsIGxlbmd0aCk7Ci0gICAgYWR2
YW5jZUludGVybmFsKHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOworICAgIC8vIEluIGdlbmVy
YWwsIHdlIGhhdmUgdG8gYXBwbHkgc3BhY2luZyBhZnRlciBzaGFwaW5nLCBiZWNhdXNlIHNoYXBp
bmcgcmVxdWlyZXMgaXRzIGlucHV0IHRvIGJlIHVucGVydGVyYmVkIChzZWUgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTA1MikuCisgICAgLy8gSG93ZXZlciwgaWYg
d2UgZG9uJ3QgaGF2ZSBhIGdseXBoIGJ1ZmZlciwgdGhlbiB3ZSd2ZSBsb3N0IGFsbCB0aGUgZGF0
YSB3ZSBuZWVkIHRvIGFwcGx5IHNwYWNpbmcsIHNvIHdlIGNhbid0IGRvIGl0IGhlcmUuCisgICAg
Ly8gKEFsc28sIGlmIHdlIGRvbid0IGhhdmUgYSBnbHlwaCBidWZmZXIsIHdlIGNhbid0IHBlcmZv
cm0gc2hhcGluZywgd2hpY2ggbWVhbnMgdGhlcmUncyBubyBkaWZmZXJlbmNlIGJldHdlZW4gYXBw
bHlpbmcgc3BhY2luZyBiZWZvcmUgb3IgYWZ0ZXIgc2hhcGluZy4pCisgICAgLy8gU28sIGluIHRo
YXQgc2l0dWF0aW9uLCB3ZSBhcHBseSBzcGFjaW5nIHdoaWxlIGl0ZXJhdGluZyB0aHJvdWdoIHRo
ZSBUZXh0UnVuLgorICAgIC8vIEJ1dCwgaW4gdGhlIGdlbmVyYWwgY2FzZSB3aGVuIHdlIGhhdmUg
YSBHbHlwaEJ1ZmZlciwgd2UgaGF2ZSB0byBkbyBpdCBoZXJlLCBhZnRlciBzaGFwaW5nLgorICAg
IGJvb2wgc2hvdWxkQXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcgPSBnbHlwaEJ1ZmZlciAm
JiBoYXNFeHRyYVNwYWNpbmcoKTsKKyAgICBpZiAoc2hvdWxkQXBwbHlFeHRyYVNwYWNpbmdBZnRl
clNoYXBpbmcpCisgICAgICAgIGFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFwaW5nKCpnbHlwaEJ1
ZmZlciwgY2hhcmFjdGVyU3RhcnRJbmRleCwgZ2x5cGhCdWZmZXJTdGFydEluZGV4LCBvZmZzZXQp
OwogfQogCiBib29sIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VPbmVDaGFyYWN0ZXIoZmxvYXQmIHdp
ZHRoLCBHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKaW5kZXggODdiYTU1ODVhMjAyMDk4MTQ3MjFi
ZDU2MzZkODA5YWY2Y2ZkM2VlOS4uNWIxZDEwYTEyMjY0NjZjMjE3M2QxNzQ4Y2QwMzI4YzEwYjJl
ODc2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJ
dGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRl
cmF0b3IuaApAQCAtMjIsNiArMjIsNyBAQAogI2lmbmRlZiBXaWR0aEl0ZXJhdG9yX2gKICNkZWZp
bmUgV2lkdGhJdGVyYXRvcl9oCiAKKyNpbmNsdWRlICJHbHlwaEJ1ZmZlci5oIgogI2luY2x1ZGUg
PHVuaWNvZGUvdW1hY2hpbmUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KQEAgLTI5LDEwICszMCwxMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBGb250Q2FzY2FkZTsKLWNsYXNzIEdseXBoQnVmZmVyOwogY2xhc3MgRm9udDsKIGNs
YXNzIFRleHRSdW47CiBzdHJ1Y3QgR2x5cGhEYXRhOworc3RydWN0IEdseXBoSW5kZXhSYW5nZTsK
IHN0cnVjdCBPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2U7CiAKIHR5
cGVkZWYgVmVjdG9yPHN0ZDo6cGFpcjx1bnNpZ25lZCwgT3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJh
Y3RlclRyZWF0ZWRBc1NwYWNlPiwgNjQ+IENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZTsKQEAgLTQ0
LDYgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZHZhbmNlKHVuc2lnbmVkIHRvLCBHbHlw
aEJ1ZmZlciopOwogICAgIGJvb2wgYWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEds
eXBoQnVmZmVyJik7CisgICAgdm9pZCBmaW5hbGl6ZShHbHlwaEJ1ZmZlciopOwogCiAgICAgZmxv
YXQgbWF4R2x5cGhCb3VuZGluZ0JveFkoKSBjb25zdCB7IEFTU0VSVChtX2FjY291bnRGb3JHbHlw
aEJvdW5kcyk7IHJldHVybiBtX21heEdseXBoQm91bmRpbmdCb3hZOyB9CiAgICAgZmxvYXQgbWlu
R2x5cGhCb3VuZGluZ0JveFkoKSBjb25zdCB7IEFTU0VSVChtX2FjY291bnRGb3JHbHlwaEJvdW5k
cyk7IHJldHVybiBtX21pbkdseXBoQm91bmRpbmdCb3hZOyB9CkBAIC02NCwxMSArNjYsMjQgQEAg
cHJpdmF0ZToKICAgICBUcmFuc2Zvcm1zVHlwZSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNv
bnN0IEdseXBoQnVmZmVyKiwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIFVDaGFyMzIgcHJldmlv
dXNDaGFyYWN0ZXIpIGNvbnN0OwogICAgIGZsb2F0IGFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhC
dWZmZXIqLCBib29sIGx0ciwgdW5zaWduZWQmIGxhc3RHbHlwaENvdW50LCBjb25zdCBGb250Jiwg
VUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRB
c1NwYWNlJik7CiAKKyAgICBpbmxpbmUgYm9vbCBoYXNFeHRyYVNwYWNpbmcoKSBjb25zdDsKKyAg
ICB2b2lkIGFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFwaW5nKEdseXBoQnVmZmVyJiwgdW5zaWdu
ZWQgY2hhcmFjdGVyU3RhcnRJbmRleCwgdW5zaWduZWQgZ2x5cGhCdWZmZXJTdGFydEluZGV4LCB1
bnNpZ25lZCBjaGFyYWN0ZXJEZXN0aW5hdGlvbkluZGV4KTsKKyAgICBzdHJ1Y3QgQWRkaXRpb25h
bFdpZHRoIHsKKyAgICAgICAgZmxvYXQgbGVmdEFkZGl0aW9uYWxXaWR0aDsKKyAgICAgICAgZmxv
YXQgcmlnaHRBZGRpdGlvbmFsV2lkdGg7CisgICAgICAgIGZsb2F0IGxlZnRFeHBhbnNpb25BZGRp
dGlvbmFsV2lkdGg7CisgICAgICAgIGZsb2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRo
OworICAgIH07CisgICAgQWRkaXRpb25hbFdpZHRoIGNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0aChH
bHlwaEJ1ZmZlciYsIEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0IGN1cnJlbnRDaGFyYWN0ZXJJbmRl
eCwgdW5zaWduZWQgbGVhZGluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIHRyYWlsaW5nR2x5cGhJbmRl
eCkgY29uc3Q7CisgICAgdm9pZCBhcHBseUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYsIEds
eXBoSW5kZXhSYW5nZSwgZmxvYXQgbGVmdEFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRBZGRp
dGlvbmFsV2lkdGgsIGZsb2F0IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJp
Z2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoKTsKKwogICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBt
X2ZvbnQ7CiAgICAgY29uc3QgVGV4dFJ1biYgbV9ydW47CiAgICAgSGFzaFNldDxjb25zdCBGb250
Kj4qIG1fZmFsbGJhY2tGb250cyB7IG51bGxwdHIgfTsKIAorICAgIE9wdGlvbmFsPHVuc2lnbmVk
PiBtX2xhc3RDaGFyYWN0ZXJJbmRleDsKICAgICB1bnNpZ25lZCBtX2N1cnJlbnRDaGFyYWN0ZXJJ
bmRleCB7IDAgfTsKKyAgICBmbG9hdCBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoIHsgMCB9
OwogICAgIGZsb2F0IG1fcnVuV2lkdGhTb0ZhciB7IDAgfTsKICAgICBmbG9hdCBtX2V4cGFuc2lv
biB7IDAgfTsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5IHsgMCB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxk
ZXIuY3BwCmluZGV4IDUzODRlZDBhNmMzMThiYjA2YTQyY2UyMzA5YWI1YjQ5ZDYxYzc5NDMuLmYy
ZjkxY2FjYmMwNDhlNzZkNmIwMWMyYzI1ODY5YzI2ZmNiN2RhODggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHAKQEAg
LTE2NSw2ICsxNjUsMTAgQEAgdm9pZCBTVkdUZXh0TWV0cmljc0J1aWxkZXI6Om1lYXN1cmVUZXh0
UmVuZGVyZXIoUmVuZGVyU1ZHSW5saW5lVGV4dCYgdGV4dCwgTWVhc3UKICAgICAgICAgZGF0YS0+
bGFzdENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7CiAgICAgfQogCisgICAgR2x5cGhCdWZm
ZXIgZ2x5cGhCdWZmZXI7CisgICAgaWYgKG1fc2ltcGxlV2lkdGhJdGVyYXRvcikKKyAgICAgICAg
bV9zaW1wbGVXaWR0aEl0ZXJhdG9yLT5maW5hbGl6ZSgmZ2x5cGhCdWZmZXIpOworCiAgICAgaWYg
KCFkYXRhLT5hbGxDaGFyYWN0ZXJzTWFwKQogICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406251</attachid>
            <date>2020-08-07 23:30:50 -0700</date>
            <delta_ts>2020-08-08 01:43:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214769-20200807233049.patch</filename>
            <type>text/plain</type>
            <size>26246</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1Mzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmNDk1NjNkOTg0NWVl
NDg5ZmVkYjg2MjJiZjBkZGQ3NDI2N2U3MC4uYjg1OGMyNzA3NzBlYWYwOWYxZjZlNmUwNjI0Y2Yy
ZTM2ZTMyMmQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA4LTA3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBv
ZiBDaGluZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAx
NCBiZXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YXNjYWRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJh
bmdlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVU
ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9y
U2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6YWRqdXN0
U2VsZWN0aW9uUmVjdEZvclNpbXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9u
dENhc2NhZGU6Om9mZnNldEZvclBvc2l0aW9uRm9yU2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Okds
eXBoQnVmZmVyOjpleHBhbmRJbml0aWFsQWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpHbHlw
aEJ1ZmZlcjo6ZXhwYW5kQWR2YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lk
dGhJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0
ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2lu
ZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwpOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6Y2FsY3VsYXRlQWRkaXRpb25h
bFdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5QWRk
aXRpb25hbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5RXh0
cmFTcGFjaW5nQWZ0ZXJTaGFwaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6
OmZpbmFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdUZXh0TWV0cmljc0J1aWxkZXI6Om1lYXN1cmVUZXh0UmVuZGVyZXIpOgorCiAyMDIwLTA4
LTA3ICBKYW1lcyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBPZmYgYnkgb25lIGVycm9yIGluIHRyYW5zZm9ybSBmZWVkYmFjayBidWZmZXIgYmluZGluZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmlu
ZGV4IGMwNTMwZWRlMDAwM2ZhZTc0Nzc5MTdhMDFlNjg3NDgzMDYzNzkxZjMuLjQzYjMyM2RiOGVh
NWEyZjc5NTVmMzNjMWNlNmI4YWQ5NzkxYTk0YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTM3OSw2ICszNzksNyBAQCBmbG9h
dCBGb250Q2FzY2FkZTo6d2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVuJiBydW4sIHVuc2ln
bmVkIGZyb20sIHVuc2lnbmVkCiAgICAgICAgIG9mZnNldEFmdGVyUmFuZ2UgPSBzaW1wbGVJdGVy
YXRvci5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNpbXBsZUl0ZXJhdG9yLmFkdmFuY2UocnVu
Lmxlbmd0aCgpLCBudWxscHRyKTsKICAgICAgICAgdG90YWxXaWR0aCA9IHNpbXBsZUl0ZXJhdG9y
LnJ1bldpZHRoU29GYXIoKTsKKyAgICAgICAgc2ltcGxlSXRlcmF0b3IuZmluYWxpemUobnVsbHB0
cik7CiAgICAgfQogCiAgICAgaWYgKG91dFdpZHRoQmVmb3JlUmFuZ2UpCkBAIC0xMzg5LDExICsx
MzkwLDEzIEBAIEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0
IFRleHRSdW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgaWYgKHJ1bi5ydGwoKSkgewog
ICAgICAgICBmbG9hdCBmaW5hbFJvdW5kaW5nV2lkdGggPSBpdC5maW5hbFJvdW5kaW5nV2lkdGgo
KTsKICAgICAgICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksICZsb2NhbEdseXBoQnVmZmVyKTsK
KyAgICAgICAgaXQuZmluYWxpemUoJmxvY2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFs
QWR2YW5jZSA9IGZpbmFsUm91bmRpbmdXaWR0aCArIGl0LnJ1bldpZHRoU29GYXIoKSAtIGFmdGVy
V2lkdGg7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAgICAgaXQuZmluYWxpemUoJmxv
Y2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJlZm9yZVdpZHRoOwot
ICAgIC8vIEZJWE1FOiBEZWFsIHdpdGggdGhlIEdseXBoQnVmZmVyJ3MgY3VycmVudCBpbml0aWFs
QWR2YW5jZS4KLSAgICBnbHlwaEJ1ZmZlci5zZXRJbml0aWFsQWR2YW5jZShGbG9hdFNpemUoaW5p
dGlhbEFkdmFuY2UsIDApKTsKKyAgICB9CisgICAgZ2x5cGhCdWZmZXIuc2V0SW5pdGlhbEFkdmFu
Y2UoRmxvYXRTaXplKGluaXRpYWxBZHZhbmNlLCAwKSArIHN0YXRpY19jYXN0PEZsb2F0U2l6ZT4o
Z2x5cGhCdWZmZXIuaW5pdGlhbEFkdmFuY2UoKSkpOwogCiAgICAgaWYgKHJ1bi5ydGwoKSkKICAg
ICAgICAgZ2x5cGhCdWZmZXIucmV2ZXJzZSgwLCBnbHlwaEJ1ZmZlci5zaXplKCkpOwpAQCAtMTUy
Myw3ICsxNTI2LDkgQEAgZmxvYXQgRm9udENhc2NhZGU6OmZsb2F0V2lkdGhGb3JTaW1wbGVUZXh0
KGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNldDxjb25zdCBGb24KIHsKICAgICBXaWR0aEl0ZXJh
dG9yIGl0KCp0aGlzLCBydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIEds
eXBoQnVmZmVyIGdseXBoQnVmZmVyOwotICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCAoZW5h
YmxlS2VybmluZygpIHx8IHJlcXVpcmVzU2hhcGluZygpKSA/ICZnbHlwaEJ1ZmZlciA6IG51bGxw
dHIpOworICAgIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlckFyZ3VtZW50ID0gKGVuYWJsZUtlcm5p
bmcoKSB8fCByZXF1aXJlc1NoYXBpbmcoKSkgPyAmZ2x5cGhCdWZmZXIgOiBudWxscHRyOworICAg
IGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCBnbHlwaEJ1ZmZlckFyZ3VtZW50KTsKKyAgICBpdC5m
aW5hbGl6ZShnbHlwaEJ1ZmZlckFyZ3VtZW50KTsKIAogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7
CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IHN0ZDo6bWF4PGludD4oZ2x5cGhPdmVyZmxv
dy0+dG9wLCBjZWlsZigtaXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSAoZ2x5cGhPdmVyZmxv
dy0+Y29tcHV0ZUJvdW5kcyA/IDAgOiBmb250TWV0cmljcygpLmFzY2VudCgpKSk7CkBAIC0xNTU4
LDEwICsxNTYzLDEzIEBAIHZvaWQgRm9udENhc2NhZGU6OmFkanVzdFNlbGVjdGlvblJlY3RGb3JT
aW1wbGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgTGF5b3V0UmVjCiAKICAgICBpZiAocnVuLnJ0
bCgpKSB7CiAgICAgICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCAmZ2x5cGhCdWZmZXIpOwor
ICAgICAgICBpdC5maW5hbGl6ZSgmZ2x5cGhCdWZmZXIpOwogICAgICAgICBmbG9hdCB0b3RhbFdp
ZHRoID0gaXQucnVuV2lkdGhTb0ZhcigpOwogICAgICAgICBzZWxlY3Rpb25SZWN0Lm1vdmUodG90
YWxXaWR0aCAtIGFmdGVyV2lkdGgsIDApOwotICAgIH0gZWxzZQorICAgIH0gZWxzZSB7CisgICAg
ICAgIGl0LmZpbmFsaXplKCZnbHlwaEJ1ZmZlcik7CiAgICAgICAgIHNlbGVjdGlvblJlY3QubW92
ZShiZWZvcmVXaWR0aCwgMCk7CisgICAgfQogICAgIHNlbGVjdGlvblJlY3Quc2V0V2lkdGgoTGF5
b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChhZnRlcldpZHRoIC0gYmVmb3JlV2lkdGgpKTsKIH0KIApA
QCAtMTYyMCw2ICsxNjI4LDcgQEAgaW50IEZvbnRDYXNjYWRlOjpvZmZzZXRGb3JQb3NpdGlvbkZv
clNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBmbG9hdCB4LCBib28KICAgICAgICAgfQog
ICAgIH0KIAorICAgIGl0LmZpbmFsaXplKCZsb2NhbEdseXBoQnVmZmVyKTsKICAgICByZXR1cm4g
b2Zmc2V0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HbHlwaEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhC
dWZmZXIuaAppbmRleCAxNzJkM2E3ODI4YWQwOTA3MzMwZTdjMjRmZWY1YzkzYzVmNzYyYmIwLi42
OTZhZGNhYjk0ZjZiOTcyNDBjYjMyZjc5YTk5NmMxZWE0NjhhOTQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgKQEAgLTI5LDYgKzI5LDcgQEAK
IAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxv
YXRTaXplLmgiCiAjaW5jbHVkZSAiR2x5cGguaCIKICNpbmNsdWRlIDxjbGltaXRzPgpAQCAtMTk4
LDYgKzE5OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SW5pdGlhbEFkdmFuY2UoR2x5cGhC
dWZmZXJBZHZhbmNlIGluaXRpYWxBZHZhbmNlKSB7IG1faW5pdGlhbEFkdmFuY2UgPSBpbml0aWFs
QWR2YW5jZTsgfQogICAgIGNvbnN0IEdseXBoQnVmZmVyQWR2YW5jZSYgaW5pdGlhbEFkdmFuY2Uo
KSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxBZHZhbmNlOyB9CisgICAgdm9pZCBleHBhbmRJbml0
aWFsQWR2YW5jZShmbG9hdCB3aWR0aCkgeyBtX2luaXRpYWxBZHZhbmNlLnNldFdpZHRoKG1faW5p
dGlhbEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsgfQogICAgIAogICAgIHN0YXRpYyBjb25zdGV4
cHIgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgbm9PZmZzZXQgPSBzdGQ6Om51bWVyaWNfbGltaXRz
PEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0Pjo6bWF4KCk7CiAgICAgdm9pZCBhZGQoR2x5cGggZ2x5
cGgsIGNvbnN0IEZvbnQqIGZvbnQsIGZsb2F0IHdpZHRoLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNl
dCBvZmZzZXRJblN0cmluZyA9IG5vT2Zmc2V0KQpAQCAtMjUwLDYgKzI1MiwxMyBAQCBwdWJsaWM6
CiAgICAgICAgIGxhc3RBZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0
aCk7CiAgICAgfQogCisgICAgdm9pZCBleHBhbmRBZHZhbmNlKHVuc2lnbmVkIGluZGV4LCBmbG9h
dCB3aWR0aCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8IHNpemUoKSk7CisgICAgICAg
IEdseXBoQnVmZmVyQWR2YW5jZSYgbGFzdEFkdmFuY2UgPSBtX2FkdmFuY2VzW2luZGV4XTsKKyAg
ICAgICAgbGFzdEFkdmFuY2Uuc2V0V2lkdGgobGFzdEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsK
KyAgICB9CisKICAgICB2b2lkIGV4cGFuZExhc3RBZHZhbmNlKEdseXBoQnVmZmVyQWR2YW5jZSBl
eHBhbnNpb24pCiAgICAgewogICAgICAgICBBU1NFUlQoIWlzRW1wdHkoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCmluZGV4IDU0
NTViYmRmNzA1NzRmZDU1NzJlNmNjNjM2Mzg4ZTNhMmFjYzIxM2EuLjRlOGM1MzY2MDA0N2M3MzQz
YmFkYzc4NmI2MjFmOGM5NzQ0YmE5NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC00NSw2ICs0NSw4IEBAIFdpZHRoSXRl
cmF0b3I6OldpZHRoSXRlcmF0b3IoY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IFRleHRS
dW4mIHJ1biwgSGFzaFNlCiAgICAgLCBtX3JlcXVpcmVzU2hhcGluZyhmb250LnJlcXVpcmVzU2hh
cGluZygpKQogICAgICwgbV9mb3JUZXh0RW1waGFzaXMoZm9yVGV4dEVtcGhhc2lzKQogeworICAg
IC8vIEZJWE1FOiBTaG91bGQgd2UgY2xhbXAgbV9leHBhbnNpb24gc28gaXQgY2FuIG5ldmVyIGJl
IG5lZ2F0aXZlPworCiAgICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBhbnNpb25Q
ZXJPcHBvcnR1bml0eSA9IDA7CiAgICAgZWxzZSB7CkBAIC0xNjgsMTIgKzE3MCwxNyBAQCBzdGF0
aWMgaW5saW5lIHN0ZDo6cGFpcjxib29sLCBib29sPiBleHBhbnNpb25Mb2NhdGlvbihib29sIGlk
ZW9ncmFwaCwgYm9vbCB0cmVhdAogICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihleHBhbmRMZWZ0
LCBleHBhbmRSaWdodCk7CiB9CiAKK2lubGluZSBib29sIFdpZHRoSXRlcmF0b3I6Omhhc0V4dHJh
U3BhY2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8
IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rp
c2FibGVkKCk7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBpbmxpbmUg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRl
cmF0b3IsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKIHsKICAgICAvLyBUaGUgY29yZSBsb2dp
YyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2ltcGxlVGV4
dCgpCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKLSAgICBib29sIGhhc0V4dHJhU3BhY2lu
ZyA9IChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1f
ZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7CisgICAgYm9vbCBzaG91bGRB
cHBseUV4dHJhU3BhY2luZ0JlZm9yZVNoYXBpbmcgPSAhZ2x5cGhCdWZmZXIgJiYgaGFzRXh0cmFT
cGFjaW5nKCk7CiAKICAgICBib29sIHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhw
YW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZUxlZnRFeHBhbnNp
b247CiAgICAgYm9vbCBydW5Gb3JjZXNSaWdodEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25C
ZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZVJpZ2h0RXhwYW5zaW9uOwpA
QCAtMTkxLDYgKzE5OCw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRl
cm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgY29uc3QgRm9u
dCogbGFzdEZvbnREYXRhID0gJnByaW1hcnlGb250OwogICAgIHVuc2lnbmVkIGxhc3RHbHlwaENv
dW50ID0gZ2x5cGhCdWZmZXIgPyBnbHlwaEJ1ZmZlci0+c2l6ZSgpIDogMDsKIAorICAgIGF1dG8g
Y3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAg
IFVDaGFyMzIgY2hhcmFjdGVyID0gMDsKICAgICBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyID0g
MDsKICAgICB1bnNpZ25lZCBjbHVzdGVyTGVuZ3RoID0gMDsKQEAgLTE5OCw3ICsyMDYsMTEgQEAg
aW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYg
dGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBTdHJpbmcgbm9ybWFsaXplZFNwYWNlc1N0cmlu
Z0NhY2hlOwogICAgIC8vIFdlIGFyZSBpdGVyYXRpbmcgaW4gc3RyaW5nIG9yZGVyLCBub3QgZ2x5
cGggb3JkZXIuIENvbXBhcmUgdGhpcyB0byBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEds
eXBoc0FuZEFkdmFuY2VzKCkKICAgICB3aGlsZSAodGV4dEl0ZXJhdG9yLmNvbnN1bWUoY2hhcmFj
dGVyLCBjbHVzdGVyTGVuZ3RoKSkgeworICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0
ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIHVuc2lnbmVkIGFkdmFuY2VMZW5n
dGggPSBjbHVzdGVyTGVuZ3RoOworICAgICAgICBib29sIGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIg
PSBjdXJyZW50Q2hhcmFjdGVySW5kZXggKyBhZHZhbmNlTGVuZ3RoID09IHN0YXRpY19jYXN0PHNp
emVfdD4obV9ydW4ubGVuZ3RoKCkpOworICAgICAgICBpZiAoY3VycmVudElzTGFzdENoYXJhY3Rl
cikKKyAgICAgICAgICAgIG1fbGFzdENoYXJhY3RlckluZGV4ID0gY3VycmVudENoYXJhY3Rlcklu
ZGV4OwogICAgICAgICBib29sIGNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nID0gIWlzRGVmYXVs
dElnbm9yYWJsZUNvZGVQb2ludChjaGFyYWN0ZXIpOwogI2lmIFVTRShGUkVFVFlQRSkKICAgICAg
ICAgLy8gRnJlZXR5cGUgYmFzZWQgcG9ydHMgb25seSBvdmVycmlkZSB0aGUgY2hhcmFjdGVycyB3
aXRoIERlZmF1bHRfSWdub3JhYmxlIHVuaWNvZGUgcHJvcGVydHkgd2hlbiB0aGUgZm9udApAQCAt
MjA4LDcgKzIyMCw2IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5h
bChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgfQogI2VuZGlmCi0gICAgICAgIGludCBjdXJyZW50Q2hhcmFjdGVySW5k
ZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIGNvbnN0IEdseXBoRGF0
YSYgZ2x5cGhEYXRhID0gbV9mb250LmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIHJ0
bCk7CiAgICAgICAgIEdseXBoIGdseXBoID0gZ2x5cGhEYXRhLmdseXBoOwogICAgICAgICBpZiAo
IWdseXBoICYmICFjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZykgewpAQCAtMjUxLDcgKzI2Miwx
MCBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJh
dG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKGhhc0V4dHJhU3BhY2luZykgeworICAgICAgICAvLyBGSVhNRTogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTA1MjogRGVsZXRlIHRoaXMgc2Vj
dGlvbiBpbiBmYXZvciBvZiBhcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZygpLgorICAgICAg
ICAvLyBJZiB0aGVyZSBpcyBubyBHbHlwaEJ1ZmZlciwgd2UgY2FuJ3QgYXBwbHkgc3BhY2luZyB3
aGVuIHdlJ3JlIGRvbmUgYmVjYXVzZSB3ZSd2ZSBsb3N0IGFsbCB0aGUgaW5mb3JtYXRpb24gYWJv
dXQgd2hpY2ggY2hhcmFjdGVyIGlzIGFzc29jaWF0ZWQgd2l0aCB3aGljaCBnbHlwaC4KKyAgICAg
ICAgLy8gU28sIGlmIHRoZXJlIGlzIG5vIEdseXBoQnVmZmVyLCBhcHBseSBzcGFjaW5nIGhlcmUg
aW5zdGVhZC4KKyAgICAgICAgaWYgKHNob3VsZEFwcGx5RXh0cmFTcGFjaW5nQmVmb3JlU2hhcGlu
ZykgewogICAgICAgICAgICAgLy8gQWNjb3VudCBmb3IgbGV0dGVyLXNwYWNpbmcuCiAgICAgICAg
ICAgICBpZiAod2lkdGgpIHsKICAgICAgICAgICAgICAgICB3aWR0aCArPSBtX2ZvbnQubGV0dGVy
U3BhY2luZygpOwpAQCAtMjYxLDkgKzI3NSw4IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6
OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAK
ICAgICAgICAgICAgIHN0YXRpYyBib29sIGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgPSBGb250Q2Fz
Y2FkZTo6Y2FuRXhwYW5kQXJvdW5kSWRlb2dyYXBoc0luQ29tcGxleFRleHQoKTsKICAgICAgICAg
ICAgIGJvb2wgdHJlYXRBc1NwYWNlID0gRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFyYWN0
ZXIpOwotICAgICAgICAgICAgYm9vbCBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyID0gY3VycmVudENo
YXJhY3RlckluZGV4ICsgYWR2YW5jZUxlbmd0aCA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KG1fcnVu
Lmxlbmd0aCgpKTsKLSAgICAgICAgICAgIGJvb2wgZm9yY2VMZWZ0RXhwYW5zaW9uID0gZmFsc2U7
IC8vIE9uIHRoZSBsZWZ0LCByZWdhcmRsZXNzIG9mIG1fcnVuLmx0cigpCi0gICAgICAgICAgICBi
b29sIGZvcmNlUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsgLy8gT24gdGhlIHJpZ2h0LCByZWdhcmRs
ZXNzIG9mIG1fcnVuLmx0cigpCisgICAgICAgICAgICBib29sIGZvcmNlTGVmdEV4cGFuc2lvbiA9
IGZhbHNlOworICAgICAgICAgICAgYm9vbCBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gZmFsc2U7CiAg
ICAgICAgICAgICBib29sIGZvcmJpZExlZnRFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgICAg
IGJvb2wgZm9yYmlkUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgICAgIGlmIChydW5G
b3JjZXNMZWZ0RXhwYW5zaW9uKQpAQCAtMjc3LDYgKzI5MCw3IEBAIGlubGluZSB2b2lkIFdpZHRo
SXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5
cGhCdWZmCiAgICAgICAgICAgICBib29sIGlkZW9ncmFwaCA9IChleHBhbmRBcm91bmRJZGVvZ3Jh
cGhzICYmIEZvbnRDYXNjYWRlOjppc0NKS0lkZW9ncmFwaE9yU3ltYm9sKGNoYXJhY3RlcikpOwog
ICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFjZSB8fCBpZGVvZ3JhcGggfHwgZm9yY2VMZWZ0RXhw
YW5zaW9uIHx8IGZvcmNlUmlnaHRFeHBhbnNpb24pIHsKICAgICAgICAgICAgICAgICAvLyBEaXN0
cmlidXRlIHRoZSBydW4ncyB0b3RhbCBleHBhbnNpb24gZXZlbmx5IG92ZXIgYWxsIGV4cGFuc2lv
biBvcHBvcnR1bml0aWVzIGluIHRoZSBydW4uCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFNo
b3VsZG4ndCB0aGlzIGNvbmRpdGlvbiBiZSAibV9leHBhbnNpb24gPiAwIj8KICAgICAgICAgICAg
ICAgICBpZiAobV9leHBhbnNpb24pIHsKICAgICAgICAgICAgICAgICAgICAgYXV0byBbZXhwYW5k
TGVmdCwgZXhwYW5kUmlnaHRdID0gZXhwYW5zaW9uTG9jYXRpb24oaWRlb2dyYXBoLCB0cmVhdEFz
U3BhY2UsIG1fcnVuLmx0cigpLCBtX2lzQWZ0ZXJFeHBhbnNpb24sIGZvcmJpZExlZnRFeHBhbnNp
b24sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uLCBmb3JjZUxlZnRFeHBhbnNpb24sIGZvcmNlUmlnaHRF
eHBhbnNpb24pOwogICAgICAgICAgICAgICAgICAgICBpZiAoZXhwYW5kTGVmdCkgewpAQCAtMjk2
LDYgKzMxMCw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChU
ZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY3JlYXNlIG5l
eHQgd2lkdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0b3Zlckp1c3RpZmljYXRp
b25XaWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBXaHkgYXJlbid0IHdlIGRvaW5nICJtX2V4cGFuc2lvbiAtPSBt
X2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OyIgaGVyZT8KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgICB9CkBAIC0zNTEsMTMgKzM2Niw2IEBAIGlubGluZSB2b2lk
IFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRv
ciwgR2x5cGhCdWZmCiAgICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyID0gY2hhcmFjdGVyOwogICAg
IH0KIAotICAgIGlmIChnbHlwaEJ1ZmZlciAmJiBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkg
ewotICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+YWRkKGxhc3RGb250RGF0YS0+emVyb1dpZHRoU3BhY2VHbHlwaCgpLCBsYXN0Rm9udERhdGEs
IGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGxhc3RGb250RGF0YS0+c3BhY2VH
bHlwaCgpLCBsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5s
ZW5ndGgoKSAtIDEpOwotICAgIH0KLQogICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXND
aGFyYWN0ZXIpOwogICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9u
ZSkgewogICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlw
aEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCAqbGFzdEZvbnREYXRhLCBwcmV2
aW91c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwg
Y2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKQEAgLTM3MCw2ICszNzgsMTUyIEBAIGlubGluZSB2
b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVy
YXRvciwgR2x5cGhCdWZmCiAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBsYXN0Um91bmRpbmdX
aWR0aDsKIH0KIAorYXV0byBXaWR0aEl0ZXJhdG9yOjpjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgo
R2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBjdXJyZW50
Q2hhcmFjdGVySW5kZXgsIHVuc2lnbmVkIGxlYWRpbmdHbHlwaEluZGV4LCB1bnNpZ25lZCB0cmFp
bGluZ0dseXBoSW5kZXgpIGNvbnN0IC0+IEFkZGl0aW9uYWxXaWR0aAoreworICAgIGZsb2F0IGxl
ZnRBZGRpdGlvbmFsV2lkdGggPSAwOworICAgIGZsb2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoID0g
MDsKKyAgICBmbG9hdCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoID0gMDsKKyAgICBmbG9h
dCByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCA9IDA7CisKKyAgICBhdXRvIGNoYXJhY3Rl
ciA9IG1fcnVuW2N1cnJlbnRDaGFyYWN0ZXJJbmRleF07CisgICAgYm9vbCB0cmVhdEFzU3BhY2Ug
PSBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rlcik7CisKKyAgICB7IC8vIExldHRl
ci1zcGFjaW5nCisgICAgICAgIC8vIFRoaXMgaXMgYW4gYXBwcm94aW1hdGlvbiB0byBkZXRlcm1p
bmUgaWYgdGhlIGNoYXJhY3RlciBpcyBub24tdmlzaWJsZS4gTm9uLXZpc2libGUgY2hhcmFjdGVy
cyBkb24ndCBnZXQgbGV0dGVyLXNwYWNpbmcuCisgICAgICAgIGZsb2F0IGJhc2VXaWR0aCA9IDA7
CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGxlYWRpbmdHbHlwaEluZGV4OyBpIDw9IHRyYWls
aW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICAgICAgYmFzZVdpZHRoICs9IGdseXBoQnVmZmVy
LmFkdmFuY2VBdChpKS53aWR0aCgpOworICAgICAgICBpZiAoYmFzZVdpZHRoKQorICAgICAgICAg
ICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gbV9mb250LmxldHRlclNwYWNpbmcoKTsKKyAgICB9
CisKKyAgICB7IC8vIFdvcmQgc3BhY2luZworICAgICAgICBpZiAodHJlYXRBc1NwYWNlICYmIChj
aGFyYWN0ZXIgIT0gdGFiQ2hhcmFjdGVyIHx8ICFtX3J1bi5hbGxvd1RhYnMoKSkgJiYgKGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCB8fCBjaGFyYWN0ZXIgPT0gbm9CcmVha1NwYWNlKSAmJiBtX2ZvbnQu
d29yZFNwYWNpbmcoKSkKKyAgICAgICAgICAgIHJpZ2h0QWRkaXRpb25hbFdpZHRoICs9IG1fZm9u
dC53b3JkU3BhY2luZygpOworICAgIH0KKworICAgIGlmIChtX2V4cGFuc2lvbiA+IDApIHsgLy8g
SnVzdGlmaWNhdGlvbgorICAgICAgICBib29sIGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgPSBtX2xh
c3RDaGFyYWN0ZXJJbmRleCAmJiBjdXJyZW50Q2hhcmFjdGVySW5kZXggPT0gc3RhdGljX2Nhc3Q8
R2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQ+KCptX2xhc3RDaGFyYWN0ZXJJbmRleCk7CisKKyAgICAg
ICAgYm9vbCBydW5Gb3JjZXNMZWZ0RXhwYW5zaW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9y
KCkgJiBMZWZ0RXhwYW5zaW9uTWFzaykgPT0gRm9yY2VMZWZ0RXhwYW5zaW9uOworICAgICAgICBi
b29sIHJ1bkZvcmNlc1JpZ2h0RXhwYW5zaW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkg
JiBSaWdodEV4cGFuc2lvbk1hc2spID09IEZvcmNlUmlnaHRFeHBhbnNpb247CisgICAgICAgIGJv
b2wgcnVuRm9yYmlkc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAm
IExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRMZWZ0RXhwYW5zaW9uOworICAgICAgICBib29s
IHJ1bkZvcmJpZHNSaWdodEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYg
UmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRSaWdodEV4cGFuc2lvbjsKKworICAgICAgICBi
b29sIGZvcmNlTGVmdEV4cGFuc2lvbiA9IGZhbHNlOworICAgICAgICBib29sIGZvcmNlUmlnaHRF
eHBhbnNpb24gPSBmYWxzZTsKKyAgICAgICAgYm9vbCBmb3JiaWRMZWZ0RXhwYW5zaW9uID0gZmFs
c2U7CisgICAgICAgIGJvb2wgZm9yYmlkUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsKKyAgICAgICAg
aWYgKHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24pCisgICAgICAgICAgICBmb3JjZUxlZnRFeHBhbnNp
b24gPSBtX3J1bi5sdHIoKSA/ICFjdXJyZW50Q2hhcmFjdGVySW5kZXggOiBjdXJyZW50SXNMYXN0
Q2hhcmFjdGVyOworICAgICAgICBpZiAocnVuRm9yY2VzUmlnaHRFeHBhbnNpb24pCisgICAgICAg
ICAgICBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyBjdXJyZW50SXNMYXN0Q2hh
cmFjdGVyIDogIWN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKKyAgICAgICAgaWYgKHJ1bkZvcmJpZHNM
ZWZ0RXhwYW5zaW9uKQorICAgICAgICAgICAgZm9yYmlkTGVmdEV4cGFuc2lvbiA9IG1fcnVuLmx0
cigpID8gIWN1cnJlbnRDaGFyYWN0ZXJJbmRleCA6IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXI7Cisg
ICAgICAgIGlmIChydW5Gb3JiaWRzUmlnaHRFeHBhbnNpb24pCisgICAgICAgICAgICBmb3JiaWRS
aWdodEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gY3VycmVudElzTGFzdENoYXJhY3RlciA6ICFj
dXJyZW50Q2hhcmFjdGVySW5kZXg7CisKKyAgICAgICAgc3RhdGljIGJvb2wgZXhwYW5kQXJvdW5k
SWRlb2dyYXBocyA9IEZvbnRDYXNjYWRlOjpjYW5FeHBhbmRBcm91bmRJZGVvZ3JhcGhzSW5Db21w
bGV4VGV4dCgpOworICAgICAgICBib29sIGlkZW9ncmFwaCA9IChleHBhbmRBcm91bmRJZGVvZ3Jh
cGhzICYmIEZvbnRDYXNjYWRlOjppc0NKS0lkZW9ncmFwaE9yU3ltYm9sKGNoYXJhY3RlcikpOwor
CisgICAgICAgIGlmICh0cmVhdEFzU3BhY2UgfHwgaWRlb2dyYXBoIHx8IGZvcmNlTGVmdEV4cGFu
c2lvbiB8fCBmb3JjZVJpZ2h0RXhwYW5zaW9uKSB7CisgICAgICAgICAgICBhdXRvIFtleHBhbmRM
ZWZ0LCBleHBhbmRSaWdodF0gPSBleHBhbnNpb25Mb2NhdGlvbihpZGVvZ3JhcGgsIHRyZWF0QXNT
cGFjZSwgbV9ydW4ubHRyKCksIG1faXNBZnRlckV4cGFuc2lvbiwgZm9yYmlkTGVmdEV4cGFuc2lv
biwgZm9yYmlkUmlnaHRFeHBhbnNpb24sIGZvcmNlTGVmdEV4cGFuc2lvbiwgZm9yY2VSaWdodEV4
cGFuc2lvbik7CisKKyAgICAgICAgICAgIGlmIChleHBhbmRMZWZ0KQorICAgICAgICAgICAgICAg
IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggKz0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0
eTsKKyAgICAgICAgICAgIGlmIChleHBhbmRSaWdodCkKKyAgICAgICAgICAgICAgICByaWdodEV4
cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OworICAg
ICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHsgbGVmdEFkZGl0aW9uYWxXaWR0aCwgcmlnaHRB
ZGRpdGlvbmFsV2lkdGgsIGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIHJpZ2h0RXhwYW5z
aW9uQWRkaXRpb25hbFdpZHRoIH07Cit9CisKK3N0cnVjdCBHbHlwaEluZGV4UmFuZ2UgeworICAg
IC8vIFRoaXMgbWVhbnMgdGhlIGNoYXJhY3RlciBnb3QgZXhwYW5kZWQgdG8gZ2x5cGhzIGluc2lk
ZSB0aGUgR2x5cGhCdWZmZXIgYXQgaW5kaWNlcyBbbGVhZGluZ0dseXBoSW5kZXgsIHRyYWlsaW5n
R2x5cGhJbmRleF0uCisgICAgdW5zaWduZWQgbGVhZGluZ0dseXBoSW5kZXg7CisgICAgdW5zaWdu
ZWQgdHJhaWxpbmdHbHlwaEluZGV4OworfTsKKwordm9pZCBXaWR0aEl0ZXJhdG9yOjphcHBseUFk
ZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIEdseXBoSW5kZXhSYW5nZSBn
bHlwaEluZGV4UmFuZ2UsIGZsb2F0IGxlZnRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0QWRk
aXRpb25hbFdpZHRoLCBmbG9hdCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoLCBmbG9hdCBy
aWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCkKK3sKKyAgICBtX2V4cGFuc2lvbiAtPSBsZWZ0
RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICsgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7
CisKKyAgICBsZWZ0QWRkaXRpb25hbFdpZHRoICs9IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lk
dGg7CisgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFs
V2lkdGg7CisKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gbGVmdEFkZGl0aW9uYWxXaWR0aDsKKyAg
ICBtX3J1bldpZHRoU29GYXIgKz0gcmlnaHRBZGRpdGlvbmFsV2lkdGg7CisKKyAgICBpZiAobGVm
dEFkZGl0aW9uYWxXaWR0aCkgeworICAgICAgICBpZiAobV9ydW4ubHRyKCkpIHsKKyAgICAgICAg
ICAgIC8vIExlZnQgYWRkaXRpb25hbCB3aWR0aCBpbiBMVFIgbWVhbnMgdGhlIHByZXZpb3VzIChs
ZWFkaW5nKSBnbHlwaCdzIHJpZ2h0IHNpZGUgZ2V0cyBleHBhbmRlZC4KKyAgICAgICAgICAgIGF1
dG8gbGVhZGluZ0dseXBoSW5kZXggPSBnbHlwaEluZGV4UmFuZ2UubGVhZGluZ0dseXBoSW5kZXg7
CisgICAgICAgICAgICBpZiAobGVhZGluZ0dseXBoSW5kZXgpCisgICAgICAgICAgICAgICAgZ2x5
cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShsZWFkaW5nR2x5cGhJbmRleCAtIDEsIGxlZnRBZGRpdGlv
bmFsV2lkdGgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGdseXBoQnVmZmVy
LmV4cGFuZEluaXRpYWxBZHZhbmNlKGxlZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgLy8gTGVmdCBhZGRpdGlvbmFsIHdpZHRoIGluIFJUTCBtZWFucyB0
aGUgbmV4dCAodHJhaWxpbmcpIGdseXBoJ3MgcmlnaHQgc2lkZSBnZXRzIGV4cGFuZGVkLgorICAg
ICAgICAgICAgYXV0byB0cmFpbGluZ0dseXBoSW5kZXggPSBnbHlwaEluZGV4UmFuZ2UudHJhaWxp
bmdHbHlwaEluZGV4OworICAgICAgICAgICAgaWYgKHRyYWlsaW5nR2x5cGhJbmRleCArIDEgPCBn
bHlwaEJ1ZmZlci5zaXplKCkpCisgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2
YW5jZSh0cmFpbGluZ0dseXBoSW5kZXggKyAxLCBsZWZ0QWRkaXRpb25hbFdpZHRoKTsKKyAgICAg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lk
dGggPSBsZWZ0QWRkaXRpb25hbFdpZHRoOworICAgICAgICAgICAgICAgIC8vIFdlIGNhbid0IGFj
dHVhbGx5IGFkZCBpbiB0aGlzIHdpZHRoIGp1c3QgeWV0LgorICAgICAgICAgICAgICAgIC8vIEFk
ZCBpdCBpbiB3aGVuIHRoZSBjbGllbnQgY2FsbHMgYWR2YW5jZSgpIGFnYWluIG9yIGZpbmFsaXpl
KCkuCisgICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyIC09IG1fbGVmdG92ZXJKdXN0aWZp
Y2F0aW9uV2lkdGg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAo
cmlnaHRBZGRpdGlvbmFsV2lkdGgpIHsKKyAgICAgICAgLy8gUmlnaHQgYWRkaXRpb25hbCB3aWR0
aCBtZWFucyB0aGUgY3VycmVudCBnbHlwaCdzIHJpZ2h0IHNpZGUgZ2V0cyBleHBhbmRlZC4gVGhp
cyBpcyB0cnVlIGZvciBib3RoIExUUiBhbmQgUlRMLgorICAgICAgICBnbHlwaEJ1ZmZlci5leHBh
bmRBZHZhbmNlKGdseXBoSW5kZXhSYW5nZS50cmFpbGluZ0dseXBoSW5kZXgsIHJpZ2h0QWRkaXRp
b25hbFdpZHRoKTsKKyAgICB9Cit9CisKK3ZvaWQgV2lkdGhJdGVyYXRvcjo6YXBwbHlFeHRyYVNw
YWNpbmdBZnRlclNoYXBpbmcoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBjaGFy
YWN0ZXJTdGFydEluZGV4LCB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXgsIHVuc2lnbmVk
IGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXgpCit7CisgICAgaWYgKGdseXBoQnVmZmVyU3RhcnRJ
bmRleCA8IGdseXBoQnVmZmVyLnNpemUoKSkgeworICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRB
ZHZhbmNlKGdseXBoQnVmZmVyU3RhcnRJbmRleCwgbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0
aCk7CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldp
ZHRoOworICAgICAgICBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoID0gMDsKKyAgICB9CisK
KyAgICBWZWN0b3I8T3B0aW9uYWw8R2x5cGhJbmRleFJhbmdlPj4gY2hhcmFjdGVySW5kZXhUb0ds
eXBoSW5kZXhSYW5nZShtX3J1bi5sZW5ndGgoKSk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gZ2x5
cGhCdWZmZXJTdGFydEluZGV4OyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgYXV0byBzdHJpbmdPZmZzZXQgPSBnbHlwaEJ1ZmZlci5zdHJpbmdPZmZzZXRBdChpKTsKKyAg
ICAgICAgYXV0byYgZ2x5cGhJbmRleFJhbmdlID0gY2hhcmFjdGVySW5kZXhUb0dseXBoSW5kZXhS
YW5nZVtzdHJpbmdPZmZzZXRdOworICAgICAgICBpZiAoZ2x5cGhJbmRleFJhbmdlKQorICAgICAg
ICAgICAgZ2x5cGhJbmRleFJhbmdlLT50cmFpbGluZ0dseXBoSW5kZXggPSBpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBnbHlwaEluZGV4UmFuZ2UgPSB7e2ksIGl9fTsKKyAgICB9CisgICAg
Zm9yIChHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSBjaGFy
YWN0ZXJTdGFydEluZGV4OyBjdXJyZW50Q2hhcmFjdGVySW5kZXggPCBzdGF0aWNfY2FzdDxHbHlw
aEJ1ZmZlclN0cmluZ09mZnNldD4oY2hhcmFjdGVyRGVzdGluYXRpb25JbmRleCk7ICsrY3VycmVu
dENoYXJhY3RlckluZGV4KSB7CisgICAgICAgIGF1dG8mIGdseXBoSW5kZXhSYW5nZSA9IGNoYXJh
Y3RlckluZGV4VG9HbHlwaEluZGV4UmFuZ2VbY3VycmVudENoYXJhY3RlckluZGV4XTsKKyAgICAg
ICAgaWYgKCFnbHlwaEluZGV4UmFuZ2UpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg
ICBhdXRvIGFkZGl0aW9uYWxXaWR0aCA9IGNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0aChnbHlwaEJ1
ZmZlciwgY3VycmVudENoYXJhY3RlckluZGV4LCBnbHlwaEluZGV4UmFuZ2UtPmxlYWRpbmdHbHlw
aEluZGV4LCBnbHlwaEluZGV4UmFuZ2UtPnRyYWlsaW5nR2x5cGhJbmRleCk7CisgICAgICAgIGFw
cGx5QWRkaXRpb25hbFdpZHRoKGdseXBoQnVmZmVyLCBnbHlwaEluZGV4UmFuZ2UudmFsdWUoKSwg
YWRkaXRpb25hbFdpZHRoLmxlZnRBZGRpdGlvbmFsV2lkdGgsIGFkZGl0aW9uYWxXaWR0aC5yaWdo
dEFkZGl0aW9uYWxXaWR0aCwgYWRkaXRpb25hbFdpZHRoLmxlZnRFeHBhbnNpb25BZGRpdGlvbmFs
V2lkdGgsIGFkZGl0aW9uYWxXaWR0aC5yaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCk7CisK
KyAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gKG1fcnVuLmx0cigpICYmIGFkZGl0aW9uYWxX
aWR0aC5yaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCkgfHwgKCFtX3J1bi5sdHIoKSAmJiBh
ZGRpdGlvbmFsV2lkdGgubGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCk7CisgICAgfQorfQor
Cit2b2lkIFdpZHRoSXRlcmF0b3I6OmZpbmFsaXplKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikK
K3sKKyAgICBpZiAoIWdseXBoQnVmZmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQo
bV9ydW4ucnRsKCkgfHwgIW1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgpOworICAgIC8vIElu
IExUUiB0aGlzIGRvZXMgbm90aGluZy4gSW4gUlRMLCB0aGlzIGFkZHMgbGVmdCB3aWR0aCBieSBt
b3ZpbmcgdGhlIHdob2xlIHJ1biB0byB0aGUgcmlnaHQuCisgICAgZ2x5cGhCdWZmZXItPmV4cGFu
ZEluaXRpYWxBZHZhbmNlKG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgpOworICAgIG1fcnVu
V2lkdGhTb0ZhciArPSBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoOworICAgIG1fbGVmdG92
ZXJKdXN0aWZpY2F0aW9uV2lkdGggPSAwOworfQorCiB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFu
Y2UodW5zaWduZWQgb2Zmc2V0LCBHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIpCiB7CiAgICAgdW5z
aWduZWQgbGVuZ3RoID0gbV9ydW4ubGVuZ3RoKCk7CkBAIC0zODAsMTQgKzUzNCwyNSBAQCB2b2lk
IFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UodW5zaWduZWQgb2Zmc2V0LCBHbHlwaEJ1ZmZlciogZ2x5
cGhCdWZmZXIpCiAgICAgaWYgKG1fY3VycmVudENoYXJhY3RlckluZGV4ID49IG9mZnNldCkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgdW5zaWduZWQgY2hhcmFjdGVyU3RhcnRJbmRleCA9IG1fY3Vy
cmVudENoYXJhY3RlckluZGV4OworICAgIHVuc2lnbmVkIGdseXBoQnVmZmVyU3RhcnRJbmRleCA9
IGdseXBoQnVmZmVyID8gZ2x5cGhCdWZmZXItPnNpemUoKSA6IDA7CisKICAgICBpZiAobV9ydW4u
aXM4Qml0KCkpIHsKICAgICAgICAgTGF0aW4xVGV4dEl0ZXJhdG9yIHRleHRJdGVyYXRvcihtX3J1
bi5kYXRhOChtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCksIG1fY3VycmVudENoYXJhY3RlckluZGV4
LCBvZmZzZXQsIGxlbmd0aCk7CiAgICAgICAgIGFkdmFuY2VJbnRlcm5hbCh0ZXh0SXRlcmF0b3Is
IGdseXBoQnVmZmVyKTsKLSAgICAgICAgcmV0dXJuOworICAgIH0gZWxzZSB7CisgICAgICAgIFN1
cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvciB0ZXh0SXRlcmF0b3IobV9ydW4uZGF0YTE2KG1f
Y3VycmVudENoYXJhY3RlckluZGV4KSwgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwg
bGVuZ3RoKTsKKyAgICAgICAgYWR2YW5jZUludGVybmFsKHRleHRJdGVyYXRvciwgZ2x5cGhCdWZm
ZXIpOwogICAgIH0KIAotICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvciB0ZXh0SXRl
cmF0b3IobV9ydW4uZGF0YTE2KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9jdXJyZW50Q2hh
cmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKLSAgICBhZHZhbmNlSW50ZXJuYWwodGV4dEl0
ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7CisgICAgLy8gSW4gZ2VuZXJhbCwgd2UgaGF2ZSB0byBhcHBs
eSBzcGFjaW5nIGFmdGVyIHNoYXBpbmcsIGJlY2F1c2Ugc2hhcGluZyByZXF1aXJlcyBpdHMgaW5w
dXQgdG8gYmUgdW5wZXJ0ZXJiZWQgKHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE1MDUyKS4KKyAgICAvLyBIb3dldmVyLCBpZiB3ZSBkb24ndCBoYXZlIGEgZ2x5
cGggYnVmZmVyLCB0aGVuIHdlJ3ZlIGxvc3QgYWxsIHRoZSBkYXRhIHdlIG5lZWQgdG8gYXBwbHkg
c3BhY2luZywgc28gd2UgY2FuJ3QgZG8gaXQgaGVyZS4KKyAgICAvLyAoQWxzbywgaWYgd2UgZG9u
J3QgaGF2ZSBhIGdseXBoIGJ1ZmZlciwgd2UgY2FuJ3QgcGVyZm9ybSBzaGFwaW5nLCB3aGljaCBt
ZWFucyB0aGVyZSdzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBhcHBseWluZyBzcGFjaW5nIGJlZm9y
ZSBvciBhZnRlciBzaGFwaW5nLikKKyAgICAvLyBTbywgaW4gdGhhdCBzaXR1YXRpb24sIHdlIGFw
cGx5IHNwYWNpbmcgd2hpbGUgaXRlcmF0aW5nIHRocm91Z2ggdGhlIFRleHRSdW4uCisgICAgLy8g
QnV0LCBpbiB0aGUgZ2VuZXJhbCBjYXNlIHdoZW4gd2UgaGF2ZSBhIEdseXBoQnVmZmVyLCB3ZSBo
YXZlIHRvIGRvIGl0IGhlcmUsIGFmdGVyIHNoYXBpbmcuCisgICAgYm9vbCBzaG91bGRBcHBseUV4
dHJhU3BhY2luZ0FmdGVyU2hhcGluZyA9IGdseXBoQnVmZmVyICYmIGhhc0V4dHJhU3BhY2luZygp
OworICAgIGlmIChzaG91bGRBcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZykKKyAgICAgICAg
YXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoKmdseXBoQnVmZmVyLCBjaGFyYWN0ZXJTdGFy
dEluZGV4LCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXgsIG9mZnNldCk7CiB9CiAKIGJvb2wgV2lkdGhJ
dGVyYXRvcjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEdseXBoQnVmZmVyJiBn
bHlwaEJ1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1dpZHRoSXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRo
SXRlcmF0b3IuaAppbmRleCA4N2JhNTU4NWEyMDIwOTgxNDcyMWJkNTYzNmQ4MDlhZjZjZmQzZWU5
Li41YjFkMTBhMTIyNjQ2NmMyMTczZDE3NDhjZDAzMjhjMTBiMmU4NzYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCkBAIC0yMiw2ICsy
Miw3IEBACiAjaWZuZGVmIFdpZHRoSXRlcmF0b3JfaAogI2RlZmluZSBXaWR0aEl0ZXJhdG9yX2gK
IAorI2luY2x1ZGUgIkdseXBoQnVmZmVyLmgiCiAjaW5jbHVkZSA8dW5pY29kZS91bWFjaGluZS5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAt
MjksMTAgKzMwLDEwIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRDYXNjYWRl
OwotY2xhc3MgR2x5cGhCdWZmZXI7CiBjbGFzcyBGb250OwogY2xhc3MgVGV4dFJ1bjsKIHN0cnVj
dCBHbHlwaERhdGE7CitzdHJ1Y3QgR2x5cGhJbmRleFJhbmdlOwogc3RydWN0IE9yaWdpbmFsQWR2
YW5jZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNTcGFjZTsKIAogdHlwZWRlZiBWZWN0b3I8c3RkOjpw
YWlyPHVuc2lnbmVkLCBPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2U+
LCA2ND4gQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlOwpAQCAtNDQsNiArNDUsNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIGFkdmFuY2UodW5zaWduZWQgdG8sIEdseXBoQnVmZmVyKik7CiAgICAgYm9v
bCBhZHZhbmNlT25lQ2hhcmFjdGVyKGZsb2F0JiB3aWR0aCwgR2x5cGhCdWZmZXImKTsKKyAgICB2
b2lkIGZpbmFsaXplKEdseXBoQnVmZmVyKik7CiAKICAgICBmbG9hdCBtYXhHbHlwaEJvdW5kaW5n
Qm94WSgpIGNvbnN0IHsgQVNTRVJUKG1fYWNjb3VudEZvckdseXBoQm91bmRzKTsgcmV0dXJuIG1f
bWF4R2x5cGhCb3VuZGluZ0JveFk7IH0KICAgICBmbG9hdCBtaW5HbHlwaEJvdW5kaW5nQm94WSgp
IGNvbnN0IHsgQVNTRVJUKG1fYWNjb3VudEZvckdseXBoQm91bmRzKTsgcmV0dXJuIG1fbWluR2x5
cGhCb3VuZGluZ0JveFk7IH0KQEAgLTY0LDExICs2NiwyNCBAQCBwcml2YXRlOgogICAgIFRyYW5z
Zm9ybXNUeXBlIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqLCB1
bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlcikgY29uc3Q7
CiAgICAgZmxvYXQgYXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciosIGJvb2wgbHRyLCB1
bnNpZ25lZCYgbGFzdEdseXBoQ291bnQsIGNvbnN0IEZvbnQmLCBVQ2hhcjMyIHByZXZpb3VzQ2hh
cmFjdGVyLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmKTsKIAorICAgIGlu
bGluZSBib29sIGhhc0V4dHJhU3BhY2luZygpIGNvbnN0OworICAgIHZvaWQgYXBwbHlFeHRyYVNw
YWNpbmdBZnRlclNoYXBpbmcoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBjaGFyYWN0ZXJTdGFydElu
ZGV4LCB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXgsIHVuc2lnbmVkIGNoYXJhY3RlckRl
c3RpbmF0aW9uSW5kZXgpOworICAgIHN0cnVjdCBBZGRpdGlvbmFsV2lkdGggeworICAgICAgICBm
bG9hdCBsZWZ0QWRkaXRpb25hbFdpZHRoOworICAgICAgICBmbG9hdCByaWdodEFkZGl0aW9uYWxX
aWR0aDsKKyAgICAgICAgZmxvYXQgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aDsKKyAgICAg
ICAgZmxvYXQgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisgICAgfTsKKyAgICBBZGRp
dGlvbmFsV2lkdGggY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKEdseXBoQnVmZmVyJiwgR2x5cGhC
dWZmZXJTdHJpbmdPZmZzZXQgY3VycmVudENoYXJhY3RlckluZGV4LCB1bnNpZ25lZCBsZWFkaW5n
R2x5cGhJbmRleCwgdW5zaWduZWQgdHJhaWxpbmdHbHlwaEluZGV4KSBjb25zdDsKKyAgICB2b2lk
IGFwcGx5QWRkaXRpb25hbFdpZHRoKEdseXBoQnVmZmVyJiwgR2x5cGhJbmRleFJhbmdlLCBmbG9h
dCBsZWZ0QWRkaXRpb25hbFdpZHRoLCBmbG9hdCByaWdodEFkZGl0aW9uYWxXaWR0aCwgZmxvYXQg
bGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRFeHBhbnNpb25BZGRpdGlv
bmFsV2lkdGgpOworCiAgICAgY29uc3QgRm9udENhc2NhZGUmIG1fZm9udDsKICAgICBjb25zdCBU
ZXh0UnVuJiBtX3J1bjsKICAgICBIYXNoU2V0PGNvbnN0IEZvbnQqPiogbV9mYWxsYmFja0ZvbnRz
IHsgbnVsbHB0ciB9OwogCisgICAgT3B0aW9uYWw8dW5zaWduZWQ+IG1fbGFzdENoYXJhY3Rlcklu
ZGV4OwogICAgIHVuc2lnbmVkIG1fY3VycmVudENoYXJhY3RlckluZGV4IHsgMCB9OworICAgIGZs
b2F0IG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGggeyAwIH07CiAgICAgZmxvYXQgbV9ydW5X
aWR0aFNvRmFyIHsgMCB9OwogICAgIGZsb2F0IG1fZXhwYW5zaW9uIHsgMCB9OwogICAgIGZsb2F0
IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHAKaW5kZXggNTM4NGVk
MGE2YzMxOGJiMDZhNDJjZTIzMDlhYjViNDlkNjFjNzk0My4uZjJmOTFjYWNiYzA0OGU3NmQ2YjAx
YzJjMjU4NjljMjZmY2I3ZGE4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNwcApAQCAtMTY1LDYgKzE2NSwxMCBAQCB2
b2lkIFNWR1RleHRNZXRyaWNzQnVpbGRlcjo6bWVhc3VyZVRleHRSZW5kZXJlcihSZW5kZXJTVkdJ
bmxpbmVUZXh0JiB0ZXh0LCBNZWFzdQogICAgICAgICBkYXRhLT5sYXN0Q2hhcmFjdGVyID0gY3Vy
cmVudENoYXJhY3RlcjsKICAgICB9CiAKKyAgICBHbHlwaEJ1ZmZlciBnbHlwaEJ1ZmZlcjsKKyAg
ICBpZiAobV9zaW1wbGVXaWR0aEl0ZXJhdG9yKQorICAgICAgICBtX3NpbXBsZVdpZHRoSXRlcmF0
b3ItPmZpbmFsaXplKCZnbHlwaEJ1ZmZlcik7CisKICAgICBpZiAoIWRhdGEtPmFsbENoYXJhY3Rl
cnNNYXApCiAgICAgICAgIHJldHVybjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406253</attachid>
            <date>2020-08-08 01:43:51 -0700</date>
            <delta_ts>2020-08-09 02:27:22 -0700</delta_ts>
            <desc>Needs tests</desc>
            <filename>bug-214769-20200808014350.patch</filename>
            <type>text/plain</type>
            <size>30381</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1Mzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmNDk1NjNkOTg0NWVl
NDg5ZmVkYjg2MjJiZjBkZGQ3NDI2N2U3MC4uYjg1OGMyNzA3NzBlYWYwOWYxZjZlNmUwNjI0Y2Yy
ZTM2ZTMyMmQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA4LTA3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBv
ZiBDaGluZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAx
NCBiZXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YXNjYWRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJh
bmdlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVU
ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9y
U2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6YWRqdXN0
U2VsZWN0aW9uUmVjdEZvclNpbXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9u
dENhc2NhZGU6Om9mZnNldEZvclBvc2l0aW9uRm9yU2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Okds
eXBoQnVmZmVyOjpleHBhbmRJbml0aWFsQWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpHbHlw
aEJ1ZmZlcjo6ZXhwYW5kQWR2YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lk
dGhJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0
ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2lu
ZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwpOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6Y2FsY3VsYXRlQWRkaXRpb25h
bFdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5QWRk
aXRpb25hbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5RXh0
cmFTcGFjaW5nQWZ0ZXJTaGFwaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6
OmZpbmFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdUZXh0TWV0cmljc0J1aWxkZXI6Om1lYXN1cmVUZXh0UmVuZGVyZXIpOgorCiAyMDIwLTA4
LTA3ICBKYW1lcyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBPZmYgYnkgb25lIGVycm9yIGluIHRyYW5zZm9ybSBmZWVkYmFjayBidWZmZXIgYmluZGluZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmlu
ZGV4IGMwNTMwZWRlMDAwM2ZhZTc0Nzc5MTdhMDFlNjg3NDgzMDYzNzkxZjMuLjQzYjMyM2RiOGVh
NWEyZjc5NTVmMzNjMWNlNmI4YWQ5NzkxYTk0YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTM3OSw2ICszNzksNyBAQCBmbG9h
dCBGb250Q2FzY2FkZTo6d2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVuJiBydW4sIHVuc2ln
bmVkIGZyb20sIHVuc2lnbmVkCiAgICAgICAgIG9mZnNldEFmdGVyUmFuZ2UgPSBzaW1wbGVJdGVy
YXRvci5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNpbXBsZUl0ZXJhdG9yLmFkdmFuY2UocnVu
Lmxlbmd0aCgpLCBudWxscHRyKTsKICAgICAgICAgdG90YWxXaWR0aCA9IHNpbXBsZUl0ZXJhdG9y
LnJ1bldpZHRoU29GYXIoKTsKKyAgICAgICAgc2ltcGxlSXRlcmF0b3IuZmluYWxpemUobnVsbHB0
cik7CiAgICAgfQogCiAgICAgaWYgKG91dFdpZHRoQmVmb3JlUmFuZ2UpCkBAIC0xMzg5LDExICsx
MzkwLDEzIEBAIEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0
IFRleHRSdW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgaWYgKHJ1bi5ydGwoKSkgewog
ICAgICAgICBmbG9hdCBmaW5hbFJvdW5kaW5nV2lkdGggPSBpdC5maW5hbFJvdW5kaW5nV2lkdGgo
KTsKICAgICAgICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksICZsb2NhbEdseXBoQnVmZmVyKTsK
KyAgICAgICAgaXQuZmluYWxpemUoJmxvY2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFs
QWR2YW5jZSA9IGZpbmFsUm91bmRpbmdXaWR0aCArIGl0LnJ1bldpZHRoU29GYXIoKSAtIGFmdGVy
V2lkdGg7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAgICAgaXQuZmluYWxpemUoJmxv
Y2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJlZm9yZVdpZHRoOwot
ICAgIC8vIEZJWE1FOiBEZWFsIHdpdGggdGhlIEdseXBoQnVmZmVyJ3MgY3VycmVudCBpbml0aWFs
QWR2YW5jZS4KLSAgICBnbHlwaEJ1ZmZlci5zZXRJbml0aWFsQWR2YW5jZShGbG9hdFNpemUoaW5p
dGlhbEFkdmFuY2UsIDApKTsKKyAgICB9CisgICAgZ2x5cGhCdWZmZXIuc2V0SW5pdGlhbEFkdmFu
Y2UoRmxvYXRTaXplKGluaXRpYWxBZHZhbmNlLCAwKSArIHN0YXRpY19jYXN0PEZsb2F0U2l6ZT4o
Z2x5cGhCdWZmZXIuaW5pdGlhbEFkdmFuY2UoKSkpOwogCiAgICAgaWYgKHJ1bi5ydGwoKSkKICAg
ICAgICAgZ2x5cGhCdWZmZXIucmV2ZXJzZSgwLCBnbHlwaEJ1ZmZlci5zaXplKCkpOwpAQCAtMTUy
Myw3ICsxNTI2LDkgQEAgZmxvYXQgRm9udENhc2NhZGU6OmZsb2F0V2lkdGhGb3JTaW1wbGVUZXh0
KGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNldDxjb25zdCBGb24KIHsKICAgICBXaWR0aEl0ZXJh
dG9yIGl0KCp0aGlzLCBydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIEds
eXBoQnVmZmVyIGdseXBoQnVmZmVyOwotICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCAoZW5h
YmxlS2VybmluZygpIHx8IHJlcXVpcmVzU2hhcGluZygpKSA/ICZnbHlwaEJ1ZmZlciA6IG51bGxw
dHIpOworICAgIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlckFyZ3VtZW50ID0gKGVuYWJsZUtlcm5p
bmcoKSB8fCByZXF1aXJlc1NoYXBpbmcoKSkgPyAmZ2x5cGhCdWZmZXIgOiBudWxscHRyOworICAg
IGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCBnbHlwaEJ1ZmZlckFyZ3VtZW50KTsKKyAgICBpdC5m
aW5hbGl6ZShnbHlwaEJ1ZmZlckFyZ3VtZW50KTsKIAogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7
CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IHN0ZDo6bWF4PGludD4oZ2x5cGhPdmVyZmxv
dy0+dG9wLCBjZWlsZigtaXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSAoZ2x5cGhPdmVyZmxv
dy0+Y29tcHV0ZUJvdW5kcyA/IDAgOiBmb250TWV0cmljcygpLmFzY2VudCgpKSk7CkBAIC0xNTU4
LDEwICsxNTYzLDEzIEBAIHZvaWQgRm9udENhc2NhZGU6OmFkanVzdFNlbGVjdGlvblJlY3RGb3JT
aW1wbGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgTGF5b3V0UmVjCiAKICAgICBpZiAocnVuLnJ0
bCgpKSB7CiAgICAgICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCAmZ2x5cGhCdWZmZXIpOwor
ICAgICAgICBpdC5maW5hbGl6ZSgmZ2x5cGhCdWZmZXIpOwogICAgICAgICBmbG9hdCB0b3RhbFdp
ZHRoID0gaXQucnVuV2lkdGhTb0ZhcigpOwogICAgICAgICBzZWxlY3Rpb25SZWN0Lm1vdmUodG90
YWxXaWR0aCAtIGFmdGVyV2lkdGgsIDApOwotICAgIH0gZWxzZQorICAgIH0gZWxzZSB7CisgICAg
ICAgIGl0LmZpbmFsaXplKCZnbHlwaEJ1ZmZlcik7CiAgICAgICAgIHNlbGVjdGlvblJlY3QubW92
ZShiZWZvcmVXaWR0aCwgMCk7CisgICAgfQogICAgIHNlbGVjdGlvblJlY3Quc2V0V2lkdGgoTGF5
b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChhZnRlcldpZHRoIC0gYmVmb3JlV2lkdGgpKTsKIH0KIApA
QCAtMTYyMCw2ICsxNjI4LDcgQEAgaW50IEZvbnRDYXNjYWRlOjpvZmZzZXRGb3JQb3NpdGlvbkZv
clNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBmbG9hdCB4LCBib28KICAgICAgICAgfQog
ICAgIH0KIAorICAgIGl0LmZpbmFsaXplKCZsb2NhbEdseXBoQnVmZmVyKTsKICAgICByZXR1cm4g
b2Zmc2V0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HbHlwaEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhC
dWZmZXIuaAppbmRleCAxNzJkM2E3ODI4YWQwOTA3MzMwZTdjMjRmZWY1YzkzYzVmNzYyYmIwLi42
OTZhZGNhYjk0ZjZiOTcyNDBjYjMyZjc5YTk5NmMxZWE0NjhhOTQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgKQEAgLTI5LDYgKzI5LDcgQEAK
IAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxv
YXRTaXplLmgiCiAjaW5jbHVkZSAiR2x5cGguaCIKICNpbmNsdWRlIDxjbGltaXRzPgpAQCAtMTk4
LDYgKzE5OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SW5pdGlhbEFkdmFuY2UoR2x5cGhC
dWZmZXJBZHZhbmNlIGluaXRpYWxBZHZhbmNlKSB7IG1faW5pdGlhbEFkdmFuY2UgPSBpbml0aWFs
QWR2YW5jZTsgfQogICAgIGNvbnN0IEdseXBoQnVmZmVyQWR2YW5jZSYgaW5pdGlhbEFkdmFuY2Uo
KSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxBZHZhbmNlOyB9CisgICAgdm9pZCBleHBhbmRJbml0
aWFsQWR2YW5jZShmbG9hdCB3aWR0aCkgeyBtX2luaXRpYWxBZHZhbmNlLnNldFdpZHRoKG1faW5p
dGlhbEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsgfQogICAgIAogICAgIHN0YXRpYyBjb25zdGV4
cHIgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgbm9PZmZzZXQgPSBzdGQ6Om51bWVyaWNfbGltaXRz
PEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0Pjo6bWF4KCk7CiAgICAgdm9pZCBhZGQoR2x5cGggZ2x5
cGgsIGNvbnN0IEZvbnQqIGZvbnQsIGZsb2F0IHdpZHRoLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNl
dCBvZmZzZXRJblN0cmluZyA9IG5vT2Zmc2V0KQpAQCAtMjUwLDYgKzI1MiwxMyBAQCBwdWJsaWM6
CiAgICAgICAgIGxhc3RBZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0
aCk7CiAgICAgfQogCisgICAgdm9pZCBleHBhbmRBZHZhbmNlKHVuc2lnbmVkIGluZGV4LCBmbG9h
dCB3aWR0aCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8IHNpemUoKSk7CisgICAgICAg
IEdseXBoQnVmZmVyQWR2YW5jZSYgbGFzdEFkdmFuY2UgPSBtX2FkdmFuY2VzW2luZGV4XTsKKyAg
ICAgICAgbGFzdEFkdmFuY2Uuc2V0V2lkdGgobGFzdEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsK
KyAgICB9CisKICAgICB2b2lkIGV4cGFuZExhc3RBZHZhbmNlKEdseXBoQnVmZmVyQWR2YW5jZSBl
eHBhbnNpb24pCiAgICAgewogICAgICAgICBBU1NFUlQoIWlzRW1wdHkoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCmluZGV4IDU0
NTViYmRmNzA1NzRmZDU1NzJlNmNjNjM2Mzg4ZTNhMmFjYzIxM2EuLmZmZjg2ZTIzY2U4Y2QzYWNm
MDI2OWNiZDA2NzEyMzFhOTJiYjdlMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC00NSw2ICs0NSw4IEBAIFdpZHRoSXRl
cmF0b3I6OldpZHRoSXRlcmF0b3IoY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IFRleHRS
dW4mIHJ1biwgSGFzaFNlCiAgICAgLCBtX3JlcXVpcmVzU2hhcGluZyhmb250LnJlcXVpcmVzU2hh
cGluZygpKQogICAgICwgbV9mb3JUZXh0RW1waGFzaXMoZm9yVGV4dEVtcGhhc2lzKQogeworICAg
IC8vIEZJWE1FOiBTaG91bGQgd2UgY2xhbXAgbV9leHBhbnNpb24gc28gaXQgY2FuIG5ldmVyIGJl
IG5lZ2F0aXZlPworCiAgICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBhbnNpb25Q
ZXJPcHBvcnR1bml0eSA9IDA7CiAgICAgZWxzZSB7CkBAIC0xNjgsMTIgKzE3MCwxNyBAQCBzdGF0
aWMgaW5saW5lIHN0ZDo6cGFpcjxib29sLCBib29sPiBleHBhbnNpb25Mb2NhdGlvbihib29sIGlk
ZW9ncmFwaCwgYm9vbCB0cmVhdAogICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihleHBhbmRMZWZ0
LCBleHBhbmRSaWdodCk7CiB9CiAKK2lubGluZSBib29sIFdpZHRoSXRlcmF0b3I6Omhhc0V4dHJh
U3BhY2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8
IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rp
c2FibGVkKCk7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBpbmxpbmUg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRl
cmF0b3IsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKIHsKICAgICAvLyBUaGUgY29yZSBsb2dp
YyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2ltcGxlVGV4
dCgpCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKLSAgICBib29sIGhhc0V4dHJhU3BhY2lu
ZyA9IChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1f
ZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7CisgICAgYm9vbCBzaG91bGRB
cHBseUV4dHJhU3BhY2luZ0JlZm9yZVNoYXBpbmcgPSAhZ2x5cGhCdWZmZXIgJiYgaGFzRXh0cmFT
cGFjaW5nKCk7CiAKICAgICBib29sIHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhw
YW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZUxlZnRFeHBhbnNp
b247CiAgICAgYm9vbCBydW5Gb3JjZXNSaWdodEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25C
ZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZVJpZ2h0RXhwYW5zaW9uOwpA
QCAtMTkxLDYgKzE5OCw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRl
cm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgY29uc3QgRm9u
dCogbGFzdEZvbnREYXRhID0gJnByaW1hcnlGb250OwogICAgIHVuc2lnbmVkIGxhc3RHbHlwaENv
dW50ID0gZ2x5cGhCdWZmZXIgPyBnbHlwaEJ1ZmZlci0+c2l6ZSgpIDogMDsKIAorICAgIGF1dG8g
Y3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAg
IFVDaGFyMzIgY2hhcmFjdGVyID0gMDsKICAgICBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyID0g
MDsKICAgICB1bnNpZ25lZCBjbHVzdGVyTGVuZ3RoID0gMDsKQEAgLTE5OCw3ICsyMDYsMTMgQEAg
aW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYg
dGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBTdHJpbmcgbm9ybWFsaXplZFNwYWNlc1N0cmlu
Z0NhY2hlOwogICAgIC8vIFdlIGFyZSBpdGVyYXRpbmcgaW4gc3RyaW5nIG9yZGVyLCBub3QgZ2x5
cGggb3JkZXIuIENvbXBhcmUgdGhpcyB0byBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEds
eXBoc0FuZEFkdmFuY2VzKCkKICAgICB3aGlsZSAodGV4dEl0ZXJhdG9yLmNvbnN1bWUoY2hhcmFj
dGVyLCBjbHVzdGVyTGVuZ3RoKSkgeworICAgICAgICBpZiAoY2hhcmFjdGVyID09IHRhYkNoYXJh
Y3RlcikKKyAgICAgICAgICAgIG1fY29udGFpbnNUYWJzID0gdHJ1ZTsKKyAgICAgICAgY3VycmVu
dENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICB1
bnNpZ25lZCBhZHZhbmNlTGVuZ3RoID0gY2x1c3Rlckxlbmd0aDsKKyAgICAgICAgYm9vbCBjdXJy
ZW50SXNMYXN0Q2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlckluZGV4ICsgYWR2YW5jZUxlbmd0
aCA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KG1fcnVuLmxlbmd0aCgpKTsKKyAgICAgICAgaWYgKGN1
cnJlbnRJc0xhc3RDaGFyYWN0ZXIpCisgICAgICAgICAgICBtX2xhc3RDaGFyYWN0ZXJJbmRleCA9
IGN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKICAgICAgICAgYm9vbCBjaGFyYWN0ZXJNdXN0RHJhd1Nv
bWV0aGluZyA9ICFpc0RlZmF1bHRJZ25vcmFibGVDb2RlUG9pbnQoY2hhcmFjdGVyKTsKICNpZiBV
U0UoRlJFRVRZUEUpCiAgICAgICAgIC8vIEZyZWV0eXBlIGJhc2VkIHBvcnRzIG9ubHkgb3ZlcnJp
ZGUgdGhlIGNoYXJhY3RlcnMgd2l0aCBEZWZhdWx0X0lnbm9yYWJsZSB1bmljb2RlIHByb3BlcnR5
IHdoZW4gdGhlIGZvbnQKQEAgLTIwOCw3ICsyMjIsNiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVm
ZgogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICNlbmRpZgotICAgICAgICBpbnQg
Y3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAg
ICAgICBjb25zdCBHbHlwaERhdGEmIGdseXBoRGF0YSA9IG1fZm9udC5nbHlwaERhdGFGb3JDaGFy
YWN0ZXIoY2hhcmFjdGVyLCBydGwpOwogICAgICAgICBHbHlwaCBnbHlwaCA9IGdseXBoRGF0YS5n
bHlwaDsKICAgICAgICAgaWYgKCFnbHlwaCAmJiAhY2hhcmFjdGVyTXVzdERyYXdTb21ldGhpbmcp
IHsKQEAgLTIxOCwxMSArMjMxLDExIEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFu
Y2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAg
IGNvbnN0IEZvbnQqIGZvbnQgPSBnbHlwaERhdGEuZm9udCA/IGdseXBoRGF0YS5mb250IDogJm1f
Zm9udC5wcmltYXJ5Rm9udCgpOwogICAgICAgICBBU1NFUlQoZm9udCk7CiAKLSAgICAgICAgLy8g
Tm93IHRoYXQgd2UgaGF2ZSBhIGdseXBoIGFuZCBmb250IGRhdGEsIGdldCBpdHMgd2lkdGguCiAg
ICAgICAgIGZsb2F0IHdpZHRoOwotICAgICAgICBpZiAoY2hhcmFjdGVyID09ICdcdCcgJiYgbV9y
dW4uYWxsb3dUYWJzKCkpCisgICAgICAgIGlmICghZ2x5cGhCdWZmZXIgJiYgY2hhcmFjdGVyID09
IHRhYkNoYXJhY3RlciAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgeworICAgICAgICAgICAgLy8gSWYg
d2UgaGF2ZSBhIEdseXBoQnVmZmVyLCB3ZSBoYW5kbGUgdGFicyBhZnRlciBzaGFwaW5nLCBhcyBw
YXJ0IG9mIHRoZSAiZXh0cmEgc3BhY2luZyIgcGFzcy4KICAgICAgICAgICAgIHdpZHRoID0gbV9m
b250LnRhYldpZHRoKCpmb250LCBtX3J1bi50YWJTaXplKCksIG1fcnVuLnhQb3MoKSArIG1fcnVu
V2lkdGhTb0ZhciArIHdpZHRoU2luY2VMYXN0Um91bmRpbmcpOwotICAgICAgICBlbHNlIHsKKyAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHdpZHRoID0gZm9udC0+d2lkdGhGb3JHbHlwaChn
bHlwaCk7CiAKICAgICAgICAgICAgIC8vIFNWRyB1c2VzIGhvcml6b250YWxHbHlwaFN0cmV0Y2go
KSwgd2hlbiB0ZXh0TGVuZ3RoIGlzIHVzZWQgdG8gc3RyZXRjaC9zcXVlZXplIHRleHQuCkBAIC0y
NTEsNyArMjY0LDEwIEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5h
bChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KIAotICAgICAgICBpZiAoaGFzRXh0cmFTcGFjaW5nKSB7CisgICAgICAgIC8vIEZJ
WE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDUyOiBEZWxl
dGUgdGhpcyBzZWN0aW9uIGluIGZhdm9yIG9mIGFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFwaW5n
KCkuCisgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIEdseXBoQnVmZmVyLCB3ZSBjYW4ndCBhcHBs
eSBzcGFjaW5nIHdoZW4gd2UncmUgZG9uZSBiZWNhdXNlIHdlJ3ZlIGxvc3QgYWxsIHRoZSBpbmZv
cm1hdGlvbiBhYm91dCB3aGljaCBjaGFyYWN0ZXIgaXMgYXNzb2NpYXRlZCB3aXRoIHdoaWNoIGds
eXBoLgorICAgICAgICAvLyBTbywgaWYgdGhlcmUgaXMgbm8gR2x5cGhCdWZmZXIsIGFwcGx5IHNw
YWNpbmcgaGVyZSBpbnN0ZWFkLgorICAgICAgICBpZiAoc2hvdWxkQXBwbHlFeHRyYVNwYWNpbmdC
ZWZvcmVTaGFwaW5nKSB7CiAgICAgICAgICAgICAvLyBBY2NvdW50IGZvciBsZXR0ZXItc3BhY2lu
Zy4KICAgICAgICAgICAgIGlmICh3aWR0aCkgewogICAgICAgICAgICAgICAgIHdpZHRoICs9IG1f
Zm9udC5sZXR0ZXJTcGFjaW5nKCk7CkBAIC0yNjEsOSArMjc3LDggQEAgaW5saW5lIHZvaWQgV2lk
dGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBH
bHlwaEJ1ZmYKIAogICAgICAgICAgICAgc3RhdGljIGJvb2wgZXhwYW5kQXJvdW5kSWRlb2dyYXBo
cyA9IEZvbnRDYXNjYWRlOjpjYW5FeHBhbmRBcm91bmRJZGVvZ3JhcGhzSW5Db21wbGV4VGV4dCgp
OwogICAgICAgICAgICAgYm9vbCB0cmVhdEFzU3BhY2UgPSBGb250Q2FzY2FkZTo6dHJlYXRBc1Nw
YWNlKGNoYXJhY3Rlcik7Ci0gICAgICAgICAgICBib29sIGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIg
PSBjdXJyZW50Q2hhcmFjdGVySW5kZXggKyBhZHZhbmNlTGVuZ3RoID09IHN0YXRpY19jYXN0PHNp
emVfdD4obV9ydW4ubGVuZ3RoKCkpOwotICAgICAgICAgICAgYm9vbCBmb3JjZUxlZnRFeHBhbnNp
b24gPSBmYWxzZTsgLy8gT24gdGhlIGxlZnQsIHJlZ2FyZGxlc3Mgb2YgbV9ydW4ubHRyKCkKLSAg
ICAgICAgICAgIGJvb2wgZm9yY2VSaWdodEV4cGFuc2lvbiA9IGZhbHNlOyAvLyBPbiB0aGUgcmln
aHQsIHJlZ2FyZGxlc3Mgb2YgbV9ydW4ubHRyKCkKKyAgICAgICAgICAgIGJvb2wgZm9yY2VMZWZ0
RXhwYW5zaW9uID0gZmFsc2U7CisgICAgICAgICAgICBib29sIGZvcmNlUmlnaHRFeHBhbnNpb24g
PSBmYWxzZTsKICAgICAgICAgICAgIGJvb2wgZm9yYmlkTGVmdEV4cGFuc2lvbiA9IGZhbHNlOwog
ICAgICAgICAgICAgYm9vbCBmb3JiaWRSaWdodEV4cGFuc2lvbiA9IGZhbHNlOwogICAgICAgICAg
ICAgaWYgKHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24pCkBAIC0yNzcsNiArMjkyLDcgQEAgaW5saW5l
IHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0
ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIGJvb2wgaWRlb2dyYXBoID0gKGV4cGFuZEFy
b3VuZElkZW9ncmFwaHMgJiYgRm9udENhc2NhZGU6OmlzQ0pLSWRlb2dyYXBoT3JTeW1ib2woY2hh
cmFjdGVyKSk7CiAgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlIHx8IGlkZW9ncmFwaCB8fCBm
b3JjZUxlZnRFeHBhbnNpb24gfHwgZm9yY2VSaWdodEV4cGFuc2lvbikgewogICAgICAgICAgICAg
ICAgIC8vIERpc3RyaWJ1dGUgdGhlIHJ1bidzIHRvdGFsIGV4cGFuc2lvbiBldmVubHkgb3ZlciBh
bGwgZXhwYW5zaW9uIG9wcG9ydHVuaXRpZXMgaW4gdGhlIHJ1bi4KKyAgICAgICAgICAgICAgICAv
LyBGSVhNRTogU2hvdWxkbid0IHRoaXMgY29uZGl0aW9uIGJlICJtX2V4cGFuc2lvbiA+IDAiPwog
ICAgICAgICAgICAgICAgIGlmIChtX2V4cGFuc2lvbikgewogICAgICAgICAgICAgICAgICAgICBh
dXRvIFtleHBhbmRMZWZ0LCBleHBhbmRSaWdodF0gPSBleHBhbnNpb25Mb2NhdGlvbihpZGVvZ3Jh
cGgsIHRyZWF0QXNTcGFjZSwgbV9ydW4ubHRyKCksIG1faXNBZnRlckV4cGFuc2lvbiwgZm9yYmlk
TGVmdEV4cGFuc2lvbiwgZm9yYmlkUmlnaHRFeHBhbnNpb24sIGZvcmNlTGVmdEV4cGFuc2lvbiwg
Zm9yY2VSaWdodEV4cGFuc2lvbik7CiAgICAgICAgICAgICAgICAgICAgIGlmIChleHBhbmRMZWZ0
KSB7CkBAIC0yOTYsNiArMzEyLDcgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
SW5jcmVhc2UgbmV4dCB3aWR0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRvdmVy
SnVzdGlmaWNhdGlvbldpZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFdoeSBhcmVuJ3Qgd2UgZG9pbmcgIm1fZXhw
YW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7IiBoZXJlPwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IHRydWU7CiAgICAgICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTM1MSwxMyArMzY4LDYgQEAg
aW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYg
dGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgcHJldmlvdXNDaGFyYWN0ZXIgPSBjaGFy
YWN0ZXI7CiAgICAgfQogCi0gICAgaWYgKGdseXBoQnVmZmVyICYmIGxlZnRvdmVySnVzdGlmaWNh
dGlvbldpZHRoKSB7Ci0gICAgICAgIGlmIChtX2ZvclRleHRFbXBoYXNpcykKLSAgICAgICAgICAg
IGdseXBoQnVmZmVyLT5hZGQobGFzdEZvbnREYXRhLT56ZXJvV2lkdGhTcGFjZUdseXBoKCksIGxh
c3RGb250RGF0YSwgbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0g
MSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQobGFzdEZvbnRE
YXRhLT5zcGFjZUdseXBoKCksIGxhc3RGb250RGF0YSwgbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lk
dGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7Ci0gICAgfQotCiAgICAgYXV0byB0cmFuc2Zvcm1zVHlw
ZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50
LCBwcmV2aW91c0NoYXJhY3Rlcik7CiAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9y
bXNUeXBlOjpOb25lKSB7CiAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFu
c2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsICpsYXN0Rm9u
dERhdGEsIHByZXZpb3VzQ2hhcmFjdGVyLCB0cmFuc2Zvcm1zVHlwZSA9PSBUcmFuc2Zvcm1zVHlw
ZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwpAQCAtMzcwLDggKzM4MCwxODIg
QEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRv
ciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBtX2ZpbmFsUm91bmRpbmdXaWR0aCA9IGxh
c3RSb3VuZGluZ1dpZHRoOwogfQogCithdXRvIFdpZHRoSXRlcmF0b3I6OmNhbGN1bGF0ZUFkZGl0
aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIEdseXBoQnVmZmVyU3RyaW5nT2Zm
c2V0IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgdW5zaWduZWQgbGVhZGluZ0dseXBoSW5kZXgsIHVu
c2lnbmVkIHRyYWlsaW5nR2x5cGhJbmRleCwgZmxvYXQgcG9zaXRpb24pIGNvbnN0IC0+IEFkZGl0
aW9uYWxXaWR0aAoreworICAgIGZsb2F0IGxlZnRBZGRpdGlvbmFsV2lkdGggPSAwOworICAgIGZs
b2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoID0gMDsKKyAgICBmbG9hdCBsZWZ0RXhwYW5zaW9uQWRk
aXRpb25hbFdpZHRoID0gMDsKKyAgICBmbG9hdCByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0
aCA9IDA7CisKKyAgICBhdXRvIGNoYXJhY3RlciA9IG1fcnVuW2N1cnJlbnRDaGFyYWN0ZXJJbmRl
eF07CisKKyAgICAvLyBUYWIgc3RvcHMKKyAgICBpZiAoY2hhcmFjdGVyID09IHRhYkNoYXJhY3Rl
ciAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgeworICAgICAgICBhdXRvKiBmb250ID0gZ2x5cGhCdWZm
ZXIuZm9udEF0KHRyYWlsaW5nR2x5cGhJbmRleCk7CisgICAgICAgIGF1dG8gbmV3V2lkdGggPSBt
X2ZvbnQudGFiV2lkdGgoKmZvbnQsIG1fcnVuLnRhYlNpemUoKSwgcG9zaXRpb24pOworICAgICAg
ICBhdXRvIGN1cnJlbnRXaWR0aCA9IGdseXBoQnVmZmVyLmFkdmFuY2VBdCh0cmFpbGluZ0dseXBo
SW5kZXgpLndpZHRoKCk7CisgICAgICAgIHJpZ2h0QWRkaXRpb25hbFdpZHRoICs9IG5ld1dpZHRo
IC0gY3VycmVudFdpZHRoOworICAgIH0KKworICAgIGlmIChoYXNFeHRyYVNwYWNpbmcoKSkgeyAv
LyBUYWIgc3RvcHMgYXBwYXJlbnRseSBkb24ndCBjb3VudCBhcyAiZXh0cmEgc3BhY2luZyIuCisg
ICAgICAgIGJvb2wgdHJlYXRBc1NwYWNlID0gRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFy
YWN0ZXIpOworCisgICAgICAgIHsgLy8gTGV0dGVyLXNwYWNpbmcKKyAgICAgICAgICAgIC8vIFRo
aXMgaXMgYW4gYXBwcm94aW1hdGlvbiB0byBkZXRlcm1pbmUgaWYgdGhlIGNoYXJhY3RlciBpcyBu
b24tdmlzaWJsZS4gTm9uLXZpc2libGUgY2hhcmFjdGVycyBkb24ndCBnZXQgbGV0dGVyLXNwYWNp
bmcuCisgICAgICAgICAgICBmbG9hdCBiYXNlV2lkdGggPSAwOworICAgICAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gbGVhZGluZ0dseXBoSW5kZXg7IGkgPD0gdHJhaWxpbmdHbHlwaEluZGV4OyAr
K2kpCisgICAgICAgICAgICAgICAgYmFzZVdpZHRoICs9IGdseXBoQnVmZmVyLmFkdmFuY2VBdChp
KS53aWR0aCgpOworICAgICAgICAgICAgaWYgKGJhc2VXaWR0aCkKKyAgICAgICAgICAgICAgICBy
aWdodEFkZGl0aW9uYWxXaWR0aCArPSBtX2ZvbnQubGV0dGVyU3BhY2luZygpOworICAgICAgICB9
CisKKyAgICAgICAgeyAvLyBXb3JkIHNwYWNpbmcKKyAgICAgICAgICAgIGlmICh0cmVhdEFzU3Bh
Y2UgJiYgKGNoYXJhY3RlciAhPSB0YWJDaGFyYWN0ZXIgfHwgIW1fcnVuLmFsbG93VGFicygpKSAm
JiAoY3VycmVudENoYXJhY3RlckluZGV4IHx8IGNoYXJhY3RlciA9PSBub0JyZWFrU3BhY2UpICYm
IG1fZm9udC53b3JkU3BhY2luZygpKQorICAgICAgICAgICAgICAgIHJpZ2h0QWRkaXRpb25hbFdp
ZHRoICs9IG1fZm9udC53b3JkU3BhY2luZygpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKG1f
ZXhwYW5zaW9uID4gMCkgeyAvLyBKdXN0aWZpY2F0aW9uCisgICAgICAgICAgICBib29sIGN1cnJl
bnRJc0xhc3RDaGFyYWN0ZXIgPSBtX2xhc3RDaGFyYWN0ZXJJbmRleCAmJiBjdXJyZW50Q2hhcmFj
dGVySW5kZXggPT0gc3RhdGljX2Nhc3Q8R2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQ+KCptX2xhc3RD
aGFyYWN0ZXJJbmRleCk7CisKKyAgICAgICAgICAgIGJvb2wgcnVuRm9yY2VzTGVmdEV4cGFuc2lv
biA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgTGVmdEV4cGFuc2lvbk1hc2spID09IEZv
cmNlTGVmdEV4cGFuc2lvbjsKKyAgICAgICAgICAgIGJvb2wgcnVuRm9yY2VzUmlnaHRFeHBhbnNp
b24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIFJpZ2h0RXhwYW5zaW9uTWFzaykgPT0g
Rm9yY2VSaWdodEV4cGFuc2lvbjsKKyAgICAgICAgICAgIGJvb2wgcnVuRm9yYmlkc0xlZnRFeHBh
bnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9
PSBGb3JiaWRMZWZ0RXhwYW5zaW9uOworICAgICAgICAgICAgYm9vbCBydW5Gb3JiaWRzUmlnaHRF
eHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIFJpZ2h0RXhwYW5zaW9uTWFz
aykgPT0gRm9yYmlkUmlnaHRFeHBhbnNpb247CisKKyAgICAgICAgICAgIGJvb2wgZm9yY2VMZWZ0
RXhwYW5zaW9uID0gZmFsc2U7CisgICAgICAgICAgICBib29sIGZvcmNlUmlnaHRFeHBhbnNpb24g
PSBmYWxzZTsKKyAgICAgICAgICAgIGJvb2wgZm9yYmlkTGVmdEV4cGFuc2lvbiA9IGZhbHNlOwor
ICAgICAgICAgICAgYm9vbCBmb3JiaWRSaWdodEV4cGFuc2lvbiA9IGZhbHNlOworICAgICAgICAg
ICAgaWYgKHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24pCisgICAgICAgICAgICAgICAgZm9yY2VMZWZ0
RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyAhY3VycmVudENoYXJhY3RlckluZGV4IDogY3VycmVu
dElzTGFzdENoYXJhY3RlcjsKKyAgICAgICAgICAgIGlmIChydW5Gb3JjZXNSaWdodEV4cGFuc2lv
bikKKyAgICAgICAgICAgICAgICBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyBj
dXJyZW50SXNMYXN0Q2hhcmFjdGVyIDogIWN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKKyAgICAgICAg
ICAgIGlmIChydW5Gb3JiaWRzTGVmdEV4cGFuc2lvbikKKyAgICAgICAgICAgICAgICBmb3JiaWRM
ZWZ0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyAhY3VycmVudENoYXJhY3RlckluZGV4IDogY3Vy
cmVudElzTGFzdENoYXJhY3RlcjsKKyAgICAgICAgICAgIGlmIChydW5Gb3JiaWRzUmlnaHRFeHBh
bnNpb24pCisgICAgICAgICAgICAgICAgZm9yYmlkUmlnaHRFeHBhbnNpb24gPSBtX3J1bi5sdHIo
KSA/IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgOiAhY3VycmVudENoYXJhY3RlckluZGV4OworCisg
ICAgICAgICAgICBzdGF0aWMgYm9vbCBleHBhbmRBcm91bmRJZGVvZ3JhcGhzID0gRm9udENhc2Nh
ZGU6OmNhbkV4cGFuZEFyb3VuZElkZW9ncmFwaHNJbkNvbXBsZXhUZXh0KCk7CisgICAgICAgICAg
ICBib29sIGlkZW9ncmFwaCA9IChleHBhbmRBcm91bmRJZGVvZ3JhcGhzICYmIEZvbnRDYXNjYWRl
Ojppc0NKS0lkZW9ncmFwaE9yU3ltYm9sKGNoYXJhY3RlcikpOworCisgICAgICAgICAgICBpZiAo
dHJlYXRBc1NwYWNlIHx8IGlkZW9ncmFwaCB8fCBmb3JjZUxlZnRFeHBhbnNpb24gfHwgZm9yY2VS
aWdodEV4cGFuc2lvbikgeworICAgICAgICAgICAgICAgIGF1dG8gW2V4cGFuZExlZnQsIGV4cGFu
ZFJpZ2h0XSA9IGV4cGFuc2lvbkxvY2F0aW9uKGlkZW9ncmFwaCwgdHJlYXRBc1NwYWNlLCBtX3J1
bi5sdHIoKSwgbV9pc0FmdGVyRXhwYW5zaW9uLCBmb3JiaWRMZWZ0RXhwYW5zaW9uLCBmb3JiaWRS
aWdodEV4cGFuc2lvbiwgZm9yY2VMZWZ0RXhwYW5zaW9uLCBmb3JjZVJpZ2h0RXhwYW5zaW9uKTsK
KworICAgICAgICAgICAgICAgIGlmIChleHBhbmRMZWZ0KQorICAgICAgICAgICAgICAgICAgICBs
ZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7
CisgICAgICAgICAgICAgICAgaWYgKGV4cGFuZFJpZ2h0KQorICAgICAgICAgICAgICAgICAgICBy
aWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5
OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHsgbGVmdEFk
ZGl0aW9uYWxXaWR0aCwgcmlnaHRBZGRpdGlvbmFsV2lkdGgsIGxlZnRFeHBhbnNpb25BZGRpdGlv
bmFsV2lkdGgsIHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoIH07Cit9CisKK3N0cnVjdCBH
bHlwaEluZGV4UmFuZ2UgeworICAgIC8vIFRoaXMgbWVhbnMgdGhlIGNoYXJhY3RlciBnb3QgZXhw
YW5kZWQgdG8gZ2x5cGhzIGluc2lkZSB0aGUgR2x5cGhCdWZmZXIgYXQgaW5kaWNlcyBbbGVhZGlu
Z0dseXBoSW5kZXgsIHRyYWlsaW5nR2x5cGhJbmRleF0uCisgICAgdW5zaWduZWQgbGVhZGluZ0ds
eXBoSW5kZXg7CisgICAgdW5zaWduZWQgdHJhaWxpbmdHbHlwaEluZGV4OworfTsKKwordm9pZCBX
aWR0aEl0ZXJhdG9yOjphcHBseUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZm
ZXIsIEdseXBoSW5kZXhSYW5nZSBnbHlwaEluZGV4UmFuZ2UsIGZsb2F0IGxlZnRBZGRpdGlvbmFs
V2lkdGgsIGZsb2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoLCBmbG9hdCBsZWZ0RXhwYW5zaW9uQWRk
aXRpb25hbFdpZHRoLCBmbG9hdCByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCkKK3sKKyAg
ICBtX2V4cGFuc2lvbiAtPSBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICsgcmlnaHRFeHBh
bnNpb25BZGRpdGlvbmFsV2lkdGg7CisKKyAgICBsZWZ0QWRkaXRpb25hbFdpZHRoICs9IGxlZnRF
eHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gcmln
aHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gbGVm
dEFkZGl0aW9uYWxXaWR0aDsKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gcmlnaHRBZGRpdGlvbmFs
V2lkdGg7CisKKyAgICBpZiAobGVmdEFkZGl0aW9uYWxXaWR0aCkgeworICAgICAgICBpZiAobV9y
dW4ubHRyKCkpIHsKKyAgICAgICAgICAgIC8vIExlZnQgYWRkaXRpb25hbCB3aWR0aCBpbiBMVFIg
bWVhbnMgdGhlIHByZXZpb3VzIChsZWFkaW5nKSBnbHlwaCdzIHJpZ2h0IHNpZGUgZ2V0cyBleHBh
bmRlZC4KKyAgICAgICAgICAgIGF1dG8gbGVhZGluZ0dseXBoSW5kZXggPSBnbHlwaEluZGV4UmFu
Z2UubGVhZGluZ0dseXBoSW5kZXg7CisgICAgICAgICAgICBpZiAobGVhZGluZ0dseXBoSW5kZXgp
CisgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShsZWFkaW5nR2x5cGhJ
bmRleCAtIDEsIGxlZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEluaXRpYWxBZHZhbmNlKGxlZnRBZGRpdGlvbmFs
V2lkdGgpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gTGVmdCBhZGRpdGlvbmFs
IHdpZHRoIGluIFJUTCBtZWFucyB0aGUgbmV4dCAodHJhaWxpbmcpIGdseXBoJ3MgcmlnaHQgc2lk
ZSBnZXRzIGV4cGFuZGVkLgorICAgICAgICAgICAgYXV0byB0cmFpbGluZ0dseXBoSW5kZXggPSBn
bHlwaEluZGV4UmFuZ2UudHJhaWxpbmdHbHlwaEluZGV4OworICAgICAgICAgICAgaWYgKHRyYWls
aW5nR2x5cGhJbmRleCArIDEgPCBnbHlwaEJ1ZmZlci5zaXplKCkpCisgICAgICAgICAgICAgICAg
Z2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZSh0cmFpbGluZ0dseXBoSW5kZXggKyAxLCBsZWZ0QWRk
aXRpb25hbFdpZHRoKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIG1fbGVm
dG92ZXJKdXN0aWZpY2F0aW9uV2lkdGggPSBsZWZ0QWRkaXRpb25hbFdpZHRoOworICAgICAgICAg
ICAgICAgIC8vIFdlIGNhbid0IGFjdHVhbGx5IGFkZCBpbiB0aGlzIHdpZHRoIGp1c3QgeWV0Lgor
ICAgICAgICAgICAgICAgIC8vIEFkZCBpdCBpbiB3aGVuIHRoZSBjbGllbnQgY2FsbHMgYWR2YW5j
ZSgpIGFnYWluIG9yIGZpbmFsaXplKCkuCisgICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFy
IC09IG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGg7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBpZiAocmlnaHRBZGRpdGlvbmFsV2lkdGgpIHsKKyAgICAgICAgLy8g
UmlnaHQgYWRkaXRpb25hbCB3aWR0aCBtZWFucyB0aGUgY3VycmVudCBnbHlwaCdzIHJpZ2h0IHNp
ZGUgZ2V0cyBleHBhbmRlZC4gVGhpcyBpcyB0cnVlIGZvciBib3RoIExUUiBhbmQgUlRMLgorICAg
ICAgICBnbHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKGdseXBoSW5kZXhSYW5nZS50cmFpbGluZ0ds
eXBoSW5kZXgsIHJpZ2h0QWRkaXRpb25hbFdpZHRoKTsKKyAgICB9Cit9CisKK3ZvaWQgV2lkdGhJ
dGVyYXRvcjo6YXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoR2x5cGhCdWZmZXImIGdseXBo
QnVmZmVyLCB1bnNpZ25lZCBjaGFyYWN0ZXJTdGFydEluZGV4LCB1bnNpZ25lZCBnbHlwaEJ1ZmZl
clN0YXJ0SW5kZXgsIHVuc2lnbmVkIGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXgsIGZsb2F0IHN0
YXJ0aW5nUnVuV2lkdGgpCit7CisgICAgVmVjdG9yPE9wdGlvbmFsPEdseXBoSW5kZXhSYW5nZT4+
IGNoYXJhY3RlckluZGV4VG9HbHlwaEluZGV4UmFuZ2UobV9ydW4ubGVuZ3RoKCkpOworICAgIFZl
Y3RvcjxmbG9hdD4gYWR2YW5jZVdpZHRocyhtX3J1bi5sZW5ndGgoKSwgMCk7CisgICAgZm9yICh1
bnNpZ25lZCBpID0gZ2x5cGhCdWZmZXJTdGFydEluZGV4OyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgp
OyArK2kpIHsKKyAgICAgICAgYXV0byBzdHJpbmdPZmZzZXQgPSBnbHlwaEJ1ZmZlci5zdHJpbmdP
ZmZzZXRBdChpKTsKKyAgICAgICAgYWR2YW5jZVdpZHRoc1tzdHJpbmdPZmZzZXRdICs9IGdseXBo
QnVmZmVyLmFkdmFuY2VBdChpKS53aWR0aCgpOworICAgICAgICBhdXRvJiBnbHlwaEluZGV4UmFu
Z2UgPSBjaGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlW3N0cmluZ09mZnNldF07CisgICAg
ICAgIGlmIChnbHlwaEluZGV4UmFuZ2UpCisgICAgICAgICAgICBnbHlwaEluZGV4UmFuZ2UtPnRy
YWlsaW5nR2x5cGhJbmRleCA9IGk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdseXBoSW5k
ZXhSYW5nZSA9IHt7aSwgaX19OworICAgIH0KKworICAgIGZsb2F0IHBvc2l0aW9uID0gbV9ydW4u
eFBvcygpICsgc3RhcnRpbmdSdW5XaWR0aDsKKyAgICBmb3IgKEdseXBoQnVmZmVyU3RyaW5nT2Zm
c2V0IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IGNoYXJhY3RlclN0YXJ0SW5kZXg7IGN1cnJlbnRD
aGFyYWN0ZXJJbmRleCA8IHN0YXRpY19jYXN0PEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0PihjaGFy
YWN0ZXJEZXN0aW5hdGlvbkluZGV4KTsgKytjdXJyZW50Q2hhcmFjdGVySW5kZXgpIHsKKyAgICAg
ICAgYXV0byYgZ2x5cGhJbmRleFJhbmdlID0gY2hhcmFjdGVySW5kZXhUb0dseXBoSW5kZXhSYW5n
ZVtjdXJyZW50Q2hhcmFjdGVySW5kZXhdOworICAgICAgICBpZiAoIWdseXBoSW5kZXhSYW5nZSkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGF1dG8gYWRkaXRpb25hbFdpZHRoID0g
Y2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKGdseXBoQnVmZmVyLCBjdXJyZW50Q2hhcmFjdGVySW5k
ZXgsIGdseXBoSW5kZXhSYW5nZS0+bGVhZGluZ0dseXBoSW5kZXgsIGdseXBoSW5kZXhSYW5nZS0+
dHJhaWxpbmdHbHlwaEluZGV4LCBwb3NpdGlvbik7CisgICAgICAgIGFwcGx5QWRkaXRpb25hbFdp
ZHRoKGdseXBoQnVmZmVyLCBnbHlwaEluZGV4UmFuZ2UudmFsdWUoKSwgYWRkaXRpb25hbFdpZHRo
LmxlZnRBZGRpdGlvbmFsV2lkdGgsIGFkZGl0aW9uYWxXaWR0aC5yaWdodEFkZGl0aW9uYWxXaWR0
aCwgYWRkaXRpb25hbFdpZHRoLmxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIGFkZGl0aW9u
YWxXaWR0aC5yaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCk7CisKKyAgICAgICAgbV9pc0Fm
dGVyRXhwYW5zaW9uID0gKG1fcnVuLmx0cigpICYmIGFkZGl0aW9uYWxXaWR0aC5yaWdodEV4cGFu
c2lvbkFkZGl0aW9uYWxXaWR0aCkgfHwgKCFtX3J1bi5sdHIoKSAmJiBhZGRpdGlvbmFsV2lkdGgu
bGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCk7CisKKyAgICAgICAgLy8gVGhpcyBpc24ndCBx
dWl0ZSBwZXJmZWN0LCBiZWNhdXNlIHdlIG1heSBjb21lIGFjcm9zcyBhIHRhYiBjaGFyYWN0ZXIg
aW4gYmV0d2VlbiB0d28gZ2x5cGhzIHdoaWNoIGJvdGggcmVwb3J0IHRvIGNvcnJlc3BvbmQgdG8g
YSBwcmV2aW91cyBjaGFyYWN0ZXIuCisgICAgICAgIC8vIEJ1dCwgdGhlIGZ1bmRhbWVudGFsIGNv
bmNlcHQgb2YgdGFicyBpc24ndCByZWFsbHkgY29tcGF0aWJsZSB3aXRoIGNvbXBsZXggdGV4dCBz
aGFwaW5nLCBzbyB0aGlzIGlzIHByb2JhYmx5IG9rYXkuCisgICAgICAgIC8vIFdlIGNhbiBwcm9i
YWJseSBqdXN0IGRvIHRoZSBiZXN0IHdlIGNhbiBoZXJlLgorICAgICAgICAvLyBUaGUgb25seSBh
bHRlcm5hdGl2ZSwgdG8gY2FsY3VsYXRlIHRoaXMgcG9zaXRpb24gaW4gZ2x5cGgtc3BhY2UgcmF0
aGVyIHRoYW4gY2hhcmFjdGVyLXNwYWNlLAorICAgICAgICAvLyBpcyBPKG5eMikgYmVjYXVzZSB3
ZSdyZSBpdGVyYXRpbmcgYWNyb3NzIHRoZSBzdHJpbmcgaGVyZSwgcmF0aGVyIHRoYW4gZ2x5cGhz
LCBzbyB3ZSBjYW4ndCBrZWVwIHRoZSBjYWxjdWxhdGlvbiB1cC10by1kYXRlLAorICAgICAgICAv
LyB3aGljaCBtZWFucyBjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoKSB3b3VsZCBoYXZlIHRvIGNh
bGN1bGF0ZSB0aGUgcmVzdWx0IGZyb20gc2NyYXRjaCB3aGVuZXZlciBpdCdzIG5lZWRlZC4KKyAg
ICAgICAgLy8gQW5kIHdlIGNhbid0IGRvIHNvbWUgc29ydCBvZiBwcmVmaXgtc3VtIHRoaW5nIGJl
Y2F1c2UgYXBwbHlBZGRpdGlvbmFsV2lkdGgoKSB3b3VsZCBtb2RpZnkgdGhlIHZhbHVlcywKKyAg
ICAgICAgLy8gc28gdXBkYXRpbmcgdGhlIGRhdGEgc3RydWN0dXJlIGVhY2ggdHVybiBvZiB0aGlz
IGxvb3Agd291bGQgYWxzbyBlbmQgdXAgYmVpbmcgTyhuXjIpLgorICAgICAgICAvLyBVbmZvcnR1
bmF0ZWx5LCBzdHJpbmdzIHdpdGggdGFicyBhcmUgbW9yZSBsaWtlbHkgdG8gYmUgbG9uZyBkYXRh
LXRhYmxlIGtpbmQgb2Ygc3RyaW5ncywgd2hpY2ggbWVhbnMgTyhuXjIpIGlzIG5vdCBhY2NlcHRh
YmxlLgorICAgICAgICAvLyBBbHNvLCBldmVuIGlmIHdlIGRpZCB0aGUgTyhuXjIpIHRoaW5nLCB0
aGVyZSB3b3VsZCBzdGlsbCBiZSBjYXNlcyB0aGF0IHdvdWxkbid0IGJlIHBlcmZlY3QKKyAgICAg
ICAgLy8gKGJlY2F1c2UgdGhlIGZ1bmRhbWVudGFsIGNvbmNlcHQgb2YgdGFicyBpc24ndCByZWFs
bHkgY29tcGF0aWJsZSB3aXRoIGNvbXBsZXggdGV4dCBzaGFwaW5nKSwKKyAgICAgICAgLy8gc28g
bGV0J3MgY2hvb3NlIHRoZSBmYXN0LXdyb25nIGFwcHJvYWNoIGhlcmUgaW5zdGVhZCBvZiB0aGUg
c2xvdy13cm9uZyBhcHByb2FjaC4KKyAgICAgICAgcG9zaXRpb24gKz0gYWR2YW5jZVdpZHRoc1tj
dXJyZW50Q2hhcmFjdGVySW5kZXhdCisgICAgICAgICAgICArIGFkZGl0aW9uYWxXaWR0aC5sZWZ0
QWRkaXRpb25hbFdpZHRoCisgICAgICAgICAgICArIGFkZGl0aW9uYWxXaWR0aC5yaWdodEFkZGl0
aW9uYWxXaWR0aAorICAgICAgICAgICAgKyBhZGRpdGlvbmFsV2lkdGgubGVmdEV4cGFuc2lvbkFk
ZGl0aW9uYWxXaWR0aAorICAgICAgICAgICAgKyBhZGRpdGlvbmFsV2lkdGgucmlnaHRFeHBhbnNp
b25BZGRpdGlvbmFsV2lkdGg7CisgICAgfQorfQorCit2b2lkIFdpZHRoSXRlcmF0b3I6OmZpbmFs
aXplKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKK3sKKyAgICBpZiAoIWdseXBoQnVmZmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQobV9ydW4ucnRsKCkgfHwgIW1fbGVmdG92ZXJK
dXN0aWZpY2F0aW9uV2lkdGgpOworICAgIC8vIEluIExUUiB0aGlzIGRvZXMgbm90aGluZy4gSW4g
UlRMLCB0aGlzIGFkZHMgbGVmdCB3aWR0aCBieSBtb3ZpbmcgdGhlIHdob2xlIHJ1biB0byB0aGUg
cmlnaHQuCisgICAgZ2x5cGhCdWZmZXItPmV4cGFuZEluaXRpYWxBZHZhbmNlKG1fbGVmdG92ZXJK
dXN0aWZpY2F0aW9uV2lkdGgpOworICAgIG1fcnVuV2lkdGhTb0ZhciArPSBtX2xlZnRvdmVySnVz
dGlmaWNhdGlvbldpZHRoOworICAgIG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGggPSAwOwor
fQorCiB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UodW5zaWduZWQgb2Zmc2V0LCBHbHlwaEJ1
ZmZlciogZ2x5cGhCdWZmZXIpCiB7CisgICAgbV9jb250YWluc1RhYnMgPSBmYWxzZTsKICAgICB1
bnNpZ25lZCBsZW5ndGggPSBtX3J1bi5sZW5ndGgoKTsKIAogICAgIGlmIChvZmZzZXQgPiBsZW5n
dGgpCkBAIC0zODAsMTQgKzU2NCwzNSBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UodW5z
aWduZWQgb2Zmc2V0LCBHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIpCiAgICAgaWYgKG1fY3VycmVu
dENoYXJhY3RlckluZGV4ID49IG9mZnNldCkKICAgICAgICAgcmV0dXJuOwogCisgICAgdW5zaWdu
ZWQgY2hhcmFjdGVyU3RhcnRJbmRleCA9IG1fY3VycmVudENoYXJhY3RlckluZGV4OworICAgIHVu
c2lnbmVkIGdseXBoQnVmZmVyU3RhcnRJbmRleCA9IGdseXBoQnVmZmVyID8gZ2x5cGhCdWZmZXIt
PnNpemUoKSA6IDA7CisgICAgZmxvYXQgc3RhcnRpbmdSdW5XaWR0aCA9IG1fcnVuV2lkdGhTb0Zh
cjsKKwogICAgIGlmIChtX3J1bi5pczhCaXQoKSkgewogICAgICAgICBMYXRpbjFUZXh0SXRlcmF0
b3IgdGV4dEl0ZXJhdG9yKG1fcnVuLmRhdGE4KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9j
dXJyZW50Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKICAgICAgICAgYWR2YW5jZUlu
dGVybmFsKHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOwotICAgICAgICByZXR1cm47CisgICAg
fSBlbHNlIHsKKyAgICAgICAgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yIHRleHRJdGVy
YXRvcihtX3J1bi5kYXRhMTYobV9jdXJyZW50Q2hhcmFjdGVySW5kZXgpLCBtX2N1cnJlbnRDaGFy
YWN0ZXJJbmRleCwgb2Zmc2V0LCBsZW5ndGgpOworICAgICAgICBhZHZhbmNlSW50ZXJuYWwodGV4
dEl0ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7CiAgICAgfQogCi0gICAgU3Vycm9nYXRlUGFpckF3YXJl
VGV4dEl0ZXJhdG9yIHRleHRJdGVyYXRvcihtX3J1bi5kYXRhMTYobV9jdXJyZW50Q2hhcmFjdGVy
SW5kZXgpLCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCwgb2Zmc2V0LCBsZW5ndGgpOwotICAgIGFk
dmFuY2VJbnRlcm5hbCh0ZXh0SXRlcmF0b3IsIGdseXBoQnVmZmVyKTsKKyAgICAvLyBJbiBnZW5l
cmFsLCB3ZSBoYXZlIHRvIGFwcGx5IHNwYWNpbmcgYWZ0ZXIgc2hhcGluZywgYmVjYXVzZSBzaGFw
aW5nIHJlcXVpcmVzIGl0cyBpbnB1dCB0byBiZSB1bnBlcnRlcmJlZCAoc2VlIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTIpLgorICAgIC8vIEhvd2V2ZXIsIGlm
IHdlIGRvbid0IGhhdmUgYSBnbHlwaCBidWZmZXIsIHRoZW4gd2UndmUgbG9zdCBhbGwgdGhlIGRh
dGEgd2UgbmVlZCB0byBhcHBseSBzcGFjaW5nLCBzbyB3ZSBjYW4ndCBkbyBpdCBoZXJlLgorICAg
IC8vIChBbHNvLCBpZiB3ZSBkb24ndCBoYXZlIGEgZ2x5cGggYnVmZmVyLCB3ZSBjYW4ndCBwZXJm
b3JtIHNoYXBpbmcsIHdoaWNoIG1lYW5zIHRoZXJlJ3Mgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIGFw
cGx5aW5nIHNwYWNpbmcgYmVmb3JlIG9yIGFmdGVyIHNoYXBpbmcuKQorICAgIC8vIFNvLCBpbiB0
aGF0IHNpdHVhdGlvbiwgd2UgYXBwbHkgc3BhY2luZyB3aGlsZSBpdGVyYXRpbmcgdGhyb3VnaCB0
aGUgVGV4dFJ1bi4KKyAgICAvLyBCdXQsIGluIHRoZSBnZW5lcmFsIGNhc2Ugd2hlbiB3ZSBoYXZl
IGEgR2x5cGhCdWZmZXIsIHdlIGhhdmUgdG8gZG8gaXQgaGVyZSwgYWZ0ZXIgc2hhcGluZy4KKyAg
ICBpZiAoZ2x5cGhCdWZmZXIpIHsgLy8gU3BhY2luZyBhZnRlciBzaGFwaW5nCisgICAgICAgIC8v
IFdlIGFzc3VtZSB0aGF0LCBpZiBjbGllbnRzIGNhbGxlZCB1cyB3aXRoIGEgR2x5cGhCdWZmZXIg
YmVmb3JlLCB0aGV5IHdvbid0IGNhbGwgdXMgd2l0aCBudWxscHRyIG5vdy4KKyAgICAgICAgaWYg
KGdseXBoQnVmZmVyU3RhcnRJbmRleCA8IGdseXBoQnVmZmVyLT5zaXplKCkpIHsKKyAgICAgICAg
ICAgIGdseXBoQnVmZmVyLT5leHBhbmRBZHZhbmNlKGdseXBoQnVmZmVyU3RhcnRJbmRleCwgbV9s
ZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCk7CisgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIg
Kz0gbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aDsKKyAgICAgICAgICAgIG1fbGVmdG92ZXJK
dXN0aWZpY2F0aW9uV2lkdGggPSAwOworICAgICAgICB9CisKKyAgICAgICAgYm9vbCBzaG91bGRB
cHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZyA9IGhhc0V4dHJhU3BhY2luZygpIHx8IG1fY29u
dGFpbnNUYWJzOworICAgICAgICBpZiAoc2hvdWxkQXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBp
bmcpCisgICAgICAgICAgICBhcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZygqZ2x5cGhCdWZm
ZXIsIGNoYXJhY3RlclN0YXJ0SW5kZXgsIGdseXBoQnVmZmVyU3RhcnRJbmRleCwgb2Zmc2V0LCBz
dGFydGluZ1J1bldpZHRoKTsKKyAgICB9CiB9CiAKIGJvb2wgV2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaAppbmRl
eCA4N2JhNTU4NWEyMDIwOTgxNDcyMWJkNTYzNmQ4MDlhZjZjZmQzZWU5Li43ZTQxZmQwNGRiNDEy
ZmE2NzA1YTBjYWQwMTA3YmRlMThhNmFhMWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCkBAIC0yMiw2ICsyMiw3IEBACiAjaWZuZGVm
IFdpZHRoSXRlcmF0b3JfaAogI2RlZmluZSBXaWR0aEl0ZXJhdG9yX2gKIAorI2luY2x1ZGUgIkds
eXBoQnVmZmVyLmgiCiAjaW5jbHVkZSA8dW5pY29kZS91bWFjaGluZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtMjksMTAgKzMwLDEwIEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRDYXNjYWRlOwotY2xhc3MgR2x5cGhC
dWZmZXI7CiBjbGFzcyBGb250OwogY2xhc3MgVGV4dFJ1bjsKIHN0cnVjdCBHbHlwaERhdGE7Citz
dHJ1Y3QgR2x5cGhJbmRleFJhbmdlOwogc3RydWN0IE9yaWdpbmFsQWR2YW5jZXNGb3JDaGFyYWN0
ZXJUcmVhdGVkQXNTcGFjZTsKIAogdHlwZWRlZiBWZWN0b3I8c3RkOjpwYWlyPHVuc2lnbmVkLCBP
cmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2U+LCA2ND4gQ2hhcmFjdGVy
c1RyZWF0ZWRBc1NwYWNlOwpAQCAtNDQsNiArNDUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFk
dmFuY2UodW5zaWduZWQgdG8sIEdseXBoQnVmZmVyKik7CiAgICAgYm9vbCBhZHZhbmNlT25lQ2hh
cmFjdGVyKGZsb2F0JiB3aWR0aCwgR2x5cGhCdWZmZXImKTsKKyAgICB2b2lkIGZpbmFsaXplKEds
eXBoQnVmZmVyKik7CiAKICAgICBmbG9hdCBtYXhHbHlwaEJvdW5kaW5nQm94WSgpIGNvbnN0IHsg
QVNTRVJUKG1fYWNjb3VudEZvckdseXBoQm91bmRzKTsgcmV0dXJuIG1fbWF4R2x5cGhCb3VuZGlu
Z0JveFk7IH0KICAgICBmbG9hdCBtaW5HbHlwaEJvdW5kaW5nQm94WSgpIGNvbnN0IHsgQVNTRVJU
KG1fYWNjb3VudEZvckdseXBoQm91bmRzKTsgcmV0dXJuIG1fbWluR2x5cGhCb3VuZGluZ0JveFk7
IH0KQEAgLTY0LDExICs2NiwyNCBAQCBwcml2YXRlOgogICAgIFRyYW5zZm9ybXNUeXBlIHNob3Vs
ZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqLCB1bnNpZ25lZCBsYXN0R2x5
cGhDb3VudCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlcikgY29uc3Q7CiAgICAgZmxvYXQgYXBw
bHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciosIGJvb2wgbHRyLCB1bnNpZ25lZCYgbGFzdEds
eXBoQ291bnQsIGNvbnN0IEZvbnQmLCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyLCBib29sIGZv
cmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmKTsKIAorICAgIGlubGluZSBib29sIGhhc0V4
dHJhU3BhY2luZygpIGNvbnN0OworICAgIHZvaWQgYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBp
bmcoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBjaGFyYWN0ZXJTdGFydEluZGV4LCB1bnNpZ25lZCBn
bHlwaEJ1ZmZlclN0YXJ0SW5kZXgsIHVuc2lnbmVkIGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXgs
IGZsb2F0IHN0YXJ0aW5nUnVuV2lkdGgpOworICAgIHN0cnVjdCBBZGRpdGlvbmFsV2lkdGggewor
ICAgICAgICBmbG9hdCBsZWZ0QWRkaXRpb25hbFdpZHRoOworICAgICAgICBmbG9hdCByaWdodEFk
ZGl0aW9uYWxXaWR0aDsKKyAgICAgICAgZmxvYXQgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0
aDsKKyAgICAgICAgZmxvYXQgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisgICAgfTsK
KyAgICBBZGRpdGlvbmFsV2lkdGggY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKEdseXBoQnVmZmVy
JiwgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgY3VycmVudENoYXJhY3RlckluZGV4LCB1bnNpZ25l
ZCBsZWFkaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgdHJhaWxpbmdHbHlwaEluZGV4LCBmbG9hdCBw
b3NpdGlvbikgY29uc3Q7CisgICAgdm9pZCBhcHBseUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZl
ciYsIEdseXBoSW5kZXhSYW5nZSwgZmxvYXQgbGVmdEFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmln
aHRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIGZs
b2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoKTsKKwogICAgIGNvbnN0IEZvbnRDYXNj
YWRlJiBtX2ZvbnQ7CiAgICAgY29uc3QgVGV4dFJ1biYgbV9ydW47CiAgICAgSGFzaFNldDxjb25z
dCBGb250Kj4qIG1fZmFsbGJhY2tGb250cyB7IG51bGxwdHIgfTsKIAorICAgIE9wdGlvbmFsPHVu
c2lnbmVkPiBtX2xhc3RDaGFyYWN0ZXJJbmRleDsKICAgICB1bnNpZ25lZCBtX2N1cnJlbnRDaGFy
YWN0ZXJJbmRleCB7IDAgfTsKKyAgICBmbG9hdCBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRo
IHsgMCB9OwogICAgIGZsb2F0IG1fcnVuV2lkdGhTb0ZhciB7IDAgfTsKICAgICBmbG9hdCBtX2V4
cGFuc2lvbiB7IDAgfTsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5IHsgMCB9
OwpAQCAtNzcsNiArOTIsNyBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fbWluR2x5cGhCb3VuZGlu
Z0JveFkgeyBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkgfTsKICAgICBmbG9hdCBt
X2ZpcnN0R2x5cGhPdmVyZmxvdyB7IDAgfTsKICAgICBmbG9hdCBtX2xhc3RHbHlwaE92ZXJmbG93
IHsgMCB9OworICAgIGJvb2wgbV9jb250YWluc1RhYnMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9p
c0FmdGVyRXhwYW5zaW9uIHsgZmFsc2UgfTsKICAgICBib29sIG1fYWNjb3VudEZvckdseXBoQm91
bmRzIHsgZmFsc2UgfTsKICAgICBib29sIG1fZW5hYmxlS2VybmluZyB7IGZhbHNlIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRl
ci5jcHAKaW5kZXggNTM4NGVkMGE2YzMxOGJiMDZhNDJjZTIzMDlhYjViNDlkNjFjNzk0My4uNWNm
MWYwMjU0ODI3YmNjZTg4Mjk5MjIwMGRmOTMzNmRiNDVjZGUyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNwcApAQCAt
MTY1LDYgKzE2NSwxMSBAQCB2b2lkIFNWR1RleHRNZXRyaWNzQnVpbGRlcjo6bWVhc3VyZVRleHRS
ZW5kZXJlcihSZW5kZXJTVkdJbmxpbmVUZXh0JiB0ZXh0LCBNZWFzdQogICAgICAgICBkYXRhLT5s
YXN0Q2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlcjsKICAgICB9CiAKKyAgICBpZiAobV9zaW1w
bGVXaWR0aEl0ZXJhdG9yKSB7CisgICAgICAgIEdseXBoQnVmZmVyIGdseXBoQnVmZmVyOworICAg
ICAgICBtX3NpbXBsZVdpZHRoSXRlcmF0b3ItPmZpbmFsaXplKCZnbHlwaEJ1ZmZlcik7CisgICAg
fQorCiAgICAgaWYgKCFkYXRhLT5hbGxDaGFyYWN0ZXJzTWFwKQogICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406266</attachid>
            <date>2020-08-09 02:27:23 -0700</date>
            <delta_ts>2020-08-09 10:10:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214769-20200809022722.patch</filename>
            <type>text/plain</type>
            <size>39453</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IyNWFkYWFlNmViOTYy
ODZjZTg2MmI3YzNkOWQ5OGEwZGEyNDY0Ni4uODIzZmM1NDk0ODAzODMxYzJkODEwZTEwYjUyOGI1
N2JhNGUyYmJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIwLTA4LTA5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBv
ZiBDaGluZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAx
NCBiZXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA2MjA4Li4KKworICAgICAgICBJbiB0aGUgZ2VuZXJhbCBjYXNlLCB0ZXh0IHNo
YXBpbmcgaXMgVHVyaW5nLWNvbXBsZXRlLiBJbiBvcmRlciBmb3IgaXQgdG8gd29yayBwcm9wZXJs
eSwKKyAgICAgICAgd2UgbmVlZCB0byBmZWVkIHRoZSB0ZXh0IHNoYXBpbmcgdmlydHVhbCBtYWNo
aW5lIHRoZSBjb3JyZWN0IGlucHV0cyBzbyB0aGF0IGl0IGNhbgorICAgICAgICBwcm9kdWNlIGNv
cnJlY3Qgb3V0cHV0cy4gVGhlIGlucHV0IHRvIHRleHQgc2hhcGluZyBpcyBzdXBwb3NlZCB0byBi
ZSB0aGUgcmF3IGdseXBoCisgICAgICAgIGFkdmFuY2VzIHN0cmFpZ2h0IGZyb20gQ1RGb250R2V0
QWR2YW5jZXNGb3JHbHlwaHMoKS4KKworICAgICAgICBQcmV2aW91c2x5LCB3ZSB3ZXJlIGFwcGx5
aW5nIGxldHRlci1zcGFjaW5nLCB3b3JkLXNwYWNpbmcsIGp1c3RpZmljYXRpb24sIGFuZCB0YWIg
c3RvcHMKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcuIE1vc3QgZm9udHMgZG9uJ3QgY2FyZSBhYm91
dCB0aGlzIGFuZCBzdGlsbCBwcm9kdWNlIHRoZSBjb3JyZWN0IHJlc3VsdHMuCisgICAgICAgIEhv
d2V2ZXIsIFBpbmcgRmFuZyBvbiBtYWNPUyBCaWcgU3VyIGFuZCBpT1MgMTQgX2RvZXNfIGNhcmUg
YWJvdXQgdGhpcywgYW5kIGl0cyBzaGFwaW5nCisgICAgICAgIHJ1bGVzIG9wZXJhdGUgaW5jb3Jy
ZWN0bHkgd2hlbiBmZWQgdGhlc2UgcHJlLWV4cGFuZGVkIGdseXBoIHdpZHRocy4KKworICAgICAg
ICBUaGUgc29sdXRpb24gaXMgdG8gYXBwbHkgdGhpcyBleHRyYSBzcGFjaW5nIGFmdGVyIHNoYXBp
bmcgb2NjdXJzLiBIb3dldmVyLCBiZWNhdXNlCisgICAgICAgIHNoYXBpbmcgaXMgVHVyaW5nLWNv
bXBsZXRlLCBpdCBpcyBmcmVlIHRvIGFkZCBvciByZW1vdmUgZ2x5cGhzIHdpbGx5LW5pbGx5LiBU
aGlzIG1lYW5zCisgICAgICAgIHdlIG5lZWQgc29tZSB3YXkgb2YgdHJhY2luZyBiYWNrIHdoaWNo
IGNoYXJhY3RlciBpbiB0aGUgaW5wdXQgc3RyaW5nIGNvcnJlc3BvbmQgdG8gd2hpY2gKKyAgICAg
ICAgb3V0cHV0IGdseXBocywgc28gd2Uga25vdyB3aGljaCBnbHlwaHMgdG8gYWRkIGFkZGl0aW9u
YWwgc3BhY2luZyB0by4gVGhpcyBpcyB3aGF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkgZG9lczogSXQgc3dpdGNoZXMgZnJvbSB1c2luZwor
ICAgICAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFw
ZUdseXBocygpLCB3aGljaCBvdXRwdXRzIHRoaXMKKyAgICAgICAgZ2x5cGgtY2hhcmFjdGVyIHRy
YWNpbmcgaW5mby4gVGhlbiwgb25jZSB3ZSBoYXZlIHRoaXMgdHJhY2luZyBpbmZvLCB3ZSBjYW4g
YXBwbHkgc3BhY2luZworICAgICAgICBwcm9wZXJseSBhZnRlciBzaGFwaW5nIGhhcyBjb21wbGV0
ZWQuIFRoYXQncyB3aGF0IHRoaXMgcGF0Y2ggZG9lcy4KKworICAgICAgICBUZXN0czogZmFzdC90
ZXh0L2xldHRlci1zcGFjaW5nLXNoYXBpbmcuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0
L3RhYi1sZXR0ZXItc3BhY2UuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwOiBDbGllbnRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoKSBuZWVkIHRv
IGNhbGwKKyAgICAgICAgV2lkdGhJdGVyYXRvcjo6ZmluYWxpemUoKSAoc2VlIGJlbG93KS4KKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJhbmdlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4dCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6YWRqdXN0U2VsZWN0aW9uUmVjdEZv
clNpbXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6Om9mZnNl
dEZvclBvc2l0aW9uRm9yU2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvR2x5cGhCdWZmZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjpleHBh
bmRJbml0aWFsQWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6ZXhwYW5k
QWR2YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0ZXJhdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2luZyBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwpOiBEZWxldGUgdGhl
IGNvZGUgdGhhdCB1c2VkIHRvIGFwcGx5IHNwYWNpbmcKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcu
IEluc3RlYWQsIGl0IGdldHMgbW92ZWQgdG8gYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmco
KS4KKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmNhbGN1bGF0ZUFkZGl0aW9uYWxX
aWR0aCBjb25zdCk6IFRoaXMgaXMgYSByZWZhY3RvcmluZyBvZgorICAgICAgICB0aGUgYWRkaXRp
b25hbCBzcGFjZSBjYWxjdWxhdGlvbiBjb2RlLiBUaGlzIGlzIGEgY29uc3QgZnVuY3Rpb24sIGFu
ZCBoYXMgbm8gc2lkZS1lZmZlY3RzLgorICAgICAgICBJdCBvdXRwdXRzIDQgZmxvYXRzOgorICAg
ICAgICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBsZWZ0IG9mIHRo
ZSBjdXJyZW50IGNoYXJhY3RlcgorICAgICAgICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJl
IGFkZGVkIHRvIHRoZSByaWdodCBvZiB0aGUgY3VycmVudCBjaGFyYWN0ZXIKKyAgICAgICAgLSBI
b3cgbXVjaCBzcGFjZSBuZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgbGVmdCBvZiB0aGUgY3VycmVu
dCBjaGFyYWN0ZXIgZHVlIHRvIGp1c3RpZmljYXRpb24KKyAgICAgICAgLSBIb3cgbXVjaCBzcGFj
ZSBuZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgcmlnaHQgb2YgdGhlIGN1cnJlbnQgY2hhcmFjdGVy
IGR1ZSB0byBqdXN0aWZpY2F0aW9uCisgICAgICAgIFdlIG5lZWQgdGhlc2UgbGFzdCB0d28gdmFs
dWVzIGJlY2F1c2Ugb25lIG9mIHRoZSBvdXRwdXRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2Uo
KSBpcworICAgICAgICBhIGJvb2wgd2hpY2ggcmVwcmVzZW50cyB3aGV0aGVyIG9yIG5vdCB3ZSBh
cmUgZW5kaW5nIG9uIGEganVzdGlmaWNhdGlvbiBzcGFjZSwgc28gdGhhdCB0aGUKKyAgICAgICAg
bmV4dCBXaWR0aEl0ZXJhdG9yIHRoYXQgZ2V0cyBjcmVhdGVkIGZvciB0aGUgbmV4dCB0aGluZyBv
biB0aGUgbGluZSBjYW4gZm9yYmlkL3JlcXVpcmUgYQorICAgICAgICBsZWFkaW5nIGp1c3RpZmlj
YXRpb24gYXBwcm9wcmlhdGVseS4KKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFw
cGx5QWRkaXRpb25hbFdpZHRoKTogR2l2ZW4gdGhlIDQgdmFsdWVzIGNhbGN1bGF0ZWQgaW4KKyAg
ICAgICAgY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKCksIGFwcGx5IHRoZW0uIFdlJ3JlIG9wZXJh
dGluZyBpbiBsb2dpY2FsIG9yZGVyLCBzbyB0aGlzIGZ1bmN0aW9uIGhhcworICAgICAgICB0byBk
byBzb21lIHRyYW5zbGF0aW9uIGZyb20gdmlzdWFsIG9yZGVyIHRvIGxvZ2ljYWwgb3JkZXIgKGhl
bmNlIGFsbCB0aGUgbV9ydW4ubHRyKCkgY2FsbHMpLgorICAgICAgICBJZiB3ZSdyZSB0cnlpbmcg
dG8gYWRkIHNpemUgdG8gdGhlIGxlZnQgb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpbiBMVFIsIHdl
IGNhbid0IGRpcmVjdGx5IGRvCisgICAgICAgIHRoYXQsIGJlY2F1c2UgYWR2YW5jZXMgY2FuIG9u
bHkgYWRkIHNwYWNlIHRvIHRoZSByaWdodCBzaWRlIG9mIGEgY2hhcmFjdGVyLCBhbmQgdGhlcmUg
aXMgbm8KKyAgICAgICAgY2hhcmFjdGVyIHRvIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCBjaGFyYWN0
ZXIgdG8gZXhwYW5kLiBUaGVyZWZvcmUsIHdlIGRvIHRoaXMgYnkgaW5jcmVhc2luZworICAgICAg
ICB0aGUgaW5pdGlhbCBhZHZhbmNlIG9mIHRoZSBHbHlwaEJ1ZmZlciwgd2hpY2ggaXMgYSBzcGVj
aWFsIGFkdmFuY2UgY3JlYXRlZCBqdXN0IHRvIHNvbHZlIHRoaXMKKyAgICAgICAgcHJvYmxlbS4g
SW4gUlRMLCB0aGUgcHJvYmxlbSBpcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVkIC0gd2UgZG9uJ3Qg
a25vdyB3aGV0aGVyIGFkdmFuY2UoKSB3aWxsCisgICAgICAgIGJlIGNhbGxlZCBhZ2FpbiwgdGhl
cmVieSBkZWxpdmVyaW5nIGEgZ2x5cGggd2hpY2ggd2UgX2Nhbl8gZXhwYW5kLCBzbyB3ZSBpbnN0
ZWFkIHN0b3JlIHdoYXQKKyAgICAgICAgd291bGQgaGF2ZSBiZWVuIGV4cGFuZGVkIGluc2lkZSBt
X2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBhbmQgd2FpdCBmb3IgdGhlIG5leHQgY2FsbCB0
bworICAgICAgICBhZHZhbmNlKCkuIElmIG5vbmUgY29tZXMsIGNsaWVudHMgaGF2ZSB0byBjYWxs
IGZpbmFsaXplKCkgaW5zdGVhZCwgd2hpY2ggd2lsbCBhcHBseQorICAgICAgICBtX2xlZnRvdmVy
SnVzdGlmaWNhdGlvbldpZHRoIHRvIHRoZSBHbHlwaEJ1ZmZlcidzIGluaXRpYWwgYWR2YW5jZS4K
KyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJT
aGFwaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmZpbmFsaXplKToKKyAg
ICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NW
R1RleHRNZXRyaWNzQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TWV0cmlj
c0J1aWxkZXI6Om1lYXN1cmVUZXh0UmVuZGVyZXIpOgorCiAyMDIwLTA4LTA4ICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIE9yaWdpbmFs
QWR2YW5jZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNTcGFjZSB0byB3b3JrIGNvcnJlY3RseSBpbiB0
aGUgcHJlc2VuY2Ugb2YgaW5zZXJ0ZWQgb3IgcmVtb3ZlZCBnbHlwaHMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAppbmRleCA4NGY2YjgwYjFh
ZjJlMjc0MTg3NTAwNDYwYTg5MGIwM2YzYWI3NGQ5Li5kOWUyZDVjMWM0YzhjNDIwZjZhMWZhNzJi
ZWQyNGJiMjc2NzVkM2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FzY2FkZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuY3BwCkBAIC0zODAsNiArMzgwLDcgQEAgZmxvYXQgRm9udENhc2NhZGU6
OndpZHRoT2ZUZXh0UmFuZ2UoY29uc3QgVGV4dFJ1biYgcnVuLCB1bnNpZ25lZCBmcm9tLCB1bnNp
Z25lZAogICAgICAgICBvZmZzZXRBZnRlclJhbmdlID0gc2ltcGxlSXRlcmF0b3IucnVuV2lkdGhT
b0ZhcigpOwogICAgICAgICBzaW1wbGVJdGVyYXRvci5hZHZhbmNlKHJ1bi5sZW5ndGgoKSwgZ2x5
cGhCdWZmZXIpOwogICAgICAgICB0b3RhbFdpZHRoID0gc2ltcGxlSXRlcmF0b3IucnVuV2lkdGhT
b0ZhcigpOworICAgICAgICBzaW1wbGVJdGVyYXRvci5maW5hbGl6ZShnbHlwaEJ1ZmZlcik7CiAg
ICAgfQogCiAgICAgaWYgKG91dFdpZHRoQmVmb3JlUmFuZ2UpCkBAIC0xMzg1LDExICsxMzg2LDEz
IEBAIEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0IFRleHRS
dW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgZmxvYXQgaW5pdGlhbEFkdmFuY2UgPSAw
OwogICAgIGlmIChydW4ucnRsKCkpIHsKICAgICAgICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCks
IGxvY2FsR2x5cGhCdWZmZXIpOworICAgICAgICBpdC5maW5hbGl6ZShsb2NhbEdseXBoQnVmZmVy
KTsKICAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBpdC5ydW5XaWR0aFNvRmFyKCkgLSBhZnRlcldp
ZHRoOwotICAgIH0gZWxzZQorICAgIH0gZWxzZSB7CisgICAgICAgIGl0LmZpbmFsaXplKGxvY2Fs
R2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJlZm9yZVdpZHRoOwotICAg
IC8vIEZJWE1FOiBEZWFsIHdpdGggdGhlIEdseXBoQnVmZmVyJ3MgY3VycmVudCBpbml0aWFsQWR2
YW5jZS4KLSAgICBnbHlwaEJ1ZmZlci5zZXRJbml0aWFsQWR2YW5jZShGbG9hdFNpemUoaW5pdGlh
bEFkdmFuY2UsIDApKTsKKyAgICB9CisgICAgZ2x5cGhCdWZmZXIuc2V0SW5pdGlhbEFkdmFuY2Uo
RmxvYXRTaXplKGluaXRpYWxBZHZhbmNlLCAwKSArIHN0YXRpY19jYXN0PEZsb2F0U2l6ZT4oZ2x5
cGhCdWZmZXIuaW5pdGlhbEFkdmFuY2UoKSkpOwogCiAgICAgaWYgKHJ1bi5ydGwoKSkKICAgICAg
ICAgZ2x5cGhCdWZmZXIucmV2ZXJzZSgwLCBnbHlwaEJ1ZmZlci5zaXplKCkpOwpAQCAtMTUyMCw2
ICsxNTIzLDcgQEAgZmxvYXQgRm9udENhc2NhZGU6OmZsb2F0V2lkdGhGb3JTaW1wbGVUZXh0KGNv
bnN0IFRleHRSdW4mIHJ1biwgSGFzaFNldDxjb25zdCBGb24KICAgICBXaWR0aEl0ZXJhdG9yIGl0
KCp0aGlzLCBydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIEdseXBoQnVm
ZmVyIGdseXBoQnVmZmVyOwogICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCBnbHlwaEJ1ZmZl
cik7CisgICAgaXQuZmluYWxpemUoZ2x5cGhCdWZmZXIpOwogCiAgICAgaWYgKGdseXBoT3ZlcmZs
b3cpIHsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gc3RkOjptYXg8aW50PihnbHlwaE92
ZXJmbG93LT50b3AsIGNlaWxmKC1pdC5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAtIChnbHlwaE92
ZXJmbG93LT5jb21wdXRlQm91bmRzID8gMCA6IGZvbnRNZXRyaWNzKCkuYXNjZW50KCkpKTsKQEAg
LTE1NTQsMTAgKzE1NTgsMTMgQEAgdm9pZCBGb250Q2FzY2FkZTo6YWRqdXN0U2VsZWN0aW9uUmVj
dEZvclNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBMYXlvdXRSZWMKIAogICAgIGlmIChy
dW4ucnRsKCkpIHsKICAgICAgICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksIGdseXBoQnVmZmVy
KTsKKyAgICAgICAgaXQuZmluYWxpemUoZ2x5cGhCdWZmZXIpOwogICAgICAgICBmbG9hdCB0b3Rh
bFdpZHRoID0gaXQucnVuV2lkdGhTb0ZhcigpOwogICAgICAgICBzZWxlY3Rpb25SZWN0Lm1vdmUo
dG90YWxXaWR0aCAtIGFmdGVyV2lkdGgsIDApOwotICAgIH0gZWxzZQorICAgIH0gZWxzZSB7Cisg
ICAgICAgIGl0LmZpbmFsaXplKGdseXBoQnVmZmVyKTsKICAgICAgICAgc2VsZWN0aW9uUmVjdC5t
b3ZlKGJlZm9yZVdpZHRoLCAwKTsKKyAgICB9CiAgICAgc2VsZWN0aW9uUmVjdC5zZXRXaWR0aChM
YXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKGFmdGVyV2lkdGggLSBiZWZvcmVXaWR0aCkpOwogfQog
CkBAIC0xNjE2LDYgKzE2MjMsNyBAQCBpbnQgRm9udENhc2NhZGU6Om9mZnNldEZvclBvc2l0aW9u
Rm9yU2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIGZsb2F0IHgsIGJvbwogICAgICAgICB9
CiAgICAgfQogCisgICAgaXQuZmluYWxpemUobG9jYWxHbHlwaEJ1ZmZlcik7CiAgICAgcmV0dXJu
IG9mZnNldDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR2x5cGhCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBo
QnVmZmVyLmgKaW5kZXggOTc4ODZiMjUwN2U2MTBlM2I3YjU1MDc0ZmU3YTUzOWUyOTEyODU2MS4u
YWQ4NDg2MTY1MjNlYjdhN2I1ZTIxNjhjM2ZhNGY2Mzk2MWJiYjRiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCkBAIC0yOSw2ICsyOSw3IEBA
CiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkZs
b2F0U2l6ZS5oIgogI2luY2x1ZGUgIkdseXBoLmgiCiAjaW5jbHVkZSA8Y2xpbWl0cz4KQEAgLTIw
Miw2ICsyMDMsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEluaXRpYWxBZHZhbmNlKEdseXBo
QnVmZmVyQWR2YW5jZSBpbml0aWFsQWR2YW5jZSkgeyBtX2luaXRpYWxBZHZhbmNlID0gaW5pdGlh
bEFkdmFuY2U7IH0KICAgICBjb25zdCBHbHlwaEJ1ZmZlckFkdmFuY2UmIGluaXRpYWxBZHZhbmNl
KCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsQWR2YW5jZTsgfQorICAgIHZvaWQgZXhwYW5kSW5p
dGlhbEFkdmFuY2UoZmxvYXQgd2lkdGgpIHsgbV9pbml0aWFsQWR2YW5jZS5zZXRXaWR0aChtX2lu
aXRpYWxBZHZhbmNlLndpZHRoKCkgKyB3aWR0aCk7IH0KICAgICAKICAgICBzdGF0aWMgY29uc3Rl
eHByIEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0IG5vT2Zmc2V0ID0gc3RkOjpudW1lcmljX2xpbWl0
czxHbHlwaEJ1ZmZlclN0cmluZ09mZnNldD46Om1heCgpOwogICAgIHZvaWQgYWRkKEdseXBoIGds
eXBoLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB3aWR0aCwgR2x5cGhCdWZmZXJTdHJpbmdPZmZz
ZXQgb2Zmc2V0SW5TdHJpbmcgPSBub09mZnNldCkKQEAgLTI1NCw2ICsyNTYsMTMgQEAgcHVibGlj
OgogICAgICAgICBsYXN0QWR2YW5jZS5zZXRXaWR0aChsYXN0QWR2YW5jZS53aWR0aCgpICsgd2lk
dGgpOwogICAgIH0KIAorICAgIHZvaWQgZXhwYW5kQWR2YW5jZSh1bnNpZ25lZCBpbmRleCwgZmxv
YXQgd2lkdGgpCisgICAgeworICAgICAgICBBU1NFUlQoaW5kZXggPCBzaXplKCkpOworICAgICAg
ICBHbHlwaEJ1ZmZlckFkdmFuY2UmIGxhc3RBZHZhbmNlID0gbV9hZHZhbmNlc1tpbmRleF07Cisg
ICAgICAgIGxhc3RBZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0aCk7
CisgICAgfQorCiAgICAgdm9pZCBleHBhbmRMYXN0QWR2YW5jZShHbHlwaEJ1ZmZlckFkdmFuY2Ug
ZXhwYW5zaW9uKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRleCA3
ZWIyN2Q2ZDA5MWI3NTk5ZmE5YjU1NThmZDQ4YmJiNmIwNWQ1ODMxLi42YzI3YWQ5MTVmNGRjZDVm
YTVjZjUzNTFjNDU1Mjk1OGVjZmFmMmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcApAQCAtNDYsNiArNDYsOCBAQCBXaWR0aEl0
ZXJhdG9yOjpXaWR0aEl0ZXJhdG9yKGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCBjb25zdCBUZXh0
UnVuJiBydW4sIEhhc2hTZQogICAgICwgbV9yZXF1aXJlc1NoYXBpbmcoZm9udC5yZXF1aXJlc1No
YXBpbmcoKSkKICAgICAsIG1fZm9yVGV4dEVtcGhhc2lzKGZvclRleHRFbXBoYXNpcykKIHsKKyAg
ICAvLyBGSVhNRTogU2hvdWxkIHdlIGNsYW1wIG1fZXhwYW5zaW9uIHNvIGl0IGNhbiBuZXZlciBi
ZSBuZWdhdGl2ZT8KKwogICAgIGlmICghbV9leHBhbnNpb24pCiAgICAgICAgIG1fZXhwYW5zaW9u
UGVyT3Bwb3J0dW5pdHkgPSAwOwogICAgIGVsc2UgewpAQCAtMTY2LDE4ICsxNjgsMTYgQEAgc3Rh
dGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5zaW9uTG9jYXRpb24oYm9vbCBp
ZGVvZ3JhcGgsIGJvb2wgdHJlYXQKICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoZXhwYW5kTGVm
dCwgZXhwYW5kUmlnaHQpOwogfQogCitpbmxpbmUgYm9vbCBXaWR0aEl0ZXJhdG9yOjpoYXNFeHRy
YVNwYWNpbmcoKSBjb25zdAoreworICAgIHJldHVybiAobV9mb250LmxldHRlclNwYWNpbmcoKSB8
fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdE
aXNhYmxlZCgpOworfQorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVGV4dEl0ZXJhdG9yPgogaW5saW5l
IHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0
ZXJhdG9yLCBHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIpCiB7CiAgICAgLy8gVGhlIGNvcmUgbG9n
aWMgaGVyZSBuZWVkcyB0byBtYXRjaCBTaW1wbGVMaW5lTGF5b3V0Ojp3aWR0aEZvclNpbXBsZVRl
eHQoKQogICAgIGJvb2wgcnRsID0gbV9ydW4ucnRsKCk7Ci0gICAgYm9vbCBoYXNFeHRyYVNwYWNp
bmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBt
X2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOwotCi0gICAgYm9vbCBydW5G
b3JjZXNMZWZ0RXhwYW5zaW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBMZWZ0RXhw
YW5zaW9uTWFzaykgPT0gRm9yY2VMZWZ0RXhwYW5zaW9uOwotICAgIGJvb2wgcnVuRm9yY2VzUmln
aHRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIFJpZ2h0RXhwYW5zaW9u
TWFzaykgPT0gRm9yY2VSaWdodEV4cGFuc2lvbjsKLSAgICBib29sIHJ1bkZvcmJpZHNMZWZ0RXhw
YW5zaW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBMZWZ0RXhwYW5zaW9uTWFzaykg
PT0gRm9yYmlkTGVmdEV4cGFuc2lvbjsKLSAgICBib29sIHJ1bkZvcmJpZHNSaWdodEV4cGFuc2lv
biA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBG
b3JiaWRSaWdodEV4cGFuc2lvbjsKLSAgICBmbG9hdCBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0
aCA9IDA7CiAKICAgICBGbG9hdFJlY3QgYm91bmRzOwogCkBAIC0xODUsNiArMTg1LDcgQEAgaW5s
aW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4
dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBjb25zdCBGb250KiBsYXN0Rm9udERhdGEgPSAmcHJp
bWFyeUZvbnQ7CiAgICAgdW5zaWduZWQgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlci5zaXpl
KCk7CiAKKyAgICBhdXRvIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJy
ZW50SW5kZXgoKTsKICAgICBVQ2hhcjMyIGNoYXJhY3RlciA9IDA7CiAgICAgVUNoYXIzMiBwcmV2
aW91c0NoYXJhY3RlciA9IDA7CiAgICAgdW5zaWduZWQgY2x1c3Rlckxlbmd0aCA9IDA7CkBAIC0x
OTIsNyArMTkzLDEzIEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5h
bChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgU3RyaW5nIG5vcm1h
bGl6ZWRTcGFjZXNTdHJpbmdDYWNoZTsKICAgICAvLyBXZSBhcmUgaXRlcmF0aW5nIGluIHN0cmlu
ZyBvcmRlciwgbm90IGdseXBoIG9yZGVyLiBDb21wYXJlIHRoaXMgdG8gQ29tcGxleFRleHRDb250
cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiAgICAgd2hpbGUgKHRleHRJdGVyYXRv
ci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkpIHsKKyAgICAgICAgaWYgKGNoYXJh
Y3RlciA9PSB0YWJDaGFyYWN0ZXIpCisgICAgICAgICAgICBtX2NvbnRhaW5zVGFicyA9IHRydWU7
CisgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5k
ZXgoKTsKICAgICAgICAgdW5zaWduZWQgYWR2YW5jZUxlbmd0aCA9IGNsdXN0ZXJMZW5ndGg7Cisg
ICAgICAgIGJvb2wgY3VycmVudElzTGFzdENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXJJbmRl
eCArIGFkdmFuY2VMZW5ndGggPT0gc3RhdGljX2Nhc3Q8c2l6ZV90PihtX3J1bi5sZW5ndGgoKSk7
CisgICAgICAgIGlmIChjdXJyZW50SXNMYXN0Q2hhcmFjdGVyKQorICAgICAgICAgICAgbV9sYXN0
Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAgICAgICAgIGJvb2wgY2hh
cmFjdGVyTXVzdERyYXdTb21ldGhpbmcgPSAhaXNEZWZhdWx0SWdub3JhYmxlQ29kZVBvaW50KGNo
YXJhY3Rlcik7CiAjaWYgVVNFKEZSRUVUWVBFKQogICAgICAgICAvLyBGcmVldHlwZSBiYXNlZCBw
b3J0cyBvbmx5IG92ZXJyaWRlIHRoZSBjaGFyYWN0ZXJzIHdpdGggRGVmYXVsdF9JZ25vcmFibGUg
dW5pY29kZSBwcm9wZXJ0eSB3aGVuIHRoZSBmb250CkBAIC0yMDIsNyArMjA5LDYgQEAgaW5saW5l
IHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0
ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAjZW5k
aWYKLSAgICAgICAgaW50IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJy
ZW50SW5kZXgoKTsKICAgICAgICAgY29uc3QgR2x5cGhEYXRhJiBnbHlwaERhdGEgPSBtX2ZvbnQu
Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGNoYXJhY3RlciwgcnRsKTsKICAgICAgICAgR2x5cGggZ2x5
cGggPSBnbHlwaERhdGEuZ2x5cGg7CiAgICAgICAgIGlmICghZ2x5cGggJiYgIWNoYXJhY3Rlck11
c3REcmF3U29tZXRoaW5nKSB7CkBAIC0yMTIsMTYgKzIxOCw3IEBAIGlubGluZSB2b2lkIFdpZHRo
SXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5
cGhCdWZmCiAgICAgICAgIGNvbnN0IEZvbnQqIGZvbnQgPSBnbHlwaERhdGEuZm9udCA/IGdseXBo
RGF0YS5mb250IDogJm1fZm9udC5wcmltYXJ5Rm9udCgpOwogICAgICAgICBBU1NFUlQoZm9udCk7
CiAKLSAgICAgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSBhIGdseXBoIGFuZCBmb250IGRhdGEsIGdl
dCBpdHMgd2lkdGguCi0gICAgICAgIGZsb2F0IHdpZHRoOwotICAgICAgICBpZiAoY2hhcmFjdGVy
ID09ICdcdCcgJiYgbV9ydW4uYWxsb3dUYWJzKCkpCi0gICAgICAgICAgICB3aWR0aCA9IG1fZm9u
dC50YWJXaWR0aCgqZm9udCwgbV9ydW4udGFiU2l6ZSgpLCBtX3J1bi54UG9zKCkgKyBtX3J1bldp
ZHRoU29GYXIpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHdpZHRoID0gZm9udC0+d2lk
dGhGb3JHbHlwaChnbHlwaCk7Ci0KLSAgICAgICAgICAgIC8vIFNWRyB1c2VzIGhvcml6b250YWxH
bHlwaFN0cmV0Y2goKSwgd2hlbiB0ZXh0TGVuZ3RoIGlzIHVzZWQgdG8gc3RyZXRjaC9zcXVlZXpl
IHRleHQuCi0gICAgICAgICAgICB3aWR0aCAqPSBtX3J1bi5ob3Jpem9udGFsR2x5cGhTdHJldGNo
KCk7Ci0gICAgICAgIH0KKyAgICAgICAgZmxvYXQgd2lkdGggPSBmb250LT53aWR0aEZvckdseXBo
KGdseXBoKTsKIAogICAgICAgICBpZiAoZm9udCAhPSBsYXN0Rm9udERhdGEgJiYgd2lkdGgpIHsK
ICAgICAgICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zv
cm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIpOwpAQCAt
MjQ0LDY5ICsyNDEsNiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAKLSAgICAgICAgaWYgKGhhc0V4dHJhU3BhY2luZykgewotICAgICAgICAgICAg
Ly8gQWNjb3VudCBmb3IgbGV0dGVyLXNwYWNpbmcuCi0gICAgICAgICAgICBpZiAod2lkdGgpIHsK
LSAgICAgICAgICAgICAgICB3aWR0aCArPSBtX2ZvbnQubGV0dGVyU3BhY2luZygpOwotICAgICAg
ICAgICAgICAgIHdpZHRoICs9IGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoOwotICAgICAgICAg
ICAgICAgIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoID0gMDsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgc3RhdGljIGJvb2wgZXhwYW5kQXJvdW5kSWRlb2dyYXBocyA9IEZvbnRDYXNj
YWRlOjpjYW5FeHBhbmRBcm91bmRJZGVvZ3JhcGhzSW5Db21wbGV4VGV4dCgpOwotICAgICAgICAg
ICAgYm9vbCB0cmVhdEFzU3BhY2UgPSBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rl
cik7Ci0gICAgICAgICAgICBib29sIGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgPSBjdXJyZW50Q2hh
cmFjdGVySW5kZXggKyBhZHZhbmNlTGVuZ3RoID09IHN0YXRpY19jYXN0PHNpemVfdD4obV9ydW4u
bGVuZ3RoKCkpOwotICAgICAgICAgICAgYm9vbCBmb3JjZUxlZnRFeHBhbnNpb24gPSBmYWxzZTsg
Ly8gT24gdGhlIGxlZnQsIHJlZ2FyZGxlc3Mgb2YgbV9ydW4ubHRyKCkKLSAgICAgICAgICAgIGJv
b2wgZm9yY2VSaWdodEV4cGFuc2lvbiA9IGZhbHNlOyAvLyBPbiB0aGUgcmlnaHQsIHJlZ2FyZGxl
c3Mgb2YgbV9ydW4ubHRyKCkKLSAgICAgICAgICAgIGJvb2wgZm9yYmlkTGVmdEV4cGFuc2lvbiA9
IGZhbHNlOwotICAgICAgICAgICAgYm9vbCBmb3JiaWRSaWdodEV4cGFuc2lvbiA9IGZhbHNlOwot
ICAgICAgICAgICAgaWYgKHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24pCi0gICAgICAgICAgICAgICAg
Zm9yY2VMZWZ0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyAhY3VycmVudENoYXJhY3RlckluZGV4
IDogY3VycmVudElzTGFzdENoYXJhY3RlcjsKLSAgICAgICAgICAgIGlmIChydW5Gb3JjZXNSaWdo
dEV4cGFuc2lvbikKLSAgICAgICAgICAgICAgICBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gbV9ydW4u
bHRyKCkgPyBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyIDogIWN1cnJlbnRDaGFyYWN0ZXJJbmRleDsK
LSAgICAgICAgICAgIGlmIChydW5Gb3JiaWRzTGVmdEV4cGFuc2lvbikKLSAgICAgICAgICAgICAg
ICBmb3JiaWRMZWZ0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyAhY3VycmVudENoYXJhY3Rlcklu
ZGV4IDogY3VycmVudElzTGFzdENoYXJhY3RlcjsKLSAgICAgICAgICAgIGlmIChydW5Gb3JiaWRz
UmlnaHRFeHBhbnNpb24pCi0gICAgICAgICAgICAgICAgZm9yYmlkUmlnaHRFeHBhbnNpb24gPSBt
X3J1bi5sdHIoKSA/IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgOiAhY3VycmVudENoYXJhY3Rlcklu
ZGV4OwotICAgICAgICAgICAgYm9vbCBpZGVvZ3JhcGggPSAoZXhwYW5kQXJvdW5kSWRlb2dyYXBo
cyAmJiBGb250Q2FzY2FkZTo6aXNDSktJZGVvZ3JhcGhPclN5bWJvbChjaGFyYWN0ZXIpKTsKLSAg
ICAgICAgICAgIGlmICh0cmVhdEFzU3BhY2UgfHwgaWRlb2dyYXBoIHx8IGZvcmNlTGVmdEV4cGFu
c2lvbiB8fCBmb3JjZVJpZ2h0RXhwYW5zaW9uKSB7Ci0gICAgICAgICAgICAgICAgLy8gRGlzdHJp
YnV0ZSB0aGUgcnVuJ3MgdG90YWwgZXhwYW5zaW9uIGV2ZW5seSBvdmVyIGFsbCBleHBhbnNpb24g
b3Bwb3J0dW5pdGllcyBpbiB0aGUgcnVuLgotICAgICAgICAgICAgICAgIGlmIChtX2V4cGFuc2lv
bikgewotICAgICAgICAgICAgICAgICAgICBhdXRvIFtleHBhbmRMZWZ0LCBleHBhbmRSaWdodF0g
PSBleHBhbnNpb25Mb2NhdGlvbihpZGVvZ3JhcGgsIHRyZWF0QXNTcGFjZSwgbV9ydW4ubHRyKCks
IG1faXNBZnRlckV4cGFuc2lvbiwgZm9yYmlkTGVmdEV4cGFuc2lvbiwgZm9yYmlkUmlnaHRFeHBh
bnNpb24sIGZvcmNlTGVmdEV4cGFuc2lvbiwgZm9yY2VSaWdodEV4cGFuc2lvbik7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChleHBhbmRMZWZ0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAobV9ydW4ubHRyKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNyZWFz
ZSBwcmV2aW91cyB3aWR0aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZXhwYW5zaW9u
IC09IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbV9ydW5XaWR0aFNvRmFyICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKGdseXBoQnVmZmVyLmlzRW1wdHkoKSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQoZm9udC0+emVyb1dp
ZHRoU3BhY2VHbHlwaCgpLCAqZm9udCwgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSwgY3VycmVu
dENoYXJhY3RlckluZGV4KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGZvbnQt
PnNwYWNlR2x5cGgoKSwgKmZvbnQsIG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHksIGN1cnJlbnRD
aGFyYWN0ZXJJbmRleCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZExhc3RBZHZhbmNl
KG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNyZWFzZSBuZXh0IHdpZHRo
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgg
Kz0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGlmIChleHBhbmRSaWdo
dCkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0gbV9leHBhbnNpb25Q
ZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICs9IG1fZXhwYW5z
aW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAobV9ydW4ubHRy
KCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gdHJ1
ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKLQotICAgICAgICAgICAg
ICAgIC8vIEFjY291bnQgZm9yIHdvcmQgc3BhY2luZy4KLSAgICAgICAgICAgICAgICAvLyBXZSBh
cHBseSBhZGRpdGlvbmFsIHNwYWNlIGJldHdlZW4gIndvcmRzIiBieSBhZGRpbmcgd2lkdGggdG8g
dGhlIHNwYWNlIGNoYXJhY3Rlci4KLSAgICAgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlICYm
IChjaGFyYWN0ZXIgIT0gJ1x0JyB8fCAhbV9ydW4uYWxsb3dUYWJzKCkpICYmIChjdXJyZW50Q2hh
cmFjdGVySW5kZXggfHwgY2hhcmFjdGVyID09IG5vQnJlYWtTcGFjZSkgJiYgbV9mb250LndvcmRT
cGFjaW5nKCkpCi0gICAgICAgICAgICAgICAgICAgIHdpZHRoICs9IG1fZm9udC53b3JkU3BhY2lu
ZygpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5z
aW9uID0gZmFsc2U7Ci0gICAgICAgIH0KLQogICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0g
c2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHBy
ZXZpb3VzQ2hhcmFjdGVyKTsKICAgICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9y
bXNUeXBlOjpOb25lICYmIEZvbnRDYXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hhcmFjdGVyKSkgewog
ICAgICAgICAgICAgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmNvbnN0cnVjdEFuZEFwcGVuZCgK
QEAgLTM0MCwxMyArMjc0LDYgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUlu
dGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgcHJl
dmlvdXNDaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7CiAgICAgfQogCi0gICAgaWYgKGxlZnRvdmVySnVz
dGlmaWNhdGlvbldpZHRoKSB7Ci0gICAgICAgIGlmIChtX2ZvclRleHRFbXBoYXNpcykKLSAgICAg
ICAgICAgIGdseXBoQnVmZmVyLmFkZChsYXN0Rm9udERhdGEtPnplcm9XaWR0aFNwYWNlR2x5cGgo
KSwgKmxhc3RGb250RGF0YSwgbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgsIG1fcnVuLmxlbmd0
aCgpIC0gMSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLmFkZChsYXN0
Rm9udERhdGEtPnNwYWNlR2x5cGgoKSwgKmxhc3RGb250RGF0YSwgbGVmdG92ZXJKdXN0aWZpY2F0
aW9uV2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7Ci0gICAgfQotCiAgICAgYXV0byB0cmFuc2Zv
cm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlw
aENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7CiAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRy
YW5zZm9ybXNUeXBlOjpOb25lKSB7CiAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZv
bnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsICps
YXN0Rm9udERhdGEsIHByZXZpb3VzQ2hhcmFjdGVyLCB0cmFuc2Zvcm1zVHlwZSA9PSBUcmFuc2Zv
cm1zVHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwpAQCAtMzU2LDggKzI4
MywxOTUgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJ
dGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJ
bmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKIH0KIAorYXV0byBXaWR0aEl0ZXJh
dG9yOjpjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBH
bHlwaEJ1ZmZlclN0cmluZ09mZnNldCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIHVuc2lnbmVkIGxl
YWRpbmdHbHlwaEluZGV4LCB1bnNpZ25lZCB0cmFpbGluZ0dseXBoSW5kZXgsIGZsb2F0IHBvc2l0
aW9uKSBjb25zdCAtPiBBZGRpdGlvbmFsV2lkdGgKK3sKKyAgICBmbG9hdCBsZWZ0QWRkaXRpb25h
bFdpZHRoID0gMDsKKyAgICBmbG9hdCByaWdodEFkZGl0aW9uYWxXaWR0aCA9IDA7CisgICAgZmxv
YXQgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCA9IDA7CisgICAgZmxvYXQgcmlnaHRFeHBh
bnNpb25BZGRpdGlvbmFsV2lkdGggPSAwOworCisgICAgYXV0byBjaGFyYWN0ZXIgPSBtX3J1bltj
dXJyZW50Q2hhcmFjdGVySW5kZXhdOworCisgICAgLy8gVGFiIHN0b3BzCisgICAgaWYgKGNoYXJh
Y3RlciA9PSB0YWJDaGFyYWN0ZXIgJiYgbV9ydW4uYWxsb3dUYWJzKCkpIHsKKyAgICAgICAgYXV0
byYgZm9udCA9IGdseXBoQnVmZmVyLmZvbnRBdCh0cmFpbGluZ0dseXBoSW5kZXgpOworICAgICAg
ICBhdXRvIG5ld1dpZHRoID0gbV9mb250LnRhYldpZHRoKGZvbnQsIG1fcnVuLnRhYlNpemUoKSwg
cG9zaXRpb24pOworICAgICAgICBhdXRvIGN1cnJlbnRXaWR0aCA9IGdseXBoQnVmZmVyLmFkdmFu
Y2VBdCh0cmFpbGluZ0dseXBoSW5kZXgpLndpZHRoKCk7CisgICAgICAgIHJpZ2h0QWRkaXRpb25h
bFdpZHRoICs9IG5ld1dpZHRoIC0gY3VycmVudFdpZHRoOworICAgIH0KKworICAgIGlmIChoYXNF
eHRyYVNwYWNpbmcoKSkgeyAvLyBUYWIgc3RvcHMgYXBwYXJlbnRseSBkb24ndCBjb3VudCBhcyAi
ZXh0cmEgc3BhY2luZyIuCisgICAgICAgIGJvb2wgdHJlYXRBc1NwYWNlID0gRm9udENhc2NhZGU6
OnRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpOworCisgICAgICAgIHsgLy8gTGV0dGVyLXNwYWNpbmcK
KyAgICAgICAgICAgIC8vIFRoaXMgaXMgYW4gYXBwcm94aW1hdGlvbiB0byBkZXRlcm1pbmUgaWYg
dGhlIGNoYXJhY3RlciBpcyBub24tdmlzaWJsZS4gTm9uLXZpc2libGUgY2hhcmFjdGVycyBkb24n
dCBnZXQgbGV0dGVyLXNwYWNpbmcuCisgICAgICAgICAgICBmbG9hdCBiYXNlV2lkdGggPSAwOwor
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbGVhZGluZ0dseXBoSW5kZXg7IGkgPD0gdHJh
aWxpbmdHbHlwaEluZGV4OyArK2kpCisgICAgICAgICAgICAgICAgYmFzZVdpZHRoICs9IGdseXBo
QnVmZmVyLmFkdmFuY2VBdChpKS53aWR0aCgpOworICAgICAgICAgICAgaWYgKGJhc2VXaWR0aCkK
KyAgICAgICAgICAgICAgICByaWdodEFkZGl0aW9uYWxXaWR0aCArPSBtX2ZvbnQubGV0dGVyU3Bh
Y2luZygpOworICAgICAgICB9CisKKyAgICAgICAgeyAvLyBXb3JkIHNwYWNpbmcKKyAgICAgICAg
ICAgIGlmICh0cmVhdEFzU3BhY2UgJiYgKGNoYXJhY3RlciAhPSB0YWJDaGFyYWN0ZXIgfHwgIW1f
cnVuLmFsbG93VGFicygpKSAmJiAoY3VycmVudENoYXJhY3RlckluZGV4IHx8IGNoYXJhY3RlciA9
PSBub0JyZWFrU3BhY2UpICYmIG1fZm9udC53b3JkU3BhY2luZygpKQorICAgICAgICAgICAgICAg
IHJpZ2h0QWRkaXRpb25hbFdpZHRoICs9IG1fZm9udC53b3JkU3BhY2luZygpOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKG1fZXhwYW5zaW9uID4gMCkgeyAvLyBKdXN0aWZpY2F0aW9uCisgICAg
ICAgICAgICBib29sIGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgPSBtX2xhc3RDaGFyYWN0ZXJJbmRl
eCAmJiBjdXJyZW50Q2hhcmFjdGVySW5kZXggPT0gc3RhdGljX2Nhc3Q8R2x5cGhCdWZmZXJTdHJp
bmdPZmZzZXQ+KCptX2xhc3RDaGFyYWN0ZXJJbmRleCk7CisKKyAgICAgICAgICAgIGJvb2wgcnVu
Rm9yY2VzTGVmdEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgTGVmdEV4
cGFuc2lvbk1hc2spID09IEZvcmNlTGVmdEV4cGFuc2lvbjsKKyAgICAgICAgICAgIGJvb2wgcnVu
Rm9yY2VzUmlnaHRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIFJpZ2h0
RXhwYW5zaW9uTWFzaykgPT0gRm9yY2VSaWdodEV4cGFuc2lvbjsKKyAgICAgICAgICAgIGJvb2wg
cnVuRm9yYmlkc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIExl
ZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRMZWZ0RXhwYW5zaW9uOworICAgICAgICAgICAgYm9v
bCBydW5Gb3JiaWRzUmlnaHRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAm
IFJpZ2h0RXhwYW5zaW9uTWFzaykgPT0gRm9yYmlkUmlnaHRFeHBhbnNpb247CisKKyAgICAgICAg
ICAgIGJvb2wgZm9yY2VMZWZ0RXhwYW5zaW9uID0gZmFsc2U7CisgICAgICAgICAgICBib29sIGZv
cmNlUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsKKyAgICAgICAgICAgIGJvb2wgZm9yYmlkTGVmdEV4
cGFuc2lvbiA9IGZhbHNlOworICAgICAgICAgICAgYm9vbCBmb3JiaWRSaWdodEV4cGFuc2lvbiA9
IGZhbHNlOworICAgICAgICAgICAgaWYgKHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24pCisgICAgICAg
ICAgICAgICAgZm9yY2VMZWZ0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyAhY3VycmVudENoYXJh
Y3RlckluZGV4IDogY3VycmVudElzTGFzdENoYXJhY3RlcjsKKyAgICAgICAgICAgIGlmIChydW5G
b3JjZXNSaWdodEV4cGFuc2lvbikKKyAgICAgICAgICAgICAgICBmb3JjZVJpZ2h0RXhwYW5zaW9u
ID0gbV9ydW4ubHRyKCkgPyBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyIDogIWN1cnJlbnRDaGFyYWN0
ZXJJbmRleDsKKyAgICAgICAgICAgIGlmIChydW5Gb3JiaWRzTGVmdEV4cGFuc2lvbikKKyAgICAg
ICAgICAgICAgICBmb3JiaWRMZWZ0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyAhY3VycmVudENo
YXJhY3RlckluZGV4IDogY3VycmVudElzTGFzdENoYXJhY3RlcjsKKyAgICAgICAgICAgIGlmIChy
dW5Gb3JiaWRzUmlnaHRFeHBhbnNpb24pCisgICAgICAgICAgICAgICAgZm9yYmlkUmlnaHRFeHBh
bnNpb24gPSBtX3J1bi5sdHIoKSA/IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgOiAhY3VycmVudENo
YXJhY3RlckluZGV4OworCisgICAgICAgICAgICBzdGF0aWMgYm9vbCBleHBhbmRBcm91bmRJZGVv
Z3JhcGhzID0gRm9udENhc2NhZGU6OmNhbkV4cGFuZEFyb3VuZElkZW9ncmFwaHNJbkNvbXBsZXhU
ZXh0KCk7CisgICAgICAgICAgICBib29sIGlkZW9ncmFwaCA9IChleHBhbmRBcm91bmRJZGVvZ3Jh
cGhzICYmIEZvbnRDYXNjYWRlOjppc0NKS0lkZW9ncmFwaE9yU3ltYm9sKGNoYXJhY3RlcikpOwor
CisgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlIHx8IGlkZW9ncmFwaCB8fCBmb3JjZUxlZnRF
eHBhbnNpb24gfHwgZm9yY2VSaWdodEV4cGFuc2lvbikgeworICAgICAgICAgICAgICAgIGF1dG8g
W2V4cGFuZExlZnQsIGV4cGFuZFJpZ2h0XSA9IGV4cGFuc2lvbkxvY2F0aW9uKGlkZW9ncmFwaCwg
dHJlYXRBc1NwYWNlLCBtX3J1bi5sdHIoKSwgbV9pc0FmdGVyRXhwYW5zaW9uLCBmb3JiaWRMZWZ0
RXhwYW5zaW9uLCBmb3JiaWRSaWdodEV4cGFuc2lvbiwgZm9yY2VMZWZ0RXhwYW5zaW9uLCBmb3Jj
ZVJpZ2h0RXhwYW5zaW9uKTsKKworICAgICAgICAgICAgICAgIGlmIChleHBhbmRMZWZ0KQorICAg
ICAgICAgICAgICAgICAgICBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICs9IG1fZXhwYW5z
aW9uUGVyT3Bwb3J0dW5pdHk7CisgICAgICAgICAgICAgICAgaWYgKGV4cGFuZFJpZ2h0KQorICAg
ICAgICAgICAgICAgICAgICByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCArPSBtX2V4cGFu
c2lvblBlck9wcG9ydHVuaXR5OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisg
ICAgcmV0dXJuIHsgbGVmdEFkZGl0aW9uYWxXaWR0aCwgcmlnaHRBZGRpdGlvbmFsV2lkdGgsIGxl
ZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRo
IH07Cit9CisKK3N0cnVjdCBHbHlwaEluZGV4UmFuZ2UgeworICAgIC8vIFRoaXMgbWVhbnMgdGhl
IGNoYXJhY3RlciBnb3QgZXhwYW5kZWQgdG8gZ2x5cGhzIGluc2lkZSB0aGUgR2x5cGhCdWZmZXIg
YXQgaW5kaWNlcyBbbGVhZGluZ0dseXBoSW5kZXgsIHRyYWlsaW5nR2x5cGhJbmRleF0uCisgICAg
dW5zaWduZWQgbGVhZGluZ0dseXBoSW5kZXg7CisgICAgdW5zaWduZWQgdHJhaWxpbmdHbHlwaElu
ZGV4OworfTsKKwordm9pZCBXaWR0aEl0ZXJhdG9yOjphcHBseUFkZGl0aW9uYWxXaWR0aChHbHlw
aEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIEdseXBoSW5kZXhSYW5nZSBnbHlwaEluZGV4UmFuZ2UsIGZs
b2F0IGxlZnRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoLCBmbG9h
dCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoLCBmbG9hdCByaWdodEV4cGFuc2lvbkFkZGl0
aW9uYWxXaWR0aCkKK3sKKyAgICBtX2V4cGFuc2lvbiAtPSBsZWZ0RXhwYW5zaW9uQWRkaXRpb25h
bFdpZHRoICsgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisKKyAgICBsZWZ0QWRkaXRp
b25hbFdpZHRoICs9IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisgICAgcmlnaHRBZGRp
dGlvbmFsV2lkdGggKz0gcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7CisKKyAgICBtX3J1
bldpZHRoU29GYXIgKz0gbGVmdEFkZGl0aW9uYWxXaWR0aDsKKyAgICBtX3J1bldpZHRoU29GYXIg
Kz0gcmlnaHRBZGRpdGlvbmFsV2lkdGg7CisKKyAgICBpZiAobGVmdEFkZGl0aW9uYWxXaWR0aCkg
eworICAgICAgICBpZiAobV9ydW4ubHRyKCkpIHsKKyAgICAgICAgICAgIC8vIExlZnQgYWRkaXRp
b25hbCB3aWR0aCBpbiBMVFIgbWVhbnMgdGhlIHByZXZpb3VzIChsZWFkaW5nKSBnbHlwaCdzIHJp
Z2h0IHNpZGUgZ2V0cyBleHBhbmRlZC4KKyAgICAgICAgICAgIGF1dG8gbGVhZGluZ0dseXBoSW5k
ZXggPSBnbHlwaEluZGV4UmFuZ2UubGVhZGluZ0dseXBoSW5kZXg7CisgICAgICAgICAgICBpZiAo
bGVhZGluZ0dseXBoSW5kZXgpCisgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2
YW5jZShsZWFkaW5nR2x5cGhJbmRleCAtIDEsIGxlZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEluaXRpYWxBZHZh
bmNlKGxlZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
Ly8gTGVmdCBhZGRpdGlvbmFsIHdpZHRoIGluIFJUTCBtZWFucyB0aGUgbmV4dCAodHJhaWxpbmcp
IGdseXBoJ3MgcmlnaHQgc2lkZSBnZXRzIGV4cGFuZGVkLgorICAgICAgICAgICAgYXV0byB0cmFp
bGluZ0dseXBoSW5kZXggPSBnbHlwaEluZGV4UmFuZ2UudHJhaWxpbmdHbHlwaEluZGV4OworICAg
ICAgICAgICAgaWYgKHRyYWlsaW5nR2x5cGhJbmRleCArIDEgPCBnbHlwaEJ1ZmZlci5zaXplKCkp
CisgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZSh0cmFpbGluZ0dseXBo
SW5kZXggKyAxLCBsZWZ0QWRkaXRpb25hbFdpZHRoKTsKKyAgICAgICAgICAgIGVsc2UgeworICAg
ICAgICAgICAgICAgIG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGggPSBsZWZ0QWRkaXRpb25h
bFdpZHRoOworICAgICAgICAgICAgICAgIC8vIFdlIGNhbid0IGFjdHVhbGx5IGFkZCBpbiB0aGlz
IHdpZHRoIGp1c3QgeWV0LgorICAgICAgICAgICAgICAgIC8vIEFkZCBpdCBpbiB3aGVuIHRoZSBj
bGllbnQgY2FsbHMgYWR2YW5jZSgpIGFnYWluIG9yIGZpbmFsaXplKCkuCisgICAgICAgICAgICAg
ICAgbV9ydW5XaWR0aFNvRmFyIC09IG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGg7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAocmlnaHRBZGRpdGlvbmFsV2lk
dGgpIHsKKyAgICAgICAgLy8gUmlnaHQgYWRkaXRpb25hbCB3aWR0aCBtZWFucyB0aGUgY3VycmVu
dCBnbHlwaCdzIHJpZ2h0IHNpZGUgZ2V0cyBleHBhbmRlZC4gVGhpcyBpcyB0cnVlIGZvciBib3Ro
IExUUiBhbmQgUlRMLgorICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKGdseXBoSW5k
ZXhSYW5nZS50cmFpbGluZ0dseXBoSW5kZXgsIHJpZ2h0QWRkaXRpb25hbFdpZHRoKTsKKyAgICB9
Cit9CisKK3ZvaWQgV2lkdGhJdGVyYXRvcjo6YXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmco
R2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBjaGFyYWN0ZXJTdGFydEluZGV4LCB1
bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXgsIHVuc2lnbmVkIGNoYXJhY3RlckRlc3RpbmF0
aW9uSW5kZXgsIGZsb2F0IHN0YXJ0aW5nUnVuV2lkdGgpCit7CisgICAgVmVjdG9yPE9wdGlvbmFs
PEdseXBoSW5kZXhSYW5nZT4+IGNoYXJhY3RlckluZGV4VG9HbHlwaEluZGV4UmFuZ2UobV9ydW4u
bGVuZ3RoKCkpOworICAgIFZlY3RvcjxmbG9hdD4gYWR2YW5jZVdpZHRocyhtX3J1bi5sZW5ndGgo
KSwgMCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gZ2x5cGhCdWZmZXJTdGFydEluZGV4OyBpIDwg
Z2x5cGhCdWZmZXIuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgYXV0byBzdHJpbmdPZmZzZXQgPSBn
bHlwaEJ1ZmZlci5zdHJpbmdPZmZzZXRBdChpKTsKKyAgICAgICAgYWR2YW5jZVdpZHRoc1tzdHJp
bmdPZmZzZXRdICs9IGdseXBoQnVmZmVyLmFkdmFuY2VBdChpKS53aWR0aCgpOworICAgICAgICBh
dXRvJiBnbHlwaEluZGV4UmFuZ2UgPSBjaGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlW3N0
cmluZ09mZnNldF07CisgICAgICAgIGlmIChnbHlwaEluZGV4UmFuZ2UpCisgICAgICAgICAgICBn
bHlwaEluZGV4UmFuZ2UtPnRyYWlsaW5nR2x5cGhJbmRleCA9IGk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGdseXBoSW5kZXhSYW5nZSA9IHt7aSwgaX19OworICAgIH0KKworICAgIC8vIFNW
RyBjYW4gc3RyZXRjaCBhZHZhbmNlcworICAgIGlmIChtX3J1bi5ob3Jpem9udGFsR2x5cGhTdHJl
dGNoKCkgIT0gMSkgeworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBnbHlwaEJ1ZmZlclN0YXJ0
SW5kZXg7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgLy8gQWxs
IGNoYXJhY3RlcnMnIGFkdmFuY2VzIGdldCBzdHJldGNoZWQsIGV4Y2VwdCBhcHBhcmVudGx5IHRh
YiBjaGFyYWN0ZXJzLi4uCisgICAgICAgICAgICAvLyBUaGlzIGRvZXNuJ3QgbWFrZSBtdWNoIHNl
bnNlLCBiZWNhdXNlIGV2ZW4gdGFiIGNoYXJhY3RlcnMgZ2V0IGxldHRlci1zcGFjaW5nLi4uCisg
ICAgICAgICAgICBhdXRvIHN0cmluZ09mZnNldCA9IGdseXBoQnVmZmVyLnN0cmluZ09mZnNldEF0
KGkpOworICAgICAgICAgICAgYXV0byBjaGFyYWN0ZXIgPSBtX3J1bltzdHJpbmdPZmZzZXRdOwor
ICAgICAgICAgICAgaWYgKGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXIpCisgICAgICAgICAgICAg
ICAgY29udGludWU7CisKKyAgICAgICAgICAgIGF1dG8gY3VycmVudEFkdmFuY2UgPSBnbHlwaEJ1
ZmZlci5hZHZhbmNlQXQoaSkud2lkdGgoKTsKKyAgICAgICAgICAgIGF1dG8gbmV3QWR2YW5jZSA9
IGN1cnJlbnRBZHZhbmNlICogbV9ydW4uaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOworICAgICAg
ICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShpLCBuZXdBZHZhbmNlIC0gY3VycmVudEFk
dmFuY2UpOworICAgICAgICB9CisgICAgfQorCisgICAgZmxvYXQgcG9zaXRpb24gPSBtX3J1bi54
UG9zKCkgKyBzdGFydGluZ1J1bldpZHRoOworICAgIGZvciAoR2x5cGhCdWZmZXJTdHJpbmdPZmZz
ZXQgY3VycmVudENoYXJhY3RlckluZGV4ID0gY2hhcmFjdGVyU3RhcnRJbmRleDsgY3VycmVudENo
YXJhY3RlckluZGV4IDwgc3RhdGljX2Nhc3Q8R2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQ+KGNoYXJh
Y3RlckRlc3RpbmF0aW9uSW5kZXgpOyArK2N1cnJlbnRDaGFyYWN0ZXJJbmRleCkgeworICAgICAg
ICBhdXRvJiBnbHlwaEluZGV4UmFuZ2UgPSBjaGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdl
W2N1cnJlbnRDaGFyYWN0ZXJJbmRleF07CisgICAgICAgIGlmICghZ2x5cGhJbmRleFJhbmdlKQor
ICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgYXV0byBhZGRpdGlvbmFsV2lkdGggPSBj
YWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoZ2x5cGhCdWZmZXIsIGN1cnJlbnRDaGFyYWN0ZXJJbmRl
eCwgZ2x5cGhJbmRleFJhbmdlLT5sZWFkaW5nR2x5cGhJbmRleCwgZ2x5cGhJbmRleFJhbmdlLT50
cmFpbGluZ0dseXBoSW5kZXgsIHBvc2l0aW9uKTsKKyAgICAgICAgYXBwbHlBZGRpdGlvbmFsV2lk
dGgoZ2x5cGhCdWZmZXIsIGdseXBoSW5kZXhSYW5nZS52YWx1ZSgpLCBhZGRpdGlvbmFsV2lkdGgu
bGVmdEFkZGl0aW9uYWxXaWR0aCwgYWRkaXRpb25hbFdpZHRoLnJpZ2h0QWRkaXRpb25hbFdpZHRo
LCBhZGRpdGlvbmFsV2lkdGgubGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwgYWRkaXRpb25h
bFdpZHRoLnJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoKTsKKworICAgICAgICBtX2lzQWZ0
ZXJFeHBhbnNpb24gPSAobV9ydW4ubHRyKCkgJiYgYWRkaXRpb25hbFdpZHRoLnJpZ2h0RXhwYW5z
aW9uQWRkaXRpb25hbFdpZHRoKSB8fCAoIW1fcnVuLmx0cigpICYmIGFkZGl0aW9uYWxXaWR0aC5s
ZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoKTsKKworICAgICAgICAvLyBUaGlzIGlzbid0IHF1
aXRlIHBlcmZlY3QsIGJlY2F1c2Ugd2UgbWF5IGNvbWUgYWNyb3NzIGEgdGFiIGNoYXJhY3RlciBp
biBiZXR3ZWVuIHR3byBnbHlwaHMgd2hpY2ggYm90aCByZXBvcnQgdG8gY29ycmVzcG9uZCB0byBh
IHByZXZpb3VzIGNoYXJhY3Rlci4KKyAgICAgICAgLy8gQnV0LCB0aGUgZnVuZGFtZW50YWwgY29u
Y2VwdCBvZiB0YWJzIGlzbid0IHJlYWxseSBjb21wYXRpYmxlIHdpdGggY29tcGxleCB0ZXh0IHNo
YXBpbmcsIHNvIHRoaXMgaXMgcHJvYmFibHkgb2theS4KKyAgICAgICAgLy8gV2UgY2FuIHByb2Jh
Ymx5IGp1c3QgZG8gdGhlIGJlc3Qgd2UgY2FuIGhlcmUuCisgICAgICAgIC8vIFRoZSBvbmx5IGFs
dGVybmF0aXZlLCB0byBjYWxjdWxhdGUgdGhpcyBwb3NpdGlvbiBpbiBnbHlwaC1zcGFjZSByYXRo
ZXIgdGhhbiBjaGFyYWN0ZXItc3BhY2UsCisgICAgICAgIC8vIGlzIE8obl4yKSBiZWNhdXNlIHdl
J3JlIGl0ZXJhdGluZyBhY3Jvc3MgdGhlIHN0cmluZyBoZXJlLCByYXRoZXIgdGhhbiBnbHlwaHMs
IHNvIHdlIGNhbid0IGtlZXAgdGhlIGNhbGN1bGF0aW9uIHVwLXRvLWRhdGUsCisgICAgICAgIC8v
IHdoaWNoIG1lYW5zIGNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0aCgpIHdvdWxkIGhhdmUgdG8gY2Fs
Y3VsYXRlIHRoZSByZXN1bHQgZnJvbSBzY3JhdGNoIHdoZW5ldmVyIGl0J3MgbmVlZGVkLgorICAg
ICAgICAvLyBBbmQgd2UgY2FuJ3QgZG8gc29tZSBzb3J0IG9mIHByZWZpeC1zdW0gdGhpbmcgYmVj
YXVzZSBhcHBseUFkZGl0aW9uYWxXaWR0aCgpIHdvdWxkIG1vZGlmeSB0aGUgdmFsdWVzLAorICAg
ICAgICAvLyBzbyB1cGRhdGluZyB0aGUgZGF0YSBzdHJ1Y3R1cmUgZWFjaCB0dXJuIG9mIHRoaXMg
bG9vcCB3b3VsZCBhbHNvIGVuZCB1cCBiZWluZyBPKG5eMikuCisgICAgICAgIC8vIFVuZm9ydHVu
YXRlbHksIHN0cmluZ3Mgd2l0aCB0YWJzIGFyZSBtb3JlIGxpa2VseSB0byBiZSBsb25nIGRhdGEt
dGFibGUga2luZCBvZiBzdHJpbmdzLCB3aGljaCBtZWFucyBPKG5eMikgaXMgbm90IGFjY2VwdGFi
bGUuCisgICAgICAgIC8vIEFsc28sIGV2ZW4gaWYgd2UgZGlkIHRoZSBPKG5eMikgdGhpbmcsIHRo
ZXJlIHdvdWxkIHN0aWxsIGJlIGNhc2VzIHRoYXQgd291bGRuJ3QgYmUgcGVyZmVjdAorICAgICAg
ICAvLyAoYmVjYXVzZSB0aGUgZnVuZGFtZW50YWwgY29uY2VwdCBvZiB0YWJzIGlzbid0IHJlYWxs
eSBjb21wYXRpYmxlIHdpdGggY29tcGxleCB0ZXh0IHNoYXBpbmcpLAorICAgICAgICAvLyBzbyBs
ZXQncyBjaG9vc2UgdGhlIGZhc3Qtd3JvbmcgYXBwcm9hY2ggaGVyZSBpbnN0ZWFkIG9mIHRoZSBz
bG93LXdyb25nIGFwcHJvYWNoLgorICAgICAgICBwb3NpdGlvbiArPSBhZHZhbmNlV2lkdGhzW2N1
cnJlbnRDaGFyYWN0ZXJJbmRleF0KKyAgICAgICAgICAgICsgYWRkaXRpb25hbFdpZHRoLmxlZnRB
ZGRpdGlvbmFsV2lkdGgKKyAgICAgICAgICAgICsgYWRkaXRpb25hbFdpZHRoLnJpZ2h0QWRkaXRp
b25hbFdpZHRoCisgICAgICAgICAgICArIGFkZGl0aW9uYWxXaWR0aC5sZWZ0RXhwYW5zaW9uQWRk
aXRpb25hbFdpZHRoCisgICAgICAgICAgICArIGFkZGl0aW9uYWxXaWR0aC5yaWdodEV4cGFuc2lv
bkFkZGl0aW9uYWxXaWR0aDsKKyAgICB9Cit9CisKK3ZvaWQgV2lkdGhJdGVyYXRvcjo6ZmluYWxp
emUoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQoreworICAgIEFTU0VSVChtX3J1bi5ydGwoKSB8
fCAhbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCk7CisgICAgLy8gSW4gTFRSIHRoaXMgZG9l
cyBub3RoaW5nLiBJbiBSVEwsIHRoaXMgYWRkcyBsZWZ0IHdpZHRoIGJ5IG1vdmluZyB0aGUgd2hv
bGUgcnVuIHRvIHRoZSByaWdodC4KKyAgICBnbHlwaEJ1ZmZlci5leHBhbmRJbml0aWFsQWR2YW5j
ZShtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKTsKKyAgICBtX3J1bldpZHRoU29GYXIgKz0g
bV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aDsKKyAgICBtX2xlZnRvdmVySnVzdGlmaWNhdGlv
bldpZHRoID0gMDsKK30KKwogdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKHVuc2lnbmVkIG9m
ZnNldCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQogeworICAgIG1fY29udGFpbnNUYWJzID0g
ZmFsc2U7CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gbV9ydW4ubGVuZ3RoKCk7CiAKICAgICBpZiAo
b2Zmc2V0ID4gbGVuZ3RoKQpAQCAtMzY2LDE0ICs0ODAsMzAgQEAgdm9pZCBXaWR0aEl0ZXJhdG9y
OjphZHZhbmNlKHVuc2lnbmVkIG9mZnNldCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQogICAg
IGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA+PSBvZmZzZXQpCiAgICAgICAgIHJldHVybjsK
IAorICAgIHVuc2lnbmVkIGNoYXJhY3RlclN0YXJ0SW5kZXggPSBtX2N1cnJlbnRDaGFyYWN0ZXJJ
bmRleDsKKyAgICB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXggPSBnbHlwaEJ1ZmZlci5z
aXplKCk7CisgICAgZmxvYXQgc3RhcnRpbmdSdW5XaWR0aCA9IG1fcnVuV2lkdGhTb0ZhcjsKKwog
ICAgIGlmIChtX3J1bi5pczhCaXQoKSkgewogICAgICAgICBMYXRpbjFUZXh0SXRlcmF0b3IgdGV4
dEl0ZXJhdG9yKG1fcnVuLmRhdGE4KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9jdXJyZW50
Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKICAgICAgICAgYWR2YW5jZUludGVybmFs
KHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOwotICAgICAgICByZXR1cm47CisgICAgfSBlbHNl
IHsKKyAgICAgICAgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yIHRleHRJdGVyYXRvciht
X3J1bi5kYXRhMTYobV9jdXJyZW50Q2hhcmFjdGVySW5kZXgpLCBtX2N1cnJlbnRDaGFyYWN0ZXJJ
bmRleCwgb2Zmc2V0LCBsZW5ndGgpOworICAgICAgICBhZHZhbmNlSW50ZXJuYWwodGV4dEl0ZXJh
dG9yLCBnbHlwaEJ1ZmZlcik7CiAgICAgfQogCi0gICAgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0
ZXJhdG9yIHRleHRJdGVyYXRvcihtX3J1bi5kYXRhMTYobV9jdXJyZW50Q2hhcmFjdGVySW5kZXgp
LCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCwgb2Zmc2V0LCBsZW5ndGgpOwotICAgIGFkdmFuY2VJ
bnRlcm5hbCh0ZXh0SXRlcmF0b3IsIGdseXBoQnVmZmVyKTsKKyAgICAvLyBJbiBnZW5lcmFsLCB3
ZSBoYXZlIHRvIGFwcGx5IHNwYWNpbmcgYWZ0ZXIgc2hhcGluZywgYmVjYXVzZSBzaGFwaW5nIHJl
cXVpcmVzIGl0cyBpbnB1dCB0byBiZSB1bnBlcnRlcmJlZCAoc2VlIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTIpLgorICAgIC8vIFNvLCBpZiB0aGVyZSdzIGV4
dHJhIHNwYWNpbmcgdG8gYWRkLCBkbyBpdCBoZXJlIGFmdGVyIHNoYXBpbmcgb2NjdXJzLgorICAg
IHsKKyAgICAgICAgaWYgKGdseXBoQnVmZmVyU3RhcnRJbmRleCA8IGdseXBoQnVmZmVyLnNpemUo
KSkgeworICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShnbHlwaEJ1ZmZlclN0
YXJ0SW5kZXgsIG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgpOworICAgICAgICAgICAgbV9y
dW5XaWR0aFNvRmFyICs9IG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGg7CisgICAgICAgICAg
ICBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoID0gMDsKKyAgICAgICAgfQorCisgICAgICAg
IGlmIChoYXNFeHRyYVNwYWNpbmcoKSB8fCBtX2NvbnRhaW5zVGFicyB8fCBtX3J1bi5ob3Jpem9u
dGFsR2x5cGhTdHJldGNoKCkgIT0gMSkKKyAgICAgICAgICAgIGFwcGx5RXh0cmFTcGFjaW5nQWZ0
ZXJTaGFwaW5nKGdseXBoQnVmZmVyLCBjaGFyYWN0ZXJTdGFydEluZGV4LCBnbHlwaEJ1ZmZlclN0
YXJ0SW5kZXgsIG9mZnNldCwgc3RhcnRpbmdSdW5XaWR0aCk7CisgICAgfQogfQogCiBib29sIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2VPbmVDaGFyYWN0ZXIoZmxvYXQmIHdpZHRoLCBHbHlwaEJ1ZmZl
ciYgZ2x5cGhCdWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9XaWR0aEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9X
aWR0aEl0ZXJhdG9yLmgKaW5kZXggZmNiMGVjYjljMDQwODZjNTZjOGNkNzhmNjEyMGZiNjE5OGI0
MTUxYS4uMTEwYTFlODY4Y2M4YThkNGIyMjdjMDc2OTA4NDU1OTJkZjUzZWQzOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaApAQCAtMjIs
NiArMjIsNyBAQAogI2lmbmRlZiBXaWR0aEl0ZXJhdG9yX2gKICNkZWZpbmUgV2lkdGhJdGVyYXRv
cl9oCiAKKyNpbmNsdWRlICJHbHlwaEJ1ZmZlci5oIgogI2luY2x1ZGUgPHVuaWNvZGUvdW1hY2hp
bmUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
QEAgLTI5LDEwICszMCwxMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGb250Q2Fz
Y2FkZTsKLWNsYXNzIEdseXBoQnVmZmVyOwogY2xhc3MgRm9udDsKIGNsYXNzIFRleHRSdW47CiBz
dHJ1Y3QgR2x5cGhEYXRhOworc3RydWN0IEdseXBoSW5kZXhSYW5nZTsKIHN0cnVjdCBPcmlnaW5h
bEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2U7CiAKIHVzaW5nIENoYXJhY3RlcnNU
cmVhdGVkQXNTcGFjZSA9IFZlY3RvcjxPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRl
ZEFzU3BhY2UsIDY0PjsKQEAgLTQ0LDYgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZHZh
bmNlKHVuc2lnbmVkIHRvLCBHbHlwaEJ1ZmZlciYpOwogICAgIGJvb2wgYWR2YW5jZU9uZUNoYXJh
Y3RlcihmbG9hdCYgd2lkdGgsIEdseXBoQnVmZmVyJik7CisgICAgdm9pZCBmaW5hbGl6ZShHbHlw
aEJ1ZmZlciYpOwogCiAgICAgZmxvYXQgbWF4R2x5cGhCb3VuZGluZ0JveFkoKSBjb25zdCB7IEFT
U0VSVChtX2FjY291bnRGb3JHbHlwaEJvdW5kcyk7IHJldHVybiBtX21heEdseXBoQm91bmRpbmdC
b3hZOyB9CiAgICAgZmxvYXQgbWluR2x5cGhCb3VuZGluZ0JveFkoKSBjb25zdCB7IEFTU0VSVCht
X2FjY291bnRGb3JHbHlwaEJvdW5kcyk7IHJldHVybiBtX21pbkdseXBoQm91bmRpbmdCb3hZOyB9
CkBAIC02MywxMSArNjUsMjQgQEAgcHJpdmF0ZToKICAgICBUcmFuc2Zvcm1zVHlwZSBzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiwgdW5zaWduZWQgbGFzdEdseXBo
Q291bnQsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0OwogICAgIGZsb2F0IGFwcGx5
Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCBib29sIGx0ciwgdW5zaWduZWQmIGxhc3RHbHlw
aENvdW50LCBjb25zdCBGb250JiwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3Jj
ZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7CiAKKyAgICBpbmxpbmUgYm9vbCBoYXNFeHRy
YVNwYWNpbmcoKSBjb25zdDsKKyAgICB2b2lkIGFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFwaW5n
KEdseXBoQnVmZmVyJiwgdW5zaWduZWQgY2hhcmFjdGVyU3RhcnRJbmRleCwgdW5zaWduZWQgZ2x5
cGhCdWZmZXJTdGFydEluZGV4LCB1bnNpZ25lZCBjaGFyYWN0ZXJEZXN0aW5hdGlvbkluZGV4LCBm
bG9hdCBzdGFydGluZ1J1bldpZHRoKTsKKyAgICBzdHJ1Y3QgQWRkaXRpb25hbFdpZHRoIHsKKyAg
ICAgICAgZmxvYXQgbGVmdEFkZGl0aW9uYWxXaWR0aDsKKyAgICAgICAgZmxvYXQgcmlnaHRBZGRp
dGlvbmFsV2lkdGg7CisgICAgICAgIGZsb2F0IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGg7
CisgICAgICAgIGZsb2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworICAgIH07Cisg
ICAgQWRkaXRpb25hbFdpZHRoIGNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYs
IEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgdW5zaWduZWQg
bGVhZGluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIHRyYWlsaW5nR2x5cGhJbmRleCwgZmxvYXQgcG9z
aXRpb24pIGNvbnN0OworICAgIHZvaWQgYXBwbHlBZGRpdGlvbmFsV2lkdGgoR2x5cGhCdWZmZXIm
LCBHbHlwaEluZGV4UmFuZ2UsIGZsb2F0IGxlZnRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0
QWRkaXRpb25hbFdpZHRoLCBmbG9hdCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoLCBmbG9h
dCByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCk7CisKICAgICBjb25zdCBGb250Q2FzY2Fk
ZSYgbV9mb250OwogICAgIGNvbnN0IFRleHRSdW4mIG1fcnVuOwogICAgIEhhc2hTZXQ8Y29uc3Qg
Rm9udCo+KiBtX2ZhbGxiYWNrRm9udHMgeyBudWxscHRyIH07CiAKKyAgICBPcHRpb25hbDx1bnNp
Z25lZD4gbV9sYXN0Q2hhcmFjdGVySW5kZXg7CiAgICAgdW5zaWduZWQgbV9jdXJyZW50Q2hhcmFj
dGVySW5kZXggeyAwIH07CisgICAgZmxvYXQgbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCB7
IDAgfTsKICAgICBmbG9hdCBtX3J1bldpZHRoU29GYXIgeyAwIH07CiAgICAgZmxvYXQgbV9leHBh
bnNpb24geyAwIH07CiAgICAgZmxvYXQgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSB7IDAgfTsK
QEAgLTc1LDYgKzkwLDcgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX21pbkdseXBoQm91bmRpbmdC
b3hZIHsgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpIH07CiAgICAgZmxvYXQgbV9m
aXJzdEdseXBoT3ZlcmZsb3cgeyAwIH07CiAgICAgZmxvYXQgbV9sYXN0R2x5cGhPdmVyZmxvdyB7
IDAgfTsKKyAgICBib29sIG1fY29udGFpbnNUYWJzIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNB
ZnRlckV4cGFuc2lvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2FjY291bnRGb3JHbHlwaEJvdW5k
cyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2VuYWJsZUtlcm5pbmcgeyBmYWxzZSB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxkZXIu
Y3BwCmluZGV4IDgwYjVjNzkxYjg1ODJkNzk5NTRjM2NiNTU4Y2QxYTFmMDUwNzlhY2YuLmE5NGNh
Mjk5MWMxYTRhYmE5YTUyZWVlZDZhYmVlYWU2N2I3YWQ2ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHAKQEAgLTE2
NSw2ICsxNjUsMTEgQEAgdm9pZCBTVkdUZXh0TWV0cmljc0J1aWxkZXI6Om1lYXN1cmVUZXh0UmVu
ZGVyZXIoUmVuZGVyU1ZHSW5saW5lVGV4dCYgdGV4dCwgTWVhc3UKICAgICAgICAgZGF0YS0+bGFz
dENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7CiAgICAgfQogCisgICAgaWYgKG1fc2ltcGxl
V2lkdGhJdGVyYXRvcikgeworICAgICAgICBHbHlwaEJ1ZmZlciBnbHlwaEJ1ZmZlcjsKKyAgICAg
ICAgbV9zaW1wbGVXaWR0aEl0ZXJhdG9yLT5maW5hbGl6ZShnbHlwaEJ1ZmZlcik7CisgICAgfQor
CiAgICAgaWYgKCFkYXRhLT5hbGxDaGFyYWN0ZXJzTWFwKQogICAgICAgICByZXR1cm47CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA3YTY0ZWMwYzNhNDA5MTY2MTgxZGVjN2YxMGM4Yzc0YmE1NTMxMGEwLi5mY2M1ZTlkZmUz
MjMzNmY3NmZiZjcxZDBkOTY1YTU0ZWEzMmZkYzE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjAtMDgtMDkgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAg
ICAgICBTcGFjaW5nIG9mIENoaW5lc2UgY2hhcmFjdGVycyBpcyBpbmNvbnNpc3RlbnQgaW4gbWFj
T1MgMTEvU2FmYXJpIDE0IGJldGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDc2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLXNoYXBpbmctZXhwZWN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLXNoYXBpbmcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UuaHRt
bDogQWRkZWQuCisKIDIwMjAtMDgtMDggIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KIAogICAgICAgICBNYWtlIEdseXBoQnVmZmVycyByZXF1aXJlZCBpbiB0aGUgZmFz
dCB0ZXh0IGNvZGVwYXRoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvbGV0dGVy
LXNwYWNpbmctc2hhcGluZy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2xl
dHRlci1zcGFjaW5nLXNoYXBpbmctZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MWIwODg4NzM1
MTRkZTFkN2M5YzUyZTY0OGU5ZGZlNDhlNzk5YmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLXNoYXBpbmctZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDExIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9InpoLWhrIj4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IGxldHRlci1zcGFjaW5nIGlzIGFwcGxpZWQgYWZ0ZXIgdGV4dCBzaGFwaW5n
LgorVGhlIHRlc3QgcGFzc2VzIGlmIHRoZSB0d28gY2hhcmFjdGVycyBiZWxvdyBoYXZlIHNvbWUg
c3BhY2UgYmV0d2VlbiB0aGVtLgorPGRpdiBzdHlsZT0iZm9udDogNDhweCAnUGluZ0ZhbmcgVEMn
OyBsZXR0ZXItc3BhY2luZzogMjRweDsiPjxzcGFuPuaDhTwvc3Bhbj48c3Bhbj7ljYc8L3NwYW4+
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvbGV0dGVyLXNwYWNpbmctc2hhcGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2xl
dHRlci1zcGFjaW5nLXNoYXBpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDA2YjcyOWI3M2NkNWJiOTE0
NjA3ZjZlMzIyM2JjOWM4MDEwNTEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2xldHRlci1zcGFjaW5nLXNoYXBpbmcuaHRtbApAQCAtMCwwICsxLDExIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9InpoLWhrIj4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGxldHRl
ci1zcGFjaW5nIGlzIGFwcGxpZWQgYWZ0ZXIgdGV4dCBzaGFwaW5nLgorVGhlIHRlc3QgcGFzc2Vz
IGlmIHRoZSB0d28gY2hhcmFjdGVycyBiZWxvdyBoYXZlIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGVt
LgorPGRpdiBzdHlsZT0iZm9udDogNDhweCAnUGluZ0ZhbmcgVEMnOyBsZXR0ZXItc3BhY2luZzog
MjRweDsiPuaDheWNhzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjY3MDVkODY5MjZkMWVlMTEyYWM1YmVmNzgxNTFhMGIzZjcyYjdjYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJ6aC1oayI+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzdHlsZT4KK3ByZSB7CisgICAgbWFyZ2lu
OiAwcHg7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3Vy
ZSB0aGF0IHRhYiBjaGFyYWN0ZXJzIGdldCB0aGUgYXBwcm9wcmlhdGUgYW1vdW50IG9mIGxldHRl
ci1zcGFjaW5nLgorVGhlIHRlc3QgcGFzc2VzIGlmIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlICJjIiBi
ZWxvdyBpcyAxNTggcGl4ZWxzIGZyb20gdGhlIGxlZnQgZWRnZSBvZiB0aGUgImEiIGJlbG93Lgor
PHByZSBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyI+PHByZSBzdHlsZT0icG9zaXRpb246IGFi
c29sdXRlOyBsZWZ0OiAwcHg7Ij5hPC9wcmU+PHByZSBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyBsZWZ0OiAxNThweDsiPmM8L3ByZT48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvdGFiLWxldHRlci1zcGFjZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmMzYwZGQ1
ZGEyMTliZDU3ZjI5ZDMwODk5OWM0ZTdmYWNhNDAwZTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvdGFiLWxldHRlci1zcGFjZS5odG1sCkBAIC0wLDAgKzEsMTYgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iemgtaGsiPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8c3R5bGU+CitwcmUgeworICAgIG1hcmdpbjogMHB4OworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0YWIgY2hhcmFj
dGVycyBnZXQgdGhlIGFwcHJvcHJpYXRlIGFtb3VudCBvZiBsZXR0ZXItc3BhY2luZy4KK1RoZSB0
ZXN0IHBhc3NlcyBpZiB0aGUgbGVmdCBlZGdlIG9mIHRoZSAiYyIgYmVsb3cgaXMgMTU4IHBpeGVs
cyBmcm9tIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlICJhIiBiZWxvdy4KKzxwcmUgc3R5bGU9ImxldHRl
ci1zcGFjaW5nOiAzMHB4OyB0YWItc2l6ZTogMTI4cHg7Ij5hJiM5O2M8L3ByZT4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>
<flag name="review"
          id="421668"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406275</attachid>
            <date>2020-08-09 17:00:13 -0700</date>
            <delta_ts>2020-08-10 00:13:30 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-214769-20200809170012.patch</filename>
            <type>text/plain</type>
            <size>38233</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2EwNDdlZjcyNDY0ZTI1
YWQwNDQ1OWFlMzk2NDk4MDdmZGMxMTc2Yi4uNzI1MDQ2YmYwNTA0MTcyMThmMjAwMzk0NzU1YTE3
NjY0ZjMzOTVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIwLTA4LTA5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBv
ZiBDaGluZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAx
NCBiZXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGlz
IGlzIGluIHByZXBhcmF0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA2MjA4Li4KKworICAgICAgICBJbiB0aGUgZ2VuZXJhbCBjYXNlLCB0ZXh0IHNoYXBp
bmcgaXMgVHVyaW5nLWNvbXBsZXRlLiBJbiBvcmRlciBmb3IgaXQgdG8gd29yayBwcm9wZXJseSwK
KyAgICAgICAgd2UgbmVlZCB0byBmZWVkIHRoZSB0ZXh0IHNoYXBpbmcgdmlydHVhbCBtYWNoaW5l
IHRoZSBjb3JyZWN0IGlucHV0cyBzbyB0aGF0IGl0IGNhbgorICAgICAgICBwcm9kdWNlIGNvcnJl
Y3Qgb3V0cHV0cy4gVGhlIGlucHV0IHRvIHRleHQgc2hhcGluZyBpcyBzdXBwb3NlZCB0byBiZSB0
aGUgcmF3IGdseXBoCisgICAgICAgIGFkdmFuY2VzIHN0cmFpZ2h0IGZyb20gQ1RGb250R2V0QWR2
YW5jZXNGb3JHbHlwaHMoKS4KKworICAgICAgICBQcmV2aW91c2x5LCB3ZSB3ZXJlIGFwcGx5aW5n
IGxldHRlci1zcGFjaW5nLCB3b3JkLXNwYWNpbmcsIGp1c3RpZmljYXRpb24sIGFuZCB0YWIgc3Rv
cHMKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcuIE1vc3QgZm9udHMgZG9uJ3QgY2FyZSBhYm91dCB0
aGlzIGFuZCBzdGlsbCBwcm9kdWNlIHRoZSBjb3JyZWN0IHJlc3VsdHMuCisgICAgICAgIEhvd2V2
ZXIsIFBpbmcgRmFuZyBvbiBtYWNPUyBCaWcgU3VyIGFuZCBpT1MgMTQgX2RvZXNfIGNhcmUgYWJv
dXQgdGhpcywgYW5kIGl0cyBzaGFwaW5nCisgICAgICAgIHJ1bGVzIG9wZXJhdGUgaW5jb3JyZWN0
bHkgd2hlbiBmZWQgdGhlc2UgcHJlLWV4cGFuZGVkIGdseXBoIHdpZHRocy4KKworICAgICAgICBU
aGUgc29sdXRpb24gaXMgdG8gYXBwbHkgdGhpcyBleHRyYSBzcGFjaW5nIGFmdGVyIHNoYXBpbmcg
b2NjdXJzLiBIb3dldmVyLCBiZWNhdXNlCisgICAgICAgIHNoYXBpbmcgaXMgVHVyaW5nLWNvbXBs
ZXRlLCBpdCBpcyBmcmVlIHRvIGFkZCBvciByZW1vdmUgZ2x5cGhzIHdpbGx5LW5pbGx5LiBUaGlz
IG1lYW5zCisgICAgICAgIHdlIG5lZWQgc29tZSB3YXkgb2YgdHJhY2luZyBiYWNrIHdoaWNoIGNo
YXJhY3RlciBpbiB0aGUgaW5wdXQgc3RyaW5nIGNvcnJlc3BvbmQgdG8gd2hpY2gKKyAgICAgICAg
b3V0cHV0IGdseXBocywgc28gd2Uga25vdyB3aGljaCBnbHlwaHMgdG8gYWRkIGFkZGl0aW9uYWwg
c3BhY2luZyB0by4gVGhpcyBpcyB3aGF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkgZG9lczogSXQgc3dpdGNoZXMgZnJvbSB1c2luZworICAg
ICAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUds
eXBocygpLCB3aGljaCBvdXRwdXRzIHRoaXMKKyAgICAgICAgZ2x5cGgtY2hhcmFjdGVyIHRyYWNp
bmcgaW5mby4gVGhlbiwgb25jZSB3ZSBoYXZlIHRoaXMgdHJhY2luZyBpbmZvLCB3ZSBjYW4gYXBw
bHkgc3BhY2luZworICAgICAgICBwcm9wZXJseSBhZnRlciBzaGFwaW5nIGhhcyBjb21wbGV0ZWQu
IFRoYXQncyB3aGF0IHRoaXMgcGF0Y2ggZG9lcy4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0
L2xldHRlci1zcGFjaW5nLXNoYXBpbmcuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L3Rh
Yi1sZXR0ZXItc3BhY2UuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwOiBDbGllbnRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoKSBuZWVkIHRvIGNh
bGwKKyAgICAgICAgV2lkdGhJdGVyYXRvcjo6ZmluYWxpemUoKSAoc2VlIGJlbG93KS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJhbmdlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4dCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6YWRqdXN0U2VsZWN0aW9uUmVjdEZvclNp
bXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6Om9mZnNldEZv
clBvc2l0aW9uRm9yU2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvR2x5cGhCdWZmZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjpleHBhbmRJ
bml0aWFsQWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6ZXhwYW5kQWR2
YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0ZXJhdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2luZyBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwpOiBEZWxldGUgdGhlIGNv
ZGUgdGhhdCB1c2VkIHRvIGFwcGx5IHNwYWNpbmcKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcuIElu
c3RlYWQsIGl0IGdldHMgbW92ZWQgdG8gYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoKS4K
KyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0
aCBjb25zdCk6IFRoaXMgaXMgYSByZWZhY3RvcmluZyBvZgorICAgICAgICB0aGUgYWRkaXRpb25h
bCBzcGFjZSBjYWxjdWxhdGlvbiBjb2RlLiBUaGlzIGlzIGEgY29uc3QgZnVuY3Rpb24sIGFuZCBo
YXMgbm8gc2lkZS1lZmZlY3RzLgorICAgICAgICBJdCBvdXRwdXRzIDQgZmxvYXRzOgorICAgICAg
ICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBsZWZ0IG9mIHRoZSBj
dXJyZW50IGNoYXJhY3RlcgorICAgICAgICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJlIGFk
ZGVkIHRvIHRoZSByaWdodCBvZiB0aGUgY3VycmVudCBjaGFyYWN0ZXIKKyAgICAgICAgLSBIb3cg
bXVjaCBzcGFjZSBuZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgbGVmdCBvZiB0aGUgY3VycmVudCBj
aGFyYWN0ZXIgZHVlIHRvIGp1c3RpZmljYXRpb24KKyAgICAgICAgLSBIb3cgbXVjaCBzcGFjZSBu
ZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgcmlnaHQgb2YgdGhlIGN1cnJlbnQgY2hhcmFjdGVyIGR1
ZSB0byBqdXN0aWZpY2F0aW9uCisgICAgICAgIFdlIG5lZWQgdGhlc2UgbGFzdCB0d28gdmFsdWVz
IGJlY2F1c2Ugb25lIG9mIHRoZSBvdXRwdXRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoKSBp
cworICAgICAgICBhIGJvb2wgd2hpY2ggcmVwcmVzZW50cyB3aGV0aGVyIG9yIG5vdCB3ZSBhcmUg
ZW5kaW5nIG9uIGEganVzdGlmaWNhdGlvbiBzcGFjZSwgc28gdGhhdCB0aGUKKyAgICAgICAgbmV4
dCBXaWR0aEl0ZXJhdG9yIHRoYXQgZ2V0cyBjcmVhdGVkIGZvciB0aGUgbmV4dCB0aGluZyBvbiB0
aGUgbGluZSBjYW4gZm9yYmlkL3JlcXVpcmUgYQorICAgICAgICBsZWFkaW5nIGp1c3RpZmljYXRp
b24gYXBwcm9wcmlhdGVseS4KKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5
QWRkaXRpb25hbFdpZHRoKTogR2l2ZW4gdGhlIDQgdmFsdWVzIGNhbGN1bGF0ZWQgaW4KKyAgICAg
ICAgY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKCksIGFwcGx5IHRoZW0uIFdlJ3JlIG9wZXJhdGlu
ZyBpbiBsb2dpY2FsIG9yZGVyLCBzbyB0aGlzIGZ1bmN0aW9uIGhhcworICAgICAgICB0byBkbyBz
b21lIHRyYW5zbGF0aW9uIGZyb20gdmlzdWFsIG9yZGVyIHRvIGxvZ2ljYWwgb3JkZXIgKGhlbmNl
IGFsbCB0aGUgbV9ydW4ubHRyKCkgY2FsbHMpLgorICAgICAgICBJZiB3ZSdyZSB0cnlpbmcgdG8g
YWRkIHNpemUgdG8gdGhlIGxlZnQgb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpbiBMVFIsIHdlIGNh
bid0IGRpcmVjdGx5IGRvCisgICAgICAgIHRoYXQsIGJlY2F1c2UgYWR2YW5jZXMgY2FuIG9ubHkg
YWRkIHNwYWNlIHRvIHRoZSByaWdodCBzaWRlIG9mIGEgY2hhcmFjdGVyLCBhbmQgdGhlcmUgaXMg
bm8KKyAgICAgICAgY2hhcmFjdGVyIHRvIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIg
dG8gZXhwYW5kLiBUaGVyZWZvcmUsIHdlIGRvIHRoaXMgYnkgaW5jcmVhc2luZworICAgICAgICB0
aGUgaW5pdGlhbCBhZHZhbmNlIG9mIHRoZSBHbHlwaEJ1ZmZlciwgd2hpY2ggaXMgYSBzcGVjaWFs
IGFkdmFuY2UgY3JlYXRlZCBqdXN0IHRvIHNvbHZlIHRoaXMKKyAgICAgICAgcHJvYmxlbS4gSW4g
UlRMLCB0aGUgcHJvYmxlbSBpcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVkIC0gd2UgZG9uJ3Qga25v
dyB3aGV0aGVyIGFkdmFuY2UoKSB3aWxsCisgICAgICAgIGJlIGNhbGxlZCBhZ2FpbiwgdGhlcmVi
eSBkZWxpdmVyaW5nIGEgZ2x5cGggd2hpY2ggd2UgX2Nhbl8gZXhwYW5kLCBzbyB3ZSBpbnN0ZWFk
IHN0b3JlIHdoYXQKKyAgICAgICAgd291bGQgaGF2ZSBiZWVuIGV4cGFuZGVkIGluc2lkZSBtX2xl
ZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBhbmQgd2FpdCBmb3IgdGhlIG5leHQgY2FsbCB0bwor
ICAgICAgICBhZHZhbmNlKCkuIElmIG5vbmUgY29tZXMsIGNsaWVudHMgaGF2ZSB0byBjYWxsIGZp
bmFsaXplKCkgaW5zdGVhZCwgd2hpY2ggd2lsbCBhcHBseQorICAgICAgICBtX2xlZnRvdmVySnVz
dGlmaWNhdGlvbldpZHRoIHRvIHRoZSBHbHlwaEJ1ZmZlcidzIGluaXRpYWwgYWR2YW5jZS4KKyAg
ICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFw
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmZpbmFsaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRNZXRyaWNzQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TWV0cmljc0J1
aWxkZXI6Om1lYXN1cmVUZXh0UmVuZGVyZXIpOgorCiAyMDIwLTA4LTA5ICBCZW4gTmhhbSAgPG5o
YW1AYXBwbGUuY29tPgogCiAgICAgICAgIFByZWxvYWQgZ3JhcGhpY3MgZHJpdmVycyBpbiBNYWMg
V2ViUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwCmluZGV4IDg0ZjZiODBiMWFmMmUyNzQxODc1MDA0NjBhODkwYjAzZjNhYjc0ZDku
LjY1Nzc2ZmQxYzI1MmM1MmI2M2QzYWM0Njk2OTczYzQxOTI2MjNmOGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTM4MCw2ICsz
ODAsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVu
JiBydW4sIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkCiAgICAgICAgIG9mZnNldEFmdGVyUmFuZ2Ug
PSBzaW1wbGVJdGVyYXRvci5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNpbXBsZUl0ZXJhdG9y
LmFkdmFuY2UocnVuLmxlbmd0aCgpLCBnbHlwaEJ1ZmZlcik7CiAgICAgICAgIHRvdGFsV2lkdGgg
PSBzaW1wbGVJdGVyYXRvci5ydW5XaWR0aFNvRmFyKCk7CisgICAgICAgIHNpbXBsZUl0ZXJhdG9y
LmZpbmFsaXplKGdseXBoQnVmZmVyKTsKICAgICB9CiAKICAgICBpZiAob3V0V2lkdGhCZWZvcmVS
YW5nZSkKQEAgLTEzODUsMTEgKzEzODYsMTQgQEAgR2x5cGhCdWZmZXIgRm9udENhc2NhZGU6Omxh
eW91dFNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCB1bnNpZ25lZCBmcm9tLCB1bnMKICAg
ICBmbG9hdCBpbml0aWFsQWR2YW5jZSA9IDA7CiAgICAgaWYgKHJ1bi5ydGwoKSkgewogICAgICAg
ICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSwgbG9jYWxHbHlwaEJ1ZmZlcik7CisgICAgICAgIGl0
LmZpbmFsaXplKGxvY2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGl0
LnJ1bldpZHRoU29GYXIoKSAtIGFmdGVyV2lkdGg7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsK
KyAgICAgICAgaXQuZmluYWxpemUobG9jYWxHbHlwaEJ1ZmZlcik7CiAgICAgICAgIGluaXRpYWxB
ZHZhbmNlID0gYmVmb3JlV2lkdGg7Ci0gICAgLy8gRklYTUU6IERlYWwgd2l0aCB0aGUgR2x5cGhC
dWZmZXIncyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgotICAgIGdseXBoQnVmZmVyLnNldEluaXRp
YWxBZHZhbmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOworICAgIH0KKyAgICBhdXRv
IGdseXBoQnVmZmVySW5pdGlhbEFkdmFuY2UgPSBzdGF0aWNfY2FzdDxGbG9hdFNpemU+KGdseXBo
QnVmZmVyLmluaXRpYWxBZHZhbmNlKCkpOworICAgIGdseXBoQnVmZmVyLnNldEluaXRpYWxBZHZh
bmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkgKyBnbHlwaEJ1ZmZlckluaXRpYWxBZHZh
bmNlKTsKIAogICAgIGlmIChydW4ucnRsKCkpCiAgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2Uo
MCwgZ2x5cGhCdWZmZXIuc2l6ZSgpKTsKQEAgLTE1MjAsNiArMTUyNCw3IEBAIGZsb2F0IEZvbnRD
YXNjYWRlOjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hT
ZXQ8Y29uc3QgRm9uCiAgICAgV2lkdGhJdGVyYXRvciBpdCgqdGhpcywgcnVuLCBmYWxsYmFja0Zv
bnRzLCBnbHlwaE92ZXJmbG93KTsKICAgICBHbHlwaEJ1ZmZlciBnbHlwaEJ1ZmZlcjsKICAgICBp
dC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSwgZ2x5cGhCdWZmZXIpOworICAgIGl0LmZpbmFsaXplKGds
eXBoQnVmZmVyKTsKIAogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7CiAgICAgICAgIGdseXBoT3Zl
cmZsb3ctPnRvcCA9IHN0ZDo6bWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtaXQu
bWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSAoZ2x5cGhPdmVyZmxvdy0+Y29tcHV0ZUJvdW5kcyA/
IDAgOiBmb250TWV0cmljcygpLmFzY2VudCgpKSk7CkBAIC0xNTU0LDEwICsxNTU5LDEzIEBAIHZv
aWQgRm9udENhc2NhZGU6OmFkanVzdFNlbGVjdGlvblJlY3RGb3JTaW1wbGVUZXh0KGNvbnN0IFRl
eHRSdW4mIHJ1biwgTGF5b3V0UmVjCiAKICAgICBpZiAocnVuLnJ0bCgpKSB7CiAgICAgICAgIGl0
LmFkdmFuY2UocnVuLmxlbmd0aCgpLCBnbHlwaEJ1ZmZlcik7CisgICAgICAgIGl0LmZpbmFsaXpl
KGdseXBoQnVmZmVyKTsKICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IGl0LnJ1bldpZHRoU29G
YXIoKTsKICAgICAgICAgc2VsZWN0aW9uUmVjdC5tb3ZlKHRvdGFsV2lkdGggLSBhZnRlcldpZHRo
LCAwKTsKLSAgICB9IGVsc2UKKyAgICB9IGVsc2UgeworICAgICAgICBpdC5maW5hbGl6ZShnbHlw
aEJ1ZmZlcik7CiAgICAgICAgIHNlbGVjdGlvblJlY3QubW92ZShiZWZvcmVXaWR0aCwgMCk7Cisg
ICAgfQogICAgIHNlbGVjdGlvblJlY3Quc2V0V2lkdGgoTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2Vp
bChhZnRlcldpZHRoIC0gYmVmb3JlV2lkdGgpKTsKIH0KIApAQCAtMTYxNiw2ICsxNjI0LDcgQEAg
aW50IEZvbnRDYXNjYWRlOjpvZmZzZXRGb3JQb3NpdGlvbkZvclNpbXBsZVRleHQoY29uc3QgVGV4
dFJ1biYgcnVuLCBmbG9hdCB4LCBib28KICAgICAgICAgfQogICAgIH0KIAorICAgIGl0LmZpbmFs
aXplKGxvY2FsR2x5cGhCdWZmZXIpOwogICAgIHJldHVybiBvZmZzZXQ7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCmluZGV4IDk3ODg2YjI1
MDdlNjEwZTNiN2I1NTA3NGZlN2E1MzllMjkxMjg1NjEuLjQ4MzE5YzNmMDU3NjUxM2E5OTk2ZDEz
NTc4OTcxZmMyMjZmODk1MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dseXBoQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR2x5cGhCdWZmZXIuaApAQCAtMjksNiArMjksNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lu
Y2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlICJH
bHlwaC5oIgogI2luY2x1ZGUgPGNsaW1pdHM+CkBAIC0yMDIsNiArMjAzLDcgQEAgcHVibGljOgog
CiAgICAgdm9pZCBzZXRJbml0aWFsQWR2YW5jZShHbHlwaEJ1ZmZlckFkdmFuY2UgaW5pdGlhbEFk
dmFuY2UpIHsgbV9pbml0aWFsQWR2YW5jZSA9IGluaXRpYWxBZHZhbmNlOyB9CiAgICAgY29uc3Qg
R2x5cGhCdWZmZXJBZHZhbmNlJiBpbml0aWFsQWR2YW5jZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5p
dGlhbEFkdmFuY2U7IH0KKyAgICB2b2lkIGV4cGFuZEluaXRpYWxBZHZhbmNlKGZsb2F0IHdpZHRo
KSB7IG1faW5pdGlhbEFkdmFuY2Uuc2V0V2lkdGgobV9pbml0aWFsQWR2YW5jZS53aWR0aCgpICsg
d2lkdGgpOyB9CiAgICAgCiAgICAgc3RhdGljIGNvbnN0ZXhwciBHbHlwaEJ1ZmZlclN0cmluZ09m
ZnNldCBub09mZnNldCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8R2x5cGhCdWZmZXJTdHJpbmdPZmZz
ZXQ+OjptYXgoKTsKICAgICB2b2lkIGFkZChHbHlwaCBnbHlwaCwgY29uc3QgRm9udCYgZm9udCwg
ZmxvYXQgd2lkdGgsIEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0IG9mZnNldEluU3RyaW5nID0gbm9P
ZmZzZXQpCkBAIC0yNTQsNiArMjU2LDEzIEBAIHB1YmxpYzoKICAgICAgICAgbGFzdEFkdmFuY2Uu
c2V0V2lkdGgobGFzdEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsKICAgICB9CiAKKyAgICB2b2lk
IGV4cGFuZEFkdmFuY2UodW5zaWduZWQgaW5kZXgsIGZsb2F0IHdpZHRoKQorICAgIHsKKyAgICAg
ICAgQVNTRVJUKGluZGV4IDwgc2l6ZSgpKTsKKyAgICAgICAgYXV0byYgbGFzdEFkdmFuY2UgPSBt
X2FkdmFuY2VzW2luZGV4XTsKKyAgICAgICAgbGFzdEFkdmFuY2Uuc2V0V2lkdGgobGFzdEFkdmFu
Y2Uud2lkdGgoKSArIHdpZHRoKTsKKyAgICB9CisKICAgICB2b2lkIGV4cGFuZExhc3RBZHZhbmNl
KEdseXBoQnVmZmVyQWR2YW5jZSBleHBhbnNpb24pCiAgICAgewogICAgICAgICBBU1NFUlQoIWlz
RW1wdHkoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9X
aWR0aEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRo
SXRlcmF0b3IuY3BwCmluZGV4IDdlYjI3ZDZkMDkxYjc1OTlmYTliNTU1OGZkNDhiYmI2YjA1ZDU4
MzEuLjE3ODJmMTZhNjRiZjRhMDQ3ZWNmYWI2ODY3MTAxYjAyZjAwYjdiYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC00
Niw2ICs0Niw4IEBAIFdpZHRoSXRlcmF0b3I6OldpZHRoSXRlcmF0b3IoY29uc3QgRm9udENhc2Nh
ZGUmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNlCiAgICAgLCBtX3JlcXVpcmVzU2hh
cGluZyhmb250LnJlcXVpcmVzU2hhcGluZygpKQogICAgICwgbV9mb3JUZXh0RW1waGFzaXMoZm9y
VGV4dEVtcGhhc2lzKQogeworICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgY2xhbXAgbV9leHBhbnNp
b24gc28gaXQgY2FuIG5ldmVyIGJlIG5lZ2F0aXZlPworCiAgICAgaWYgKCFtX2V4cGFuc2lvbikK
ICAgICAgICAgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSA9IDA7CiAgICAgZWxzZSB7CkBAIC0x
NjYsMTggKzE2OCwxNiBAQCBzdGF0aWMgaW5saW5lIHN0ZDo6cGFpcjxib29sLCBib29sPiBleHBh
bnNpb25Mb2NhdGlvbihib29sIGlkZW9ncmFwaCwgYm9vbCB0cmVhdAogICAgIHJldHVybiBzdGQ6
Om1ha2VfcGFpcihleHBhbmRMZWZ0LCBleHBhbmRSaWdodCk7CiB9CiAKK2lubGluZSBib29sIFdp
ZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIChtX2Zv
bnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9u
KSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBU
ZXh0SXRlcmF0b3I+CiBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwo
VGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlcikKIHsK
ICAgICAvLyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlv
dXQ6OndpZHRoRm9yU2ltcGxlVGV4dCgpCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKLSAg
ICBib29sIGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9u
dC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVk
KCk7Ci0KLSAgICBib29sIHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9u
QmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZUxlZnRFeHBhbnNpb247Ci0g
ICAgYm9vbCBydW5Gb3JjZXNSaWdodEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlv
cigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZVJpZ2h0RXhwYW5zaW9uOwotICAgIGJv
b2wgcnVuRm9yYmlkc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAm
IExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRMZWZ0RXhwYW5zaW9uOwotICAgIGJvb2wgcnVu
Rm9yYmlkc1JpZ2h0RXhwYW5zaW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBSaWdo
dEV4cGFuc2lvbk1hc2spID09IEZvcmJpZFJpZ2h0RXhwYW5zaW9uOwotICAgIGZsb2F0IGxlZnRv
dmVySnVzdGlmaWNhdGlvbldpZHRoID0gMDsKIAogICAgIEZsb2F0UmVjdCBib3VuZHM7CiAKQEAg
LTE4NSw2ICsxODUsNyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgIGNvbnN0IEZvbnQq
IGxhc3RGb250RGF0YSA9ICZwcmltYXJ5Rm9udDsKICAgICB1bnNpZ25lZCBsYXN0R2x5cGhDb3Vu
dCA9IGdseXBoQnVmZmVyLnNpemUoKTsKIAorICAgIGF1dG8gY3VycmVudENoYXJhY3RlckluZGV4
ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgIFVDaGFyMzIgY2hhcmFjdGVyID0g
MDsKICAgICBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyID0gMDsKICAgICB1bnNpZ25lZCBjbHVz
dGVyTGVuZ3RoID0gMDsKQEAgLTE5Miw3ICsxOTMsMTEgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVy
YXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1
ZmYKICAgICBTdHJpbmcgbm9ybWFsaXplZFNwYWNlc1N0cmluZ0NhY2hlOwogICAgIC8vIFdlIGFy
ZSBpdGVyYXRpbmcgaW4gc3RyaW5nIG9yZGVyLCBub3QgZ2x5cGggb3JkZXIuIENvbXBhcmUgdGhp
cyB0byBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKCkKICAg
ICB3aGlsZSAodGV4dEl0ZXJhdG9yLmNvbnN1bWUoY2hhcmFjdGVyLCBjbHVzdGVyTGVuZ3RoKSkg
eworICAgICAgICBtX2NvbnRhaW5zVGFicyB8PSBjaGFyYWN0ZXIgPT0gdGFiQ2hhcmFjdGVyOwor
ICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4
KCk7CiAgICAgICAgIHVuc2lnbmVkIGFkdmFuY2VMZW5ndGggPSBjbHVzdGVyTGVuZ3RoOworICAg
ICAgICBpZiAoY3VycmVudENoYXJhY3RlckluZGV4ICsgYWR2YW5jZUxlbmd0aCA9PSBtX3J1bi5s
ZW5ndGgoKSkKKyAgICAgICAgICAgIG1fbGFzdENoYXJhY3RlckluZGV4ID0gY3VycmVudENoYXJh
Y3RlckluZGV4OwogICAgICAgICBib29sIGNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nID0gIWlz
RGVmYXVsdElnbm9yYWJsZUNvZGVQb2ludChjaGFyYWN0ZXIpOwogI2lmIFVTRShGUkVFVFlQRSkK
ICAgICAgICAgLy8gRnJlZXR5cGUgYmFzZWQgcG9ydHMgb25seSBvdmVycmlkZSB0aGUgY2hhcmFj
dGVycyB3aXRoIERlZmF1bHRfSWdub3JhYmxlIHVuaWNvZGUgcHJvcGVydHkgd2hlbiB0aGUgZm9u
dApAQCAtMjAyLDcgKzIwNyw2IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJ
bnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgfQogI2VuZGlmCi0gICAgICAgIGludCBjdXJyZW50Q2hhcmFj
dGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIGNvbnN0IEds
eXBoRGF0YSYgZ2x5cGhEYXRhID0gbV9mb250LmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0
ZXIsIHJ0bCk7CiAgICAgICAgIEdseXBoIGdseXBoID0gZ2x5cGhEYXRhLmdseXBoOwogICAgICAg
ICBpZiAoIWdseXBoICYmICFjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZykgewpAQCAtMjEyLDE2
ICsyMTYsNyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4
dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICBjb25zdCBGb250KiBm
b250ID0gZ2x5cGhEYXRhLmZvbnQgPyBnbHlwaERhdGEuZm9udCA6ICZtX2ZvbnQucHJpbWFyeUZv
bnQoKTsKICAgICAgICAgQVNTRVJUKGZvbnQpOwogCi0gICAgICAgIC8vIE5vdyB0aGF0IHdlIGhh
dmUgYSBnbHlwaCBhbmQgZm9udCBkYXRhLCBnZXQgaXRzIHdpZHRoLgotICAgICAgICBmbG9hdCB3
aWR0aDsKLSAgICAgICAgaWYgKGNoYXJhY3RlciA9PSAnXHQnICYmIG1fcnVuLmFsbG93VGFicygp
KQotICAgICAgICAgICAgd2lkdGggPSBtX2ZvbnQudGFiV2lkdGgoKmZvbnQsIG1fcnVuLnRhYlNp
emUoKSwgbV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyKTsKLSAgICAgICAgZWxzZSB7Ci0g
ICAgICAgICAgICB3aWR0aCA9IGZvbnQtPndpZHRoRm9yR2x5cGgoZ2x5cGgpOwotCi0gICAgICAg
ICAgICAvLyBTVkcgdXNlcyBob3Jpem9udGFsR2x5cGhTdHJldGNoKCksIHdoZW4gdGV4dExlbmd0
aCBpcyB1c2VkIHRvIHN0cmV0Y2gvc3F1ZWV6ZSB0ZXh0LgotICAgICAgICAgICAgd2lkdGggKj0g
bV9ydW4uaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOwotICAgICAgICB9CisgICAgICAgIGZsb2F0
IHdpZHRoID0gZm9udC0+d2lkdGhGb3JHbHlwaChnbHlwaCk7CiAKICAgICAgICAgaWYgKGZvbnQg
IT0gbGFzdEZvbnREYXRhICYmIHdpZHRoKSB7CiAgICAgICAgICAgICBhdXRvIHRyYW5zZm9ybXNU
eXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291
bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKQEAgLTI0NCw2OSArMjM5LDYgQEAgaW5saW5lIHZvaWQg
V2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9y
LCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIGlmIChoYXNF
eHRyYVNwYWNpbmcpIHsKLSAgICAgICAgICAgIC8vIEFjY291bnQgZm9yIGxldHRlci1zcGFjaW5n
LgotICAgICAgICAgICAgaWYgKHdpZHRoKSB7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gbV9m
b250LmxldHRlclNwYWNpbmcoKTsKLSAgICAgICAgICAgICAgICB3aWR0aCArPSBsZWZ0b3Zlckp1
c3RpZmljYXRpb25XaWR0aDsKLSAgICAgICAgICAgICAgICBsZWZ0b3Zlckp1c3RpZmljYXRpb25X
aWR0aCA9IDA7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHN0YXRpYyBib29sIGV4cGFu
ZEFyb3VuZElkZW9ncmFwaHMgPSBGb250Q2FzY2FkZTo6Y2FuRXhwYW5kQXJvdW5kSWRlb2dyYXBo
c0luQ29tcGxleFRleHQoKTsKLSAgICAgICAgICAgIGJvb2wgdHJlYXRBc1NwYWNlID0gRm9udENh
c2NhZGU6OnRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpOwotICAgICAgICAgICAgYm9vbCBjdXJyZW50
SXNMYXN0Q2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlckluZGV4ICsgYWR2YW5jZUxlbmd0aCA9
PSBzdGF0aWNfY2FzdDxzaXplX3Q+KG1fcnVuLmxlbmd0aCgpKTsKLSAgICAgICAgICAgIGJvb2wg
Zm9yY2VMZWZ0RXhwYW5zaW9uID0gZmFsc2U7IC8vIE9uIHRoZSBsZWZ0LCByZWdhcmRsZXNzIG9m
IG1fcnVuLmx0cigpCi0gICAgICAgICAgICBib29sIGZvcmNlUmlnaHRFeHBhbnNpb24gPSBmYWxz
ZTsgLy8gT24gdGhlIHJpZ2h0LCByZWdhcmRsZXNzIG9mIG1fcnVuLmx0cigpCi0gICAgICAgICAg
ICBib29sIGZvcmJpZExlZnRFeHBhbnNpb24gPSBmYWxzZTsKLSAgICAgICAgICAgIGJvb2wgZm9y
YmlkUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsKLSAgICAgICAgICAgIGlmIChydW5Gb3JjZXNMZWZ0
RXhwYW5zaW9uKQotICAgICAgICAgICAgICAgIGZvcmNlTGVmdEV4cGFuc2lvbiA9IG1fcnVuLmx0
cigpID8gIWN1cnJlbnRDaGFyYWN0ZXJJbmRleCA6IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXI7Ci0g
ICAgICAgICAgICBpZiAocnVuRm9yY2VzUmlnaHRFeHBhbnNpb24pCi0gICAgICAgICAgICAgICAg
Zm9yY2VSaWdodEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gY3VycmVudElzTGFzdENoYXJhY3Rl
ciA6ICFjdXJyZW50Q2hhcmFjdGVySW5kZXg7Ci0gICAgICAgICAgICBpZiAocnVuRm9yYmlkc0xl
ZnRFeHBhbnNpb24pCi0gICAgICAgICAgICAgICAgZm9yYmlkTGVmdEV4cGFuc2lvbiA9IG1fcnVu
Lmx0cigpID8gIWN1cnJlbnRDaGFyYWN0ZXJJbmRleCA6IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXI7
Ci0gICAgICAgICAgICBpZiAocnVuRm9yYmlkc1JpZ2h0RXhwYW5zaW9uKQotICAgICAgICAgICAg
ICAgIGZvcmJpZFJpZ2h0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyBjdXJyZW50SXNMYXN0Q2hh
cmFjdGVyIDogIWN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKLSAgICAgICAgICAgIGJvb2wgaWRlb2dy
YXBoID0gKGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgJiYgRm9udENhc2NhZGU6OmlzQ0pLSWRlb2dy
YXBoT3JTeW1ib2woY2hhcmFjdGVyKSk7Ci0gICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlIHx8
IGlkZW9ncmFwaCB8fCBmb3JjZUxlZnRFeHBhbnNpb24gfHwgZm9yY2VSaWdodEV4cGFuc2lvbikg
ewotICAgICAgICAgICAgICAgIC8vIERpc3RyaWJ1dGUgdGhlIHJ1bidzIHRvdGFsIGV4cGFuc2lv
biBldmVubHkgb3ZlciBhbGwgZXhwYW5zaW9uIG9wcG9ydHVuaXRpZXMgaW4gdGhlIHJ1bi4KLSAg
ICAgICAgICAgICAgICBpZiAobV9leHBhbnNpb24pIHsKLSAgICAgICAgICAgICAgICAgICAgYXV0
byBbZXhwYW5kTGVmdCwgZXhwYW5kUmlnaHRdID0gZXhwYW5zaW9uTG9jYXRpb24oaWRlb2dyYXBo
LCB0cmVhdEFzU3BhY2UsIG1fcnVuLmx0cigpLCBtX2lzQWZ0ZXJFeHBhbnNpb24sIGZvcmJpZExl
ZnRFeHBhbnNpb24sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uLCBmb3JjZUxlZnRFeHBhbnNpb24sIGZv
cmNlUmlnaHRFeHBhbnNpb24pOwotICAgICAgICAgICAgICAgICAgICBpZiAoZXhwYW5kTGVmdCkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gSW5jcmVhc2UgcHJldmlvdXMgd2lkdGgKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBtX2V4cGFu
c2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnbHlw
aEJ1ZmZlci5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KG1fZm9yVGV4dEVtcGhhc2lzKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2x5cGhCdWZmZXIuYWRkKGZvbnQtPnplcm9XaWR0aFNwYWNlR2x5cGgoKSwgKmZvbnQsIG1fZXhw
YW5zaW9uUGVyT3Bwb3J0dW5pdHksIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdseXBoQnVmZmVyLmFkZChmb250LT5zcGFjZUdseXBoKCksICpmb250LCBtX2V4cGFu
c2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
bHlwaEJ1ZmZlci5leHBhbmRMYXN0QWR2YW5jZShtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5KTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gSW5jcmVhc2UgbmV4dCB3aWR0aAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gdHJ1ZTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgICAgICBpZiAoZXhwYW5kUmlnaHQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1fZXhwYW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB3aWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigpKQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5z
aW9uID0gZmFsc2U7Ci0KLSAgICAgICAgICAgICAgICAvLyBBY2NvdW50IGZvciB3b3JkIHNwYWNp
bmcuCi0gICAgICAgICAgICAgICAgLy8gV2UgYXBwbHkgYWRkaXRpb25hbCBzcGFjZSBiZXR3ZWVu
ICJ3b3JkcyIgYnkgYWRkaW5nIHdpZHRoIHRvIHRoZSBzcGFjZSBjaGFyYWN0ZXIuCi0gICAgICAg
ICAgICAgICAgaWYgKHRyZWF0QXNTcGFjZSAmJiAoY2hhcmFjdGVyICE9ICdcdCcgfHwgIW1fcnVu
LmFsbG93VGFicygpKSAmJiAoY3VycmVudENoYXJhY3RlckluZGV4IHx8IGNoYXJhY3RlciA9PSBu
b0JyZWFrU3BhY2UpICYmIG1fZm9udC53b3JkU3BhY2luZygpKQotICAgICAgICAgICAgICAgICAg
ICB3aWR0aCArPSBtX2ZvbnQud29yZFNwYWNpbmcoKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IGZhbHNlOwotICAgICAgICB9Ci0KICAg
ICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5
cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7CiAgICAgICAgIGlm
ICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSAmJiBGb250Q2FzY2FkZTo6
dHJlYXRBc1NwYWNlKGNoYXJhY3RlcikpIHsKICAgICAgICAgICAgIGNoYXJhY3RlcnNUcmVhdGVk
QXNTcGFjZS5jb25zdHJ1Y3RBbmRBcHBlbmQoCkBAIC0zNDAsMTMgKzI3Miw2IEBAIGlubGluZSB2
b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVy
YXRvciwgR2x5cGhCdWZmCiAgICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyID0gY2hhcmFjdGVyOwog
ICAgIH0KIAotICAgIGlmIChsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkgewotICAgICAgICBp
ZiAobV9mb3JUZXh0RW1waGFzaXMpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQobGFzdEZv
bnREYXRhLT56ZXJvV2lkdGhTcGFjZUdseXBoKCksICpsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVz
dGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICBnbHlwaEJ1ZmZlci5hZGQobGFzdEZvbnREYXRhLT5zcGFjZUdseXBoKCksICpsYXN0
Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEp
OwotICAgIH0KLQogICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFu
c2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIpOwog
ICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkgewogICAgICAg
ICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9y
dW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCAqbGFzdEZvbnREYXRhLCBwcmV2aW91c0NoYXJhY3Rl
ciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1Ry
ZWF0ZWRBc1NwYWNlKTsKQEAgLTM1Niw4ICsyODEsMTg0IEBAIGlubGluZSB2b2lkIFdpZHRoSXRl
cmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhC
dWZmCiAgICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudElu
ZGV4KCk7CiB9CiAKK2F1dG8gV2lkdGhJdGVyYXRvcjo6Y2FsY3VsYXRlQWRkaXRpb25hbFdpZHRo
KEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgY3VycmVu
dENoYXJhY3RlckluZGV4LCB1bnNpZ25lZCBsZWFkaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgdHJh
aWxpbmdHbHlwaEluZGV4LCBmbG9hdCBwb3NpdGlvbikgY29uc3QgLT4gQWRkaXRpb25hbFdpZHRo
Cit7CisgICAgZmxvYXQgbGVmdEFkZGl0aW9uYWxXaWR0aCA9IDA7CisgICAgZmxvYXQgcmlnaHRB
ZGRpdGlvbmFsV2lkdGggPSAwOworICAgIGZsb2F0IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lk
dGggPSAwOworICAgIGZsb2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoID0gMDsKKwor
ICAgIGF1dG8gY2hhcmFjdGVyID0gbV9ydW5bY3VycmVudENoYXJhY3RlckluZGV4XTsKKworICAg
IGlmIChjaGFyYWN0ZXIgPT0gdGFiQ2hhcmFjdGVyICYmIG1fcnVuLmFsbG93VGFicygpKSB7Cisg
ICAgICAgIGF1dG8mIGZvbnQgPSBnbHlwaEJ1ZmZlci5mb250QXQodHJhaWxpbmdHbHlwaEluZGV4
KTsKKyAgICAgICAgYXV0byBuZXdXaWR0aCA9IG1fZm9udC50YWJXaWR0aChmb250LCBtX3J1bi50
YWJTaXplKCksIHBvc2l0aW9uKTsKKyAgICAgICAgYXV0byBjdXJyZW50V2lkdGggPSBnbHlwaEJ1
ZmZlci5hZHZhbmNlQXQodHJhaWxpbmdHbHlwaEluZGV4KS53aWR0aCgpOworICAgICAgICByaWdo
dEFkZGl0aW9uYWxXaWR0aCArPSBuZXdXaWR0aCAtIGN1cnJlbnRXaWR0aDsKKyAgICB9CisKKyAg
ICBpZiAoaGFzRXh0cmFTcGFjaW5nKCkpIHsKKyAgICAgICAgYm9vbCB0cmVhdEFzU3BhY2UgPSBG
b250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rlcik7CisKKyAgICAgICAgLy8gVGhpcyBp
cyBhIGhldXJpc3RpYyB0byBkZXRlcm1pbmUgaWYgdGhlIGNoYXJhY3RlciBpcyBub24tdmlzaWJs
ZS4gTm9uLXZpc2libGUgY2hhcmFjdGVycyBkb24ndCBnZXQgbGV0dGVyLXNwYWNpbmcuCisgICAg
ICAgIGZsb2F0IGJhc2VXaWR0aCA9IDA7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGxlYWRp
bmdHbHlwaEluZGV4OyBpIDw9IHRyYWlsaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICAgICAg
YmFzZVdpZHRoICs9IGdseXBoQnVmZmVyLmFkdmFuY2VBdChpKS53aWR0aCgpOworICAgICAgICBp
ZiAoYmFzZVdpZHRoKQorICAgICAgICAgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gbV9mb250
LmxldHRlclNwYWNpbmcoKTsKKworICAgICAgICBpZiAodHJlYXRBc1NwYWNlICYmIChjaGFyYWN0
ZXIgIT0gdGFiQ2hhcmFjdGVyIHx8ICFtX3J1bi5hbGxvd1RhYnMoKSkgJiYgKGN1cnJlbnRDaGFy
YWN0ZXJJbmRleCB8fCBjaGFyYWN0ZXIgPT0gbm9CcmVha1NwYWNlKSAmJiBtX2ZvbnQud29yZFNw
YWNpbmcoKSkKKyAgICAgICAgICAgIHJpZ2h0QWRkaXRpb25hbFdpZHRoICs9IG1fZm9udC53b3Jk
U3BhY2luZygpOworCisgICAgICAgIGlmIChtX2V4cGFuc2lvbiA+IDApIHsKKyAgICAgICAgICAg
IGJvb2wgaXNMZWZ0bW9zdENoYXJhY3RlciA9ICFjdXJyZW50Q2hhcmFjdGVySW5kZXg7CisgICAg
ICAgICAgICBib29sIGlzUmlnaHRtb3N0Q2hhcmFjdGVyID0gZmFsc2U7CisgICAgICAgICAgICBp
ZiAobV9sYXN0Q2hhcmFjdGVySW5kZXgpIHsKKyAgICAgICAgICAgICAgICBHbHlwaEJ1ZmZlclN0
cmluZ09mZnNldCBsYXN0Q2hhcmFjdGVySW5kZXggPSBtX2xhc3RDaGFyYWN0ZXJJbmRleC52YWx1
ZSgpOworICAgICAgICAgICAgICAgIGlzUmlnaHRtb3N0Q2hhcmFjdGVyID0gY3VycmVudENoYXJh
Y3RlckluZGV4ID09IGxhc3RDaGFyYWN0ZXJJbmRleDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGlmICghbV9ydW4ubHRyKCkpCisgICAgICAgICAgICAgICAgc3RkOjpzd2FwKGlzTGVmdG1v
c3RDaGFyYWN0ZXIsIGlzUmlnaHRtb3N0Q2hhcmFjdGVyKTsKKworICAgICAgICAgICAgYm9vbCBm
b3JjZUxlZnRFeHBhbnNpb24gPSBpc0xlZnRtb3N0Q2hhcmFjdGVyICYmIChtX3J1bi5leHBhbnNp
b25CZWhhdmlvcigpICYgTGVmdEV4cGFuc2lvbk1hc2spID09IEZvcmNlTGVmdEV4cGFuc2lvbjsK
KyAgICAgICAgICAgIGJvb2wgZm9yY2VSaWdodEV4cGFuc2lvbiA9IGlzUmlnaHRtb3N0Q2hhcmFj
dGVyICYmIChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9
PSBGb3JjZVJpZ2h0RXhwYW5zaW9uOworICAgICAgICAgICAgYm9vbCBmb3JiaWRMZWZ0RXhwYW5z
aW9uID0gaXNMZWZ0bW9zdENoYXJhY3RlciAmJiAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAm
IExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRMZWZ0RXhwYW5zaW9uOworICAgICAgICAgICAg
Ym9vbCBmb3JiaWRSaWdodEV4cGFuc2lvbiA9IGlzUmlnaHRtb3N0Q2hhcmFjdGVyICYmIChtX3J1
bi5leHBhbnNpb25CZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRSaWdo
dEV4cGFuc2lvbjsKKworICAgICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgZXhwYW5kQXJvdW5k
SWRlb2dyYXBocyA9IEZvbnRDYXNjYWRlOjpjYW5FeHBhbmRBcm91bmRJZGVvZ3JhcGhzSW5Db21w
bGV4VGV4dCgpOworICAgICAgICAgICAgYm9vbCBpc0lkZW9ncmFwaCA9IGV4cGFuZEFyb3VuZElk
ZW9ncmFwaHMgJiYgRm9udENhc2NhZGU6OmlzQ0pLSWRlb2dyYXBoT3JTeW1ib2woY2hhcmFjdGVy
KTsKKworICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFjZSB8fCBpc0lkZW9ncmFwaCB8fCBmb3Jj
ZUxlZnRFeHBhbnNpb24gfHwgZm9yY2VSaWdodEV4cGFuc2lvbikgeworICAgICAgICAgICAgICAg
IGF1dG8gW2V4cGFuZExlZnQsIGV4cGFuZFJpZ2h0XSA9IGV4cGFuc2lvbkxvY2F0aW9uKGlzSWRl
b2dyYXBoLCB0cmVhdEFzU3BhY2UsIG1fcnVuLmx0cigpLCBtX2lzQWZ0ZXJFeHBhbnNpb24sIGZv
cmJpZExlZnRFeHBhbnNpb24sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uLCBmb3JjZUxlZnRFeHBhbnNp
b24sIGZvcmNlUmlnaHRFeHBhbnNpb24pOworCisgICAgICAgICAgICAgICAgaWYgKGV4cGFuZExl
ZnQpCisgICAgICAgICAgICAgICAgICAgIGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggKz0g
bV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKKyAgICAgICAgICAgICAgICBpZiAoZXhwYW5kUmln
aHQpCisgICAgICAgICAgICAgICAgICAgIHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICs9
IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICByZXR1cm4geyBsZWZ0QWRkaXRpb25hbFdpZHRoLCByaWdodEFkZGl0aW9uYWxX
aWR0aCwgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwgcmlnaHRFeHBhbnNpb25BZGRpdGlv
bmFsV2lkdGggfTsKK30KKworc3RydWN0IEdseXBoSW5kZXhSYW5nZSB7CisgICAgLy8gVGhpcyBt
ZWFucyB0aGUgY2hhcmFjdGVyIGdvdCBleHBhbmRlZCB0byBnbHlwaHMgaW5zaWRlIHRoZSBHbHlw
aEJ1ZmZlciBhdCBpbmRpY2VzIFtsZWFkaW5nR2x5cGhJbmRleCwgdHJhaWxpbmdHbHlwaEluZGV4
XS4KKyAgICB1bnNpZ25lZCBsZWFkaW5nR2x5cGhJbmRleDsKKyAgICB1bnNpZ25lZCB0cmFpbGlu
Z0dseXBoSW5kZXg7Cit9OworCit2b2lkIFdpZHRoSXRlcmF0b3I6OmFwcGx5QWRkaXRpb25hbFdp
ZHRoKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgR2x5cGhJbmRleFJhbmdlIGdseXBoSW5kZXhS
YW5nZSwgZmxvYXQgbGVmdEFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRBZGRpdGlvbmFsV2lk
dGgsIGZsb2F0IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0RXhwYW5z
aW9uQWRkaXRpb25hbFdpZHRoKQoreworICAgIG1fZXhwYW5zaW9uIC09IGxlZnRFeHBhbnNpb25B
ZGRpdGlvbmFsV2lkdGggKyByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aDsKKworICAgIGxl
ZnRBZGRpdGlvbmFsV2lkdGggKz0gbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aDsKKyAgICBy
aWdodEFkZGl0aW9uYWxXaWR0aCArPSByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aDsKKwor
ICAgIG1fcnVuV2lkdGhTb0ZhciArPSBsZWZ0QWRkaXRpb25hbFdpZHRoOworICAgIG1fcnVuV2lk
dGhTb0ZhciArPSByaWdodEFkZGl0aW9uYWxXaWR0aDsKKworICAgIGlmIChsZWZ0QWRkaXRpb25h
bFdpZHRoKSB7CisgICAgICAgIGlmIChtX3J1bi5sdHIoKSkgeworICAgICAgICAgICAgLy8gTGVm
dCBhZGRpdGlvbmFsIHdpZHRoIGluIExUUiBtZWFucyB0aGUgcHJldmlvdXMgKGxlYWRpbmcpIGds
eXBoJ3MgcmlnaHQgc2lkZSBnZXRzIGV4cGFuZGVkLgorICAgICAgICAgICAgYXV0byBsZWFkaW5n
R2x5cGhJbmRleCA9IGdseXBoSW5kZXhSYW5nZS5sZWFkaW5nR2x5cGhJbmRleDsKKyAgICAgICAg
ICAgIGlmIChsZWFkaW5nR2x5cGhJbmRleCkKKyAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5l
eHBhbmRBZHZhbmNlKGxlYWRpbmdHbHlwaEluZGV4IC0gMSwgbGVmdEFkZGl0aW9uYWxXaWR0aCk7
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kSW5p
dGlhbEFkdmFuY2UobGVmdEFkZGl0aW9uYWxXaWR0aCk7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAvLyBMZWZ0IGFkZGl0aW9uYWwgd2lkdGggaW4gUlRMIG1lYW5zIHRoZSBuZXh0ICh0
cmFpbGluZykgZ2x5cGgncyByaWdodCBzaWRlIGdldHMgZXhwYW5kZWQuCisgICAgICAgICAgICBh
dXRvIHRyYWlsaW5nR2x5cGhJbmRleCA9IGdseXBoSW5kZXhSYW5nZS50cmFpbGluZ0dseXBoSW5k
ZXg7CisgICAgICAgICAgICBpZiAodHJhaWxpbmdHbHlwaEluZGV4ICsgMSA8IGdseXBoQnVmZmVy
LnNpemUoKSkKKyAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKHRyYWls
aW5nR2x5cGhJbmRleCArIDEsIGxlZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAgICAgICAgZWxz
ZSB7CisgICAgICAgICAgICAgICAgbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCA9IGxlZnRB
ZGRpdGlvbmFsV2lkdGg7CisgICAgICAgICAgICAgICAgLy8gV2UgY2FuJ3QgYWN0dWFsbHkgYWRk
IGluIHRoaXMgd2lkdGgganVzdCB5ZXQuCisgICAgICAgICAgICAgICAgLy8gQWRkIGl0IGluIHdo
ZW4gdGhlIGNsaWVudCBjYWxscyBhZHZhbmNlKCkgYWdhaW4gb3IgZmluYWxpemUoKS4KKyAgICAg
ICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgLT0gbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0
aDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChyaWdodEFkZGl0
aW9uYWxXaWR0aCkgeworICAgICAgICAvLyBSaWdodCBhZGRpdGlvbmFsIHdpZHRoIG1lYW5zIHRo
ZSBjdXJyZW50IGdseXBoJ3MgcmlnaHQgc2lkZSBnZXRzIGV4cGFuZGVkLiBUaGlzIGlzIHRydWUg
Zm9yIGJvdGggTFRSIGFuZCBSVEwuCisgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEFkdmFuY2Uo
Z2x5cGhJbmRleFJhbmdlLnRyYWlsaW5nR2x5cGhJbmRleCwgcmlnaHRBZGRpdGlvbmFsV2lkdGgp
OworICAgIH0KK30KKwordm9pZCBXaWR0aEl0ZXJhdG9yOjphcHBseUV4dHJhU3BhY2luZ0FmdGVy
U2hhcGluZyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVkIGNoYXJhY3RlclN0YXJ0
SW5kZXgsIHVuc2lnbmVkIGdseXBoQnVmZmVyU3RhcnRJbmRleCwgR2x5cGhCdWZmZXJTdHJpbmdP
ZmZzZXQgY2hhcmFjdGVyRGVzdGluYXRpb25JbmRleCwgZmxvYXQgc3RhcnRpbmdSdW5XaWR0aCkK
K3sKKyAgICBWZWN0b3I8T3B0aW9uYWw8R2x5cGhJbmRleFJhbmdlPj4gY2hhcmFjdGVySW5kZXhU
b0dseXBoSW5kZXhSYW5nZShtX3J1bi5sZW5ndGgoKSk7CisgICAgVmVjdG9yPGZsb2F0PiBhZHZh
bmNlV2lkdGhzKG1fcnVuLmxlbmd0aCgpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSBnbHlwaEJ1
ZmZlclN0YXJ0SW5kZXg7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCk7ICsraSkgeworICAgICAgICBh
dXRvIHN0cmluZ09mZnNldCA9IGdseXBoQnVmZmVyLnN0cmluZ09mZnNldEF0KGkpOworICAgICAg
ICBhZHZhbmNlV2lkdGhzW3N0cmluZ09mZnNldF0gKz0gZ2x5cGhCdWZmZXIuYWR2YW5jZUF0KGkp
LndpZHRoKCk7CisgICAgICAgIGF1dG8mIGdseXBoSW5kZXhSYW5nZSA9IGNoYXJhY3RlckluZGV4
VG9HbHlwaEluZGV4UmFuZ2Vbc3RyaW5nT2Zmc2V0XTsKKyAgICAgICAgaWYgKGdseXBoSW5kZXhS
YW5nZSkKKyAgICAgICAgICAgIGdseXBoSW5kZXhSYW5nZS0+dHJhaWxpbmdHbHlwaEluZGV4ID0g
aTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZ2x5cGhJbmRleFJhbmdlID0ge3tpLCBpfX07
CisgICAgfQorCisgICAgLy8gU1ZHIGNhbiBzdHJldGNoIGFkdmFuY2VzCisgICAgaWYgKG1fcnVu
Lmhvcml6b250YWxHbHlwaFN0cmV0Y2goKSAhPSAxKSB7CisgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IGdseXBoQnVmZmVyU3RhcnRJbmRleDsgaSA8IGdseXBoQnVmZmVyLnNpemUoKTsgKytpKSB7
CisgICAgICAgICAgICAvLyBBbGwgY2hhcmFjdGVycycgYWR2YW5jZXMgZ2V0IHN0cmV0Y2hlZCwg
ZXhjZXB0IGFwcGFyZW50bHkgdGFiIGNoYXJhY3RlcnMuLi4KKyAgICAgICAgICAgIC8vIFRoaXMg
ZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2UsIGJlY2F1c2UgZXZlbiB0YWIgY2hhcmFjdGVycyBnZXQg
bGV0dGVyLXNwYWNpbmcuLi4KKyAgICAgICAgICAgIGF1dG8gc3RyaW5nT2Zmc2V0ID0gZ2x5cGhC
dWZmZXIuc3RyaW5nT2Zmc2V0QXQoaSk7CisgICAgICAgICAgICBhdXRvIGNoYXJhY3RlciA9IG1f
cnVuW3N0cmluZ09mZnNldF07CisgICAgICAgICAgICBpZiAoY2hhcmFjdGVyID09IHRhYkNoYXJh
Y3RlcikKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgYXV0byBjdXJy
ZW50QWR2YW5jZSA9IGdseXBoQnVmZmVyLmFkdmFuY2VBdChpKS53aWR0aCgpOworICAgICAgICAg
ICAgYXV0byBuZXdBZHZhbmNlID0gY3VycmVudEFkdmFuY2UgKiBtX3J1bi5ob3Jpem9udGFsR2x5
cGhTdHJldGNoKCk7CisgICAgICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKGksIG5l
d0FkdmFuY2UgLSBjdXJyZW50QWR2YW5jZSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmbG9h
dCBwb3NpdGlvbiA9IG1fcnVuLnhQb3MoKSArIHN0YXJ0aW5nUnVuV2lkdGg7CisgICAgZm9yIChh
dXRvIGkgPSBjaGFyYWN0ZXJTdGFydEluZGV4OyBpIDwgc3RhdGljX2Nhc3Q8R2x5cGhCdWZmZXJT
dHJpbmdPZmZzZXQ+KGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXgpOyArK2kpIHsKKyAgICAgICAg
YXV0byYgZ2x5cGhJbmRleFJhbmdlID0gY2hhcmFjdGVySW5kZXhUb0dseXBoSW5kZXhSYW5nZVtp
XTsKKyAgICAgICAgaWYgKCFnbHlwaEluZGV4UmFuZ2UpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICBhdXRvIHdpZHRoID0gY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKGdseXBoQnVm
ZmVyLCBpLCBnbHlwaEluZGV4UmFuZ2UtPmxlYWRpbmdHbHlwaEluZGV4LCBnbHlwaEluZGV4UmFu
Z2UtPnRyYWlsaW5nR2x5cGhJbmRleCwgcG9zaXRpb24pOworICAgICAgICBhcHBseUFkZGl0aW9u
YWxXaWR0aChnbHlwaEJ1ZmZlciwgZ2x5cGhJbmRleFJhbmdlLnZhbHVlKCksIHdpZHRoLmxlZnQs
IHdpZHRoLnJpZ2h0LCB3aWR0aC5sZWZ0RXhwYW5zaW9uLCB3aWR0aC5yaWdodEV4cGFuc2lvbik7
CisKKyAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gKG1fcnVuLmx0cigpICYmIHdpZHRoLnJp
Z2h0RXhwYW5zaW9uKSB8fCAoIW1fcnVuLmx0cigpICYmIHdpZHRoLmxlZnRFeHBhbnNpb24pOwor
CisgICAgICAgIC8vIFRoaXMgaXNuJ3QgcXVpdGUgcGVyZmVjdCwgYmVjYXVzZSB3ZSBtYXkgY29t
ZSBhY3Jvc3MgYSB0YWIgY2hhcmFjdGVyIGluIGJldHdlZW4gdHdvIGdseXBocyB3aGljaCBib3Ro
IHJlcG9ydCB0byBjb3JyZXNwb25kIHRvIGEgcHJldmlvdXMgY2hhcmFjdGVyLgorICAgICAgICAv
LyBCdXQsIHRoZSBmdW5kYW1lbnRhbCBjb25jZXB0IG9mIHRhYnMgaXNuJ3QgcmVhbGx5IGNvbXBh
dGlibGUgd2l0aCBjb21wbGV4IHRleHQgc2hhcGluZywgc28gdGhpcyBpcyBwcm9iYWJseSBva2F5
LgorICAgICAgICAvLyBXZSBjYW4gcHJvYmFibHkganVzdCBkbyB0aGUgYmVzdCB3ZSBjYW4gaGVy
ZS4KKyAgICAgICAgLy8gVGhlIG9ubHkgYWx0ZXJuYXRpdmUsIHRvIGNhbGN1bGF0ZSB0aGlzIHBv
c2l0aW9uIGluIGdseXBoLXNwYWNlIHJhdGhlciB0aGFuIGNoYXJhY3Rlci1zcGFjZSwKKyAgICAg
ICAgLy8gaXMgTyhuXjIpIGJlY2F1c2Ugd2UncmUgaXRlcmF0aW5nIGFjcm9zcyB0aGUgc3RyaW5n
IGhlcmUsIHJhdGhlciB0aGFuIGdseXBocywgc28gd2UgY2FuJ3Qga2VlcCB0aGUgY2FsY3VsYXRp
b24gdXAtdG8tZGF0ZSwKKyAgICAgICAgLy8gd2hpY2ggbWVhbnMgY2FsY3VsYXRlQWRkaXRpb25h
bFdpZHRoKCkgd291bGQgaGF2ZSB0byBjYWxjdWxhdGUgdGhlIHJlc3VsdCBmcm9tIHNjcmF0Y2gg
d2hlbmV2ZXIgaXQncyBuZWVkZWQuCisgICAgICAgIC8vIEFuZCB3ZSBjYW4ndCBkbyBzb21lIHNv
cnQgb2YgcHJlZml4LXN1bSB0aGluZyBiZWNhdXNlIGFwcGx5QWRkaXRpb25hbFdpZHRoKCkgd291
bGQgbW9kaWZ5IHRoZSB2YWx1ZXMsCisgICAgICAgIC8vIHNvIHVwZGF0aW5nIHRoZSBkYXRhIHN0
cnVjdHVyZSBlYWNoIHR1cm4gb2YgdGhpcyBsb29wIHdvdWxkIGFsc28gZW5kIHVwIGJlaW5nIE8o
bl4yKS4KKyAgICAgICAgLy8gVW5mb3J0dW5hdGVseSwgc3RyaW5ncyB3aXRoIHRhYnMgYXJlIG1v
cmUgbGlrZWx5IHRvIGJlIGxvbmcgZGF0YS10YWJsZSBraW5kIG9mIHN0cmluZ3MsIHdoaWNoIG1l
YW5zIE8obl4yKSBpcyBub3QgYWNjZXB0YWJsZS4KKyAgICAgICAgLy8gQWxzbywgZXZlbiBpZiB3
ZSBkaWQgdGhlIE8obl4yKSB0aGluZywgdGhlcmUgd291bGQgc3RpbGwgYmUgY2FzZXMgdGhhdCB3
b3VsZG4ndCBiZSBwZXJmZWN0CisgICAgICAgIC8vIChiZWNhdXNlIHRoZSBmdW5kYW1lbnRhbCBj
b25jZXB0IG9mIHRhYnMgaXNuJ3QgcmVhbGx5IGNvbXBhdGlibGUgd2l0aCBjb21wbGV4IHRleHQg
c2hhcGluZyksCisgICAgICAgIC8vIHNvIGxldCdzIGNob29zZSB0aGUgZmFzdC13cm9uZyBhcHBy
b2FjaCBoZXJlIGluc3RlYWQgb2YgdGhlIHNsb3ctd3JvbmcgYXBwcm9hY2guCisgICAgICAgIHBv
c2l0aW9uICs9IGFkdmFuY2VXaWR0aHNbaV0KKyAgICAgICAgICAgICsgd2lkdGgubGVmdAorICAg
ICAgICAgICAgKyB3aWR0aC5yaWdodAorICAgICAgICAgICAgKyB3aWR0aC5sZWZ0RXhwYW5zaW9u
CisgICAgICAgICAgICArIHdpZHRoLnJpZ2h0RXhwYW5zaW9uOworICAgIH0KK30KKwordm9pZCBX
aWR0aEl0ZXJhdG9yOjpmaW5hbGl6ZShHbHlwaEJ1ZmZlciYgYnVmZmVyKQoreworICAgIEFTU0VS
VChtX3J1bi5ydGwoKSB8fCAhbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCk7CisgICAgLy8g
SW4gTFRSIHRoaXMgZG9lcyBub3RoaW5nLiBJbiBSVEwsIHRoaXMgYWRkcyBsZWZ0IHdpZHRoIGJ5
IG1vdmluZyB0aGUgd2hvbGUgcnVuIHRvIHRoZSByaWdodC4KKyAgICBidWZmZXIuZXhwYW5kSW5p
dGlhbEFkdmFuY2UobV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCk7CisgICAgbV9ydW5XaWR0
aFNvRmFyICs9IG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGg7CisgICAgbV9sZWZ0b3Zlckp1
c3RpZmljYXRpb25XaWR0aCA9IDA7Cit9CisKIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZSh1
bnNpZ25lZCBvZmZzZXQsIEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlcikKIHsKKyAgICBtX2NvbnRh
aW5zVGFicyA9IGZhbHNlOwogICAgIHVuc2lnbmVkIGxlbmd0aCA9IG1fcnVuLmxlbmd0aCgpOwog
CiAgICAgaWYgKG9mZnNldCA+IGxlbmd0aCkKQEAgLTM2NiwxNCArNDY3LDI4IEBAIHZvaWQgV2lk
dGhJdGVyYXRvcjo6YWR2YW5jZSh1bnNpZ25lZCBvZmZzZXQsIEdseXBoQnVmZmVyJiBnbHlwaEJ1
ZmZlcikKICAgICBpZiAobV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPj0gb2Zmc2V0KQogICAgICAg
ICByZXR1cm47CiAKKyAgICB1bnNpZ25lZCBjaGFyYWN0ZXJTdGFydEluZGV4ID0gbV9jdXJyZW50
Q2hhcmFjdGVySW5kZXg7CisgICAgdW5zaWduZWQgZ2x5cGhCdWZmZXJTdGFydEluZGV4ID0gZ2x5
cGhCdWZmZXIuc2l6ZSgpOworICAgIGZsb2F0IHN0YXJ0aW5nUnVuV2lkdGggPSBtX3J1bldpZHRo
U29GYXI7CisKICAgICBpZiAobV9ydW4uaXM4Qml0KCkpIHsKICAgICAgICAgTGF0aW4xVGV4dEl0
ZXJhdG9yIHRleHRJdGVyYXRvcihtX3J1bi5kYXRhOChtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCks
IG1fY3VycmVudENoYXJhY3RlckluZGV4LCBvZmZzZXQsIGxlbmd0aCk7CiAgICAgICAgIGFkdmFu
Y2VJbnRlcm5hbCh0ZXh0SXRlcmF0b3IsIGdseXBoQnVmZmVyKTsKLSAgICAgICAgcmV0dXJuOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvciB0ZXh0
SXRlcmF0b3IobV9ydW4uZGF0YTE2KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9jdXJyZW50
Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKKyAgICAgICAgYWR2YW5jZUludGVybmFs
KHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOworICAgIH0KKworICAgIC8vIEluIGdlbmVyYWws
IHdlIGhhdmUgdG8gYXBwbHkgc3BhY2luZyBhZnRlciBzaGFwaW5nLCBiZWNhdXNlIHNoYXBpbmcg
cmVxdWlyZXMgaXRzIGlucHV0IHRvIGJlIHVucGVydHVyYmVkIChzZWUgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTA1MikuCisgICAgLy8gU28sIGlmIHRoZXJlJ3Mg
ZXh0cmEgc3BhY2luZyB0byBhZGQsIGRvIGl0IGhlcmUgYWZ0ZXIgc2hhcGluZyBvY2N1cnMuCisg
ICAgaWYgKGdseXBoQnVmZmVyU3RhcnRJbmRleCA8IGdseXBoQnVmZmVyLnNpemUoKSkgeworICAg
ICAgICBnbHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKGdseXBoQnVmZmVyU3RhcnRJbmRleCwgbV9s
ZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCk7CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBt
X2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoOworICAgICAgICBtX2xlZnRvdmVySnVzdGlmaWNh
dGlvbldpZHRoID0gMDsKICAgICB9CiAKLSAgICBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0
b3IgdGV4dEl0ZXJhdG9yKG1fcnVuLmRhdGExNihtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCksIG1f
Y3VycmVudENoYXJhY3RlckluZGV4LCBvZmZzZXQsIGxlbmd0aCk7Ci0gICAgYWR2YW5jZUludGVy
bmFsKHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOworICAgIGlmIChoYXNFeHRyYVNwYWNpbmco
KSB8fCBtX2NvbnRhaW5zVGFicyB8fCBtX3J1bi5ob3Jpem9udGFsR2x5cGhTdHJldGNoKCkgIT0g
MSkKKyAgICAgICAgYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoZ2x5cGhCdWZmZXIsIGNo
YXJhY3RlclN0YXJ0SW5kZXgsIGdseXBoQnVmZmVyU3RhcnRJbmRleCwgb2Zmc2V0LCBzdGFydGlu
Z1J1bldpZHRoKTsKIH0KIAogYm9vbCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlT25lQ2hhcmFjdGVy
KGZsb2F0JiB3aWR0aCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCmluZGV4IGZjYjBlY2I5YzA0
MDg2YzU2YzhjZDc4ZjYxMjBmYjYxOThiNDE1MWEuLjY0NDRmYzhjM2ViZDMwYTU5ZmZkMWY3NTg3
M2E1ZTdjZTBjMDQ4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1dpZHRoSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9XaWR0aEl0ZXJhdG9yLmgKQEAgLTIyLDYgKzIyLDcgQEAKICNpZm5kZWYgV2lkdGhJdGVyYXRv
cl9oCiAjZGVmaW5lIFdpZHRoSXRlcmF0b3JfaAogCisjaW5jbHVkZSAiR2x5cGhCdWZmZXIuaCIK
ICNpbmNsdWRlIDx1bmljb2RlL3VtYWNoaW5lLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC0yOSwxMCArMzAsMTAgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgRm9udENhc2NhZGU7Ci1jbGFzcyBHbHlwaEJ1ZmZlcjsKIGNsYXNz
IEZvbnQ7CiBjbGFzcyBUZXh0UnVuOwogc3RydWN0IEdseXBoRGF0YTsKK3N0cnVjdCBHbHlwaElu
ZGV4UmFuZ2U7CiBzdHJ1Y3QgT3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1Nw
YWNlOwogCiB1c2luZyBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UgPSBWZWN0b3I8T3JpZ2luYWxB
ZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlLCA2ND47CkBAIC00NCw2ICs0NSw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgYWR2YW5jZSh1bnNpZ25lZCB0bywgR2x5cGhCdWZmZXImKTsK
ICAgICBib29sIGFkdmFuY2VPbmVDaGFyYWN0ZXIoZmxvYXQmIHdpZHRoLCBHbHlwaEJ1ZmZlciYp
OworICAgIHZvaWQgZmluYWxpemUoR2x5cGhCdWZmZXImKTsKIAogICAgIGZsb2F0IG1heEdseXBo
Qm91bmRpbmdCb3hZKCkgY29uc3QgeyBBU1NFUlQobV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMpOyBy
ZXR1cm4gbV9tYXhHbHlwaEJvdW5kaW5nQm94WTsgfQogICAgIGZsb2F0IG1pbkdseXBoQm91bmRp
bmdCb3hZKCkgY29uc3QgeyBBU1NFUlQobV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMpOyByZXR1cm4g
bV9taW5HbHlwaEJvdW5kaW5nQm94WTsgfQpAQCAtNjMsMTEgKzY1LDI0IEBAIHByaXZhdGU6CiAg
ICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1
ZmZlciYsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVy
KSBjb25zdDsKICAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgYm9v
bCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYsIFVDaGFyMzIgcHJl
dmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOwog
CisgICAgaW5saW5lIGJvb2wgaGFzRXh0cmFTcGFjaW5nKCkgY29uc3Q7CisgICAgdm9pZCBhcHBs
eUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGNoYXJhY3Rl
clN0YXJ0SW5kZXgsIHVuc2lnbmVkIGdseXBoQnVmZmVyU3RhcnRJbmRleCwgR2x5cGhCdWZmZXJT
dHJpbmdPZmZzZXQgY2hhcmFjdGVyRGVzdGluYXRpb25JbmRleCwgZmxvYXQgc3RhcnRpbmdSdW5X
aWR0aCk7CisgICAgc3RydWN0IEFkZGl0aW9uYWxXaWR0aCB7CisgICAgICAgIGZsb2F0IGxlZnQ7
CisgICAgICAgIGZsb2F0IHJpZ2h0OworICAgICAgICBmbG9hdCBsZWZ0RXhwYW5zaW9uOworICAg
ICAgICBmbG9hdCByaWdodEV4cGFuc2lvbjsKKyAgICB9OworICAgIEFkZGl0aW9uYWxXaWR0aCBj
YWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoR2x5cGhCdWZmZXImLCBHbHlwaEJ1ZmZlclN0cmluZ09m
ZnNldCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIHVuc2lnbmVkIGxlYWRpbmdHbHlwaEluZGV4LCB1
bnNpZ25lZCB0cmFpbGluZ0dseXBoSW5kZXgsIGZsb2F0IHBvc2l0aW9uKSBjb25zdDsKKyAgICB2
b2lkIGFwcGx5QWRkaXRpb25hbFdpZHRoKEdseXBoQnVmZmVyJiwgR2x5cGhJbmRleFJhbmdlLCBm
bG9hdCBsZWZ0QWRkaXRpb25hbFdpZHRoLCBmbG9hdCByaWdodEFkZGl0aW9uYWxXaWR0aCwgZmxv
YXQgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRFeHBhbnNpb25BZGRp
dGlvbmFsV2lkdGgpOworCiAgICAgY29uc3QgRm9udENhc2NhZGUmIG1fZm9udDsKICAgICBjb25z
dCBUZXh0UnVuJiBtX3J1bjsKICAgICBIYXNoU2V0PGNvbnN0IEZvbnQqPiogbV9mYWxsYmFja0Zv
bnRzIHsgbnVsbHB0ciB9OwogCisgICAgT3B0aW9uYWw8dW5zaWduZWQ+IG1fbGFzdENoYXJhY3Rl
ckluZGV4OwogICAgIHVuc2lnbmVkIG1fY3VycmVudENoYXJhY3RlckluZGV4IHsgMCB9OworICAg
IGZsb2F0IG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGggeyAwIH07CiAgICAgZmxvYXQgbV9y
dW5XaWR0aFNvRmFyIHsgMCB9OwogICAgIGZsb2F0IG1fZXhwYW5zaW9uIHsgMCB9OwogICAgIGZs
b2F0IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkgeyAwIH07CkBAIC03NSw2ICs5MCw3IEBAIHBy
aXZhdGU6CiAgICAgZmxvYXQgbV9taW5HbHlwaEJvdW5kaW5nQm94WSB7IHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZmxvYXQ+OjptYXgoKSB9OwogICAgIGZsb2F0IG1fZmlyc3RHbHlwaE92ZXJmbG93IHsg
MCB9OwogICAgIGZsb2F0IG1fbGFzdEdseXBoT3ZlcmZsb3cgeyAwIH07CisgICAgYm9vbCBtX2Nv
bnRhaW5zVGFicyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQWZ0ZXJFeHBhbnNpb24geyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9lbmFibGVLZXJuaW5nIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNwcAppbmRleCA4MGI1Yzc5MWI4
NTgyZDc5OTU0YzNjYjU1OGNkMWExZjA1MDc5YWNmLi5hOTRjYTI5OTFjMWE0YWJhOWE1MmVlZWQ2
YWJlZWFlNjdiN2FkNmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxkZXIuY3BwCkBAIC0xNjUsNiArMTY1LDExIEBAIHZvaWQg
U1ZHVGV4dE1ldHJpY3NCdWlsZGVyOjptZWFzdXJlVGV4dFJlbmRlcmVyKFJlbmRlclNWR0lubGlu
ZVRleHQmIHRleHQsIE1lYXN1CiAgICAgICAgIGRhdGEtPmxhc3RDaGFyYWN0ZXIgPSBjdXJyZW50
Q2hhcmFjdGVyOwogICAgIH0KIAorICAgIGlmIChtX3NpbXBsZVdpZHRoSXRlcmF0b3IpIHsKKyAg
ICAgICAgR2x5cGhCdWZmZXIgZ2x5cGhCdWZmZXI7CisgICAgICAgIG1fc2ltcGxlV2lkdGhJdGVy
YXRvci0+ZmluYWxpemUoZ2x5cGhCdWZmZXIpOworICAgIH0KKwogICAgIGlmICghZGF0YS0+YWxs
Q2hhcmFjdGVyc01hcCkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2E2NGVjMGMzYTQwOTE2
NjE4MWRlYzdmMTBjOGM3NGJhNTUzMTBhMC4uYjdjN2YwY2ViZWVhODgxNmJkMGQ3YzJiOWMxNzgy
MDgzYzAzZGQ0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA4LTA5ICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBvZiBDaGlu
ZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAxNCBiZXRh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ3NjkK
KworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGZhc3QvdGV4
dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA4LTA4
ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFr
ZSBHbHlwaEJ1ZmZlcnMgcmVxdWlyZWQgaW4gdGhlIGZhc3QgdGV4dCBjb2RlcGF0aApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLXNoYXBpbmctZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFiMDg4ODczNTE0ZGUxZDdjOWM1MmU2NDhlOWRmZTQ4
ZTc5OWJkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9sZXR0ZXIt
c3BhY2luZy1zaGFwaW5nLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbCBsYW5nPSJ6aC1oayI+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsZXR0ZXItc3Bh
Y2luZyBpcyBhcHBsaWVkIGFmdGVyIHRleHQgc2hhcGluZy4KK1RoZSB0ZXN0IHBhc3NlcyBpZiB0
aGUgdHdvIGNoYXJhY3RlcnMgYmVsb3cgaGF2ZSBzb21lIHNwYWNlIGJldHdlZW4gdGhlbS4KKzxk
aXYgc3R5bGU9ImZvbnQ6IDQ4cHggJ1BpbmdGYW5nIFRDJzsgbGV0dGVyLXNwYWNpbmc6IDI0cHg7
Ij48c3Bhbj7mg4U8L3NwYW4+PHNwYW4+5Y2HPC9zcGFuPjwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLXNoYXBp
bmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzQwNmI3MjliNzNjZDViYjkxNDYwN2Y2ZTMyMjNiYzljODAxMDUxMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1z
aGFwaW5nLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5n
PSJ6aC1oayI+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwvaGVhZD4KKzxib2R5
PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsZXR0ZXItc3BhY2luZyBpcyBhcHBsaWVkIGFm
dGVyIHRleHQgc2hhcGluZy4KK1RoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgdHdvIGNoYXJhY3RlcnMg
YmVsb3cgaGF2ZSBzb21lIHNwYWNlIGJldHdlZW4gdGhlbS4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4
cHggJ1BpbmdGYW5nIFRDJzsgbGV0dGVyLXNwYWNpbmc6IDI0cHg7Ij7mg4XljYc8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItbGV0
dGVyLXNwYWNlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLWxldHRl
ci1zcGFjZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2NzA1ZDg2OTI2ZDFlZTExMmFjNWJl
Zjc4MTUxYTBiM2Y3MmI3Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvdGFiLWxldHRlci1zcGFjZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWwgbGFuZz0iemgtaGsiPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8c3R5bGU+CitwcmUgeworICAgIG1hcmdpbjogMHB4OworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0YWIgY2hhcmFjdGVycyBn
ZXQgdGhlIGFwcHJvcHJpYXRlIGFtb3VudCBvZiBsZXR0ZXItc3BhY2luZy4KK1RoZSB0ZXN0IHBh
c3NlcyBpZiB0aGUgbGVmdCBlZGdlIG9mIHRoZSAiYyIgYmVsb3cgaXMgMTU4IHBpeGVscyBmcm9t
IHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlICJhIiBiZWxvdy4KKzxwcmUgc3R5bGU9InBvc2l0aW9uOiBy
ZWxhdGl2ZTsiPjxwcmUgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyI+YTwv
cHJlPjxwcmUgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTU4cHg7Ij5jPC9wcmU+
PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvdGFiLWxldHRlci1zcGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi1sZXR0
ZXItc3BhY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZjM2MGRkNWRhMjE5YmQ1N2YyOWQzMDg5OTljNGU3
ZmFjYTQwMGU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi1s
ZXR0ZXItc3BhY2UuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
IGxhbmc9InpoLWhrIj4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHN0eWxlPgor
cHJlIHsKKyAgICBtYXJnaW46IDBweDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KK1Ro
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGFiIGNoYXJhY3RlcnMgZ2V0IHRoZSBhcHByb3ByaWF0
ZSBhbW91bnQgb2YgbGV0dGVyLXNwYWNpbmcuCitUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIGxlZnQg
ZWRnZSBvZiB0aGUgImMiIGJlbG93IGlzIDE1OCBwaXhlbHMgZnJvbSB0aGUgbGVmdCBlZGdlIG9m
IHRoZSAiYSIgYmVsb3cuCis8cHJlIHN0eWxlPSJsZXR0ZXItc3BhY2luZzogMzBweDsgdGFiLXNp
emU6IDEyOHB4OyI+YSYjOTtjPC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406283</attachid>
            <date>2020-08-10 00:14:00 -0700</date>
            <delta_ts>2020-08-10 00:14:53 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-214769-20200810001359.patch</filename>
            <type>text/plain</type>
            <size>37990</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2EwNDdlZjcyNDY0ZTI1
YWQwNDQ1OWFlMzk2NDk4MDdmZGMxMTc2Yi4uNzI1MDQ2YmYwNTA0MTcyMThmMjAwMzk0NzU1YTE3
NjY0ZjMzOTVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIwLTA4LTA5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBv
ZiBDaGluZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAx
NCBiZXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGlz
IGlzIGluIHByZXBhcmF0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA2MjA4Li4KKworICAgICAgICBJbiB0aGUgZ2VuZXJhbCBjYXNlLCB0ZXh0IHNoYXBp
bmcgaXMgVHVyaW5nLWNvbXBsZXRlLiBJbiBvcmRlciBmb3IgaXQgdG8gd29yayBwcm9wZXJseSwK
KyAgICAgICAgd2UgbmVlZCB0byBmZWVkIHRoZSB0ZXh0IHNoYXBpbmcgdmlydHVhbCBtYWNoaW5l
IHRoZSBjb3JyZWN0IGlucHV0cyBzbyB0aGF0IGl0IGNhbgorICAgICAgICBwcm9kdWNlIGNvcnJl
Y3Qgb3V0cHV0cy4gVGhlIGlucHV0IHRvIHRleHQgc2hhcGluZyBpcyBzdXBwb3NlZCB0byBiZSB0
aGUgcmF3IGdseXBoCisgICAgICAgIGFkdmFuY2VzIHN0cmFpZ2h0IGZyb20gQ1RGb250R2V0QWR2
YW5jZXNGb3JHbHlwaHMoKS4KKworICAgICAgICBQcmV2aW91c2x5LCB3ZSB3ZXJlIGFwcGx5aW5n
IGxldHRlci1zcGFjaW5nLCB3b3JkLXNwYWNpbmcsIGp1c3RpZmljYXRpb24sIGFuZCB0YWIgc3Rv
cHMKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcuIE1vc3QgZm9udHMgZG9uJ3QgY2FyZSBhYm91dCB0
aGlzIGFuZCBzdGlsbCBwcm9kdWNlIHRoZSBjb3JyZWN0IHJlc3VsdHMuCisgICAgICAgIEhvd2V2
ZXIsIFBpbmcgRmFuZyBvbiBtYWNPUyBCaWcgU3VyIGFuZCBpT1MgMTQgX2RvZXNfIGNhcmUgYWJv
dXQgdGhpcywgYW5kIGl0cyBzaGFwaW5nCisgICAgICAgIHJ1bGVzIG9wZXJhdGUgaW5jb3JyZWN0
bHkgd2hlbiBmZWQgdGhlc2UgcHJlLWV4cGFuZGVkIGdseXBoIHdpZHRocy4KKworICAgICAgICBU
aGUgc29sdXRpb24gaXMgdG8gYXBwbHkgdGhpcyBleHRyYSBzcGFjaW5nIGFmdGVyIHNoYXBpbmcg
b2NjdXJzLiBIb3dldmVyLCBiZWNhdXNlCisgICAgICAgIHNoYXBpbmcgaXMgVHVyaW5nLWNvbXBs
ZXRlLCBpdCBpcyBmcmVlIHRvIGFkZCBvciByZW1vdmUgZ2x5cGhzIHdpbGx5LW5pbGx5LiBUaGlz
IG1lYW5zCisgICAgICAgIHdlIG5lZWQgc29tZSB3YXkgb2YgdHJhY2luZyBiYWNrIHdoaWNoIGNo
YXJhY3RlciBpbiB0aGUgaW5wdXQgc3RyaW5nIGNvcnJlc3BvbmQgdG8gd2hpY2gKKyAgICAgICAg
b3V0cHV0IGdseXBocywgc28gd2Uga25vdyB3aGljaCBnbHlwaHMgdG8gYWRkIGFkZGl0aW9uYWwg
c3BhY2luZyB0by4gVGhpcyBpcyB3aGF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkgZG9lczogSXQgc3dpdGNoZXMgZnJvbSB1c2luZworICAg
ICAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUds
eXBocygpLCB3aGljaCBvdXRwdXRzIHRoaXMKKyAgICAgICAgZ2x5cGgtY2hhcmFjdGVyIHRyYWNp
bmcgaW5mby4gVGhlbiwgb25jZSB3ZSBoYXZlIHRoaXMgdHJhY2luZyBpbmZvLCB3ZSBjYW4gYXBw
bHkgc3BhY2luZworICAgICAgICBwcm9wZXJseSBhZnRlciBzaGFwaW5nIGhhcyBjb21wbGV0ZWQu
IFRoYXQncyB3aGF0IHRoaXMgcGF0Y2ggZG9lcy4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0
L2xldHRlci1zcGFjaW5nLXNoYXBpbmcuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L3Rh
Yi1sZXR0ZXItc3BhY2UuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwOiBDbGllbnRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoKSBuZWVkIHRvIGNh
bGwKKyAgICAgICAgV2lkdGhJdGVyYXRvcjo6ZmluYWxpemUoKSAoc2VlIGJlbG93KS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJhbmdlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4dCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6YWRqdXN0U2VsZWN0aW9uUmVjdEZvclNp
bXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6Om9mZnNldEZv
clBvc2l0aW9uRm9yU2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvR2x5cGhCdWZmZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjpleHBhbmRJ
bml0aWFsQWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6ZXhwYW5kQWR2
YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0ZXJhdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2luZyBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwpOiBEZWxldGUgdGhlIGNv
ZGUgdGhhdCB1c2VkIHRvIGFwcGx5IHNwYWNpbmcKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcuIElu
c3RlYWQsIGl0IGdldHMgbW92ZWQgdG8gYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoKS4K
KyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0
aCBjb25zdCk6IFRoaXMgaXMgYSByZWZhY3RvcmluZyBvZgorICAgICAgICB0aGUgYWRkaXRpb25h
bCBzcGFjZSBjYWxjdWxhdGlvbiBjb2RlLiBUaGlzIGlzIGEgY29uc3QgZnVuY3Rpb24sIGFuZCBo
YXMgbm8gc2lkZS1lZmZlY3RzLgorICAgICAgICBJdCBvdXRwdXRzIDQgZmxvYXRzOgorICAgICAg
ICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBsZWZ0IG9mIHRoZSBj
dXJyZW50IGNoYXJhY3RlcgorICAgICAgICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJlIGFk
ZGVkIHRvIHRoZSByaWdodCBvZiB0aGUgY3VycmVudCBjaGFyYWN0ZXIKKyAgICAgICAgLSBIb3cg
bXVjaCBzcGFjZSBuZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgbGVmdCBvZiB0aGUgY3VycmVudCBj
aGFyYWN0ZXIgZHVlIHRvIGp1c3RpZmljYXRpb24KKyAgICAgICAgLSBIb3cgbXVjaCBzcGFjZSBu
ZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgcmlnaHQgb2YgdGhlIGN1cnJlbnQgY2hhcmFjdGVyIGR1
ZSB0byBqdXN0aWZpY2F0aW9uCisgICAgICAgIFdlIG5lZWQgdGhlc2UgbGFzdCB0d28gdmFsdWVz
IGJlY2F1c2Ugb25lIG9mIHRoZSBvdXRwdXRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoKSBp
cworICAgICAgICBhIGJvb2wgd2hpY2ggcmVwcmVzZW50cyB3aGV0aGVyIG9yIG5vdCB3ZSBhcmUg
ZW5kaW5nIG9uIGEganVzdGlmaWNhdGlvbiBzcGFjZSwgc28gdGhhdCB0aGUKKyAgICAgICAgbmV4
dCBXaWR0aEl0ZXJhdG9yIHRoYXQgZ2V0cyBjcmVhdGVkIGZvciB0aGUgbmV4dCB0aGluZyBvbiB0
aGUgbGluZSBjYW4gZm9yYmlkL3JlcXVpcmUgYQorICAgICAgICBsZWFkaW5nIGp1c3RpZmljYXRp
b24gYXBwcm9wcmlhdGVseS4KKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5
QWRkaXRpb25hbFdpZHRoKTogR2l2ZW4gdGhlIDQgdmFsdWVzIGNhbGN1bGF0ZWQgaW4KKyAgICAg
ICAgY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKCksIGFwcGx5IHRoZW0uIFdlJ3JlIG9wZXJhdGlu
ZyBpbiBsb2dpY2FsIG9yZGVyLCBzbyB0aGlzIGZ1bmN0aW9uIGhhcworICAgICAgICB0byBkbyBz
b21lIHRyYW5zbGF0aW9uIGZyb20gdmlzdWFsIG9yZGVyIHRvIGxvZ2ljYWwgb3JkZXIgKGhlbmNl
IGFsbCB0aGUgbV9ydW4ubHRyKCkgY2FsbHMpLgorICAgICAgICBJZiB3ZSdyZSB0cnlpbmcgdG8g
YWRkIHNpemUgdG8gdGhlIGxlZnQgb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpbiBMVFIsIHdlIGNh
bid0IGRpcmVjdGx5IGRvCisgICAgICAgIHRoYXQsIGJlY2F1c2UgYWR2YW5jZXMgY2FuIG9ubHkg
YWRkIHNwYWNlIHRvIHRoZSByaWdodCBzaWRlIG9mIGEgY2hhcmFjdGVyLCBhbmQgdGhlcmUgaXMg
bm8KKyAgICAgICAgY2hhcmFjdGVyIHRvIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIg
dG8gZXhwYW5kLiBUaGVyZWZvcmUsIHdlIGRvIHRoaXMgYnkgaW5jcmVhc2luZworICAgICAgICB0
aGUgaW5pdGlhbCBhZHZhbmNlIG9mIHRoZSBHbHlwaEJ1ZmZlciwgd2hpY2ggaXMgYSBzcGVjaWFs
IGFkdmFuY2UgY3JlYXRlZCBqdXN0IHRvIHNvbHZlIHRoaXMKKyAgICAgICAgcHJvYmxlbS4gSW4g
UlRMLCB0aGUgcHJvYmxlbSBpcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVkIC0gd2UgZG9uJ3Qga25v
dyB3aGV0aGVyIGFkdmFuY2UoKSB3aWxsCisgICAgICAgIGJlIGNhbGxlZCBhZ2FpbiwgdGhlcmVi
eSBkZWxpdmVyaW5nIGEgZ2x5cGggd2hpY2ggd2UgX2Nhbl8gZXhwYW5kLCBzbyB3ZSBpbnN0ZWFk
IHN0b3JlIHdoYXQKKyAgICAgICAgd291bGQgaGF2ZSBiZWVuIGV4cGFuZGVkIGluc2lkZSBtX2xl
ZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBhbmQgd2FpdCBmb3IgdGhlIG5leHQgY2FsbCB0bwor
ICAgICAgICBhZHZhbmNlKCkuIElmIG5vbmUgY29tZXMsIGNsaWVudHMgaGF2ZSB0byBjYWxsIGZp
bmFsaXplKCkgaW5zdGVhZCwgd2hpY2ggd2lsbCBhcHBseQorICAgICAgICBtX2xlZnRvdmVySnVz
dGlmaWNhdGlvbldpZHRoIHRvIHRoZSBHbHlwaEJ1ZmZlcidzIGluaXRpYWwgYWR2YW5jZS4KKyAg
ICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFw
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmZpbmFsaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRNZXRyaWNzQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TWV0cmljc0J1
aWxkZXI6Om1lYXN1cmVUZXh0UmVuZGVyZXIpOgorCiAyMDIwLTA4LTA5ICBCZW4gTmhhbSAgPG5o
YW1AYXBwbGUuY29tPgogCiAgICAgICAgIFByZWxvYWQgZ3JhcGhpY3MgZHJpdmVycyBpbiBNYWMg
V2ViUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwCmluZGV4IDg0ZjZiODBiMWFmMmUyNzQxODc1MDA0NjBhODkwYjAzZjNhYjc0ZDku
LjcyZjJjMzM0MDg3MjY1ZDk4NWVlMWYzNDcyNzZjZDFmYWNmYmZlNTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTM4MCw2ICsz
ODAsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVu
JiBydW4sIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkCiAgICAgICAgIG9mZnNldEFmdGVyUmFuZ2Ug
PSBzaW1wbGVJdGVyYXRvci5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNpbXBsZUl0ZXJhdG9y
LmFkdmFuY2UocnVuLmxlbmd0aCgpLCBnbHlwaEJ1ZmZlcik7CiAgICAgICAgIHRvdGFsV2lkdGgg
PSBzaW1wbGVJdGVyYXRvci5ydW5XaWR0aFNvRmFyKCk7CisgICAgICAgIHNpbXBsZUl0ZXJhdG9y
LmZpbmFsaXplKGdseXBoQnVmZmVyKTsKICAgICB9CiAKICAgICBpZiAob3V0V2lkdGhCZWZvcmVS
YW5nZSkKQEAgLTEzODUsMTEgKzEzODYsMTMgQEAgR2x5cGhCdWZmZXIgRm9udENhc2NhZGU6Omxh
eW91dFNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCB1bnNpZ25lZCBmcm9tLCB1bnMKICAg
ICBmbG9hdCBpbml0aWFsQWR2YW5jZSA9IDA7CiAgICAgaWYgKHJ1bi5ydGwoKSkgewogICAgICAg
ICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSwgbG9jYWxHbHlwaEJ1ZmZlcik7CisgICAgICAgIGl0
LmZpbmFsaXplKGxvY2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGl0
LnJ1bldpZHRoU29GYXIoKSAtIGFmdGVyV2lkdGg7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsK
KyAgICAgICAgaXQuZmluYWxpemUobG9jYWxHbHlwaEJ1ZmZlcik7CiAgICAgICAgIGluaXRpYWxB
ZHZhbmNlID0gYmVmb3JlV2lkdGg7Ci0gICAgLy8gRklYTUU6IERlYWwgd2l0aCB0aGUgR2x5cGhC
dWZmZXIncyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgotICAgIGdseXBoQnVmZmVyLnNldEluaXRp
YWxBZHZhbmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOworICAgIH0KKyAgICBnbHlw
aEJ1ZmZlci5leHBhbmRJbml0aWFsQWR2YW5jZShpbml0aWFsQWR2YW5jZSk7CiAKICAgICBpZiAo
cnVuLnJ0bCgpKQogICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKDAsIGdseXBoQnVmZmVyLnNp
emUoKSk7CkBAIC0xNTIwLDYgKzE1MjMsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6ZmxvYXRXaWR0
aEZvclNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IEZvbgogICAg
IFdpZHRoSXRlcmF0b3IgaXQoKnRoaXMsIHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxv
dyk7CiAgICAgR2x5cGhCdWZmZXIgZ2x5cGhCdWZmZXI7CiAgICAgaXQuYWR2YW5jZShydW4ubGVu
Z3RoKCksIGdseXBoQnVmZmVyKTsKKyAgICBpdC5maW5hbGl6ZShnbHlwaEJ1ZmZlcik7CiAKICAg
ICBpZiAoZ2x5cGhPdmVyZmxvdykgewogICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBzdGQ6
Om1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBoQm91bmRpbmdC
b3hZKCkpIC0gKGdseXBoT3ZlcmZsb3ctPmNvbXB1dGVCb3VuZHMgPyAwIDogZm9udE1ldHJpY3Mo
KS5hc2NlbnQoKSkpOwpAQCAtMTU1NCwxMCArMTU1OCwxMyBAQCB2b2lkIEZvbnRDYXNjYWRlOjph
ZGp1c3RTZWxlY3Rpb25SZWN0Rm9yU2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIExheW91
dFJlYwogCiAgICAgaWYgKHJ1bi5ydGwoKSkgewogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5n
dGgoKSwgZ2x5cGhCdWZmZXIpOworICAgICAgICBpdC5maW5hbGl6ZShnbHlwaEJ1ZmZlcik7CiAg
ICAgICAgIGZsb2F0IHRvdGFsV2lkdGggPSBpdC5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNl
bGVjdGlvblJlY3QubW92ZSh0b3RhbFdpZHRoIC0gYWZ0ZXJXaWR0aCwgMCk7Ci0gICAgfSBlbHNl
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaXQuZmluYWxpemUoZ2x5cGhCdWZmZXIpOwogICAgICAg
ICBzZWxlY3Rpb25SZWN0Lm1vdmUoYmVmb3JlV2lkdGgsIDApOworICAgIH0KICAgICBzZWxlY3Rp
b25SZWN0LnNldFdpZHRoKExheW91dFVuaXQ6OmZyb21GbG9hdENlaWwoYWZ0ZXJXaWR0aCAtIGJl
Zm9yZVdpZHRoKSk7CiB9CiAKQEAgLTE2MTYsNiArMTYyMyw3IEBAIGludCBGb250Q2FzY2FkZTo6
b2Zmc2V0Rm9yUG9zaXRpb25Gb3JTaW1wbGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgZmxvYXQg
eCwgYm9vCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpdC5maW5hbGl6ZShsb2NhbEdseXBoQnVm
ZmVyKTsKICAgICByZXR1cm4gb2Zmc2V0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaAppbmRleCA5Nzg4NmIyNTA3ZTYxMGUzYjdiNTUwNzRm
ZTdhNTM5ZTI5MTI4NTYxLi40ODMxOWMzZjA1NzY1MTNhOTk5NmQxMzU3ODk3MWZjMjI2Zjg5NTBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgK
QEAgLTI5LDYgKzI5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGbG9hdFBvaW50
LmgiCiAjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjaW5jbHVkZSAiR2x5cGguaCIKICNpbmNsdWRl
IDxjbGltaXRzPgpAQCAtMjAyLDYgKzIwMyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SW5p
dGlhbEFkdmFuY2UoR2x5cGhCdWZmZXJBZHZhbmNlIGluaXRpYWxBZHZhbmNlKSB7IG1faW5pdGlh
bEFkdmFuY2UgPSBpbml0aWFsQWR2YW5jZTsgfQogICAgIGNvbnN0IEdseXBoQnVmZmVyQWR2YW5j
ZSYgaW5pdGlhbEFkdmFuY2UoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxBZHZhbmNlOyB9Cisg
ICAgdm9pZCBleHBhbmRJbml0aWFsQWR2YW5jZShmbG9hdCB3aWR0aCkgeyBtX2luaXRpYWxBZHZh
bmNlLnNldFdpZHRoKG1faW5pdGlhbEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsgfQogICAgIAog
ICAgIHN0YXRpYyBjb25zdGV4cHIgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgbm9PZmZzZXQgPSBz
dGQ6Om51bWVyaWNfbGltaXRzPEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0Pjo6bWF4KCk7CiAgICAg
dm9pZCBhZGQoR2x5cGggZ2x5cGgsIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHdpZHRoLCBHbHlw
aEJ1ZmZlclN0cmluZ09mZnNldCBvZmZzZXRJblN0cmluZyA9IG5vT2Zmc2V0KQpAQCAtMjU0LDYg
KzI1NiwxMyBAQCBwdWJsaWM6CiAgICAgICAgIGxhc3RBZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZh
bmNlLndpZHRoKCkgKyB3aWR0aCk7CiAgICAgfQogCisgICAgdm9pZCBleHBhbmRBZHZhbmNlKHVu
c2lnbmVkIGluZGV4LCBmbG9hdCB3aWR0aCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8
IHNpemUoKSk7CisgICAgICAgIGF1dG8mIGxhc3RBZHZhbmNlID0gbV9hZHZhbmNlc1tpbmRleF07
CisgICAgICAgIGxhc3RBZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0
aCk7CisgICAgfQorCiAgICAgdm9pZCBleHBhbmRMYXN0QWR2YW5jZShHbHlwaEJ1ZmZlckFkdmFu
Y2UgZXhwYW5zaW9uKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRl
eCA3ZWIyN2Q2ZDA5MWI3NTk5ZmE5YjU1NThmZDQ4YmJiNmIwNWQ1ODMxLi44Nzg3MjljOWMzNWNj
NmZhYjhjNWI2NTNjNTdlNWNmMDg3MTI4ZDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcApAQCAtNDYsNiArNDYsOCBAQCBXaWR0
aEl0ZXJhdG9yOjpXaWR0aEl0ZXJhdG9yKGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCBjb25zdCBU
ZXh0UnVuJiBydW4sIEhhc2hTZQogICAgICwgbV9yZXF1aXJlc1NoYXBpbmcoZm9udC5yZXF1aXJl
c1NoYXBpbmcoKSkKICAgICAsIG1fZm9yVGV4dEVtcGhhc2lzKGZvclRleHRFbXBoYXNpcykKIHsK
KyAgICAvLyBGSVhNRTogU2hvdWxkIHdlIGNsYW1wIG1fZXhwYW5zaW9uIHNvIGl0IGNhbiBuZXZl
ciBiZSBuZWdhdGl2ZT8KKwogICAgIGlmICghbV9leHBhbnNpb24pCiAgICAgICAgIG1fZXhwYW5z
aW9uUGVyT3Bwb3J0dW5pdHkgPSAwOwogICAgIGVsc2UgewpAQCAtMTY2LDE4ICsxNjgsMTYgQEAg
c3RhdGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5zaW9uTG9jYXRpb24oYm9v
bCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQKICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoZXhwYW5k
TGVmdCwgZXhwYW5kUmlnaHQpOwogfQogCitpbmxpbmUgYm9vbCBXaWR0aEl0ZXJhdG9yOjpoYXNF
eHRyYVNwYWNpbmcoKSBjb25zdAoreworICAgIHJldHVybiAobV9mb250LmxldHRlclNwYWNpbmco
KSB8fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNp
bmdEaXNhYmxlZCgpOworfQorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVGV4dEl0ZXJhdG9yPgogaW5s
aW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4
dEl0ZXJhdG9yLCBHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIpCiB7CiAgICAgLy8gVGhlIGNvcmUg
bG9naWMgaGVyZSBuZWVkcyB0byBtYXRjaCBTaW1wbGVMaW5lTGF5b3V0Ojp3aWR0aEZvclNpbXBs
ZVRleHQoKQogICAgIGJvb2wgcnRsID0gbV9ydW4ucnRsKCk7Ci0gICAgYm9vbCBoYXNFeHRyYVNw
YWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8
fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOwotCi0gICAgYm9vbCBy
dW5Gb3JjZXNMZWZ0RXhwYW5zaW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBMZWZ0
RXhwYW5zaW9uTWFzaykgPT0gRm9yY2VMZWZ0RXhwYW5zaW9uOwotICAgIGJvb2wgcnVuRm9yY2Vz
UmlnaHRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIFJpZ2h0RXhwYW5z
aW9uTWFzaykgPT0gRm9yY2VSaWdodEV4cGFuc2lvbjsKLSAgICBib29sIHJ1bkZvcmJpZHNMZWZ0
RXhwYW5zaW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBMZWZ0RXhwYW5zaW9uTWFz
aykgPT0gRm9yYmlkTGVmdEV4cGFuc2lvbjsKLSAgICBib29sIHJ1bkZvcmJpZHNSaWdodEV4cGFu
c2lvbiA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9
PSBGb3JiaWRSaWdodEV4cGFuc2lvbjsKLSAgICBmbG9hdCBsZWZ0b3Zlckp1c3RpZmljYXRpb25X
aWR0aCA9IDA7CiAKICAgICBGbG9hdFJlY3QgYm91bmRzOwogCkBAIC0xODUsNiArMTg1LDcgQEAg
aW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYg
dGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBjb25zdCBGb250KiBsYXN0Rm9udERhdGEgPSAm
cHJpbWFyeUZvbnQ7CiAgICAgdW5zaWduZWQgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlci5z
aXplKCk7CiAKKyAgICBhdXRvIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5j
dXJyZW50SW5kZXgoKTsKICAgICBVQ2hhcjMyIGNoYXJhY3RlciA9IDA7CiAgICAgVUNoYXIzMiBw
cmV2aW91c0NoYXJhY3RlciA9IDA7CiAgICAgdW5zaWduZWQgY2x1c3Rlckxlbmd0aCA9IDA7CkBA
IC0xOTIsNyArMTkzLDExIEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRl
cm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgU3RyaW5nIG5v
cm1hbGl6ZWRTcGFjZXNTdHJpbmdDYWNoZTsKICAgICAvLyBXZSBhcmUgaXRlcmF0aW5nIGluIHN0
cmluZyBvcmRlciwgbm90IGdseXBoIG9yZGVyLiBDb21wYXJlIHRoaXMgdG8gQ29tcGxleFRleHRD
b250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiAgICAgd2hpbGUgKHRleHRJdGVy
YXRvci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkpIHsKKyAgICAgICAgbV9jb250
YWluc1RhYnMgfD0gY2hhcmFjdGVyID09IHRhYkNoYXJhY3RlcjsKKyAgICAgICAgY3VycmVudENo
YXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICB1bnNp
Z25lZCBhZHZhbmNlTGVuZ3RoID0gY2x1c3Rlckxlbmd0aDsKKyAgICAgICAgaWYgKGN1cnJlbnRD
aGFyYWN0ZXJJbmRleCArIGFkdmFuY2VMZW5ndGggPT0gbV9ydW4ubGVuZ3RoKCkpCisgICAgICAg
ICAgICBtX2xhc3RDaGFyYWN0ZXJJbmRleCA9IGN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKICAgICAg
ICAgYm9vbCBjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZyA9ICFpc0RlZmF1bHRJZ25vcmFibGVD
b2RlUG9pbnQoY2hhcmFjdGVyKTsKICNpZiBVU0UoRlJFRVRZUEUpCiAgICAgICAgIC8vIEZyZWV0
eXBlIGJhc2VkIHBvcnRzIG9ubHkgb3ZlcnJpZGUgdGhlIGNoYXJhY3RlcnMgd2l0aCBEZWZhdWx0
X0lnbm9yYWJsZSB1bmljb2RlIHByb3BlcnR5IHdoZW4gdGhlIGZvbnQKQEAgLTIwMiw3ICsyMDcs
NiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJh
dG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIH0KICNlbmRpZgotICAgICAgICBpbnQgY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0
ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICBjb25zdCBHbHlwaERhdGEmIGdseXBoRGF0
YSA9IG1fZm9udC5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoY2hhcmFjdGVyLCBydGwpOwogICAgICAg
ICBHbHlwaCBnbHlwaCA9IGdseXBoRGF0YS5nbHlwaDsKICAgICAgICAgaWYgKCFnbHlwaCAmJiAh
Y2hhcmFjdGVyTXVzdERyYXdTb21ldGhpbmcpIHsKQEAgLTIxMiwxNiArMjE2LDcgQEAgaW5saW5l
IHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0
ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgY29uc3QgRm9udCogZm9udCA9IGdseXBoRGF0YS5m
b250ID8gZ2x5cGhEYXRhLmZvbnQgOiAmbV9mb250LnByaW1hcnlGb250KCk7CiAgICAgICAgIEFT
U0VSVChmb250KTsKIAotICAgICAgICAvLyBOb3cgdGhhdCB3ZSBoYXZlIGEgZ2x5cGggYW5kIGZv
bnQgZGF0YSwgZ2V0IGl0cyB3aWR0aC4KLSAgICAgICAgZmxvYXQgd2lkdGg7Ci0gICAgICAgIGlm
IChjaGFyYWN0ZXIgPT0gJ1x0JyAmJiBtX3J1bi5hbGxvd1RhYnMoKSkKLSAgICAgICAgICAgIHdp
ZHRoID0gbV9mb250LnRhYldpZHRoKCpmb250LCBtX3J1bi50YWJTaXplKCksIG1fcnVuLnhQb3Mo
KSArIG1fcnVuV2lkdGhTb0Zhcik7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgd2lkdGgg
PSBmb250LT53aWR0aEZvckdseXBoKGdseXBoKTsKLQotICAgICAgICAgICAgLy8gU1ZHIHVzZXMg
aG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpLCB3aGVuIHRleHRMZW5ndGggaXMgdXNlZCB0byBzdHJl
dGNoL3NxdWVlemUgdGV4dC4KLSAgICAgICAgICAgIHdpZHRoICo9IG1fcnVuLmhvcml6b250YWxH
bHlwaFN0cmV0Y2goKTsKLSAgICAgICAgfQorICAgICAgICBmbG9hdCB3aWR0aCA9IGZvbnQtPndp
ZHRoRm9yR2x5cGgoZ2x5cGgpOwogCiAgICAgICAgIGlmIChmb250ICE9IGxhc3RGb250RGF0YSAm
JiB3aWR0aCkgewogICAgICAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5
Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJh
Y3Rlcik7CkBAIC0yNDQsNjkgKzIzOSw2IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFk
dmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoaGFzRXh0cmFTcGFjaW5nKSB7Ci0g
ICAgICAgICAgICAvLyBBY2NvdW50IGZvciBsZXR0ZXItc3BhY2luZy4KLSAgICAgICAgICAgIGlm
ICh3aWR0aCkgewotICAgICAgICAgICAgICAgIHdpZHRoICs9IG1fZm9udC5sZXR0ZXJTcGFjaW5n
KCk7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGg7
Ci0gICAgICAgICAgICAgICAgbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGggPSAwOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBzdGF0aWMgYm9vbCBleHBhbmRBcm91bmRJZGVvZ3JhcGhz
ID0gRm9udENhc2NhZGU6OmNhbkV4cGFuZEFyb3VuZElkZW9ncmFwaHNJbkNvbXBsZXhUZXh0KCk7
Ci0gICAgICAgICAgICBib29sIHRyZWF0QXNTcGFjZSA9IEZvbnRDYXNjYWRlOjp0cmVhdEFzU3Bh
Y2UoY2hhcmFjdGVyKTsKLSAgICAgICAgICAgIGJvb2wgY3VycmVudElzTGFzdENoYXJhY3RlciA9
IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCArIGFkdmFuY2VMZW5ndGggPT0gc3RhdGljX2Nhc3Q8c2l6
ZV90PihtX3J1bi5sZW5ndGgoKSk7Ci0gICAgICAgICAgICBib29sIGZvcmNlTGVmdEV4cGFuc2lv
biA9IGZhbHNlOyAvLyBPbiB0aGUgbGVmdCwgcmVnYXJkbGVzcyBvZiBtX3J1bi5sdHIoKQotICAg
ICAgICAgICAgYm9vbCBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gZmFsc2U7IC8vIE9uIHRoZSByaWdo
dCwgcmVnYXJkbGVzcyBvZiBtX3J1bi5sdHIoKQotICAgICAgICAgICAgYm9vbCBmb3JiaWRMZWZ0
RXhwYW5zaW9uID0gZmFsc2U7Ci0gICAgICAgICAgICBib29sIGZvcmJpZFJpZ2h0RXhwYW5zaW9u
ID0gZmFsc2U7Ci0gICAgICAgICAgICBpZiAocnVuRm9yY2VzTGVmdEV4cGFuc2lvbikKLSAgICAg
ICAgICAgICAgICBmb3JjZUxlZnRFeHBhbnNpb24gPSBtX3J1bi5sdHIoKSA/ICFjdXJyZW50Q2hh
cmFjdGVySW5kZXggOiBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyOwotICAgICAgICAgICAgaWYgKHJ1
bkZvcmNlc1JpZ2h0RXhwYW5zaW9uKQotICAgICAgICAgICAgICAgIGZvcmNlUmlnaHRFeHBhbnNp
b24gPSBtX3J1bi5sdHIoKSA/IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXIgOiAhY3VycmVudENoYXJh
Y3RlckluZGV4OwotICAgICAgICAgICAgaWYgKHJ1bkZvcmJpZHNMZWZ0RXhwYW5zaW9uKQotICAg
ICAgICAgICAgICAgIGZvcmJpZExlZnRFeHBhbnNpb24gPSBtX3J1bi5sdHIoKSA/ICFjdXJyZW50
Q2hhcmFjdGVySW5kZXggOiBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyOwotICAgICAgICAgICAgaWYg
KHJ1bkZvcmJpZHNSaWdodEV4cGFuc2lvbikKLSAgICAgICAgICAgICAgICBmb3JiaWRSaWdodEV4
cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gY3VycmVudElzTGFzdENoYXJhY3RlciA6ICFjdXJyZW50
Q2hhcmFjdGVySW5kZXg7Ci0gICAgICAgICAgICBib29sIGlkZW9ncmFwaCA9IChleHBhbmRBcm91
bmRJZGVvZ3JhcGhzICYmIEZvbnRDYXNjYWRlOjppc0NKS0lkZW9ncmFwaE9yU3ltYm9sKGNoYXJh
Y3RlcikpOwotICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFjZSB8fCBpZGVvZ3JhcGggfHwgZm9y
Y2VMZWZ0RXhwYW5zaW9uIHx8IGZvcmNlUmlnaHRFeHBhbnNpb24pIHsKLSAgICAgICAgICAgICAg
ICAvLyBEaXN0cmlidXRlIHRoZSBydW4ncyB0b3RhbCBleHBhbnNpb24gZXZlbmx5IG92ZXIgYWxs
IGV4cGFuc2lvbiBvcHBvcnR1bml0aWVzIGluIHRoZSBydW4uCi0gICAgICAgICAgICAgICAgaWYg
KG1fZXhwYW5zaW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gW2V4cGFuZExlZnQsIGV4
cGFuZFJpZ2h0XSA9IGV4cGFuc2lvbkxvY2F0aW9uKGlkZW9ncmFwaCwgdHJlYXRBc1NwYWNlLCBt
X3J1bi5sdHIoKSwgbV9pc0FmdGVyRXhwYW5zaW9uLCBmb3JiaWRMZWZ0RXhwYW5zaW9uLCBmb3Ji
aWRSaWdodEV4cGFuc2lvbiwgZm9yY2VMZWZ0RXhwYW5zaW9uLCBmb3JjZVJpZ2h0RXhwYW5zaW9u
KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGV4cGFuZExlZnQpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIEluY3JlYXNlIHByZXZpb3VzIHdpZHRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
bV9leHBhbnNpb24gLT0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0
eTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXIuaXNFbXB0eSgp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX2ZvclRleHRFbXBoYXNp
cykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmFkZChm
b250LT56ZXJvV2lkdGhTcGFjZUdseXBoKCksICpmb250LCBtX2V4cGFuc2lvblBlck9wcG9ydHVu
aXR5LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZl
ci5hZGQoZm9udC0+c3BhY2VHbHlwaCgpLCAqZm9udCwgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0
eSwgY3VycmVudENoYXJhY3RlckluZGV4KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5k
TGFzdEFkdmFuY2UobV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY3JlYXNl
IG5leHQgd2lkdGgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0b3Zlckp1c3RpZmlj
YXRpb25XaWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgaWYg
KGV4cGFuZFJpZ2h0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBt
X2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgg
Kz0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlm
IChtX3J1bi5sdHIoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBh
bnNpb24gPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IGZhbHNlOwotCi0g
ICAgICAgICAgICAgICAgLy8gQWNjb3VudCBmb3Igd29yZCBzcGFjaW5nLgotICAgICAgICAgICAg
ICAgIC8vIFdlIGFwcGx5IGFkZGl0aW9uYWwgc3BhY2UgYmV0d2VlbiAid29yZHMiIGJ5IGFkZGlu
ZyB3aWR0aCB0byB0aGUgc3BhY2UgY2hhcmFjdGVyLgotICAgICAgICAgICAgICAgIGlmICh0cmVh
dEFzU3BhY2UgJiYgKGNoYXJhY3RlciAhPSAnXHQnIHx8ICFtX3J1bi5hbGxvd1RhYnMoKSkgJiYg
KGN1cnJlbnRDaGFyYWN0ZXJJbmRleCB8fCBjaGFyYWN0ZXIgPT0gbm9CcmVha1NwYWNlKSAmJiBt
X2ZvbnQud29yZFNwYWNpbmcoKSkKLSAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gbV9mb250
LndvcmRTcGFjaW5nKCk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBtX2lz
QWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKLSAgICAgICAgfQotCiAgICAgICAgIGF1dG8gdHJhbnNm
b3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5
cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIpOwogICAgICAgICBpZiAodHJhbnNmb3Jtc1R5cGUg
IT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUgJiYgRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFy
YWN0ZXIpKSB7CiAgICAgICAgICAgICBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UuY29uc3RydWN0
QW5kQXBwZW5kKApAQCAtMzQwLDEzICsyNzIsNiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9y
OjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgog
ICAgICAgICBwcmV2aW91c0NoYXJhY3RlciA9IGNoYXJhY3RlcjsKICAgICB9CiAKLSAgICBpZiAo
bGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgpIHsKLSAgICAgICAgaWYgKG1fZm9yVGV4dEVtcGhh
c2lzKQotICAgICAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGxhc3RGb250RGF0YS0+emVyb1dpZHRo
U3BhY2VHbHlwaCgpLCAqbGFzdEZvbnREYXRhLCBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCwg
bV9ydW4ubGVuZ3RoKCkgLSAxKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgZ2x5cGhCdWZm
ZXIuYWRkKGxhc3RGb250RGF0YS0+c3BhY2VHbHlwaCgpLCAqbGFzdEZvbnREYXRhLCBsZWZ0b3Zl
ckp1c3RpZmljYXRpb25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkgLSAxKTsKLSAgICB9Ci0KICAgICBh
dXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZl
ciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKICAgICBpZiAodHJhbnNmb3Jt
c1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUpIHsKICAgICAgICAgbV9ydW5XaWR0aFNvRmFy
ICs9IGFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5
cGhDb3VudCwgKmxhc3RGb250RGF0YSwgcHJldmlvdXNDaGFyYWN0ZXIsIHRyYW5zZm9ybXNUeXBl
ID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7CkBA
IC0zNTYsOCArMjgxLDE4MiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50
ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgIG1fY3VycmVu
dENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogfQogCithdXRv
IFdpZHRoSXRlcmF0b3I6OmNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYgZ2x5
cGhCdWZmZXIsIEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwg
dW5zaWduZWQgbGVhZGluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIHRyYWlsaW5nR2x5cGhJbmRleCwg
ZmxvYXQgcG9zaXRpb24pIGNvbnN0IC0+IEFkZGl0aW9uYWxXaWR0aAoreworICAgIGZsb2F0IGxl
ZnRBZGRpdGlvbmFsV2lkdGggPSAwOworICAgIGZsb2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoID0g
MDsKKyAgICBmbG9hdCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoID0gMDsKKyAgICBmbG9h
dCByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCA9IDA7CisKKyAgICBhdXRvIGNoYXJhY3Rl
ciA9IG1fcnVuW2N1cnJlbnRDaGFyYWN0ZXJJbmRleF07CisKKyAgICBpZiAoY2hhcmFjdGVyID09
IHRhYkNoYXJhY3RlciAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgeworICAgICAgICBhdXRvJiBmb250
ID0gZ2x5cGhCdWZmZXIuZm9udEF0KHRyYWlsaW5nR2x5cGhJbmRleCk7CisgICAgICAgIGF1dG8g
bmV3V2lkdGggPSBtX2ZvbnQudGFiV2lkdGgoZm9udCwgbV9ydW4udGFiU2l6ZSgpLCBwb3NpdGlv
bik7CisgICAgICAgIGF1dG8gY3VycmVudFdpZHRoID0gZ2x5cGhCdWZmZXIuYWR2YW5jZUF0KHRy
YWlsaW5nR2x5cGhJbmRleCkud2lkdGgoKTsKKyAgICAgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGgg
Kz0gbmV3V2lkdGggLSBjdXJyZW50V2lkdGg7CisgICAgfQorCisgICAgaWYgKGhhc0V4dHJhU3Bh
Y2luZygpKSB7CisgICAgICAgIGJvb2wgdHJlYXRBc1NwYWNlID0gRm9udENhc2NhZGU6OnRyZWF0
QXNTcGFjZShjaGFyYWN0ZXIpOworCisgICAgICAgIC8vIFRoaXMgaXMgYSBoZXVyaXN0aWMgdG8g
ZGV0ZXJtaW5lIGlmIHRoZSBjaGFyYWN0ZXIgaXMgbm9uLXZpc2libGUuIE5vbi12aXNpYmxlIGNo
YXJhY3RlcnMgZG9uJ3QgZ2V0IGxldHRlci1zcGFjaW5nLgorICAgICAgICBmbG9hdCBiYXNlV2lk
dGggPSAwOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsZWFkaW5nR2x5cGhJbmRleDsgaSA8
PSB0cmFpbGluZ0dseXBoSW5kZXg7ICsraSkKKyAgICAgICAgICAgIGJhc2VXaWR0aCArPSBnbHlw
aEJ1ZmZlci5hZHZhbmNlQXQoaSkud2lkdGgoKTsKKyAgICAgICAgaWYgKGJhc2VXaWR0aCkKKyAg
ICAgICAgICAgIHJpZ2h0QWRkaXRpb25hbFdpZHRoICs9IG1fZm9udC5sZXR0ZXJTcGFjaW5nKCk7
CisKKyAgICAgICAgaWYgKHRyZWF0QXNTcGFjZSAmJiAoY2hhcmFjdGVyICE9IHRhYkNoYXJhY3Rl
ciB8fCAhbV9ydW4uYWxsb3dUYWJzKCkpICYmIChjdXJyZW50Q2hhcmFjdGVySW5kZXggfHwgY2hh
cmFjdGVyID09IG5vQnJlYWtTcGFjZSkgJiYgbV9mb250LndvcmRTcGFjaW5nKCkpCisgICAgICAg
ICAgICByaWdodEFkZGl0aW9uYWxXaWR0aCArPSBtX2ZvbnQud29yZFNwYWNpbmcoKTsKKworICAg
ICAgICBpZiAobV9leHBhbnNpb24gPiAwKSB7CisgICAgICAgICAgICBib29sIGN1cnJlbnRJc0xh
c3RDaGFyYWN0ZXIgPSBtX2xhc3RDaGFyYWN0ZXJJbmRleCAmJiBjdXJyZW50Q2hhcmFjdGVySW5k
ZXggPT0gc3RhdGljX2Nhc3Q8R2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQ+KCptX2xhc3RDaGFyYWN0
ZXJJbmRleCk7CisKKyAgICAgICAgICAgIGJvb2wgaXNMZWZ0bW9zdENoYXJhY3RlciA9ICFjdXJy
ZW50Q2hhcmFjdGVySW5kZXg7CisgICAgICAgICAgICBib29sIGlzUmlnaHRtb3N0Q2hhcmFjdGVy
ID0gY3VycmVudElzTGFzdENoYXJhY3RlcjsKKyAgICAgICAgICAgIGlmICghbV9ydW4ubHRyKCkp
CisgICAgICAgICAgICAgICAgc3RkOjpzd2FwKGlzTGVmdG1vc3RDaGFyYWN0ZXIsIGlzUmlnaHRt
b3N0Q2hhcmFjdGVyKTsKKworICAgICAgICAgICAgYm9vbCBmb3JjZUxlZnRFeHBhbnNpb24gPSBp
c0xlZnRtb3N0Q2hhcmFjdGVyICYmIChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgTGVmdEV4
cGFuc2lvbk1hc2spID09IEZvcmNlTGVmdEV4cGFuc2lvbjsKKyAgICAgICAgICAgIGJvb2wgZm9y
Y2VSaWdodEV4cGFuc2lvbiA9IGlzUmlnaHRtb3N0Q2hhcmFjdGVyICYmIChtX3J1bi5leHBhbnNp
b25CZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZVJpZ2h0RXhwYW5zaW9u
OworICAgICAgICAgICAgYm9vbCBmb3JiaWRMZWZ0RXhwYW5zaW9uID0gaXNMZWZ0bW9zdENoYXJh
Y3RlciAmJiAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9
PSBGb3JiaWRMZWZ0RXhwYW5zaW9uOworICAgICAgICAgICAgYm9vbCBmb3JiaWRSaWdodEV4cGFu
c2lvbiA9IGlzUmlnaHRtb3N0Q2hhcmFjdGVyICYmIChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigp
ICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRSaWdodEV4cGFuc2lvbjsKKworICAgICAg
ICAgICAgc3RhdGljIGNvbnN0IGJvb2wgZXhwYW5kQXJvdW5kSWRlb2dyYXBocyA9IEZvbnRDYXNj
YWRlOjpjYW5FeHBhbmRBcm91bmRJZGVvZ3JhcGhzSW5Db21wbGV4VGV4dCgpOworICAgICAgICAg
ICAgYm9vbCBpc0lkZW9ncmFwaCA9IGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgJiYgRm9udENhc2Nh
ZGU6OmlzQ0pLSWRlb2dyYXBoT3JTeW1ib2woY2hhcmFjdGVyKTsKKworICAgICAgICAgICAgaWYg
KHRyZWF0QXNTcGFjZSB8fCBpc0lkZW9ncmFwaCB8fCBmb3JjZUxlZnRFeHBhbnNpb24gfHwgZm9y
Y2VSaWdodEV4cGFuc2lvbikgeworICAgICAgICAgICAgICAgIGF1dG8gW2V4cGFuZExlZnQsIGV4
cGFuZFJpZ2h0XSA9IGV4cGFuc2lvbkxvY2F0aW9uKGlzSWRlb2dyYXBoLCB0cmVhdEFzU3BhY2Us
IG1fcnVuLmx0cigpLCBtX2lzQWZ0ZXJFeHBhbnNpb24sIGZvcmJpZExlZnRFeHBhbnNpb24sIGZv
cmJpZFJpZ2h0RXhwYW5zaW9uLCBmb3JjZUxlZnRFeHBhbnNpb24sIGZvcmNlUmlnaHRFeHBhbnNp
b24pOworCisgICAgICAgICAgICAgICAgaWYgKGV4cGFuZExlZnQpCisgICAgICAgICAgICAgICAg
ICAgIGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggKz0gbV9leHBhbnNpb25QZXJPcHBvcnR1
bml0eTsKKyAgICAgICAgICAgICAgICBpZiAoZXhwYW5kUmlnaHQpCisgICAgICAgICAgICAgICAg
ICAgIHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0
dW5pdHk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4geyBs
ZWZ0QWRkaXRpb25hbFdpZHRoLCByaWdodEFkZGl0aW9uYWxXaWR0aCwgbGVmdEV4cGFuc2lvbkFk
ZGl0aW9uYWxXaWR0aCwgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggfTsKK30KKworc3Ry
dWN0IEdseXBoSW5kZXhSYW5nZSB7CisgICAgLy8gVGhpcyBtZWFucyB0aGUgY2hhcmFjdGVyIGdv
dCBleHBhbmRlZCB0byBnbHlwaHMgaW5zaWRlIHRoZSBHbHlwaEJ1ZmZlciBhdCBpbmRpY2VzIFts
ZWFkaW5nR2x5cGhJbmRleCwgdHJhaWxpbmdHbHlwaEluZGV4XS4KKyAgICB1bnNpZ25lZCBsZWFk
aW5nR2x5cGhJbmRleDsKKyAgICB1bnNpZ25lZCB0cmFpbGluZ0dseXBoSW5kZXg7Cit9OworCit2
b2lkIFdpZHRoSXRlcmF0b3I6OmFwcGx5QWRkaXRpb25hbFdpZHRoKEdseXBoQnVmZmVyJiBnbHlw
aEJ1ZmZlciwgR2x5cGhJbmRleFJhbmdlIGdseXBoSW5kZXhSYW5nZSwgZmxvYXQgbGVmdEFkZGl0
aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IGxlZnRFeHBhbnNp
b25BZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoKQor
eworICAgIG1fZXhwYW5zaW9uIC09IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggKyByaWdo
dEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aDsKKworICAgIGxlZnRBZGRpdGlvbmFsV2lkdGggKz0g
bGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aDsKKyAgICByaWdodEFkZGl0aW9uYWxXaWR0aCAr
PSByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aDsKKworICAgIG1fcnVuV2lkdGhTb0ZhciAr
PSBsZWZ0QWRkaXRpb25hbFdpZHRoOworICAgIG1fcnVuV2lkdGhTb0ZhciArPSByaWdodEFkZGl0
aW9uYWxXaWR0aDsKKworICAgIGlmIChsZWZ0QWRkaXRpb25hbFdpZHRoKSB7CisgICAgICAgIGlm
IChtX3J1bi5sdHIoKSkgeworICAgICAgICAgICAgLy8gTGVmdCBhZGRpdGlvbmFsIHdpZHRoIGlu
IExUUiBtZWFucyB0aGUgcHJldmlvdXMgKGxlYWRpbmcpIGdseXBoJ3MgcmlnaHQgc2lkZSBnZXRz
IGV4cGFuZGVkLgorICAgICAgICAgICAgYXV0byBsZWFkaW5nR2x5cGhJbmRleCA9IGdseXBoSW5k
ZXhSYW5nZS5sZWFkaW5nR2x5cGhJbmRleDsKKyAgICAgICAgICAgIGlmIChsZWFkaW5nR2x5cGhJ
bmRleCkKKyAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKGxlYWRpbmdH
bHlwaEluZGV4IC0gMSwgbGVmdEFkZGl0aW9uYWxXaWR0aCk7CisgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kSW5pdGlhbEFkdmFuY2UobGVmdEFkZGl0
aW9uYWxXaWR0aCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBMZWZ0IGFkZGl0
aW9uYWwgd2lkdGggaW4gUlRMIG1lYW5zIHRoZSBuZXh0ICh0cmFpbGluZykgZ2x5cGgncyByaWdo
dCBzaWRlIGdldHMgZXhwYW5kZWQuCisgICAgICAgICAgICBhdXRvIHRyYWlsaW5nR2x5cGhJbmRl
eCA9IGdseXBoSW5kZXhSYW5nZS50cmFpbGluZ0dseXBoSW5kZXg7CisgICAgICAgICAgICBpZiAo
dHJhaWxpbmdHbHlwaEluZGV4ICsgMSA8IGdseXBoQnVmZmVyLnNpemUoKSkKKyAgICAgICAgICAg
ICAgICBnbHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKHRyYWlsaW5nR2x5cGhJbmRleCArIDEsIGxl
ZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAg
bV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCA9IGxlZnRBZGRpdGlvbmFsV2lkdGg7CisgICAg
ICAgICAgICAgICAgLy8gV2UgY2FuJ3QgYWN0dWFsbHkgYWRkIGluIHRoaXMgd2lkdGgganVzdCB5
ZXQuCisgICAgICAgICAgICAgICAgLy8gQWRkIGl0IGluIHdoZW4gdGhlIGNsaWVudCBjYWxscyBh
ZHZhbmNlKCkgYWdhaW4gb3IgZmluYWxpemUoKS4KKyAgICAgICAgICAgICAgICBtX3J1bldpZHRo
U29GYXIgLT0gbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIH0KKworICAgIGlmIChyaWdodEFkZGl0aW9uYWxXaWR0aCkgeworICAgICAg
ICAvLyBSaWdodCBhZGRpdGlvbmFsIHdpZHRoIG1lYW5zIHRoZSBjdXJyZW50IGdseXBoJ3Mgcmln
aHQgc2lkZSBnZXRzIGV4cGFuZGVkLiBUaGlzIGlzIHRydWUgZm9yIGJvdGggTFRSIGFuZCBSVEwu
CisgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEFkdmFuY2UoZ2x5cGhJbmRleFJhbmdlLnRyYWls
aW5nR2x5cGhJbmRleCwgcmlnaHRBZGRpdGlvbmFsV2lkdGgpOworICAgIH0KK30KKwordm9pZCBX
aWR0aEl0ZXJhdG9yOjphcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZyhHbHlwaEJ1ZmZlciYg
Z2x5cGhCdWZmZXIsIHVuc2lnbmVkIGNoYXJhY3RlclN0YXJ0SW5kZXgsIHVuc2lnbmVkIGdseXBo
QnVmZmVyU3RhcnRJbmRleCwgdW5zaWduZWQgY2hhcmFjdGVyRGVzdGluYXRpb25JbmRleCwgZmxv
YXQgc3RhcnRpbmdSdW5XaWR0aCkKK3sKKyAgICBWZWN0b3I8T3B0aW9uYWw8R2x5cGhJbmRleFJh
bmdlPj4gY2hhcmFjdGVySW5kZXhUb0dseXBoSW5kZXhSYW5nZShtX3J1bi5sZW5ndGgoKSwgV1RG
OjpudWxsb3B0KTsKKyAgICBWZWN0b3I8ZmxvYXQ+IGFkdmFuY2VXaWR0aHMobV9ydW4ubGVuZ3Ro
KCksIDApOworICAgIGZvciAodW5zaWduZWQgaSA9IGdseXBoQnVmZmVyU3RhcnRJbmRleDsgaSA8
IGdseXBoQnVmZmVyLnNpemUoKTsgKytpKSB7CisgICAgICAgIGF1dG8gc3RyaW5nT2Zmc2V0ID0g
Z2x5cGhCdWZmZXIuc3RyaW5nT2Zmc2V0QXQoaSk7CisgICAgICAgIGFkdmFuY2VXaWR0aHNbc3Ry
aW5nT2Zmc2V0XSArPSBnbHlwaEJ1ZmZlci5hZHZhbmNlQXQoaSkud2lkdGgoKTsKKyAgICAgICAg
YXV0byYgZ2x5cGhJbmRleFJhbmdlID0gY2hhcmFjdGVySW5kZXhUb0dseXBoSW5kZXhSYW5nZVtz
dHJpbmdPZmZzZXRdOworICAgICAgICBpZiAoZ2x5cGhJbmRleFJhbmdlKQorICAgICAgICAgICAg
Z2x5cGhJbmRleFJhbmdlLT50cmFpbGluZ0dseXBoSW5kZXggPSBpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBnbHlwaEluZGV4UmFuZ2UgPSB7e2ksIGl9fTsKKyAgICB9CisKKyAgICAvLyBT
VkcgY2FuIHN0cmV0Y2ggYWR2YW5jZXMKKyAgICBpZiAobV9ydW4uaG9yaXpvbnRhbEdseXBoU3Ry
ZXRjaCgpICE9IDEpIHsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gZ2x5cGhCdWZmZXJTdGFy
dEluZGV4OyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIC8vIEFs
bCBjaGFyYWN0ZXJzJyBhZHZhbmNlcyBnZXQgc3RyZXRjaGVkLCBleGNlcHQgYXBwYXJlbnRseSB0
YWIgY2hhcmFjdGVycy4uLgorICAgICAgICAgICAgLy8gVGhpcyBkb2Vzbid0IG1ha2UgbXVjaCBz
ZW5zZSwgYmVjYXVzZSBldmVuIHRhYiBjaGFyYWN0ZXJzIGdldCBsZXR0ZXItc3BhY2luZy4uLgor
ICAgICAgICAgICAgYXV0byBzdHJpbmdPZmZzZXQgPSBnbHlwaEJ1ZmZlci5zdHJpbmdPZmZzZXRB
dChpKTsKKyAgICAgICAgICAgIGF1dG8gY2hhcmFjdGVyID0gbV9ydW5bc3RyaW5nT2Zmc2V0XTsK
KyAgICAgICAgICAgIGlmIChjaGFyYWN0ZXIgPT0gdGFiQ2hhcmFjdGVyKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBhdXRvIGN1cnJlbnRBZHZhbmNlID0gZ2x5cGhC
dWZmZXIuYWR2YW5jZUF0KGkpLndpZHRoKCk7CisgICAgICAgICAgICBhdXRvIG5ld0FkdmFuY2Ug
PSBjdXJyZW50QWR2YW5jZSAqIG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsKKyAgICAg
ICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEFkdmFuY2UoaSwgbmV3QWR2YW5jZSAtIGN1cnJlbnRB
ZHZhbmNlKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZsb2F0IHBvc2l0aW9uID0gbV9ydW4u
eFBvcygpICsgc3RhcnRpbmdSdW5XaWR0aDsKKyAgICBmb3IgKGF1dG8gaSA9IGNoYXJhY3RlclN0
YXJ0SW5kZXg7IGkgPCBjaGFyYWN0ZXJEZXN0aW5hdGlvbkluZGV4OyArK2kpIHsKKyAgICAgICAg
YXV0byYgZ2x5cGhJbmRleFJhbmdlID0gY2hhcmFjdGVySW5kZXhUb0dseXBoSW5kZXhSYW5nZVtp
XTsKKyAgICAgICAgaWYgKCFnbHlwaEluZGV4UmFuZ2UpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICBhdXRvIHdpZHRoID0gY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKGdseXBoQnVm
ZmVyLCBpLCBnbHlwaEluZGV4UmFuZ2UtPmxlYWRpbmdHbHlwaEluZGV4LCBnbHlwaEluZGV4UmFu
Z2UtPnRyYWlsaW5nR2x5cGhJbmRleCwgcG9zaXRpb24pOworICAgICAgICBhcHBseUFkZGl0aW9u
YWxXaWR0aChnbHlwaEJ1ZmZlciwgZ2x5cGhJbmRleFJhbmdlLnZhbHVlKCksIHdpZHRoLmxlZnQs
IHdpZHRoLnJpZ2h0LCB3aWR0aC5sZWZ0RXhwYW5zaW9uLCB3aWR0aC5yaWdodEV4cGFuc2lvbik7
CisKKyAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gKG1fcnVuLmx0cigpICYmIHdpZHRoLnJp
Z2h0RXhwYW5zaW9uKSB8fCAoIW1fcnVuLmx0cigpICYmIHdpZHRoLmxlZnRFeHBhbnNpb24pOwor
CisgICAgICAgIC8vIFRoaXMgaXNuJ3QgcXVpdGUgcGVyZmVjdCwgYmVjYXVzZSB3ZSBtYXkgY29t
ZSBhY3Jvc3MgYSB0YWIgY2hhcmFjdGVyIGluIGJldHdlZW4gdHdvIGdseXBocyB3aGljaCBib3Ro
IHJlcG9ydCB0byBjb3JyZXNwb25kIHRvIGEgcHJldmlvdXMgY2hhcmFjdGVyLgorICAgICAgICAv
LyBCdXQsIHRoZSBmdW5kYW1lbnRhbCBjb25jZXB0IG9mIHRhYnMgaXNuJ3QgcmVhbGx5IGNvbXBh
dGlibGUgd2l0aCBjb21wbGV4IHRleHQgc2hhcGluZywgc28gdGhpcyBpcyBwcm9iYWJseSBva2F5
LgorICAgICAgICAvLyBXZSBjYW4gcHJvYmFibHkganVzdCBkbyB0aGUgYmVzdCB3ZSBjYW4gaGVy
ZS4KKyAgICAgICAgLy8gVGhlIG9ubHkgYWx0ZXJuYXRpdmUsIHRvIGNhbGN1bGF0ZSB0aGlzIHBv
c2l0aW9uIGluIGdseXBoLXNwYWNlIHJhdGhlciB0aGFuIGNoYXJhY3Rlci1zcGFjZSwKKyAgICAg
ICAgLy8gaXMgTyhuXjIpIGJlY2F1c2Ugd2UncmUgaXRlcmF0aW5nIGFjcm9zcyB0aGUgc3RyaW5n
IGhlcmUsIHJhdGhlciB0aGFuIGdseXBocywgc28gd2UgY2FuJ3Qga2VlcCB0aGUgY2FsY3VsYXRp
b24gdXAtdG8tZGF0ZSwKKyAgICAgICAgLy8gd2hpY2ggbWVhbnMgY2FsY3VsYXRlQWRkaXRpb25h
bFdpZHRoKCkgd291bGQgaGF2ZSB0byBjYWxjdWxhdGUgdGhlIHJlc3VsdCBmcm9tIHNjcmF0Y2gg
d2hlbmV2ZXIgaXQncyBuZWVkZWQuCisgICAgICAgIC8vIEFuZCB3ZSBjYW4ndCBkbyBzb21lIHNv
cnQgb2YgcHJlZml4LXN1bSB0aGluZyBiZWNhdXNlIGFwcGx5QWRkaXRpb25hbFdpZHRoKCkgd291
bGQgbW9kaWZ5IHRoZSB2YWx1ZXMsCisgICAgICAgIC8vIHNvIHVwZGF0aW5nIHRoZSBkYXRhIHN0
cnVjdHVyZSBlYWNoIHR1cm4gb2YgdGhpcyBsb29wIHdvdWxkIGFsc28gZW5kIHVwIGJlaW5nIE8o
bl4yKS4KKyAgICAgICAgLy8gVW5mb3J0dW5hdGVseSwgc3RyaW5ncyB3aXRoIHRhYnMgYXJlIG1v
cmUgbGlrZWx5IHRvIGJlIGxvbmcgZGF0YS10YWJsZSBraW5kIG9mIHN0cmluZ3MsIHdoaWNoIG1l
YW5zIE8obl4yKSBpcyBub3QgYWNjZXB0YWJsZS4KKyAgICAgICAgLy8gQWxzbywgZXZlbiBpZiB3
ZSBkaWQgdGhlIE8obl4yKSB0aGluZywgdGhlcmUgd291bGQgc3RpbGwgYmUgY2FzZXMgdGhhdCB3
b3VsZG4ndCBiZSBwZXJmZWN0CisgICAgICAgIC8vIChiZWNhdXNlIHRoZSBmdW5kYW1lbnRhbCBj
b25jZXB0IG9mIHRhYnMgaXNuJ3QgcmVhbGx5IGNvbXBhdGlibGUgd2l0aCBjb21wbGV4IHRleHQg
c2hhcGluZyksCisgICAgICAgIC8vIHNvIGxldCdzIGNob29zZSB0aGUgZmFzdC13cm9uZyBhcHBy
b2FjaCBoZXJlIGluc3RlYWQgb2YgdGhlIHNsb3ctd3JvbmcgYXBwcm9hY2guCisgICAgICAgIHBv
c2l0aW9uICs9IGFkdmFuY2VXaWR0aHNbaV0KKyAgICAgICAgICAgICsgd2lkdGgubGVmdAorICAg
ICAgICAgICAgKyB3aWR0aC5yaWdodAorICAgICAgICAgICAgKyB3aWR0aC5sZWZ0RXhwYW5zaW9u
CisgICAgICAgICAgICArIHdpZHRoLnJpZ2h0RXhwYW5zaW9uOworICAgIH0KK30KKwordm9pZCBX
aWR0aEl0ZXJhdG9yOjpmaW5hbGl6ZShHbHlwaEJ1ZmZlciYgYnVmZmVyKQoreworICAgIEFTU0VS
VChtX3J1bi5ydGwoKSB8fCAhbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCk7CisgICAgLy8g
SW4gTFRSIHRoaXMgZG9lcyBub3RoaW5nLiBJbiBSVEwsIHRoaXMgYWRkcyBsZWZ0IHdpZHRoIGJ5
IG1vdmluZyB0aGUgd2hvbGUgcnVuIHRvIHRoZSByaWdodC4KKyAgICBidWZmZXIuZXhwYW5kSW5p
dGlhbEFkdmFuY2UobV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCk7CisgICAgbV9ydW5XaWR0
aFNvRmFyICs9IG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGg7CisgICAgbV9sZWZ0b3Zlckp1
c3RpZmljYXRpb25XaWR0aCA9IDA7Cit9CisKIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZSh1
bnNpZ25lZCBvZmZzZXQsIEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlcikKIHsKKyAgICBtX2NvbnRh
aW5zVGFicyA9IGZhbHNlOwogICAgIHVuc2lnbmVkIGxlbmd0aCA9IG1fcnVuLmxlbmd0aCgpOwog
CiAgICAgaWYgKG9mZnNldCA+IGxlbmd0aCkKQEAgLTM2NiwxNCArNDY1LDI4IEBAIHZvaWQgV2lk
dGhJdGVyYXRvcjo6YWR2YW5jZSh1bnNpZ25lZCBvZmZzZXQsIEdseXBoQnVmZmVyJiBnbHlwaEJ1
ZmZlcikKICAgICBpZiAobV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPj0gb2Zmc2V0KQogICAgICAg
ICByZXR1cm47CiAKKyAgICB1bnNpZ25lZCBjaGFyYWN0ZXJTdGFydEluZGV4ID0gbV9jdXJyZW50
Q2hhcmFjdGVySW5kZXg7CisgICAgdW5zaWduZWQgZ2x5cGhCdWZmZXJTdGFydEluZGV4ID0gZ2x5
cGhCdWZmZXIuc2l6ZSgpOworICAgIGZsb2F0IHN0YXJ0aW5nUnVuV2lkdGggPSBtX3J1bldpZHRo
U29GYXI7CisKICAgICBpZiAobV9ydW4uaXM4Qml0KCkpIHsKICAgICAgICAgTGF0aW4xVGV4dEl0
ZXJhdG9yIHRleHRJdGVyYXRvcihtX3J1bi5kYXRhOChtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCks
IG1fY3VycmVudENoYXJhY3RlckluZGV4LCBvZmZzZXQsIGxlbmd0aCk7CiAgICAgICAgIGFkdmFu
Y2VJbnRlcm5hbCh0ZXh0SXRlcmF0b3IsIGdseXBoQnVmZmVyKTsKLSAgICAgICAgcmV0dXJuOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvciB0ZXh0
SXRlcmF0b3IobV9ydW4uZGF0YTE2KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9jdXJyZW50
Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKKyAgICAgICAgYWR2YW5jZUludGVybmFs
KHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOworICAgIH0KKworICAgIC8vIEluIGdlbmVyYWws
IHdlIGhhdmUgdG8gYXBwbHkgc3BhY2luZyBhZnRlciBzaGFwaW5nLCBiZWNhdXNlIHNoYXBpbmcg
cmVxdWlyZXMgaXRzIGlucHV0IHRvIGJlIHVucGVydHVyYmVkIChzZWUgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTA1MikuCisgICAgLy8gU28sIGlmIHRoZXJlJ3Mg
ZXh0cmEgc3BhY2luZyB0byBhZGQsIGRvIGl0IGhlcmUgYWZ0ZXIgc2hhcGluZyBvY2N1cnMuCisg
ICAgaWYgKGdseXBoQnVmZmVyU3RhcnRJbmRleCA8IGdseXBoQnVmZmVyLnNpemUoKSkgeworICAg
ICAgICBnbHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKGdseXBoQnVmZmVyU3RhcnRJbmRleCwgbV9s
ZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCk7CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBt
X2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoOworICAgICAgICBtX2xlZnRvdmVySnVzdGlmaWNh
dGlvbldpZHRoID0gMDsKICAgICB9CiAKLSAgICBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0
b3IgdGV4dEl0ZXJhdG9yKG1fcnVuLmRhdGExNihtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCksIG1f
Y3VycmVudENoYXJhY3RlckluZGV4LCBvZmZzZXQsIGxlbmd0aCk7Ci0gICAgYWR2YW5jZUludGVy
bmFsKHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOworICAgIGlmIChoYXNFeHRyYVNwYWNpbmco
KSB8fCBtX2NvbnRhaW5zVGFicyB8fCBtX3J1bi5ob3Jpem9udGFsR2x5cGhTdHJldGNoKCkgIT0g
MSkKKyAgICAgICAgYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoZ2x5cGhCdWZmZXIsIGNo
YXJhY3RlclN0YXJ0SW5kZXgsIGdseXBoQnVmZmVyU3RhcnRJbmRleCwgb2Zmc2V0LCBzdGFydGlu
Z1J1bldpZHRoKTsKIH0KIAogYm9vbCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlT25lQ2hhcmFjdGVy
KGZsb2F0JiB3aWR0aCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCmluZGV4IGZjYjBlY2I5YzA0
MDg2YzU2YzhjZDc4ZjYxMjBmYjYxOThiNDE1MWEuLjM5NGIxMDYyYTQ3OTNkZWEzNWViYmQ5ZDAx
ZDg2YjAwNmZjNmQ1NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1dpZHRoSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9XaWR0aEl0ZXJhdG9yLmgKQEAgLTIyLDYgKzIyLDcgQEAKICNpZm5kZWYgV2lkdGhJdGVyYXRv
cl9oCiAjZGVmaW5lIFdpZHRoSXRlcmF0b3JfaAogCisjaW5jbHVkZSAiR2x5cGhCdWZmZXIuaCIK
ICNpbmNsdWRlIDx1bmljb2RlL3VtYWNoaW5lLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC0yOSwxMCArMzAsMTAgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgRm9udENhc2NhZGU7Ci1jbGFzcyBHbHlwaEJ1ZmZlcjsKIGNsYXNz
IEZvbnQ7CiBjbGFzcyBUZXh0UnVuOwogc3RydWN0IEdseXBoRGF0YTsKK3N0cnVjdCBHbHlwaElu
ZGV4UmFuZ2U7CiBzdHJ1Y3QgT3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1Nw
YWNlOwogCiB1c2luZyBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UgPSBWZWN0b3I8T3JpZ2luYWxB
ZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlLCA2ND47CkBAIC00NCw2ICs0NSw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgYWR2YW5jZSh1bnNpZ25lZCB0bywgR2x5cGhCdWZmZXImKTsK
ICAgICBib29sIGFkdmFuY2VPbmVDaGFyYWN0ZXIoZmxvYXQmIHdpZHRoLCBHbHlwaEJ1ZmZlciYp
OworICAgIHZvaWQgZmluYWxpemUoR2x5cGhCdWZmZXImKTsKIAogICAgIGZsb2F0IG1heEdseXBo
Qm91bmRpbmdCb3hZKCkgY29uc3QgeyBBU1NFUlQobV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMpOyBy
ZXR1cm4gbV9tYXhHbHlwaEJvdW5kaW5nQm94WTsgfQogICAgIGZsb2F0IG1pbkdseXBoQm91bmRp
bmdCb3hZKCkgY29uc3QgeyBBU1NFUlQobV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMpOyByZXR1cm4g
bV9taW5HbHlwaEJvdW5kaW5nQm94WTsgfQpAQCAtNjMsMTEgKzY1LDI0IEBAIHByaXZhdGU6CiAg
ICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1
ZmZlciYsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVy
KSBjb25zdDsKICAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgYm9v
bCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYsIFVDaGFyMzIgcHJl
dmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOwog
CisgICAgaW5saW5lIGJvb2wgaGFzRXh0cmFTcGFjaW5nKCkgY29uc3Q7CisgICAgdm9pZCBhcHBs
eUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGNoYXJhY3Rl
clN0YXJ0SW5kZXgsIHVuc2lnbmVkIGdseXBoQnVmZmVyU3RhcnRJbmRleCwgdW5zaWduZWQgY2hh
cmFjdGVyRGVzdGluYXRpb25JbmRleCwgZmxvYXQgc3RhcnRpbmdSdW5XaWR0aCk7CisgICAgc3Ry
dWN0IEFkZGl0aW9uYWxXaWR0aCB7CisgICAgICAgIGZsb2F0IGxlZnQ7CisgICAgICAgIGZsb2F0
IHJpZ2h0OworICAgICAgICBmbG9hdCBsZWZ0RXhwYW5zaW9uOworICAgICAgICBmbG9hdCByaWdo
dEV4cGFuc2lvbjsKKyAgICB9OworICAgIEFkZGl0aW9uYWxXaWR0aCBjYWxjdWxhdGVBZGRpdGlv
bmFsV2lkdGgoR2x5cGhCdWZmZXImLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBjdXJyZW50Q2hh
cmFjdGVySW5kZXgsIHVuc2lnbmVkIGxlYWRpbmdHbHlwaEluZGV4LCB1bnNpZ25lZCB0cmFpbGlu
Z0dseXBoSW5kZXgsIGZsb2F0IHBvc2l0aW9uKSBjb25zdDsKKyAgICB2b2lkIGFwcGx5QWRkaXRp
b25hbFdpZHRoKEdseXBoQnVmZmVyJiwgR2x5cGhJbmRleFJhbmdlLCBmbG9hdCBsZWZ0QWRkaXRp
b25hbFdpZHRoLCBmbG9hdCByaWdodEFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgbGVmdEV4cGFuc2lv
bkFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgpOwor
CiAgICAgY29uc3QgRm9udENhc2NhZGUmIG1fZm9udDsKICAgICBjb25zdCBUZXh0UnVuJiBtX3J1
bjsKICAgICBIYXNoU2V0PGNvbnN0IEZvbnQqPiogbV9mYWxsYmFja0ZvbnRzIHsgbnVsbHB0ciB9
OwogCisgICAgT3B0aW9uYWw8dW5zaWduZWQ+IG1fbGFzdENoYXJhY3RlckluZGV4OwogICAgIHVu
c2lnbmVkIG1fY3VycmVudENoYXJhY3RlckluZGV4IHsgMCB9OworICAgIGZsb2F0IG1fbGVmdG92
ZXJKdXN0aWZpY2F0aW9uV2lkdGggeyAwIH07CiAgICAgZmxvYXQgbV9ydW5XaWR0aFNvRmFyIHsg
MCB9OwogICAgIGZsb2F0IG1fZXhwYW5zaW9uIHsgMCB9OwogICAgIGZsb2F0IG1fZXhwYW5zaW9u
UGVyT3Bwb3J0dW5pdHkgeyAwIH07CkBAIC03NSw2ICs5MCw3IEBAIHByaXZhdGU6CiAgICAgZmxv
YXQgbV9taW5HbHlwaEJvdW5kaW5nQm94WSB7IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+Ojpt
YXgoKSB9OwogICAgIGZsb2F0IG1fZmlyc3RHbHlwaE92ZXJmbG93IHsgMCB9OwogICAgIGZsb2F0
IG1fbGFzdEdseXBoT3ZlcmZsb3cgeyAwIH07CisgICAgYm9vbCBtX2NvbnRhaW5zVGFicyB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2lzQWZ0ZXJFeHBhbnNpb24geyBmYWxzZSB9OwogICAgIGJvb2wg
bV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9lbmFibGVLZXJu
aW5nIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNwcAppbmRleCA4MGI1Yzc5MWI4NTgyZDc5OTU0YzNjYjU1
OGNkMWExZjA1MDc5YWNmLi5hOTRjYTI5OTFjMWE0YWJhOWE1MmVlZWQ2YWJlZWFlNjdiN2FkNmU1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNz
QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0
cmljc0J1aWxkZXIuY3BwCkBAIC0xNjUsNiArMTY1LDExIEBAIHZvaWQgU1ZHVGV4dE1ldHJpY3NC
dWlsZGVyOjptZWFzdXJlVGV4dFJlbmRlcmVyKFJlbmRlclNWR0lubGluZVRleHQmIHRleHQsIE1l
YXN1CiAgICAgICAgIGRhdGEtPmxhc3RDaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyOwogICAg
IH0KIAorICAgIGlmIChtX3NpbXBsZVdpZHRoSXRlcmF0b3IpIHsKKyAgICAgICAgR2x5cGhCdWZm
ZXIgZ2x5cGhCdWZmZXI7CisgICAgICAgIG1fc2ltcGxlV2lkdGhJdGVyYXRvci0+ZmluYWxpemUo
Z2x5cGhCdWZmZXIpOworICAgIH0KKwogICAgIGlmICghZGF0YS0+YWxsQ2hhcmFjdGVyc01hcCkK
ICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2E2NGVjMGMzYTQwOTE2NjE4MWRlYzdmMTBjOGM3
NGJhNTUzMTBhMC4uYjdjN2YwY2ViZWVhODgxNmJkMGQ3YzJiOWMxNzgyMDgzYzAzZGQ0OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA4LTA5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhm
aWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBvZiBDaGluZXNlIGNoYXJhY3RlcnMg
aXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAxNCBiZXRhCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ3NjkKKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGZhc3QvdGV4dC9sZXR0ZXItc3BhY2lu
Zy1zaGFwaW5nLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9sZXR0
ZXItc3BhY2luZy1zaGFwaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC90YWIt
bGV0dGVyLXNwYWNlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC90
YWItbGV0dGVyLXNwYWNlLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA4LTA4ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBHbHlwaEJ1ZmZlcnMg
cmVxdWlyZWQgaW4gdGhlIGZhc3QgdGV4dCBjb2RlcGF0aApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLXNoYXBpbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODFiMDg4ODczNTE0ZGUxZDdjOWM1MmU2NDhlOWRmZTQ4ZTc5OWJkNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5n
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBs
YW5nPSJ6aC1oayI+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwvaGVhZD4KKzxi
b2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsZXR0ZXItc3BhY2luZyBpcyBhcHBsaWVk
IGFmdGVyIHRleHQgc2hhcGluZy4KK1RoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgdHdvIGNoYXJhY3Rl
cnMgYmVsb3cgaGF2ZSBzb21lIHNwYWNlIGJldHdlZW4gdGhlbS4KKzxkaXYgc3R5bGU9ImZvbnQ6
IDQ4cHggJ1BpbmdGYW5nIFRDJzsgbGV0dGVyLXNwYWNpbmc6IDI0cHg7Ij48c3Bhbj7mg4U8L3Nw
YW4+PHNwYW4+5Y2HPC9zcGFuPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLXNoYXBpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzQwNmI3MjliNzNjZDViYjkxNDYwN2Y2ZTMyMjNiYzljODAxMDUxMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLmh0bWwKQEAg
LTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJ6aC1oayI+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1h
a2VzIHN1cmUgdGhhdCBsZXR0ZXItc3BhY2luZyBpcyBhcHBsaWVkIGFmdGVyIHRleHQgc2hhcGlu
Zy4KK1RoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgdHdvIGNoYXJhY3RlcnMgYmVsb3cgaGF2ZSBzb21l
IHNwYWNlIGJldHdlZW4gdGhlbS4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggJ1BpbmdGYW5nIFRD
JzsgbGV0dGVyLXNwYWNpbmc6IDI0cHg7Ij7mg4XljYc8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLWxldHRlci1zcGFjZS1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI2NzA1ZDg2OTI2ZDFlZTExMmFjNWJlZjc4MTUxYTBiM2Y3MmI3
Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLWxldHRlci1z
cGFjZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWwgbGFuZz0iemgtaGsiPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c3R5bGU+
CitwcmUgeworICAgIG1hcmdpbjogMHB4OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0YWIgY2hhcmFjdGVycyBnZXQgdGhlIGFwcHJvcHJp
YXRlIGFtb3VudCBvZiBsZXR0ZXItc3BhY2luZy4KK1RoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgbGVm
dCBlZGdlIG9mIHRoZSAiYyIgYmVsb3cgaXMgMTU4IHBpeGVscyBmcm9tIHRoZSBsZWZ0IGVkZ2Ug
b2YgdGhlICJhIiBiZWxvdy4KKzxwcmUgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsiPjxwcmUg
c3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyI+YTwvcHJlPjxwcmUgc3R5bGU9
InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTU4cHg7Ij5jPC9wcmU+PC9wcmU+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLWxldHRlci1z
cGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iZjM2MGRkNWRhMjE5YmQ1N2YyOWQzMDg5OTljNGU3ZmFjYTQwMGU5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UuaHRt
bApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9InpoLWhrIj4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHN0eWxlPgorcHJlIHsKKyAgICBtYXJn
aW46IDBweDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBz
dXJlIHRoYXQgdGFiIGNoYXJhY3RlcnMgZ2V0IHRoZSBhcHByb3ByaWF0ZSBhbW91bnQgb2YgbGV0
dGVyLXNwYWNpbmcuCitUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIGxlZnQgZWRnZSBvZiB0aGUgImMi
IGJlbG93IGlzIDE1OCBwaXhlbHMgZnJvbSB0aGUgbGVmdCBlZGdlIG9mIHRoZSAiYSIgYmVsb3cu
Cis8cHJlIHN0eWxlPSJsZXR0ZXItc3BhY2luZzogMzBweDsgdGFiLXNpemU6IDEyOHB4OyI+YSYj
OTtjPC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406284</attachid>
            <date>2020-08-10 00:14:56 -0700</date>
            <delta_ts>2020-08-10 04:07:51 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-214769-20200810001455.patch</filename>
            <type>text/plain</type>
            <size>37976</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2EwNDdlZjcyNDY0ZTI1
YWQwNDQ1OWFlMzk2NDk4MDdmZGMxMTc2Yi4uNzI1MDQ2YmYwNTA0MTcyMThmMjAwMzk0NzU1YTE3
NjY0ZjMzOTVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIwLTA4LTA5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBv
ZiBDaGluZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAx
NCBiZXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGlz
IGlzIGluIHByZXBhcmF0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA2MjA4Li4KKworICAgICAgICBJbiB0aGUgZ2VuZXJhbCBjYXNlLCB0ZXh0IHNoYXBp
bmcgaXMgVHVyaW5nLWNvbXBsZXRlLiBJbiBvcmRlciBmb3IgaXQgdG8gd29yayBwcm9wZXJseSwK
KyAgICAgICAgd2UgbmVlZCB0byBmZWVkIHRoZSB0ZXh0IHNoYXBpbmcgdmlydHVhbCBtYWNoaW5l
IHRoZSBjb3JyZWN0IGlucHV0cyBzbyB0aGF0IGl0IGNhbgorICAgICAgICBwcm9kdWNlIGNvcnJl
Y3Qgb3V0cHV0cy4gVGhlIGlucHV0IHRvIHRleHQgc2hhcGluZyBpcyBzdXBwb3NlZCB0byBiZSB0
aGUgcmF3IGdseXBoCisgICAgICAgIGFkdmFuY2VzIHN0cmFpZ2h0IGZyb20gQ1RGb250R2V0QWR2
YW5jZXNGb3JHbHlwaHMoKS4KKworICAgICAgICBQcmV2aW91c2x5LCB3ZSB3ZXJlIGFwcGx5aW5n
IGxldHRlci1zcGFjaW5nLCB3b3JkLXNwYWNpbmcsIGp1c3RpZmljYXRpb24sIGFuZCB0YWIgc3Rv
cHMKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcuIE1vc3QgZm9udHMgZG9uJ3QgY2FyZSBhYm91dCB0
aGlzIGFuZCBzdGlsbCBwcm9kdWNlIHRoZSBjb3JyZWN0IHJlc3VsdHMuCisgICAgICAgIEhvd2V2
ZXIsIFBpbmcgRmFuZyBvbiBtYWNPUyBCaWcgU3VyIGFuZCBpT1MgMTQgX2RvZXNfIGNhcmUgYWJv
dXQgdGhpcywgYW5kIGl0cyBzaGFwaW5nCisgICAgICAgIHJ1bGVzIG9wZXJhdGUgaW5jb3JyZWN0
bHkgd2hlbiBmZWQgdGhlc2UgcHJlLWV4cGFuZGVkIGdseXBoIHdpZHRocy4KKworICAgICAgICBU
aGUgc29sdXRpb24gaXMgdG8gYXBwbHkgdGhpcyBleHRyYSBzcGFjaW5nIGFmdGVyIHNoYXBpbmcg
b2NjdXJzLiBIb3dldmVyLCBiZWNhdXNlCisgICAgICAgIHNoYXBpbmcgaXMgVHVyaW5nLWNvbXBs
ZXRlLCBpdCBpcyBmcmVlIHRvIGFkZCBvciByZW1vdmUgZ2x5cGhzIHdpbGx5LW5pbGx5LiBUaGlz
IG1lYW5zCisgICAgICAgIHdlIG5lZWQgc29tZSB3YXkgb2YgdHJhY2luZyBiYWNrIHdoaWNoIGNo
YXJhY3RlciBpbiB0aGUgaW5wdXQgc3RyaW5nIGNvcnJlc3BvbmQgdG8gd2hpY2gKKyAgICAgICAg
b3V0cHV0IGdseXBocywgc28gd2Uga25vdyB3aGljaCBnbHlwaHMgdG8gYWRkIGFkZGl0aW9uYWwg
c3BhY2luZyB0by4gVGhpcyBpcyB3aGF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkgZG9lczogSXQgc3dpdGNoZXMgZnJvbSB1c2luZworICAg
ICAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUds
eXBocygpLCB3aGljaCBvdXRwdXRzIHRoaXMKKyAgICAgICAgZ2x5cGgtY2hhcmFjdGVyIHRyYWNp
bmcgaW5mby4gVGhlbiwgb25jZSB3ZSBoYXZlIHRoaXMgdHJhY2luZyBpbmZvLCB3ZSBjYW4gYXBw
bHkgc3BhY2luZworICAgICAgICBwcm9wZXJseSBhZnRlciBzaGFwaW5nIGhhcyBjb21wbGV0ZWQu
IFRoYXQncyB3aGF0IHRoaXMgcGF0Y2ggZG9lcy4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0
L2xldHRlci1zcGFjaW5nLXNoYXBpbmcuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L3Rh
Yi1sZXR0ZXItc3BhY2UuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwOiBDbGllbnRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoKSBuZWVkIHRvIGNh
bGwKKyAgICAgICAgV2lkdGhJdGVyYXRvcjo6ZmluYWxpemUoKSAoc2VlIGJlbG93KS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJhbmdlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4dCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6YWRqdXN0U2VsZWN0aW9uUmVjdEZvclNp
bXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6Om9mZnNldEZv
clBvc2l0aW9uRm9yU2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvR2x5cGhCdWZmZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjpleHBhbmRJ
bml0aWFsQWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6ZXhwYW5kQWR2
YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0ZXJhdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2luZyBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwpOiBEZWxldGUgdGhlIGNv
ZGUgdGhhdCB1c2VkIHRvIGFwcGx5IHNwYWNpbmcKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcuIElu
c3RlYWQsIGl0IGdldHMgbW92ZWQgdG8gYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoKS4K
KyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0
aCBjb25zdCk6IFRoaXMgaXMgYSByZWZhY3RvcmluZyBvZgorICAgICAgICB0aGUgYWRkaXRpb25h
bCBzcGFjZSBjYWxjdWxhdGlvbiBjb2RlLiBUaGlzIGlzIGEgY29uc3QgZnVuY3Rpb24sIGFuZCBo
YXMgbm8gc2lkZS1lZmZlY3RzLgorICAgICAgICBJdCBvdXRwdXRzIDQgZmxvYXRzOgorICAgICAg
ICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBsZWZ0IG9mIHRoZSBj
dXJyZW50IGNoYXJhY3RlcgorICAgICAgICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJlIGFk
ZGVkIHRvIHRoZSByaWdodCBvZiB0aGUgY3VycmVudCBjaGFyYWN0ZXIKKyAgICAgICAgLSBIb3cg
bXVjaCBzcGFjZSBuZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgbGVmdCBvZiB0aGUgY3VycmVudCBj
aGFyYWN0ZXIgZHVlIHRvIGp1c3RpZmljYXRpb24KKyAgICAgICAgLSBIb3cgbXVjaCBzcGFjZSBu
ZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgcmlnaHQgb2YgdGhlIGN1cnJlbnQgY2hhcmFjdGVyIGR1
ZSB0byBqdXN0aWZpY2F0aW9uCisgICAgICAgIFdlIG5lZWQgdGhlc2UgbGFzdCB0d28gdmFsdWVz
IGJlY2F1c2Ugb25lIG9mIHRoZSBvdXRwdXRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoKSBp
cworICAgICAgICBhIGJvb2wgd2hpY2ggcmVwcmVzZW50cyB3aGV0aGVyIG9yIG5vdCB3ZSBhcmUg
ZW5kaW5nIG9uIGEganVzdGlmaWNhdGlvbiBzcGFjZSwgc28gdGhhdCB0aGUKKyAgICAgICAgbmV4
dCBXaWR0aEl0ZXJhdG9yIHRoYXQgZ2V0cyBjcmVhdGVkIGZvciB0aGUgbmV4dCB0aGluZyBvbiB0
aGUgbGluZSBjYW4gZm9yYmlkL3JlcXVpcmUgYQorICAgICAgICBsZWFkaW5nIGp1c3RpZmljYXRp
b24gYXBwcm9wcmlhdGVseS4KKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5
QWRkaXRpb25hbFdpZHRoKTogR2l2ZW4gdGhlIDQgdmFsdWVzIGNhbGN1bGF0ZWQgaW4KKyAgICAg
ICAgY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKCksIGFwcGx5IHRoZW0uIFdlJ3JlIG9wZXJhdGlu
ZyBpbiBsb2dpY2FsIG9yZGVyLCBzbyB0aGlzIGZ1bmN0aW9uIGhhcworICAgICAgICB0byBkbyBz
b21lIHRyYW5zbGF0aW9uIGZyb20gdmlzdWFsIG9yZGVyIHRvIGxvZ2ljYWwgb3JkZXIgKGhlbmNl
IGFsbCB0aGUgbV9ydW4ubHRyKCkgY2FsbHMpLgorICAgICAgICBJZiB3ZSdyZSB0cnlpbmcgdG8g
YWRkIHNpemUgdG8gdGhlIGxlZnQgb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpbiBMVFIsIHdlIGNh
bid0IGRpcmVjdGx5IGRvCisgICAgICAgIHRoYXQsIGJlY2F1c2UgYWR2YW5jZXMgY2FuIG9ubHkg
YWRkIHNwYWNlIHRvIHRoZSByaWdodCBzaWRlIG9mIGEgY2hhcmFjdGVyLCBhbmQgdGhlcmUgaXMg
bm8KKyAgICAgICAgY2hhcmFjdGVyIHRvIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIg
dG8gZXhwYW5kLiBUaGVyZWZvcmUsIHdlIGRvIHRoaXMgYnkgaW5jcmVhc2luZworICAgICAgICB0
aGUgaW5pdGlhbCBhZHZhbmNlIG9mIHRoZSBHbHlwaEJ1ZmZlciwgd2hpY2ggaXMgYSBzcGVjaWFs
IGFkdmFuY2UgY3JlYXRlZCBqdXN0IHRvIHNvbHZlIHRoaXMKKyAgICAgICAgcHJvYmxlbS4gSW4g
UlRMLCB0aGUgcHJvYmxlbSBpcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVkIC0gd2UgZG9uJ3Qga25v
dyB3aGV0aGVyIGFkdmFuY2UoKSB3aWxsCisgICAgICAgIGJlIGNhbGxlZCBhZ2FpbiwgdGhlcmVi
eSBkZWxpdmVyaW5nIGEgZ2x5cGggd2hpY2ggd2UgX2Nhbl8gZXhwYW5kLCBzbyB3ZSBpbnN0ZWFk
IHN0b3JlIHdoYXQKKyAgICAgICAgd291bGQgaGF2ZSBiZWVuIGV4cGFuZGVkIGluc2lkZSBtX2xl
ZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBhbmQgd2FpdCBmb3IgdGhlIG5leHQgY2FsbCB0bwor
ICAgICAgICBhZHZhbmNlKCkuIElmIG5vbmUgY29tZXMsIGNsaWVudHMgaGF2ZSB0byBjYWxsIGZp
bmFsaXplKCkgaW5zdGVhZCwgd2hpY2ggd2lsbCBhcHBseQorICAgICAgICBtX2xlZnRvdmVySnVz
dGlmaWNhdGlvbldpZHRoIHRvIHRoZSBHbHlwaEJ1ZmZlcidzIGluaXRpYWwgYWR2YW5jZS4KKyAg
ICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFw
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmZpbmFsaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRNZXRyaWNzQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TWV0cmljc0J1
aWxkZXI6Om1lYXN1cmVUZXh0UmVuZGVyZXIpOgorCiAyMDIwLTA4LTA5ICBCZW4gTmhhbSAgPG5o
YW1AYXBwbGUuY29tPgogCiAgICAgICAgIFByZWxvYWQgZ3JhcGhpY3MgZHJpdmVycyBpbiBNYWMg
V2ViUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwCmluZGV4IDg0ZjZiODBiMWFmMmUyNzQxODc1MDA0NjBhODkwYjAzZjNhYjc0ZDku
LjcyZjJjMzM0MDg3MjY1ZDk4NWVlMWYzNDcyNzZjZDFmYWNmYmZlNTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTM4MCw2ICsz
ODAsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVu
JiBydW4sIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkCiAgICAgICAgIG9mZnNldEFmdGVyUmFuZ2Ug
PSBzaW1wbGVJdGVyYXRvci5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNpbXBsZUl0ZXJhdG9y
LmFkdmFuY2UocnVuLmxlbmd0aCgpLCBnbHlwaEJ1ZmZlcik7CiAgICAgICAgIHRvdGFsV2lkdGgg
PSBzaW1wbGVJdGVyYXRvci5ydW5XaWR0aFNvRmFyKCk7CisgICAgICAgIHNpbXBsZUl0ZXJhdG9y
LmZpbmFsaXplKGdseXBoQnVmZmVyKTsKICAgICB9CiAKICAgICBpZiAob3V0V2lkdGhCZWZvcmVS
YW5nZSkKQEAgLTEzODUsMTEgKzEzODYsMTMgQEAgR2x5cGhCdWZmZXIgRm9udENhc2NhZGU6Omxh
eW91dFNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCB1bnNpZ25lZCBmcm9tLCB1bnMKICAg
ICBmbG9hdCBpbml0aWFsQWR2YW5jZSA9IDA7CiAgICAgaWYgKHJ1bi5ydGwoKSkgewogICAgICAg
ICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSwgbG9jYWxHbHlwaEJ1ZmZlcik7CisgICAgICAgIGl0
LmZpbmFsaXplKGxvY2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGl0
LnJ1bldpZHRoU29GYXIoKSAtIGFmdGVyV2lkdGg7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsK
KyAgICAgICAgaXQuZmluYWxpemUobG9jYWxHbHlwaEJ1ZmZlcik7CiAgICAgICAgIGluaXRpYWxB
ZHZhbmNlID0gYmVmb3JlV2lkdGg7Ci0gICAgLy8gRklYTUU6IERlYWwgd2l0aCB0aGUgR2x5cGhC
dWZmZXIncyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgotICAgIGdseXBoQnVmZmVyLnNldEluaXRp
YWxBZHZhbmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOworICAgIH0KKyAgICBnbHlw
aEJ1ZmZlci5leHBhbmRJbml0aWFsQWR2YW5jZShpbml0aWFsQWR2YW5jZSk7CiAKICAgICBpZiAo
cnVuLnJ0bCgpKQogICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKDAsIGdseXBoQnVmZmVyLnNp
emUoKSk7CkBAIC0xNTIwLDYgKzE1MjMsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6ZmxvYXRXaWR0
aEZvclNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IEZvbgogICAg
IFdpZHRoSXRlcmF0b3IgaXQoKnRoaXMsIHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxv
dyk7CiAgICAgR2x5cGhCdWZmZXIgZ2x5cGhCdWZmZXI7CiAgICAgaXQuYWR2YW5jZShydW4ubGVu
Z3RoKCksIGdseXBoQnVmZmVyKTsKKyAgICBpdC5maW5hbGl6ZShnbHlwaEJ1ZmZlcik7CiAKICAg
ICBpZiAoZ2x5cGhPdmVyZmxvdykgewogICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBzdGQ6
Om1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBoQm91bmRpbmdC
b3hZKCkpIC0gKGdseXBoT3ZlcmZsb3ctPmNvbXB1dGVCb3VuZHMgPyAwIDogZm9udE1ldHJpY3Mo
KS5hc2NlbnQoKSkpOwpAQCAtMTU1NCwxMCArMTU1OCwxMyBAQCB2b2lkIEZvbnRDYXNjYWRlOjph
ZGp1c3RTZWxlY3Rpb25SZWN0Rm9yU2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIExheW91
dFJlYwogCiAgICAgaWYgKHJ1bi5ydGwoKSkgewogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5n
dGgoKSwgZ2x5cGhCdWZmZXIpOworICAgICAgICBpdC5maW5hbGl6ZShnbHlwaEJ1ZmZlcik7CiAg
ICAgICAgIGZsb2F0IHRvdGFsV2lkdGggPSBpdC5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNl
bGVjdGlvblJlY3QubW92ZSh0b3RhbFdpZHRoIC0gYWZ0ZXJXaWR0aCwgMCk7Ci0gICAgfSBlbHNl
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaXQuZmluYWxpemUoZ2x5cGhCdWZmZXIpOwogICAgICAg
ICBzZWxlY3Rpb25SZWN0Lm1vdmUoYmVmb3JlV2lkdGgsIDApOworICAgIH0KICAgICBzZWxlY3Rp
b25SZWN0LnNldFdpZHRoKExheW91dFVuaXQ6OmZyb21GbG9hdENlaWwoYWZ0ZXJXaWR0aCAtIGJl
Zm9yZVdpZHRoKSk7CiB9CiAKQEAgLTE2MTYsNiArMTYyMyw3IEBAIGludCBGb250Q2FzY2FkZTo6
b2Zmc2V0Rm9yUG9zaXRpb25Gb3JTaW1wbGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgZmxvYXQg
eCwgYm9vCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpdC5maW5hbGl6ZShsb2NhbEdseXBoQnVm
ZmVyKTsKICAgICByZXR1cm4gb2Zmc2V0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaAppbmRleCA5Nzg4NmIyNTA3ZTYxMGUzYjdiNTUwNzRm
ZTdhNTM5ZTI5MTI4NTYxLi40ODMxOWMzZjA1NzY1MTNhOTk5NmQxMzU3ODk3MWZjMjI2Zjg5NTBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgK
QEAgLTI5LDYgKzI5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGbG9hdFBvaW50
LmgiCiAjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjaW5jbHVkZSAiR2x5cGguaCIKICNpbmNsdWRl
IDxjbGltaXRzPgpAQCAtMjAyLDYgKzIwMyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SW5p
dGlhbEFkdmFuY2UoR2x5cGhCdWZmZXJBZHZhbmNlIGluaXRpYWxBZHZhbmNlKSB7IG1faW5pdGlh
bEFkdmFuY2UgPSBpbml0aWFsQWR2YW5jZTsgfQogICAgIGNvbnN0IEdseXBoQnVmZmVyQWR2YW5j
ZSYgaW5pdGlhbEFkdmFuY2UoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxBZHZhbmNlOyB9Cisg
ICAgdm9pZCBleHBhbmRJbml0aWFsQWR2YW5jZShmbG9hdCB3aWR0aCkgeyBtX2luaXRpYWxBZHZh
bmNlLnNldFdpZHRoKG1faW5pdGlhbEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsgfQogICAgIAog
ICAgIHN0YXRpYyBjb25zdGV4cHIgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgbm9PZmZzZXQgPSBz
dGQ6Om51bWVyaWNfbGltaXRzPEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0Pjo6bWF4KCk7CiAgICAg
dm9pZCBhZGQoR2x5cGggZ2x5cGgsIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHdpZHRoLCBHbHlw
aEJ1ZmZlclN0cmluZ09mZnNldCBvZmZzZXRJblN0cmluZyA9IG5vT2Zmc2V0KQpAQCAtMjU0LDYg
KzI1NiwxMyBAQCBwdWJsaWM6CiAgICAgICAgIGxhc3RBZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZh
bmNlLndpZHRoKCkgKyB3aWR0aCk7CiAgICAgfQogCisgICAgdm9pZCBleHBhbmRBZHZhbmNlKHVu
c2lnbmVkIGluZGV4LCBmbG9hdCB3aWR0aCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8
IHNpemUoKSk7CisgICAgICAgIGF1dG8mIGxhc3RBZHZhbmNlID0gbV9hZHZhbmNlc1tpbmRleF07
CisgICAgICAgIGxhc3RBZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0
aCk7CisgICAgfQorCiAgICAgdm9pZCBleHBhbmRMYXN0QWR2YW5jZShHbHlwaEJ1ZmZlckFkdmFu
Y2UgZXhwYW5zaW9uKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRl
eCA3ZWIyN2Q2ZDA5MWI3NTk5ZmE5YjU1NThmZDQ4YmJiNmIwNWQ1ODMxLi4zOWZkZWJjMjQ1MTFj
NWY0Y2ZjY2JiMTY1ZTUxN2JiZjFjNzAxZGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcApAQCAtNDYsNiArNDYsOCBAQCBXaWR0
aEl0ZXJhdG9yOjpXaWR0aEl0ZXJhdG9yKGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCBjb25zdCBU
ZXh0UnVuJiBydW4sIEhhc2hTZQogICAgICwgbV9yZXF1aXJlc1NoYXBpbmcoZm9udC5yZXF1aXJl
c1NoYXBpbmcoKSkKICAgICAsIG1fZm9yVGV4dEVtcGhhc2lzKGZvclRleHRFbXBoYXNpcykKIHsK
KyAgICAvLyBGSVhNRTogU2hvdWxkIHdlIGNsYW1wIG1fZXhwYW5zaW9uIHNvIGl0IGNhbiBuZXZl
ciBiZSBuZWdhdGl2ZT8KKwogICAgIGlmICghbV9leHBhbnNpb24pCiAgICAgICAgIG1fZXhwYW5z
aW9uUGVyT3Bwb3J0dW5pdHkgPSAwOwogICAgIGVsc2UgewpAQCAtMTY2LDE4ICsxNjgsMTYgQEAg
c3RhdGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5zaW9uTG9jYXRpb24oYm9v
bCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQKICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoZXhwYW5k
TGVmdCwgZXhwYW5kUmlnaHQpOwogfQogCitib29sIFdpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3Bh
Y2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1f
Zm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2Fi
bGVkKCk7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBpbmxpbmUgdm9p
ZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0
b3IsIEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlcikKIHsKICAgICAvLyBUaGUgY29yZSBsb2dpYyBo
ZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2ltcGxlVGV4dCgp
CiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKLSAgICBib29sIGhhc0V4dHJhU3BhY2luZyA9
IChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhw
YW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7Ci0KLSAgICBib29sIHJ1bkZvcmNl
c0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNp
b25NYXNrKSA9PSBGb3JjZUxlZnRFeHBhbnNpb247Ci0gICAgYm9vbCBydW5Gb3JjZXNSaWdodEV4
cGFuc2lvbiA9IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNr
KSA9PSBGb3JjZVJpZ2h0RXhwYW5zaW9uOwotICAgIGJvb2wgcnVuRm9yYmlkc0xlZnRFeHBhbnNp
b24gPSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBG
b3JiaWRMZWZ0RXhwYW5zaW9uOwotICAgIGJvb2wgcnVuRm9yYmlkc1JpZ2h0RXhwYW5zaW9uID0g
KG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBSaWdodEV4cGFuc2lvbk1hc2spID09IEZvcmJp
ZFJpZ2h0RXhwYW5zaW9uOwotICAgIGZsb2F0IGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoID0g
MDsKIAogICAgIEZsb2F0UmVjdCBib3VuZHM7CiAKQEAgLTE4NSw2ICsxODUsNyBAQCBpbmxpbmUg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRl
cmF0b3IsIEdseXBoQnVmZgogICAgIGNvbnN0IEZvbnQqIGxhc3RGb250RGF0YSA9ICZwcmltYXJ5
Rm9udDsKICAgICB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLnNpemUoKTsK
IAorICAgIGF1dG8gY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJ
bmRleCgpOwogICAgIFVDaGFyMzIgY2hhcmFjdGVyID0gMDsKICAgICBVQ2hhcjMyIHByZXZpb3Vz
Q2hhcmFjdGVyID0gMDsKICAgICB1bnNpZ25lZCBjbHVzdGVyTGVuZ3RoID0gMDsKQEAgLTE5Miw3
ICsxOTMsMTEgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRl
eHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBTdHJpbmcgbm9ybWFsaXpl
ZFNwYWNlc1N0cmluZ0NhY2hlOwogICAgIC8vIFdlIGFyZSBpdGVyYXRpbmcgaW4gc3RyaW5nIG9y
ZGVyLCBub3QgZ2x5cGggb3JkZXIuIENvbXBhcmUgdGhpcyB0byBDb21wbGV4VGV4dENvbnRyb2xs
ZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKCkKICAgICB3aGlsZSAodGV4dEl0ZXJhdG9yLmNv
bnN1bWUoY2hhcmFjdGVyLCBjbHVzdGVyTGVuZ3RoKSkgeworICAgICAgICBtX2NvbnRhaW5zVGFi
cyB8PSBjaGFyYWN0ZXIgPT0gdGFiQ2hhcmFjdGVyOworICAgICAgICBjdXJyZW50Q2hhcmFjdGVy
SW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIHVuc2lnbmVkIGFk
dmFuY2VMZW5ndGggPSBjbHVzdGVyTGVuZ3RoOworICAgICAgICBpZiAoY3VycmVudENoYXJhY3Rl
ckluZGV4ICsgYWR2YW5jZUxlbmd0aCA9PSBtX3J1bi5sZW5ndGgoKSkKKyAgICAgICAgICAgIG1f
bGFzdENoYXJhY3RlckluZGV4ID0gY3VycmVudENoYXJhY3RlckluZGV4OwogICAgICAgICBib29s
IGNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nID0gIWlzRGVmYXVsdElnbm9yYWJsZUNvZGVQb2lu
dChjaGFyYWN0ZXIpOwogI2lmIFVTRShGUkVFVFlQRSkKICAgICAgICAgLy8gRnJlZXR5cGUgYmFz
ZWQgcG9ydHMgb25seSBvdmVycmlkZSB0aGUgY2hhcmFjdGVycyB3aXRoIERlZmF1bHRfSWdub3Jh
YmxlIHVuaWNvZGUgcHJvcGVydHkgd2hlbiB0aGUgZm9udApAQCAtMjAyLDcgKzIwNyw2IEBAIGlu
bGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRl
eHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQog
I2VuZGlmCi0gICAgICAgIGludCBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3Iu
Y3VycmVudEluZGV4KCk7CiAgICAgICAgIGNvbnN0IEdseXBoRGF0YSYgZ2x5cGhEYXRhID0gbV9m
b250LmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIHJ0bCk7CiAgICAgICAgIEdseXBo
IGdseXBoID0gZ2x5cGhEYXRhLmdseXBoOwogICAgICAgICBpZiAoIWdseXBoICYmICFjaGFyYWN0
ZXJNdXN0RHJhd1NvbWV0aGluZykgewpAQCAtMjEyLDE2ICsyMTYsNyBAQCBpbmxpbmUgdm9pZCBX
aWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3Is
IEdseXBoQnVmZgogICAgICAgICBjb25zdCBGb250KiBmb250ID0gZ2x5cGhEYXRhLmZvbnQgPyBn
bHlwaERhdGEuZm9udCA6ICZtX2ZvbnQucHJpbWFyeUZvbnQoKTsKICAgICAgICAgQVNTRVJUKGZv
bnQpOwogCi0gICAgICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUgYSBnbHlwaCBhbmQgZm9udCBkYXRh
LCBnZXQgaXRzIHdpZHRoLgotICAgICAgICBmbG9hdCB3aWR0aDsKLSAgICAgICAgaWYgKGNoYXJh
Y3RlciA9PSAnXHQnICYmIG1fcnVuLmFsbG93VGFicygpKQotICAgICAgICAgICAgd2lkdGggPSBt
X2ZvbnQudGFiV2lkdGgoKmZvbnQsIG1fcnVuLnRhYlNpemUoKSwgbV9ydW4ueFBvcygpICsgbV9y
dW5XaWR0aFNvRmFyKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICB3aWR0aCA9IGZvbnQt
PndpZHRoRm9yR2x5cGgoZ2x5cGgpOwotCi0gICAgICAgICAgICAvLyBTVkcgdXNlcyBob3Jpem9u
dGFsR2x5cGhTdHJldGNoKCksIHdoZW4gdGV4dExlbmd0aCBpcyB1c2VkIHRvIHN0cmV0Y2gvc3F1
ZWV6ZSB0ZXh0LgotICAgICAgICAgICAgd2lkdGggKj0gbV9ydW4uaG9yaXpvbnRhbEdseXBoU3Ry
ZXRjaCgpOwotICAgICAgICB9CisgICAgICAgIGZsb2F0IHdpZHRoID0gZm9udC0+d2lkdGhGb3JH
bHlwaChnbHlwaCk7CiAKICAgICAgICAgaWYgKGZvbnQgIT0gbGFzdEZvbnREYXRhICYmIHdpZHRo
KSB7CiAgICAgICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJh
bnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsK
QEAgLTI0NCw2OSArMjM5LDYgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUlu
dGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogCi0gICAgICAgIGlmIChoYXNFeHRyYVNwYWNpbmcpIHsKLSAgICAgICAg
ICAgIC8vIEFjY291bnQgZm9yIGxldHRlci1zcGFjaW5nLgotICAgICAgICAgICAgaWYgKHdpZHRo
KSB7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gbV9mb250LmxldHRlclNwYWNpbmcoKTsKLSAg
ICAgICAgICAgICAgICB3aWR0aCArPSBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aDsKLSAgICAg
ICAgICAgICAgICBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCA9IDA7Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIHN0YXRpYyBib29sIGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgPSBGb250
Q2FzY2FkZTo6Y2FuRXhwYW5kQXJvdW5kSWRlb2dyYXBoc0luQ29tcGxleFRleHQoKTsKLSAgICAg
ICAgICAgIGJvb2wgdHJlYXRBc1NwYWNlID0gRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFy
YWN0ZXIpOwotICAgICAgICAgICAgYm9vbCBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyID0gY3VycmVu
dENoYXJhY3RlckluZGV4ICsgYWR2YW5jZUxlbmd0aCA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KG1f
cnVuLmxlbmd0aCgpKTsKLSAgICAgICAgICAgIGJvb2wgZm9yY2VMZWZ0RXhwYW5zaW9uID0gZmFs
c2U7IC8vIE9uIHRoZSBsZWZ0LCByZWdhcmRsZXNzIG9mIG1fcnVuLmx0cigpCi0gICAgICAgICAg
ICBib29sIGZvcmNlUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsgLy8gT24gdGhlIHJpZ2h0LCByZWdh
cmRsZXNzIG9mIG1fcnVuLmx0cigpCi0gICAgICAgICAgICBib29sIGZvcmJpZExlZnRFeHBhbnNp
b24gPSBmYWxzZTsKLSAgICAgICAgICAgIGJvb2wgZm9yYmlkUmlnaHRFeHBhbnNpb24gPSBmYWxz
ZTsKLSAgICAgICAgICAgIGlmIChydW5Gb3JjZXNMZWZ0RXhwYW5zaW9uKQotICAgICAgICAgICAg
ICAgIGZvcmNlTGVmdEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gIWN1cnJlbnRDaGFyYWN0ZXJJ
bmRleCA6IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXI7Ci0gICAgICAgICAgICBpZiAocnVuRm9yY2Vz
UmlnaHRFeHBhbnNpb24pCi0gICAgICAgICAgICAgICAgZm9yY2VSaWdodEV4cGFuc2lvbiA9IG1f
cnVuLmx0cigpID8gY3VycmVudElzTGFzdENoYXJhY3RlciA6ICFjdXJyZW50Q2hhcmFjdGVySW5k
ZXg7Ci0gICAgICAgICAgICBpZiAocnVuRm9yYmlkc0xlZnRFeHBhbnNpb24pCi0gICAgICAgICAg
ICAgICAgZm9yYmlkTGVmdEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gIWN1cnJlbnRDaGFyYWN0
ZXJJbmRleCA6IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXI7Ci0gICAgICAgICAgICBpZiAocnVuRm9y
Ymlkc1JpZ2h0RXhwYW5zaW9uKQotICAgICAgICAgICAgICAgIGZvcmJpZFJpZ2h0RXhwYW5zaW9u
ID0gbV9ydW4ubHRyKCkgPyBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyIDogIWN1cnJlbnRDaGFyYWN0
ZXJJbmRleDsKLSAgICAgICAgICAgIGJvb2wgaWRlb2dyYXBoID0gKGV4cGFuZEFyb3VuZElkZW9n
cmFwaHMgJiYgRm9udENhc2NhZGU6OmlzQ0pLSWRlb2dyYXBoT3JTeW1ib2woY2hhcmFjdGVyKSk7
Ci0gICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlIHx8IGlkZW9ncmFwaCB8fCBmb3JjZUxlZnRF
eHBhbnNpb24gfHwgZm9yY2VSaWdodEV4cGFuc2lvbikgewotICAgICAgICAgICAgICAgIC8vIERp
c3RyaWJ1dGUgdGhlIHJ1bidzIHRvdGFsIGV4cGFuc2lvbiBldmVubHkgb3ZlciBhbGwgZXhwYW5z
aW9uIG9wcG9ydHVuaXRpZXMgaW4gdGhlIHJ1bi4KLSAgICAgICAgICAgICAgICBpZiAobV9leHBh
bnNpb24pIHsKLSAgICAgICAgICAgICAgICAgICAgYXV0byBbZXhwYW5kTGVmdCwgZXhwYW5kUmln
aHRdID0gZXhwYW5zaW9uTG9jYXRpb24oaWRlb2dyYXBoLCB0cmVhdEFzU3BhY2UsIG1fcnVuLmx0
cigpLCBtX2lzQWZ0ZXJFeHBhbnNpb24sIGZvcmJpZExlZnRFeHBhbnNpb24sIGZvcmJpZFJpZ2h0
RXhwYW5zaW9uLCBmb3JjZUxlZnRFeHBhbnNpb24sIGZvcmNlUmlnaHRFeHBhbnNpb24pOwotICAg
ICAgICAgICAgICAgICAgICBpZiAoZXhwYW5kTGVmdCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKG1fcnVuLmx0cigpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5j
cmVhc2UgcHJldmlvdXMgd2lkdGgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2V4cGFu
c2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZlci5pc0VtcHR5KCkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fZm9yVGV4dEVtcGhhc2lzKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGZvbnQtPnpl
cm9XaWR0aFNwYWNlR2x5cGgoKSwgKmZvbnQsIG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHksIGN1
cnJlbnRDaGFyYWN0ZXJJbmRleCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmFkZChm
b250LT5zcGFjZUdseXBoKCksICpmb250LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJy
ZW50Q2hhcmFjdGVySW5kZXgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRMYXN0QWR2
YW5jZShtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5KTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5jcmVhc2UgbmV4dCB3
aWR0aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRvdmVySnVzdGlmaWNhdGlvbldp
ZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBpZiAoZXhwYW5k
UmlnaHQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5z
aW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCArPSBtX2V4
cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fcnVu
Lmx0cigpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9
IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7Ci0KLSAgICAgICAg
ICAgICAgICAvLyBBY2NvdW50IGZvciB3b3JkIHNwYWNpbmcuCi0gICAgICAgICAgICAgICAgLy8g
V2UgYXBwbHkgYWRkaXRpb25hbCBzcGFjZSBiZXR3ZWVuICJ3b3JkcyIgYnkgYWRkaW5nIHdpZHRo
IHRvIHRoZSBzcGFjZSBjaGFyYWN0ZXIuCi0gICAgICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFj
ZSAmJiAoY2hhcmFjdGVyICE9ICdcdCcgfHwgIW1fcnVuLmFsbG93VGFicygpKSAmJiAoY3VycmVu
dENoYXJhY3RlckluZGV4IHx8IGNoYXJhY3RlciA9PSBub0JyZWFrU3BhY2UpICYmIG1fZm9udC53
b3JkU3BhY2luZygpKQotICAgICAgICAgICAgICAgICAgICB3aWR0aCArPSBtX2ZvbnQud29yZFNw
YWNpbmcoKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIG1faXNBZnRlckV4
cGFuc2lvbiA9IGZhbHNlOwotICAgICAgICB9Ci0KICAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlw
ZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50
LCBwcmV2aW91c0NoYXJhY3Rlcik7CiAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFu
c2Zvcm1zVHlwZTo6Tm9uZSAmJiBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rlcikp
IHsKICAgICAgICAgICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5jb25zdHJ1Y3RBbmRBcHBl
bmQoCkBAIC0zNDAsMTMgKzI3Miw2IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFu
Y2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAg
IHByZXZpb3VzQ2hhcmFjdGVyID0gY2hhcmFjdGVyOwogICAgIH0KIAotICAgIGlmIChsZWZ0b3Zl
ckp1c3RpZmljYXRpb25XaWR0aCkgewotICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMpCi0g
ICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQobGFzdEZvbnREYXRhLT56ZXJvV2lkdGhTcGFjZUds
eXBoKCksICpsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5s
ZW5ndGgoKSAtIDEpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQo
bGFzdEZvbnREYXRhLT5zcGFjZUdseXBoKCksICpsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlm
aWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOwotICAgIH0KLQogICAgIGF1dG8gdHJh
bnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0
R2x5cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIpOwogICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAh
PSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkgewogICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBw
bHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50
LCAqbGFzdEZvbnREYXRhLCBwcmV2aW91c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJh
bnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKQEAgLTM1Niw4
ICsyODEsMTgyIEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChU
ZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgbV9jdXJyZW50Q2hhcmFj
dGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiB9CiAKK2F1dG8gV2lkdGhJ
dGVyYXRvcjo6Y2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZl
ciwgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgY3VycmVudENoYXJhY3RlckluZGV4LCB1bnNpZ25l
ZCBsZWFkaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgdHJhaWxpbmdHbHlwaEluZGV4LCBmbG9hdCBw
b3NpdGlvbikgY29uc3QgLT4gQWRkaXRpb25hbFdpZHRoCit7CisgICAgZmxvYXQgbGVmdEFkZGl0
aW9uYWxXaWR0aCA9IDA7CisgICAgZmxvYXQgcmlnaHRBZGRpdGlvbmFsV2lkdGggPSAwOworICAg
IGZsb2F0IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggPSAwOworICAgIGZsb2F0IHJpZ2h0
RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoID0gMDsKKworICAgIGF1dG8gY2hhcmFjdGVyID0gbV9y
dW5bY3VycmVudENoYXJhY3RlckluZGV4XTsKKworICAgIGlmIChjaGFyYWN0ZXIgPT0gdGFiQ2hh
cmFjdGVyICYmIG1fcnVuLmFsbG93VGFicygpKSB7CisgICAgICAgIGF1dG8mIGZvbnQgPSBnbHlw
aEJ1ZmZlci5mb250QXQodHJhaWxpbmdHbHlwaEluZGV4KTsKKyAgICAgICAgYXV0byBuZXdXaWR0
aCA9IG1fZm9udC50YWJXaWR0aChmb250LCBtX3J1bi50YWJTaXplKCksIHBvc2l0aW9uKTsKKyAg
ICAgICAgYXV0byBjdXJyZW50V2lkdGggPSBnbHlwaEJ1ZmZlci5hZHZhbmNlQXQodHJhaWxpbmdH
bHlwaEluZGV4KS53aWR0aCgpOworICAgICAgICByaWdodEFkZGl0aW9uYWxXaWR0aCArPSBuZXdX
aWR0aCAtIGN1cnJlbnRXaWR0aDsKKyAgICB9CisKKyAgICBpZiAoaGFzRXh0cmFTcGFjaW5nKCkp
IHsKKyAgICAgICAgYm9vbCB0cmVhdEFzU3BhY2UgPSBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNl
KGNoYXJhY3Rlcik7CisKKyAgICAgICAgLy8gVGhpcyBpcyBhIGhldXJpc3RpYyB0byBkZXRlcm1p
bmUgaWYgdGhlIGNoYXJhY3RlciBpcyBub24tdmlzaWJsZS4gTm9uLXZpc2libGUgY2hhcmFjdGVy
cyBkb24ndCBnZXQgbGV0dGVyLXNwYWNpbmcuCisgICAgICAgIGZsb2F0IGJhc2VXaWR0aCA9IDA7
CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGxlYWRpbmdHbHlwaEluZGV4OyBpIDw9IHRyYWls
aW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICAgICAgYmFzZVdpZHRoICs9IGdseXBoQnVmZmVy
LmFkdmFuY2VBdChpKS53aWR0aCgpOworICAgICAgICBpZiAoYmFzZVdpZHRoKQorICAgICAgICAg
ICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gbV9mb250LmxldHRlclNwYWNpbmcoKTsKKworICAg
ICAgICBpZiAodHJlYXRBc1NwYWNlICYmIChjaGFyYWN0ZXIgIT0gdGFiQ2hhcmFjdGVyIHx8ICFt
X3J1bi5hbGxvd1RhYnMoKSkgJiYgKGN1cnJlbnRDaGFyYWN0ZXJJbmRleCB8fCBjaGFyYWN0ZXIg
PT0gbm9CcmVha1NwYWNlKSAmJiBtX2ZvbnQud29yZFNwYWNpbmcoKSkKKyAgICAgICAgICAgIHJp
Z2h0QWRkaXRpb25hbFdpZHRoICs9IG1fZm9udC53b3JkU3BhY2luZygpOworCisgICAgICAgIGlm
IChtX2V4cGFuc2lvbiA+IDApIHsKKyAgICAgICAgICAgIGJvb2wgY3VycmVudElzTGFzdENoYXJh
Y3RlciA9IG1fbGFzdENoYXJhY3RlckluZGV4ICYmIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9PSBz
dGF0aWNfY2FzdDxHbHlwaEJ1ZmZlclN0cmluZ09mZnNldD4oKm1fbGFzdENoYXJhY3RlckluZGV4
KTsKKworICAgICAgICAgICAgYm9vbCBpc0xlZnRtb3N0Q2hhcmFjdGVyID0gIWN1cnJlbnRDaGFy
YWN0ZXJJbmRleDsKKyAgICAgICAgICAgIGJvb2wgaXNSaWdodG1vc3RDaGFyYWN0ZXIgPSBjdXJy
ZW50SXNMYXN0Q2hhcmFjdGVyOworICAgICAgICAgICAgaWYgKCFtX3J1bi5sdHIoKSkKKyAgICAg
ICAgICAgICAgICBzdGQ6OnN3YXAoaXNMZWZ0bW9zdENoYXJhY3RlciwgaXNSaWdodG1vc3RDaGFy
YWN0ZXIpOworCisgICAgICAgICAgICBib29sIGZvcmNlTGVmdEV4cGFuc2lvbiA9IGlzTGVmdG1v
c3RDaGFyYWN0ZXIgJiYgKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBMZWZ0RXhwYW5zaW9u
TWFzaykgPT0gRm9yY2VMZWZ0RXhwYW5zaW9uOworICAgICAgICAgICAgYm9vbCBmb3JjZVJpZ2h0
RXhwYW5zaW9uID0gaXNSaWdodG1vc3RDaGFyYWN0ZXIgJiYgKG1fcnVuLmV4cGFuc2lvbkJlaGF2
aW9yKCkgJiBSaWdodEV4cGFuc2lvbk1hc2spID09IEZvcmNlUmlnaHRFeHBhbnNpb247CisgICAg
ICAgICAgICBib29sIGZvcmJpZExlZnRFeHBhbnNpb24gPSBpc0xlZnRtb3N0Q2hhcmFjdGVyICYm
IChtX3J1bi5leHBhbnNpb25CZWhhdmlvcigpICYgTGVmdEV4cGFuc2lvbk1hc2spID09IEZvcmJp
ZExlZnRFeHBhbnNpb247CisgICAgICAgICAgICBib29sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uID0g
aXNSaWdodG1vc3RDaGFyYWN0ZXIgJiYgKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBSaWdo
dEV4cGFuc2lvbk1hc2spID09IEZvcmJpZFJpZ2h0RXhwYW5zaW9uOworCisgICAgICAgICAgICBz
dGF0aWMgY29uc3QgYm9vbCBleHBhbmRBcm91bmRJZGVvZ3JhcGhzID0gRm9udENhc2NhZGU6OmNh
bkV4cGFuZEFyb3VuZElkZW9ncmFwaHNJbkNvbXBsZXhUZXh0KCk7CisgICAgICAgICAgICBib29s
IGlzSWRlb2dyYXBoID0gZXhwYW5kQXJvdW5kSWRlb2dyYXBocyAmJiBGb250Q2FzY2FkZTo6aXND
SktJZGVvZ3JhcGhPclN5bWJvbChjaGFyYWN0ZXIpOworCisgICAgICAgICAgICBpZiAodHJlYXRB
c1NwYWNlIHx8IGlzSWRlb2dyYXBoIHx8IGZvcmNlTGVmdEV4cGFuc2lvbiB8fCBmb3JjZVJpZ2h0
RXhwYW5zaW9uKSB7CisgICAgICAgICAgICAgICAgYXV0byBbZXhwYW5kTGVmdCwgZXhwYW5kUmln
aHRdID0gZXhwYW5zaW9uTG9jYXRpb24oaXNJZGVvZ3JhcGgsIHRyZWF0QXNTcGFjZSwgbV9ydW4u
bHRyKCksIG1faXNBZnRlckV4cGFuc2lvbiwgZm9yYmlkTGVmdEV4cGFuc2lvbiwgZm9yYmlkUmln
aHRFeHBhbnNpb24sIGZvcmNlTGVmdEV4cGFuc2lvbiwgZm9yY2VSaWdodEV4cGFuc2lvbik7CisK
KyAgICAgICAgICAgICAgICBpZiAoZXhwYW5kTGVmdCkKKyAgICAgICAgICAgICAgICAgICAgbGVm
dEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5Owor
ICAgICAgICAgICAgICAgIGlmIChleHBhbmRSaWdodCkKKyAgICAgICAgICAgICAgICAgICAgcmln
aHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggKz0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB7IGxlZnRBZGRp
dGlvbmFsV2lkdGgsIHJpZ2h0QWRkaXRpb25hbFdpZHRoLCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25h
bFdpZHRoLCByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCB9OworfQorCitzdHJ1Y3QgR2x5
cGhJbmRleFJhbmdlIHsKKyAgICAvLyBUaGlzIG1lYW5zIHRoZSBjaGFyYWN0ZXIgZ290IGV4cGFu
ZGVkIHRvIGdseXBocyBpbnNpZGUgdGhlIEdseXBoQnVmZmVyIGF0IGluZGljZXMgW2xlYWRpbmdH
bHlwaEluZGV4LCB0cmFpbGluZ0dseXBoSW5kZXhdLgorICAgIHVuc2lnbmVkIGxlYWRpbmdHbHlw
aEluZGV4OworICAgIHVuc2lnbmVkIHRyYWlsaW5nR2x5cGhJbmRleDsKK307CisKK3ZvaWQgV2lk
dGhJdGVyYXRvcjo6YXBwbHlBZGRpdGlvbmFsV2lkdGgoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVy
LCBHbHlwaEluZGV4UmFuZ2UgZ2x5cGhJbmRleFJhbmdlLCBmbG9hdCBsZWZ0QWRkaXRpb25hbFdp
ZHRoLCBmbG9hdCByaWdodEFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgbGVmdEV4cGFuc2lvbkFkZGl0
aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgpCit7CisgICAg
bV9leHBhbnNpb24gLT0gbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCArIHJpZ2h0RXhwYW5z
aW9uQWRkaXRpb25hbFdpZHRoOworCisgICAgbGVmdEFkZGl0aW9uYWxXaWR0aCArPSBsZWZ0RXhw
YW5zaW9uQWRkaXRpb25hbFdpZHRoOworICAgIHJpZ2h0QWRkaXRpb25hbFdpZHRoICs9IHJpZ2h0
RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworCisgICAgbV9ydW5XaWR0aFNvRmFyICs9IGxlZnRB
ZGRpdGlvbmFsV2lkdGg7CisgICAgbV9ydW5XaWR0aFNvRmFyICs9IHJpZ2h0QWRkaXRpb25hbFdp
ZHRoOworCisgICAgaWYgKGxlZnRBZGRpdGlvbmFsV2lkdGgpIHsKKyAgICAgICAgaWYgKG1fcnVu
Lmx0cigpKSB7CisgICAgICAgICAgICAvLyBMZWZ0IGFkZGl0aW9uYWwgd2lkdGggaW4gTFRSIG1l
YW5zIHRoZSBwcmV2aW91cyAobGVhZGluZykgZ2x5cGgncyByaWdodCBzaWRlIGdldHMgZXhwYW5k
ZWQuCisgICAgICAgICAgICBhdXRvIGxlYWRpbmdHbHlwaEluZGV4ID0gZ2x5cGhJbmRleFJhbmdl
LmxlYWRpbmdHbHlwaEluZGV4OworICAgICAgICAgICAgaWYgKGxlYWRpbmdHbHlwaEluZGV4KQor
ICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEFkdmFuY2UobGVhZGluZ0dseXBoSW5k
ZXggLSAxLCBsZWZ0QWRkaXRpb25hbFdpZHRoKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRJbml0aWFsQWR2YW5jZShsZWZ0QWRkaXRpb25hbFdp
ZHRoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIExlZnQgYWRkaXRpb25hbCB3
aWR0aCBpbiBSVEwgbWVhbnMgdGhlIG5leHQgKHRyYWlsaW5nKSBnbHlwaCdzIHJpZ2h0IHNpZGUg
Z2V0cyBleHBhbmRlZC4KKyAgICAgICAgICAgIGF1dG8gdHJhaWxpbmdHbHlwaEluZGV4ID0gZ2x5
cGhJbmRleFJhbmdlLnRyYWlsaW5nR2x5cGhJbmRleDsKKyAgICAgICAgICAgIGlmICh0cmFpbGlu
Z0dseXBoSW5kZXggKyAxIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpKQorICAgICAgICAgICAgICAgIGds
eXBoQnVmZmVyLmV4cGFuZEFkdmFuY2UodHJhaWxpbmdHbHlwaEluZGV4ICsgMSwgbGVmdEFkZGl0
aW9uYWxXaWR0aCk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2xlZnRv
dmVySnVzdGlmaWNhdGlvbldpZHRoID0gbGVmdEFkZGl0aW9uYWxXaWR0aDsKKyAgICAgICAgICAg
ICAgICAvLyBXZSBjYW4ndCBhY3R1YWxseSBhZGQgaW4gdGhpcyB3aWR0aCBqdXN0IHlldC4KKyAg
ICAgICAgICAgICAgICAvLyBBZGQgaXQgaW4gd2hlbiB0aGUgY2xpZW50IGNhbGxzIGFkdmFuY2Uo
KSBhZ2FpbiBvciBmaW5hbGl6ZSgpLgorICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciAt
PSBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQorCisgICAgaWYgKHJpZ2h0QWRkaXRpb25hbFdpZHRoKSB7CisgICAgICAgIC8vIFJp
Z2h0IGFkZGl0aW9uYWwgd2lkdGggbWVhbnMgdGhlIGN1cnJlbnQgZ2x5cGgncyByaWdodCBzaWRl
IGdldHMgZXhwYW5kZWQuIFRoaXMgaXMgdHJ1ZSBmb3IgYm90aCBMVFIgYW5kIFJUTC4KKyAgICAg
ICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShnbHlwaEluZGV4UmFuZ2UudHJhaWxpbmdHbHlw
aEluZGV4LCByaWdodEFkZGl0aW9uYWxXaWR0aCk7CisgICAgfQorfQorCit2b2lkIFdpZHRoSXRl
cmF0b3I6OmFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFwaW5nKEdseXBoQnVmZmVyJiBnbHlwaEJ1
ZmZlciwgdW5zaWduZWQgY2hhcmFjdGVyU3RhcnRJbmRleCwgdW5zaWduZWQgZ2x5cGhCdWZmZXJT
dGFydEluZGV4LCB1bnNpZ25lZCBjaGFyYWN0ZXJEZXN0aW5hdGlvbkluZGV4LCBmbG9hdCBzdGFy
dGluZ1J1bldpZHRoKQoreworICAgIFZlY3RvcjxPcHRpb25hbDxHbHlwaEluZGV4UmFuZ2U+PiBj
aGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlKG1fcnVuLmxlbmd0aCgpLCBXVEY6Om51bGxv
cHQpOworICAgIFZlY3RvcjxmbG9hdD4gYWR2YW5jZVdpZHRocyhtX3J1bi5sZW5ndGgoKSwgMCk7
CisgICAgZm9yICh1bnNpZ25lZCBpID0gZ2x5cGhCdWZmZXJTdGFydEluZGV4OyBpIDwgZ2x5cGhC
dWZmZXIuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgYXV0byBzdHJpbmdPZmZzZXQgPSBnbHlwaEJ1
ZmZlci5zdHJpbmdPZmZzZXRBdChpKTsKKyAgICAgICAgYWR2YW5jZVdpZHRoc1tzdHJpbmdPZmZz
ZXRdICs9IGdseXBoQnVmZmVyLmFkdmFuY2VBdChpKS53aWR0aCgpOworICAgICAgICBhdXRvJiBn
bHlwaEluZGV4UmFuZ2UgPSBjaGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlW3N0cmluZ09m
ZnNldF07CisgICAgICAgIGlmIChnbHlwaEluZGV4UmFuZ2UpCisgICAgICAgICAgICBnbHlwaElu
ZGV4UmFuZ2UtPnRyYWlsaW5nR2x5cGhJbmRleCA9IGk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGdseXBoSW5kZXhSYW5nZSA9IHt7aSwgaX19OworICAgIH0KKworICAgIC8vIFNWRyBjYW4g
c3RyZXRjaCBhZHZhbmNlcworICAgIGlmIChtX3J1bi5ob3Jpem9udGFsR2x5cGhTdHJldGNoKCkg
IT0gMSkgeworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXg7
IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgLy8gQWxsIGNoYXJh
Y3RlcnMnIGFkdmFuY2VzIGdldCBzdHJldGNoZWQsIGV4Y2VwdCBhcHBhcmVudGx5IHRhYiBjaGFy
YWN0ZXJzLi4uCisgICAgICAgICAgICAvLyBUaGlzIGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlLCBi
ZWNhdXNlIGV2ZW4gdGFiIGNoYXJhY3RlcnMgZ2V0IGxldHRlci1zcGFjaW5nLi4uCisgICAgICAg
ICAgICBhdXRvIHN0cmluZ09mZnNldCA9IGdseXBoQnVmZmVyLnN0cmluZ09mZnNldEF0KGkpOwor
ICAgICAgICAgICAgYXV0byBjaGFyYWN0ZXIgPSBtX3J1bltzdHJpbmdPZmZzZXRdOworICAgICAg
ICAgICAgaWYgKGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXIpCisgICAgICAgICAgICAgICAgY29u
dGludWU7CisKKyAgICAgICAgICAgIGF1dG8gY3VycmVudEFkdmFuY2UgPSBnbHlwaEJ1ZmZlci5h
ZHZhbmNlQXQoaSkud2lkdGgoKTsKKyAgICAgICAgICAgIGF1dG8gbmV3QWR2YW5jZSA9IGN1cnJl
bnRBZHZhbmNlICogbV9ydW4uaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOworICAgICAgICAgICAg
Z2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShpLCBuZXdBZHZhbmNlIC0gY3VycmVudEFkdmFuY2Up
OworICAgICAgICB9CisgICAgfQorCisgICAgZmxvYXQgcG9zaXRpb24gPSBtX3J1bi54UG9zKCkg
KyBzdGFydGluZ1J1bldpZHRoOworICAgIGZvciAoYXV0byBpID0gY2hhcmFjdGVyU3RhcnRJbmRl
eDsgaSA8IGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXg7ICsraSkgeworICAgICAgICBhdXRvJiBn
bHlwaEluZGV4UmFuZ2UgPSBjaGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlW2ldOworICAg
ICAgICBpZiAoIWdseXBoSW5kZXhSYW5nZSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgIGF1dG8gd2lkdGggPSBjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoZ2x5cGhCdWZmZXIsIGks
IGdseXBoSW5kZXhSYW5nZS0+bGVhZGluZ0dseXBoSW5kZXgsIGdseXBoSW5kZXhSYW5nZS0+dHJh
aWxpbmdHbHlwaEluZGV4LCBwb3NpdGlvbik7CisgICAgICAgIGFwcGx5QWRkaXRpb25hbFdpZHRo
KGdseXBoQnVmZmVyLCBnbHlwaEluZGV4UmFuZ2UudmFsdWUoKSwgd2lkdGgubGVmdCwgd2lkdGgu
cmlnaHQsIHdpZHRoLmxlZnRFeHBhbnNpb24sIHdpZHRoLnJpZ2h0RXhwYW5zaW9uKTsKKworICAg
ICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSAobV9ydW4ubHRyKCkgJiYgd2lkdGgucmlnaHRFeHBh
bnNpb24pIHx8ICghbV9ydW4ubHRyKCkgJiYgd2lkdGgubGVmdEV4cGFuc2lvbik7CisKKyAgICAg
ICAgLy8gVGhpcyBpc24ndCBxdWl0ZSBwZXJmZWN0LCBiZWNhdXNlIHdlIG1heSBjb21lIGFjcm9z
cyBhIHRhYiBjaGFyYWN0ZXIgaW4gYmV0d2VlbiB0d28gZ2x5cGhzIHdoaWNoIGJvdGggcmVwb3J0
IHRvIGNvcnJlc3BvbmQgdG8gYSBwcmV2aW91cyBjaGFyYWN0ZXIuCisgICAgICAgIC8vIEJ1dCwg
dGhlIGZ1bmRhbWVudGFsIGNvbmNlcHQgb2YgdGFicyBpc24ndCByZWFsbHkgY29tcGF0aWJsZSB3
aXRoIGNvbXBsZXggdGV4dCBzaGFwaW5nLCBzbyB0aGlzIGlzIHByb2JhYmx5IG9rYXkuCisgICAg
ICAgIC8vIFdlIGNhbiBwcm9iYWJseSBqdXN0IGRvIHRoZSBiZXN0IHdlIGNhbiBoZXJlLgorICAg
ICAgICAvLyBUaGUgb25seSBhbHRlcm5hdGl2ZSwgdG8gY2FsY3VsYXRlIHRoaXMgcG9zaXRpb24g
aW4gZ2x5cGgtc3BhY2UgcmF0aGVyIHRoYW4gY2hhcmFjdGVyLXNwYWNlLAorICAgICAgICAvLyBp
cyBPKG5eMikgYmVjYXVzZSB3ZSdyZSBpdGVyYXRpbmcgYWNyb3NzIHRoZSBzdHJpbmcgaGVyZSwg
cmF0aGVyIHRoYW4gZ2x5cGhzLCBzbyB3ZSBjYW4ndCBrZWVwIHRoZSBjYWxjdWxhdGlvbiB1cC10
by1kYXRlLAorICAgICAgICAvLyB3aGljaCBtZWFucyBjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgo
KSB3b3VsZCBoYXZlIHRvIGNhbGN1bGF0ZSB0aGUgcmVzdWx0IGZyb20gc2NyYXRjaCB3aGVuZXZl
ciBpdCdzIG5lZWRlZC4KKyAgICAgICAgLy8gQW5kIHdlIGNhbid0IGRvIHNvbWUgc29ydCBvZiBw
cmVmaXgtc3VtIHRoaW5nIGJlY2F1c2UgYXBwbHlBZGRpdGlvbmFsV2lkdGgoKSB3b3VsZCBtb2Rp
ZnkgdGhlIHZhbHVlcywKKyAgICAgICAgLy8gc28gdXBkYXRpbmcgdGhlIGRhdGEgc3RydWN0dXJl
IGVhY2ggdHVybiBvZiB0aGlzIGxvb3Agd291bGQgYWxzbyBlbmQgdXAgYmVpbmcgTyhuXjIpLgor
ICAgICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBzdHJpbmdzIHdpdGggdGFicyBhcmUgbW9yZSBsaWtl
bHkgdG8gYmUgbG9uZyBkYXRhLXRhYmxlIGtpbmQgb2Ygc3RyaW5ncywgd2hpY2ggbWVhbnMgTyhu
XjIpIGlzIG5vdCBhY2NlcHRhYmxlLgorICAgICAgICAvLyBBbHNvLCBldmVuIGlmIHdlIGRpZCB0
aGUgTyhuXjIpIHRoaW5nLCB0aGVyZSB3b3VsZCBzdGlsbCBiZSBjYXNlcyB0aGF0IHdvdWxkbid0
IGJlIHBlcmZlY3QKKyAgICAgICAgLy8gKGJlY2F1c2UgdGhlIGZ1bmRhbWVudGFsIGNvbmNlcHQg
b2YgdGFicyBpc24ndCByZWFsbHkgY29tcGF0aWJsZSB3aXRoIGNvbXBsZXggdGV4dCBzaGFwaW5n
KSwKKyAgICAgICAgLy8gc28gbGV0J3MgY2hvb3NlIHRoZSBmYXN0LXdyb25nIGFwcHJvYWNoIGhl
cmUgaW5zdGVhZCBvZiB0aGUgc2xvdy13cm9uZyBhcHByb2FjaC4KKyAgICAgICAgcG9zaXRpb24g
Kz0gYWR2YW5jZVdpZHRoc1tpXQorICAgICAgICAgICAgKyB3aWR0aC5sZWZ0CisgICAgICAgICAg
ICArIHdpZHRoLnJpZ2h0CisgICAgICAgICAgICArIHdpZHRoLmxlZnRFeHBhbnNpb24KKyAgICAg
ICAgICAgICsgd2lkdGgucmlnaHRFeHBhbnNpb247CisgICAgfQorfQorCit2b2lkIFdpZHRoSXRl
cmF0b3I6OmZpbmFsaXplKEdseXBoQnVmZmVyJiBidWZmZXIpCit7CisgICAgQVNTRVJUKG1fcnVu
LnJ0bCgpIHx8ICFtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKTsKKyAgICAvLyBJbiBMVFIg
dGhpcyBkb2VzIG5vdGhpbmcuIEluIFJUTCwgdGhpcyBhZGRzIGxlZnQgd2lkdGggYnkgbW92aW5n
IHRoZSB3aG9sZSBydW4gdG8gdGhlIHJpZ2h0LgorICAgIGJ1ZmZlci5leHBhbmRJbml0aWFsQWR2
YW5jZShtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKTsKKyAgICBtX3J1bldpZHRoU29GYXIg
Kz0gbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aDsKKyAgICBtX2xlZnRvdmVySnVzdGlmaWNh
dGlvbldpZHRoID0gMDsKK30KKwogdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKHVuc2lnbmVk
IG9mZnNldCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQogeworICAgIG1fY29udGFpbnNUYWJz
ID0gZmFsc2U7CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gbV9ydW4ubGVuZ3RoKCk7CiAKICAgICBp
ZiAob2Zmc2V0ID4gbGVuZ3RoKQpAQCAtMzY2LDE0ICs0NjUsMjggQEAgdm9pZCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlKHVuc2lnbmVkIG9mZnNldCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQog
ICAgIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA+PSBvZmZzZXQpCiAgICAgICAgIHJldHVy
bjsKIAorICAgIHVuc2lnbmVkIGNoYXJhY3RlclN0YXJ0SW5kZXggPSBtX2N1cnJlbnRDaGFyYWN0
ZXJJbmRleDsKKyAgICB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXggPSBnbHlwaEJ1ZmZl
ci5zaXplKCk7CisgICAgZmxvYXQgc3RhcnRpbmdSdW5XaWR0aCA9IG1fcnVuV2lkdGhTb0ZhcjsK
KwogICAgIGlmIChtX3J1bi5pczhCaXQoKSkgewogICAgICAgICBMYXRpbjFUZXh0SXRlcmF0b3Ig
dGV4dEl0ZXJhdG9yKG1fcnVuLmRhdGE4KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9jdXJy
ZW50Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKICAgICAgICAgYWR2YW5jZUludGVy
bmFsKHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOwotICAgICAgICByZXR1cm47CisgICAgfSBl
bHNlIHsKKyAgICAgICAgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yIHRleHRJdGVyYXRv
cihtX3J1bi5kYXRhMTYobV9jdXJyZW50Q2hhcmFjdGVySW5kZXgpLCBtX2N1cnJlbnRDaGFyYWN0
ZXJJbmRleCwgb2Zmc2V0LCBsZW5ndGgpOworICAgICAgICBhZHZhbmNlSW50ZXJuYWwodGV4dEl0
ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7CisgICAgfQorCisgICAgLy8gSW4gZ2VuZXJhbCwgd2UgaGF2
ZSB0byBhcHBseSBzcGFjaW5nIGFmdGVyIHNoYXBpbmcsIGJlY2F1c2Ugc2hhcGluZyByZXF1aXJl
cyBpdHMgaW5wdXQgdG8gYmUgdW5wZXJ0dXJiZWQgKHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDUyKS4KKyAgICAvLyBTbywgaWYgdGhlcmUncyBleHRyYSBz
cGFjaW5nIHRvIGFkZCwgZG8gaXQgaGVyZSBhZnRlciBzaGFwaW5nIG9jY3Vycy4KKyAgICBpZiAo
Z2x5cGhCdWZmZXJTdGFydEluZGV4IDwgZ2x5cGhCdWZmZXIuc2l6ZSgpKSB7CisgICAgICAgIGds
eXBoQnVmZmVyLmV4cGFuZEFkdmFuY2UoZ2x5cGhCdWZmZXJTdGFydEluZGV4LCBtX2xlZnRvdmVy
SnVzdGlmaWNhdGlvbldpZHRoKTsKKyAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IG1fbGVmdG92
ZXJKdXN0aWZpY2F0aW9uV2lkdGg7CisgICAgICAgIG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lk
dGggPSAwOwogICAgIH0KIAotICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvciB0ZXh0
SXRlcmF0b3IobV9ydW4uZGF0YTE2KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9jdXJyZW50
Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKLSAgICBhZHZhbmNlSW50ZXJuYWwodGV4
dEl0ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7CisgICAgaWYgKGhhc0V4dHJhU3BhY2luZygpIHx8IG1f
Y29udGFpbnNUYWJzIHx8IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKSAhPSAxKQorICAg
ICAgICBhcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZyhnbHlwaEJ1ZmZlciwgY2hhcmFjdGVy
U3RhcnRJbmRleCwgZ2x5cGhCdWZmZXJTdGFydEluZGV4LCBvZmZzZXQsIHN0YXJ0aW5nUnVuV2lk
dGgpOwogfQogCiBib29sIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VPbmVDaGFyYWN0ZXIoZmxvYXQm
IHdpZHRoLCBHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKaW5kZXggZmNiMGVjYjljMDQwODZjNTZj
OGNkNzhmNjEyMGZiNjE5OGI0MTUxYS4uZDUwMTUwYThkOTc3YWRkM2IzN2I2Zjg4MWNlZWIxYjRi
NmE1NjdiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lk
dGhJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRo
SXRlcmF0b3IuaApAQCAtMjIsNiArMjIsNyBAQAogI2lmbmRlZiBXaWR0aEl0ZXJhdG9yX2gKICNk
ZWZpbmUgV2lkdGhJdGVyYXRvcl9oCiAKKyNpbmNsdWRlICJHbHlwaEJ1ZmZlci5oIgogI2luY2x1
ZGUgPHVuaWNvZGUvdW1hY2hpbmUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTI5LDEwICszMCwxMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBGb250Q2FzY2FkZTsKLWNsYXNzIEdseXBoQnVmZmVyOwogY2xhc3MgRm9udDsK
IGNsYXNzIFRleHRSdW47CiBzdHJ1Y3QgR2x5cGhEYXRhOworc3RydWN0IEdseXBoSW5kZXhSYW5n
ZTsKIHN0cnVjdCBPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2U7CiAK
IHVzaW5nIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSA9IFZlY3RvcjxPcmlnaW5hbEFkdmFuY2Vz
Rm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2UsIDY0PjsKQEAgLTQ0LDYgKzQ1LDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBhZHZhbmNlKHVuc2lnbmVkIHRvLCBHbHlwaEJ1ZmZlciYpOwogICAgIGJv
b2wgYWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEdseXBoQnVmZmVyJik7CisgICAg
dm9pZCBmaW5hbGl6ZShHbHlwaEJ1ZmZlciYpOwogCiAgICAgZmxvYXQgbWF4R2x5cGhCb3VuZGlu
Z0JveFkoKSBjb25zdCB7IEFTU0VSVChtX2FjY291bnRGb3JHbHlwaEJvdW5kcyk7IHJldHVybiBt
X21heEdseXBoQm91bmRpbmdCb3hZOyB9CiAgICAgZmxvYXQgbWluR2x5cGhCb3VuZGluZ0JveFko
KSBjb25zdCB7IEFTU0VSVChtX2FjY291bnRGb3JHbHlwaEJvdW5kcyk7IHJldHVybiBtX21pbkds
eXBoQm91bmRpbmdCb3hZOyB9CkBAIC02MywxMSArNjUsMjQgQEAgcHJpdmF0ZToKICAgICBUcmFu
c2Zvcm1zVHlwZSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiwg
dW5zaWduZWQgbGFzdEdseXBoQ291bnQsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0
OwogICAgIGZsb2F0IGFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCBib29sIGx0ciwg
dW5zaWduZWQmIGxhc3RHbHlwaENvdW50LCBjb25zdCBGb250JiwgVUNoYXIzMiBwcmV2aW91c0No
YXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7CiAKKyAgICBi
b29sIGhhc0V4dHJhU3BhY2luZygpIGNvbnN0OworICAgIHZvaWQgYXBwbHlFeHRyYVNwYWNpbmdB
ZnRlclNoYXBpbmcoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBjaGFyYWN0ZXJTdGFydEluZGV4LCB1
bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXgsIHVuc2lnbmVkIGNoYXJhY3RlckRlc3RpbmF0
aW9uSW5kZXgsIGZsb2F0IHN0YXJ0aW5nUnVuV2lkdGgpOworICAgIHN0cnVjdCBBZGRpdGlvbmFs
V2lkdGggeworICAgICAgICBmbG9hdCBsZWZ0OworICAgICAgICBmbG9hdCByaWdodDsKKyAgICAg
ICAgZmxvYXQgbGVmdEV4cGFuc2lvbjsKKyAgICAgICAgZmxvYXQgcmlnaHRFeHBhbnNpb247Cisg
ICAgfTsKKyAgICBBZGRpdGlvbmFsV2lkdGggY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKEdseXBo
QnVmZmVyJiwgR2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgY3VycmVudENoYXJhY3RlckluZGV4LCB1
bnNpZ25lZCBsZWFkaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgdHJhaWxpbmdHbHlwaEluZGV4LCBm
bG9hdCBwb3NpdGlvbikgY29uc3Q7CisgICAgdm9pZCBhcHBseUFkZGl0aW9uYWxXaWR0aChHbHlw
aEJ1ZmZlciYsIEdseXBoSW5kZXhSYW5nZSwgZmxvYXQgbGVmdEFkZGl0aW9uYWxXaWR0aCwgZmxv
YXQgcmlnaHRBZGRpdGlvbmFsV2lkdGgsIGZsb2F0IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lk
dGgsIGZsb2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoKTsKKwogICAgIGNvbnN0IEZv
bnRDYXNjYWRlJiBtX2ZvbnQ7CiAgICAgY29uc3QgVGV4dFJ1biYgbV9ydW47CiAgICAgSGFzaFNl
dDxjb25zdCBGb250Kj4qIG1fZmFsbGJhY2tGb250cyB7IG51bGxwdHIgfTsKIAorICAgIE9wdGlv
bmFsPHVuc2lnbmVkPiBtX2xhc3RDaGFyYWN0ZXJJbmRleDsKICAgICB1bnNpZ25lZCBtX2N1cnJl
bnRDaGFyYWN0ZXJJbmRleCB7IDAgfTsKKyAgICBmbG9hdCBtX2xlZnRvdmVySnVzdGlmaWNhdGlv
bldpZHRoIHsgMCB9OwogICAgIGZsb2F0IG1fcnVuV2lkdGhTb0ZhciB7IDAgfTsKICAgICBmbG9h
dCBtX2V4cGFuc2lvbiB7IDAgfTsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5
IHsgMCB9OwpAQCAtNzUsNiArOTAsNyBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fbWluR2x5cGhC
b3VuZGluZ0JveFkgeyBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkgfTsKICAgICBm
bG9hdCBtX2ZpcnN0R2x5cGhPdmVyZmxvdyB7IDAgfTsKICAgICBmbG9hdCBtX2xhc3RHbHlwaE92
ZXJmbG93IHsgMCB9OworICAgIGJvb2wgbV9jb250YWluc1RhYnMgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9pc0FmdGVyRXhwYW5zaW9uIHsgZmFsc2UgfTsKICAgICBib29sIG1fYWNjb3VudEZvckds
eXBoQm91bmRzIHsgZmFsc2UgfTsKICAgICBib29sIG1fZW5hYmxlS2VybmluZyB7IGZhbHNlIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNz
QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNz
QnVpbGRlci5jcHAKaW5kZXggODBiNWM3OTFiODU4MmQ3OTk1NGMzY2I1NThjZDFhMWYwNTA3OWFj
Zi4uYTk0Y2EyOTkxYzFhNGFiYTlhNTJlZWVkNmFiZWVhZTY3YjdhZDZlNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNw
cApAQCAtMTY1LDYgKzE2NSwxMSBAQCB2b2lkIFNWR1RleHRNZXRyaWNzQnVpbGRlcjo6bWVhc3Vy
ZVRleHRSZW5kZXJlcihSZW5kZXJTVkdJbmxpbmVUZXh0JiB0ZXh0LCBNZWFzdQogICAgICAgICBk
YXRhLT5sYXN0Q2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlcjsKICAgICB9CiAKKyAgICBpZiAo
bV9zaW1wbGVXaWR0aEl0ZXJhdG9yKSB7CisgICAgICAgIEdseXBoQnVmZmVyIGdseXBoQnVmZmVy
OworICAgICAgICBtX3NpbXBsZVdpZHRoSXRlcmF0b3ItPmZpbmFsaXplKGdseXBoQnVmZmVyKTsK
KyAgICB9CisKICAgICBpZiAoIWRhdGEtPmFsbENoYXJhY3RlcnNNYXApCiAgICAgICAgIHJldHVy
bjsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDdhNjRlYzBjM2E0MDkxNjYxODFkZWM3ZjEwYzhjNzRiYTU1MzEwYTAuLmI3
YzdmMGNlYmVlYTg4MTZiZDBkN2MyYjljMTc4MjA4M2MwM2RkNDggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMC0wOC0wOSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29t
PgorCisgICAgICAgIFNwYWNpbmcgb2YgQ2hpbmVzZSBjaGFyYWN0ZXJzIGlzIGluY29uc2lzdGVu
dCBpbiBtYWNPUyAxMS9TYWZhcmkgMTQgYmV0YQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgKiBmYXN0L3RleHQvbGV0dGVyLXNwYWNpbmctc2hhcGluZy1leHBl
Y3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvbGV0dGVyLXNwYWNpbmctc2hh
cGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvdGFiLWxldHRlci1zcGFjZS1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvdGFiLWxldHRlci1zcGFj
ZS5odG1sOiBBZGRlZC4KKwogMjAyMC0wOC0wOCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4Zmll
bGRAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgR2x5cGhCdWZmZXJzIHJlcXVpcmVkIGluIHRo
ZSBmYXN0IHRleHQgY29kZXBhdGgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9s
ZXR0ZXItc3BhY2luZy1zaGFwaW5nLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvbGV0dGVyLXNwYWNpbmctc2hhcGluZy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxYjA4
ODg3MzUxNGRlMWQ3YzljNTJlNjQ4ZTlkZmU0OGU3OTliZDUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvbGV0dGVyLXNwYWNpbmctc2hhcGluZy1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iemgtaGsiPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVz
dCBtYWtlcyBzdXJlIHRoYXQgbGV0dGVyLXNwYWNpbmcgaXMgYXBwbGllZCBhZnRlciB0ZXh0IHNo
YXBpbmcuCitUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIHR3byBjaGFyYWN0ZXJzIGJlbG93IGhhdmUg
c29tZSBzcGFjZSBiZXR3ZWVuIHRoZW0uCis8ZGl2IHN0eWxlPSJmb250OiA0OHB4ICdQaW5nRmFu
ZyBUQyc7IGxldHRlci1zcGFjaW5nOiAyNHB4OyI+PHNwYW4+5oOFPC9zcGFuPjxzcGFuPuWNhzwv
c3Bhbj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvbGV0dGVyLXNwYWNpbmctc2hhcGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0MDZiNzI5YjczY2Q1
YmI5MTQ2MDdmNmUzMjIzYmM5YzgwMTA1MTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvbGV0dGVyLXNwYWNpbmctc2hhcGluZy5odG1sCkBAIC0wLDAgKzEsMTEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iemgtaGsiPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
bGV0dGVyLXNwYWNpbmcgaXMgYXBwbGllZCBhZnRlciB0ZXh0IHNoYXBpbmcuCitUaGUgdGVzdCBw
YXNzZXMgaWYgdGhlIHR3byBjaGFyYWN0ZXJzIGJlbG93IGhhdmUgc29tZSBzcGFjZSBiZXR3ZWVu
IHRoZW0uCis8ZGl2IHN0eWxlPSJmb250OiA0OHB4ICdQaW5nRmFuZyBUQyc7IGxldHRlci1zcGFj
aW5nOiAyNHB4OyI+5oOF5Y2HPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLWxldHRlci1zcGFjZS1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UtZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yNjcwNWQ4NjkyNmQxZWUxMTJhYzViZWY3ODE1MWEwYjNmNzJiN2NhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9InpoLWhr
Ij4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHN0eWxlPgorcHJlIHsKKyAgICBt
YXJnaW46IDBweDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoYXQgdGFiIGNoYXJhY3RlcnMgZ2V0IHRoZSBhcHByb3ByaWF0ZSBhbW91bnQgb2Yg
bGV0dGVyLXNwYWNpbmcuCitUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIGxlZnQgZWRnZSBvZiB0aGUg
ImMiIGJlbG93IGlzIDE1OCBwaXhlbHMgZnJvbSB0aGUgbGVmdCBlZGdlIG9mIHRoZSAiYSIgYmVs
b3cuCis8cHJlIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7Ij48cHJlIHN0eWxlPSJwb3NpdGlv
bjogYWJzb2x1dGU7IGxlZnQ6IDBweDsiPmE8L3ByZT48cHJlIHN0eWxlPSJwb3NpdGlvbjogYWJz
b2x1dGU7IGxlZnQ6IDE1OHB4OyI+YzwvcHJlPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmYz
NjBkZDVkYTIxOWJkNTdmMjlkMzA4OTk5YzRlN2ZhY2E0MDBlOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLmh0bWwKQEAgLTAsMCArMSwx
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJ6aC1oayI+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzxzdHlsZT4KK3ByZSB7CisgICAgbWFyZ2luOiAwcHg7Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHRhYiBj
aGFyYWN0ZXJzIGdldCB0aGUgYXBwcm9wcmlhdGUgYW1vdW50IG9mIGxldHRlci1zcGFjaW5nLgor
VGhlIHRlc3QgcGFzc2VzIGlmIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlICJjIiBiZWxvdyBpcyAxNTgg
cGl4ZWxzIGZyb20gdGhlIGxlZnQgZWRnZSBvZiB0aGUgImEiIGJlbG93LgorPHByZSBzdHlsZT0i
bGV0dGVyLXNwYWNpbmc6IDMwcHg7IHRhYi1zaXplOiAxMjhweDsiPmEmIzk7YzwvcHJlPgorPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406292</attachid>
            <date>2020-08-10 04:07:38 -0700</date>
            <delta_ts>2020-08-10 21:44:52 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-214769-20200810040737.patch</filename>
            <type>text/plain</type>
            <size>39006</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2VhOTExN2VlYWU4MWJm
ODYzMTQ5YTE2NDUxZWFiOWU3MDMxZDczNS4uMGFjM2NmMWE1YWMzYzYyMzkxMTUyOWQ2NDE4YTFk
NTk4M2VkNTkzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIwLTA4LTEwICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBv
ZiBDaGluZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAx
NCBiZXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGlz
IGlzIGluIHByZXBhcmF0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA2MjA4Li4KKworICAgICAgICBJbiB0aGUgZ2VuZXJhbCBjYXNlLCB0ZXh0IHNoYXBp
bmcgaXMgVHVyaW5nLWNvbXBsZXRlLiBJbiBvcmRlciBmb3IgaXQgdG8gd29yayBwcm9wZXJseSwK
KyAgICAgICAgd2UgbmVlZCB0byBmZWVkIHRoZSB0ZXh0IHNoYXBpbmcgdmlydHVhbCBtYWNoaW5l
IHRoZSBjb3JyZWN0IGlucHV0cyBzbyB0aGF0IGl0IGNhbgorICAgICAgICBwcm9kdWNlIGNvcnJl
Y3Qgb3V0cHV0cy4gVGhlIGlucHV0IHRvIHRleHQgc2hhcGluZyBpcyBzdXBwb3NlZCB0byBiZSB0
aGUgcmF3IGdseXBoCisgICAgICAgIGFkdmFuY2VzIHN0cmFpZ2h0IGZyb20gQ1RGb250R2V0QWR2
YW5jZXNGb3JHbHlwaHMoKS4KKworICAgICAgICBQcmV2aW91c2x5LCB3ZSB3ZXJlIGFwcGx5aW5n
IGxldHRlci1zcGFjaW5nLCB3b3JkLXNwYWNpbmcsIGp1c3RpZmljYXRpb24sIGFuZCB0YWIgc3Rv
cHMKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcuIE1vc3QgZm9udHMgZG9uJ3QgY2FyZSBhYm91dCB0
aGlzIGFuZCBzdGlsbCBwcm9kdWNlIHRoZSBjb3JyZWN0IHJlc3VsdHMuCisgICAgICAgIEhvd2V2
ZXIsIFBpbmcgRmFuZyBvbiBtYWNPUyBCaWcgU3VyIGFuZCBpT1MgMTQgX2RvZXNfIGNhcmUgYWJv
dXQgdGhpcywgYW5kIGl0cyBzaGFwaW5nCisgICAgICAgIHJ1bGVzIG9wZXJhdGUgaW5jb3JyZWN0
bHkgd2hlbiBmZWQgdGhlc2UgcHJlLWV4cGFuZGVkIGdseXBoIHdpZHRocy4KKworICAgICAgICBU
aGUgc29sdXRpb24gaXMgdG8gYXBwbHkgdGhpcyBleHRyYSBzcGFjaW5nIGFmdGVyIHNoYXBpbmcg
b2NjdXJzLiBIb3dldmVyLCBiZWNhdXNlCisgICAgICAgIHNoYXBpbmcgaXMgVHVyaW5nLWNvbXBs
ZXRlLCBpdCBpcyBmcmVlIHRvIGFkZCBvciByZW1vdmUgZ2x5cGhzIHdpbGx5LW5pbGx5LiBUaGlz
IG1lYW5zCisgICAgICAgIHdlIG5lZWQgc29tZSB3YXkgb2YgdHJhY2luZyBiYWNrIHdoaWNoIGNo
YXJhY3RlciBpbiB0aGUgaW5wdXQgc3RyaW5nIGNvcnJlc3BvbmQgdG8gd2hpY2gKKyAgICAgICAg
b3V0cHV0IGdseXBocywgc28gd2Uga25vdyB3aGljaCBnbHlwaHMgdG8gYWRkIGFkZGl0aW9uYWwg
c3BhY2luZyB0by4gVGhpcyBpcyB3aGF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkgZG9lczogSXQgc3dpdGNoZXMgZnJvbSB1c2luZworICAg
ICAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUds
eXBocygpLCB3aGljaCBvdXRwdXRzIHRoaXMKKyAgICAgICAgZ2x5cGgtY2hhcmFjdGVyIHRyYWNp
bmcgaW5mby4gVGhlbiwgb25jZSB3ZSBoYXZlIHRoaXMgdHJhY2luZyBpbmZvLCB3ZSBjYW4gYXBw
bHkgc3BhY2luZworICAgICAgICBwcm9wZXJseSBhZnRlciBzaGFwaW5nIGhhcyBjb21wbGV0ZWQu
IFRoYXQncyB3aGF0IHRoaXMgcGF0Y2ggZG9lcy4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0
L2xldHRlci1zcGFjaW5nLXNoYXBpbmcuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L3Rh
Yi1sZXR0ZXItc3BhY2UuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwOiBDbGllbnRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoKSBuZWVkIHRvIGNh
bGwKKyAgICAgICAgV2lkdGhJdGVyYXRvcjo6ZmluYWxpemUoKSAoc2VlIGJlbG93KS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJhbmdlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4dCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6YWRqdXN0U2VsZWN0aW9uUmVjdEZvclNp
bXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6Om9mZnNldEZv
clBvc2l0aW9uRm9yU2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvR2x5cGhCdWZmZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjpleHBhbmRJ
bml0aWFsQWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6ZXhwYW5kQWR2
YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0ZXJhdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2luZyBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwpOiBEZWxldGUgdGhlIGNv
ZGUgdGhhdCB1c2VkIHRvIGFwcGx5IHNwYWNpbmcKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcuIElu
c3RlYWQsIGl0IGdldHMgbW92ZWQgdG8gYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoKS4K
KyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0
aCBjb25zdCk6IFRoaXMgaXMgYSByZWZhY3RvcmluZyBvZgorICAgICAgICB0aGUgYWRkaXRpb25h
bCBzcGFjZSBjYWxjdWxhdGlvbiBjb2RlLiBUaGlzIGlzIGEgY29uc3QgZnVuY3Rpb24sIGFuZCBo
YXMgbm8gc2lkZS1lZmZlY3RzLgorICAgICAgICBJdCBvdXRwdXRzIDQgZmxvYXRzOgorICAgICAg
ICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBsZWZ0IG9mIHRoZSBj
dXJyZW50IGNoYXJhY3RlcgorICAgICAgICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJlIGFk
ZGVkIHRvIHRoZSByaWdodCBvZiB0aGUgY3VycmVudCBjaGFyYWN0ZXIKKyAgICAgICAgLSBIb3cg
bXVjaCBzcGFjZSBuZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgbGVmdCBvZiB0aGUgY3VycmVudCBj
aGFyYWN0ZXIgZHVlIHRvIGp1c3RpZmljYXRpb24KKyAgICAgICAgLSBIb3cgbXVjaCBzcGFjZSBu
ZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgcmlnaHQgb2YgdGhlIGN1cnJlbnQgY2hhcmFjdGVyIGR1
ZSB0byBqdXN0aWZpY2F0aW9uCisgICAgICAgIFdlIG5lZWQgdGhlc2UgbGFzdCB0d28gdmFsdWVz
IGJlY2F1c2Ugb25lIG9mIHRoZSBvdXRwdXRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoKSBp
cworICAgICAgICBhIGJvb2wgd2hpY2ggcmVwcmVzZW50cyB3aGV0aGVyIG9yIG5vdCB3ZSBhcmUg
ZW5kaW5nIG9uIGEganVzdGlmaWNhdGlvbiBzcGFjZSwgc28gdGhhdCB0aGUKKyAgICAgICAgbmV4
dCBXaWR0aEl0ZXJhdG9yIHRoYXQgZ2V0cyBjcmVhdGVkIGZvciB0aGUgbmV4dCB0aGluZyBvbiB0
aGUgbGluZSBjYW4gZm9yYmlkL3JlcXVpcmUgYQorICAgICAgICBsZWFkaW5nIGp1c3RpZmljYXRp
b24gYXBwcm9wcmlhdGVseS4KKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5
QWRkaXRpb25hbFdpZHRoKTogR2l2ZW4gdGhlIDQgdmFsdWVzIGNhbGN1bGF0ZWQgaW4KKyAgICAg
ICAgY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKCksIGFwcGx5IHRoZW0uIFdlJ3JlIG9wZXJhdGlu
ZyBpbiBsb2dpY2FsIG9yZGVyLCBzbyB0aGlzIGZ1bmN0aW9uIGhhcworICAgICAgICB0byBkbyBz
b21lIHRyYW5zbGF0aW9uIGZyb20gdmlzdWFsIG9yZGVyIHRvIGxvZ2ljYWwgb3JkZXIgKGhlbmNl
IGFsbCB0aGUgbV9ydW4ubHRyKCkgY2FsbHMpLgorICAgICAgICBJZiB3ZSdyZSB0cnlpbmcgdG8g
YWRkIHNpemUgdG8gdGhlIGxlZnQgb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpbiBMVFIsIHdlIGNh
bid0IGRpcmVjdGx5IGRvCisgICAgICAgIHRoYXQsIGJlY2F1c2UgYWR2YW5jZXMgY2FuIG9ubHkg
YWRkIHNwYWNlIHRvIHRoZSByaWdodCBzaWRlIG9mIGEgY2hhcmFjdGVyLCBhbmQgdGhlcmUgaXMg
bm8KKyAgICAgICAgY2hhcmFjdGVyIHRvIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIg
dG8gZXhwYW5kLiBUaGVyZWZvcmUsIHdlIGRvIHRoaXMgYnkgaW5jcmVhc2luZworICAgICAgICB0
aGUgaW5pdGlhbCBhZHZhbmNlIG9mIHRoZSBHbHlwaEJ1ZmZlciwgd2hpY2ggaXMgYSBzcGVjaWFs
IGFkdmFuY2UgY3JlYXRlZCBqdXN0IHRvIHNvbHZlIHRoaXMKKyAgICAgICAgcHJvYmxlbS4gSW4g
UlRMLCB0aGUgcHJvYmxlbSBpcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVkIC0gd2UgZG9uJ3Qga25v
dyB3aGV0aGVyIGFkdmFuY2UoKSB3aWxsCisgICAgICAgIGJlIGNhbGxlZCBhZ2FpbiwgdGhlcmVi
eSBkZWxpdmVyaW5nIGEgZ2x5cGggd2hpY2ggd2UgX2Nhbl8gZXhwYW5kLCBzbyB3ZSBpbnN0ZWFk
IHN0b3JlIHdoYXQKKyAgICAgICAgd291bGQgaGF2ZSBiZWVuIGV4cGFuZGVkIGluc2lkZSBtX2xl
ZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBhbmQgd2FpdCBmb3IgdGhlIG5leHQgY2FsbCB0bwor
ICAgICAgICBhZHZhbmNlKCkuIElmIG5vbmUgY29tZXMsIGNsaWVudHMgaGF2ZSB0byBjYWxsIGZp
bmFsaXplKCkgaW5zdGVhZCwgd2hpY2ggd2lsbCBhcHBseQorICAgICAgICBtX2xlZnRvdmVySnVz
dGlmaWNhdGlvbldpZHRoIHRvIHRoZSBHbHlwaEJ1ZmZlcidzIGluaXRpYWwgYWR2YW5jZS4KKyAg
ICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFw
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmZpbmFsaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRNZXRyaWNzQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TWV0cmljc0J1
aWxkZXI6Om1lYXN1cmVUZXh0UmVuZGVyZXIpOgorCiAyMDIwLTA4LTA5ICBTYWlkIEFib3UtSGFs
bGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBEcmFnL2Ry
b3AgYW4gaW1hZ2Ugb2YgYSB1bnN1cHBvcnRlZCBmb3JtYXQgdG8gYW4gZmlsZSBpbnB1dCBlbGVt
ZW50IHNob3VsZCBjb252ZXJ0IGl0IHRvIGEgc3VwcG9ydGVkIGZvcm1hdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmluZGV4IDg0ZjZiODBi
MWFmMmUyNzQxODc1MDA0NjBhODkwYjAzZjNhYjc0ZDkuLjcyZjJjMzM0MDg3MjY1ZDk4NWVlMWYz
NDcyNzZjZDFmYWNmYmZlNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTM4MCw2ICszODAsNyBAQCBmbG9hdCBGb250Q2FzY2Fk
ZTo6d2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVuJiBydW4sIHVuc2lnbmVkIGZyb20sIHVu
c2lnbmVkCiAgICAgICAgIG9mZnNldEFmdGVyUmFuZ2UgPSBzaW1wbGVJdGVyYXRvci5ydW5XaWR0
aFNvRmFyKCk7CiAgICAgICAgIHNpbXBsZUl0ZXJhdG9yLmFkdmFuY2UocnVuLmxlbmd0aCgpLCBn
bHlwaEJ1ZmZlcik7CiAgICAgICAgIHRvdGFsV2lkdGggPSBzaW1wbGVJdGVyYXRvci5ydW5XaWR0
aFNvRmFyKCk7CisgICAgICAgIHNpbXBsZUl0ZXJhdG9yLmZpbmFsaXplKGdseXBoQnVmZmVyKTsK
ICAgICB9CiAKICAgICBpZiAob3V0V2lkdGhCZWZvcmVSYW5nZSkKQEAgLTEzODUsMTEgKzEzODYs
MTMgQEAgR2x5cGhCdWZmZXIgRm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQoY29uc3QgVGV4
dFJ1biYgcnVuLCB1bnNpZ25lZCBmcm9tLCB1bnMKICAgICBmbG9hdCBpbml0aWFsQWR2YW5jZSA9
IDA7CiAgICAgaWYgKHJ1bi5ydGwoKSkgewogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgo
KSwgbG9jYWxHbHlwaEJ1ZmZlcik7CisgICAgICAgIGl0LmZpbmFsaXplKGxvY2FsR2x5cGhCdWZm
ZXIpOwogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGl0LnJ1bldpZHRoU29GYXIoKSAtIGFmdGVy
V2lkdGg7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAgICAgaXQuZmluYWxpemUobG9j
YWxHbHlwaEJ1ZmZlcik7CiAgICAgICAgIGluaXRpYWxBZHZhbmNlID0gYmVmb3JlV2lkdGg7Ci0g
ICAgLy8gRklYTUU6IERlYWwgd2l0aCB0aGUgR2x5cGhCdWZmZXIncyBjdXJyZW50IGluaXRpYWxB
ZHZhbmNlLgotICAgIGdseXBoQnVmZmVyLnNldEluaXRpYWxBZHZhbmNlKEZsb2F0U2l6ZShpbml0
aWFsQWR2YW5jZSwgMCkpOworICAgIH0KKyAgICBnbHlwaEJ1ZmZlci5leHBhbmRJbml0aWFsQWR2
YW5jZShpbml0aWFsQWR2YW5jZSk7CiAKICAgICBpZiAocnVuLnJ0bCgpKQogICAgICAgICBnbHlw
aEJ1ZmZlci5yZXZlcnNlKDAsIGdseXBoQnVmZmVyLnNpemUoKSk7CkBAIC0xNTIwLDYgKzE1MjMs
NyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6ZmxvYXRXaWR0aEZvclNpbXBsZVRleHQoY29uc3QgVGV4
dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IEZvbgogICAgIFdpZHRoSXRlcmF0b3IgaXQoKnRoaXMs
IHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7CiAgICAgR2x5cGhCdWZmZXIgZ2x5
cGhCdWZmZXI7CiAgICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksIGdseXBoQnVmZmVyKTsKKyAg
ICBpdC5maW5hbGl6ZShnbHlwaEJ1ZmZlcik7CiAKICAgICBpZiAoZ2x5cGhPdmVyZmxvdykgewog
ICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBzdGQ6Om1heDxpbnQ+KGdseXBoT3ZlcmZsb3ct
PnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gKGdseXBoT3ZlcmZsb3ct
PmNvbXB1dGVCb3VuZHMgPyAwIDogZm9udE1ldHJpY3MoKS5hc2NlbnQoKSkpOwpAQCAtMTU1NCwx
MCArMTU1OCwxMyBAQCB2b2lkIEZvbnRDYXNjYWRlOjphZGp1c3RTZWxlY3Rpb25SZWN0Rm9yU2lt
cGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIExheW91dFJlYwogCiAgICAgaWYgKHJ1bi5ydGwo
KSkgewogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSwgZ2x5cGhCdWZmZXIpOworICAg
ICAgICBpdC5maW5hbGl6ZShnbHlwaEJ1ZmZlcik7CiAgICAgICAgIGZsb2F0IHRvdGFsV2lkdGgg
PSBpdC5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNlbGVjdGlvblJlY3QubW92ZSh0b3RhbFdp
ZHRoIC0gYWZ0ZXJXaWR0aCwgMCk7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAgICAg
aXQuZmluYWxpemUoZ2x5cGhCdWZmZXIpOwogICAgICAgICBzZWxlY3Rpb25SZWN0Lm1vdmUoYmVm
b3JlV2lkdGgsIDApOworICAgIH0KICAgICBzZWxlY3Rpb25SZWN0LnNldFdpZHRoKExheW91dFVu
aXQ6OmZyb21GbG9hdENlaWwoYWZ0ZXJXaWR0aCAtIGJlZm9yZVdpZHRoKSk7CiB9CiAKQEAgLTE2
MTYsNiArMTYyMyw3IEBAIGludCBGb250Q2FzY2FkZTo6b2Zmc2V0Rm9yUG9zaXRpb25Gb3JTaW1w
bGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgZmxvYXQgeCwgYm9vCiAgICAgICAgIH0KICAgICB9
CiAKKyAgICBpdC5maW5hbGl6ZShsb2NhbEdseXBoQnVmZmVyKTsKICAgICByZXR1cm4gb2Zmc2V0
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlw
aEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIu
aAppbmRleCA5Nzg4NmIyNTA3ZTYxMGUzYjdiNTUwNzRmZTdhNTM5ZTI5MTI4NTYxLi40ODMxOWMz
ZjA1NzY1MTNhOTk5NmQxMzU3ODk3MWZjMjI2Zjg5NTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI3By
YWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxvYXRTaXpl
LmgiCiAjaW5jbHVkZSAiR2x5cGguaCIKICNpbmNsdWRlIDxjbGltaXRzPgpAQCAtMjAyLDYgKzIw
Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SW5pdGlhbEFkdmFuY2UoR2x5cGhCdWZmZXJB
ZHZhbmNlIGluaXRpYWxBZHZhbmNlKSB7IG1faW5pdGlhbEFkdmFuY2UgPSBpbml0aWFsQWR2YW5j
ZTsgfQogICAgIGNvbnN0IEdseXBoQnVmZmVyQWR2YW5jZSYgaW5pdGlhbEFkdmFuY2UoKSBjb25z
dCB7IHJldHVybiBtX2luaXRpYWxBZHZhbmNlOyB9CisgICAgdm9pZCBleHBhbmRJbml0aWFsQWR2
YW5jZShmbG9hdCB3aWR0aCkgeyBtX2luaXRpYWxBZHZhbmNlLnNldFdpZHRoKG1faW5pdGlhbEFk
dmFuY2Uud2lkdGgoKSArIHdpZHRoKTsgfQogICAgIAogICAgIHN0YXRpYyBjb25zdGV4cHIgR2x5
cGhCdWZmZXJTdHJpbmdPZmZzZXQgbm9PZmZzZXQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPEdseXBo
QnVmZmVyU3RyaW5nT2Zmc2V0Pjo6bWF4KCk7CiAgICAgdm9pZCBhZGQoR2x5cGggZ2x5cGgsIGNv
bnN0IEZvbnQmIGZvbnQsIGZsb2F0IHdpZHRoLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBvZmZz
ZXRJblN0cmluZyA9IG5vT2Zmc2V0KQpAQCAtMjU0LDYgKzI1NiwxMyBAQCBwdWJsaWM6CiAgICAg
ICAgIGxhc3RBZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0aCk7CiAg
ICAgfQogCisgICAgdm9pZCBleHBhbmRBZHZhbmNlKHVuc2lnbmVkIGluZGV4LCBmbG9hdCB3aWR0
aCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8IHNpemUoKSk7CisgICAgICAgIGF1dG8m
IGxhc3RBZHZhbmNlID0gbV9hZHZhbmNlc1tpbmRleF07CisgICAgICAgIGxhc3RBZHZhbmNlLnNl
dFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0aCk7CisgICAgfQorCiAgICAgdm9pZCBl
eHBhbmRMYXN0QWR2YW5jZShHbHlwaEJ1ZmZlckFkdmFuY2UgZXhwYW5zaW9uKQogICAgIHsKICAg
ICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRleCA3ZWIyN2Q2ZDA5MWI3NTk5ZmE5YjU1
NThmZDQ4YmJiNmIwNWQ1ODMxLi4zOWZkZWJjMjQ1MTFjNWY0Y2ZjY2JiMTY1ZTUxN2JiZjFjNzAx
ZGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmNwcApAQCAtNDYsNiArNDYsOCBAQCBXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0ZXJhdG9y
KGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZQogICAg
ICwgbV9yZXF1aXJlc1NoYXBpbmcoZm9udC5yZXF1aXJlc1NoYXBpbmcoKSkKICAgICAsIG1fZm9y
VGV4dEVtcGhhc2lzKGZvclRleHRFbXBoYXNpcykKIHsKKyAgICAvLyBGSVhNRTogU2hvdWxkIHdl
IGNsYW1wIG1fZXhwYW5zaW9uIHNvIGl0IGNhbiBuZXZlciBiZSBuZWdhdGl2ZT8KKwogICAgIGlm
ICghbV9leHBhbnNpb24pCiAgICAgICAgIG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkgPSAwOwog
ICAgIGVsc2UgewpAQCAtMTY2LDE4ICsxNjgsMTYgQEAgc3RhdGljIGlubGluZSBzdGQ6OnBhaXI8
Ym9vbCwgYm9vbD4gZXhwYW5zaW9uTG9jYXRpb24oYm9vbCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQK
ICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoZXhwYW5kTGVmdCwgZXhwYW5kUmlnaHQpOwogfQog
Citib29sIFdpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2luZygpIGNvbnN0Cit7CisgICAgcmV0
dXJuIChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1f
ZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7Cit9CisKIHRlbXBsYXRlIDx0
eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
SW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyJiBnbHlwaEJ1
ZmZlcikKIHsKICAgICAvLyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBs
ZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2ltcGxlVGV4dCgpCiAgICAgYm9vbCBydGwgPSBtX3J1bi5y
dGwoKTsKLSAgICBib29sIGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQubGV0dGVyU3BhY2luZygp
IHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2lu
Z0Rpc2FibGVkKCk7Ci0KLSAgICBib29sIHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24gPSAobV9ydW4u
ZXhwYW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZUxlZnRFeHBh
bnNpb247Ci0gICAgYm9vbCBydW5Gb3JjZXNSaWdodEV4cGFuc2lvbiA9IChtX3J1bi5leHBhbnNp
b25CZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZVJpZ2h0RXhwYW5zaW9u
OwotICAgIGJvb2wgcnVuRm9yYmlkc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhwYW5zaW9uQmVo
YXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRMZWZ0RXhwYW5zaW9uOwotICAg
IGJvb2wgcnVuRm9yYmlkc1JpZ2h0RXhwYW5zaW9uID0gKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9y
KCkgJiBSaWdodEV4cGFuc2lvbk1hc2spID09IEZvcmJpZFJpZ2h0RXhwYW5zaW9uOwotICAgIGZs
b2F0IGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoID0gMDsKIAogICAgIEZsb2F0UmVjdCBib3Vu
ZHM7CiAKQEAgLTE4NSw2ICsxODUsNyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZh
bmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgIGNv
bnN0IEZvbnQqIGxhc3RGb250RGF0YSA9ICZwcmltYXJ5Rm9udDsKICAgICB1bnNpZ25lZCBsYXN0
R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLnNpemUoKTsKIAorICAgIGF1dG8gY3VycmVudENoYXJh
Y3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgIFVDaGFyMzIgY2hh
cmFjdGVyID0gMDsKICAgICBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyID0gMDsKICAgICB1bnNp
Z25lZCBjbHVzdGVyTGVuZ3RoID0gMDsKQEAgLTE5Miw3ICsxOTMsMTEgQEAgaW5saW5lIHZvaWQg
V2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9y
LCBHbHlwaEJ1ZmYKICAgICBTdHJpbmcgbm9ybWFsaXplZFNwYWNlc1N0cmluZ0NhY2hlOwogICAg
IC8vIFdlIGFyZSBpdGVyYXRpbmcgaW4gc3RyaW5nIG9yZGVyLCBub3QgZ2x5cGggb3JkZXIuIENv
bXBhcmUgdGhpcyB0byBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFu
Y2VzKCkKICAgICB3aGlsZSAodGV4dEl0ZXJhdG9yLmNvbnN1bWUoY2hhcmFjdGVyLCBjbHVzdGVy
TGVuZ3RoKSkgeworICAgICAgICBtX2NvbnRhaW5zVGFicyB8PSBjaGFyYWN0ZXIgPT0gdGFiQ2hh
cmFjdGVyOworICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3Vy
cmVudEluZGV4KCk7CiAgICAgICAgIHVuc2lnbmVkIGFkdmFuY2VMZW5ndGggPSBjbHVzdGVyTGVu
Z3RoOworICAgICAgICBpZiAoY3VycmVudENoYXJhY3RlckluZGV4ICsgYWR2YW5jZUxlbmd0aCA9
PSBtX3J1bi5sZW5ndGgoKSkKKyAgICAgICAgICAgIG1fbGFzdENoYXJhY3RlckluZGV4ID0gY3Vy
cmVudENoYXJhY3RlckluZGV4OwogICAgICAgICBib29sIGNoYXJhY3Rlck11c3REcmF3U29tZXRo
aW5nID0gIWlzRGVmYXVsdElnbm9yYWJsZUNvZGVQb2ludChjaGFyYWN0ZXIpOwogI2lmIFVTRShG
UkVFVFlQRSkKICAgICAgICAgLy8gRnJlZXR5cGUgYmFzZWQgcG9ydHMgb25seSBvdmVycmlkZSB0
aGUgY2hhcmFjdGVycyB3aXRoIERlZmF1bHRfSWdub3JhYmxlIHVuaWNvZGUgcHJvcGVydHkgd2hl
biB0aGUgZm9udApAQCAtMjAyLDcgKzIwNyw2IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6
OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAg
ICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogI2VuZGlmCi0gICAgICAgIGludCBjdXJy
ZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAg
IGNvbnN0IEdseXBoRGF0YSYgZ2x5cGhEYXRhID0gbV9mb250LmdseXBoRGF0YUZvckNoYXJhY3Rl
cihjaGFyYWN0ZXIsIHJ0bCk7CiAgICAgICAgIEdseXBoIGdseXBoID0gZ2x5cGhEYXRhLmdseXBo
OwogICAgICAgICBpZiAoIWdseXBoICYmICFjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZykgewpA
QCAtMjEyLDE2ICsyMTYsNyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50
ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICBjb25z
dCBGb250KiBmb250ID0gZ2x5cGhEYXRhLmZvbnQgPyBnbHlwaERhdGEuZm9udCA6ICZtX2ZvbnQu
cHJpbWFyeUZvbnQoKTsKICAgICAgICAgQVNTRVJUKGZvbnQpOwogCi0gICAgICAgIC8vIE5vdyB0
aGF0IHdlIGhhdmUgYSBnbHlwaCBhbmQgZm9udCBkYXRhLCBnZXQgaXRzIHdpZHRoLgotICAgICAg
ICBmbG9hdCB3aWR0aDsKLSAgICAgICAgaWYgKGNoYXJhY3RlciA9PSAnXHQnICYmIG1fcnVuLmFs
bG93VGFicygpKQotICAgICAgICAgICAgd2lkdGggPSBtX2ZvbnQudGFiV2lkdGgoKmZvbnQsIG1f
cnVuLnRhYlNpemUoKSwgbV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyKTsKLSAgICAgICAg
ZWxzZSB7Ci0gICAgICAgICAgICB3aWR0aCA9IGZvbnQtPndpZHRoRm9yR2x5cGgoZ2x5cGgpOwot
Ci0gICAgICAgICAgICAvLyBTVkcgdXNlcyBob3Jpem9udGFsR2x5cGhTdHJldGNoKCksIHdoZW4g
dGV4dExlbmd0aCBpcyB1c2VkIHRvIHN0cmV0Y2gvc3F1ZWV6ZSB0ZXh0LgotICAgICAgICAgICAg
d2lkdGggKj0gbV9ydW4uaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOwotICAgICAgICB9CisgICAg
ICAgIGZsb2F0IHdpZHRoID0gZm9udC0+d2lkdGhGb3JHbHlwaChnbHlwaCk7CiAKICAgICAgICAg
aWYgKGZvbnQgIT0gbGFzdEZvbnREYXRhICYmIHdpZHRoKSB7CiAgICAgICAgICAgICBhdXRvIHRy
YW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFz
dEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKQEAgLTI0NCw2OSArMjM5LDYgQEAgaW5s
aW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4
dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAg
IGlmIChoYXNFeHRyYVNwYWNpbmcpIHsKLSAgICAgICAgICAgIC8vIEFjY291bnQgZm9yIGxldHRl
ci1zcGFjaW5nLgotICAgICAgICAgICAgaWYgKHdpZHRoKSB7Ci0gICAgICAgICAgICAgICAgd2lk
dGggKz0gbV9mb250LmxldHRlclNwYWNpbmcoKTsKLSAgICAgICAgICAgICAgICB3aWR0aCArPSBs
ZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aDsKLSAgICAgICAgICAgICAgICBsZWZ0b3Zlckp1c3Rp
ZmljYXRpb25XaWR0aCA9IDA7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHN0YXRpYyBi
b29sIGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgPSBGb250Q2FzY2FkZTo6Y2FuRXhwYW5kQXJvdW5k
SWRlb2dyYXBoc0luQ29tcGxleFRleHQoKTsKLSAgICAgICAgICAgIGJvb2wgdHJlYXRBc1NwYWNl
ID0gRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpOwotICAgICAgICAgICAgYm9v
bCBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlckluZGV4ICsgYWR2YW5j
ZUxlbmd0aCA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KG1fcnVuLmxlbmd0aCgpKTsKLSAgICAgICAg
ICAgIGJvb2wgZm9yY2VMZWZ0RXhwYW5zaW9uID0gZmFsc2U7IC8vIE9uIHRoZSBsZWZ0LCByZWdh
cmRsZXNzIG9mIG1fcnVuLmx0cigpCi0gICAgICAgICAgICBib29sIGZvcmNlUmlnaHRFeHBhbnNp
b24gPSBmYWxzZTsgLy8gT24gdGhlIHJpZ2h0LCByZWdhcmRsZXNzIG9mIG1fcnVuLmx0cigpCi0g
ICAgICAgICAgICBib29sIGZvcmJpZExlZnRFeHBhbnNpb24gPSBmYWxzZTsKLSAgICAgICAgICAg
IGJvb2wgZm9yYmlkUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsKLSAgICAgICAgICAgIGlmIChydW5G
b3JjZXNMZWZ0RXhwYW5zaW9uKQotICAgICAgICAgICAgICAgIGZvcmNlTGVmdEV4cGFuc2lvbiA9
IG1fcnVuLmx0cigpID8gIWN1cnJlbnRDaGFyYWN0ZXJJbmRleCA6IGN1cnJlbnRJc0xhc3RDaGFy
YWN0ZXI7Ci0gICAgICAgICAgICBpZiAocnVuRm9yY2VzUmlnaHRFeHBhbnNpb24pCi0gICAgICAg
ICAgICAgICAgZm9yY2VSaWdodEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gY3VycmVudElzTGFz
dENoYXJhY3RlciA6ICFjdXJyZW50Q2hhcmFjdGVySW5kZXg7Ci0gICAgICAgICAgICBpZiAocnVu
Rm9yYmlkc0xlZnRFeHBhbnNpb24pCi0gICAgICAgICAgICAgICAgZm9yYmlkTGVmdEV4cGFuc2lv
biA9IG1fcnVuLmx0cigpID8gIWN1cnJlbnRDaGFyYWN0ZXJJbmRleCA6IGN1cnJlbnRJc0xhc3RD
aGFyYWN0ZXI7Ci0gICAgICAgICAgICBpZiAocnVuRm9yYmlkc1JpZ2h0RXhwYW5zaW9uKQotICAg
ICAgICAgICAgICAgIGZvcmJpZFJpZ2h0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyBjdXJyZW50
SXNMYXN0Q2hhcmFjdGVyIDogIWN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKLSAgICAgICAgICAgIGJv
b2wgaWRlb2dyYXBoID0gKGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgJiYgRm9udENhc2NhZGU6Omlz
Q0pLSWRlb2dyYXBoT3JTeW1ib2woY2hhcmFjdGVyKSk7Ci0gICAgICAgICAgICBpZiAodHJlYXRB
c1NwYWNlIHx8IGlkZW9ncmFwaCB8fCBmb3JjZUxlZnRFeHBhbnNpb24gfHwgZm9yY2VSaWdodEV4
cGFuc2lvbikgewotICAgICAgICAgICAgICAgIC8vIERpc3RyaWJ1dGUgdGhlIHJ1bidzIHRvdGFs
IGV4cGFuc2lvbiBldmVubHkgb3ZlciBhbGwgZXhwYW5zaW9uIG9wcG9ydHVuaXRpZXMgaW4gdGhl
IHJ1bi4KLSAgICAgICAgICAgICAgICBpZiAobV9leHBhbnNpb24pIHsKLSAgICAgICAgICAgICAg
ICAgICAgYXV0byBbZXhwYW5kTGVmdCwgZXhwYW5kUmlnaHRdID0gZXhwYW5zaW9uTG9jYXRpb24o
aWRlb2dyYXBoLCB0cmVhdEFzU3BhY2UsIG1fcnVuLmx0cigpLCBtX2lzQWZ0ZXJFeHBhbnNpb24s
IGZvcmJpZExlZnRFeHBhbnNpb24sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uLCBmb3JjZUxlZnRFeHBh
bnNpb24sIGZvcmNlUmlnaHRFeHBhbnNpb24pOwotICAgICAgICAgICAgICAgICAgICBpZiAoZXhw
YW5kTGVmdCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5jcmVhc2UgcHJldmlvdXMgd2lkdGgKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9w
cG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciAr
PSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmIChnbHlwaEJ1ZmZlci5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKG1fZm9yVGV4dEVtcGhhc2lzKQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGZvbnQtPnplcm9XaWR0aFNwYWNlR2x5cGgoKSwgKmZv
bnQsIG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHksIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmFkZChmb250LT5zcGFjZUdseXBoKCksICpmb250
LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRMYXN0QWR2YW5jZShtX2V4cGFuc2lvblBlck9wcG9y
dHVuaXR5KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gSW5jcmVhc2UgbmV4dCB3aWR0aAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bw
b3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9u
ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgICAgICBpZiAoZXhwYW5kUmlnaHQpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB3aWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5Owot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgbV9pc0Fm
dGVyRXhwYW5zaW9uID0gZmFsc2U7Ci0KLSAgICAgICAgICAgICAgICAvLyBBY2NvdW50IGZvciB3
b3JkIHNwYWNpbmcuCi0gICAgICAgICAgICAgICAgLy8gV2UgYXBwbHkgYWRkaXRpb25hbCBzcGFj
ZSBiZXR3ZWVuICJ3b3JkcyIgYnkgYWRkaW5nIHdpZHRoIHRvIHRoZSBzcGFjZSBjaGFyYWN0ZXIu
Ci0gICAgICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFjZSAmJiAoY2hhcmFjdGVyICE9ICdcdCcg
fHwgIW1fcnVuLmFsbG93VGFicygpKSAmJiAoY3VycmVudENoYXJhY3RlckluZGV4IHx8IGNoYXJh
Y3RlciA9PSBub0JyZWFrU3BhY2UpICYmIG1fZm9udC53b3JkU3BhY2luZygpKQotICAgICAgICAg
ICAgICAgICAgICB3aWR0aCArPSBtX2ZvbnQud29yZFNwYWNpbmcoKTsKLSAgICAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IGZhbHNlOwotICAgICAg
ICB9Ci0KICAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5z
Zm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7CiAg
ICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSAmJiBGb250
Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3RlcikpIHsKICAgICAgICAgICAgIGNoYXJhY3Rl
cnNUcmVhdGVkQXNTcGFjZS5jb25zdHJ1Y3RBbmRBcHBlbmQoCkBAIC0zNDAsMTMgKzI3Miw2IEBA
IGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3Im
IHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyID0gY2hh
cmFjdGVyOwogICAgIH0KIAotICAgIGlmIChsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkgewot
ICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5h
ZGQobGFzdEZvbnREYXRhLT56ZXJvV2lkdGhTcGFjZUdseXBoKCksICpsYXN0Rm9udERhdGEsIGxl
ZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQobGFzdEZvbnREYXRhLT5zcGFjZUdseXBo
KCksICpsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5n
dGgoKSAtIDEpOwotICAgIH0KLQogICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBs
eUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFy
YWN0ZXIpOwogICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkg
ewogICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1
ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCAqbGFzdEZvbnREYXRhLCBwcmV2aW91
c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKQEAgLTM1Niw4ICsyODEsMTgyIEBAIGlubGluZSB2b2lk
IFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRv
ciwgR2x5cGhCdWZmCiAgICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3Iu
Y3VycmVudEluZGV4KCk7CiB9CiAKK2F1dG8gV2lkdGhJdGVyYXRvcjo6Y2FsY3VsYXRlQWRkaXRp
b25hbFdpZHRoKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgR2x5cGhCdWZmZXJTdHJpbmdPZmZz
ZXQgY3VycmVudENoYXJhY3RlckluZGV4LCB1bnNpZ25lZCBsZWFkaW5nR2x5cGhJbmRleCwgdW5z
aWduZWQgdHJhaWxpbmdHbHlwaEluZGV4LCBmbG9hdCBwb3NpdGlvbikgY29uc3QgLT4gQWRkaXRp
b25hbFdpZHRoCit7CisgICAgZmxvYXQgbGVmdEFkZGl0aW9uYWxXaWR0aCA9IDA7CisgICAgZmxv
YXQgcmlnaHRBZGRpdGlvbmFsV2lkdGggPSAwOworICAgIGZsb2F0IGxlZnRFeHBhbnNpb25BZGRp
dGlvbmFsV2lkdGggPSAwOworICAgIGZsb2F0IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRo
ID0gMDsKKworICAgIGF1dG8gY2hhcmFjdGVyID0gbV9ydW5bY3VycmVudENoYXJhY3RlckluZGV4
XTsKKworICAgIGlmIChjaGFyYWN0ZXIgPT0gdGFiQ2hhcmFjdGVyICYmIG1fcnVuLmFsbG93VGFi
cygpKSB7CisgICAgICAgIGF1dG8mIGZvbnQgPSBnbHlwaEJ1ZmZlci5mb250QXQodHJhaWxpbmdH
bHlwaEluZGV4KTsKKyAgICAgICAgYXV0byBuZXdXaWR0aCA9IG1fZm9udC50YWJXaWR0aChmb250
LCBtX3J1bi50YWJTaXplKCksIHBvc2l0aW9uKTsKKyAgICAgICAgYXV0byBjdXJyZW50V2lkdGgg
PSBnbHlwaEJ1ZmZlci5hZHZhbmNlQXQodHJhaWxpbmdHbHlwaEluZGV4KS53aWR0aCgpOworICAg
ICAgICByaWdodEFkZGl0aW9uYWxXaWR0aCArPSBuZXdXaWR0aCAtIGN1cnJlbnRXaWR0aDsKKyAg
ICB9CisKKyAgICBpZiAoaGFzRXh0cmFTcGFjaW5nKCkpIHsKKyAgICAgICAgYm9vbCB0cmVhdEFz
U3BhY2UgPSBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rlcik7CisKKyAgICAgICAg
Ly8gVGhpcyBpcyBhIGhldXJpc3RpYyB0byBkZXRlcm1pbmUgaWYgdGhlIGNoYXJhY3RlciBpcyBu
b24tdmlzaWJsZS4gTm9uLXZpc2libGUgY2hhcmFjdGVycyBkb24ndCBnZXQgbGV0dGVyLXNwYWNp
bmcuCisgICAgICAgIGZsb2F0IGJhc2VXaWR0aCA9IDA7CisgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IGxlYWRpbmdHbHlwaEluZGV4OyBpIDw9IHRyYWlsaW5nR2x5cGhJbmRleDsgKytpKQorICAg
ICAgICAgICAgYmFzZVdpZHRoICs9IGdseXBoQnVmZmVyLmFkdmFuY2VBdChpKS53aWR0aCgpOwor
ICAgICAgICBpZiAoYmFzZVdpZHRoKQorICAgICAgICAgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGgg
Kz0gbV9mb250LmxldHRlclNwYWNpbmcoKTsKKworICAgICAgICBpZiAodHJlYXRBc1NwYWNlICYm
IChjaGFyYWN0ZXIgIT0gdGFiQ2hhcmFjdGVyIHx8ICFtX3J1bi5hbGxvd1RhYnMoKSkgJiYgKGN1
cnJlbnRDaGFyYWN0ZXJJbmRleCB8fCBjaGFyYWN0ZXIgPT0gbm9CcmVha1NwYWNlKSAmJiBtX2Zv
bnQud29yZFNwYWNpbmcoKSkKKyAgICAgICAgICAgIHJpZ2h0QWRkaXRpb25hbFdpZHRoICs9IG1f
Zm9udC53b3JkU3BhY2luZygpOworCisgICAgICAgIGlmIChtX2V4cGFuc2lvbiA+IDApIHsKKyAg
ICAgICAgICAgIGJvb2wgY3VycmVudElzTGFzdENoYXJhY3RlciA9IG1fbGFzdENoYXJhY3Rlcklu
ZGV4ICYmIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9PSBzdGF0aWNfY2FzdDxHbHlwaEJ1ZmZlclN0
cmluZ09mZnNldD4oKm1fbGFzdENoYXJhY3RlckluZGV4KTsKKworICAgICAgICAgICAgYm9vbCBp
c0xlZnRtb3N0Q2hhcmFjdGVyID0gIWN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKKyAgICAgICAgICAg
IGJvb2wgaXNSaWdodG1vc3RDaGFyYWN0ZXIgPSBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyOworICAg
ICAgICAgICAgaWYgKCFtX3J1bi5sdHIoKSkKKyAgICAgICAgICAgICAgICBzdGQ6OnN3YXAoaXNM
ZWZ0bW9zdENoYXJhY3RlciwgaXNSaWdodG1vc3RDaGFyYWN0ZXIpOworCisgICAgICAgICAgICBi
b29sIGZvcmNlTGVmdEV4cGFuc2lvbiA9IGlzTGVmdG1vc3RDaGFyYWN0ZXIgJiYgKG1fcnVuLmV4
cGFuc2lvbkJlaGF2aW9yKCkgJiBMZWZ0RXhwYW5zaW9uTWFzaykgPT0gRm9yY2VMZWZ0RXhwYW5z
aW9uOworICAgICAgICAgICAgYm9vbCBmb3JjZVJpZ2h0RXhwYW5zaW9uID0gaXNSaWdodG1vc3RD
aGFyYWN0ZXIgJiYgKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBSaWdodEV4cGFuc2lvbk1h
c2spID09IEZvcmNlUmlnaHRFeHBhbnNpb247CisgICAgICAgICAgICBib29sIGZvcmJpZExlZnRF
eHBhbnNpb24gPSBpc0xlZnRtb3N0Q2hhcmFjdGVyICYmIChtX3J1bi5leHBhbnNpb25CZWhhdmlv
cigpICYgTGVmdEV4cGFuc2lvbk1hc2spID09IEZvcmJpZExlZnRFeHBhbnNpb247CisgICAgICAg
ICAgICBib29sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uID0gaXNSaWdodG1vc3RDaGFyYWN0ZXIgJiYg
KG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBSaWdodEV4cGFuc2lvbk1hc2spID09IEZvcmJp
ZFJpZ2h0RXhwYW5zaW9uOworCisgICAgICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBleHBhbmRB
cm91bmRJZGVvZ3JhcGhzID0gRm9udENhc2NhZGU6OmNhbkV4cGFuZEFyb3VuZElkZW9ncmFwaHNJ
bkNvbXBsZXhUZXh0KCk7CisgICAgICAgICAgICBib29sIGlzSWRlb2dyYXBoID0gZXhwYW5kQXJv
dW5kSWRlb2dyYXBocyAmJiBGb250Q2FzY2FkZTo6aXNDSktJZGVvZ3JhcGhPclN5bWJvbChjaGFy
YWN0ZXIpOworCisgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlIHx8IGlzSWRlb2dyYXBoIHx8
IGZvcmNlTGVmdEV4cGFuc2lvbiB8fCBmb3JjZVJpZ2h0RXhwYW5zaW9uKSB7CisgICAgICAgICAg
ICAgICAgYXV0byBbZXhwYW5kTGVmdCwgZXhwYW5kUmlnaHRdID0gZXhwYW5zaW9uTG9jYXRpb24o
aXNJZGVvZ3JhcGgsIHRyZWF0QXNTcGFjZSwgbV9ydW4ubHRyKCksIG1faXNBZnRlckV4cGFuc2lv
biwgZm9yYmlkTGVmdEV4cGFuc2lvbiwgZm9yYmlkUmlnaHRFeHBhbnNpb24sIGZvcmNlTGVmdEV4
cGFuc2lvbiwgZm9yY2VSaWdodEV4cGFuc2lvbik7CisKKyAgICAgICAgICAgICAgICBpZiAoZXhw
YW5kTGVmdCkKKyAgICAgICAgICAgICAgICAgICAgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0
aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OworICAgICAgICAgICAgICAgIGlmIChleHBh
bmRSaWdodCkKKyAgICAgICAgICAgICAgICAgICAgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lk
dGggKz0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0KKworICAgIHJldHVybiB7IGxlZnRBZGRpdGlvbmFsV2lkdGgsIHJpZ2h0QWRkaXRp
b25hbFdpZHRoLCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoLCByaWdodEV4cGFuc2lvbkFk
ZGl0aW9uYWxXaWR0aCB9OworfQorCitzdHJ1Y3QgR2x5cGhJbmRleFJhbmdlIHsKKyAgICAvLyBU
aGlzIG1lYW5zIHRoZSBjaGFyYWN0ZXIgZ290IGV4cGFuZGVkIHRvIGdseXBocyBpbnNpZGUgdGhl
IEdseXBoQnVmZmVyIGF0IGluZGljZXMgW2xlYWRpbmdHbHlwaEluZGV4LCB0cmFpbGluZ0dseXBo
SW5kZXhdLgorICAgIHVuc2lnbmVkIGxlYWRpbmdHbHlwaEluZGV4OworICAgIHVuc2lnbmVkIHRy
YWlsaW5nR2x5cGhJbmRleDsKK307CisKK3ZvaWQgV2lkdGhJdGVyYXRvcjo6YXBwbHlBZGRpdGlv
bmFsV2lkdGgoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBHbHlwaEluZGV4UmFuZ2UgZ2x5cGhJ
bmRleFJhbmdlLCBmbG9hdCBsZWZ0QWRkaXRpb25hbFdpZHRoLCBmbG9hdCByaWdodEFkZGl0aW9u
YWxXaWR0aCwgZmxvYXQgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRF
eHBhbnNpb25BZGRpdGlvbmFsV2lkdGgpCit7CisgICAgbV9leHBhbnNpb24gLT0gbGVmdEV4cGFu
c2lvbkFkZGl0aW9uYWxXaWR0aCArIHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOworCisg
ICAgbGVmdEFkZGl0aW9uYWxXaWR0aCArPSBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoOwor
ICAgIHJpZ2h0QWRkaXRpb25hbFdpZHRoICs9IHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRo
OworCisgICAgbV9ydW5XaWR0aFNvRmFyICs9IGxlZnRBZGRpdGlvbmFsV2lkdGg7CisgICAgbV9y
dW5XaWR0aFNvRmFyICs9IHJpZ2h0QWRkaXRpb25hbFdpZHRoOworCisgICAgaWYgKGxlZnRBZGRp
dGlvbmFsV2lkdGgpIHsKKyAgICAgICAgaWYgKG1fcnVuLmx0cigpKSB7CisgICAgICAgICAgICAv
LyBMZWZ0IGFkZGl0aW9uYWwgd2lkdGggaW4gTFRSIG1lYW5zIHRoZSBwcmV2aW91cyAobGVhZGlu
ZykgZ2x5cGgncyByaWdodCBzaWRlIGdldHMgZXhwYW5kZWQuCisgICAgICAgICAgICBhdXRvIGxl
YWRpbmdHbHlwaEluZGV4ID0gZ2x5cGhJbmRleFJhbmdlLmxlYWRpbmdHbHlwaEluZGV4OworICAg
ICAgICAgICAgaWYgKGxlYWRpbmdHbHlwaEluZGV4KQorICAgICAgICAgICAgICAgIGdseXBoQnVm
ZmVyLmV4cGFuZEFkdmFuY2UobGVhZGluZ0dseXBoSW5kZXggLSAxLCBsZWZ0QWRkaXRpb25hbFdp
ZHRoKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5leHBh
bmRJbml0aWFsQWR2YW5jZShsZWZ0QWRkaXRpb25hbFdpZHRoKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIC8vIExlZnQgYWRkaXRpb25hbCB3aWR0aCBpbiBSVEwgbWVhbnMgdGhlIG5l
eHQgKHRyYWlsaW5nKSBnbHlwaCdzIHJpZ2h0IHNpZGUgZ2V0cyBleHBhbmRlZC4KKyAgICAgICAg
ICAgIGF1dG8gdHJhaWxpbmdHbHlwaEluZGV4ID0gZ2x5cGhJbmRleFJhbmdlLnRyYWlsaW5nR2x5
cGhJbmRleDsKKyAgICAgICAgICAgIGlmICh0cmFpbGluZ0dseXBoSW5kZXggKyAxIDwgZ2x5cGhC
dWZmZXIuc2l6ZSgpKQorICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEFkdmFuY2Uo
dHJhaWxpbmdHbHlwaEluZGV4ICsgMSwgbGVmdEFkZGl0aW9uYWxXaWR0aCk7CisgICAgICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoID0g
bGVmdEFkZGl0aW9uYWxXaWR0aDsKKyAgICAgICAgICAgICAgICAvLyBXZSBjYW4ndCBhY3R1YWxs
eSBhZGQgaW4gdGhpcyB3aWR0aCBqdXN0IHlldC4KKyAgICAgICAgICAgICAgICAvLyBBZGQgaXQg
aW4gd2hlbiB0aGUgY2xpZW50IGNhbGxzIGFkdmFuY2UoKSBhZ2FpbiBvciBmaW5hbGl6ZSgpLgor
ICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciAtPSBtX2xlZnRvdmVySnVzdGlmaWNhdGlv
bldpZHRoOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKHJpZ2h0
QWRkaXRpb25hbFdpZHRoKSB7CisgICAgICAgIC8vIFJpZ2h0IGFkZGl0aW9uYWwgd2lkdGggbWVh
bnMgdGhlIGN1cnJlbnQgZ2x5cGgncyByaWdodCBzaWRlIGdldHMgZXhwYW5kZWQuIFRoaXMgaXMg
dHJ1ZSBmb3IgYm90aCBMVFIgYW5kIFJUTC4KKyAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2
YW5jZShnbHlwaEluZGV4UmFuZ2UudHJhaWxpbmdHbHlwaEluZGV4LCByaWdodEFkZGl0aW9uYWxX
aWR0aCk7CisgICAgfQorfQorCit2b2lkIFdpZHRoSXRlcmF0b3I6OmFwcGx5RXh0cmFTcGFjaW5n
QWZ0ZXJTaGFwaW5nKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgY2hhcmFjdGVy
U3RhcnRJbmRleCwgdW5zaWduZWQgZ2x5cGhCdWZmZXJTdGFydEluZGV4LCB1bnNpZ25lZCBjaGFy
YWN0ZXJEZXN0aW5hdGlvbkluZGV4LCBmbG9hdCBzdGFydGluZ1J1bldpZHRoKQoreworICAgIFZl
Y3RvcjxPcHRpb25hbDxHbHlwaEluZGV4UmFuZ2U+PiBjaGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRl
eFJhbmdlKG1fcnVuLmxlbmd0aCgpLCBXVEY6Om51bGxvcHQpOworICAgIFZlY3RvcjxmbG9hdD4g
YWR2YW5jZVdpZHRocyhtX3J1bi5sZW5ndGgoKSwgMCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0g
Z2x5cGhCdWZmZXJTdGFydEluZGV4OyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgYXV0byBzdHJpbmdPZmZzZXQgPSBnbHlwaEJ1ZmZlci5zdHJpbmdPZmZzZXRBdChpKTsK
KyAgICAgICAgYWR2YW5jZVdpZHRoc1tzdHJpbmdPZmZzZXRdICs9IGdseXBoQnVmZmVyLmFkdmFu
Y2VBdChpKS53aWR0aCgpOworICAgICAgICBhdXRvJiBnbHlwaEluZGV4UmFuZ2UgPSBjaGFyYWN0
ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlW3N0cmluZ09mZnNldF07CisgICAgICAgIGlmIChnbHlw
aEluZGV4UmFuZ2UpCisgICAgICAgICAgICBnbHlwaEluZGV4UmFuZ2UtPnRyYWlsaW5nR2x5cGhJ
bmRleCA9IGk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdseXBoSW5kZXhSYW5nZSA9IHt7
aSwgaX19OworICAgIH0KKworICAgIC8vIFNWRyBjYW4gc3RyZXRjaCBhZHZhbmNlcworICAgIGlm
IChtX3J1bi5ob3Jpem9udGFsR2x5cGhTdHJldGNoKCkgIT0gMSkgeworICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXg7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCk7
ICsraSkgeworICAgICAgICAgICAgLy8gQWxsIGNoYXJhY3RlcnMnIGFkdmFuY2VzIGdldCBzdHJl
dGNoZWQsIGV4Y2VwdCBhcHBhcmVudGx5IHRhYiBjaGFyYWN0ZXJzLi4uCisgICAgICAgICAgICAv
LyBUaGlzIGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlLCBiZWNhdXNlIGV2ZW4gdGFiIGNoYXJhY3Rl
cnMgZ2V0IGxldHRlci1zcGFjaW5nLi4uCisgICAgICAgICAgICBhdXRvIHN0cmluZ09mZnNldCA9
IGdseXBoQnVmZmVyLnN0cmluZ09mZnNldEF0KGkpOworICAgICAgICAgICAgYXV0byBjaGFyYWN0
ZXIgPSBtX3J1bltzdHJpbmdPZmZzZXRdOworICAgICAgICAgICAgaWYgKGNoYXJhY3RlciA9PSB0
YWJDaGFyYWN0ZXIpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGF1
dG8gY3VycmVudEFkdmFuY2UgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlQXQoaSkud2lkdGgoKTsKKyAg
ICAgICAgICAgIGF1dG8gbmV3QWR2YW5jZSA9IGN1cnJlbnRBZHZhbmNlICogbV9ydW4uaG9yaXpv
bnRhbEdseXBoU3RyZXRjaCgpOworICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5j
ZShpLCBuZXdBZHZhbmNlIC0gY3VycmVudEFkdmFuY2UpOworICAgICAgICB9CisgICAgfQorCisg
ICAgZmxvYXQgcG9zaXRpb24gPSBtX3J1bi54UG9zKCkgKyBzdGFydGluZ1J1bldpZHRoOworICAg
IGZvciAoYXV0byBpID0gY2hhcmFjdGVyU3RhcnRJbmRleDsgaSA8IGNoYXJhY3RlckRlc3RpbmF0
aW9uSW5kZXg7ICsraSkgeworICAgICAgICBhdXRvJiBnbHlwaEluZGV4UmFuZ2UgPSBjaGFyYWN0
ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlW2ldOworICAgICAgICBpZiAoIWdseXBoSW5kZXhSYW5n
ZSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGF1dG8gd2lkdGggPSBjYWxjdWxh
dGVBZGRpdGlvbmFsV2lkdGgoZ2x5cGhCdWZmZXIsIGksIGdseXBoSW5kZXhSYW5nZS0+bGVhZGlu
Z0dseXBoSW5kZXgsIGdseXBoSW5kZXhSYW5nZS0+dHJhaWxpbmdHbHlwaEluZGV4LCBwb3NpdGlv
bik7CisgICAgICAgIGFwcGx5QWRkaXRpb25hbFdpZHRoKGdseXBoQnVmZmVyLCBnbHlwaEluZGV4
UmFuZ2UudmFsdWUoKSwgd2lkdGgubGVmdCwgd2lkdGgucmlnaHQsIHdpZHRoLmxlZnRFeHBhbnNp
b24sIHdpZHRoLnJpZ2h0RXhwYW5zaW9uKTsKKworICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24g
PSAobV9ydW4ubHRyKCkgJiYgd2lkdGgucmlnaHRFeHBhbnNpb24pIHx8ICghbV9ydW4ubHRyKCkg
JiYgd2lkdGgubGVmdEV4cGFuc2lvbik7CisKKyAgICAgICAgLy8gVGhpcyBpc24ndCBxdWl0ZSBw
ZXJmZWN0LCBiZWNhdXNlIHdlIG1heSBjb21lIGFjcm9zcyBhIHRhYiBjaGFyYWN0ZXIgaW4gYmV0
d2VlbiB0d28gZ2x5cGhzIHdoaWNoIGJvdGggcmVwb3J0IHRvIGNvcnJlc3BvbmQgdG8gYSBwcmV2
aW91cyBjaGFyYWN0ZXIuCisgICAgICAgIC8vIEJ1dCwgdGhlIGZ1bmRhbWVudGFsIGNvbmNlcHQg
b2YgdGFicyBpc24ndCByZWFsbHkgY29tcGF0aWJsZSB3aXRoIGNvbXBsZXggdGV4dCBzaGFwaW5n
LCBzbyB0aGlzIGlzIHByb2JhYmx5IG9rYXkuCisgICAgICAgIC8vIFdlIGNhbiBwcm9iYWJseSBq
dXN0IGRvIHRoZSBiZXN0IHdlIGNhbiBoZXJlLgorICAgICAgICAvLyBUaGUgb25seSBhbHRlcm5h
dGl2ZSwgdG8gY2FsY3VsYXRlIHRoaXMgcG9zaXRpb24gaW4gZ2x5cGgtc3BhY2UgcmF0aGVyIHRo
YW4gY2hhcmFjdGVyLXNwYWNlLAorICAgICAgICAvLyBpcyBPKG5eMikgYmVjYXVzZSB3ZSdyZSBp
dGVyYXRpbmcgYWNyb3NzIHRoZSBzdHJpbmcgaGVyZSwgcmF0aGVyIHRoYW4gZ2x5cGhzLCBzbyB3
ZSBjYW4ndCBrZWVwIHRoZSBjYWxjdWxhdGlvbiB1cC10by1kYXRlLAorICAgICAgICAvLyB3aGlj
aCBtZWFucyBjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoKSB3b3VsZCBoYXZlIHRvIGNhbGN1bGF0
ZSB0aGUgcmVzdWx0IGZyb20gc2NyYXRjaCB3aGVuZXZlciBpdCdzIG5lZWRlZC4KKyAgICAgICAg
Ly8gQW5kIHdlIGNhbid0IGRvIHNvbWUgc29ydCBvZiBwcmVmaXgtc3VtIHRoaW5nIGJlY2F1c2Ug
YXBwbHlBZGRpdGlvbmFsV2lkdGgoKSB3b3VsZCBtb2RpZnkgdGhlIHZhbHVlcywKKyAgICAgICAg
Ly8gc28gdXBkYXRpbmcgdGhlIGRhdGEgc3RydWN0dXJlIGVhY2ggdHVybiBvZiB0aGlzIGxvb3Ag
d291bGQgYWxzbyBlbmQgdXAgYmVpbmcgTyhuXjIpLgorICAgICAgICAvLyBVbmZvcnR1bmF0ZWx5
LCBzdHJpbmdzIHdpdGggdGFicyBhcmUgbW9yZSBsaWtlbHkgdG8gYmUgbG9uZyBkYXRhLXRhYmxl
IGtpbmQgb2Ygc3RyaW5ncywgd2hpY2ggbWVhbnMgTyhuXjIpIGlzIG5vdCBhY2NlcHRhYmxlLgor
ICAgICAgICAvLyBBbHNvLCBldmVuIGlmIHdlIGRpZCB0aGUgTyhuXjIpIHRoaW5nLCB0aGVyZSB3
b3VsZCBzdGlsbCBiZSBjYXNlcyB0aGF0IHdvdWxkbid0IGJlIHBlcmZlY3QKKyAgICAgICAgLy8g
KGJlY2F1c2UgdGhlIGZ1bmRhbWVudGFsIGNvbmNlcHQgb2YgdGFicyBpc24ndCByZWFsbHkgY29t
cGF0aWJsZSB3aXRoIGNvbXBsZXggdGV4dCBzaGFwaW5nKSwKKyAgICAgICAgLy8gc28gbGV0J3Mg
Y2hvb3NlIHRoZSBmYXN0LXdyb25nIGFwcHJvYWNoIGhlcmUgaW5zdGVhZCBvZiB0aGUgc2xvdy13
cm9uZyBhcHByb2FjaC4KKyAgICAgICAgcG9zaXRpb24gKz0gYWR2YW5jZVdpZHRoc1tpXQorICAg
ICAgICAgICAgKyB3aWR0aC5sZWZ0CisgICAgICAgICAgICArIHdpZHRoLnJpZ2h0CisgICAgICAg
ICAgICArIHdpZHRoLmxlZnRFeHBhbnNpb24KKyAgICAgICAgICAgICsgd2lkdGgucmlnaHRFeHBh
bnNpb247CisgICAgfQorfQorCit2b2lkIFdpZHRoSXRlcmF0b3I6OmZpbmFsaXplKEdseXBoQnVm
ZmVyJiBidWZmZXIpCit7CisgICAgQVNTRVJUKG1fcnVuLnJ0bCgpIHx8ICFtX2xlZnRvdmVySnVz
dGlmaWNhdGlvbldpZHRoKTsKKyAgICAvLyBJbiBMVFIgdGhpcyBkb2VzIG5vdGhpbmcuIEluIFJU
TCwgdGhpcyBhZGRzIGxlZnQgd2lkdGggYnkgbW92aW5nIHRoZSB3aG9sZSBydW4gdG8gdGhlIHJp
Z2h0LgorICAgIGJ1ZmZlci5leHBhbmRJbml0aWFsQWR2YW5jZShtX2xlZnRvdmVySnVzdGlmaWNh
dGlvbldpZHRoKTsKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gbV9sZWZ0b3Zlckp1c3RpZmljYXRp
b25XaWR0aDsKKyAgICBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoID0gMDsKK30KKwogdm9p
ZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKHVuc2lnbmVkIG9mZnNldCwgR2x5cGhCdWZmZXImIGds
eXBoQnVmZmVyKQogeworICAgIG1fY29udGFpbnNUYWJzID0gZmFsc2U7CiAgICAgdW5zaWduZWQg
bGVuZ3RoID0gbV9ydW4ubGVuZ3RoKCk7CiAKICAgICBpZiAob2Zmc2V0ID4gbGVuZ3RoKQpAQCAt
MzY2LDE0ICs0NjUsMjggQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKHVuc2lnbmVkIG9m
ZnNldCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQogICAgIGlmIChtX2N1cnJlbnRDaGFyYWN0
ZXJJbmRleCA+PSBvZmZzZXQpCiAgICAgICAgIHJldHVybjsKIAorICAgIHVuc2lnbmVkIGNoYXJh
Y3RlclN0YXJ0SW5kZXggPSBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleDsKKyAgICB1bnNpZ25lZCBn
bHlwaEJ1ZmZlclN0YXJ0SW5kZXggPSBnbHlwaEJ1ZmZlci5zaXplKCk7CisgICAgZmxvYXQgc3Rh
cnRpbmdSdW5XaWR0aCA9IG1fcnVuV2lkdGhTb0ZhcjsKKwogICAgIGlmIChtX3J1bi5pczhCaXQo
KSkgewogICAgICAgICBMYXRpbjFUZXh0SXRlcmF0b3IgdGV4dEl0ZXJhdG9yKG1fcnVuLmRhdGE4
KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXgsIG9mZnNl
dCwgbGVuZ3RoKTsKICAgICAgICAgYWR2YW5jZUludGVybmFsKHRleHRJdGVyYXRvciwgZ2x5cGhC
dWZmZXIpOwotICAgICAgICByZXR1cm47CisgICAgfSBlbHNlIHsKKyAgICAgICAgU3Vycm9nYXRl
UGFpckF3YXJlVGV4dEl0ZXJhdG9yIHRleHRJdGVyYXRvcihtX3J1bi5kYXRhMTYobV9jdXJyZW50
Q2hhcmFjdGVySW5kZXgpLCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCwgb2Zmc2V0LCBsZW5ndGgp
OworICAgICAgICBhZHZhbmNlSW50ZXJuYWwodGV4dEl0ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7Cisg
ICAgfQorCisgICAgLy8gSW4gZ2VuZXJhbCwgd2UgaGF2ZSB0byBhcHBseSBzcGFjaW5nIGFmdGVy
IHNoYXBpbmcsIGJlY2F1c2Ugc2hhcGluZyByZXF1aXJlcyBpdHMgaW5wdXQgdG8gYmUgdW5wZXJ0
dXJiZWQgKHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDUy
KS4KKyAgICAvLyBTbywgaWYgdGhlcmUncyBleHRyYSBzcGFjaW5nIHRvIGFkZCwgZG8gaXQgaGVy
ZSBhZnRlciBzaGFwaW5nIG9jY3Vycy4KKyAgICBpZiAoZ2x5cGhCdWZmZXJTdGFydEluZGV4IDwg
Z2x5cGhCdWZmZXIuc2l6ZSgpKSB7CisgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZEFkdmFuY2Uo
Z2x5cGhCdWZmZXJTdGFydEluZGV4LCBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKTsKKyAg
ICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGg7Cisg
ICAgICAgIG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGggPSAwOwogICAgIH0KIAotICAgIFN1
cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvciB0ZXh0SXRlcmF0b3IobV9ydW4uZGF0YTE2KG1f
Y3VycmVudENoYXJhY3RlckluZGV4KSwgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwg
bGVuZ3RoKTsKLSAgICBhZHZhbmNlSW50ZXJuYWwodGV4dEl0ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7
CisgICAgaWYgKGhhc0V4dHJhU3BhY2luZygpIHx8IG1fY29udGFpbnNUYWJzIHx8IG1fcnVuLmhv
cml6b250YWxHbHlwaFN0cmV0Y2goKSAhPSAxKQorICAgICAgICBhcHBseUV4dHJhU3BhY2luZ0Fm
dGVyU2hhcGluZyhnbHlwaEJ1ZmZlciwgY2hhcmFjdGVyU3RhcnRJbmRleCwgZ2x5cGhCdWZmZXJT
dGFydEluZGV4LCBvZmZzZXQsIHN0YXJ0aW5nUnVuV2lkdGgpOwogfQogCiBib29sIFdpZHRoSXRl
cmF0b3I6OmFkdmFuY2VPbmVDaGFyYWN0ZXIoZmxvYXQmIHdpZHRoLCBHbHlwaEJ1ZmZlciYgZ2x5
cGhCdWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9X
aWR0aEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmgKaW5kZXggZmNiMGVjYjljMDQwODZjNTZjOGNkNzhmNjEyMGZiNjE5OGI0MTUxYS4u
ZDUwMTUwYThkOTc3YWRkM2IzN2I2Zjg4MWNlZWIxYjRiNmE1NjdiNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaApAQCAtMjIsNiArMjIs
NyBAQAogI2lmbmRlZiBXaWR0aEl0ZXJhdG9yX2gKICNkZWZpbmUgV2lkdGhJdGVyYXRvcl9oCiAK
KyNpbmNsdWRlICJHbHlwaEJ1ZmZlci5oIgogI2luY2x1ZGUgPHVuaWNvZGUvdW1hY2hpbmUuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTI5
LDEwICszMCwxMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGb250Q2FzY2FkZTsK
LWNsYXNzIEdseXBoQnVmZmVyOwogY2xhc3MgRm9udDsKIGNsYXNzIFRleHRSdW47CiBzdHJ1Y3Qg
R2x5cGhEYXRhOworc3RydWN0IEdseXBoSW5kZXhSYW5nZTsKIHN0cnVjdCBPcmlnaW5hbEFkdmFu
Y2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2U7CiAKIHVzaW5nIENoYXJhY3RlcnNUcmVhdGVk
QXNTcGFjZSA9IFZlY3RvcjxPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3Bh
Y2UsIDY0PjsKQEAgLTQ0LDYgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZHZhbmNlKHVu
c2lnbmVkIHRvLCBHbHlwaEJ1ZmZlciYpOwogICAgIGJvb2wgYWR2YW5jZU9uZUNoYXJhY3Rlcihm
bG9hdCYgd2lkdGgsIEdseXBoQnVmZmVyJik7CisgICAgdm9pZCBmaW5hbGl6ZShHbHlwaEJ1ZmZl
ciYpOwogCiAgICAgZmxvYXQgbWF4R2x5cGhCb3VuZGluZ0JveFkoKSBjb25zdCB7IEFTU0VSVCht
X2FjY291bnRGb3JHbHlwaEJvdW5kcyk7IHJldHVybiBtX21heEdseXBoQm91bmRpbmdCb3hZOyB9
CiAgICAgZmxvYXQgbWluR2x5cGhCb3VuZGluZ0JveFkoKSBjb25zdCB7IEFTU0VSVChtX2FjY291
bnRGb3JHbHlwaEJvdW5kcyk7IHJldHVybiBtX21pbkdseXBoQm91bmRpbmdCb3hZOyB9CkBAIC02
MywxMSArNjUsMjQgQEAgcHJpdmF0ZToKICAgICBUcmFuc2Zvcm1zVHlwZSBzaG91bGRBcHBseUZv
bnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQs
IFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0OwogICAgIGZsb2F0IGFwcGx5Rm9udFRy
YW5zZm9ybXMoR2x5cGhCdWZmZXImLCBib29sIGx0ciwgdW5zaWduZWQmIGxhc3RHbHlwaENvdW50
LCBjb25zdCBGb250JiwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7CiAKKyAgICBib29sIGhhc0V4dHJhU3BhY2luZygpIGNv
bnN0OworICAgIHZvaWQgYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoR2x5cGhCdWZmZXIm
LCB1bnNpZ25lZCBjaGFyYWN0ZXJTdGFydEluZGV4LCB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0
SW5kZXgsIHVuc2lnbmVkIGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXgsIGZsb2F0IHN0YXJ0aW5n
UnVuV2lkdGgpOworICAgIHN0cnVjdCBBZGRpdGlvbmFsV2lkdGggeworICAgICAgICBmbG9hdCBs
ZWZ0OworICAgICAgICBmbG9hdCByaWdodDsKKyAgICAgICAgZmxvYXQgbGVmdEV4cGFuc2lvbjsK
KyAgICAgICAgZmxvYXQgcmlnaHRFeHBhbnNpb247CisgICAgfTsKKyAgICBBZGRpdGlvbmFsV2lk
dGggY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKEdseXBoQnVmZmVyJiwgR2x5cGhCdWZmZXJTdHJp
bmdPZmZzZXQgY3VycmVudENoYXJhY3RlckluZGV4LCB1bnNpZ25lZCBsZWFkaW5nR2x5cGhJbmRl
eCwgdW5zaWduZWQgdHJhaWxpbmdHbHlwaEluZGV4LCBmbG9hdCBwb3NpdGlvbikgY29uc3Q7Cisg
ICAgdm9pZCBhcHBseUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYsIEdseXBoSW5kZXhSYW5n
ZSwgZmxvYXQgbGVmdEFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRBZGRpdGlvbmFsV2lkdGgs
IGZsb2F0IGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGgsIGZsb2F0IHJpZ2h0RXhwYW5zaW9u
QWRkaXRpb25hbFdpZHRoKTsKKwogICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBtX2ZvbnQ7CiAgICAg
Y29uc3QgVGV4dFJ1biYgbV9ydW47CiAgICAgSGFzaFNldDxjb25zdCBGb250Kj4qIG1fZmFsbGJh
Y2tGb250cyB7IG51bGxwdHIgfTsKIAorICAgIE9wdGlvbmFsPHVuc2lnbmVkPiBtX2xhc3RDaGFy
YWN0ZXJJbmRleDsKICAgICB1bnNpZ25lZCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCB7IDAgfTsK
KyAgICBmbG9hdCBtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoIHsgMCB9OwogICAgIGZsb2F0
IG1fcnVuV2lkdGhTb0ZhciB7IDAgfTsKICAgICBmbG9hdCBtX2V4cGFuc2lvbiB7IDAgfTsKICAg
ICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5IHsgMCB9OwpAQCAtNzUsNiArOTAsNyBA
QCBwcml2YXRlOgogICAgIGZsb2F0IG1fbWluR2x5cGhCb3VuZGluZ0JveFkgeyBzdGQ6Om51bWVy
aWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkgfTsKICAgICBmbG9hdCBtX2ZpcnN0R2x5cGhPdmVyZmxv
dyB7IDAgfTsKICAgICBmbG9hdCBtX2xhc3RHbHlwaE92ZXJmbG93IHsgMCB9OworICAgIGJvb2wg
bV9jb250YWluc1RhYnMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0FmdGVyRXhwYW5zaW9uIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fYWNjb3VudEZvckdseXBoQm91bmRzIHsgZmFsc2UgfTsKICAg
ICBib29sIG1fZW5hYmxlS2VybmluZyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHAKaW5kZXggODBiNWM3
OTFiODU4MmQ3OTk1NGMzY2I1NThjZDFhMWYwNTA3OWFjZi4uYTk0Y2EyOTkxYzFhNGFiYTlhNTJl
ZWVkNmFiZWVhZTY3YjdhZDZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNwcApAQCAtMTY1LDYgKzE2NSwxMSBAQCB2
b2lkIFNWR1RleHRNZXRyaWNzQnVpbGRlcjo6bWVhc3VyZVRleHRSZW5kZXJlcihSZW5kZXJTVkdJ
bmxpbmVUZXh0JiB0ZXh0LCBNZWFzdQogICAgICAgICBkYXRhLT5sYXN0Q2hhcmFjdGVyID0gY3Vy
cmVudENoYXJhY3RlcjsKICAgICB9CiAKKyAgICBpZiAobV9zaW1wbGVXaWR0aEl0ZXJhdG9yKSB7
CisgICAgICAgIEdseXBoQnVmZmVyIGdseXBoQnVmZmVyOworICAgICAgICBtX3NpbXBsZVdpZHRo
SXRlcmF0b3ItPmZpbmFsaXplKGdseXBoQnVmZmVyKTsKKyAgICB9CisKICAgICBpZiAoIWRhdGEt
PmFsbENoYXJhY3RlcnNNYXApCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdlZjk5YTNlOTEx
NWRiNGQxN2Q4MGE0ZWYzYTNhYjM0NzczMzMyYzQuLjU3MjY0NzE2MTk3ODA0ZWU1MDllODU1MzRj
MDQ0MzIyZGI3ODU5MjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wOC0xMCAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFNwYWNpbmcgb2Yg
Q2hpbmVzZSBjaGFyYWN0ZXJzIGlzIGluY29uc2lzdGVudCBpbiBtYWNPUyAxMS9TYWZhcmkgMTQg
YmV0YQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0
NzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBmYXN0
L3RleHQvbGV0dGVyLXNwYWNpbmctc2hhcGluZy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3RleHQvbGV0dGVyLXNwYWNpbmctc2hhcGluZy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3RleHQvdGFiLWxldHRlci1zcGFjZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3RleHQvdGFiLWxldHRlci1zcGFjZS5odG1sOiBBZGRlZC4KKwogMjAyMC0w
OC0xMCAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
TElCXSBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nLiBFbWl0IG5ldyBiYXNlbGluZXMgYWZ0ZXIg
cjI2NTQwMy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2lu
Zy1zaGFwaW5nLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvbGV0dGVyLXNw
YWNpbmctc2hhcGluZy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxYjA4ODg3MzUxNGRlMWQ3
YzljNTJlNjQ4ZTlkZmU0OGU3OTliZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvbGV0dGVyLXNwYWNpbmctc2hhcGluZy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEs
MTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iemgtaGsiPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJl
IHRoYXQgbGV0dGVyLXNwYWNpbmcgaXMgYXBwbGllZCBhZnRlciB0ZXh0IHNoYXBpbmcuCitUaGUg
dGVzdCBwYXNzZXMgaWYgdGhlIHR3byBjaGFyYWN0ZXJzIGJlbG93IGhhdmUgc29tZSBzcGFjZSBi
ZXR3ZWVuIHRoZW0uCis8ZGl2IHN0eWxlPSJmb250OiA0OHB4ICdQaW5nRmFuZyBUQyc7IGxldHRl
ci1zcGFjaW5nOiAyNHB4OyI+PHNwYW4+5oOFPC9zcGFuPjxzcGFuPuWNhzwvc3Bhbj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9sZXR0
ZXItc3BhY2luZy1zaGFwaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvbGV0dGVyLXNw
YWNpbmctc2hhcGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0MDZiNzI5YjczY2Q1YmI5MTQ2MDdmNmUz
MjIzYmM5YzgwMTA1MTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
bGV0dGVyLXNwYWNpbmctc2hhcGluZy5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWwgbGFuZz0iemgtaGsiPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgbGV0dGVyLXNwYWNp
bmcgaXMgYXBwbGllZCBhZnRlciB0ZXh0IHNoYXBpbmcuCitUaGUgdGVzdCBwYXNzZXMgaWYgdGhl
IHR3byBjaGFyYWN0ZXJzIGJlbG93IGhhdmUgc29tZSBzcGFjZSBiZXR3ZWVuIHRoZW0uCis8ZGl2
IHN0eWxlPSJmb250OiA0OHB4ICdQaW5nRmFuZyBUQyc7IGxldHRlci1zcGFjaW5nOiAyNHB4OyI+
5oOF5Y2HPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvdGFiLWxldHRlci1zcGFjZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjcwNWQ4
NjkyNmQxZWUxMTJhYzViZWY3ODE1MWEwYjNmNzJiN2NhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UtZXhwZWN0ZWQuaHRtbApAQCAtMCww
ICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9InpoLWhrIj4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHN0eWxlPgorcHJlIHsKKyAgICBtYXJnaW46IDBweDsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
dGFiIGNoYXJhY3RlcnMgZ2V0IHRoZSBhcHByb3ByaWF0ZSBhbW91bnQgb2YgbGV0dGVyLXNwYWNp
bmcuCitUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIGxlZnQgZWRnZSBvZiB0aGUgImMiIGJlbG93IGlz
IDE1OCBwaXhlbHMgZnJvbSB0aGUgbGVmdCBlZGdlIG9mIHRoZSAiYSIgYmVsb3cuCis8cHJlIHN0
eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7Ij48cHJlIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7
IGxlZnQ6IDBweDsiPmE8L3ByZT48cHJlIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6
IDE1OHB4OyI+YzwvcHJlPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmYzNjBkZDVkYTIxOWJk
NTdmMjlkMzA4OTk5YzRlN2ZhY2E0MDBlOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJ6aC1oayI+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzxzdHlsZT4KK3ByZSB7CisgICAgbWFyZ2luOiAwcHg7Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHRhYiBjaGFyYWN0ZXJzIGdl
dCB0aGUgYXBwcm9wcmlhdGUgYW1vdW50IG9mIGxldHRlci1zcGFjaW5nLgorVGhlIHRlc3QgcGFz
c2VzIGlmIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlICJjIiBiZWxvdyBpcyAxNTggcGl4ZWxzIGZyb20g
dGhlIGxlZnQgZWRnZSBvZiB0aGUgImEiIGJlbG93LgorPHByZSBzdHlsZT0ibGV0dGVyLXNwYWNp
bmc6IDMwcHg7IHRhYi1zaXplOiAxMjhweDsiPmEmIzk7YzwvcHJlPgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvdGV4dC9iYXNpYy8w
MTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvdGV4dC9iYXNp
Yy8wMTMtZXhwZWN0ZWQudHh0CmluZGV4IDgzN2ZkYmQwNmQ1OTY1ZWExZTY1MWZjNTg3Yzc4YWNm
ZjU4ZGU2MDYuLjk1M2Y2ZjRjZWJjYmJiODdhOWNlMzhlYjZkNDRlMDkyZGQ3MTRhZjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L3RleHQvYmFzaWMvMDEzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC90ZXh0L2Jhc2ljLzAx
My1leHBlY3RlZC50eHQKQEAgLTQyLDggKzQyLDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
MjY4CiAgICAgICAgICAgUmVuZGVySW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDUweDE4CiAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEzMSwwKSBzaXplIDUweDE4CiAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxMzEsMCkgd2lkdGggNTA6ICJib2xkIgotICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMTgwLDApIHNpemUgMTAxeDE4Ci0gICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTgwLDApIHdpZHRoIDEwMTogIiBlbGVtZW50LiIKKyAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDE4MCwwKSBzaXplIDEwMngxOAorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDE4MCwwKSB3aWR0aCAxMDI6ICIgZWxlbWVudC4iCiAgICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMCwzNCkgc2l6ZSA3ODR4MTgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxMzJ4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEz
MjogIlRleHQgaW5zaWRlICIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406360</attachid>
            <date>2020-08-10 21:44:37 -0700</date>
            <delta_ts>2020-08-10 21:44:37 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-214769-20200810214436.patch</filename>
            <type>text/plain</type>
            <size>38168</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTk3ODNhMTY0YjNjNGFm
NmI4YTI3NTRhOTkyMGMyMjVlYmRjZTgwZi4uZDZiODUxNzNmOTYxZDNlMjZmMmVkYzMxZmE4Mzc5
YTZjOWEzMjk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIwLTA4LTEwICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBv
ZiBDaGluZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAx
NCBiZXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGlz
IGlzIGluIHByZXBhcmF0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA2MjA4Li4KKworICAgICAgICBJbiB0aGUgZ2VuZXJhbCBjYXNlLCB0ZXh0IHNoYXBp
bmcgaXMgVHVyaW5nLWNvbXBsZXRlLiBJbiBvcmRlciBmb3IgaXQgdG8gd29yayBwcm9wZXJseSwK
KyAgICAgICAgd2UgbmVlZCB0byBmZWVkIHRoZSB0ZXh0IHNoYXBpbmcgdmlydHVhbCBtYWNoaW5l
IHRoZSBjb3JyZWN0IGlucHV0cyBzbyB0aGF0IGl0IGNhbgorICAgICAgICBwcm9kdWNlIGNvcnJl
Y3Qgb3V0cHV0cy4gVGhlIGlucHV0IHRvIHRleHQgc2hhcGluZyBpcyBzdXBwb3NlZCB0byBiZSB0
aGUgcmF3IGdseXBoCisgICAgICAgIGFkdmFuY2VzIHN0cmFpZ2h0IGZyb20gQ1RGb250R2V0QWR2
YW5jZXNGb3JHbHlwaHMoKS4KKworICAgICAgICBQcmV2aW91c2x5LCB3ZSB3ZXJlIGFwcGx5aW5n
IGxldHRlci1zcGFjaW5nLCB3b3JkLXNwYWNpbmcsIGp1c3RpZmljYXRpb24sIGFuZCB0YWIgc3Rv
cHMKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcuIE1vc3QgZm9udHMgZG9uJ3QgY2FyZSBhYm91dCB0
aGlzIGFuZCBzdGlsbCBwcm9kdWNlIHRoZSBjb3JyZWN0IHJlc3VsdHMuCisgICAgICAgIEhvd2V2
ZXIsIFBpbmcgRmFuZyBvbiBtYWNPUyBCaWcgU3VyIGFuZCBpT1MgMTQgX2RvZXNfIGNhcmUgYWJv
dXQgdGhpcywgYW5kIGl0cyBzaGFwaW5nCisgICAgICAgIHJ1bGVzIG9wZXJhdGUgaW5jb3JyZWN0
bHkgd2hlbiBmZWQgdGhlc2UgcHJlLWV4cGFuZGVkIGdseXBoIHdpZHRocy4KKworICAgICAgICBU
aGUgc29sdXRpb24gaXMgdG8gYXBwbHkgdGhpcyBleHRyYSBzcGFjaW5nIGFmdGVyIHNoYXBpbmcg
b2NjdXJzLiBIb3dldmVyLCBiZWNhdXNlCisgICAgICAgIHNoYXBpbmcgaXMgVHVyaW5nLWNvbXBs
ZXRlLCBpdCBpcyBmcmVlIHRvIGFkZCBvciByZW1vdmUgZ2x5cGhzIHdpbGx5LW5pbGx5LiBUaGlz
IG1lYW5zCisgICAgICAgIHdlIG5lZWQgc29tZSB3YXkgb2YgdHJhY2luZyBiYWNrIHdoaWNoIGNo
YXJhY3RlciBpbiB0aGUgaW5wdXQgc3RyaW5nIGNvcnJlc3BvbmQgdG8gd2hpY2gKKyAgICAgICAg
b3V0cHV0IGdseXBocywgc28gd2Uga25vdyB3aGljaCBnbHlwaHMgdG8gYWRkIGFkZGl0aW9uYWwg
c3BhY2luZyB0by4gVGhpcyBpcyB3aGF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkgZG9lczogSXQgc3dpdGNoZXMgZnJvbSB1c2luZworICAg
ICAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUds
eXBocygpLCB3aGljaCBvdXRwdXRzIHRoaXMKKyAgICAgICAgZ2x5cGgtY2hhcmFjdGVyIHRyYWNp
bmcgaW5mby4gVGhlbiwgb25jZSB3ZSBoYXZlIHRoaXMgdHJhY2luZyBpbmZvLCB3ZSBjYW4gYXBw
bHkgc3BhY2luZworICAgICAgICBwcm9wZXJseSBhZnRlciBzaGFwaW5nIGhhcyBjb21wbGV0ZWQu
IFRoYXQncyB3aGF0IHRoaXMgcGF0Y2ggZG9lcy4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0
L2xldHRlci1zcGFjaW5nLXNoYXBpbmcuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L3Rh
Yi1sZXR0ZXItc3BhY2UuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwOiBDbGllbnRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoKSBuZWVkIHRvIGNh
bGwKKyAgICAgICAgV2lkdGhJdGVyYXRvcjo6ZmluYWxpemUoKSAoc2VlIGJlbG93KS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJhbmdlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4dCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6YWRqdXN0U2VsZWN0aW9uUmVjdEZvclNp
bXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6Om9mZnNldEZv
clBvc2l0aW9uRm9yU2ltcGxlVGV4dCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvR2x5cGhCdWZmZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjpleHBhbmRJ
bml0aWFsQWR2YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6ZXhwYW5kQWR2
YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0ZXJhdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6Omhhc0V4dHJhU3BhY2luZyBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwpOiBEZWxldGUgdGhlIGNv
ZGUgdGhhdCB1c2VkIHRvIGFwcGx5IHNwYWNpbmcKKyAgICAgICAgYmVmb3JlIHNoYXBpbmcuIElu
c3RlYWQsIGl0IGdldHMgbW92ZWQgdG8gYXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoKS4K
KyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0
aCBjb25zdCk6IFRoaXMgaXMgYSByZWZhY3RvcmluZyBvZgorICAgICAgICB0aGUgYWRkaXRpb25h
bCBzcGFjZSBjYWxjdWxhdGlvbiBjb2RlLiBUaGlzIGlzIGEgY29uc3QgZnVuY3Rpb24sIGFuZCBo
YXMgbm8gc2lkZS1lZmZlY3RzLgorICAgICAgICBJdCBvdXRwdXRzIDQgZmxvYXRzOgorICAgICAg
ICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBsZWZ0IG9mIHRoZSBj
dXJyZW50IGNoYXJhY3RlcgorICAgICAgICAtIEhvdyBtdWNoIHNwYWNlIG5lZWRzIHRvIGJlIGFk
ZGVkIHRvIHRoZSByaWdodCBvZiB0aGUgY3VycmVudCBjaGFyYWN0ZXIKKyAgICAgICAgLSBIb3cg
bXVjaCBzcGFjZSBuZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgbGVmdCBvZiB0aGUgY3VycmVudCBj
aGFyYWN0ZXIgZHVlIHRvIGp1c3RpZmljYXRpb24KKyAgICAgICAgLSBIb3cgbXVjaCBzcGFjZSBu
ZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgcmlnaHQgb2YgdGhlIGN1cnJlbnQgY2hhcmFjdGVyIGR1
ZSB0byBqdXN0aWZpY2F0aW9uCisgICAgICAgIFdlIG5lZWQgdGhlc2UgbGFzdCB0d28gdmFsdWVz
IGJlY2F1c2Ugb25lIG9mIHRoZSBvdXRwdXRzIG9mIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoKSBp
cworICAgICAgICBhIGJvb2wgd2hpY2ggcmVwcmVzZW50cyB3aGV0aGVyIG9yIG5vdCB3ZSBhcmUg
ZW5kaW5nIG9uIGEganVzdGlmaWNhdGlvbiBzcGFjZSwgc28gdGhhdCB0aGUKKyAgICAgICAgbmV4
dCBXaWR0aEl0ZXJhdG9yIHRoYXQgZ2V0cyBjcmVhdGVkIGZvciB0aGUgbmV4dCB0aGluZyBvbiB0
aGUgbGluZSBjYW4gZm9yYmlkL3JlcXVpcmUgYQorICAgICAgICBsZWFkaW5nIGp1c3RpZmljYXRp
b24gYXBwcm9wcmlhdGVseS4KKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5
QWRkaXRpb25hbFdpZHRoKTogR2l2ZW4gdGhlIDQgdmFsdWVzIGNhbGN1bGF0ZWQgaW4KKyAgICAg
ICAgY2FsY3VsYXRlQWRkaXRpb25hbFdpZHRoKCksIGFwcGx5IHRoZW0uIFdlJ3JlIG9wZXJhdGlu
ZyBpbiBsb2dpY2FsIG9yZGVyLCBzbyB0aGlzIGZ1bmN0aW9uIGhhcworICAgICAgICB0byBkbyBz
b21lIHRyYW5zbGF0aW9uIGZyb20gdmlzdWFsIG9yZGVyIHRvIGxvZ2ljYWwgb3JkZXIgKGhlbmNl
IGFsbCB0aGUgbV9ydW4ubHRyKCkgY2FsbHMpLgorICAgICAgICBJZiB3ZSdyZSB0cnlpbmcgdG8g
YWRkIHNpemUgdG8gdGhlIGxlZnQgb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpbiBMVFIsIHdlIGNh
bid0IGRpcmVjdGx5IGRvCisgICAgICAgIHRoYXQsIGJlY2F1c2UgYWR2YW5jZXMgY2FuIG9ubHkg
YWRkIHNwYWNlIHRvIHRoZSByaWdodCBzaWRlIG9mIGEgY2hhcmFjdGVyLCBhbmQgdGhlcmUgaXMg
bm8KKyAgICAgICAgY2hhcmFjdGVyIHRvIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIg
dG8gZXhwYW5kLiBUaGVyZWZvcmUsIHdlIGRvIHRoaXMgYnkgaW5jcmVhc2luZworICAgICAgICB0
aGUgaW5pdGlhbCBhZHZhbmNlIG9mIHRoZSBHbHlwaEJ1ZmZlciwgd2hpY2ggaXMgYSBzcGVjaWFs
IGFkdmFuY2UgY3JlYXRlZCBqdXN0IHRvIHNvbHZlIHRoaXMKKyAgICAgICAgcHJvYmxlbS4gSW4g
UlRMLCB0aGUgcHJvYmxlbSBpcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVkIC0gd2UgZG9uJ3Qga25v
dyB3aGV0aGVyIGFkdmFuY2UoKSB3aWxsCisgICAgICAgIGJlIGNhbGxlZCBhZ2FpbiwgdGhlcmVi
eSBkZWxpdmVyaW5nIGEgZ2x5cGggd2hpY2ggd2UgX2Nhbl8gZXhwYW5kLCBzbyB3ZSBpbnN0ZWFk
IHN0b3JlIHdoYXQKKyAgICAgICAgd291bGQgaGF2ZSBiZWVuIGV4cGFuZGVkIGluc2lkZSBtX2xl
ZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBhbmQgd2FpdCBmb3IgdGhlIG5leHQgY2FsbCB0bwor
ICAgICAgICBhZHZhbmNlKCkuIElmIG5vbmUgY29tZXMsIGNsaWVudHMgaGF2ZSB0byBjYWxsIGZp
bmFsaXplKCkgaW5zdGVhZCwgd2hpY2ggd2lsbCBhcHBseQorICAgICAgICBtX2xlZnRvdmVySnVz
dGlmaWNhdGlvbldpZHRoIHRvIHRoZSBHbHlwaEJ1ZmZlcidzIGluaXRpYWwgYWR2YW5jZS4KKyAg
ICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5RXh0cmFTcGFjaW5nQWZ0ZXJTaGFw
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmZpbmFsaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRNZXRyaWNzQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TWV0cmljc0J1
aWxkZXI6Om1lYXN1cmVUZXh0UmVuZGVyZXIpOgorCiAyMDIwLTA4LTEwICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNaWdyYXRlIGZy
b20gQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKCkgdG8gQ1RGb250U2hhcGVHbHlw
aHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
Y3BwCmluZGV4IGNkNmRlZGIzNjc0OTFlZTk4MWUyYTlhZTNmOWVjYjYzNmE2NzgyMGUuLmIwMTJh
ZWZlNzA4YjA2Y2UxZTBjZTNiMzFkYTUyNDk0OTA2ZWQyYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTM4MCw2ICszODAsNyBA
QCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVuJiBydW4s
IHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkCiAgICAgICAgIG9mZnNldEFmdGVyUmFuZ2UgPSBzaW1w
bGVJdGVyYXRvci5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNpbXBsZUl0ZXJhdG9yLmFkdmFu
Y2UocnVuLmxlbmd0aCgpLCBnbHlwaEJ1ZmZlcik7CiAgICAgICAgIHRvdGFsV2lkdGggPSBzaW1w
bGVJdGVyYXRvci5ydW5XaWR0aFNvRmFyKCk7CisgICAgICAgIHNpbXBsZUl0ZXJhdG9yLmZpbmFs
aXplKGdseXBoQnVmZmVyKTsKICAgICB9CiAKICAgICBpZiAob3V0V2lkdGhCZWZvcmVSYW5nZSkK
QEAgLTEzOTAsMTEgKzEzOTEsMTMgQEAgR2x5cGhCdWZmZXIgRm9udENhc2NhZGU6OmxheW91dFNp
bXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCB1bnNpZ25lZCBmcm9tLCB1bnMKICAgICBmbG9h
dCBpbml0aWFsQWR2YW5jZSA9IDA7CiAgICAgaWYgKHJ1bi5ydGwoKSkgewogICAgICAgICBpdC5h
ZHZhbmNlKHJ1bi5sZW5ndGgoKSwgbG9jYWxHbHlwaEJ1ZmZlcik7CisgICAgICAgIGl0LmZpbmFs
aXplKGxvY2FsR2x5cGhCdWZmZXIpOwogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGl0LnJ1bldp
ZHRoU29GYXIoKSAtIGFmdGVyV2lkdGg7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAg
ICAgaXQuZmluYWxpemUobG9jYWxHbHlwaEJ1ZmZlcik7CiAgICAgICAgIGluaXRpYWxBZHZhbmNl
ID0gYmVmb3JlV2lkdGg7Ci0gICAgLy8gRklYTUU6IERlYWwgd2l0aCB0aGUgR2x5cGhCdWZmZXIn
cyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgotICAgIGdseXBoQnVmZmVyLnNldEluaXRpYWxBZHZh
bmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOworICAgIH0KKyAgICBnbHlwaEJ1ZmZl
ci5leHBhbmRJbml0aWFsQWR2YW5jZShpbml0aWFsQWR2YW5jZSk7CiAKICAgICAvLyBUaGUgZ2x5
cGggYnVmZmVyIGlzIGN1cnJlbnRseSBpbiBsb2dpY2FsIG9yZGVyLAogICAgIC8vIGJ1dCB3ZSBu
ZWVkIHRvIHJldHVybiB0aGUgcmVzdWx0cyBpbiB2aXN1YWwgb3JkZXIuCkBAIC0xNTI3LDYgKzE1
MzAsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6ZmxvYXRXaWR0aEZvclNpbXBsZVRleHQoY29uc3Qg
VGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IEZvbgogICAgIFdpZHRoSXRlcmF0b3IgaXQoKnRo
aXMsIHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7CiAgICAgR2x5cGhCdWZmZXIg
Z2x5cGhCdWZmZXI7CiAgICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksIGdseXBoQnVmZmVyKTsK
KyAgICBpdC5maW5hbGl6ZShnbHlwaEJ1ZmZlcik7CiAKICAgICBpZiAoZ2x5cGhPdmVyZmxvdykg
ewogICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBzdGQ6Om1heDxpbnQ+KGdseXBoT3ZlcmZs
b3ctPnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gKGdseXBoT3ZlcmZs
b3ctPmNvbXB1dGVCb3VuZHMgPyAwIDogZm9udE1ldHJpY3MoKS5hc2NlbnQoKSkpOwpAQCAtMTU2
MSwxMCArMTU2NSwxMyBAQCB2b2lkIEZvbnRDYXNjYWRlOjphZGp1c3RTZWxlY3Rpb25SZWN0Rm9y
U2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIExheW91dFJlYwogCiAgICAgaWYgKHJ1bi5y
dGwoKSkgewogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSwgZ2x5cGhCdWZmZXIpOwor
ICAgICAgICBpdC5maW5hbGl6ZShnbHlwaEJ1ZmZlcik7CiAgICAgICAgIGZsb2F0IHRvdGFsV2lk
dGggPSBpdC5ydW5XaWR0aFNvRmFyKCk7CiAgICAgICAgIHNlbGVjdGlvblJlY3QubW92ZSh0b3Rh
bFdpZHRoIC0gYWZ0ZXJXaWR0aCwgMCk7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAg
ICAgaXQuZmluYWxpemUoZ2x5cGhCdWZmZXIpOwogICAgICAgICBzZWxlY3Rpb25SZWN0Lm1vdmUo
YmVmb3JlV2lkdGgsIDApOworICAgIH0KICAgICBzZWxlY3Rpb25SZWN0LnNldFdpZHRoKExheW91
dFVuaXQ6OmZyb21GbG9hdENlaWwoYWZ0ZXJXaWR0aCAtIGJlZm9yZVdpZHRoKSk7CiB9CiAKQEAg
LTE2MjMsNiArMTYzMCw3IEBAIGludCBGb250Q2FzY2FkZTo6b2Zmc2V0Rm9yUG9zaXRpb25Gb3JT
aW1wbGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgZmxvYXQgeCwgYm9vCiAgICAgICAgIH0KICAg
ICB9CiAKKyAgICBpdC5maW5hbGl6ZShsb2NhbEdseXBoQnVmZmVyKTsKICAgICByZXR1cm4gb2Zm
c2V0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
bHlwaEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZm
ZXIuaAppbmRleCA5Nzg4NmIyNTA3ZTYxMGUzYjdiNTUwNzRmZTdhNTM5ZTI5MTI4NTYxLi40ODMx
OWMzZjA1NzY1MTNhOTk5NmQxMzU3ODk3MWZjMjI2Zjg5NTBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAog
I3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxvYXRT
aXplLmgiCiAjaW5jbHVkZSAiR2x5cGguaCIKICNpbmNsdWRlIDxjbGltaXRzPgpAQCAtMjAyLDYg
KzIwMyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SW5pdGlhbEFkdmFuY2UoR2x5cGhCdWZm
ZXJBZHZhbmNlIGluaXRpYWxBZHZhbmNlKSB7IG1faW5pdGlhbEFkdmFuY2UgPSBpbml0aWFsQWR2
YW5jZTsgfQogICAgIGNvbnN0IEdseXBoQnVmZmVyQWR2YW5jZSYgaW5pdGlhbEFkdmFuY2UoKSBj
b25zdCB7IHJldHVybiBtX2luaXRpYWxBZHZhbmNlOyB9CisgICAgdm9pZCBleHBhbmRJbml0aWFs
QWR2YW5jZShmbG9hdCB3aWR0aCkgeyBtX2luaXRpYWxBZHZhbmNlLnNldFdpZHRoKG1faW5pdGlh
bEFkdmFuY2Uud2lkdGgoKSArIHdpZHRoKTsgfQogICAgIAogICAgIHN0YXRpYyBjb25zdGV4cHIg
R2x5cGhCdWZmZXJTdHJpbmdPZmZzZXQgbm9PZmZzZXQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPEds
eXBoQnVmZmVyU3RyaW5nT2Zmc2V0Pjo6bWF4KCk7CiAgICAgdm9pZCBhZGQoR2x5cGggZ2x5cGgs
IGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHdpZHRoLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBv
ZmZzZXRJblN0cmluZyA9IG5vT2Zmc2V0KQpAQCAtMjU0LDYgKzI1NiwxMyBAQCBwdWJsaWM6CiAg
ICAgICAgIGxhc3RBZHZhbmNlLnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0aCk7
CiAgICAgfQogCisgICAgdm9pZCBleHBhbmRBZHZhbmNlKHVuc2lnbmVkIGluZGV4LCBmbG9hdCB3
aWR0aCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8IHNpemUoKSk7CisgICAgICAgIGF1
dG8mIGxhc3RBZHZhbmNlID0gbV9hZHZhbmNlc1tpbmRleF07CisgICAgICAgIGxhc3RBZHZhbmNl
LnNldFdpZHRoKGxhc3RBZHZhbmNlLndpZHRoKCkgKyB3aWR0aCk7CisgICAgfQorCiAgICAgdm9p
ZCBleHBhbmRMYXN0QWR2YW5jZShHbHlwaEJ1ZmZlckFkdmFuY2UgZXhwYW5zaW9uKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRleCBlMDE4ZTYyZGRhNGMwYzBiNzc4
Nzg3YTQ5MWMxN2U1OGUyY2RmZjFlLi4xMTgzNzJlYmE4MWZmZTM0ZThmNjNmYzIxNzZlYjFjZDIx
MjgzMDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmNwcApAQCAtNDYsNiArNDYsOCBAQCBXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0ZXJh
dG9yKGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZQog
ICAgICwgbV9yZXF1aXJlc1NoYXBpbmcoZm9udC5yZXF1aXJlc1NoYXBpbmcoKSkKICAgICAsIG1f
Zm9yVGV4dEVtcGhhc2lzKGZvclRleHRFbXBoYXNpcykKIHsKKyAgICAvLyBGSVhNRTogU2hvdWxk
IHdlIGNsYW1wIG1fZXhwYW5zaW9uIHNvIGl0IGNhbiBuZXZlciBiZSBuZWdhdGl2ZT8KKwogICAg
IGlmICghbV9leHBhbnNpb24pCiAgICAgICAgIG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkgPSAw
OwogICAgIGVsc2UgewpAQCAtMTgyLDE4ICsxODQsMTYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjpj
b21taXRDdXJyZW50Rm9udFJhbmdlKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQg
bGEKICAgICB9CiB9CiAKK2Jvb2wgV2lkdGhJdGVyYXRvcjo6aGFzRXh0cmFTcGFjaW5nKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gKG1fZm9udC5sZXR0ZXJTcGFjaW5nKCkgfHwgbV9mb250LndvcmRT
cGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsKK30K
KwogdGVtcGxhdGUgPHR5cGVuYW1lIFRleHRJdGVyYXRvcj4KIGlubGluZSB2b2lkIFdpZHRoSXRl
cmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhC
dWZmZXImIGdseXBoQnVmZmVyKQogewogICAgIC8vIFRoZSBjb3JlIGxvZ2ljIGhlcmUgbmVlZHMg
dG8gbWF0Y2ggRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpCiAgICAgYm9vbCBydGwg
PSBtX3J1bi5ydGwoKTsKLSAgICBib29sIGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQubGV0dGVy
U3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9y
dW4uc3BhY2luZ0Rpc2FibGVkKCk7Ci0KLSAgICBib29sIHJ1bkZvcmNlc0xlZnRFeHBhbnNpb24g
PSAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3Jj
ZUxlZnRFeHBhbnNpb247Ci0gICAgYm9vbCBydW5Gb3JjZXNSaWdodEV4cGFuc2lvbiA9IChtX3J1
bi5leHBhbnNpb25CZWhhdmlvcigpICYgUmlnaHRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZVJpZ2h0
RXhwYW5zaW9uOwotICAgIGJvb2wgcnVuRm9yYmlkc0xlZnRFeHBhbnNpb24gPSAobV9ydW4uZXhw
YW5zaW9uQmVoYXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRMZWZ0RXhwYW5z
aW9uOwotICAgIGJvb2wgcnVuRm9yYmlkc1JpZ2h0RXhwYW5zaW9uID0gKG1fcnVuLmV4cGFuc2lv
bkJlaGF2aW9yKCkgJiBSaWdodEV4cGFuc2lvbk1hc2spID09IEZvcmJpZFJpZ2h0RXhwYW5zaW9u
OwotICAgIGZsb2F0IGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoID0gMDsKIAogICAgIEZsb2F0
UmVjdCBib3VuZHM7CiAKQEAgLTIwOCw3ICsyMDgsMTEgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVy
YXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1
ZmYKICAgICBmbG9hdCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSA9IDA7CiAgICAgLy8gV2UgYXJl
IGl0ZXJhdGluZyBpbiBzdHJpbmcgb3JkZXIsIG5vdCBnbHlwaCBvcmRlci4gQ29tcGFyZSB0aGlz
IHRvIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzQW5kQWR2YW5jZXMoKQogICAg
IHdoaWxlICh0ZXh0SXRlcmF0b3IuY29uc3VtZShjaGFyYWN0ZXIsIGNsdXN0ZXJMZW5ndGgpKSB7
CisgICAgICAgIG1fY29udGFpbnNUYWJzIHw9IGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXI7Cisg
ICAgICAgIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgo
KTsKICAgICAgICAgdW5zaWduZWQgYWR2YW5jZUxlbmd0aCA9IGNsdXN0ZXJMZW5ndGg7CisgICAg
ICAgIGlmIChjdXJyZW50Q2hhcmFjdGVySW5kZXggKyBhZHZhbmNlTGVuZ3RoID09IG1fcnVuLmxl
bmd0aCgpKQorICAgICAgICAgICAgbV9sYXN0Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50Q2hhcmFj
dGVySW5kZXg7CiAgICAgICAgIGJvb2wgY2hhcmFjdGVyTXVzdERyYXdTb21ldGhpbmcgPSAhaXNE
ZWZhdWx0SWdub3JhYmxlQ29kZVBvaW50KGNoYXJhY3Rlcik7CiAjaWYgVVNFKEZSRUVUWVBFKQog
ICAgICAgICAvLyBGcmVldHlwZSBiYXNlZCBwb3J0cyBvbmx5IG92ZXJyaWRlIHRoZSBjaGFyYWN0
ZXJzIHdpdGggRGVmYXVsdF9JZ25vcmFibGUgdW5pY29kZSBwcm9wZXJ0eSB3aGVuIHRoZSBmb250
CkBAIC0yMjksMTYgKzIzMyw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJ
bnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgIGNv
bnN0IEZvbnQqIGZvbnQgPSBnbHlwaERhdGEuZm9udCA/IGdseXBoRGF0YS5mb250IDogJm1fZm9u
dC5wcmltYXJ5Rm9udCgpOwogICAgICAgICBBU1NFUlQoZm9udCk7CiAKLSAgICAgICAgLy8gTm93
IHRoYXQgd2UgaGF2ZSBhIGdseXBoIGFuZCBmb250IGRhdGEsIGdldCBpdHMgd2lkdGguCi0gICAg
ICAgIGZsb2F0IHdpZHRoOwotICAgICAgICBpZiAoY2hhcmFjdGVyID09ICdcdCcgJiYgbV9ydW4u
YWxsb3dUYWJzKCkpCi0gICAgICAgICAgICB3aWR0aCA9IG1fZm9udC50YWJXaWR0aCgqZm9udCwg
bV9ydW4udGFiU2l6ZSgpLCBtX3J1bi54UG9zKCkgKyBtX3J1bldpZHRoU29GYXIpOwotICAgICAg
ICBlbHNlIHsKLSAgICAgICAgICAgIHdpZHRoID0gZm9udC0+d2lkdGhGb3JHbHlwaChnbHlwaCk7
Ci0KLSAgICAgICAgICAgIC8vIFNWRyB1c2VzIGhvcml6b250YWxHbHlwaFN0cmV0Y2goKSwgd2hl
biB0ZXh0TGVuZ3RoIGlzIHVzZWQgdG8gc3RyZXRjaC9zcXVlZXplIHRleHQuCi0gICAgICAgICAg
ICB3aWR0aCAqPSBtX3J1bi5ob3Jpem9udGFsR2x5cGhTdHJldGNoKCk7Ci0gICAgICAgIH0KKyAg
ICAgICAgZmxvYXQgd2lkdGggPSBmb250LT53aWR0aEZvckdseXBoKGdseXBoKTsKIAogICAgICAg
ICBpZiAoZm9udCAhPSBsYXN0Rm9udERhdGEpIHsKICAgICAgICAgICAgIGNvbW1pdEN1cnJlbnRG
b250UmFuZ2UoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5k
ZXgsICpsYXN0Rm9udERhdGEsIHByaW1hcnlGb250LCBjaGFyYWN0ZXIsIHdpZHRoT2ZDdXJyZW50
Rm9udFJhbmdlLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwpAQCAtMjQ4LDcxICsyNDMsNiBA
QCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9y
JiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHdp
ZHRoT2ZDdXJyZW50Rm9udFJhbmdlICs9IHdpZHRoOwogCi0gICAgICAgIGlmIChoYXNFeHRyYVNw
YWNpbmcpIHsKLSAgICAgICAgICAgIC8vIEFjY291bnQgZm9yIGxldHRlci1zcGFjaW5nLgotICAg
ICAgICAgICAgaWYgKHdpZHRoKSB7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gbV9mb250Lmxl
dHRlclNwYWNpbmcoKTsKLSAgICAgICAgICAgICAgICB3aWR0aCArPSBsZWZ0b3Zlckp1c3RpZmlj
YXRpb25XaWR0aDsKLSAgICAgICAgICAgICAgICBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCA9
IDA7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHN0YXRpYyBib29sIGV4cGFuZEFyb3Vu
ZElkZW9ncmFwaHMgPSBGb250Q2FzY2FkZTo6Y2FuRXhwYW5kQXJvdW5kSWRlb2dyYXBoc0luQ29t
cGxleFRleHQoKTsKLSAgICAgICAgICAgIGJvb2wgdHJlYXRBc1NwYWNlID0gRm9udENhc2NhZGU6
OnRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpOwotICAgICAgICAgICAgYm9vbCBjdXJyZW50SXNMYXN0
Q2hhcmFjdGVyID0gY3VycmVudENoYXJhY3RlckluZGV4ICsgYWR2YW5jZUxlbmd0aCA9PSBzdGF0
aWNfY2FzdDxzaXplX3Q+KG1fcnVuLmxlbmd0aCgpKTsKLSAgICAgICAgICAgIGJvb2wgZm9yY2VM
ZWZ0RXhwYW5zaW9uID0gZmFsc2U7IC8vIE9uIHRoZSBsZWZ0LCByZWdhcmRsZXNzIG9mIG1fcnVu
Lmx0cigpCi0gICAgICAgICAgICBib29sIGZvcmNlUmlnaHRFeHBhbnNpb24gPSBmYWxzZTsgLy8g
T24gdGhlIHJpZ2h0LCByZWdhcmRsZXNzIG9mIG1fcnVuLmx0cigpCi0gICAgICAgICAgICBib29s
IGZvcmJpZExlZnRFeHBhbnNpb24gPSBmYWxzZTsKLSAgICAgICAgICAgIGJvb2wgZm9yYmlkUmln
aHRFeHBhbnNpb24gPSBmYWxzZTsKLSAgICAgICAgICAgIGlmIChydW5Gb3JjZXNMZWZ0RXhwYW5z
aW9uKQotICAgICAgICAgICAgICAgIGZvcmNlTGVmdEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8g
IWN1cnJlbnRDaGFyYWN0ZXJJbmRleCA6IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXI7Ci0gICAgICAg
ICAgICBpZiAocnVuRm9yY2VzUmlnaHRFeHBhbnNpb24pCi0gICAgICAgICAgICAgICAgZm9yY2VS
aWdodEV4cGFuc2lvbiA9IG1fcnVuLmx0cigpID8gY3VycmVudElzTGFzdENoYXJhY3RlciA6ICFj
dXJyZW50Q2hhcmFjdGVySW5kZXg7Ci0gICAgICAgICAgICBpZiAocnVuRm9yYmlkc0xlZnRFeHBh
bnNpb24pCi0gICAgICAgICAgICAgICAgZm9yYmlkTGVmdEV4cGFuc2lvbiA9IG1fcnVuLmx0cigp
ID8gIWN1cnJlbnRDaGFyYWN0ZXJJbmRleCA6IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXI7Ci0gICAg
ICAgICAgICBpZiAocnVuRm9yYmlkc1JpZ2h0RXhwYW5zaW9uKQotICAgICAgICAgICAgICAgIGZv
cmJpZFJpZ2h0RXhwYW5zaW9uID0gbV9ydW4ubHRyKCkgPyBjdXJyZW50SXNMYXN0Q2hhcmFjdGVy
IDogIWN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKLSAgICAgICAgICAgIGJvb2wgaWRlb2dyYXBoID0g
KGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgJiYgRm9udENhc2NhZGU6OmlzQ0pLSWRlb2dyYXBoT3JT
eW1ib2woY2hhcmFjdGVyKSk7Ci0gICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlIHx8IGlkZW9n
cmFwaCB8fCBmb3JjZUxlZnRFeHBhbnNpb24gfHwgZm9yY2VSaWdodEV4cGFuc2lvbikgewotICAg
ICAgICAgICAgICAgIC8vIERpc3RyaWJ1dGUgdGhlIHJ1bidzIHRvdGFsIGV4cGFuc2lvbiBldmVu
bHkgb3ZlciBhbGwgZXhwYW5zaW9uIG9wcG9ydHVuaXRpZXMgaW4gdGhlIHJ1bi4KLSAgICAgICAg
ICAgICAgICBpZiAobV9leHBhbnNpb24pIHsKLSAgICAgICAgICAgICAgICAgICAgYXV0byBbZXhw
YW5kTGVmdCwgZXhwYW5kUmlnaHRdID0gZXhwYW5zaW9uTG9jYXRpb24oaWRlb2dyYXBoLCB0cmVh
dEFzU3BhY2UsIG1fcnVuLmx0cigpLCBtX2lzQWZ0ZXJFeHBhbnNpb24sIGZvcmJpZExlZnRFeHBh
bnNpb24sIGZvcmJpZFJpZ2h0RXhwYW5zaW9uLCBmb3JjZUxlZnRFeHBhbnNpb24sIGZvcmNlUmln
aHRFeHBhbnNpb24pOwotICAgICAgICAgICAgICAgICAgICBpZiAoZXhwYW5kTGVmdCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gSW5jcmVhc2UgcHJldmlvdXMgd2lkdGgKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBtX2V4cGFuc2lvblBl
ck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZl
ci5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fZm9y
VGV4dEVtcGhhc2lzKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhC
dWZmZXIuYWRkKGZvbnQtPnplcm9XaWR0aFNwYWNlR2x5cGgoKSwgKmZvbnQsIG1fZXhwYW5zaW9u
UGVyT3Bwb3J0dW5pdHksIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdseXBoQnVmZmVyLmFkZChmb250LT5zcGFjZUdseXBoKCksICpmb250LCBtX2V4cGFuc2lvblBl
ck9wcG9ydHVuaXR5LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLnNpemUoKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSBjdXJy
ZW50Q2hhcmFjdGVySW5kZXg7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZExhc3RBZHZh
bmNlKG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkpOwotICAgICAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNyZWFzZSBuZXh0IHdp
ZHRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lk
dGggKz0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGlmIChleHBhbmRS
aWdodCkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0gbV9leHBhbnNp
b25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICs9IG1fZXhw
YW5zaW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAobV9ydW4u
bHRyKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKLQotICAgICAgICAg
ICAgICAgIC8vIEFjY291bnQgZm9yIHdvcmQgc3BhY2luZy4KLSAgICAgICAgICAgICAgICAvLyBX
ZSBhcHBseSBhZGRpdGlvbmFsIHNwYWNlIGJldHdlZW4gIndvcmRzIiBieSBhZGRpbmcgd2lkdGgg
dG8gdGhlIHNwYWNlIGNoYXJhY3Rlci4KLSAgICAgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNl
ICYmIChjaGFyYWN0ZXIgIT0gJ1x0JyB8fCAhbV9ydW4uYWxsb3dUYWJzKCkpICYmIChjdXJyZW50
Q2hhcmFjdGVySW5kZXggfHwgY2hhcmFjdGVyID09IG5vQnJlYWtTcGFjZSkgJiYgbV9mb250Lndv
cmRTcGFjaW5nKCkpCi0gICAgICAgICAgICAgICAgICAgIHdpZHRoICs9IG1fZm9udC53b3JkU3Bh
Y2luZygpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhw
YW5zaW9uID0gZmFsc2U7Ci0gICAgICAgIH0KLQogICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBl
ID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQs
IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CiAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBU
cmFuc2Zvcm1zVHlwZTo6Tm9uZSAmJiBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rl
cikpIHsKICAgICAgICAgICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5jb25zdHJ1Y3RBbmRB
cHBlbmQoCkBAIC0zNDcsMTcgKzI3NywxODQgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6
YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAg
ICB9CiAKICAgICBjb21taXRDdXJyZW50Rm9udFJhbmdlKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhD
b3VudCwgY3VycmVudENoYXJhY3RlckluZGV4LCAqbGFzdEZvbnREYXRhLCBwcmltYXJ5Rm9udCwg
Y2hhcmFjdGVyLCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSwgY2hhcmFjdGVyc1RyZWF0ZWRBc1Nw
YWNlKTsKK30KKworYXV0byBXaWR0aEl0ZXJhdG9yOjpjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgo
R2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBHbHlwaEJ1ZmZlclN0cmluZ09mZnNldCBjdXJyZW50
Q2hhcmFjdGVySW5kZXgsIHVuc2lnbmVkIGxlYWRpbmdHbHlwaEluZGV4LCB1bnNpZ25lZCB0cmFp
bGluZ0dseXBoSW5kZXgsIGZsb2F0IHBvc2l0aW9uKSBjb25zdCAtPiBBZGRpdGlvbmFsV2lkdGgK
K3sKKyAgICBmbG9hdCBsZWZ0QWRkaXRpb25hbFdpZHRoID0gMDsKKyAgICBmbG9hdCByaWdodEFk
ZGl0aW9uYWxXaWR0aCA9IDA7CisgICAgZmxvYXQgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0
aCA9IDA7CisgICAgZmxvYXQgcmlnaHRFeHBhbnNpb25BZGRpdGlvbmFsV2lkdGggPSAwOworCisg
ICAgYXV0byBjaGFyYWN0ZXIgPSBtX3J1bltjdXJyZW50Q2hhcmFjdGVySW5kZXhdOworCisgICAg
aWYgKGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXIgJiYgbV9ydW4uYWxsb3dUYWJzKCkpIHsKKyAg
ICAgICAgYXV0byYgZm9udCA9IGdseXBoQnVmZmVyLmZvbnRBdCh0cmFpbGluZ0dseXBoSW5kZXgp
OworICAgICAgICBhdXRvIG5ld1dpZHRoID0gbV9mb250LnRhYldpZHRoKGZvbnQsIG1fcnVuLnRh
YlNpemUoKSwgcG9zaXRpb24pOworICAgICAgICBhdXRvIGN1cnJlbnRXaWR0aCA9IGdseXBoQnVm
ZmVyLmFkdmFuY2VBdCh0cmFpbGluZ0dseXBoSW5kZXgpLndpZHRoKCk7CisgICAgICAgIHJpZ2h0
QWRkaXRpb25hbFdpZHRoICs9IG5ld1dpZHRoIC0gY3VycmVudFdpZHRoOworICAgIH0KKworICAg
IGlmIChoYXNFeHRyYVNwYWNpbmcoKSkgeworICAgICAgICBib29sIHRyZWF0QXNTcGFjZSA9IEZv
bnRDYXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hhcmFjdGVyKTsKKworICAgICAgICAvLyBUaGlzIGlz
IGEgaGV1cmlzdGljIHRvIGRldGVybWluZSBpZiB0aGUgY2hhcmFjdGVyIGlzIG5vbi12aXNpYmxl
LiBOb24tdmlzaWJsZSBjaGFyYWN0ZXJzIGRvbid0IGdldCBsZXR0ZXItc3BhY2luZy4KKyAgICAg
ICAgZmxvYXQgYmFzZVdpZHRoID0gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbGVhZGlu
Z0dseXBoSW5kZXg7IGkgPD0gdHJhaWxpbmdHbHlwaEluZGV4OyArK2kpCisgICAgICAgICAgICBi
YXNlV2lkdGggKz0gZ2x5cGhCdWZmZXIuYWR2YW5jZUF0KGkpLndpZHRoKCk7CisgICAgICAgIGlm
IChiYXNlV2lkdGgpCisgICAgICAgICAgICByaWdodEFkZGl0aW9uYWxXaWR0aCArPSBtX2ZvbnQu
bGV0dGVyU3BhY2luZygpOworCisgICAgICAgIGlmICh0cmVhdEFzU3BhY2UgJiYgKGNoYXJhY3Rl
ciAhPSB0YWJDaGFyYWN0ZXIgfHwgIW1fcnVuLmFsbG93VGFicygpKSAmJiAoY3VycmVudENoYXJh
Y3RlckluZGV4IHx8IGNoYXJhY3RlciA9PSBub0JyZWFrU3BhY2UpICYmIG1fZm9udC53b3JkU3Bh
Y2luZygpKQorICAgICAgICAgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gbV9mb250LndvcmRT
cGFjaW5nKCk7CisKKyAgICAgICAgaWYgKG1fZXhwYW5zaW9uID4gMCkgeworICAgICAgICAgICAg
Ym9vbCBjdXJyZW50SXNMYXN0Q2hhcmFjdGVyID0gbV9sYXN0Q2hhcmFjdGVySW5kZXggJiYgY3Vy
cmVudENoYXJhY3RlckluZGV4ID09IHN0YXRpY19jYXN0PEdseXBoQnVmZmVyU3RyaW5nT2Zmc2V0
PigqbV9sYXN0Q2hhcmFjdGVySW5kZXgpOworCisgICAgICAgICAgICBib29sIGlzTGVmdG1vc3RD
aGFyYWN0ZXIgPSAhY3VycmVudENoYXJhY3RlckluZGV4OworICAgICAgICAgICAgYm9vbCBpc1Jp
Z2h0bW9zdENoYXJhY3RlciA9IGN1cnJlbnRJc0xhc3RDaGFyYWN0ZXI7CisgICAgICAgICAgICBp
ZiAoIW1fcnVuLmx0cigpKQorICAgICAgICAgICAgICAgIHN0ZDo6c3dhcChpc0xlZnRtb3N0Q2hh
cmFjdGVyLCBpc1JpZ2h0bW9zdENoYXJhY3Rlcik7CisKKyAgICAgICAgICAgIGJvb2wgZm9yY2VM
ZWZ0RXhwYW5zaW9uID0gaXNMZWZ0bW9zdENoYXJhY3RlciAmJiAobV9ydW4uZXhwYW5zaW9uQmVo
YXZpb3IoKSAmIExlZnRFeHBhbnNpb25NYXNrKSA9PSBGb3JjZUxlZnRFeHBhbnNpb247CisgICAg
ICAgICAgICBib29sIGZvcmNlUmlnaHRFeHBhbnNpb24gPSBpc1JpZ2h0bW9zdENoYXJhY3RlciAm
JiAobV9ydW4uZXhwYW5zaW9uQmVoYXZpb3IoKSAmIFJpZ2h0RXhwYW5zaW9uTWFzaykgPT0gRm9y
Y2VSaWdodEV4cGFuc2lvbjsKKyAgICAgICAgICAgIGJvb2wgZm9yYmlkTGVmdEV4cGFuc2lvbiA9
IGlzTGVmdG1vc3RDaGFyYWN0ZXIgJiYgKG1fcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBMZWZ0
RXhwYW5zaW9uTWFzaykgPT0gRm9yYmlkTGVmdEV4cGFuc2lvbjsKKyAgICAgICAgICAgIGJvb2wg
Zm9yYmlkUmlnaHRFeHBhbnNpb24gPSBpc1JpZ2h0bW9zdENoYXJhY3RlciAmJiAobV9ydW4uZXhw
YW5zaW9uQmVoYXZpb3IoKSAmIFJpZ2h0RXhwYW5zaW9uTWFzaykgPT0gRm9yYmlkUmlnaHRFeHBh
bnNpb247CisKKyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIGV4cGFuZEFyb3VuZElkZW9n
cmFwaHMgPSBGb250Q2FzY2FkZTo6Y2FuRXhwYW5kQXJvdW5kSWRlb2dyYXBoc0luQ29tcGxleFRl
eHQoKTsKKyAgICAgICAgICAgIGJvb2wgaXNJZGVvZ3JhcGggPSBleHBhbmRBcm91bmRJZGVvZ3Jh
cGhzICYmIEZvbnRDYXNjYWRlOjppc0NKS0lkZW9ncmFwaE9yU3ltYm9sKGNoYXJhY3Rlcik7CisK
KyAgICAgICAgICAgIGlmICh0cmVhdEFzU3BhY2UgfHwgaXNJZGVvZ3JhcGggfHwgZm9yY2VMZWZ0
RXhwYW5zaW9uIHx8IGZvcmNlUmlnaHRFeHBhbnNpb24pIHsKKyAgICAgICAgICAgICAgICBhdXRv
IFtleHBhbmRMZWZ0LCBleHBhbmRSaWdodF0gPSBleHBhbnNpb25Mb2NhdGlvbihpc0lkZW9ncmFw
aCwgdHJlYXRBc1NwYWNlLCBtX3J1bi5sdHIoKSwgbV9pc0FmdGVyRXhwYW5zaW9uLCBmb3JiaWRM
ZWZ0RXhwYW5zaW9uLCBmb3JiaWRSaWdodEV4cGFuc2lvbiwgZm9yY2VMZWZ0RXhwYW5zaW9uLCBm
b3JjZVJpZ2h0RXhwYW5zaW9uKTsKKworICAgICAgICAgICAgICAgIGlmIChleHBhbmRMZWZ0KQor
ICAgICAgICAgICAgICAgICAgICBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICs9IG1fZXhw
YW5zaW9uUGVyT3Bwb3J0dW5pdHk7CisgICAgICAgICAgICAgICAgaWYgKGV4cGFuZFJpZ2h0KQor
ICAgICAgICAgICAgICAgICAgICByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCArPSBtX2V4
cGFuc2lvblBlck9wcG9ydHVuaXR5OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQog
Ci0gICAgaWYgKGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKSB7Ci0gICAgICAgIGlmIChtX2Zv
clRleHRFbXBoYXNpcykKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLmFkZChsYXN0Rm9udERhdGEt
Pnplcm9XaWR0aFNwYWNlR2x5cGgoKSwgKmxhc3RGb250RGF0YSwgbGVmdG92ZXJKdXN0aWZpY2F0
aW9uV2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7CisgICAgcmV0dXJuIHsgbGVmdEFkZGl0aW9u
YWxXaWR0aCwgcmlnaHRBZGRpdGlvbmFsV2lkdGgsIGxlZnRFeHBhbnNpb25BZGRpdGlvbmFsV2lk
dGgsIHJpZ2h0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoIH07Cit9CisKK3N0cnVjdCBHbHlwaElu
ZGV4UmFuZ2UgeworICAgIC8vIFRoaXMgbWVhbnMgdGhlIGNoYXJhY3RlciBnb3QgZXhwYW5kZWQg
dG8gZ2x5cGhzIGluc2lkZSB0aGUgR2x5cGhCdWZmZXIgYXQgaW5kaWNlcyBbbGVhZGluZ0dseXBo
SW5kZXgsIHRyYWlsaW5nR2x5cGhJbmRleF0uCisgICAgdW5zaWduZWQgbGVhZGluZ0dseXBoSW5k
ZXg7CisgICAgdW5zaWduZWQgdHJhaWxpbmdHbHlwaEluZGV4OworfTsKKwordm9pZCBXaWR0aEl0
ZXJhdG9yOjphcHBseUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIEds
eXBoSW5kZXhSYW5nZSBnbHlwaEluZGV4UmFuZ2UsIGZsb2F0IGxlZnRBZGRpdGlvbmFsV2lkdGgs
IGZsb2F0IHJpZ2h0QWRkaXRpb25hbFdpZHRoLCBmbG9hdCBsZWZ0RXhwYW5zaW9uQWRkaXRpb25h
bFdpZHRoLCBmbG9hdCByaWdodEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCkKK3sKKyAgICBtX2V4
cGFuc2lvbiAtPSBsZWZ0RXhwYW5zaW9uQWRkaXRpb25hbFdpZHRoICsgcmlnaHRFeHBhbnNpb25B
ZGRpdGlvbmFsV2lkdGg7CisKKyAgICBsZWZ0QWRkaXRpb25hbFdpZHRoICs9IGxlZnRFeHBhbnNp
b25BZGRpdGlvbmFsV2lkdGg7CisgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gcmlnaHRFeHBh
bnNpb25BZGRpdGlvbmFsV2lkdGg7CisKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gbGVmdEFkZGl0
aW9uYWxXaWR0aDsKKyAgICBtX3J1bldpZHRoU29GYXIgKz0gcmlnaHRBZGRpdGlvbmFsV2lkdGg7
CisKKyAgICBpZiAobGVmdEFkZGl0aW9uYWxXaWR0aCkgeworICAgICAgICBpZiAobV9ydW4ubHRy
KCkpIHsKKyAgICAgICAgICAgIC8vIExlZnQgYWRkaXRpb25hbCB3aWR0aCBpbiBMVFIgbWVhbnMg
dGhlIHByZXZpb3VzIChsZWFkaW5nKSBnbHlwaCdzIHJpZ2h0IHNpZGUgZ2V0cyBleHBhbmRlZC4K
KyAgICAgICAgICAgIGF1dG8gbGVhZGluZ0dseXBoSW5kZXggPSBnbHlwaEluZGV4UmFuZ2UubGVh
ZGluZ0dseXBoSW5kZXg7CisgICAgICAgICAgICBpZiAobGVhZGluZ0dseXBoSW5kZXgpCisgICAg
ICAgICAgICAgICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShsZWFkaW5nR2x5cGhJbmRleCAt
IDEsIGxlZnRBZGRpdGlvbmFsV2lkdGgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIGdseXBoQnVmZmVyLmV4cGFuZEluaXRpYWxBZHZhbmNlKGxlZnRBZGRpdGlvbmFsV2lkdGgp
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gTGVmdCBhZGRpdGlvbmFsIHdpZHRo
IGluIFJUTCBtZWFucyB0aGUgbmV4dCAodHJhaWxpbmcpIGdseXBoJ3MgcmlnaHQgc2lkZSBnZXRz
IGV4cGFuZGVkLgorICAgICAgICAgICAgYXV0byB0cmFpbGluZ0dseXBoSW5kZXggPSBnbHlwaElu
ZGV4UmFuZ2UudHJhaWxpbmdHbHlwaEluZGV4OworICAgICAgICAgICAgaWYgKHRyYWlsaW5nR2x5
cGhJbmRleCArIDEgPCBnbHlwaEJ1ZmZlci5zaXplKCkpCisgICAgICAgICAgICAgICAgZ2x5cGhC
dWZmZXIuZXhwYW5kQWR2YW5jZSh0cmFpbGluZ0dseXBoSW5kZXggKyAxLCBsZWZ0QWRkaXRpb25h
bFdpZHRoKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIG1fbGVmdG92ZXJK
dXN0aWZpY2F0aW9uV2lkdGggPSBsZWZ0QWRkaXRpb25hbFdpZHRoOworICAgICAgICAgICAgICAg
IC8vIFdlIGNhbid0IGFjdHVhbGx5IGFkZCBpbiB0aGlzIHdpZHRoIGp1c3QgeWV0LgorICAgICAg
ICAgICAgICAgIC8vIEFkZCBpdCBpbiB3aGVuIHRoZSBjbGllbnQgY2FsbHMgYWR2YW5jZSgpIGFn
YWluIG9yIGZpbmFsaXplKCkuCisgICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyIC09IG1f
bGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICBpZiAocmlnaHRBZGRpdGlvbmFsV2lkdGgpIHsKKyAgICAgICAgLy8gUmlnaHQg
YWRkaXRpb25hbCB3aWR0aCBtZWFucyB0aGUgY3VycmVudCBnbHlwaCdzIHJpZ2h0IHNpZGUgZ2V0
cyBleHBhbmRlZC4gVGhpcyBpcyB0cnVlIGZvciBib3RoIExUUiBhbmQgUlRMLgorICAgICAgICBn
bHlwaEJ1ZmZlci5leHBhbmRBZHZhbmNlKGdseXBoSW5kZXhSYW5nZS50cmFpbGluZ0dseXBoSW5k
ZXgsIHJpZ2h0QWRkaXRpb25hbFdpZHRoKTsKKyAgICB9Cit9CisKK3ZvaWQgV2lkdGhJdGVyYXRv
cjo6YXBwbHlFeHRyYVNwYWNpbmdBZnRlclNoYXBpbmcoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVy
LCB1bnNpZ25lZCBjaGFyYWN0ZXJTdGFydEluZGV4LCB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0
SW5kZXgsIHVuc2lnbmVkIGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXgsIGZsb2F0IHN0YXJ0aW5n
UnVuV2lkdGgpCit7CisgICAgVmVjdG9yPE9wdGlvbmFsPEdseXBoSW5kZXhSYW5nZT4+IGNoYXJh
Y3RlckluZGV4VG9HbHlwaEluZGV4UmFuZ2UobV9ydW4ubGVuZ3RoKCksIFdURjo6bnVsbG9wdCk7
CisgICAgVmVjdG9yPGZsb2F0PiBhZHZhbmNlV2lkdGhzKG1fcnVuLmxlbmd0aCgpLCAwKTsKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXg7IGkgPCBnbHlwaEJ1ZmZl
ci5zaXplKCk7ICsraSkgeworICAgICAgICBhdXRvIHN0cmluZ09mZnNldCA9IGdseXBoQnVmZmVy
LnN0cmluZ09mZnNldEF0KGkpOworICAgICAgICBhZHZhbmNlV2lkdGhzW3N0cmluZ09mZnNldF0g
Kz0gZ2x5cGhCdWZmZXIuYWR2YW5jZUF0KGkpLndpZHRoKCk7CisgICAgICAgIGF1dG8mIGdseXBo
SW5kZXhSYW5nZSA9IGNoYXJhY3RlckluZGV4VG9HbHlwaEluZGV4UmFuZ2Vbc3RyaW5nT2Zmc2V0
XTsKKyAgICAgICAgaWYgKGdseXBoSW5kZXhSYW5nZSkKKyAgICAgICAgICAgIGdseXBoSW5kZXhS
YW5nZS0+dHJhaWxpbmdHbHlwaEluZGV4ID0gaTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAg
Z2x5cGhCdWZmZXIuYWRkKGxhc3RGb250RGF0YS0+c3BhY2VHbHlwaCgpLCAqbGFzdEZvbnREYXRh
LCBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkgLSAxKTsKKyAgICAg
ICAgICAgIGdseXBoSW5kZXhSYW5nZSA9IHt7aSwgaX19OworICAgIH0KKworICAgIC8vIFNWRyBj
YW4gc3RyZXRjaCBhZHZhbmNlcworICAgIGlmIChtX3J1bi5ob3Jpem9udGFsR2x5cGhTdHJldGNo
KCkgIT0gMSkgeworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBnbHlwaEJ1ZmZlclN0YXJ0SW5k
ZXg7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgLy8gQWxsIGNo
YXJhY3RlcnMnIGFkdmFuY2VzIGdldCBzdHJldGNoZWQsIGV4Y2VwdCBhcHBhcmVudGx5IHRhYiBj
aGFyYWN0ZXJzLi4uCisgICAgICAgICAgICAvLyBUaGlzIGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNl
LCBiZWNhdXNlIGV2ZW4gdGFiIGNoYXJhY3RlcnMgZ2V0IGxldHRlci1zcGFjaW5nLi4uCisgICAg
ICAgICAgICBhdXRvIHN0cmluZ09mZnNldCA9IGdseXBoQnVmZmVyLnN0cmluZ09mZnNldEF0KGkp
OworICAgICAgICAgICAgYXV0byBjaGFyYWN0ZXIgPSBtX3J1bltzdHJpbmdPZmZzZXRdOworICAg
ICAgICAgICAgaWYgKGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXIpCisgICAgICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgICAgIGF1dG8gY3VycmVudEFkdmFuY2UgPSBnbHlwaEJ1ZmZl
ci5hZHZhbmNlQXQoaSkud2lkdGgoKTsKKyAgICAgICAgICAgIGF1dG8gbmV3QWR2YW5jZSA9IGN1
cnJlbnRBZHZhbmNlICogbV9ydW4uaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOworICAgICAgICAg
ICAgZ2x5cGhCdWZmZXIuZXhwYW5kQWR2YW5jZShpLCBuZXdBZHZhbmNlIC0gY3VycmVudEFkdmFu
Y2UpOworICAgICAgICB9CiAgICAgfQorCisgICAgZmxvYXQgcG9zaXRpb24gPSBtX3J1bi54UG9z
KCkgKyBzdGFydGluZ1J1bldpZHRoOworICAgIGZvciAoYXV0byBpID0gY2hhcmFjdGVyU3RhcnRJ
bmRleDsgaSA8IGNoYXJhY3RlckRlc3RpbmF0aW9uSW5kZXg7ICsraSkgeworICAgICAgICBhdXRv
JiBnbHlwaEluZGV4UmFuZ2UgPSBjaGFyYWN0ZXJJbmRleFRvR2x5cGhJbmRleFJhbmdlW2ldOwor
ICAgICAgICBpZiAoIWdseXBoSW5kZXhSYW5nZSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgIGF1dG8gd2lkdGggPSBjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoZ2x5cGhCdWZmZXIs
IGksIGdseXBoSW5kZXhSYW5nZS0+bGVhZGluZ0dseXBoSW5kZXgsIGdseXBoSW5kZXhSYW5nZS0+
dHJhaWxpbmdHbHlwaEluZGV4LCBwb3NpdGlvbik7CisgICAgICAgIGFwcGx5QWRkaXRpb25hbFdp
ZHRoKGdseXBoQnVmZmVyLCBnbHlwaEluZGV4UmFuZ2UudmFsdWUoKSwgd2lkdGgubGVmdCwgd2lk
dGgucmlnaHQsIHdpZHRoLmxlZnRFeHBhbnNpb24sIHdpZHRoLnJpZ2h0RXhwYW5zaW9uKTsKKwor
ICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSAobV9ydW4ubHRyKCkgJiYgd2lkdGgucmlnaHRF
eHBhbnNpb24pIHx8ICghbV9ydW4ubHRyKCkgJiYgd2lkdGgubGVmdEV4cGFuc2lvbik7CisKKyAg
ICAgICAgLy8gVGhpcyBpc24ndCBxdWl0ZSBwZXJmZWN0LCBiZWNhdXNlIHdlIG1heSBjb21lIGFj
cm9zcyBhIHRhYiBjaGFyYWN0ZXIgaW4gYmV0d2VlbiB0d28gZ2x5cGhzIHdoaWNoIGJvdGggcmVw
b3J0IHRvIGNvcnJlc3BvbmQgdG8gYSBwcmV2aW91cyBjaGFyYWN0ZXIuCisgICAgICAgIC8vIEJ1
dCwgdGhlIGZ1bmRhbWVudGFsIGNvbmNlcHQgb2YgdGFicyBpc24ndCByZWFsbHkgY29tcGF0aWJs
ZSB3aXRoIGNvbXBsZXggdGV4dCBzaGFwaW5nLCBzbyB0aGlzIGlzIHByb2JhYmx5IG9rYXkuCisg
ICAgICAgIC8vIFdlIGNhbiBwcm9iYWJseSBqdXN0IGRvIHRoZSBiZXN0IHdlIGNhbiBoZXJlLgor
ICAgICAgICAvLyBUaGUgb25seSBhbHRlcm5hdGl2ZSwgdG8gY2FsY3VsYXRlIHRoaXMgcG9zaXRp
b24gaW4gZ2x5cGgtc3BhY2UgcmF0aGVyIHRoYW4gY2hhcmFjdGVyLXNwYWNlLAorICAgICAgICAv
LyBpcyBPKG5eMikgYmVjYXVzZSB3ZSdyZSBpdGVyYXRpbmcgYWNyb3NzIHRoZSBzdHJpbmcgaGVy
ZSwgcmF0aGVyIHRoYW4gZ2x5cGhzLCBzbyB3ZSBjYW4ndCBrZWVwIHRoZSBjYWxjdWxhdGlvbiB1
cC10by1kYXRlLAorICAgICAgICAvLyB3aGljaCBtZWFucyBjYWxjdWxhdGVBZGRpdGlvbmFsV2lk
dGgoKSB3b3VsZCBoYXZlIHRvIGNhbGN1bGF0ZSB0aGUgcmVzdWx0IGZyb20gc2NyYXRjaCB3aGVu
ZXZlciBpdCdzIG5lZWRlZC4KKyAgICAgICAgLy8gQW5kIHdlIGNhbid0IGRvIHNvbWUgc29ydCBv
ZiBwcmVmaXgtc3VtIHRoaW5nIGJlY2F1c2UgYXBwbHlBZGRpdGlvbmFsV2lkdGgoKSB3b3VsZCBt
b2RpZnkgdGhlIHZhbHVlcywKKyAgICAgICAgLy8gc28gdXBkYXRpbmcgdGhlIGRhdGEgc3RydWN0
dXJlIGVhY2ggdHVybiBvZiB0aGlzIGxvb3Agd291bGQgYWxzbyBlbmQgdXAgYmVpbmcgTyhuXjIp
LgorICAgICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBzdHJpbmdzIHdpdGggdGFicyBhcmUgbW9yZSBs
aWtlbHkgdG8gYmUgbG9uZyBkYXRhLXRhYmxlIGtpbmQgb2Ygc3RyaW5ncywgd2hpY2ggbWVhbnMg
TyhuXjIpIGlzIG5vdCBhY2NlcHRhYmxlLgorICAgICAgICAvLyBBbHNvLCBldmVuIGlmIHdlIGRp
ZCB0aGUgTyhuXjIpIHRoaW5nLCB0aGVyZSB3b3VsZCBzdGlsbCBiZSBjYXNlcyB0aGF0IHdvdWxk
bid0IGJlIHBlcmZlY3QKKyAgICAgICAgLy8gKGJlY2F1c2UgdGhlIGZ1bmRhbWVudGFsIGNvbmNl
cHQgb2YgdGFicyBpc24ndCByZWFsbHkgY29tcGF0aWJsZSB3aXRoIGNvbXBsZXggdGV4dCBzaGFw
aW5nKSwKKyAgICAgICAgLy8gc28gbGV0J3MgY2hvb3NlIHRoZSBmYXN0LXdyb25nIGFwcHJvYWNo
IGhlcmUgaW5zdGVhZCBvZiB0aGUgc2xvdy13cm9uZyBhcHByb2FjaC4KKyAgICAgICAgcG9zaXRp
b24gKz0gYWR2YW5jZVdpZHRoc1tpXQorICAgICAgICAgICAgKyB3aWR0aC5sZWZ0CisgICAgICAg
ICAgICArIHdpZHRoLnJpZ2h0CisgICAgICAgICAgICArIHdpZHRoLmxlZnRFeHBhbnNpb24KKyAg
ICAgICAgICAgICsgd2lkdGgucmlnaHRFeHBhbnNpb247CisgICAgfQorfQorCit2b2lkIFdpZHRo
SXRlcmF0b3I6OmZpbmFsaXplKEdseXBoQnVmZmVyJiBidWZmZXIpCit7CisgICAgQVNTRVJUKG1f
cnVuLnJ0bCgpIHx8ICFtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKTsKKyAgICAvLyBJbiBM
VFIgdGhpcyBkb2VzIG5vdGhpbmcuIEluIFJUTCwgdGhpcyBhZGRzIGxlZnQgd2lkdGggYnkgbW92
aW5nIHRoZSB3aG9sZSBydW4gdG8gdGhlIHJpZ2h0LgorICAgIGJ1ZmZlci5leHBhbmRJbml0aWFs
QWR2YW5jZShtX2xlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKTsKKyAgICBtX3J1bldpZHRoU29G
YXIgKz0gbV9sZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aDsKKyAgICBtX2xlZnRvdmVySnVzdGlm
aWNhdGlvbldpZHRoID0gMDsKIH0KIAogdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKHVuc2ln
bmVkIG9mZnNldCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQogeworICAgIG1fY29udGFpbnNU
YWJzID0gZmFsc2U7CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gbV9ydW4ubGVuZ3RoKCk7CiAKICAg
ICBpZiAob2Zmc2V0ID4gbGVuZ3RoKQpAQCAtMzY2LDE0ICs0NjMsMjggQEAgdm9pZCBXaWR0aEl0
ZXJhdG9yOjphZHZhbmNlKHVuc2lnbmVkIG9mZnNldCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVy
KQogICAgIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA+PSBvZmZzZXQpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIHVuc2lnbmVkIGNoYXJhY3RlclN0YXJ0SW5kZXggPSBtX2N1cnJlbnRDaGFy
YWN0ZXJJbmRleDsKKyAgICB1bnNpZ25lZCBnbHlwaEJ1ZmZlclN0YXJ0SW5kZXggPSBnbHlwaEJ1
ZmZlci5zaXplKCk7CisgICAgZmxvYXQgc3RhcnRpbmdSdW5XaWR0aCA9IG1fcnVuV2lkdGhTb0Zh
cjsKKwogICAgIGlmIChtX3J1bi5pczhCaXQoKSkgewogICAgICAgICBMYXRpbjFUZXh0SXRlcmF0
b3IgdGV4dEl0ZXJhdG9yKG1fcnVuLmRhdGE4KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9j
dXJyZW50Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKICAgICAgICAgYWR2YW5jZUlu
dGVybmFsKHRleHRJdGVyYXRvciwgZ2x5cGhCdWZmZXIpOwotICAgICAgICByZXR1cm47CisgICAg
fSBlbHNlIHsKKyAgICAgICAgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yIHRleHRJdGVy
YXRvcihtX3J1bi5kYXRhMTYobV9jdXJyZW50Q2hhcmFjdGVySW5kZXgpLCBtX2N1cnJlbnRDaGFy
YWN0ZXJJbmRleCwgb2Zmc2V0LCBsZW5ndGgpOworICAgICAgICBhZHZhbmNlSW50ZXJuYWwodGV4
dEl0ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7CisgICAgfQorCisgICAgLy8gSW4gZ2VuZXJhbCwgd2Ug
aGF2ZSB0byBhcHBseSBzcGFjaW5nIGFmdGVyIHNoYXBpbmcsIGJlY2F1c2Ugc2hhcGluZyByZXF1
aXJlcyBpdHMgaW5wdXQgdG8gYmUgdW5wZXJ0dXJiZWQgKHNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDUyKS4KKyAgICAvLyBTbywgaWYgdGhlcmUncyBleHRy
YSBzcGFjaW5nIHRvIGFkZCwgZG8gaXQgaGVyZSBhZnRlciBzaGFwaW5nIG9jY3Vycy4KKyAgICBp
ZiAoZ2x5cGhCdWZmZXJTdGFydEluZGV4IDwgZ2x5cGhCdWZmZXIuc2l6ZSgpKSB7CisgICAgICAg
IGdseXBoQnVmZmVyLmV4cGFuZEFkdmFuY2UoZ2x5cGhCdWZmZXJTdGFydEluZGV4LCBtX2xlZnRv
dmVySnVzdGlmaWNhdGlvbldpZHRoKTsKKyAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IG1fbGVm
dG92ZXJKdXN0aWZpY2F0aW9uV2lkdGg7CisgICAgICAgIG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9u
V2lkdGggPSAwOwogICAgIH0KIAotICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvciB0
ZXh0SXRlcmF0b3IobV9ydW4uZGF0YTE2KG1fY3VycmVudENoYXJhY3RlckluZGV4KSwgbV9jdXJy
ZW50Q2hhcmFjdGVySW5kZXgsIG9mZnNldCwgbGVuZ3RoKTsKLSAgICBhZHZhbmNlSW50ZXJuYWwo
dGV4dEl0ZXJhdG9yLCBnbHlwaEJ1ZmZlcik7CisgICAgaWYgKGhhc0V4dHJhU3BhY2luZygpIHx8
IG1fY29udGFpbnNUYWJzIHx8IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKSAhPSAxKQor
ICAgICAgICBhcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZyhnbHlwaEJ1ZmZlciwgY2hhcmFj
dGVyU3RhcnRJbmRleCwgZ2x5cGhCdWZmZXJTdGFydEluZGV4LCBvZmZzZXQsIHN0YXJ0aW5nUnVu
V2lkdGgpOwogfQogCiBib29sIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VPbmVDaGFyYWN0ZXIoZmxv
YXQmIHdpZHRoLCBHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKaW5kZXggZjQ1ZDZkMmFkMGQ1Yzcz
MTgyOGRlMTc4YzEwMDA3ODBhYzdhNmNiMi4uNmFhMTJjZGRlY2M2NGRhZWRiZmY3MWRmMmU1YjE3
ZjU0N2QyNTE2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
V2lkdGhJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuaApAQCAtMjIsNiArMjIsNyBAQAogI2lmbmRlZiBXaWR0aEl0ZXJhdG9yX2gK
ICNkZWZpbmUgV2lkdGhJdGVyYXRvcl9oCiAKKyNpbmNsdWRlICJHbHlwaEJ1ZmZlci5oIgogI2lu
Y2x1ZGUgPHVuaWNvZGUvdW1hY2hpbmUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTI5LDEwICszMCwxMCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBGb250Q2FzY2FkZTsKLWNsYXNzIEdseXBoQnVmZmVyOwogY2xhc3MgRm9u
dDsKIGNsYXNzIFRleHRSdW47CiBzdHJ1Y3QgR2x5cGhEYXRhOworc3RydWN0IEdseXBoSW5kZXhS
YW5nZTsKIHN0cnVjdCBPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2U7
CiAKIHVzaW5nIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSA9IFZlY3RvcjxPcmlnaW5hbEFkdmFu
Y2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2UsIDY0PjsKQEAgLTQ0LDYgKzQ1LDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBhZHZhbmNlKHVuc2lnbmVkIHRvLCBHbHlwaEJ1ZmZlciYpOwogICAg
IGJvb2wgYWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEdseXBoQnVmZmVyJik7Cisg
ICAgdm9pZCBmaW5hbGl6ZShHbHlwaEJ1ZmZlciYpOwogCiAgICAgZmxvYXQgbWF4R2x5cGhCb3Vu
ZGluZ0JveFkoKSBjb25zdCB7IEFTU0VSVChtX2FjY291bnRGb3JHbHlwaEJvdW5kcyk7IHJldHVy
biBtX21heEdseXBoQm91bmRpbmdCb3hZOyB9CiAgICAgZmxvYXQgbWluR2x5cGhCb3VuZGluZ0Jv
eFkoKSBjb25zdCB7IEFTU0VSVChtX2FjY291bnRGb3JHbHlwaEJvdW5kcyk7IHJldHVybiBtX21p
bkdseXBoQm91bmRpbmdCb3hZOyB9CkBAIC02NCwxMSArNjYsMjQgQEAgcHJpdmF0ZToKICAgICBm
bG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgdW5zaWduZWQgbGFzdEdseXBo
Q291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY29uc3QgRm9udCYsIGJvb2wg
Zm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOwogICAgIHZvaWQgY29tbWl0Q3VycmVu
dEZvbnRSYW5nZShHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25l
ZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQmLCBjb25zdCBGb250JiBwcmltYXJ5
Rm9udCwgVUNoYXIzMiBjaGFyYWN0ZXIsIGZsb2F0IHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdlLCBD
aGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmKTsKIAorICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nKCkg
Y29uc3Q7CisgICAgdm9pZCBhcHBseUV4dHJhU3BhY2luZ0FmdGVyU2hhcGluZyhHbHlwaEJ1ZmZl
ciYsIHVuc2lnbmVkIGNoYXJhY3RlclN0YXJ0SW5kZXgsIHVuc2lnbmVkIGdseXBoQnVmZmVyU3Rh
cnRJbmRleCwgdW5zaWduZWQgY2hhcmFjdGVyRGVzdGluYXRpb25JbmRleCwgZmxvYXQgc3RhcnRp
bmdSdW5XaWR0aCk7CisgICAgc3RydWN0IEFkZGl0aW9uYWxXaWR0aCB7CisgICAgICAgIGZsb2F0
IGxlZnQ7CisgICAgICAgIGZsb2F0IHJpZ2h0OworICAgICAgICBmbG9hdCBsZWZ0RXhwYW5zaW9u
OworICAgICAgICBmbG9hdCByaWdodEV4cGFuc2lvbjsKKyAgICB9OworICAgIEFkZGl0aW9uYWxX
aWR0aCBjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoR2x5cGhCdWZmZXImLCBHbHlwaEJ1ZmZlclN0
cmluZ09mZnNldCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIHVuc2lnbmVkIGxlYWRpbmdHbHlwaElu
ZGV4LCB1bnNpZ25lZCB0cmFpbGluZ0dseXBoSW5kZXgsIGZsb2F0IHBvc2l0aW9uKSBjb25zdDsK
KyAgICB2b2lkIGFwcGx5QWRkaXRpb25hbFdpZHRoKEdseXBoQnVmZmVyJiwgR2x5cGhJbmRleFJh
bmdlLCBmbG9hdCBsZWZ0QWRkaXRpb25hbFdpZHRoLCBmbG9hdCByaWdodEFkZGl0aW9uYWxXaWR0
aCwgZmxvYXQgbGVmdEV4cGFuc2lvbkFkZGl0aW9uYWxXaWR0aCwgZmxvYXQgcmlnaHRFeHBhbnNp
b25BZGRpdGlvbmFsV2lkdGgpOworCiAgICAgY29uc3QgRm9udENhc2NhZGUmIG1fZm9udDsKICAg
ICBjb25zdCBUZXh0UnVuJiBtX3J1bjsKICAgICBIYXNoU2V0PGNvbnN0IEZvbnQqPiogbV9mYWxs
YmFja0ZvbnRzIHsgbnVsbHB0ciB9OwogCisgICAgT3B0aW9uYWw8dW5zaWduZWQ+IG1fbGFzdENo
YXJhY3RlckluZGV4OwogICAgIHVuc2lnbmVkIG1fY3VycmVudENoYXJhY3RlckluZGV4IHsgMCB9
OworICAgIGZsb2F0IG1fbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGggeyAwIH07CiAgICAgZmxv
YXQgbV9ydW5XaWR0aFNvRmFyIHsgMCB9OwogICAgIGZsb2F0IG1fZXhwYW5zaW9uIHsgMCB9Owog
ICAgIGZsb2F0IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkgeyAwIH07CkBAIC03Niw2ICs5MSw3
IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgbV9taW5HbHlwaEJvdW5kaW5nQm94WSB7IHN0ZDo6bnVt
ZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKSB9OwogICAgIGZsb2F0IG1fZmlyc3RHbHlwaE92ZXJm
bG93IHsgMCB9OwogICAgIGZsb2F0IG1fbGFzdEdseXBoT3ZlcmZsb3cgeyAwIH07CisgICAgYm9v
bCBtX2NvbnRhaW5zVGFicyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQWZ0ZXJFeHBhbnNpb24g
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9lbmFibGVLZXJuaW5nIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3NCdWlsZGVyLmNwcAppbmRleCA4MGI1
Yzc5MWI4NTgyZDc5OTU0YzNjYjU1OGNkMWExZjA1MDc5YWNmLi5hOTRjYTI5OTFjMWE0YWJhOWE1
MmVlZWQ2YWJlZWFlNjdiN2FkNmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRNZXRyaWNzQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljc0J1aWxkZXIuY3BwCkBAIC0xNjUsNiArMTY1LDExIEBA
IHZvaWQgU1ZHVGV4dE1ldHJpY3NCdWlsZGVyOjptZWFzdXJlVGV4dFJlbmRlcmVyKFJlbmRlclNW
R0lubGluZVRleHQmIHRleHQsIE1lYXN1CiAgICAgICAgIGRhdGEtPmxhc3RDaGFyYWN0ZXIgPSBj
dXJyZW50Q2hhcmFjdGVyOwogICAgIH0KIAorICAgIGlmIChtX3NpbXBsZVdpZHRoSXRlcmF0b3Ip
IHsKKyAgICAgICAgR2x5cGhCdWZmZXIgZ2x5cGhCdWZmZXI7CisgICAgICAgIG1fc2ltcGxlV2lk
dGhJdGVyYXRvci0+ZmluYWxpemUoZ2x5cGhCdWZmZXIpOworICAgIH0KKwogICAgIGlmICghZGF0
YS0+YWxsQ2hhcmFjdGVyc01hcCkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDAxZWU1YzQy
ZjBjMTM3NDQwYjJjZmFhZGRlMTYxYTE5ZTFmZmExYi4uMjJlOTE4ZTYwM2Y0YTliMzBhZWMxZDVh
MDRlYTRjYTA3ZmU0Y2RhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA4LTEwICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3BhY2luZyBv
ZiBDaGluZXNlIGNoYXJhY3RlcnMgaXMgaW5jb25zaXN0ZW50IGluIG1hY09TIDExL1NhZmFyaSAx
NCBiZXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGZh
c3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLmh0bWw6IEFkZGVkLgorCiAyMDIw
LTA4LTEwICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NvY29hXSBNaWdyYXRlIGZyb20gQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdl
KCkgdG8gQ1RGb250U2hhcGVHbHlwaHMoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2xldHRlci1zcGFjaW5nLXNoYXBpbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODFiMDg4ODczNTE0ZGUxZDdjOWM1MmU2NDhlOWRmZTQ4ZTc5OWJkNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLWV4cGVjdGVk
Lmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJ6aC1o
ayI+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwvaGVhZD4KKzxib2R5PgorVGhp
cyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsZXR0ZXItc3BhY2luZyBpcyBhcHBsaWVkIGFmdGVyIHRl
eHQgc2hhcGluZy4KK1RoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgdHdvIGNoYXJhY3RlcnMgYmVsb3cg
aGF2ZSBzb21lIHNwYWNlIGJldHdlZW4gdGhlbS4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggJ1Bp
bmdGYW5nIFRDJzsgbGV0dGVyLXNwYWNpbmc6IDI0cHg7Ij48c3Bhbj7mg4U8L3NwYW4+PHNwYW4+
5Y2HPC9zcGFuPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLXNoYXBpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQwNmI3Mjli
NzNjZDViYjkxNDYwN2Y2ZTMyMjNiYzljODAxMDUxMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1zaGFwaW5nLmh0bWwKQEAgLTAsMCArMSwx
MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJ6aC1oayI+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUg
dGhhdCBsZXR0ZXItc3BhY2luZyBpcyBhcHBsaWVkIGFmdGVyIHRleHQgc2hhcGluZy4KK1RoZSB0
ZXN0IHBhc3NlcyBpZiB0aGUgdHdvIGNoYXJhY3RlcnMgYmVsb3cgaGF2ZSBzb21lIHNwYWNlIGJl
dHdlZW4gdGhlbS4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggJ1BpbmdGYW5nIFRDJzsgbGV0dGVy
LXNwYWNpbmc6IDI0cHg7Ij7mg4XljYc8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItbGV0dGVyLXNwYWNlLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLWxldHRlci1zcGFjZS1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI2NzA1ZDg2OTI2ZDFlZTExMmFjNWJlZjc4MTUxYTBiM2Y3MmI3Y2EKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLWxldHRlci1zcGFjZS1leHBl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0i
emgtaGsiPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c3R5bGU+CitwcmUgewor
ICAgIG1hcmdpbjogMHB4OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0
IG1ha2VzIHN1cmUgdGhhdCB0YWIgY2hhcmFjdGVycyBnZXQgdGhlIGFwcHJvcHJpYXRlIGFtb3Vu
dCBvZiBsZXR0ZXItc3BhY2luZy4KK1RoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgbGVmdCBlZGdlIG9m
IHRoZSAiYyIgYmVsb3cgaXMgMTU4IHBpeGVscyBmcm9tIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlICJh
IiBiZWxvdy4KKzxwcmUgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsiPjxwcmUgc3R5bGU9InBv
c2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyI+YTwvcHJlPjxwcmUgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZTsgbGVmdDogMTU4cHg7Ij5jPC9wcmU+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLWxldHRlci1zcGFjZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iZjM2MGRkNWRhMjE5YmQ1N2YyOWQzMDg5OTljNGU3ZmFjYTQwMGU5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi1sZXR0ZXItc3BhY2UuaHRtbApAQCAtMCww
ICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9InpoLWhrIj4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHN0eWxlPgorcHJlIHsKKyAgICBtYXJnaW46IDBweDsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
dGFiIGNoYXJhY3RlcnMgZ2V0IHRoZSBhcHByb3ByaWF0ZSBhbW91bnQgb2YgbGV0dGVyLXNwYWNp
bmcuCitUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIGxlZnQgZWRnZSBvZiB0aGUgImMiIGJlbG93IGlz
IDE1OCBwaXhlbHMgZnJvbSB0aGUgbGVmdCBlZGdlIG9mIHRoZSAiYSIgYmVsb3cuCis8cHJlIHN0
eWxlPSJsZXR0ZXItc3BhY2luZzogMzBweDsgdGFiLXNpemU6IDEyOHB4OyI+YSYjOTtjPC9wcmU+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
ZmFzdC90ZXh0L2Jhc2ljLzAxMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vZmFzdC90ZXh0L2Jhc2ljLzAxMy1leHBlY3RlZC50eHQKaW5kZXggODM3ZmRiZDA2ZDU5NjVl
YTFlNjUxZmM1ODdjNzhhY2ZmNThkZTYwNi4uOTUzZjZmNGNlYmNiYmI4N2E5Y2UzOGViNmQ0NGUw
OTJkZDcxNGFmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvdGV4
dC9iYXNpYy8wMTMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9m
YXN0L3RleHQvYmFzaWMvMDEzLWV4cGVjdGVkLnR4dApAQCAtNDIsOCArNDIsOCBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHgyNjgKICAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDAp
IHNpemUgNTB4MTgKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTMxLDApIHNp
emUgNTB4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMSwwKSB3aWR0aCA1MDogImJv
bGQiCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODAsMCkgc2l6ZSAxMDF4MTgK
LSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxODAsMCkgd2lkdGggMTAxOiAiIGVsZW1lbnQuIgor
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTgwLDApIHNpemUgMTAyeDE4CisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTgwLDApIHdpZHRoIDEwMjogIiBlbGVtZW50LiIKICAgICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDM0KSBzaXplIDc4NHgxOAogICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEzMngxOAogICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMTMyOiAiVGV4dCBpbnNpZGUgIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>