<?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>145831</bug_id>
          
          <creation_ts>2015-06-09 18:43:32 -0700</creation_ts>
          <short_desc>Use modern for-loops in WebCore/rendering - 1</short_desc>
          <delta_ts>2022-03-01 03:15:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>145932</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hunseop Jeong">hs85.jeong</reporter>
          <assigned_to name="Hunseop Jeong">hs85.jeong</assigned_to>
          <cc>achristensen</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1100889</commentid>
    <comment_count>0</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-06-09 18:43:32 -0700</bug_when>
    <thetext>Use modern for-loops in WebCore/rendering - 1 of 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100911</commentid>
    <comment_count>1</comment_count>
      <attachid>254626</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-06-09 21:20:51 -0700</bug_when>
    <thetext>Created attachment 254626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100912</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-09 21:23:11 -0700</bug_when>
    <thetext>Attachment 254626 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderBlock.cpp:1312:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/WebCore/rendering/RenderBlock.cpp:1323:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 2 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100914</commentid>
    <comment_count>3</comment_count>
      <attachid>254626</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-06-09 21:34:54 -0700</bug_when>
    <thetext>Comment on attachment 254626
Patch

Attachment 254626 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5843822420426752

Number of test failures exceeded the failure limit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100915</commentid>
    <comment_count>4</comment_count>
      <attachid>254627</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-06-09 21:34:57 -0700</bug_when>
    <thetext>Created attachment 254627
Archive of layout-test-results from ews100 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews100  Port: mac-mavericks  Platform: Mac OS X 10.9.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100916</commentid>
    <comment_count>5</comment_count>
      <attachid>254628</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-06-09 21:35:25 -0700</bug_when>
    <thetext>Created attachment 254628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100917</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-09 21:38:19 -0700</bug_when>
    <thetext>Attachment 254628 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderBlock.cpp:1312:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/WebCore/rendering/RenderBlock.cpp:1323:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 2 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101316</commentid>
    <comment_count>7</comment_count>
      <attachid>254628</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-11 10:29:32 -0700</bug_when>
    <thetext>Comment on attachment 254628
Patch

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

que

&gt; Source/WebCore/rendering/FloatingObjects.cpp:270
&gt; +        ASSERT(!(floatingObject-&gt;originatingLine()) || &amp;(floatingObject-&gt;originatingLine()-&gt;renderer()) == &amp;m_renderer);

The extra parentheses here make this harder to read for those used to WebKit coding style. Please write without them.

    ASSERT(!floatingObject-&gt;originatingLine() || &amp;floatingObject-&gt;originatingLine()-&gt;renderer() == &amp;m_renderer);

&gt; Source/WebCore/rendering/FloatingObjects.cpp:271
&gt; +        floatingObject-&gt;setOriginatingLine(0);

Please use nullptr.

&gt; Source/WebCore/rendering/RenderBlock.cpp:196
&gt;      if (std::unique_ptr&lt;TrackedRendererListHashSet&gt; descendantSet = descendantMap-&gt;take(block)) {

Should really use auto here instead of that long type!

&gt; Source/WebCore/rendering/RenderBlock.cpp:198
&gt; +            TrackedContainerMap::iterator it = containerMap-&gt;find(box);

Better to use auto here.

&gt; Source/WebCore/rendering/RenderBlock.cpp:3728
&gt; +    for (auto&amp; currBox : *positionedDescendantSet)

I would call this just &quot;box&quot; rather than &quot;currBox&quot; to avoid the pointless abbreviation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101317</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-11 10:34:11 -0700</bug_when>
    <thetext>I think we need to start ramping down on changes like this, since this time of year is a stabilization period for Apple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101320</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-11 10:50:59 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; I think we need to start ramping down on changes like this, since this time
&gt; of year is a stabilization period for Apple.

I understand your point. Our main tool for that is branching, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101321</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-11 10:56:30 -0700</bug_when>
    <thetext>But I will probably slow down on reviewing these kinds of patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101514</commentid>
    <comment_count>11</comment_count>
      <attachid>254784</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-06-12 02:51:25 -0700</bug_when>
    <thetext>Created attachment 254784
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101515</commentid>
    <comment_count>12</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-06-12 02:53:26 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 254628 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=254628&amp;action=review
&gt; 
&gt; que
&gt; 
&gt; &gt; Source/WebCore/rendering/FloatingObjects.cpp:270
&gt; &gt; +        ASSERT(!(floatingObject-&gt;originatingLine()) || &amp;(floatingObject-&gt;originatingLine()-&gt;renderer()) == &amp;m_renderer);
&gt; 
&gt; The extra parentheses here make this harder to read for those used to WebKit
&gt; coding style. Please write without them.
&gt; 
&gt;     ASSERT(!floatingObject-&gt;originatingLine() ||
&gt; &amp;floatingObject-&gt;originatingLine()-&gt;renderer() == &amp;m_renderer);
&gt; 
&gt; &gt; Source/WebCore/rendering/FloatingObjects.cpp:271
&gt; &gt; +        floatingObject-&gt;setOriginatingLine(0);
&gt; 
&gt; Please use nullptr.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlock.cpp:196
&gt; &gt;      if (std::unique_ptr&lt;TrackedRendererListHashSet&gt; descendantSet = descendantMap-&gt;take(block)) {
&gt; 
&gt; Should really use auto here instead of that long type!
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlock.cpp:198
&gt; &gt; +            TrackedContainerMap::iterator it = containerMap-&gt;find(box);
&gt; 
&gt; Better to use auto here.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlock.cpp:3728
&gt; &gt; +    for (auto&amp; currBox : *positionedDescendantSet)
&gt; 
&gt; I would call this just &quot;box&quot; rather than &quot;currBox&quot; to avoid the pointless
&gt; abbreviation.

Done.
Thanks for the review. Could you check again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101516</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-12 02:54:31 -0700</bug_when>
    <thetext>Attachment 254784 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderBlock.cpp:1312:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/WebCore/rendering/RenderBlock.cpp:1323:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 2 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101520</commentid>
    <comment_count>14</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-06-12 03:03:49 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Attachment 254784 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebCore/rendering/RenderBlock.cpp:1312:  Multi line control
&gt; clauses should use braces.  [whitespace/braces] [4]
&gt; ERROR: Source/WebCore/rendering/RenderBlock.cpp:1323:  Multi line control
&gt; clauses should use braces.  [whitespace/braces] [4]
&gt; Total errors found: 2 in 22 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

Aren&apos;t these errors false positives?
I don&apos;t know why it make the error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101600</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-12 09:18:14 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; Attachment 254784 [details] did not pass style-queue:
&gt; &gt; 
&gt; &gt; ERROR: Source/WebCore/rendering/RenderBlock.cpp:1312:  Multi line control clauses should use braces.  [whitespace/braces] [4]
&gt; &gt; ERROR: Source/WebCore/rendering/RenderBlock.cpp:1323:  Multi line control clauses should use braces.  [whitespace/braces] [4]
&gt; &gt; Total errors found: 2 in 22 files
&gt; &gt; 
&gt; &gt; If any of these errors are false positives, please file a bug against
&gt; &gt; check-webkit-style.
&gt; 
&gt; Aren&apos;t these errors false positives?

Not 100% sure, but yes they seem to be false positives.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101629</commentid>
    <comment_count>16</comment_count>
      <attachid>254784</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-12 10:10:43 -0700</bug_when>
    <thetext>Comment on attachment 254784
Patch

Clearing flags on attachment: 254784

Committed r185512: &lt;http://trac.webkit.org/changeset/185512&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101630</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-12 10:10:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101654</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-06-12 11:35:19 -0700</bug_when>
    <thetext>This broke the world, rolling out: &lt;https://build.webkit.org/builders/Apple%20Yosemite%20Debug%20WK2%20(Tests)/builds/4922&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101656</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-12 11:37:58 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 145932</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101661</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-12 11:48:26 -0700</bug_when>
    <thetext>Please run tests with a debug build before submitting patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101700</commentid>
    <comment_count>21</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-06-12 14:41:37 -0700</bug_when>
    <thetext>This also appears to have caused memory corruption detected by GuardMalloc on fast/multicol/newmulticol/multicol-inside-multicol.html:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010f376365 WebCore::RenderBlock::dirtyForLayoutFromPercentageHeightDescendants() + 101
1   com.apple.WebCore             	0x000000010fed7120 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&amp;) + 32
2   com.apple.WebCore             	0x000000010fed64c6 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) + 918
3   com.apple.WebCore             	0x000000010f375956 WebCore::RenderBlock::layout() + 54
4   com.apple.WebCore             	0x000000010f3757cd WebCore::RenderView::layout() + 765
5   com.apple.WebCore             	0x000000010f37131f WebCore::FrameView::layout(bool) + 3215
6   com.apple.WebCore             	0x000000010f36ff7f WebCore::Document::implicitClose() + 943
7   com.apple.WebCore             	0x000000010f36f783 WebCore::FrameLoader::checkCompleted() + 275
8   com.apple.WebCore             	0x000000010f36e554 WebCore::FrameLoader::finishedParsing() + 100
9   com.apple.WebCore             	0x000000010f36d2f1 WebCore::Document::finishedParsing() + 417
10  com.apple.WebCore             	0x000000010f3450b5 WebCore::HTMLDocumentParser::prepareToStopParsing() + 165
11  com.apple.WebCore             	0x000000010f43b891 WebCore::HTMLDocumentParser::resumeParsingAfterYield() + 129
12  com.apple.WebCore             	0x000000010f3243ff WebCore::ThreadTimers::sharedTimerFiredInternal() + 175
13  com.apple.WebCore             	0x000000010f324318 WebCore::timerFired(__CFRunLoopTimer*, void*) + 24</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101776</commentid>
    <comment_count>22</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-06-12 18:56:22 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Please run tests with a debug build before submitting patches.

Okay, I will do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101780</commentid>
    <comment_count>23</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-06-12 19:13:01 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; This also appears to have caused memory corruption detected by GuardMalloc
&gt; on fast/multicol/newmulticol/multicol-inside-multicol.html:
&gt; 
&gt; Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
&gt; 0   com.apple.WebCore             	0x000000010f376365
&gt; WebCore::RenderBlock::dirtyForLayoutFromPercentageHeightDescendants() + 101
&gt; 1   com.apple.WebCore             	0x000000010fed7120
&gt; WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&amp;) +
&gt; 32
&gt; 2   com.apple.WebCore             	0x000000010fed64c6
&gt; WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) + 918
&gt; 3   com.apple.WebCore             	0x000000010f375956
&gt; WebCore::RenderBlock::layout() + 54
&gt; 4   com.apple.WebCore             	0x000000010f3757cd
&gt; WebCore::RenderView::layout() + 765
&gt; 5   com.apple.WebCore             	0x000000010f37131f
&gt; WebCore::FrameView::layout(bool) + 3215
&gt; 6   com.apple.WebCore             	0x000000010f36ff7f
&gt; WebCore::Document::implicitClose() + 943
&gt; 7   com.apple.WebCore             	0x000000010f36f783
&gt; WebCore::FrameLoader::checkCompleted() + 275
&gt; 8   com.apple.WebCore             	0x000000010f36e554
&gt; WebCore::FrameLoader::finishedParsing() + 100
&gt; 9   com.apple.WebCore             	0x000000010f36d2f1
&gt; WebCore::Document::finishedParsing() + 417
&gt; 10  com.apple.WebCore             	0x000000010f3450b5
&gt; WebCore::HTMLDocumentParser::prepareToStopParsing() + 165
&gt; 11  com.apple.WebCore             	0x000000010f43b891
&gt; WebCore::HTMLDocumentParser::resumeParsingAfterYield() + 129
&gt; 12  com.apple.WebCore             	0x000000010f3243ff
&gt; WebCore::ThreadTimers::sharedTimerFiredInternal() + 175
&gt; 13  com.apple.WebCore             	0x000000010f324318
&gt; WebCore::timerFired(__CFRunLoopTimer*, void*) + 24

Thank you to your confirmation.
After modification, I will upload the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101888</commentid>
    <comment_count>24</comment_count>
      <attachid>254866</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-06-15 02:38:57 -0700</bug_when>
    <thetext>Created attachment 254866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101889</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-15 02:40:31 -0700</bug_when>
    <thetext>Attachment 254866 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderBlock.cpp:1312:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/WebCore/rendering/RenderBlock.cpp:1323:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 2 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101891</commentid>
    <comment_count>26</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-06-15 02:57:44 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; This also appears to have caused memory corruption detected by GuardMalloc
&gt; on fast/multicol/newmulticol/multicol-inside-multicol.html:
&gt; 
&gt; Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
&gt; 0   com.apple.WebCore             	0x000000010f376365
&gt; WebCore::RenderBlock::dirtyForLayoutFromPercentageHeightDescendants() + 101
&gt; 1   com.apple.WebCore             	0x000000010fed7120
&gt; WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&amp;) +
&gt; 32
&gt; 2   com.apple.WebCore             	0x000000010fed64c6
&gt; WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) + 918
&gt; 3   com.apple.WebCore             	0x000000010f375956
&gt; WebCore::RenderBlock::layout() + 54
&gt; 4   com.apple.WebCore             	0x000000010f3757cd
&gt; WebCore::RenderView::layout() + 765
&gt; 5   com.apple.WebCore             	0x000000010f37131f
&gt; WebCore::FrameView::layout(bool) + 3215
&gt; 6   com.apple.WebCore             	0x000000010f36ff7f
&gt; WebCore::Document::implicitClose() + 943
&gt; 7   com.apple.WebCore             	0x000000010f36f783
&gt; WebCore::FrameLoader::checkCompleted() + 275
&gt; 8   com.apple.WebCore             	0x000000010f36e554
&gt; WebCore::FrameLoader::finishedParsing() + 100
&gt; 9   com.apple.WebCore             	0x000000010f36d2f1
&gt; WebCore::Document::finishedParsing() + 417
&gt; 10  com.apple.WebCore             	0x000000010f3450b5
&gt; WebCore::HTMLDocumentParser::prepareToStopParsing() + 165
&gt; 11  com.apple.WebCore             	0x000000010f43b891
&gt; WebCore::HTMLDocumentParser::resumeParsingAfterYield() + 129
&gt; 12  com.apple.WebCore             	0x000000010f3243ff
&gt; WebCore::ThreadTimers::sharedTimerFiredInternal() + 175
&gt; 13  com.apple.WebCore             	0x000000010f324318
&gt; WebCore::timerFired(__CFRunLoopTimer*, void*) + 24

Source/WebCore/rendering/RenderBlock.cpp:1148
- for (auto&amp; box : *descendants) {
+ for (auto* box : *descendants) {

I changed the reference to pointer because
&apos;box&apos; reassigned the pointer at 1160 line.

Source/WebCore/rendering/RenderBlock.cpp:1160
&gt; box = box-&gt;containingBlock();

Maybe It makes the problem.


I ran tests with a debug build. Tests all passed.
I&apos;ll be cafeful before uploading the patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254626</attachid>
            <date>2015-06-09 21:20:51 -0700</date>
            <delta_ts>2015-06-09 21:35:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145831-20150610132022.patch</filename>
            <type>text/plain</type>
            <size>86050</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTJkZDhlOTc0NjU5M2Zl
OWE0MTc4NTQ3MTE1NjhlMTRmNTMxMzU1MS4uYmIwNTM2MzlhYmVmNDdkMGE2OTAyNjQ3MGMwMDUx
ZWMzNDQ2NGVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDE1LTA2LTA5ICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2UgbW9kZXJu
IGZvci1sb29wcyBpbiBXZWJDb3JlL3JlbmRlcmluZyAtIDEKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTgzMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlz
IG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHJlbmRlcmluZy9BdXRvVGFibGVMYXlv
dXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXV0b1RhYmxlTGF5b3V0Ojpjb21wdXRlSW50cmlu
c2ljTG9naWNhbFdpZHRocyk6CisgICAgICAgIChXZWJDb3JlOjpBdXRvVGFibGVMYXlvdXQ6OmNh
bGNFZmZlY3RpdmVMb2dpY2FsV2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9GaWx0ZXJFZmZl
Y3RSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6
YnVpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXI6OmNsZWFySW50
ZXJtZWRpYXRlUmVzdWx0cyk6CisgICAgICAgICogcmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRl
cmVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL0Zsb2F0aW5nT2JqZWN0cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6OmNsZWFyTGluZUJveFRyZWVQb2ludGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6Om1vdmVBbGxUb0Zsb2F0SW5mb01hcCk6
CisgICAgICAgIChXZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6OmNvbXB1dGVQbGFjZWRGbG9hdHNU
cmVlKToKKyAgICAgICAgKiByZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rmxvd1RocmVhZENvbnRyb2xsZXI6OmNvbGxlY3RGaXhlZFBvc2l0aW9u
ZWRMYXllcnMpOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFwcGVuZCk6CisgICAgICAgICogcmVuZGVyaW5n
L0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VRdWFs
aXR5Q29udHJvbGxlcjo6aGlnaFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZCk6CisgICAgICAgICog
cmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4
dEJveDo6cGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyZW1vdmVCbG9ja0Zyb21EZXNjZW5kYW50QW5kQ29udGFpbmVyTWFwcyk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tUG9zaXRpb25l
ZE9iamVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmRpcnR5Rm9yTGF5b3V0
RnJvbVBlcmNlbnRhZ2VIZWlnaHREZXNjZW5kYW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9jazo6c2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjptYXJrUG9zaXRpb25lZE9iamVjdHNGb3JMYXlvdXQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhaW50Q29udGludWF0aW9uT3V0bGluZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6Y2xpcE91dFBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpyZW1vdmVGcm9tVHJhY2tlZFJlbmRlcmVyTWFwcyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6cmVtb3ZlUG9zaXRpb25lZE9iamVjdHMpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNoZWNrUG9zaXRpb25lZE9iamVjdHNOZWVkTGF5b3V0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrRmxvdzo6cmVidWlsZEZsb2F0aW5nT2JqZWN0U2V0RnJvbUludHJ1ZGlu
Z0Zsb2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnN0eWxlRGlkQ2hh
bmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bW92ZUZsb2F0c1RvKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YWRkT3ZlcmZsb3dGcm9tRmxvYXRz
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6cmVwYWludE92ZXJoYW5naW5n
RmxvYXRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6cGFpbnRGbG9hdHMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpjbGlwT3V0RmxvYXRpbmdPYmpl
Y3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bG93ZXN0RmxvYXRMb2dp
Y2FsQm90dG9tKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bG93ZXN0SW5p
dGlhbExldHRlckxvZ2ljYWxCb3R0b20pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tG
bG93OjphZGRPdmVyaGFuZ2luZ0Zsb2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
a0Zsb3c6OmFkZEludHJ1ZGluZ0Zsb2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
a0Zsb3c6Om1hcmtTaWJsaW5nc1dpdGhGbG9hdHNGb3JMYXlvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2tGbG93OjphZGp1c3RGb3JCb3JkZXJGaXQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0TG9n
aWNhbFdpZHRoRm9yVGV4dFJ1bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6
OmxheW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrRmxvdzo6bGlua1RvRW5kTGluZUlmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6cmVwYWludERpcnR5RmxvYXRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6bGF5b3V0TGluZUJveGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrRmxvdzo6Y2hlY2tGbG9hdHNJbkNsZWFuTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9ja0Zsb3c6OmRldGVybWluZVN0YXJ0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2tGbG93OjpjaGVja1BhZ2luYXRpb25BbmRGbG9hdHNBdEVuZExpbmUpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckNvdW50ZXI6OmRlc3Ryb3lDb3VudGVyTm9kZXMpOgorICAgICAgICAoV2ViQ29yZTo6dXBk
YXRlQ291bnRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQ291bnRlcjo6cmVuZGVyZXJT
dHlsZUNoYW5nZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6YXV0b01hcmdpbk9mZnNldElu
TWFpbkF4aXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmZyZWV6ZVZp
b2xhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVG
bGV4aWJsZUxlbmd0aHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6Om51
bWJlck9mSW5GbG93UG9zaXRpb25lZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94OjpsYXlvdXRDb2x1bW5SZXZlcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckZsZXhpYmxlQm94OjphbGlnbkZsZXhMaW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJGbGV4aWJsZUJveDo6YWxpZ25DaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
bGV4aWJsZUJveDo6ZmxpcEZvcldyYXBSZXZlcnNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjp1
cGRhdGVBbGxMYXllclRvUmVnaW9uTWFwcGluZ3MpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjphZGRBbm5vdGF0
ZWRSZWdpb25zKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2NlbmRhbnRzQXJlQ29udGlndW91c0lu
U3RhY2tpbmdPcmRlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlRGVz
Y2VuZGFudERlcGVuZGVudEZsYWdzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlc2NlbmRhbnRMYXllclBhaW50c0ludG9B
bmNlc3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnN0YXJ0QW5p
bWF0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJveExpc3Q6OnBhaW50KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGlzdEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94
Ojp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNlbGVjdGVkT3B0aW9uQ291bnQpOgorICAgICAgICAo
UmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRp
Q29sdW1uU2V0OjpkaXN0cmlidXRlSW1wbGljaXRCcmVha3MpOgorCiAyMDE1LTA2LTA4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwgcmVuZGVyaW5n
OiBDbGlwLXBhdGggZG9lcyBub3Qgd29yayBwcm9wZXJseSBvbiBzdWJwaXhlbCBwb3NpdGlvbnMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwCmluZGV4IDFh
ZWFkZWQ1YTkzMzM4NWRiNzM5YjVjMDZmM2QyNTcyN2JhZjZmY2QuLmNkNDE4ZWJjNTQ2MWFmYmM3
MTQ3YjRhOGQ1NDI5MDBmZWYxY2U0ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9BdXRvVGFibGVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9B
dXRvVGFibGVMYXlvdXQuY3BwCkBAIC0yMjYsMTcgKzIyNiwxNyBAQCB2b2lkIEF1dG9UYWJsZUxh
eW91dDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluV2lkdGgs
IExheW91dAogICAgIGNvbnN0IGZsb2F0IGVwc2lsb24gPSAxIC8gMTI4LjBmOwogCiAgICAgZmxv
YXQgcmVtYWluaW5nUGVyY2VudCA9IDEwMDsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1f
bGF5b3V0U3RydWN0LnNpemUoKTsgKytpKSB7Ci0gICAgICAgIG1pbldpZHRoICs9IG1fbGF5b3V0
U3RydWN0W2ldLmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aDsKLSAgICAgICAgbWF4V2lkdGggKz0g
bV9sYXlvdXRTdHJ1Y3RbaV0uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoOworICAgIGZvciAoYXV0
byYgbGF5b3V0IDogbV9sYXlvdXRTdHJ1Y3QpIHsKKyAgICAgICAgbWluV2lkdGggKz0gbGF5b3V0
LmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aDsKKyAgICAgICAgbWF4V2lkdGggKz0gbGF5b3V0LmVm
ZmVjdGl2ZU1heExvZ2ljYWxXaWR0aDsKICAgICAgICAgaWYgKHNjYWxlQ29sdW1ucykgewotICAg
ICAgICAgICAgaWYgKG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2ZUxvZ2ljYWxXaWR0aC5pc1Bl
cmNlbnQoKSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHBlcmNlbnQgPSBzdGQ6Om1pbihtX2xh
eW91dFN0cnVjdFtpXS5lZmZlY3RpdmVMb2dpY2FsV2lkdGgucGVyY2VudCgpLCByZW1haW5pbmdQ
ZXJjZW50KTsKLSAgICAgICAgICAgICAgICBmbG9hdCBsb2dpY2FsV2lkdGggPSBzdGF0aWNfY2Fz
dDxmbG9hdD4obV9sYXlvdXRTdHJ1Y3RbaV0uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoKSAqIDEw
MCAvIHN0ZDo6bWF4KHBlcmNlbnQsIGVwc2lsb24pOworICAgICAgICAgICAgaWYgKGxheW91dC5l
ZmZlY3RpdmVMb2dpY2FsV2lkdGguaXNQZXJjZW50KCkpIHsKKyAgICAgICAgICAgICAgICBmbG9h
dCBwZXJjZW50ID0gc3RkOjptaW4obGF5b3V0LmVmZmVjdGl2ZUxvZ2ljYWxXaWR0aC5wZXJjZW50
KCksIHJlbWFpbmluZ1BlcmNlbnQpOworICAgICAgICAgICAgICAgIGZsb2F0IGxvZ2ljYWxXaWR0
aCA9IHN0YXRpY19jYXN0PGZsb2F0PihsYXlvdXQuZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoKSAq
IDEwMCAvIHN0ZDo6bWF4KHBlcmNlbnQsIGVwc2lsb24pOwogICAgICAgICAgICAgICAgIG1heFBl
cmNlbnQgPSBzdGQ6Om1heChsb2dpY2FsV2lkdGgsICBtYXhQZXJjZW50KTsKICAgICAgICAgICAg
ICAgICByZW1haW5pbmdQZXJjZW50IC09IHBlcmNlbnQ7CiAgICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICBtYXhOb25QZXJjZW50ICs9IG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2
ZU1heExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgICAgICBtYXhOb25QZXJjZW50ICs9IGxheW91
dC5lZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGg7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTI2NCwx
NyArMjY0LDE1IEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2FsV2lk
dGgoKQogewogICAgIGludCBtYXhMb2dpY2FsV2lkdGggPSAwOwogCi0gICAgc2l6ZV90IG5FZmZD
b2xzID0gbV9sYXlvdXRTdHJ1Y3Quc2l6ZSgpOwogICAgIGludCBzcGFjaW5nSW5Sb3dEaXJlY3Rp
b24gPSBtX3RhYmxlLT5oQm9yZGVyU3BhY2luZygpOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBuRWZmQ29sczsgKytpKSB7Ci0gICAgICAgIG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2
ZUxvZ2ljYWxXaWR0aCA9IG1fbGF5b3V0U3RydWN0W2ldLmxvZ2ljYWxXaWR0aDsKLSAgICAgICAg
bV9sYXlvdXRTdHJ1Y3RbaV0uZWZmZWN0aXZlTWluTG9naWNhbFdpZHRoID0gbV9sYXlvdXRTdHJ1
Y3RbaV0ubWluTG9naWNhbFdpZHRoOwotICAgICAgICBtX2xheW91dFN0cnVjdFtpXS5lZmZlY3Rp
dmVNYXhMb2dpY2FsV2lkdGggPSBtX2xheW91dFN0cnVjdFtpXS5tYXhMb2dpY2FsV2lkdGg7Cisg
ICAgZm9yIChhdXRvJiBsYXlvdXQgOiBtX2xheW91dFN0cnVjdCkgeworICAgICAgICBsYXlvdXQu
ZWZmZWN0aXZlTG9naWNhbFdpZHRoID0gbGF5b3V0LmxvZ2ljYWxXaWR0aDsKKyAgICAgICAgbGF5
b3V0LmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aCA9IGxheW91dC5taW5Mb2dpY2FsV2lkdGg7Cisg
ICAgICAgIGxheW91dC5lZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGggPSBsYXlvdXQubWF4TG9naWNh
bFdpZHRoOwogICAgIH0KIAotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9zcGFuQ2VsbHMu
c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgUmVuZGVyVGFibGVDZWxsKiBjZWxsID0gbV9zcGFuQ2Vs
bHNbaV07CisgICAgZm9yIChhdXRvJiBjZWxsIDogbV9zcGFuQ2VsbHMpIHsKICAgICAgICAgaWYg
KCFjZWxsKQogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTI5Niw3ICsyOTQsNyBAQCBpbnQgQXV0
b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhbFdpZHRoKCkKICAgICAgICAgYm9vbCBo
YXZlQXV0byA9IGZhbHNlOwogICAgICAgICBib29sIHNwYW5IYXNFbXB0eUNlbGxzT25seSA9IHRy
dWU7CiAgICAgICAgIGludCBmaXhlZFdpZHRoID0gMDsKLSAgICAgICAgd2hpbGUgKGxhc3RDb2wg
PCBuRWZmQ29scyAmJiBzcGFuID4gMCkgeworICAgICAgICB3aGlsZSAobGFzdENvbCA8IG1fbGF5
b3V0U3RydWN0LnNpemUoKSAmJiBzcGFuID4gMCkgewogICAgICAgICAgICAgTGF5b3V0JiBjb2x1
bW5MYXlvdXQgPSBtX2xheW91dFN0cnVjdFtsYXN0Q29sXTsKICAgICAgICAgICAgIHN3aXRjaCAo
Y29sdW1uTGF5b3V0LmxvZ2ljYWxXaWR0aC50eXBlKCkpIHsKICAgICAgICAgICAgIGNhc2UgUGVy
Y2VudDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RS
ZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVuZGVy
ZXIuY3BwCmluZGV4IDYyZGFjNGI4YjQ2MjIzODdiOGRjY2U3OGZlYTIwOTJkMjE0NDBlNWMuLjIx
ODJlNmY2Njg4YzQ3M2MxMjE1ODViODQxNTYzMzJlMjIwMjY4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcApAQCAtMTM1LDE4ICsx
MzUsMTcgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YnVpbGQoUmVuZGVyRWxlbWVudCog
cmVuZGVyZXIsIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMKICAgICBtX2VmZmVjdHMuY2xlYXIoKTsK
IAogICAgIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IHByZXZpb3VzRWZmZWN0ID0gbV9zb3VyY2VHcmFw
aGljOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb3BlcmF0aW9ucy5vcGVyYXRpb25zKCku
c2l6ZSgpOyArK2kpIHsKKyAgICBmb3IgKGF1dG8mIGZpbHRlck9wZXJhdGlvbiA6IG9wZXJhdGlv
bnMub3BlcmF0aW9ucygpKSB7CiAgICAgICAgIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IGVmZmVjdDsK
LSAgICAgICAgRmlsdGVyT3BlcmF0aW9uJiBmaWx0ZXJPcGVyYXRpb24gPSAqb3BlcmF0aW9ucy5v
cGVyYXRpb25zKCkuYXQoaSk7Ci0gICAgICAgIHN3aXRjaCAoZmlsdGVyT3BlcmF0aW9uLnR5cGUo
KSkgeworICAgICAgICBzd2l0Y2ggKGZpbHRlck9wZXJhdGlvbi0+dHlwZSgpKSB7CiAgICAgICAg
IGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpSRUZFUkVOQ0U6IHsKLSAgICAgICAgICAgIFJlZmVyZW5j
ZUZpbHRlck9wZXJhdGlvbiYgcmVmZXJlbmNlT3BlcmF0aW9uID0gZG93bmNhc3Q8UmVmZXJlbmNl
RmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24pOworICAgICAgICAgICAgUmVmZXJlbmNl
RmlsdGVyT3BlcmF0aW9uJiByZWZlcmVuY2VPcGVyYXRpb24gPSBkb3duY2FzdDxSZWZlcmVuY2VG
aWx0ZXJPcGVyYXRpb24+KCpmaWx0ZXJPcGVyYXRpb24pOwogICAgICAgICAgICAgZWZmZWN0ID0g
YnVpbGRSZWZlcmVuY2VGaWx0ZXIocmVuZGVyZXIsIHByZXZpb3VzRWZmZWN0LCAmcmVmZXJlbmNl
T3BlcmF0aW9uKTsKICAgICAgICAgICAgIHJlZmVyZW5jZU9wZXJhdGlvbi5zZXRGaWx0ZXJFZmZl
Y3QoZWZmZWN0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ug
RmlsdGVyT3BlcmF0aW9uOjpHUkFZU0NBTEU6IHsKLSAgICAgICAgICAgIEJhc2ljQ29sb3JNYXRy
aXhGaWx0ZXJPcGVyYXRpb24mIGNvbG9yTWF0cml4T3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWND
b2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbj4oZmlsdGVyT3BlcmF0aW9uKTsKKyAgICAgICAgICAg
IEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24mIGNvbG9yTWF0cml4T3BlcmF0aW9uID0g
ZG93bmNhc3Q8QmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbj4oKmZpbHRlck9wZXJhdGlv
bik7CiAgICAgICAgICAgICBWZWN0b3I8ZmxvYXQ+IGlucHV0UGFyYW1ldGVyczsKICAgICAgICAg
ICAgIGRvdWJsZSBvbmVNaW51c0Ftb3VudCA9IGNsYW1wVG8oMSAtIGNvbG9yTWF0cml4T3BlcmF0
aW9uLmFtb3VudCgpLCAwLjAsIDEuMCk7CiAKQEAgLTE3NCw3ICsxNzMsNyBAQCBib29sIEZpbHRl
ckVmZmVjdFJlbmRlcmVyOjpidWlsZChSZW5kZXJFbGVtZW50KiByZW5kZXJlciwgY29uc3QgRmls
dGVyT3BlcmF0aW9ucwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBGaWx0ZXJPcGVyYXRpb246OlNFUElBOiB7Ci0gICAgICAgICAgICBCYXNpY0NvbG9yTWF0cml4
RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9IGRvd25jYXN0PEJhc2ljQ29s
b3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KGZpbHRlck9wZXJhdGlvbik7CisgICAgICAgICAgICBC
YXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9IGRv
d25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KCpmaWx0ZXJPcGVyYXRpb24p
OwogICAgICAgICAgICAgVmVjdG9yPGZsb2F0PiBpbnB1dFBhcmFtZXRlcnM7CiAgICAgICAgICAg
ICBkb3VibGUgb25lTWludXNBbW91bnQgPSBjbGFtcFRvKDEgLSBjb2xvck1hdHJpeE9wZXJhdGlv
bi5hbW91bnQoKSwgMC4wLCAxLjApOwogCkBAIC0yMDIsMjEgKzIwMSwyMSBAQCBib29sIEZpbHRl
ckVmZmVjdFJlbmRlcmVyOjpidWlsZChSZW5kZXJFbGVtZW50KiByZW5kZXJlciwgY29uc3QgRmls
dGVyT3BlcmF0aW9ucwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBGaWx0ZXJPcGVyYXRpb246OlNBVFVSQVRFOiB7Ci0gICAgICAgICAgICBCYXNpY0NvbG9yTWF0
cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9IGRvd25jYXN0PEJhc2lj
Q29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KGZpbHRlck9wZXJhdGlvbik7CisgICAgICAgICAg
ICBCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9
IGRvd25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KCpmaWx0ZXJPcGVyYXRp
b24pOwogICAgICAgICAgICAgVmVjdG9yPGZsb2F0PiBpbnB1dFBhcmFtZXRlcnM7CiAgICAgICAg
ICAgICBpbnB1dFBhcmFtZXRlcnMuYXBwZW5kKG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoY29sb3JN
YXRyaXhPcGVyYXRpb24uYW1vdW50KCkpKTsKICAgICAgICAgICAgIGVmZmVjdCA9IEZFQ29sb3JN
YXRyaXg6OmNyZWF0ZSgqdGhpcywgRkVDT0xPUk1BVFJJWF9UWVBFX1NBVFVSQVRFLCBpbnB1dFBh
cmFtZXRlcnMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBG
aWx0ZXJPcGVyYXRpb246OkhVRV9ST1RBVEU6IHsKLSAgICAgICAgICAgIEJhc2ljQ29sb3JNYXRy
aXhGaWx0ZXJPcGVyYXRpb24mIGNvbG9yTWF0cml4T3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWND
b2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbj4oZmlsdGVyT3BlcmF0aW9uKTsKKyAgICAgICAgICAg
IEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24mIGNvbG9yTWF0cml4T3BlcmF0aW9uID0g
ZG93bmNhc3Q8QmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbj4oKmZpbHRlck9wZXJhdGlv
bik7CiAgICAgICAgICAgICBWZWN0b3I8ZmxvYXQ+IGlucHV0UGFyYW1ldGVyczsKICAgICAgICAg
ICAgIGlucHV0UGFyYW1ldGVycy5hcHBlbmQobmFycm93UHJlY2lzaW9uVG9GbG9hdChjb2xvck1h
dHJpeE9wZXJhdGlvbi5hbW91bnQoKSkpOwogICAgICAgICAgICAgZWZmZWN0ID0gRkVDb2xvck1h
dHJpeDo6Y3JlYXRlKCp0aGlzLCBGRUNPTE9STUFUUklYX1RZUEVfSFVFUk9UQVRFLCBpbnB1dFBh
cmFtZXRlcnMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBG
aWx0ZXJPcGVyYXRpb246OklOVkVSVDogewotICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFu
c2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2Fz
dDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24p
OworICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29t
cG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVy
RmlsdGVyT3BlcmF0aW9uPigqZmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIENvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNmZXJGdW5jdGlvbjsKICAgICAgICAgICAgIHRyYW5zZmVy
RnVuY3Rpb24udHlwZSA9IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9UQUJMRTsKICAgICAgICAg
ICAgIFZlY3RvcjxmbG9hdD4gdHJhbnNmZXJQYXJhbWV0ZXJzOwpAQCAtMjI5LDcgKzIyOCw3IEBA
IGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXI6OmJ1aWxkKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVy
LCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6T1BBQ0lUWTogewotICAgICAgICAgICAgQmFz
aWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVy
YXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPihm
aWx0ZXJPcGVyYXRpb24pOworICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRl
ck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0Nv
bXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPigqZmlsdGVyT3BlcmF0aW9uKTsKICAgICAg
ICAgICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNmZXJGdW5jdGlvbjsKICAgICAg
ICAgICAgIHRyYW5zZmVyRnVuY3Rpb24udHlwZSA9IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9U
QUJMRTsKICAgICAgICAgICAgIFZlY3RvcjxmbG9hdD4gdHJhbnNmZXJQYXJhbWV0ZXJzOwpAQCAt
MjQyLDcgKzI0MSw3IEBAIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXI6OmJ1aWxkKFJlbmRlckVs
ZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zCiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6QlJJR0hUTkVTUzog
ewotICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29t
cG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVy
RmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24pOworICAgICAgICAgICAgQmFzaWNDb21w
b25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24g
PSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPigqZmlsdGVy
T3BlcmF0aW9uKTsKICAgICAgICAgICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNm
ZXJGdW5jdGlvbjsKICAgICAgICAgICAgIHRyYW5zZmVyRnVuY3Rpb24udHlwZSA9IEZFQ09NUE9O
RU5UVFJBTlNGRVJfVFlQRV9MSU5FQVI7CiAgICAgICAgICAgICB0cmFuc2ZlckZ1bmN0aW9uLnNs
b3BlID0gbmFycm93UHJlY2lzaW9uVG9GbG9hdChjb21wb25lbnRUcmFuc2Zlck9wZXJhdGlvbi5h
bW91bnQoKSk7CkBAIC0yNTMsNyArMjUyLDcgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6
YnVpbGQoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9u
OjpDT05UUkFTVDogewotICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9w
ZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBv
bmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24pOworICAgICAgICAg
ICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNm
ZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0
aW9uPigqZmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIENvbXBvbmVudFRyYW5zZmVyRnVu
Y3Rpb24gdHJhbnNmZXJGdW5jdGlvbjsKICAgICAgICAgICAgIHRyYW5zZmVyRnVuY3Rpb24udHlw
ZSA9IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVI7CiAgICAgICAgICAgICBmbG9hdCBh
bW91bnQgPSBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGNvbXBvbmVudFRyYW5zZmVyT3BlcmF0aW9u
LmFtb3VudCgpKTsKQEAgLTI2NSwxMyArMjY0LDEzIEBAIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVy
ZXI6OmJ1aWxkKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25z
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZpbHRlck9wZXJh
dGlvbjo6QkxVUjogewotICAgICAgICAgICAgQmx1ckZpbHRlck9wZXJhdGlvbiYgYmx1ck9wZXJh
dGlvbiA9IGRvd25jYXN0PEJsdXJGaWx0ZXJPcGVyYXRpb24+KGZpbHRlck9wZXJhdGlvbik7Cisg
ICAgICAgICAgICBCbHVyRmlsdGVyT3BlcmF0aW9uJiBibHVyT3BlcmF0aW9uID0gZG93bmNhc3Q8
Qmx1ckZpbHRlck9wZXJhdGlvbj4oKmZpbHRlck9wZXJhdGlvbik7CiAgICAgICAgICAgICBmbG9h
dCBzdGREZXZpYXRpb24gPSBmbG9hdFZhbHVlRm9yTGVuZ3RoKGJsdXJPcGVyYXRpb24uc3RkRGV2
aWF0aW9uKCksIDApOwogICAgICAgICAgICAgZWZmZWN0ID0gRkVHYXVzc2lhbkJsdXI6OmNyZWF0
ZSgqdGhpcywgc3RkRGV2aWF0aW9uLCBzdGREZXZpYXRpb24sIGNvbnN1bWVyID09IEZpbHRlclBy
b3BlcnR5ID8gRURHRU1PREVfTk9ORSA6IEVER0VNT0RFX0RVUExJQ0FURSk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6RFJPUF9T
SEFET1c6IHsKLSAgICAgICAgICAgIERyb3BTaGFkb3dGaWx0ZXJPcGVyYXRpb24mIGRyb3BTaGFk
b3dPcGVyYXRpb24gPSBkb3duY2FzdDxEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJP
cGVyYXRpb24pOworICAgICAgICAgICAgRHJvcFNoYWRvd0ZpbHRlck9wZXJhdGlvbiYgZHJvcFNo
YWRvd09wZXJhdGlvbiA9IGRvd25jYXN0PERyb3BTaGFkb3dGaWx0ZXJPcGVyYXRpb24+KCpmaWx0
ZXJPcGVyYXRpb24pOwogICAgICAgICAgICAgZWZmZWN0ID0gRkVEcm9wU2hhZG93OjpjcmVhdGUo
KnRoaXMsIGRyb3BTaGFkb3dPcGVyYXRpb24uc3RkRGV2aWF0aW9uKCksIGRyb3BTaGFkb3dPcGVy
YXRpb24uc3RkRGV2aWF0aW9uKCksCiAgICAgICAgICAgICAgICAgZHJvcFNoYWRvd09wZXJhdGlv
bi54KCksIGRyb3BTaGFkb3dPcGVyYXRpb24ueSgpLCBkcm9wU2hhZG93T3BlcmF0aW9uLmNvbG9y
KCksIDEpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yODYsNyArMjg1LDcgQEAgYm9vbCBGaWx0
ZXJFZmZlY3RSZW5kZXJlcjo6YnVpbGQoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEZp
bHRlck9wZXJhdGlvbnMKICAgICAgICAgICAgIGVmZmVjdC0+c2V0Q2xpcHNUb0JvdW5kcyhjb25z
dW1lciA9PSBGaWx0ZXJGdW5jdGlvbik7CiAgICAgICAgICAgICBlZmZlY3QtPnNldE9wZXJhdGlu
Z0NvbG9yU3BhY2UoQ29sb3JTcGFjZURldmljZVJHQik7CiAgICAgICAgICAgICAKLSAgICAgICAg
ICAgIGlmIChmaWx0ZXJPcGVyYXRpb24udHlwZSgpICE9IEZpbHRlck9wZXJhdGlvbjo6UkVGRVJF
TkNFKSB7CisgICAgICAgICAgICBpZiAoZmlsdGVyT3BlcmF0aW9uLT50eXBlKCkgIT0gRmlsdGVy
T3BlcmF0aW9uOjpSRUZFUkVOQ0UpIHsKICAgICAgICAgICAgICAgICBlZmZlY3QtPmlucHV0RWZm
ZWN0cygpLmFwcGVuZChwcmV2aW91c0VmZmVjdCk7CiAgICAgICAgICAgICAgICAgbV9lZmZlY3Rz
LmFwcGVuZChlZmZlY3QpOwogICAgICAgICAgICAgfQpAQCAtMzMxLDggKzMzMCw4IEBAIHZvaWQg
RmlsdGVyRWZmZWN0UmVuZGVyZXI6OmFsbG9jYXRlQmFja2luZ1N0b3JlSWZOZWVkZWQoKQogdm9p
ZCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6Y2xlYXJJbnRlcm1lZGlhdGVSZXN1bHRzKCkKIHsKICAg
ICBtX3NvdXJjZUdyYXBoaWMtPmNsZWFyUmVzdWx0KCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBtX2VmZmVjdHMuc2l6ZSgpOyArK2kpCi0gICAgICAgIG1fZWZmZWN0c1tpXS0+Y2xlYXJS
ZXN1bHQoKTsKKyAgICBmb3IgKGF1dG8mIGVmZmVjdCA6IG1fZWZmZWN0cykKKyAgICAgICAgZWZm
ZWN0LT5jbGVhclJlc3VsdCgpOwogfQogCiB2b2lkIEZpbHRlckVmZmVjdFJlbmRlcmVyOjphcHBs
eSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVu
ZGVyZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5o
CmluZGV4IDVmZjg5OGI0MDY1NjQ5ZDBjODY0NzU2N2FkNWRmMjJjMjBhZjkyNDEuLmQ3MTU1M2Fl
Mzc2NjA1NDNkZGI3Yzc4YWI0ZGY2OGVmMGRhMGVmYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5oCkBAIC0xMjAsMTAgKzEyMCw4IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCBzZXRNYXhFZmZlY3RSZWN0cyhjb25zdCBGbG9hdFJl
Y3QmIGVmZmVjdFJlY3QpCiAgICAgewotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1f
ZWZmZWN0cy5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgUmVmUHRyPEZpbHRlckVmZmVjdD4g
ZWZmZWN0ID0gbV9lZmZlY3RzLmF0KGkpOworICAgICAgICBmb3IgKGF1dG8mIGVmZmVjdCA6IG1f
ZWZmZWN0cykKICAgICAgICAgICAgIGVmZmVjdC0+c2V0TWF4RWZmZWN0UmVjdChlZmZlY3RSZWN0
KTsKLSAgICAgICAgfQogICAgIH0KIAogICAgIEZpbHRlckVmZmVjdCogbGFzdEVmZmVjdCgpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmplY3Rz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG9hdGluZ09iamVjdHMuY3BwCmluZGV4
IGRiYzUxYzdlZDc0MjRlNjUxOGU5MTZlZDY4Y2RjN2EzOGY0N2ViOTAuLjk4YjQwNjFiZTYwMjBh
ZTRlMmQxM2Y1MjkxN2RkNzQ1NzcxN2QwOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9GbG9hdGluZ09iamVjdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9GbG9hdGluZ09iamVjdHMuY3BwCkBAIC0yNjYsOSArMjY2LDkgQEAgRmxvYXRpbmdPYmplY3Rz
Ojp+RmxvYXRpbmdPYmplY3RzKCkKIHZvaWQgRmxvYXRpbmdPYmplY3RzOjpjbGVhckxpbmVCb3hU
cmVlUG9pbnRlcnMoKQogewogICAgIC8vIENsZWFyIHJlZmVyZW5jZXMgdG8gb3JpZ2luYXRpbmcg
bGluZXMsIHNpbmNlIHRoZSBsaW5lcyBhcmUgYmVpbmcgZGVsZXRlZAotICAgIGZvciAoYXV0byBp
dCA9IG1fc2V0LmJlZ2luKCksIGVuZCA9IG1fc2V0LmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
LSAgICAgICAgQVNTRVJUKCEoKCppdCktPm9yaWdpbmF0aW5nTGluZSgpKSB8fCAmKCgqaXQpLT5v
cmlnaW5hdGluZ0xpbmUoKS0+cmVuZGVyZXIoKSkgPT0gJm1fcmVuZGVyZXIpOwotICAgICAgICAo
Kml0KS0+c2V0T3JpZ2luYXRpbmdMaW5lKDApOworICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmpl
Y3QgOiBtX3NldCkgeworICAgICAgICBBU1NFUlQoIShmbG9hdGluZ09iamVjdC0+b3JpZ2luYXRp
bmdMaW5lKCkpIHx8ICYoZmxvYXRpbmdPYmplY3QtPm9yaWdpbmF0aW5nTGluZSgpLT5yZW5kZXJl
cigpKSA9PSAmbV9yZW5kZXJlcik7CisgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5zZXRPcmlnaW5h
dGluZ0xpbmUoMCk7CiAgICAgfQogfQogCkBAIC0yODIsMTIgKzI4MiwxMiBAQCB2b2lkIEZsb2F0
aW5nT2JqZWN0czo6Y2xlYXIoKQogCiB2b2lkIEZsb2F0aW5nT2JqZWN0czo6bW92ZUFsbFRvRmxv
YXRJbmZvTWFwKFJlbmRlcmVyVG9GbG9hdEluZm9NYXAmIG1hcCkKIHsKLSAgICBmb3IgKGF1dG8g
aXQgPSBtX3NldC5iZWdpbigpLCBlbmQgPSBtX3NldC5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgIGF1dG8mIHJlbmRlcmVyID0gaXQtPmdldCgpLT5yZW5kZXJlcigpOworICAgIGZv
ciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX3NldCkgeworICAgICAgICBhdXRvJiByZW5kZXJl
ciA9IGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpOwogICAgICAgICAvLyBGSVhNRTogVGhlIG9u
bHkgcmVhc29uIGl0IGlzIHNhZmUgdG8gbW92ZSB0aGVzZSBvdXQgb2YgdGhlIHNldCBpcyB0aGF0
CiAgICAgICAgIC8vIHdlIGFyZSBhYm91dCB0byBjbGVhciBpdC4gT3RoZXJ3aXNlIGl0IHdvdWxk
IGJyZWFrIHRoZSBoYXNoIHRhYmxlIGludmFyaWFudC4KICAgICAgICAgLy8gQSBjbGVhbiB3YXkg
dG8gZG8gdGhpcyB3b3VsZCBiZSB0byBhZGQgYSB0YWtlQWxsIGZ1bmN0aW9uIHRvIEhhc2hTZXQu
Ci0gICAgICAgIG1hcC5hZGQoJnJlbmRlcmVyLCBXVEY6Om1vdmUoKml0KSk7CisgICAgICAgIG1h
cC5hZGQoJnJlbmRlcmVyLCBXVEY6Om1vdmUoZmxvYXRpbmdPYmplY3QpKTsKICAgICB9CiAgICAg
Y2xlYXIoKTsKIH0KQEAgLTM3NCwxMCArMzc0LDkgQEAgdm9pZCBGbG9hdGluZ09iamVjdHM6OmNv
bXB1dGVQbGFjZWRGbG9hdHNUcmVlKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9wbGFjZWRG
bG9hdHNUcmVlID0gc3RkOjptYWtlX3VuaXF1ZTxGbG9hdGluZ09iamVjdFRyZWU+KCk7Ci0gICAg
Zm9yIChhdXRvIGl0ID0gbV9zZXQuYmVnaW4oKSwgZW5kID0gbV9zZXQuZW5kKCk7IGl0ICE9IGVu
ZDsgKytpdCkgewotICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QgPSBpdC0+
Z2V0KCk7CisgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVjdCA6IG1fc2V0KSB7CiAgICAgICAg
IGlmIChmbG9hdGluZ09iamVjdC0+aXNQbGFjZWQoKSkKLSAgICAgICAgICAgIG1fcGxhY2VkRmxv
YXRzVHJlZS0+YWRkKGludGVydmFsRm9yRmxvYXRpbmdPYmplY3QoZmxvYXRpbmdPYmplY3QpKTsK
KyAgICAgICAgICAgIG1fcGxhY2VkRmxvYXRzVHJlZS0+YWRkKGludGVydmFsRm9yRmxvYXRpbmdP
YmplY3QoZmxvYXRpbmdPYmplY3QuZ2V0KCkpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwCmluZGV4IDhjZjE0YWNm
YTIwYzg0NGMxMWZlNzkxYWI4MzU1ZjRhYzg0OGFkOTguLmViNmI0NmNiZDQ1MjcxNmI0NmVjODBj
YmUwMTAyOTU5NjU5MWZkYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9G
bG93VGhyZWFkQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zs
b3dUaHJlYWRDb250cm9sbGVyLmNwcApAQCAtMjc0LDggKzI3NCw3IEBAIHZvaWQgRmxvd1RocmVh
ZENvbnRyb2xsZXI6OmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoVmVjdG9yPFJlbmRlckxh
eWVyKj4mIGZpCiAKICAgICAgICAgUmVuZGVyTGF5ZXIqIGZsb3dUaHJlYWRMYXllciA9IGZsb3dS
ZW5kZXJlci0+bGF5ZXIoKTsKICAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBuZWda
T3JkZXJMaXN0ID0gZmxvd1RocmVhZExheWVyLT5uZWdaT3JkZXJMaXN0KCkpIHsKLSAgICAgICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwLCBzaXplID0gbmVnWk9yZGVyTGlzdC0+c2l6ZSgpOyBpIDwg
c2l6ZTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1cnJMYXllciA9IG5l
Z1pPcmRlckxpc3QtPmF0KGkpOworICAgICAgICAgICAgZm9yIChhdXRvJiBjdXJyTGF5ZXIgOiAq
bmVnWk9yZGVyTGlzdCkgewogICAgICAgICAgICAgICAgIGlmIChjdXJyTGF5ZXItPnJlbmRlcmVy
KCkuc3R5bGUoKS5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pCiAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIGZpeGVkUG9zTGF5ZXJzLmFwcGVuZChjdXJy
TGF5ZXIpOwpAQCAtMjgzLDggKzI4Miw3IEBAIHZvaWQgRmxvd1RocmVhZENvbnRyb2xsZXI6OmNv
bGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoVmVjdG9yPFJlbmRlckxheWVyKj4mIGZpCiAgICAg
ICAgIH0KIAogICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIHBvc1pPcmRlckxpc3Qg
PSBmbG93VGhyZWFkTGF5ZXItPnBvc1pPcmRlckxpc3QoKSkgewotICAgICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDAsIHNpemUgPSBwb3NaT3JkZXJMaXN0LT5zaXplKCk7IGkgPCBzaXplOyArK2kp
IHsKLSAgICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3VyckxheWVyID0gcG9zWk9yZGVyTGlz
dC0+YXQoaSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGN1cnJMYXllciA6ICpwb3NaT3JkZXJM
aXN0KSB7CiAgICAgICAgICAgICAgICAgaWYgKGN1cnJMYXllci0+cmVuZGVyZXIoKS5zdHlsZSgp
LnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKICAgICAgICAgICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGN1cnJMYXllcik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXggMTQ0NDliNjc3
ZGQ3YjcyYzBkMTA3ZTRlMmE0ZWVmYjZlZjk1N2MzYi4uODkyZDE2M2MzM2YzODk1OGJlZTEzZjMw
ZmM2NzNlZjdmZmUxYjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hp
dFRlc3RSZXN1bHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmNwcApAQCAtNzAyLDggKzcwMiw4IEBAIHZvaWQgSGl0VGVzdFJlc3VsdDo6YXBwZW5kKGNv
bnN0IEhpdFRlc3RSZXN1bHQmIG90aGVyKQogCiAgICAgaWYgKG90aGVyLm1fcmVjdEJhc2VkVGVz
dFJlc3VsdCkgewogICAgICAgICBOb2RlU2V0JiBzZXQgPSBtdXRhYmxlUmVjdEJhc2VkVGVzdFJl
c3VsdCgpOwotICAgICAgICBmb3IgKE5vZGVTZXQ6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gb3RoZXIu
bV9yZWN0QmFzZWRUZXN0UmVzdWx0LT5iZWdpbigpLCBsYXN0ID0gb3RoZXIubV9yZWN0QmFzZWRU
ZXN0UmVzdWx0LT5lbmQoKTsgaXQgIT0gbGFzdDsgKytpdCkKLSAgICAgICAgICAgIHNldC5hZGQo
aXQtPmdldCgpKTsKKyAgICAgICAgZm9yIChhdXRvJiByZXN1bHQgOiAqb3RoZXIubV9yZWN0QmFz
ZWRUZXN0UmVzdWx0KQorICAgICAgICAgICAgc2V0LmFkZChyZXN1bHQpOwogICAgIH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIu
Y3BwCmluZGV4IGM0YTZlNDNjNjcyMmY0MTBmN2JmOTBkMTA4YjhjNTYwYzMyMDAwOWMuLjEwZGNm
MTFhZDllOTIwNGNiZTU1NGQ2YzQ5Njk0MWQ3NWVkMGZiMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKQEAgLTg4LDggKzg4
LDggQEAgdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRUaW1l
ckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGZvciAoYXV0byBpdCA9IG1f
b2JqZWN0TGF5ZXJTaXplTWFwLmJlZ2luKCksIGVuZCA9IG1fb2JqZWN0TGF5ZXJTaXplTWFwLmVu
ZCgpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIGl0LT5rZXktPnJlcGFpbnQoKTsKKyAgICBm
b3IgKGF1dG8mIG9iamVjdCA6IG1fb2JqZWN0TGF5ZXJTaXplTWFwLmtleXMoKSkKKyAgICAgICAg
b2JqZWN0LT5yZXBhaW50KCk7CiAKICAgICBtX2xpdmVSZXNpemVPcHRpbWl6YXRpb25Jc0FjdGl2
ZSA9IGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGlu
ZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3Bw
CmluZGV4IGY0MGI3NTBlMTNhZDI4OTdhYmEwNzMxYWJmZDM5NjI2MTYwNGI1OTMuLmJlZWVjYzY2
Njk3ZjU0OGQ0ZTZhN2ZjYmEwNjUyM2Q3OGRlZTYyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKQEAgLTYzMCwxMiArNjMwLDcgQEAgdm9pZCBJbmxpbmVU
ZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBh
aW50T2Zmc2V0LAogICAgICAgICBwYWludERvY3VtZW50TWFya2Vycyhjb250ZXh0LCBib3hPcmln
aW4sIGxpbmVTdHlsZSwgZm9udCwgZmFsc2UpOwogCiAgICAgICAgIGlmICh1c2VDdXN0b21VbmRl
cmxpbmVzKSB7Ci0gICAgICAgICAgICBjb25zdCBWZWN0b3I8Q29tcG9zaXRpb25VbmRlcmxpbmU+
JiB1bmRlcmxpbmVzID0gcmVuZGVyZXIoKS5mcmFtZSgpLmVkaXRvcigpLmN1c3RvbUNvbXBvc2l0
aW9uVW5kZXJsaW5lcygpOwotICAgICAgICAgICAgc2l6ZV90IG51bVVuZGVybGluZXMgPSB1bmRl
cmxpbmVzLnNpemUoKTsKLQotICAgICAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRl
eCA8IG51bVVuZGVybGluZXM7ICsraW5kZXgpIHsKLSAgICAgICAgICAgICAgICBjb25zdCBDb21w
b3NpdGlvblVuZGVybGluZSYgdW5kZXJsaW5lID0gdW5kZXJsaW5lc1tpbmRleF07Ci0KKyAgICAg
ICAgICAgIGZvciAoYXV0byYgdW5kZXJsaW5lIDogcmVuZGVyZXIoKS5mcmFtZSgpLmVkaXRvcigp
LmN1c3RvbUNvbXBvc2l0aW9uVW5kZXJsaW5lcygpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHVu
ZGVybGluZS5lbmRPZmZzZXQgPD0gc3RhcnQoKSkKICAgICAgICAgICAgICAgICAgICAgLy8gdW5k
ZXJsaW5lIGlzIGNvbXBsZXRlbHkgYmVmb3JlIHRoaXMgcnVuLiAgVGhpcyBtaWdodCBiZSBhbiB1
bmRlcmxpbmUgdGhhdCBzaXRzCiAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZSB0aGUgZmly
c3QgcnVuIHdlIGRyYXcsIG9yIHVuZGVybGluZXMgdGhhdCB3ZXJlIHdpdGhpbiBydW5zIHdlIHNr
aXBwZWQgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCA3NjZk
MWE4ODZhM2FmODhmZjhmZTc2MWM5NzVjOGMzMDgxNmFjZGU1Li5jZWYxYTIzZDZhNTMwMDZiZDFj
MDEyOWEyMmU2NWYwZjI0MWE5ZjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAKQEAgLTE5NCw5ICsxOTQsOCBAQCBSZW5kZXJCbG9jazo6UmVuZGVyQmxvY2soRG9j
dW1lbnQmIGRvY3VtZW50LCBSZWY8UmVuZGVyU3R5bGU+JiYgc3R5bGUsIHVuc2lnbmVkCiBzdGF0
aWMgdm9pZCByZW1vdmVCbG9ja0Zyb21EZXNjZW5kYW50QW5kQ29udGFpbmVyTWFwcyhSZW5kZXJC
bG9jayogYmxvY2ssIFRyYWNrZWREZXNjZW5kYW50c01hcComIGRlc2NlbmRhbnRNYXAsIFRyYWNr
ZWRDb250YWluZXJNYXAqJiBjb250YWluZXJNYXApCiB7CiAgICAgaWYgKHN0ZDo6dW5pcXVlX3B0
cjxUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldD4gZGVzY2VuZGFudFNldCA9IGRlc2NlbmRhbnRN
YXAtPnRha2UoYmxvY2spKSB7Ci0gICAgICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0Ojpp
dGVyYXRvciBlbmQgPSBkZXNjZW5kYW50U2V0LT5lbmQoKTsKLSAgICAgICAgZm9yIChUcmFja2Vk
UmVuZGVyZXJMaXN0SGFzaFNldDo6aXRlcmF0b3IgZGVzY2VuZGFudCA9IGRlc2NlbmRhbnRTZXQt
PmJlZ2luKCk7IGRlc2NlbmRhbnQgIT0gZW5kOyArK2Rlc2NlbmRhbnQpIHsKLSAgICAgICAgICAg
IFRyYWNrZWRDb250YWluZXJNYXA6Oml0ZXJhdG9yIGl0ID0gY29udGFpbmVyTWFwLT5maW5kKCpk
ZXNjZW5kYW50KTsKKyAgICAgICAgZm9yIChhdXRvJiBib3ggOiAqZGVzY2VuZGFudFNldCkgewor
ICAgICAgICAgICAgVHJhY2tlZENvbnRhaW5lck1hcDo6aXRlcmF0b3IgaXQgPSBjb250YWluZXJN
YXAtPmZpbmQoYm94KTsKICAgICAgICAgICAgIEFTU0VSVChpdCAhPSBjb250YWluZXJNYXAtPmVu
ZCgpKTsKICAgICAgICAgICAgIGlmIChpdCA9PSBjb250YWluZXJNYXAtPmVuZCgpKQogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMTA1MSw5ICsxMDUwLDcgQEAgdm9pZCBSZW5kZXJCbG9j
azo6YWRkT3ZlcmZsb3dGcm9tUG9zaXRpb25lZE9iamVjdHMoKQogICAgIGlmICghcG9zaXRpb25l
ZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm47CiAKLSAgICBmb3IgKGF1dG8gaXQgPSBwb3Np
dGlvbmVkRGVzY2VuZGFudHMtPmJlZ2luKCksIGVuZCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+
ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBSZW5kZXJCb3gqIHBvc2l0aW9uZWRP
YmplY3QgPSAqaXQ7Ci0gICAgICAgIAorICAgIGZvciAoYXV0byYgcG9zaXRpb25lZE9iamVjdCA6
ICpwb3NpdGlvbmVkRGVzY2VuZGFudHMpIHsKICAgICAgICAgLy8gRml4ZWQgcG9zaXRpb25lZCBl
bGVtZW50cyBkb24ndCBjb250cmlidXRlIHRvIGxheW91dCBvdmVyZmxvdywgc2luY2UgdGhleSBk
b24ndCBzY3JvbGwgd2l0aCB0aGUgY29udGVudC4KICAgICAgICAgaWYgKHBvc2l0aW9uZWRPYmpl
Y3QtPnN0eWxlKCkucG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uKSB7CiAgICAgICAgICAgICBM
YXlvdXRVbml0IHggPSBwb3NpdGlvbmVkT2JqZWN0LT54KCk7CkBAIC0xMTQ4LDggKzExNDUsNyBA
QCB2b2lkIFJlbmRlckJsb2NrOjpkaXJ0eUZvckxheW91dEZyb21QZXJjZW50YWdlSGVpZ2h0RGVz
Y2VuZGFudHMoKQogICAgIGlmICghZGVzY2VuZGFudHMpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGZvciAoYXV0byBpdCA9IGRlc2NlbmRhbnRzLT5iZWdpbigpLCBlbmQgPSBkZXNjZW5kYW50cy0+
ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBSZW5kZXJCb3gqIGJveCA9ICppdDsK
KyAgICBmb3IgKGF1dG8mIGJveCA6ICpkZXNjZW5kYW50cykgewogICAgICAgICB3aGlsZSAoYm94
ICE9IHRoaXMpIHsKICAgICAgICAgICAgIGlmIChib3gtPm5vcm1hbENoaWxkTmVlZHNMYXlvdXQo
KSkKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTExODYsMTEgKzExODIsOSBAQCB2b2lkIFJl
bmRlckJsb2NrOjpzaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpCiAKICAgICAgICAgLy8gRklY
TUU6IEdseXBoIG92ZXJmbG93IHdpbGwgZ2V0IGxvc3QgaW4gdGhpcyBjYXNlLCBidXQgbm90IHJl
YWxseSBhIGJpZyBkZWFsLgogICAgICAgICAvLyBGSVhNRTogRmluZCBhIHdheSB0byBpbnZhbGlk
YXRlIHRoZSBrbm93blRvSGF2ZU5vT3ZlcmZsb3cgZmxhZyBvbiB0aGUgSW5saW5lQm94ZXMuCi0g
ICAgICAgIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwIHRleHRCb3hEYXRhTWFwOyAg
ICAgICAgICAgICAgICAgIAotICAgICAgICBmb3IgKGF1dG8gaXQgPSBsaW5lQm94ZXMuYmVnaW4o
KSwgZW5kID0gbGluZUJveGVzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAg
IFJvb3RJbmxpbmVCb3gqIGJveCA9ICppdDsKKyAgICAgICAgR2x5cGhPdmVyZmxvd0FuZEZhbGxi
YWNrRm9udHNNYXAgdGV4dEJveERhdGFNYXA7CisgICAgICAgIGZvciAoYXV0byYgYm94IDogbGlu
ZUJveGVzKQogICAgICAgICAgICAgYm94LT5jb21wdXRlT3ZlcmZsb3coYm94LT5saW5lVG9wKCks
IGJveC0+bGluZUJvdHRvbSgpLCB0ZXh0Qm94RGF0YU1hcCk7Ci0gICAgICAgIH0KICAgICB9IGVs
c2UgewogICAgICAgICBmb3IgKGF1dG8gYm94ID0gZmlyc3RDaGlsZEJveCgpOyBib3g7IGJveCA9
IGJveC0+bmV4dFNpYmxpbmdCb3goKSkgewogICAgICAgICAgICAgaWYgKCFib3gtPmlzT3V0T2ZG
bG93UG9zaXRpb25lZCgpKQpAQCAtMTI5OSwxNyArMTI5MywxNSBAQCB2b2lkIFJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4
ZWRQb3NpdAogICAgIGlmICghcG9zaXRpb25lZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm47
CiAKLSAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmJlZ2luKCksIGVu
ZCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAg
ICAgICBSZW5kZXJCb3gmIHIgPSAqKml0OwotICAgICAgICAKLSAgICAgICAgZXN0aW1hdGVSZWdp
b25SYW5nZUZvckJveENoaWxkKHIpOworICAgIGZvciAoYXV0byYgYm94IDogKnBvc2l0aW9uZWRE
ZXNjZW5kYW50cykgeworICAgICAgICBlc3RpbWF0ZVJlZ2lvblJhbmdlRm9yQm94Q2hpbGQoKmJv
eCk7CiAKICAgICAgICAgLy8gQSBmaXhlZCBwb3NpdGlvbiBlbGVtZW50IHdpdGggYW4gYWJzb2x1
dGUgcG9zaXRpb25lZCBhbmNlc3RvciBoYXMgbm8gd2F5IG9mIGtub3dpbmcgaWYgdGhlIGxhdHRl
ciBoYXMgY2hhbmdlZCBwb3NpdGlvbi4gU28KICAgICAgICAgLy8gaWYgdGhpcyBpcyBhIGZpeGVk
IHBvc2l0aW9uIGVsZW1lbnQsIG1hcmsgaXQgZm9yIGxheW91dCBpZiBpdCBoYXMgYW4gYWJzcG9z
IGFuY2VzdG9yIGFuZCBuZWVkcyB0byBtb3ZlIHdpdGggdGhhdCBhbmNlc3RvciwgaS5lLiAKICAg
ICAgICAgLy8gaXQgaGFzIHN0YXRpYyBwb3NpdGlvbi4KLSAgICAgICAgbWFya0ZpeGVkUG9zaXRp
b25PYmplY3RGb3JMYXlvdXRJZk5lZWRlZChyKTsKKyAgICAgICAgbWFya0ZpeGVkUG9zaXRpb25P
YmplY3RGb3JMYXlvdXRJZk5lZWRlZCgqYm94KTsKICAgICAgICAgaWYgKGZpeGVkUG9zaXRpb25P
YmplY3RzT25seSkgewotICAgICAgICAgICAgci5sYXlvdXRJZk5lZWRlZCgpOworICAgICAgICAg
ICAgYm94LT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KIApAQCAtMTMxNyw0MyArMTMwOSw0MyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3Np
dGlvbmVkT2JqZWN0cyhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4ZWRQb3NpdAogICAg
ICAgICAvLyBub24tcG9zaXRpb25lZCBibG9jay4gIFJhdGhlciB0aGFuIHRyeWluZyB0byBkZXRl
Y3QgYWxsIG9mIHRoZXNlIG1vdmVtZW50IGNhc2VzLCB3ZSBqdXN0IGFsd2F5cyBsYXkgb3V0IHBv
c2l0aW9uZWQKICAgICAgICAgLy8gb2JqZWN0cyB0aGF0IGFyZSBwb3NpdGlvbmVkIGltcGxpY2l0
bHkgbGlrZSB0aGlzLiAgU3VjaCBvYmplY3RzIGFyZSByYXJlLCBhbmQgc28gaW4gdHlwaWNhbCBE
SFRNTCBtZW51IHVzYWdlICh3aGVyZSBldmVyeXRoaW5nIGlzCiAgICAgICAgIC8vIHBvc2l0aW9u
ZWQgZXhwbGljaXRseSkgdGhpcyBzaG91bGQgbm90IGluY3VyIGEgcGVyZm9ybWFuY2UgcGVuYWx0
eS4KLSAgICAgICAgaWYgKHJlbGF5b3V0Q2hpbGRyZW4gfHwgKHIuc3R5bGUoKS5oYXNTdGF0aWNC
bG9ja1Bvc2l0aW9uKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpICYmIHIucGFyZW50KCkgIT0g
dGhpcykpCi0gICAgICAgICAgICByLnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsK
KyAgICAgICAgaWYgKHJlbGF5b3V0Q2hpbGRyZW4gfHwgKGJveC0+c3R5bGUoKS5oYXNTdGF0aWNC
bG9ja1Bvc2l0aW9uKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpICYmIGJveC0+cGFyZW50KCkg
IT0gdGhpcykpCisgICAgICAgICAgICBib3gtPnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlU
aGlzKTsKICAgICAgICAgICAgIAogICAgICAgICAvLyBJZiByZWxheW91dENoaWxkcmVuIGlzIHNl
dCBhbmQgdGhlIGNoaWxkIGhhcyBwZXJjZW50YWdlIHBhZGRpbmcgb3IgYW4gZW1iZWRkZWQgY29u
dGVudCBib3gsIHdlIGFsc28gbmVlZCB0byBpbnZhbGlkYXRlIHRoZSBjaGlsZHMgcHJlZiB3aWR0
aHMuCi0gICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuICYmIHIubmVlZHNQcmVmZXJyZWRXaWR0
aHNSZWNhbGN1bGF0aW9uKCkpCi0gICAgICAgICAgICByLnNldFByZWZlcnJlZExvZ2ljYWxXaWR0
aHNEaXJ0eSh0cnVlLCBNYXJrT25seVRoaXMpOworICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJl
biAmJiBib3gtPm5lZWRzUHJlZmVycmVkV2lkdGhzUmVjYWxjdWxhdGlvbigpKQorICAgICAgICAg
ICAgYm94LT5zZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkodHJ1ZSwgTWFya09ubHlUaGlz
KTsKICAgICAgICAgCi0gICAgICAgIHIubWFya0ZvclBhZ2luYXRpb25SZWxheW91dElmTmVlZGVk
KCk7CisgICAgICAgIGJveC0+bWFya0ZvclBhZ2luYXRpb25SZWxheW91dElmTmVlZGVkKCk7CiAg
ICAgICAgIAogICAgICAgICAvLyBXZSBkb24ndCBoYXZlIHRvIGRvIGEgZnVsbCBsYXlvdXQuICBX
ZSBqdXN0IGhhdmUgdG8gdXBkYXRlIG91ciBwb3NpdGlvbi4gVHJ5IHRoYXQgZmlyc3QuIElmIHdl
IGhhdmUgc2hyaW5rLXRvLWZpdCB3aWR0aAogICAgICAgICAvLyBhbmQgd2UgaGl0IHRoZSBhdmFp
bGFibGUgd2lkdGggY29uc3RyYWludCwgdGhlIGxheW91dElmTmVlZGVkKCkgd2lsbCBjYXRjaCBp
dCBhbmQgZG8gYSBmdWxsIGxheW91dC4KLSAgICAgICAgaWYgKHIubmVlZHNQb3NpdGlvbmVkTW92
ZW1lbnRMYXlvdXRPbmx5KCkgJiYgci50cnlMYXlvdXREb2luZ1Bvc2l0aW9uZWRNb3ZlbWVudE9u
bHkoKSkKLSAgICAgICAgICAgIHIuY2xlYXJOZWVkc0xheW91dCgpOworICAgICAgICBpZiAoYm94
LT5uZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dE9ubHkoKSAmJiBib3gtPnRyeUxheW91dERv
aW5nUG9zaXRpb25lZE1vdmVtZW50T25seSgpKQorICAgICAgICAgICAgYm94LT5jbGVhck5lZWRz
TGF5b3V0KCk7CiAgICAgICAgICAgICAKICAgICAgICAgLy8gSWYgd2UgYXJlIHBhZ2luYXRlZCBv
ciBpbiBhIGxpbmUgZ3JpZCwgY29tcHV0ZSBhIHZlcnRpY2FsIHBvc2l0aW9uIGZvciBvdXIgb2Jq
ZWN0IG5vdy4KICAgICAgICAgLy8gSWYgaXQncyB3cm9uZyB3ZSdsbCBsYXkgb3V0IGFnYWluLgog
ICAgICAgICBMYXlvdXRVbml0IG9sZExvZ2ljYWxUb3AgPSAwOwotICAgICAgICBib29sIG5lZWRz
QmxvY2tEaXJlY3Rpb25Mb2NhdGlvblNldEJlZm9yZUxheW91dCA9IHIubmVlZHNMYXlvdXQoKSAm
JiB2aWV3KCkubGF5b3V0U3RhdGUoKS0+bmVlZHNCbG9ja0RpcmVjdGlvbkxvY2F0aW9uU2V0QmVm
b3JlTGF5b3V0KCk7CisgICAgICAgIGJvb2wgbmVlZHNCbG9ja0RpcmVjdGlvbkxvY2F0aW9uU2V0
QmVmb3JlTGF5b3V0ID0gYm94LT5uZWVkc0xheW91dCgpICYmIHZpZXcoKS5sYXlvdXRTdGF0ZSgp
LT5uZWVkc0Jsb2NrRGlyZWN0aW9uTG9jYXRpb25TZXRCZWZvcmVMYXlvdXQoKTsKICAgICAgICAg
aWYgKG5lZWRzQmxvY2tEaXJlY3Rpb25Mb2NhdGlvblNldEJlZm9yZUxheW91dCkgewotICAgICAg
ICAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPT0gci5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpKQotICAgICAgICAgICAgICAgIHIudXBkYXRlTG9naWNhbEhlaWdodCgpOworICAg
ICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPT0gYm94LT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpKQorICAgICAgICAgICAgICAgIGJveC0+dXBkYXRlTG9naWNhbEhlaWdo
dCgpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHIudXBkYXRlTG9naWNhbFdp
ZHRoKCk7Ci0gICAgICAgICAgICBvbGRMb2dpY2FsVG9wID0gbG9naWNhbFRvcEZvckNoaWxkKHIp
OworICAgICAgICAgICAgICAgIGJveC0+dXBkYXRlTG9naWNhbFdpZHRoKCk7CisgICAgICAgICAg
ICBvbGRMb2dpY2FsVG9wID0gbG9naWNhbFRvcEZvckNoaWxkKCpib3gpOwogICAgICAgICB9CiAK
LSAgICAgICAgci5sYXlvdXRJZk5lZWRlZCgpOworICAgICAgICBib3gtPmxheW91dElmTmVlZGVk
KCk7CiAKICAgICAgICAgLy8gTGF5IG91dCBhZ2FpbiBpZiBvdXIgZXN0aW1hdGUgd2FzIHdyb25n
LgotICAgICAgICBpZiAobmVlZHNCbG9ja0RpcmVjdGlvbkxvY2F0aW9uU2V0QmVmb3JlTGF5b3V0
ICYmIGxvZ2ljYWxUb3BGb3JDaGlsZChyKSAhPSBvbGRMb2dpY2FsVG9wKSB7Ci0gICAgICAgICAg
ICByLnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKLSAgICAgICAgICAgIHIubGF5
b3V0SWZOZWVkZWQoKTsKKyAgICAgICAgaWYgKG5lZWRzQmxvY2tEaXJlY3Rpb25Mb2NhdGlvblNl
dEJlZm9yZUxheW91dCAmJiBsb2dpY2FsVG9wRm9yQ2hpbGQoKmJveCkgIT0gb2xkTG9naWNhbFRv
cCkgeworICAgICAgICAgICAgYm94LT5zZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7
CisgICAgICAgICAgICBib3gtPmxheW91dElmTmVlZGVkKCk7CiAgICAgICAgIH0KIAotICAgICAg
ICBpZiAodXBkYXRlUmVnaW9uUmFuZ2VGb3JCb3hDaGlsZChyKSkgewotICAgICAgICAgICAgci5z
ZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwotICAgICAgICAgICAgci5sYXlvdXRJZk5lZWRl
ZCgpOworICAgICAgICBpZiAodXBkYXRlUmVnaW9uUmFuZ2VGb3JCb3hDaGlsZCgqYm94KSkgewor
ICAgICAgICAgICAgYm94LT5zZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOworICAgICAgICAg
ICAgYm94LT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAgICB9CiAgICAgfQogfQpAQCAtMTM2NCwx
MCArMTM1Niw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6Om1hcmtQb3NpdGlvbmVkT2JqZWN0c0Zvckxh
eW91dCgpCiAgICAgaWYgKCFwb3NpdGlvbmVkRGVzY2VuZGFudHMpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGZvciAoYXV0byBpdCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+YmVnaW4oKSwgZW5k
ID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAg
ICAgIFJlbmRlckJveCogciA9ICppdDsKLSAgICAgICAgci0+c2V0Q2hpbGROZWVkc0xheW91dCgp
OwotICAgIH0KKyAgICBmb3IgKGF1dG8mIGJveCA6ICpwb3NpdGlvbmVkRGVzY2VuZGFudHMpCisg
ICAgICAgIGJveC0+c2V0Q2hpbGROZWVkc0xheW91dCgpOwogfQogCiB2b2lkIFJlbmRlckJsb2Nr
OjptYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVkZWQoKQpAQCAtMTY5MSwxMCArMTY4MSw4
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50Q29udGludWF0aW9uT3V0bGluZXMoUGFpbnRJbmZv
JiBpbmZvLCBjb25zdCBMYXlvdXRQb2ludCYKIAogICAgIExheW91dFBvaW50IGFjY3VtdWxhdGVk
UGFpbnRPZmZzZXQgPSBwYWludE9mZnNldDsKICAgICAvLyBQYWludCBlYWNoIGNvbnRpbnVhdGlv
biBvdXRsaW5lLgotICAgIExpc3RIYXNoU2V0PFJlbmRlcklubGluZSo+OjppdGVyYXRvciBlbmQg
PSBjb250aW51YXRpb25zLT5lbmQoKTsKLSAgICBmb3IgKExpc3RIYXNoU2V0PFJlbmRlcklubGlu
ZSo+OjppdGVyYXRvciBpdCA9IGNvbnRpbnVhdGlvbnMtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytp
dCkgeworICAgIGZvciAoYXV0byYgZmxvdyA6ICpjb250aW51YXRpb25zKSB7CiAgICAgICAgIC8v
IE5lZWQgdG8gYWRkIGluIHRoZSBjb29yZGluYXRlcyBvZiB0aGUgaW50ZXJ2ZW5pbmcgYmxvY2tz
LgotICAgICAgICBSZW5kZXJJbmxpbmUqIGZsb3cgPSAqaXQ7CiAgICAgICAgIFJlbmRlckJsb2Nr
KiBibG9jayA9IGZsb3ctPmNvbnRhaW5pbmdCbG9jaygpOwogICAgICAgICBmb3IgKCA7IGJsb2Nr
ICYmIGJsb2NrICE9IHRoaXM7IGJsb2NrID0gYmxvY2stPmNvbnRhaW5pbmdCbG9jaygpKQogICAg
ICAgICAgICAgYWNjdW11bGF0ZWRQYWludE9mZnNldC5tb3ZlQnkoYmxvY2stPmxvY2F0aW9uKCkp
OwpAQCAtMTc4OCwxMSArMTc3Niw4IEBAIHN0YXRpYyB2b2lkIGNsaXBPdXRQb3NpdGlvbmVkT2Jq
ZWN0cyhjb25zdCBQYWludEluZm8qIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pCiAgICAgaWYg
KCFwb3NpdGlvbmVkT2JqZWN0cykKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIFRyYWNrZWRS
ZW5kZXJlckxpc3RIYXNoU2V0Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBwb3NpdGlvbmVkT2JqZWN0
cy0+ZW5kKCk7Ci0gICAgZm9yIChUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldDo6Y29uc3RfaXRl
cmF0b3IgaXQgPSBwb3NpdGlvbmVkT2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgIFJlbmRlckJveCogciA9ICppdDsKLSAgICAgICAgcGFpbnRJbmZvLT5jb250ZXh0
LT5jbGlwT3V0KEludFJlY3Qob2Zmc2V0LngoKSArIHItPngoKSwgb2Zmc2V0LnkoKSArIHItPnko
KSwgci0+d2lkdGgoKSwgci0+aGVpZ2h0KCkpKTsKLSAgICB9CisgICAgZm9yIChhdXRvJiBvYmpl
Y3QgOiAqcG9zaXRpb25lZE9iamVjdHMpCisgICAgICAgIHBhaW50SW5mby0+Y29udGV4dC0+Y2xp
cE91dChJbnRSZWN0KG9mZnNldC54KCkgKyBvYmplY3QtPngoKSwgb2Zmc2V0LnkoKSArIG9iamVj
dC0+eSgpLCBvYmplY3QtPndpZHRoKCksIG9iamVjdC0+aGVpZ2h0KCkpKTsKIH0KIAogTGF5b3V0
VW5pdCBibG9ja0RpcmVjdGlvbk9mZnNldChSZW5kZXJCbG9jayYgcm9vdEJsb2NrLCBjb25zdCBM
YXlvdXRTaXplJiBvZmZzZXRGcm9tUm9vdEJsb2NrKQpAQCAtMjEyMyw5ICsyMTA4LDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6cmVtb3ZlRnJvbVRyYWNrZWRSZW5kZXJlck1hcHMoUmVuZGVyQm94JiBk
ZXNjZW5kYW50LCBUcmFja2VkRGUKICAgICBpZiAoIWNvbnRhaW5lclNldCkKICAgICAgICAgcmV0
dXJuOwogICAgIAotICAgIGZvciAoYXV0byBpdCA9IGNvbnRhaW5lclNldC0+YmVnaW4oKSwgZW5k
ID0gY29udGFpbmVyU2V0LT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFJlbmRl
ckJsb2NrKiBjb250YWluZXIgPSAqaXQ7Ci0KKyAgICBmb3IgKGF1dG8mIGNvbnRhaW5lciA6ICpj
b250YWluZXJTZXQpIHsKICAgICAgICAgLy8gRklYTUU6IERpc2FibGluZyB0aGlzIGFzc2VydCB0
ZW1wb3JhcmlseSB1bnRpbCB3ZSBmaXggdGhlIGxheW91dAogICAgICAgICAvLyBidWdzIGFzc29j
aWF0ZWQgd2l0aCBwb3NpdGlvbmVkIG9iamVjdHMgbm90IHByb3Blcmx5IGNsZWFyZWQgZnJvbQog
ICAgICAgICAvLyB0aGVpciBhbmNlc3RvciBjaGFpbiBiZWZvcmUgYmVpbmcgbW92ZWQuIFNlZSB3
ZWJraXQgYnVnIDkzNzY2LgpAQCAtMjE3MywyNiArMjE1NiwyNSBAQCB2b2lkIFJlbmRlckJsb2Nr
OjpyZW1vdmVQb3NpdGlvbmVkT2JqZWN0cyhSZW5kZXJCbG9jayogbywgQ29udGFpbmluZ0Jsb2Nr
U3RhdGUgYwogICAgIAogICAgIFZlY3RvcjxSZW5kZXJCb3gqLCAxNj4gZGVhZE9iamVjdHM7CiAK
LSAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmJlZ2luKCksIGVuZCA9
IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAg
ICBSZW5kZXJCb3gqIHIgPSAqaXQ7Ci0gICAgICAgIGlmICghbyB8fCByLT5pc0Rlc2NlbmRhbnRP
ZihvKSkgeworICAgIGZvciAoYXV0byYgYm94IDogKnBvc2l0aW9uZWREZXNjZW5kYW50cykgewor
ICAgICAgICBpZiAoIW8gfHwgYm94LT5pc0Rlc2NlbmRhbnRPZihvKSkgewogICAgICAgICAgICAg
aWYgKGNvbnRhaW5pbmdCbG9ja1N0YXRlID09IE5ld0NvbnRhaW5pbmdCbG9jaykKLSAgICAgICAg
ICAgICAgICByLT5zZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CisgICAgICAgICAg
ICAgICAgYm94LT5zZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIC8vIEl0IGlzIHBhcmVudCBibG9ja3Mgam9iIHRvIGFkZCBwb3NpdGlv
bmVkIGNoaWxkIHRvIHBvc2l0aW9uZWQgb2JqZWN0cyBsaXN0IG9mIGl0cyBjb250YWluaW5nIGJs
b2NrCiAgICAgICAgICAgICAvLyBQYXJlbnQgbGF5b3V0IG5lZWRzIHRvIGJlIGludmFsaWRhdGVk
IHRvIGVuc3VyZSB0aGlzIGhhcHBlbnMuCi0gICAgICAgICAgICBSZW5kZXJFbGVtZW50KiBwID0g
ci0+cGFyZW50KCk7CisgICAgICAgICAgICBSZW5kZXJFbGVtZW50KiBwID0gYm94LT5wYXJlbnQo
KTsKICAgICAgICAgICAgIHdoaWxlIChwICYmICFwLT5pc1JlbmRlckJsb2NrKCkpCiAgICAgICAg
ICAgICAgICAgcCA9IHAtPnBhcmVudCgpOwogICAgICAgICAgICAgaWYgKHApCiAgICAgICAgICAg
ICAgICAgcC0+c2V0Q2hpbGROZWVkc0xheW91dCgpOwogICAgICAgICAgICAgCi0gICAgICAgICAg
ICBkZWFkT2JqZWN0cy5hcHBlbmQocik7CisgICAgICAgICAgICBkZWFkT2JqZWN0cy5hcHBlbmQo
Ym94KTsKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgZGVhZE9iamVjdHMuc2l6ZSgpOyBpKyspCi0gICAgICAgIHJlbW92ZVBvc2l0aW9uZWRPYmpl
Y3QoKmRlYWRPYmplY3RzLmF0KGkpKTsKKyAgICBmb3IgKGF1dG8mIG9iamVjdCA6IGRlYWRPYmpl
Y3RzKQorICAgICAgICByZW1vdmVQb3NpdGlvbmVkT2JqZWN0KCpvYmplY3QpOwogfQogCiB2b2lk
IFJlbmRlckJsb2NrOjphZGRQZXJjZW50SGVpZ2h0RGVzY2VuZGFudChSZW5kZXJCb3gmIGRlc2Nl
bmRhbnQpCkBAIC0zNzQzLDEwICszNzI1LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y2hlY2tQb3Np
dGlvbmVkT2JqZWN0c05lZWRMYXlvdXQoKQogICAgIGlmICghcG9zaXRpb25lZERlc2NlbmRhbnRT
ZXQpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZvciAoYXV0byBpdCA9IHBvc2l0aW9uZWREZXNj
ZW5kYW50U2V0LT5iZWdpbigpLCBlbmQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudFNldC0+ZW5kKCk7
IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBSZW5kZXJCb3gqIGN1cnJCb3ggPSAqaXQ7Cisg
ICAgZm9yIChhdXRvJiBjdXJyQm94IDogKnBvc2l0aW9uZWREZXNjZW5kYW50U2V0KQogICAgICAg
ICBBU1NFUlQoIWN1cnJCb3gtPm5lZWRzTGF5b3V0KCkpOwotICAgIH0KIH0KIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IGFmNGNh
NzEzODVlYmJlNjg2YjY2ZWUzNzQ1ZTdkY2RjNTlkZDgwOWIuLjUxMjk5OTE4MjdmMWM0MDBjY2Iy
NmE1ZGZhZTRlNjkxM2Q5MzNhYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuY3BwCkBAIC0yMDMsMTAgKzIwMyw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93
OjpyZWJ1aWxkRmxvYXRpbmdPYmplY3RTZXRGcm9tSW50cnVkaW5nRmxvYXRzKCkKIAogICAgIEhh
c2hTZXQ8UmVuZGVyQm94Kj4gb2xkSW50cnVkaW5nRmxvYXRTZXQ7CiAgICAgaWYgKCFjaGlsZHJl
bklubGluZSgpICYmIG1fZmxvYXRpbmdPYmplY3RzKSB7Ci0gICAgICAgIGNvbnN0IEZsb2F0aW5n
T2JqZWN0U2V0JiBmbG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsK
LSAgICAgICAgYXV0byBlbmQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKLSAgICAgICAgZm9y
IChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QgPSBpdC0+Z2V0KCk7
CisgICAgICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+
c2V0KCkpIHsKICAgICAgICAgICAgIGlmICghZmxvYXRpbmdPYmplY3QtPmlzRGVzY2VuZGFudCgp
KQogICAgICAgICAgICAgICAgIG9sZEludHJ1ZGluZ0Zsb2F0U2V0LmFkZCgmZmxvYXRpbmdPYmpl
Y3QtPnJlbmRlcmVyKCkpOwogICAgICAgICB9CkBAIC0yNjQsMTUgKzI2MSwxMiBAQCB2b2lkIFJl
bmRlckJsb2NrRmxvdzo6cmVidWlsZEZsb2F0aW5nT2JqZWN0U2V0RnJvbUludHJ1ZGluZ0Zsb2F0
cygpCiAgICAgICAgIExheW91dFVuaXQgY2hhbmdlTG9naWNhbFRvcCA9IExheW91dFVuaXQ6Om1h
eCgpOwogICAgICAgICBMYXlvdXRVbml0IGNoYW5nZUxvZ2ljYWxCb3R0b20gPSBMYXlvdXRVbml0
OjptaW4oKTsKICAgICAgICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzKSB7Ci0gICAgICAgICAgICBj
b25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxvYXRpbmdPYmplY3RTZXQgPSBtX2Zsb2F0aW5nT2Jq
ZWN0cy0+c2V0KCk7Ci0gICAgICAgICAgICBhdXRvIGVuZCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVu
ZCgpOwotICAgICAgICAgICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4o
KTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZs
b2F0aW5nT2JqZWN0ID0gaXQtPmdldCgpOworICAgICAgICAgICAgZm9yIChhdXRvJiBmbG9hdGlu
Z09iamVjdCA6IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkgewogICAgICAgICAgICAgICAgIHN0
ZDo6dW5pcXVlX3B0cjxGbG9hdGluZ09iamVjdD4gb2xkRmxvYXRpbmdPYmplY3QgPSBmbG9hdE1h
cC50YWtlKCZmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKSk7Ci0gICAgICAgICAgICAgICAgTGF5
b3V0VW5pdCBsb2dpY2FsQm90dG9tID0gbG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2Jq
ZWN0KTsKKyAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxCb3R0b20gPSBsb2dpY2Fs
Qm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpOwogICAgICAgICAgICAgICAgIGlm
IChvbGRGbG9hdGluZ09iamVjdCkgewogICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IG9s
ZExvZ2ljYWxCb3R0b20gPSBsb2dpY2FsQm90dG9tRm9yRmxvYXQob2xkRmxvYXRpbmdPYmplY3Qu
Z2V0KCkpOwotICAgICAgICAgICAgICAgICAgICBpZiAobG9naWNhbFdpZHRoRm9yRmxvYXQoZmxv
YXRpbmdPYmplY3QpICE9IGxvZ2ljYWxXaWR0aEZvckZsb2F0KG9sZEZsb2F0aW5nT2JqZWN0Lmdl
dCgpKSB8fCBsb2dpY2FsTGVmdEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KSAhPSBsb2dpY2FsTGVm
dEZvckZsb2F0KG9sZEZsb2F0aW5nT2JqZWN0LmdldCgpKSkgeworICAgICAgICAgICAgICAgICAg
ICBpZiAobG9naWNhbFdpZHRoRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpICE9IGxvZ2lj
YWxXaWR0aEZvckZsb2F0KG9sZEZsb2F0aW5nT2JqZWN0LmdldCgpKSB8fCBsb2dpY2FsTGVmdEZv
ckZsb2F0KGZsb2F0aW5nT2JqZWN0LmdldCgpKSAhPSBsb2dpY2FsTGVmdEZvckZsb2F0KG9sZEZs
b2F0aW5nT2JqZWN0LmdldCgpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9n
aWNhbFRvcCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VMb2dpY2FsQm90dG9t
ID0gc3RkOjptYXgoY2hhbmdlTG9naWNhbEJvdHRvbSwgc3RkOjptYXgobG9naWNhbEJvdHRvbSwg
b2xkTG9naWNhbEJvdHRvbSkpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMjgw
LDcgKzI3NCw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpyZWJ1aWxkRmxvYXRpbmdPYmplY3RT
ZXRGcm9tSW50cnVkaW5nRmxvYXRzKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFu
Z2VMb2dpY2FsVG9wID0gc3RkOjptaW4oY2hhbmdlTG9naWNhbFRvcCwgc3RkOjptaW4obG9naWNh
bEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNoYW5nZUxvZ2ljYWxCb3R0b20gPSBzdGQ6Om1heChjaGFuZ2VMb2dpY2FsQm90dG9tLCBzdGQ6
Om1heChsb2dpY2FsQm90dG9tLCBvbGRMb2dpY2FsQm90dG9tKSk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3Ag
PSBsb2dpY2FsVG9wRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpOworICAgICAgICAgICAgICAgICAg
ICAgICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wID0gbG9naWNhbFRvcEZvckZsb2F0KGZsb2F0aW5n
T2JqZWN0LmdldCgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dFVuaXQgb2xkTG9n
aWNhbFRvcCA9IGxvZ2ljYWxUb3BGb3JGbG9hdChvbGRGbG9hdGluZ09iamVjdC5nZXQoKSk7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAobG9naWNhbFRvcCAhPSBvbGRMb2dpY2FsVG9wKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IHN0ZDo6bWlu
KGNoYW5nZUxvZ2ljYWxUb3AsIHN0ZDo6bWluKGxvZ2ljYWxUb3AsIG9sZExvZ2ljYWxUb3ApKTsK
QEAgLTI5OSwxMiArMjkzLDEwIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpyZWJ1aWxkRmxvYXRp
bmdPYmplY3RTZXRGcm9tSW50cnVkaW5nRmxvYXRzKCkKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogCi0gICAgICAgIGF1dG8gZW5kID0gZmxvYXRNYXAuZW5kKCk7Ci0gICAgICAgIGZvciAoYXV0
byBpdCA9IGZsb2F0TWFwLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAg
RmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0ID0gaXQtPnZhbHVlLmdldCgpOworICAgICAg
ICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogZmxvYXRNYXAudmFsdWVzKCkpIHsKICAgICAg
ICAgICAgIGlmICghZmxvYXRpbmdPYmplY3QtPmlzRGVzY2VuZGFudCgpKSB7CiAgICAgICAgICAg
ICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IDA7Ci0gICAgICAgICAgICAgICAgY2hhbmdlTG9naWNh
bEJvdHRvbSA9IHN0ZDo6bWF4KGNoYW5nZUxvZ2ljYWxCb3R0b20sIGxvZ2ljYWxCb3R0b21Gb3JG
bG9hdChmbG9hdGluZ09iamVjdCkpOworICAgICAgICAgICAgICAgIGNoYW5nZUxvZ2ljYWxCb3R0
b20gPSBzdGQ6Om1heChjaGFuZ2VMb2dpY2FsQm90dG9tLCBsb2dpY2FsQm90dG9tRm9yRmxvYXQo
ZmxvYXRpbmdPYmplY3QuZ2V0KCkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCkBAIC0z
MTUsMTAgKzMwNyw4IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpyZWJ1aWxkRmxvYXRpbmdPYmpl
Y3RTZXRGcm9tSW50cnVkaW5nRmxvYXRzKCkKICAgICAgICAgaWYgKG1fZmxvYXRpbmdPYmplY3Rz
LT5zZXQoKS5zaXplKCkgPCBvbGRJbnRydWRpbmdGbG9hdFNldC5zaXplKCkpCiAgICAgICAgICAg
ICBtYXJrQWxsRGVzY2VuZGFudHNXaXRoRmxvYXRzRm9yTGF5b3V0KCk7CiAgICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0
ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgICAgICAgICAgYXV0byBlbmQgPSBmbG9h
dGluZ09iamVjdFNldC5lbmQoKTsKLSAgICAgICAgICAgIGZvciAoYXV0byBpdCA9IGZsb2F0aW5n
T2JqZWN0U2V0LmJlZ2luKCk7IGl0ICE9IGVuZCAmJiAhb2xkSW50cnVkaW5nRmxvYXRTZXQuaXNF
bXB0eSgpOyArK2l0KQotICAgICAgICAgICAgICAgIG9sZEludHJ1ZGluZ0Zsb2F0U2V0LnJlbW92
ZSgmKCppdCktPnJlbmRlcmVyKCkpOworICAgICAgICAgICAgZm9yIChhdXRvJiBmbG9hdGluZ09i
amVjdCA6IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkKKyAgICAgICAgICAgICAgICBvbGRJbnRy
dWRpbmdGbG9hdFNldC5yZW1vdmUoJmZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpKTsKICAgICAg
ICAgICAgIGlmICghb2xkSW50cnVkaW5nRmxvYXRTZXQuaXNFbXB0eSgpKQogICAgICAgICAgICAg
ICAgIG1hcmtBbGxEZXNjZW5kYW50c1dpdGhGbG9hdHNGb3JMYXlvdXQoKTsKICAgICAgICAgfQpA
QCAtMTk4Miw4ICsxOTcyLDggQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnN0eWxlRGlkQ2hhbmdl
KFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2wKICAgICAgICAgICAg
IGlmIChhbmNlc3Rvci5pc1JlbmRlclZpZXcoKSkKICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIGlmIChhbmNlc3Rvci5oYXNPdmVyaGFuZ2luZ0Zsb2F0cygpKSB7Ci0gICAgICAg
ICAgICAgICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKSwgZW5kID0g
ZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAg
ICAgICAgICBSZW5kZXJCb3gmIHJlbmRlcmVyID0gKCppdCktPnJlbmRlcmVyKCk7CisgICAgICAg
ICAgICAgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVjdCA6IGZsb2F0aW5nT2JqZWN0U2V0KSB7
CisgICAgICAgICAgICAgICAgICAgIFJlbmRlckJveCYgcmVuZGVyZXIgPSBmbG9hdGluZ09iamVj
dC0+cmVuZGVyZXIoKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGFuY2VzdG9yLmhhc092ZXJo
YW5naW5nRmxvYXQocmVuZGVyZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRC
bG9jayA9ICZhbmNlc3RvcjsKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjA3
MCwxMiArMjA2MCw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojptb3ZlRmxvYXRzVG8oUmVuZGVy
QmxvY2tGbG93KiB0b0Jsb2NrRmxvdykKICAgICAgICAgaWYgKCF0b0Jsb2NrRmxvdy0+bV9mbG9h
dGluZ09iamVjdHMpCiAgICAgICAgICAgICB0b0Jsb2NrRmxvdy0+Y3JlYXRlRmxvYXRpbmdPYmpl
Y3RzKCk7CiAKLSAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZyb21GbG9hdGluZ09i
amVjdFNldCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsKLSAgICAgICAgYXV0byBlbmQgPSBm
cm9tRmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0KLSAgICAgICAgZm9yIChhdXRvIGl0ID0gZnJv
bUZsb2F0aW5nT2JqZWN0U2V0LmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAg
ICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0ID0gaXQtPmdldCgpOwotCisgICAgICAg
IGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsK
ICAgICAgICAgICAgIC8vIERvbid0IGluc2VydCB0aGUgb2JqZWN0IGFnYWluIGlmIGl0J3MgYWxy
ZWFkeSBpbiB0aGUgbGlzdAogICAgICAgICAgICAgaWYgKHRvQmxvY2tGbG93LT5jb250YWluc0Zs
b2F0KGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpKSkKICAgICAgICAgICAgICAgICBjb250aW51
ZTsKQEAgLTIwOTcsMTIgKzIwODIsOSBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6YWRkT3ZlcmZs
b3dGcm9tRmxvYXRzKCkKICAgICBpZiAoIW1fZmxvYXRpbmdPYmplY3RzKQogICAgICAgICByZXR1
cm47CiAKLSAgICBjb25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxvYXRpbmdPYmplY3RTZXQgPSBt
X2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7Ci0gICAgYXV0byBlbmQgPSBmbG9hdGluZ09iamVjdFNl
dC5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigpOyBp
dCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIHIgPSBpdC0+Z2V0KCk7
Ci0gICAgICAgIGlmIChyLT5pc0Rlc2NlbmRhbnQoKSkKLSAgICAgICAgICAgIGFkZE92ZXJmbG93
RnJvbUNoaWxkKCZyLT5yZW5kZXJlcigpLCBJbnRTaXplKHhQb3NpdGlvbkZvckZsb2F0SW5jbHVk
aW5nTWFyZ2luKHIpLCB5UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihyKSkpOworICAg
IGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsK
KyAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0LT5pc0Rlc2NlbmRhbnQoKSkKKyAgICAgICAgICAg
IGFkZE92ZXJmbG93RnJvbUNoaWxkKCZmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKSwgSW50U2l6
ZSh4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdC5nZXQoKSks
IHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGZsb2F0aW5nT2JqZWN0LmdldCgpKSkp
OwogICAgIH0KIH0KIApAQCAtMjEyNCwxNCArMjEwNiwxMSBAQCB2b2lkIFJlbmRlckJsb2NrRmxv
dzo6cmVwYWludE92ZXJoYW5naW5nRmxvYXRzKGJvb2wgcGFpbnRBbGxEZXNjZW5kYW50cykKICAg
ICAvLyBGSVhNRTogQXZvaWQgZGlzYWJsaW5nIExheW91dFN0YXRlLiBBdCB0aGUgdmVyeSBsZWFz
dCwgZG9uJ3QgZGlzYWJsZSBpdCBmb3IgZmxvYXRzIG9yaWdpbmF0aW5nCiAgICAgLy8gaW4gdGhp
cyBibG9jay4gQmV0dGVyIHlldCB3b3VsZCBiZSB0byBwdXNoIGV4dHJhIHN0YXRlIGZvciB0aGUg
Y29udGFpbmVycyBvZiBvdGhlciBmbG9hdHMuCiAgICAgTGF5b3V0U3RhdGVEaXNhYmxlciBsYXlv
dXRTdGF0ZURpc2FibGVyKCZ2aWV3KCkpOwotICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0U2V0JiBm
bG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsKLSAgICBhdXRvIGVu
ZCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVuZCgpOwotICAgIGZvciAoYXV0byBpdCA9IGZsb2F0aW5n
T2JqZWN0U2V0LmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBGbG9hdGluZ09i
amVjdCogZmxvYXRpbmdPYmplY3QgPSBpdC0+Z2V0KCk7CisgICAgZm9yIChhdXRvJiBmbG9hdGlu
Z09iamVjdCA6IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkgewogICAgICAgICAvLyBPbmx5IHJl
cGFpbnQgdGhlIG9iamVjdCBpZiBpdCBpcyBvdmVyaGFuZ2luZywgaXMgbm90IGluIGl0cyBvd24g
bGF5ZXIsIGFuZAogICAgICAgICAvLyBpcyBvdXIgcmVzcG9uc2liaWxpdHkgdG8gcGFpbnQgKG1f
c2hvdWxkUGFpbnQgaXMgc2V0KS4gV2hlbiBwYWludEFsbERlc2NlbmRhbnRzIGlzIHRydWUsIHRo
ZSBsYXR0ZXIKICAgICAgICAgLy8gY29uZGl0aW9uIGlzIHJlcGxhY2VkIHdpdGggYmVpbmcgYSBk
ZXNjZW5kYW50IG9mIHVzLgotICAgICAgICBpZiAobG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0
aW5nT2JqZWN0KSA+IGxvZ2ljYWxIZWlnaHQoKQorICAgICAgICBpZiAobG9naWNhbEJvdHRvbUZv
ckZsb2F0KGZsb2F0aW5nT2JqZWN0LmdldCgpKSA+IGxvZ2ljYWxIZWlnaHQoKQogICAgICAgICAg
ICAgJiYgIWZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLmhhc1NlbGZQYWludGluZ0xheWVyKCkK
ICAgICAgICAgICAgICYmIChmbG9hdGluZ09iamVjdC0+c2hvdWxkUGFpbnQoKSB8fCAocGFpbnRB
bGxEZXNjZW5kYW50cyAmJiBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5pc0Rlc2NlbmRhbnRP
Zih0aGlzKSkpKSB7CiAgICAgICAgICAgICBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5yZXBh
aW50KCk7CkBAIC0yMTU5LDI2ICsyMTM4LDIzIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpwYWlu
dEZsb2F0cyhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50CiAg
ICAgaWYgKCFtX2Zsb2F0aW5nT2JqZWN0cykKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3Qg
RmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMt
PnNldCgpOwotICAgIGF1dG8gZW5kID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0gICAgZm9y
IChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiByID0gaXQtPmdldCgpOworICAgIGZvciAoYXV0byYg
ZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKICAgICAgICAgLy8g
T25seSBwYWludCB0aGUgb2JqZWN0IGlmIG91ciBtX3Nob3VsZFBhaW50IGZsYWcgaXMgc2V0Lgot
ICAgICAgICBpZiAoci0+c2hvdWxkUGFpbnQoKSAmJiAhci0+cmVuZGVyZXIoKS5oYXNTZWxmUGFp
bnRpbmdMYXllcigpKSB7CisgICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+c2hvdWxkUGFpbnQo
KSAmJiAhZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCkuaGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkg
ewogICAgICAgICAgICAgUGFpbnRJbmZvIGN1cnJlbnRQYWludEluZm8ocGFpbnRJbmZvKTsKICAg
ICAgICAgICAgIGN1cnJlbnRQYWludEluZm8ucGhhc2UgPSBwcmVzZXJ2ZVBoYXNlID8gcGFpbnRJ
bmZvLnBoYXNlIDogUGFpbnRQaGFzZUJsb2NrQmFja2dyb3VuZDsKICAgICAgICAgICAgIC8vIEZJ
WE1FOiBMYXlvdXRQb2ludCB2ZXJzaW9uIG9mIHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFy
Z2luIHdvdWxkIG1ha2UgdGhpcyBtdWNoIGNsZWFuZXIuCi0gICAgICAgICAgICBMYXlvdXRQb2lu
dCBjaGlsZFBvaW50ID0gZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChyLCBMYXlvdXRQ
b2ludChwYWludE9mZnNldC54KCkgKyB4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihy
KSAtIHItPnJlbmRlcmVyKCkueCgpLCBwYWludE9mZnNldC55KCkgKyB5UG9zaXRpb25Gb3JGbG9h
dEluY2x1ZGluZ01hcmdpbihyKSAtIHItPnJlbmRlcmVyKCkueSgpKSk7Ci0gICAgICAgICAgICBy
LT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQpOworICAgICAg
ICAgICAgTGF5b3V0UG9pbnQgY2hpbGRQb2ludCA9IGZsaXBGbG9hdEZvcldyaXRpbmdNb2RlRm9y
Q2hpbGQoZmxvYXRpbmdPYmplY3QuZ2V0KCksIExheW91dFBvaW50KHBhaW50T2Zmc2V0LngoKSAr
IHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGZsb2F0aW5nT2JqZWN0LmdldCgpKSAt
IGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLngoKSwgcGFpbnRPZmZzZXQueSgpICsgeVBvc2l0
aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpIC0gZmxvYXRp
bmdPYmplY3QtPnJlbmRlcmVyKCkueSgpKSk7CisgICAgICAgICAgICBmbG9hdGluZ09iamVjdC0+
cmVuZGVyZXIoKS5wYWludChjdXJyZW50UGFpbnRJbmZvLCBjaGlsZFBvaW50KTsKICAgICAgICAg
ICAgIGlmICghcHJlc2VydmVQaGFzZSkgewogICAgICAgICAgICAgICAgIGN1cnJlbnRQYWludElu
Zm8ucGhhc2UgPSBQYWludFBoYXNlQ2hpbGRCbG9ja0JhY2tncm91bmRzOwotICAgICAgICAgICAg
ICAgIHItPnJlbmRlcmVyKCkucGFpbnQoY3VycmVudFBhaW50SW5mbywgY2hpbGRQb2ludCk7Cisg
ICAgICAgICAgICAgICAgZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCkucGFpbnQoY3VycmVudFBh
aW50SW5mbywgY2hpbGRQb2ludCk7CiAgICAgICAgICAgICAgICAgY3VycmVudFBhaW50SW5mby5w
aGFzZSA9IFBhaW50UGhhc2VGbG9hdDsKLSAgICAgICAgICAgICAgICByLT5yZW5kZXJlcigpLnBh
aW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQpOworICAgICAgICAgICAgICAgIGZsb2F0
aW5nT2JqZWN0LT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQp
OwogICAgICAgICAgICAgICAgIGN1cnJlbnRQYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlRm9y
ZWdyb3VuZDsKLSAgICAgICAgICAgICAgICByLT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWlu
dEluZm8sIGNoaWxkUG9pbnQpOworICAgICAgICAgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5yZW5k
ZXJlcigpLnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQpOwogICAgICAgICAgICAg
ICAgIGN1cnJlbnRQYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlT3V0bGluZTsKLSAgICAgICAg
ICAgICAgICByLT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQp
OworICAgICAgICAgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLnBhaW50KGN1cnJl
bnRQYWludEluZm8sIGNoaWxkUG9pbnQpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
fQpAQCAtMjE4NywxMiArMjE2Myw5IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpwYWludEZsb2F0
cyhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50CiB2b2lkIFJl
bmRlckJsb2NrRmxvdzo6Y2xpcE91dEZsb2F0aW5nT2JqZWN0cyhSZW5kZXJCbG9jayYgcm9vdEJs
b2NrLCBjb25zdCBQYWludEluZm8qIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHJvb3RC
bG9ja1BoeXNpY2FsUG9zaXRpb24sIGNvbnN0IExheW91dFNpemUmIG9mZnNldEZyb21Sb290Qmxv
Y2spCiB7CiAgICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzKSB7Ci0gICAgICAgIGNvbnN0IEZsb2F0
aW5nT2JqZWN0U2V0JiBmbG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQo
KTsKLSAgICAgICAgYXV0byBlbmQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKLSAgICAgICAg
Zm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KSB7Ci0gICAgICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QgPSBpdC0+Z2V0
KCk7Ci0gICAgICAgICAgICBMYXlvdXRSZWN0IGZsb2F0Qm94KG9mZnNldEZyb21Sb290QmxvY2su
d2lkdGgoKSArIHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGZsb2F0aW5nT2JqZWN0
KSwKLSAgICAgICAgICAgICAgICBvZmZzZXRGcm9tUm9vdEJsb2NrLmhlaWdodCgpICsgeVBvc2l0
aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QpLAorICAgICAgICBmb3Ig
KGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9mbG9hdGluZ09iamVjdHMtPnNldCgpKSB7CisgICAg
ICAgICAgICBMYXlvdXRSZWN0IGZsb2F0Qm94KG9mZnNldEZyb21Sb290QmxvY2sud2lkdGgoKSAr
IHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGZsb2F0aW5nT2JqZWN0LmdldCgpKSwK
KyAgICAgICAgICAgICAgICBvZmZzZXRGcm9tUm9vdEJsb2NrLmhlaWdodCgpICsgeVBvc2l0aW9u
Rm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpLAogICAgICAgICAg
ICAgICAgIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLndpZHRoKCksIGZsb2F0aW5nT2JqZWN0
LT5yZW5kZXJlcigpLmhlaWdodCgpKTsKICAgICAgICAgICAgIHJvb3RCbG9jay5mbGlwRm9yV3Jp
dGluZ01vZGUoZmxvYXRCb3gpOwogICAgICAgICAgICAgZmxvYXRCb3gubW92ZShyb290QmxvY2tQ
aHlzaWNhbFBvc2l0aW9uLngoKSwgcm9vdEJsb2NrUGh5c2ljYWxQb3NpdGlvbi55KCkpOwpAQCAt
MjU5MCwxMiArMjU2Myw5IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93Ojpsb3dlc3RGbG9h
dExvZ2ljYWxCb3R0b20oRmxvYXRpbmdPYmplY3Q6OlR5cGUgZmxvYXRUCiAgICAgaWYgKCFtX2Zs
b2F0aW5nT2JqZWN0cykKICAgICAgICAgcmV0dXJuIDA7CiAgICAgTGF5b3V0VW5pdCBsb3dlc3RG
bG9hdEJvdHRvbSA9IDA7Ci0gICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2Jq
ZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgIGF1dG8gZW5kID0gZmxvYXRp
bmdPYmplY3RTZXQuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiBmbG9h
dGluZ09iamVjdCA9IGl0LT5nZXQoKTsKKyAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDog
bV9mbG9hdGluZ09iamVjdHMtPnNldCgpKSB7CiAgICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+
aXNQbGFjZWQoKSAmJiBmbG9hdGluZ09iamVjdC0+dHlwZSgpICYgZmxvYXRUeXBlKQotICAgICAg
ICAgICAgbG93ZXN0RmxvYXRCb3R0b20gPSBzdGQ6Om1heChsb3dlc3RGbG9hdEJvdHRvbSwgbG9n
aWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KSk7CisgICAgICAgICAgICBsb3dlc3RG
bG9hdEJvdHRvbSA9IHN0ZDo6bWF4KGxvd2VzdEZsb2F0Qm90dG9tLCBsb2dpY2FsQm90dG9tRm9y
RmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpKTsKICAgICB9CiAgICAgcmV0dXJuIGxvd2VzdEZs
b2F0Qm90dG9tOwogfQpAQCAtMjYwNSwxMiArMjU3NSw5IEBAIExheW91dFVuaXQgUmVuZGVyQmxv
Y2tGbG93Ojpsb3dlc3RJbml0aWFsTGV0dGVyTG9naWNhbEJvdHRvbSgpIGNvbnN0CiAgICAgaWYg
KCFtX2Zsb2F0aW5nT2JqZWN0cykKICAgICAgICAgcmV0dXJuIDA7CiAgICAgTGF5b3V0VW5pdCBs
b3dlc3RGbG9hdEJvdHRvbSA9IDA7Ci0gICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0
aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgIGF1dG8gZW5kID0g
ZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmpl
Y3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0
KiBmbG9hdGluZ09iamVjdCA9IGl0LT5nZXQoKTsKKyAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2Jq
ZWN0IDogbV9mbG9hdGluZ09iamVjdHMtPnNldCgpKSB7CiAgICAgICAgIGlmIChmbG9hdGluZ09i
amVjdC0+aXNQbGFjZWQoKSAmJiBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5zdHlsZSgpLnN0
eWxlVHlwZSgpID09IEZJUlNUX0xFVFRFUiAmJiBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5z
dHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKQotICAgICAgICAgICAgbG93ZXN0RmxvYXRC
b3R0b20gPSBzdGQ6Om1heChsb3dlc3RGbG9hdEJvdHRvbSwgbG9naWNhbEJvdHRvbUZvckZsb2F0
KGZsb2F0aW5nT2JqZWN0KSk7CisgICAgICAgICAgICBsb3dlc3RGbG9hdEJvdHRvbSA9IHN0ZDo6
bWF4KGxvd2VzdEZsb2F0Qm90dG9tLCBsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmpl
Y3QuZ2V0KCkpKTsKICAgICB9CiAgICAgcmV0dXJuIGxvd2VzdEZsb2F0Qm90dG9tOwogfQpAQCAt
MjYyNywxMCArMjU5NCw4IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93OjphZGRPdmVyaGFu
Z2luZ0Zsb2F0cyhSZW5kZXJCbG9ja0Zsb3cmIGNoaWxkLCBib29sIG1hCiAKICAgICAvLyBGbG9h
dHMgdGhhdCB3aWxsIHJlbWFpbiB0aGUgY2hpbGQncyByZXNwb25zaWJpbGl0eSB0byBwYWludCBz
aG91bGQgZmFjdG9yIGludG8gaXRzCiAgICAgLy8gb3ZlcmZsb3cuCi0gICAgYXV0byBjaGlsZEVu
ZCA9IGNoaWxkLm1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKS5lbmQoKTsKLSAgICBmb3IgKGF1dG8g
Y2hpbGRJdCA9IGNoaWxkLm1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKS5iZWdpbigpOyBjaGlsZEl0
ICE9IGNoaWxkRW5kOyArK2NoaWxkSXQpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0
aW5nT2JqZWN0ID0gY2hpbGRJdC0+Z2V0KCk7Ci0gICAgICAgIExheW91dFVuaXQgZmxvYXRMb2dp
Y2FsQm90dG9tID0gc3RkOjptaW4obG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0
KSwgTGF5b3V0VW5pdDo6bWF4KCkgLSBjaGlsZExvZ2ljYWxUb3ApOworICAgIGZvciAoYXV0byYg
ZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKKyAgICAgICAgTGF5
b3V0VW5pdCBmbG9hdExvZ2ljYWxCb3R0b20gPSBzdGQ6Om1pbihsb2dpY2FsQm90dG9tRm9yRmxv
YXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpLCBMYXlvdXRVbml0OjptYXgoKSAtIGNoaWxkTG9naWNh
bFRvcCk7CiAgICAgICAgIExheW91dFVuaXQgbG9naWNhbEJvdHRvbSA9IGNoaWxkTG9naWNhbFRv
cCArIGZsb2F0TG9naWNhbEJvdHRvbTsKICAgICAgICAgbG93ZXN0RmxvYXRMb2dpY2FsQm90dG9t
ID0gc3RkOjptYXgobG93ZXN0RmxvYXRMb2dpY2FsQm90dG9tLCBsb2dpY2FsQm90dG9tKTsKIApA
QCAtMjY2Nyw3ICsyNjMyLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFkZE92ZXJo
YW5naW5nRmxvYXRzKFJlbmRlckJsb2NrRmxvdyYgY2hpbGQsIGJvb2wgbWEKICAgICAgICAgICAg
IAogICAgICAgICAgICAgLy8gU2luY2UgdGhlIGZsb2F0IGRvZXNuJ3Qgb3ZlcmhhbmcsIGl0IGRp
ZG4ndCBnZXQgcHV0IGludG8gb3VyIGxpc3QuIFdlIG5lZWQgdG8gYWRkIGl0cyBvdmVyZmxvdyBp
biB0byB0aGUgY2hpbGQgbm93LgogICAgICAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0LT5pc0Rl
c2NlbmRhbnQoKSkKLSAgICAgICAgICAgICAgICBjaGlsZC5hZGRPdmVyZmxvd0Zyb21DaGlsZCgm
ZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCksIExheW91dFNpemUoeFBvc2l0aW9uRm9yRmxvYXRJ
bmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QpLCB5UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGlu
Z01hcmdpbihmbG9hdGluZ09iamVjdCkpKTsKKyAgICAgICAgICAgICAgICBjaGlsZC5hZGRPdmVy
Zmxvd0Zyb21DaGlsZCgmZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCksIExheW91dFNpemUoeFBv
c2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpLCB5UG9z
aXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdC5nZXQoKSkpKTsKICAg
ICAgICAgfQogICAgIH0KICAgICByZXR1cm4gbG93ZXN0RmxvYXRMb2dpY2FsQm90dG9tOwpAQCAt
MjcwMCwxMSArMjY2NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGRJbnRydWRpbmdGbG9h
dHMoUmVuZGVyQmxvY2tGbG93KiBwcmV2LCBSZW5kZXJCbG9ja0Zsb3cqCiAKICAgICBsb2dpY2Fs
TGVmdE9mZnNldCArPSBtYXJnaW5Mb2dpY2FsTGVmdCgpOwogCi0gICAgY29uc3QgRmxvYXRpbmdP
YmplY3RTZXQmIHByZXZTZXQgPSBwcmV2LT5tX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7Ci0gICAg
YXV0byBwcmV2RW5kID0gcHJldlNldC5lbmQoKTsKLSAgICBmb3IgKGF1dG8gcHJldkl0ID0gcHJl
dlNldC5iZWdpbigpOyBwcmV2SXQgIT0gcHJldkVuZDsgKytwcmV2SXQpIHsKLSAgICAgICAgRmxv
YXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0ID0gcHJldkl0LT5nZXQoKTsKLSAgICAgICAgaWYg
KGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChmbG9hdGluZ09iamVjdCkgPiBsb2dpY2FsVG9wT2Zmc2V0
KSB7CisgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVjdCA6IHByZXYtPm1fZmxvYXRpbmdPYmpl
Y3RzLT5zZXQoKSkgeworICAgICAgICBpZiAobG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5n
T2JqZWN0LmdldCgpKSA+IGxvZ2ljYWxUb3BPZmZzZXQpIHsKICAgICAgICAgICAgIGlmICghbV9m
bG9hdGluZ09iamVjdHMgfHwgIW1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKS5jb250YWluczxGbG9h
dGluZ09iamVjdCYsIEZsb2F0aW5nT2JqZWN0SGFzaFRyYW5zbGF0b3I+KCpmbG9hdGluZ09iamVj
dCkpIHsKICAgICAgICAgICAgICAgICAvLyBXZSBjcmVhdGUgdGhlIGZsb2F0aW5nIG9iamVjdCBs
aXN0IGxhemlseS4KICAgICAgICAgICAgICAgICBpZiAoIW1fZmxvYXRpbmdPYmplY3RzKQpAQCAt
Mjc1NiwxNiArMjcxOCwxMyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bWFya1NpYmxpbmdzV2l0
aEZsb2F0c0ZvckxheW91dChSZW5kZXJCb3gqIGZsb2F0VG9SZW1vdmUpCiAgICAgaWYgKCFtX2Zs
b2F0aW5nT2JqZWN0cykKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3QgRmxvYXRpbmdPYmpl
Y3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAg
IGF1dG8gZW5kID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0KICAgICBmb3IgKFJlbmRlck9i
amVjdCogbmV4dCA9IG5leHRTaWJsaW5nKCk7IG5leHQ7IG5leHQgPSBuZXh0LT5uZXh0U2libGlu
ZygpKSB7CiAgICAgICAgIGlmICghaXM8UmVuZGVyQmxvY2tGbG93PigqbmV4dCkgfHwgbmV4dC0+
aXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7
CiAKICAgICAgICAgUmVuZGVyQmxvY2tGbG93JiBuZXh0QmxvY2sgPSBkb3duY2FzdDxSZW5kZXJC
bG9ja0Zsb3c+KCpuZXh0KTsKLSAgICAgICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RT
ZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICBSZW5kZXJCb3gmIGZs
b2F0aW5nQm94ID0gKCppdCktPnJlbmRlcmVyKCk7CisgICAgICAgIGZvciAoYXV0byYgZmxvYXRp
bmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKKyAgICAgICAgICAgIFJlbmRl
ckJveCYgZmxvYXRpbmdCb3ggPSBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKTsKICAgICAgICAg
ICAgIGlmIChmbG9hdFRvUmVtb3ZlICYmICZmbG9hdGluZ0JveCAhPSBmbG9hdFRvUmVtb3ZlKQog
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgaWYgKG5leHRCbG9jay5jb250
YWluc0Zsb2F0KGZsb2F0aW5nQm94KSkKQEAgLTI5MjgsMTQgKzI4ODcsMTEgQEAgdm9pZCBSZW5k
ZXJCbG9ja0Zsb3c6OmFkanVzdEZvckJvcmRlckZpdChMYXlvdXRVbml0IHgsIExheW91dFVuaXQm
IGxlZnQsIExheW91dFUKICAgICB9CiAKICAgICBpZiAobV9mbG9hdGluZ09iamVjdHMpIHsKLSAg
ICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9h
dGluZ09iamVjdHMtPnNldCgpOwotICAgICAgICBhdXRvIGVuZCA9IGZsb2F0aW5nT2JqZWN0U2V0
LmVuZCgpOwotICAgICAgICBmb3IgKGF1dG8gaXQgPSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigp
OyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgIEZsb2F0aW5nT2JqZWN0KiByID0gaXQt
PmdldCgpOworICAgICAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9mbG9hdGluZ09i
amVjdHMtPnNldCgpKSB7CiAgICAgICAgICAgICAvLyBPbmx5IGV4YW1pbmUgdGhlIG9iamVjdCBp
ZiBvdXIgbV9zaG91bGRQYWludCBmbGFnIGlzIHNldC4KLSAgICAgICAgICAgIGlmIChyLT5zaG91
bGRQYWludCgpKSB7Ci0gICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBmbG9hdExlZnQgPSB4UG9z
aXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihyKSAtIHItPnJlbmRlcmVyKCkueCgpOwotICAg
ICAgICAgICAgICAgIExheW91dFVuaXQgZmxvYXRSaWdodCA9IGZsb2F0TGVmdCArIHItPnJlbmRl
cmVyKCkud2lkdGgoKTsKKyAgICAgICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+c2hvdWxkUGFp
bnQoKSkgeworICAgICAgICAgICAgICAgIExheW91dFVuaXQgZmxvYXRMZWZ0ID0geFBvc2l0aW9u
Rm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpIC0gZmxvYXRpbmdP
YmplY3QtPnJlbmRlcmVyKCkueCgpOworICAgICAgICAgICAgICAgIExheW91dFVuaXQgZmxvYXRS
aWdodCA9IGZsb2F0TGVmdCArIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLndpZHRoKCk7CiAg
ICAgICAgICAgICAgICAgbGVmdCA9IHN0ZDo6bWluKGxlZnQsIGZsb2F0TGVmdCk7CiAgICAgICAg
ICAgICAgICAgcmlnaHQgPSBzdGQ6Om1heChyaWdodCwgZmxvYXRSaWdodCk7CiAgICAgICAgICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5l
TGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlv
dXQuY3BwCmluZGV4IDVlYzA0NzBiYWNjOGFmOGQ1NjRhZTZkZDY3N2YyYzI2MzU1ZjhlNmYuLmMy
NTJlNjk0MzIxZDNkNWM0MjAwYzQ2OTE2YWVkN2FkNTRjMGM2NzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBAIC01MTIsOSAr
NTEyLDggQEAgc3RhdGljIGlubGluZSB2b2lkIHNldExvZ2ljYWxXaWR0aEZvclRleHRSdW4oUm9v
dElubGluZUJveCogbGluZUJveCwgQmlkaVJ1biogcnUKICAgICAgICAgICAgIH0gZWxzZQogICAg
ICAgICAgICAgICAgIG1lYXN1cmVkV2lkdGggKz0gd29yZE1lYXN1cmVtZW50LndpZHRoOwogICAg
ICAgICAgICAgaWYgKCF3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cy5pc0VtcHR5KCkpIHsK
LSAgICAgICAgICAgICAgICBIYXNoU2V0PGNvbnN0IEZvbnQqPjo6Y29uc3RfaXRlcmF0b3IgZW5k
ID0gd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMuZW5kKCk7Ci0gICAgICAgICAgICAgICAg
Zm9yIChIYXNoU2V0PGNvbnN0IEZvbnQqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSB3b3JkTWVhc3Vy
ZW1lbnQuZmFsbGJhY2tGb250cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgICAg
ICAgICAgICAgIGZhbGxiYWNrRm9udHMuYWRkKCppdCk7CisgICAgICAgICAgICAgICAgZm9yIChh
dXRvJiBmb250IDogd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMpCisgICAgICAgICAgICAg
ICAgICAgIGZhbGxiYWNrRm9udHMuYWRkKGZvbnQpOwogICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgICAgIGlmIChtZWFzdXJlZFdpZHRoICYmIGxhc3RFbmRPZmZzZXQgIT0gcnVuLT5tX3N0
b3ApIHsKQEAgLTEzMzYsOCArMTMzNSw4IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRS
dW5zQW5kRmxvYXRzSW5SYW5nZShMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBJCiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxp
bmVCcmVha2VyLnBvc2l0aW9uZWRPYmplY3RzKCkuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICBz
ZXRTdGF0aWNQb3NpdGlvbnMoKnRoaXMsICpsaW5lQnJlYWtlci5wb3NpdGlvbmVkT2JqZWN0cygp
W2ldKTsKKyAgICAgICAgZm9yIChhdXRvJiBwb3NpdGlvbmVkT2JqZWN0IDogbGluZUJyZWFrZXIu
cG9zaXRpb25lZE9iamVjdHMoKSkKKyAgICAgICAgICAgIHNldFN0YXRpY1Bvc2l0aW9ucygqdGhp
cywgKnBvc2l0aW9uZWRPYmplY3QpOwogCiAgICAgICAgIGlmICghbGF5b3V0U3RhdGUubGluZUlu
Zm8oKS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGxheW91dFN0YXRlLmxpbmVJbmZvKCkuc2V0
Rmlyc3RMaW5lKGZhbHNlKTsKQEAgLTE0NTQsOCArMTQ1Myw3IEBAIHZvaWQgUmVuZGVyQmxvY2tG
bG93OjpsaW5rVG9FbmRMaW5lSWZOZWVkZWQoTGluZUxheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSkK
ICAgICAgICAgICAgICAgICBpZiAobGF5b3V0U3RhdGUuZmxvd1RocmVhZCgpKQogICAgICAgICAg
ICAgICAgICAgICB1cGRhdGVSZWdpb25Gb3JMaW5lKGxpbmUpOwogICAgICAgICAgICAgICAgIGlm
IChWZWN0b3I8UmVuZGVyQm94Kj4qIGNsZWFuTGluZUZsb2F0cyA9IGxpbmUtPmZsb2F0c1B0cigp
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byBpdCA9IGNsZWFuTGluZUZsb2F0cy0+
YmVnaW4oKSwgZW5kID0gY2xlYW5MaW5lRmxvYXRzLT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJCb3gqIGZsb2F0aW5nQm94ID0gKml0Owor
ICAgICAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIGZsb2F0aW5nQm94IDogKmNsZWFuTGluZUZs
b2F0cykgewogICAgICAgICAgICAgICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5n
T2JqZWN0ID0gaW5zZXJ0RmxvYXRpbmdPYmplY3QoKmZsb2F0aW5nQm94KTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIEFTU0VSVCghZmxvYXRpbmdPYmplY3QtPm9yaWdpbmF0aW5nTGluZSgpKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5zZXRPcmlnaW5hdGluZ0xp
bmUobGluZSk7CkBAIC0xNTEyLDEzICsxNTEwLDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojps
aW5rVG9FbmRMaW5lSWZOZWVkZWQoTGluZUxheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSkKIAogdm9p
ZCBSZW5kZXJCbG9ja0Zsb3c6OnJlcGFpbnREaXJ0eUZsb2F0cyhWZWN0b3I8RmxvYXRXaXRoUmVj
dD4mIGZsb2F0cykKIHsKLSAgICBzaXplX3QgZmxvYXRDb3VudCA9IGZsb2F0cy5zaXplKCk7CiAg
ICAgLy8gRmxvYXRzIHRoYXQgZGlkIG5vdCBoYXZlIGxheW91dCBkaWQgbm90IHJlcGFpbnQgd2hl
biB3ZSBsYWlkIHRoZW0gb3V0LiBUaGV5IHdvdWxkIGhhdmUKICAgICAvLyBwYWludGVkIGJ5IG5v
dyBpZiB0aGV5IGhhZCBtb3ZlZCwgYnV0IGlmIHRoZXkgc3RheWVkIGF0ICgwLCAwKSwgdGhleSBz
dGlsbCBuZWVkIHRvIGJlCiAgICAgLy8gcGFpbnRlZC4KLSAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGZsb2F0Q291bnQ7ICsraSkgewotICAgICAgICBpZiAoIWZsb2F0c1tpXS5ldmVySGFkTGF5
b3V0KSB7Ci0gICAgICAgICAgICBSZW5kZXJCb3gmIGJveCA9IGZsb2F0c1tpXS5vYmplY3Q7Cisg
ICAgZm9yIChhdXRvJiBmbG9hdFdpdGhSZWN0IDogZmxvYXRzKSB7CisgICAgICAgIGlmICghZmxv
YXRXaXRoUmVjdC5ldmVySGFkTGF5b3V0KSB7CisgICAgICAgICAgICBSZW5kZXJCb3gmIGJveCA9
IGZsb2F0V2l0aFJlY3Qub2JqZWN0OwogICAgICAgICAgICAgaWYgKCFib3gueCgpICYmICFib3gu
eSgpICYmIGJveC5jaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSkKICAgICAgICAgICAgICAg
ICBib3gucmVwYWludCgpOwogICAgICAgICB9CkBAIC0xNjA2LDggKzE2MDMsOCBAQCB2b2lkIFJl
bmRlckJsb2NrRmxvdzo6bGF5b3V0TGluZUJveGVzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5
b3V0VW5pdCYgcmVwYWludAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCByZXBsYWNlZENoaWxkcmVuLnNpemUoKTsgaSsrKQotICAgICAg
ICAgICAgIHJlcGxhY2VkQ2hpbGRyZW5baV0tPmxheW91dElmTmVlZGVkKCk7CisgICAgICAgIGZv
ciAoYXV0byYgY2hpbGQgOiByZXBsYWNlZENoaWxkcmVuKQorICAgICAgICAgICAgY2hpbGQtPmxh
eW91dElmTmVlZGVkKCk7CiAKICAgICAgICAgbGF5b3V0UnVuc0FuZEZsb2F0cyhsYXlvdXRTdGF0
ZSwgaGFzSW5saW5lQ2hpbGQpOwogICAgIH0KQEAgLTE2NDUsOCArMTY0Miw3IEBAIHZvaWQgUmVu
ZGVyQmxvY2tGbG93OjpjaGVja0Zsb2F0c0luQ2xlYW5MaW5lKFJvb3RJbmxpbmVCb3gqIGxpbmUs
IFZlY3RvcjxGbG9hdFdpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBmb3IgKGF1dG8g
aXQgPSBjbGVhbkxpbmVGbG9hdHMtPmJlZ2luKCksIGVuZCA9IGNsZWFuTGluZUZsb2F0cy0+ZW5k
KCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBSZW5kZXJCb3gqIGZsb2F0aW5nQm94ID0g
Kml0OworICAgIGZvciAoYXV0byYgZmxvYXRpbmdCb3ggOiAqY2xlYW5MaW5lRmxvYXRzKSB7CiAg
ICAgICAgIGZsb2F0aW5nQm94LT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAgICBMYXlvdXRTaXpl
IG5ld1NpemUoZmxvYXRpbmdCb3gtPndpZHRoKCkgKyBmbG9hdGluZ0JveC0+aG9yaXpvbnRhbE1h
cmdpbkV4dGVudCgpLCBmbG9hdGluZ0JveC0+aGVpZ2h0KCkgKyBmbG9hdGluZ0JveC0+dmVydGlj
YWxNYXJnaW5FeHRlbnQoKSk7CiAgICAgICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FU
SU9OKGZsb2F0SW5kZXggPCBmbG9hdHMuc2l6ZSgpKTsKQEAgLTE3NDcsOCArMTc0Myw3IEBAIFJv
b3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrRmxvdzo6ZGV0ZXJtaW5lU3RhcnRQb3NpdGlvbihMaW5l
TGF5b3V0U3RhdGUmIGxheW91dFN0CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIGxpbmUgPSBmaXJz
dFJvb3RCb3goKTsKICAgICAgICAgd2hpbGUgKGxpbmUgIT0gY3VycikgewogICAgICAgICAgICAg
aWYgKFZlY3RvcjxSZW5kZXJCb3gqPiogY2xlYW5MaW5lRmxvYXRzID0gbGluZS0+ZmxvYXRzUHRy
KCkpIHsKLSAgICAgICAgICAgICAgICBmb3IgKGF1dG8gaXQgPSBjbGVhbkxpbmVGbG9hdHMtPmJl
Z2luKCksIGVuZCA9IGNsZWFuTGluZUZsb2F0cy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewot
ICAgICAgICAgICAgICAgICAgICBSZW5kZXJCb3gqIGZsb2F0aW5nQm94ID0gKml0OworICAgICAg
ICAgICAgICAgIGZvciAoYXV0byYgZmxvYXRpbmdCb3ggOiAqY2xlYW5MaW5lRmxvYXRzKSB7CiAg
ICAgICAgICAgICAgICAgICAgIEZsb2F0aW5nT2JqZWN0KiBmbG9hdGluZ09iamVjdCA9IGluc2Vy
dEZsb2F0aW5nT2JqZWN0KCpmbG9hdGluZ0JveCk7CiAgICAgICAgICAgICAgICAgICAgIEFTU0VS
VCghZmxvYXRpbmdPYmplY3QtPm9yaWdpbmF0aW5nTGluZSgpKTsKICAgICAgICAgICAgICAgICAg
ICAgZmxvYXRpbmdPYmplY3QtPnNldE9yaWdpbmF0aW5nTGluZShsaW5lKTsKQEAgLTE4NTUsMTEg
KzE4NTAsOCBAQCBib29sIFJlbmRlckJsb2NrRmxvdzo6Y2hlY2tQYWdpbmF0aW9uQW5kRmxvYXRz
QXRFbmRMaW5lKExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0UwogCiAgICAgTGF5b3V0VW5pdCBsb2dp
Y2FsQm90dG9tID0gbGFzdExpbmUtPmxpbmVCb3R0b21XaXRoTGVhZGluZygpICsgYWJzb2x1dGVW
YWx1ZShsaW5lRGVsdGEpOwogCi0gICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5n
T2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgIGF1dG8gZW5kID0gZmxv
YXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RT
ZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiBm
bG9hdGluZ09iamVjdCA9IGl0LT5nZXQoKTsKLSAgICAgICAgaWYgKGxvZ2ljYWxCb3R0b21Gb3JG
bG9hdChmbG9hdGluZ09iamVjdCkgPj0gbG9naWNhbFRvcCAmJiBsb2dpY2FsQm90dG9tRm9yRmxv
YXQoZmxvYXRpbmdPYmplY3QpIDwgbG9naWNhbEJvdHRvbSkKKyAgICBmb3IgKGF1dG8mIGZsb2F0
aW5nT2JqZWN0IDogbV9mbG9hdGluZ09iamVjdHMtPnNldCgpKSB7CisgICAgICAgIGlmIChsb2dp
Y2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpID49IGxvZ2ljYWxUb3AgJiYg
bG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LmdldCgpKSA8IGxvZ2ljYWxCb3R0
b20pCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAKaW5kZXggOTE4YTRmODhhMjNkOTZkOGFlNWUyMzY2
OTU2NzE3ODBhMDkzNjI3ZS4uMTQxMjI1OGU3YzllYTViZTdhMjcwYWFjNGUxOTIxMjE2NWNjOWZj
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcApAQCAtNDU1
LDExICs0NTUsOCBAQCB2b2lkIFJlbmRlckNvdW50ZXI6OmRlc3Ryb3lDb3VudGVyTm9kZXMoUmVu
ZGVyRWxlbWVudCYgb3duZXIpCiAgICAgQ291bnRlck1hcHM6Oml0ZXJhdG9yIG1hcHNJdGVyYXRv
ciA9IG1hcHMuZmluZCgmb3duZXIpOwogICAgIGlmIChtYXBzSXRlcmF0b3IgPT0gbWFwcy5lbmQo
KSkKICAgICAgICAgcmV0dXJuOwotICAgIENvdW50ZXJNYXAqIG1hcCA9IG1hcHNJdGVyYXRvci0+
dmFsdWUuZ2V0KCk7Ci0gICAgQ291bnRlck1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbWFwLT5l
bmQoKTsKLSAgICBmb3IgKENvdW50ZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbWFwLT5iZWdp
bigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgZGVzdHJveUNvdW50ZXJOb2RlV2l0aG91
dE1hcFJlbW92YWwoaXQtPmtleSwgaXQtPnZhbHVlLmdldCgpKTsKLSAgICB9CisgICAgZm9yIChh
dXRvJiBjb3VudGVyIDogKm1hcHNJdGVyYXRvci0+dmFsdWUuZ2V0KCkpCisgICAgICAgIGRlc3Ry
b3lDb3VudGVyTm9kZVdpdGhvdXRNYXBSZW1vdmFsKGNvdW50ZXIua2V5LCBjb3VudGVyLnZhbHVl
LmdldCgpKTsKICAgICBtYXBzLnJlbW92ZShtYXBzSXRlcmF0b3IpOwogICAgIG93bmVyLnNldEhh
c0NvdW50ZXJOb2RlTWFwKGZhbHNlKTsKIH0KQEAgLTUwOCwyNSArNTA1LDI0IEBAIHN0YXRpYyB2
b2lkIHVwZGF0ZUNvdW50ZXJzKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogICAgIGNvbnN0IENv
dW50ZXJEaXJlY3RpdmVNYXAqIGRpcmVjdGl2ZU1hcCA9IHJlbmRlcmVyLnN0eWxlKCkuY291bnRl
ckRpcmVjdGl2ZXMoKTsKICAgICBpZiAoIWRpcmVjdGl2ZU1hcCkKICAgICAgICAgcmV0dXJuOwot
ICAgIENvdW50ZXJEaXJlY3RpdmVNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGRpcmVjdGl2ZU1h
cC0+ZW5kKCk7CiAgICAgaWYgKCFyZW5kZXJlci5oYXNDb3VudGVyTm9kZU1hcCgpKSB7Ci0gICAg
ICAgIGZvciAoQ291bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBkaXJlY3Rp
dmVNYXAtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgICAgIG1ha2VDb3VudGVy
Tm9kZShyZW5kZXJlciwgaXQtPmtleSwgZmFsc2UpOworICAgICAgICBmb3IgKGF1dG8mIGtleSA6
IGRpcmVjdGl2ZU1hcC0+a2V5cygpKQorICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2RlKHJlbmRl
cmVyLCBrZXksIGZhbHNlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBDb3VudGVyTWFw
KiBjb3VudGVyTWFwID0gY291bnRlck1hcHMoKS5nZXQoJnJlbmRlcmVyKTsKICAgICBBU1NFUlQo
Y291bnRlck1hcCk7Ci0gICAgZm9yIChDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25zdF9pdGVyYXRv
ciBpdCA9IGRpcmVjdGl2ZU1hcC0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAg
IFJlZlB0cjxDb3VudGVyTm9kZT4gbm9kZSA9IGNvdW50ZXJNYXAtPmdldChpdC0+a2V5KTsKKyAg
ICBmb3IgKGF1dG8mIGtleSA6IGRpcmVjdGl2ZU1hcC0+a2V5cygpKSB7CisgICAgICAgIFJlZlB0
cjxDb3VudGVyTm9kZT4gbm9kZSA9IGNvdW50ZXJNYXAtPmdldChrZXkpOwogICAgICAgICBpZiAo
IW5vZGUpIHsKLSAgICAgICAgICAgIG1ha2VDb3VudGVyTm9kZShyZW5kZXJlciwgaXQtPmtleSwg
ZmFsc2UpOworICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBrZXksIGZhbHNl
KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIFJlZlB0cjxDb3Vu
dGVyTm9kZT4gbmV3UGFyZW50ID0gMDsKICAgICAgICAgUmVmUHRyPENvdW50ZXJOb2RlPiBuZXdQ
cmV2aW91c1NpYmxpbmcgPSAwOwogICAgICAgICAKLSAgICAgICAgZmluZFBsYWNlRm9yQ291bnRl
cihyZW5kZXJlciwgaXQtPmtleSwgbm9kZS0+aGFzUmVzZXRUeXBlKCksIG5ld1BhcmVudCwgbmV3
UHJldmlvdXNTaWJsaW5nKTsKLSAgICAgICAgaWYgKG5vZGUgIT0gY291bnRlck1hcC0+Z2V0KGl0
LT5rZXkpKQorICAgICAgICBmaW5kUGxhY2VGb3JDb3VudGVyKHJlbmRlcmVyLCBrZXksIG5vZGUt
Pmhhc1Jlc2V0VHlwZSgpLCBuZXdQYXJlbnQsIG5ld1ByZXZpb3VzU2libGluZyk7CisgICAgICAg
IGlmIChub2RlICE9IGNvdW50ZXJNYXAtPmdldChrZXkpKQogICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIENvdW50ZXJOb2RlKiBwYXJlbnQgPSBub2RlLT5wYXJlbnQoKTsKICAgICAgICAg
aWYgKG5ld1BhcmVudCA9PSBwYXJlbnQgJiYgbmV3UHJldmlvdXNTaWJsaW5nID09IG5vZGUtPnBy
ZXZpb3VzU2libGluZygpKQpAQCAtNTM0LDcgKzUzMCw3IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZUNv
dW50ZXJzKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogICAgICAgICBpZiAocGFyZW50KQogICAg
ICAgICAgICAgcGFyZW50LT5yZW1vdmVDaGlsZChub2RlLmdldCgpKTsKICAgICAgICAgaWYgKG5l
d1BhcmVudCkKLSAgICAgICAgICAgIG5ld1BhcmVudC0+aW5zZXJ0QWZ0ZXIobm9kZS5nZXQoKSwg
bmV3UHJldmlvdXNTaWJsaW5nLmdldCgpLCBpdC0+a2V5KTsKKyAgICAgICAgICAgIG5ld1BhcmVu
dC0+aW5zZXJ0QWZ0ZXIobm9kZS5nZXQoKSwgbmV3UHJldmlvdXNTaWJsaW5nLmdldCgpLCBrZXkp
OwogICAgIH0KIH0KIApAQCAtNTY0LDM2ICs1NjAsMzMgQEAgdm9pZCBSZW5kZXJDb3VudGVyOjpy
ZW5kZXJlclN0eWxlQ2hhbmdlZChSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgUmVuZGVy
U3QKICAgICBjb25zdCBDb3VudGVyRGlyZWN0aXZlTWFwKiBvbGRDb3VudGVyRGlyZWN0aXZlczsK
ICAgICBpZiAob2xkU3R5bGUgJiYgKG9sZENvdW50ZXJEaXJlY3RpdmVzID0gb2xkU3R5bGUtPmNv
dW50ZXJEaXJlY3RpdmVzKCkpKSB7CiAgICAgICAgIGlmIChuZXdTdHlsZSAmJiAobmV3Q291bnRl
ckRpcmVjdGl2ZXMgPSBuZXdTdHlsZS0+Y291bnRlckRpcmVjdGl2ZXMoKSkpIHsKLSAgICAgICAg
ICAgIENvdW50ZXJEaXJlY3RpdmVNYXA6OmNvbnN0X2l0ZXJhdG9yIG5ld01hcEVuZCA9IG5ld0Nv
dW50ZXJEaXJlY3RpdmVzLT5lbmQoKTsKLSAgICAgICAgICAgIENvdW50ZXJEaXJlY3RpdmVNYXA6
OmNvbnN0X2l0ZXJhdG9yIG9sZE1hcEVuZCA9IG9sZENvdW50ZXJEaXJlY3RpdmVzLT5lbmQoKTsK
LSAgICAgICAgICAgIGZvciAoQ291bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQg
PSBuZXdDb3VudGVyRGlyZWN0aXZlcy0+YmVnaW4oKTsgaXQgIT0gbmV3TWFwRW5kOyArK2l0KSB7
Ci0gICAgICAgICAgICAgICAgQ291bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3Igb2xk
TWFwSXQgPSBvbGRDb3VudGVyRGlyZWN0aXZlcy0+ZmluZChpdC0+a2V5KTsKLSAgICAgICAgICAg
ICAgICBpZiAob2xkTWFwSXQgIT0gb2xkTWFwRW5kKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlm
IChvbGRNYXBJdC0+dmFsdWUgPT0gaXQtPnZhbHVlKQorICAgICAgICAgICAgZm9yIChhdXRvJiBk
aXJlY3RpdmUgOiAqbmV3Q291bnRlckRpcmVjdGl2ZXMpIHsKKyAgICAgICAgICAgICAgICBhdXRv
IG9sZE1hcEl0ID0gb2xkQ291bnRlckRpcmVjdGl2ZXMtPmZpbmQoZGlyZWN0aXZlLmtleSk7Cisg
ICAgICAgICAgICAgICAgaWYgKG9sZE1hcEl0ICE9IG9sZENvdW50ZXJEaXJlY3RpdmVzLT5lbmQo
KSkgeworICAgICAgICAgICAgICAgICAgICBpZiAob2xkTWFwSXQtPnZhbHVlID09IGRpcmVjdGl2
ZS52YWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAg
ICAgICAgICBSZW5kZXJDb3VudGVyOjpkZXN0cm95Q291bnRlck5vZGUocmVuZGVyZXIsIGl0LT5r
ZXkpOworICAgICAgICAgICAgICAgICAgICBSZW5kZXJDb3VudGVyOjpkZXN0cm95Q291bnRlck5v
ZGUocmVuZGVyZXIsIGRpcmVjdGl2ZS5rZXkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAvLyBXZSBtdXN0IGNyZWF0ZSB0aGlzIG5vZGUgaGVyZSwgYmVjYXVzZSB0aGUgY2hh
bmdlZCBub2RlIG1heSBiZSBhIG5vZGUgd2l0aCBubyBkaXNwbGF5IHN1Y2ggYXMKICAgICAgICAg
ICAgICAgICAvLyBhcyB0aG9zZSBjcmVhdGVkIGJ5IHRoZSBpbmNyZW1lbnQgb3IgcmVzZXQgZGly
ZWN0aXZlcyBhbmQgdGhlIHJlLWxheW91dCB0aGF0IHdpbGwgaGFwcGVuIHdpbGwKICAgICAgICAg
ICAgICAgICAvLyBub3QgY2F0Y2ggdGhlIGNoYW5nZSBpZiB0aGUgbm9kZSBoYWQgbm8gY2hpbGRy
ZW4uCi0gICAgICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBpdC0+a2V5LCBm
YWxzZSk7CisgICAgICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBkaXJlY3Rp
dmUua2V5LCBmYWxzZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBEZXN0cm95aW5n
IG9sZCBjb3VudGVycyB0aGF0IGRvIG5vdCBleGlzdCBpbiB0aGUgbmV3IGNvdW50ZXJEaXJlY3Rp
dmUgbWFwLgotICAgICAgICAgICAgZm9yIChDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25zdF9pdGVy
YXRvciBpdCA9IG9sZENvdW50ZXJEaXJlY3RpdmVzLT5iZWdpbigpOyBpdCAhPW9sZE1hcEVuZDsg
KytpdCkgewotICAgICAgICAgICAgICAgIGlmICghbmV3Q291bnRlckRpcmVjdGl2ZXMtPmNvbnRh
aW5zKGl0LT5rZXkpKQotICAgICAgICAgICAgICAgICAgICBSZW5kZXJDb3VudGVyOjpkZXN0cm95
Q291bnRlck5vZGUocmVuZGVyZXIsIGl0LT5rZXkpOworICAgICAgICAgICAgZm9yIChhdXRvJiBr
ZXkgOiBvbGRDb3VudGVyRGlyZWN0aXZlcy0+a2V5cygpKSB7CisgICAgICAgICAgICAgICAgaWYg
KCFuZXdDb3VudGVyRGlyZWN0aXZlcy0+Y29udGFpbnMoa2V5KSkKKyAgICAgICAgICAgICAgICAg
ICAgUmVuZGVyQ291bnRlcjo6ZGVzdHJveUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBrZXkpOwogICAg
ICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKHJlbmRlcmVyLmhh
c0NvdW50ZXJOb2RlTWFwKCkpCiAgICAgICAgICAgICAgICAgUmVuZGVyQ291bnRlcjo6ZGVzdHJv
eUNvdW50ZXJOb2RlcyhyZW5kZXJlcik7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG5ld1N0
eWxlICYmIChuZXdDb3VudGVyRGlyZWN0aXZlcyA9IG5ld1N0eWxlLT5jb3VudGVyRGlyZWN0aXZl
cygpKSkgewotICAgICAgICBDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25zdF9pdGVyYXRvciBuZXdN
YXBFbmQgPSBuZXdDb3VudGVyRGlyZWN0aXZlcy0+ZW5kKCk7Ci0gICAgICAgIGZvciAoQ291bnRl
ckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBuZXdDb3VudGVyRGlyZWN0aXZlcy0+
YmVnaW4oKTsgaXQgIT0gbmV3TWFwRW5kOyArK2l0KSB7CisgICAgICAgIGZvciAoYXV0byYga2V5
IDogbmV3Q291bnRlckRpcmVjdGl2ZXMtPmtleXMoKSkgewogICAgICAgICAgICAgLy8gV2UgbXVz
dCBjcmVhdGUgdGhpcyBub2RlIGhlcmUsIGJlY2F1c2UgdGhlIGFkZGVkIG5vZGUgbWF5IGJlIGEg
bm9kZSB3aXRoIG5vIGRpc3BsYXkgc3VjaCBhcwogICAgICAgICAgICAgLy8gYXMgdGhvc2UgY3Jl
YXRlZCBieSB0aGUgaW5jcmVtZW50IG9yIHJlc2V0IGRpcmVjdGl2ZXMgYW5kIHRoZSByZS1sYXlv
dXQgdGhhdCB3aWxsIGhhcHBlbiB3aWxsCiAgICAgICAgICAgICAvLyBub3QgY2F0Y2ggdGhlIGNo
YW5nZSBpZiB0aGUgbm9kZSBoYWQgbm8gY2hpbGRyZW4uCi0gICAgICAgICAgICBtYWtlQ291bnRl
ck5vZGUocmVuZGVyZXIsIGl0LT5rZXksIGZhbHNlKTsKKyAgICAgICAgICAgIG1ha2VDb3VudGVy
Tm9kZShyZW5kZXJlciwga2V5LCBmYWxzZSk7CiAgICAgICAgIH0KICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCAwZDVhMDM2
YTU3ZThjNDhlODE1ZmU1Yjg5ZGEyNzUxODVkMGY1ZmVmLi41NTE2MDUyOGZhZWMzNmFhNTU2NzQy
MjZhNTFkYTVhMDU4YjU3NThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHAKQEAgLTcxMyw4ICs3MTMsNyBAQCBMYXlvdXRVbml0IFJlbmRlckZs
ZXhpYmxlQm94OjphdXRvTWFyZ2luT2Zmc2V0SW5NYWluQXhpcyhjb25zdCBPcmRlcmVkRmxleEl0
ZW1MaQogCiAgICAgaW50IG51bWJlck9mQXV0b01hcmdpbnMgPSAwOwogICAgIGJvb2wgaXNIb3Jp
em9udGFsID0gaXNIb3Jpem9udGFsRmxvdygpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
Y2hpbGRyZW4uc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgUmVuZGVyQm94KiBjaGlsZCA9IGNoaWxk
cmVuW2ldOworICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbikgewogICAgICAgICBpZiAo
Y2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIGlmIChpc0hvcml6b250YWwpIHsKQEAgLTg5OCw5ICs4OTcsOSBAQCBib29sIFJlbmRl
ckZsZXhpYmxlQm94Ojpjb21wdXRlTmV4dEZsZXhMaW5lKE9yZGVyZWRGbGV4SXRlbUxpc3QmIG9y
ZGVyZWRDaGlsZHJlbgogCiB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpmcmVlemVWaW9sYXRpb25z
KGNvbnN0IFZlY3RvcjxWaW9sYXRpb24+JiB2aW9sYXRpb25zLCBMYXlvdXRVbml0JiBhdmFpbGFi
bGVGcmVlU3BhY2UsIGRvdWJsZSYgdG90YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVk
RmxleFNocmluaywgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYgaW5mbGV4aWJsZUl0ZW1zLCBib29s
IGhhc0luZmluaXRlTGluZUxlbmd0aCkKIHsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHZp
b2xhdGlvbnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgUmVuZGVyQm94JiBjaGlsZCA9IHZpb2xh
dGlvbnNbaV0uY2hpbGQ7Ci0gICAgICAgIExheW91dFVuaXQgY2hpbGRTaXplID0gdmlvbGF0aW9u
c1tpXS5jaGlsZFNpemU7CisgICAgZm9yIChhdXRvJiB2aW9sYXRpb24gOiB2aW9sYXRpb25zKSB7
CisgICAgICAgIFJlbmRlckJveCYgY2hpbGQgPSB2aW9sYXRpb24uY2hpbGQ7CisgICAgICAgIExh
eW91dFVuaXQgY2hpbGRTaXplID0gdmlvbGF0aW9uLmNoaWxkU2l6ZTsKICAgICAgICAgTGF5b3V0
VW5pdCBwcmVmZXJyZWRDaGlsZFNpemUgPSBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRG
b3JDaGlsZChjaGlsZCwgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKTsKICAgICAgICAgYXZhaWxhYmxl
RnJlZVNwYWNlIC09IGNoaWxkU2l6ZSAtIHByZWZlcnJlZENoaWxkU2l6ZTsKICAgICAgICAgdG90
YWxGbGV4R3JvdyAtPSBjaGlsZC5zdHlsZSgpLmZsZXhHcm93KCk7CkBAIC05MTcsMzUgKzkxNiwz
NCBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94OjpyZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhT
aWduIGZsZXhTaWduLCBjb25zdCBPcmRlcmVkRgogICAgIExheW91dFVuaXQgdXNlZEZyZWVTcGFj
ZSA9IDA7CiAgICAgVmVjdG9yPFZpb2xhdGlvbj4gbWluVmlvbGF0aW9uczsKICAgICBWZWN0b3I8
VmlvbGF0aW9uPiBtYXhWaW9sYXRpb25zOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2hp
bGRyZW4uc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgUmVuZGVyQm94JiBjaGlsZCA9ICpjaGlsZHJl
bltpXTsKLSAgICAgICAgaWYgKGNoaWxkLmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKSB7CisgICAg
Zm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuKSB7CisgICAgICAgIGlmIChjaGlsZC0+aXNPdXRP
ZkZsb3dQb3NpdGlvbmVkKCkpIHsKICAgICAgICAgICAgIGNoaWxkU2l6ZXMuYXBwZW5kKDApOwog
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoaW5mbGV4aWJs
ZUl0ZW1zLmNvbnRhaW5zKCZjaGlsZCkpCi0gICAgICAgICAgICBjaGlsZFNpemVzLmFwcGVuZChp
bmZsZXhpYmxlSXRlbXMuZ2V0KCZjaGlsZCkpOworICAgICAgICBpZiAoaW5mbGV4aWJsZUl0ZW1z
LmNvbnRhaW5zKGNoaWxkKSkKKyAgICAgICAgICAgIGNoaWxkU2l6ZXMuYXBwZW5kKGluZmxleGli
bGVJdGVtcy5nZXQoY2hpbGQpKTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBMYXlvdXRV
bml0IHByZWZlcnJlZENoaWxkU2l6ZSA9IHByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZv
ckNoaWxkKGNoaWxkLCBoYXNJbmZpbml0ZUxpbmVMZW5ndGgpOworICAgICAgICAgICAgTGF5b3V0
VW5pdCBwcmVmZXJyZWRDaGlsZFNpemUgPSBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRG
b3JDaGlsZCgqY2hpbGQsIGhhc0luZmluaXRlTGluZUxlbmd0aCk7CiAgICAgICAgICAgICBMYXlv
dXRVbml0IGNoaWxkU2l6ZSA9IHByZWZlcnJlZENoaWxkU2l6ZTsKICAgICAgICAgICAgIGRvdWJs
ZSBleHRyYVNwYWNlID0gMDsKICAgICAgICAgICAgIGlmIChhdmFpbGFibGVGcmVlU3BhY2UgPiAw
ICYmIHRvdGFsRmxleEdyb3cgPiAwICYmIGZsZXhTaWduID09IFBvc2l0aXZlRmxleGliaWxpdHkg
JiYgc3RkOjppc2Zpbml0ZSh0b3RhbEZsZXhHcm93KSkKLSAgICAgICAgICAgICAgICBleHRyYVNw
YWNlID0gYXZhaWxhYmxlRnJlZVNwYWNlICogY2hpbGQuc3R5bGUoKS5mbGV4R3JvdygpIC8gdG90
YWxGbGV4R3JvdzsKKyAgICAgICAgICAgICAgICBleHRyYVNwYWNlID0gYXZhaWxhYmxlRnJlZVNw
YWNlICogY2hpbGQtPnN0eWxlKCkuZmxleEdyb3coKSAvIHRvdGFsRmxleEdyb3c7CiAgICAgICAg
ICAgICBlbHNlIGlmIChhdmFpbGFibGVGcmVlU3BhY2UgPCAwICYmIHRvdGFsV2VpZ2h0ZWRGbGV4
U2hyaW5rID4gMCAmJiBmbGV4U2lnbiA9PSBOZWdhdGl2ZUZsZXhpYmlsaXR5ICYmIHN0ZDo6aXNm
aW5pdGUodG90YWxXZWlnaHRlZEZsZXhTaHJpbmspKQotICAgICAgICAgICAgICAgIGV4dHJhU3Bh
Y2UgPSBhdmFpbGFibGVGcmVlU3BhY2UgKiBjaGlsZC5zdHlsZSgpLmZsZXhTaHJpbmsoKSAqIHBy
ZWZlcnJlZENoaWxkU2l6ZSAvIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rOworICAgICAgICAgICAg
ICAgIGV4dHJhU3BhY2UgPSBhdmFpbGFibGVGcmVlU3BhY2UgKiBjaGlsZC0+c3R5bGUoKS5mbGV4
U2hyaW5rKCkgKiBwcmVmZXJyZWRDaGlsZFNpemUgLyB0b3RhbFdlaWdodGVkRmxleFNocmluazsK
ICAgICAgICAgICAgIGlmIChzdGQ6OmlzZmluaXRlKGV4dHJhU3BhY2UpKQogICAgICAgICAgICAg
ICAgIGNoaWxkU2l6ZSArPSBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChleHRyYVNwYWNlKTsK
IAotICAgICAgICAgICAgTGF5b3V0VW5pdCBhZGp1c3RlZENoaWxkU2l6ZSA9IGFkanVzdENoaWxk
U2l6ZUZvck1pbkFuZE1heChjaGlsZCwgY2hpbGRTaXplKTsKKyAgICAgICAgICAgIExheW91dFVu
aXQgYWRqdXN0ZWRDaGlsZFNpemUgPSBhZGp1c3RDaGlsZFNpemVGb3JNaW5BbmRNYXgoKmNoaWxk
LCBjaGlsZFNpemUpOwogICAgICAgICAgICAgY2hpbGRTaXplcy5hcHBlbmQoYWRqdXN0ZWRDaGls
ZFNpemUpOwogICAgICAgICAgICAgdXNlZEZyZWVTcGFjZSArPSBhZGp1c3RlZENoaWxkU2l6ZSAt
IHByZWZlcnJlZENoaWxkU2l6ZTsKIAogICAgICAgICAgICAgTGF5b3V0VW5pdCB2aW9sYXRpb24g
PSBhZGp1c3RlZENoaWxkU2l6ZSAtIGNoaWxkU2l6ZTsKICAgICAgICAgICAgIGlmICh2aW9sYXRp
b24gPiAwKQotICAgICAgICAgICAgICAgIG1pblZpb2xhdGlvbnMuYXBwZW5kKFZpb2xhdGlvbihj
aGlsZCwgYWRqdXN0ZWRDaGlsZFNpemUpKTsKKyAgICAgICAgICAgICAgICBtaW5WaW9sYXRpb25z
LmFwcGVuZChWaW9sYXRpb24oKmNoaWxkLCBhZGp1c3RlZENoaWxkU2l6ZSkpOwogICAgICAgICAg
ICAgZWxzZSBpZiAodmlvbGF0aW9uIDwgMCkKLSAgICAgICAgICAgICAgICBtYXhWaW9sYXRpb25z
LmFwcGVuZChWaW9sYXRpb24oY2hpbGQsIGFkanVzdGVkQ2hpbGRTaXplKSk7CisgICAgICAgICAg
ICAgICAgbWF4VmlvbGF0aW9ucy5hcHBlbmQoVmlvbGF0aW9uKCpjaGlsZCwgYWRqdXN0ZWRDaGls
ZFNpemUpKTsKICAgICAgICAgICAgIHRvdGFsVmlvbGF0aW9uICs9IHZpb2xhdGlvbjsKICAgICAg
ICAgfQogICAgIH0KQEAgLTEwMzAsOCArMTAyOCw3IEBAIEl0ZW1Qb3NpdGlvbiBSZW5kZXJGbGV4
aWJsZUJveDo6YWxpZ25tZW50Rm9yQ2hpbGQoUmVuZGVyQm94JiBjaGlsZCkgY29uc3QKIHNpemVf
dCBSZW5kZXJGbGV4aWJsZUJveDo6bnVtYmVyT2ZJbkZsb3dQb3NpdGlvbmVkQ2hpbGRyZW4oY29u
c3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYgY2hpbGRyZW4pIGNvbnN0CiB7CiAgICAgc2l6ZV90IGNv
dW50ID0gMDsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNoaWxkcmVuLnNpemUoKTsgKytp
KSB7Ci0gICAgICAgIFJlbmRlckJveCogY2hpbGQgPSBjaGlsZHJlbltpXTsKKyAgICBmb3IgKGF1
dG8mIGNoaWxkIDogY2hpbGRyZW4pIHsKICAgICAgICAgaWYgKCFjaGlsZC0+aXNPdXRPZkZsb3dQ
b3NpdGlvbmVkKCkpCiAgICAgICAgICAgICArK2NvdW50OwogICAgIH0KQEAgLTExNTUsMTcgKzEx
NTIsMTYgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0Q29sdW1uUmV2ZXJzZShjb25z
dCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBjaGlsZHJlbiwKICAgICBtYWluQXhpc09mZnNldCAtPSBp
c0hvcml6b250YWxGbG93KCkgPyB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCkgOiBob3Jpem9udGFs
U2Nyb2xsYmFySGVpZ2h0KCk7CiAKICAgICBzaXplX3Qgc2VlbkluRmxvd1Bvc2l0aW9uZWRDaGls
ZHJlbiA9IDA7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjaGlsZHJlbi5zaXplKCk7ICsr
aSkgewotICAgICAgICBSZW5kZXJCb3gmIGNoaWxkID0gKmNoaWxkcmVuW2ldOwotICAgICAgICBp
ZiAoY2hpbGQuaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpIHsKLSAgICAgICAgICAgIGNoaWxkLmxh
eWVyKCktPnNldFN0YXRpY0Jsb2NrUG9zaXRpb24obWFpbkF4aXNPZmZzZXQpOworICAgIGZvciAo
YXV0byYgY2hpbGQgOiBjaGlsZHJlbikgeworICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93
UG9zaXRpb25lZCgpKSB7CisgICAgICAgICAgICBjaGlsZC0+bGF5ZXIoKS0+c2V0U3RhdGljQmxv
Y2tQb3NpdGlvbihtYWluQXhpc09mZnNldCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgfQotICAgICAgICBtYWluQXhpc09mZnNldCAtPSBtYWluQXhpc0V4dGVudEZvckNoaWxkKGNo
aWxkKSArIGZsb3dBd2FyZU1hcmdpbkVuZEZvckNoaWxkKGNoaWxkKTsKKyAgICAgICAgbWFpbkF4
aXNPZmZzZXQgLT0gbWFpbkF4aXNFeHRlbnRGb3JDaGlsZCgqY2hpbGQpICsgZmxvd0F3YXJlTWFy
Z2luRW5kRm9yQ2hpbGQoKmNoaWxkKTsKIAotICAgICAgICBzZXRGbG93QXdhcmVMb2NhdGlvbkZv
ckNoaWxkKGNoaWxkLCBMYXlvdXRQb2ludChtYWluQXhpc09mZnNldCwgY3Jvc3NBeGlzT2Zmc2V0
ICsgZmxvd0F3YXJlTWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hpbGQpKSk7CisgICAgICAgIHNldEZs
b3dBd2FyZUxvY2F0aW9uRm9yQ2hpbGQoKmNoaWxkLCBMYXlvdXRQb2ludChtYWluQXhpc09mZnNl
dCwgY3Jvc3NBeGlzT2Zmc2V0ICsgZmxvd0F3YXJlTWFyZ2luQmVmb3JlRm9yQ2hpbGQoKmNoaWxk
KSkpOwogCi0gICAgICAgIG1haW5BeGlzT2Zmc2V0IC09IGZsb3dBd2FyZU1hcmdpblN0YXJ0Rm9y
Q2hpbGQoY2hpbGQpOworICAgICAgICBtYWluQXhpc09mZnNldCAtPSBmbG93QXdhcmVNYXJnaW5T
dGFydEZvckNoaWxkKCpjaGlsZCk7CiAKICAgICAgICAgKytzZWVuSW5GbG93UG9zaXRpb25lZENo
aWxkcmVuOwogICAgICAgICBpZiAoc2VlbkluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbiA8IG51bWJl
ck9mQ2hpbGRyZW5Gb3JKdXN0aWZ5Q29udGVudCkKQEAgLTEyMDksMTggKzEyMDUsMTggQEAgdm9p
ZCBSZW5kZXJGbGV4aWJsZUJveDo6YWxpZ25GbGV4TGluZXMoVmVjdG9yPExpbmVDb250ZXh0PiYg
bGluZUNvbnRleHRzKQogICAgICAgICByZXR1cm47CiAKICAgICBMYXlvdXRVbml0IGF2YWlsYWJs
ZUNyb3NzQXhpc1NwYWNlID0gY3Jvc3NBeGlzQ29udGVudEV4dGVudCgpOwotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbGluZUNvbnRleHRzLnNpemUoKTsgKytpKQotICAgICAgICBhdmFpbGFi
bGVDcm9zc0F4aXNTcGFjZSAtPSBsaW5lQ29udGV4dHNbaV0uY3Jvc3NBeGlzRXh0ZW50OworICAg
IGZvciAoYXV0byYgbGluZUNvbnRleHQgOiBsaW5lQ29udGV4dHMpCisgICAgICAgIGF2YWlsYWJs
ZUNyb3NzQXhpc1NwYWNlIC09IGxpbmVDb250ZXh0LmNyb3NzQXhpc0V4dGVudDsKIAogICAgIFJl
bmRlckJveCogY2hpbGQgPSBtX29yZGVySXRlcmF0b3IuZmlyc3QoKTsKICAgICBMYXlvdXRVbml0
IGxpbmVPZmZzZXQgPSBpbml0aWFsQWxpZ25Db250ZW50T2Zmc2V0KGF2YWlsYWJsZUNyb3NzQXhp
c1NwYWNlLCBwb3NpdGlvbiwgZGlzdHJpYnV0aW9uLCBsaW5lQ29udGV4dHMuc2l6ZSgpKTsKLSAg
ICBmb3IgKHVuc2lnbmVkIGxpbmVOdW1iZXIgPSAwOyBsaW5lTnVtYmVyIDwgbGluZUNvbnRleHRz
LnNpemUoKTsgKytsaW5lTnVtYmVyKSB7Ci0gICAgICAgIGxpbmVDb250ZXh0c1tsaW5lTnVtYmVy
XS5jcm9zc0F4aXNPZmZzZXQgKz0gbGluZU9mZnNldDsKLSAgICAgICAgZm9yIChzaXplX3QgY2hp
bGROdW1iZXIgPSAwOyBjaGlsZE51bWJlciA8IGxpbmVDb250ZXh0c1tsaW5lTnVtYmVyXS5udW1i
ZXJPZkNoaWxkcmVuOyArK2NoaWxkTnVtYmVyLCBjaGlsZCA9IG1fb3JkZXJJdGVyYXRvci5uZXh0
KCkpCisgICAgZm9yIChhdXRvJiBsaW5lQ29udGV4dCA6IGxpbmVDb250ZXh0cykgeworICAgICAg
ICBsaW5lQ29udGV4dC5jcm9zc0F4aXNPZmZzZXQgKz0gbGluZU9mZnNldDsKKyAgICAgICAgZm9y
IChzaXplX3QgY2hpbGROdW1iZXIgPSAwOyBjaGlsZE51bWJlciA8IGxpbmVDb250ZXh0Lm51bWJl
ck9mQ2hpbGRyZW47ICsrY2hpbGROdW1iZXIsIGNoaWxkID0gbV9vcmRlckl0ZXJhdG9yLm5leHQo
KSkKICAgICAgICAgICAgIGFkanVzdEFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgbGluZU9mZnNl
dCk7CiAKICAgICAgICAgaWYgKGRpc3RyaWJ1dGlvbiA9PSBDb250ZW50RGlzdHJpYnV0aW9uU3Ry
ZXRjaCAmJiBhdmFpbGFibGVDcm9zc0F4aXNTcGFjZSA+IDApCi0gICAgICAgICAgICBsaW5lQ29u
dGV4dHNbbGluZU51bWJlcl0uY3Jvc3NBeGlzRXh0ZW50ICs9IGF2YWlsYWJsZUNyb3NzQXhpc1Nw
YWNlIC8gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGxpbmVDb250ZXh0cy5zaXplKCkpOworICAgICAg
ICAgICAgbGluZUNvbnRleHQuY3Jvc3NBeGlzRXh0ZW50ICs9IGF2YWlsYWJsZUNyb3NzQXhpc1Nw
YWNlIC8gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGxpbmVDb250ZXh0cy5zaXplKCkpOwogCiAgICAg
ICAgIGxpbmVPZmZzZXQgKz0gYWxpZ25Db250ZW50U3BhY2VCZXR3ZWVuQ2hpbGRyZW4oYXZhaWxh
YmxlQ3Jvc3NBeGlzU3BhY2UsIGRpc3RyaWJ1dGlvbiwgbGluZUNvbnRleHRzLnNpemUoKSk7CiAg
ICAgfQpAQCAtMTI0NywxMiArMTI0MywxMiBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjphbGln
bkNoaWxkcmVuKGNvbnN0IFZlY3RvcjxMaW5lQ29udGV4dD4mIGxpbmVDb250ZXh0cykKICAgICBW
ZWN0b3I8TGF5b3V0VW5pdD4gbWluTWFyZ2luQWZ0ZXJCYXNlbGluZXM7CiAKICAgICBSZW5kZXJC
b3gqIGNoaWxkID0gbV9vcmRlckl0ZXJhdG9yLmZpcnN0KCk7Ci0gICAgZm9yIChzaXplX3QgbGlu
ZU51bWJlciA9IDA7IGxpbmVOdW1iZXIgPCBsaW5lQ29udGV4dHMuc2l6ZSgpOyArK2xpbmVOdW1i
ZXIpIHsKKyAgICBmb3IgKGF1dG8mIGxpbmVDb250ZXh0IDogbGluZUNvbnRleHRzKSB7CiAgICAg
ICAgIExheW91dFVuaXQgbWluTWFyZ2luQWZ0ZXJCYXNlbGluZSA9IExheW91dFVuaXQ6Om1heCgp
OwotICAgICAgICBMYXlvdXRVbml0IGxpbmVDcm9zc0F4aXNFeHRlbnQgPSBsaW5lQ29udGV4dHNb
bGluZU51bWJlcl0uY3Jvc3NBeGlzRXh0ZW50OwotICAgICAgICBMYXlvdXRVbml0IG1heEFzY2Vu
dCA9IGxpbmVDb250ZXh0c1tsaW5lTnVtYmVyXS5tYXhBc2NlbnQ7CisgICAgICAgIExheW91dFVu
aXQgbGluZUNyb3NzQXhpc0V4dGVudCA9IGxpbmVDb250ZXh0LmNyb3NzQXhpc0V4dGVudDsKKyAg
ICAgICAgTGF5b3V0VW5pdCBtYXhBc2NlbnQgPSBsaW5lQ29udGV4dC5tYXhBc2NlbnQ7CiAKLSAg
ICAgICAgZm9yIChzaXplX3QgY2hpbGROdW1iZXIgPSAwOyBjaGlsZE51bWJlciA8IGxpbmVDb250
ZXh0c1tsaW5lTnVtYmVyXS5udW1iZXJPZkNoaWxkcmVuOyArK2NoaWxkTnVtYmVyLCBjaGlsZCA9
IG1fb3JkZXJJdGVyYXRvci5uZXh0KCkpIHsKKyAgICAgICAgZm9yIChzaXplX3QgY2hpbGROdW1i
ZXIgPSAwOyBjaGlsZE51bWJlciA8IGxpbmVDb250ZXh0Lm51bWJlck9mQ2hpbGRyZW47ICsrY2hp
bGROdW1iZXIsIGNoaWxkID0gbV9vcmRlckl0ZXJhdG9yLm5leHQoKSkgewogICAgICAgICAgICAg
QVNTRVJUKGNoaWxkKTsKICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlv
bmVkKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoc3R5bGUoKS5mbGV4V3JhcCgpID09IEZsZXhX
cmFwUmV2ZXJzZSkKQEAgLTEzODAsMTEgKzEzNzYsMTEgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJv
eDo6ZmxpcEZvcldyYXBSZXZlcnNlKGNvbnN0IFZlY3RvcjxMaW5lQ29udGV4dD4mIGxpbmVDb250
ZXgKIHsKICAgICBMYXlvdXRVbml0IGNvbnRlbnRFeHRlbnQgPSBjcm9zc0F4aXNDb250ZW50RXh0
ZW50KCk7CiAgICAgUmVuZGVyQm94KiBjaGlsZCA9IG1fb3JkZXJJdGVyYXRvci5maXJzdCgpOwot
ICAgIGZvciAoc2l6ZV90IGxpbmVOdW1iZXIgPSAwOyBsaW5lTnVtYmVyIDwgbGluZUNvbnRleHRz
LnNpemUoKTsgKytsaW5lTnVtYmVyKSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGNoaWxkTnVtYmVy
ID0gMDsgY2hpbGROdW1iZXIgPCBsaW5lQ29udGV4dHNbbGluZU51bWJlcl0ubnVtYmVyT2ZDaGls
ZHJlbjsgKytjaGlsZE51bWJlciwgY2hpbGQgPSBtX29yZGVySXRlcmF0b3IubmV4dCgpKSB7Cisg
ICAgZm9yIChhdXRvJiBsaW5lQ29udGV4dCA6IGxpbmVDb250ZXh0cykgeworICAgICAgICBmb3Ig
KHNpemVfdCBjaGlsZE51bWJlciA9IDA7IGNoaWxkTnVtYmVyIDwgbGluZUNvbnRleHQubnVtYmVy
T2ZDaGlsZHJlbjsgKytjaGlsZE51bWJlciwgY2hpbGQgPSBtX29yZGVySXRlcmF0b3IubmV4dCgp
KSB7CiAgICAgICAgICAgICBBU1NFUlQoY2hpbGQpOwotICAgICAgICAgICAgTGF5b3V0VW5pdCBs
aW5lQ3Jvc3NBeGlzRXh0ZW50ID0gbGluZUNvbnRleHRzW2xpbmVOdW1iZXJdLmNyb3NzQXhpc0V4
dGVudDsKLSAgICAgICAgICAgIExheW91dFVuaXQgb3JpZ2luYWxPZmZzZXQgPSBsaW5lQ29udGV4
dHNbbGluZU51bWJlcl0uY3Jvc3NBeGlzT2Zmc2V0IC0gY3Jvc3NBeGlzU3RhcnRFZGdlOworICAg
ICAgICAgICAgTGF5b3V0VW5pdCBsaW5lQ3Jvc3NBeGlzRXh0ZW50ID0gbGluZUNvbnRleHQuY3Jv
c3NBeGlzRXh0ZW50OworICAgICAgICAgICAgTGF5b3V0VW5pdCBvcmlnaW5hbE9mZnNldCA9IGxp
bmVDb250ZXh0LmNyb3NzQXhpc09mZnNldCAtIGNyb3NzQXhpc1N0YXJ0RWRnZTsKICAgICAgICAg
ICAgIExheW91dFVuaXQgbmV3T2Zmc2V0ID0gY29udGVudEV4dGVudCAtIG9yaWdpbmFsT2Zmc2V0
IC0gbGluZUNyb3NzQXhpc0V4dGVudDsKICAgICAgICAgICAgIGFkanVzdEFsaWdubWVudEZvckNo
aWxkKCpjaGlsZCwgbmV3T2Zmc2V0IC0gb3JpZ2luYWxPZmZzZXQpOwogICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5kZXggYzJhM2Q3
ODk4ZGI2OWViNTZhNGY1ZmJjZjI1ZDg1MWYxOTBhNzdkNy4uZGVjYzQ4N2MzYjE5MzA5YmU1ZDMz
YTcyMmZmM2MxNmNiMzJhOWNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGbG93VGhyZWFkLmNwcApAQCAtMjk5LDggKzI5OSw4IEBAIGJvb2wgUmVuZGVyRmxvd1RocmVh
ZDo6dXBkYXRlQWxsTGF5ZXJUb1JlZ2lvbk1hcHBpbmdzKCkKICAgICBSZW5kZXJMYXllckxpc3Qq
IGxpc3RzW10gPSB7IGxheWVyKCktPm5lZ1pPcmRlckxpc3QoKSwgbGF5ZXIoKS0+bm9ybWFsRmxv
d0xpc3QoKSwgbGF5ZXIoKS0+cG9zWk9yZGVyTGlzdCgpIH07CiAgICAgZm9yIChzaXplX3QgbGlz
dEluZGV4ID0gMDsgbGlzdEluZGV4IDwgc2l6ZW9mKGxpc3RzKSAvIHNpemVvZihsaXN0c1swXSk7
ICsrbGlzdEluZGV4KSB7CiAgICAgICAgIGlmIChSZW5kZXJMYXllckxpc3QqIGxpc3QgPSBsaXN0
c1tsaXN0SW5kZXhdKSB7Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMCwgbGlzdFNpemUg
PSBsaXN0LT5zaXplKCk7IGkgPCBsaXN0U2l6ZTsgKytpKQotICAgICAgICAgICAgICAgIHVwZGF0
ZUxheWVyVG9SZWdpb25NYXBwaW5ncygqbGlzdC0+YXQoaSksIGxheWVyVG9SZWdpb25NYXAsIHJl
Z2lvblRvTGF5ZXJMaXN0TWFwLCBuZWVkc0xheWVyVXBkYXRlKTsKKyAgICAgICAgICAgIGZvciAo
YXV0byYgbGF5ZXIgOiAqbGlzdCkKKyAgICAgICAgICAgICAgICB1cGRhdGVMYXllclRvUmVnaW9u
TWFwcGluZ3MoKmxheWVyLCBsYXllclRvUmVnaW9uTWFwLCByZWdpb25Ub0xheWVyTGlzdE1hcCwg
bmVlZHNMYXllclVwZGF0ZSk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlcklubGluZS5jcHAKaW5kZXggNjZmMmRjNjE4ZWJhM2UzYTkzZjQ4ZTNhN2E5
ODY3OWRmZmM4ODJjMi4uZGIwYTY5MGJkYjc2NmFjNTQ3NThhNDVhNGE1ZTZlNmVjNzMxZjFhYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKQEAgLTE3MDcsMTAg
KzE3MDcsNyBAQCB2b2lkIFJlbmRlcklubGluZTo6YWRkQW5ub3RhdGVkUmVnaW9ucyhWZWN0b3I8
QW5ub3RhdGVkUmVnaW9uVmFsdWU+JiByZWdpb25zKQogICAgICAgICByZXR1cm47CiAKICAgICBj
b25zdCBWZWN0b3I8U3R5bGVEYXNoYm9hcmRSZWdpb24+JiBzdHlsZVJlZ2lvbnMgPSBzdHlsZSgp
LmRhc2hib2FyZFJlZ2lvbnMoKTsKLSAgICB1bnNpZ25lZCBpLCBjb3VudCA9IHN0eWxlUmVnaW9u
cy5zaXplKCk7Ci0gICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKLSAgICAgICAgU3R5
bGVEYXNoYm9hcmRSZWdpb24gc3R5bGVSZWdpb24gPSBzdHlsZVJlZ2lvbnNbaV07Ci0KKyAgICBm
b3IgKGF1dG8mIHN0eWxlUmVnaW9uIDogc3R5bGVSZWdpb25zKSB7CiAgICAgICAgIExheW91dFJl
Y3QgbGluZXNCb3VuZGluZ0JveCA9IHRoaXMtPmxpbmVzQm91bmRpbmdCb3goKTsKICAgICAgICAg
TGF5b3V0VW5pdCB3ID0gbGluZXNCb3VuZGluZ0JveC53aWR0aCgpOwogICAgICAgICBMYXlvdXRV
bml0IGggPSBsaW5lc0JvdW5kaW5nQm94LmhlaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKaW5kZXggMzhmM2I0MWQ0ZjRlMDNiYzAzYzRmMDI2MDI2OGExYjJi
Y2VjNTNjMC4uNTE3NTQxNThhZTNmYTlhMjBlMjhhNzA0ZmQxZTM3ZWY0ZDA3NGUyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC03MjksMTAgKzcyOSw4IEBA
IHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2NlbmRhbnRzQXJlQ29udGlndW91c0luU3RhY2tp
bmdPcmRlcigpCiAgICAgfQogCiAgICAgaWYgKHBvc1pPcmRlckxpc3QpIHsKLSAgICAgICAgc2l6
ZV90IGxpc3RTaXplID0gcG9zWk9yZGVyTGlzdC0+c2l6ZSgpOwogICAgICAgICBpbnQgc3RhY2tp
bmdPcmRlckluZGV4ID0gMTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6
ZTsgKytpKSB7Ci0gICAgICAgICAgICBSZW5kZXJMYXllciogY3VycmVudExheWVyID0gcG9zWk9y
ZGVyTGlzdC0+YXQoaSk7CisgICAgICAgIGZvciAoYXV0byYgY3VycmVudExheWVyIDogKnBvc1pP
cmRlckxpc3QpIHsKICAgICAgICAgICAgIGlmICghY3VycmVudExheWVyLT5pc1N0YWNraW5nQ29u
dGV4dCgpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgbG9va3VwLnNl
dChjdXJyZW50TGF5ZXIsIHN0YWNraW5nT3JkZXJJbmRleCsrKTsKQEAgLTExODYsOSArMTE4NCw4
IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2NlbmRhbnREZXBlbmRlbnRGbGFncyhIYXNo
U2V0PGNvbnN0IFJlbmRlck9iamVjdCo+KiBvCiAgICAgICAgICAgICAgICAgY2hpbGRPdXRPZkZs
b3dEZXNjZW5kYW50Q29udGFpbmluZ0Jsb2Nrcy5hZGQoY2hpbGQtPnJlbmRlcmVyKCkuY29udGFp
bmluZ0Jsb2NrKCkpOwogCiAgICAgICAgICAgICBpZiAob3V0T2ZGbG93RGVzY2VuZGFudENvbnRh
aW5pbmdCbG9ja3MpIHsKLSAgICAgICAgICAgICAgICBIYXNoU2V0PGNvbnN0IFJlbmRlck9iamVj
dCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGNoaWxkT3V0T2ZGbG93RGVzY2VuZGFudENvbnRhaW5p
bmdCbG9ja3MuYmVnaW4oKTsKLSAgICAgICAgICAgICAgICBmb3IgKDsgaXQgIT0gY2hpbGRPdXRP
ZkZsb3dEZXNjZW5kYW50Q29udGFpbmluZ0Jsb2Nrcy5lbmQoKTsgKytpdCkKLSAgICAgICAgICAg
ICAgICAgICAgb3V0T2ZGbG93RGVzY2VuZGFudENvbnRhaW5pbmdCbG9ja3MtPmFkZCgqaXQpOwor
ICAgICAgICAgICAgICAgIGZvciAoYXV0byYgYmxvY2sgOiBjaGlsZE91dE9mRmxvd0Rlc2NlbmRh
bnRDb250YWluaW5nQmxvY2tzKQorICAgICAgICAgICAgICAgICAgICBvdXRPZkZsb3dEZXNjZW5k
YW50Q29udGFpbmluZ0Jsb2Nrcy0+YWRkKGJsb2NrKTsKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgaGFzVmlzaWJsZURlc2NlbmRhbnQgfD0gY2hpbGQtPm1faGFzVmlzaWJsZUNvbnRlbnQg
fHwgY2hpbGQtPm1faGFzVmlzaWJsZURlc2NlbmRhbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IGQyMmYwOGU1NDg1ZjRkY2ZjMzgx
ZmM0ODZkY2Y2MDdmOGFlMGQ0NTMuLmNmY2RjNDUwZjcyZTFiYzU1ZTMwYjIwY2VjY2NmMzU4YzIx
ZGYwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwCkBAIC0xODk4LDkgKzE4OTgsNyBAQCBzdGF0aWMgYm9vbCBkZXNjZW5kYW50TGF5ZXJQ
YWludHNJbnRvQW5jZXN0b3IoUmVuZGVyTGF5ZXImIHBhcmVudCkKICNlbmRpZgogCiAgICAgaWYg
KFZlY3RvcjxSZW5kZXJMYXllcio+KiBub3JtYWxGbG93TGlzdCA9IHBhcmVudC5ub3JtYWxGbG93
TGlzdCgpKSB7Ci0gICAgICAgIHNpemVfdCBsaXN0U2l6ZSA9IG5vcm1hbEZsb3dMaXN0LT5zaXpl
KCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdFNpemU7ICsraSkgewotICAg
ICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1ckxheWVyID0gbm9ybWFsRmxvd0xpc3QtPmF0KGkpOwor
ICAgICAgICBmb3IgKGF1dG8mIGN1ckxheWVyIDogKm5vcm1hbEZsb3dMaXN0KSB7CiAgICAgICAg
ICAgICBpZiAoIWNvbXBvc2l0ZWRXaXRoT3duQmFja2luZ1N0b3JlKGN1ckxheWVyKQogICAgICAg
ICAgICAgICAgICYmIChjdXJMYXllci0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgZGVzY2VuZGFu
dExheWVyUGFpbnRzSW50b0FuY2VzdG9yKCpjdXJMYXllcikpKQogICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwpAQCAtMTkxMyw5ICsxOTExLDcgQEAgc3RhdGljIGJvb2wgZGVzY2VuZGFudExh
eWVyUGFpbnRzSW50b0FuY2VzdG9yKFJlbmRlckxheWVyJiBwYXJlbnQpCiAKICAgICAgICAgLy8g
VXNlIHRoZSBtX2hhc0NvbXBvc2l0aW5nRGVzY2VuZGFudCBiaXQgdG8gb3B0aW1pemU/CiAgICAg
ICAgIGlmIChWZWN0b3I8UmVuZGVyTGF5ZXIqPiogbmVnWk9yZGVyTGlzdCA9IHBhcmVudC5uZWda
T3JkZXJMaXN0KCkpIHsKLSAgICAgICAgICAgIHNpemVfdCBsaXN0U2l6ZSA9IG5lZ1pPcmRlckxp
c3QtPnNpemUoKTsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdFNpemU7
ICsraSkgewotICAgICAgICAgICAgICAgIFJlbmRlckxheWVyKiBjdXJMYXllciA9IG5lZ1pPcmRl
ckxpc3QtPmF0KGkpOworICAgICAgICAgICAgZm9yIChhdXRvJiBjdXJMYXllciA6ICpuZWdaT3Jk
ZXJMaXN0KSB7CiAgICAgICAgICAgICAgICAgaWYgKCFjb21wb3NpdGVkV2l0aE93bkJhY2tpbmdT
dG9yZShjdXJMYXllcikKICAgICAgICAgICAgICAgICAgICAgJiYgKGN1ckxheWVyLT5pc1Zpc3Vh
bGx5Tm9uRW1wdHkoKSB8fCBkZXNjZW5kYW50TGF5ZXJQYWludHNJbnRvQW5jZXN0b3IoKmN1ckxh
eWVyKSkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTkyMyw5ICsxOTE5
LDcgQEAgc3RhdGljIGJvb2wgZGVzY2VuZGFudExheWVyUGFpbnRzSW50b0FuY2VzdG9yKFJlbmRl
ckxheWVyJiBwYXJlbnQpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxh
eWVyKj4qIHBvc1pPcmRlckxpc3QgPSBwYXJlbnQucG9zWk9yZGVyTGlzdCgpKSB7Ci0gICAgICAg
ICAgICBzaXplX3QgbGlzdFNpemUgPSBwb3NaT3JkZXJMaXN0LT5zaXplKCk7Ci0gICAgICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3RTaXplOyArK2kpIHsKLSAgICAgICAgICAgICAg
ICBSZW5kZXJMYXllciogY3VyTGF5ZXIgPSBwb3NaT3JkZXJMaXN0LT5hdChpKTsKKyAgICAgICAg
ICAgIGZvciAoYXV0byYgY3VyTGF5ZXIgOiAqcG9zWk9yZGVyTGlzdCkgewogICAgICAgICAgICAg
ICAgIGlmICghY29tcG9zaXRlZFdpdGhPd25CYWNraW5nU3RvcmUoY3VyTGF5ZXIpCiAgICAgICAg
ICAgICAgICAgICAgICYmIChjdXJMYXllci0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgZGVzY2Vu
ZGFudExheWVyUGFpbnRzSW50b0FuY2VzdG9yKCpjdXJMYXllcikpKQogICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI1MDIsOSArMjQ5Niw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJC
YWNraW5nOjpzdGFydEFuaW1hdGlvbihkb3VibGUgdGltZU9mZnNldCwgY29uc3QgQW5pbWF0aW9u
KiBhbmltCiAgICAgS2V5ZnJhbWVWYWx1ZUxpc3QgYmFja2Ryb3BGaWx0ZXJWZWN0b3IoQW5pbWF0
ZWRQcm9wZXJ0eVdlYmtpdEJhY2tkcm9wRmlsdGVyKTsKICNlbmRpZgogCi0gICAgc2l6ZV90IG51
bUtleWZyYW1lcyA9IGtleWZyYW1lcy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBudW1LZXlmcmFtZXM7ICsraSkgewotICAgICAgICBjb25zdCBLZXlmcmFtZVZhbHVlJiBjdXJy
ZW50S2V5ZnJhbWUgPSBrZXlmcmFtZXNbaV07CisgICAgZm9yIChhdXRvJiBjdXJyZW50S2V5ZnJh
bWUgOiBrZXlmcmFtZXMua2V5ZnJhbWVzKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVyU3R5bGUq
IGtleWZyYW1lU3R5bGUgPSBjdXJyZW50S2V5ZnJhbWUuc3R5bGUoKTsKICAgICAgICAgZG91Ymxl
IGtleSA9IGN1cnJlbnRLZXlmcmFtZS5rZXkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAKaW5kZXggZTFjZmNhNTY0ZGI5YjM0YjU5MWM3NDIy
NTVkMzZmOTlkN2RhZDEyNS4uYzA3OTkyMTIzYTgzOTYyNDUyMWYwZGExODllODY3OTMxN2YzN2Vi
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3Bw
CkBAIC0yNjcsMTEgKzI2Nyw4IEBAIHZvaWQgUmVuZGVyTGluZUJveExpc3Q6OnBhaW50KFJlbmRl
ckJveE1vZGVsT2JqZWN0KiByZW5kZXJlciwgUGFpbnRJbmZvJiBwYWludEluCiAgICAgfQogCiAg
ICAgaWYgKGluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZU91dGxpbmUgfHwgaW5mby5waGFzZSA9PSBQ
YWludFBoYXNlU2VsZk91dGxpbmUgfHwgaW5mby5waGFzZSA9PSBQYWludFBoYXNlQ2hpbGRPdXRs
aW5lcykgewotICAgICAgICBMaXN0SGFzaFNldDxSZW5kZXJJbmxpbmUqPjo6aXRlcmF0b3IgZW5k
ID0gaW5mby5vdXRsaW5lT2JqZWN0cy0+ZW5kKCk7Ci0gICAgICAgIGZvciAoTGlzdEhhc2hTZXQ8
UmVuZGVySW5saW5lKj46Oml0ZXJhdG9yIGl0ID0gaW5mby5vdXRsaW5lT2JqZWN0cy0+YmVnaW4o
KTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICBSZW5kZXJJbmxpbmUqIGZsb3cgPSAq
aXQ7CisgICAgICAgIGZvciAoYXV0byYgZmxvdyA6ICppbmZvLm91dGxpbmVPYmplY3RzKQogICAg
ICAgICAgICAgZmxvdy0+cGFpbnRPdXRsaW5lKGluZm8sIHBhaW50T2Zmc2V0KTsKLSAgICAgICAg
fQogICAgICAgICBpbmZvLm91dGxpbmVPYmplY3RzLT5jbGVhcigpOwogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAppbmRleCA5MTZjMmRlN2ViNTdj
ZjVhNzFjZmY4NTQ0NDg4ZGIzNWMxMTkzNzYzLi40YjBjZmE2M2VmZmIyOWMxNjc1OWQ3ZDEzM2Yz
NWJhZTM2NzdjZmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3gu
Y3BwCkBAIC0xMDcsMTIgKzEwNyw4IEBAIEhUTUxTZWxlY3RFbGVtZW50JiBSZW5kZXJMaXN0Qm94
OjpzZWxlY3RFbGVtZW50KCkgY29uc3QKIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVs
ZW1lbnQoKQogewogICAgIGlmIChtX29wdGlvbnNDaGFuZ2VkKSB7Ci0gICAgICAgIGNvbnN0IFZl
Y3RvcjxIVE1MRWxlbWVudCo+JiBsaXN0SXRlbXMgPSBzZWxlY3RFbGVtZW50KCkubGlzdEl0ZW1z
KCk7Ci0gICAgICAgIGludCBzaXplID0gbnVtSXRlbXMoKTsKLSAgICAgICAgCiAgICAgICAgIGZs
b2F0IHdpZHRoID0gMDsKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsK
LSAgICAgICAgICAgIEhUTUxFbGVtZW50KiBlbGVtZW50ID0gbGlzdEl0ZW1zW2ldOworICAgICAg
ICBmb3IgKGF1dG8mIGVsZW1lbnQgOiBzZWxlY3RFbGVtZW50KCkubGlzdEl0ZW1zKCkpIHsKICAg
ICAgICAgICAgIFN0cmluZyB0ZXh0OwogICAgICAgICAgICAgRm9udENhc2NhZGUgaXRlbUZvbnQg
PSBzdHlsZSgpLmZvbnRDYXNjYWRlKCk7CiAgICAgICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVs
ZW1lbnQ+KCplbGVtZW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxp
c3QuY3BwCmluZGV4IGZmOWEyYzU4NmJiZDliZTk5Yzc3NTVlMjIyZTAwMzg2NDZjMTc0ZDYuLmEy
OTk4OWVjZTRmZTI5OTFkNTkwYTRmMTQ5ODBiNDU5MTE4MDg1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtNTgsMTIgKzU4LDkgQEAgdXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKICNpZiBQTEFURk9STShJT1MpCiBzdGF0aWMgc2l6ZV90IHNl
bGVjdGVkT3B0aW9uQ291bnQoY29uc3QgUmVuZGVyTWVudUxpc3QmIHJlbmRlck1lbnVMaXN0KQog
ewotICAgIGNvbnN0IFZlY3RvcjxIVE1MRWxlbWVudCo+JiBsaXN0SXRlbXMgPSByZW5kZXJNZW51
TGlzdC5zZWxlY3RFbGVtZW50KCkubGlzdEl0ZW1zKCk7Ci0gICAgc2l6ZV90IG51bWJlck9mSXRl
bXMgPSBsaXN0SXRlbXMuc2l6ZSgpOwotCiAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IG51bWJlck9mSXRlbXM7ICsraSkgewotICAgICAgICBpZiAoaXM8
SFRNTE9wdGlvbkVsZW1lbnQ+KCpsaXN0SXRlbXNbaV0pICYmIGRvd25jYXN0PEhUTUxPcHRpb25F
bGVtZW50PigqbGlzdEl0ZW1zW2ldKS5zZWxlY3RlZCgpKQorICAgIGZvciAoYXV0byYgZWxlbWVu
dCA6IHJlbmRlck1lbnVMaXN0LnNlbGVjdEVsZW1lbnQoKS5saXN0SXRlbXMoKSkgeworICAgICAg
ICBpZiAoaXM8SFRNTE9wdGlvbkVsZW1lbnQ+KCplbGVtZW50KSAmJiBkb3duY2FzdDxIVE1MT3B0
aW9uRWxlbWVudD4oKmVsZW1lbnQpLnNlbGVjdGVkKCkpCiAgICAgICAgICAgICArK2NvdW50Owog
ICAgIH0KICAgICByZXR1cm4gY291bnQ7CkBAIC0yMDYsMTEgKzIwMyw3IEBAIHZvaWQgUmVuZGVy
TWVudUxpc3Q6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5k
ZXJTdHlsZSogb2xkCiB2b2lkIFJlbmRlck1lbnVMaXN0Ojp1cGRhdGVPcHRpb25zV2lkdGgoKQog
ewogICAgIGZsb2F0IG1heE9wdGlvbldpZHRoID0gMDsKLSAgICBjb25zdCBWZWN0b3I8SFRNTEVs
ZW1lbnQqPiYgbGlzdEl0ZW1zID0gc2VsZWN0RWxlbWVudCgpLmxpc3RJdGVtcygpOwotICAgIGlu
dCBzaXplID0gbGlzdEl0ZW1zLnNpemUoKTsgICAgCi0KLSAgICBmb3IgKGludCBpID0gMDsgaSA8
IHNpemU7ICsraSkgewotICAgICAgICBIVE1MRWxlbWVudCogZWxlbWVudCA9IGxpc3RJdGVtc1tp
XTsKKyAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiBzZWxlY3RFbGVtZW50KCkubGlzdEl0ZW1zKCkp
IHsKICAgICAgICAgaWYgKCFpczxIVE1MT3B0aW9uRWxlbWVudD4oKmVsZW1lbnQpKQogICAgICAg
ICAgICAgY29udGludWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNdWx0aUNvbHVtblNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TXVsdGlDb2x1bW5TZXQuY3BwCmluZGV4IDgyMWU0Yjk4ZmEyM2YyYzIzZmNlYWJiMDQ0ZTM1OWU1
NjczMzY3MWUuLjkxZDI5OWFkZGMzZjliNzNlYzZmZTcxMzI5YzlhMDg5ZTc2YTA1ZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcApA
QCAtMTk4LDggKzE5OCw4IEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmRpc3RyaWJ1dGVJ
bXBsaWNpdEJyZWFrcygpCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIC8vIFRoZXJlIHNob3VsZCBi
ZSBubyBpbXBsaWNpdCBicmVha3MgYXNzdW1lZCBhdCB0aGlzIHBvaW50LgotICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBmb3JjZWRCcmVha3NDb3VudCgpOyBpKyspCi0gICAgICAgIEFTU0VS
VCghbV9jb250ZW50UnVuc1tpXS5hc3N1bWVkSW1wbGljaXRCcmVha3MoKSk7CisgICAgZm9yIChh
dXRvJiBmb3JjZWRCcmVhayA6IG1fY29udGVudFJ1bnMpCisgICAgICAgIEFTU0VSVCghZm9yY2Vk
QnJlYWsuYXNzdW1lZEltcGxpY2l0QnJlYWtzKCkpOwogI2VuZGlmIC8vIE5ERUJVRwogCiAgICAg
Ly8gSW5zZXJ0IGEgZmluYWwgY29udGVudCBydW4gdG8gZW5jb21wYXNzIGFsbCBjb250ZW50LiBU
aGlzIHdpbGwgaW5jbHVkZSBvdmVyZmxvdyBpZiB0aGlzIGlzCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>254627</attachid>
            <date>2015-06-09 21:34:57 -0700</date>
            <delta_ts>2015-06-09 21:34:57 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews100 for mac-mavericks</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>430750</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
xIKu6nOHKNVRAKbA0mKU/ADJB5BkbWYAigIFLi4AUEsDBAoAAAAAAC2ryUYAAAAAAAAAAAAAAAAb
ABwAY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vVVQJAAM2vHdVgrx3VXV4CwABBPUBAAAEUAAA
AFBLAwQUAAIACAAtq8lGNx68KpAAAAD6AAAAQgAcAGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9u
L25vLWNvbXBvc2l0aW5nLWZvci1zdGlja3ktY3Jhc2gtbG9nLnR4dFVUCQADNrx3VTa8d1V1eAsA
AQT1AQAABFAAAAC1zrEOgjAQgOHdp7iNCduimMgsTkSTRidjSGlPaIIcuSsxvr28hOu/fH9t7dVW
cHZxxACJgNEFyNRdkEV1SxxDR0k1sWPHX9VQL+oUXT+RpOgtzsRpLct7tjgF5BsjtoU2Za4PuT7m
Zl/sStPiR4zWW89OhqyCR808ERRPuBDI4gd4rT4QQ4iMPhF/qz9PbH5QSwMECgAAAAAALqvJRgAA
AAAAAAAAAAAAABQAHABjb21wb3NpdGluZy9yZXBhaW50L1VUCQADN7x3VYK8d1V1eAsAAQT1AQAA
BFAAAABQSwMEFAACAAgAVKvJRg1vng01PQAAqv8AADcAHABjb21wb3NpdGluZy9yZXBhaW50L2Nv
bnRlbnQtaW50by1vdmVyZmxvdy1jcmFzaC1sb2cudHh0VVQJAAN/vHdVFrx3VXV4CwABBPUBAAAE
UAAAAOxda3OrNrf+fPgVfHrH6S6OLoAkT09nMJc2b3M7cbLbOZ2OB4NIOLWNCzg7+fdnCXwBG+8d
9+109tTxB8dBYq1nLa2bkCzf5lkki2Kgr1/ecra4k/NY5ve5lPqvVCBu/abdhuXTthO8zj9m0+VM
Fucfby4frvzzb87bd2oXsZyXaZLKfNBFWfso8yLN5luiSHOzWOr3rwu5vvgLtw3b1HvXYZk+yzNA
kQNR/XYD+va1fMrmNUrzN+1OFotsXqST6YpE8aT/igX/TXsoZK5feFtuFsKa5oWlPL9PZxuGBGHL
QLaBhE7wgJgDLPrMIrqBGELazUhvo74KIx0u/qJj1Bd9S+9hGlDzDHAssrxsdMZYc+bZ/HWWLQv9
4aECgqjpMhEEhiABNWybC8MeYm4w4nGfWogHHtU0zc3D4knG+v1TLsNY3QeqTItFWEZP+h9LuQTw
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
H4RxFNhlrLssknedEB73mAT1IkfSGWo94TlHoUZBVYM+Li7Sn9uyl9f388O17s3jly+wFb8H2sLk
7m59+WUyX1xOv13ebz4vHi6/PtxjeCGI6M3k4dOiFDvdfF6udy++L3PaTNZ//H57//D71+X8+8ve
AdZfxP8+gz83i+8vyfDherEp4S3b5/XAT3VP/r3u4R+DWcEKlPEQ3gd2Tms8pgnj/7sxL367vkR3
xHB9P0Crn1d33y4RZgTf3N9e7rEQvr/8eL+Z3P3AuL4i15cPi/VyvlhtfsBcM3X9Stj/+u5y/U8s
AzH//f5x8zvQ9rgqUGYw4vwHlC3i+pWk//XdxV8flhvEUoVOkIB91/SKv778J7zcLFY/MHmlr18x
6HU/FAdloH80GOgH8vYVgUfVYNDRK2tgqMuLD+n1m59/uvz43+/T5Ymf3958+Pire3fxw+HnVNPt
64vw+hIrH+NeW2+AL65bjcHKVm+x6bIUGD73s2+6LlgT/f+xPtFWM2iKWEkraFY+1KleQaF5exG3
ILEgH5D39Bk3476Fga96MXAtnf2BXvuiyW9+Pt+QSqD1x5vLH998vPzUZyPD7Gb38/FyUFYIaDd9
BQsMgmcx/w6bgtWPO3D7s3t1CRt6Mp9j1ftLmC+6lgZb4ruLt6Xg5aXDJ5c/r2anvod5e3Ht3r37
OZyfGKOgIl/vmr6azL8sV9+dbM1hFW5+eQem3eVXXLaCadnuV8I+uPnowtvL17+6D/E0BVjI9fri
ZgPb8PKJHyauzDWc+N8Lte5jOvPBFE7rr4spOrmuy/qdnhQc/Iv/WXy8i2OII2EHGIGUevo6ursS
UGtqBIyC+HgfTz9vVxdgWsANLM0hpoa4RoQQSIbADo0FSGmon6ezvwt+J5iCMk0uuIBRAJ2pgVul
uSkosKBZNjc1F7R7GG+mIaGECfEPcfQhFLGgG+LcIUp1FIApsLQYJT9A8gEkWZtZgEJAgYsLAFBL
AwQUAAIACABUq8lGk5250EM9AACdAAEANwAcAGNvbXBvc2l0aW5nL3JlcGFpbnQvb3ZlcmZsb3ct
aW50by1jb250ZW50LWNyYXNoLWxvZy50eHRVVAkAA3+8d1U3vHdVdXgLAAEE9QEAAARQAAAA7F1b
c6PGtn4+/AqedsmZIPcN6FblpApxSbzj27HsSeqkUioEjc2JJBRAHvvfn9WgC0hoxspOpaYi60GW
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
vo7urgTUmhoBoyA+3sfTz9vVBZgWcANLc4ipIa4RIQRiC9ihsQApDfXzdPZ3we8EUxNg8s4FFzAK
oDM1cKs0MwKFKzTL5qbmgnYP4800JJQwIf4hjj6EIlbBUM/MHaJURwGYAkuLUfIDJB9ASgILM1AI
KHBxAQBQSwMECgAAAAAASqvJRgAAAAAAAAAAAAAAAAUAHABjc3MxL1VUCQADbLx3VYK8d1V1eAsA
AQT1AQAABFAAAABQSwMECgAAAAAASqvJRgAAAAAAAAAAAAAAABQAHABjc3MxL2JveF9wcm9wZXJ0
aWVzL1VUCQADbLx3VYK8d1V1eAsAAQT1AQAABFAAAABQSwMECgACAAAASqvJRhUAsUUtAAAALQAA
ACsAHABjc3MxL2JveF9wcm9wZXJ0aWVzL2FjaWRfdGVzdC1jcmFzaC1sb2cudHh0VVQJAANsvHdV
bLx3VXV4CwABBPUBAAAEUAAAAE5vIGNyYXNoIGxvZyBmb3VuZCBmb3IgRHVtcFJlbmRlclRyZWU6
MzkxMTguClBLAwQKAAAAAABKq8lGAAAAAAAAAAAAAAAAFgAcAGNzczEvZm9ybWF0dGluZ19tb2Rl
bC9VVAkAA2y8d1WCvHdVdXgLAAEE9QEAAARQAAAAUEsDBAoAAgAAAEqryUaoPNxfLQAAAC0AAAA1
ABwAY3NzMS9mb3JtYXR0aW5nX21vZGVsL2Zsb2F0aW5nX2VsZW1lbnRzLWNyYXNoLWxvZy50eHRV
VAkAA2y8d1VsvHdVdXgLAAEE9QEAAARQAAAATm8gY3Jhc2ggbG9nIGZvdW5kIGZvciBEdW1wUmVu
ZGVyVHJlZTozOTEyNS4KUEsDBAoAAAAAAEqryUYAAAAAAAAAAAAAAAAHABwAY3NzMi4xL1VUCQAD
bLx3VYK8d1V1eAsAAQT1AQAABFAAAABQSwMECgAAAAAAQKvJRgAAAAAAAAAAAAAAABAAHABjc3My
LjEvMjAxMTAzMjMvVVQJAANYvHdVgrx3VXV4CwABBPUBAAAEUAAAAFBLAwQUAAIACABAq8lGTORP
oJAAAAD6AAAAOwAcAGNzczIuMS8yMDExMDMyMy9ibG9jay1ub24tcmVwbGFjZWQtaGVpZ2h0LTAx
MS1jcmFzaC1sb2cudHh0VVQJAANYvHdVWLx3VXV4CwABBPUBAAAEUAAAALXOsQ6CMBCA4d2nuI0J
26KYyCxORJNGJ2NIaU9oghy5KzG+vbyE6798f23t1VZwdnHEAImA0QXI1F2QRXVLHENHSTWxY8df
1VAv6hRdP5Gk6C3OxGkty3u2OAXkGyO2hTZlrg+5PuZmX5Rm1+JHjNZbz06GrIJHzTwRFE+4EMji
B3itPhBDiIw+EX+rP09sflBLAwQKAAIAAABKq8lGLSqTWi0AAAAtAAAALAAcAGNzczIuMS90MDkt
YzU1MjZjLWRpc3BsYXktMDAtZS1jcmFzaC1sb2cudHh0VVQJAANsvHdVbLx3VXV4CwABBPUBAAAE
UAAAAE5vIGNyYXNoIGxvZyBmb3VuZCBmb3IgRHVtcFJlbmRlclRyZWU6MzkxMjIuClBLAwQKAAAA
AABMq8lGAAAAAAAAAAAAAAAABQAcAGNzczMvVVQJAANwvHdVgrx3VXV4CwABBPUBAAAEUAAAAFBL
AwQKAAAAAABLq8lGAAAAAAAAAAAAAAAADgAcAGNzczMvYmxlbmRpbmcvVVQJAANuvHdVgrx3VXV4
CwABBPUBAAAEUAAAAFBLAwQKAAIAAABLq8lGmJnvUS0AAAAtAAAAPQAcAGNzczMvYmxlbmRpbmcv
YmFja2dyb3VuZC1ibGVuZC1tb2RlLWdpZi1jb2xvci0yLWNyYXNoLWxvZy50eHRVVAkAA268d1Vu
vHdVdXgLAAEE9QEAAARQAAAATm8gY3Jhc2ggbG9nIGZvdW5kIGZvciBEdW1wUmVuZGVyVHJlZToz
OTA3My4KUEsDBAoAAAAAAC2ryUYAAAAAAAAAAAAAAAANABwAY3NzMy9mbGV4Ym94L1VUCQADNrx3
VYK8d1V1eAsAAQT1AQAABFAAAABQSwMECgAAAAAAUavJRgAAAAAAAAAAAAAAABMAHABjc3MzL2Zs
ZXhib3gvY3Nzd2cvVVQJAAN6vHdVgrx3VXV4CwABBPUBAAAEUAAAAFBLAwQUAAIACABRq8lGIVTG
25AAAAD6AAAAMwAcAGNzczMvZmxleGJveC9jc3N3Zy9jc3MtZmxleGJveC1jb2x1bW4tY3Jhc2gt
bG9nLnR4dFVUCQADerx3VXq8d1V1eAsAAQT1AQAABFAAAAC1zrEOgjAQgOHdp7iNCdsSJZFZnIgm
jU7GkNKe0AQ5cldieHt5Cdd/+f7a2put4OLiiAESAaMLkKmHIIvqljiGjpJqYseOV9VQL+ocXT+R
pOgtzsRpK8tntjgF5DsjtoU2x1yXuT7l5lCU2rT4FaP13rOTIavgWTNPBMULrgSy+AHemw/EECKj
T8Rr9eeJ3Q9QSwMECgAAAAAAPavJRgAAAAAAAAAAAAAAAB4AHABjc3MzL2ZsZXhib3gvY3Nzd2cv
ZmxleC1saW5lcy9VVAkAA1a8d1WCvHdVdXgLAAEE9QEAAARQAAAAUEsDBBQAAgAIAC2ryUYX+Qlc
kQAAAPoAAABPABwAY3NzMy9mbGV4Ym94L2Nzc3dnL2ZsZXgtbGluZXMvbXVsdGktbGluZS13cmFw
LXJldmVyc2Utcm93LXJldmVyc2UtY3Jhc2gtbG9nLnR4dFVUCQADNbx3VTW8d1V1eAsAAQT1AQAA
BFAAAAC1zrEOgjAQgOHdp7iNCVsQNTKLE9Gk0ckYUtoTmiBH7koMby8v4fov318ZczMlXGwY0EMk
YLQeEvUQZFHtHAbfUlR1aNnyomrqRJ2D7UaSGJzBiTiuZf5MBkePfGfEJtfZPtWHVJ/SrMh3xbHB
r2Rabx1b6ZMSnhXzSJC/4Eogs+vhvfpADD4wuki8lH+e2PwAUEsDBBQAAgAIAFSryUZZXRTa2zwA
AHz5AABMABwAY3NzMy9mbGV4Ym94L2Nzc3dnL2ZsZXgtbGluZXMvbXVsdGktbGluZS13cmFwLXdp
dGgtcm93LXJldmVyc2UtY3Jhc2gtbG9nLnR4dFVUCQADf7x3VVa8d1V1eAsAAQT1AQAABFAAAADs
XVtzq8ayfj78Cp52yVlBngswgyonVYhL4h3fjmWvpE4qpeIy2JxIoA3Il39/ekAXkNBaVnZqVyqy
H7xkZuj+uqe755sBzbot8kiU5Uhd/7jL+eJOZLEo7gsh1F+phU38m3IbVE/bTvBz/jmfLeeiPP98
c/lw5Z1/c969U7mIRValSSqKUZ9k5bMoyjTPtkKR4uSxUO/fFmJ98RduaqauDq6DKn0WZ4CiAKHq
7Qb07Vv1lGc1SoR+U+5EucizMg1nKxHlk/ortvhvykMpCvXC3WozEFYUN6jE+X063ygkCBsaMjVk
qQSPiDEi5pBSU9UQQ0i5mahd1FdBpMLFX1SMhtbQUAeY+lQ/AxyLvKhanTFW7CzP3ub5slQfHmog
iOoOs3xfs4hPNdPklmaOMdcYcblHDcR9lyqK4hRB+SRi9f6pEEEs7wNXpuUiqKIn9V9LsQTwUT4f
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
AAAAAAAAAAAZABwAY3NzMy9mbGV4Ym94L2Nzc3dnL29yZGVyL1VUCQADbrx3VYK8d1V1eAsAAQT1
AQAABFAAAABQSwMECgACAAAAS6vJRnpKk/ctAAAALQAAAD0AHABjc3MzL2ZsZXhib3gvY3Nzd2cv
b3JkZXIvb3JkZXItd2l0aC1yb3ctcmV2ZXJzZS1jcmFzaC1sb2cudHh0VVQJAANuvHdVbrx3VXV4
CwABBPUBAAAEUAAAAE5vIGNyYXNoIGxvZyBmb3VuZCBmb3IgRHVtcFJlbmRlclRyZWU6MzkxMDYu
ClBLAwQUAAIACAAtq8lGNx68KpAAAAD6AAAAPwAcAGNzczMvZmxleGJveC9mbGV4Ym94LWlnbm9y
ZS1jb250YWluZXItZmlyc3RMZXR0ZXItY3Jhc2gtbG9nLnR4dFVUCQADNrx3VTa8d1V1eAsAAQT1
AQAABFAAAAC1zrEOgjAQgOHdp7iNCduimMgsTkSTRidjSGlPaIIcuSsxvr28hOu/fH9t7dVWcHZx
xACJgNEFyNRdkEV1SxxDR0k1sWPHX9VQL+oUXT+RpOgtzsRpLct7tjgF5BsjtoU2Za4PuT7mZl/s
StPiR4zWW89OhqyCR808ERRPuBDI4gd4rT4QQ4iMPhF/qz9PbH5QSwMECgAAAAAATKvJRgAAAAAA
AAAAAAAAABEAHABjc3MzL3Njcm9sbC1zbmFwL1VUCQADcLx3VYK8d1V1eAsAAQT1AQAABFAAAABQ
SwMECgACAAAATKvJRkaTaU0tAAAALQAAAD0AHABjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LWRlc2luYXRpb24tbG9jay11cC1jcmFzaC1sb2cudHh0VVQJAANwvHdVcLx3VXV4CwABBPUBAAAE
UAAAAE5vIGNyYXNoIGxvZyBmb3VuZCBmb3IgRHVtcFJlbmRlclRyZWU6MzkxMTUuClBLAwQKAAAA
AABPq8lGAAAAAAAAAAAAAAAADAAcAGNzczMvc2hhcGVzL1VUCQADdrx3VYK8d1V1eAsAAQT1AQAA
BFAAAABQSwMECgAAAAAAQKvJRgAAAAAAAAAAAAAAABoAHABjc3MzL3NoYXBlcy9zaGFwZS1vdXRz
aWRlL1VUCQADV7x3VYK8d1V1eAsAAQT1AQAABFAAAABQSwMECgAAAAAAQKvJRgAAAAAAAAAAAAAA
ACsAHABjc3MzL3NoYXBlcy9zaGFwZS1vdXRzaWRlL3N1cHBvcnRlZC1zaGFwZXMvVVQJAANXvHdV
grx3VXV4CwABBPUBAAAEUAAAAFBLAwQKAAAAAABSq8lGAAAAAAAAAAAAAAAAMgAcAGNzczMvc2hh
cGVzL3NoYXBlLW91dHNpZGUvc3VwcG9ydGVkLXNoYXBlcy9jaXJjbGUvVVQJAAN7vHdVgrx3VXV4
CwABBPUBAAAEUAAAAFBLAwQUAAIACABUq8lGnr1t4m4/AAC9BgEAWAAcAGNzczMvc2hhcGVzL3No
YXBlLW91dHNpZGUvc3VwcG9ydGVkLXNoYXBlcy9jaXJjbGUvc2hhcGUtb3V0c2lkZS1jaXJjbGUt
MDMwLWNyYXNoLWxvZy50eHRVVAkAA3+8d1VXvHdVdXgLAAEE9QEAAARQAAAA7F1bc5vItn4+/Aqe
dslJsPsGNKqc7EJIynji27HsZOpMTam4NDY7EmgAOfb+9Wd1owvo4oTs1JzUyHqQZbpZ61ur162b
Bq7yLBRF0dWXn/58OrsWaSTym1wI/XfqIAv/oV355f26E3xOPmaT+VQUJx8vz27PByevTppnaqeR
SMskTkTe3UVZ+yjyIsnSNVGkeVkk9JunmVge/I1bhsX0zoVfJg/iCFDkQFS/WoG+eirvs7RCif7Q
rkUxy9IiCSYLEsW9/jt2+B/abSFy/bS/5mYirGl9vxQnN8l0xZAgbBrIMpCjE9wlrGuSY4Rs3UA2
QtrlSG+iPvdDHQ7+pmN07BybegfTIWVHgGOW5WWtM8aam2bp0zSbF/rtrQKCKPNsZzg0HDKkhmVx
x7B6mBs26fMBNREf9qmmaV7uF/ci0m/uc+FH8jxQZVLM/DK81/+cizmAD7PpsT+bTcTx1E9So1Rd
NW3wGIpZCQiWSh385o17bn/set5gNNI7o9P3o8H7j0e1nnIMQLMfBtcX49OLj+7ZKXTv969lf7/U
0SNqfDDXtI/n+rW4g5ML/UL4OfTBvKsZxjtdk0oaj28Gv93om58lAWQxG8MPo3Yg4PBD/x3Gg7MP
f+i58XiSf3nUR+f/7V1+2mF7muaC9EnoKxFGMxGC4YX6aRpn+VQd7GretTv65fTivX4zGN2AyoqC
nhT3/gzIqD9GNi+LJBInxXwmR09ExqI5TPJwIpq9jOqggSg6vi+nE02rxgdGZzFg3e43DhOMZ63l
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
CQADHrl3VYK8d1V1eAsAAQT1AQAABFAAAABQSwMEFAACAAgAh6nJRrT9sNY9AQAAlgMAACQAHABm
YXN0L3RleHQvZm9udC13ZWlnaHRzLXpoLXN0ZGVyci50eHRVVAkAAx65d1UeuXdVdXgLAAEE9QEA
AARQAAAA5ZG9bsIwFIXn5imuWFgS5Dg4IVEbqYBQuzA02RCDk9jUKnGQ41S0KO9eG+iPVKR2rFRv
9/j46PM9GPnEQ6GHYsB+4uPED0bxOIZ5V+8emKyYyhVjq4DgcZgQFK1h1iiWs71O4F4+062oYEjr
Rg0h6wpNiy0zOkhaM7iBLM8audHCy2bedEvLJxda8Wpv/HCEjseFmmol9kZDezNVrC2V2OlGGeV6
li8aqecfWmJMEY8xrQLCOUXpgWrzuug0a4/+xZS2oryj7eOnM/QJRbCyM+cRQRRxhNbpQb/sLErd
nbArUWoXyqaT2gK6DpMm2uamzhWGxKZnRpEbOEfhCtFgcim6NNTmuWUaLDP7h6XZyO0766A/wX6J
M6RFFJjV/xT3baeD3umdtHfwpSon0Z+vkpOYsfg3VVonZ/+gyjdQSwMECgAAAAAAhqnJRgAAAAAA
AAAAAAAAAAkAHABmYXN0L3hzbC9VVAkAAxu5d1WCvHdVdXgLAAEE9QEAAARQAAAAUEsDBBQAAgAI
AIWpyUZy/WXyhQAAAOkAAAAlABwAZmFzdC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4
dFVUCQADGrl3VRq5d1V1eAsAAQT1AQAABFAAAACtTjEOwkAM2/uKfKBkYLsZJthAdE7bVJyUu1S5
nNT+noN+gcWybMv2pGmNQh41A5upBVii8A8CIr5UauKCF3LC6/DAgcdbdLzTrtWfXLzgQsVxK4LG
RatNLb69rZ91OjUVJGaGM7Bw4uwQ06rmXXPCQSFAzTS2UVcQpflP4/1Rz/P3RfcBUEsDBBQAAgAI
AIWpyUaJHyH+lwAAAMADAAAnABwAZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIu
dHh0VVQJAAMauXdVGrl3VXV4CwABBPUBAAAEUAAAAO2PMQ7CMAxF957CFyge2DLDBBuIzm7qikhO
XCWOVG5PoEdgQ10s29/++s9rXIKQBU3AOWt2MAfhb3GI+FCpkQueyAjPww0HHi/B8EovrXbnYgVn
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
VAkAAzS5d1WCvHdVdXgLAAEE9QEAAARQAAAAUEsDBAoAAAAAAJKpyUYAAAAAAAAAAAAAAAAqABwA
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQJAAM0uXdVgrx3VXV4
CwABBPUBAAAEUAAAAFBLAwQUAAIACACSqclGY6qsbIIAAACoAAAAQAAcAGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAkAAzS5
d1U0uXdVdXgLAAEE9QEAAARQAAAALY1BCsMwDATveYVeEDu9pPgVhb4guBtiUCwjKaX+fU0pe1qG
2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/++0O45B4UJpdmWDDvjPljTFwq
aCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBLAwQUAAIACACSqclGY6qsbIIA
AACoAAAAUgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11
bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0ZGVyci50eHRVVAkAAzS5d1U0uXdVdXgLAAEE9QEA
AARQAAAALY1BCsMwDATveYVeEDu9pPgVhb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ
4d5SCMttnePIku4xxmDIlxbvIUt1VH/++0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB+DRoekNt
XCeSyp2WOdKOza8xRJuC7GpN1PGavlBLAwQUAAIACACQqclGYEtmEJEAAAD7AQAARQAcAGh0dHAv
dGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3Rk
ZXJyLnR4dFVUCQADL7l3VS+5d1V1eAsAAQT1AQAABFAAAADtjjEOgzAMRXdO4QuEBJZWmWHo0p4B
BVMimSSynQpuXzr0Bh2rv76v90LeSqRJY06AzJk9LJEQVtXire36S+vOdf7qnLOCoXLUw+4iZhjv
t3Ewu5CZc6gbJjVf4MHxGVO7bwQUE0IPSPghQPQglBVRm/PpX8hyuj3kRAd0rYMFJ62MAhMjSC0l
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
tJZcmjd78g2kp6RGIeGoXt92ufWTXk/yEit824ZDKfwjsxQ/b78KVX28VOu62iC/tkvHvhWD1QrZ
Mivw/HgBX0aXjnw7UMszyv5f9mhT04nT1IkNPv7R13XLU2hSHrJowjn9NkuH/wJQSwMEFAACAAgA
tqnJRg1/+IScAQAA/gIAACgAHABtZWRpYS90cmFjay90cmFjay1pbi1iYW5kLXN0eWxlLWRpZmYu
dHh0VVQJAAN4uXdVeLl3VXV4CwABBPUBAAAEUAAAALVRXWvbMBR996+4b7Fry166FbZBIVvswuhI
R+O1e5WtW1tEkYx1tTb/vtdOFujD2NNASAide74khIDiwZmwR1+UkmRRPW6LR2xuNZ2Or0EbVdyj
QemxMPLgAglCT2JEHwz5Yo9Ky4JG2e6Ou9BWNNIq4elgUODLgC2hyumFojRN/7+ibClIM+utViCW
2XtIl9kHWK2i9ObLt++fodbMAUwMz1KTth08uRGsI/10KJ1FIAcNQiuNQRVBBDXrA/WSYJaY3vkN
2oAetAc5DEYzY+vGkcOaQx5B9VBt6riVduAM1I8udH0yG/qYLS8h/XR0BNWvH9W6rkqItZ1C1FOi
ZW6k7YLsEK6vYYF2kcDd7V/BO23VDGzlQNpZf4Lf/9y8Be6dYkZY+N49c+xFEomTz571kK/TyG+t
0OWT7zg5IzziDlXCbYiLi2MhbeC4djq5K2fc6Bl8dtghrd1+CPz326m0mGGl9hNtZXDPg0k+T83O
x66JL6+uMvizJccM/yDccKAkbzhcxw1btX5D+C6DaZ2pNiXc3UBdbetIRK9QSwMEFAACAAgAtqnJ
Rgz65Oo2AQAAMwIAACwAHABtZWRpYS90cmFjay90cmFjay1pbi1iYW5kLXN0eWxlLWV4cGVjdGVk
LnR4dFVUCQADeLl3VXi5d1V1eAsAAQT1AQAABFAAAAB9UUFqwzAQvOsVe7MVUpMUcszJcS8FpzRu
KZQeZGuRRBTJWOu2+X0lB0MaSkFIMDs7mp1lDQYC0oIg0NkikAdhLXQjBjABRN9bgxI6PwzYkT0X
rHqt6ibvhOutOJMe/Kg0Z2yxgFJjdwTjDBlh43vXCieBBhHRQIIwsOeXOjcu4U2C17CFTyPRF4Tf
NEHhffXBWfX2VJVNtYP8tlxYdIo0bLeQrTMO+8cr8rV0YYVTo1A4UdH9yz2a6DTxOtGT8S5c2Ld2
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
VVQJAANSuXdVgrx3VXV4CwABBPUBAAAEUAAAAFBLAwQUAAIACACjqclGO9mFFX4AAACNAAAAJQAc
AHN2Zy9zdHJva2UvemVyby13aWR0aC1oYW5nLXN0ZGVyci50eHRVVAkAA1K5d1VSuXdVdXgLAAEE
9QEAAARQAAAADci7CsJAEAXQ3q+4P2DIAxUXsUlEECu1E4vRXEhgd1YmG19fb8pzDqMCa5SFKyqX
L8H3UOR55uNDPJoxPE/UlnYx8lotymp1w2ZnFm3rUO/rqImfdGY69spGhs6h15f4vkU7CWImXwdJ
8JQhISpBz0BNCOMUd0Kjzn+0mM3+UEsBAh4DFAACAAgAuqnJRo1Co19e7gAA4LcKAA4AGAAAAAAA
AQAAAKSBAAAAAGFjY2Vzc19sb2cudHh0VVQFAAN/uXdVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAA
AAAAQqvJRgAAAAAAAAAAAAAAAA4AGAAAAAAAAAAQAO1Bpu4AAGFjY2Vzc2liaWxpdHkvVVQFAANb
vHdVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAQqvJRmMhIZOQAAAA+gAAADoAGAAAAAAAAQAA
AKSB7u4AAGFjY2Vzc2liaWxpdHkvZGltZW5zaW9ucy1pbmNsdWRlLWRlc2NlbmRhbnRzLWNyYXNo
LWxvZy50eHRVVAUAA1u8d1V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAAtq8lGAAAAAAAAAAAA
AAAADAAYAAAAAAAAABAA7UHy7wAAY29tcG9zaXRpbmcvVVQFAAM2vHdVdXgLAAEE9QEAAARQAAAA
UEsBAh4DCgAAAAAAT6vJRgAAAAAAAAAAAAAAABgAGAAAAAAAAAAQAO1BOPAAAGNvbXBvc2l0aW5n
L2JhY2tncm91bmRzL1VUBQADdbx3VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAFSryUY6ZbsT
Fj4AAK3oAABEABgAAAAAAAEAAACkgYrwAABjb21wb3NpdGluZy9iYWNrZ3JvdW5kcy9maXhlZC1i
YWNrZ3JvdW5kLW9uLWRlc2NlbmRhbnQtY3Jhc2gtbG9nLnR4dFVUBQADf7x3VXV4CwABBPUBAAAE
UAAAAFBLAQIeAxQAAgAIAFSryUZNvODCEj4AAIXoAAA3ABgAAAAAAAEAAACkgR4vAQBjb21wb3Np
dGluZy9iYWNrZ3JvdW5kcy9maXhlZC1iYWNrZ3JvdW5kcy1jcmFzaC1sb2cudHh0VVQFAAN/vHdV
dXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAGqvJRgAAAAAAAAAAAAAAABwAGAAAAAAAAAAQAO1B
oW0BAGNvbXBvc2l0aW5nL2NvbnRlbnRzLW9wYXF1ZS9VVAUAAxO8d1V1eAsAAQT1AQAABFAAAABQ
SwECHgMUAAIACABUq8lGcC5YFG4/AABVAQEAOwAYAAAAAAABAAAApIH3bQEAY29tcG9zaXRpbmcv
Y29udGVudHMtb3BhcXVlL3Zpc2liaWxpdHktaGlkZGVuLWNyYXNoLWxvZy50eHRVVAUAA3+8d1V1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABUq8lGB//EZhs8AADu9AAAMgAYAAAAAAABAAAApIHa
rQEAY29tcG9zaXRpbmcvZGlyZWN0LWltYWdlLWNvbXBvc2l0aW5nLWNyYXNoLWxvZy50eHRVVAUA
A3+8d1V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAAbq8lGAAAAAAAAAAAAAAAAFAAYAAAAAAAA
ABAA7UFh6gEAY29tcG9zaXRpbmcvaWZyYW1lcy9VVAUAAxW8d1V1eAsAAQT1AQAABFAAAABQSwEC
HgMUAAIACABUq8lGKW+IbSs9AADV+AAAOgAYAAAAAAABAAAApIGv6gEAY29tcG9zaXRpbmcvaWZy
YW1lcy9iZWNvbWUtb3ZlcmxhcHBlZC1pZnJhbWUtY3Jhc2gtbG9nLnR4dFVUBQADf7x3VXV4CwAB
BPUBAAAEUAAAAFBLAQIeAwoAAAAAAC2ryUYAAAAAAAAAAAAAAAAbABgAAAAAAAAAEADtQU4oAgBj
b21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9VVAUAAza8d1V1eAsAAQT1AQAABFAAAABQSwECHgMU
AAIACAAtq8lGNx68KpAAAAD6AAAAQgAYAAAAAAABAAAApIGjKAIAY29tcG9zaXRpbmcvbGF5ZXIt
Y3JlYXRpb24vbm8tY29tcG9zaXRpbmctZm9yLXN0aWNreS1jcmFzaC1sb2cudHh0VVQFAAM2vHdV
dXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAALqvJRgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1B
rykCAGNvbXBvc2l0aW5nL3JlcGFpbnQvVVQFAAM3vHdVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgAVKvJRg1vng01PQAAqv8AADcAGAAAAAAAAQAAAKSB/SkCAGNvbXBvc2l0aW5nL3JlcGFpbnQv
Y29udGVudC1pbnRvLW92ZXJmbG93LWNyYXNoLWxvZy50eHRVVAUAA3+8d1V1eAsAAQT1AQAABFAA
AABQSwECHgMUAAIACABUq8lGk5250EM9AACdAAEANwAYAAAAAAABAAAApIGjZwIAY29tcG9zaXRp
bmcvcmVwYWludC9vdmVyZmxvdy1pbnRvLWNvbnRlbnQtY3Jhc2gtbG9nLnR4dFVUBQADf7x3VXV4
CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAEqryUYAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQVel
AgBjc3MxL1VUBQADbLx3VXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAEqryUYAAAAAAAAAAAAA
AAAUABgAAAAAAAAAEADtQZalAgBjc3MxL2JveF9wcm9wZXJ0aWVzL1VUBQADbLx3VXV4CwABBPUB
AAAEUAAAAFBLAQIeAwoAAgAAAEqryUYVALFFLQAAAC0AAAArABgAAAAAAAEAAACkgeSlAgBjc3Mx
L2JveF9wcm9wZXJ0aWVzL2FjaWRfdGVzdC1jcmFzaC1sb2cudHh0VVQFAANsvHdVdXgLAAEE9QEA
AARQAAAAUEsBAh4DCgAAAAAASqvJRgAAAAAAAAAAAAAAABYAGAAAAAAAAAAQAO1BdqYCAGNzczEv
Zm9ybWF0dGluZ19tb2RlbC9VVAUAA2y8d1V1eAsAAQT1AQAABFAAAABQSwECHgMKAAIAAABKq8lG
qDzcXy0AAAAtAAAANQAYAAAAAAABAAAApIHGpgIAY3NzMS9mb3JtYXR0aW5nX21vZGVsL2Zsb2F0
aW5nX2VsZW1lbnRzLWNyYXNoLWxvZy50eHRVVAUAA2y8d1V1eAsAAQT1AQAABFAAAABQSwECHgMK
AAAAAABKq8lGAAAAAAAAAAAAAAAABwAYAAAAAAAAABAA7UFipwIAY3NzMi4xL1VUBQADbLx3VXV4
CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAECryUYAAAAAAAAAAAAAAAAQABgAAAAAAAAAEADtQaOn
AgBjc3MyLjEvMjAxMTAzMjMvVVQFAANYvHdVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAQKvJ
RkzkT6CQAAAA+gAAADsAGAAAAAAAAQAAAKSB7acCAGNzczIuMS8yMDExMDMyMy9ibG9jay1ub24t
cmVwbGFjZWQtaGVpZ2h0LTAxMS1jcmFzaC1sb2cudHh0VVQFAANYvHdVdXgLAAEE9QEAAARQAAAA
UEsBAh4DCgACAAAASqvJRi0qk1otAAAALQAAACwAGAAAAAAAAQAAAKSB8qgCAGNzczIuMS90MDkt
YzU1MjZjLWRpc3BsYXktMDAtZS1jcmFzaC1sb2cudHh0VVQFAANsvHdVdXgLAAEE9QEAAARQAAAA
UEsBAh4DCgAAAAAATKvJRgAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BhakCAGNzczMvVVQFAANw
vHdVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAS6vJRgAAAAAAAAAAAAAAAA4AGAAAAAAAAAAQ
AO1BxKkCAGNzczMvYmxlbmRpbmcvVVQFAANuvHdVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgACAAAA
S6vJRpiZ71EtAAAALQAAAD0AGAAAAAAAAQAAAKSBDKoCAGNzczMvYmxlbmRpbmcvYmFja2dyb3Vu
ZC1ibGVuZC1tb2RlLWdpZi1jb2xvci0yLWNyYXNoLWxvZy50eHRVVAUAA268d1V1eAsAAQT1AQAA
BFAAAABQSwECHgMKAAAAAAAtq8lGAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UGwqgIAY3NzMy9m
bGV4Ym94L1VUBQADNrx3VXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAFGryUYAAAAAAAAAAAAA
AAATABgAAAAAAAAAEADtQfeqAgBjc3MzL2ZsZXhib3gvY3Nzd2cvVVQFAAN6vHdVdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgAUavJRiFUxtuQAAAA+gAAADMAGAAAAAAAAQAAAKSBRKsCAGNzczMv
ZmxleGJveC9jc3N3Zy9jc3MtZmxleGJveC1jb2x1bW4tY3Jhc2gtbG9nLnR4dFVUBQADerx3VXV4
CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAD2ryUYAAAAAAAAAAAAAAAAeABgAAAAAAAAAEADtQUGs
AgBjc3MzL2ZsZXhib3gvY3Nzd2cvZmxleC1saW5lcy9VVAUAA1a8d1V1eAsAAQT1AQAABFAAAABQ
SwECHgMUAAIACAAtq8lGF/kJXJEAAAD6AAAATwAYAAAAAAABAAAApIGZrAIAY3NzMy9mbGV4Ym94
L2Nzc3dnL2ZsZXgtbGluZXMvbXVsdGktbGluZS13cmFwLXJldmVyc2Utcm93LXJldmVyc2UtY3Jh
c2gtbG9nLnR4dFVUBQADNbx3VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAFSryUZZXRTa2zwA
AHz5AABMABgAAAAAAAEAAACkgbOtAgBjc3MzL2ZsZXhib3gvY3Nzd2cvZmxleC1saW5lcy9tdWx0
aS1saW5lLXdyYXAtd2l0aC1yb3ctcmV2ZXJzZS1jcmFzaC1sb2cudHh0VVQFAAN/vHdVdXgLAAEE
9QEAAARQAAAAUEsBAh4DFAACAAgALavJRhf5CVyRAAAA+gAAAC8AGAAAAAAAAQAAAKSBFOsCAGNz
czMvZmxleGJveC9jc3N3Zy9GbGV4aWJsZS1vcmRlci1jcmFzaC1sb2cudHh0VVQFAAM1vHdVdXgL
AAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAS6vJRgAAAAAAAAAAAAAAABkAGAAAAAAAAAAQAO1BDuwC
AGNzczMvZmxleGJveC9jc3N3Zy9vcmRlci9VVAUAA268d1V1eAsAAQT1AQAABFAAAABQSwECHgMK
AAIAAABLq8lGekqT9y0AAAAtAAAAPQAYAAAAAAABAAAApIFh7AIAY3NzMy9mbGV4Ym94L2Nzc3dn
L29yZGVyL29yZGVyLXdpdGgtcm93LXJldmVyc2UtY3Jhc2gtbG9nLnR4dFVUBQADbrx3VXV4CwAB
BPUBAAAEUAAAAFBLAQIeAxQAAgAIAC2ryUY3HrwqkAAAAPoAAAA/ABgAAAAAAAEAAACkgQXtAgBj
c3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtY29udGFpbmVyLWZpcnN0TGV0dGVyLWNyYXNoLWxv
Zy50eHRVVAUAAza8d1V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAABMq8lGAAAAAAAAAAAAAAAA
EQAYAAAAAAAAABAA7UEO7gIAY3NzMy9zY3JvbGwtc25hcC9VVAUAA3C8d1V1eAsAAQT1AQAABFAA
AABQSwECHgMKAAIAAABMq8lGRpNpTS0AAAAtAAAAPQAYAAAAAAABAAAApIFZ7gIAY3NzMy9zY3Jv
bGwtc25hcC9zY3JvbGwtc25hcC1kZXNpbmF0aW9uLWxvY2stdXAtY3Jhc2gtbG9nLnR4dFVUBQAD
cLx3VXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAE+ryUYAAAAAAAAAAAAAAAAMABgAAAAAAAAA
EADtQf3uAgBjc3MzL3NoYXBlcy9VVAUAA3a8d1V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAABA
q8lGAAAAAAAAAAAAAAAAGgAYAAAAAAAAABAA7UFD7wIAY3NzMy9zaGFwZXMvc2hhcGUtb3V0c2lk
ZS9VVAUAA1e8d1V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAABAq8lGAAAAAAAAAAAAAAAAKwAY
AAAAAAAAABAA7UGX7wIAY3NzMy9zaGFwZXMvc2hhcGUtb3V0c2lkZS9zdXBwb3J0ZWQtc2hhcGVz
L1VUBQADV7x3VXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAFKryUYAAAAAAAAAAAAAAAAyABgA
AAAAAAAAEADtQfzvAgBjc3MzL3NoYXBlcy9zaGFwZS1vdXRzaWRlL3N1cHBvcnRlZC1zaGFwZXMv
Y2lyY2xlL1VUBQADe7x3VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAFSryUaevW3ibj8AAL0G
AQBYABgAAAAAAAEAAACkgWjwAgBjc3MzL3NoYXBlcy9zaGFwZS1vdXRzaWRlL3N1cHBvcnRlZC1z
aGFwZXMvY2lyY2xlL3NoYXBlLW91dHNpZGUtY2lyY2xlLTAzMC1jcmFzaC1sb2cudHh0VVQFAAN/
vHdVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAUqvJRmjCaCOKPgAAoe4AAFgAGAAAAAAAAQAA
AKSBaDADAGNzczMvc2hhcGVzL3NoYXBlLW91dHNpZGUvc3VwcG9ydGVkLXNoYXBlcy9jaXJjbGUv
c2hhcGUtb3V0c2lkZS1jaXJjbGUtMDMxLWNyYXNoLWxvZy50eHRVVAUAA3u8d1V1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACAA9q8lGrVAOk48AAAD6AAAAOgAYAAAAAAABAAAApIGEbwMAY3NzMy9z
aGFwZXMvc2hhcGUtb3V0c2lkZS1pbnZhbGlkLWNpcmNsZS0wMDAtY3Jhc2gtbG9nLnR4dFVUBQAD
Vrx3VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAFSryUZU6qJSdzsAAKzfAAA6ABgAAAAAAAEA
AACkgYdwAwBjc3MzL3NoYXBlcy9zaGFwZS1vdXRzaWRlLWludmFsaWQtY2lyY2xlLTAwMS1jcmFz
aC1sb2cudHh0VVQFAAN/vHdVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAUavJRgAAAAAAAAAA
AAAAABoAGAAAAAAAAAAQAO1BcqwDAGNzczMvc2hhcGVzL3NwZWMtZXhhbXBsZXMvVVQFAAN6vHdV
dXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAVKvJRlG8VW8YRAAAGykBADkAGAAAAAAAAQAAAKSB
xqwDAGNzczMvc2hhcGVzL3NwZWMtZXhhbXBsZXMvc2hhcGUtb3V0c2lkZS0wMTAtY3Jhc2gtbG9n
LnR4dFVUBQADf7x3VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAFSryUaGDm3wfT4AADvuAAA5
ABgAAAAAAAEAAACkgVHxAwBjc3MzL3NoYXBlcy9zcGVjLWV4YW1wbGVzL3NoYXBlLW91dHNpZGUt
MDExLWNyYXNoLWxvZy50eHRVVAUAA3+8d1V1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABUq8lG
Ptb6+XM+AABJ7QAAOQAYAAAAAAABAAAApIFBMAQAY3NzMy9zaGFwZXMvc3BlYy1leGFtcGxlcy9z
aGFwZS1vdXRzaWRlLTAxMi1jcmFzaC1sb2cudHh0VVQFAAN/vHdVdXgLAAEE9QEAAARQAAAAUEsB
Ah4DCgAAAAAAQKvJRgAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1BJ28EAGVkaXRpbmcvVVQFAANY
vHdVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAUqvJRgAAAAAAAAAAAAAAABIAGAAAAAAAAAAQ
AO1BaW8EAGVkaXRpbmcvaW5zZXJ0aW5nL1VUBQADe7x3VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIAFSryUZKDzQ0ykIAAFAZAQAlABgAAAAAAAEAAACkgbVvBABlZGl0aW5nL2luc2VydGluZy8x
Mjg4Mi1jcmFzaC1sb2cudHh0VVQFAAN/vHdVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAVKvJ
RoSPHb5xPwAAu/gAACkAGAAAAAAAAQAAAKSB3rIEAGVkaXRpbmcvaW5zZXJ0aW5nLzQ4NzUxODkt
Mi1jcmFzaC1sb2cudHh0VVQFAAN/vHdVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAQKvJRgAA
AAAAAAAAAAAAABMAGAAAAAAAAAAQAO1BsvIEAGVkaXRpbmcvcGFzdGVib2FyZC9VVAUAA1i8d1V1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABAq8lGTORPoJAAAAD6AAAAMQAYAAAAAAABAAAApIH/
8gQAZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktcGFzdGUtZmxvYXQtY3Jhc2gtbG9nLnR4dFVUBQAD
WLx3VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAFKryUbKWS5OiBAAAAvJAAANABgAAAAAAAEA
AACkgfrzBABlcnJvcl9sb2cudHh0VVQFAAN7vHdVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAA
h6nJRgAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1ByQQFAGZhc3QvVVQFAAMeuXdVdXgLAAEE9QEA
AARQAAAAUEsBAh4DCgAAAAAAg6nJRgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BCAUFAGZhc3Qv
aW1hZ2VzL1VUBQADFbl3VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAIOpyUYhj704MgAAADMA
AAAsABgAAAAAAAEAAACkgU4FBQBmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2UtY3JvcC1ib3gtc3Rk
ZXJyLnR4dFVUBQADFbl3VXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAIepyUYAAAAAAAAAAAAA
AAAKABgAAAAAAAAAEADtQeYFBQBmYXN0L3RleHQvVVQFAAMeuXdVdXgLAAEE9QEAAARQAAAAUEsB
Ah4DFAACAAgAh6nJRrT9sNY9AQAAlgMAACQAGAAAAAAAAQAAAKSBKgYFAGZhc3QvdGV4dC9mb250
LXdlaWdodHMtemgtc3RkZXJyLnR4dFVUBQADHrl3VXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAA
AIapyUYAAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQcUHBQBmYXN0L3hzbC9VVAUAAxu5d1V1eAsA
AQT1AQAABFAAAABQSwECHgMUAAIACACFqclGcv1l8oUAAADpAAAAJQAYAAAAAAABAAAApIEICAUA
ZmFzdC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUBQADGrl3VXV4CwABBPUBAAAE
UAAAAFBLAQIeAxQAAgAIAIWpyUaJHyH+lwAAAMADAAAnABgAAAAAAAEAAACkgewIBQBmYXN0L3hz
bC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAUAAxq5d1V1eAsAAQT1AQAABFAAAABQ
SwECHgMUAAIACACFqclGz49mDlAAAACgAAAAJAAYAAAAAAABAAAApIHkCQUAZmFzdC94c2wveHNs
dC1jb250ZW50VHlwZS1zdGRlcnIudHh0VVQFAAMauXdVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgAhqnJRoFKd61LAAAArAAAADQAGAAAAAAAAQAAAKSBkgoFAGZhc3QveHNsL3hzbHQtdHJhbnNm
b3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAUAAxu5d1V1eAsAAQT1AQAABFAAAABQ
SwECHgMUAAIACABUq8lGz/fMmUsDAADdDQAAEQAYAAAAAAABAAAApIFLCwUAZnVsbF9yZXN1bHRz
Lmpzb25VVAUAA3+8d1V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAACQqclGAAAAAAAAAAAAAAAA
BQAYAAAAAAAAABAA7UHhDgUAaHR0cC9VVAUAAy+5d1V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAA
AACcqclGAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UEgDwUAaHR0cC90ZXN0cy9VVAUAA0e5d1V1
eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAACcqclGAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UFl
DwUAaHR0cC90ZXN0cy9taXNjL1VUBQADR7l3VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAJyp
yUYVNTWSegAAALwAAAAqABgAAAAAAAEAAACkga8PBQBodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQt
aW1wb3J0LXN0ZGVyci50eHRVVAUAA0e5d1V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAACSqclG
AAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UGNEAUAaHR0cC90ZXN0cy9zZWN1cml0eS9VVAUAAzS5
d1V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAACSqclGAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA
7UHbEAUAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQFAAM0uXdV
dXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAkqnJRmOqrGyCAAAAqAAAAEAAGAAAAAAAAQAAAKSB
PxEFAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2Vk
LXN0ZGVyci50eHRVVAUAAzS5d1V1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACACSqclGY6qsbIIA
AACoAAAAUgAYAAAAAAABAAAApIE7EgUAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUBQADNLl3
VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAJCpyUZgS2YQkQAAAPsBAABFABgAAAAAAAEAAACk
gUkTBQBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNsLWRvY3VtZW50LXNlY3VyaXR5
T3JpZ2luLXN0ZGVyci50eHRVVAUAAy+5d1V1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAHq8lG
6op8QmEFAAAFDwAACgAYAAAAAAABAAAApIFZFAUAaHR0cGQuY29uZlVUBQAD7rt3VXV4CwABBPUB
AAAEUAAAAFBLAQIeAwoAAAAAALapyUYAAAAAAAAAAAAAAAAGABgAAAAAAAAAEADtQf4ZBQBtZWRp
YS9VVAUAA3i5d1V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAC2qclGAAAAAAAAAAAAAAAADAAY
AAAAAAAAABAA7UE+GgUAbWVkaWEvdHJhY2svVVQFAAN4uXdVdXgLAAEE9QEAAARQAAAAUEsBAh4D
FAACAAgAtqnJRmmU0Y3wAAAAdwEAACoAGAAAAAAAAQAAAKSBhBoFAG1lZGlhL3RyYWNrL3RyYWNr
LWluLWJhbmQtc3R5bGUtYWN0dWFsLnR4dFVUBQADeLl3VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIALapyUYNf/iEnAEAAP4CAAAoABgAAAAAAAEAAACkgdgbBQBtZWRpYS90cmFjay90cmFjay1p
bi1iYW5kLXN0eWxlLWRpZmYudHh0VVQFAAN4uXdVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
tqnJRgz65Oo2AQAAMwIAACwAGAAAAAAAAQAAAKSB1h0FAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJh
bmQtc3R5bGUtZXhwZWN0ZWQudHh0VVQFAAN4uXdVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
tqnJRgZw1+XSCAAA1yIAADAAGAAAAAAAAQAAAKSBch8FAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJh
bmQtc3R5bGUtcHJldHR5LWRpZmYuaHRtbFVUBQADeLl3VXV4CwABBPUBAAAEUAAAAFBLAQIeAwoA
AAAAAAiryUYAAAAAAAAAAAAAAAArABgAAAAAAAAAAACkga4oBQBweXdlYnNvY2tldC53cy5sb2ct
MDlKdW4yMDE1LTIxMjQxNS1lcnIudHh0VVQFAAPvu3dVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAA
AAAACKvJRgAAAAAAAAAAAAAAACsAGAAAAAAAAAAAAKSBEykFAHB5d2Vic29ja2V0LndzLmxvZy0w
OUp1bjIwMTUtMjEyNDE1LW91dC50eHRVVAUAA++7d1V1eAsAAQT1AQAABFAAAABQSwECHgMUAAIA
CABUq8lGd0xIEqUmAADcpAAADAAYAAAAAAABAAAApIF4KQUAcmVzdWx0cy5odG1sVVQFAAOAvHdV
dXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAwKnJRgAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1B
Y1AFAHJldHJpZXMvVVQFAAOIuXdVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAVKvJRjCu8IgA
GQEABFIHAAoAGAAAAAAAAQAAAKSBpVAFAHN0YXRzLmpzb25VVAUAA3+8d1V1eAsAAQT1AQAABFAA
AABQSwECHgMKAAAAAACjqclGAAAAAAAAAAAAAAAABAAYAAAAAAAAABAA7UHpaQYAc3ZnL1VUBQAD
Url3VXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAKOpyUYAAAAAAAAAAAAAAAALABgAAAAAAAAA
EADtQSdqBgBzdmcvc3Ryb2tlL1VUBQADUrl3VXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAKOp
yUY72YUVfgAAAI0AAAAlABgAAAAAAAEAAACkgWxqBgBzdmcvc3Ryb2tlL3plcm8td2lkdGgtaGFu
Zy1zdGRlcnIudHh0VVQFAANSuXdVdXgLAAEE9QEAAARQAAAAUEsFBgAAAABfAF8APycAAElrBgAA
AA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254628</attachid>
            <date>2015-06-09 21:35:25 -0700</date>
            <delta_ts>2015-06-12 02:51:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145831-20150610133457.patch</filename>
            <type>text/plain</type>
            <size>86056</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTJkZDhlOTc0NjU5M2Zl
OWE0MTc4NTQ3MTE1NjhlMTRmNTMxMzU1MS4uYmIwNTM2MzlhYmVmNDdkMGE2OTAyNjQ3MGMwMDUx
ZWMzNDQ2NGVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDE1LTA2LTA5ICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2UgbW9kZXJu
IGZvci1sb29wcyBpbiBXZWJDb3JlL3JlbmRlcmluZyAtIDEKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTgzMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlz
IG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHJlbmRlcmluZy9BdXRvVGFibGVMYXlv
dXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXV0b1RhYmxlTGF5b3V0Ojpjb21wdXRlSW50cmlu
c2ljTG9naWNhbFdpZHRocyk6CisgICAgICAgIChXZWJDb3JlOjpBdXRvVGFibGVMYXlvdXQ6OmNh
bGNFZmZlY3RpdmVMb2dpY2FsV2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9GaWx0ZXJFZmZl
Y3RSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6
YnVpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXI6OmNsZWFySW50
ZXJtZWRpYXRlUmVzdWx0cyk6CisgICAgICAgICogcmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRl
cmVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL0Zsb2F0aW5nT2JqZWN0cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6OmNsZWFyTGluZUJveFRyZWVQb2ludGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6Om1vdmVBbGxUb0Zsb2F0SW5mb01hcCk6
CisgICAgICAgIChXZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6OmNvbXB1dGVQbGFjZWRGbG9hdHNU
cmVlKToKKyAgICAgICAgKiByZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rmxvd1RocmVhZENvbnRyb2xsZXI6OmNvbGxlY3RGaXhlZFBvc2l0aW9u
ZWRMYXllcnMpOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFwcGVuZCk6CisgICAgICAgICogcmVuZGVyaW5n
L0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VRdWFs
aXR5Q29udHJvbGxlcjo6aGlnaFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZCk6CisgICAgICAgICog
cmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4
dEJveDo6cGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyZW1vdmVCbG9ja0Zyb21EZXNjZW5kYW50QW5kQ29udGFpbmVyTWFwcyk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tUG9zaXRpb25l
ZE9iamVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmRpcnR5Rm9yTGF5b3V0
RnJvbVBlcmNlbnRhZ2VIZWlnaHREZXNjZW5kYW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9jazo6c2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjptYXJrUG9zaXRpb25lZE9iamVjdHNGb3JMYXlvdXQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhaW50Q29udGludWF0aW9uT3V0bGluZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6Y2xpcE91dFBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpyZW1vdmVGcm9tVHJhY2tlZFJlbmRlcmVyTWFwcyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6cmVtb3ZlUG9zaXRpb25lZE9iamVjdHMpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNoZWNrUG9zaXRpb25lZE9iamVjdHNOZWVkTGF5b3V0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrRmxvdzo6cmVidWlsZEZsb2F0aW5nT2JqZWN0U2V0RnJvbUludHJ1ZGlu
Z0Zsb2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnN0eWxlRGlkQ2hh
bmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bW92ZUZsb2F0c1RvKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YWRkT3ZlcmZsb3dGcm9tRmxvYXRz
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6cmVwYWludE92ZXJoYW5naW5n
RmxvYXRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6cGFpbnRGbG9hdHMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpjbGlwT3V0RmxvYXRpbmdPYmpl
Y3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bG93ZXN0RmxvYXRMb2dp
Y2FsQm90dG9tKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bG93ZXN0SW5p
dGlhbExldHRlckxvZ2ljYWxCb3R0b20pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tG
bG93OjphZGRPdmVyaGFuZ2luZ0Zsb2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
a0Zsb3c6OmFkZEludHJ1ZGluZ0Zsb2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
a0Zsb3c6Om1hcmtTaWJsaW5nc1dpdGhGbG9hdHNGb3JMYXlvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2tGbG93OjphZGp1c3RGb3JCb3JkZXJGaXQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0TG9n
aWNhbFdpZHRoRm9yVGV4dFJ1bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6
OmxheW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrRmxvdzo6bGlua1RvRW5kTGluZUlmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6cmVwYWludERpcnR5RmxvYXRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6bGF5b3V0TGluZUJveGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrRmxvdzo6Y2hlY2tGbG9hdHNJbkNsZWFuTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9ja0Zsb3c6OmRldGVybWluZVN0YXJ0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2tGbG93OjpjaGVja1BhZ2luYXRpb25BbmRGbG9hdHNBdEVuZExpbmUpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckNvdW50ZXI6OmRlc3Ryb3lDb3VudGVyTm9kZXMpOgorICAgICAgICAoV2ViQ29yZTo6dXBk
YXRlQ291bnRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQ291bnRlcjo6cmVuZGVyZXJT
dHlsZUNoYW5nZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6YXV0b01hcmdpbk9mZnNldElu
TWFpbkF4aXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmZyZWV6ZVZp
b2xhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVG
bGV4aWJsZUxlbmd0aHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6Om51
bWJlck9mSW5GbG93UG9zaXRpb25lZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94OjpsYXlvdXRDb2x1bW5SZXZlcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckZsZXhpYmxlQm94OjphbGlnbkZsZXhMaW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJGbGV4aWJsZUJveDo6YWxpZ25DaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
bGV4aWJsZUJveDo6ZmxpcEZvcldyYXBSZXZlcnNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjp1
cGRhdGVBbGxMYXllclRvUmVnaW9uTWFwcGluZ3MpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjphZGRBbm5vdGF0
ZWRSZWdpb25zKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2NlbmRhbnRzQXJlQ29udGlndW91c0lu
U3RhY2tpbmdPcmRlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlRGVz
Y2VuZGFudERlcGVuZGVudEZsYWdzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlc2NlbmRhbnRMYXllclBhaW50c0ludG9B
bmNlc3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnN0YXJ0QW5p
bWF0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJveExpc3Q6OnBhaW50KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGlzdEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94
Ojp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNlbGVjdGVkT3B0aW9uQ291bnQpOgorICAgICAgICAo
UmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRp
Q29sdW1uU2V0OjpkaXN0cmlidXRlSW1wbGljaXRCcmVha3MpOgorCiAyMDE1LTA2LTA4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwgcmVuZGVyaW5n
OiBDbGlwLXBhdGggZG9lcyBub3Qgd29yayBwcm9wZXJseSBvbiBzdWJwaXhlbCBwb3NpdGlvbnMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwCmluZGV4IDFh
ZWFkZWQ1YTkzMzM4NWRiNzM5YjVjMDZmM2QyNTcyN2JhZjZmY2QuLmNkNDE4ZWJjNTQ2MWFmYmM3
MTQ3YjRhOGQ1NDI5MDBmZWYxY2U0ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9BdXRvVGFibGVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9B
dXRvVGFibGVMYXlvdXQuY3BwCkBAIC0yMjYsMTcgKzIyNiwxNyBAQCB2b2lkIEF1dG9UYWJsZUxh
eW91dDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluV2lkdGgs
IExheW91dAogICAgIGNvbnN0IGZsb2F0IGVwc2lsb24gPSAxIC8gMTI4LjBmOwogCiAgICAgZmxv
YXQgcmVtYWluaW5nUGVyY2VudCA9IDEwMDsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1f
bGF5b3V0U3RydWN0LnNpemUoKTsgKytpKSB7Ci0gICAgICAgIG1pbldpZHRoICs9IG1fbGF5b3V0
U3RydWN0W2ldLmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aDsKLSAgICAgICAgbWF4V2lkdGggKz0g
bV9sYXlvdXRTdHJ1Y3RbaV0uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoOworICAgIGZvciAoYXV0
byYgbGF5b3V0IDogbV9sYXlvdXRTdHJ1Y3QpIHsKKyAgICAgICAgbWluV2lkdGggKz0gbGF5b3V0
LmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aDsKKyAgICAgICAgbWF4V2lkdGggKz0gbGF5b3V0LmVm
ZmVjdGl2ZU1heExvZ2ljYWxXaWR0aDsKICAgICAgICAgaWYgKHNjYWxlQ29sdW1ucykgewotICAg
ICAgICAgICAgaWYgKG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2ZUxvZ2ljYWxXaWR0aC5pc1Bl
cmNlbnQoKSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHBlcmNlbnQgPSBzdGQ6Om1pbihtX2xh
eW91dFN0cnVjdFtpXS5lZmZlY3RpdmVMb2dpY2FsV2lkdGgucGVyY2VudCgpLCByZW1haW5pbmdQ
ZXJjZW50KTsKLSAgICAgICAgICAgICAgICBmbG9hdCBsb2dpY2FsV2lkdGggPSBzdGF0aWNfY2Fz
dDxmbG9hdD4obV9sYXlvdXRTdHJ1Y3RbaV0uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoKSAqIDEw
MCAvIHN0ZDo6bWF4KHBlcmNlbnQsIGVwc2lsb24pOworICAgICAgICAgICAgaWYgKGxheW91dC5l
ZmZlY3RpdmVMb2dpY2FsV2lkdGguaXNQZXJjZW50KCkpIHsKKyAgICAgICAgICAgICAgICBmbG9h
dCBwZXJjZW50ID0gc3RkOjptaW4obGF5b3V0LmVmZmVjdGl2ZUxvZ2ljYWxXaWR0aC5wZXJjZW50
KCksIHJlbWFpbmluZ1BlcmNlbnQpOworICAgICAgICAgICAgICAgIGZsb2F0IGxvZ2ljYWxXaWR0
aCA9IHN0YXRpY19jYXN0PGZsb2F0PihsYXlvdXQuZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoKSAq
IDEwMCAvIHN0ZDo6bWF4KHBlcmNlbnQsIGVwc2lsb24pOwogICAgICAgICAgICAgICAgIG1heFBl
cmNlbnQgPSBzdGQ6Om1heChsb2dpY2FsV2lkdGgsICBtYXhQZXJjZW50KTsKICAgICAgICAgICAg
ICAgICByZW1haW5pbmdQZXJjZW50IC09IHBlcmNlbnQ7CiAgICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICBtYXhOb25QZXJjZW50ICs9IG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2
ZU1heExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgICAgICBtYXhOb25QZXJjZW50ICs9IGxheW91
dC5lZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGg7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTI2NCwx
NyArMjY0LDE1IEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2FsV2lk
dGgoKQogewogICAgIGludCBtYXhMb2dpY2FsV2lkdGggPSAwOwogCi0gICAgc2l6ZV90IG5FZmZD
b2xzID0gbV9sYXlvdXRTdHJ1Y3Quc2l6ZSgpOwogICAgIGludCBzcGFjaW5nSW5Sb3dEaXJlY3Rp
b24gPSBtX3RhYmxlLT5oQm9yZGVyU3BhY2luZygpOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBuRWZmQ29sczsgKytpKSB7Ci0gICAgICAgIG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2
ZUxvZ2ljYWxXaWR0aCA9IG1fbGF5b3V0U3RydWN0W2ldLmxvZ2ljYWxXaWR0aDsKLSAgICAgICAg
bV9sYXlvdXRTdHJ1Y3RbaV0uZWZmZWN0aXZlTWluTG9naWNhbFdpZHRoID0gbV9sYXlvdXRTdHJ1
Y3RbaV0ubWluTG9naWNhbFdpZHRoOwotICAgICAgICBtX2xheW91dFN0cnVjdFtpXS5lZmZlY3Rp
dmVNYXhMb2dpY2FsV2lkdGggPSBtX2xheW91dFN0cnVjdFtpXS5tYXhMb2dpY2FsV2lkdGg7Cisg
ICAgZm9yIChhdXRvJiBsYXlvdXQgOiBtX2xheW91dFN0cnVjdCkgeworICAgICAgICBsYXlvdXQu
ZWZmZWN0aXZlTG9naWNhbFdpZHRoID0gbGF5b3V0LmxvZ2ljYWxXaWR0aDsKKyAgICAgICAgbGF5
b3V0LmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aCA9IGxheW91dC5taW5Mb2dpY2FsV2lkdGg7Cisg
ICAgICAgIGxheW91dC5lZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGggPSBsYXlvdXQubWF4TG9naWNh
bFdpZHRoOwogICAgIH0KIAotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9zcGFuQ2VsbHMu
c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgUmVuZGVyVGFibGVDZWxsKiBjZWxsID0gbV9zcGFuQ2Vs
bHNbaV07CisgICAgZm9yIChhdXRvJiBjZWxsIDogbV9zcGFuQ2VsbHMpIHsKICAgICAgICAgaWYg
KCFjZWxsKQogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTI5Niw3ICsyOTQsNyBAQCBpbnQgQXV0
b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhbFdpZHRoKCkKICAgICAgICAgYm9vbCBo
YXZlQXV0byA9IGZhbHNlOwogICAgICAgICBib29sIHNwYW5IYXNFbXB0eUNlbGxzT25seSA9IHRy
dWU7CiAgICAgICAgIGludCBmaXhlZFdpZHRoID0gMDsKLSAgICAgICAgd2hpbGUgKGxhc3RDb2wg
PCBuRWZmQ29scyAmJiBzcGFuID4gMCkgeworICAgICAgICB3aGlsZSAobGFzdENvbCA8IG1fbGF5
b3V0U3RydWN0LnNpemUoKSAmJiBzcGFuID4gMCkgewogICAgICAgICAgICAgTGF5b3V0JiBjb2x1
bW5MYXlvdXQgPSBtX2xheW91dFN0cnVjdFtsYXN0Q29sXTsKICAgICAgICAgICAgIHN3aXRjaCAo
Y29sdW1uTGF5b3V0LmxvZ2ljYWxXaWR0aC50eXBlKCkpIHsKICAgICAgICAgICAgIGNhc2UgUGVy
Y2VudDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RS
ZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVuZGVy
ZXIuY3BwCmluZGV4IDYyZGFjNGI4YjQ2MjIzODdiOGRjY2U3OGZlYTIwOTJkMjE0NDBlNWMuLjIx
ODJlNmY2Njg4YzQ3M2MxMjE1ODViODQxNTYzMzJlMjIwMjY4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcApAQCAtMTM1LDE4ICsx
MzUsMTcgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YnVpbGQoUmVuZGVyRWxlbWVudCog
cmVuZGVyZXIsIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMKICAgICBtX2VmZmVjdHMuY2xlYXIoKTsK
IAogICAgIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IHByZXZpb3VzRWZmZWN0ID0gbV9zb3VyY2VHcmFw
aGljOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb3BlcmF0aW9ucy5vcGVyYXRpb25zKCku
c2l6ZSgpOyArK2kpIHsKKyAgICBmb3IgKGF1dG8mIGZpbHRlck9wZXJhdGlvbiA6IG9wZXJhdGlv
bnMub3BlcmF0aW9ucygpKSB7CiAgICAgICAgIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IGVmZmVjdDsK
LSAgICAgICAgRmlsdGVyT3BlcmF0aW9uJiBmaWx0ZXJPcGVyYXRpb24gPSAqb3BlcmF0aW9ucy5v
cGVyYXRpb25zKCkuYXQoaSk7Ci0gICAgICAgIHN3aXRjaCAoZmlsdGVyT3BlcmF0aW9uLnR5cGUo
KSkgeworICAgICAgICBzd2l0Y2ggKGZpbHRlck9wZXJhdGlvbi0+dHlwZSgpKSB7CiAgICAgICAg
IGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpSRUZFUkVOQ0U6IHsKLSAgICAgICAgICAgIFJlZmVyZW5j
ZUZpbHRlck9wZXJhdGlvbiYgcmVmZXJlbmNlT3BlcmF0aW9uID0gZG93bmNhc3Q8UmVmZXJlbmNl
RmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24pOworICAgICAgICAgICAgUmVmZXJlbmNl
RmlsdGVyT3BlcmF0aW9uJiByZWZlcmVuY2VPcGVyYXRpb24gPSBkb3duY2FzdDxSZWZlcmVuY2VG
aWx0ZXJPcGVyYXRpb24+KCpmaWx0ZXJPcGVyYXRpb24pOwogICAgICAgICAgICAgZWZmZWN0ID0g
YnVpbGRSZWZlcmVuY2VGaWx0ZXIocmVuZGVyZXIsIHByZXZpb3VzRWZmZWN0LCAmcmVmZXJlbmNl
T3BlcmF0aW9uKTsKICAgICAgICAgICAgIHJlZmVyZW5jZU9wZXJhdGlvbi5zZXRGaWx0ZXJFZmZl
Y3QoZWZmZWN0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ug
RmlsdGVyT3BlcmF0aW9uOjpHUkFZU0NBTEU6IHsKLSAgICAgICAgICAgIEJhc2ljQ29sb3JNYXRy
aXhGaWx0ZXJPcGVyYXRpb24mIGNvbG9yTWF0cml4T3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWND
b2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbj4oZmlsdGVyT3BlcmF0aW9uKTsKKyAgICAgICAgICAg
IEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24mIGNvbG9yTWF0cml4T3BlcmF0aW9uID0g
ZG93bmNhc3Q8QmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbj4oKmZpbHRlck9wZXJhdGlv
bik7CiAgICAgICAgICAgICBWZWN0b3I8ZmxvYXQ+IGlucHV0UGFyYW1ldGVyczsKICAgICAgICAg
ICAgIGRvdWJsZSBvbmVNaW51c0Ftb3VudCA9IGNsYW1wVG8oMSAtIGNvbG9yTWF0cml4T3BlcmF0
aW9uLmFtb3VudCgpLCAwLjAsIDEuMCk7CiAKQEAgLTE3NCw3ICsxNzMsNyBAQCBib29sIEZpbHRl
ckVmZmVjdFJlbmRlcmVyOjpidWlsZChSZW5kZXJFbGVtZW50KiByZW5kZXJlciwgY29uc3QgRmls
dGVyT3BlcmF0aW9ucwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBGaWx0ZXJPcGVyYXRpb246OlNFUElBOiB7Ci0gICAgICAgICAgICBCYXNpY0NvbG9yTWF0cml4
RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9IGRvd25jYXN0PEJhc2ljQ29s
b3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KGZpbHRlck9wZXJhdGlvbik7CisgICAgICAgICAgICBC
YXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9IGRv
d25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KCpmaWx0ZXJPcGVyYXRpb24p
OwogICAgICAgICAgICAgVmVjdG9yPGZsb2F0PiBpbnB1dFBhcmFtZXRlcnM7CiAgICAgICAgICAg
ICBkb3VibGUgb25lTWludXNBbW91bnQgPSBjbGFtcFRvKDEgLSBjb2xvck1hdHJpeE9wZXJhdGlv
bi5hbW91bnQoKSwgMC4wLCAxLjApOwogCkBAIC0yMDIsMjEgKzIwMSwyMSBAQCBib29sIEZpbHRl
ckVmZmVjdFJlbmRlcmVyOjpidWlsZChSZW5kZXJFbGVtZW50KiByZW5kZXJlciwgY29uc3QgRmls
dGVyT3BlcmF0aW9ucwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBGaWx0ZXJPcGVyYXRpb246OlNBVFVSQVRFOiB7Ci0gICAgICAgICAgICBCYXNpY0NvbG9yTWF0
cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9IGRvd25jYXN0PEJhc2lj
Q29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KGZpbHRlck9wZXJhdGlvbik7CisgICAgICAgICAg
ICBCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9
IGRvd25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KCpmaWx0ZXJPcGVyYXRp
b24pOwogICAgICAgICAgICAgVmVjdG9yPGZsb2F0PiBpbnB1dFBhcmFtZXRlcnM7CiAgICAgICAg
ICAgICBpbnB1dFBhcmFtZXRlcnMuYXBwZW5kKG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoY29sb3JN
YXRyaXhPcGVyYXRpb24uYW1vdW50KCkpKTsKICAgICAgICAgICAgIGVmZmVjdCA9IEZFQ29sb3JN
YXRyaXg6OmNyZWF0ZSgqdGhpcywgRkVDT0xPUk1BVFJJWF9UWVBFX1NBVFVSQVRFLCBpbnB1dFBh
cmFtZXRlcnMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBG
aWx0ZXJPcGVyYXRpb246OkhVRV9ST1RBVEU6IHsKLSAgICAgICAgICAgIEJhc2ljQ29sb3JNYXRy
aXhGaWx0ZXJPcGVyYXRpb24mIGNvbG9yTWF0cml4T3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWND
b2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbj4oZmlsdGVyT3BlcmF0aW9uKTsKKyAgICAgICAgICAg
IEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24mIGNvbG9yTWF0cml4T3BlcmF0aW9uID0g
ZG93bmNhc3Q8QmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbj4oKmZpbHRlck9wZXJhdGlv
bik7CiAgICAgICAgICAgICBWZWN0b3I8ZmxvYXQ+IGlucHV0UGFyYW1ldGVyczsKICAgICAgICAg
ICAgIGlucHV0UGFyYW1ldGVycy5hcHBlbmQobmFycm93UHJlY2lzaW9uVG9GbG9hdChjb2xvck1h
dHJpeE9wZXJhdGlvbi5hbW91bnQoKSkpOwogICAgICAgICAgICAgZWZmZWN0ID0gRkVDb2xvck1h
dHJpeDo6Y3JlYXRlKCp0aGlzLCBGRUNPTE9STUFUUklYX1RZUEVfSFVFUk9UQVRFLCBpbnB1dFBh
cmFtZXRlcnMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBG
aWx0ZXJPcGVyYXRpb246OklOVkVSVDogewotICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFu
c2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2Fz
dDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24p
OworICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29t
cG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVy
RmlsdGVyT3BlcmF0aW9uPigqZmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIENvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNmZXJGdW5jdGlvbjsKICAgICAgICAgICAgIHRyYW5zZmVy
RnVuY3Rpb24udHlwZSA9IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9UQUJMRTsKICAgICAgICAg
ICAgIFZlY3RvcjxmbG9hdD4gdHJhbnNmZXJQYXJhbWV0ZXJzOwpAQCAtMjI5LDcgKzIyOCw3IEBA
IGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXI6OmJ1aWxkKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVy
LCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6T1BBQ0lUWTogewotICAgICAgICAgICAgQmFz
aWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVy
YXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPihm
aWx0ZXJPcGVyYXRpb24pOworICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRl
ck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0Nv
bXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPigqZmlsdGVyT3BlcmF0aW9uKTsKICAgICAg
ICAgICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNmZXJGdW5jdGlvbjsKICAgICAg
ICAgICAgIHRyYW5zZmVyRnVuY3Rpb24udHlwZSA9IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9U
QUJMRTsKICAgICAgICAgICAgIFZlY3RvcjxmbG9hdD4gdHJhbnNmZXJQYXJhbWV0ZXJzOwpAQCAt
MjQyLDcgKzI0MSw3IEBAIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXI6OmJ1aWxkKFJlbmRlckVs
ZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zCiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6QlJJR0hUTkVTUzog
ewotICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29t
cG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVy
RmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24pOworICAgICAgICAgICAgQmFzaWNDb21w
b25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24g
PSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPigqZmlsdGVy
T3BlcmF0aW9uKTsKICAgICAgICAgICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNm
ZXJGdW5jdGlvbjsKICAgICAgICAgICAgIHRyYW5zZmVyRnVuY3Rpb24udHlwZSA9IEZFQ09NUE9O
RU5UVFJBTlNGRVJfVFlQRV9MSU5FQVI7CiAgICAgICAgICAgICB0cmFuc2ZlckZ1bmN0aW9uLnNs
b3BlID0gbmFycm93UHJlY2lzaW9uVG9GbG9hdChjb21wb25lbnRUcmFuc2Zlck9wZXJhdGlvbi5h
bW91bnQoKSk7CkBAIC0yNTMsNyArMjUyLDcgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6
YnVpbGQoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9u
OjpDT05UUkFTVDogewotICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9w
ZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBv
bmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24pOworICAgICAgICAg
ICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNm
ZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0
aW9uPigqZmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIENvbXBvbmVudFRyYW5zZmVyRnVu
Y3Rpb24gdHJhbnNmZXJGdW5jdGlvbjsKICAgICAgICAgICAgIHRyYW5zZmVyRnVuY3Rpb24udHlw
ZSA9IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVI7CiAgICAgICAgICAgICBmbG9hdCBh
bW91bnQgPSBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGNvbXBvbmVudFRyYW5zZmVyT3BlcmF0aW9u
LmFtb3VudCgpKTsKQEAgLTI2NSwxMyArMjY0LDEzIEBAIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVy
ZXI6OmJ1aWxkKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25z
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZpbHRlck9wZXJh
dGlvbjo6QkxVUjogewotICAgICAgICAgICAgQmx1ckZpbHRlck9wZXJhdGlvbiYgYmx1ck9wZXJh
dGlvbiA9IGRvd25jYXN0PEJsdXJGaWx0ZXJPcGVyYXRpb24+KGZpbHRlck9wZXJhdGlvbik7Cisg
ICAgICAgICAgICBCbHVyRmlsdGVyT3BlcmF0aW9uJiBibHVyT3BlcmF0aW9uID0gZG93bmNhc3Q8
Qmx1ckZpbHRlck9wZXJhdGlvbj4oKmZpbHRlck9wZXJhdGlvbik7CiAgICAgICAgICAgICBmbG9h
dCBzdGREZXZpYXRpb24gPSBmbG9hdFZhbHVlRm9yTGVuZ3RoKGJsdXJPcGVyYXRpb24uc3RkRGV2
aWF0aW9uKCksIDApOwogICAgICAgICAgICAgZWZmZWN0ID0gRkVHYXVzc2lhbkJsdXI6OmNyZWF0
ZSgqdGhpcywgc3RkRGV2aWF0aW9uLCBzdGREZXZpYXRpb24sIGNvbnN1bWVyID09IEZpbHRlclBy
b3BlcnR5ID8gRURHRU1PREVfTk9ORSA6IEVER0VNT0RFX0RVUExJQ0FURSk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6RFJPUF9T
SEFET1c6IHsKLSAgICAgICAgICAgIERyb3BTaGFkb3dGaWx0ZXJPcGVyYXRpb24mIGRyb3BTaGFk
b3dPcGVyYXRpb24gPSBkb3duY2FzdDxEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJP
cGVyYXRpb24pOworICAgICAgICAgICAgRHJvcFNoYWRvd0ZpbHRlck9wZXJhdGlvbiYgZHJvcFNo
YWRvd09wZXJhdGlvbiA9IGRvd25jYXN0PERyb3BTaGFkb3dGaWx0ZXJPcGVyYXRpb24+KCpmaWx0
ZXJPcGVyYXRpb24pOwogICAgICAgICAgICAgZWZmZWN0ID0gRkVEcm9wU2hhZG93OjpjcmVhdGUo
KnRoaXMsIGRyb3BTaGFkb3dPcGVyYXRpb24uc3RkRGV2aWF0aW9uKCksIGRyb3BTaGFkb3dPcGVy
YXRpb24uc3RkRGV2aWF0aW9uKCksCiAgICAgICAgICAgICAgICAgZHJvcFNoYWRvd09wZXJhdGlv
bi54KCksIGRyb3BTaGFkb3dPcGVyYXRpb24ueSgpLCBkcm9wU2hhZG93T3BlcmF0aW9uLmNvbG9y
KCksIDEpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yODYsNyArMjg1LDcgQEAgYm9vbCBGaWx0
ZXJFZmZlY3RSZW5kZXJlcjo6YnVpbGQoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEZp
bHRlck9wZXJhdGlvbnMKICAgICAgICAgICAgIGVmZmVjdC0+c2V0Q2xpcHNUb0JvdW5kcyhjb25z
dW1lciA9PSBGaWx0ZXJGdW5jdGlvbik7CiAgICAgICAgICAgICBlZmZlY3QtPnNldE9wZXJhdGlu
Z0NvbG9yU3BhY2UoQ29sb3JTcGFjZURldmljZVJHQik7CiAgICAgICAgICAgICAKLSAgICAgICAg
ICAgIGlmIChmaWx0ZXJPcGVyYXRpb24udHlwZSgpICE9IEZpbHRlck9wZXJhdGlvbjo6UkVGRVJF
TkNFKSB7CisgICAgICAgICAgICBpZiAoZmlsdGVyT3BlcmF0aW9uLT50eXBlKCkgIT0gRmlsdGVy
T3BlcmF0aW9uOjpSRUZFUkVOQ0UpIHsKICAgICAgICAgICAgICAgICBlZmZlY3QtPmlucHV0RWZm
ZWN0cygpLmFwcGVuZChwcmV2aW91c0VmZmVjdCk7CiAgICAgICAgICAgICAgICAgbV9lZmZlY3Rz
LmFwcGVuZChlZmZlY3QpOwogICAgICAgICAgICAgfQpAQCAtMzMxLDggKzMzMCw4IEBAIHZvaWQg
RmlsdGVyRWZmZWN0UmVuZGVyZXI6OmFsbG9jYXRlQmFja2luZ1N0b3JlSWZOZWVkZWQoKQogdm9p
ZCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6Y2xlYXJJbnRlcm1lZGlhdGVSZXN1bHRzKCkKIHsKICAg
ICBtX3NvdXJjZUdyYXBoaWMtPmNsZWFyUmVzdWx0KCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBtX2VmZmVjdHMuc2l6ZSgpOyArK2kpCi0gICAgICAgIG1fZWZmZWN0c1tpXS0+Y2xlYXJS
ZXN1bHQoKTsKKyAgICBmb3IgKGF1dG8mIGVmZmVjdCA6IG1fZWZmZWN0cykKKyAgICAgICAgZWZm
ZWN0LT5jbGVhclJlc3VsdCgpOwogfQogCiB2b2lkIEZpbHRlckVmZmVjdFJlbmRlcmVyOjphcHBs
eSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVu
ZGVyZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5o
CmluZGV4IDVmZjg5OGI0MDY1NjQ5ZDBjODY0NzU2N2FkNWRmMjJjMjBhZjkyNDEuLmQ3MTU1M2Fl
Mzc2NjA1NDNkZGI3Yzc4YWI0ZGY2OGVmMGRhMGVmYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5oCkBAIC0xMjAsMTAgKzEyMCw4IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCBzZXRNYXhFZmZlY3RSZWN0cyhjb25zdCBGbG9hdFJl
Y3QmIGVmZmVjdFJlY3QpCiAgICAgewotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1f
ZWZmZWN0cy5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgUmVmUHRyPEZpbHRlckVmZmVjdD4g
ZWZmZWN0ID0gbV9lZmZlY3RzLmF0KGkpOworICAgICAgICBmb3IgKGF1dG8mIGVmZmVjdCA6IG1f
ZWZmZWN0cykKICAgICAgICAgICAgIGVmZmVjdC0+c2V0TWF4RWZmZWN0UmVjdChlZmZlY3RSZWN0
KTsKLSAgICAgICAgfQogICAgIH0KIAogICAgIEZpbHRlckVmZmVjdCogbGFzdEVmZmVjdCgpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmplY3Rz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG9hdGluZ09iamVjdHMuY3BwCmluZGV4
IGRiYzUxYzdlZDc0MjRlNjUxOGU5MTZlZDY4Y2RjN2EzOGY0N2ViOTAuLjk4YjQwNjFiZTYwMjBh
ZTRlMmQxM2Y1MjkxN2RkNzQ1NzcxN2QwOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9GbG9hdGluZ09iamVjdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9GbG9hdGluZ09iamVjdHMuY3BwCkBAIC0yNjYsOSArMjY2LDkgQEAgRmxvYXRpbmdPYmplY3Rz
Ojp+RmxvYXRpbmdPYmplY3RzKCkKIHZvaWQgRmxvYXRpbmdPYmplY3RzOjpjbGVhckxpbmVCb3hU
cmVlUG9pbnRlcnMoKQogewogICAgIC8vIENsZWFyIHJlZmVyZW5jZXMgdG8gb3JpZ2luYXRpbmcg
bGluZXMsIHNpbmNlIHRoZSBsaW5lcyBhcmUgYmVpbmcgZGVsZXRlZAotICAgIGZvciAoYXV0byBp
dCA9IG1fc2V0LmJlZ2luKCksIGVuZCA9IG1fc2V0LmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
LSAgICAgICAgQVNTRVJUKCEoKCppdCktPm9yaWdpbmF0aW5nTGluZSgpKSB8fCAmKCgqaXQpLT5v
cmlnaW5hdGluZ0xpbmUoKS0+cmVuZGVyZXIoKSkgPT0gJm1fcmVuZGVyZXIpOwotICAgICAgICAo
Kml0KS0+c2V0T3JpZ2luYXRpbmdMaW5lKDApOworICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmpl
Y3QgOiBtX3NldCkgeworICAgICAgICBBU1NFUlQoIShmbG9hdGluZ09iamVjdC0+b3JpZ2luYXRp
bmdMaW5lKCkpIHx8ICYoZmxvYXRpbmdPYmplY3QtPm9yaWdpbmF0aW5nTGluZSgpLT5yZW5kZXJl
cigpKSA9PSAmbV9yZW5kZXJlcik7CisgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5zZXRPcmlnaW5h
dGluZ0xpbmUoMCk7CiAgICAgfQogfQogCkBAIC0yODIsMTIgKzI4MiwxMiBAQCB2b2lkIEZsb2F0
aW5nT2JqZWN0czo6Y2xlYXIoKQogCiB2b2lkIEZsb2F0aW5nT2JqZWN0czo6bW92ZUFsbFRvRmxv
YXRJbmZvTWFwKFJlbmRlcmVyVG9GbG9hdEluZm9NYXAmIG1hcCkKIHsKLSAgICBmb3IgKGF1dG8g
aXQgPSBtX3NldC5iZWdpbigpLCBlbmQgPSBtX3NldC5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgIGF1dG8mIHJlbmRlcmVyID0gaXQtPmdldCgpLT5yZW5kZXJlcigpOworICAgIGZv
ciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX3NldCkgeworICAgICAgICBhdXRvJiByZW5kZXJl
ciA9IGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpOwogICAgICAgICAvLyBGSVhNRTogVGhlIG9u
bHkgcmVhc29uIGl0IGlzIHNhZmUgdG8gbW92ZSB0aGVzZSBvdXQgb2YgdGhlIHNldCBpcyB0aGF0
CiAgICAgICAgIC8vIHdlIGFyZSBhYm91dCB0byBjbGVhciBpdC4gT3RoZXJ3aXNlIGl0IHdvdWxk
IGJyZWFrIHRoZSBoYXNoIHRhYmxlIGludmFyaWFudC4KICAgICAgICAgLy8gQSBjbGVhbiB3YXkg
dG8gZG8gdGhpcyB3b3VsZCBiZSB0byBhZGQgYSB0YWtlQWxsIGZ1bmN0aW9uIHRvIEhhc2hTZXQu
Ci0gICAgICAgIG1hcC5hZGQoJnJlbmRlcmVyLCBXVEY6Om1vdmUoKml0KSk7CisgICAgICAgIG1h
cC5hZGQoJnJlbmRlcmVyLCBXVEY6Om1vdmUoZmxvYXRpbmdPYmplY3QpKTsKICAgICB9CiAgICAg
Y2xlYXIoKTsKIH0KQEAgLTM3NCwxMCArMzc0LDkgQEAgdm9pZCBGbG9hdGluZ09iamVjdHM6OmNv
bXB1dGVQbGFjZWRGbG9hdHNUcmVlKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9wbGFjZWRG
bG9hdHNUcmVlID0gc3RkOjptYWtlX3VuaXF1ZTxGbG9hdGluZ09iamVjdFRyZWU+KCk7Ci0gICAg
Zm9yIChhdXRvIGl0ID0gbV9zZXQuYmVnaW4oKSwgZW5kID0gbV9zZXQuZW5kKCk7IGl0ICE9IGVu
ZDsgKytpdCkgewotICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QgPSBpdC0+
Z2V0KCk7CisgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVjdCA6IG1fc2V0KSB7CiAgICAgICAg
IGlmIChmbG9hdGluZ09iamVjdC0+aXNQbGFjZWQoKSkKLSAgICAgICAgICAgIG1fcGxhY2VkRmxv
YXRzVHJlZS0+YWRkKGludGVydmFsRm9yRmxvYXRpbmdPYmplY3QoZmxvYXRpbmdPYmplY3QpKTsK
KyAgICAgICAgICAgIG1fcGxhY2VkRmxvYXRzVHJlZS0+YWRkKGludGVydmFsRm9yRmxvYXRpbmdP
YmplY3QoZmxvYXRpbmdPYmplY3QuZ2V0KCkpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwCmluZGV4IDhjZjE0YWNm
YTIwYzg0NGMxMWZlNzkxYWI4MzU1ZjRhYzg0OGFkOTguLmViNmI0NmNiZDQ1MjcxNmI0NmVjODBj
YmUwMTAyOTU5NjU5MWZkYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9G
bG93VGhyZWFkQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zs
b3dUaHJlYWRDb250cm9sbGVyLmNwcApAQCAtMjc0LDggKzI3NCw3IEBAIHZvaWQgRmxvd1RocmVh
ZENvbnRyb2xsZXI6OmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoVmVjdG9yPFJlbmRlckxh
eWVyKj4mIGZpCiAKICAgICAgICAgUmVuZGVyTGF5ZXIqIGZsb3dUaHJlYWRMYXllciA9IGZsb3dS
ZW5kZXJlci0+bGF5ZXIoKTsKICAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBuZWda
T3JkZXJMaXN0ID0gZmxvd1RocmVhZExheWVyLT5uZWdaT3JkZXJMaXN0KCkpIHsKLSAgICAgICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwLCBzaXplID0gbmVnWk9yZGVyTGlzdC0+c2l6ZSgpOyBpIDwg
c2l6ZTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1cnJMYXllciA9IG5l
Z1pPcmRlckxpc3QtPmF0KGkpOworICAgICAgICAgICAgZm9yIChhdXRvJiBjdXJyTGF5ZXIgOiAq
bmVnWk9yZGVyTGlzdCkgewogICAgICAgICAgICAgICAgIGlmIChjdXJyTGF5ZXItPnJlbmRlcmVy
KCkuc3R5bGUoKS5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pCiAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIGZpeGVkUG9zTGF5ZXJzLmFwcGVuZChjdXJy
TGF5ZXIpOwpAQCAtMjgzLDggKzI4Miw3IEBAIHZvaWQgRmxvd1RocmVhZENvbnRyb2xsZXI6OmNv
bGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoVmVjdG9yPFJlbmRlckxheWVyKj4mIGZpCiAgICAg
ICAgIH0KIAogICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIHBvc1pPcmRlckxpc3Qg
PSBmbG93VGhyZWFkTGF5ZXItPnBvc1pPcmRlckxpc3QoKSkgewotICAgICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDAsIHNpemUgPSBwb3NaT3JkZXJMaXN0LT5zaXplKCk7IGkgPCBzaXplOyArK2kp
IHsKLSAgICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3VyckxheWVyID0gcG9zWk9yZGVyTGlz
dC0+YXQoaSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGN1cnJMYXllciA6ICpwb3NaT3JkZXJM
aXN0KSB7CiAgICAgICAgICAgICAgICAgaWYgKGN1cnJMYXllci0+cmVuZGVyZXIoKS5zdHlsZSgp
LnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKICAgICAgICAgICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGN1cnJMYXllcik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXggMTQ0NDliNjc3
ZGQ3YjcyYzBkMTA3ZTRlMmE0ZWVmYjZlZjk1N2MzYi4uODkyZDE2M2MzM2YzODk1OGJlZTEzZjMw
ZmM2NzNlZjdmZmUxYjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hp
dFRlc3RSZXN1bHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmNwcApAQCAtNzAyLDggKzcwMiw4IEBAIHZvaWQgSGl0VGVzdFJlc3VsdDo6YXBwZW5kKGNv
bnN0IEhpdFRlc3RSZXN1bHQmIG90aGVyKQogCiAgICAgaWYgKG90aGVyLm1fcmVjdEJhc2VkVGVz
dFJlc3VsdCkgewogICAgICAgICBOb2RlU2V0JiBzZXQgPSBtdXRhYmxlUmVjdEJhc2VkVGVzdFJl
c3VsdCgpOwotICAgICAgICBmb3IgKE5vZGVTZXQ6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gb3RoZXIu
bV9yZWN0QmFzZWRUZXN0UmVzdWx0LT5iZWdpbigpLCBsYXN0ID0gb3RoZXIubV9yZWN0QmFzZWRU
ZXN0UmVzdWx0LT5lbmQoKTsgaXQgIT0gbGFzdDsgKytpdCkKLSAgICAgICAgICAgIHNldC5hZGQo
aXQtPmdldCgpKTsKKyAgICAgICAgZm9yIChhdXRvJiByZXN1bHQgOiAqb3RoZXIubV9yZWN0QmFz
ZWRUZXN0UmVzdWx0KQorICAgICAgICAgICAgc2V0LmFkZChyZXN1bHQpOwogICAgIH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIu
Y3BwCmluZGV4IGM0YTZlNDNjNjcyMmY0MTBmN2JmOTBkMTA4YjhjNTYwYzMyMDAwOWMuLjEwZGNm
MTFhZDllOTIwNGNiZTU1NGQ2YzQ5Njk0MWQ3NWVkMGZiMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKQEAgLTg4LDggKzg4
LDggQEAgdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRUaW1l
ckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGZvciAoYXV0byBpdCA9IG1f
b2JqZWN0TGF5ZXJTaXplTWFwLmJlZ2luKCksIGVuZCA9IG1fb2JqZWN0TGF5ZXJTaXplTWFwLmVu
ZCgpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIGl0LT5rZXktPnJlcGFpbnQoKTsKKyAgICBm
b3IgKGF1dG8mIG9iamVjdCA6IG1fb2JqZWN0TGF5ZXJTaXplTWFwLmtleXMoKSkKKyAgICAgICAg
b2JqZWN0LT5yZXBhaW50KCk7CiAKICAgICBtX2xpdmVSZXNpemVPcHRpbWl6YXRpb25Jc0FjdGl2
ZSA9IGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGlu
ZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3Bw
CmluZGV4IGY0MGI3NTBlMTNhZDI4OTdhYmEwNzMxYWJmZDM5NjI2MTYwNGI1OTMuLmJlZWVjYzY2
Njk3ZjU0OGQ0ZTZhN2ZjYmEwNjUyM2Q3OGRlZTYyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKQEAgLTYzMCwxMiArNjMwLDcgQEAgdm9pZCBJbmxpbmVU
ZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBh
aW50T2Zmc2V0LAogICAgICAgICBwYWludERvY3VtZW50TWFya2Vycyhjb250ZXh0LCBib3hPcmln
aW4sIGxpbmVTdHlsZSwgZm9udCwgZmFsc2UpOwogCiAgICAgICAgIGlmICh1c2VDdXN0b21VbmRl
cmxpbmVzKSB7Ci0gICAgICAgICAgICBjb25zdCBWZWN0b3I8Q29tcG9zaXRpb25VbmRlcmxpbmU+
JiB1bmRlcmxpbmVzID0gcmVuZGVyZXIoKS5mcmFtZSgpLmVkaXRvcigpLmN1c3RvbUNvbXBvc2l0
aW9uVW5kZXJsaW5lcygpOwotICAgICAgICAgICAgc2l6ZV90IG51bVVuZGVybGluZXMgPSB1bmRl
cmxpbmVzLnNpemUoKTsKLQotICAgICAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRl
eCA8IG51bVVuZGVybGluZXM7ICsraW5kZXgpIHsKLSAgICAgICAgICAgICAgICBjb25zdCBDb21w
b3NpdGlvblVuZGVybGluZSYgdW5kZXJsaW5lID0gdW5kZXJsaW5lc1tpbmRleF07Ci0KKyAgICAg
ICAgICAgIGZvciAoYXV0byYgdW5kZXJsaW5lIDogcmVuZGVyZXIoKS5mcmFtZSgpLmVkaXRvcigp
LmN1c3RvbUNvbXBvc2l0aW9uVW5kZXJsaW5lcygpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHVu
ZGVybGluZS5lbmRPZmZzZXQgPD0gc3RhcnQoKSkKICAgICAgICAgICAgICAgICAgICAgLy8gdW5k
ZXJsaW5lIGlzIGNvbXBsZXRlbHkgYmVmb3JlIHRoaXMgcnVuLiAgVGhpcyBtaWdodCBiZSBhbiB1
bmRlcmxpbmUgdGhhdCBzaXRzCiAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZSB0aGUgZmly
c3QgcnVuIHdlIGRyYXcsIG9yIHVuZGVybGluZXMgdGhhdCB3ZXJlIHdpdGhpbiBydW5zIHdlIHNr
aXBwZWQgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCA3NjZk
MWE4ODZhM2FmODhmZjhmZTc2MWM5NzVjOGMzMDgxNmFjZGU1Li5jZWYxYTIzZDZhNTMwMDZiZDFj
MDEyOWEyMmU2NWYwZjI0MWE5ZjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAKQEAgLTE5NCw5ICsxOTQsOCBAQCBSZW5kZXJCbG9jazo6UmVuZGVyQmxvY2soRG9j
dW1lbnQmIGRvY3VtZW50LCBSZWY8UmVuZGVyU3R5bGU+JiYgc3R5bGUsIHVuc2lnbmVkCiBzdGF0
aWMgdm9pZCByZW1vdmVCbG9ja0Zyb21EZXNjZW5kYW50QW5kQ29udGFpbmVyTWFwcyhSZW5kZXJC
bG9jayogYmxvY2ssIFRyYWNrZWREZXNjZW5kYW50c01hcComIGRlc2NlbmRhbnRNYXAsIFRyYWNr
ZWRDb250YWluZXJNYXAqJiBjb250YWluZXJNYXApCiB7CiAgICAgaWYgKHN0ZDo6dW5pcXVlX3B0
cjxUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldD4gZGVzY2VuZGFudFNldCA9IGRlc2NlbmRhbnRN
YXAtPnRha2UoYmxvY2spKSB7Ci0gICAgICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0Ojpp
dGVyYXRvciBlbmQgPSBkZXNjZW5kYW50U2V0LT5lbmQoKTsKLSAgICAgICAgZm9yIChUcmFja2Vk
UmVuZGVyZXJMaXN0SGFzaFNldDo6aXRlcmF0b3IgZGVzY2VuZGFudCA9IGRlc2NlbmRhbnRTZXQt
PmJlZ2luKCk7IGRlc2NlbmRhbnQgIT0gZW5kOyArK2Rlc2NlbmRhbnQpIHsKLSAgICAgICAgICAg
IFRyYWNrZWRDb250YWluZXJNYXA6Oml0ZXJhdG9yIGl0ID0gY29udGFpbmVyTWFwLT5maW5kKCpk
ZXNjZW5kYW50KTsKKyAgICAgICAgZm9yIChhdXRvJiBib3ggOiAqZGVzY2VuZGFudFNldCkgewor
ICAgICAgICAgICAgVHJhY2tlZENvbnRhaW5lck1hcDo6aXRlcmF0b3IgaXQgPSBjb250YWluZXJN
YXAtPmZpbmQoYm94KTsKICAgICAgICAgICAgIEFTU0VSVChpdCAhPSBjb250YWluZXJNYXAtPmVu
ZCgpKTsKICAgICAgICAgICAgIGlmIChpdCA9PSBjb250YWluZXJNYXAtPmVuZCgpKQogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMTA1MSw5ICsxMDUwLDcgQEAgdm9pZCBSZW5kZXJCbG9j
azo6YWRkT3ZlcmZsb3dGcm9tUG9zaXRpb25lZE9iamVjdHMoKQogICAgIGlmICghcG9zaXRpb25l
ZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm47CiAKLSAgICBmb3IgKGF1dG8gaXQgPSBwb3Np
dGlvbmVkRGVzY2VuZGFudHMtPmJlZ2luKCksIGVuZCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+
ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBSZW5kZXJCb3gqIHBvc2l0aW9uZWRP
YmplY3QgPSAqaXQ7Ci0gICAgICAgIAorICAgIGZvciAoYXV0byYgcG9zaXRpb25lZE9iamVjdCA6
ICpwb3NpdGlvbmVkRGVzY2VuZGFudHMpIHsKICAgICAgICAgLy8gRml4ZWQgcG9zaXRpb25lZCBl
bGVtZW50cyBkb24ndCBjb250cmlidXRlIHRvIGxheW91dCBvdmVyZmxvdywgc2luY2UgdGhleSBk
b24ndCBzY3JvbGwgd2l0aCB0aGUgY29udGVudC4KICAgICAgICAgaWYgKHBvc2l0aW9uZWRPYmpl
Y3QtPnN0eWxlKCkucG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uKSB7CiAgICAgICAgICAgICBM
YXlvdXRVbml0IHggPSBwb3NpdGlvbmVkT2JqZWN0LT54KCk7CkBAIC0xMTQ4LDggKzExNDUsNyBA
QCB2b2lkIFJlbmRlckJsb2NrOjpkaXJ0eUZvckxheW91dEZyb21QZXJjZW50YWdlSGVpZ2h0RGVz
Y2VuZGFudHMoKQogICAgIGlmICghZGVzY2VuZGFudHMpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGZvciAoYXV0byBpdCA9IGRlc2NlbmRhbnRzLT5iZWdpbigpLCBlbmQgPSBkZXNjZW5kYW50cy0+
ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBSZW5kZXJCb3gqIGJveCA9ICppdDsK
KyAgICBmb3IgKGF1dG8mIGJveCA6ICpkZXNjZW5kYW50cykgewogICAgICAgICB3aGlsZSAoYm94
ICE9IHRoaXMpIHsKICAgICAgICAgICAgIGlmIChib3gtPm5vcm1hbENoaWxkTmVlZHNMYXlvdXQo
KSkKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTExODYsMTEgKzExODIsOSBAQCB2b2lkIFJl
bmRlckJsb2NrOjpzaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpCiAKICAgICAgICAgLy8gRklY
TUU6IEdseXBoIG92ZXJmbG93IHdpbGwgZ2V0IGxvc3QgaW4gdGhpcyBjYXNlLCBidXQgbm90IHJl
YWxseSBhIGJpZyBkZWFsLgogICAgICAgICAvLyBGSVhNRTogRmluZCBhIHdheSB0byBpbnZhbGlk
YXRlIHRoZSBrbm93blRvSGF2ZU5vT3ZlcmZsb3cgZmxhZyBvbiB0aGUgSW5saW5lQm94ZXMuCi0g
ICAgICAgIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwIHRleHRCb3hEYXRhTWFwOyAg
ICAgICAgICAgICAgICAgIAotICAgICAgICBmb3IgKGF1dG8gaXQgPSBsaW5lQm94ZXMuYmVnaW4o
KSwgZW5kID0gbGluZUJveGVzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAg
IFJvb3RJbmxpbmVCb3gqIGJveCA9ICppdDsKKyAgICAgICAgR2x5cGhPdmVyZmxvd0FuZEZhbGxi
YWNrRm9udHNNYXAgdGV4dEJveERhdGFNYXA7CisgICAgICAgIGZvciAoYXV0byYgYm94IDogbGlu
ZUJveGVzKQogICAgICAgICAgICAgYm94LT5jb21wdXRlT3ZlcmZsb3coYm94LT5saW5lVG9wKCks
IGJveC0+bGluZUJvdHRvbSgpLCB0ZXh0Qm94RGF0YU1hcCk7Ci0gICAgICAgIH0KICAgICB9IGVs
c2UgewogICAgICAgICBmb3IgKGF1dG8gYm94ID0gZmlyc3RDaGlsZEJveCgpOyBib3g7IGJveCA9
IGJveC0+bmV4dFNpYmxpbmdCb3goKSkgewogICAgICAgICAgICAgaWYgKCFib3gtPmlzT3V0T2ZG
bG93UG9zaXRpb25lZCgpKQpAQCAtMTI5OSwxNyArMTI5MywxNSBAQCB2b2lkIFJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4
ZWRQb3NpdAogICAgIGlmICghcG9zaXRpb25lZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm47
CiAKLSAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmJlZ2luKCksIGVu
ZCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAg
ICAgICBSZW5kZXJCb3gmIHIgPSAqKml0OwotICAgICAgICAKLSAgICAgICAgZXN0aW1hdGVSZWdp
b25SYW5nZUZvckJveENoaWxkKHIpOworICAgIGZvciAoYXV0byYgYm94IDogKnBvc2l0aW9uZWRE
ZXNjZW5kYW50cykgeworICAgICAgICBlc3RpbWF0ZVJlZ2lvblJhbmdlRm9yQm94Q2hpbGQoKmJv
eCk7CiAKICAgICAgICAgLy8gQSBmaXhlZCBwb3NpdGlvbiBlbGVtZW50IHdpdGggYW4gYWJzb2x1
dGUgcG9zaXRpb25lZCBhbmNlc3RvciBoYXMgbm8gd2F5IG9mIGtub3dpbmcgaWYgdGhlIGxhdHRl
ciBoYXMgY2hhbmdlZCBwb3NpdGlvbi4gU28KICAgICAgICAgLy8gaWYgdGhpcyBpcyBhIGZpeGVk
IHBvc2l0aW9uIGVsZW1lbnQsIG1hcmsgaXQgZm9yIGxheW91dCBpZiBpdCBoYXMgYW4gYWJzcG9z
IGFuY2VzdG9yIGFuZCBuZWVkcyB0byBtb3ZlIHdpdGggdGhhdCBhbmNlc3RvciwgaS5lLiAKICAg
ICAgICAgLy8gaXQgaGFzIHN0YXRpYyBwb3NpdGlvbi4KLSAgICAgICAgbWFya0ZpeGVkUG9zaXRp
b25PYmplY3RGb3JMYXlvdXRJZk5lZWRlZChyKTsKKyAgICAgICAgbWFya0ZpeGVkUG9zaXRpb25P
YmplY3RGb3JMYXlvdXRJZk5lZWRlZCgqYm94KTsKICAgICAgICAgaWYgKGZpeGVkUG9zaXRpb25P
YmplY3RzT25seSkgewotICAgICAgICAgICAgci5sYXlvdXRJZk5lZWRlZCgpOworICAgICAgICAg
ICAgYm94LT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KIApAQCAtMTMxNyw0MyArMTMwOSw0MyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3Np
dGlvbmVkT2JqZWN0cyhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4ZWRQb3NpdAogICAg
ICAgICAvLyBub24tcG9zaXRpb25lZCBibG9jay4gIFJhdGhlciB0aGFuIHRyeWluZyB0byBkZXRl
Y3QgYWxsIG9mIHRoZXNlIG1vdmVtZW50IGNhc2VzLCB3ZSBqdXN0IGFsd2F5cyBsYXkgb3V0IHBv
c2l0aW9uZWQKICAgICAgICAgLy8gb2JqZWN0cyB0aGF0IGFyZSBwb3NpdGlvbmVkIGltcGxpY2l0
bHkgbGlrZSB0aGlzLiAgU3VjaCBvYmplY3RzIGFyZSByYXJlLCBhbmQgc28gaW4gdHlwaWNhbCBE
SFRNTCBtZW51IHVzYWdlICh3aGVyZSBldmVyeXRoaW5nIGlzCiAgICAgICAgIC8vIHBvc2l0aW9u
ZWQgZXhwbGljaXRseSkgdGhpcyBzaG91bGQgbm90IGluY3VyIGEgcGVyZm9ybWFuY2UgcGVuYWx0
eS4KLSAgICAgICAgaWYgKHJlbGF5b3V0Q2hpbGRyZW4gfHwgKHIuc3R5bGUoKS5oYXNTdGF0aWNC
bG9ja1Bvc2l0aW9uKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpICYmIHIucGFyZW50KCkgIT0g
dGhpcykpCi0gICAgICAgICAgICByLnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsK
KyAgICAgICAgaWYgKHJlbGF5b3V0Q2hpbGRyZW4gfHwgKGJveC0+c3R5bGUoKS5oYXNTdGF0aWNC
bG9ja1Bvc2l0aW9uKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpICYmIGJveC0+cGFyZW50KCkg
IT0gdGhpcykpCisgICAgICAgICAgICBib3gtPnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlU
aGlzKTsKICAgICAgICAgICAgIAogICAgICAgICAvLyBJZiByZWxheW91dENoaWxkcmVuIGlzIHNl
dCBhbmQgdGhlIGNoaWxkIGhhcyBwZXJjZW50YWdlIHBhZGRpbmcgb3IgYW4gZW1iZWRkZWQgY29u
dGVudCBib3gsIHdlIGFsc28gbmVlZCB0byBpbnZhbGlkYXRlIHRoZSBjaGlsZHMgcHJlZiB3aWR0
aHMuCi0gICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuICYmIHIubmVlZHNQcmVmZXJyZWRXaWR0
aHNSZWNhbGN1bGF0aW9uKCkpCi0gICAgICAgICAgICByLnNldFByZWZlcnJlZExvZ2ljYWxXaWR0
aHNEaXJ0eSh0cnVlLCBNYXJrT25seVRoaXMpOworICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJl
biAmJiBib3gtPm5lZWRzUHJlZmVycmVkV2lkdGhzUmVjYWxjdWxhdGlvbigpKQorICAgICAgICAg
ICAgYm94LT5zZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkodHJ1ZSwgTWFya09ubHlUaGlz
KTsKICAgICAgICAgCi0gICAgICAgIHIubWFya0ZvclBhZ2luYXRpb25SZWxheW91dElmTmVlZGVk
KCk7CisgICAgICAgIGJveC0+bWFya0ZvclBhZ2luYXRpb25SZWxheW91dElmTmVlZGVkKCk7CiAg
ICAgICAgIAogICAgICAgICAvLyBXZSBkb24ndCBoYXZlIHRvIGRvIGEgZnVsbCBsYXlvdXQuICBX
ZSBqdXN0IGhhdmUgdG8gdXBkYXRlIG91ciBwb3NpdGlvbi4gVHJ5IHRoYXQgZmlyc3QuIElmIHdl
IGhhdmUgc2hyaW5rLXRvLWZpdCB3aWR0aAogICAgICAgICAvLyBhbmQgd2UgaGl0IHRoZSBhdmFp
bGFibGUgd2lkdGggY29uc3RyYWludCwgdGhlIGxheW91dElmTmVlZGVkKCkgd2lsbCBjYXRjaCBp
dCBhbmQgZG8gYSBmdWxsIGxheW91dC4KLSAgICAgICAgaWYgKHIubmVlZHNQb3NpdGlvbmVkTW92
ZW1lbnRMYXlvdXRPbmx5KCkgJiYgci50cnlMYXlvdXREb2luZ1Bvc2l0aW9uZWRNb3ZlbWVudE9u
bHkoKSkKLSAgICAgICAgICAgIHIuY2xlYXJOZWVkc0xheW91dCgpOworICAgICAgICBpZiAoYm94
LT5uZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dE9ubHkoKSAmJiBib3gtPnRyeUxheW91dERv
aW5nUG9zaXRpb25lZE1vdmVtZW50T25seSgpKQorICAgICAgICAgICAgYm94LT5jbGVhck5lZWRz
TGF5b3V0KCk7CiAgICAgICAgICAgICAKICAgICAgICAgLy8gSWYgd2UgYXJlIHBhZ2luYXRlZCBv
ciBpbiBhIGxpbmUgZ3JpZCwgY29tcHV0ZSBhIHZlcnRpY2FsIHBvc2l0aW9uIGZvciBvdXIgb2Jq
ZWN0IG5vdy4KICAgICAgICAgLy8gSWYgaXQncyB3cm9uZyB3ZSdsbCBsYXkgb3V0IGFnYWluLgog
ICAgICAgICBMYXlvdXRVbml0IG9sZExvZ2ljYWxUb3AgPSAwOwotICAgICAgICBib29sIG5lZWRz
QmxvY2tEaXJlY3Rpb25Mb2NhdGlvblNldEJlZm9yZUxheW91dCA9IHIubmVlZHNMYXlvdXQoKSAm
JiB2aWV3KCkubGF5b3V0U3RhdGUoKS0+bmVlZHNCbG9ja0RpcmVjdGlvbkxvY2F0aW9uU2V0QmVm
b3JlTGF5b3V0KCk7CisgICAgICAgIGJvb2wgbmVlZHNCbG9ja0RpcmVjdGlvbkxvY2F0aW9uU2V0
QmVmb3JlTGF5b3V0ID0gYm94LT5uZWVkc0xheW91dCgpICYmIHZpZXcoKS5sYXlvdXRTdGF0ZSgp
LT5uZWVkc0Jsb2NrRGlyZWN0aW9uTG9jYXRpb25TZXRCZWZvcmVMYXlvdXQoKTsKICAgICAgICAg
aWYgKG5lZWRzQmxvY2tEaXJlY3Rpb25Mb2NhdGlvblNldEJlZm9yZUxheW91dCkgewotICAgICAg
ICAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPT0gci5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpKQotICAgICAgICAgICAgICAgIHIudXBkYXRlTG9naWNhbEhlaWdodCgpOworICAg
ICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPT0gYm94LT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpKQorICAgICAgICAgICAgICAgIGJveC0+dXBkYXRlTG9naWNhbEhlaWdo
dCgpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHIudXBkYXRlTG9naWNhbFdp
ZHRoKCk7Ci0gICAgICAgICAgICBvbGRMb2dpY2FsVG9wID0gbG9naWNhbFRvcEZvckNoaWxkKHIp
OworICAgICAgICAgICAgICAgIGJveC0+dXBkYXRlTG9naWNhbFdpZHRoKCk7CisgICAgICAgICAg
ICBvbGRMb2dpY2FsVG9wID0gbG9naWNhbFRvcEZvckNoaWxkKCpib3gpOwogICAgICAgICB9CiAK
LSAgICAgICAgci5sYXlvdXRJZk5lZWRlZCgpOworICAgICAgICBib3gtPmxheW91dElmTmVlZGVk
KCk7CiAKICAgICAgICAgLy8gTGF5IG91dCBhZ2FpbiBpZiBvdXIgZXN0aW1hdGUgd2FzIHdyb25n
LgotICAgICAgICBpZiAobmVlZHNCbG9ja0RpcmVjdGlvbkxvY2F0aW9uU2V0QmVmb3JlTGF5b3V0
ICYmIGxvZ2ljYWxUb3BGb3JDaGlsZChyKSAhPSBvbGRMb2dpY2FsVG9wKSB7Ci0gICAgICAgICAg
ICByLnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKLSAgICAgICAgICAgIHIubGF5
b3V0SWZOZWVkZWQoKTsKKyAgICAgICAgaWYgKG5lZWRzQmxvY2tEaXJlY3Rpb25Mb2NhdGlvblNl
dEJlZm9yZUxheW91dCAmJiBsb2dpY2FsVG9wRm9yQ2hpbGQoKmJveCkgIT0gb2xkTG9naWNhbFRv
cCkgeworICAgICAgICAgICAgYm94LT5zZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7
CisgICAgICAgICAgICBib3gtPmxheW91dElmTmVlZGVkKCk7CiAgICAgICAgIH0KIAotICAgICAg
ICBpZiAodXBkYXRlUmVnaW9uUmFuZ2VGb3JCb3hDaGlsZChyKSkgewotICAgICAgICAgICAgci5z
ZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwotICAgICAgICAgICAgci5sYXlvdXRJZk5lZWRl
ZCgpOworICAgICAgICBpZiAodXBkYXRlUmVnaW9uUmFuZ2VGb3JCb3hDaGlsZCgqYm94KSkgewor
ICAgICAgICAgICAgYm94LT5zZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOworICAgICAgICAg
ICAgYm94LT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAgICB9CiAgICAgfQogfQpAQCAtMTM2NCwx
MCArMTM1Niw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6Om1hcmtQb3NpdGlvbmVkT2JqZWN0c0Zvckxh
eW91dCgpCiAgICAgaWYgKCFwb3NpdGlvbmVkRGVzY2VuZGFudHMpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGZvciAoYXV0byBpdCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+YmVnaW4oKSwgZW5k
ID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAg
ICAgIFJlbmRlckJveCogciA9ICppdDsKLSAgICAgICAgci0+c2V0Q2hpbGROZWVkc0xheW91dCgp
OwotICAgIH0KKyAgICBmb3IgKGF1dG8mIGJveCA6ICpwb3NpdGlvbmVkRGVzY2VuZGFudHMpCisg
ICAgICAgIGJveC0+c2V0Q2hpbGROZWVkc0xheW91dCgpOwogfQogCiB2b2lkIFJlbmRlckJsb2Nr
OjptYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVkZWQoKQpAQCAtMTY5MSwxMCArMTY4MSw4
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50Q29udGludWF0aW9uT3V0bGluZXMoUGFpbnRJbmZv
JiBpbmZvLCBjb25zdCBMYXlvdXRQb2ludCYKIAogICAgIExheW91dFBvaW50IGFjY3VtdWxhdGVk
UGFpbnRPZmZzZXQgPSBwYWludE9mZnNldDsKICAgICAvLyBQYWludCBlYWNoIGNvbnRpbnVhdGlv
biBvdXRsaW5lLgotICAgIExpc3RIYXNoU2V0PFJlbmRlcklubGluZSo+OjppdGVyYXRvciBlbmQg
PSBjb250aW51YXRpb25zLT5lbmQoKTsKLSAgICBmb3IgKExpc3RIYXNoU2V0PFJlbmRlcklubGlu
ZSo+OjppdGVyYXRvciBpdCA9IGNvbnRpbnVhdGlvbnMtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytp
dCkgeworICAgIGZvciAoYXV0byYgZmxvdyA6ICpjb250aW51YXRpb25zKSB7CiAgICAgICAgIC8v
IE5lZWQgdG8gYWRkIGluIHRoZSBjb29yZGluYXRlcyBvZiB0aGUgaW50ZXJ2ZW5pbmcgYmxvY2tz
LgotICAgICAgICBSZW5kZXJJbmxpbmUqIGZsb3cgPSAqaXQ7CiAgICAgICAgIFJlbmRlckJsb2Nr
KiBibG9jayA9IGZsb3ctPmNvbnRhaW5pbmdCbG9jaygpOwogICAgICAgICBmb3IgKCA7IGJsb2Nr
ICYmIGJsb2NrICE9IHRoaXM7IGJsb2NrID0gYmxvY2stPmNvbnRhaW5pbmdCbG9jaygpKQogICAg
ICAgICAgICAgYWNjdW11bGF0ZWRQYWludE9mZnNldC5tb3ZlQnkoYmxvY2stPmxvY2F0aW9uKCkp
OwpAQCAtMTc4OCwxMSArMTc3Niw4IEBAIHN0YXRpYyB2b2lkIGNsaXBPdXRQb3NpdGlvbmVkT2Jq
ZWN0cyhjb25zdCBQYWludEluZm8qIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pCiAgICAgaWYg
KCFwb3NpdGlvbmVkT2JqZWN0cykKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIFRyYWNrZWRS
ZW5kZXJlckxpc3RIYXNoU2V0Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBwb3NpdGlvbmVkT2JqZWN0
cy0+ZW5kKCk7Ci0gICAgZm9yIChUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldDo6Y29uc3RfaXRl
cmF0b3IgaXQgPSBwb3NpdGlvbmVkT2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgIFJlbmRlckJveCogciA9ICppdDsKLSAgICAgICAgcGFpbnRJbmZvLT5jb250ZXh0
LT5jbGlwT3V0KEludFJlY3Qob2Zmc2V0LngoKSArIHItPngoKSwgb2Zmc2V0LnkoKSArIHItPnko
KSwgci0+d2lkdGgoKSwgci0+aGVpZ2h0KCkpKTsKLSAgICB9CisgICAgZm9yIChhdXRvJiBvYmpl
Y3QgOiAqcG9zaXRpb25lZE9iamVjdHMpCisgICAgICAgIHBhaW50SW5mby0+Y29udGV4dC0+Y2xp
cE91dChJbnRSZWN0KG9mZnNldC54KCkgKyBvYmplY3QtPngoKSwgb2Zmc2V0LnkoKSArIG9iamVj
dC0+eSgpLCBvYmplY3QtPndpZHRoKCksIG9iamVjdC0+aGVpZ2h0KCkpKTsKIH0KIAogTGF5b3V0
VW5pdCBibG9ja0RpcmVjdGlvbk9mZnNldChSZW5kZXJCbG9jayYgcm9vdEJsb2NrLCBjb25zdCBM
YXlvdXRTaXplJiBvZmZzZXRGcm9tUm9vdEJsb2NrKQpAQCAtMjEyMyw5ICsyMTA4LDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6cmVtb3ZlRnJvbVRyYWNrZWRSZW5kZXJlck1hcHMoUmVuZGVyQm94JiBk
ZXNjZW5kYW50LCBUcmFja2VkRGUKICAgICBpZiAoIWNvbnRhaW5lclNldCkKICAgICAgICAgcmV0
dXJuOwogICAgIAotICAgIGZvciAoYXV0byBpdCA9IGNvbnRhaW5lclNldC0+YmVnaW4oKSwgZW5k
ID0gY29udGFpbmVyU2V0LT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFJlbmRl
ckJsb2NrKiBjb250YWluZXIgPSAqaXQ7Ci0KKyAgICBmb3IgKGF1dG8mIGNvbnRhaW5lciA6ICpj
b250YWluZXJTZXQpIHsKICAgICAgICAgLy8gRklYTUU6IERpc2FibGluZyB0aGlzIGFzc2VydCB0
ZW1wb3JhcmlseSB1bnRpbCB3ZSBmaXggdGhlIGxheW91dAogICAgICAgICAvLyBidWdzIGFzc29j
aWF0ZWQgd2l0aCBwb3NpdGlvbmVkIG9iamVjdHMgbm90IHByb3Blcmx5IGNsZWFyZWQgZnJvbQog
ICAgICAgICAvLyB0aGVpciBhbmNlc3RvciBjaGFpbiBiZWZvcmUgYmVpbmcgbW92ZWQuIFNlZSB3
ZWJraXQgYnVnIDkzNzY2LgpAQCAtMjE3MywyNiArMjE1NiwyNSBAQCB2b2lkIFJlbmRlckJsb2Nr
OjpyZW1vdmVQb3NpdGlvbmVkT2JqZWN0cyhSZW5kZXJCbG9jayogbywgQ29udGFpbmluZ0Jsb2Nr
U3RhdGUgYwogICAgIAogICAgIFZlY3RvcjxSZW5kZXJCb3gqLCAxNj4gZGVhZE9iamVjdHM7CiAK
LSAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmJlZ2luKCksIGVuZCA9
IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAg
ICBSZW5kZXJCb3gqIHIgPSAqaXQ7Ci0gICAgICAgIGlmICghbyB8fCByLT5pc0Rlc2NlbmRhbnRP
ZihvKSkgeworICAgIGZvciAoYXV0byYgYm94IDogKnBvc2l0aW9uZWREZXNjZW5kYW50cykgewor
ICAgICAgICBpZiAoIW8gfHwgYm94LT5pc0Rlc2NlbmRhbnRPZihvKSkgewogICAgICAgICAgICAg
aWYgKGNvbnRhaW5pbmdCbG9ja1N0YXRlID09IE5ld0NvbnRhaW5pbmdCbG9jaykKLSAgICAgICAg
ICAgICAgICByLT5zZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CisgICAgICAgICAg
ICAgICAgYm94LT5zZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIC8vIEl0IGlzIHBhcmVudCBibG9ja3Mgam9iIHRvIGFkZCBwb3NpdGlv
bmVkIGNoaWxkIHRvIHBvc2l0aW9uZWQgb2JqZWN0cyBsaXN0IG9mIGl0cyBjb250YWluaW5nIGJs
b2NrCiAgICAgICAgICAgICAvLyBQYXJlbnQgbGF5b3V0IG5lZWRzIHRvIGJlIGludmFsaWRhdGVk
IHRvIGVuc3VyZSB0aGlzIGhhcHBlbnMuCi0gICAgICAgICAgICBSZW5kZXJFbGVtZW50KiBwID0g
ci0+cGFyZW50KCk7CisgICAgICAgICAgICBSZW5kZXJFbGVtZW50KiBwID0gYm94LT5wYXJlbnQo
KTsKICAgICAgICAgICAgIHdoaWxlIChwICYmICFwLT5pc1JlbmRlckJsb2NrKCkpCiAgICAgICAg
ICAgICAgICAgcCA9IHAtPnBhcmVudCgpOwogICAgICAgICAgICAgaWYgKHApCiAgICAgICAgICAg
ICAgICAgcC0+c2V0Q2hpbGROZWVkc0xheW91dCgpOwogICAgICAgICAgICAgCi0gICAgICAgICAg
ICBkZWFkT2JqZWN0cy5hcHBlbmQocik7CisgICAgICAgICAgICBkZWFkT2JqZWN0cy5hcHBlbmQo
Ym94KTsKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgZGVhZE9iamVjdHMuc2l6ZSgpOyBpKyspCi0gICAgICAgIHJlbW92ZVBvc2l0aW9uZWRPYmpl
Y3QoKmRlYWRPYmplY3RzLmF0KGkpKTsKKyAgICBmb3IgKGF1dG8mIG9iamVjdCA6IGRlYWRPYmpl
Y3RzKQorICAgICAgICByZW1vdmVQb3NpdGlvbmVkT2JqZWN0KCpvYmplY3QpOwogfQogCiB2b2lk
IFJlbmRlckJsb2NrOjphZGRQZXJjZW50SGVpZ2h0RGVzY2VuZGFudChSZW5kZXJCb3gmIGRlc2Nl
bmRhbnQpCkBAIC0zNzQzLDEwICszNzI1LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y2hlY2tQb3Np
dGlvbmVkT2JqZWN0c05lZWRMYXlvdXQoKQogICAgIGlmICghcG9zaXRpb25lZERlc2NlbmRhbnRT
ZXQpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZvciAoYXV0byBpdCA9IHBvc2l0aW9uZWREZXNj
ZW5kYW50U2V0LT5iZWdpbigpLCBlbmQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudFNldC0+ZW5kKCk7
IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBSZW5kZXJCb3gqIGN1cnJCb3ggPSAqaXQ7Cisg
ICAgZm9yIChhdXRvJiBjdXJyQm94IDogKnBvc2l0aW9uZWREZXNjZW5kYW50U2V0KQogICAgICAg
ICBBU1NFUlQoIWN1cnJCb3gtPm5lZWRzTGF5b3V0KCkpOwotICAgIH0KIH0KIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IGFmNGNh
NzEzODVlYmJlNjg2YjY2ZWUzNzQ1ZTdkY2RjNTlkZDgwOWIuLmRlYWM2NGY5NTg0Y2NlOTk0Nzlm
NjBlNWEwYzBjMWU2OWZiOWU2N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuY3BwCkBAIC0yMDMsMTAgKzIwMyw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93
OjpyZWJ1aWxkRmxvYXRpbmdPYmplY3RTZXRGcm9tSW50cnVkaW5nRmxvYXRzKCkKIAogICAgIEhh
c2hTZXQ8UmVuZGVyQm94Kj4gb2xkSW50cnVkaW5nRmxvYXRTZXQ7CiAgICAgaWYgKCFjaGlsZHJl
bklubGluZSgpICYmIG1fZmxvYXRpbmdPYmplY3RzKSB7Ci0gICAgICAgIGNvbnN0IEZsb2F0aW5n
T2JqZWN0U2V0JiBmbG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsK
LSAgICAgICAgYXV0byBlbmQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKLSAgICAgICAgZm9y
IChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QgPSBpdC0+Z2V0KCk7
CisgICAgICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+
c2V0KCkpIHsKICAgICAgICAgICAgIGlmICghZmxvYXRpbmdPYmplY3QtPmlzRGVzY2VuZGFudCgp
KQogICAgICAgICAgICAgICAgIG9sZEludHJ1ZGluZ0Zsb2F0U2V0LmFkZCgmZmxvYXRpbmdPYmpl
Y3QtPnJlbmRlcmVyKCkpOwogICAgICAgICB9CkBAIC0yNjQsMTUgKzI2MSwxMiBAQCB2b2lkIFJl
bmRlckJsb2NrRmxvdzo6cmVidWlsZEZsb2F0aW5nT2JqZWN0U2V0RnJvbUludHJ1ZGluZ0Zsb2F0
cygpCiAgICAgICAgIExheW91dFVuaXQgY2hhbmdlTG9naWNhbFRvcCA9IExheW91dFVuaXQ6Om1h
eCgpOwogICAgICAgICBMYXlvdXRVbml0IGNoYW5nZUxvZ2ljYWxCb3R0b20gPSBMYXlvdXRVbml0
OjptaW4oKTsKICAgICAgICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzKSB7Ci0gICAgICAgICAgICBj
b25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxvYXRpbmdPYmplY3RTZXQgPSBtX2Zsb2F0aW5nT2Jq
ZWN0cy0+c2V0KCk7Ci0gICAgICAgICAgICBhdXRvIGVuZCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVu
ZCgpOwotICAgICAgICAgICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4o
KTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZs
b2F0aW5nT2JqZWN0ID0gaXQtPmdldCgpOworICAgICAgICAgICAgZm9yIChhdXRvJiBmbG9hdGlu
Z09iamVjdCA6IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkgewogICAgICAgICAgICAgICAgIHN0
ZDo6dW5pcXVlX3B0cjxGbG9hdGluZ09iamVjdD4gb2xkRmxvYXRpbmdPYmplY3QgPSBmbG9hdE1h
cC50YWtlKCZmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKSk7Ci0gICAgICAgICAgICAgICAgTGF5
b3V0VW5pdCBsb2dpY2FsQm90dG9tID0gbG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2Jq
ZWN0KTsKKyAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxCb3R0b20gPSBsb2dpY2Fs
Qm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpOwogICAgICAgICAgICAgICAgIGlm
IChvbGRGbG9hdGluZ09iamVjdCkgewogICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IG9s
ZExvZ2ljYWxCb3R0b20gPSBsb2dpY2FsQm90dG9tRm9yRmxvYXQob2xkRmxvYXRpbmdPYmplY3Qu
Z2V0KCkpOwotICAgICAgICAgICAgICAgICAgICBpZiAobG9naWNhbFdpZHRoRm9yRmxvYXQoZmxv
YXRpbmdPYmplY3QpICE9IGxvZ2ljYWxXaWR0aEZvckZsb2F0KG9sZEZsb2F0aW5nT2JqZWN0Lmdl
dCgpKSB8fCBsb2dpY2FsTGVmdEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KSAhPSBsb2dpY2FsTGVm
dEZvckZsb2F0KG9sZEZsb2F0aW5nT2JqZWN0LmdldCgpKSkgeworICAgICAgICAgICAgICAgICAg
ICBpZiAobG9naWNhbFdpZHRoRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpICE9IGxvZ2lj
YWxXaWR0aEZvckZsb2F0KG9sZEZsb2F0aW5nT2JqZWN0LmdldCgpKSB8fCBsb2dpY2FsTGVmdEZv
ckZsb2F0KGZsb2F0aW5nT2JqZWN0LmdldCgpKSAhPSBsb2dpY2FsTGVmdEZvckZsb2F0KG9sZEZs
b2F0aW5nT2JqZWN0LmdldCgpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9n
aWNhbFRvcCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VMb2dpY2FsQm90dG9t
ID0gc3RkOjptYXgoY2hhbmdlTG9naWNhbEJvdHRvbSwgc3RkOjptYXgobG9naWNhbEJvdHRvbSwg
b2xkTG9naWNhbEJvdHRvbSkpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMjgw
LDcgKzI3NCw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpyZWJ1aWxkRmxvYXRpbmdPYmplY3RT
ZXRGcm9tSW50cnVkaW5nRmxvYXRzKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFu
Z2VMb2dpY2FsVG9wID0gc3RkOjptaW4oY2hhbmdlTG9naWNhbFRvcCwgc3RkOjptaW4obG9naWNh
bEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNoYW5nZUxvZ2ljYWxCb3R0b20gPSBzdGQ6Om1heChjaGFuZ2VMb2dpY2FsQm90dG9tLCBzdGQ6
Om1heChsb2dpY2FsQm90dG9tLCBvbGRMb2dpY2FsQm90dG9tKSk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3Ag
PSBsb2dpY2FsVG9wRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpOworICAgICAgICAgICAgICAgICAg
ICAgICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wID0gbG9naWNhbFRvcEZvckZsb2F0KGZsb2F0aW5n
T2JqZWN0LmdldCgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dFVuaXQgb2xkTG9n
aWNhbFRvcCA9IGxvZ2ljYWxUb3BGb3JGbG9hdChvbGRGbG9hdGluZ09iamVjdC5nZXQoKSk7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAobG9naWNhbFRvcCAhPSBvbGRMb2dpY2FsVG9wKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IHN0ZDo6bWlu
KGNoYW5nZUxvZ2ljYWxUb3AsIHN0ZDo6bWluKGxvZ2ljYWxUb3AsIG9sZExvZ2ljYWxUb3ApKTsK
QEAgLTI5OSwxMiArMjkzLDEwIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpyZWJ1aWxkRmxvYXRp
bmdPYmplY3RTZXRGcm9tSW50cnVkaW5nRmxvYXRzKCkKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogCi0gICAgICAgIGF1dG8gZW5kID0gZmxvYXRNYXAuZW5kKCk7Ci0gICAgICAgIGZvciAoYXV0
byBpdCA9IGZsb2F0TWFwLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAg
RmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0ID0gaXQtPnZhbHVlLmdldCgpOworICAgICAg
ICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogZmxvYXRNYXAudmFsdWVzKCkpIHsKICAgICAg
ICAgICAgIGlmICghZmxvYXRpbmdPYmplY3QtPmlzRGVzY2VuZGFudCgpKSB7CiAgICAgICAgICAg
ICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IDA7Ci0gICAgICAgICAgICAgICAgY2hhbmdlTG9naWNh
bEJvdHRvbSA9IHN0ZDo6bWF4KGNoYW5nZUxvZ2ljYWxCb3R0b20sIGxvZ2ljYWxCb3R0b21Gb3JG
bG9hdChmbG9hdGluZ09iamVjdCkpOworICAgICAgICAgICAgICAgIGNoYW5nZUxvZ2ljYWxCb3R0
b20gPSBzdGQ6Om1heChjaGFuZ2VMb2dpY2FsQm90dG9tLCBsb2dpY2FsQm90dG9tRm9yRmxvYXQo
ZmxvYXRpbmdPYmplY3QuZ2V0KCkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCkBAIC0z
MTUsMTAgKzMwNyw4IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpyZWJ1aWxkRmxvYXRpbmdPYmpl
Y3RTZXRGcm9tSW50cnVkaW5nRmxvYXRzKCkKICAgICAgICAgaWYgKG1fZmxvYXRpbmdPYmplY3Rz
LT5zZXQoKS5zaXplKCkgPCBvbGRJbnRydWRpbmdGbG9hdFNldC5zaXplKCkpCiAgICAgICAgICAg
ICBtYXJrQWxsRGVzY2VuZGFudHNXaXRoRmxvYXRzRm9yTGF5b3V0KCk7CiAgICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0
ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgICAgICAgICAgYXV0byBlbmQgPSBmbG9h
dGluZ09iamVjdFNldC5lbmQoKTsKLSAgICAgICAgICAgIGZvciAoYXV0byBpdCA9IGZsb2F0aW5n
T2JqZWN0U2V0LmJlZ2luKCk7IGl0ICE9IGVuZCAmJiAhb2xkSW50cnVkaW5nRmxvYXRTZXQuaXNF
bXB0eSgpOyArK2l0KQotICAgICAgICAgICAgICAgIG9sZEludHJ1ZGluZ0Zsb2F0U2V0LnJlbW92
ZSgmKCppdCktPnJlbmRlcmVyKCkpOworICAgICAgICAgICAgZm9yIChhdXRvJiBmbG9hdGluZ09i
amVjdCA6IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkKKyAgICAgICAgICAgICAgICBvbGRJbnRy
dWRpbmdGbG9hdFNldC5yZW1vdmUoJmZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpKTsKICAgICAg
ICAgICAgIGlmICghb2xkSW50cnVkaW5nRmxvYXRTZXQuaXNFbXB0eSgpKQogICAgICAgICAgICAg
ICAgIG1hcmtBbGxEZXNjZW5kYW50c1dpdGhGbG9hdHNGb3JMYXlvdXQoKTsKICAgICAgICAgfQpA
QCAtMTk4Miw4ICsxOTcyLDggQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnN0eWxlRGlkQ2hhbmdl
KFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2wKICAgICAgICAgICAg
IGlmIChhbmNlc3Rvci5pc1JlbmRlclZpZXcoKSkKICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIGlmIChhbmNlc3Rvci5oYXNPdmVyaGFuZ2luZ0Zsb2F0cygpKSB7Ci0gICAgICAg
ICAgICAgICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKSwgZW5kID0g
ZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAg
ICAgICAgICBSZW5kZXJCb3gmIHJlbmRlcmVyID0gKCppdCktPnJlbmRlcmVyKCk7CisgICAgICAg
ICAgICAgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVjdCA6IGZsb2F0aW5nT2JqZWN0U2V0KSB7
CisgICAgICAgICAgICAgICAgICAgIFJlbmRlckJveCYgcmVuZGVyZXIgPSBmbG9hdGluZ09iamVj
dC0+cmVuZGVyZXIoKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGFuY2VzdG9yLmhhc092ZXJo
YW5naW5nRmxvYXQocmVuZGVyZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRC
bG9jayA9ICZhbmNlc3RvcjsKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjA3
MCwxMiArMjA2MCw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojptb3ZlRmxvYXRzVG8oUmVuZGVy
QmxvY2tGbG93KiB0b0Jsb2NrRmxvdykKICAgICAgICAgaWYgKCF0b0Jsb2NrRmxvdy0+bV9mbG9h
dGluZ09iamVjdHMpCiAgICAgICAgICAgICB0b0Jsb2NrRmxvdy0+Y3JlYXRlRmxvYXRpbmdPYmpl
Y3RzKCk7CiAKLSAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZyb21GbG9hdGluZ09i
amVjdFNldCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsKLSAgICAgICAgYXV0byBlbmQgPSBm
cm9tRmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0KLSAgICAgICAgZm9yIChhdXRvIGl0ID0gZnJv
bUZsb2F0aW5nT2JqZWN0U2V0LmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAg
ICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0ID0gaXQtPmdldCgpOwotCisgICAgICAg
IGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsK
ICAgICAgICAgICAgIC8vIERvbid0IGluc2VydCB0aGUgb2JqZWN0IGFnYWluIGlmIGl0J3MgYWxy
ZWFkeSBpbiB0aGUgbGlzdAogICAgICAgICAgICAgaWYgKHRvQmxvY2tGbG93LT5jb250YWluc0Zs
b2F0KGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpKSkKICAgICAgICAgICAgICAgICBjb250aW51
ZTsKQEAgLTIwOTcsMTIgKzIwODIsOSBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6YWRkT3ZlcmZs
b3dGcm9tRmxvYXRzKCkKICAgICBpZiAoIW1fZmxvYXRpbmdPYmplY3RzKQogICAgICAgICByZXR1
cm47CiAKLSAgICBjb25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxvYXRpbmdPYmplY3RTZXQgPSBt
X2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7Ci0gICAgYXV0byBlbmQgPSBmbG9hdGluZ09iamVjdFNl
dC5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigpOyBp
dCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIHIgPSBpdC0+Z2V0KCk7
Ci0gICAgICAgIGlmIChyLT5pc0Rlc2NlbmRhbnQoKSkKLSAgICAgICAgICAgIGFkZE92ZXJmbG93
RnJvbUNoaWxkKCZyLT5yZW5kZXJlcigpLCBJbnRTaXplKHhQb3NpdGlvbkZvckZsb2F0SW5jbHVk
aW5nTWFyZ2luKHIpLCB5UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihyKSkpOworICAg
IGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsK
KyAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0LT5pc0Rlc2NlbmRhbnQoKSkKKyAgICAgICAgICAg
IGFkZE92ZXJmbG93RnJvbUNoaWxkKCZmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKSwgSW50U2l6
ZSh4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdC5nZXQoKSks
IHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGZsb2F0aW5nT2JqZWN0LmdldCgpKSkp
OwogICAgIH0KIH0KIApAQCAtMjEyNCwxNCArMjEwNiwxMSBAQCB2b2lkIFJlbmRlckJsb2NrRmxv
dzo6cmVwYWludE92ZXJoYW5naW5nRmxvYXRzKGJvb2wgcGFpbnRBbGxEZXNjZW5kYW50cykKICAg
ICAvLyBGSVhNRTogQXZvaWQgZGlzYWJsaW5nIExheW91dFN0YXRlLiBBdCB0aGUgdmVyeSBsZWFz
dCwgZG9uJ3QgZGlzYWJsZSBpdCBmb3IgZmxvYXRzIG9yaWdpbmF0aW5nCiAgICAgLy8gaW4gdGhp
cyBibG9jay4gQmV0dGVyIHlldCB3b3VsZCBiZSB0byBwdXNoIGV4dHJhIHN0YXRlIGZvciB0aGUg
Y29udGFpbmVycyBvZiBvdGhlciBmbG9hdHMuCiAgICAgTGF5b3V0U3RhdGVEaXNhYmxlciBsYXlv
dXRTdGF0ZURpc2FibGVyKCZ2aWV3KCkpOwotICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0U2V0JiBm
bG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsKLSAgICBhdXRvIGVu
ZCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVuZCgpOwotICAgIGZvciAoYXV0byBpdCA9IGZsb2F0aW5n
T2JqZWN0U2V0LmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBGbG9hdGluZ09i
amVjdCogZmxvYXRpbmdPYmplY3QgPSBpdC0+Z2V0KCk7CisgICAgZm9yIChhdXRvJiBmbG9hdGlu
Z09iamVjdCA6IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkgewogICAgICAgICAvLyBPbmx5IHJl
cGFpbnQgdGhlIG9iamVjdCBpZiBpdCBpcyBvdmVyaGFuZ2luZywgaXMgbm90IGluIGl0cyBvd24g
bGF5ZXIsIGFuZAogICAgICAgICAvLyBpcyBvdXIgcmVzcG9uc2liaWxpdHkgdG8gcGFpbnQgKG1f
c2hvdWxkUGFpbnQgaXMgc2V0KS4gV2hlbiBwYWludEFsbERlc2NlbmRhbnRzIGlzIHRydWUsIHRo
ZSBsYXR0ZXIKICAgICAgICAgLy8gY29uZGl0aW9uIGlzIHJlcGxhY2VkIHdpdGggYmVpbmcgYSBk
ZXNjZW5kYW50IG9mIHVzLgotICAgICAgICBpZiAobG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0
aW5nT2JqZWN0KSA+IGxvZ2ljYWxIZWlnaHQoKQorICAgICAgICBpZiAobG9naWNhbEJvdHRvbUZv
ckZsb2F0KGZsb2F0aW5nT2JqZWN0LmdldCgpKSA+IGxvZ2ljYWxIZWlnaHQoKQogICAgICAgICAg
ICAgJiYgIWZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLmhhc1NlbGZQYWludGluZ0xheWVyKCkK
ICAgICAgICAgICAgICYmIChmbG9hdGluZ09iamVjdC0+c2hvdWxkUGFpbnQoKSB8fCAocGFpbnRB
bGxEZXNjZW5kYW50cyAmJiBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5pc0Rlc2NlbmRhbnRP
Zih0aGlzKSkpKSB7CiAgICAgICAgICAgICBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5yZXBh
aW50KCk7CkBAIC0yMTU5LDI2ICsyMTM4LDIzIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpwYWlu
dEZsb2F0cyhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50CiAg
ICAgaWYgKCFtX2Zsb2F0aW5nT2JqZWN0cykKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3Qg
RmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMt
PnNldCgpOwotICAgIGF1dG8gZW5kID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0gICAgZm9y
IChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiByID0gaXQtPmdldCgpOworICAgIGZvciAoYXV0byYg
ZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKICAgICAgICAgLy8g
T25seSBwYWludCB0aGUgb2JqZWN0IGlmIG91ciBtX3Nob3VsZFBhaW50IGZsYWcgaXMgc2V0Lgot
ICAgICAgICBpZiAoci0+c2hvdWxkUGFpbnQoKSAmJiAhci0+cmVuZGVyZXIoKS5oYXNTZWxmUGFp
bnRpbmdMYXllcigpKSB7CisgICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+c2hvdWxkUGFpbnQo
KSAmJiAhZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCkuaGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkg
ewogICAgICAgICAgICAgUGFpbnRJbmZvIGN1cnJlbnRQYWludEluZm8ocGFpbnRJbmZvKTsKICAg
ICAgICAgICAgIGN1cnJlbnRQYWludEluZm8ucGhhc2UgPSBwcmVzZXJ2ZVBoYXNlID8gcGFpbnRJ
bmZvLnBoYXNlIDogUGFpbnRQaGFzZUJsb2NrQmFja2dyb3VuZDsKICAgICAgICAgICAgIC8vIEZJ
WE1FOiBMYXlvdXRQb2ludCB2ZXJzaW9uIG9mIHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFy
Z2luIHdvdWxkIG1ha2UgdGhpcyBtdWNoIGNsZWFuZXIuCi0gICAgICAgICAgICBMYXlvdXRQb2lu
dCBjaGlsZFBvaW50ID0gZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChyLCBMYXlvdXRQ
b2ludChwYWludE9mZnNldC54KCkgKyB4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihy
KSAtIHItPnJlbmRlcmVyKCkueCgpLCBwYWludE9mZnNldC55KCkgKyB5UG9zaXRpb25Gb3JGbG9h
dEluY2x1ZGluZ01hcmdpbihyKSAtIHItPnJlbmRlcmVyKCkueSgpKSk7Ci0gICAgICAgICAgICBy
LT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQpOworICAgICAg
ICAgICAgTGF5b3V0UG9pbnQgY2hpbGRQb2ludCA9IGZsaXBGbG9hdEZvcldyaXRpbmdNb2RlRm9y
Q2hpbGQoZmxvYXRpbmdPYmplY3QuZ2V0KCksIExheW91dFBvaW50KHBhaW50T2Zmc2V0LngoKSAr
IHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGZsb2F0aW5nT2JqZWN0LmdldCgpKSAt
IGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLngoKSwgcGFpbnRPZmZzZXQueSgpICsgeVBvc2l0
aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpIC0gZmxvYXRp
bmdPYmplY3QtPnJlbmRlcmVyKCkueSgpKSk7CisgICAgICAgICAgICBmbG9hdGluZ09iamVjdC0+
cmVuZGVyZXIoKS5wYWludChjdXJyZW50UGFpbnRJbmZvLCBjaGlsZFBvaW50KTsKICAgICAgICAg
ICAgIGlmICghcHJlc2VydmVQaGFzZSkgewogICAgICAgICAgICAgICAgIGN1cnJlbnRQYWludElu
Zm8ucGhhc2UgPSBQYWludFBoYXNlQ2hpbGRCbG9ja0JhY2tncm91bmRzOwotICAgICAgICAgICAg
ICAgIHItPnJlbmRlcmVyKCkucGFpbnQoY3VycmVudFBhaW50SW5mbywgY2hpbGRQb2ludCk7Cisg
ICAgICAgICAgICAgICAgZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCkucGFpbnQoY3VycmVudFBh
aW50SW5mbywgY2hpbGRQb2ludCk7CiAgICAgICAgICAgICAgICAgY3VycmVudFBhaW50SW5mby5w
aGFzZSA9IFBhaW50UGhhc2VGbG9hdDsKLSAgICAgICAgICAgICAgICByLT5yZW5kZXJlcigpLnBh
aW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQpOworICAgICAgICAgICAgICAgIGZsb2F0
aW5nT2JqZWN0LT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQp
OwogICAgICAgICAgICAgICAgIGN1cnJlbnRQYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlRm9y
ZWdyb3VuZDsKLSAgICAgICAgICAgICAgICByLT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWlu
dEluZm8sIGNoaWxkUG9pbnQpOworICAgICAgICAgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5yZW5k
ZXJlcigpLnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQpOwogICAgICAgICAgICAg
ICAgIGN1cnJlbnRQYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlT3V0bGluZTsKLSAgICAgICAg
ICAgICAgICByLT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQp
OworICAgICAgICAgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLnBhaW50KGN1cnJl
bnRQYWludEluZm8sIGNoaWxkUG9pbnQpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
fQpAQCAtMjE4NywxMiArMjE2Myw5IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpwYWludEZsb2F0
cyhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50CiB2b2lkIFJl
bmRlckJsb2NrRmxvdzo6Y2xpcE91dEZsb2F0aW5nT2JqZWN0cyhSZW5kZXJCbG9jayYgcm9vdEJs
b2NrLCBjb25zdCBQYWludEluZm8qIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHJvb3RC
bG9ja1BoeXNpY2FsUG9zaXRpb24sIGNvbnN0IExheW91dFNpemUmIG9mZnNldEZyb21Sb290Qmxv
Y2spCiB7CiAgICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzKSB7Ci0gICAgICAgIGNvbnN0IEZsb2F0
aW5nT2JqZWN0U2V0JiBmbG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQo
KTsKLSAgICAgICAgYXV0byBlbmQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKLSAgICAgICAg
Zm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KSB7Ci0gICAgICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QgPSBpdC0+Z2V0
KCk7Ci0gICAgICAgICAgICBMYXlvdXRSZWN0IGZsb2F0Qm94KG9mZnNldEZyb21Sb290QmxvY2su
d2lkdGgoKSArIHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGZsb2F0aW5nT2JqZWN0
KSwKLSAgICAgICAgICAgICAgICBvZmZzZXRGcm9tUm9vdEJsb2NrLmhlaWdodCgpICsgeVBvc2l0
aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QpLAorICAgICAgICBmb3Ig
KGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9mbG9hdGluZ09iamVjdHMtPnNldCgpKSB7CisgICAg
ICAgICAgICBMYXlvdXRSZWN0IGZsb2F0Qm94KG9mZnNldEZyb21Sb290QmxvY2sud2lkdGgoKSAr
IHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGZsb2F0aW5nT2JqZWN0LmdldCgpKSwK
KyAgICAgICAgICAgICAgICBvZmZzZXRGcm9tUm9vdEJsb2NrLmhlaWdodCgpICsgeVBvc2l0aW9u
Rm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpLAogICAgICAgICAg
ICAgICAgIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLndpZHRoKCksIGZsb2F0aW5nT2JqZWN0
LT5yZW5kZXJlcigpLmhlaWdodCgpKTsKICAgICAgICAgICAgIHJvb3RCbG9jay5mbGlwRm9yV3Jp
dGluZ01vZGUoZmxvYXRCb3gpOwogICAgICAgICAgICAgZmxvYXRCb3gubW92ZShyb290QmxvY2tQ
aHlzaWNhbFBvc2l0aW9uLngoKSwgcm9vdEJsb2NrUGh5c2ljYWxQb3NpdGlvbi55KCkpOwpAQCAt
MjU5MCwxMiArMjU2Myw5IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93Ojpsb3dlc3RGbG9h
dExvZ2ljYWxCb3R0b20oRmxvYXRpbmdPYmplY3Q6OlR5cGUgZmxvYXRUCiAgICAgaWYgKCFtX2Zs
b2F0aW5nT2JqZWN0cykKICAgICAgICAgcmV0dXJuIDA7CiAgICAgTGF5b3V0VW5pdCBsb3dlc3RG
bG9hdEJvdHRvbSA9IDA7Ci0gICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2Jq
ZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgIGF1dG8gZW5kID0gZmxvYXRp
bmdPYmplY3RTZXQuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiBmbG9h
dGluZ09iamVjdCA9IGl0LT5nZXQoKTsKKyAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDog
bV9mbG9hdGluZ09iamVjdHMtPnNldCgpKSB7CiAgICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+
aXNQbGFjZWQoKSAmJiBmbG9hdGluZ09iamVjdC0+dHlwZSgpICYgZmxvYXRUeXBlKQotICAgICAg
ICAgICAgbG93ZXN0RmxvYXRCb3R0b20gPSBzdGQ6Om1heChsb3dlc3RGbG9hdEJvdHRvbSwgbG9n
aWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KSk7CisgICAgICAgICAgICBsb3dlc3RG
bG9hdEJvdHRvbSA9IHN0ZDo6bWF4KGxvd2VzdEZsb2F0Qm90dG9tLCBsb2dpY2FsQm90dG9tRm9y
RmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpKTsKICAgICB9CiAgICAgcmV0dXJuIGxvd2VzdEZs
b2F0Qm90dG9tOwogfQpAQCAtMjYwNSwxMiArMjU3NSw5IEBAIExheW91dFVuaXQgUmVuZGVyQmxv
Y2tGbG93Ojpsb3dlc3RJbml0aWFsTGV0dGVyTG9naWNhbEJvdHRvbSgpIGNvbnN0CiAgICAgaWYg
KCFtX2Zsb2F0aW5nT2JqZWN0cykKICAgICAgICAgcmV0dXJuIDA7CiAgICAgTGF5b3V0VW5pdCBs
b3dlc3RGbG9hdEJvdHRvbSA9IDA7Ci0gICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0
aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgIGF1dG8gZW5kID0g
ZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmpl
Y3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0
KiBmbG9hdGluZ09iamVjdCA9IGl0LT5nZXQoKTsKKyAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2Jq
ZWN0IDogbV9mbG9hdGluZ09iamVjdHMtPnNldCgpKSB7CiAgICAgICAgIGlmIChmbG9hdGluZ09i
amVjdC0+aXNQbGFjZWQoKSAmJiBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5zdHlsZSgpLnN0
eWxlVHlwZSgpID09IEZJUlNUX0xFVFRFUiAmJiBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5z
dHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKQotICAgICAgICAgICAgbG93ZXN0RmxvYXRC
b3R0b20gPSBzdGQ6Om1heChsb3dlc3RGbG9hdEJvdHRvbSwgbG9naWNhbEJvdHRvbUZvckZsb2F0
KGZsb2F0aW5nT2JqZWN0KSk7CisgICAgICAgICAgICBsb3dlc3RGbG9hdEJvdHRvbSA9IHN0ZDo6
bWF4KGxvd2VzdEZsb2F0Qm90dG9tLCBsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmpl
Y3QuZ2V0KCkpKTsKICAgICB9CiAgICAgcmV0dXJuIGxvd2VzdEZsb2F0Qm90dG9tOwogfQpAQCAt
MjYyNywxMCArMjU5NCw4IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93OjphZGRPdmVyaGFu
Z2luZ0Zsb2F0cyhSZW5kZXJCbG9ja0Zsb3cmIGNoaWxkLCBib29sIG1hCiAKICAgICAvLyBGbG9h
dHMgdGhhdCB3aWxsIHJlbWFpbiB0aGUgY2hpbGQncyByZXNwb25zaWJpbGl0eSB0byBwYWludCBz
aG91bGQgZmFjdG9yIGludG8gaXRzCiAgICAgLy8gb3ZlcmZsb3cuCi0gICAgYXV0byBjaGlsZEVu
ZCA9IGNoaWxkLm1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKS5lbmQoKTsKLSAgICBmb3IgKGF1dG8g
Y2hpbGRJdCA9IGNoaWxkLm1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKS5iZWdpbigpOyBjaGlsZEl0
ICE9IGNoaWxkRW5kOyArK2NoaWxkSXQpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0
aW5nT2JqZWN0ID0gY2hpbGRJdC0+Z2V0KCk7Ci0gICAgICAgIExheW91dFVuaXQgZmxvYXRMb2dp
Y2FsQm90dG9tID0gc3RkOjptaW4obG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0
KSwgTGF5b3V0VW5pdDo6bWF4KCkgLSBjaGlsZExvZ2ljYWxUb3ApOworICAgIGZvciAoYXV0byYg
ZmxvYXRpbmdPYmplY3QgOiBjaGlsZC5tX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKKyAgICAg
ICAgTGF5b3V0VW5pdCBmbG9hdExvZ2ljYWxCb3R0b20gPSBzdGQ6Om1pbihsb2dpY2FsQm90dG9t
Rm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpLCBMYXlvdXRVbml0OjptYXgoKSAtIGNoaWxk
TG9naWNhbFRvcCk7CiAgICAgICAgIExheW91dFVuaXQgbG9naWNhbEJvdHRvbSA9IGNoaWxkTG9n
aWNhbFRvcCArIGZsb2F0TG9naWNhbEJvdHRvbTsKICAgICAgICAgbG93ZXN0RmxvYXRMb2dpY2Fs
Qm90dG9tID0gc3RkOjptYXgobG93ZXN0RmxvYXRMb2dpY2FsQm90dG9tLCBsb2dpY2FsQm90dG9t
KTsKIApAQCAtMjY2Nyw3ICsyNjMyLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFk
ZE92ZXJoYW5naW5nRmxvYXRzKFJlbmRlckJsb2NrRmxvdyYgY2hpbGQsIGJvb2wgbWEKICAgICAg
ICAgICAgIAogICAgICAgICAgICAgLy8gU2luY2UgdGhlIGZsb2F0IGRvZXNuJ3Qgb3Zlcmhhbmcs
IGl0IGRpZG4ndCBnZXQgcHV0IGludG8gb3VyIGxpc3QuIFdlIG5lZWQgdG8gYWRkIGl0cyBvdmVy
ZmxvdyBpbiB0byB0aGUgY2hpbGQgbm93LgogICAgICAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0
LT5pc0Rlc2NlbmRhbnQoKSkKLSAgICAgICAgICAgICAgICBjaGlsZC5hZGRPdmVyZmxvd0Zyb21D
aGlsZCgmZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCksIExheW91dFNpemUoeFBvc2l0aW9uRm9y
RmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QpLCB5UG9zaXRpb25Gb3JGbG9hdElu
Y2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdCkpKTsKKyAgICAgICAgICAgICAgICBjaGlsZC5h
ZGRPdmVyZmxvd0Zyb21DaGlsZCgmZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCksIExheW91dFNp
emUoeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkp
LCB5UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdC5nZXQoKSkp
KTsKICAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gbG93ZXN0RmxvYXRMb2dpY2FsQm90dG9t
OwpAQCAtMjcwMCwxMSArMjY2NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGRJbnRydWRp
bmdGbG9hdHMoUmVuZGVyQmxvY2tGbG93KiBwcmV2LCBSZW5kZXJCbG9ja0Zsb3cqCiAKICAgICBs
b2dpY2FsTGVmdE9mZnNldCArPSBtYXJnaW5Mb2dpY2FsTGVmdCgpOwogCi0gICAgY29uc3QgRmxv
YXRpbmdPYmplY3RTZXQmIHByZXZTZXQgPSBwcmV2LT5tX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7
Ci0gICAgYXV0byBwcmV2RW5kID0gcHJldlNldC5lbmQoKTsKLSAgICBmb3IgKGF1dG8gcHJldkl0
ID0gcHJldlNldC5iZWdpbigpOyBwcmV2SXQgIT0gcHJldkVuZDsgKytwcmV2SXQpIHsKLSAgICAg
ICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0ID0gcHJldkl0LT5nZXQoKTsKLSAgICAg
ICAgaWYgKGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChmbG9hdGluZ09iamVjdCkgPiBsb2dpY2FsVG9w
T2Zmc2V0KSB7CisgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVjdCA6IHByZXYtPm1fZmxvYXRp
bmdPYmplY3RzLT5zZXQoKSkgeworICAgICAgICBpZiAobG9naWNhbEJvdHRvbUZvckZsb2F0KGZs
b2F0aW5nT2JqZWN0LmdldCgpKSA+IGxvZ2ljYWxUb3BPZmZzZXQpIHsKICAgICAgICAgICAgIGlm
ICghbV9mbG9hdGluZ09iamVjdHMgfHwgIW1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKS5jb250YWlu
czxGbG9hdGluZ09iamVjdCYsIEZsb2F0aW5nT2JqZWN0SGFzaFRyYW5zbGF0b3I+KCpmbG9hdGlu
Z09iamVjdCkpIHsKICAgICAgICAgICAgICAgICAvLyBXZSBjcmVhdGUgdGhlIGZsb2F0aW5nIG9i
amVjdCBsaXN0IGxhemlseS4KICAgICAgICAgICAgICAgICBpZiAoIW1fZmxvYXRpbmdPYmplY3Rz
KQpAQCAtMjc1NiwxNiArMjcxOCwxMyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bWFya1NpYmxp
bmdzV2l0aEZsb2F0c0ZvckxheW91dChSZW5kZXJCb3gqIGZsb2F0VG9SZW1vdmUpCiAgICAgaWYg
KCFtX2Zsb2F0aW5nT2JqZWN0cykKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3QgRmxvYXRp
bmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgp
OwotICAgIGF1dG8gZW5kID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0KICAgICBmb3IgKFJl
bmRlck9iamVjdCogbmV4dCA9IG5leHRTaWJsaW5nKCk7IG5leHQ7IG5leHQgPSBuZXh0LT5uZXh0
U2libGluZygpKSB7CiAgICAgICAgIGlmICghaXM8UmVuZGVyQmxvY2tGbG93PigqbmV4dCkgfHwg
bmV4dC0+aXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29u
dGludWU7CiAKICAgICAgICAgUmVuZGVyQmxvY2tGbG93JiBuZXh0QmxvY2sgPSBkb3duY2FzdDxS
ZW5kZXJCbG9ja0Zsb3c+KCpuZXh0KTsKLSAgICAgICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdP
YmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICBSZW5kZXJC
b3gmIGZsb2F0aW5nQm94ID0gKCppdCktPnJlbmRlcmVyKCk7CisgICAgICAgIGZvciAoYXV0byYg
ZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKKyAgICAgICAgICAg
IFJlbmRlckJveCYgZmxvYXRpbmdCb3ggPSBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKTsKICAg
ICAgICAgICAgIGlmIChmbG9hdFRvUmVtb3ZlICYmICZmbG9hdGluZ0JveCAhPSBmbG9hdFRvUmVt
b3ZlKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgaWYgKG5leHRCbG9j
ay5jb250YWluc0Zsb2F0KGZsb2F0aW5nQm94KSkKQEAgLTI5MjgsMTQgKzI4ODcsMTEgQEAgdm9p
ZCBSZW5kZXJCbG9ja0Zsb3c6OmFkanVzdEZvckJvcmRlckZpdChMYXlvdXRVbml0IHgsIExheW91
dFVuaXQmIGxlZnQsIExheW91dFUKICAgICB9CiAKICAgICBpZiAobV9mbG9hdGluZ09iamVjdHMp
IHsKLSAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0ID0g
bV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgICAgICBhdXRvIGVuZCA9IGZsb2F0aW5nT2Jq
ZWN0U2V0LmVuZCgpOwotICAgICAgICBmb3IgKGF1dG8gaXQgPSBmbG9hdGluZ09iamVjdFNldC5i
ZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgIEZsb2F0aW5nT2JqZWN0KiBy
ID0gaXQtPmdldCgpOworICAgICAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9mbG9h
dGluZ09iamVjdHMtPnNldCgpKSB7CiAgICAgICAgICAgICAvLyBPbmx5IGV4YW1pbmUgdGhlIG9i
amVjdCBpZiBvdXIgbV9zaG91bGRQYWludCBmbGFnIGlzIHNldC4KLSAgICAgICAgICAgIGlmIChy
LT5zaG91bGRQYWludCgpKSB7Ci0gICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBmbG9hdExlZnQg
PSB4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihyKSAtIHItPnJlbmRlcmVyKCkueCgp
OwotICAgICAgICAgICAgICAgIExheW91dFVuaXQgZmxvYXRSaWdodCA9IGZsb2F0TGVmdCArIHIt
PnJlbmRlcmVyKCkud2lkdGgoKTsKKyAgICAgICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+c2hv
dWxkUGFpbnQoKSkgeworICAgICAgICAgICAgICAgIExheW91dFVuaXQgZmxvYXRMZWZ0ID0geFBv
c2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpIC0gZmxv
YXRpbmdPYmplY3QtPnJlbmRlcmVyKCkueCgpOworICAgICAgICAgICAgICAgIExheW91dFVuaXQg
ZmxvYXRSaWdodCA9IGZsb2F0TGVmdCArIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLndpZHRo
KCk7CiAgICAgICAgICAgICAgICAgbGVmdCA9IHN0ZDo6bWluKGxlZnQsIGZsb2F0TGVmdCk7CiAg
ICAgICAgICAgICAgICAgcmlnaHQgPSBzdGQ6Om1heChyaWdodCwgZmxvYXRSaWdodCk7CiAgICAg
ICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tMaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xp
bmVMYXlvdXQuY3BwCmluZGV4IDVlYzA0NzBiYWNjOGFmOGQ1NjRhZTZkZDY3N2YyYzI2MzU1Zjhl
NmYuLmMyNTJlNjk0MzIxZDNkNWM0MjAwYzQ2OTE2YWVkN2FkNTRjMGM2NzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBAIC01
MTIsOSArNTEyLDggQEAgc3RhdGljIGlubGluZSB2b2lkIHNldExvZ2ljYWxXaWR0aEZvclRleHRS
dW4oUm9vdElubGluZUJveCogbGluZUJveCwgQmlkaVJ1biogcnUKICAgICAgICAgICAgIH0gZWxz
ZQogICAgICAgICAgICAgICAgIG1lYXN1cmVkV2lkdGggKz0gd29yZE1lYXN1cmVtZW50LndpZHRo
OwogICAgICAgICAgICAgaWYgKCF3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cy5pc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgICAgICBIYXNoU2V0PGNvbnN0IEZvbnQqPjo6Y29uc3RfaXRlcmF0
b3IgZW5kID0gd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMuZW5kKCk7Ci0gICAgICAgICAg
ICAgICAgZm9yIChIYXNoU2V0PGNvbnN0IEZvbnQqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSB3b3Jk
TWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAg
ICAgICAgICAgICAgICAgIGZhbGxiYWNrRm9udHMuYWRkKCppdCk7CisgICAgICAgICAgICAgICAg
Zm9yIChhdXRvJiBmb250IDogd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMpCisgICAgICAg
ICAgICAgICAgICAgIGZhbGxiYWNrRm9udHMuYWRkKGZvbnQpOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgICAgIGlmIChtZWFzdXJlZFdpZHRoICYmIGxhc3RFbmRPZmZzZXQgIT0gcnVu
LT5tX3N0b3ApIHsKQEAgLTEzMzYsOCArMTMzNSw4IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojps
YXlvdXRSdW5zQW5kRmxvYXRzSW5SYW5nZShMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBJ
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGxpbmVCcmVha2VyLnBvc2l0aW9uZWRPYmplY3RzKCkuc2l6ZSgpOyArK2kpCi0gICAgICAg
ICAgICBzZXRTdGF0aWNQb3NpdGlvbnMoKnRoaXMsICpsaW5lQnJlYWtlci5wb3NpdGlvbmVkT2Jq
ZWN0cygpW2ldKTsKKyAgICAgICAgZm9yIChhdXRvJiBwb3NpdGlvbmVkT2JqZWN0IDogbGluZUJy
ZWFrZXIucG9zaXRpb25lZE9iamVjdHMoKSkKKyAgICAgICAgICAgIHNldFN0YXRpY1Bvc2l0aW9u
cygqdGhpcywgKnBvc2l0aW9uZWRPYmplY3QpOwogCiAgICAgICAgIGlmICghbGF5b3V0U3RhdGUu
bGluZUluZm8oKS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGxheW91dFN0YXRlLmxpbmVJbmZv
KCkuc2V0Rmlyc3RMaW5lKGZhbHNlKTsKQEAgLTE0NTQsOCArMTQ1Myw3IEBAIHZvaWQgUmVuZGVy
QmxvY2tGbG93OjpsaW5rVG9FbmRMaW5lSWZOZWVkZWQoTGluZUxheW91dFN0YXRlJiBsYXlvdXRT
dGF0ZSkKICAgICAgICAgICAgICAgICBpZiAobGF5b3V0U3RhdGUuZmxvd1RocmVhZCgpKQogICAg
ICAgICAgICAgICAgICAgICB1cGRhdGVSZWdpb25Gb3JMaW5lKGxpbmUpOwogICAgICAgICAgICAg
ICAgIGlmIChWZWN0b3I8UmVuZGVyQm94Kj4qIGNsZWFuTGluZUZsb2F0cyA9IGxpbmUtPmZsb2F0
c1B0cigpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byBpdCA9IGNsZWFuTGluZUZs
b2F0cy0+YmVnaW4oKSwgZW5kID0gY2xlYW5MaW5lRmxvYXRzLT5lbmQoKTsgaXQgIT0gZW5kOyAr
K2l0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJCb3gqIGZsb2F0aW5nQm94ID0g
Kml0OworICAgICAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIGZsb2F0aW5nQm94IDogKmNsZWFu
TGluZUZsb2F0cykgewogICAgICAgICAgICAgICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZs
b2F0aW5nT2JqZWN0ID0gaW5zZXJ0RmxvYXRpbmdPYmplY3QoKmZsb2F0aW5nQm94KTsKICAgICAg
ICAgICAgICAgICAgICAgICAgIEFTU0VSVCghZmxvYXRpbmdPYmplY3QtPm9yaWdpbmF0aW5nTGlu
ZSgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5zZXRPcmlnaW5h
dGluZ0xpbmUobGluZSk7CkBAIC0xNTEyLDEzICsxNTEwLDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tG
bG93OjpsaW5rVG9FbmRMaW5lSWZOZWVkZWQoTGluZUxheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSkK
IAogdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnJlcGFpbnREaXJ0eUZsb2F0cyhWZWN0b3I8RmxvYXRX
aXRoUmVjdD4mIGZsb2F0cykKIHsKLSAgICBzaXplX3QgZmxvYXRDb3VudCA9IGZsb2F0cy5zaXpl
KCk7CiAgICAgLy8gRmxvYXRzIHRoYXQgZGlkIG5vdCBoYXZlIGxheW91dCBkaWQgbm90IHJlcGFp
bnQgd2hlbiB3ZSBsYWlkIHRoZW0gb3V0LiBUaGV5IHdvdWxkIGhhdmUKICAgICAvLyBwYWludGVk
IGJ5IG5vdyBpZiB0aGV5IGhhZCBtb3ZlZCwgYnV0IGlmIHRoZXkgc3RheWVkIGF0ICgwLCAwKSwg
dGhleSBzdGlsbCBuZWVkIHRvIGJlCiAgICAgLy8gcGFpbnRlZC4KLSAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGZsb2F0Q291bnQ7ICsraSkgewotICAgICAgICBpZiAoIWZsb2F0c1tpXS5ldmVy
SGFkTGF5b3V0KSB7Ci0gICAgICAgICAgICBSZW5kZXJCb3gmIGJveCA9IGZsb2F0c1tpXS5vYmpl
Y3Q7CisgICAgZm9yIChhdXRvJiBmbG9hdFdpdGhSZWN0IDogZmxvYXRzKSB7CisgICAgICAgIGlm
ICghZmxvYXRXaXRoUmVjdC5ldmVySGFkTGF5b3V0KSB7CisgICAgICAgICAgICBSZW5kZXJCb3gm
IGJveCA9IGZsb2F0V2l0aFJlY3Qub2JqZWN0OwogICAgICAgICAgICAgaWYgKCFib3gueCgpICYm
ICFib3gueSgpICYmIGJveC5jaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSkKICAgICAgICAg
ICAgICAgICBib3gucmVwYWludCgpOwogICAgICAgICB9CkBAIC0xNjA2LDggKzE2MDMsOCBAQCB2
b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0TGluZUJveGVzKGJvb2wgcmVsYXlvdXRDaGlsZHJl
biwgTGF5b3V0VW5pdCYgcmVwYWludAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZXBsYWNlZENoaWxkcmVuLnNpemUoKTsgaSsrKQot
ICAgICAgICAgICAgIHJlcGxhY2VkQ2hpbGRyZW5baV0tPmxheW91dElmTmVlZGVkKCk7CisgICAg
ICAgIGZvciAoYXV0byYgY2hpbGQgOiByZXBsYWNlZENoaWxkcmVuKQorICAgICAgICAgICAgY2hp
bGQtPmxheW91dElmTmVlZGVkKCk7CiAKICAgICAgICAgbGF5b3V0UnVuc0FuZEZsb2F0cyhsYXlv
dXRTdGF0ZSwgaGFzSW5saW5lQ2hpbGQpOwogICAgIH0KQEAgLTE2NDUsOCArMTY0Miw3IEBAIHZv
aWQgUmVuZGVyQmxvY2tGbG93OjpjaGVja0Zsb2F0c0luQ2xlYW5MaW5lKFJvb3RJbmxpbmVCb3gq
IGxpbmUsIFZlY3RvcjxGbG9hdFdpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBmb3Ig
KGF1dG8gaXQgPSBjbGVhbkxpbmVGbG9hdHMtPmJlZ2luKCksIGVuZCA9IGNsZWFuTGluZUZsb2F0
cy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBSZW5kZXJCb3gqIGZsb2F0aW5n
Qm94ID0gKml0OworICAgIGZvciAoYXV0byYgZmxvYXRpbmdCb3ggOiAqY2xlYW5MaW5lRmxvYXRz
KSB7CiAgICAgICAgIGZsb2F0aW5nQm94LT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAgICBMYXlv
dXRTaXplIG5ld1NpemUoZmxvYXRpbmdCb3gtPndpZHRoKCkgKyBmbG9hdGluZ0JveC0+aG9yaXpv
bnRhbE1hcmdpbkV4dGVudCgpLCBmbG9hdGluZ0JveC0+aGVpZ2h0KCkgKyBmbG9hdGluZ0JveC0+
dmVydGljYWxNYXJnaW5FeHRlbnQoKSk7CiAgICAgICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lN
UExJQ0FUSU9OKGZsb2F0SW5kZXggPCBmbG9hdHMuc2l6ZSgpKTsKQEAgLTE3NDcsOCArMTc0Myw3
IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrRmxvdzo6ZGV0ZXJtaW5lU3RhcnRQb3NpdGlv
bihMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIGxpbmUg
PSBmaXJzdFJvb3RCb3goKTsKICAgICAgICAgd2hpbGUgKGxpbmUgIT0gY3VycikgewogICAgICAg
ICAgICAgaWYgKFZlY3RvcjxSZW5kZXJCb3gqPiogY2xlYW5MaW5lRmxvYXRzID0gbGluZS0+Zmxv
YXRzUHRyKCkpIHsKLSAgICAgICAgICAgICAgICBmb3IgKGF1dG8gaXQgPSBjbGVhbkxpbmVGbG9h
dHMtPmJlZ2luKCksIGVuZCA9IGNsZWFuTGluZUZsb2F0cy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytp
dCkgewotICAgICAgICAgICAgICAgICAgICBSZW5kZXJCb3gqIGZsb2F0aW5nQm94ID0gKml0Owor
ICAgICAgICAgICAgICAgIGZvciAoYXV0byYgZmxvYXRpbmdCb3ggOiAqY2xlYW5MaW5lRmxvYXRz
KSB7CiAgICAgICAgICAgICAgICAgICAgIEZsb2F0aW5nT2JqZWN0KiBmbG9hdGluZ09iamVjdCA9
IGluc2VydEZsb2F0aW5nT2JqZWN0KCpmbG9hdGluZ0JveCk7CiAgICAgICAgICAgICAgICAgICAg
IEFTU0VSVCghZmxvYXRpbmdPYmplY3QtPm9yaWdpbmF0aW5nTGluZSgpKTsKICAgICAgICAgICAg
ICAgICAgICAgZmxvYXRpbmdPYmplY3QtPnNldE9yaWdpbmF0aW5nTGluZShsaW5lKTsKQEAgLTE4
NTUsMTEgKzE4NTAsOCBAQCBib29sIFJlbmRlckJsb2NrRmxvdzo6Y2hlY2tQYWdpbmF0aW9uQW5k
RmxvYXRzQXRFbmRMaW5lKExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0UwogCiAgICAgTGF5b3V0VW5p
dCBsb2dpY2FsQm90dG9tID0gbGFzdExpbmUtPmxpbmVCb3R0b21XaXRoTGVhZGluZygpICsgYWJz
b2x1dGVWYWx1ZShsaW5lRGVsdGEpOwogCi0gICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZs
b2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgIGF1dG8gZW5k
ID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdP
YmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEZsb2F0aW5nT2Jq
ZWN0KiBmbG9hdGluZ09iamVjdCA9IGl0LT5nZXQoKTsKLSAgICAgICAgaWYgKGxvZ2ljYWxCb3R0
b21Gb3JGbG9hdChmbG9hdGluZ09iamVjdCkgPj0gbG9naWNhbFRvcCAmJiBsb2dpY2FsQm90dG9t
Rm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpIDwgbG9naWNhbEJvdHRvbSkKKyAgICBmb3IgKGF1dG8m
IGZsb2F0aW5nT2JqZWN0IDogbV9mbG9hdGluZ09iamVjdHMtPnNldCgpKSB7CisgICAgICAgIGlm
IChsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpID49IGxvZ2ljYWxU
b3AgJiYgbG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LmdldCgpKSA8IGxvZ2lj
YWxCb3R0b20pCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAKaW5kZXggOTE4YTRmODhhMjNkOTZkOGFl
NWUyMzY2OTU2NzE3ODBhMDkzNjI3ZS4uMTQxMjI1OGU3YzllYTViZTdhMjcwYWFjNGUxOTIxMjE2
NWNjOWZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcApA
QCAtNDU1LDExICs0NTUsOCBAQCB2b2lkIFJlbmRlckNvdW50ZXI6OmRlc3Ryb3lDb3VudGVyTm9k
ZXMoUmVuZGVyRWxlbWVudCYgb3duZXIpCiAgICAgQ291bnRlck1hcHM6Oml0ZXJhdG9yIG1hcHNJ
dGVyYXRvciA9IG1hcHMuZmluZCgmb3duZXIpOwogICAgIGlmIChtYXBzSXRlcmF0b3IgPT0gbWFw
cy5lbmQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIENvdW50ZXJNYXAqIG1hcCA9IG1hcHNJdGVy
YXRvci0+dmFsdWUuZ2V0KCk7Ci0gICAgQ291bnRlck1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0g
bWFwLT5lbmQoKTsKLSAgICBmb3IgKENvdW50ZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbWFw
LT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgZGVzdHJveUNvdW50ZXJOb2Rl
V2l0aG91dE1hcFJlbW92YWwoaXQtPmtleSwgaXQtPnZhbHVlLmdldCgpKTsKLSAgICB9CisgICAg
Zm9yIChhdXRvJiBjb3VudGVyIDogKm1hcHNJdGVyYXRvci0+dmFsdWUuZ2V0KCkpCisgICAgICAg
IGRlc3Ryb3lDb3VudGVyTm9kZVdpdGhvdXRNYXBSZW1vdmFsKGNvdW50ZXIua2V5LCBjb3VudGVy
LnZhbHVlLmdldCgpKTsKICAgICBtYXBzLnJlbW92ZShtYXBzSXRlcmF0b3IpOwogICAgIG93bmVy
LnNldEhhc0NvdW50ZXJOb2RlTWFwKGZhbHNlKTsKIH0KQEAgLTUwOCwyNSArNTA1LDI0IEBAIHN0
YXRpYyB2b2lkIHVwZGF0ZUNvdW50ZXJzKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogICAgIGNv
bnN0IENvdW50ZXJEaXJlY3RpdmVNYXAqIGRpcmVjdGl2ZU1hcCA9IHJlbmRlcmVyLnN0eWxlKCku
Y291bnRlckRpcmVjdGl2ZXMoKTsKICAgICBpZiAoIWRpcmVjdGl2ZU1hcCkKICAgICAgICAgcmV0
dXJuOwotICAgIENvdW50ZXJEaXJlY3RpdmVNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGRpcmVj
dGl2ZU1hcC0+ZW5kKCk7CiAgICAgaWYgKCFyZW5kZXJlci5oYXNDb3VudGVyTm9kZU1hcCgpKSB7
Ci0gICAgICAgIGZvciAoQ291bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBk
aXJlY3RpdmVNYXAtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgICAgIG1ha2VD
b3VudGVyTm9kZShyZW5kZXJlciwgaXQtPmtleSwgZmFsc2UpOworICAgICAgICBmb3IgKGF1dG8m
IGtleSA6IGRpcmVjdGl2ZU1hcC0+a2V5cygpKQorICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2Rl
KHJlbmRlcmVyLCBrZXksIGZhbHNlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBDb3Vu
dGVyTWFwKiBjb3VudGVyTWFwID0gY291bnRlck1hcHMoKS5nZXQoJnJlbmRlcmVyKTsKICAgICBB
U1NFUlQoY291bnRlck1hcCk7Ci0gICAgZm9yIChDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25zdF9p
dGVyYXRvciBpdCA9IGRpcmVjdGl2ZU1hcC0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0g
ICAgICAgIFJlZlB0cjxDb3VudGVyTm9kZT4gbm9kZSA9IGNvdW50ZXJNYXAtPmdldChpdC0+a2V5
KTsKKyAgICBmb3IgKGF1dG8mIGtleSA6IGRpcmVjdGl2ZU1hcC0+a2V5cygpKSB7CisgICAgICAg
IFJlZlB0cjxDb3VudGVyTm9kZT4gbm9kZSA9IGNvdW50ZXJNYXAtPmdldChrZXkpOwogICAgICAg
ICBpZiAoIW5vZGUpIHsKLSAgICAgICAgICAgIG1ha2VDb3VudGVyTm9kZShyZW5kZXJlciwgaXQt
PmtleSwgZmFsc2UpOworICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBrZXks
IGZhbHNlKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIFJlZlB0
cjxDb3VudGVyTm9kZT4gbmV3UGFyZW50ID0gMDsKICAgICAgICAgUmVmUHRyPENvdW50ZXJOb2Rl
PiBuZXdQcmV2aW91c1NpYmxpbmcgPSAwOwogICAgICAgICAKLSAgICAgICAgZmluZFBsYWNlRm9y
Q291bnRlcihyZW5kZXJlciwgaXQtPmtleSwgbm9kZS0+aGFzUmVzZXRUeXBlKCksIG5ld1BhcmVu
dCwgbmV3UHJldmlvdXNTaWJsaW5nKTsKLSAgICAgICAgaWYgKG5vZGUgIT0gY291bnRlck1hcC0+
Z2V0KGl0LT5rZXkpKQorICAgICAgICBmaW5kUGxhY2VGb3JDb3VudGVyKHJlbmRlcmVyLCBrZXks
IG5vZGUtPmhhc1Jlc2V0VHlwZSgpLCBuZXdQYXJlbnQsIG5ld1ByZXZpb3VzU2libGluZyk7Cisg
ICAgICAgIGlmIChub2RlICE9IGNvdW50ZXJNYXAtPmdldChrZXkpKQogICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgIENvdW50ZXJOb2RlKiBwYXJlbnQgPSBub2RlLT5wYXJlbnQoKTsKICAg
ICAgICAgaWYgKG5ld1BhcmVudCA9PSBwYXJlbnQgJiYgbmV3UHJldmlvdXNTaWJsaW5nID09IG5v
ZGUtPnByZXZpb3VzU2libGluZygpKQpAQCAtNTM0LDcgKzUzMCw3IEBAIHN0YXRpYyB2b2lkIHVw
ZGF0ZUNvdW50ZXJzKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogICAgICAgICBpZiAocGFyZW50
KQogICAgICAgICAgICAgcGFyZW50LT5yZW1vdmVDaGlsZChub2RlLmdldCgpKTsKICAgICAgICAg
aWYgKG5ld1BhcmVudCkKLSAgICAgICAgICAgIG5ld1BhcmVudC0+aW5zZXJ0QWZ0ZXIobm9kZS5n
ZXQoKSwgbmV3UHJldmlvdXNTaWJsaW5nLmdldCgpLCBpdC0+a2V5KTsKKyAgICAgICAgICAgIG5l
d1BhcmVudC0+aW5zZXJ0QWZ0ZXIobm9kZS5nZXQoKSwgbmV3UHJldmlvdXNTaWJsaW5nLmdldCgp
LCBrZXkpOwogICAgIH0KIH0KIApAQCAtNTY0LDM2ICs1NjAsMzMgQEAgdm9pZCBSZW5kZXJDb3Vu
dGVyOjpyZW5kZXJlclN0eWxlQ2hhbmdlZChSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3Qg
UmVuZGVyU3QKICAgICBjb25zdCBDb3VudGVyRGlyZWN0aXZlTWFwKiBvbGRDb3VudGVyRGlyZWN0
aXZlczsKICAgICBpZiAob2xkU3R5bGUgJiYgKG9sZENvdW50ZXJEaXJlY3RpdmVzID0gb2xkU3R5
bGUtPmNvdW50ZXJEaXJlY3RpdmVzKCkpKSB7CiAgICAgICAgIGlmIChuZXdTdHlsZSAmJiAobmV3
Q291bnRlckRpcmVjdGl2ZXMgPSBuZXdTdHlsZS0+Y291bnRlckRpcmVjdGl2ZXMoKSkpIHsKLSAg
ICAgICAgICAgIENvdW50ZXJEaXJlY3RpdmVNYXA6OmNvbnN0X2l0ZXJhdG9yIG5ld01hcEVuZCA9
IG5ld0NvdW50ZXJEaXJlY3RpdmVzLT5lbmQoKTsKLSAgICAgICAgICAgIENvdW50ZXJEaXJlY3Rp
dmVNYXA6OmNvbnN0X2l0ZXJhdG9yIG9sZE1hcEVuZCA9IG9sZENvdW50ZXJEaXJlY3RpdmVzLT5l
bmQoKTsKLSAgICAgICAgICAgIGZvciAoQ291bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0
b3IgaXQgPSBuZXdDb3VudGVyRGlyZWN0aXZlcy0+YmVnaW4oKTsgaXQgIT0gbmV3TWFwRW5kOyAr
K2l0KSB7Ci0gICAgICAgICAgICAgICAgQ291bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0
b3Igb2xkTWFwSXQgPSBvbGRDb3VudGVyRGlyZWN0aXZlcy0+ZmluZChpdC0+a2V5KTsKLSAgICAg
ICAgICAgICAgICBpZiAob2xkTWFwSXQgIT0gb2xkTWFwRW5kKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmIChvbGRNYXBJdC0+dmFsdWUgPT0gaXQtPnZhbHVlKQorICAgICAgICAgICAgZm9yIChh
dXRvJiBkaXJlY3RpdmUgOiAqbmV3Q291bnRlckRpcmVjdGl2ZXMpIHsKKyAgICAgICAgICAgICAg
ICBhdXRvIG9sZE1hcEl0ID0gb2xkQ291bnRlckRpcmVjdGl2ZXMtPmZpbmQoZGlyZWN0aXZlLmtl
eSk7CisgICAgICAgICAgICAgICAgaWYgKG9sZE1hcEl0ICE9IG9sZENvdW50ZXJEaXJlY3RpdmVz
LT5lbmQoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAob2xkTWFwSXQtPnZhbHVlID09IGRp
cmVjdGl2ZS52YWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJDb3VudGVyOjpkZXN0cm95Q291bnRlck5vZGUocmVuZGVyZXIs
IGl0LT5rZXkpOworICAgICAgICAgICAgICAgICAgICBSZW5kZXJDb3VudGVyOjpkZXN0cm95Q291
bnRlck5vZGUocmVuZGVyZXIsIGRpcmVjdGl2ZS5rZXkpOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAvLyBXZSBtdXN0IGNyZWF0ZSB0aGlzIG5vZGUgaGVyZSwgYmVjYXVzZSB0
aGUgY2hhbmdlZCBub2RlIG1heSBiZSBhIG5vZGUgd2l0aCBubyBkaXNwbGF5IHN1Y2ggYXMKICAg
ICAgICAgICAgICAgICAvLyBhcyB0aG9zZSBjcmVhdGVkIGJ5IHRoZSBpbmNyZW1lbnQgb3IgcmVz
ZXQgZGlyZWN0aXZlcyBhbmQgdGhlIHJlLWxheW91dCB0aGF0IHdpbGwgaGFwcGVuIHdpbGwKICAg
ICAgICAgICAgICAgICAvLyBub3QgY2F0Y2ggdGhlIGNoYW5nZSBpZiB0aGUgbm9kZSBoYWQgbm8g
Y2hpbGRyZW4uCi0gICAgICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBpdC0+
a2V5LCBmYWxzZSk7CisgICAgICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBk
aXJlY3RpdmUua2V5LCBmYWxzZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBEZXN0
cm95aW5nIG9sZCBjb3VudGVycyB0aGF0IGRvIG5vdCBleGlzdCBpbiB0aGUgbmV3IGNvdW50ZXJE
aXJlY3RpdmUgbWFwLgotICAgICAgICAgICAgZm9yIChDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25z
dF9pdGVyYXRvciBpdCA9IG9sZENvdW50ZXJEaXJlY3RpdmVzLT5iZWdpbigpOyBpdCAhPW9sZE1h
cEVuZDsgKytpdCkgewotICAgICAgICAgICAgICAgIGlmICghbmV3Q291bnRlckRpcmVjdGl2ZXMt
PmNvbnRhaW5zKGl0LT5rZXkpKQotICAgICAgICAgICAgICAgICAgICBSZW5kZXJDb3VudGVyOjpk
ZXN0cm95Q291bnRlck5vZGUocmVuZGVyZXIsIGl0LT5rZXkpOworICAgICAgICAgICAgZm9yIChh
dXRvJiBrZXkgOiBvbGRDb3VudGVyRGlyZWN0aXZlcy0+a2V5cygpKSB7CisgICAgICAgICAgICAg
ICAgaWYgKCFuZXdDb3VudGVyRGlyZWN0aXZlcy0+Y29udGFpbnMoa2V5KSkKKyAgICAgICAgICAg
ICAgICAgICAgUmVuZGVyQ291bnRlcjo6ZGVzdHJveUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBrZXkp
OwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKHJlbmRl
cmVyLmhhc0NvdW50ZXJOb2RlTWFwKCkpCiAgICAgICAgICAgICAgICAgUmVuZGVyQ291bnRlcjo6
ZGVzdHJveUNvdW50ZXJOb2RlcyhyZW5kZXJlcik7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYg
KG5ld1N0eWxlICYmIChuZXdDb3VudGVyRGlyZWN0aXZlcyA9IG5ld1N0eWxlLT5jb3VudGVyRGly
ZWN0aXZlcygpKSkgewotICAgICAgICBDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25zdF9pdGVyYXRv
ciBuZXdNYXBFbmQgPSBuZXdDb3VudGVyRGlyZWN0aXZlcy0+ZW5kKCk7Ci0gICAgICAgIGZvciAo
Q291bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBuZXdDb3VudGVyRGlyZWN0
aXZlcy0+YmVnaW4oKTsgaXQgIT0gbmV3TWFwRW5kOyArK2l0KSB7CisgICAgICAgIGZvciAoYXV0
byYga2V5IDogbmV3Q291bnRlckRpcmVjdGl2ZXMtPmtleXMoKSkgewogICAgICAgICAgICAgLy8g
V2UgbXVzdCBjcmVhdGUgdGhpcyBub2RlIGhlcmUsIGJlY2F1c2UgdGhlIGFkZGVkIG5vZGUgbWF5
IGJlIGEgbm9kZSB3aXRoIG5vIGRpc3BsYXkgc3VjaCBhcwogICAgICAgICAgICAgLy8gYXMgdGhv
c2UgY3JlYXRlZCBieSB0aGUgaW5jcmVtZW50IG9yIHJlc2V0IGRpcmVjdGl2ZXMgYW5kIHRoZSBy
ZS1sYXlvdXQgdGhhdCB3aWxsIGhhcHBlbiB3aWxsCiAgICAgICAgICAgICAvLyBub3QgY2F0Y2gg
dGhlIGNoYW5nZSBpZiB0aGUgbm9kZSBoYWQgbm8gY2hpbGRyZW4uCi0gICAgICAgICAgICBtYWtl
Q291bnRlck5vZGUocmVuZGVyZXIsIGl0LT5rZXksIGZhbHNlKTsKKyAgICAgICAgICAgIG1ha2VD
b3VudGVyTm9kZShyZW5kZXJlciwga2V5LCBmYWxzZSk7CiAgICAgICAgIH0KICAgICB9CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCAw
ZDVhMDM2YTU3ZThjNDhlODE1ZmU1Yjg5ZGEyNzUxODVkMGY1ZmVmLi41NTE2MDUyOGZhZWMzNmFh
NTU2NzQyMjZhNTFkYTVhMDU4YjU3NThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAgLTcxMyw4ICs3MTMsNyBAQCBMYXlvdXRVbml0IFJl
bmRlckZsZXhpYmxlQm94OjphdXRvTWFyZ2luT2Zmc2V0SW5NYWluQXhpcyhjb25zdCBPcmRlcmVk
RmxleEl0ZW1MaQogCiAgICAgaW50IG51bWJlck9mQXV0b01hcmdpbnMgPSAwOwogICAgIGJvb2wg
aXNIb3Jpem9udGFsID0gaXNIb3Jpem9udGFsRmxvdygpOwotICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgY2hpbGRyZW4uc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgUmVuZGVyQm94KiBjaGlsZCA9
IGNoaWxkcmVuW2ldOworICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbikgewogICAgICAg
ICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgIGlmIChpc0hvcml6b250YWwpIHsKQEAgLTg5OCw5ICs4OTcsOSBAQCBib29s
IFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTmV4dEZsZXhMaW5lKE9yZGVyZWRGbGV4SXRlbUxp
c3QmIG9yZGVyZWRDaGlsZHJlbgogCiB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpmcmVlemVWaW9s
YXRpb25zKGNvbnN0IFZlY3RvcjxWaW9sYXRpb24+JiB2aW9sYXRpb25zLCBMYXlvdXRVbml0JiBh
dmFpbGFibGVGcmVlU3BhY2UsIGRvdWJsZSYgdG90YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdl
aWdodGVkRmxleFNocmluaywgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYgaW5mbGV4aWJsZUl0ZW1z
LCBib29sIGhhc0luZmluaXRlTGluZUxlbmd0aCkKIHsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHZpb2xhdGlvbnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgUmVuZGVyQm94JiBjaGlsZCA9
IHZpb2xhdGlvbnNbaV0uY2hpbGQ7Ci0gICAgICAgIExheW91dFVuaXQgY2hpbGRTaXplID0gdmlv
bGF0aW9uc1tpXS5jaGlsZFNpemU7CisgICAgZm9yIChhdXRvJiB2aW9sYXRpb24gOiB2aW9sYXRp
b25zKSB7CisgICAgICAgIFJlbmRlckJveCYgY2hpbGQgPSB2aW9sYXRpb24uY2hpbGQ7CisgICAg
ICAgIExheW91dFVuaXQgY2hpbGRTaXplID0gdmlvbGF0aW9uLmNoaWxkU2l6ZTsKICAgICAgICAg
TGF5b3V0VW5pdCBwcmVmZXJyZWRDaGlsZFNpemUgPSBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRF
eHRlbnRGb3JDaGlsZChjaGlsZCwgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKTsKICAgICAgICAgYXZh
aWxhYmxlRnJlZVNwYWNlIC09IGNoaWxkU2l6ZSAtIHByZWZlcnJlZENoaWxkU2l6ZTsKICAgICAg
ICAgdG90YWxGbGV4R3JvdyAtPSBjaGlsZC5zdHlsZSgpLmZsZXhHcm93KCk7CkBAIC05MTcsMzUg
KzkxNiwzNCBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94OjpyZXNvbHZlRmxleGlibGVMZW5ndGhz
KEZsZXhTaWduIGZsZXhTaWduLCBjb25zdCBPcmRlcmVkRgogICAgIExheW91dFVuaXQgdXNlZEZy
ZWVTcGFjZSA9IDA7CiAgICAgVmVjdG9yPFZpb2xhdGlvbj4gbWluVmlvbGF0aW9uczsKICAgICBW
ZWN0b3I8VmlvbGF0aW9uPiBtYXhWaW9sYXRpb25zOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgY2hpbGRyZW4uc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgUmVuZGVyQm94JiBjaGlsZCA9ICpj
aGlsZHJlbltpXTsKLSAgICAgICAgaWYgKGNoaWxkLmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKSB7
CisgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuKSB7CisgICAgICAgIGlmIChjaGlsZC0+
aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpIHsKICAgICAgICAgICAgIGNoaWxkU2l6ZXMuYXBwZW5k
KDApOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoaW5m
bGV4aWJsZUl0ZW1zLmNvbnRhaW5zKCZjaGlsZCkpCi0gICAgICAgICAgICBjaGlsZFNpemVzLmFw
cGVuZChpbmZsZXhpYmxlSXRlbXMuZ2V0KCZjaGlsZCkpOworICAgICAgICBpZiAoaW5mbGV4aWJs
ZUl0ZW1zLmNvbnRhaW5zKGNoaWxkKSkKKyAgICAgICAgICAgIGNoaWxkU2l6ZXMuYXBwZW5kKGlu
ZmxleGlibGVJdGVtcy5nZXQoY2hpbGQpKTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBM
YXlvdXRVbml0IHByZWZlcnJlZENoaWxkU2l6ZSA9IHByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4
dGVudEZvckNoaWxkKGNoaWxkLCBoYXNJbmZpbml0ZUxpbmVMZW5ndGgpOworICAgICAgICAgICAg
TGF5b3V0VW5pdCBwcmVmZXJyZWRDaGlsZFNpemUgPSBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRF
eHRlbnRGb3JDaGlsZCgqY2hpbGQsIGhhc0luZmluaXRlTGluZUxlbmd0aCk7CiAgICAgICAgICAg
ICBMYXlvdXRVbml0IGNoaWxkU2l6ZSA9IHByZWZlcnJlZENoaWxkU2l6ZTsKICAgICAgICAgICAg
IGRvdWJsZSBleHRyYVNwYWNlID0gMDsKICAgICAgICAgICAgIGlmIChhdmFpbGFibGVGcmVlU3Bh
Y2UgPiAwICYmIHRvdGFsRmxleEdyb3cgPiAwICYmIGZsZXhTaWduID09IFBvc2l0aXZlRmxleGli
aWxpdHkgJiYgc3RkOjppc2Zpbml0ZSh0b3RhbEZsZXhHcm93KSkKLSAgICAgICAgICAgICAgICBl
eHRyYVNwYWNlID0gYXZhaWxhYmxlRnJlZVNwYWNlICogY2hpbGQuc3R5bGUoKS5mbGV4R3Jvdygp
IC8gdG90YWxGbGV4R3JvdzsKKyAgICAgICAgICAgICAgICBleHRyYVNwYWNlID0gYXZhaWxhYmxl
RnJlZVNwYWNlICogY2hpbGQtPnN0eWxlKCkuZmxleEdyb3coKSAvIHRvdGFsRmxleEdyb3c7CiAg
ICAgICAgICAgICBlbHNlIGlmIChhdmFpbGFibGVGcmVlU3BhY2UgPCAwICYmIHRvdGFsV2VpZ2h0
ZWRGbGV4U2hyaW5rID4gMCAmJiBmbGV4U2lnbiA9PSBOZWdhdGl2ZUZsZXhpYmlsaXR5ICYmIHN0
ZDo6aXNmaW5pdGUodG90YWxXZWlnaHRlZEZsZXhTaHJpbmspKQotICAgICAgICAgICAgICAgIGV4
dHJhU3BhY2UgPSBhdmFpbGFibGVGcmVlU3BhY2UgKiBjaGlsZC5zdHlsZSgpLmZsZXhTaHJpbmso
KSAqIHByZWZlcnJlZENoaWxkU2l6ZSAvIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rOworICAgICAg
ICAgICAgICAgIGV4dHJhU3BhY2UgPSBhdmFpbGFibGVGcmVlU3BhY2UgKiBjaGlsZC0+c3R5bGUo
KS5mbGV4U2hyaW5rKCkgKiBwcmVmZXJyZWRDaGlsZFNpemUgLyB0b3RhbFdlaWdodGVkRmxleFNo
cmluazsKICAgICAgICAgICAgIGlmIChzdGQ6OmlzZmluaXRlKGV4dHJhU3BhY2UpKQogICAgICAg
ICAgICAgICAgIGNoaWxkU2l6ZSArPSBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChleHRyYVNw
YWNlKTsKIAotICAgICAgICAgICAgTGF5b3V0VW5pdCBhZGp1c3RlZENoaWxkU2l6ZSA9IGFkanVz
dENoaWxkU2l6ZUZvck1pbkFuZE1heChjaGlsZCwgY2hpbGRTaXplKTsKKyAgICAgICAgICAgIExh
eW91dFVuaXQgYWRqdXN0ZWRDaGlsZFNpemUgPSBhZGp1c3RDaGlsZFNpemVGb3JNaW5BbmRNYXgo
KmNoaWxkLCBjaGlsZFNpemUpOwogICAgICAgICAgICAgY2hpbGRTaXplcy5hcHBlbmQoYWRqdXN0
ZWRDaGlsZFNpemUpOwogICAgICAgICAgICAgdXNlZEZyZWVTcGFjZSArPSBhZGp1c3RlZENoaWxk
U2l6ZSAtIHByZWZlcnJlZENoaWxkU2l6ZTsKIAogICAgICAgICAgICAgTGF5b3V0VW5pdCB2aW9s
YXRpb24gPSBhZGp1c3RlZENoaWxkU2l6ZSAtIGNoaWxkU2l6ZTsKICAgICAgICAgICAgIGlmICh2
aW9sYXRpb24gPiAwKQotICAgICAgICAgICAgICAgIG1pblZpb2xhdGlvbnMuYXBwZW5kKFZpb2xh
dGlvbihjaGlsZCwgYWRqdXN0ZWRDaGlsZFNpemUpKTsKKyAgICAgICAgICAgICAgICBtaW5WaW9s
YXRpb25zLmFwcGVuZChWaW9sYXRpb24oKmNoaWxkLCBhZGp1c3RlZENoaWxkU2l6ZSkpOwogICAg
ICAgICAgICAgZWxzZSBpZiAodmlvbGF0aW9uIDwgMCkKLSAgICAgICAgICAgICAgICBtYXhWaW9s
YXRpb25zLmFwcGVuZChWaW9sYXRpb24oY2hpbGQsIGFkanVzdGVkQ2hpbGRTaXplKSk7CisgICAg
ICAgICAgICAgICAgbWF4VmlvbGF0aW9ucy5hcHBlbmQoVmlvbGF0aW9uKCpjaGlsZCwgYWRqdXN0
ZWRDaGlsZFNpemUpKTsKICAgICAgICAgICAgIHRvdGFsVmlvbGF0aW9uICs9IHZpb2xhdGlvbjsK
ICAgICAgICAgfQogICAgIH0KQEAgLTEwMzAsOCArMTAyOCw3IEBAIEl0ZW1Qb3NpdGlvbiBSZW5k
ZXJGbGV4aWJsZUJveDo6YWxpZ25tZW50Rm9yQ2hpbGQoUmVuZGVyQm94JiBjaGlsZCkgY29uc3QK
IHNpemVfdCBSZW5kZXJGbGV4aWJsZUJveDo6bnVtYmVyT2ZJbkZsb3dQb3NpdGlvbmVkQ2hpbGRy
ZW4oY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYgY2hpbGRyZW4pIGNvbnN0CiB7CiAgICAgc2l6
ZV90IGNvdW50ID0gMDsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNoaWxkcmVuLnNpemUo
KTsgKytpKSB7Ci0gICAgICAgIFJlbmRlckJveCogY2hpbGQgPSBjaGlsZHJlbltpXTsKKyAgICBm
b3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW4pIHsKICAgICAgICAgaWYgKCFjaGlsZC0+aXNPdXRP
ZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgICAgICArK2NvdW50OwogICAgIH0KQEAgLTExNTUs
MTcgKzExNTIsMTYgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0Q29sdW1uUmV2ZXJz
ZShjb25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBjaGlsZHJlbiwKICAgICBtYWluQXhpc09mZnNl
dCAtPSBpc0hvcml6b250YWxGbG93KCkgPyB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCkgOiBob3Jp
em9udGFsU2Nyb2xsYmFySGVpZ2h0KCk7CiAKICAgICBzaXplX3Qgc2VlbkluRmxvd1Bvc2l0aW9u
ZWRDaGlsZHJlbiA9IDA7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjaGlsZHJlbi5zaXpl
KCk7ICsraSkgewotICAgICAgICBSZW5kZXJCb3gmIGNoaWxkID0gKmNoaWxkcmVuW2ldOwotICAg
ICAgICBpZiAoY2hpbGQuaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpIHsKLSAgICAgICAgICAgIGNo
aWxkLmxheWVyKCktPnNldFN0YXRpY0Jsb2NrUG9zaXRpb24obWFpbkF4aXNPZmZzZXQpOworICAg
IGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbikgeworICAgICAgICBpZiAoY2hpbGQtPmlzT3V0
T2ZGbG93UG9zaXRpb25lZCgpKSB7CisgICAgICAgICAgICBjaGlsZC0+bGF5ZXIoKS0+c2V0U3Rh
dGljQmxvY2tQb3NpdGlvbihtYWluQXhpc09mZnNldCk7CiAgICAgICAgICAgICBjb250aW51ZTsK
ICAgICAgICAgfQotICAgICAgICBtYWluQXhpc09mZnNldCAtPSBtYWluQXhpc0V4dGVudEZvckNo
aWxkKGNoaWxkKSArIGZsb3dBd2FyZU1hcmdpbkVuZEZvckNoaWxkKGNoaWxkKTsKKyAgICAgICAg
bWFpbkF4aXNPZmZzZXQgLT0gbWFpbkF4aXNFeHRlbnRGb3JDaGlsZCgqY2hpbGQpICsgZmxvd0F3
YXJlTWFyZ2luRW5kRm9yQ2hpbGQoKmNoaWxkKTsKIAotICAgICAgICBzZXRGbG93QXdhcmVMb2Nh
dGlvbkZvckNoaWxkKGNoaWxkLCBMYXlvdXRQb2ludChtYWluQXhpc09mZnNldCwgY3Jvc3NBeGlz
T2Zmc2V0ICsgZmxvd0F3YXJlTWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hpbGQpKSk7CisgICAgICAg
IHNldEZsb3dBd2FyZUxvY2F0aW9uRm9yQ2hpbGQoKmNoaWxkLCBMYXlvdXRQb2ludChtYWluQXhp
c09mZnNldCwgY3Jvc3NBeGlzT2Zmc2V0ICsgZmxvd0F3YXJlTWFyZ2luQmVmb3JlRm9yQ2hpbGQo
KmNoaWxkKSkpOwogCi0gICAgICAgIG1haW5BeGlzT2Zmc2V0IC09IGZsb3dBd2FyZU1hcmdpblN0
YXJ0Rm9yQ2hpbGQoY2hpbGQpOworICAgICAgICBtYWluQXhpc09mZnNldCAtPSBmbG93QXdhcmVN
YXJnaW5TdGFydEZvckNoaWxkKCpjaGlsZCk7CiAKICAgICAgICAgKytzZWVuSW5GbG93UG9zaXRp
b25lZENoaWxkcmVuOwogICAgICAgICBpZiAoc2VlbkluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbiA8
IG51bWJlck9mQ2hpbGRyZW5Gb3JKdXN0aWZ5Q29udGVudCkKQEAgLTEyMDksMTggKzEyMDUsMTgg
QEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6YWxpZ25GbGV4TGluZXMoVmVjdG9yPExpbmVDb250
ZXh0PiYgbGluZUNvbnRleHRzKQogICAgICAgICByZXR1cm47CiAKICAgICBMYXlvdXRVbml0IGF2
YWlsYWJsZUNyb3NzQXhpc1NwYWNlID0gY3Jvc3NBeGlzQ29udGVudEV4dGVudCgpOwotICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbGluZUNvbnRleHRzLnNpemUoKTsgKytpKQotICAgICAgICBh
dmFpbGFibGVDcm9zc0F4aXNTcGFjZSAtPSBsaW5lQ29udGV4dHNbaV0uY3Jvc3NBeGlzRXh0ZW50
OworICAgIGZvciAoYXV0byYgbGluZUNvbnRleHQgOiBsaW5lQ29udGV4dHMpCisgICAgICAgIGF2
YWlsYWJsZUNyb3NzQXhpc1NwYWNlIC09IGxpbmVDb250ZXh0LmNyb3NzQXhpc0V4dGVudDsKIAog
ICAgIFJlbmRlckJveCogY2hpbGQgPSBtX29yZGVySXRlcmF0b3IuZmlyc3QoKTsKICAgICBMYXlv
dXRVbml0IGxpbmVPZmZzZXQgPSBpbml0aWFsQWxpZ25Db250ZW50T2Zmc2V0KGF2YWlsYWJsZUNy
b3NzQXhpc1NwYWNlLCBwb3NpdGlvbiwgZGlzdHJpYnV0aW9uLCBsaW5lQ29udGV4dHMuc2l6ZSgp
KTsKLSAgICBmb3IgKHVuc2lnbmVkIGxpbmVOdW1iZXIgPSAwOyBsaW5lTnVtYmVyIDwgbGluZUNv
bnRleHRzLnNpemUoKTsgKytsaW5lTnVtYmVyKSB7Ci0gICAgICAgIGxpbmVDb250ZXh0c1tsaW5l
TnVtYmVyXS5jcm9zc0F4aXNPZmZzZXQgKz0gbGluZU9mZnNldDsKLSAgICAgICAgZm9yIChzaXpl
X3QgY2hpbGROdW1iZXIgPSAwOyBjaGlsZE51bWJlciA8IGxpbmVDb250ZXh0c1tsaW5lTnVtYmVy
XS5udW1iZXJPZkNoaWxkcmVuOyArK2NoaWxkTnVtYmVyLCBjaGlsZCA9IG1fb3JkZXJJdGVyYXRv
ci5uZXh0KCkpCisgICAgZm9yIChhdXRvJiBsaW5lQ29udGV4dCA6IGxpbmVDb250ZXh0cykgewor
ICAgICAgICBsaW5lQ29udGV4dC5jcm9zc0F4aXNPZmZzZXQgKz0gbGluZU9mZnNldDsKKyAgICAg
ICAgZm9yIChzaXplX3QgY2hpbGROdW1iZXIgPSAwOyBjaGlsZE51bWJlciA8IGxpbmVDb250ZXh0
Lm51bWJlck9mQ2hpbGRyZW47ICsrY2hpbGROdW1iZXIsIGNoaWxkID0gbV9vcmRlckl0ZXJhdG9y
Lm5leHQoKSkKICAgICAgICAgICAgIGFkanVzdEFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgbGlu
ZU9mZnNldCk7CiAKICAgICAgICAgaWYgKGRpc3RyaWJ1dGlvbiA9PSBDb250ZW50RGlzdHJpYnV0
aW9uU3RyZXRjaCAmJiBhdmFpbGFibGVDcm9zc0F4aXNTcGFjZSA+IDApCi0gICAgICAgICAgICBs
aW5lQ29udGV4dHNbbGluZU51bWJlcl0uY3Jvc3NBeGlzRXh0ZW50ICs9IGF2YWlsYWJsZUNyb3Nz
QXhpc1NwYWNlIC8gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGxpbmVDb250ZXh0cy5zaXplKCkpOwor
ICAgICAgICAgICAgbGluZUNvbnRleHQuY3Jvc3NBeGlzRXh0ZW50ICs9IGF2YWlsYWJsZUNyb3Nz
QXhpc1NwYWNlIC8gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGxpbmVDb250ZXh0cy5zaXplKCkpOwog
CiAgICAgICAgIGxpbmVPZmZzZXQgKz0gYWxpZ25Db250ZW50U3BhY2VCZXR3ZWVuQ2hpbGRyZW4o
YXZhaWxhYmxlQ3Jvc3NBeGlzU3BhY2UsIGRpc3RyaWJ1dGlvbiwgbGluZUNvbnRleHRzLnNpemUo
KSk7CiAgICAgfQpAQCAtMTI0NywxMiArMTI0MywxMiBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94
OjphbGlnbkNoaWxkcmVuKGNvbnN0IFZlY3RvcjxMaW5lQ29udGV4dD4mIGxpbmVDb250ZXh0cykK
ICAgICBWZWN0b3I8TGF5b3V0VW5pdD4gbWluTWFyZ2luQWZ0ZXJCYXNlbGluZXM7CiAKICAgICBS
ZW5kZXJCb3gqIGNoaWxkID0gbV9vcmRlckl0ZXJhdG9yLmZpcnN0KCk7Ci0gICAgZm9yIChzaXpl
X3QgbGluZU51bWJlciA9IDA7IGxpbmVOdW1iZXIgPCBsaW5lQ29udGV4dHMuc2l6ZSgpOyArK2xp
bmVOdW1iZXIpIHsKKyAgICBmb3IgKGF1dG8mIGxpbmVDb250ZXh0IDogbGluZUNvbnRleHRzKSB7
CiAgICAgICAgIExheW91dFVuaXQgbWluTWFyZ2luQWZ0ZXJCYXNlbGluZSA9IExheW91dFVuaXQ6
Om1heCgpOwotICAgICAgICBMYXlvdXRVbml0IGxpbmVDcm9zc0F4aXNFeHRlbnQgPSBsaW5lQ29u
dGV4dHNbbGluZU51bWJlcl0uY3Jvc3NBeGlzRXh0ZW50OwotICAgICAgICBMYXlvdXRVbml0IG1h
eEFzY2VudCA9IGxpbmVDb250ZXh0c1tsaW5lTnVtYmVyXS5tYXhBc2NlbnQ7CisgICAgICAgIExh
eW91dFVuaXQgbGluZUNyb3NzQXhpc0V4dGVudCA9IGxpbmVDb250ZXh0LmNyb3NzQXhpc0V4dGVu
dDsKKyAgICAgICAgTGF5b3V0VW5pdCBtYXhBc2NlbnQgPSBsaW5lQ29udGV4dC5tYXhBc2NlbnQ7
CiAKLSAgICAgICAgZm9yIChzaXplX3QgY2hpbGROdW1iZXIgPSAwOyBjaGlsZE51bWJlciA8IGxp
bmVDb250ZXh0c1tsaW5lTnVtYmVyXS5udW1iZXJPZkNoaWxkcmVuOyArK2NoaWxkTnVtYmVyLCBj
aGlsZCA9IG1fb3JkZXJJdGVyYXRvci5uZXh0KCkpIHsKKyAgICAgICAgZm9yIChzaXplX3QgY2hp
bGROdW1iZXIgPSAwOyBjaGlsZE51bWJlciA8IGxpbmVDb250ZXh0Lm51bWJlck9mQ2hpbGRyZW47
ICsrY2hpbGROdW1iZXIsIGNoaWxkID0gbV9vcmRlckl0ZXJhdG9yLm5leHQoKSkgewogICAgICAg
ICAgICAgQVNTRVJUKGNoaWxkKTsKICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQ
b3NpdGlvbmVkKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoc3R5bGUoKS5mbGV4V3JhcCgpID09
IEZsZXhXcmFwUmV2ZXJzZSkKQEAgLTEzODAsMTEgKzEzNzYsMTEgQEAgdm9pZCBSZW5kZXJGbGV4
aWJsZUJveDo6ZmxpcEZvcldyYXBSZXZlcnNlKGNvbnN0IFZlY3RvcjxMaW5lQ29udGV4dD4mIGxp
bmVDb250ZXgKIHsKICAgICBMYXlvdXRVbml0IGNvbnRlbnRFeHRlbnQgPSBjcm9zc0F4aXNDb250
ZW50RXh0ZW50KCk7CiAgICAgUmVuZGVyQm94KiBjaGlsZCA9IG1fb3JkZXJJdGVyYXRvci5maXJz
dCgpOwotICAgIGZvciAoc2l6ZV90IGxpbmVOdW1iZXIgPSAwOyBsaW5lTnVtYmVyIDwgbGluZUNv
bnRleHRzLnNpemUoKTsgKytsaW5lTnVtYmVyKSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGNoaWxk
TnVtYmVyID0gMDsgY2hpbGROdW1iZXIgPCBsaW5lQ29udGV4dHNbbGluZU51bWJlcl0ubnVtYmVy
T2ZDaGlsZHJlbjsgKytjaGlsZE51bWJlciwgY2hpbGQgPSBtX29yZGVySXRlcmF0b3IubmV4dCgp
KSB7CisgICAgZm9yIChhdXRvJiBsaW5lQ29udGV4dCA6IGxpbmVDb250ZXh0cykgeworICAgICAg
ICBmb3IgKHNpemVfdCBjaGlsZE51bWJlciA9IDA7IGNoaWxkTnVtYmVyIDwgbGluZUNvbnRleHQu
bnVtYmVyT2ZDaGlsZHJlbjsgKytjaGlsZE51bWJlciwgY2hpbGQgPSBtX29yZGVySXRlcmF0b3Iu
bmV4dCgpKSB7CiAgICAgICAgICAgICBBU1NFUlQoY2hpbGQpOwotICAgICAgICAgICAgTGF5b3V0
VW5pdCBsaW5lQ3Jvc3NBeGlzRXh0ZW50ID0gbGluZUNvbnRleHRzW2xpbmVOdW1iZXJdLmNyb3Nz
QXhpc0V4dGVudDsKLSAgICAgICAgICAgIExheW91dFVuaXQgb3JpZ2luYWxPZmZzZXQgPSBsaW5l
Q29udGV4dHNbbGluZU51bWJlcl0uY3Jvc3NBeGlzT2Zmc2V0IC0gY3Jvc3NBeGlzU3RhcnRFZGdl
OworICAgICAgICAgICAgTGF5b3V0VW5pdCBsaW5lQ3Jvc3NBeGlzRXh0ZW50ID0gbGluZUNvbnRl
eHQuY3Jvc3NBeGlzRXh0ZW50OworICAgICAgICAgICAgTGF5b3V0VW5pdCBvcmlnaW5hbE9mZnNl
dCA9IGxpbmVDb250ZXh0LmNyb3NzQXhpc09mZnNldCAtIGNyb3NzQXhpc1N0YXJ0RWRnZTsKICAg
ICAgICAgICAgIExheW91dFVuaXQgbmV3T2Zmc2V0ID0gY29udGVudEV4dGVudCAtIG9yaWdpbmFs
T2Zmc2V0IC0gbGluZUNyb3NzQXhpc0V4dGVudDsKICAgICAgICAgICAgIGFkanVzdEFsaWdubWVu
dEZvckNoaWxkKCpjaGlsZCwgbmV3T2Zmc2V0IC0gb3JpZ2luYWxPZmZzZXQpOwogICAgICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5kZXgg
YzJhM2Q3ODk4ZGI2OWViNTZhNGY1ZmJjZjI1ZDg1MWYxOTBhNzdkNy4uZGVjYzQ4N2MzYjE5MzA5
YmU1ZDMzYTcyMmZmM2MxNmNiMzJhOWNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmNwcApAQCAtMjk5LDggKzI5OSw4IEBAIGJvb2wgUmVuZGVyRmxv
d1RocmVhZDo6dXBkYXRlQWxsTGF5ZXJUb1JlZ2lvbk1hcHBpbmdzKCkKICAgICBSZW5kZXJMYXll
ckxpc3QqIGxpc3RzW10gPSB7IGxheWVyKCktPm5lZ1pPcmRlckxpc3QoKSwgbGF5ZXIoKS0+bm9y
bWFsRmxvd0xpc3QoKSwgbGF5ZXIoKS0+cG9zWk9yZGVyTGlzdCgpIH07CiAgICAgZm9yIChzaXpl
X3QgbGlzdEluZGV4ID0gMDsgbGlzdEluZGV4IDwgc2l6ZW9mKGxpc3RzKSAvIHNpemVvZihsaXN0
c1swXSk7ICsrbGlzdEluZGV4KSB7CiAgICAgICAgIGlmIChSZW5kZXJMYXllckxpc3QqIGxpc3Qg
PSBsaXN0c1tsaXN0SW5kZXhdKSB7Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMCwgbGlz
dFNpemUgPSBsaXN0LT5zaXplKCk7IGkgPCBsaXN0U2l6ZTsgKytpKQotICAgICAgICAgICAgICAg
IHVwZGF0ZUxheWVyVG9SZWdpb25NYXBwaW5ncygqbGlzdC0+YXQoaSksIGxheWVyVG9SZWdpb25N
YXAsIHJlZ2lvblRvTGF5ZXJMaXN0TWFwLCBuZWVkc0xheWVyVXBkYXRlKTsKKyAgICAgICAgICAg
IGZvciAoYXV0byYgbGF5ZXIgOiAqbGlzdCkKKyAgICAgICAgICAgICAgICB1cGRhdGVMYXllclRv
UmVnaW9uTWFwcGluZ3MoKmxheWVyLCBsYXllclRvUmVnaW9uTWFwLCByZWdpb25Ub0xheWVyTGlz
dE1hcCwgbmVlZHNMYXllclVwZGF0ZSk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKaW5kZXggNjZmMmRjNjE4ZWJhM2UzYTkzZjQ4
ZTNhN2E5ODY3OWRmZmM4ODJjMi4uZGIwYTY5MGJkYjc2NmFjNTQ3NThhNDVhNGE1ZTZlNmVjNzMx
ZjFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKQEAgLTE3
MDcsMTAgKzE3MDcsNyBAQCB2b2lkIFJlbmRlcklubGluZTo6YWRkQW5ub3RhdGVkUmVnaW9ucyhW
ZWN0b3I8QW5ub3RhdGVkUmVnaW9uVmFsdWU+JiByZWdpb25zKQogICAgICAgICByZXR1cm47CiAK
ICAgICBjb25zdCBWZWN0b3I8U3R5bGVEYXNoYm9hcmRSZWdpb24+JiBzdHlsZVJlZ2lvbnMgPSBz
dHlsZSgpLmRhc2hib2FyZFJlZ2lvbnMoKTsKLSAgICB1bnNpZ25lZCBpLCBjb3VudCA9IHN0eWxl
UmVnaW9ucy5zaXplKCk7Ci0gICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKLSAgICAg
ICAgU3R5bGVEYXNoYm9hcmRSZWdpb24gc3R5bGVSZWdpb24gPSBzdHlsZVJlZ2lvbnNbaV07Ci0K
KyAgICBmb3IgKGF1dG8mIHN0eWxlUmVnaW9uIDogc3R5bGVSZWdpb25zKSB7CiAgICAgICAgIExh
eW91dFJlY3QgbGluZXNCb3VuZGluZ0JveCA9IHRoaXMtPmxpbmVzQm91bmRpbmdCb3goKTsKICAg
ICAgICAgTGF5b3V0VW5pdCB3ID0gbGluZXNCb3VuZGluZ0JveC53aWR0aCgpOwogICAgICAgICBM
YXlvdXRVbml0IGggPSBsaW5lc0JvdW5kaW5nQm94LmhlaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMzhmM2I0MWQ0ZjRlMDNiYzAzYzRmMDI2MDI2
OGExYjJiY2VjNTNjMC4uNTE3NTQxNThhZTNmYTlhMjBlMjhhNzA0ZmQxZTM3ZWY0ZDA3NGUyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC03MjksMTAgKzcy
OSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2NlbmRhbnRzQXJlQ29udGlndW91c0lu
U3RhY2tpbmdPcmRlcigpCiAgICAgfQogCiAgICAgaWYgKHBvc1pPcmRlckxpc3QpIHsKLSAgICAg
ICAgc2l6ZV90IGxpc3RTaXplID0gcG9zWk9yZGVyTGlzdC0+c2l6ZSgpOwogICAgICAgICBpbnQg
c3RhY2tpbmdPcmRlckluZGV4ID0gMTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBs
aXN0U2l6ZTsgKytpKSB7Ci0gICAgICAgICAgICBSZW5kZXJMYXllciogY3VycmVudExheWVyID0g
cG9zWk9yZGVyTGlzdC0+YXQoaSk7CisgICAgICAgIGZvciAoYXV0byYgY3VycmVudExheWVyIDog
KnBvc1pPcmRlckxpc3QpIHsKICAgICAgICAgICAgIGlmICghY3VycmVudExheWVyLT5pc1N0YWNr
aW5nQ29udGV4dCgpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgbG9v
a3VwLnNldChjdXJyZW50TGF5ZXIsIHN0YWNraW5nT3JkZXJJbmRleCsrKTsKQEAgLTExODYsOSAr
MTE4NCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2NlbmRhbnREZXBlbmRlbnRGbGFn
cyhIYXNoU2V0PGNvbnN0IFJlbmRlck9iamVjdCo+KiBvCiAgICAgICAgICAgICAgICAgY2hpbGRP
dXRPZkZsb3dEZXNjZW5kYW50Q29udGFpbmluZ0Jsb2Nrcy5hZGQoY2hpbGQtPnJlbmRlcmVyKCku
Y29udGFpbmluZ0Jsb2NrKCkpOwogCiAgICAgICAgICAgICBpZiAob3V0T2ZGbG93RGVzY2VuZGFu
dENvbnRhaW5pbmdCbG9ja3MpIHsKLSAgICAgICAgICAgICAgICBIYXNoU2V0PGNvbnN0IFJlbmRl
ck9iamVjdCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGNoaWxkT3V0T2ZGbG93RGVzY2VuZGFudENv
bnRhaW5pbmdCbG9ja3MuYmVnaW4oKTsKLSAgICAgICAgICAgICAgICBmb3IgKDsgaXQgIT0gY2hp
bGRPdXRPZkZsb3dEZXNjZW5kYW50Q29udGFpbmluZ0Jsb2Nrcy5lbmQoKTsgKytpdCkKLSAgICAg
ICAgICAgICAgICAgICAgb3V0T2ZGbG93RGVzY2VuZGFudENvbnRhaW5pbmdCbG9ja3MtPmFkZCgq
aXQpOworICAgICAgICAgICAgICAgIGZvciAoYXV0byYgYmxvY2sgOiBjaGlsZE91dE9mRmxvd0Rl
c2NlbmRhbnRDb250YWluaW5nQmxvY2tzKQorICAgICAgICAgICAgICAgICAgICBvdXRPZkZsb3dE
ZXNjZW5kYW50Q29udGFpbmluZ0Jsb2Nrcy0+YWRkKGJsb2NrKTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgaGFzVmlzaWJsZURlc2NlbmRhbnQgfD0gY2hpbGQtPm1faGFzVmlzaWJsZUNv
bnRlbnQgfHwgY2hpbGQtPm1faGFzVmlzaWJsZURlc2NlbmRhbnQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IGQyMmYwOGU1NDg1ZjRk
Y2ZjMzgxZmM0ODZkY2Y2MDdmOGFlMGQ0NTMuLmNmY2RjNDUwZjcyZTFiYzU1ZTMwYjIwY2VjY2Nm
MzU4YzIxZGYwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwCkBAIC0xODk4LDkgKzE4OTgsNyBAQCBzdGF0aWMgYm9vbCBkZXNjZW5kYW50
TGF5ZXJQYWludHNJbnRvQW5jZXN0b3IoUmVuZGVyTGF5ZXImIHBhcmVudCkKICNlbmRpZgogCiAg
ICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBub3JtYWxGbG93TGlzdCA9IHBhcmVudC5ub3Jt
YWxGbG93TGlzdCgpKSB7Ci0gICAgICAgIHNpemVfdCBsaXN0U2l6ZSA9IG5vcm1hbEZsb3dMaXN0
LT5zaXplKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdFNpemU7ICsraSkg
ewotICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1ckxheWVyID0gbm9ybWFsRmxvd0xpc3QtPmF0
KGkpOworICAgICAgICBmb3IgKGF1dG8mIGN1ckxheWVyIDogKm5vcm1hbEZsb3dMaXN0KSB7CiAg
ICAgICAgICAgICBpZiAoIWNvbXBvc2l0ZWRXaXRoT3duQmFja2luZ1N0b3JlKGN1ckxheWVyKQog
ICAgICAgICAgICAgICAgICYmIChjdXJMYXllci0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgZGVz
Y2VuZGFudExheWVyUGFpbnRzSW50b0FuY2VzdG9yKCpjdXJMYXllcikpKQogICAgICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwpAQCAtMTkxMyw5ICsxOTExLDcgQEAgc3RhdGljIGJvb2wgZGVzY2Vu
ZGFudExheWVyUGFpbnRzSW50b0FuY2VzdG9yKFJlbmRlckxheWVyJiBwYXJlbnQpCiAKICAgICAg
ICAgLy8gVXNlIHRoZSBtX2hhc0NvbXBvc2l0aW5nRGVzY2VuZGFudCBiaXQgdG8gb3B0aW1pemU/
CiAgICAgICAgIGlmIChWZWN0b3I8UmVuZGVyTGF5ZXIqPiogbmVnWk9yZGVyTGlzdCA9IHBhcmVu
dC5uZWdaT3JkZXJMaXN0KCkpIHsKLSAgICAgICAgICAgIHNpemVfdCBsaXN0U2l6ZSA9IG5lZ1pP
cmRlckxpc3QtPnNpemUoKTsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlz
dFNpemU7ICsraSkgewotICAgICAgICAgICAgICAgIFJlbmRlckxheWVyKiBjdXJMYXllciA9IG5l
Z1pPcmRlckxpc3QtPmF0KGkpOworICAgICAgICAgICAgZm9yIChhdXRvJiBjdXJMYXllciA6ICpu
ZWdaT3JkZXJMaXN0KSB7CiAgICAgICAgICAgICAgICAgaWYgKCFjb21wb3NpdGVkV2l0aE93bkJh
Y2tpbmdTdG9yZShjdXJMYXllcikKICAgICAgICAgICAgICAgICAgICAgJiYgKGN1ckxheWVyLT5p
c1Zpc3VhbGx5Tm9uRW1wdHkoKSB8fCBkZXNjZW5kYW50TGF5ZXJQYWludHNJbnRvQW5jZXN0b3Io
KmN1ckxheWVyKSkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTkyMyw5
ICsxOTE5LDcgQEAgc3RhdGljIGJvb2wgZGVzY2VuZGFudExheWVyUGFpbnRzSW50b0FuY2VzdG9y
KFJlbmRlckxheWVyJiBwYXJlbnQpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoVmVjdG9yPFJl
bmRlckxheWVyKj4qIHBvc1pPcmRlckxpc3QgPSBwYXJlbnQucG9zWk9yZGVyTGlzdCgpKSB7Ci0g
ICAgICAgICAgICBzaXplX3QgbGlzdFNpemUgPSBwb3NaT3JkZXJMaXN0LT5zaXplKCk7Ci0gICAg
ICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3RTaXplOyArK2kpIHsKLSAgICAgICAg
ICAgICAgICBSZW5kZXJMYXllciogY3VyTGF5ZXIgPSBwb3NaT3JkZXJMaXN0LT5hdChpKTsKKyAg
ICAgICAgICAgIGZvciAoYXV0byYgY3VyTGF5ZXIgOiAqcG9zWk9yZGVyTGlzdCkgewogICAgICAg
ICAgICAgICAgIGlmICghY29tcG9zaXRlZFdpdGhPd25CYWNraW5nU3RvcmUoY3VyTGF5ZXIpCiAg
ICAgICAgICAgICAgICAgICAgICYmIChjdXJMYXllci0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwg
ZGVzY2VuZGFudExheWVyUGFpbnRzSW50b0FuY2VzdG9yKCpjdXJMYXllcikpKQogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI1MDIsOSArMjQ5Niw3IEBAIGJvb2wgUmVuZGVy
TGF5ZXJCYWNraW5nOjpzdGFydEFuaW1hdGlvbihkb3VibGUgdGltZU9mZnNldCwgY29uc3QgQW5p
bWF0aW9uKiBhbmltCiAgICAgS2V5ZnJhbWVWYWx1ZUxpc3QgYmFja2Ryb3BGaWx0ZXJWZWN0b3Io
QW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdEJhY2tkcm9wRmlsdGVyKTsKICNlbmRpZgogCi0gICAgc2l6
ZV90IG51bUtleWZyYW1lcyA9IGtleWZyYW1lcy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBudW1LZXlmcmFtZXM7ICsraSkgewotICAgICAgICBjb25zdCBLZXlmcmFtZVZhbHVl
JiBjdXJyZW50S2V5ZnJhbWUgPSBrZXlmcmFtZXNbaV07CisgICAgZm9yIChhdXRvJiBjdXJyZW50
S2V5ZnJhbWUgOiBrZXlmcmFtZXMua2V5ZnJhbWVzKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVy
U3R5bGUqIGtleWZyYW1lU3R5bGUgPSBjdXJyZW50S2V5ZnJhbWUuc3R5bGUoKTsKICAgICAgICAg
ZG91YmxlIGtleSA9IGN1cnJlbnRLZXlmcmFtZS5rZXkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAKaW5kZXggZTFjZmNhNTY0ZGI5YjM0YjU5
MWM3NDIyNTVkMzZmOTlkN2RhZDEyNS4uYzA3OTkyMTIzYTgzOTYyNDUyMWYwZGExODllODY3OTMx
N2YzN2ViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVC
b3hMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJveExp
c3QuY3BwCkBAIC0yNjcsMTEgKzI2Nyw4IEBAIHZvaWQgUmVuZGVyTGluZUJveExpc3Q6OnBhaW50
KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZW5kZXJlciwgUGFpbnRJbmZvJiBwYWludEluCiAgICAg
fQogCiAgICAgaWYgKGluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZU91dGxpbmUgfHwgaW5mby5waGFz
ZSA9PSBQYWludFBoYXNlU2VsZk91dGxpbmUgfHwgaW5mby5waGFzZSA9PSBQYWludFBoYXNlQ2hp
bGRPdXRsaW5lcykgewotICAgICAgICBMaXN0SGFzaFNldDxSZW5kZXJJbmxpbmUqPjo6aXRlcmF0
b3IgZW5kID0gaW5mby5vdXRsaW5lT2JqZWN0cy0+ZW5kKCk7Ci0gICAgICAgIGZvciAoTGlzdEhh
c2hTZXQ8UmVuZGVySW5saW5lKj46Oml0ZXJhdG9yIGl0ID0gaW5mby5vdXRsaW5lT2JqZWN0cy0+
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICBSZW5kZXJJbmxpbmUqIGZs
b3cgPSAqaXQ7CisgICAgICAgIGZvciAoYXV0byYgZmxvdyA6ICppbmZvLm91dGxpbmVPYmplY3Rz
KQogICAgICAgICAgICAgZmxvdy0+cGFpbnRPdXRsaW5lKGluZm8sIHBhaW50T2Zmc2V0KTsKLSAg
ICAgICAgfQogICAgICAgICBpbmZvLm91dGxpbmVPYmplY3RzLT5jbGVhcigpOwogICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAppbmRleCA5MTZjMmRl
N2ViNTdjZjVhNzFjZmY4NTQ0NDg4ZGIzNWMxMTkzNzYzLi40YjBjZmE2M2VmZmIyOWMxNjc1OWQ3
ZDEzM2YzNWJhZTM2NzdjZmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guY3BwCkBAIC0xMDcsMTIgKzEwNyw4IEBAIEhUTUxTZWxlY3RFbGVtZW50JiBSZW5kZXJM
aXN0Qm94OjpzZWxlY3RFbGVtZW50KCkgY29uc3QKIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRl
RnJvbUVsZW1lbnQoKQogewogICAgIGlmIChtX29wdGlvbnNDaGFuZ2VkKSB7Ci0gICAgICAgIGNv
bnN0IFZlY3RvcjxIVE1MRWxlbWVudCo+JiBsaXN0SXRlbXMgPSBzZWxlY3RFbGVtZW50KCkubGlz
dEl0ZW1zKCk7Ci0gICAgICAgIGludCBzaXplID0gbnVtSXRlbXMoKTsKLSAgICAgICAgCiAgICAg
ICAgIGZsb2F0IHdpZHRoID0gMDsKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyAr
K2kpIHsKLSAgICAgICAgICAgIEhUTUxFbGVtZW50KiBlbGVtZW50ID0gbGlzdEl0ZW1zW2ldOwor
ICAgICAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiBzZWxlY3RFbGVtZW50KCkubGlzdEl0ZW1zKCkp
IHsKICAgICAgICAgICAgIFN0cmluZyB0ZXh0OwogICAgICAgICAgICAgRm9udENhc2NhZGUgaXRl
bUZvbnQgPSBzdHlsZSgpLmZvbnRDYXNjYWRlKCk7CiAgICAgICAgICAgICBpZiAoaXM8SFRNTE9w
dGlvbkVsZW1lbnQ+KCplbGVtZW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVudUxpc3QuY3BwCmluZGV4IGZmOWEyYzU4NmJiZDliZTk5Yzc3NTVlMjIyZTAwMzg2NDZjMTc0
ZDYuLmEyOTk4OWVjZTRmZTI5OTFkNTkwYTRmMTQ5ODBiNDU5MTE4MDg1MmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtNTgsMTIgKzU4LDkgQEAg
dXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKICNpZiBQTEFURk9STShJT1MpCiBzdGF0aWMgc2l6
ZV90IHNlbGVjdGVkT3B0aW9uQ291bnQoY29uc3QgUmVuZGVyTWVudUxpc3QmIHJlbmRlck1lbnVM
aXN0KQogewotICAgIGNvbnN0IFZlY3RvcjxIVE1MRWxlbWVudCo+JiBsaXN0SXRlbXMgPSByZW5k
ZXJNZW51TGlzdC5zZWxlY3RFbGVtZW50KCkubGlzdEl0ZW1zKCk7Ci0gICAgc2l6ZV90IG51bWJl
ck9mSXRlbXMgPSBsaXN0SXRlbXMuc2l6ZSgpOwotCiAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bWJlck9mSXRlbXM7ICsraSkgewotICAgICAgICBp
ZiAoaXM8SFRNTE9wdGlvbkVsZW1lbnQ+KCpsaXN0SXRlbXNbaV0pICYmIGRvd25jYXN0PEhUTUxP
cHRpb25FbGVtZW50PigqbGlzdEl0ZW1zW2ldKS5zZWxlY3RlZCgpKQorICAgIGZvciAoYXV0byYg
ZWxlbWVudCA6IHJlbmRlck1lbnVMaXN0LnNlbGVjdEVsZW1lbnQoKS5saXN0SXRlbXMoKSkgewor
ICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVsZW1lbnQ+KCplbGVtZW50KSAmJiBkb3duY2FzdDxI
VE1MT3B0aW9uRWxlbWVudD4oKmVsZW1lbnQpLnNlbGVjdGVkKCkpCiAgICAgICAgICAgICArK2Nv
dW50OwogICAgIH0KICAgICByZXR1cm4gY291bnQ7CkBAIC0yMDYsMTEgKzIwMyw3IEBAIHZvaWQg
UmVuZGVyTWVudUxpc3Q6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25z
dCBSZW5kZXJTdHlsZSogb2xkCiB2b2lkIFJlbmRlck1lbnVMaXN0Ojp1cGRhdGVPcHRpb25zV2lk
dGgoKQogewogICAgIGZsb2F0IG1heE9wdGlvbldpZHRoID0gMDsKLSAgICBjb25zdCBWZWN0b3I8
SFRNTEVsZW1lbnQqPiYgbGlzdEl0ZW1zID0gc2VsZWN0RWxlbWVudCgpLmxpc3RJdGVtcygpOwot
ICAgIGludCBzaXplID0gbGlzdEl0ZW1zLnNpemUoKTsgICAgCi0KLSAgICBmb3IgKGludCBpID0g
MDsgaSA8IHNpemU7ICsraSkgewotICAgICAgICBIVE1MRWxlbWVudCogZWxlbWVudCA9IGxpc3RJ
dGVtc1tpXTsKKyAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiBzZWxlY3RFbGVtZW50KCkubGlzdEl0
ZW1zKCkpIHsKICAgICAgICAgaWYgKCFpczxIVE1MT3B0aW9uRWxlbWVudD4oKmVsZW1lbnQpKQog
ICAgICAgICAgICAgY29udGludWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCmluZGV4IDgyMWU0Yjk4ZmEyM2YyYzIzZmNlYWJiMDQ0
ZTM1OWU1NjczMzY3MWUuLjkxZDI5OWFkZGMzZjliNzNlYzZmZTcxMzI5YzlhMDg5ZTc2YTA1ZTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNl
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0
LmNwcApAQCAtMTk4LDggKzE5OCw4IEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmRpc3Ry
aWJ1dGVJbXBsaWNpdEJyZWFrcygpCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIC8vIFRoZXJlIHNo
b3VsZCBiZSBubyBpbXBsaWNpdCBicmVha3MgYXNzdW1lZCBhdCB0aGlzIHBvaW50LgotICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBmb3JjZWRCcmVha3NDb3VudCgpOyBpKyspCi0gICAgICAg
IEFTU0VSVCghbV9jb250ZW50UnVuc1tpXS5hc3N1bWVkSW1wbGljaXRCcmVha3MoKSk7CisgICAg
Zm9yIChhdXRvJiBmb3JjZWRCcmVhayA6IG1fY29udGVudFJ1bnMpCisgICAgICAgIEFTU0VSVCgh
Zm9yY2VkQnJlYWsuYXNzdW1lZEltcGxpY2l0QnJlYWtzKCkpOwogI2VuZGlmIC8vIE5ERUJVRwog
CiAgICAgLy8gSW5zZXJ0IGEgZmluYWwgY29udGVudCBydW4gdG8gZW5jb21wYXNzIGFsbCBjb250
ZW50LiBUaGlzIHdpbGwgaW5jbHVkZSBvdmVyZmxvdyBpZiB0aGlzIGlzCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254784</attachid>
            <date>2015-06-12 02:51:25 -0700</date>
            <delta_ts>2015-06-15 02:38:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145831-20150612185051.patch</filename>
            <type>text/plain</type>
            <size>86157</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY3NWYwZjFmOGFmMTg3
ZWE5MjBkZTJhZmE0ZDYxZGFlNDU1YTY0Yi4uNGE4MzEwMjE0MjJhNGM0ODI5YTUzMWQ3ZDM3MTEz
MjYzMGRlMGQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDE1LTA2LTExICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2UgbW9kZXJu
IGZvci1sb29wcyBpbiBXZWJDb3JlL3JlbmRlcmluZyAtIDEKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTgzMQorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5v
IGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHJlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QXV0b1RhYmxlTGF5b3V0Ojpjb21wdXRlSW50cmluc2lj
TG9naWNhbFdpZHRocyk6CisgICAgICAgIChXZWJDb3JlOjpBdXRvVGFibGVMYXlvdXQ6OmNhbGNF
ZmZlY3RpdmVMb2dpY2FsV2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9GaWx0ZXJFZmZlY3RS
ZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YnVp
bGQpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXI6OmNsZWFySW50ZXJt
ZWRpYXRlUmVzdWx0cyk6CisgICAgICAgICogcmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRlcmVy
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL0Zsb2F0aW5nT2JqZWN0cy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6OmNsZWFyTGluZUJveFRyZWVQb2ludGVycyk6CisgICAg
ICAgIChXZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6Om1vdmVBbGxUb0Zsb2F0SW5mb01hcCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6OmNvbXB1dGVQbGFjZWRGbG9hdHNUcmVl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rmxvd1RocmVhZENvbnRyb2xsZXI6OmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRM
YXllcnMpOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFwcGVuZCk6CisgICAgICAgICogcmVuZGVyaW5nL0lt
YWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VRdWFsaXR5
Q29udHJvbGxlcjo6aGlnaFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZCk6CisgICAgICAgICogcmVu
ZGVyaW5nL0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJv
eDo6cGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpyZW1vdmVCbG9ja0Zyb21EZXNjZW5kYW50QW5kQ29udGFpbmVyTWFwcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tUG9zaXRpb25lZE9i
amVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmRpcnR5Rm9yTGF5b3V0RnJv
bVBlcmNlbnRhZ2VIZWlnaHREZXNjZW5kYW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6c2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjptYXJrUG9zaXRpb25lZE9iamVjdHNGb3JMYXlvdXQpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OnBhaW50Q29udGludWF0aW9uT3V0bGluZXMpOgorICAgICAgICAo
V2ViQ29yZTo6Y2xpcE91dFBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpyZW1vdmVGcm9tVHJhY2tlZFJlbmRlcmVyTWFwcyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6cmVtb3ZlUG9zaXRpb25lZE9iamVjdHMpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OmNoZWNrUG9zaXRpb25lZE9iamVjdHNOZWVkTGF5b3V0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrRmxvdzo6cmVidWlsZEZsb2F0aW5nT2JqZWN0U2V0RnJvbUludHJ1ZGluZ0Zs
b2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnN0eWxlRGlkQ2hhbmdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bW92ZUZsb2F0c1RvKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YWRkT3ZlcmZsb3dGcm9tRmxvYXRzKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6cmVwYWludE92ZXJoYW5naW5nRmxv
YXRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6cGFpbnRGbG9hdHMpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpjbGlwT3V0RmxvYXRpbmdPYmplY3Rz
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bG93ZXN0RmxvYXRMb2dpY2Fs
Qm90dG9tKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bG93ZXN0SW5pdGlh
bExldHRlckxvZ2ljYWxCb3R0b20pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93
OjphZGRPdmVyaGFuZ2luZ0Zsb2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zs
b3c6OmFkZEludHJ1ZGluZ0Zsb2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zs
b3c6Om1hcmtTaWJsaW5nc1dpdGhGbG9hdHNGb3JMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2tGbG93OjphZGp1c3RGb3JCb3JkZXJGaXQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0TG9naWNh
bFdpZHRoRm9yVGV4dFJ1bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6Omxh
eW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
Rmxvdzo6bGlua1RvRW5kTGluZUlmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrRmxvdzo6cmVwYWludERpcnR5RmxvYXRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrRmxvdzo6bGF5b3V0TGluZUJveGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
Rmxvdzo6Y2hlY2tGbG9hdHNJbkNsZWFuTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9ja0Zsb3c6OmRldGVybWluZVN0YXJ0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2tGbG93OjpjaGVja1BhZ2luYXRpb25BbmRGbG9hdHNBdEVuZExpbmUpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckNvdW50ZXI6OmRlc3Ryb3lDb3VudGVyTm9kZXMpOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRl
Q291bnRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQ291bnRlcjo6cmVuZGVyZXJTdHls
ZUNoYW5nZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6YXV0b01hcmdpbk9mZnNldEluTWFp
bkF4aXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmZyZWV6ZVZpb2xh
dGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVGbGV4
aWJsZUxlbmd0aHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6Om51bWJl
ck9mSW5GbG93UG9zaXRpb25lZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZs
ZXhpYmxlQm94OjpsYXlvdXRDb2x1bW5SZXZlcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94OjphbGlnbkZsZXhMaW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
bGV4aWJsZUJveDo6YWxpZ25DaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4
aWJsZUJveDo6ZmxpcEZvcldyYXBSZXZlcnNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Rmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjp1cGRh
dGVBbGxMYXllclRvUmVnaW9uTWFwcGluZ3MpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjphZGRBbm5vdGF0ZWRS
ZWdpb25zKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2NlbmRhbnRzQXJlQ29udGlndW91c0luU3Rh
Y2tpbmdPcmRlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlRGVzY2Vu
ZGFudERlcGVuZGVudEZsYWdzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlc2NlbmRhbnRMYXllclBhaW50c0ludG9BbmNl
c3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnN0YXJ0QW5pbWF0
aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGluZUJveExpc3Q6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGlzdEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojp1
cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnNlbGVjdGVkT3B0aW9uQ291bnQpOgorICAgICAgICAoUmVu
ZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29s
dW1uU2V0OjpkaXN0cmlidXRlSW1wbGljaXRCcmVha3MpOgorCiAyMDE1LTA2LTExICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJDb3JlOjpyZXBvcnRFeGNlcHRp
b24oKSBuZWVkcyB0byBiZSBhYmxlIHRvIGFjY2VwdCBhIHJhdyB0aHJvd24gdmFsdWUgaW4gYWRk
aXRpb24gdG8gRXhjZXB0aW9uIG9iamVjdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9B
dXRvVGFibGVMYXlvdXQuY3BwCmluZGV4IDFhZWFkZWQ1YTkzMzM4NWRiNzM5YjVjMDZmM2QyNTcy
N2JhZjZmY2QuLmNkNDE4ZWJjNTQ2MWFmYmM3MTQ3YjRhOGQ1NDI5MDBmZWYxY2U0ODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwCkBAIC0yMjYsMTcg
KzIyNiwxNyBAQCB2b2lkIEF1dG9UYWJsZUxheW91dDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxX
aWR0aHMoTGF5b3V0VW5pdCYgbWluV2lkdGgsIExheW91dAogICAgIGNvbnN0IGZsb2F0IGVwc2ls
b24gPSAxIC8gMTI4LjBmOwogCiAgICAgZmxvYXQgcmVtYWluaW5nUGVyY2VudCA9IDEwMDsKLSAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fbGF5b3V0U3RydWN0LnNpemUoKTsgKytpKSB7Ci0g
ICAgICAgIG1pbldpZHRoICs9IG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2ZU1pbkxvZ2ljYWxX
aWR0aDsKLSAgICAgICAgbWF4V2lkdGggKz0gbV9sYXlvdXRTdHJ1Y3RbaV0uZWZmZWN0aXZlTWF4
TG9naWNhbFdpZHRoOworICAgIGZvciAoYXV0byYgbGF5b3V0IDogbV9sYXlvdXRTdHJ1Y3QpIHsK
KyAgICAgICAgbWluV2lkdGggKz0gbGF5b3V0LmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aDsKKyAg
ICAgICAgbWF4V2lkdGggKz0gbGF5b3V0LmVmZmVjdGl2ZU1heExvZ2ljYWxXaWR0aDsKICAgICAg
ICAgaWYgKHNjYWxlQ29sdW1ucykgewotICAgICAgICAgICAgaWYgKG1fbGF5b3V0U3RydWN0W2ld
LmVmZmVjdGl2ZUxvZ2ljYWxXaWR0aC5pc1BlcmNlbnQoKSkgewotICAgICAgICAgICAgICAgIGZs
b2F0IHBlcmNlbnQgPSBzdGQ6Om1pbihtX2xheW91dFN0cnVjdFtpXS5lZmZlY3RpdmVMb2dpY2Fs
V2lkdGgucGVyY2VudCgpLCByZW1haW5pbmdQZXJjZW50KTsKLSAgICAgICAgICAgICAgICBmbG9h
dCBsb2dpY2FsV2lkdGggPSBzdGF0aWNfY2FzdDxmbG9hdD4obV9sYXlvdXRTdHJ1Y3RbaV0uZWZm
ZWN0aXZlTWF4TG9naWNhbFdpZHRoKSAqIDEwMCAvIHN0ZDo6bWF4KHBlcmNlbnQsIGVwc2lsb24p
OworICAgICAgICAgICAgaWYgKGxheW91dC5lZmZlY3RpdmVMb2dpY2FsV2lkdGguaXNQZXJjZW50
KCkpIHsKKyAgICAgICAgICAgICAgICBmbG9hdCBwZXJjZW50ID0gc3RkOjptaW4obGF5b3V0LmVm
ZmVjdGl2ZUxvZ2ljYWxXaWR0aC5wZXJjZW50KCksIHJlbWFpbmluZ1BlcmNlbnQpOworICAgICAg
ICAgICAgICAgIGZsb2F0IGxvZ2ljYWxXaWR0aCA9IHN0YXRpY19jYXN0PGZsb2F0PihsYXlvdXQu
ZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoKSAqIDEwMCAvIHN0ZDo6bWF4KHBlcmNlbnQsIGVwc2ls
b24pOwogICAgICAgICAgICAgICAgIG1heFBlcmNlbnQgPSBzdGQ6Om1heChsb2dpY2FsV2lkdGgs
ICBtYXhQZXJjZW50KTsKICAgICAgICAgICAgICAgICByZW1haW5pbmdQZXJjZW50IC09IHBlcmNl
bnQ7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBtYXhOb25QZXJjZW50ICs9
IG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2ZU1heExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAg
ICAgICBtYXhOb25QZXJjZW50ICs9IGxheW91dC5lZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGg7CiAg
ICAgICAgIH0KICAgICB9CiAKQEAgLTI2NCwxNyArMjY0LDE1IEBAIGludCBBdXRvVGFibGVMYXlv
dXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2FsV2lkdGgoKQogewogICAgIGludCBtYXhMb2dpY2FsV2lk
dGggPSAwOwogCi0gICAgc2l6ZV90IG5FZmZDb2xzID0gbV9sYXlvdXRTdHJ1Y3Quc2l6ZSgpOwog
ICAgIGludCBzcGFjaW5nSW5Sb3dEaXJlY3Rpb24gPSBtX3RhYmxlLT5oQm9yZGVyU3BhY2luZygp
OwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBuRWZmQ29sczsgKytpKSB7Ci0gICAgICAg
IG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2ZUxvZ2ljYWxXaWR0aCA9IG1fbGF5b3V0U3RydWN0
W2ldLmxvZ2ljYWxXaWR0aDsKLSAgICAgICAgbV9sYXlvdXRTdHJ1Y3RbaV0uZWZmZWN0aXZlTWlu
TG9naWNhbFdpZHRoID0gbV9sYXlvdXRTdHJ1Y3RbaV0ubWluTG9naWNhbFdpZHRoOwotICAgICAg
ICBtX2xheW91dFN0cnVjdFtpXS5lZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGggPSBtX2xheW91dFN0
cnVjdFtpXS5tYXhMb2dpY2FsV2lkdGg7CisgICAgZm9yIChhdXRvJiBsYXlvdXQgOiBtX2xheW91
dFN0cnVjdCkgeworICAgICAgICBsYXlvdXQuZWZmZWN0aXZlTG9naWNhbFdpZHRoID0gbGF5b3V0
LmxvZ2ljYWxXaWR0aDsKKyAgICAgICAgbGF5b3V0LmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aCA9
IGxheW91dC5taW5Mb2dpY2FsV2lkdGg7CisgICAgICAgIGxheW91dC5lZmZlY3RpdmVNYXhMb2dp
Y2FsV2lkdGggPSBsYXlvdXQubWF4TG9naWNhbFdpZHRoOwogICAgIH0KIAotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9zcGFuQ2VsbHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgUmVuZGVy
VGFibGVDZWxsKiBjZWxsID0gbV9zcGFuQ2VsbHNbaV07CisgICAgZm9yIChhdXRvJiBjZWxsIDog
bV9zcGFuQ2VsbHMpIHsKICAgICAgICAgaWYgKCFjZWxsKQogICAgICAgICAgICAgYnJlYWs7CiAK
QEAgLTI5Niw3ICsyOTQsNyBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9n
aWNhbFdpZHRoKCkKICAgICAgICAgYm9vbCBoYXZlQXV0byA9IGZhbHNlOwogICAgICAgICBib29s
IHNwYW5IYXNFbXB0eUNlbGxzT25seSA9IHRydWU7CiAgICAgICAgIGludCBmaXhlZFdpZHRoID0g
MDsKLSAgICAgICAgd2hpbGUgKGxhc3RDb2wgPCBuRWZmQ29scyAmJiBzcGFuID4gMCkgeworICAg
ICAgICB3aGlsZSAobGFzdENvbCA8IG1fbGF5b3V0U3RydWN0LnNpemUoKSAmJiBzcGFuID4gMCkg
ewogICAgICAgICAgICAgTGF5b3V0JiBjb2x1bW5MYXlvdXQgPSBtX2xheW91dFN0cnVjdFtsYXN0
Q29sXTsKICAgICAgICAgICAgIHN3aXRjaCAoY29sdW1uTGF5b3V0LmxvZ2ljYWxXaWR0aC50eXBl
KCkpIHsKICAgICAgICAgICAgIGNhc2UgUGVyY2VudDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVuZGVyZXIuY3BwCmluZGV4IDYyZGFjNGI4YjQ2MjIzODdi
OGRjY2U3OGZlYTIwOTJkMjE0NDBlNWMuLjIxODJlNmY2Njg4YzQ3M2MxMjE1ODViODQxNTYzMzJl
MjIwMjY4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZl
Y3RSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ZpbHRlckVmZmVj
dFJlbmRlcmVyLmNwcApAQCAtMTM1LDE4ICsxMzUsMTcgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5k
ZXJlcjo6YnVpbGQoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEZpbHRlck9wZXJhdGlv
bnMKICAgICBtX2VmZmVjdHMuY2xlYXIoKTsKIAogICAgIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IHBy
ZXZpb3VzRWZmZWN0ID0gbV9zb3VyY2VHcmFwaGljOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgb3BlcmF0aW9ucy5vcGVyYXRpb25zKCkuc2l6ZSgpOyArK2kpIHsKKyAgICBmb3IgKGF1dG8m
IGZpbHRlck9wZXJhdGlvbiA6IG9wZXJhdGlvbnMub3BlcmF0aW9ucygpKSB7CiAgICAgICAgIFJl
ZlB0cjxGaWx0ZXJFZmZlY3Q+IGVmZmVjdDsKLSAgICAgICAgRmlsdGVyT3BlcmF0aW9uJiBmaWx0
ZXJPcGVyYXRpb24gPSAqb3BlcmF0aW9ucy5vcGVyYXRpb25zKCkuYXQoaSk7Ci0gICAgICAgIHN3
aXRjaCAoZmlsdGVyT3BlcmF0aW9uLnR5cGUoKSkgeworICAgICAgICBzd2l0Y2ggKGZpbHRlck9w
ZXJhdGlvbi0+dHlwZSgpKSB7CiAgICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpSRUZFUkVO
Q0U6IHsKLSAgICAgICAgICAgIFJlZmVyZW5jZUZpbHRlck9wZXJhdGlvbiYgcmVmZXJlbmNlT3Bl
cmF0aW9uID0gZG93bmNhc3Q8UmVmZXJlbmNlRmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRp
b24pOworICAgICAgICAgICAgUmVmZXJlbmNlRmlsdGVyT3BlcmF0aW9uJiByZWZlcmVuY2VPcGVy
YXRpb24gPSBkb3duY2FzdDxSZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb24+KCpmaWx0ZXJPcGVyYXRp
b24pOwogICAgICAgICAgICAgZWZmZWN0ID0gYnVpbGRSZWZlcmVuY2VGaWx0ZXIocmVuZGVyZXIs
IHByZXZpb3VzRWZmZWN0LCAmcmVmZXJlbmNlT3BlcmF0aW9uKTsKICAgICAgICAgICAgIHJlZmVy
ZW5jZU9wZXJhdGlvbi5zZXRGaWx0ZXJFZmZlY3QoZWZmZWN0KTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpHUkFZU0NBTEU6IHsK
LSAgICAgICAgICAgIEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24mIGNvbG9yTWF0cml4
T3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbj4oZmls
dGVyT3BlcmF0aW9uKTsKKyAgICAgICAgICAgIEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRp
b24mIGNvbG9yTWF0cml4T3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWNDb2xvck1hdHJpeEZpbHRl
ck9wZXJhdGlvbj4oKmZpbHRlck9wZXJhdGlvbik7CiAgICAgICAgICAgICBWZWN0b3I8ZmxvYXQ+
IGlucHV0UGFyYW1ldGVyczsKICAgICAgICAgICAgIGRvdWJsZSBvbmVNaW51c0Ftb3VudCA9IGNs
YW1wVG8oMSAtIGNvbG9yTWF0cml4T3BlcmF0aW9uLmFtb3VudCgpLCAwLjAsIDEuMCk7CiAKQEAg
LTE3NCw3ICsxNzMsNyBAQCBib29sIEZpbHRlckVmZmVjdFJlbmRlcmVyOjpidWlsZChSZW5kZXJF
bGVtZW50KiByZW5kZXJlciwgY29uc3QgRmlsdGVyT3BlcmF0aW9ucwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OlNFUElBOiB7Ci0g
ICAgICAgICAgICBCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJpeE9w
ZXJhdGlvbiA9IGRvd25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KGZpbHRl
ck9wZXJhdGlvbik7CisgICAgICAgICAgICBCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9u
JiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9IGRvd25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJP
cGVyYXRpb24+KCpmaWx0ZXJPcGVyYXRpb24pOwogICAgICAgICAgICAgVmVjdG9yPGZsb2F0PiBp
bnB1dFBhcmFtZXRlcnM7CiAgICAgICAgICAgICBkb3VibGUgb25lTWludXNBbW91bnQgPSBjbGFt
cFRvKDEgLSBjb2xvck1hdHJpeE9wZXJhdGlvbi5hbW91bnQoKSwgMC4wLCAxLjApOwogCkBAIC0y
MDIsMjEgKzIwMSwyMSBAQCBib29sIEZpbHRlckVmZmVjdFJlbmRlcmVyOjpidWlsZChSZW5kZXJF
bGVtZW50KiByZW5kZXJlciwgY29uc3QgRmlsdGVyT3BlcmF0aW9ucwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OlNBVFVSQVRFOiB7
Ci0gICAgICAgICAgICBCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJp
eE9wZXJhdGlvbiA9IGRvd25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KGZp
bHRlck9wZXJhdGlvbik7CisgICAgICAgICAgICBCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0
aW9uJiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9IGRvd25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0
ZXJPcGVyYXRpb24+KCpmaWx0ZXJPcGVyYXRpb24pOwogICAgICAgICAgICAgVmVjdG9yPGZsb2F0
PiBpbnB1dFBhcmFtZXRlcnM7CiAgICAgICAgICAgICBpbnB1dFBhcmFtZXRlcnMuYXBwZW5kKG5h
cnJvd1ByZWNpc2lvblRvRmxvYXQoY29sb3JNYXRyaXhPcGVyYXRpb24uYW1vdW50KCkpKTsKICAg
ICAgICAgICAgIGVmZmVjdCA9IEZFQ29sb3JNYXRyaXg6OmNyZWF0ZSgqdGhpcywgRkVDT0xPUk1B
VFJJWF9UWVBFX1NBVFVSQVRFLCBpbnB1dFBhcmFtZXRlcnMpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OkhVRV9ST1RBVEU6IHsK
LSAgICAgICAgICAgIEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24mIGNvbG9yTWF0cml4
T3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbj4oZmls
dGVyT3BlcmF0aW9uKTsKKyAgICAgICAgICAgIEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRp
b24mIGNvbG9yTWF0cml4T3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWNDb2xvck1hdHJpeEZpbHRl
ck9wZXJhdGlvbj4oKmZpbHRlck9wZXJhdGlvbik7CiAgICAgICAgICAgICBWZWN0b3I8ZmxvYXQ+
IGlucHV0UGFyYW1ldGVyczsKICAgICAgICAgICAgIGlucHV0UGFyYW1ldGVycy5hcHBlbmQobmFy
cm93UHJlY2lzaW9uVG9GbG9hdChjb2xvck1hdHJpeE9wZXJhdGlvbi5hbW91bnQoKSkpOwogICAg
ICAgICAgICAgZWZmZWN0ID0gRkVDb2xvck1hdHJpeDo6Y3JlYXRlKCp0aGlzLCBGRUNPTE9STUFU
UklYX1RZUEVfSFVFUk9UQVRFLCBpbnB1dFBhcmFtZXRlcnMpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OklOVkVSVDogewotICAg
ICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50
VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVy
T3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24pOworICAgICAgICAgICAgQmFzaWNDb21wb25lbnRU
cmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3du
Y2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPigqZmlsdGVyT3BlcmF0
aW9uKTsKICAgICAgICAgICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNmZXJGdW5j
dGlvbjsKICAgICAgICAgICAgIHRyYW5zZmVyRnVuY3Rpb24udHlwZSA9IEZFQ09NUE9ORU5UVFJB
TlNGRVJfVFlQRV9UQUJMRTsKICAgICAgICAgICAgIFZlY3RvcjxmbG9hdD4gdHJhbnNmZXJQYXJh
bWV0ZXJzOwpAQCAtMjI5LDcgKzIyOCw3IEBAIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXI6OmJ1
aWxkKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zCiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6
T1BBQ0lUWTogewotICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJh
dGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVu
dFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24pOworICAgICAgICAgICAg
QmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJP
cGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9u
PigqZmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b24gdHJhbnNmZXJGdW5jdGlvbjsKICAgICAgICAgICAgIHRyYW5zZmVyRnVuY3Rpb24udHlwZSA9
IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9UQUJMRTsKICAgICAgICAgICAgIFZlY3RvcjxmbG9h
dD4gdHJhbnNmZXJQYXJhbWV0ZXJzOwpAQCAtMjQyLDcgKzI0MSw3IEBAIGJvb2wgRmlsdGVyRWZm
ZWN0UmVuZGVyZXI6OmJ1aWxkKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGaWx0ZXJP
cGVyYXRpb25zCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZp
bHRlck9wZXJhdGlvbjo6QlJJR0hUTkVTUzogewotICAgICAgICAgICAgQmFzaWNDb21wb25lbnRU
cmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3du
Y2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRp
b24pOworICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYg
Y29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5z
ZmVyRmlsdGVyT3BlcmF0aW9uPigqZmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIENvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNmZXJGdW5jdGlvbjsKICAgICAgICAgICAgIHRyYW5z
ZmVyRnVuY3Rpb24udHlwZSA9IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVI7CiAgICAg
ICAgICAgICB0cmFuc2ZlckZ1bmN0aW9uLnNsb3BlID0gbmFycm93UHJlY2lzaW9uVG9GbG9hdChj
b21wb25lbnRUcmFuc2Zlck9wZXJhdGlvbi5hbW91bnQoKSk7CkBAIC0yNTMsNyArMjUyLDcgQEAg
Ym9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YnVpbGQoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIs
IGNvbnN0IEZpbHRlck9wZXJhdGlvbnMKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpDT05UUkFTVDogewotICAgICAgICAgICAgQmFz
aWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVy
YXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPihm
aWx0ZXJPcGVyYXRpb24pOworICAgICAgICAgICAgQmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRl
ck9wZXJhdGlvbiYgY29tcG9uZW50VHJhbnNmZXJPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0Nv
bXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uPigqZmlsdGVyT3BlcmF0aW9uKTsKICAgICAg
ICAgICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNmZXJGdW5jdGlvbjsKICAgICAg
ICAgICAgIHRyYW5zZmVyRnVuY3Rpb24udHlwZSA9IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9M
SU5FQVI7CiAgICAgICAgICAgICBmbG9hdCBhbW91bnQgPSBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0
KGNvbXBvbmVudFRyYW5zZmVyT3BlcmF0aW9uLmFtb3VudCgpKTsKQEAgLTI2NSwxMyArMjY0LDEz
IEBAIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXI6OmJ1aWxkKFJlbmRlckVsZW1lbnQqIHJlbmRl
cmVyLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6QkxVUjogewotICAgICAgICAgICAgQmx1
ckZpbHRlck9wZXJhdGlvbiYgYmx1ck9wZXJhdGlvbiA9IGRvd25jYXN0PEJsdXJGaWx0ZXJPcGVy
YXRpb24+KGZpbHRlck9wZXJhdGlvbik7CisgICAgICAgICAgICBCbHVyRmlsdGVyT3BlcmF0aW9u
JiBibHVyT3BlcmF0aW9uID0gZG93bmNhc3Q8Qmx1ckZpbHRlck9wZXJhdGlvbj4oKmZpbHRlck9w
ZXJhdGlvbik7CiAgICAgICAgICAgICBmbG9hdCBzdGREZXZpYXRpb24gPSBmbG9hdFZhbHVlRm9y
TGVuZ3RoKGJsdXJPcGVyYXRpb24uc3RkRGV2aWF0aW9uKCksIDApOwogICAgICAgICAgICAgZWZm
ZWN0ID0gRkVHYXVzc2lhbkJsdXI6OmNyZWF0ZSgqdGhpcywgc3RkRGV2aWF0aW9uLCBzdGREZXZp
YXRpb24sIGNvbnN1bWVyID09IEZpbHRlclByb3BlcnR5ID8gRURHRU1PREVfTk9ORSA6IEVER0VN
T0RFX0RVUExJQ0FURSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBj
YXNlIEZpbHRlck9wZXJhdGlvbjo6RFJPUF9TSEFET1c6IHsKLSAgICAgICAgICAgIERyb3BTaGFk
b3dGaWx0ZXJPcGVyYXRpb24mIGRyb3BTaGFkb3dPcGVyYXRpb24gPSBkb3duY2FzdDxEcm9wU2hh
ZG93RmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24pOworICAgICAgICAgICAgRHJvcFNo
YWRvd0ZpbHRlck9wZXJhdGlvbiYgZHJvcFNoYWRvd09wZXJhdGlvbiA9IGRvd25jYXN0PERyb3BT
aGFkb3dGaWx0ZXJPcGVyYXRpb24+KCpmaWx0ZXJPcGVyYXRpb24pOwogICAgICAgICAgICAgZWZm
ZWN0ID0gRkVEcm9wU2hhZG93OjpjcmVhdGUoKnRoaXMsIGRyb3BTaGFkb3dPcGVyYXRpb24uc3Rk
RGV2aWF0aW9uKCksIGRyb3BTaGFkb3dPcGVyYXRpb24uc3RkRGV2aWF0aW9uKCksCiAgICAgICAg
ICAgICAgICAgZHJvcFNoYWRvd09wZXJhdGlvbi54KCksIGRyb3BTaGFkb3dPcGVyYXRpb24ueSgp
LCBkcm9wU2hhZG93T3BlcmF0aW9uLmNvbG9yKCksIDEpOwogICAgICAgICAgICAgYnJlYWs7CkBA
IC0yODYsNyArMjg1LDcgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YnVpbGQoUmVuZGVy
RWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMKICAgICAgICAgICAgIGVm
ZmVjdC0+c2V0Q2xpcHNUb0JvdW5kcyhjb25zdW1lciA9PSBGaWx0ZXJGdW5jdGlvbik7CiAgICAg
ICAgICAgICBlZmZlY3QtPnNldE9wZXJhdGluZ0NvbG9yU3BhY2UoQ29sb3JTcGFjZURldmljZVJH
Qik7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChmaWx0ZXJPcGVyYXRpb24udHlwZSgp
ICE9IEZpbHRlck9wZXJhdGlvbjo6UkVGRVJFTkNFKSB7CisgICAgICAgICAgICBpZiAoZmlsdGVy
T3BlcmF0aW9uLT50eXBlKCkgIT0gRmlsdGVyT3BlcmF0aW9uOjpSRUZFUkVOQ0UpIHsKICAgICAg
ICAgICAgICAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpLmFwcGVuZChwcmV2aW91c0VmZmVjdCk7
CiAgICAgICAgICAgICAgICAgbV9lZmZlY3RzLmFwcGVuZChlZmZlY3QpOwogICAgICAgICAgICAg
fQpAQCAtMzMxLDggKzMzMCw4IEBAIHZvaWQgRmlsdGVyRWZmZWN0UmVuZGVyZXI6OmFsbG9jYXRl
QmFja2luZ1N0b3JlSWZOZWVkZWQoKQogdm9pZCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6Y2xlYXJJ
bnRlcm1lZGlhdGVSZXN1bHRzKCkKIHsKICAgICBtX3NvdXJjZUdyYXBoaWMtPmNsZWFyUmVzdWx0
KCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2VmZmVjdHMuc2l6ZSgpOyArK2kpCi0g
ICAgICAgIG1fZWZmZWN0c1tpXS0+Y2xlYXJSZXN1bHQoKTsKKyAgICBmb3IgKGF1dG8mIGVmZmVj
dCA6IG1fZWZmZWN0cykKKyAgICAgICAgZWZmZWN0LT5jbGVhclJlc3VsdCgpOwogfQogCiB2b2lk
IEZpbHRlckVmZmVjdFJlbmRlcmVyOjphcHBseSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5oCmluZGV4IDVmZjg5OGI0MDY1NjQ5ZDBjODY0NzU2
N2FkNWRmMjJjMjBhZjkyNDEuLmQ3MTU1M2FlMzc2NjA1NDNkZGI3Yzc4YWI0ZGY2OGVmMGRhMGVm
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5k
ZXJlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJl
ci5oCkBAIC0xMjAsMTAgKzEyMCw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCBzZXRN
YXhFZmZlY3RSZWN0cyhjb25zdCBGbG9hdFJlY3QmIGVmZmVjdFJlY3QpCiAgICAgewotICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZWZmZWN0cy5zaXplKCk7ICsraSkgewotICAgICAg
ICAgICAgUmVmUHRyPEZpbHRlckVmZmVjdD4gZWZmZWN0ID0gbV9lZmZlY3RzLmF0KGkpOworICAg
ICAgICBmb3IgKGF1dG8mIGVmZmVjdCA6IG1fZWZmZWN0cykKICAgICAgICAgICAgIGVmZmVjdC0+
c2V0TWF4RWZmZWN0UmVjdChlZmZlY3RSZWN0KTsKLSAgICAgICAgfQogICAgIH0KIAogICAgIEZp
bHRlckVmZmVjdCogbGFzdEVmZmVjdCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmplY3RzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9GbG9hdGluZ09iamVjdHMuY3BwCmluZGV4IGRiYzUxYzdlZDc0MjRlNjUxOGU5MTZlZDY4Y2Rj
N2EzOGY0N2ViOTAuLjBjMDY0NDliNWUxNWZkNDI4N2U4ZDdkNTUyYTE0YjFkZWIyYTcwMjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG9hdGluZ09iamVjdHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG9hdGluZ09iamVjdHMuY3BwCkBAIC0yNjYs
OSArMjY2LDkgQEAgRmxvYXRpbmdPYmplY3RzOjp+RmxvYXRpbmdPYmplY3RzKCkKIHZvaWQgRmxv
YXRpbmdPYmplY3RzOjpjbGVhckxpbmVCb3hUcmVlUG9pbnRlcnMoKQogewogICAgIC8vIENsZWFy
IHJlZmVyZW5jZXMgdG8gb3JpZ2luYXRpbmcgbGluZXMsIHNpbmNlIHRoZSBsaW5lcyBhcmUgYmVp
bmcgZGVsZXRlZAotICAgIGZvciAoYXV0byBpdCA9IG1fc2V0LmJlZ2luKCksIGVuZCA9IG1fc2V0
LmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgQVNTRVJUKCEoKCppdCktPm9yaWdp
bmF0aW5nTGluZSgpKSB8fCAmKCgqaXQpLT5vcmlnaW5hdGluZ0xpbmUoKS0+cmVuZGVyZXIoKSkg
PT0gJm1fcmVuZGVyZXIpOwotICAgICAgICAoKml0KS0+c2V0T3JpZ2luYXRpbmdMaW5lKDApOwor
ICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX3NldCkgeworICAgICAgICBBU1NFUlQo
IWZsb2F0aW5nT2JqZWN0LT5vcmlnaW5hdGluZ0xpbmUoKSB8fCAmZmxvYXRpbmdPYmplY3QtPm9y
aWdpbmF0aW5nTGluZSgpLT5yZW5kZXJlcigpID09ICZtX3JlbmRlcmVyKTsKKyAgICAgICAgZmxv
YXRpbmdPYmplY3QtPnNldE9yaWdpbmF0aW5nTGluZShudWxscHRyKTsKICAgICB9CiB9CiAKQEAg
LTI4MiwxMiArMjgyLDEyIEBAIHZvaWQgRmxvYXRpbmdPYmplY3RzOjpjbGVhcigpCiAKIHZvaWQg
RmxvYXRpbmdPYmplY3RzOjptb3ZlQWxsVG9GbG9hdEluZm9NYXAoUmVuZGVyZXJUb0Zsb2F0SW5m
b01hcCYgbWFwKQogewotICAgIGZvciAoYXV0byBpdCA9IG1fc2V0LmJlZ2luKCksIGVuZCA9IG1f
c2V0LmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgYXV0byYgcmVuZGVyZXIgPSBp
dC0+Z2V0KCktPnJlbmRlcmVyKCk7CisgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVjdCA6IG1f
c2V0KSB7CisgICAgICAgIGF1dG8mIHJlbmRlcmVyID0gZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVy
KCk7CiAgICAgICAgIC8vIEZJWE1FOiBUaGUgb25seSByZWFzb24gaXQgaXMgc2FmZSB0byBtb3Zl
IHRoZXNlIG91dCBvZiB0aGUgc2V0IGlzIHRoYXQKICAgICAgICAgLy8gd2UgYXJlIGFib3V0IHRv
IGNsZWFyIGl0LiBPdGhlcndpc2UgaXQgd291bGQgYnJlYWsgdGhlIGhhc2ggdGFibGUgaW52YXJp
YW50LgogICAgICAgICAvLyBBIGNsZWFuIHdheSB0byBkbyB0aGlzIHdvdWxkIGJlIHRvIGFkZCBh
IHRha2VBbGwgZnVuY3Rpb24gdG8gSGFzaFNldC4KLSAgICAgICAgbWFwLmFkZCgmcmVuZGVyZXIs
IFdURjo6bW92ZSgqaXQpKTsKKyAgICAgICAgbWFwLmFkZCgmcmVuZGVyZXIsIFdURjo6bW92ZShm
bG9hdGluZ09iamVjdCkpOwogICAgIH0KICAgICBjbGVhcigpOwogfQpAQCAtMzc0LDEwICszNzQs
OSBAQCB2b2lkIEZsb2F0aW5nT2JqZWN0czo6Y29tcHV0ZVBsYWNlZEZsb2F0c1RyZWUoKQogICAg
ICAgICByZXR1cm47CiAKICAgICBtX3BsYWNlZEZsb2F0c1RyZWUgPSBzdGQ6Om1ha2VfdW5pcXVl
PEZsb2F0aW5nT2JqZWN0VHJlZT4oKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBtX3NldC5iZWdpbigp
LCBlbmQgPSBtX3NldC5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEZsb2F0aW5n
T2JqZWN0KiBmbG9hdGluZ09iamVjdCA9IGl0LT5nZXQoKTsKKyAgICBmb3IgKGF1dG8mIGZsb2F0
aW5nT2JqZWN0IDogbV9zZXQpIHsKICAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0LT5pc1BsYWNl
ZCgpKQotICAgICAgICAgICAgbV9wbGFjZWRGbG9hdHNUcmVlLT5hZGQoaW50ZXJ2YWxGb3JGbG9h
dGluZ09iamVjdChmbG9hdGluZ09iamVjdCkpOworICAgICAgICAgICAgbV9wbGFjZWRGbG9hdHNU
cmVlLT5hZGQoaW50ZXJ2YWxGb3JGbG9hdGluZ09iamVjdChmbG9hdGluZ09iamVjdC5nZXQoKSkp
OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dU
aHJlYWRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFk
Q29udHJvbGxlci5jcHAKaW5kZXggOGNmMTRhY2ZhMjBjODQ0YzExZmU3OTFhYjgzNTVmNGFjODQ4
YWQ5OC4uZWI2YjQ2Y2JkNDUyNzE2YjQ2ZWM4MGNiZTAxMDI5NTk2NTkxZmRjNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwCkBAIC0y
NzQsOCArMjc0LDcgQEAgdm9pZCBGbG93VGhyZWFkQ29udHJvbGxlcjo6Y29sbGVjdEZpeGVkUG9z
aXRpb25lZExheWVycyhWZWN0b3I8UmVuZGVyTGF5ZXIqPiYgZmkKIAogICAgICAgICBSZW5kZXJM
YXllciogZmxvd1RocmVhZExheWVyID0gZmxvd1JlbmRlcmVyLT5sYXllcigpOwogICAgICAgICBp
ZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIG5lZ1pPcmRlckxpc3QgPSBmbG93VGhyZWFkTGF5ZXIt
Pm5lZ1pPcmRlckxpc3QoKSkgewotICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDAsIHNpemUg
PSBuZWdaT3JkZXJMaXN0LT5zaXplKCk7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgICAgICAg
ICBSZW5kZXJMYXllciogY3VyckxheWVyID0gbmVnWk9yZGVyTGlzdC0+YXQoaSk7CisgICAgICAg
ICAgICBmb3IgKGF1dG8mIGN1cnJMYXllciA6ICpuZWdaT3JkZXJMaXN0KSB7CiAgICAgICAgICAg
ICAgICAgaWYgKGN1cnJMYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLnBvc2l0aW9uKCkgIT0gRml4
ZWRQb3NpdGlvbikKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAg
ICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGN1cnJMYXllcik7CkBAIC0yODMsOCArMjgyLDcgQEAg
dm9pZCBGbG93VGhyZWFkQ29udHJvbGxlcjo6Y29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyhW
ZWN0b3I8UmVuZGVyTGF5ZXIqPiYgZmkKICAgICAgICAgfQogCiAgICAgICAgIGlmIChWZWN0b3I8
UmVuZGVyTGF5ZXIqPiogcG9zWk9yZGVyTGlzdCA9IGZsb3dUaHJlYWRMYXllci0+cG9zWk9yZGVy
TGlzdCgpKSB7Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMCwgc2l6ZSA9IHBvc1pPcmRl
ckxpc3QtPnNpemUoKTsgaSA8IHNpemU7ICsraSkgewotICAgICAgICAgICAgICAgIFJlbmRlckxh
eWVyKiBjdXJyTGF5ZXIgPSBwb3NaT3JkZXJMaXN0LT5hdChpKTsKKyAgICAgICAgICAgIGZvciAo
YXV0byYgY3VyckxheWVyIDogKnBvc1pPcmRlckxpc3QpIHsKICAgICAgICAgICAgICAgICBpZiAo
Y3VyckxheWVyLT5yZW5kZXJlcigpLnN0eWxlKCkucG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9u
KQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICBmaXhlZFBv
c0xheWVycy5hcHBlbmQoY3VyckxheWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRU
ZXN0UmVzdWx0LmNwcAppbmRleCAxNDQ0OWI2NzdkZDdiNzJjMGQxMDdlNGUyYTRlZWZiNmVmOTU3
YzNiLi44OTJkMTYzYzMzZjM4OTU4YmVlMTNmMzBmYzY3M2VmN2ZmZTFiMjM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCkBAIC03MDIsOCArNzAyLDggQEAg
dm9pZCBIaXRUZXN0UmVzdWx0OjphcHBlbmQoY29uc3QgSGl0VGVzdFJlc3VsdCYgb3RoZXIpCiAK
ICAgICBpZiAob3RoZXIubV9yZWN0QmFzZWRUZXN0UmVzdWx0KSB7CiAgICAgICAgIE5vZGVTZXQm
IHNldCA9IG11dGFibGVSZWN0QmFzZWRUZXN0UmVzdWx0KCk7Ci0gICAgICAgIGZvciAoTm9kZVNl
dDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBvdGhlci5tX3JlY3RCYXNlZFRlc3RSZXN1bHQtPmJlZ2lu
KCksIGxhc3QgPSBvdGhlci5tX3JlY3RCYXNlZFRlc3RSZXN1bHQtPmVuZCgpOyBpdCAhPSBsYXN0
OyArK2l0KQotICAgICAgICAgICAgc2V0LmFkZChpdC0+Z2V0KCkpOworICAgICAgICBmb3IgKGF1
dG8mIHJlc3VsdCA6ICpvdGhlci5tX3JlY3RCYXNlZFRlc3RSZXN1bHQpCisgICAgICAgICAgICBz
ZXQuYWRkKHJlc3VsdCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKaW5kZXggYzRhNmU0M2M2NzIyZjQxMGY3
YmY5MGQxMDhiOGM1NjBjMzIwMDA5Yy4uMTBkY2YxMWFkOWU5MjA0Y2JlNTU0ZDZjNDk2OTQxZDc1
ZWQwZmIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0
eUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxp
dHlDb250cm9sbGVyLmNwcApAQCAtODgsOCArODgsOCBAQCB2b2lkIEltYWdlUXVhbGl0eUNvbnRy
b2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoKQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgZm9yIChhdXRvIGl0ID0gbV9vYmplY3RMYXllclNpemVNYXAuYmVnaW4oKSwg
ZW5kID0gbV9vYmplY3RMYXllclNpemVNYXAuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAg
ICAgaXQtPmtleS0+cmVwYWludCgpOworICAgIGZvciAoYXV0byYgb2JqZWN0IDogbV9vYmplY3RM
YXllclNpemVNYXAua2V5cygpKQorICAgICAgICBvYmplY3QtPnJlcGFpbnQoKTsKIAogICAgIG1f
bGl2ZVJlc2l6ZU9wdGltaXphdGlvbklzQWN0aXZlID0gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKaW5kZXggZjQwYjc1MGUxM2FkMjg5N2FiYTA3
MzFhYmZkMzk2MjYxNjA0YjU5My4uYmVlZWNjNjY2OTdmNTQ4ZDRlNmE3ZmNiYTA2NTIzZDc4ZGVl
NjI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcApAQCAt
NjMwLDEyICs2MzAsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsCiAgICAgICAgIHBhaW50RG9j
dW1lbnRNYXJrZXJzKGNvbnRleHQsIGJveE9yaWdpbiwgbGluZVN0eWxlLCBmb250LCBmYWxzZSk7
CiAKICAgICAgICAgaWYgKHVzZUN1c3RvbVVuZGVybGluZXMpIHsKLSAgICAgICAgICAgIGNvbnN0
IFZlY3RvcjxDb21wb3NpdGlvblVuZGVybGluZT4mIHVuZGVybGluZXMgPSByZW5kZXJlcigpLmZy
YW1lKCkuZWRpdG9yKCkuY3VzdG9tQ29tcG9zaXRpb25VbmRlcmxpbmVzKCk7Ci0gICAgICAgICAg
ICBzaXplX3QgbnVtVW5kZXJsaW5lcyA9IHVuZGVybGluZXMuc2l6ZSgpOwotCi0gICAgICAgICAg
ICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVW5kZXJsaW5lczsgKytpbmRleCkg
ewotICAgICAgICAgICAgICAgIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJiB1bmRlcmxpbmUg
PSB1bmRlcmxpbmVzW2luZGV4XTsKLQorICAgICAgICAgICAgZm9yIChhdXRvJiB1bmRlcmxpbmUg
OiByZW5kZXJlcigpLmZyYW1lKCkuZWRpdG9yKCkuY3VzdG9tQ29tcG9zaXRpb25VbmRlcmxpbmVz
KCkpIHsKICAgICAgICAgICAgICAgICBpZiAodW5kZXJsaW5lLmVuZE9mZnNldCA8PSBzdGFydCgp
KQogICAgICAgICAgICAgICAgICAgICAvLyB1bmRlcmxpbmUgaXMgY29tcGxldGVseSBiZWZvcmUg
dGhpcyBydW4uICBUaGlzIG1pZ2h0IGJlIGFuIHVuZGVybGluZSB0aGF0IHNpdHMKICAgICAgICAg
ICAgICAgICAgICAgLy8gYmVmb3JlIHRoZSBmaXJzdCBydW4gd2UgZHJhdywgb3IgdW5kZXJsaW5l
cyB0aGF0IHdlcmUgd2l0aGluIHJ1bnMgd2Ugc2tpcHBlZCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDc2NmQxYTg4NmEzYWY4OGZmOGZlNzYxYzk3NWM4YzMw
ODE2YWNkZTUuLmUwNTMwOTUyZGZkZGNhYjY0NWU4Y2Y4YjQ0Y2QzMWUwYzcyNzJiOTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMTkzLDEwICsxOTMsOSBA
QCBSZW5kZXJCbG9jazo6UmVuZGVyQmxvY2soRG9jdW1lbnQmIGRvY3VtZW50LCBSZWY8UmVuZGVy
U3R5bGU+JiYgc3R5bGUsIHVuc2lnbmVkCiAKIHN0YXRpYyB2b2lkIHJlbW92ZUJsb2NrRnJvbURl
c2NlbmRhbnRBbmRDb250YWluZXJNYXBzKFJlbmRlckJsb2NrKiBibG9jaywgVHJhY2tlZERlc2Nl
bmRhbnRzTWFwKiYgZGVzY2VuZGFudE1hcCwgVHJhY2tlZENvbnRhaW5lck1hcComIGNvbnRhaW5l
ck1hcCkKIHsKLSAgICBpZiAoc3RkOjp1bmlxdWVfcHRyPFRyYWNrZWRSZW5kZXJlckxpc3RIYXNo
U2V0PiBkZXNjZW5kYW50U2V0ID0gZGVzY2VuZGFudE1hcC0+dGFrZShibG9jaykpIHsKLSAgICAg
ICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hTZXQ6Oml0ZXJhdG9yIGVuZCA9IGRlc2NlbmRhbnRT
ZXQtPmVuZCgpOwotICAgICAgICBmb3IgKFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0OjppdGVy
YXRvciBkZXNjZW5kYW50ID0gZGVzY2VuZGFudFNldC0+YmVnaW4oKTsgZGVzY2VuZGFudCAhPSBl
bmQ7ICsrZGVzY2VuZGFudCkgewotICAgICAgICAgICAgVHJhY2tlZENvbnRhaW5lck1hcDo6aXRl
cmF0b3IgaXQgPSBjb250YWluZXJNYXAtPmZpbmQoKmRlc2NlbmRhbnQpOworICAgIGlmIChhdXRv
IGRlc2NlbmRhbnRTZXQgPSBkZXNjZW5kYW50TWFwLT50YWtlKGJsb2NrKSkgeworICAgICAgICBm
b3IgKGF1dG8mIGJveCA6ICpkZXNjZW5kYW50U2V0KSB7CisgICAgICAgICAgICBhdXRvIGl0ID0g
Y29udGFpbmVyTWFwLT5maW5kKGJveCk7CiAgICAgICAgICAgICBBU1NFUlQoaXQgIT0gY29udGFp
bmVyTWFwLT5lbmQoKSk7CiAgICAgICAgICAgICBpZiAoaXQgPT0gY29udGFpbmVyTWFwLT5lbmQo
KSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTEwNTEsOSArMTA1MCw3IEBAIHZvaWQg
UmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKCkKICAgICBpZiAo
IXBvc2l0aW9uZWREZXNjZW5kYW50cykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9yIChhdXRv
IGl0ID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5iZWdpbigpLCBlbmQgPSBwb3NpdGlvbmVkRGVz
Y2VuZGFudHMtPmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgUmVuZGVyQm94KiBw
b3NpdGlvbmVkT2JqZWN0ID0gKml0OwotICAgICAgICAKKyAgICBmb3IgKGF1dG8mIHBvc2l0aW9u
ZWRPYmplY3QgOiAqcG9zaXRpb25lZERlc2NlbmRhbnRzKSB7CiAgICAgICAgIC8vIEZpeGVkIHBv
c2l0aW9uZWQgZWxlbWVudHMgZG9uJ3QgY29udHJpYnV0ZSB0byBsYXlvdXQgb3ZlcmZsb3csIHNp
bmNlIHRoZXkgZG9uJ3Qgc2Nyb2xsIHdpdGggdGhlIGNvbnRlbnQuCiAgICAgICAgIGlmIChwb3Np
dGlvbmVkT2JqZWN0LT5zdHlsZSgpLnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikgewogICAg
ICAgICAgICAgTGF5b3V0VW5pdCB4ID0gcG9zaXRpb25lZE9iamVjdC0+eCgpOwpAQCAtMTE0OCw4
ICsxMTQ1LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6ZGlydHlGb3JMYXlvdXRGcm9tUGVyY2VudGFn
ZUhlaWdodERlc2NlbmRhbnRzKCkKICAgICBpZiAoIWRlc2NlbmRhbnRzKQogICAgICAgICByZXR1
cm47CiAKLSAgICBmb3IgKGF1dG8gaXQgPSBkZXNjZW5kYW50cy0+YmVnaW4oKSwgZW5kID0gZGVz
Y2VuZGFudHMtPmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgUmVuZGVyQm94KiBi
b3ggPSAqaXQ7CisgICAgZm9yIChhdXRvJiBib3ggOiAqZGVzY2VuZGFudHMpIHsKICAgICAgICAg
d2hpbGUgKGJveCAhPSB0aGlzKSB7CiAgICAgICAgICAgICBpZiAoYm94LT5ub3JtYWxDaGlsZE5l
ZWRzTGF5b3V0KCkpCiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xMTg2LDExICsxMTgyLDkg
QEAgdm9pZCBSZW5kZXJCbG9jazo6c2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQoKQogCiAgICAg
ICAgIC8vIEZJWE1FOiBHbHlwaCBvdmVyZmxvdyB3aWxsIGdldCBsb3N0IGluIHRoaXMgY2FzZSwg
YnV0IG5vdCByZWFsbHkgYSBiaWcgZGVhbC4KICAgICAgICAgLy8gRklYTUU6IEZpbmQgYSB3YXkg
dG8gaW52YWxpZGF0ZSB0aGUga25vd25Ub0hhdmVOb092ZXJmbG93IGZsYWcgb24gdGhlIElubGlu
ZUJveGVzLgotICAgICAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCB0ZXh0Qm94
RGF0YU1hcDsgICAgICAgICAgICAgICAgICAKLSAgICAgICAgZm9yIChhdXRvIGl0ID0gbGluZUJv
eGVzLmJlZ2luKCksIGVuZCA9IGxpbmVCb3hlcy5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0g
ICAgICAgICAgICBSb290SW5saW5lQm94KiBib3ggPSAqaXQ7CisgICAgICAgIEdseXBoT3ZlcmZs
b3dBbmRGYWxsYmFja0ZvbnRzTWFwIHRleHRCb3hEYXRhTWFwOworICAgICAgICBmb3IgKGF1dG8m
IGJveCA6IGxpbmVCb3hlcykKICAgICAgICAgICAgIGJveC0+Y29tcHV0ZU92ZXJmbG93KGJveC0+
bGluZVRvcCgpLCBib3gtPmxpbmVCb3R0b20oKSwgdGV4dEJveERhdGFNYXApOwotICAgICAgICB9
CiAgICAgfSBlbHNlIHsKICAgICAgICAgZm9yIChhdXRvIGJveCA9IGZpcnN0Q2hpbGRCb3goKTsg
Ym94OyBib3ggPSBib3gtPm5leHRTaWJsaW5nQm94KCkpIHsKICAgICAgICAgICAgIGlmICghYm94
LT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkKQEAgLTEyOTksMTcgKzEyOTMsMTUgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdHMoYm9vbCByZWxheW91dENoaWxkcmVu
LCBib29sIGZpeGVkUG9zaXQKICAgICBpZiAoIXBvc2l0aW9uZWREZXNjZW5kYW50cykKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgZm9yIChhdXRvIGl0ID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5i
ZWdpbigpLCBlbmQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmVuZCgpOyBpdCAhPSBlbmQ7ICsr
aXQpIHsKLSAgICAgICAgUmVuZGVyQm94JiByID0gKippdDsKLSAgICAgICAgCi0gICAgICAgIGVz
dGltYXRlUmVnaW9uUmFuZ2VGb3JCb3hDaGlsZChyKTsKKyAgICBmb3IgKGF1dG8mIGJveCA6ICpw
b3NpdGlvbmVkRGVzY2VuZGFudHMpIHsKKyAgICAgICAgZXN0aW1hdGVSZWdpb25SYW5nZUZvckJv
eENoaWxkKCpib3gpOwogCiAgICAgICAgIC8vIEEgZml4ZWQgcG9zaXRpb24gZWxlbWVudCB3aXRo
IGFuIGFic29sdXRlIHBvc2l0aW9uZWQgYW5jZXN0b3IgaGFzIG5vIHdheSBvZiBrbm93aW5nIGlm
IHRoZSBsYXR0ZXIgaGFzIGNoYW5nZWQgcG9zaXRpb24uIFNvCiAgICAgICAgIC8vIGlmIHRoaXMg
aXMgYSBmaXhlZCBwb3NpdGlvbiBlbGVtZW50LCBtYXJrIGl0IGZvciBsYXlvdXQgaWYgaXQgaGFz
IGFuIGFic3BvcyBhbmNlc3RvciBhbmQgbmVlZHMgdG8gbW92ZSB3aXRoIHRoYXQgYW5jZXN0b3Is
IGkuZS4gCiAgICAgICAgIC8vIGl0IGhhcyBzdGF0aWMgcG9zaXRpb24uCi0gICAgICAgIG1hcmtG
aXhlZFBvc2l0aW9uT2JqZWN0Rm9yTGF5b3V0SWZOZWVkZWQocik7CisgICAgICAgIG1hcmtGaXhl
ZFBvc2l0aW9uT2JqZWN0Rm9yTGF5b3V0SWZOZWVkZWQoKmJveCk7CiAgICAgICAgIGlmIChmaXhl
ZFBvc2l0aW9uT2JqZWN0c09ubHkpIHsKLSAgICAgICAgICAgIHIubGF5b3V0SWZOZWVkZWQoKTsK
KyAgICAgICAgICAgIGJveC0+bGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICB9CiAKQEAgLTEzMTcsNDMgKzEzMDksNDMgQEAgdm9pZCBSZW5kZXJCbG9jazo6
bGF5b3V0UG9zaXRpb25lZE9iamVjdHMoYm9vbCByZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVk
UG9zaXQKICAgICAgICAgLy8gbm9uLXBvc2l0aW9uZWQgYmxvY2suICBSYXRoZXIgdGhhbiB0cnlp
bmcgdG8gZGV0ZWN0IGFsbCBvZiB0aGVzZSBtb3ZlbWVudCBjYXNlcywgd2UganVzdCBhbHdheXMg
bGF5IG91dCBwb3NpdGlvbmVkCiAgICAgICAgIC8vIG9iamVjdHMgdGhhdCBhcmUgcG9zaXRpb25l
ZCBpbXBsaWNpdGx5IGxpa2UgdGhpcy4gIFN1Y2ggb2JqZWN0cyBhcmUgcmFyZSwgYW5kIHNvIGlu
IHR5cGljYWwgREhUTUwgbWVudSB1c2FnZSAod2hlcmUgZXZlcnl0aGluZyBpcwogICAgICAgICAv
LyBwb3NpdGlvbmVkIGV4cGxpY2l0bHkpIHRoaXMgc2hvdWxkIG5vdCBpbmN1ciBhIHBlcmZvcm1h
bmNlIHBlbmFsdHkuCi0gICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuIHx8IChyLnN0eWxlKCku
aGFzU3RhdGljQmxvY2tQb3NpdGlvbihpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKSAmJiByLnBh
cmVudCgpICE9IHRoaXMpKQotICAgICAgICAgICAgci5zZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtP
bmx5VGhpcyk7CisgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuIHx8IChib3gtPnN0eWxlKCku
aGFzU3RhdGljQmxvY2tQb3NpdGlvbihpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKSAmJiBib3gt
PnBhcmVudCgpICE9IHRoaXMpKQorICAgICAgICAgICAgYm94LT5zZXRDaGlsZE5lZWRzTGF5b3V0
KE1hcmtPbmx5VGhpcyk7CiAgICAgICAgICAgICAKICAgICAgICAgLy8gSWYgcmVsYXlvdXRDaGls
ZHJlbiBpcyBzZXQgYW5kIHRoZSBjaGlsZCBoYXMgcGVyY2VudGFnZSBwYWRkaW5nIG9yIGFuIGVt
YmVkZGVkIGNvbnRlbnQgYm94LCB3ZSBhbHNvIG5lZWQgdG8gaW52YWxpZGF0ZSB0aGUgY2hpbGRz
IHByZWYgd2lkdGhzLgotICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbiAmJiByLm5lZWRzUHJl
ZmVycmVkV2lkdGhzUmVjYWxjdWxhdGlvbigpKQotICAgICAgICAgICAgci5zZXRQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzRGlydHkodHJ1ZSwgTWFya09ubHlUaGlzKTsKKyAgICAgICAgaWYgKHJlbGF5
b3V0Q2hpbGRyZW4gJiYgYm94LT5uZWVkc1ByZWZlcnJlZFdpZHRoc1JlY2FsY3VsYXRpb24oKSkK
KyAgICAgICAgICAgIGJveC0+c2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KHRydWUsIE1h
cmtPbmx5VGhpcyk7CiAgICAgICAgIAotICAgICAgICByLm1hcmtGb3JQYWdpbmF0aW9uUmVsYXlv
dXRJZk5lZWRlZCgpOworICAgICAgICBib3gtPm1hcmtGb3JQYWdpbmF0aW9uUmVsYXlvdXRJZk5l
ZWRlZCgpOwogICAgICAgICAKICAgICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSB0byBkbyBhIGZ1bGwg
bGF5b3V0LiAgV2UganVzdCBoYXZlIHRvIHVwZGF0ZSBvdXIgcG9zaXRpb24uIFRyeSB0aGF0IGZp
cnN0LiBJZiB3ZSBoYXZlIHNocmluay10by1maXQgd2lkdGgKICAgICAgICAgLy8gYW5kIHdlIGhp
dCB0aGUgYXZhaWxhYmxlIHdpZHRoIGNvbnN0cmFpbnQsIHRoZSBsYXlvdXRJZk5lZWRlZCgpIHdp
bGwgY2F0Y2ggaXQgYW5kIGRvIGEgZnVsbCBsYXlvdXQuCi0gICAgICAgIGlmIChyLm5lZWRzUG9z
aXRpb25lZE1vdmVtZW50TGF5b3V0T25seSgpICYmIHIudHJ5TGF5b3V0RG9pbmdQb3NpdGlvbmVk
TW92ZW1lbnRPbmx5KCkpCi0gICAgICAgICAgICByLmNsZWFyTmVlZHNMYXlvdXQoKTsKKyAgICAg
ICAgaWYgKGJveC0+bmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXRPbmx5KCkgJiYgYm94LT50
cnlMYXlvdXREb2luZ1Bvc2l0aW9uZWRNb3ZlbWVudE9ubHkoKSkKKyAgICAgICAgICAgIGJveC0+
Y2xlYXJOZWVkc0xheW91dCgpOwogICAgICAgICAgICAgCiAgICAgICAgIC8vIElmIHdlIGFyZSBw
YWdpbmF0ZWQgb3IgaW4gYSBsaW5lIGdyaWQsIGNvbXB1dGUgYSB2ZXJ0aWNhbCBwb3NpdGlvbiBm
b3Igb3VyIG9iamVjdCBub3cuCiAgICAgICAgIC8vIElmIGl0J3Mgd3Jvbmcgd2UnbGwgbGF5IG91
dCBhZ2Fpbi4KICAgICAgICAgTGF5b3V0VW5pdCBvbGRMb2dpY2FsVG9wID0gMDsKLSAgICAgICAg
Ym9vbCBuZWVkc0Jsb2NrRGlyZWN0aW9uTG9jYXRpb25TZXRCZWZvcmVMYXlvdXQgPSByLm5lZWRz
TGF5b3V0KCkgJiYgdmlldygpLmxheW91dFN0YXRlKCktPm5lZWRzQmxvY2tEaXJlY3Rpb25Mb2Nh
dGlvblNldEJlZm9yZUxheW91dCgpOworICAgICAgICBib29sIG5lZWRzQmxvY2tEaXJlY3Rpb25M
b2NhdGlvblNldEJlZm9yZUxheW91dCA9IGJveC0+bmVlZHNMYXlvdXQoKSAmJiB2aWV3KCkubGF5
b3V0U3RhdGUoKS0+bmVlZHNCbG9ja0RpcmVjdGlvbkxvY2F0aW9uU2V0QmVmb3JlTGF5b3V0KCk7
CiAgICAgICAgIGlmIChuZWVkc0Jsb2NrRGlyZWN0aW9uTG9jYXRpb25TZXRCZWZvcmVMYXlvdXQp
IHsKLSAgICAgICAgICAgIGlmIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID09IHIuaXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAgICAgICAgICByLnVwZGF0ZUxvZ2ljYWxIZWln
aHQoKTsKKyAgICAgICAgICAgIGlmIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID09IGJveC0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgICAgICAgICBib3gtPnVwZGF0ZUxv
Z2ljYWxIZWlnaHQoKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByLnVwZGF0
ZUxvZ2ljYWxXaWR0aCgpOwotICAgICAgICAgICAgb2xkTG9naWNhbFRvcCA9IGxvZ2ljYWxUb3BG
b3JDaGlsZChyKTsKKyAgICAgICAgICAgICAgICBib3gtPnVwZGF0ZUxvZ2ljYWxXaWR0aCgpOwor
ICAgICAgICAgICAgb2xkTG9naWNhbFRvcCA9IGxvZ2ljYWxUb3BGb3JDaGlsZCgqYm94KTsKICAg
ICAgICAgfQogCi0gICAgICAgIHIubGF5b3V0SWZOZWVkZWQoKTsKKyAgICAgICAgYm94LT5sYXlv
dXRJZk5lZWRlZCgpOwogCiAgICAgICAgIC8vIExheSBvdXQgYWdhaW4gaWYgb3VyIGVzdGltYXRl
IHdhcyB3cm9uZy4KLSAgICAgICAgaWYgKG5lZWRzQmxvY2tEaXJlY3Rpb25Mb2NhdGlvblNldEJl
Zm9yZUxheW91dCAmJiBsb2dpY2FsVG9wRm9yQ2hpbGQocikgIT0gb2xkTG9naWNhbFRvcCkgewot
ICAgICAgICAgICAgci5zZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7Ci0gICAgICAg
ICAgICByLmxheW91dElmTmVlZGVkKCk7CisgICAgICAgIGlmIChuZWVkc0Jsb2NrRGlyZWN0aW9u
TG9jYXRpb25TZXRCZWZvcmVMYXlvdXQgJiYgbG9naWNhbFRvcEZvckNoaWxkKCpib3gpICE9IG9s
ZExvZ2ljYWxUb3ApIHsKKyAgICAgICAgICAgIGJveC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJr
T25seVRoaXMpOworICAgICAgICAgICAgYm94LT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAgICB9
CiAKLSAgICAgICAgaWYgKHVwZGF0ZVJlZ2lvblJhbmdlRm9yQm94Q2hpbGQocikpIHsKLSAgICAg
ICAgICAgIHIuc2V0TmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKLSAgICAgICAgICAgIHIubGF5
b3V0SWZOZWVkZWQoKTsKKyAgICAgICAgaWYgKHVwZGF0ZVJlZ2lvblJhbmdlRm9yQm94Q2hpbGQo
KmJveCkpIHsKKyAgICAgICAgICAgIGJveC0+c2V0TmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsK
KyAgICAgICAgICAgIGJveC0+bGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAgfQogICAgIH0KIH0K
QEAgLTEzNjQsMTAgKzEzNTYsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjptYXJrUG9zaXRpb25lZE9i
amVjdHNGb3JMYXlvdXQoKQogICAgIGlmICghcG9zaXRpb25lZERlc2NlbmRhbnRzKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmJl
Z2luKCksIGVuZCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytp
dCkgewotICAgICAgICBSZW5kZXJCb3gqIHIgPSAqaXQ7Ci0gICAgICAgIHItPnNldENoaWxkTmVl
ZHNMYXlvdXQoKTsKLSAgICB9CisgICAgZm9yIChhdXRvJiBib3ggOiAqcG9zaXRpb25lZERlc2Nl
bmRhbnRzKQorICAgICAgICBib3gtPnNldENoaWxkTmVlZHNMYXlvdXQoKTsKIH0KIAogdm9pZCBS
ZW5kZXJCbG9jazo6bWFya0ZvclBhZ2luYXRpb25SZWxheW91dElmTmVlZGVkKCkKQEAgLTE2OTEs
MTAgKzE2ODEsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpwYWludENvbnRpbnVhdGlvbk91dGxpbmVz
KFBhaW50SW5mbyYgaW5mbywgY29uc3QgTGF5b3V0UG9pbnQmCiAKICAgICBMYXlvdXRQb2ludCBh
Y2N1bXVsYXRlZFBhaW50T2Zmc2V0ID0gcGFpbnRPZmZzZXQ7CiAgICAgLy8gUGFpbnQgZWFjaCBj
b250aW51YXRpb24gb3V0bGluZS4KLSAgICBMaXN0SGFzaFNldDxSZW5kZXJJbmxpbmUqPjo6aXRl
cmF0b3IgZW5kID0gY29udGludWF0aW9ucy0+ZW5kKCk7Ci0gICAgZm9yIChMaXN0SGFzaFNldDxS
ZW5kZXJJbmxpbmUqPjo6aXRlcmF0b3IgaXQgPSBjb250aW51YXRpb25zLT5iZWdpbigpOyBpdCAh
PSBlbmQ7ICsraXQpIHsKKyAgICBmb3IgKGF1dG8mIGZsb3cgOiAqY29udGludWF0aW9ucykgewog
ICAgICAgICAvLyBOZWVkIHRvIGFkZCBpbiB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIGludGVydmVu
aW5nIGJsb2Nrcy4KLSAgICAgICAgUmVuZGVySW5saW5lKiBmbG93ID0gKml0OwogICAgICAgICBS
ZW5kZXJCbG9jayogYmxvY2sgPSBmbG93LT5jb250YWluaW5nQmxvY2soKTsKICAgICAgICAgZm9y
ICggOyBibG9jayAmJiBibG9jayAhPSB0aGlzOyBibG9jayA9IGJsb2NrLT5jb250YWluaW5nQmxv
Y2soKSkKICAgICAgICAgICAgIGFjY3VtdWxhdGVkUGFpbnRPZmZzZXQubW92ZUJ5KGJsb2NrLT5s
b2NhdGlvbigpKTsKQEAgLTE3ODgsMTEgKzE3NzYsOCBAQCBzdGF0aWMgdm9pZCBjbGlwT3V0UG9z
aXRpb25lZE9iamVjdHMoY29uc3QgUGFpbnRJbmZvKiBwYWludEluZm8sIGNvbnN0IExheW91dFBv
aQogICAgIGlmICghcG9zaXRpb25lZE9iamVjdHMpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAg
ICBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gcG9zaXRp
b25lZE9iamVjdHMtPmVuZCgpOwotICAgIGZvciAoVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hTZXQ6
OmNvbnN0X2l0ZXJhdG9yIGl0ID0gcG9zaXRpb25lZE9iamVjdHMtPmJlZ2luKCk7IGl0ICE9IGVu
ZDsgKytpdCkgewotICAgICAgICBSZW5kZXJCb3gqIHIgPSAqaXQ7Ci0gICAgICAgIHBhaW50SW5m
by0+Y29udGV4dC0+Y2xpcE91dChJbnRSZWN0KG9mZnNldC54KCkgKyByLT54KCksIG9mZnNldC55
KCkgKyByLT55KCksIHItPndpZHRoKCksIHItPmhlaWdodCgpKSk7Ci0gICAgfQorICAgIGZvciAo
YXV0byYgb2JqZWN0IDogKnBvc2l0aW9uZWRPYmplY3RzKQorICAgICAgICBwYWludEluZm8tPmNv
bnRleHQtPmNsaXBPdXQoSW50UmVjdChvZmZzZXQueCgpICsgb2JqZWN0LT54KCksIG9mZnNldC55
KCkgKyBvYmplY3QtPnkoKSwgb2JqZWN0LT53aWR0aCgpLCBvYmplY3QtPmhlaWdodCgpKSk7CiB9
CiAKIExheW91dFVuaXQgYmxvY2tEaXJlY3Rpb25PZmZzZXQoUmVuZGVyQmxvY2smIHJvb3RCbG9j
aywgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0RnJvbVJvb3RCbG9jaykKQEAgLTIxMjMsOSArMjEw
OCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnJlbW92ZUZyb21UcmFja2VkUmVuZGVyZXJNYXBzKFJl
bmRlckJveCYgZGVzY2VuZGFudCwgVHJhY2tlZERlCiAgICAgaWYgKCFjb250YWluZXJTZXQpCiAg
ICAgICAgIHJldHVybjsKICAgICAKLSAgICBmb3IgKGF1dG8gaXQgPSBjb250YWluZXJTZXQtPmJl
Z2luKCksIGVuZCA9IGNvbnRhaW5lclNldC0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAg
ICAgICBSZW5kZXJCbG9jayogY29udGFpbmVyID0gKml0OwotCisgICAgZm9yIChhdXRvJiBjb250
YWluZXIgOiAqY29udGFpbmVyU2V0KSB7CiAgICAgICAgIC8vIEZJWE1FOiBEaXNhYmxpbmcgdGhp
cyBhc3NlcnQgdGVtcG9yYXJpbHkgdW50aWwgd2UgZml4IHRoZSBsYXlvdXQKICAgICAgICAgLy8g
YnVncyBhc3NvY2lhdGVkIHdpdGggcG9zaXRpb25lZCBvYmplY3RzIG5vdCBwcm9wZXJseSBjbGVh
cmVkIGZyb20KICAgICAgICAgLy8gdGhlaXIgYW5jZXN0b3IgY2hhaW4gYmVmb3JlIGJlaW5nIG1v
dmVkLiBTZWUgd2Via2l0IGJ1ZyA5Mzc2Ni4KQEAgLTIxNzMsMjYgKzIxNTYsMjUgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6cmVtb3ZlUG9zaXRpb25lZE9iamVjdHMoUmVuZGVyQmxvY2sqIG8sIENvbnRh
aW5pbmdCbG9ja1N0YXRlIGMKICAgICAKICAgICBWZWN0b3I8UmVuZGVyQm94KiwgMTY+IGRlYWRP
YmplY3RzOwogCi0gICAgZm9yIChhdXRvIGl0ID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5iZWdp
bigpLCBlbmQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQp
IHsKLSAgICAgICAgUmVuZGVyQm94KiByID0gKml0OwotICAgICAgICBpZiAoIW8gfHwgci0+aXNE
ZXNjZW5kYW50T2YobykpIHsKKyAgICBmb3IgKGF1dG8mIGJveCA6ICpwb3NpdGlvbmVkRGVzY2Vu
ZGFudHMpIHsKKyAgICAgICAgaWYgKCFvIHx8IGJveC0+aXNEZXNjZW5kYW50T2YobykpIHsKICAg
ICAgICAgICAgIGlmIChjb250YWluaW5nQmxvY2tTdGF0ZSA9PSBOZXdDb250YWluaW5nQmxvY2sp
Ci0gICAgICAgICAgICAgICAgci0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwor
ICAgICAgICAgICAgICAgIGJveC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBJdCBpcyBwYXJlbnQgYmxvY2tzIGpvYiB0byBh
ZGQgcG9zaXRpb25lZCBjaGlsZCB0byBwb3NpdGlvbmVkIG9iamVjdHMgbGlzdCBvZiBpdHMgY29u
dGFpbmluZyBibG9jawogICAgICAgICAgICAgLy8gUGFyZW50IGxheW91dCBuZWVkcyB0byBiZSBp
bnZhbGlkYXRlZCB0byBlbnN1cmUgdGhpcyBoYXBwZW5zLgotICAgICAgICAgICAgUmVuZGVyRWxl
bWVudCogcCA9IHItPnBhcmVudCgpOworICAgICAgICAgICAgUmVuZGVyRWxlbWVudCogcCA9IGJv
eC0+cGFyZW50KCk7CiAgICAgICAgICAgICB3aGlsZSAocCAmJiAhcC0+aXNSZW5kZXJCbG9jaygp
KQogICAgICAgICAgICAgICAgIHAgPSBwLT5wYXJlbnQoKTsKICAgICAgICAgICAgIGlmIChwKQog
ICAgICAgICAgICAgICAgIHAtPnNldENoaWxkTmVlZHNMYXlvdXQoKTsKICAgICAgICAgICAgIAot
ICAgICAgICAgICAgZGVhZE9iamVjdHMuYXBwZW5kKHIpOworICAgICAgICAgICAgZGVhZE9iamVj
dHMuYXBwZW5kKGJveCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IGRlYWRPYmplY3RzLnNpemUoKTsgaSsrKQotICAgICAgICByZW1vdmVQb3Np
dGlvbmVkT2JqZWN0KCpkZWFkT2JqZWN0cy5hdChpKSk7CisgICAgZm9yIChhdXRvJiBvYmplY3Qg
OiBkZWFkT2JqZWN0cykKKyAgICAgICAgcmVtb3ZlUG9zaXRpb25lZE9iamVjdCgqb2JqZWN0KTsK
IH0KIAogdm9pZCBSZW5kZXJCbG9jazo6YWRkUGVyY2VudEhlaWdodERlc2NlbmRhbnQoUmVuZGVy
Qm94JiBkZXNjZW5kYW50KQpAQCAtMzc0MywxMCArMzcyNSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OmNoZWNrUG9zaXRpb25lZE9iamVjdHNOZWVkTGF5b3V0KCkKICAgICBpZiAoIXBvc2l0aW9uZWRE
ZXNjZW5kYW50U2V0KQogICAgICAgICByZXR1cm47CiAKLSAgICBmb3IgKGF1dG8gaXQgPSBwb3Np
dGlvbmVkRGVzY2VuZGFudFNldC0+YmVnaW4oKSwgZW5kID0gcG9zaXRpb25lZERlc2NlbmRhbnRT
ZXQtPmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgUmVuZGVyQm94KiBjdXJyQm94
ID0gKml0OwotICAgICAgICBBU1NFUlQoIWN1cnJCb3gtPm5lZWRzTGF5b3V0KCkpOwotICAgIH0K
KyAgICBmb3IgKGF1dG8mIGJveCA6ICpwb3NpdGlvbmVkRGVzY2VuZGFudFNldCkKKyAgICAgICAg
QVNTRVJUKCFib3gtPm5lZWRzTGF5b3V0KCkpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggYWY0Y2E3MTM4NWViYmU2ODZi
NjZlZTM3NDVlN2RjZGM1OWRkODA5Yi4uZGVhYzY0Zjk1ODRjY2U5OTQ3OWY2MGU1YTBjMGMxZTY5
ZmI5ZTY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKQEAgLTIwMywxMCArMjAzLDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnJlYnVpbGRGbG9h
dGluZ09iamVjdFNldEZyb21JbnRydWRpbmdGbG9hdHMoKQogCiAgICAgSGFzaFNldDxSZW5kZXJC
b3gqPiBvbGRJbnRydWRpbmdGbG9hdFNldDsKICAgICBpZiAoIWNoaWxkcmVuSW5saW5lKCkgJiYg
bV9mbG9hdGluZ09iamVjdHMpIHsKLSAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZs
b2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgICAgICBhdXRv
IGVuZCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVuZCgpOwotICAgICAgICBmb3IgKGF1dG8gaXQgPSBm
bG9hdGluZ09iamVjdFNldC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAg
IEZsb2F0aW5nT2JqZWN0KiBmbG9hdGluZ09iamVjdCA9IGl0LT5nZXQoKTsKKyAgICAgICAgZm9y
IChhdXRvJiBmbG9hdGluZ09iamVjdCA6IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkgewogICAg
ICAgICAgICAgaWYgKCFmbG9hdGluZ09iamVjdC0+aXNEZXNjZW5kYW50KCkpCiAgICAgICAgICAg
ICAgICAgb2xkSW50cnVkaW5nRmxvYXRTZXQuYWRkKCZmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIo
KSk7CiAgICAgICAgIH0KQEAgLTI2NCwxNSArMjYxLDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93
OjpyZWJ1aWxkRmxvYXRpbmdPYmplY3RTZXRGcm9tSW50cnVkaW5nRmxvYXRzKCkKICAgICAgICAg
TGF5b3V0VW5pdCBjaGFuZ2VMb2dpY2FsVG9wID0gTGF5b3V0VW5pdDo6bWF4KCk7CiAgICAgICAg
IExheW91dFVuaXQgY2hhbmdlTG9naWNhbEJvdHRvbSA9IExheW91dFVuaXQ6Om1pbigpOwogICAg
ICAgICBpZiAobV9mbG9hdGluZ09iamVjdHMpIHsKLSAgICAgICAgICAgIGNvbnN0IEZsb2F0aW5n
T2JqZWN0U2V0JiBmbG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsK
LSAgICAgICAgICAgIGF1dG8gZW5kID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0gICAgICAg
ICAgICBmb3IgKGF1dG8gaXQgPSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigpOyBpdCAhPSBlbmQ7
ICsraXQpIHsKLSAgICAgICAgICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3Qg
PSBpdC0+Z2V0KCk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9m
bG9hdGluZ09iamVjdHMtPnNldCgpKSB7CiAgICAgICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRy
PEZsb2F0aW5nT2JqZWN0PiBvbGRGbG9hdGluZ09iamVjdCA9IGZsb2F0TWFwLnRha2UoJmZsb2F0
aW5nT2JqZWN0LT5yZW5kZXJlcigpKTsKLSAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGxvZ2lj
YWxCb3R0b20gPSBsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpOworICAgICAg
ICAgICAgICAgIExheW91dFVuaXQgbG9naWNhbEJvdHRvbSA9IGxvZ2ljYWxCb3R0b21Gb3JGbG9h
dChmbG9hdGluZ09iamVjdC5nZXQoKSk7CiAgICAgICAgICAgICAgICAgaWYgKG9sZEZsb2F0aW5n
T2JqZWN0KSB7CiAgICAgICAgICAgICAgICAgICAgIExheW91dFVuaXQgb2xkTG9naWNhbEJvdHRv
bSA9IGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChvbGRGbG9hdGluZ09iamVjdC5nZXQoKSk7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmIChsb2dpY2FsV2lkdGhGb3JGbG9hdChmbG9hdGluZ09iamVjdCkg
IT0gbG9naWNhbFdpZHRoRm9yRmxvYXQob2xkRmxvYXRpbmdPYmplY3QuZ2V0KCkpIHx8IGxvZ2lj
YWxMZWZ0Rm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpICE9IGxvZ2ljYWxMZWZ0Rm9yRmxvYXQob2xk
RmxvYXRpbmdPYmplY3QuZ2V0KCkpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChsb2dpY2Fs
V2lkdGhGb3JGbG9hdChmbG9hdGluZ09iamVjdC5nZXQoKSkgIT0gbG9naWNhbFdpZHRoRm9yRmxv
YXQob2xkRmxvYXRpbmdPYmplY3QuZ2V0KCkpIHx8IGxvZ2ljYWxMZWZ0Rm9yRmxvYXQoZmxvYXRp
bmdPYmplY3QuZ2V0KCkpICE9IGxvZ2ljYWxMZWZ0Rm9yRmxvYXQob2xkRmxvYXRpbmdPYmplY3Qu
Z2V0KCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VMb2dpY2FsVG9wID0gMDsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUxvZ2ljYWxCb3R0b20gPSBzdGQ6Om1heChj
aGFuZ2VMb2dpY2FsQm90dG9tLCBzdGQ6Om1heChsb2dpY2FsQm90dG9tLCBvbGRMb2dpY2FsQm90
dG9tKSk7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0yODAsNyArMjc0LDcgQEAg
dm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnJlYnVpbGRGbG9hdGluZ09iamVjdFNldEZyb21JbnRydWRp
bmdGbG9hdHMoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUxvZ2ljYWxUb3Ag
PSBzdGQ6Om1pbihjaGFuZ2VMb2dpY2FsVG9wLCBzdGQ6Om1pbihsb2dpY2FsQm90dG9tLCBvbGRM
b2dpY2FsQm90dG9tKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNh
bEJvdHRvbSA9IHN0ZDo6bWF4KGNoYW5nZUxvZ2ljYWxCb3R0b20sIHN0ZDo6bWF4KGxvZ2ljYWxC
b3R0b20sIG9sZExvZ2ljYWxCb3R0b20pKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgICAgIExheW91dFVuaXQgbG9naWNhbFRvcCA9IGxvZ2ljYWxUb3BG
b3JGbG9hdChmbG9hdGluZ09iamVjdCk7CisgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRV
bml0IGxvZ2ljYWxUb3AgPSBsb2dpY2FsVG9wRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkp
OwogICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBvbGRMb2dpY2FsVG9wID0gbG9n
aWNhbFRvcEZvckZsb2F0KG9sZEZsb2F0aW5nT2JqZWN0LmdldCgpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChsb2dpY2FsVG9wICE9IG9sZExvZ2ljYWxUb3ApIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjaGFuZ2VMb2dpY2FsVG9wID0gc3RkOjptaW4oY2hhbmdlTG9naWNh
bFRvcCwgc3RkOjptaW4obG9naWNhbFRvcCwgb2xkTG9naWNhbFRvcCkpOwpAQCAtMjk5LDEyICsy
OTMsMTAgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnJlYnVpbGRGbG9hdGluZ09iamVjdFNldEZy
b21JbnRydWRpbmdGbG9hdHMoKQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAg
YXV0byBlbmQgPSBmbG9hdE1hcC5lbmQoKTsKLSAgICAgICAgZm9yIChhdXRvIGl0ID0gZmxvYXRN
YXAuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICBGbG9hdGluZ09iamVj
dCogZmxvYXRpbmdPYmplY3QgPSBpdC0+dmFsdWUuZ2V0KCk7CisgICAgICAgIGZvciAoYXV0byYg
ZmxvYXRpbmdPYmplY3QgOiBmbG9hdE1hcC52YWx1ZXMoKSkgewogICAgICAgICAgICAgaWYgKCFm
bG9hdGluZ09iamVjdC0+aXNEZXNjZW5kYW50KCkpIHsKICAgICAgICAgICAgICAgICBjaGFuZ2VM
b2dpY2FsVG9wID0gMDsKLSAgICAgICAgICAgICAgICBjaGFuZ2VMb2dpY2FsQm90dG9tID0gc3Rk
OjptYXgoY2hhbmdlTG9naWNhbEJvdHRvbSwgbG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5n
T2JqZWN0KSk7CisgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbEJvdHRvbSA9IHN0ZDo6bWF4
KGNoYW5nZUxvZ2ljYWxCb3R0b20sIGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChmbG9hdGluZ09iamVj
dC5nZXQoKSkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTMxNSwxMCArMzA3LDgg
QEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnJlYnVpbGRGbG9hdGluZ09iamVjdFNldEZyb21JbnRy
dWRpbmdGbG9hdHMoKQogICAgICAgICBpZiAobV9mbG9hdGluZ09iamVjdHMtPnNldCgpLnNpemUo
KSA8IG9sZEludHJ1ZGluZ0Zsb2F0U2V0LnNpemUoKSkKICAgICAgICAgICAgIG1hcmtBbGxEZXNj
ZW5kYW50c1dpdGhGbG9hdHNGb3JMYXlvdXQoKTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAg
ICBjb25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxvYXRpbmdPYmplY3RTZXQgPSBtX2Zsb2F0aW5n
T2JqZWN0cy0+c2V0KCk7Ci0gICAgICAgICAgICBhdXRvIGVuZCA9IGZsb2F0aW5nT2JqZWN0U2V0
LmVuZCgpOwotICAgICAgICAgICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVn
aW4oKTsgaXQgIT0gZW5kICYmICFvbGRJbnRydWRpbmdGbG9hdFNldC5pc0VtcHR5KCk7ICsraXQp
Ci0gICAgICAgICAgICAgICAgb2xkSW50cnVkaW5nRmxvYXRTZXQucmVtb3ZlKCYoKml0KS0+cmVu
ZGVyZXIoKSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9mbG9h
dGluZ09iamVjdHMtPnNldCgpKQorICAgICAgICAgICAgICAgIG9sZEludHJ1ZGluZ0Zsb2F0U2V0
LnJlbW92ZSgmZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCkpOwogICAgICAgICAgICAgaWYgKCFv
bGRJbnRydWRpbmdGbG9hdFNldC5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgbWFya0FsbERl
c2NlbmRhbnRzV2l0aEZsb2F0c0ZvckxheW91dCgpOwogICAgICAgICB9CkBAIC0xOTgyLDggKzE5
NzIsOCBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJl
bmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbAogICAgICAgICAgICAgaWYgKGFuY2VzdG9y
LmlzUmVuZGVyVmlldygpKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgaWYg
KGFuY2VzdG9yLmhhc092ZXJoYW5naW5nRmxvYXRzKCkpIHsKLSAgICAgICAgICAgICAgICBmb3Ig
KGF1dG8gaXQgPSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigpLCBlbmQgPSBmbG9hdGluZ09iamVj
dFNldC5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICAgICAgICAgIFJlbmRl
ckJveCYgcmVuZGVyZXIgPSAoKml0KS0+cmVuZGVyZXIoKTsKKyAgICAgICAgICAgICAgICBmb3Ig
KGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogZmxvYXRpbmdPYmplY3RTZXQpIHsKKyAgICAgICAgICAg
ICAgICAgICAgUmVuZGVyQm94JiByZW5kZXJlciA9IGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigp
OwogICAgICAgICAgICAgICAgICAgICBpZiAoYW5jZXN0b3IuaGFzT3ZlcmhhbmdpbmdGbG9hdChy
ZW5kZXJlcikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudEJsb2NrID0gJmFuY2Vz
dG9yOwogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yMDcwLDEyICsyMDYwLDcg
QEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6Om1vdmVGbG9hdHNUbyhSZW5kZXJCbG9ja0Zsb3cqIHRv
QmxvY2tGbG93KQogICAgICAgICBpZiAoIXRvQmxvY2tGbG93LT5tX2Zsb2F0aW5nT2JqZWN0cykK
ICAgICAgICAgICAgIHRvQmxvY2tGbG93LT5jcmVhdGVGbG9hdGluZ09iamVjdHMoKTsKIAotICAg
ICAgICBjb25zdCBGbG9hdGluZ09iamVjdFNldCYgZnJvbUZsb2F0aW5nT2JqZWN0U2V0ID0gbV9m
bG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgICAgICBhdXRvIGVuZCA9IGZyb21GbG9hdGluZ09i
amVjdFNldC5lbmQoKTsKLQotICAgICAgICBmb3IgKGF1dG8gaXQgPSBmcm9tRmxvYXRpbmdPYmpl
Y3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICBGbG9hdGluZ09i
amVjdCogZmxvYXRpbmdPYmplY3QgPSBpdC0+Z2V0KCk7Ci0KKyAgICAgICAgZm9yIChhdXRvJiBm
bG9hdGluZ09iamVjdCA6IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkgewogICAgICAgICAgICAg
Ly8gRG9uJ3QgaW5zZXJ0IHRoZSBvYmplY3QgYWdhaW4gaWYgaXQncyBhbHJlYWR5IGluIHRoZSBs
aXN0CiAgICAgICAgICAgICBpZiAodG9CbG9ja0Zsb3ctPmNvbnRhaW5zRmxvYXQoZmxvYXRpbmdP
YmplY3QtPnJlbmRlcmVyKCkpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMjA5Nywx
MiArMjA4Miw5IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGRPdmVyZmxvd0Zyb21GbG9hdHMo
KQogICAgIGlmICghbV9mbG9hdGluZ09iamVjdHMpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNv
bnN0IEZsb2F0aW5nT2JqZWN0U2V0JiBmbG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRpbmdPYmpl
Y3RzLT5zZXQoKTsKLSAgICBhdXRvIGVuZCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVuZCgpOwotICAg
IGZvciAoYXV0byBpdCA9IGZsb2F0aW5nT2JqZWN0U2V0LmJlZ2luKCk7IGl0ICE9IGVuZDsgKytp
dCkgewotICAgICAgICBGbG9hdGluZ09iamVjdCogciA9IGl0LT5nZXQoKTsKLSAgICAgICAgaWYg
KHItPmlzRGVzY2VuZGFudCgpKQotICAgICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tQ2hpbGQoJnIt
PnJlbmRlcmVyKCksIEludFNpemUoeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4ociks
IHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKHIpKSk7CisgICAgZm9yIChhdXRvJiBm
bG9hdGluZ09iamVjdCA6IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkgeworICAgICAgICBpZiAo
ZmxvYXRpbmdPYmplY3QtPmlzRGVzY2VuZGFudCgpKQorICAgICAgICAgICAgYWRkT3ZlcmZsb3dG
cm9tQ2hpbGQoJmZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLCBJbnRTaXplKHhQb3NpdGlvbkZv
ckZsb2F0SW5jbHVkaW5nTWFyZ2luKGZsb2F0aW5nT2JqZWN0LmdldCgpKSwgeVBvc2l0aW9uRm9y
RmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpKSk7CiAgICAgfQogfQog
CkBAIC0yMTI0LDE0ICsyMTA2LDExIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpyZXBhaW50T3Zl
cmhhbmdpbmdGbG9hdHMoYm9vbCBwYWludEFsbERlc2NlbmRhbnRzKQogICAgIC8vIEZJWE1FOiBB
dm9pZCBkaXNhYmxpbmcgTGF5b3V0U3RhdGUuIEF0IHRoZSB2ZXJ5IGxlYXN0LCBkb24ndCBkaXNh
YmxlIGl0IGZvciBmbG9hdHMgb3JpZ2luYXRpbmcKICAgICAvLyBpbiB0aGlzIGJsb2NrLiBCZXR0
ZXIgeWV0IHdvdWxkIGJlIHRvIHB1c2ggZXh0cmEgc3RhdGUgZm9yIHRoZSBjb250YWluZXJzIG9m
IG90aGVyIGZsb2F0cy4KICAgICBMYXlvdXRTdGF0ZURpc2FibGVyIGxheW91dFN0YXRlRGlzYWJs
ZXIoJnZpZXcoKSk7Ci0gICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0
U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgIGF1dG8gZW5kID0gZmxvYXRpbmdP
YmplY3RTZXQuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVn
aW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiBmbG9hdGlu
Z09iamVjdCA9IGl0LT5nZXQoKTsKKyAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9m
bG9hdGluZ09iamVjdHMtPnNldCgpKSB7CiAgICAgICAgIC8vIE9ubHkgcmVwYWludCB0aGUgb2Jq
ZWN0IGlmIGl0IGlzIG92ZXJoYW5naW5nLCBpcyBub3QgaW4gaXRzIG93biBsYXllciwgYW5kCiAg
ICAgICAgIC8vIGlzIG91ciByZXNwb25zaWJpbGl0eSB0byBwYWludCAobV9zaG91bGRQYWludCBp
cyBzZXQpLiBXaGVuIHBhaW50QWxsRGVzY2VuZGFudHMgaXMgdHJ1ZSwgdGhlIGxhdHRlcgogICAg
ICAgICAvLyBjb25kaXRpb24gaXMgcmVwbGFjZWQgd2l0aCBiZWluZyBhIGRlc2NlbmRhbnQgb2Yg
dXMuCi0gICAgICAgIGlmIChsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpID4g
bG9naWNhbEhlaWdodCgpCisgICAgICAgIGlmIChsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRp
bmdPYmplY3QuZ2V0KCkpID4gbG9naWNhbEhlaWdodCgpCiAgICAgICAgICAgICAmJiAhZmxvYXRp
bmdPYmplY3QtPnJlbmRlcmVyKCkuaGFzU2VsZlBhaW50aW5nTGF5ZXIoKQogICAgICAgICAgICAg
JiYgKGZsb2F0aW5nT2JqZWN0LT5zaG91bGRQYWludCgpIHx8IChwYWludEFsbERlc2NlbmRhbnRz
ICYmIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLmlzRGVzY2VuZGFudE9mKHRoaXMpKSkpIHsK
ICAgICAgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLnJlcGFpbnQoKTsKQEAgLTIx
NTksMjYgKzIxMzgsMjMgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnBhaW50RmxvYXRzKFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnQKICAgICBpZiAoIW1fZmxv
YXRpbmdPYmplY3RzKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zdCBGbG9hdGluZ09iamVj
dFNldCYgZmxvYXRpbmdPYmplY3RTZXQgPSBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7Ci0gICAg
YXV0byBlbmQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBm
bG9hdGluZ09iamVjdFNldC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgRmxv
YXRpbmdPYmplY3QqIHIgPSBpdC0+Z2V0KCk7CisgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVj
dCA6IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkgewogICAgICAgICAvLyBPbmx5IHBhaW50IHRo
ZSBvYmplY3QgaWYgb3VyIG1fc2hvdWxkUGFpbnQgZmxhZyBpcyBzZXQuCi0gICAgICAgIGlmIChy
LT5zaG91bGRQYWludCgpICYmICFyLT5yZW5kZXJlcigpLmhhc1NlbGZQYWludGluZ0xheWVyKCkp
IHsKKyAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0LT5zaG91bGRQYWludCgpICYmICFmbG9hdGlu
Z09iamVjdC0+cmVuZGVyZXIoKS5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7CiAgICAgICAgICAg
ICBQYWludEluZm8gY3VycmVudFBhaW50SW5mbyhwYWludEluZm8pOwogICAgICAgICAgICAgY3Vy
cmVudFBhaW50SW5mby5waGFzZSA9IHByZXNlcnZlUGhhc2UgPyBwYWludEluZm8ucGhhc2UgOiBQ
YWludFBoYXNlQmxvY2tCYWNrZ3JvdW5kOwogICAgICAgICAgICAgLy8gRklYTUU6IExheW91dFBv
aW50IHZlcnNpb24gb2YgeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4gd291bGQgbWFr
ZSB0aGlzIG11Y2ggY2xlYW5lci4KLSAgICAgICAgICAgIExheW91dFBvaW50IGNoaWxkUG9pbnQg
PSBmbGlwRmxvYXRGb3JXcml0aW5nTW9kZUZvckNoaWxkKHIsIExheW91dFBvaW50KHBhaW50T2Zm
c2V0LngoKSArIHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKHIpIC0gci0+cmVuZGVy
ZXIoKS54KCksIHBhaW50T2Zmc2V0LnkoKSArIHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFy
Z2luKHIpIC0gci0+cmVuZGVyZXIoKS55KCkpKTsKLSAgICAgICAgICAgIHItPnJlbmRlcmVyKCku
cGFpbnQoY3VycmVudFBhaW50SW5mbywgY2hpbGRQb2ludCk7CisgICAgICAgICAgICBMYXlvdXRQ
b2ludCBjaGlsZFBvaW50ID0gZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChmbG9hdGlu
Z09iamVjdC5nZXQoKSwgTGF5b3V0UG9pbnQocGFpbnRPZmZzZXQueCgpICsgeFBvc2l0aW9uRm9y
RmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpIC0gZmxvYXRpbmdPYmpl
Y3QtPnJlbmRlcmVyKCkueCgpLCBwYWludE9mZnNldC55KCkgKyB5UG9zaXRpb25Gb3JGbG9hdElu
Y2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdC5nZXQoKSkgLSBmbG9hdGluZ09iamVjdC0+cmVu
ZGVyZXIoKS55KCkpKTsKKyAgICAgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLnBh
aW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQpOwogICAgICAgICAgICAgaWYgKCFwcmVz
ZXJ2ZVBoYXNlKSB7CiAgICAgICAgICAgICAgICAgY3VycmVudFBhaW50SW5mby5waGFzZSA9IFBh
aW50UGhhc2VDaGlsZEJsb2NrQmFja2dyb3VuZHM7Ci0gICAgICAgICAgICAgICAgci0+cmVuZGVy
ZXIoKS5wYWludChjdXJyZW50UGFpbnRJbmZvLCBjaGlsZFBvaW50KTsKKyAgICAgICAgICAgICAg
ICBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5wYWludChjdXJyZW50UGFpbnRJbmZvLCBjaGls
ZFBvaW50KTsKICAgICAgICAgICAgICAgICBjdXJyZW50UGFpbnRJbmZvLnBoYXNlID0gUGFpbnRQ
aGFzZUZsb2F0OwotICAgICAgICAgICAgICAgIHItPnJlbmRlcmVyKCkucGFpbnQoY3VycmVudFBh
aW50SW5mbywgY2hpbGRQb2ludCk7CisgICAgICAgICAgICAgICAgZmxvYXRpbmdPYmplY3QtPnJl
bmRlcmVyKCkucGFpbnQoY3VycmVudFBhaW50SW5mbywgY2hpbGRQb2ludCk7CiAgICAgICAgICAg
ICAgICAgY3VycmVudFBhaW50SW5mby5waGFzZSA9IFBhaW50UGhhc2VGb3JlZ3JvdW5kOwotICAg
ICAgICAgICAgICAgIHItPnJlbmRlcmVyKCkucGFpbnQoY3VycmVudFBhaW50SW5mbywgY2hpbGRQ
b2ludCk7CisgICAgICAgICAgICAgICAgZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCkucGFpbnQo
Y3VycmVudFBhaW50SW5mbywgY2hpbGRQb2ludCk7CiAgICAgICAgICAgICAgICAgY3VycmVudFBh
aW50SW5mby5waGFzZSA9IFBhaW50UGhhc2VPdXRsaW5lOwotICAgICAgICAgICAgICAgIHItPnJl
bmRlcmVyKCkucGFpbnQoY3VycmVudFBhaW50SW5mbywgY2hpbGRQb2ludCk7CisgICAgICAgICAg
ICAgICAgZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCkucGFpbnQoY3VycmVudFBhaW50SW5mbywg
Y2hpbGRQb2ludCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC0yMTg3LDEy
ICsyMTYzLDkgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnBhaW50RmxvYXRzKFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnQKIHZvaWQgUmVuZGVyQmxvY2tGbG93
OjpjbGlwT3V0RmxvYXRpbmdPYmplY3RzKFJlbmRlckJsb2NrJiByb290QmxvY2ssIGNvbnN0IFBh
aW50SW5mbyogcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcm9vdEJsb2NrUGh5c2ljYWxQ
b3NpdGlvbiwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0RnJvbVJvb3RCbG9jaykKIHsKICAgICBp
ZiAobV9mbG9hdGluZ09iamVjdHMpIHsKLSAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQm
IGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgICAgICBh
dXRvIGVuZCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVuZCgpOwotICAgICAgICBmb3IgKGF1dG8gaXQg
PSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAg
ICAgIEZsb2F0aW5nT2JqZWN0KiBmbG9hdGluZ09iamVjdCA9IGl0LT5nZXQoKTsKLSAgICAgICAg
ICAgIExheW91dFJlY3QgZmxvYXRCb3gob2Zmc2V0RnJvbVJvb3RCbG9jay53aWR0aCgpICsgeFBv
c2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QpLAotICAgICAgICAg
ICAgICAgIG9mZnNldEZyb21Sb290QmxvY2suaGVpZ2h0KCkgKyB5UG9zaXRpb25Gb3JGbG9hdElu
Y2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdCksCisgICAgICAgIGZvciAoYXV0byYgZmxvYXRp
bmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKKyAgICAgICAgICAgIExheW91
dFJlY3QgZmxvYXRCb3gob2Zmc2V0RnJvbVJvb3RCbG9jay53aWR0aCgpICsgeFBvc2l0aW9uRm9y
RmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpLAorICAgICAgICAgICAg
ICAgIG9mZnNldEZyb21Sb290QmxvY2suaGVpZ2h0KCkgKyB5UG9zaXRpb25Gb3JGbG9hdEluY2x1
ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdC5nZXQoKSksCiAgICAgICAgICAgICAgICAgZmxvYXRp
bmdPYmplY3QtPnJlbmRlcmVyKCkud2lkdGgoKSwgZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCku
aGVpZ2h0KCkpOwogICAgICAgICAgICAgcm9vdEJsb2NrLmZsaXBGb3JXcml0aW5nTW9kZShmbG9h
dEJveCk7CiAgICAgICAgICAgICBmbG9hdEJveC5tb3ZlKHJvb3RCbG9ja1BoeXNpY2FsUG9zaXRp
b24ueCgpLCByb290QmxvY2tQaHlzaWNhbFBvc2l0aW9uLnkoKSk7CkBAIC0yNTkwLDEyICsyNTYz
LDkgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6Omxvd2VzdEZsb2F0TG9naWNhbEJvdHRv
bShGbG9hdGluZ09iamVjdDo6VHlwZSBmbG9hdFQKICAgICBpZiAoIW1fZmxvYXRpbmdPYmplY3Rz
KQogICAgICAgICByZXR1cm4gMDsKICAgICBMYXlvdXRVbml0IGxvd2VzdEZsb2F0Qm90dG9tID0g
MDsKLSAgICBjb25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxvYXRpbmdPYmplY3RTZXQgPSBtX2Zs
b2F0aW5nT2JqZWN0cy0+c2V0KCk7Ci0gICAgYXV0byBlbmQgPSBmbG9hdGluZ09iamVjdFNldC5l
bmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigpOyBpdCAh
PSBlbmQ7ICsraXQpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0ID0g
aXQtPmdldCgpOworICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2Jq
ZWN0cy0+c2V0KCkpIHsKICAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0LT5pc1BsYWNlZCgpICYm
IGZsb2F0aW5nT2JqZWN0LT50eXBlKCkgJiBmbG9hdFR5cGUpCi0gICAgICAgICAgICBsb3dlc3RG
bG9hdEJvdHRvbSA9IHN0ZDo6bWF4KGxvd2VzdEZsb2F0Qm90dG9tLCBsb2dpY2FsQm90dG9tRm9y
RmxvYXQoZmxvYXRpbmdPYmplY3QpKTsKKyAgICAgICAgICAgIGxvd2VzdEZsb2F0Qm90dG9tID0g
c3RkOjptYXgobG93ZXN0RmxvYXRCb3R0b20sIGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChmbG9hdGlu
Z09iamVjdC5nZXQoKSkpOwogICAgIH0KICAgICByZXR1cm4gbG93ZXN0RmxvYXRCb3R0b207CiB9
CkBAIC0yNjA1LDEyICsyNTc1LDkgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6Omxvd2Vz
dEluaXRpYWxMZXR0ZXJMb2dpY2FsQm90dG9tKCkgY29uc3QKICAgICBpZiAoIW1fZmxvYXRpbmdP
YmplY3RzKQogICAgICAgICByZXR1cm4gMDsKICAgICBMYXlvdXRVbml0IGxvd2VzdEZsb2F0Qm90
dG9tID0gMDsKLSAgICBjb25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxvYXRpbmdPYmplY3RTZXQg
PSBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7Ci0gICAgYXV0byBlbmQgPSBmbG9hdGluZ09iamVj
dFNldC5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigp
OyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2Jq
ZWN0ID0gaXQtPmdldCgpOworICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0
aW5nT2JqZWN0cy0+c2V0KCkpIHsKICAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0LT5pc1BsYWNl
ZCgpICYmIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLnN0eWxlKCkuc3R5bGVUeXBlKCkgPT0g
RklSU1RfTEVUVEVSICYmIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLnN0eWxlKCkuaW5pdGlh
bExldHRlckRyb3AoKSA+IDApCi0gICAgICAgICAgICBsb3dlc3RGbG9hdEJvdHRvbSA9IHN0ZDo6
bWF4KGxvd2VzdEZsb2F0Qm90dG9tLCBsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmpl
Y3QpKTsKKyAgICAgICAgICAgIGxvd2VzdEZsb2F0Qm90dG9tID0gc3RkOjptYXgobG93ZXN0Rmxv
YXRCb3R0b20sIGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChmbG9hdGluZ09iamVjdC5nZXQoKSkpOwog
ICAgIH0KICAgICByZXR1cm4gbG93ZXN0RmxvYXRCb3R0b207CiB9CkBAIC0yNjI3LDEwICsyNTk0
LDggQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFkZE92ZXJoYW5naW5nRmxvYXRzKFJl
bmRlckJsb2NrRmxvdyYgY2hpbGQsIGJvb2wgbWEKIAogICAgIC8vIEZsb2F0cyB0aGF0IHdpbGwg
cmVtYWluIHRoZSBjaGlsZCdzIHJlc3BvbnNpYmlsaXR5IHRvIHBhaW50IHNob3VsZCBmYWN0b3Ig
aW50byBpdHMKICAgICAvLyBvdmVyZmxvdy4KLSAgICBhdXRvIGNoaWxkRW5kID0gY2hpbGQubV9m
bG9hdGluZ09iamVjdHMtPnNldCgpLmVuZCgpOwotICAgIGZvciAoYXV0byBjaGlsZEl0ID0gY2hp
bGQubV9mbG9hdGluZ09iamVjdHMtPnNldCgpLmJlZ2luKCk7IGNoaWxkSXQgIT0gY2hpbGRFbmQ7
ICsrY2hpbGRJdCkgewotICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QgPSBj
aGlsZEl0LT5nZXQoKTsKLSAgICAgICAgTGF5b3V0VW5pdCBmbG9hdExvZ2ljYWxCb3R0b20gPSBz
dGQ6Om1pbihsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpLCBMYXlvdXRVbml0
OjptYXgoKSAtIGNoaWxkTG9naWNhbFRvcCk7CisgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVj
dCA6IGNoaWxkLm1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkgeworICAgICAgICBMYXlvdXRVbml0
IGZsb2F0TG9naWNhbEJvdHRvbSA9IHN0ZDo6bWluKGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChmbG9h
dGluZ09iamVjdC5nZXQoKSksIExheW91dFVuaXQ6Om1heCgpIC0gY2hpbGRMb2dpY2FsVG9wKTsK
ICAgICAgICAgTGF5b3V0VW5pdCBsb2dpY2FsQm90dG9tID0gY2hpbGRMb2dpY2FsVG9wICsgZmxv
YXRMb2dpY2FsQm90dG9tOwogICAgICAgICBsb3dlc3RGbG9hdExvZ2ljYWxCb3R0b20gPSBzdGQ6
Om1heChsb3dlc3RGbG9hdExvZ2ljYWxCb3R0b20sIGxvZ2ljYWxCb3R0b20pOwogCkBAIC0yNjY3
LDcgKzI2MzIsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6YWRkT3ZlcmhhbmdpbmdG
bG9hdHMoUmVuZGVyQmxvY2tGbG93JiBjaGlsZCwgYm9vbCBtYQogICAgICAgICAgICAgCiAgICAg
ICAgICAgICAvLyBTaW5jZSB0aGUgZmxvYXQgZG9lc24ndCBvdmVyaGFuZywgaXQgZGlkbid0IGdl
dCBwdXQgaW50byBvdXIgbGlzdC4gV2UgbmVlZCB0byBhZGQgaXRzIG92ZXJmbG93IGluIHRvIHRo
ZSBjaGlsZCBub3cuCiAgICAgICAgICAgICBpZiAoZmxvYXRpbmdPYmplY3QtPmlzRGVzY2VuZGFu
dCgpKQotICAgICAgICAgICAgICAgIGNoaWxkLmFkZE92ZXJmbG93RnJvbUNoaWxkKCZmbG9hdGlu
Z09iamVjdC0+cmVuZGVyZXIoKSwgTGF5b3V0U2l6ZSh4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGlu
Z01hcmdpbihmbG9hdGluZ09iamVjdCksIHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2lu
KGZsb2F0aW5nT2JqZWN0KSkpOworICAgICAgICAgICAgICAgIGNoaWxkLmFkZE92ZXJmbG93RnJv
bUNoaWxkKCZmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKSwgTGF5b3V0U2l6ZSh4UG9zaXRpb25G
b3JGbG9hdEluY2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdC5nZXQoKSksIHlQb3NpdGlvbkZv
ckZsb2F0SW5jbHVkaW5nTWFyZ2luKGZsb2F0aW5nT2JqZWN0LmdldCgpKSkpOwogICAgICAgICB9
CiAgICAgfQogICAgIHJldHVybiBsb3dlc3RGbG9hdExvZ2ljYWxCb3R0b207CkBAIC0yNzAwLDEx
ICsyNjY1LDggQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFkZEludHJ1ZGluZ0Zsb2F0cyhSZW5k
ZXJCbG9ja0Zsb3cqIHByZXYsIFJlbmRlckJsb2NrRmxvdyoKIAogICAgIGxvZ2ljYWxMZWZ0T2Zm
c2V0ICs9IG1hcmdpbkxvZ2ljYWxMZWZ0KCk7CiAKLSAgICBjb25zdCBGbG9hdGluZ09iamVjdFNl
dCYgcHJldlNldCA9IHByZXYtPm1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsKLSAgICBhdXRvIHBy
ZXZFbmQgPSBwcmV2U2V0LmVuZCgpOwotICAgIGZvciAoYXV0byBwcmV2SXQgPSBwcmV2U2V0LmJl
Z2luKCk7IHByZXZJdCAhPSBwcmV2RW5kOyArK3ByZXZJdCkgewotICAgICAgICBGbG9hdGluZ09i
amVjdCogZmxvYXRpbmdPYmplY3QgPSBwcmV2SXQtPmdldCgpOwotICAgICAgICBpZiAobG9naWNh
bEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KSA+IGxvZ2ljYWxUb3BPZmZzZXQpIHsKKyAg
ICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogcHJldi0+bV9mbG9hdGluZ09iamVjdHMtPnNl
dCgpKSB7CisgICAgICAgIGlmIChsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3Qu
Z2V0KCkpID4gbG9naWNhbFRvcE9mZnNldCkgewogICAgICAgICAgICAgaWYgKCFtX2Zsb2F0aW5n
T2JqZWN0cyB8fCAhbV9mbG9hdGluZ09iamVjdHMtPnNldCgpLmNvbnRhaW5zPEZsb2F0aW5nT2Jq
ZWN0JiwgRmxvYXRpbmdPYmplY3RIYXNoVHJhbnNsYXRvcj4oKmZsb2F0aW5nT2JqZWN0KSkgewog
ICAgICAgICAgICAgICAgIC8vIFdlIGNyZWF0ZSB0aGUgZmxvYXRpbmcgb2JqZWN0IGxpc3QgbGF6
aWx5LgogICAgICAgICAgICAgICAgIGlmICghbV9mbG9hdGluZ09iamVjdHMpCkBAIC0yNzU2LDE2
ICsyNzE4LDEzIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjptYXJrU2libGluZ3NXaXRoRmxvYXRz
Rm9yTGF5b3V0KFJlbmRlckJveCogZmxvYXRUb1JlbW92ZSkKICAgICBpZiAoIW1fZmxvYXRpbmdP
YmplY3RzKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zdCBGbG9hdGluZ09iamVjdFNldCYg
ZmxvYXRpbmdPYmplY3RTZXQgPSBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7Ci0gICAgYXV0byBl
bmQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKLQogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBu
ZXh0ID0gbmV4dFNpYmxpbmcoKTsgbmV4dDsgbmV4dCA9IG5leHQtPm5leHRTaWJsaW5nKCkpIHsK
ICAgICAgICAgaWYgKCFpczxSZW5kZXJCbG9ja0Zsb3c+KCpuZXh0KSB8fCBuZXh0LT5pc0Zsb2F0
aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAg
ICAgICBSZW5kZXJCbG9ja0Zsb3cmIG5leHRCbG9jayA9IGRvd25jYXN0PFJlbmRlckJsb2NrRmxv
dz4oKm5leHQpOwotICAgICAgICBmb3IgKGF1dG8gaXQgPSBmbG9hdGluZ09iamVjdFNldC5iZWdp
bigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgIFJlbmRlckJveCYgZmxvYXRpbmdC
b3ggPSAoKml0KS0+cmVuZGVyZXIoKTsKKyAgICAgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVj
dCA6IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkgeworICAgICAgICAgICAgUmVuZGVyQm94JiBm
bG9hdGluZ0JveCA9IGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpOwogICAgICAgICAgICAgaWYg
KGZsb2F0VG9SZW1vdmUgJiYgJmZsb2F0aW5nQm94ICE9IGZsb2F0VG9SZW1vdmUpCiAgICAgICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBpZiAobmV4dEJsb2NrLmNvbnRhaW5zRmxv
YXQoZmxvYXRpbmdCb3gpKQpAQCAtMjkyOCwxNCArMjg4NywxMSBAQCB2b2lkIFJlbmRlckJsb2Nr
Rmxvdzo6YWRqdXN0Rm9yQm9yZGVyRml0KExheW91dFVuaXQgeCwgTGF5b3V0VW5pdCYgbGVmdCwg
TGF5b3V0VQogICAgIH0KIAogICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cykgewotICAgICAgICBj
b25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxvYXRpbmdPYmplY3RTZXQgPSBtX2Zsb2F0aW5nT2Jq
ZWN0cy0+c2V0KCk7Ci0gICAgICAgIGF1dG8gZW5kID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7
Ci0gICAgICAgIGZvciAoYXV0byBpdCA9IGZsb2F0aW5nT2JqZWN0U2V0LmJlZ2luKCk7IGl0ICE9
IGVuZDsgKytpdCkgewotICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIHIgPSBpdC0+Z2V0KCk7
CisgICAgICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+
c2V0KCkpIHsKICAgICAgICAgICAgIC8vIE9ubHkgZXhhbWluZSB0aGUgb2JqZWN0IGlmIG91ciBt
X3Nob3VsZFBhaW50IGZsYWcgaXMgc2V0LgotICAgICAgICAgICAgaWYgKHItPnNob3VsZFBhaW50
KCkpIHsKLSAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGZsb2F0TGVmdCA9IHhQb3NpdGlvbkZv
ckZsb2F0SW5jbHVkaW5nTWFyZ2luKHIpIC0gci0+cmVuZGVyZXIoKS54KCk7Ci0gICAgICAgICAg
ICAgICAgTGF5b3V0VW5pdCBmbG9hdFJpZ2h0ID0gZmxvYXRMZWZ0ICsgci0+cmVuZGVyZXIoKS53
aWR0aCgpOworICAgICAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0LT5zaG91bGRQYWludCgpKSB7
CisgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBmbG9hdExlZnQgPSB4UG9zaXRpb25Gb3JGbG9h
dEluY2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdC5nZXQoKSkgLSBmbG9hdGluZ09iamVjdC0+
cmVuZGVyZXIoKS54KCk7CisgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBmbG9hdFJpZ2h0ID0g
ZmxvYXRMZWZ0ICsgZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCkud2lkdGgoKTsKICAgICAgICAg
ICAgICAgICBsZWZ0ID0gc3RkOjptaW4obGVmdCwgZmxvYXRMZWZ0KTsKICAgICAgICAgICAgICAg
ICByaWdodCA9IHN0ZDo6bWF4KHJpZ2h0LCBmbG9hdFJpZ2h0KTsKICAgICAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAK
aW5kZXggNWVjMDQ3MGJhY2M4YWY4ZDU2NGFlNmRkNjc3ZjJjMjYzNTVmOGU2Zi4uYzI1MmU2OTQz
MjFkM2Q1YzQyMDBjNDY5MTZhZWQ3YWQ1NGMwYzY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKQEAgLTUxMiw5ICs1MTIsOCBA
QCBzdGF0aWMgaW5saW5lIHZvaWQgc2V0TG9naWNhbFdpZHRoRm9yVGV4dFJ1bihSb290SW5saW5l
Qm94KiBsaW5lQm94LCBCaWRpUnVuKiBydQogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAg
ICAgICAgbWVhc3VyZWRXaWR0aCArPSB3b3JkTWVhc3VyZW1lbnQud2lkdGg7CiAgICAgICAgICAg
ICBpZiAoIXdvcmRNZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLmlzRW1wdHkoKSkgewotICAgICAg
ICAgICAgICAgIEhhc2hTZXQ8Y29uc3QgRm9udCo+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSB3b3Jk
TWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cy5lbmQoKTsKLSAgICAgICAgICAgICAgICBmb3IgKEhh
c2hTZXQ8Y29uc3QgRm9udCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHdvcmRNZWFzdXJlbWVudC5m
YWxsYmFja0ZvbnRzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgICAgICAgICAg
ICAgZmFsbGJhY2tGb250cy5hZGQoKml0KTsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIGZv
bnQgOiB3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cykKKyAgICAgICAgICAgICAgICAgICAg
ZmFsbGJhY2tGb250cy5hZGQoZm9udCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAg
ICAgaWYgKG1lYXN1cmVkV2lkdGggJiYgbGFzdEVuZE9mZnNldCAhPSBydW4tPm1fc3RvcCkgewpA
QCAtMTMzNiw4ICsxMzM1LDggQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dFJ1bnNBbmRG
bG9hdHNJblJhbmdlKExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIEkKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogCi0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGluZUJyZWFr
ZXIucG9zaXRpb25lZE9iamVjdHMoKS5zaXplKCk7ICsraSkKLSAgICAgICAgICAgIHNldFN0YXRp
Y1Bvc2l0aW9ucygqdGhpcywgKmxpbmVCcmVha2VyLnBvc2l0aW9uZWRPYmplY3RzKClbaV0pOwor
ICAgICAgICBmb3IgKGF1dG8mIHBvc2l0aW9uZWRPYmplY3QgOiBsaW5lQnJlYWtlci5wb3NpdGlv
bmVkT2JqZWN0cygpKQorICAgICAgICAgICAgc2V0U3RhdGljUG9zaXRpb25zKCp0aGlzLCAqcG9z
aXRpb25lZE9iamVjdCk7CiAKICAgICAgICAgaWYgKCFsYXlvdXRTdGF0ZS5saW5lSW5mbygpLmlz
RW1wdHkoKSkgewogICAgICAgICAgICAgbGF5b3V0U3RhdGUubGluZUluZm8oKS5zZXRGaXJzdExp
bmUoZmFsc2UpOwpAQCAtMTQ1NCw4ICsxNDUzLDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6Omxp
bmtUb0VuZExpbmVJZk5lZWRlZChMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlKQogICAgICAg
ICAgICAgICAgIGlmIChsYXlvdXRTdGF0ZS5mbG93VGhyZWFkKCkpCiAgICAgICAgICAgICAgICAg
ICAgIHVwZGF0ZVJlZ2lvbkZvckxpbmUobGluZSk7CiAgICAgICAgICAgICAgICAgaWYgKFZlY3Rv
cjxSZW5kZXJCb3gqPiogY2xlYW5MaW5lRmxvYXRzID0gbGluZS0+ZmxvYXRzUHRyKCkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgZm9yIChhdXRvIGl0ID0gY2xlYW5MaW5lRmxvYXRzLT5iZWdpbigp
LCBlbmQgPSBjbGVhbkxpbmVGbG9hdHMtPmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIFJlbmRlckJveCogZmxvYXRpbmdCb3ggPSAqaXQ7CisgICAgICAg
ICAgICAgICAgICAgIGZvciAoYXV0byYgZmxvYXRpbmdCb3ggOiAqY2xlYW5MaW5lRmxvYXRzKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3Qg
PSBpbnNlcnRGbG9hdGluZ09iamVjdCgqZmxvYXRpbmdCb3gpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgQVNTRVJUKCFmbG9hdGluZ09iamVjdC0+b3JpZ2luYXRpbmdMaW5lKCkpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgZmxvYXRpbmdPYmplY3QtPnNldE9yaWdpbmF0aW5nTGluZShsaW5l
KTsKQEAgLTE1MTIsMTMgKzE1MTAsMTIgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxpbmtUb0Vu
ZExpbmVJZk5lZWRlZChMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlKQogCiB2b2lkIFJlbmRl
ckJsb2NrRmxvdzo6cmVwYWludERpcnR5RmxvYXRzKFZlY3RvcjxGbG9hdFdpdGhSZWN0PiYgZmxv
YXRzKQogewotICAgIHNpemVfdCBmbG9hdENvdW50ID0gZmxvYXRzLnNpemUoKTsKICAgICAvLyBG
bG9hdHMgdGhhdCBkaWQgbm90IGhhdmUgbGF5b3V0IGRpZCBub3QgcmVwYWludCB3aGVuIHdlIGxh
aWQgdGhlbSBvdXQuIFRoZXkgd291bGQgaGF2ZQogICAgIC8vIHBhaW50ZWQgYnkgbm93IGlmIHRo
ZXkgaGFkIG1vdmVkLCBidXQgaWYgdGhleSBzdGF5ZWQgYXQgKDAsIDApLCB0aGV5IHN0aWxsIG5l
ZWQgdG8gYmUKICAgICAvLyBwYWludGVkLgotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmxv
YXRDb3VudDsgKytpKSB7Ci0gICAgICAgIGlmICghZmxvYXRzW2ldLmV2ZXJIYWRMYXlvdXQpIHsK
LSAgICAgICAgICAgIFJlbmRlckJveCYgYm94ID0gZmxvYXRzW2ldLm9iamVjdDsKKyAgICBmb3Ig
KGF1dG8mIGZsb2F0V2l0aFJlY3QgOiBmbG9hdHMpIHsKKyAgICAgICAgaWYgKCFmbG9hdFdpdGhS
ZWN0LmV2ZXJIYWRMYXlvdXQpIHsKKyAgICAgICAgICAgIFJlbmRlckJveCYgYm94ID0gZmxvYXRX
aXRoUmVjdC5vYmplY3Q7CiAgICAgICAgICAgICBpZiAoIWJveC54KCkgJiYgIWJveC55KCkgJiYg
Ym94LmNoZWNrRm9yUmVwYWludER1cmluZ0xheW91dCgpKQogICAgICAgICAgICAgICAgIGJveC5y
ZXBhaW50KCk7CiAgICAgICAgIH0KQEAgLTE2MDYsOCArMTYwMyw4IEBAIHZvaWQgUmVuZGVyQmxv
Y2tGbG93OjpsYXlvdXRMaW5lQm94ZXMoYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0
JiByZXBhaW50CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHJlcGxhY2VkQ2hpbGRyZW4uc2l6ZSgpOyBpKyspCi0gICAgICAgICAgICAg
cmVwbGFjZWRDaGlsZHJlbltpXS0+bGF5b3V0SWZOZWVkZWQoKTsKKyAgICAgICAgZm9yIChhdXRv
JiBjaGlsZCA6IHJlcGxhY2VkQ2hpbGRyZW4pCisgICAgICAgICAgICBjaGlsZC0+bGF5b3V0SWZO
ZWVkZWQoKTsKIAogICAgICAgICBsYXlvdXRSdW5zQW5kRmxvYXRzKGxheW91dFN0YXRlLCBoYXNJ
bmxpbmVDaGlsZCk7CiAgICAgfQpAQCAtMTY0NSw4ICsxNjQyLDcgQEAgdm9pZCBSZW5kZXJCbG9j
a0Zsb3c6OmNoZWNrRmxvYXRzSW5DbGVhbkxpbmUoUm9vdElubGluZUJveCogbGluZSwgVmVjdG9y
PEZsb2F0V2kKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGZvciAoYXV0byBpdCA9IGNs
ZWFuTGluZUZsb2F0cy0+YmVnaW4oKSwgZW5kID0gY2xlYW5MaW5lRmxvYXRzLT5lbmQoKTsgaXQg
IT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFJlbmRlckJveCogZmxvYXRpbmdCb3ggPSAqaXQ7Cisg
ICAgZm9yIChhdXRvJiBmbG9hdGluZ0JveCA6ICpjbGVhbkxpbmVGbG9hdHMpIHsKICAgICAgICAg
ZmxvYXRpbmdCb3gtPmxheW91dElmTmVlZGVkKCk7CiAgICAgICAgIExheW91dFNpemUgbmV3U2l6
ZShmbG9hdGluZ0JveC0+d2lkdGgoKSArIGZsb2F0aW5nQm94LT5ob3Jpem9udGFsTWFyZ2luRXh0
ZW50KCksIGZsb2F0aW5nQm94LT5oZWlnaHQoKSArIGZsb2F0aW5nQm94LT52ZXJ0aWNhbE1hcmdp
bkV4dGVudCgpKTsKICAgICAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oZmxv
YXRJbmRleCA8IGZsb2F0cy5zaXplKCkpOwpAQCAtMTc0Nyw4ICsxNzQzLDcgQEAgUm9vdElubGlu
ZUJveCogUmVuZGVyQmxvY2tGbG93OjpkZXRlcm1pbmVTdGFydFBvc2l0aW9uKExpbmVMYXlvdXRT
dGF0ZSYgbGF5b3V0U3QKICAgICAgICAgUm9vdElubGluZUJveCogbGluZSA9IGZpcnN0Um9vdEJv
eCgpOwogICAgICAgICB3aGlsZSAobGluZSAhPSBjdXJyKSB7CiAgICAgICAgICAgICBpZiAoVmVj
dG9yPFJlbmRlckJveCo+KiBjbGVhbkxpbmVGbG9hdHMgPSBsaW5lLT5mbG9hdHNQdHIoKSkgewot
ICAgICAgICAgICAgICAgIGZvciAoYXV0byBpdCA9IGNsZWFuTGluZUZsb2F0cy0+YmVnaW4oKSwg
ZW5kID0gY2xlYW5MaW5lRmxvYXRzLT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAg
ICAgICAgICAgICAgIFJlbmRlckJveCogZmxvYXRpbmdCb3ggPSAqaXQ7CisgICAgICAgICAgICAg
ICAgZm9yIChhdXRvJiBmbG9hdGluZ0JveCA6ICpjbGVhbkxpbmVGbG9hdHMpIHsKICAgICAgICAg
ICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0ID0gaW5zZXJ0RmxvYXRp
bmdPYmplY3QoKmZsb2F0aW5nQm94KTsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKCFmbG9h
dGluZ09iamVjdC0+b3JpZ2luYXRpbmdMaW5lKCkpOwogICAgICAgICAgICAgICAgICAgICBmbG9h
dGluZ09iamVjdC0+c2V0T3JpZ2luYXRpbmdMaW5lKGxpbmUpOwpAQCAtMTg1NSwxMSArMTg1MCw4
IEBAIGJvb2wgUmVuZGVyQmxvY2tGbG93OjpjaGVja1BhZ2luYXRpb25BbmRGbG9hdHNBdEVuZExp
bmUoTGluZUxheW91dFN0YXRlJiBsYXlvdXRTCiAKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxCb3R0
b20gPSBsYXN0TGluZS0+bGluZUJvdHRvbVdpdGhMZWFkaW5nKCkgKyBhYnNvbHV0ZVZhbHVlKGxp
bmVEZWx0YSk7CiAKLSAgICBjb25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxvYXRpbmdPYmplY3RT
ZXQgPSBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7Ci0gICAgYXV0byBlbmQgPSBmbG9hdGluZ09i
amVjdFNldC5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBmbG9hdGluZ09iamVjdFNldC5iZWdp
bigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5n
T2JqZWN0ID0gaXQtPmdldCgpOwotICAgICAgICBpZiAobG9naWNhbEJvdHRvbUZvckZsb2F0KGZs
b2F0aW5nT2JqZWN0KSA+PSBsb2dpY2FsVG9wICYmIGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChmbG9h
dGluZ09iamVjdCkgPCBsb2dpY2FsQm90dG9tKQorICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmpl
Y3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKKyAgICAgICAgaWYgKGxvZ2ljYWxCb3R0
b21Gb3JGbG9hdChmbG9hdGluZ09iamVjdC5nZXQoKSkgPj0gbG9naWNhbFRvcCAmJiBsb2dpY2Fs
Qm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpIDwgbG9naWNhbEJvdHRvbSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJDb3VudGVyLmNwcAppbmRleCA5MThhNGY4OGEyM2Q5NmQ4YWU1ZTIzNjY5NTY3MTc4
MGEwOTM2MjdlLi4xNDEyMjU4ZTdjOWVhNWJlN2EyNzBhYWM0ZTE5MjEyMTY1Y2M5ZmNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwCkBAIC00NTUsMTEgKzQ1
NSw4IEBAIHZvaWQgUmVuZGVyQ291bnRlcjo6ZGVzdHJveUNvdW50ZXJOb2RlcyhSZW5kZXJFbGVt
ZW50JiBvd25lcikKICAgICBDb3VudGVyTWFwczo6aXRlcmF0b3IgbWFwc0l0ZXJhdG9yID0gbWFw
cy5maW5kKCZvd25lcik7CiAgICAgaWYgKG1hcHNJdGVyYXRvciA9PSBtYXBzLmVuZCgpKQogICAg
ICAgICByZXR1cm47Ci0gICAgQ291bnRlck1hcCogbWFwID0gbWFwc0l0ZXJhdG9yLT52YWx1ZS5n
ZXQoKTsKLSAgICBDb3VudGVyTWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSBtYXAtPmVuZCgpOwot
ICAgIGZvciAoQ291bnRlck1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtYXAtPmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkgewotICAgICAgICBkZXN0cm95Q291bnRlck5vZGVXaXRob3V0TWFwUmVt
b3ZhbChpdC0+a2V5LCBpdC0+dmFsdWUuZ2V0KCkpOwotICAgIH0KKyAgICBmb3IgKGF1dG8mIGNv
dW50ZXIgOiAqbWFwc0l0ZXJhdG9yLT52YWx1ZS5nZXQoKSkKKyAgICAgICAgZGVzdHJveUNvdW50
ZXJOb2RlV2l0aG91dE1hcFJlbW92YWwoY291bnRlci5rZXksIGNvdW50ZXIudmFsdWUuZ2V0KCkp
OwogICAgIG1hcHMucmVtb3ZlKG1hcHNJdGVyYXRvcik7CiAgICAgb3duZXIuc2V0SGFzQ291bnRl
ck5vZGVNYXAoZmFsc2UpOwogfQpAQCAtNTA4LDI1ICs1MDUsMjQgQEAgc3RhdGljIHZvaWQgdXBk
YXRlQ291bnRlcnMoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiAgICAgY29uc3QgQ291bnRlckRp
cmVjdGl2ZU1hcCogZGlyZWN0aXZlTWFwID0gcmVuZGVyZXIuc3R5bGUoKS5jb3VudGVyRGlyZWN0
aXZlcygpOwogICAgIGlmICghZGlyZWN0aXZlTWFwKQogICAgICAgICByZXR1cm47Ci0gICAgQ291
bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gZGlyZWN0aXZlTWFwLT5lbmQo
KTsKICAgICBpZiAoIXJlbmRlcmVyLmhhc0NvdW50ZXJOb2RlTWFwKCkpIHsKLSAgICAgICAgZm9y
IChDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IGRpcmVjdGl2ZU1hcC0+
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2RlKHJl
bmRlcmVyLCBpdC0+a2V5LCBmYWxzZSk7CisgICAgICAgIGZvciAoYXV0byYga2V5IDogZGlyZWN0
aXZlTWFwLT5rZXlzKCkpCisgICAgICAgICAgICBtYWtlQ291bnRlck5vZGUocmVuZGVyZXIsIGtl
eSwgZmFsc2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIENvdW50ZXJNYXAqIGNvdW50
ZXJNYXAgPSBjb3VudGVyTWFwcygpLmdldCgmcmVuZGVyZXIpOwogICAgIEFTU0VSVChjb3VudGVy
TWFwKTsKLSAgICBmb3IgKENvdW50ZXJEaXJlY3RpdmVNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0g
ZGlyZWN0aXZlTWFwLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgUmVmUHRy
PENvdW50ZXJOb2RlPiBub2RlID0gY291bnRlck1hcC0+Z2V0KGl0LT5rZXkpOworICAgIGZvciAo
YXV0byYga2V5IDogZGlyZWN0aXZlTWFwLT5rZXlzKCkpIHsKKyAgICAgICAgUmVmUHRyPENvdW50
ZXJOb2RlPiBub2RlID0gY291bnRlck1hcC0+Z2V0KGtleSk7CiAgICAgICAgIGlmICghbm9kZSkg
ewotICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBpdC0+a2V5LCBmYWxzZSk7
CisgICAgICAgICAgICBtYWtlQ291bnRlck5vZGUocmVuZGVyZXIsIGtleSwgZmFsc2UpOwogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgUmVmUHRyPENvdW50ZXJOb2Rl
PiBuZXdQYXJlbnQgPSAwOwogICAgICAgICBSZWZQdHI8Q291bnRlck5vZGU+IG5ld1ByZXZpb3Vz
U2libGluZyA9IDA7CiAgICAgICAgIAotICAgICAgICBmaW5kUGxhY2VGb3JDb3VudGVyKHJlbmRl
cmVyLCBpdC0+a2V5LCBub2RlLT5oYXNSZXNldFR5cGUoKSwgbmV3UGFyZW50LCBuZXdQcmV2aW91
c1NpYmxpbmcpOwotICAgICAgICBpZiAobm9kZSAhPSBjb3VudGVyTWFwLT5nZXQoaXQtPmtleSkp
CisgICAgICAgIGZpbmRQbGFjZUZvckNvdW50ZXIocmVuZGVyZXIsIGtleSwgbm9kZS0+aGFzUmVz
ZXRUeXBlKCksIG5ld1BhcmVudCwgbmV3UHJldmlvdXNTaWJsaW5nKTsKKyAgICAgICAgaWYgKG5v
ZGUgIT0gY291bnRlck1hcC0+Z2V0KGtleSkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgQ291bnRlck5vZGUqIHBhcmVudCA9IG5vZGUtPnBhcmVudCgpOwogICAgICAgICBpZiAobmV3
UGFyZW50ID09IHBhcmVudCAmJiBuZXdQcmV2aW91c1NpYmxpbmcgPT0gbm9kZS0+cHJldmlvdXNT
aWJsaW5nKCkpCkBAIC01MzQsNyArNTMwLDcgQEAgc3RhdGljIHZvaWQgdXBkYXRlQ291bnRlcnMo
UmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiAgICAgICAgIGlmIChwYXJlbnQpCiAgICAgICAgICAg
ICBwYXJlbnQtPnJlbW92ZUNoaWxkKG5vZGUuZ2V0KCkpOwogICAgICAgICBpZiAobmV3UGFyZW50
KQotICAgICAgICAgICAgbmV3UGFyZW50LT5pbnNlcnRBZnRlcihub2RlLmdldCgpLCBuZXdQcmV2
aW91c1NpYmxpbmcuZ2V0KCksIGl0LT5rZXkpOworICAgICAgICAgICAgbmV3UGFyZW50LT5pbnNl
cnRBZnRlcihub2RlLmdldCgpLCBuZXdQcmV2aW91c1NpYmxpbmcuZ2V0KCksIGtleSk7CiAgICAg
fQogfQogCkBAIC01NjQsMzYgKzU2MCwzMyBAQCB2b2lkIFJlbmRlckNvdW50ZXI6OnJlbmRlcmVy
U3R5bGVDaGFuZ2VkKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBSZW5kZXJTdAogICAg
IGNvbnN0IENvdW50ZXJEaXJlY3RpdmVNYXAqIG9sZENvdW50ZXJEaXJlY3RpdmVzOwogICAgIGlm
IChvbGRTdHlsZSAmJiAob2xkQ291bnRlckRpcmVjdGl2ZXMgPSBvbGRTdHlsZS0+Y291bnRlckRp
cmVjdGl2ZXMoKSkpIHsKICAgICAgICAgaWYgKG5ld1N0eWxlICYmIChuZXdDb3VudGVyRGlyZWN0
aXZlcyA9IG5ld1N0eWxlLT5jb3VudGVyRGlyZWN0aXZlcygpKSkgewotICAgICAgICAgICAgQ291
bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3IgbmV3TWFwRW5kID0gbmV3Q291bnRlckRp
cmVjdGl2ZXMtPmVuZCgpOwotICAgICAgICAgICAgQ291bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3Rf
aXRlcmF0b3Igb2xkTWFwRW5kID0gb2xkQ291bnRlckRpcmVjdGl2ZXMtPmVuZCgpOwotICAgICAg
ICAgICAgZm9yIChDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG5ld0Nv
dW50ZXJEaXJlY3RpdmVzLT5iZWdpbigpOyBpdCAhPSBuZXdNYXBFbmQ7ICsraXQpIHsKLSAgICAg
ICAgICAgICAgICBDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25zdF9pdGVyYXRvciBvbGRNYXBJdCA9
IG9sZENvdW50ZXJEaXJlY3RpdmVzLT5maW5kKGl0LT5rZXkpOwotICAgICAgICAgICAgICAgIGlm
IChvbGRNYXBJdCAhPSBvbGRNYXBFbmQpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG9sZE1h
cEl0LT52YWx1ZSA9PSBpdC0+dmFsdWUpCisgICAgICAgICAgICBmb3IgKGF1dG8mIGRpcmVjdGl2
ZSA6ICpuZXdDb3VudGVyRGlyZWN0aXZlcykgeworICAgICAgICAgICAgICAgIGF1dG8gb2xkTWFw
SXQgPSBvbGRDb3VudGVyRGlyZWN0aXZlcy0+ZmluZChkaXJlY3RpdmUua2V5KTsKKyAgICAgICAg
ICAgICAgICBpZiAob2xkTWFwSXQgIT0gb2xkQ291bnRlckRpcmVjdGl2ZXMtPmVuZCgpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChvbGRNYXBJdC0+dmFsdWUgPT0gZGlyZWN0aXZlLnZhbHVl
KQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAg
IFJlbmRlckNvdW50ZXI6OmRlc3Ryb3lDb3VudGVyTm9kZShyZW5kZXJlciwgaXQtPmtleSk7Cisg
ICAgICAgICAgICAgICAgICAgIFJlbmRlckNvdW50ZXI6OmRlc3Ryb3lDb3VudGVyTm9kZShyZW5k
ZXJlciwgZGlyZWN0aXZlLmtleSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IC8vIFdlIG11c3QgY3JlYXRlIHRoaXMgbm9kZSBoZXJlLCBiZWNhdXNlIHRoZSBjaGFuZ2VkIG5v
ZGUgbWF5IGJlIGEgbm9kZSB3aXRoIG5vIGRpc3BsYXkgc3VjaCBhcwogICAgICAgICAgICAgICAg
IC8vIGFzIHRob3NlIGNyZWF0ZWQgYnkgdGhlIGluY3JlbWVudCBvciByZXNldCBkaXJlY3RpdmVz
IGFuZCB0aGUgcmUtbGF5b3V0IHRoYXQgd2lsbCBoYXBwZW4gd2lsbAogICAgICAgICAgICAgICAg
IC8vIG5vdCBjYXRjaCB0aGUgY2hhbmdlIGlmIHRoZSBub2RlIGhhZCBubyBjaGlsZHJlbi4KLSAg
ICAgICAgICAgICAgICBtYWtlQ291bnRlck5vZGUocmVuZGVyZXIsIGl0LT5rZXksIGZhbHNlKTsK
KyAgICAgICAgICAgICAgICBtYWtlQ291bnRlck5vZGUocmVuZGVyZXIsIGRpcmVjdGl2ZS5rZXks
IGZhbHNlKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8vIERlc3Ryb3lpbmcgb2xkIGNv
dW50ZXJzIHRoYXQgZG8gbm90IGV4aXN0IGluIHRoZSBuZXcgY291bnRlckRpcmVjdGl2ZSBtYXAu
Ci0gICAgICAgICAgICBmb3IgKENvdW50ZXJEaXJlY3RpdmVNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0
ID0gb2xkQ291bnRlckRpcmVjdGl2ZXMtPmJlZ2luKCk7IGl0ICE9b2xkTWFwRW5kOyArK2l0KSB7
Ci0gICAgICAgICAgICAgICAgaWYgKCFuZXdDb3VudGVyRGlyZWN0aXZlcy0+Y29udGFpbnMoaXQt
PmtleSkpCi0gICAgICAgICAgICAgICAgICAgIFJlbmRlckNvdW50ZXI6OmRlc3Ryb3lDb3VudGVy
Tm9kZShyZW5kZXJlciwgaXQtPmtleSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGtleSA6IG9s
ZENvdW50ZXJEaXJlY3RpdmVzLT5rZXlzKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoIW5ld0Nv
dW50ZXJEaXJlY3RpdmVzLT5jb250YWlucyhrZXkpKQorICAgICAgICAgICAgICAgICAgICBSZW5k
ZXJDb3VudGVyOjpkZXN0cm95Q291bnRlck5vZGUocmVuZGVyZXIsIGtleSk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAocmVuZGVyZXIuaGFzQ291bnRl
ck5vZGVNYXAoKSkKICAgICAgICAgICAgICAgICBSZW5kZXJDb3VudGVyOjpkZXN0cm95Q291bnRl
ck5vZGVzKHJlbmRlcmVyKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAobmV3U3R5bGUgJiYg
KG5ld0NvdW50ZXJEaXJlY3RpdmVzID0gbmV3U3R5bGUtPmNvdW50ZXJEaXJlY3RpdmVzKCkpKSB7
Ci0gICAgICAgIENvdW50ZXJEaXJlY3RpdmVNYXA6OmNvbnN0X2l0ZXJhdG9yIG5ld01hcEVuZCA9
IG5ld0NvdW50ZXJEaXJlY3RpdmVzLT5lbmQoKTsKLSAgICAgICAgZm9yIChDb3VudGVyRGlyZWN0
aXZlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG5ld0NvdW50ZXJEaXJlY3RpdmVzLT5iZWdpbigp
OyBpdCAhPSBuZXdNYXBFbmQ7ICsraXQpIHsKKyAgICAgICAgZm9yIChhdXRvJiBrZXkgOiBuZXdD
b3VudGVyRGlyZWN0aXZlcy0+a2V5cygpKSB7CiAgICAgICAgICAgICAvLyBXZSBtdXN0IGNyZWF0
ZSB0aGlzIG5vZGUgaGVyZSwgYmVjYXVzZSB0aGUgYWRkZWQgbm9kZSBtYXkgYmUgYSBub2RlIHdp
dGggbm8gZGlzcGxheSBzdWNoIGFzCiAgICAgICAgICAgICAvLyBhcyB0aG9zZSBjcmVhdGVkIGJ5
IHRoZSBpbmNyZW1lbnQgb3IgcmVzZXQgZGlyZWN0aXZlcyBhbmQgdGhlIHJlLWxheW91dCB0aGF0
IHdpbGwgaGFwcGVuIHdpbGwKICAgICAgICAgICAgIC8vIG5vdCBjYXRjaCB0aGUgY2hhbmdlIGlm
IHRoZSBub2RlIGhhZCBubyBjaGlsZHJlbi4KLSAgICAgICAgICAgIG1ha2VDb3VudGVyTm9kZShy
ZW5kZXJlciwgaXQtPmtleSwgZmFsc2UpOworICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2RlKHJl
bmRlcmVyLCBrZXksIGZhbHNlKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IDBkNWEwMzZhNTdlOGM0
OGU4MTVmZTViODlkYTI3NTE4NWQwZjVmZWYuLjU1MTYwNTI4ZmFlYzM2YWE1NTY3NDIyNmE1MWRh
NWEwNThiNTc1OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhp
YmxlQm94LmNwcApAQCAtNzEzLDggKzcxMyw3IEBAIExheW91dFVuaXQgUmVuZGVyRmxleGlibGVC
b3g6OmF1dG9NYXJnaW5PZmZzZXRJbk1haW5BeGlzKGNvbnN0IE9yZGVyZWRGbGV4SXRlbUxpCiAK
ICAgICBpbnQgbnVtYmVyT2ZBdXRvTWFyZ2lucyA9IDA7CiAgICAgYm9vbCBpc0hvcml6b250YWwg
PSBpc0hvcml6b250YWxGbG93KCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjaGlsZHJl
bi5zaXplKCk7ICsraSkgewotICAgICAgICBSZW5kZXJCb3gqIGNoaWxkID0gY2hpbGRyZW5baV07
CisgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuKSB7CiAgICAgICAgIGlmIChjaGlsZC0+
aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAg
aWYgKGlzSG9yaXpvbnRhbCkgewpAQCAtODk4LDkgKzg5Nyw5IEBAIGJvb2wgUmVuZGVyRmxleGli
bGVCb3g6OmNvbXB1dGVOZXh0RmxleExpbmUoT3JkZXJlZEZsZXhJdGVtTGlzdCYgb3JkZXJlZENo
aWxkcmVuCiAKIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmZyZWV6ZVZpb2xhdGlvbnMoY29uc3Qg
VmVjdG9yPFZpb2xhdGlvbj4mIHZpb2xhdGlvbnMsIExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVT
cGFjZSwgZG91YmxlJiB0b3RhbEZsZXhHcm93LCBkb3VibGUmIHRvdGFsV2VpZ2h0ZWRGbGV4U2hy
aW5rLCBJbmZsZXhpYmxlRmxleEl0ZW1TaXplJiBpbmZsZXhpYmxlSXRlbXMsIGJvb2wgaGFzSW5m
aW5pdGVMaW5lTGVuZ3RoKQogewotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdmlvbGF0aW9u
cy5zaXplKCk7ICsraSkgewotICAgICAgICBSZW5kZXJCb3gmIGNoaWxkID0gdmlvbGF0aW9uc1tp
XS5jaGlsZDsKLSAgICAgICAgTGF5b3V0VW5pdCBjaGlsZFNpemUgPSB2aW9sYXRpb25zW2ldLmNo
aWxkU2l6ZTsKKyAgICBmb3IgKGF1dG8mIHZpb2xhdGlvbiA6IHZpb2xhdGlvbnMpIHsKKyAgICAg
ICAgUmVuZGVyQm94JiBjaGlsZCA9IHZpb2xhdGlvbi5jaGlsZDsKKyAgICAgICAgTGF5b3V0VW5p
dCBjaGlsZFNpemUgPSB2aW9sYXRpb24uY2hpbGRTaXplOwogICAgICAgICBMYXlvdXRVbml0IHBy
ZWZlcnJlZENoaWxkU2l6ZSA9IHByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxk
KGNoaWxkLCBoYXNJbmZpbml0ZUxpbmVMZW5ndGgpOwogICAgICAgICBhdmFpbGFibGVGcmVlU3Bh
Y2UgLT0gY2hpbGRTaXplIC0gcHJlZmVycmVkQ2hpbGRTaXplOwogICAgICAgICB0b3RhbEZsZXhH
cm93IC09IGNoaWxkLnN0eWxlKCkuZmxleEdyb3coKTsKQEAgLTkxNywzNSArOTE2LDM0IEBAIGJv
b2wgUmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVGbGV4aWJsZUxlbmd0aHMoRmxleFNpZ24gZmxl
eFNpZ24sIGNvbnN0IE9yZGVyZWRGCiAgICAgTGF5b3V0VW5pdCB1c2VkRnJlZVNwYWNlID0gMDsK
ICAgICBWZWN0b3I8VmlvbGF0aW9uPiBtaW5WaW9sYXRpb25zOwogICAgIFZlY3RvcjxWaW9sYXRp
b24+IG1heFZpb2xhdGlvbnM7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjaGlsZHJlbi5z
aXplKCk7ICsraSkgewotICAgICAgICBSZW5kZXJCb3gmIGNoaWxkID0gKmNoaWxkcmVuW2ldOwot
ICAgICAgICBpZiAoY2hpbGQuaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpIHsKKyAgICBmb3IgKGF1
dG8mIGNoaWxkIDogY2hpbGRyZW4pIHsKKyAgICAgICAgaWYgKGNoaWxkLT5pc091dE9mRmxvd1Bv
c2l0aW9uZWQoKSkgewogICAgICAgICAgICAgY2hpbGRTaXplcy5hcHBlbmQoMCk7CiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChpbmZsZXhpYmxlSXRlbXMu
Y29udGFpbnMoJmNoaWxkKSkKLSAgICAgICAgICAgIGNoaWxkU2l6ZXMuYXBwZW5kKGluZmxleGli
bGVJdGVtcy5nZXQoJmNoaWxkKSk7CisgICAgICAgIGlmIChpbmZsZXhpYmxlSXRlbXMuY29udGFp
bnMoY2hpbGQpKQorICAgICAgICAgICAgY2hpbGRTaXplcy5hcHBlbmQoaW5mbGV4aWJsZUl0ZW1z
LmdldChjaGlsZCkpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIExheW91dFVuaXQgcHJl
ZmVycmVkQ2hpbGRTaXplID0gcHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hpbGQo
Y2hpbGQsIGhhc0luZmluaXRlTGluZUxlbmd0aCk7CisgICAgICAgICAgICBMYXlvdXRVbml0IHBy
ZWZlcnJlZENoaWxkU2l6ZSA9IHByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxk
KCpjaGlsZCwgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKTsKICAgICAgICAgICAgIExheW91dFVuaXQg
Y2hpbGRTaXplID0gcHJlZmVycmVkQ2hpbGRTaXplOwogICAgICAgICAgICAgZG91YmxlIGV4dHJh
U3BhY2UgPSAwOwogICAgICAgICAgICAgaWYgKGF2YWlsYWJsZUZyZWVTcGFjZSA+IDAgJiYgdG90
YWxGbGV4R3JvdyA+IDAgJiYgZmxleFNpZ24gPT0gUG9zaXRpdmVGbGV4aWJpbGl0eSAmJiBzdGQ6
OmlzZmluaXRlKHRvdGFsRmxleEdyb3cpKQotICAgICAgICAgICAgICAgIGV4dHJhU3BhY2UgPSBh
dmFpbGFibGVGcmVlU3BhY2UgKiBjaGlsZC5zdHlsZSgpLmZsZXhHcm93KCkgLyB0b3RhbEZsZXhH
cm93OworICAgICAgICAgICAgICAgIGV4dHJhU3BhY2UgPSBhdmFpbGFibGVGcmVlU3BhY2UgKiBj
aGlsZC0+c3R5bGUoKS5mbGV4R3JvdygpIC8gdG90YWxGbGV4R3JvdzsKICAgICAgICAgICAgIGVs
c2UgaWYgKGF2YWlsYWJsZUZyZWVTcGFjZSA8IDAgJiYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmsg
PiAwICYmIGZsZXhTaWduID09IE5lZ2F0aXZlRmxleGliaWxpdHkgJiYgc3RkOjppc2Zpbml0ZSh0
b3RhbFdlaWdodGVkRmxleFNocmluaykpCi0gICAgICAgICAgICAgICAgZXh0cmFTcGFjZSA9IGF2
YWlsYWJsZUZyZWVTcGFjZSAqIGNoaWxkLnN0eWxlKCkuZmxleFNocmluaygpICogcHJlZmVycmVk
Q2hpbGRTaXplIC8gdG90YWxXZWlnaHRlZEZsZXhTaHJpbms7CisgICAgICAgICAgICAgICAgZXh0
cmFTcGFjZSA9IGF2YWlsYWJsZUZyZWVTcGFjZSAqIGNoaWxkLT5zdHlsZSgpLmZsZXhTaHJpbmso
KSAqIHByZWZlcnJlZENoaWxkU2l6ZSAvIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rOwogICAgICAg
ICAgICAgaWYgKHN0ZDo6aXNmaW5pdGUoZXh0cmFTcGFjZSkpCiAgICAgICAgICAgICAgICAgY2hp
bGRTaXplICs9IExheW91dFVuaXQ6OmZyb21GbG9hdFJvdW5kKGV4dHJhU3BhY2UpOwogCi0gICAg
ICAgICAgICBMYXlvdXRVbml0IGFkanVzdGVkQ2hpbGRTaXplID0gYWRqdXN0Q2hpbGRTaXplRm9y
TWluQW5kTWF4KGNoaWxkLCBjaGlsZFNpemUpOworICAgICAgICAgICAgTGF5b3V0VW5pdCBhZGp1
c3RlZENoaWxkU2l6ZSA9IGFkanVzdENoaWxkU2l6ZUZvck1pbkFuZE1heCgqY2hpbGQsIGNoaWxk
U2l6ZSk7CiAgICAgICAgICAgICBjaGlsZFNpemVzLmFwcGVuZChhZGp1c3RlZENoaWxkU2l6ZSk7
CiAgICAgICAgICAgICB1c2VkRnJlZVNwYWNlICs9IGFkanVzdGVkQ2hpbGRTaXplIC0gcHJlZmVy
cmVkQ2hpbGRTaXplOwogCiAgICAgICAgICAgICBMYXlvdXRVbml0IHZpb2xhdGlvbiA9IGFkanVz
dGVkQ2hpbGRTaXplIC0gY2hpbGRTaXplOwogICAgICAgICAgICAgaWYgKHZpb2xhdGlvbiA+IDAp
Ci0gICAgICAgICAgICAgICAgbWluVmlvbGF0aW9ucy5hcHBlbmQoVmlvbGF0aW9uKGNoaWxkLCBh
ZGp1c3RlZENoaWxkU2l6ZSkpOworICAgICAgICAgICAgICAgIG1pblZpb2xhdGlvbnMuYXBwZW5k
KFZpb2xhdGlvbigqY2hpbGQsIGFkanVzdGVkQ2hpbGRTaXplKSk7CiAgICAgICAgICAgICBlbHNl
IGlmICh2aW9sYXRpb24gPCAwKQotICAgICAgICAgICAgICAgIG1heFZpb2xhdGlvbnMuYXBwZW5k
KFZpb2xhdGlvbihjaGlsZCwgYWRqdXN0ZWRDaGlsZFNpemUpKTsKKyAgICAgICAgICAgICAgICBt
YXhWaW9sYXRpb25zLmFwcGVuZChWaW9sYXRpb24oKmNoaWxkLCBhZGp1c3RlZENoaWxkU2l6ZSkp
OwogICAgICAgICAgICAgdG90YWxWaW9sYXRpb24gKz0gdmlvbGF0aW9uOwogICAgICAgICB9CiAg
ICAgfQpAQCAtMTAzMCw4ICsxMDI4LDcgQEAgSXRlbVBvc2l0aW9uIFJlbmRlckZsZXhpYmxlQm94
OjphbGlnbm1lbnRGb3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogc2l6ZV90IFJlbmRl
ckZsZXhpYmxlQm94OjpudW1iZXJPZkluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbihjb25zdCBPcmRl
cmVkRmxleEl0ZW1MaXN0JiBjaGlsZHJlbikgY29uc3QKIHsKICAgICBzaXplX3QgY291bnQgPSAw
OwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2hpbGRyZW4uc2l6ZSgpOyArK2kpIHsKLSAg
ICAgICAgUmVuZGVyQm94KiBjaGlsZCA9IGNoaWxkcmVuW2ldOworICAgIGZvciAoYXV0byYgY2hp
bGQgOiBjaGlsZHJlbikgewogICAgICAgICBpZiAoIWNoaWxkLT5pc091dE9mRmxvd1Bvc2l0aW9u
ZWQoKSkKICAgICAgICAgICAgICsrY291bnQ7CiAgICAgfQpAQCAtMTE1NSwxNyArMTE1MiwxNiBA
QCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRDb2x1bW5SZXZlcnNlKGNvbnN0IE9yZGVy
ZWRGbGV4SXRlbUxpc3QmIGNoaWxkcmVuLAogICAgIG1haW5BeGlzT2Zmc2V0IC09IGlzSG9yaXpv
bnRhbEZsb3coKSA/IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKSA6IGhvcml6b250YWxTY3JvbGxi
YXJIZWlnaHQoKTsKIAogICAgIHNpemVfdCBzZWVuSW5GbG93UG9zaXRpb25lZENoaWxkcmVuID0g
MDsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNoaWxkcmVuLnNpemUoKTsgKytpKSB7Ci0g
ICAgICAgIFJlbmRlckJveCYgY2hpbGQgPSAqY2hpbGRyZW5baV07Ci0gICAgICAgIGlmIChjaGls
ZC5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkgewotICAgICAgICAgICAgY2hpbGQubGF5ZXIoKS0+
c2V0U3RhdGljQmxvY2tQb3NpdGlvbihtYWluQXhpc09mZnNldCk7CisgICAgZm9yIChhdXRvJiBj
aGlsZCA6IGNoaWxkcmVuKSB7CisgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlv
bmVkKCkpIHsKKyAgICAgICAgICAgIGNoaWxkLT5sYXllcigpLT5zZXRTdGF0aWNCbG9ja1Bvc2l0
aW9uKG1haW5BeGlzT2Zmc2V0KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0g
ICAgICAgIG1haW5BeGlzT2Zmc2V0IC09IG1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQoY2hpbGQpICsg
Zmxvd0F3YXJlTWFyZ2luRW5kRm9yQ2hpbGQoY2hpbGQpOworICAgICAgICBtYWluQXhpc09mZnNl
dCAtPSBtYWluQXhpc0V4dGVudEZvckNoaWxkKCpjaGlsZCkgKyBmbG93QXdhcmVNYXJnaW5FbmRG
b3JDaGlsZCgqY2hpbGQpOwogCi0gICAgICAgIHNldEZsb3dBd2FyZUxvY2F0aW9uRm9yQ2hpbGQo
Y2hpbGQsIExheW91dFBvaW50KG1haW5BeGlzT2Zmc2V0LCBjcm9zc0F4aXNPZmZzZXQgKyBmbG93
QXdhcmVNYXJnaW5CZWZvcmVGb3JDaGlsZChjaGlsZCkpKTsKKyAgICAgICAgc2V0Rmxvd0F3YXJl
TG9jYXRpb25Gb3JDaGlsZCgqY2hpbGQsIExheW91dFBvaW50KG1haW5BeGlzT2Zmc2V0LCBjcm9z
c0F4aXNPZmZzZXQgKyBmbG93QXdhcmVNYXJnaW5CZWZvcmVGb3JDaGlsZCgqY2hpbGQpKSk7CiAK
LSAgICAgICAgbWFpbkF4aXNPZmZzZXQgLT0gZmxvd0F3YXJlTWFyZ2luU3RhcnRGb3JDaGlsZChj
aGlsZCk7CisgICAgICAgIG1haW5BeGlzT2Zmc2V0IC09IGZsb3dBd2FyZU1hcmdpblN0YXJ0Rm9y
Q2hpbGQoKmNoaWxkKTsKIAogICAgICAgICArK3NlZW5JbkZsb3dQb3NpdGlvbmVkQ2hpbGRyZW47
CiAgICAgICAgIGlmIChzZWVuSW5GbG93UG9zaXRpb25lZENoaWxkcmVuIDwgbnVtYmVyT2ZDaGls
ZHJlbkZvckp1c3RpZnlDb250ZW50KQpAQCAtMTIwOSwxOCArMTIwNSwxOCBAQCB2b2lkIFJlbmRl
ckZsZXhpYmxlQm94OjphbGlnbkZsZXhMaW5lcyhWZWN0b3I8TGluZUNvbnRleHQ+JiBsaW5lQ29u
dGV4dHMpCiAgICAgICAgIHJldHVybjsKIAogICAgIExheW91dFVuaXQgYXZhaWxhYmxlQ3Jvc3NB
eGlzU3BhY2UgPSBjcm9zc0F4aXNDb250ZW50RXh0ZW50KCk7Ci0gICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBsaW5lQ29udGV4dHMuc2l6ZSgpOyArK2kpCi0gICAgICAgIGF2YWlsYWJsZUNyb3Nz
QXhpc1NwYWNlIC09IGxpbmVDb250ZXh0c1tpXS5jcm9zc0F4aXNFeHRlbnQ7CisgICAgZm9yIChh
dXRvJiBsaW5lQ29udGV4dCA6IGxpbmVDb250ZXh0cykKKyAgICAgICAgYXZhaWxhYmxlQ3Jvc3NB
eGlzU3BhY2UgLT0gbGluZUNvbnRleHQuY3Jvc3NBeGlzRXh0ZW50OwogCiAgICAgUmVuZGVyQm94
KiBjaGlsZCA9IG1fb3JkZXJJdGVyYXRvci5maXJzdCgpOwogICAgIExheW91dFVuaXQgbGluZU9m
ZnNldCA9IGluaXRpYWxBbGlnbkNvbnRlbnRPZmZzZXQoYXZhaWxhYmxlQ3Jvc3NBeGlzU3BhY2Us
IHBvc2l0aW9uLCBkaXN0cmlidXRpb24sIGxpbmVDb250ZXh0cy5zaXplKCkpOwotICAgIGZvciAo
dW5zaWduZWQgbGluZU51bWJlciA9IDA7IGxpbmVOdW1iZXIgPCBsaW5lQ29udGV4dHMuc2l6ZSgp
OyArK2xpbmVOdW1iZXIpIHsKLSAgICAgICAgbGluZUNvbnRleHRzW2xpbmVOdW1iZXJdLmNyb3Nz
QXhpc09mZnNldCArPSBsaW5lT2Zmc2V0OwotICAgICAgICBmb3IgKHNpemVfdCBjaGlsZE51bWJl
ciA9IDA7IGNoaWxkTnVtYmVyIDwgbGluZUNvbnRleHRzW2xpbmVOdW1iZXJdLm51bWJlck9mQ2hp
bGRyZW47ICsrY2hpbGROdW1iZXIsIGNoaWxkID0gbV9vcmRlckl0ZXJhdG9yLm5leHQoKSkKKyAg
ICBmb3IgKGF1dG8mIGxpbmVDb250ZXh0IDogbGluZUNvbnRleHRzKSB7CisgICAgICAgIGxpbmVD
b250ZXh0LmNyb3NzQXhpc09mZnNldCArPSBsaW5lT2Zmc2V0OworICAgICAgICBmb3IgKHNpemVf
dCBjaGlsZE51bWJlciA9IDA7IGNoaWxkTnVtYmVyIDwgbGluZUNvbnRleHQubnVtYmVyT2ZDaGls
ZHJlbjsgKytjaGlsZE51bWJlciwgY2hpbGQgPSBtX29yZGVySXRlcmF0b3IubmV4dCgpKQogICAg
ICAgICAgICAgYWRqdXN0QWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBsaW5lT2Zmc2V0KTsKIAog
ICAgICAgICBpZiAoZGlzdHJpYnV0aW9uID09IENvbnRlbnREaXN0cmlidXRpb25TdHJldGNoICYm
IGF2YWlsYWJsZUNyb3NzQXhpc1NwYWNlID4gMCkKLSAgICAgICAgICAgIGxpbmVDb250ZXh0c1ts
aW5lTnVtYmVyXS5jcm9zc0F4aXNFeHRlbnQgKz0gYXZhaWxhYmxlQ3Jvc3NBeGlzU3BhY2UgLyBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4obGluZUNvbnRleHRzLnNpemUoKSk7CisgICAgICAgICAgICBs
aW5lQ29udGV4dC5jcm9zc0F4aXNFeHRlbnQgKz0gYXZhaWxhYmxlQ3Jvc3NBeGlzU3BhY2UgLyBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4obGluZUNvbnRleHRzLnNpemUoKSk7CiAKICAgICAgICAgbGlu
ZU9mZnNldCArPSBhbGlnbkNvbnRlbnRTcGFjZUJldHdlZW5DaGlsZHJlbihhdmFpbGFibGVDcm9z
c0F4aXNTcGFjZSwgZGlzdHJpYnV0aW9uLCBsaW5lQ29udGV4dHMuc2l6ZSgpKTsKICAgICB9CkBA
IC0xMjQ3LDEyICsxMjQzLDEyIEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmFsaWduQ2hpbGRy
ZW4oY29uc3QgVmVjdG9yPExpbmVDb250ZXh0PiYgbGluZUNvbnRleHRzKQogICAgIFZlY3RvcjxM
YXlvdXRVbml0PiBtaW5NYXJnaW5BZnRlckJhc2VsaW5lczsKIAogICAgIFJlbmRlckJveCogY2hp
bGQgPSBtX29yZGVySXRlcmF0b3IuZmlyc3QoKTsKLSAgICBmb3IgKHNpemVfdCBsaW5lTnVtYmVy
ID0gMDsgbGluZU51bWJlciA8IGxpbmVDb250ZXh0cy5zaXplKCk7ICsrbGluZU51bWJlcikgewor
ICAgIGZvciAoYXV0byYgbGluZUNvbnRleHQgOiBsaW5lQ29udGV4dHMpIHsKICAgICAgICAgTGF5
b3V0VW5pdCBtaW5NYXJnaW5BZnRlckJhc2VsaW5lID0gTGF5b3V0VW5pdDo6bWF4KCk7Ci0gICAg
ICAgIExheW91dFVuaXQgbGluZUNyb3NzQXhpc0V4dGVudCA9IGxpbmVDb250ZXh0c1tsaW5lTnVt
YmVyXS5jcm9zc0F4aXNFeHRlbnQ7Ci0gICAgICAgIExheW91dFVuaXQgbWF4QXNjZW50ID0gbGlu
ZUNvbnRleHRzW2xpbmVOdW1iZXJdLm1heEFzY2VudDsKKyAgICAgICAgTGF5b3V0VW5pdCBsaW5l
Q3Jvc3NBeGlzRXh0ZW50ID0gbGluZUNvbnRleHQuY3Jvc3NBeGlzRXh0ZW50OworICAgICAgICBM
YXlvdXRVbml0IG1heEFzY2VudCA9IGxpbmVDb250ZXh0Lm1heEFzY2VudDsKIAotICAgICAgICBm
b3IgKHNpemVfdCBjaGlsZE51bWJlciA9IDA7IGNoaWxkTnVtYmVyIDwgbGluZUNvbnRleHRzW2xp
bmVOdW1iZXJdLm51bWJlck9mQ2hpbGRyZW47ICsrY2hpbGROdW1iZXIsIGNoaWxkID0gbV9vcmRl
ckl0ZXJhdG9yLm5leHQoKSkgeworICAgICAgICBmb3IgKHNpemVfdCBjaGlsZE51bWJlciA9IDA7
IGNoaWxkTnVtYmVyIDwgbGluZUNvbnRleHQubnVtYmVyT2ZDaGlsZHJlbjsgKytjaGlsZE51bWJl
ciwgY2hpbGQgPSBtX29yZGVySXRlcmF0b3IubmV4dCgpKSB7CiAgICAgICAgICAgICBBU1NFUlQo
Y2hpbGQpOwogICAgICAgICAgICAgaWYgKGNoaWxkLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkg
ewogICAgICAgICAgICAgICAgIGlmIChzdHlsZSgpLmZsZXhXcmFwKCkgPT0gRmxleFdyYXBSZXZl
cnNlKQpAQCAtMTM4MCwxMSArMTM3NiwxMSBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpmbGlw
Rm9yV3JhcFJldmVyc2UoY29uc3QgVmVjdG9yPExpbmVDb250ZXh0PiYgbGluZUNvbnRleAogewog
ICAgIExheW91dFVuaXQgY29udGVudEV4dGVudCA9IGNyb3NzQXhpc0NvbnRlbnRFeHRlbnQoKTsK
ICAgICBSZW5kZXJCb3gqIGNoaWxkID0gbV9vcmRlckl0ZXJhdG9yLmZpcnN0KCk7Ci0gICAgZm9y
IChzaXplX3QgbGluZU51bWJlciA9IDA7IGxpbmVOdW1iZXIgPCBsaW5lQ29udGV4dHMuc2l6ZSgp
OyArK2xpbmVOdW1iZXIpIHsKLSAgICAgICAgZm9yIChzaXplX3QgY2hpbGROdW1iZXIgPSAwOyBj
aGlsZE51bWJlciA8IGxpbmVDb250ZXh0c1tsaW5lTnVtYmVyXS5udW1iZXJPZkNoaWxkcmVuOyAr
K2NoaWxkTnVtYmVyLCBjaGlsZCA9IG1fb3JkZXJJdGVyYXRvci5uZXh0KCkpIHsKKyAgICBmb3Ig
KGF1dG8mIGxpbmVDb250ZXh0IDogbGluZUNvbnRleHRzKSB7CisgICAgICAgIGZvciAoc2l6ZV90
IGNoaWxkTnVtYmVyID0gMDsgY2hpbGROdW1iZXIgPCBsaW5lQ29udGV4dC5udW1iZXJPZkNoaWxk
cmVuOyArK2NoaWxkTnVtYmVyLCBjaGlsZCA9IG1fb3JkZXJJdGVyYXRvci5uZXh0KCkpIHsKICAg
ICAgICAgICAgIEFTU0VSVChjaGlsZCk7Ci0gICAgICAgICAgICBMYXlvdXRVbml0IGxpbmVDcm9z
c0F4aXNFeHRlbnQgPSBsaW5lQ29udGV4dHNbbGluZU51bWJlcl0uY3Jvc3NBeGlzRXh0ZW50Owot
ICAgICAgICAgICAgTGF5b3V0VW5pdCBvcmlnaW5hbE9mZnNldCA9IGxpbmVDb250ZXh0c1tsaW5l
TnVtYmVyXS5jcm9zc0F4aXNPZmZzZXQgLSBjcm9zc0F4aXNTdGFydEVkZ2U7CisgICAgICAgICAg
ICBMYXlvdXRVbml0IGxpbmVDcm9zc0F4aXNFeHRlbnQgPSBsaW5lQ29udGV4dC5jcm9zc0F4aXNF
eHRlbnQ7CisgICAgICAgICAgICBMYXlvdXRVbml0IG9yaWdpbmFsT2Zmc2V0ID0gbGluZUNvbnRl
eHQuY3Jvc3NBeGlzT2Zmc2V0IC0gY3Jvc3NBeGlzU3RhcnRFZGdlOwogICAgICAgICAgICAgTGF5
b3V0VW5pdCBuZXdPZmZzZXQgPSBjb250ZW50RXh0ZW50IC0gb3JpZ2luYWxPZmZzZXQgLSBsaW5l
Q3Jvc3NBeGlzRXh0ZW50OwogICAgICAgICAgICAgYWRqdXN0QWxpZ25tZW50Rm9yQ2hpbGQoKmNo
aWxkLCBuZXdPZmZzZXQgLSBvcmlnaW5hbE9mZnNldCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAppbmRleCBjMmEzZDc4OThkYjY5
ZWI1NmE0ZjVmYmNmMjVkODUxZjE5MGE3N2Q3Li5kZWNjNDg3YzNiMTkzMDliZTVkMzNhNzIyZmYz
YzE2Y2IzMmE5Y2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Rmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dU
aHJlYWQuY3BwCkBAIC0yOTksOCArMjk5LDggQEAgYm9vbCBSZW5kZXJGbG93VGhyZWFkOjp1cGRh
dGVBbGxMYXllclRvUmVnaW9uTWFwcGluZ3MoKQogICAgIFJlbmRlckxheWVyTGlzdCogbGlzdHNb
XSA9IHsgbGF5ZXIoKS0+bmVnWk9yZGVyTGlzdCgpLCBsYXllcigpLT5ub3JtYWxGbG93TGlzdCgp
LCBsYXllcigpLT5wb3NaT3JkZXJMaXN0KCkgfTsKICAgICBmb3IgKHNpemVfdCBsaXN0SW5kZXgg
PSAwOyBsaXN0SW5kZXggPCBzaXplb2YobGlzdHMpIC8gc2l6ZW9mKGxpc3RzWzBdKTsgKytsaXN0
SW5kZXgpIHsKICAgICAgICAgaWYgKFJlbmRlckxheWVyTGlzdCogbGlzdCA9IGxpc3RzW2xpc3RJ
bmRleF0pIHsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwLCBsaXN0U2l6ZSA9IGxpc3Qt
PnNpemUoKTsgaSA8IGxpc3RTaXplOyArK2kpCi0gICAgICAgICAgICAgICAgdXBkYXRlTGF5ZXJU
b1JlZ2lvbk1hcHBpbmdzKCpsaXN0LT5hdChpKSwgbGF5ZXJUb1JlZ2lvbk1hcCwgcmVnaW9uVG9M
YXllckxpc3RNYXAsIG5lZWRzTGF5ZXJVcGRhdGUpOworICAgICAgICAgICAgZm9yIChhdXRvJiBs
YXllciA6ICpsaXN0KQorICAgICAgICAgICAgICAgIHVwZGF0ZUxheWVyVG9SZWdpb25NYXBwaW5n
cygqbGF5ZXIsIGxheWVyVG9SZWdpb25NYXAsIHJlZ2lvblRvTGF5ZXJMaXN0TWFwLCBuZWVkc0xh
eWVyVXBkYXRlKTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW5saW5lLmNwcAppbmRleCA2NmYyZGM2MThlYmEzZTNhOTNmNDhlM2E3YTk4Njc5ZGZm
Yzg4MmMyLi5kYjBhNjkwYmRiNzY2YWM1NDc1OGE0NWE0YTVlNmU2ZWM3MzFmMWFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcApAQCAtMTcwNywxMCArMTcwNyw3
IEBAIHZvaWQgUmVuZGVySW5saW5lOjphZGRBbm5vdGF0ZWRSZWdpb25zKFZlY3RvcjxBbm5vdGF0
ZWRSZWdpb25WYWx1ZT4mIHJlZ2lvbnMpCiAgICAgICAgIHJldHVybjsKIAogICAgIGNvbnN0IFZl
Y3RvcjxTdHlsZURhc2hib2FyZFJlZ2lvbj4mIHN0eWxlUmVnaW9ucyA9IHN0eWxlKCkuZGFzaGJv
YXJkUmVnaW9ucygpOwotICAgIHVuc2lnbmVkIGksIGNvdW50ID0gc3R5bGVSZWdpb25zLnNpemUo
KTsKLSAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewotICAgICAgICBTdHlsZURhc2hi
b2FyZFJlZ2lvbiBzdHlsZVJlZ2lvbiA9IHN0eWxlUmVnaW9uc1tpXTsKLQorICAgIGZvciAoYXV0
byYgc3R5bGVSZWdpb24gOiBzdHlsZVJlZ2lvbnMpIHsKICAgICAgICAgTGF5b3V0UmVjdCBsaW5l
c0JvdW5kaW5nQm94ID0gdGhpcy0+bGluZXNCb3VuZGluZ0JveCgpOwogICAgICAgICBMYXlvdXRV
bml0IHcgPSBsaW5lc0JvdW5kaW5nQm94LndpZHRoKCk7CiAgICAgICAgIExheW91dFVuaXQgaCA9
IGxpbmVzQm91bmRpbmdCb3guaGVpZ2h0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAppbmRleCAzOGYzYjQxZDRmNGUwM2JjMDNjNGYwMjYwMjY4YTFiMmJjZWM1M2Mw
Li41MTc1NDE1OGFlM2ZhOWEyMGUyOGE3MDRmZDFlMzdlZjRkMDc0ZTJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTcyOSwxMCArNzI5LDggQEAgdm9pZCBS
ZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudHNBcmVDb250aWd1b3VzSW5TdGFja2luZ09yZGVy
KCkKICAgICB9CiAKICAgICBpZiAocG9zWk9yZGVyTGlzdCkgewotICAgICAgICBzaXplX3QgbGlz
dFNpemUgPSBwb3NaT3JkZXJMaXN0LT5zaXplKCk7CiAgICAgICAgIGludCBzdGFja2luZ09yZGVy
SW5kZXggPSAxOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3RTaXplOyArK2kp
IHsKLSAgICAgICAgICAgIFJlbmRlckxheWVyKiBjdXJyZW50TGF5ZXIgPSBwb3NaT3JkZXJMaXN0
LT5hdChpKTsKKyAgICAgICAgZm9yIChhdXRvJiBjdXJyZW50TGF5ZXIgOiAqcG9zWk9yZGVyTGlz
dCkgewogICAgICAgICAgICAgaWYgKCFjdXJyZW50TGF5ZXItPmlzU3RhY2tpbmdDb250ZXh0KCkp
CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBsb29rdXAuc2V0KGN1cnJl
bnRMYXllciwgc3RhY2tpbmdPcmRlckluZGV4KyspOwpAQCAtMTE4Niw5ICsxMTg0LDggQEAgdm9p
ZCBSZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKEhhc2hTZXQ8Y29u
c3QgUmVuZGVyT2JqZWN0Kj4qIG8KICAgICAgICAgICAgICAgICBjaGlsZE91dE9mRmxvd0Rlc2Nl
bmRhbnRDb250YWluaW5nQmxvY2tzLmFkZChjaGlsZC0+cmVuZGVyZXIoKS5jb250YWluaW5nQmxv
Y2soKSk7CiAKICAgICAgICAgICAgIGlmIChvdXRPZkZsb3dEZXNjZW5kYW50Q29udGFpbmluZ0Js
b2NrcykgewotICAgICAgICAgICAgICAgIEhhc2hTZXQ8Y29uc3QgUmVuZGVyT2JqZWN0Kj46OmNv
bnN0X2l0ZXJhdG9yIGl0ID0gY2hpbGRPdXRPZkZsb3dEZXNjZW5kYW50Q29udGFpbmluZ0Jsb2Nr
cy5iZWdpbigpOwotICAgICAgICAgICAgICAgIGZvciAoOyBpdCAhPSBjaGlsZE91dE9mRmxvd0Rl
c2NlbmRhbnRDb250YWluaW5nQmxvY2tzLmVuZCgpOyArK2l0KQotICAgICAgICAgICAgICAgICAg
ICBvdXRPZkZsb3dEZXNjZW5kYW50Q29udGFpbmluZ0Jsb2Nrcy0+YWRkKCppdCk7CisgICAgICAg
ICAgICAgICAgZm9yIChhdXRvJiBibG9jayA6IGNoaWxkT3V0T2ZGbG93RGVzY2VuZGFudENvbnRh
aW5pbmdCbG9ja3MpCisgICAgICAgICAgICAgICAgICAgIG91dE9mRmxvd0Rlc2NlbmRhbnRDb250
YWluaW5nQmxvY2tzLT5hZGQoYmxvY2spOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBo
YXNWaXNpYmxlRGVzY2VuZGFudCB8PSBjaGlsZC0+bV9oYXNWaXNpYmxlQ29udGVudCB8fCBjaGls
ZC0+bV9oYXNWaXNpYmxlRGVzY2VuZGFudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggMzc3YTA4M2MwNDQwM2NmMzllYTlmYjVkMjEx
ZTRkOGI1ZjQ5ZWZhMS4uYWJiMmNiYmY1MTRkOTQwZTBiMTE3MTMzZmY0YjVlNjljMjA1MTViMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAK
QEAgLTE4OTgsOSArMTg5OCw3IEBAIHN0YXRpYyBib29sIGRlc2NlbmRhbnRMYXllclBhaW50c0lu
dG9BbmNlc3RvcihSZW5kZXJMYXllciYgcGFyZW50KQogI2VuZGlmCiAKICAgICBpZiAoVmVjdG9y
PFJlbmRlckxheWVyKj4qIG5vcm1hbEZsb3dMaXN0ID0gcGFyZW50Lm5vcm1hbEZsb3dMaXN0KCkp
IHsKLSAgICAgICAgc2l6ZV90IGxpc3RTaXplID0gbm9ybWFsRmxvd0xpc3QtPnNpemUoKTsKLSAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytpKSB7Ci0gICAgICAgICAg
ICBSZW5kZXJMYXllciogY3VyTGF5ZXIgPSBub3JtYWxGbG93TGlzdC0+YXQoaSk7CisgICAgICAg
IGZvciAoYXV0byYgY3VyTGF5ZXIgOiAqbm9ybWFsRmxvd0xpc3QpIHsKICAgICAgICAgICAgIGlm
ICghY29tcG9zaXRlZFdpdGhPd25CYWNraW5nU3RvcmUoY3VyTGF5ZXIpCiAgICAgICAgICAgICAg
ICAgJiYgKGN1ckxheWVyLT5pc1Zpc3VhbGx5Tm9uRW1wdHkoKSB8fCBkZXNjZW5kYW50TGF5ZXJQ
YWludHNJbnRvQW5jZXN0b3IoKmN1ckxheWVyKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CkBAIC0xOTEzLDkgKzE5MTEsNyBAQCBzdGF0aWMgYm9vbCBkZXNjZW5kYW50TGF5ZXJQYWlu
dHNJbnRvQW5jZXN0b3IoUmVuZGVyTGF5ZXImIHBhcmVudCkKIAogICAgICAgICAvLyBVc2UgdGhl
IG1faGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50IGJpdCB0byBvcHRpbWl6ZT8KICAgICAgICAgaWYg
KFZlY3RvcjxSZW5kZXJMYXllcio+KiBuZWdaT3JkZXJMaXN0ID0gcGFyZW50Lm5lZ1pPcmRlckxp
c3QoKSkgewotICAgICAgICAgICAgc2l6ZV90IGxpc3RTaXplID0gbmVnWk9yZGVyTGlzdC0+c2l6
ZSgpOwotICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytpKSB7
Ci0gICAgICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1ckxheWVyID0gbmVnWk9yZGVyTGlzdC0+
YXQoaSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGN1ckxheWVyIDogKm5lZ1pPcmRlckxpc3Qp
IHsKICAgICAgICAgICAgICAgICBpZiAoIWNvbXBvc2l0ZWRXaXRoT3duQmFja2luZ1N0b3JlKGN1
ckxheWVyKQogICAgICAgICAgICAgICAgICAgICAmJiAoY3VyTGF5ZXItPmlzVmlzdWFsbHlOb25F
bXB0eSgpIHx8IGRlc2NlbmRhbnRMYXllclBhaW50c0ludG9BbmNlc3RvcigqY3VyTGF5ZXIpKSkK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xOTIzLDkgKzE5MTksNyBAQCBz
dGF0aWMgYm9vbCBkZXNjZW5kYW50TGF5ZXJQYWludHNJbnRvQW5jZXN0b3IoUmVuZGVyTGF5ZXIm
IHBhcmVudCkKICAgICAgICAgfQogCiAgICAgICAgIGlmIChWZWN0b3I8UmVuZGVyTGF5ZXIqPiog
cG9zWk9yZGVyTGlzdCA9IHBhcmVudC5wb3NaT3JkZXJMaXN0KCkpIHsKLSAgICAgICAgICAgIHNp
emVfdCBsaXN0U2l6ZSA9IHBvc1pPcmRlckxpc3QtPnNpemUoKTsKLSAgICAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbGlzdFNpemU7ICsraSkgewotICAgICAgICAgICAgICAgIFJlbmRl
ckxheWVyKiBjdXJMYXllciA9IHBvc1pPcmRlckxpc3QtPmF0KGkpOworICAgICAgICAgICAgZm9y
IChhdXRvJiBjdXJMYXllciA6ICpwb3NaT3JkZXJMaXN0KSB7CiAgICAgICAgICAgICAgICAgaWYg
KCFjb21wb3NpdGVkV2l0aE93bkJhY2tpbmdTdG9yZShjdXJMYXllcikKICAgICAgICAgICAgICAg
ICAgICAgJiYgKGN1ckxheWVyLT5pc1Zpc3VhbGx5Tm9uRW1wdHkoKSB8fCBkZXNjZW5kYW50TGF5
ZXJQYWludHNJbnRvQW5jZXN0b3IoKmN1ckxheWVyKSkpCiAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwpAQCAtMjUwMiw5ICsyNDk2LDcgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6
OnN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24qIGFuaW0K
ICAgICBLZXlmcmFtZVZhbHVlTGlzdCBiYWNrZHJvcEZpbHRlclZlY3RvcihBbmltYXRlZFByb3Bl
cnR5V2Via2l0QmFja2Ryb3BGaWx0ZXIpOwogI2VuZGlmCiAKLSAgICBzaXplX3QgbnVtS2V5ZnJh
bWVzID0ga2V5ZnJhbWVzLnNpemUoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bUtl
eWZyYW1lczsgKytpKSB7Ci0gICAgICAgIGNvbnN0IEtleWZyYW1lVmFsdWUmIGN1cnJlbnRLZXlm
cmFtZSA9IGtleWZyYW1lc1tpXTsKKyAgICBmb3IgKGF1dG8mIGN1cnJlbnRLZXlmcmFtZSA6IGtl
eWZyYW1lcy5rZXlmcmFtZXMoKSkgewogICAgICAgICBjb25zdCBSZW5kZXJTdHlsZSoga2V5ZnJh
bWVTdHlsZSA9IGN1cnJlbnRLZXlmcmFtZS5zdHlsZSgpOwogICAgICAgICBkb3VibGUga2V5ID0g
Y3VycmVudEtleWZyYW1lLmtleSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpbmVCb3hMaXN0LmNwcAppbmRleCBlMWNmY2E1NjRkYjliMzRiNTkxYzc0MjI1NWQzNmY5
OWQ3ZGFkMTI1Li5jMDc5OTIxMjNhODM5NjI0NTIxZjBkYTE4OWU4Njc5MzE3ZjM3ZWJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAKQEAgLTI2
NywxMSArMjY3LDggQEAgdm9pZCBSZW5kZXJMaW5lQm94TGlzdDo6cGFpbnQoUmVuZGVyQm94TW9k
ZWxPYmplY3QqIHJlbmRlcmVyLCBQYWludEluZm8mIHBhaW50SW4KICAgICB9CiAKICAgICBpZiAo
aW5mby5waGFzZSA9PSBQYWludFBoYXNlT3V0bGluZSB8fCBpbmZvLnBoYXNlID09IFBhaW50UGhh
c2VTZWxmT3V0bGluZSB8fCBpbmZvLnBoYXNlID09IFBhaW50UGhhc2VDaGlsZE91dGxpbmVzKSB7
Ci0gICAgICAgIExpc3RIYXNoU2V0PFJlbmRlcklubGluZSo+OjppdGVyYXRvciBlbmQgPSBpbmZv
Lm91dGxpbmVPYmplY3RzLT5lbmQoKTsKLSAgICAgICAgZm9yIChMaXN0SGFzaFNldDxSZW5kZXJJ
bmxpbmUqPjo6aXRlcmF0b3IgaXQgPSBpbmZvLm91dGxpbmVPYmplY3RzLT5iZWdpbigpOyBpdCAh
PSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgIFJlbmRlcklubGluZSogZmxvdyA9ICppdDsKKyAg
ICAgICAgZm9yIChhdXRvJiBmbG93IDogKmluZm8ub3V0bGluZU9iamVjdHMpCiAgICAgICAgICAg
ICBmbG93LT5wYWludE91dGxpbmUoaW5mbywgcGFpbnRPZmZzZXQpOwotICAgICAgICB9CiAgICAg
ICAgIGluZm8ub3V0bGluZU9iamVjdHMtPmNsZWFyKCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCmluZGV4IDkxNmMyZGU3ZWI1N2NmNWE3MWNm
Zjg1NDQ0ODhkYjM1YzExOTM3NjMuLjRiMGNmYTYzZWZmYjI5YzE2NzU5ZDdkMTMzZjM1YmFlMzY3
N2NmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAg
LTEwNywxMiArMTA3LDggQEAgSFRNTFNlbGVjdEVsZW1lbnQmIFJlbmRlckxpc3RCb3g6OnNlbGVj
dEVsZW1lbnQoKSBjb25zdAogdm9pZCBSZW5kZXJMaXN0Qm94Ojp1cGRhdGVGcm9tRWxlbWVudCgp
CiB7CiAgICAgaWYgKG1fb3B0aW9uc0NoYW5nZWQpIHsKLSAgICAgICAgY29uc3QgVmVjdG9yPEhU
TUxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IHNlbGVjdEVsZW1lbnQoKS5saXN0SXRlbXMoKTsKLSAg
ICAgICAgaW50IHNpemUgPSBudW1JdGVtcygpOwotICAgICAgICAKICAgICAgICAgZmxvYXQgd2lk
dGggPSAwOwotICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAgICAg
ICAgICAgSFRNTEVsZW1lbnQqIGVsZW1lbnQgPSBsaXN0SXRlbXNbaV07CisgICAgICAgIGZvciAo
YXV0byYgZWxlbWVudCA6IHNlbGVjdEVsZW1lbnQoKS5saXN0SXRlbXMoKSkgewogICAgICAgICAg
ICAgU3RyaW5nIHRleHQ7CiAgICAgICAgICAgICBGb250Q2FzY2FkZSBpdGVtRm9udCA9IHN0eWxl
KCkuZm9udENhc2NhZGUoKTsKICAgICAgICAgICAgIGlmIChpczxIVE1MT3B0aW9uRWxlbWVudD4o
KmVsZW1lbnQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1l
bnVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAK
aW5kZXggZmY5YTJjNTg2YmJkOWJlOTljNzc1NWUyMjJlMDAzODY0NmMxNzRkNi4uYTI5OTg5ZWNl
NGZlMjk5MWQ1OTBhNGYxNDk4MGI0NTkxMTgwODUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCkBAIC01OCwxMiArNTgsOSBAQCB1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwogI2lmIFBMQVRGT1JNKElPUykKIHN0YXRpYyBzaXplX3Qgc2VsZWN0ZWRP
cHRpb25Db3VudChjb25zdCBSZW5kZXJNZW51TGlzdCYgcmVuZGVyTWVudUxpc3QpCiB7Ci0gICAg
Y29uc3QgVmVjdG9yPEhUTUxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IHJlbmRlck1lbnVMaXN0LnNl
bGVjdEVsZW1lbnQoKS5saXN0SXRlbXMoKTsKLSAgICBzaXplX3QgbnVtYmVyT2ZJdGVtcyA9IGxp
c3RJdGVtcy5zaXplKCk7Ci0KICAgICBzaXplX3QgY291bnQgPSAwOwotICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbnVtYmVyT2ZJdGVtczsgKytpKSB7Ci0gICAgICAgIGlmIChpczxIVE1MT3B0
aW9uRWxlbWVudD4oKmxpc3RJdGVtc1tpXSkgJiYgZG93bmNhc3Q8SFRNTE9wdGlvbkVsZW1lbnQ+
KCpsaXN0SXRlbXNbaV0pLnNlbGVjdGVkKCkpCisgICAgZm9yIChhdXRvJiBlbGVtZW50IDogcmVu
ZGVyTWVudUxpc3Quc2VsZWN0RWxlbWVudCgpLmxpc3RJdGVtcygpKSB7CisgICAgICAgIGlmIChp
czxIVE1MT3B0aW9uRWxlbWVudD4oKmVsZW1lbnQpICYmIGRvd25jYXN0PEhUTUxPcHRpb25FbGVt
ZW50PigqZWxlbWVudCkuc2VsZWN0ZWQoKSkKICAgICAgICAgICAgICsrY291bnQ7CiAgICAgfQog
ICAgIHJldHVybiBjb3VudDsKQEAgLTIwNiwxMSArMjAzLDcgQEAgdm9pZCBSZW5kZXJNZW51TGlz
dDo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxl
KiBvbGQKIHZvaWQgUmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCgpCiB7CiAgICAg
ZmxvYXQgbWF4T3B0aW9uV2lkdGggPSAwOwotICAgIGNvbnN0IFZlY3RvcjxIVE1MRWxlbWVudCo+
JiBsaXN0SXRlbXMgPSBzZWxlY3RFbGVtZW50KCkubGlzdEl0ZW1zKCk7Ci0gICAgaW50IHNpemUg
PSBsaXN0SXRlbXMuc2l6ZSgpOyAgICAKLQotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZTsg
KytpKSB7Ci0gICAgICAgIEhUTUxFbGVtZW50KiBlbGVtZW50ID0gbGlzdEl0ZW1zW2ldOworICAg
IGZvciAoYXV0byYgZWxlbWVudCA6IHNlbGVjdEVsZW1lbnQoKS5saXN0SXRlbXMoKSkgewogICAg
ICAgICBpZiAoIWlzPEhUTUxPcHRpb25FbGVtZW50PigqZWxlbWVudCkpCiAgICAgICAgICAgICBj
b250aW51ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtblNldC5jcHAKaW5kZXggODIxZTRiOThmYTIzZjJjMjNmY2VhYmIwNDRlMzU5ZTU2NzMzNjcx
ZS4uOTFkMjk5YWRkYzNmOWI3M2VjNmZlNzEzMjljOWEwODllNzZhMDVlNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCkBAIC0xOTgs
OCArMTk4LDggQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtblNldDo6ZGlzdHJpYnV0ZUltcGxpY2l0
QnJlYWtzKCkKIHsKICNpZm5kZWYgTkRFQlVHCiAgICAgLy8gVGhlcmUgc2hvdWxkIGJlIG5vIGlt
cGxpY2l0IGJyZWFrcyBhc3N1bWVkIGF0IHRoaXMgcG9pbnQuCi0gICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGZvcmNlZEJyZWFrc0NvdW50KCk7IGkrKykKLSAgICAgICAgQVNTRVJUKCFtX2Nv
bnRlbnRSdW5zW2ldLmFzc3VtZWRJbXBsaWNpdEJyZWFrcygpKTsKKyAgICBmb3IgKGF1dG8mIGZv
cmNlZEJyZWFrIDogbV9jb250ZW50UnVucykKKyAgICAgICAgQVNTRVJUKCFmb3JjZWRCcmVhay5h
c3N1bWVkSW1wbGljaXRCcmVha3MoKSk7CiAjZW5kaWYgLy8gTkRFQlVHCiAKICAgICAvLyBJbnNl
cnQgYSBmaW5hbCBjb250ZW50IHJ1biB0byBlbmNvbXBhc3MgYWxsIGNvbnRlbnQuIFRoaXMgd2ls
bCBpbmNsdWRlIG92ZXJmbG93IGlmIHRoaXMgaXMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254866</attachid>
            <date>2015-06-15 02:38:57 -0700</date>
            <delta_ts>2022-03-01 03:15:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145831-20150615183822.patch</filename>
            <type>text/plain</type>
            <size>86143</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRlY2M5YjEzNzE0ZGFl
ODJiNTA2YTdhMzBjMTAwNWQ2ZjJlNTlhMC4uZTZjNjgxYzQ2NjNkODU1NmZkNDRmODYwOTNjMGU5
ODg4NTU2NmI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDE1LTA2LTE1ICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2UgbW9kZXJu
IGZvci1sb29wcyBpbiBXZWJDb3JlL3JlbmRlcmluZyAtIDEKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTgzMQorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5v
IGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHJlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QXV0b1RhYmxlTGF5b3V0Ojpjb21wdXRlSW50cmluc2lj
TG9naWNhbFdpZHRocyk6CisgICAgICAgIChXZWJDb3JlOjpBdXRvVGFibGVMYXlvdXQ6OmNhbGNF
ZmZlY3RpdmVMb2dpY2FsV2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9GaWx0ZXJFZmZlY3RS
ZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YnVp
bGQpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXI6OmNsZWFySW50ZXJt
ZWRpYXRlUmVzdWx0cyk6CisgICAgICAgICogcmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRlcmVy
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL0Zsb2F0aW5nT2JqZWN0cy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6OmNsZWFyTGluZUJveFRyZWVQb2ludGVycyk6CisgICAg
ICAgIChXZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6Om1vdmVBbGxUb0Zsb2F0SW5mb01hcCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGbG9hdGluZ09iamVjdHM6OmNvbXB1dGVQbGFjZWRGbG9hdHNUcmVl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rmxvd1RocmVhZENvbnRyb2xsZXI6OmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRM
YXllcnMpOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFwcGVuZCk6CisgICAgICAgICogcmVuZGVyaW5nL0lt
YWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VRdWFsaXR5
Q29udHJvbGxlcjo6aGlnaFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZCk6CisgICAgICAgICogcmVu
ZGVyaW5nL0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJv
eDo6cGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpyZW1vdmVCbG9ja0Zyb21EZXNjZW5kYW50QW5kQ29udGFpbmVyTWFwcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tUG9zaXRpb25lZE9i
amVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmRpcnR5Rm9yTGF5b3V0RnJv
bVBlcmNlbnRhZ2VIZWlnaHREZXNjZW5kYW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6c2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjptYXJrUG9zaXRpb25lZE9iamVjdHNGb3JMYXlvdXQpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OnBhaW50Q29udGludWF0aW9uT3V0bGluZXMpOgorICAgICAgICAo
V2ViQ29yZTo6Y2xpcE91dFBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpyZW1vdmVGcm9tVHJhY2tlZFJlbmRlcmVyTWFwcyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6cmVtb3ZlUG9zaXRpb25lZE9iamVjdHMpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OmNoZWNrUG9zaXRpb25lZE9iamVjdHNOZWVkTGF5b3V0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrRmxvdzo6cmVidWlsZEZsb2F0aW5nT2JqZWN0U2V0RnJvbUludHJ1ZGluZ0Zs
b2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnN0eWxlRGlkQ2hhbmdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bW92ZUZsb2F0c1RvKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YWRkT3ZlcmZsb3dGcm9tRmxvYXRzKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6cmVwYWludE92ZXJoYW5naW5nRmxv
YXRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6cGFpbnRGbG9hdHMpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpjbGlwT3V0RmxvYXRpbmdPYmplY3Rz
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bG93ZXN0RmxvYXRMb2dpY2Fs
Qm90dG9tKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bG93ZXN0SW5pdGlh
bExldHRlckxvZ2ljYWxCb3R0b20pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93
OjphZGRPdmVyaGFuZ2luZ0Zsb2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zs
b3c6OmFkZEludHJ1ZGluZ0Zsb2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zs
b3c6Om1hcmtTaWJsaW5nc1dpdGhGbG9hdHNGb3JMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2tGbG93OjphZGp1c3RGb3JCb3JkZXJGaXQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0TG9naWNh
bFdpZHRoRm9yVGV4dFJ1bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6Omxh
eW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
Rmxvdzo6bGlua1RvRW5kTGluZUlmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrRmxvdzo6cmVwYWludERpcnR5RmxvYXRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrRmxvdzo6bGF5b3V0TGluZUJveGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
Rmxvdzo6Y2hlY2tGbG9hdHNJbkNsZWFuTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9ja0Zsb3c6OmRldGVybWluZVN0YXJ0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2tGbG93OjpjaGVja1BhZ2luYXRpb25BbmRGbG9hdHNBdEVuZExpbmUpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckNvdW50ZXI6OmRlc3Ryb3lDb3VudGVyTm9kZXMpOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRl
Q291bnRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQ291bnRlcjo6cmVuZGVyZXJTdHls
ZUNoYW5nZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6YXV0b01hcmdpbk9mZnNldEluTWFp
bkF4aXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmZyZWV6ZVZpb2xh
dGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVGbGV4
aWJsZUxlbmd0aHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6Om51bWJl
ck9mSW5GbG93UG9zaXRpb25lZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZs
ZXhpYmxlQm94OjpsYXlvdXRDb2x1bW5SZXZlcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94OjphbGlnbkZsZXhMaW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
bGV4aWJsZUJveDo6YWxpZ25DaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4
aWJsZUJveDo6ZmxpcEZvcldyYXBSZXZlcnNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Rmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjp1cGRh
dGVBbGxMYXllclRvUmVnaW9uTWFwcGluZ3MpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjphZGRBbm5vdGF0ZWRS
ZWdpb25zKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2NlbmRhbnRzQXJlQ29udGlndW91c0luU3Rh
Y2tpbmdPcmRlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlRGVzY2Vu
ZGFudERlcGVuZGVudEZsYWdzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlc2NlbmRhbnRMYXllclBhaW50c0ludG9BbmNl
c3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnN0YXJ0QW5pbWF0
aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGluZUJveExpc3Q6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGlzdEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojp1
cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnNlbGVjdGVkT3B0aW9uQ291bnQpOgorICAgICAgICAoUmVu
ZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29s
dW1uU2V0OjpkaXN0cmlidXRlSW1wbGljaXRCcmVha3MpOgorCiAyMDE1LTA2LTEzICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gQVBJOjpOYXZpZ2F0aW9u
IG9iamVjdHMgYXJlIGxlYWtlZCBvbiBoaXN0b3J5IG5hdmlnYXRpb24gdG8gSGlzdG9yeUl0ZW1z
IGluIFBhZ2VDYWNoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9U
YWJsZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0
LmNwcAppbmRleCAxYWVhZGVkNWE5MzMzODVkYjczOWI1YzA2ZjNkMjU3MjdiYWY2ZmNkLi5jZDQx
OGViYzU0NjFhZmJjNzE0N2I0YThkNTQyOTAwZmVmMWNlNDg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcApAQCAtMjI2LDE3ICsyMjYsMTcgQEAgdm9p
ZCBBdXRvVGFibGVMYXlvdXQ6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVu
aXQmIG1pbldpZHRoLCBMYXlvdXQKICAgICBjb25zdCBmbG9hdCBlcHNpbG9uID0gMSAvIDEyOC4w
ZjsKIAogICAgIGZsb2F0IHJlbWFpbmluZ1BlcmNlbnQgPSAxMDA7Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtX2xheW91dFN0cnVjdC5zaXplKCk7ICsraSkgewotICAgICAgICBtaW5XaWR0
aCArPSBtX2xheW91dFN0cnVjdFtpXS5lZmZlY3RpdmVNaW5Mb2dpY2FsV2lkdGg7Ci0gICAgICAg
IG1heFdpZHRoICs9IG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2ZU1heExvZ2ljYWxXaWR0aDsK
KyAgICBmb3IgKGF1dG8mIGxheW91dCA6IG1fbGF5b3V0U3RydWN0KSB7CisgICAgICAgIG1pbldp
ZHRoICs9IGxheW91dC5lZmZlY3RpdmVNaW5Mb2dpY2FsV2lkdGg7CisgICAgICAgIG1heFdpZHRo
ICs9IGxheW91dC5lZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGg7CiAgICAgICAgIGlmIChzY2FsZUNv
bHVtbnMpIHsKLSAgICAgICAgICAgIGlmIChtX2xheW91dFN0cnVjdFtpXS5lZmZlY3RpdmVMb2dp
Y2FsV2lkdGguaXNQZXJjZW50KCkpIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBwZXJjZW50ID0g
c3RkOjptaW4obV9sYXlvdXRTdHJ1Y3RbaV0uZWZmZWN0aXZlTG9naWNhbFdpZHRoLnBlcmNlbnQo
KSwgcmVtYWluaW5nUGVyY2VudCk7Ci0gICAgICAgICAgICAgICAgZmxvYXQgbG9naWNhbFdpZHRo
ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2ZU1heExvZ2lj
YWxXaWR0aCkgKiAxMDAgLyBzdGQ6Om1heChwZXJjZW50LCBlcHNpbG9uKTsKKyAgICAgICAgICAg
IGlmIChsYXlvdXQuZWZmZWN0aXZlTG9naWNhbFdpZHRoLmlzUGVyY2VudCgpKSB7CisgICAgICAg
ICAgICAgICAgZmxvYXQgcGVyY2VudCA9IHN0ZDo6bWluKGxheW91dC5lZmZlY3RpdmVMb2dpY2Fs
V2lkdGgucGVyY2VudCgpLCByZW1haW5pbmdQZXJjZW50KTsKKyAgICAgICAgICAgICAgICBmbG9h
dCBsb2dpY2FsV2lkdGggPSBzdGF0aWNfY2FzdDxmbG9hdD4obGF5b3V0LmVmZmVjdGl2ZU1heExv
Z2ljYWxXaWR0aCkgKiAxMDAgLyBzdGQ6Om1heChwZXJjZW50LCBlcHNpbG9uKTsKICAgICAgICAg
ICAgICAgICBtYXhQZXJjZW50ID0gc3RkOjptYXgobG9naWNhbFdpZHRoLCAgbWF4UGVyY2VudCk7
CiAgICAgICAgICAgICAgICAgcmVtYWluaW5nUGVyY2VudCAtPSBwZXJjZW50OwogICAgICAgICAg
ICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgbWF4Tm9uUGVyY2VudCArPSBtX2xheW91dFN0cnVj
dFtpXS5lZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGg7CisgICAgICAgICAgICAgICAgbWF4Tm9uUGVy
Y2VudCArPSBsYXlvdXQuZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoOwogICAgICAgICB9CiAgICAg
fQogCkBAIC0yNjQsMTcgKzI2NCwxNSBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0
aXZlTG9naWNhbFdpZHRoKCkKIHsKICAgICBpbnQgbWF4TG9naWNhbFdpZHRoID0gMDsKIAotICAg
IHNpemVfdCBuRWZmQ29scyA9IG1fbGF5b3V0U3RydWN0LnNpemUoKTsKICAgICBpbnQgc3BhY2lu
Z0luUm93RGlyZWN0aW9uID0gbV90YWJsZS0+aEJvcmRlclNwYWNpbmcoKTsKIAotICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbkVmZkNvbHM7ICsraSkgewotICAgICAgICBtX2xheW91dFN0cnVj
dFtpXS5lZmZlY3RpdmVMb2dpY2FsV2lkdGggPSBtX2xheW91dFN0cnVjdFtpXS5sb2dpY2FsV2lk
dGg7Ci0gICAgICAgIG1fbGF5b3V0U3RydWN0W2ldLmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aCA9
IG1fbGF5b3V0U3RydWN0W2ldLm1pbkxvZ2ljYWxXaWR0aDsKLSAgICAgICAgbV9sYXlvdXRTdHJ1
Y3RbaV0uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoID0gbV9sYXlvdXRTdHJ1Y3RbaV0ubWF4TG9n
aWNhbFdpZHRoOworICAgIGZvciAoYXV0byYgbGF5b3V0IDogbV9sYXlvdXRTdHJ1Y3QpIHsKKyAg
ICAgICAgbGF5b3V0LmVmZmVjdGl2ZUxvZ2ljYWxXaWR0aCA9IGxheW91dC5sb2dpY2FsV2lkdGg7
CisgICAgICAgIGxheW91dC5lZmZlY3RpdmVNaW5Mb2dpY2FsV2lkdGggPSBsYXlvdXQubWluTG9n
aWNhbFdpZHRoOworICAgICAgICBsYXlvdXQuZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoID0gbGF5
b3V0Lm1heExvZ2ljYWxXaWR0aDsKICAgICB9CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IG1fc3BhbkNlbGxzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2Vs
bCA9IG1fc3BhbkNlbGxzW2ldOworICAgIGZvciAoYXV0byYgY2VsbCA6IG1fc3BhbkNlbGxzKSB7
CiAgICAgICAgIGlmICghY2VsbCkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC0yOTYsNyArMjk0
LDcgQEAgaW50IEF1dG9UYWJsZUxheW91dDo6Y2FsY0VmZmVjdGl2ZUxvZ2ljYWxXaWR0aCgpCiAg
ICAgICAgIGJvb2wgaGF2ZUF1dG8gPSBmYWxzZTsKICAgICAgICAgYm9vbCBzcGFuSGFzRW1wdHlD
ZWxsc09ubHkgPSB0cnVlOwogICAgICAgICBpbnQgZml4ZWRXaWR0aCA9IDA7Ci0gICAgICAgIHdo
aWxlIChsYXN0Q29sIDwgbkVmZkNvbHMgJiYgc3BhbiA+IDApIHsKKyAgICAgICAgd2hpbGUgKGxh
c3RDb2wgPCBtX2xheW91dFN0cnVjdC5zaXplKCkgJiYgc3BhbiA+IDApIHsKICAgICAgICAgICAg
IExheW91dCYgY29sdW1uTGF5b3V0ID0gbV9sYXlvdXRTdHJ1Y3RbbGFzdENvbF07CiAgICAgICAg
ICAgICBzd2l0Y2ggKGNvbHVtbkxheW91dC5sb2dpY2FsV2lkdGgudHlwZSgpKSB7CiAgICAgICAg
ICAgICBjYXNlIFBlcmNlbnQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
RmlsdGVyRWZmZWN0UmVuZGVyZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ZpbHRl
ckVmZmVjdFJlbmRlcmVyLmNwcAppbmRleCA2MmRhYzRiOGI0NjIyMzg3YjhkY2NlNzhmZWEyMDky
ZDIxNDQwZTVjLi4yMTgyZTZmNjY4OGM0NzNjMTIxNTg1Yjg0MTU2MzMyZTIyMDI2OGFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVuZGVyZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAK
QEAgLTEzNSwxOCArMTM1LDE3IEBAIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXI6OmJ1aWxkKFJl
bmRlckVsZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zCiAgICAgbV9lZmZl
Y3RzLmNsZWFyKCk7CiAKICAgICBSZWZQdHI8RmlsdGVyRWZmZWN0PiBwcmV2aW91c0VmZmVjdCA9
IG1fc291cmNlR3JhcGhpYzsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG9wZXJhdGlvbnMu
b3BlcmF0aW9ucygpLnNpemUoKTsgKytpKSB7CisgICAgZm9yIChhdXRvJiBmaWx0ZXJPcGVyYXRp
b24gOiBvcGVyYXRpb25zLm9wZXJhdGlvbnMoKSkgewogICAgICAgICBSZWZQdHI8RmlsdGVyRWZm
ZWN0PiBlZmZlY3Q7Ci0gICAgICAgIEZpbHRlck9wZXJhdGlvbiYgZmlsdGVyT3BlcmF0aW9uID0g
Km9wZXJhdGlvbnMub3BlcmF0aW9ucygpLmF0KGkpOwotICAgICAgICBzd2l0Y2ggKGZpbHRlck9w
ZXJhdGlvbi50eXBlKCkpIHsKKyAgICAgICAgc3dpdGNoIChmaWx0ZXJPcGVyYXRpb24tPnR5cGUo
KSkgewogICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6UkVGRVJFTkNFOiB7Ci0gICAgICAg
ICAgICBSZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb24mIHJlZmVyZW5jZU9wZXJhdGlvbiA9IGRvd25j
YXN0PFJlZmVyZW5jZUZpbHRlck9wZXJhdGlvbj4oZmlsdGVyT3BlcmF0aW9uKTsKKyAgICAgICAg
ICAgIFJlZmVyZW5jZUZpbHRlck9wZXJhdGlvbiYgcmVmZXJlbmNlT3BlcmF0aW9uID0gZG93bmNh
c3Q8UmVmZXJlbmNlRmlsdGVyT3BlcmF0aW9uPigqZmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAg
ICAgIGVmZmVjdCA9IGJ1aWxkUmVmZXJlbmNlRmlsdGVyKHJlbmRlcmVyLCBwcmV2aW91c0VmZmVj
dCwgJnJlZmVyZW5jZU9wZXJhdGlvbik7CiAgICAgICAgICAgICByZWZlcmVuY2VPcGVyYXRpb24u
c2V0RmlsdGVyRWZmZWN0KGVmZmVjdCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6R1JBWVNDQUxFOiB7Ci0gICAgICAgICAgICBC
YXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9IGRv
d25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KGZpbHRlck9wZXJhdGlvbik7
CisgICAgICAgICAgICBCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJp
eE9wZXJhdGlvbiA9IGRvd25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KCpm
aWx0ZXJPcGVyYXRpb24pOwogICAgICAgICAgICAgVmVjdG9yPGZsb2F0PiBpbnB1dFBhcmFtZXRl
cnM7CiAgICAgICAgICAgICBkb3VibGUgb25lTWludXNBbW91bnQgPSBjbGFtcFRvKDEgLSBjb2xv
ck1hdHJpeE9wZXJhdGlvbi5hbW91bnQoKSwgMC4wLCAxLjApOwogCkBAIC0xNzQsNyArMTczLDcg
QEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YnVpbGQoUmVuZGVyRWxlbWVudCogcmVuZGVy
ZXIsIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CiAgICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpTRVBJQTogewotICAgICAgICAgICAgQmFz
aWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbiYgY29sb3JNYXRyaXhPcGVyYXRpb24gPSBkb3du
Y2FzdDxCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24pOwor
ICAgICAgICAgICAgQmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbiYgY29sb3JNYXRyaXhP
cGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uPigqZmls
dGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIFZlY3RvcjxmbG9hdD4gaW5wdXRQYXJhbWV0ZXJz
OwogICAgICAgICAgICAgZG91YmxlIG9uZU1pbnVzQW1vdW50ID0gY2xhbXBUbygxIC0gY29sb3JN
YXRyaXhPcGVyYXRpb24uYW1vdW50KCksIDAuMCwgMS4wKTsKIApAQCAtMjAyLDIxICsyMDEsMjEg
QEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YnVpbGQoUmVuZGVyRWxlbWVudCogcmVuZGVy
ZXIsIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CiAgICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpTQVRVUkFURTogewotICAgICAgICAgICAg
QmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbiYgY29sb3JNYXRyaXhPcGVyYXRpb24gPSBk
b3duY2FzdDxCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJPcGVyYXRpb24p
OworICAgICAgICAgICAgQmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbiYgY29sb3JNYXRy
aXhPcGVyYXRpb24gPSBkb3duY2FzdDxCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uPigq
ZmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIFZlY3RvcjxmbG9hdD4gaW5wdXRQYXJhbWV0
ZXJzOwogICAgICAgICAgICAgaW5wdXRQYXJhbWV0ZXJzLmFwcGVuZChuYXJyb3dQcmVjaXNpb25U
b0Zsb2F0KGNvbG9yTWF0cml4T3BlcmF0aW9uLmFtb3VudCgpKSk7CiAgICAgICAgICAgICBlZmZl
Y3QgPSBGRUNvbG9yTWF0cml4OjpjcmVhdGUoKnRoaXMsIEZFQ09MT1JNQVRSSVhfVFlQRV9TQVRV
UkFURSwgaW5wdXRQYXJhbWV0ZXJzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpIVUVfUk9UQVRFOiB7Ci0gICAgICAgICAgICBC
YXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJpeE9wZXJhdGlvbiA9IGRv
d25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KGZpbHRlck9wZXJhdGlvbik7
CisgICAgICAgICAgICBCYXNpY0NvbG9yTWF0cml4RmlsdGVyT3BlcmF0aW9uJiBjb2xvck1hdHJp
eE9wZXJhdGlvbiA9IGRvd25jYXN0PEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb24+KCpm
aWx0ZXJPcGVyYXRpb24pOwogICAgICAgICAgICAgVmVjdG9yPGZsb2F0PiBpbnB1dFBhcmFtZXRl
cnM7CiAgICAgICAgICAgICBpbnB1dFBhcmFtZXRlcnMuYXBwZW5kKG5hcnJvd1ByZWNpc2lvblRv
RmxvYXQoY29sb3JNYXRyaXhPcGVyYXRpb24uYW1vdW50KCkpKTsKICAgICAgICAgICAgIGVmZmVj
dCA9IEZFQ29sb3JNYXRyaXg6OmNyZWF0ZSgqdGhpcywgRkVDT0xPUk1BVFJJWF9UWVBFX0hVRVJP
VEFURSwgaW5wdXRQYXJhbWV0ZXJzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpJTlZFUlQ6IHsKLSAgICAgICAgICAgIEJhc2lj
Q29tcG9uZW50VHJhbnNmZXJGaWx0ZXJPcGVyYXRpb24mIGNvbXBvbmVudFRyYW5zZmVyT3BlcmF0
aW9uID0gZG93bmNhc3Q8QmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbj4oZmls
dGVyT3BlcmF0aW9uKTsKKyAgICAgICAgICAgIEJhc2ljQ29tcG9uZW50VHJhbnNmZXJGaWx0ZXJP
cGVyYXRpb24mIGNvbXBvbmVudFRyYW5zZmVyT3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWNDb21w
b25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbj4oKmZpbHRlck9wZXJhdGlvbik7CiAgICAgICAg
ICAgICBDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uIHRyYW5zZmVyRnVuY3Rpb247CiAgICAgICAg
ICAgICB0cmFuc2ZlckZ1bmN0aW9uLnR5cGUgPSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfVEFC
TEU7CiAgICAgICAgICAgICBWZWN0b3I8ZmxvYXQ+IHRyYW5zZmVyUGFyYW1ldGVyczsKQEAgLTIy
OSw3ICsyMjgsNyBAQCBib29sIEZpbHRlckVmZmVjdFJlbmRlcmVyOjpidWlsZChSZW5kZXJFbGVt
ZW50KiByZW5kZXJlciwgY29uc3QgRmlsdGVyT3BlcmF0aW9ucwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246Ok9QQUNJVFk6IHsKLSAg
ICAgICAgICAgIEJhc2ljQ29tcG9uZW50VHJhbnNmZXJGaWx0ZXJPcGVyYXRpb24mIGNvbXBvbmVu
dFRyYW5zZmVyT3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRl
ck9wZXJhdGlvbj4oZmlsdGVyT3BlcmF0aW9uKTsKKyAgICAgICAgICAgIEJhc2ljQ29tcG9uZW50
VHJhbnNmZXJGaWx0ZXJPcGVyYXRpb24mIGNvbXBvbmVudFRyYW5zZmVyT3BlcmF0aW9uID0gZG93
bmNhc3Q8QmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbj4oKmZpbHRlck9wZXJh
dGlvbik7CiAgICAgICAgICAgICBDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uIHRyYW5zZmVyRnVu
Y3Rpb247CiAgICAgICAgICAgICB0cmFuc2ZlckZ1bmN0aW9uLnR5cGUgPSBGRUNPTVBPTkVOVFRS
QU5TRkVSX1RZUEVfVEFCTEU7CiAgICAgICAgICAgICBWZWN0b3I8ZmxvYXQ+IHRyYW5zZmVyUGFy
YW1ldGVyczsKQEAgLTI0Miw3ICsyNDEsNyBAQCBib29sIEZpbHRlckVmZmVjdFJlbmRlcmVyOjpi
dWlsZChSZW5kZXJFbGVtZW50KiByZW5kZXJlciwgY29uc3QgRmlsdGVyT3BlcmF0aW9ucwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246
OkJSSUdIVE5FU1M6IHsKLSAgICAgICAgICAgIEJhc2ljQ29tcG9uZW50VHJhbnNmZXJGaWx0ZXJP
cGVyYXRpb24mIGNvbXBvbmVudFRyYW5zZmVyT3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWNDb21w
b25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbj4oZmlsdGVyT3BlcmF0aW9uKTsKKyAgICAgICAg
ICAgIEJhc2ljQ29tcG9uZW50VHJhbnNmZXJGaWx0ZXJPcGVyYXRpb24mIGNvbXBvbmVudFRyYW5z
ZmVyT3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJh
dGlvbj4oKmZpbHRlck9wZXJhdGlvbik7CiAgICAgICAgICAgICBDb21wb25lbnRUcmFuc2ZlckZ1
bmN0aW9uIHRyYW5zZmVyRnVuY3Rpb247CiAgICAgICAgICAgICB0cmFuc2ZlckZ1bmN0aW9uLnR5
cGUgPSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSOwogICAgICAgICAgICAgdHJhbnNm
ZXJGdW5jdGlvbi5zbG9wZSA9IG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoY29tcG9uZW50VHJhbnNm
ZXJPcGVyYXRpb24uYW1vdW50KCkpOwpAQCAtMjUzLDcgKzI1Miw3IEBAIGJvb2wgRmlsdGVyRWZm
ZWN0UmVuZGVyZXI6OmJ1aWxkKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGaWx0ZXJP
cGVyYXRpb25zCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZp
bHRlck9wZXJhdGlvbjo6Q09OVFJBU1Q6IHsKLSAgICAgICAgICAgIEJhc2ljQ29tcG9uZW50VHJh
bnNmZXJGaWx0ZXJPcGVyYXRpb24mIGNvbXBvbmVudFRyYW5zZmVyT3BlcmF0aW9uID0gZG93bmNh
c3Q8QmFzaWNDb21wb25lbnRUcmFuc2ZlckZpbHRlck9wZXJhdGlvbj4oZmlsdGVyT3BlcmF0aW9u
KTsKKyAgICAgICAgICAgIEJhc2ljQ29tcG9uZW50VHJhbnNmZXJGaWx0ZXJPcGVyYXRpb24mIGNv
bXBvbmVudFRyYW5zZmVyT3BlcmF0aW9uID0gZG93bmNhc3Q8QmFzaWNDb21wb25lbnRUcmFuc2Zl
ckZpbHRlck9wZXJhdGlvbj4oKmZpbHRlck9wZXJhdGlvbik7CiAgICAgICAgICAgICBDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uIHRyYW5zZmVyRnVuY3Rpb247CiAgICAgICAgICAgICB0cmFuc2Zl
ckZ1bmN0aW9uLnR5cGUgPSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSOwogICAgICAg
ICAgICAgZmxvYXQgYW1vdW50ID0gbmFycm93UHJlY2lzaW9uVG9GbG9hdChjb21wb25lbnRUcmFu
c2Zlck9wZXJhdGlvbi5hbW91bnQoKSk7CkBAIC0yNjUsMTMgKzI2NCwxMyBAQCBib29sIEZpbHRl
ckVmZmVjdFJlbmRlcmVyOjpidWlsZChSZW5kZXJFbGVtZW50KiByZW5kZXJlciwgY29uc3QgRmls
dGVyT3BlcmF0aW9ucwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBGaWx0ZXJPcGVyYXRpb246OkJMVVI6IHsKLSAgICAgICAgICAgIEJsdXJGaWx0ZXJPcGVyYXRp
b24mIGJsdXJPcGVyYXRpb24gPSBkb3duY2FzdDxCbHVyRmlsdGVyT3BlcmF0aW9uPihmaWx0ZXJP
cGVyYXRpb24pOworICAgICAgICAgICAgQmx1ckZpbHRlck9wZXJhdGlvbiYgYmx1ck9wZXJhdGlv
biA9IGRvd25jYXN0PEJsdXJGaWx0ZXJPcGVyYXRpb24+KCpmaWx0ZXJPcGVyYXRpb24pOwogICAg
ICAgICAgICAgZmxvYXQgc3RkRGV2aWF0aW9uID0gZmxvYXRWYWx1ZUZvckxlbmd0aChibHVyT3Bl
cmF0aW9uLnN0ZERldmlhdGlvbigpLCAwKTsKICAgICAgICAgICAgIGVmZmVjdCA9IEZFR2F1c3Np
YW5CbHVyOjpjcmVhdGUoKnRoaXMsIHN0ZERldmlhdGlvbiwgc3RkRGV2aWF0aW9uLCBjb25zdW1l
ciA9PSBGaWx0ZXJQcm9wZXJ0eSA/IEVER0VNT0RFX05PTkUgOiBFREdFTU9ERV9EVVBMSUNBVEUp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaWx0ZXJPcGVy
YXRpb246OkRST1BfU0hBRE9XOiB7Ci0gICAgICAgICAgICBEcm9wU2hhZG93RmlsdGVyT3BlcmF0
aW9uJiBkcm9wU2hhZG93T3BlcmF0aW9uID0gZG93bmNhc3Q8RHJvcFNoYWRvd0ZpbHRlck9wZXJh
dGlvbj4oZmlsdGVyT3BlcmF0aW9uKTsKKyAgICAgICAgICAgIERyb3BTaGFkb3dGaWx0ZXJPcGVy
YXRpb24mIGRyb3BTaGFkb3dPcGVyYXRpb24gPSBkb3duY2FzdDxEcm9wU2hhZG93RmlsdGVyT3Bl
cmF0aW9uPigqZmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIGVmZmVjdCA9IEZFRHJvcFNo
YWRvdzo6Y3JlYXRlKCp0aGlzLCBkcm9wU2hhZG93T3BlcmF0aW9uLnN0ZERldmlhdGlvbigpLCBk
cm9wU2hhZG93T3BlcmF0aW9uLnN0ZERldmlhdGlvbigpLAogICAgICAgICAgICAgICAgIGRyb3BT
aGFkb3dPcGVyYXRpb24ueCgpLCBkcm9wU2hhZG93T3BlcmF0aW9uLnkoKSwgZHJvcFNoYWRvd09w
ZXJhdGlvbi5jb2xvcigpLCAxKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjg2LDcgKzI4NSw3
IEBAIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXI6OmJ1aWxkKFJlbmRlckVsZW1lbnQqIHJlbmRl
cmVyLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zCiAgICAgICAgICAgICBlZmZlY3QtPnNldENsaXBz
VG9Cb3VuZHMoY29uc3VtZXIgPT0gRmlsdGVyRnVuY3Rpb24pOwogICAgICAgICAgICAgZWZmZWN0
LT5zZXRPcGVyYXRpbmdDb2xvclNwYWNlKENvbG9yU3BhY2VEZXZpY2VSR0IpOwogICAgICAgICAg
ICAgCi0gICAgICAgICAgICBpZiAoZmlsdGVyT3BlcmF0aW9uLnR5cGUoKSAhPSBGaWx0ZXJPcGVy
YXRpb246OlJFRkVSRU5DRSkgeworICAgICAgICAgICAgaWYgKGZpbHRlck9wZXJhdGlvbi0+dHlw
ZSgpICE9IEZpbHRlck9wZXJhdGlvbjo6UkVGRVJFTkNFKSB7CiAgICAgICAgICAgICAgICAgZWZm
ZWN0LT5pbnB1dEVmZmVjdHMoKS5hcHBlbmQocHJldmlvdXNFZmZlY3QpOwogICAgICAgICAgICAg
ICAgIG1fZWZmZWN0cy5hcHBlbmQoZWZmZWN0KTsKICAgICAgICAgICAgIH0KQEAgLTMzMSw4ICsz
MzAsOCBAQCB2b2lkIEZpbHRlckVmZmVjdFJlbmRlcmVyOjphbGxvY2F0ZUJhY2tpbmdTdG9yZUlm
TmVlZGVkKCkKIHZvaWQgRmlsdGVyRWZmZWN0UmVuZGVyZXI6OmNsZWFySW50ZXJtZWRpYXRlUmVz
dWx0cygpCiB7CiAgICAgbV9zb3VyY2VHcmFwaGljLT5jbGVhclJlc3VsdCgpOwotICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbV9lZmZlY3RzLnNpemUoKTsgKytpKQotICAgICAgICBtX2VmZmVj
dHNbaV0tPmNsZWFyUmVzdWx0KCk7CisgICAgZm9yIChhdXRvJiBlZmZlY3QgOiBtX2VmZmVjdHMp
CisgICAgICAgIGVmZmVjdC0+Y2xlYXJSZXN1bHQoKTsKIH0KIAogdm9pZCBGaWx0ZXJFZmZlY3RS
ZW5kZXJlcjo6YXBwbHkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zp
bHRlckVmZmVjdFJlbmRlcmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmlsdGVyRWZm
ZWN0UmVuZGVyZXIuaAppbmRleCA1ZmY4OThiNDA2NTY0OWQwYzg2NDc1NjdhZDVkZjIyYzIwYWY5
MjQxLi5kNzE1NTNhZTM3NjYwNTQzZGRiN2M3OGFiNGRmNjhlZjBkYTBlZmM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVuZGVyZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVuZGVyZXIuaApAQCAtMTIwLDEw
ICsxMjAsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZvaWQgc2V0TWF4RWZmZWN0UmVjdHMo
Y29uc3QgRmxvYXRSZWN0JiBlZmZlY3RSZWN0KQogICAgIHsKLSAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtX2VmZmVjdHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIFJlZlB0cjxG
aWx0ZXJFZmZlY3Q+IGVmZmVjdCA9IG1fZWZmZWN0cy5hdChpKTsKKyAgICAgICAgZm9yIChhdXRv
JiBlZmZlY3QgOiBtX2VmZmVjdHMpCiAgICAgICAgICAgICBlZmZlY3QtPnNldE1heEVmZmVjdFJl
Y3QoZWZmZWN0UmVjdCk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICBGaWx0ZXJFZmZlY3QqIGxh
c3RFZmZlY3QoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zs
b2F0aW5nT2JqZWN0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmpl
Y3RzLmNwcAppbmRleCBkYmM1MWM3ZWQ3NDI0ZTY1MThlOTE2ZWQ2OGNkYzdhMzhmNDdlYjkwLi4w
YzA2NDQ5YjVlMTVmZDQyODdlOGQ3ZDU1MmExNGIxZGViMmE3MDI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmplY3RzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmplY3RzLmNwcApAQCAtMjY2LDkgKzI2Niw5IEBAIEZs
b2F0aW5nT2JqZWN0czo6fkZsb2F0aW5nT2JqZWN0cygpCiB2b2lkIEZsb2F0aW5nT2JqZWN0czo6
Y2xlYXJMaW5lQm94VHJlZVBvaW50ZXJzKCkKIHsKICAgICAvLyBDbGVhciByZWZlcmVuY2VzIHRv
IG9yaWdpbmF0aW5nIGxpbmVzLCBzaW5jZSB0aGUgbGluZXMgYXJlIGJlaW5nIGRlbGV0ZWQKLSAg
ICBmb3IgKGF1dG8gaXQgPSBtX3NldC5iZWdpbigpLCBlbmQgPSBtX3NldC5lbmQoKTsgaXQgIT0g
ZW5kOyArK2l0KSB7Ci0gICAgICAgIEFTU0VSVCghKCgqaXQpLT5vcmlnaW5hdGluZ0xpbmUoKSkg
fHwgJigoKml0KS0+b3JpZ2luYXRpbmdMaW5lKCktPnJlbmRlcmVyKCkpID09ICZtX3JlbmRlcmVy
KTsKLSAgICAgICAgKCppdCktPnNldE9yaWdpbmF0aW5nTGluZSgwKTsKKyAgICBmb3IgKGF1dG8m
IGZsb2F0aW5nT2JqZWN0IDogbV9zZXQpIHsKKyAgICAgICAgQVNTRVJUKCFmbG9hdGluZ09iamVj
dC0+b3JpZ2luYXRpbmdMaW5lKCkgfHwgJmZsb2F0aW5nT2JqZWN0LT5vcmlnaW5hdGluZ0xpbmUo
KS0+cmVuZGVyZXIoKSA9PSAmbV9yZW5kZXJlcik7CisgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5z
ZXRPcmlnaW5hdGluZ0xpbmUobnVsbHB0cik7CiAgICAgfQogfQogCkBAIC0yODIsMTIgKzI4Miwx
MiBAQCB2b2lkIEZsb2F0aW5nT2JqZWN0czo6Y2xlYXIoKQogCiB2b2lkIEZsb2F0aW5nT2JqZWN0
czo6bW92ZUFsbFRvRmxvYXRJbmZvTWFwKFJlbmRlcmVyVG9GbG9hdEluZm9NYXAmIG1hcCkKIHsK
LSAgICBmb3IgKGF1dG8gaXQgPSBtX3NldC5iZWdpbigpLCBlbmQgPSBtX3NldC5lbmQoKTsgaXQg
IT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIGF1dG8mIHJlbmRlcmVyID0gaXQtPmdldCgpLT5yZW5k
ZXJlcigpOworICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX3NldCkgeworICAgICAg
ICBhdXRvJiByZW5kZXJlciA9IGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpOwogICAgICAgICAv
LyBGSVhNRTogVGhlIG9ubHkgcmVhc29uIGl0IGlzIHNhZmUgdG8gbW92ZSB0aGVzZSBvdXQgb2Yg
dGhlIHNldCBpcyB0aGF0CiAgICAgICAgIC8vIHdlIGFyZSBhYm91dCB0byBjbGVhciBpdC4gT3Ro
ZXJ3aXNlIGl0IHdvdWxkIGJyZWFrIHRoZSBoYXNoIHRhYmxlIGludmFyaWFudC4KICAgICAgICAg
Ly8gQSBjbGVhbiB3YXkgdG8gZG8gdGhpcyB3b3VsZCBiZSB0byBhZGQgYSB0YWtlQWxsIGZ1bmN0
aW9uIHRvIEhhc2hTZXQuCi0gICAgICAgIG1hcC5hZGQoJnJlbmRlcmVyLCBXVEY6Om1vdmUoKml0
KSk7CisgICAgICAgIG1hcC5hZGQoJnJlbmRlcmVyLCBXVEY6Om1vdmUoZmxvYXRpbmdPYmplY3Qp
KTsKICAgICB9CiAgICAgY2xlYXIoKTsKIH0KQEAgLTM3NCwxMCArMzc0LDkgQEAgdm9pZCBGbG9h
dGluZ09iamVjdHM6OmNvbXB1dGVQbGFjZWRGbG9hdHNUcmVlKCkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgbV9wbGFjZWRGbG9hdHNUcmVlID0gc3RkOjptYWtlX3VuaXF1ZTxGbG9hdGluZ09iamVj
dFRyZWU+KCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gbV9zZXQuYmVnaW4oKSwgZW5kID0gbV9zZXQu
ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRp
bmdPYmplY3QgPSBpdC0+Z2V0KCk7CisgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVjdCA6IG1f
c2V0KSB7CiAgICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+aXNQbGFjZWQoKSkKLSAgICAgICAg
ICAgIG1fcGxhY2VkRmxvYXRzVHJlZS0+YWRkKGludGVydmFsRm9yRmxvYXRpbmdPYmplY3QoZmxv
YXRpbmdPYmplY3QpKTsKKyAgICAgICAgICAgIG1fcGxhY2VkRmxvYXRzVHJlZS0+YWRkKGludGVy
dmFsRm9yRmxvYXRpbmdPYmplY3QoZmxvYXRpbmdPYmplY3QuZ2V0KCkpKTsKICAgICB9CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3Bw
CmluZGV4IDhjZjE0YWNmYTIwYzg0NGMxMWZlNzkxYWI4MzU1ZjRhYzg0OGFkOTguLmViNmI0NmNi
ZDQ1MjcxNmI0NmVjODBjYmUwMTAyOTU5NjU5MWZkYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcApAQCAtMjc0LDggKzI3NCw3IEBA
IHZvaWQgRmxvd1RocmVhZENvbnRyb2xsZXI6OmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMo
VmVjdG9yPFJlbmRlckxheWVyKj4mIGZpCiAKICAgICAgICAgUmVuZGVyTGF5ZXIqIGZsb3dUaHJl
YWRMYXllciA9IGZsb3dSZW5kZXJlci0+bGF5ZXIoKTsKICAgICAgICAgaWYgKFZlY3RvcjxSZW5k
ZXJMYXllcio+KiBuZWdaT3JkZXJMaXN0ID0gZmxvd1RocmVhZExheWVyLT5uZWdaT3JkZXJMaXN0
KCkpIHsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwLCBzaXplID0gbmVnWk9yZGVyTGlz
dC0+c2l6ZSgpOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyTGF5ZXIq
IGN1cnJMYXllciA9IG5lZ1pPcmRlckxpc3QtPmF0KGkpOworICAgICAgICAgICAgZm9yIChhdXRv
JiBjdXJyTGF5ZXIgOiAqbmVnWk9yZGVyTGlzdCkgewogICAgICAgICAgICAgICAgIGlmIChjdXJy
TGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pCiAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIGZpeGVkUG9zTGF5
ZXJzLmFwcGVuZChjdXJyTGF5ZXIpOwpAQCAtMjgzLDggKzI4Miw3IEBAIHZvaWQgRmxvd1RocmVh
ZENvbnRyb2xsZXI6OmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoVmVjdG9yPFJlbmRlckxh
eWVyKj4mIGZpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4q
IHBvc1pPcmRlckxpc3QgPSBmbG93VGhyZWFkTGF5ZXItPnBvc1pPcmRlckxpc3QoKSkgewotICAg
ICAgICAgICAgZm9yIChzaXplX3QgaSA9IDAsIHNpemUgPSBwb3NaT3JkZXJMaXN0LT5zaXplKCk7
IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3VyckxheWVy
ID0gcG9zWk9yZGVyTGlzdC0+YXQoaSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGN1cnJMYXll
ciA6ICpwb3NaT3JkZXJMaXN0KSB7CiAgICAgICAgICAgICAgICAgaWYgKGN1cnJMYXllci0+cmVu
ZGVyZXIoKS5zdHlsZSgpLnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKICAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5k
KGN1cnJMYXllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVz
dFJlc3VsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAK
aW5kZXggMTQ0NDliNjc3ZGQ3YjcyYzBkMTA3ZTRlMmE0ZWVmYjZlZjk1N2MzYi4uODkyZDE2M2Mz
M2YzODk1OGJlZTEzZjMwZmM2NzNlZjdmZmUxYjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9IaXRUZXN0UmVzdWx0LmNwcApAQCAtNzAyLDggKzcwMiw4IEBAIHZvaWQgSGl0VGVzdFJl
c3VsdDo6YXBwZW5kKGNvbnN0IEhpdFRlc3RSZXN1bHQmIG90aGVyKQogCiAgICAgaWYgKG90aGVy
Lm1fcmVjdEJhc2VkVGVzdFJlc3VsdCkgewogICAgICAgICBOb2RlU2V0JiBzZXQgPSBtdXRhYmxl
UmVjdEJhc2VkVGVzdFJlc3VsdCgpOwotICAgICAgICBmb3IgKE5vZGVTZXQ6OmNvbnN0X2l0ZXJh
dG9yIGl0ID0gb3RoZXIubV9yZWN0QmFzZWRUZXN0UmVzdWx0LT5iZWdpbigpLCBsYXN0ID0gb3Ro
ZXIubV9yZWN0QmFzZWRUZXN0UmVzdWx0LT5lbmQoKTsgaXQgIT0gbGFzdDsgKytpdCkKLSAgICAg
ICAgICAgIHNldC5hZGQoaXQtPmdldCgpKTsKKyAgICAgICAgZm9yIChhdXRvJiByZXN1bHQgOiAq
b3RoZXIubV9yZWN0QmFzZWRUZXN0UmVzdWx0KQorICAgICAgICAgICAgc2V0LmFkZChyZXN1bHQp
OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdl
UXVhbGl0eUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVh
bGl0eUNvbnRyb2xsZXIuY3BwCmluZGV4IGM0YTZlNDNjNjcyMmY0MTBmN2JmOTBkMTA4YjhjNTYw
YzMyMDAwOWMuLjEwZGNmMTFhZDllOTIwNGNiZTU1NGQ2YzQ5Njk0MWQ3NWVkMGZiMTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5j
cHAKQEAgLTg4LDggKzg4LDggQEAgdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVh
bGl0eVJlcGFpbnRUaW1lckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGZv
ciAoYXV0byBpdCA9IG1fb2JqZWN0TGF5ZXJTaXplTWFwLmJlZ2luKCksIGVuZCA9IG1fb2JqZWN0
TGF5ZXJTaXplTWFwLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIGl0LT5rZXktPnJl
cGFpbnQoKTsKKyAgICBmb3IgKGF1dG8mIG9iamVjdCA6IG1fb2JqZWN0TGF5ZXJTaXplTWFwLmtl
eXMoKSkKKyAgICAgICAgb2JqZWN0LT5yZXBhaW50KCk7CiAKICAgICBtX2xpdmVSZXNpemVPcHRp
bWl6YXRpb25Jc0FjdGl2ZSA9IGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwCmluZGV4IGY0MGI3NTBlMTNhZDI4OTdhYmEwNzMxYWJmZDM5NjI2MTYw
NGI1OTMuLmJlZWVjYzY2Njk3ZjU0OGQ0ZTZhN2ZjYmEwNjUyM2Q3OGRlZTYyNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKQEAgLTYzMCwxMiArNjMwLDcg
QEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3Qg
TGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0LAogICAgICAgICBwYWludERvY3VtZW50TWFya2Vycyhj
b250ZXh0LCBib3hPcmlnaW4sIGxpbmVTdHlsZSwgZm9udCwgZmFsc2UpOwogCiAgICAgICAgIGlm
ICh1c2VDdXN0b21VbmRlcmxpbmVzKSB7Ci0gICAgICAgICAgICBjb25zdCBWZWN0b3I8Q29tcG9z
aXRpb25VbmRlcmxpbmU+JiB1bmRlcmxpbmVzID0gcmVuZGVyZXIoKS5mcmFtZSgpLmVkaXRvcigp
LmN1c3RvbUNvbXBvc2l0aW9uVW5kZXJsaW5lcygpOwotICAgICAgICAgICAgc2l6ZV90IG51bVVu
ZGVybGluZXMgPSB1bmRlcmxpbmVzLnNpemUoKTsKLQotICAgICAgICAgICAgZm9yIChzaXplX3Qg
aW5kZXggPSAwOyBpbmRleCA8IG51bVVuZGVybGluZXM7ICsraW5kZXgpIHsKLSAgICAgICAgICAg
ICAgICBjb25zdCBDb21wb3NpdGlvblVuZGVybGluZSYgdW5kZXJsaW5lID0gdW5kZXJsaW5lc1tp
bmRleF07Ci0KKyAgICAgICAgICAgIGZvciAoYXV0byYgdW5kZXJsaW5lIDogcmVuZGVyZXIoKS5m
cmFtZSgpLmVkaXRvcigpLmN1c3RvbUNvbXBvc2l0aW9uVW5kZXJsaW5lcygpKSB7CiAgICAgICAg
ICAgICAgICAgaWYgKHVuZGVybGluZS5lbmRPZmZzZXQgPD0gc3RhcnQoKSkKICAgICAgICAgICAg
ICAgICAgICAgLy8gdW5kZXJsaW5lIGlzIGNvbXBsZXRlbHkgYmVmb3JlIHRoaXMgcnVuLiAgVGhp
cyBtaWdodCBiZSBhbiB1bmRlcmxpbmUgdGhhdCBzaXRzCiAgICAgICAgICAgICAgICAgICAgIC8v
IGJlZm9yZSB0aGUgZmlyc3QgcnVuIHdlIGRyYXcsIG9yIHVuZGVybGluZXMgdGhhdCB3ZXJlIHdp
dGhpbiBydW5zIHdlIHNraXBwZWQgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAppbmRleCA3NjZkMWE4ODZhM2FmODhmZjhmZTc2MWM5NzVjOGMzMDgxNmFjZGU1Li5lOWRi
NzQ5NWZkNjFkODU2NWYzM2EzMzM4NjEzZGZhODQ2NmQ0OTc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTE5MywxMCArMTkzLDkgQEAgUmVuZGVyQmxvY2s6
OlJlbmRlckJsb2NrKERvY3VtZW50JiBkb2N1bWVudCwgUmVmPFJlbmRlclN0eWxlPiYmIHN0eWxl
LCB1bnNpZ25lZAogCiBzdGF0aWMgdm9pZCByZW1vdmVCbG9ja0Zyb21EZXNjZW5kYW50QW5kQ29u
dGFpbmVyTWFwcyhSZW5kZXJCbG9jayogYmxvY2ssIFRyYWNrZWREZXNjZW5kYW50c01hcComIGRl
c2NlbmRhbnRNYXAsIFRyYWNrZWRDb250YWluZXJNYXAqJiBjb250YWluZXJNYXApCiB7Ci0gICAg
aWYgKHN0ZDo6dW5pcXVlX3B0cjxUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldD4gZGVzY2VuZGFu
dFNldCA9IGRlc2NlbmRhbnRNYXAtPnRha2UoYmxvY2spKSB7Ci0gICAgICAgIFRyYWNrZWRSZW5k
ZXJlckxpc3RIYXNoU2V0OjppdGVyYXRvciBlbmQgPSBkZXNjZW5kYW50U2V0LT5lbmQoKTsKLSAg
ICAgICAgZm9yIChUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldDo6aXRlcmF0b3IgZGVzY2VuZGFu
dCA9IGRlc2NlbmRhbnRTZXQtPmJlZ2luKCk7IGRlc2NlbmRhbnQgIT0gZW5kOyArK2Rlc2NlbmRh
bnQpIHsKLSAgICAgICAgICAgIFRyYWNrZWRDb250YWluZXJNYXA6Oml0ZXJhdG9yIGl0ID0gY29u
dGFpbmVyTWFwLT5maW5kKCpkZXNjZW5kYW50KTsKKyAgICBpZiAoYXV0byBkZXNjZW5kYW50U2V0
ID0gZGVzY2VuZGFudE1hcC0+dGFrZShibG9jaykpIHsKKyAgICAgICAgZm9yIChhdXRvJiBib3gg
OiAqZGVzY2VuZGFudFNldCkgeworICAgICAgICAgICAgYXV0byBpdCA9IGNvbnRhaW5lck1hcC0+
ZmluZChib3gpOwogICAgICAgICAgICAgQVNTRVJUKGl0ICE9IGNvbnRhaW5lck1hcC0+ZW5kKCkp
OwogICAgICAgICAgICAgaWYgKGl0ID09IGNvbnRhaW5lck1hcC0+ZW5kKCkpCiAgICAgICAgICAg
ICAgICAgY29udGludWU7CkBAIC0xMDUxLDkgKzEwNTAsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjph
ZGRPdmVyZmxvd0Zyb21Qb3NpdGlvbmVkT2JqZWN0cygpCiAgICAgaWYgKCFwb3NpdGlvbmVkRGVz
Y2VuZGFudHMpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZvciAoYXV0byBpdCA9IHBvc2l0aW9u
ZWREZXNjZW5kYW50cy0+YmVnaW4oKSwgZW5kID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5lbmQo
KTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFJlbmRlckJveCogcG9zaXRpb25lZE9iamVj
dCA9ICppdDsKLSAgICAgICAgCisgICAgZm9yIChhdXRvJiBwb3NpdGlvbmVkT2JqZWN0IDogKnBv
c2l0aW9uZWREZXNjZW5kYW50cykgewogICAgICAgICAvLyBGaXhlZCBwb3NpdGlvbmVkIGVsZW1l
bnRzIGRvbid0IGNvbnRyaWJ1dGUgdG8gbGF5b3V0IG92ZXJmbG93LCBzaW5jZSB0aGV5IGRvbid0
IHNjcm9sbCB3aXRoIHRoZSBjb250ZW50LgogICAgICAgICBpZiAocG9zaXRpb25lZE9iamVjdC0+
c3R5bGUoKS5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pIHsKICAgICAgICAgICAgIExheW91
dFVuaXQgeCA9IHBvc2l0aW9uZWRPYmplY3QtPngoKTsKQEAgLTExNDgsOCArMTE0NSw3IEBAIHZv
aWQgUmVuZGVyQmxvY2s6OmRpcnR5Rm9yTGF5b3V0RnJvbVBlcmNlbnRhZ2VIZWlnaHREZXNjZW5k
YW50cygpCiAgICAgaWYgKCFkZXNjZW5kYW50cykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9y
IChhdXRvIGl0ID0gZGVzY2VuZGFudHMtPmJlZ2luKCksIGVuZCA9IGRlc2NlbmRhbnRzLT5lbmQo
KTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFJlbmRlckJveCogYm94ID0gKml0OworICAg
IGZvciAoYXV0byogYm94IDogKmRlc2NlbmRhbnRzKSB7CiAgICAgICAgIHdoaWxlIChib3ggIT0g
dGhpcykgewogICAgICAgICAgICAgaWYgKGJveC0+bm9ybWFsQ2hpbGROZWVkc0xheW91dCgpKQog
ICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTE4NiwxMSArMTE4Miw5IEBAIHZvaWQgUmVuZGVy
QmxvY2s6OnNpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KCkKIAogICAgICAgICAvLyBGSVhNRTog
R2x5cGggb3ZlcmZsb3cgd2lsbCBnZXQgbG9zdCBpbiB0aGlzIGNhc2UsIGJ1dCBub3QgcmVhbGx5
IGEgYmlnIGRlYWwuCiAgICAgICAgIC8vIEZJWE1FOiBGaW5kIGEgd2F5IHRvIGludmFsaWRhdGUg
dGhlIGtub3duVG9IYXZlTm9PdmVyZmxvdyBmbGFnIG9uIHRoZSBJbmxpbmVCb3hlcy4KLSAgICAg
ICAgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAgdGV4dEJveERhdGFNYXA7ICAgICAg
ICAgICAgICAgICAgCi0gICAgICAgIGZvciAoYXV0byBpdCA9IGxpbmVCb3hlcy5iZWdpbigpLCBl
bmQgPSBsaW5lQm94ZXMuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgUm9v
dElubGluZUJveCogYm94ID0gKml0OworICAgICAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tG
b250c01hcCB0ZXh0Qm94RGF0YU1hcDsKKyAgICAgICAgZm9yIChhdXRvJiBib3ggOiBsaW5lQm94
ZXMpCiAgICAgICAgICAgICBib3gtPmNvbXB1dGVPdmVyZmxvdyhib3gtPmxpbmVUb3AoKSwgYm94
LT5saW5lQm90dG9tKCksIHRleHRCb3hEYXRhTWFwKTsKLSAgICAgICAgfQogICAgIH0gZWxzZSB7
CiAgICAgICAgIGZvciAoYXV0byBib3ggPSBmaXJzdENoaWxkQm94KCk7IGJveDsgYm94ID0gYm94
LT5uZXh0U2libGluZ0JveCgpKSB7CiAgICAgICAgICAgICBpZiAoIWJveC0+aXNPdXRPZkZsb3dQ
b3NpdGlvbmVkKCkpCkBAIC0xMjk5LDE3ICsxMjkzLDE1IEBAIHZvaWQgUmVuZGVyQmxvY2s6Omxh
eW91dFBvc2l0aW9uZWRPYmplY3RzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBv
c2l0CiAgICAgaWYgKCFwb3NpdGlvbmVkRGVzY2VuZGFudHMpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIGZvciAoYXV0byBpdCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+YmVnaW4oKSwgZW5kID0g
cG9zaXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAg
IFJlbmRlckJveCYgciA9ICoqaXQ7Ci0gICAgICAgIAotICAgICAgICBlc3RpbWF0ZVJlZ2lvblJh
bmdlRm9yQm94Q2hpbGQocik7CisgICAgZm9yIChhdXRvJiBib3ggOiAqcG9zaXRpb25lZERlc2Nl
bmRhbnRzKSB7CisgICAgICAgIGVzdGltYXRlUmVnaW9uUmFuZ2VGb3JCb3hDaGlsZCgqYm94KTsK
IAogICAgICAgICAvLyBBIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnQgd2l0aCBhbiBhYnNvbHV0ZSBw
b3NpdGlvbmVkIGFuY2VzdG9yIGhhcyBubyB3YXkgb2Yga25vd2luZyBpZiB0aGUgbGF0dGVyIGhh
cyBjaGFuZ2VkIHBvc2l0aW9uLiBTbwogICAgICAgICAvLyBpZiB0aGlzIGlzIGEgZml4ZWQgcG9z
aXRpb24gZWxlbWVudCwgbWFyayBpdCBmb3IgbGF5b3V0IGlmIGl0IGhhcyBhbiBhYnNwb3MgYW5j
ZXN0b3IgYW5kIG5lZWRzIHRvIG1vdmUgd2l0aCB0aGF0IGFuY2VzdG9yLCBpLmUuIAogICAgICAg
ICAvLyBpdCBoYXMgc3RhdGljIHBvc2l0aW9uLgotICAgICAgICBtYXJrRml4ZWRQb3NpdGlvbk9i
amVjdEZvckxheW91dElmTmVlZGVkKHIpOworICAgICAgICBtYXJrRml4ZWRQb3NpdGlvbk9iamVj
dEZvckxheW91dElmTmVlZGVkKCpib3gpOwogICAgICAgICBpZiAoZml4ZWRQb3NpdGlvbk9iamVj
dHNPbmx5KSB7Ci0gICAgICAgICAgICByLmxheW91dElmTmVlZGVkKCk7CisgICAgICAgICAgICBi
b3gtPmxheW91dElmTmVlZGVkKCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQog
CkBAIC0xMzE3LDQzICsxMzA5LDQzIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9u
ZWRPYmplY3RzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0CiAgICAgICAg
IC8vIG5vbi1wb3NpdGlvbmVkIGJsb2NrLiAgUmF0aGVyIHRoYW4gdHJ5aW5nIHRvIGRldGVjdCBh
bGwgb2YgdGhlc2UgbW92ZW1lbnQgY2FzZXMsIHdlIGp1c3QgYWx3YXlzIGxheSBvdXQgcG9zaXRp
b25lZAogICAgICAgICAvLyBvYmplY3RzIHRoYXQgYXJlIHBvc2l0aW9uZWQgaW1wbGljaXRseSBs
aWtlIHRoaXMuICBTdWNoIG9iamVjdHMgYXJlIHJhcmUsIGFuZCBzbyBpbiB0eXBpY2FsIERIVE1M
IG1lbnUgdXNhZ2UgKHdoZXJlIGV2ZXJ5dGhpbmcgaXMKICAgICAgICAgLy8gcG9zaXRpb25lZCBl
eHBsaWNpdGx5KSB0aGlzIHNob3VsZCBub3QgaW5jdXIgYSBwZXJmb3JtYW5jZSBwZW5hbHR5Lgot
ICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbiB8fCAoci5zdHlsZSgpLmhhc1N0YXRpY0Jsb2Nr
UG9zaXRpb24oaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgJiYgci5wYXJlbnQoKSAhPSB0aGlz
KSkKLSAgICAgICAgICAgIHIuc2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOworICAg
ICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbiB8fCAoYm94LT5zdHlsZSgpLmhhc1N0YXRpY0Jsb2Nr
UG9zaXRpb24oaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgJiYgYm94LT5wYXJlbnQoKSAhPSB0
aGlzKSkKKyAgICAgICAgICAgIGJveC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMp
OwogICAgICAgICAgICAgCiAgICAgICAgIC8vIElmIHJlbGF5b3V0Q2hpbGRyZW4gaXMgc2V0IGFu
ZCB0aGUgY2hpbGQgaGFzIHBlcmNlbnRhZ2UgcGFkZGluZyBvciBhbiBlbWJlZGRlZCBjb250ZW50
IGJveCwgd2UgYWxzbyBuZWVkIHRvIGludmFsaWRhdGUgdGhlIGNoaWxkcyBwcmVmIHdpZHRocy4K
LSAgICAgICAgaWYgKHJlbGF5b3V0Q2hpbGRyZW4gJiYgci5uZWVkc1ByZWZlcnJlZFdpZHRoc1Jl
Y2FsY3VsYXRpb24oKSkKLSAgICAgICAgICAgIHIuc2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0Rp
cnR5KHRydWUsIE1hcmtPbmx5VGhpcyk7CisgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuICYm
IGJveC0+bmVlZHNQcmVmZXJyZWRXaWR0aHNSZWNhbGN1bGF0aW9uKCkpCisgICAgICAgICAgICBi
b3gtPnNldFByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSh0cnVlLCBNYXJrT25seVRoaXMpOwog
ICAgICAgICAKLSAgICAgICAgci5tYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVkZWQoKTsK
KyAgICAgICAgYm94LT5tYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVkZWQoKTsKICAgICAg
ICAgCiAgICAgICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gZG8gYSBmdWxsIGxheW91dC4gIFdlIGp1
c3QgaGF2ZSB0byB1cGRhdGUgb3VyIHBvc2l0aW9uLiBUcnkgdGhhdCBmaXJzdC4gSWYgd2UgaGF2
ZSBzaHJpbmstdG8tZml0IHdpZHRoCiAgICAgICAgIC8vIGFuZCB3ZSBoaXQgdGhlIGF2YWlsYWJs
ZSB3aWR0aCBjb25zdHJhaW50LCB0aGUgbGF5b3V0SWZOZWVkZWQoKSB3aWxsIGNhdGNoIGl0IGFu
ZCBkbyBhIGZ1bGwgbGF5b3V0LgotICAgICAgICBpZiAoci5uZWVkc1Bvc2l0aW9uZWRNb3ZlbWVu
dExheW91dE9ubHkoKSAmJiByLnRyeUxheW91dERvaW5nUG9zaXRpb25lZE1vdmVtZW50T25seSgp
KQotICAgICAgICAgICAgci5jbGVhck5lZWRzTGF5b3V0KCk7CisgICAgICAgIGlmIChib3gtPm5l
ZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0T25seSgpICYmIGJveC0+dHJ5TGF5b3V0RG9pbmdQ
b3NpdGlvbmVkTW92ZW1lbnRPbmx5KCkpCisgICAgICAgICAgICBib3gtPmNsZWFyTmVlZHNMYXlv
dXQoKTsKICAgICAgICAgICAgIAogICAgICAgICAvLyBJZiB3ZSBhcmUgcGFnaW5hdGVkIG9yIGlu
IGEgbGluZSBncmlkLCBjb21wdXRlIGEgdmVydGljYWwgcG9zaXRpb24gZm9yIG91ciBvYmplY3Qg
bm93LgogICAgICAgICAvLyBJZiBpdCdzIHdyb25nIHdlJ2xsIGxheSBvdXQgYWdhaW4uCiAgICAg
ICAgIExheW91dFVuaXQgb2xkTG9naWNhbFRvcCA9IDA7Ci0gICAgICAgIGJvb2wgbmVlZHNCbG9j
a0RpcmVjdGlvbkxvY2F0aW9uU2V0QmVmb3JlTGF5b3V0ID0gci5uZWVkc0xheW91dCgpICYmIHZp
ZXcoKS5sYXlvdXRTdGF0ZSgpLT5uZWVkc0Jsb2NrRGlyZWN0aW9uTG9jYXRpb25TZXRCZWZvcmVM
YXlvdXQoKTsKKyAgICAgICAgYm9vbCBuZWVkc0Jsb2NrRGlyZWN0aW9uTG9jYXRpb25TZXRCZWZv
cmVMYXlvdXQgPSBib3gtPm5lZWRzTGF5b3V0KCkgJiYgdmlldygpLmxheW91dFN0YXRlKCktPm5l
ZWRzQmxvY2tEaXJlY3Rpb25Mb2NhdGlvblNldEJlZm9yZUxheW91dCgpOwogICAgICAgICBpZiAo
bmVlZHNCbG9ja0RpcmVjdGlvbkxvY2F0aW9uU2V0QmVmb3JlTGF5b3V0KSB7Ci0gICAgICAgICAg
ICBpZiAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA9PSByLmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkpCi0gICAgICAgICAgICAgICAgci51cGRhdGVMb2dpY2FsSGVpZ2h0KCk7CisgICAgICAg
ICAgICBpZiAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA9PSBib3gtPmlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkpCisgICAgICAgICAgICAgICAgYm94LT51cGRhdGVMb2dpY2FsSGVpZ2h0KCk7
CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgci51cGRhdGVMb2dpY2FsV2lkdGgo
KTsKLSAgICAgICAgICAgIG9sZExvZ2ljYWxUb3AgPSBsb2dpY2FsVG9wRm9yQ2hpbGQocik7Cisg
ICAgICAgICAgICAgICAgYm94LT51cGRhdGVMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgICAgIG9s
ZExvZ2ljYWxUb3AgPSBsb2dpY2FsVG9wRm9yQ2hpbGQoKmJveCk7CiAgICAgICAgIH0KIAotICAg
ICAgICByLmxheW91dElmTmVlZGVkKCk7CisgICAgICAgIGJveC0+bGF5b3V0SWZOZWVkZWQoKTsK
IAogICAgICAgICAvLyBMYXkgb3V0IGFnYWluIGlmIG91ciBlc3RpbWF0ZSB3YXMgd3JvbmcuCi0g
ICAgICAgIGlmIChuZWVkc0Jsb2NrRGlyZWN0aW9uTG9jYXRpb25TZXRCZWZvcmVMYXlvdXQgJiYg
bG9naWNhbFRvcEZvckNoaWxkKHIpICE9IG9sZExvZ2ljYWxUb3ApIHsKLSAgICAgICAgICAgIHIu
c2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwotICAgICAgICAgICAgci5sYXlvdXRJ
Zk5lZWRlZCgpOworICAgICAgICBpZiAobmVlZHNCbG9ja0RpcmVjdGlvbkxvY2F0aW9uU2V0QmVm
b3JlTGF5b3V0ICYmIGxvZ2ljYWxUb3BGb3JDaGlsZCgqYm94KSAhPSBvbGRMb2dpY2FsVG9wKSB7
CisgICAgICAgICAgICBib3gtPnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKKyAg
ICAgICAgICAgIGJveC0+bGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAgfQogCi0gICAgICAgIGlm
ICh1cGRhdGVSZWdpb25SYW5nZUZvckJveENoaWxkKHIpKSB7Ci0gICAgICAgICAgICByLnNldE5l
ZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7Ci0gICAgICAgICAgICByLmxheW91dElmTmVlZGVkKCk7
CisgICAgICAgIGlmICh1cGRhdGVSZWdpb25SYW5nZUZvckJveENoaWxkKCpib3gpKSB7CisgICAg
ICAgICAgICBib3gtPnNldE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CisgICAgICAgICAgICBi
b3gtPmxheW91dElmTmVlZGVkKCk7CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0xMzY0LDEwICsx
MzU2LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6bWFya1Bvc2l0aW9uZWRPYmplY3RzRm9yTGF5b3V0
KCkKICAgICBpZiAoIXBvc2l0aW9uZWREZXNjZW5kYW50cykKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgZm9yIChhdXRvIGl0ID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5iZWdpbigpLCBlbmQgPSBw
b3NpdGlvbmVkRGVzY2VuZGFudHMtPmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAg
UmVuZGVyQm94KiByID0gKml0OwotICAgICAgICByLT5zZXRDaGlsZE5lZWRzTGF5b3V0KCk7Ci0g
ICAgfQorICAgIGZvciAoYXV0byYgYm94IDogKnBvc2l0aW9uZWREZXNjZW5kYW50cykKKyAgICAg
ICAgYm94LT5zZXRDaGlsZE5lZWRzTGF5b3V0KCk7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6Om1h
cmtGb3JQYWdpbmF0aW9uUmVsYXlvdXRJZk5lZWRlZCgpCkBAIC0xNjkxLDEwICsxNjgxLDggQEAg
dm9pZCBSZW5kZXJCbG9jazo6cGFpbnRDb250aW51YXRpb25PdXRsaW5lcyhQYWludEluZm8mIGlu
Zm8sIGNvbnN0IExheW91dFBvaW50JgogCiAgICAgTGF5b3V0UG9pbnQgYWNjdW11bGF0ZWRQYWlu
dE9mZnNldCA9IHBhaW50T2Zmc2V0OwogICAgIC8vIFBhaW50IGVhY2ggY29udGludWF0aW9uIG91
dGxpbmUuCi0gICAgTGlzdEhhc2hTZXQ8UmVuZGVySW5saW5lKj46Oml0ZXJhdG9yIGVuZCA9IGNv
bnRpbnVhdGlvbnMtPmVuZCgpOwotICAgIGZvciAoTGlzdEhhc2hTZXQ8UmVuZGVySW5saW5lKj46
Oml0ZXJhdG9yIGl0ID0gY29udGludWF0aW9ucy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
CisgICAgZm9yIChhdXRvJiBmbG93IDogKmNvbnRpbnVhdGlvbnMpIHsKICAgICAgICAgLy8gTmVl
ZCB0byBhZGQgaW4gdGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBpbnRlcnZlbmluZyBibG9ja3MuCi0g
ICAgICAgIFJlbmRlcklubGluZSogZmxvdyA9ICppdDsKICAgICAgICAgUmVuZGVyQmxvY2sqIGJs
b2NrID0gZmxvdy0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgICAgIGZvciAoIDsgYmxvY2sgJiYg
YmxvY2sgIT0gdGhpczsgYmxvY2sgPSBibG9jay0+Y29udGFpbmluZ0Jsb2NrKCkpCiAgICAgICAg
ICAgICBhY2N1bXVsYXRlZFBhaW50T2Zmc2V0Lm1vdmVCeShibG9jay0+bG9jYXRpb24oKSk7CkBA
IC0xNzg4LDExICsxNzc2LDggQEAgc3RhdGljIHZvaWQgY2xpcE91dFBvc2l0aW9uZWRPYmplY3Rz
KGNvbnN0IFBhaW50SW5mbyogcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2kKICAgICBpZiAoIXBv
c2l0aW9uZWRPYmplY3RzKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgVHJhY2tlZFJlbmRl
cmVyTGlzdEhhc2hTZXQ6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IHBvc2l0aW9uZWRPYmplY3RzLT5l
bmQoKTsKLSAgICBmb3IgKFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0Ojpjb25zdF9pdGVyYXRv
ciBpdCA9IHBvc2l0aW9uZWRPYmplY3RzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAg
ICAgICAgUmVuZGVyQm94KiByID0gKml0OwotICAgICAgICBwYWludEluZm8tPmNvbnRleHQtPmNs
aXBPdXQoSW50UmVjdChvZmZzZXQueCgpICsgci0+eCgpLCBvZmZzZXQueSgpICsgci0+eSgpLCBy
LT53aWR0aCgpLCByLT5oZWlnaHQoKSkpOwotICAgIH0KKyAgICBmb3IgKGF1dG8mIG9iamVjdCA6
ICpwb3NpdGlvbmVkT2JqZWN0cykKKyAgICAgICAgcGFpbnRJbmZvLT5jb250ZXh0LT5jbGlwT3V0
KEludFJlY3Qob2Zmc2V0LngoKSArIG9iamVjdC0+eCgpLCBvZmZzZXQueSgpICsgb2JqZWN0LT55
KCksIG9iamVjdC0+d2lkdGgoKSwgb2JqZWN0LT5oZWlnaHQoKSkpOwogfQogCiBMYXlvdXRVbml0
IGJsb2NrRGlyZWN0aW9uT2Zmc2V0KFJlbmRlckJsb2NrJiByb290QmxvY2ssIGNvbnN0IExheW91
dFNpemUmIG9mZnNldEZyb21Sb290QmxvY2spCkBAIC0yMTIzLDkgKzIxMDgsNyBAQCB2b2lkIFJl
bmRlckJsb2NrOjpyZW1vdmVGcm9tVHJhY2tlZFJlbmRlcmVyTWFwcyhSZW5kZXJCb3gmIGRlc2Nl
bmRhbnQsIFRyYWNrZWREZQogICAgIGlmICghY29udGFpbmVyU2V0KQogICAgICAgICByZXR1cm47
CiAgICAgCi0gICAgZm9yIChhdXRvIGl0ID0gY29udGFpbmVyU2V0LT5iZWdpbigpLCBlbmQgPSBj
b250YWluZXJTZXQtPmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgUmVuZGVyQmxv
Y2sqIGNvbnRhaW5lciA9ICppdDsKLQorICAgIGZvciAoYXV0byYgY29udGFpbmVyIDogKmNvbnRh
aW5lclNldCkgewogICAgICAgICAvLyBGSVhNRTogRGlzYWJsaW5nIHRoaXMgYXNzZXJ0IHRlbXBv
cmFyaWx5IHVudGlsIHdlIGZpeCB0aGUgbGF5b3V0CiAgICAgICAgIC8vIGJ1Z3MgYXNzb2NpYXRl
ZCB3aXRoIHBvc2l0aW9uZWQgb2JqZWN0cyBub3QgcHJvcGVybHkgY2xlYXJlZCBmcm9tCiAgICAg
ICAgIC8vIHRoZWlyIGFuY2VzdG9yIGNoYWluIGJlZm9yZSBiZWluZyBtb3ZlZC4gU2VlIHdlYmtp
dCBidWcgOTM3NjYuCkBAIC0yMTczLDI2ICsyMTU2LDI1IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnJl
bW92ZVBvc2l0aW9uZWRPYmplY3RzKFJlbmRlckJsb2NrKiBvLCBDb250YWluaW5nQmxvY2tTdGF0
ZSBjCiAgICAgCiAgICAgVmVjdG9yPFJlbmRlckJveCosIDE2PiBkZWFkT2JqZWN0czsKIAotICAg
IGZvciAoYXV0byBpdCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+YmVnaW4oKSwgZW5kID0gcG9z
aXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFJl
bmRlckJveCogciA9ICppdDsKLSAgICAgICAgaWYgKCFvIHx8IHItPmlzRGVzY2VuZGFudE9mKG8p
KSB7CisgICAgZm9yIChhdXRvJiBib3ggOiAqcG9zaXRpb25lZERlc2NlbmRhbnRzKSB7CisgICAg
ICAgIGlmICghbyB8fCBib3gtPmlzRGVzY2VuZGFudE9mKG8pKSB7CiAgICAgICAgICAgICBpZiAo
Y29udGFpbmluZ0Jsb2NrU3RhdGUgPT0gTmV3Q29udGFpbmluZ0Jsb2NrKQotICAgICAgICAgICAg
ICAgIHItPnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKKyAgICAgICAgICAgICAg
ICBib3gtPnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKICAgICAgICAgICAgIAog
ICAgICAgICAgICAgLy8gSXQgaXMgcGFyZW50IGJsb2NrcyBqb2IgdG8gYWRkIHBvc2l0aW9uZWQg
Y2hpbGQgdG8gcG9zaXRpb25lZCBvYmplY3RzIGxpc3Qgb2YgaXRzIGNvbnRhaW5pbmcgYmxvY2sK
ICAgICAgICAgICAgIC8vIFBhcmVudCBsYXlvdXQgbmVlZHMgdG8gYmUgaW52YWxpZGF0ZWQgdG8g
ZW5zdXJlIHRoaXMgaGFwcGVucy4KLSAgICAgICAgICAgIFJlbmRlckVsZW1lbnQqIHAgPSByLT5w
YXJlbnQoKTsKKyAgICAgICAgICAgIFJlbmRlckVsZW1lbnQqIHAgPSBib3gtPnBhcmVudCgpOwog
ICAgICAgICAgICAgd2hpbGUgKHAgJiYgIXAtPmlzUmVuZGVyQmxvY2soKSkKICAgICAgICAgICAg
ICAgICBwID0gcC0+cGFyZW50KCk7CiAgICAgICAgICAgICBpZiAocCkKICAgICAgICAgICAgICAg
ICBwLT5zZXRDaGlsZE5lZWRzTGF5b3V0KCk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGRl
YWRPYmplY3RzLmFwcGVuZChyKTsKKyAgICAgICAgICAgIGRlYWRPYmplY3RzLmFwcGVuZChib3gp
OwogICAgICAgICB9CiAgICAgfQogICAgIAotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBk
ZWFkT2JqZWN0cy5zaXplKCk7IGkrKykKLSAgICAgICAgcmVtb3ZlUG9zaXRpb25lZE9iamVjdCgq
ZGVhZE9iamVjdHMuYXQoaSkpOworICAgIGZvciAoYXV0byYgb2JqZWN0IDogZGVhZE9iamVjdHMp
CisgICAgICAgIHJlbW92ZVBvc2l0aW9uZWRPYmplY3QoKm9iamVjdCk7CiB9CiAKIHZvaWQgUmVu
ZGVyQmxvY2s6OmFkZFBlcmNlbnRIZWlnaHREZXNjZW5kYW50KFJlbmRlckJveCYgZGVzY2VuZGFu
dCkKQEAgLTM3NDMsMTAgKzM3MjUsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjaGVja1Bvc2l0aW9u
ZWRPYmplY3RzTmVlZExheW91dCgpCiAgICAgaWYgKCFwb3NpdGlvbmVkRGVzY2VuZGFudFNldCkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9yIChhdXRvIGl0ID0gcG9zaXRpb25lZERlc2NlbmRh
bnRTZXQtPmJlZ2luKCksIGVuZCA9IHBvc2l0aW9uZWREZXNjZW5kYW50U2V0LT5lbmQoKTsgaXQg
IT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFJlbmRlckJveCogY3VyckJveCA9ICppdDsKLSAgICAg
ICAgQVNTRVJUKCFjdXJyQm94LT5uZWVkc0xheW91dCgpKTsKLSAgICB9CisgICAgZm9yIChhdXRv
JiBib3ggOiAqcG9zaXRpb25lZERlc2NlbmRhbnRTZXQpCisgICAgICAgIEFTU0VSVCghYm94LT5u
ZWVkc0xheW91dCgpKTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IGFmNGNhNzEzODVlYmJlNjg2YjY2ZWUzNzQ1ZTdkY2Rj
NTlkZDgwOWIuLmRlYWM2NGY5NTg0Y2NlOTk0NzlmNjBlNWEwYzBjMWU2OWZiOWU2N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC0yMDMsMTAg
KzIwMyw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpyZWJ1aWxkRmxvYXRpbmdPYmplY3RTZXRG
cm9tSW50cnVkaW5nRmxvYXRzKCkKIAogICAgIEhhc2hTZXQ8UmVuZGVyQm94Kj4gb2xkSW50cnVk
aW5nRmxvYXRTZXQ7CiAgICAgaWYgKCFjaGlsZHJlbklubGluZSgpICYmIG1fZmxvYXRpbmdPYmpl
Y3RzKSB7Ci0gICAgICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0U2V0JiBmbG9hdGluZ09iamVjdFNl
dCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsKLSAgICAgICAgYXV0byBlbmQgPSBmbG9hdGlu
Z09iamVjdFNldC5lbmQoKTsKLSAgICAgICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RT
ZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICBGbG9hdGluZ09iamVj
dCogZmxvYXRpbmdPYmplY3QgPSBpdC0+Z2V0KCk7CisgICAgICAgIGZvciAoYXV0byYgZmxvYXRp
bmdPYmplY3QgOiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKICAgICAgICAgICAgIGlmICgh
ZmxvYXRpbmdPYmplY3QtPmlzRGVzY2VuZGFudCgpKQogICAgICAgICAgICAgICAgIG9sZEludHJ1
ZGluZ0Zsb2F0U2V0LmFkZCgmZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCkpOwogICAgICAgICB9
CkBAIC0yNjQsMTUgKzI2MSwxMiBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6cmVidWlsZEZsb2F0
aW5nT2JqZWN0U2V0RnJvbUludHJ1ZGluZ0Zsb2F0cygpCiAgICAgICAgIExheW91dFVuaXQgY2hh
bmdlTG9naWNhbFRvcCA9IExheW91dFVuaXQ6Om1heCgpOwogICAgICAgICBMYXlvdXRVbml0IGNo
YW5nZUxvZ2ljYWxCb3R0b20gPSBMYXlvdXRVbml0OjptaW4oKTsKICAgICAgICAgaWYgKG1fZmxv
YXRpbmdPYmplY3RzKSB7Ci0gICAgICAgICAgICBjb25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxv
YXRpbmdPYmplY3RTZXQgPSBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7Ci0gICAgICAgICAgICBh
dXRvIGVuZCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVuZCgpOwotICAgICAgICAgICAgZm9yIChhdXRv
IGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAg
ICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0ID0gaXQtPmdldCgpOwor
ICAgICAgICAgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVjdCA6IG1fZmxvYXRpbmdPYmplY3Rz
LT5zZXQoKSkgewogICAgICAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxGbG9hdGluZ09iamVj
dD4gb2xkRmxvYXRpbmdPYmplY3QgPSBmbG9hdE1hcC50YWtlKCZmbG9hdGluZ09iamVjdC0+cmVu
ZGVyZXIoKSk7Ci0gICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBsb2dpY2FsQm90dG9tID0gbG9n
aWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KTsKKyAgICAgICAgICAgICAgICBMYXlv
dXRVbml0IGxvZ2ljYWxCb3R0b20gPSBsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmpl
Y3QuZ2V0KCkpOwogICAgICAgICAgICAgICAgIGlmIChvbGRGbG9hdGluZ09iamVjdCkgewogICAg
ICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IG9sZExvZ2ljYWxCb3R0b20gPSBsb2dpY2FsQm90
dG9tRm9yRmxvYXQob2xkRmxvYXRpbmdPYmplY3QuZ2V0KCkpOwotICAgICAgICAgICAgICAgICAg
ICBpZiAobG9naWNhbFdpZHRoRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpICE9IGxvZ2ljYWxXaWR0
aEZvckZsb2F0KG9sZEZsb2F0aW5nT2JqZWN0LmdldCgpKSB8fCBsb2dpY2FsTGVmdEZvckZsb2F0
KGZsb2F0aW5nT2JqZWN0KSAhPSBsb2dpY2FsTGVmdEZvckZsb2F0KG9sZEZsb2F0aW5nT2JqZWN0
LmdldCgpKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAobG9naWNhbFdpZHRoRm9yRmxvYXQo
ZmxvYXRpbmdPYmplY3QuZ2V0KCkpICE9IGxvZ2ljYWxXaWR0aEZvckZsb2F0KG9sZEZsb2F0aW5n
T2JqZWN0LmdldCgpKSB8fCBsb2dpY2FsTGVmdEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LmdldCgp
KSAhPSBsb2dpY2FsTGVmdEZvckZsb2F0KG9sZEZsb2F0aW5nT2JqZWN0LmdldCgpKSkgewogICAg
ICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IDA7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBjaGFuZ2VMb2dpY2FsQm90dG9tID0gc3RkOjptYXgoY2hhbmdlTG9naWNhbEJv
dHRvbSwgc3RkOjptYXgobG9naWNhbEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkpOwogICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMjgwLDcgKzI3NCw3IEBAIHZvaWQgUmVuZGVyQmxv
Y2tGbG93OjpyZWJ1aWxkRmxvYXRpbmdPYmplY3RTZXRGcm9tSW50cnVkaW5nRmxvYXRzKCkKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VMb2dpY2FsVG9wID0gc3RkOjptaW4oY2hh
bmdlTG9naWNhbFRvcCwgc3RkOjptaW4obG9naWNhbEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkp
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUxvZ2ljYWxCb3R0b20gPSBzdGQ6
Om1heChjaGFuZ2VMb2dpY2FsQm90dG9tLCBzdGQ6Om1heChsb2dpY2FsQm90dG9tLCBvbGRMb2dp
Y2FsQm90dG9tKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3AgPSBsb2dpY2FsVG9wRm9yRmxvYXQoZmxvYXRp
bmdPYmplY3QpOworICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9w
ID0gbG9naWNhbFRvcEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LmdldCgpKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIExheW91dFVuaXQgb2xkTG9naWNhbFRvcCA9IGxvZ2ljYWxUb3BGb3JGbG9h
dChvbGRGbG9hdGluZ09iamVjdC5nZXQoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
bG9naWNhbFRvcCAhPSBvbGRMb2dpY2FsVG9wKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2hhbmdlTG9naWNhbFRvcCA9IHN0ZDo6bWluKGNoYW5nZUxvZ2ljYWxUb3AsIHN0ZDo6bWlu
KGxvZ2ljYWxUb3AsIG9sZExvZ2ljYWxUb3ApKTsKQEAgLTI5OSwxMiArMjkzLDEwIEBAIHZvaWQg
UmVuZGVyQmxvY2tGbG93OjpyZWJ1aWxkRmxvYXRpbmdPYmplY3RTZXRGcm9tSW50cnVkaW5nRmxv
YXRzKCkKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIGF1dG8gZW5kID0gZmxv
YXRNYXAuZW5kKCk7Ci0gICAgICAgIGZvciAoYXV0byBpdCA9IGZsb2F0TWFwLmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2Jq
ZWN0ID0gaXQtPnZhbHVlLmdldCgpOworICAgICAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0
IDogZmxvYXRNYXAudmFsdWVzKCkpIHsKICAgICAgICAgICAgIGlmICghZmxvYXRpbmdPYmplY3Qt
PmlzRGVzY2VuZGFudCgpKSB7CiAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IDA7
Ci0gICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbEJvdHRvbSA9IHN0ZDo6bWF4KGNoYW5nZUxv
Z2ljYWxCb3R0b20sIGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChmbG9hdGluZ09iamVjdCkpOworICAg
ICAgICAgICAgICAgIGNoYW5nZUxvZ2ljYWxCb3R0b20gPSBzdGQ6Om1heChjaGFuZ2VMb2dpY2Fs
Qm90dG9tLCBsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogCkBAIC0zMTUsMTAgKzMwNyw4IEBAIHZvaWQgUmVuZGVy
QmxvY2tGbG93OjpyZWJ1aWxkRmxvYXRpbmdPYmplY3RTZXRGcm9tSW50cnVkaW5nRmxvYXRzKCkK
ICAgICAgICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKS5zaXplKCkgPCBvbGRJbnRydWRp
bmdGbG9hdFNldC5zaXplKCkpCiAgICAgICAgICAgICBtYXJrQWxsRGVzY2VuZGFudHNXaXRoRmxv
YXRzRm9yTGF5b3V0KCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgY29uc3QgRmxvYXRp
bmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgp
OwotICAgICAgICAgICAgYXV0byBlbmQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKLSAgICAg
ICAgICAgIGZvciAoYXV0byBpdCA9IGZsb2F0aW5nT2JqZWN0U2V0LmJlZ2luKCk7IGl0ICE9IGVu
ZCAmJiAhb2xkSW50cnVkaW5nRmxvYXRTZXQuaXNFbXB0eSgpOyArK2l0KQotICAgICAgICAgICAg
ICAgIG9sZEludHJ1ZGluZ0Zsb2F0U2V0LnJlbW92ZSgmKCppdCktPnJlbmRlcmVyKCkpOworICAg
ICAgICAgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVjdCA6IG1fZmxvYXRpbmdPYmplY3RzLT5z
ZXQoKSkKKyAgICAgICAgICAgICAgICBvbGRJbnRydWRpbmdGbG9hdFNldC5yZW1vdmUoJmZsb2F0
aW5nT2JqZWN0LT5yZW5kZXJlcigpKTsKICAgICAgICAgICAgIGlmICghb2xkSW50cnVkaW5nRmxv
YXRTZXQuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIG1hcmtBbGxEZXNjZW5kYW50c1dpdGhG
bG9hdHNGb3JMYXlvdXQoKTsKICAgICAgICAgfQpAQCAtMTk4Miw4ICsxOTcyLDggQEAgdm9pZCBS
ZW5kZXJCbG9ja0Zsb3c6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25z
dCBSZW5kZXJTdHlsZSogb2wKICAgICAgICAgICAgIGlmIChhbmNlc3Rvci5pc1JlbmRlclZpZXco
KSkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGlmIChhbmNlc3Rvci5oYXNP
dmVyaGFuZ2luZ0Zsb2F0cygpKSB7Ci0gICAgICAgICAgICAgICAgZm9yIChhdXRvIGl0ID0gZmxv
YXRpbmdPYmplY3RTZXQuYmVnaW4oKSwgZW5kID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7IGl0
ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgICAgICAgICBSZW5kZXJCb3gmIHJlbmRlcmVy
ID0gKCppdCktPnJlbmRlcmVyKCk7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBmbG9hdGlu
Z09iamVjdCA6IGZsb2F0aW5nT2JqZWN0U2V0KSB7CisgICAgICAgICAgICAgICAgICAgIFJlbmRl
ckJveCYgcmVuZGVyZXIgPSBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKTsKICAgICAgICAgICAg
ICAgICAgICAgaWYgKGFuY2VzdG9yLmhhc092ZXJoYW5naW5nRmxvYXQocmVuZGVyZXIpKSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRCbG9jayA9ICZhbmNlc3RvcjsKICAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjA3MCwxMiArMjA2MCw3IEBAIHZvaWQgUmVuZGVy
QmxvY2tGbG93Ojptb3ZlRmxvYXRzVG8oUmVuZGVyQmxvY2tGbG93KiB0b0Jsb2NrRmxvdykKICAg
ICAgICAgaWYgKCF0b0Jsb2NrRmxvdy0+bV9mbG9hdGluZ09iamVjdHMpCiAgICAgICAgICAgICB0
b0Jsb2NrRmxvdy0+Y3JlYXRlRmxvYXRpbmdPYmplY3RzKCk7CiAKLSAgICAgICAgY29uc3QgRmxv
YXRpbmdPYmplY3RTZXQmIGZyb21GbG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRpbmdPYmplY3Rz
LT5zZXQoKTsKLSAgICAgICAgYXV0byBlbmQgPSBmcm9tRmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7
Ci0KLSAgICAgICAgZm9yIChhdXRvIGl0ID0gZnJvbUZsb2F0aW5nT2JqZWN0U2V0LmJlZ2luKCk7
IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5n
T2JqZWN0ID0gaXQtPmdldCgpOwotCisgICAgICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3Qg
OiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKICAgICAgICAgICAgIC8vIERvbid0IGluc2Vy
dCB0aGUgb2JqZWN0IGFnYWluIGlmIGl0J3MgYWxyZWFkeSBpbiB0aGUgbGlzdAogICAgICAgICAg
ICAgaWYgKHRvQmxvY2tGbG93LT5jb250YWluc0Zsb2F0KGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJl
cigpKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTIwOTcsMTIgKzIwODIsOSBAQCB2
b2lkIFJlbmRlckJsb2NrRmxvdzo6YWRkT3ZlcmZsb3dGcm9tRmxvYXRzKCkKICAgICBpZiAoIW1f
ZmxvYXRpbmdPYmplY3RzKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zdCBGbG9hdGluZ09i
amVjdFNldCYgZmxvYXRpbmdPYmplY3RTZXQgPSBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7Ci0g
ICAgYXV0byBlbmQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaXQg
PSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAg
RmxvYXRpbmdPYmplY3QqIHIgPSBpdC0+Z2V0KCk7Ci0gICAgICAgIGlmIChyLT5pc0Rlc2NlbmRh
bnQoKSkKLSAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKCZyLT5yZW5kZXJlcigpLCBJ
bnRTaXplKHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKHIpLCB5UG9zaXRpb25Gb3JG
bG9hdEluY2x1ZGluZ01hcmdpbihyKSkpOworICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3Qg
OiBtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKKyAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0
LT5pc0Rlc2NlbmRhbnQoKSkKKyAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKCZmbG9h
dGluZ09iamVjdC0+cmVuZGVyZXIoKSwgSW50U2l6ZSh4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGlu
Z01hcmdpbihmbG9hdGluZ09iamVjdC5nZXQoKSksIHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5n
TWFyZ2luKGZsb2F0aW5nT2JqZWN0LmdldCgpKSkpOwogICAgIH0KIH0KIApAQCAtMjEyNCwxNCAr
MjEwNiwxMSBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6cmVwYWludE92ZXJoYW5naW5nRmxvYXRz
KGJvb2wgcGFpbnRBbGxEZXNjZW5kYW50cykKICAgICAvLyBGSVhNRTogQXZvaWQgZGlzYWJsaW5n
IExheW91dFN0YXRlLiBBdCB0aGUgdmVyeSBsZWFzdCwgZG9uJ3QgZGlzYWJsZSBpdCBmb3IgZmxv
YXRzIG9yaWdpbmF0aW5nCiAgICAgLy8gaW4gdGhpcyBibG9jay4gQmV0dGVyIHlldCB3b3VsZCBi
ZSB0byBwdXNoIGV4dHJhIHN0YXRlIGZvciB0aGUgY29udGFpbmVycyBvZiBvdGhlciBmbG9hdHMu
CiAgICAgTGF5b3V0U3RhdGVEaXNhYmxlciBsYXlvdXRTdGF0ZURpc2FibGVyKCZ2aWV3KCkpOwot
ICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0U2V0JiBmbG9hdGluZ09iamVjdFNldCA9IG1fZmxvYXRp
bmdPYmplY3RzLT5zZXQoKTsKLSAgICBhdXRvIGVuZCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVuZCgp
OwotICAgIGZvciAoYXV0byBpdCA9IGZsb2F0aW5nT2JqZWN0U2V0LmJlZ2luKCk7IGl0ICE9IGVu
ZDsgKytpdCkgewotICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QgPSBpdC0+
Z2V0KCk7CisgICAgZm9yIChhdXRvJiBmbG9hdGluZ09iamVjdCA6IG1fZmxvYXRpbmdPYmplY3Rz
LT5zZXQoKSkgewogICAgICAgICAvLyBPbmx5IHJlcGFpbnQgdGhlIG9iamVjdCBpZiBpdCBpcyBv
dmVyaGFuZ2luZywgaXMgbm90IGluIGl0cyBvd24gbGF5ZXIsIGFuZAogICAgICAgICAvLyBpcyBv
dXIgcmVzcG9uc2liaWxpdHkgdG8gcGFpbnQgKG1fc2hvdWxkUGFpbnQgaXMgc2V0KS4gV2hlbiBw
YWludEFsbERlc2NlbmRhbnRzIGlzIHRydWUsIHRoZSBsYXR0ZXIKICAgICAgICAgLy8gY29uZGl0
aW9uIGlzIHJlcGxhY2VkIHdpdGggYmVpbmcgYSBkZXNjZW5kYW50IG9mIHVzLgotICAgICAgICBp
ZiAobG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KSA+IGxvZ2ljYWxIZWlnaHQo
KQorICAgICAgICBpZiAobG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LmdldCgp
KSA+IGxvZ2ljYWxIZWlnaHQoKQogICAgICAgICAgICAgJiYgIWZsb2F0aW5nT2JqZWN0LT5yZW5k
ZXJlcigpLmhhc1NlbGZQYWludGluZ0xheWVyKCkKICAgICAgICAgICAgICYmIChmbG9hdGluZ09i
amVjdC0+c2hvdWxkUGFpbnQoKSB8fCAocGFpbnRBbGxEZXNjZW5kYW50cyAmJiBmbG9hdGluZ09i
amVjdC0+cmVuZGVyZXIoKS5pc0Rlc2NlbmRhbnRPZih0aGlzKSkpKSB7CiAgICAgICAgICAgICBm
bG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5yZXBhaW50KCk7CkBAIC0yMTU5LDI2ICsyMTM4LDIz
IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpwYWludEZsb2F0cyhQYWludEluZm8mIHBhaW50SW5m
bywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50CiAgICAgaWYgKCFtX2Zsb2F0aW5nT2JqZWN0cykK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5n
T2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgIGF1dG8gZW5kID0gZmxv
YXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RT
ZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiBy
ID0gaXQtPmdldCgpOworICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5n
T2JqZWN0cy0+c2V0KCkpIHsKICAgICAgICAgLy8gT25seSBwYWludCB0aGUgb2JqZWN0IGlmIG91
ciBtX3Nob3VsZFBhaW50IGZsYWcgaXMgc2V0LgotICAgICAgICBpZiAoci0+c2hvdWxkUGFpbnQo
KSAmJiAhci0+cmVuZGVyZXIoKS5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7CisgICAgICAgIGlm
IChmbG9hdGluZ09iamVjdC0+c2hvdWxkUGFpbnQoKSAmJiAhZmxvYXRpbmdPYmplY3QtPnJlbmRl
cmVyKCkuaGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgewogICAgICAgICAgICAgUGFpbnRJbmZvIGN1
cnJlbnRQYWludEluZm8ocGFpbnRJbmZvKTsKICAgICAgICAgICAgIGN1cnJlbnRQYWludEluZm8u
cGhhc2UgPSBwcmVzZXJ2ZVBoYXNlID8gcGFpbnRJbmZvLnBoYXNlIDogUGFpbnRQaGFzZUJsb2Nr
QmFja2dyb3VuZDsKICAgICAgICAgICAgIC8vIEZJWE1FOiBMYXlvdXRQb2ludCB2ZXJzaW9uIG9m
IHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luIHdvdWxkIG1ha2UgdGhpcyBtdWNoIGNs
ZWFuZXIuCi0gICAgICAgICAgICBMYXlvdXRQb2ludCBjaGlsZFBvaW50ID0gZmxpcEZsb2F0Rm9y
V3JpdGluZ01vZGVGb3JDaGlsZChyLCBMYXlvdXRQb2ludChwYWludE9mZnNldC54KCkgKyB4UG9z
aXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihyKSAtIHItPnJlbmRlcmVyKCkueCgpLCBwYWlu
dE9mZnNldC55KCkgKyB5UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihyKSAtIHItPnJl
bmRlcmVyKCkueSgpKSk7Ci0gICAgICAgICAgICByLT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQ
YWludEluZm8sIGNoaWxkUG9pbnQpOworICAgICAgICAgICAgTGF5b3V0UG9pbnQgY2hpbGRQb2lu
dCA9IGZsaXBGbG9hdEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoZmxvYXRpbmdPYmplY3QuZ2V0KCks
IExheW91dFBvaW50KHBhaW50T2Zmc2V0LngoKSArIHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5n
TWFyZ2luKGZsb2F0aW5nT2JqZWN0LmdldCgpKSAtIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigp
LngoKSwgcGFpbnRPZmZzZXQueSgpICsgeVBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4o
ZmxvYXRpbmdPYmplY3QuZ2V0KCkpIC0gZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCkueSgpKSk7
CisgICAgICAgICAgICBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5wYWludChjdXJyZW50UGFp
bnRJbmZvLCBjaGlsZFBvaW50KTsKICAgICAgICAgICAgIGlmICghcHJlc2VydmVQaGFzZSkgewog
ICAgICAgICAgICAgICAgIGN1cnJlbnRQYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlQ2hpbGRC
bG9ja0JhY2tncm91bmRzOwotICAgICAgICAgICAgICAgIHItPnJlbmRlcmVyKCkucGFpbnQoY3Vy
cmVudFBhaW50SW5mbywgY2hpbGRQb2ludCk7CisgICAgICAgICAgICAgICAgZmxvYXRpbmdPYmpl
Y3QtPnJlbmRlcmVyKCkucGFpbnQoY3VycmVudFBhaW50SW5mbywgY2hpbGRQb2ludCk7CiAgICAg
ICAgICAgICAgICAgY3VycmVudFBhaW50SW5mby5waGFzZSA9IFBhaW50UGhhc2VGbG9hdDsKLSAg
ICAgICAgICAgICAgICByLT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxk
UG9pbnQpOworICAgICAgICAgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLnBhaW50
KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQpOwogICAgICAgICAgICAgICAgIGN1cnJlbnRQ
YWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlRm9yZWdyb3VuZDsKLSAgICAgICAgICAgICAgICBy
LT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQpOworICAgICAg
ICAgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWludElu
Zm8sIGNoaWxkUG9pbnQpOwogICAgICAgICAgICAgICAgIGN1cnJlbnRQYWludEluZm8ucGhhc2Ug
PSBQYWludFBoYXNlT3V0bGluZTsKLSAgICAgICAgICAgICAgICByLT5yZW5kZXJlcigpLnBhaW50
KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQpOworICAgICAgICAgICAgICAgIGZsb2F0aW5n
T2JqZWN0LT5yZW5kZXJlcigpLnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxkUG9pbnQpOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtMjE4NywxMiArMjE2Myw5IEBAIHZv
aWQgUmVuZGVyQmxvY2tGbG93OjpwYWludEZsb2F0cyhQYWludEluZm8mIHBhaW50SW5mbywgY29u
c3QgTGF5b3V0UG9pbnQmIHBhaW50CiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6Y2xpcE91dEZsb2F0
aW5nT2JqZWN0cyhSZW5kZXJCbG9jayYgcm9vdEJsb2NrLCBjb25zdCBQYWludEluZm8qIHBhaW50
SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHJvb3RCbG9ja1BoeXNpY2FsUG9zaXRpb24sIGNvbnN0
IExheW91dFNpemUmIG9mZnNldEZyb21Sb290QmxvY2spCiB7CiAgICAgaWYgKG1fZmxvYXRpbmdP
YmplY3RzKSB7Ci0gICAgICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0U2V0JiBmbG9hdGluZ09iamVj
dFNldCA9IG1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsKLSAgICAgICAgYXV0byBlbmQgPSBmbG9h
dGluZ09iamVjdFNldC5lbmQoKTsKLSAgICAgICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmpl
Y3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICBGbG9hdGluZ09i
amVjdCogZmxvYXRpbmdPYmplY3QgPSBpdC0+Z2V0KCk7Ci0gICAgICAgICAgICBMYXlvdXRSZWN0
IGZsb2F0Qm94KG9mZnNldEZyb21Sb290QmxvY2sud2lkdGgoKSArIHhQb3NpdGlvbkZvckZsb2F0
SW5jbHVkaW5nTWFyZ2luKGZsb2F0aW5nT2JqZWN0KSwKLSAgICAgICAgICAgICAgICBvZmZzZXRG
cm9tUm9vdEJsb2NrLmhlaWdodCgpICsgeVBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4o
ZmxvYXRpbmdPYmplY3QpLAorICAgICAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9m
bG9hdGluZ09iamVjdHMtPnNldCgpKSB7CisgICAgICAgICAgICBMYXlvdXRSZWN0IGZsb2F0Qm94
KG9mZnNldEZyb21Sb290QmxvY2sud2lkdGgoKSArIHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5n
TWFyZ2luKGZsb2F0aW5nT2JqZWN0LmdldCgpKSwKKyAgICAgICAgICAgICAgICBvZmZzZXRGcm9t
Um9vdEJsb2NrLmhlaWdodCgpICsgeVBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxv
YXRpbmdPYmplY3QuZ2V0KCkpLAogICAgICAgICAgICAgICAgIGZsb2F0aW5nT2JqZWN0LT5yZW5k
ZXJlcigpLndpZHRoKCksIGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLmhlaWdodCgpKTsKICAg
ICAgICAgICAgIHJvb3RCbG9jay5mbGlwRm9yV3JpdGluZ01vZGUoZmxvYXRCb3gpOwogICAgICAg
ICAgICAgZmxvYXRCb3gubW92ZShyb290QmxvY2tQaHlzaWNhbFBvc2l0aW9uLngoKSwgcm9vdEJs
b2NrUGh5c2ljYWxQb3NpdGlvbi55KCkpOwpAQCAtMjU5MCwxMiArMjU2Myw5IEBAIExheW91dFVu
aXQgUmVuZGVyQmxvY2tGbG93Ojpsb3dlc3RGbG9hdExvZ2ljYWxCb3R0b20oRmxvYXRpbmdPYmpl
Y3Q6OlR5cGUgZmxvYXRUCiAgICAgaWYgKCFtX2Zsb2F0aW5nT2JqZWN0cykKICAgICAgICAgcmV0
dXJuIDA7CiAgICAgTGF5b3V0VW5pdCBsb3dlc3RGbG9hdEJvdHRvbSA9IDA7Ci0gICAgY29uc3Qg
RmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMt
PnNldCgpOwotICAgIGF1dG8gZW5kID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0gICAgZm9y
IChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiBmbG9hdGluZ09iamVjdCA9IGl0LT5nZXQoKTsKKyAg
ICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9mbG9hdGluZ09iamVjdHMtPnNldCgpKSB7
CiAgICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+aXNQbGFjZWQoKSAmJiBmbG9hdGluZ09iamVj
dC0+dHlwZSgpICYgZmxvYXRUeXBlKQotICAgICAgICAgICAgbG93ZXN0RmxvYXRCb3R0b20gPSBz
dGQ6Om1heChsb3dlc3RGbG9hdEJvdHRvbSwgbG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5n
T2JqZWN0KSk7CisgICAgICAgICAgICBsb3dlc3RGbG9hdEJvdHRvbSA9IHN0ZDo6bWF4KGxvd2Vz
dEZsb2F0Qm90dG9tLCBsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkp
KTsKICAgICB9CiAgICAgcmV0dXJuIGxvd2VzdEZsb2F0Qm90dG9tOwogfQpAQCAtMjYwNSwxMiAr
MjU3NSw5IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93Ojpsb3dlc3RJbml0aWFsTGV0dGVy
TG9naWNhbEJvdHRvbSgpIGNvbnN0CiAgICAgaWYgKCFtX2Zsb2F0aW5nT2JqZWN0cykKICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgTGF5b3V0VW5pdCBsb3dlc3RGbG9hdEJvdHRvbSA9IDA7Ci0gICAg
Y29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09i
amVjdHMtPnNldCgpOwotICAgIGF1dG8gZW5kID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Ci0g
ICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5kOyAr
K2l0KSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiBmbG9hdGluZ09iamVjdCA9IGl0LT5nZXQo
KTsKKyAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9mbG9hdGluZ09iamVjdHMtPnNl
dCgpKSB7CiAgICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+aXNQbGFjZWQoKSAmJiBmbG9hdGlu
Z09iamVjdC0+cmVuZGVyZXIoKS5zdHlsZSgpLnN0eWxlVHlwZSgpID09IEZJUlNUX0xFVFRFUiAm
JiBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS5zdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkg
PiAwKQotICAgICAgICAgICAgbG93ZXN0RmxvYXRCb3R0b20gPSBzdGQ6Om1heChsb3dlc3RGbG9h
dEJvdHRvbSwgbG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KSk7CisgICAgICAg
ICAgICBsb3dlc3RGbG9hdEJvdHRvbSA9IHN0ZDo6bWF4KGxvd2VzdEZsb2F0Qm90dG9tLCBsb2dp
Y2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0KCkpKTsKICAgICB9CiAgICAgcmV0
dXJuIGxvd2VzdEZsb2F0Qm90dG9tOwogfQpAQCAtMjYyNywxMCArMjU5NCw4IEBAIExheW91dFVu
aXQgUmVuZGVyQmxvY2tGbG93OjphZGRPdmVyaGFuZ2luZ0Zsb2F0cyhSZW5kZXJCbG9ja0Zsb3cm
IGNoaWxkLCBib29sIG1hCiAKICAgICAvLyBGbG9hdHMgdGhhdCB3aWxsIHJlbWFpbiB0aGUgY2hp
bGQncyByZXNwb25zaWJpbGl0eSB0byBwYWludCBzaG91bGQgZmFjdG9yIGludG8gaXRzCiAgICAg
Ly8gb3ZlcmZsb3cuCi0gICAgYXV0byBjaGlsZEVuZCA9IGNoaWxkLm1fZmxvYXRpbmdPYmplY3Rz
LT5zZXQoKS5lbmQoKTsKLSAgICBmb3IgKGF1dG8gY2hpbGRJdCA9IGNoaWxkLm1fZmxvYXRpbmdP
YmplY3RzLT5zZXQoKS5iZWdpbigpOyBjaGlsZEl0ICE9IGNoaWxkRW5kOyArK2NoaWxkSXQpIHsK
LSAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0ID0gY2hpbGRJdC0+Z2V0KCk7
Ci0gICAgICAgIExheW91dFVuaXQgZmxvYXRMb2dpY2FsQm90dG9tID0gc3RkOjptaW4obG9naWNh
bEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KSwgTGF5b3V0VW5pdDo6bWF4KCkgLSBjaGls
ZExvZ2ljYWxUb3ApOworICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBjaGlsZC5tX2Zs
b2F0aW5nT2JqZWN0cy0+c2V0KCkpIHsKKyAgICAgICAgTGF5b3V0VW5pdCBmbG9hdExvZ2ljYWxC
b3R0b20gPSBzdGQ6Om1pbihsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QuZ2V0
KCkpLCBMYXlvdXRVbml0OjptYXgoKSAtIGNoaWxkTG9naWNhbFRvcCk7CiAgICAgICAgIExheW91
dFVuaXQgbG9naWNhbEJvdHRvbSA9IGNoaWxkTG9naWNhbFRvcCArIGZsb2F0TG9naWNhbEJvdHRv
bTsKICAgICAgICAgbG93ZXN0RmxvYXRMb2dpY2FsQm90dG9tID0gc3RkOjptYXgobG93ZXN0Rmxv
YXRMb2dpY2FsQm90dG9tLCBsb2dpY2FsQm90dG9tKTsKIApAQCAtMjY2Nyw3ICsyNjMyLDcgQEAg
TGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFkZE92ZXJoYW5naW5nRmxvYXRzKFJlbmRlckJs
b2NrRmxvdyYgY2hpbGQsIGJvb2wgbWEKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gU2lu
Y2UgdGhlIGZsb2F0IGRvZXNuJ3Qgb3ZlcmhhbmcsIGl0IGRpZG4ndCBnZXQgcHV0IGludG8gb3Vy
IGxpc3QuIFdlIG5lZWQgdG8gYWRkIGl0cyBvdmVyZmxvdyBpbiB0byB0aGUgY2hpbGQgbm93Lgog
ICAgICAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0LT5pc0Rlc2NlbmRhbnQoKSkKLSAgICAgICAg
ICAgICAgICBjaGlsZC5hZGRPdmVyZmxvd0Zyb21DaGlsZCgmZmxvYXRpbmdPYmplY3QtPnJlbmRl
cmVyKCksIExheW91dFNpemUoeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oZmxvYXRp
bmdPYmplY3QpLCB5UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVj
dCkpKTsKKyAgICAgICAgICAgICAgICBjaGlsZC5hZGRPdmVyZmxvd0Zyb21DaGlsZCgmZmxvYXRp
bmdPYmplY3QtPnJlbmRlcmVyKCksIExheW91dFNpemUoeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRp
bmdNYXJnaW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpLCB5UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGlu
Z01hcmdpbihmbG9hdGluZ09iamVjdC5nZXQoKSkpKTsKICAgICAgICAgfQogICAgIH0KICAgICBy
ZXR1cm4gbG93ZXN0RmxvYXRMb2dpY2FsQm90dG9tOwpAQCAtMjcwMCwxMSArMjY2NSw4IEBAIHZv
aWQgUmVuZGVyQmxvY2tGbG93OjphZGRJbnRydWRpbmdGbG9hdHMoUmVuZGVyQmxvY2tGbG93KiBw
cmV2LCBSZW5kZXJCbG9ja0Zsb3cqCiAKICAgICBsb2dpY2FsTGVmdE9mZnNldCArPSBtYXJnaW5M
b2dpY2FsTGVmdCgpOwogCi0gICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIHByZXZTZXQgPSBw
cmV2LT5tX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7Ci0gICAgYXV0byBwcmV2RW5kID0gcHJldlNl
dC5lbmQoKTsKLSAgICBmb3IgKGF1dG8gcHJldkl0ID0gcHJldlNldC5iZWdpbigpOyBwcmV2SXQg
IT0gcHJldkVuZDsgKytwcmV2SXQpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5n
T2JqZWN0ID0gcHJldkl0LT5nZXQoKTsKLSAgICAgICAgaWYgKGxvZ2ljYWxCb3R0b21Gb3JGbG9h
dChmbG9hdGluZ09iamVjdCkgPiBsb2dpY2FsVG9wT2Zmc2V0KSB7CisgICAgZm9yIChhdXRvJiBm
bG9hdGluZ09iamVjdCA6IHByZXYtPm1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKSkgeworICAgICAg
ICBpZiAobG9naWNhbEJvdHRvbUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LmdldCgpKSA+IGxvZ2lj
YWxUb3BPZmZzZXQpIHsKICAgICAgICAgICAgIGlmICghbV9mbG9hdGluZ09iamVjdHMgfHwgIW1f
ZmxvYXRpbmdPYmplY3RzLT5zZXQoKS5jb250YWluczxGbG9hdGluZ09iamVjdCYsIEZsb2F0aW5n
T2JqZWN0SGFzaFRyYW5zbGF0b3I+KCpmbG9hdGluZ09iamVjdCkpIHsKICAgICAgICAgICAgICAg
ICAvLyBXZSBjcmVhdGUgdGhlIGZsb2F0aW5nIG9iamVjdCBsaXN0IGxhemlseS4KICAgICAgICAg
ICAgICAgICBpZiAoIW1fZmxvYXRpbmdPYmplY3RzKQpAQCAtMjc1NiwxNiArMjcxOCwxMyBAQCB2
b2lkIFJlbmRlckJsb2NrRmxvdzo6bWFya1NpYmxpbmdzV2l0aEZsb2F0c0ZvckxheW91dChSZW5k
ZXJCb3gqIGZsb2F0VG9SZW1vdmUpCiAgICAgaWYgKCFtX2Zsb2F0aW5nT2JqZWN0cykKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0
U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwotICAgIGF1dG8gZW5kID0gZmxvYXRpbmdP
YmplY3RTZXQuZW5kKCk7Ci0KICAgICBmb3IgKFJlbmRlck9iamVjdCogbmV4dCA9IG5leHRTaWJs
aW5nKCk7IG5leHQ7IG5leHQgPSBuZXh0LT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIGlmICgh
aXM8UmVuZGVyQmxvY2tGbG93PigqbmV4dCkgfHwgbmV4dC0+aXNGbG9hdGluZ09yT3V0T2ZGbG93
UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgUmVuZGVyQmxv
Y2tGbG93JiBuZXh0QmxvY2sgPSBkb3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KCpuZXh0KTsKLSAg
ICAgICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5k
OyArK2l0KSB7Ci0gICAgICAgICAgICBSZW5kZXJCb3gmIGZsb2F0aW5nQm94ID0gKCppdCktPnJl
bmRlcmVyKCk7CisgICAgICAgIGZvciAoYXV0byYgZmxvYXRpbmdPYmplY3QgOiBtX2Zsb2F0aW5n
T2JqZWN0cy0+c2V0KCkpIHsKKyAgICAgICAgICAgIFJlbmRlckJveCYgZmxvYXRpbmdCb3ggPSBm
bG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKTsKICAgICAgICAgICAgIGlmIChmbG9hdFRvUmVtb3Zl
ICYmICZmbG9hdGluZ0JveCAhPSBmbG9hdFRvUmVtb3ZlKQogICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICAgICAgaWYgKG5leHRCbG9jay5jb250YWluc0Zsb2F0KGZsb2F0aW5nQm94
KSkKQEAgLTI5MjgsMTQgKzI4ODcsMTEgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFkanVzdEZv
ckJvcmRlckZpdChMYXlvdXRVbml0IHgsIExheW91dFVuaXQmIGxlZnQsIExheW91dFUKICAgICB9
CiAKICAgICBpZiAobV9mbG9hdGluZ09iamVjdHMpIHsKLSAgICAgICAgY29uc3QgRmxvYXRpbmdP
YmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGluZ09iamVjdHMtPnNldCgpOwot
ICAgICAgICBhdXRvIGVuZCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVuZCgpOwotICAgICAgICBmb3Ig
KGF1dG8gaXQgPSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
LSAgICAgICAgICAgIEZsb2F0aW5nT2JqZWN0KiByID0gaXQtPmdldCgpOworICAgICAgICBmb3Ig
KGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9mbG9hdGluZ09iamVjdHMtPnNldCgpKSB7CiAgICAg
ICAgICAgICAvLyBPbmx5IGV4YW1pbmUgdGhlIG9iamVjdCBpZiBvdXIgbV9zaG91bGRQYWludCBm
bGFnIGlzIHNldC4KLSAgICAgICAgICAgIGlmIChyLT5zaG91bGRQYWludCgpKSB7Ci0gICAgICAg
ICAgICAgICAgTGF5b3V0VW5pdCBmbG9hdExlZnQgPSB4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGlu
Z01hcmdpbihyKSAtIHItPnJlbmRlcmVyKCkueCgpOwotICAgICAgICAgICAgICAgIExheW91dFVu
aXQgZmxvYXRSaWdodCA9IGZsb2F0TGVmdCArIHItPnJlbmRlcmVyKCkud2lkdGgoKTsKKyAgICAg
ICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+c2hvdWxkUGFpbnQoKSkgeworICAgICAgICAgICAg
ICAgIExheW91dFVuaXQgZmxvYXRMZWZ0ID0geFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJn
aW4oZmxvYXRpbmdPYmplY3QuZ2V0KCkpIC0gZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCkueCgp
OworICAgICAgICAgICAgICAgIExheW91dFVuaXQgZmxvYXRSaWdodCA9IGZsb2F0TGVmdCArIGZs
b2F0aW5nT2JqZWN0LT5yZW5kZXJlcigpLndpZHRoKCk7CiAgICAgICAgICAgICAgICAgbGVmdCA9
IHN0ZDo6bWluKGxlZnQsIGZsb2F0TGVmdCk7CiAgICAgICAgICAgICAgICAgcmlnaHQgPSBzdGQ6
Om1heChyaWdodCwgZmxvYXRSaWdodCk7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCmluZGV4IDVlYzA0NzBi
YWNjOGFmOGQ1NjRhZTZkZDY3N2YyYzI2MzU1ZjhlNmYuLmMyNTJlNjk0MzIxZDNkNWM0MjAwYzQ2
OTE2YWVkN2FkNTRjMGM2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBAIC01MTIsOSArNTEyLDggQEAgc3RhdGljIGlubGlu
ZSB2b2lkIHNldExvZ2ljYWxXaWR0aEZvclRleHRSdW4oUm9vdElubGluZUJveCogbGluZUJveCwg
QmlkaVJ1biogcnUKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIG1lYXN1cmVk
V2lkdGggKz0gd29yZE1lYXN1cmVtZW50LndpZHRoOwogICAgICAgICAgICAgaWYgKCF3b3JkTWVh
c3VyZW1lbnQuZmFsbGJhY2tGb250cy5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgICAgICBIYXNo
U2V0PGNvbnN0IEZvbnQqPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gd29yZE1lYXN1cmVtZW50LmZh
bGxiYWNrRm9udHMuZW5kKCk7Ci0gICAgICAgICAgICAgICAgZm9yIChIYXNoU2V0PGNvbnN0IEZv
bnQqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSB3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cy5i
ZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrRm9u
dHMuYWRkKCppdCk7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBmb250IDogd29yZE1lYXN1
cmVtZW50LmZhbGxiYWNrRm9udHMpCisgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrRm9udHMu
YWRkKGZvbnQpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmIChtZWFzdXJl
ZFdpZHRoICYmIGxhc3RFbmRPZmZzZXQgIT0gcnVuLT5tX3N0b3ApIHsKQEAgLTEzMzYsOCArMTMz
NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRSdW5zQW5kRmxvYXRzSW5SYW5nZShM
aW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBJCiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
IAotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpbmVCcmVha2VyLnBvc2l0aW9uZWRP
YmplY3RzKCkuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICBzZXRTdGF0aWNQb3NpdGlvbnMoKnRo
aXMsICpsaW5lQnJlYWtlci5wb3NpdGlvbmVkT2JqZWN0cygpW2ldKTsKKyAgICAgICAgZm9yIChh
dXRvJiBwb3NpdGlvbmVkT2JqZWN0IDogbGluZUJyZWFrZXIucG9zaXRpb25lZE9iamVjdHMoKSkK
KyAgICAgICAgICAgIHNldFN0YXRpY1Bvc2l0aW9ucygqdGhpcywgKnBvc2l0aW9uZWRPYmplY3Qp
OwogCiAgICAgICAgIGlmICghbGF5b3V0U3RhdGUubGluZUluZm8oKS5pc0VtcHR5KCkpIHsKICAg
ICAgICAgICAgIGxheW91dFN0YXRlLmxpbmVJbmZvKCkuc2V0Rmlyc3RMaW5lKGZhbHNlKTsKQEAg
LTE0NTQsOCArMTQ1Myw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsaW5rVG9FbmRMaW5lSWZO
ZWVkZWQoTGluZUxheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSkKICAgICAgICAgICAgICAgICBpZiAo
bGF5b3V0U3RhdGUuZmxvd1RocmVhZCgpKQogICAgICAgICAgICAgICAgICAgICB1cGRhdGVSZWdp
b25Gb3JMaW5lKGxpbmUpOwogICAgICAgICAgICAgICAgIGlmIChWZWN0b3I8UmVuZGVyQm94Kj4q
IGNsZWFuTGluZUZsb2F0cyA9IGxpbmUtPmZsb2F0c1B0cigpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGZvciAoYXV0byBpdCA9IGNsZWFuTGluZUZsb2F0cy0+YmVnaW4oKSwgZW5kID0gY2xlYW5M
aW5lRmxvYXRzLT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBSZW5kZXJCb3gqIGZsb2F0aW5nQm94ID0gKml0OworICAgICAgICAgICAgICAgICAgICBm
b3IgKGF1dG8mIGZsb2F0aW5nQm94IDogKmNsZWFuTGluZUZsb2F0cykgewogICAgICAgICAgICAg
ICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0ID0gaW5zZXJ0RmxvYXRp
bmdPYmplY3QoKmZsb2F0aW5nQm94KTsKICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVCgh
ZmxvYXRpbmdPYmplY3QtPm9yaWdpbmF0aW5nTGluZSgpKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgIGZsb2F0aW5nT2JqZWN0LT5zZXRPcmlnaW5hdGluZ0xpbmUobGluZSk7CkBAIC0xNTEyLDEz
ICsxNTEwLDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsaW5rVG9FbmRMaW5lSWZOZWVkZWQo
TGluZUxheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSkKIAogdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnJl
cGFpbnREaXJ0eUZsb2F0cyhWZWN0b3I8RmxvYXRXaXRoUmVjdD4mIGZsb2F0cykKIHsKLSAgICBz
aXplX3QgZmxvYXRDb3VudCA9IGZsb2F0cy5zaXplKCk7CiAgICAgLy8gRmxvYXRzIHRoYXQgZGlk
IG5vdCBoYXZlIGxheW91dCBkaWQgbm90IHJlcGFpbnQgd2hlbiB3ZSBsYWlkIHRoZW0gb3V0LiBU
aGV5IHdvdWxkIGhhdmUKICAgICAvLyBwYWludGVkIGJ5IG5vdyBpZiB0aGV5IGhhZCBtb3ZlZCwg
YnV0IGlmIHRoZXkgc3RheWVkIGF0ICgwLCAwKSwgdGhleSBzdGlsbCBuZWVkIHRvIGJlCiAgICAg
Ly8gcGFpbnRlZC4KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGZsb2F0Q291bnQ7ICsraSkg
ewotICAgICAgICBpZiAoIWZsb2F0c1tpXS5ldmVySGFkTGF5b3V0KSB7Ci0gICAgICAgICAgICBS
ZW5kZXJCb3gmIGJveCA9IGZsb2F0c1tpXS5vYmplY3Q7CisgICAgZm9yIChhdXRvJiBmbG9hdFdp
dGhSZWN0IDogZmxvYXRzKSB7CisgICAgICAgIGlmICghZmxvYXRXaXRoUmVjdC5ldmVySGFkTGF5
b3V0KSB7CisgICAgICAgICAgICBSZW5kZXJCb3gmIGJveCA9IGZsb2F0V2l0aFJlY3Qub2JqZWN0
OwogICAgICAgICAgICAgaWYgKCFib3gueCgpICYmICFib3gueSgpICYmIGJveC5jaGVja0ZvclJl
cGFpbnREdXJpbmdMYXlvdXQoKSkKICAgICAgICAgICAgICAgICBib3gucmVwYWludCgpOwogICAg
ICAgICB9CkBAIC0xNjA2LDggKzE2MDMsOCBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0
TGluZUJveGVzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCYgcmVwYWludAogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBy
ZXBsYWNlZENoaWxkcmVuLnNpemUoKTsgaSsrKQotICAgICAgICAgICAgIHJlcGxhY2VkQ2hpbGRy
ZW5baV0tPmxheW91dElmTmVlZGVkKCk7CisgICAgICAgIGZvciAoYXV0byYgY2hpbGQgOiByZXBs
YWNlZENoaWxkcmVuKQorICAgICAgICAgICAgY2hpbGQtPmxheW91dElmTmVlZGVkKCk7CiAKICAg
ICAgICAgbGF5b3V0UnVuc0FuZEZsb2F0cyhsYXlvdXRTdGF0ZSwgaGFzSW5saW5lQ2hpbGQpOwog
ICAgIH0KQEAgLTE2NDUsOCArMTY0Miw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpjaGVja0Zs
b2F0c0luQ2xlYW5MaW5lKFJvb3RJbmxpbmVCb3gqIGxpbmUsIFZlY3RvcjxGbG9hdFdpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBmb3IgKGF1dG8gaXQgPSBjbGVhbkxpbmVGbG9hdHMt
PmJlZ2luKCksIGVuZCA9IGNsZWFuTGluZUZsb2F0cy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkg
ewotICAgICAgICBSZW5kZXJCb3gqIGZsb2F0aW5nQm94ID0gKml0OworICAgIGZvciAoYXV0byYg
ZmxvYXRpbmdCb3ggOiAqY2xlYW5MaW5lRmxvYXRzKSB7CiAgICAgICAgIGZsb2F0aW5nQm94LT5s
YXlvdXRJZk5lZWRlZCgpOwogICAgICAgICBMYXlvdXRTaXplIG5ld1NpemUoZmxvYXRpbmdCb3gt
PndpZHRoKCkgKyBmbG9hdGluZ0JveC0+aG9yaXpvbnRhbE1hcmdpbkV4dGVudCgpLCBmbG9hdGlu
Z0JveC0+aGVpZ2h0KCkgKyBmbG9hdGluZ0JveC0+dmVydGljYWxNYXJnaW5FeHRlbnQoKSk7CiAg
ICAgICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKGZsb2F0SW5kZXggPCBmbG9h
dHMuc2l6ZSgpKTsKQEAgLTE3NDcsOCArMTc0Myw3IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJs
b2NrRmxvdzo6ZGV0ZXJtaW5lU3RhcnRQb3NpdGlvbihMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0
CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIGxpbmUgPSBmaXJzdFJvb3RCb3goKTsKICAgICAgICAg
d2hpbGUgKGxpbmUgIT0gY3VycikgewogICAgICAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJCb3gq
PiogY2xlYW5MaW5lRmxvYXRzID0gbGluZS0+ZmxvYXRzUHRyKCkpIHsKLSAgICAgICAgICAgICAg
ICBmb3IgKGF1dG8gaXQgPSBjbGVhbkxpbmVGbG9hdHMtPmJlZ2luKCksIGVuZCA9IGNsZWFuTGlu
ZUZsb2F0cy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgICAgICAgICBS
ZW5kZXJCb3gqIGZsb2F0aW5nQm94ID0gKml0OworICAgICAgICAgICAgICAgIGZvciAoYXV0byYg
ZmxvYXRpbmdCb3ggOiAqY2xlYW5MaW5lRmxvYXRzKSB7CiAgICAgICAgICAgICAgICAgICAgIEZs
b2F0aW5nT2JqZWN0KiBmbG9hdGluZ09iamVjdCA9IGluc2VydEZsb2F0aW5nT2JqZWN0KCpmbG9h
dGluZ0JveCk7CiAgICAgICAgICAgICAgICAgICAgIEFTU0VSVCghZmxvYXRpbmdPYmplY3QtPm9y
aWdpbmF0aW5nTGluZSgpKTsKICAgICAgICAgICAgICAgICAgICAgZmxvYXRpbmdPYmplY3QtPnNl
dE9yaWdpbmF0aW5nTGluZShsaW5lKTsKQEAgLTE4NTUsMTEgKzE4NTAsOCBAQCBib29sIFJlbmRl
ckJsb2NrRmxvdzo6Y2hlY2tQYWdpbmF0aW9uQW5kRmxvYXRzQXRFbmRMaW5lKExpbmVMYXlvdXRT
dGF0ZSYgbGF5b3V0UwogCiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsQm90dG9tID0gbGFzdExpbmUt
PmxpbmVCb3R0b21XaXRoTGVhZGluZygpICsgYWJzb2x1dGVWYWx1ZShsaW5lRGVsdGEpOwogCi0g
ICAgY29uc3QgRmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0ID0gbV9mbG9hdGlu
Z09iamVjdHMtPnNldCgpOwotICAgIGF1dG8gZW5kID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7
Ci0gICAgZm9yIChhdXRvIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuYmVnaW4oKTsgaXQgIT0gZW5k
OyArK2l0KSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiBmbG9hdGluZ09iamVjdCA9IGl0LT5n
ZXQoKTsKLSAgICAgICAgaWYgKGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChmbG9hdGluZ09iamVjdCkg
Pj0gbG9naWNhbFRvcCAmJiBsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpIDwg
bG9naWNhbEJvdHRvbSkKKyAgICBmb3IgKGF1dG8mIGZsb2F0aW5nT2JqZWN0IDogbV9mbG9hdGlu
Z09iamVjdHMtPnNldCgpKSB7CisgICAgICAgIGlmIChsb2dpY2FsQm90dG9tRm9yRmxvYXQoZmxv
YXRpbmdPYmplY3QuZ2V0KCkpID49IGxvZ2ljYWxUb3AgJiYgbG9naWNhbEJvdHRvbUZvckZsb2F0
KGZsb2F0aW5nT2JqZWN0LmdldCgpKSA8IGxvZ2ljYWxCb3R0b20pCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQ291bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRl
ci5jcHAKaW5kZXggOTE4YTRmODhhMjNkOTZkOGFlNWUyMzY2OTU2NzE3ODBhMDkzNjI3ZS4uMTQx
MjI1OGU3YzllYTViZTdhMjcwYWFjNGUxOTIxMjE2NWNjOWZjYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcApAQCAtNDU1LDExICs0NTUsOCBAQCB2b2lkIFJl
bmRlckNvdW50ZXI6OmRlc3Ryb3lDb3VudGVyTm9kZXMoUmVuZGVyRWxlbWVudCYgb3duZXIpCiAg
ICAgQ291bnRlck1hcHM6Oml0ZXJhdG9yIG1hcHNJdGVyYXRvciA9IG1hcHMuZmluZCgmb3duZXIp
OwogICAgIGlmIChtYXBzSXRlcmF0b3IgPT0gbWFwcy5lbmQoKSkKICAgICAgICAgcmV0dXJuOwot
ICAgIENvdW50ZXJNYXAqIG1hcCA9IG1hcHNJdGVyYXRvci0+dmFsdWUuZ2V0KCk7Ci0gICAgQ291
bnRlck1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbWFwLT5lbmQoKTsKLSAgICBmb3IgKENvdW50
ZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbWFwLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQp
IHsKLSAgICAgICAgZGVzdHJveUNvdW50ZXJOb2RlV2l0aG91dE1hcFJlbW92YWwoaXQtPmtleSwg
aXQtPnZhbHVlLmdldCgpKTsKLSAgICB9CisgICAgZm9yIChhdXRvJiBjb3VudGVyIDogKm1hcHNJ
dGVyYXRvci0+dmFsdWUuZ2V0KCkpCisgICAgICAgIGRlc3Ryb3lDb3VudGVyTm9kZVdpdGhvdXRN
YXBSZW1vdmFsKGNvdW50ZXIua2V5LCBjb3VudGVyLnZhbHVlLmdldCgpKTsKICAgICBtYXBzLnJl
bW92ZShtYXBzSXRlcmF0b3IpOwogICAgIG93bmVyLnNldEhhc0NvdW50ZXJOb2RlTWFwKGZhbHNl
KTsKIH0KQEAgLTUwOCwyNSArNTA1LDI0IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZUNvdW50ZXJzKFJl
bmRlckVsZW1lbnQmIHJlbmRlcmVyKQogICAgIGNvbnN0IENvdW50ZXJEaXJlY3RpdmVNYXAqIGRp
cmVjdGl2ZU1hcCA9IHJlbmRlcmVyLnN0eWxlKCkuY291bnRlckRpcmVjdGl2ZXMoKTsKICAgICBp
ZiAoIWRpcmVjdGl2ZU1hcCkKICAgICAgICAgcmV0dXJuOwotICAgIENvdW50ZXJEaXJlY3RpdmVN
YXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGRpcmVjdGl2ZU1hcC0+ZW5kKCk7CiAgICAgaWYgKCFy
ZW5kZXJlci5oYXNDb3VudGVyTm9kZU1hcCgpKSB7Ci0gICAgICAgIGZvciAoQ291bnRlckRpcmVj
dGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBkaXJlY3RpdmVNYXAtPmJlZ2luKCk7IGl0ICE9
IGVuZDsgKytpdCkKLSAgICAgICAgICAgIG1ha2VDb3VudGVyTm9kZShyZW5kZXJlciwgaXQtPmtl
eSwgZmFsc2UpOworICAgICAgICBmb3IgKGF1dG8mIGtleSA6IGRpcmVjdGl2ZU1hcC0+a2V5cygp
KQorICAgICAgICAgICAgbWFrZUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBrZXksIGZhbHNlKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICBDb3VudGVyTWFwKiBjb3VudGVyTWFwID0gY291bnRl
ck1hcHMoKS5nZXQoJnJlbmRlcmVyKTsKICAgICBBU1NFUlQoY291bnRlck1hcCk7Ci0gICAgZm9y
IChDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IGRpcmVjdGl2ZU1hcC0+
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFJlZlB0cjxDb3VudGVyTm9kZT4g
bm9kZSA9IGNvdW50ZXJNYXAtPmdldChpdC0+a2V5KTsKKyAgICBmb3IgKGF1dG8mIGtleSA6IGRp
cmVjdGl2ZU1hcC0+a2V5cygpKSB7CisgICAgICAgIFJlZlB0cjxDb3VudGVyTm9kZT4gbm9kZSA9
IGNvdW50ZXJNYXAtPmdldChrZXkpOwogICAgICAgICBpZiAoIW5vZGUpIHsKLSAgICAgICAgICAg
IG1ha2VDb3VudGVyTm9kZShyZW5kZXJlciwgaXQtPmtleSwgZmFsc2UpOworICAgICAgICAgICAg
bWFrZUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBrZXksIGZhbHNlKTsKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICB9CiAgICAgICAgIFJlZlB0cjxDb3VudGVyTm9kZT4gbmV3UGFyZW50ID0g
MDsKICAgICAgICAgUmVmUHRyPENvdW50ZXJOb2RlPiBuZXdQcmV2aW91c1NpYmxpbmcgPSAwOwog
ICAgICAgICAKLSAgICAgICAgZmluZFBsYWNlRm9yQ291bnRlcihyZW5kZXJlciwgaXQtPmtleSwg
bm9kZS0+aGFzUmVzZXRUeXBlKCksIG5ld1BhcmVudCwgbmV3UHJldmlvdXNTaWJsaW5nKTsKLSAg
ICAgICAgaWYgKG5vZGUgIT0gY291bnRlck1hcC0+Z2V0KGl0LT5rZXkpKQorICAgICAgICBmaW5k
UGxhY2VGb3JDb3VudGVyKHJlbmRlcmVyLCBrZXksIG5vZGUtPmhhc1Jlc2V0VHlwZSgpLCBuZXdQ
YXJlbnQsIG5ld1ByZXZpb3VzU2libGluZyk7CisgICAgICAgIGlmIChub2RlICE9IGNvdW50ZXJN
YXAtPmdldChrZXkpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIENvdW50ZXJOb2Rl
KiBwYXJlbnQgPSBub2RlLT5wYXJlbnQoKTsKICAgICAgICAgaWYgKG5ld1BhcmVudCA9PSBwYXJl
bnQgJiYgbmV3UHJldmlvdXNTaWJsaW5nID09IG5vZGUtPnByZXZpb3VzU2libGluZygpKQpAQCAt
NTM0LDcgKzUzMCw3IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZUNvdW50ZXJzKFJlbmRlckVsZW1lbnQm
IHJlbmRlcmVyKQogICAgICAgICBpZiAocGFyZW50KQogICAgICAgICAgICAgcGFyZW50LT5yZW1v
dmVDaGlsZChub2RlLmdldCgpKTsKICAgICAgICAgaWYgKG5ld1BhcmVudCkKLSAgICAgICAgICAg
IG5ld1BhcmVudC0+aW5zZXJ0QWZ0ZXIobm9kZS5nZXQoKSwgbmV3UHJldmlvdXNTaWJsaW5nLmdl
dCgpLCBpdC0+a2V5KTsKKyAgICAgICAgICAgIG5ld1BhcmVudC0+aW5zZXJ0QWZ0ZXIobm9kZS5n
ZXQoKSwgbmV3UHJldmlvdXNTaWJsaW5nLmdldCgpLCBrZXkpOwogICAgIH0KIH0KIApAQCAtNTY0
LDM2ICs1NjAsMzMgQEAgdm9pZCBSZW5kZXJDb3VudGVyOjpyZW5kZXJlclN0eWxlQ2hhbmdlZChS
ZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgUmVuZGVyU3QKICAgICBjb25zdCBDb3VudGVy
RGlyZWN0aXZlTWFwKiBvbGRDb3VudGVyRGlyZWN0aXZlczsKICAgICBpZiAob2xkU3R5bGUgJiYg
KG9sZENvdW50ZXJEaXJlY3RpdmVzID0gb2xkU3R5bGUtPmNvdW50ZXJEaXJlY3RpdmVzKCkpKSB7
CiAgICAgICAgIGlmIChuZXdTdHlsZSAmJiAobmV3Q291bnRlckRpcmVjdGl2ZXMgPSBuZXdTdHls
ZS0+Y291bnRlckRpcmVjdGl2ZXMoKSkpIHsKLSAgICAgICAgICAgIENvdW50ZXJEaXJlY3RpdmVN
YXA6OmNvbnN0X2l0ZXJhdG9yIG5ld01hcEVuZCA9IG5ld0NvdW50ZXJEaXJlY3RpdmVzLT5lbmQo
KTsKLSAgICAgICAgICAgIENvdW50ZXJEaXJlY3RpdmVNYXA6OmNvbnN0X2l0ZXJhdG9yIG9sZE1h
cEVuZCA9IG9sZENvdW50ZXJEaXJlY3RpdmVzLT5lbmQoKTsKLSAgICAgICAgICAgIGZvciAoQ291
bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBuZXdDb3VudGVyRGlyZWN0aXZl
cy0+YmVnaW4oKTsgaXQgIT0gbmV3TWFwRW5kOyArK2l0KSB7Ci0gICAgICAgICAgICAgICAgQ291
bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3Igb2xkTWFwSXQgPSBvbGRDb3VudGVyRGly
ZWN0aXZlcy0+ZmluZChpdC0+a2V5KTsKLSAgICAgICAgICAgICAgICBpZiAob2xkTWFwSXQgIT0g
b2xkTWFwRW5kKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChvbGRNYXBJdC0+dmFsdWUgPT0g
aXQtPnZhbHVlKQorICAgICAgICAgICAgZm9yIChhdXRvJiBkaXJlY3RpdmUgOiAqbmV3Q291bnRl
ckRpcmVjdGl2ZXMpIHsKKyAgICAgICAgICAgICAgICBhdXRvIG9sZE1hcEl0ID0gb2xkQ291bnRl
ckRpcmVjdGl2ZXMtPmZpbmQoZGlyZWN0aXZlLmtleSk7CisgICAgICAgICAgICAgICAgaWYgKG9s
ZE1hcEl0ICE9IG9sZENvdW50ZXJEaXJlY3RpdmVzLT5lbmQoKSkgeworICAgICAgICAgICAgICAg
ICAgICBpZiAob2xkTWFwSXQtPnZhbHVlID09IGRpcmVjdGl2ZS52YWx1ZSkKICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgICAgICBSZW5kZXJDb3VudGVy
OjpkZXN0cm95Q291bnRlck5vZGUocmVuZGVyZXIsIGl0LT5rZXkpOworICAgICAgICAgICAgICAg
ICAgICBSZW5kZXJDb3VudGVyOjpkZXN0cm95Q291bnRlck5vZGUocmVuZGVyZXIsIGRpcmVjdGl2
ZS5rZXkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAvLyBXZSBtdXN0IGNy
ZWF0ZSB0aGlzIG5vZGUgaGVyZSwgYmVjYXVzZSB0aGUgY2hhbmdlZCBub2RlIG1heSBiZSBhIG5v
ZGUgd2l0aCBubyBkaXNwbGF5IHN1Y2ggYXMKICAgICAgICAgICAgICAgICAvLyBhcyB0aG9zZSBj
cmVhdGVkIGJ5IHRoZSBpbmNyZW1lbnQgb3IgcmVzZXQgZGlyZWN0aXZlcyBhbmQgdGhlIHJlLWxh
eW91dCB0aGF0IHdpbGwgaGFwcGVuIHdpbGwKICAgICAgICAgICAgICAgICAvLyBub3QgY2F0Y2gg
dGhlIGNoYW5nZSBpZiB0aGUgbm9kZSBoYWQgbm8gY2hpbGRyZW4uCi0gICAgICAgICAgICAgICAg
bWFrZUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBpdC0+a2V5LCBmYWxzZSk7CisgICAgICAgICAgICAg
ICAgbWFrZUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBkaXJlY3RpdmUua2V5LCBmYWxzZSk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAvLyBEZXN0cm95aW5nIG9sZCBjb3VudGVycyB0aGF0IGRv
IG5vdCBleGlzdCBpbiB0aGUgbmV3IGNvdW50ZXJEaXJlY3RpdmUgbWFwLgotICAgICAgICAgICAg
Zm9yIChDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG9sZENvdW50ZXJE
aXJlY3RpdmVzLT5iZWdpbigpOyBpdCAhPW9sZE1hcEVuZDsgKytpdCkgewotICAgICAgICAgICAg
ICAgIGlmICghbmV3Q291bnRlckRpcmVjdGl2ZXMtPmNvbnRhaW5zKGl0LT5rZXkpKQotICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJDb3VudGVyOjpkZXN0cm95Q291bnRlck5vZGUocmVuZGVyZXIs
IGl0LT5rZXkpOworICAgICAgICAgICAgZm9yIChhdXRvJiBrZXkgOiBvbGRDb3VudGVyRGlyZWN0
aXZlcy0+a2V5cygpKSB7CisgICAgICAgICAgICAgICAgaWYgKCFuZXdDb3VudGVyRGlyZWN0aXZl
cy0+Y29udGFpbnMoa2V5KSkKKyAgICAgICAgICAgICAgICAgICAgUmVuZGVyQ291bnRlcjo6ZGVz
dHJveUNvdW50ZXJOb2RlKHJlbmRlcmVyLCBrZXkpOwogICAgICAgICAgICAgfQogICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgaWYgKHJlbmRlcmVyLmhhc0NvdW50ZXJOb2RlTWFwKCkpCiAg
ICAgICAgICAgICAgICAgUmVuZGVyQ291bnRlcjo6ZGVzdHJveUNvdW50ZXJOb2RlcyhyZW5kZXJl
cik7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG5ld1N0eWxlICYmIChuZXdDb3VudGVyRGly
ZWN0aXZlcyA9IG5ld1N0eWxlLT5jb3VudGVyRGlyZWN0aXZlcygpKSkgewotICAgICAgICBDb3Vu
dGVyRGlyZWN0aXZlTWFwOjpjb25zdF9pdGVyYXRvciBuZXdNYXBFbmQgPSBuZXdDb3VudGVyRGly
ZWN0aXZlcy0+ZW5kKCk7Ci0gICAgICAgIGZvciAoQ291bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3Rf
aXRlcmF0b3IgaXQgPSBuZXdDb3VudGVyRGlyZWN0aXZlcy0+YmVnaW4oKTsgaXQgIT0gbmV3TWFw
RW5kOyArK2l0KSB7CisgICAgICAgIGZvciAoYXV0byYga2V5IDogbmV3Q291bnRlckRpcmVjdGl2
ZXMtPmtleXMoKSkgewogICAgICAgICAgICAgLy8gV2UgbXVzdCBjcmVhdGUgdGhpcyBub2RlIGhl
cmUsIGJlY2F1c2UgdGhlIGFkZGVkIG5vZGUgbWF5IGJlIGEgbm9kZSB3aXRoIG5vIGRpc3BsYXkg
c3VjaCBhcwogICAgICAgICAgICAgLy8gYXMgdGhvc2UgY3JlYXRlZCBieSB0aGUgaW5jcmVtZW50
IG9yIHJlc2V0IGRpcmVjdGl2ZXMgYW5kIHRoZSByZS1sYXlvdXQgdGhhdCB3aWxsIGhhcHBlbiB3
aWxsCiAgICAgICAgICAgICAvLyBub3QgY2F0Y2ggdGhlIGNoYW5nZSBpZiB0aGUgbm9kZSBoYWQg
bm8gY2hpbGRyZW4uCi0gICAgICAgICAgICBtYWtlQ291bnRlck5vZGUocmVuZGVyZXIsIGl0LT5r
ZXksIGZhbHNlKTsKKyAgICAgICAgICAgIG1ha2VDb3VudGVyTm9kZShyZW5kZXJlciwga2V5LCBm
YWxzZSk7CiAgICAgICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCAwZDVhMDM2YTU3ZThjNDhlODE1ZmU1Yjg5ZGEy
NzUxODVkMGY1ZmVmLi41NTE2MDUyOGZhZWMzNmFhNTU2NzQyMjZhNTFkYTVhMDU4YjU3NThkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAg
LTcxMyw4ICs3MTMsNyBAQCBMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjphdXRvTWFyZ2lu
T2Zmc2V0SW5NYWluQXhpcyhjb25zdCBPcmRlcmVkRmxleEl0ZW1MaQogCiAgICAgaW50IG51bWJl
ck9mQXV0b01hcmdpbnMgPSAwOwogICAgIGJvb2wgaXNIb3Jpem9udGFsID0gaXNIb3Jpem9udGFs
RmxvdygpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2hpbGRyZW4uc2l6ZSgpOyArK2kp
IHsKLSAgICAgICAgUmVuZGVyQm94KiBjaGlsZCA9IGNoaWxkcmVuW2ldOworICAgIGZvciAoYXV0
byYgY2hpbGQgOiBjaGlsZHJlbikgewogICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9z
aXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmIChpc0hvcml6b250
YWwpIHsKQEAgLTg5OCw5ICs4OTcsOSBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRl
TmV4dEZsZXhMaW5lKE9yZGVyZWRGbGV4SXRlbUxpc3QmIG9yZGVyZWRDaGlsZHJlbgogCiB2b2lk
IFJlbmRlckZsZXhpYmxlQm94OjpmcmVlemVWaW9sYXRpb25zKGNvbnN0IFZlY3RvcjxWaW9sYXRp
b24+JiB2aW9sYXRpb25zLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGRvdWJsZSYg
dG90YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJs
ZUZsZXhJdGVtU2l6ZSYgaW5mbGV4aWJsZUl0ZW1zLCBib29sIGhhc0luZmluaXRlTGluZUxlbmd0
aCkKIHsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHZpb2xhdGlvbnMuc2l6ZSgpOyArK2kp
IHsKLSAgICAgICAgUmVuZGVyQm94JiBjaGlsZCA9IHZpb2xhdGlvbnNbaV0uY2hpbGQ7Ci0gICAg
ICAgIExheW91dFVuaXQgY2hpbGRTaXplID0gdmlvbGF0aW9uc1tpXS5jaGlsZFNpemU7CisgICAg
Zm9yIChhdXRvJiB2aW9sYXRpb24gOiB2aW9sYXRpb25zKSB7CisgICAgICAgIFJlbmRlckJveCYg
Y2hpbGQgPSB2aW9sYXRpb24uY2hpbGQ7CisgICAgICAgIExheW91dFVuaXQgY2hpbGRTaXplID0g
dmlvbGF0aW9uLmNoaWxkU2l6ZTsKICAgICAgICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRDaGlsZFNp
emUgPSBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZChjaGlsZCwgaGFzSW5m
aW5pdGVMaW5lTGVuZ3RoKTsKICAgICAgICAgYXZhaWxhYmxlRnJlZVNwYWNlIC09IGNoaWxkU2l6
ZSAtIHByZWZlcnJlZENoaWxkU2l6ZTsKICAgICAgICAgdG90YWxGbGV4R3JvdyAtPSBjaGlsZC5z
dHlsZSgpLmZsZXhHcm93KCk7CkBAIC05MTcsMzUgKzkxNiwzNCBAQCBib29sIFJlbmRlckZsZXhp
YmxlQm94OjpyZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduIGZsZXhTaWduLCBjb25zdCBP
cmRlcmVkRgogICAgIExheW91dFVuaXQgdXNlZEZyZWVTcGFjZSA9IDA7CiAgICAgVmVjdG9yPFZp
b2xhdGlvbj4gbWluVmlvbGF0aW9uczsKICAgICBWZWN0b3I8VmlvbGF0aW9uPiBtYXhWaW9sYXRp
b25zOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2hpbGRyZW4uc2l6ZSgpOyArK2kpIHsK
LSAgICAgICAgUmVuZGVyQm94JiBjaGlsZCA9ICpjaGlsZHJlbltpXTsKLSAgICAgICAgaWYgKGNo
aWxkLmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKSB7CisgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNo
aWxkcmVuKSB7CisgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpIHsK
ICAgICAgICAgICAgIGNoaWxkU2l6ZXMuYXBwZW5kKDApOwogICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoaW5mbGV4aWJsZUl0ZW1zLmNvbnRhaW5zKCZjaGls
ZCkpCi0gICAgICAgICAgICBjaGlsZFNpemVzLmFwcGVuZChpbmZsZXhpYmxlSXRlbXMuZ2V0KCZj
aGlsZCkpOworICAgICAgICBpZiAoaW5mbGV4aWJsZUl0ZW1zLmNvbnRhaW5zKGNoaWxkKSkKKyAg
ICAgICAgICAgIGNoaWxkU2l6ZXMuYXBwZW5kKGluZmxleGlibGVJdGVtcy5nZXQoY2hpbGQpKTsK
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBMYXlvdXRVbml0IHByZWZlcnJlZENoaWxkU2l6
ZSA9IHByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKGNoaWxkLCBoYXNJbmZp
bml0ZUxpbmVMZW5ndGgpOworICAgICAgICAgICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRDaGlsZFNp
emUgPSBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZCgqY2hpbGQsIGhhc0lu
ZmluaXRlTGluZUxlbmd0aCk7CiAgICAgICAgICAgICBMYXlvdXRVbml0IGNoaWxkU2l6ZSA9IHBy
ZWZlcnJlZENoaWxkU2l6ZTsKICAgICAgICAgICAgIGRvdWJsZSBleHRyYVNwYWNlID0gMDsKICAg
ICAgICAgICAgIGlmIChhdmFpbGFibGVGcmVlU3BhY2UgPiAwICYmIHRvdGFsRmxleEdyb3cgPiAw
ICYmIGZsZXhTaWduID09IFBvc2l0aXZlRmxleGliaWxpdHkgJiYgc3RkOjppc2Zpbml0ZSh0b3Rh
bEZsZXhHcm93KSkKLSAgICAgICAgICAgICAgICBleHRyYVNwYWNlID0gYXZhaWxhYmxlRnJlZVNw
YWNlICogY2hpbGQuc3R5bGUoKS5mbGV4R3JvdygpIC8gdG90YWxGbGV4R3JvdzsKKyAgICAgICAg
ICAgICAgICBleHRyYVNwYWNlID0gYXZhaWxhYmxlRnJlZVNwYWNlICogY2hpbGQtPnN0eWxlKCku
ZmxleEdyb3coKSAvIHRvdGFsRmxleEdyb3c7CiAgICAgICAgICAgICBlbHNlIGlmIChhdmFpbGFi
bGVGcmVlU3BhY2UgPCAwICYmIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rID4gMCAmJiBmbGV4U2ln
biA9PSBOZWdhdGl2ZUZsZXhpYmlsaXR5ICYmIHN0ZDo6aXNmaW5pdGUodG90YWxXZWlnaHRlZEZs
ZXhTaHJpbmspKQotICAgICAgICAgICAgICAgIGV4dHJhU3BhY2UgPSBhdmFpbGFibGVGcmVlU3Bh
Y2UgKiBjaGlsZC5zdHlsZSgpLmZsZXhTaHJpbmsoKSAqIHByZWZlcnJlZENoaWxkU2l6ZSAvIHRv
dGFsV2VpZ2h0ZWRGbGV4U2hyaW5rOworICAgICAgICAgICAgICAgIGV4dHJhU3BhY2UgPSBhdmFp
bGFibGVGcmVlU3BhY2UgKiBjaGlsZC0+c3R5bGUoKS5mbGV4U2hyaW5rKCkgKiBwcmVmZXJyZWRD
aGlsZFNpemUgLyB0b3RhbFdlaWdodGVkRmxleFNocmluazsKICAgICAgICAgICAgIGlmIChzdGQ6
OmlzZmluaXRlKGV4dHJhU3BhY2UpKQogICAgICAgICAgICAgICAgIGNoaWxkU2l6ZSArPSBMYXlv
dXRVbml0Ojpmcm9tRmxvYXRSb3VuZChleHRyYVNwYWNlKTsKIAotICAgICAgICAgICAgTGF5b3V0
VW5pdCBhZGp1c3RlZENoaWxkU2l6ZSA9IGFkanVzdENoaWxkU2l6ZUZvck1pbkFuZE1heChjaGls
ZCwgY2hpbGRTaXplKTsKKyAgICAgICAgICAgIExheW91dFVuaXQgYWRqdXN0ZWRDaGlsZFNpemUg
PSBhZGp1c3RDaGlsZFNpemVGb3JNaW5BbmRNYXgoKmNoaWxkLCBjaGlsZFNpemUpOwogICAgICAg
ICAgICAgY2hpbGRTaXplcy5hcHBlbmQoYWRqdXN0ZWRDaGlsZFNpemUpOwogICAgICAgICAgICAg
dXNlZEZyZWVTcGFjZSArPSBhZGp1c3RlZENoaWxkU2l6ZSAtIHByZWZlcnJlZENoaWxkU2l6ZTsK
IAogICAgICAgICAgICAgTGF5b3V0VW5pdCB2aW9sYXRpb24gPSBhZGp1c3RlZENoaWxkU2l6ZSAt
IGNoaWxkU2l6ZTsKICAgICAgICAgICAgIGlmICh2aW9sYXRpb24gPiAwKQotICAgICAgICAgICAg
ICAgIG1pblZpb2xhdGlvbnMuYXBwZW5kKFZpb2xhdGlvbihjaGlsZCwgYWRqdXN0ZWRDaGlsZFNp
emUpKTsKKyAgICAgICAgICAgICAgICBtaW5WaW9sYXRpb25zLmFwcGVuZChWaW9sYXRpb24oKmNo
aWxkLCBhZGp1c3RlZENoaWxkU2l6ZSkpOwogICAgICAgICAgICAgZWxzZSBpZiAodmlvbGF0aW9u
IDwgMCkKLSAgICAgICAgICAgICAgICBtYXhWaW9sYXRpb25zLmFwcGVuZChWaW9sYXRpb24oY2hp
bGQsIGFkanVzdGVkQ2hpbGRTaXplKSk7CisgICAgICAgICAgICAgICAgbWF4VmlvbGF0aW9ucy5h
cHBlbmQoVmlvbGF0aW9uKCpjaGlsZCwgYWRqdXN0ZWRDaGlsZFNpemUpKTsKICAgICAgICAgICAg
IHRvdGFsVmlvbGF0aW9uICs9IHZpb2xhdGlvbjsKICAgICAgICAgfQogICAgIH0KQEAgLTEwMzAs
OCArMTAyOCw3IEBAIEl0ZW1Qb3NpdGlvbiBSZW5kZXJGbGV4aWJsZUJveDo6YWxpZ25tZW50Rm9y
Q2hpbGQoUmVuZGVyQm94JiBjaGlsZCkgY29uc3QKIHNpemVfdCBSZW5kZXJGbGV4aWJsZUJveDo6
bnVtYmVyT2ZJbkZsb3dQb3NpdGlvbmVkQ2hpbGRyZW4oY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlz
dCYgY2hpbGRyZW4pIGNvbnN0CiB7CiAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGNoaWxkcmVuLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIFJlbmRlckJv
eCogY2hpbGQgPSBjaGlsZHJlbltpXTsKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW4p
IHsKICAgICAgICAgaWYgKCFjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAg
ICAgICArK2NvdW50OwogICAgIH0KQEAgLTExNTUsMTcgKzExNTIsMTYgQEAgdm9pZCBSZW5kZXJG
bGV4aWJsZUJveDo6bGF5b3V0Q29sdW1uUmV2ZXJzZShjb25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0
JiBjaGlsZHJlbiwKICAgICBtYWluQXhpc09mZnNldCAtPSBpc0hvcml6b250YWxGbG93KCkgPyB2
ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCkgOiBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCk7CiAK
ICAgICBzaXplX3Qgc2VlbkluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbiA9IDA7Ci0gICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBjaGlsZHJlbi5zaXplKCk7ICsraSkgewotICAgICAgICBSZW5kZXJC
b3gmIGNoaWxkID0gKmNoaWxkcmVuW2ldOwotICAgICAgICBpZiAoY2hpbGQuaXNPdXRPZkZsb3dQ
b3NpdGlvbmVkKCkpIHsKLSAgICAgICAgICAgIGNoaWxkLmxheWVyKCktPnNldFN0YXRpY0Jsb2Nr
UG9zaXRpb24obWFpbkF4aXNPZmZzZXQpOworICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJl
bikgeworICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKSB7CisgICAg
ICAgICAgICBjaGlsZC0+bGF5ZXIoKS0+c2V0U3RhdGljQmxvY2tQb3NpdGlvbihtYWluQXhpc09m
ZnNldCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAgICBtYWluQXhp
c09mZnNldCAtPSBtYWluQXhpc0V4dGVudEZvckNoaWxkKGNoaWxkKSArIGZsb3dBd2FyZU1hcmdp
bkVuZEZvckNoaWxkKGNoaWxkKTsKKyAgICAgICAgbWFpbkF4aXNPZmZzZXQgLT0gbWFpbkF4aXNF
eHRlbnRGb3JDaGlsZCgqY2hpbGQpICsgZmxvd0F3YXJlTWFyZ2luRW5kRm9yQ2hpbGQoKmNoaWxk
KTsKIAotICAgICAgICBzZXRGbG93QXdhcmVMb2NhdGlvbkZvckNoaWxkKGNoaWxkLCBMYXlvdXRQ
b2ludChtYWluQXhpc09mZnNldCwgY3Jvc3NBeGlzT2Zmc2V0ICsgZmxvd0F3YXJlTWFyZ2luQmVm
b3JlRm9yQ2hpbGQoY2hpbGQpKSk7CisgICAgICAgIHNldEZsb3dBd2FyZUxvY2F0aW9uRm9yQ2hp
bGQoKmNoaWxkLCBMYXlvdXRQb2ludChtYWluQXhpc09mZnNldCwgY3Jvc3NBeGlzT2Zmc2V0ICsg
Zmxvd0F3YXJlTWFyZ2luQmVmb3JlRm9yQ2hpbGQoKmNoaWxkKSkpOwogCi0gICAgICAgIG1haW5B
eGlzT2Zmc2V0IC09IGZsb3dBd2FyZU1hcmdpblN0YXJ0Rm9yQ2hpbGQoY2hpbGQpOworICAgICAg
ICBtYWluQXhpc09mZnNldCAtPSBmbG93QXdhcmVNYXJnaW5TdGFydEZvckNoaWxkKCpjaGlsZCk7
CiAKICAgICAgICAgKytzZWVuSW5GbG93UG9zaXRpb25lZENoaWxkcmVuOwogICAgICAgICBpZiAo
c2VlbkluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbiA8IG51bWJlck9mQ2hpbGRyZW5Gb3JKdXN0aWZ5
Q29udGVudCkKQEAgLTEyMDksMTggKzEyMDUsMTggQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6
YWxpZ25GbGV4TGluZXMoVmVjdG9yPExpbmVDb250ZXh0PiYgbGluZUNvbnRleHRzKQogICAgICAg
ICByZXR1cm47CiAKICAgICBMYXlvdXRVbml0IGF2YWlsYWJsZUNyb3NzQXhpc1NwYWNlID0gY3Jv
c3NBeGlzQ29udGVudEV4dGVudCgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGluZUNv
bnRleHRzLnNpemUoKTsgKytpKQotICAgICAgICBhdmFpbGFibGVDcm9zc0F4aXNTcGFjZSAtPSBs
aW5lQ29udGV4dHNbaV0uY3Jvc3NBeGlzRXh0ZW50OworICAgIGZvciAoYXV0byYgbGluZUNvbnRl
eHQgOiBsaW5lQ29udGV4dHMpCisgICAgICAgIGF2YWlsYWJsZUNyb3NzQXhpc1NwYWNlIC09IGxp
bmVDb250ZXh0LmNyb3NzQXhpc0V4dGVudDsKIAogICAgIFJlbmRlckJveCogY2hpbGQgPSBtX29y
ZGVySXRlcmF0b3IuZmlyc3QoKTsKICAgICBMYXlvdXRVbml0IGxpbmVPZmZzZXQgPSBpbml0aWFs
QWxpZ25Db250ZW50T2Zmc2V0KGF2YWlsYWJsZUNyb3NzQXhpc1NwYWNlLCBwb3NpdGlvbiwgZGlz
dHJpYnV0aW9uLCBsaW5lQ29udGV4dHMuc2l6ZSgpKTsKLSAgICBmb3IgKHVuc2lnbmVkIGxpbmVO
dW1iZXIgPSAwOyBsaW5lTnVtYmVyIDwgbGluZUNvbnRleHRzLnNpemUoKTsgKytsaW5lTnVtYmVy
KSB7Ci0gICAgICAgIGxpbmVDb250ZXh0c1tsaW5lTnVtYmVyXS5jcm9zc0F4aXNPZmZzZXQgKz0g
bGluZU9mZnNldDsKLSAgICAgICAgZm9yIChzaXplX3QgY2hpbGROdW1iZXIgPSAwOyBjaGlsZE51
bWJlciA8IGxpbmVDb250ZXh0c1tsaW5lTnVtYmVyXS5udW1iZXJPZkNoaWxkcmVuOyArK2NoaWxk
TnVtYmVyLCBjaGlsZCA9IG1fb3JkZXJJdGVyYXRvci5uZXh0KCkpCisgICAgZm9yIChhdXRvJiBs
aW5lQ29udGV4dCA6IGxpbmVDb250ZXh0cykgeworICAgICAgICBsaW5lQ29udGV4dC5jcm9zc0F4
aXNPZmZzZXQgKz0gbGluZU9mZnNldDsKKyAgICAgICAgZm9yIChzaXplX3QgY2hpbGROdW1iZXIg
PSAwOyBjaGlsZE51bWJlciA8IGxpbmVDb250ZXh0Lm51bWJlck9mQ2hpbGRyZW47ICsrY2hpbGRO
dW1iZXIsIGNoaWxkID0gbV9vcmRlckl0ZXJhdG9yLm5leHQoKSkKICAgICAgICAgICAgIGFkanVz
dEFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgbGluZU9mZnNldCk7CiAKICAgICAgICAgaWYgKGRp
c3RyaWJ1dGlvbiA9PSBDb250ZW50RGlzdHJpYnV0aW9uU3RyZXRjaCAmJiBhdmFpbGFibGVDcm9z
c0F4aXNTcGFjZSA+IDApCi0gICAgICAgICAgICBsaW5lQ29udGV4dHNbbGluZU51bWJlcl0uY3Jv
c3NBeGlzRXh0ZW50ICs9IGF2YWlsYWJsZUNyb3NzQXhpc1NwYWNlIC8gc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KGxpbmVDb250ZXh0cy5zaXplKCkpOworICAgICAgICAgICAgbGluZUNvbnRleHQuY3Jv
c3NBeGlzRXh0ZW50ICs9IGF2YWlsYWJsZUNyb3NzQXhpc1NwYWNlIC8gc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KGxpbmVDb250ZXh0cy5zaXplKCkpOwogCiAgICAgICAgIGxpbmVPZmZzZXQgKz0gYWxp
Z25Db250ZW50U3BhY2VCZXR3ZWVuQ2hpbGRyZW4oYXZhaWxhYmxlQ3Jvc3NBeGlzU3BhY2UsIGRp
c3RyaWJ1dGlvbiwgbGluZUNvbnRleHRzLnNpemUoKSk7CiAgICAgfQpAQCAtMTI0NywxMiArMTI0
MywxMiBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjphbGlnbkNoaWxkcmVuKGNvbnN0IFZlY3Rv
cjxMaW5lQ29udGV4dD4mIGxpbmVDb250ZXh0cykKICAgICBWZWN0b3I8TGF5b3V0VW5pdD4gbWlu
TWFyZ2luQWZ0ZXJCYXNlbGluZXM7CiAKICAgICBSZW5kZXJCb3gqIGNoaWxkID0gbV9vcmRlckl0
ZXJhdG9yLmZpcnN0KCk7Ci0gICAgZm9yIChzaXplX3QgbGluZU51bWJlciA9IDA7IGxpbmVOdW1i
ZXIgPCBsaW5lQ29udGV4dHMuc2l6ZSgpOyArK2xpbmVOdW1iZXIpIHsKKyAgICBmb3IgKGF1dG8m
IGxpbmVDb250ZXh0IDogbGluZUNvbnRleHRzKSB7CiAgICAgICAgIExheW91dFVuaXQgbWluTWFy
Z2luQWZ0ZXJCYXNlbGluZSA9IExheW91dFVuaXQ6Om1heCgpOwotICAgICAgICBMYXlvdXRVbml0
IGxpbmVDcm9zc0F4aXNFeHRlbnQgPSBsaW5lQ29udGV4dHNbbGluZU51bWJlcl0uY3Jvc3NBeGlz
RXh0ZW50OwotICAgICAgICBMYXlvdXRVbml0IG1heEFzY2VudCA9IGxpbmVDb250ZXh0c1tsaW5l
TnVtYmVyXS5tYXhBc2NlbnQ7CisgICAgICAgIExheW91dFVuaXQgbGluZUNyb3NzQXhpc0V4dGVu
dCA9IGxpbmVDb250ZXh0LmNyb3NzQXhpc0V4dGVudDsKKyAgICAgICAgTGF5b3V0VW5pdCBtYXhB
c2NlbnQgPSBsaW5lQ29udGV4dC5tYXhBc2NlbnQ7CiAKLSAgICAgICAgZm9yIChzaXplX3QgY2hp
bGROdW1iZXIgPSAwOyBjaGlsZE51bWJlciA8IGxpbmVDb250ZXh0c1tsaW5lTnVtYmVyXS5udW1i
ZXJPZkNoaWxkcmVuOyArK2NoaWxkTnVtYmVyLCBjaGlsZCA9IG1fb3JkZXJJdGVyYXRvci5uZXh0
KCkpIHsKKyAgICAgICAgZm9yIChzaXplX3QgY2hpbGROdW1iZXIgPSAwOyBjaGlsZE51bWJlciA8
IGxpbmVDb250ZXh0Lm51bWJlck9mQ2hpbGRyZW47ICsrY2hpbGROdW1iZXIsIGNoaWxkID0gbV9v
cmRlckl0ZXJhdG9yLm5leHQoKSkgewogICAgICAgICAgICAgQVNTRVJUKGNoaWxkKTsKICAgICAg
ICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpIHsKICAgICAgICAgICAg
ICAgICBpZiAoc3R5bGUoKS5mbGV4V3JhcCgpID09IEZsZXhXcmFwUmV2ZXJzZSkKQEAgLTEzODAs
MTEgKzEzNzYsMTEgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6ZmxpcEZvcldyYXBSZXZlcnNl
KGNvbnN0IFZlY3RvcjxMaW5lQ29udGV4dD4mIGxpbmVDb250ZXgKIHsKICAgICBMYXlvdXRVbml0
IGNvbnRlbnRFeHRlbnQgPSBjcm9zc0F4aXNDb250ZW50RXh0ZW50KCk7CiAgICAgUmVuZGVyQm94
KiBjaGlsZCA9IG1fb3JkZXJJdGVyYXRvci5maXJzdCgpOwotICAgIGZvciAoc2l6ZV90IGxpbmVO
dW1iZXIgPSAwOyBsaW5lTnVtYmVyIDwgbGluZUNvbnRleHRzLnNpemUoKTsgKytsaW5lTnVtYmVy
KSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGNoaWxkTnVtYmVyID0gMDsgY2hpbGROdW1iZXIgPCBs
aW5lQ29udGV4dHNbbGluZU51bWJlcl0ubnVtYmVyT2ZDaGlsZHJlbjsgKytjaGlsZE51bWJlciwg
Y2hpbGQgPSBtX29yZGVySXRlcmF0b3IubmV4dCgpKSB7CisgICAgZm9yIChhdXRvJiBsaW5lQ29u
dGV4dCA6IGxpbmVDb250ZXh0cykgeworICAgICAgICBmb3IgKHNpemVfdCBjaGlsZE51bWJlciA9
IDA7IGNoaWxkTnVtYmVyIDwgbGluZUNvbnRleHQubnVtYmVyT2ZDaGlsZHJlbjsgKytjaGlsZE51
bWJlciwgY2hpbGQgPSBtX29yZGVySXRlcmF0b3IubmV4dCgpKSB7CiAgICAgICAgICAgICBBU1NF
UlQoY2hpbGQpOwotICAgICAgICAgICAgTGF5b3V0VW5pdCBsaW5lQ3Jvc3NBeGlzRXh0ZW50ID0g
bGluZUNvbnRleHRzW2xpbmVOdW1iZXJdLmNyb3NzQXhpc0V4dGVudDsKLSAgICAgICAgICAgIExh
eW91dFVuaXQgb3JpZ2luYWxPZmZzZXQgPSBsaW5lQ29udGV4dHNbbGluZU51bWJlcl0uY3Jvc3NB
eGlzT2Zmc2V0IC0gY3Jvc3NBeGlzU3RhcnRFZGdlOworICAgICAgICAgICAgTGF5b3V0VW5pdCBs
aW5lQ3Jvc3NBeGlzRXh0ZW50ID0gbGluZUNvbnRleHQuY3Jvc3NBeGlzRXh0ZW50OworICAgICAg
ICAgICAgTGF5b3V0VW5pdCBvcmlnaW5hbE9mZnNldCA9IGxpbmVDb250ZXh0LmNyb3NzQXhpc09m
ZnNldCAtIGNyb3NzQXhpc1N0YXJ0RWRnZTsKICAgICAgICAgICAgIExheW91dFVuaXQgbmV3T2Zm
c2V0ID0gY29udGVudEV4dGVudCAtIG9yaWdpbmFsT2Zmc2V0IC0gbGluZUNyb3NzQXhpc0V4dGVu
dDsKICAgICAgICAgICAgIGFkanVzdEFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgbmV3T2Zmc2V0
IC0gb3JpZ2luYWxPZmZzZXQpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5kZXggYzJhM2Q3ODk4ZGI2OWViNTZhNGY1ZmJjZjI1
ZDg1MWYxOTBhNzdkNy4uZGVjYzQ4N2MzYjE5MzA5YmU1ZDMzYTcyMmZmM2MxNmNiMzJhOWNhMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcApAQCAt
Mjk5LDggKzI5OSw4IEBAIGJvb2wgUmVuZGVyRmxvd1RocmVhZDo6dXBkYXRlQWxsTGF5ZXJUb1Jl
Z2lvbk1hcHBpbmdzKCkKICAgICBSZW5kZXJMYXllckxpc3QqIGxpc3RzW10gPSB7IGxheWVyKCkt
Pm5lZ1pPcmRlckxpc3QoKSwgbGF5ZXIoKS0+bm9ybWFsRmxvd0xpc3QoKSwgbGF5ZXIoKS0+cG9z
Wk9yZGVyTGlzdCgpIH07CiAgICAgZm9yIChzaXplX3QgbGlzdEluZGV4ID0gMDsgbGlzdEluZGV4
IDwgc2l6ZW9mKGxpc3RzKSAvIHNpemVvZihsaXN0c1swXSk7ICsrbGlzdEluZGV4KSB7CiAgICAg
ICAgIGlmIChSZW5kZXJMYXllckxpc3QqIGxpc3QgPSBsaXN0c1tsaXN0SW5kZXhdKSB7Ci0gICAg
ICAgICAgICBmb3IgKHNpemVfdCBpID0gMCwgbGlzdFNpemUgPSBsaXN0LT5zaXplKCk7IGkgPCBs
aXN0U2l6ZTsgKytpKQotICAgICAgICAgICAgICAgIHVwZGF0ZUxheWVyVG9SZWdpb25NYXBwaW5n
cygqbGlzdC0+YXQoaSksIGxheWVyVG9SZWdpb25NYXAsIHJlZ2lvblRvTGF5ZXJMaXN0TWFwLCBu
ZWVkc0xheWVyVXBkYXRlKTsKKyAgICAgICAgICAgIGZvciAoYXV0byYgbGF5ZXIgOiAqbGlzdCkK
KyAgICAgICAgICAgICAgICB1cGRhdGVMYXllclRvUmVnaW9uTWFwcGluZ3MoKmxheWVyLCBsYXll
clRvUmVnaW9uTWFwLCByZWdpb25Ub0xheWVyTGlzdE1hcCwgbmVlZHNMYXllclVwZGF0ZSk7CiAg
ICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5j
cHAKaW5kZXggNjZmMmRjNjE4ZWJhM2UzYTkzZjQ4ZTNhN2E5ODY3OWRmZmM4ODJjMi4uZGIwYTY5
MGJkYjc2NmFjNTQ3NThhNDVhNGE1ZTZlNmVjNzMxZjFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlcklubGluZS5jcHAKQEAgLTE3MDcsMTAgKzE3MDcsNyBAQCB2b2lkIFJlbmRl
cklubGluZTo6YWRkQW5ub3RhdGVkUmVnaW9ucyhWZWN0b3I8QW5ub3RhdGVkUmVnaW9uVmFsdWU+
JiByZWdpb25zKQogICAgICAgICByZXR1cm47CiAKICAgICBjb25zdCBWZWN0b3I8U3R5bGVEYXNo
Ym9hcmRSZWdpb24+JiBzdHlsZVJlZ2lvbnMgPSBzdHlsZSgpLmRhc2hib2FyZFJlZ2lvbnMoKTsK
LSAgICB1bnNpZ25lZCBpLCBjb3VudCA9IHN0eWxlUmVnaW9ucy5zaXplKCk7Ci0gICAgZm9yIChp
ID0gMDsgaSA8IGNvdW50OyBpKyspIHsKLSAgICAgICAgU3R5bGVEYXNoYm9hcmRSZWdpb24gc3R5
bGVSZWdpb24gPSBzdHlsZVJlZ2lvbnNbaV07Ci0KKyAgICBmb3IgKGF1dG8mIHN0eWxlUmVnaW9u
IDogc3R5bGVSZWdpb25zKSB7CiAgICAgICAgIExheW91dFJlY3QgbGluZXNCb3VuZGluZ0JveCA9
IHRoaXMtPmxpbmVzQm91bmRpbmdCb3goKTsKICAgICAgICAgTGF5b3V0VW5pdCB3ID0gbGluZXNC
b3VuZGluZ0JveC53aWR0aCgpOwogICAgICAgICBMYXlvdXRVbml0IGggPSBsaW5lc0JvdW5kaW5n
Qm94LmhlaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5k
ZXggMzhmM2I0MWQ0ZjRlMDNiYzAzYzRmMDI2MDI2OGExYjJiY2VjNTNjMC4uNTE3NTQxNThhZTNm
YTlhMjBlMjhhNzA0ZmQxZTM3ZWY0ZDA3NGUyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCkBAIC03MjksMTAgKzcyOSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVw
ZGF0ZURlc2NlbmRhbnRzQXJlQ29udGlndW91c0luU3RhY2tpbmdPcmRlcigpCiAgICAgfQogCiAg
ICAgaWYgKHBvc1pPcmRlckxpc3QpIHsKLSAgICAgICAgc2l6ZV90IGxpc3RTaXplID0gcG9zWk9y
ZGVyTGlzdC0+c2l6ZSgpOwogICAgICAgICBpbnQgc3RhY2tpbmdPcmRlckluZGV4ID0gMTsKLSAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytpKSB7Ci0gICAgICAgICAg
ICBSZW5kZXJMYXllciogY3VycmVudExheWVyID0gcG9zWk9yZGVyTGlzdC0+YXQoaSk7CisgICAg
ICAgIGZvciAoYXV0byYgY3VycmVudExheWVyIDogKnBvc1pPcmRlckxpc3QpIHsKICAgICAgICAg
ICAgIGlmICghY3VycmVudExheWVyLT5pc1N0YWNraW5nQ29udGV4dCgpKQogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgbG9va3VwLnNldChjdXJyZW50TGF5ZXIsIHN0YWNr
aW5nT3JkZXJJbmRleCsrKTsKQEAgLTExODYsOSArMTE4NCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnVwZGF0ZURlc2NlbmRhbnREZXBlbmRlbnRGbGFncyhIYXNoU2V0PGNvbnN0IFJlbmRlck9iamVj
dCo+KiBvCiAgICAgICAgICAgICAgICAgY2hpbGRPdXRPZkZsb3dEZXNjZW5kYW50Q29udGFpbmlu
Z0Jsb2Nrcy5hZGQoY2hpbGQtPnJlbmRlcmVyKCkuY29udGFpbmluZ0Jsb2NrKCkpOwogCiAgICAg
ICAgICAgICBpZiAob3V0T2ZGbG93RGVzY2VuZGFudENvbnRhaW5pbmdCbG9ja3MpIHsKLSAgICAg
ICAgICAgICAgICBIYXNoU2V0PGNvbnN0IFJlbmRlck9iamVjdCo+Ojpjb25zdF9pdGVyYXRvciBp
dCA9IGNoaWxkT3V0T2ZGbG93RGVzY2VuZGFudENvbnRhaW5pbmdCbG9ja3MuYmVnaW4oKTsKLSAg
ICAgICAgICAgICAgICBmb3IgKDsgaXQgIT0gY2hpbGRPdXRPZkZsb3dEZXNjZW5kYW50Q29udGFp
bmluZ0Jsb2Nrcy5lbmQoKTsgKytpdCkKLSAgICAgICAgICAgICAgICAgICAgb3V0T2ZGbG93RGVz
Y2VuZGFudENvbnRhaW5pbmdCbG9ja3MtPmFkZCgqaXQpOworICAgICAgICAgICAgICAgIGZvciAo
YXV0byYgYmxvY2sgOiBjaGlsZE91dE9mRmxvd0Rlc2NlbmRhbnRDb250YWluaW5nQmxvY2tzKQor
ICAgICAgICAgICAgICAgICAgICBvdXRPZkZsb3dEZXNjZW5kYW50Q29udGFpbmluZ0Jsb2Nrcy0+
YWRkKGJsb2NrKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgaGFzVmlzaWJsZURlc2Nl
bmRhbnQgfD0gY2hpbGQtPm1faGFzVmlzaWJsZUNvbnRlbnQgfHwgY2hpbGQtPm1faGFzVmlzaWJs
ZURlc2NlbmRhbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuY3BwCmluZGV4IDM3N2EwODNjMDQ0MDNjZjM5ZWE5ZmI1ZDIxMWU0ZDhiNWY0OWVmYTEu
LmFiYjJjYmJmNTE0ZDk0MGUwYjExNzEzM2ZmNGI1ZTY5YzIwNTE1YjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC0xODk4LDkgKzE4
OTgsNyBAQCBzdGF0aWMgYm9vbCBkZXNjZW5kYW50TGF5ZXJQYWludHNJbnRvQW5jZXN0b3IoUmVu
ZGVyTGF5ZXImIHBhcmVudCkKICNlbmRpZgogCiAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+
KiBub3JtYWxGbG93TGlzdCA9IHBhcmVudC5ub3JtYWxGbG93TGlzdCgpKSB7Ci0gICAgICAgIHNp
emVfdCBsaXN0U2l6ZSA9IG5vcm1hbEZsb3dMaXN0LT5zaXplKCk7Ci0gICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbGlzdFNpemU7ICsraSkgewotICAgICAgICAgICAgUmVuZGVyTGF5ZXIq
IGN1ckxheWVyID0gbm9ybWFsRmxvd0xpc3QtPmF0KGkpOworICAgICAgICBmb3IgKGF1dG8mIGN1
ckxheWVyIDogKm5vcm1hbEZsb3dMaXN0KSB7CiAgICAgICAgICAgICBpZiAoIWNvbXBvc2l0ZWRX
aXRoT3duQmFja2luZ1N0b3JlKGN1ckxheWVyKQogICAgICAgICAgICAgICAgICYmIChjdXJMYXll
ci0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgZGVzY2VuZGFudExheWVyUGFpbnRzSW50b0FuY2Vz
dG9yKCpjdXJMYXllcikpKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTkxMyw5
ICsxOTExLDcgQEAgc3RhdGljIGJvb2wgZGVzY2VuZGFudExheWVyUGFpbnRzSW50b0FuY2VzdG9y
KFJlbmRlckxheWVyJiBwYXJlbnQpCiAKICAgICAgICAgLy8gVXNlIHRoZSBtX2hhc0NvbXBvc2l0
aW5nRGVzY2VuZGFudCBiaXQgdG8gb3B0aW1pemU/CiAgICAgICAgIGlmIChWZWN0b3I8UmVuZGVy
TGF5ZXIqPiogbmVnWk9yZGVyTGlzdCA9IHBhcmVudC5uZWdaT3JkZXJMaXN0KCkpIHsKLSAgICAg
ICAgICAgIHNpemVfdCBsaXN0U2l6ZSA9IG5lZ1pPcmRlckxpc3QtPnNpemUoKTsKLSAgICAgICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdFNpemU7ICsraSkgewotICAgICAgICAgICAg
ICAgIFJlbmRlckxheWVyKiBjdXJMYXllciA9IG5lZ1pPcmRlckxpc3QtPmF0KGkpOworICAgICAg
ICAgICAgZm9yIChhdXRvJiBjdXJMYXllciA6ICpuZWdaT3JkZXJMaXN0KSB7CiAgICAgICAgICAg
ICAgICAgaWYgKCFjb21wb3NpdGVkV2l0aE93bkJhY2tpbmdTdG9yZShjdXJMYXllcikKICAgICAg
ICAgICAgICAgICAgICAgJiYgKGN1ckxheWVyLT5pc1Zpc3VhbGx5Tm9uRW1wdHkoKSB8fCBkZXNj
ZW5kYW50TGF5ZXJQYWludHNJbnRvQW5jZXN0b3IoKmN1ckxheWVyKSkpCiAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTkyMyw5ICsxOTE5LDcgQEAgc3RhdGljIGJvb2wgZGVz
Y2VuZGFudExheWVyUGFpbnRzSW50b0FuY2VzdG9yKFJlbmRlckxheWVyJiBwYXJlbnQpCiAgICAg
ICAgIH0KIAogICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIHBvc1pPcmRlckxpc3Qg
PSBwYXJlbnQucG9zWk9yZGVyTGlzdCgpKSB7Ci0gICAgICAgICAgICBzaXplX3QgbGlzdFNpemUg
PSBwb3NaT3JkZXJMaXN0LT5zaXplKCk7Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGxpc3RTaXplOyArK2kpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3VyTGF5
ZXIgPSBwb3NaT3JkZXJMaXN0LT5hdChpKTsKKyAgICAgICAgICAgIGZvciAoYXV0byYgY3VyTGF5
ZXIgOiAqcG9zWk9yZGVyTGlzdCkgewogICAgICAgICAgICAgICAgIGlmICghY29tcG9zaXRlZFdp
dGhPd25CYWNraW5nU3RvcmUoY3VyTGF5ZXIpCiAgICAgICAgICAgICAgICAgICAgICYmIChjdXJM
YXllci0+aXNWaXN1YWxseU5vbkVtcHR5KCkgfHwgZGVzY2VuZGFudExheWVyUGFpbnRzSW50b0Fu
Y2VzdG9yKCpjdXJMYXllcikpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAg
LTI1MDIsOSArMjQ5Niw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjpzdGFydEFuaW1hdGlv
bihkb3VibGUgdGltZU9mZnNldCwgY29uc3QgQW5pbWF0aW9uKiBhbmltCiAgICAgS2V5ZnJhbWVW
YWx1ZUxpc3QgYmFja2Ryb3BGaWx0ZXJWZWN0b3IoQW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdEJhY2tk
cm9wRmlsdGVyKTsKICNlbmRpZgogCi0gICAgc2l6ZV90IG51bUtleWZyYW1lcyA9IGtleWZyYW1l
cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1LZXlmcmFtZXM7ICsraSkg
ewotICAgICAgICBjb25zdCBLZXlmcmFtZVZhbHVlJiBjdXJyZW50S2V5ZnJhbWUgPSBrZXlmcmFt
ZXNbaV07CisgICAgZm9yIChhdXRvJiBjdXJyZW50S2V5ZnJhbWUgOiBrZXlmcmFtZXMua2V5ZnJh
bWVzKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVyU3R5bGUqIGtleWZyYW1lU3R5bGUgPSBjdXJy
ZW50S2V5ZnJhbWUuc3R5bGUoKTsKICAgICAgICAgZG91YmxlIGtleSA9IGN1cnJlbnRLZXlmcmFt
ZS5rZXkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
bmVCb3hMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlz
dC5jcHAKaW5kZXggZTFjZmNhNTY0ZGI5YjM0YjU5MWM3NDIyNTVkMzZmOTlkN2RhZDEyNS4uYzA3
OTkyMTIzYTgzOTYyNDUyMWYwZGExODllODY3OTMxN2YzN2ViZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwCkBAIC0yNjcsMTEgKzI2Nyw4IEBA
IHZvaWQgUmVuZGVyTGluZUJveExpc3Q6OnBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZW5k
ZXJlciwgUGFpbnRJbmZvJiBwYWludEluCiAgICAgfQogCiAgICAgaWYgKGluZm8ucGhhc2UgPT0g
UGFpbnRQaGFzZU91dGxpbmUgfHwgaW5mby5waGFzZSA9PSBQYWludFBoYXNlU2VsZk91dGxpbmUg
fHwgaW5mby5waGFzZSA9PSBQYWludFBoYXNlQ2hpbGRPdXRsaW5lcykgewotICAgICAgICBMaXN0
SGFzaFNldDxSZW5kZXJJbmxpbmUqPjo6aXRlcmF0b3IgZW5kID0gaW5mby5vdXRsaW5lT2JqZWN0
cy0+ZW5kKCk7Ci0gICAgICAgIGZvciAoTGlzdEhhc2hTZXQ8UmVuZGVySW5saW5lKj46Oml0ZXJh
dG9yIGl0ID0gaW5mby5vdXRsaW5lT2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgICAgICBSZW5kZXJJbmxpbmUqIGZsb3cgPSAqaXQ7CisgICAgICAgIGZvciAoYXV0
byYgZmxvdyA6ICppbmZvLm91dGxpbmVPYmplY3RzKQogICAgICAgICAgICAgZmxvdy0+cGFpbnRP
dXRsaW5lKGluZm8sIHBhaW50T2Zmc2V0KTsKLSAgICAgICAgfQogICAgICAgICBpbmZvLm91dGxp
bmVPYmplY3RzLT5jbGVhcigpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcAppbmRleCA5MTZjMmRlN2ViNTdjZjVhNzFjZmY4NTQ0NDg4ZGIzNWMx
MTkzNzYzLi40YjBjZmE2M2VmZmIyOWMxNjc1OWQ3ZDEzM2YzNWJhZTM2NzdjZmRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC0xMDcsMTIgKzEwNyw4
IEBAIEhUTUxTZWxlY3RFbGVtZW50JiBSZW5kZXJMaXN0Qm94OjpzZWxlY3RFbGVtZW50KCkgY29u
c3QKIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1lbnQoKQogewogICAgIGlmICht
X29wdGlvbnNDaGFuZ2VkKSB7Ci0gICAgICAgIGNvbnN0IFZlY3RvcjxIVE1MRWxlbWVudCo+JiBs
aXN0SXRlbXMgPSBzZWxlY3RFbGVtZW50KCkubGlzdEl0ZW1zKCk7Ci0gICAgICAgIGludCBzaXpl
ID0gbnVtSXRlbXMoKTsKLSAgICAgICAgCiAgICAgICAgIGZsb2F0IHdpZHRoID0gMDsKLSAgICAg
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgICAgIEhUTUxFbGVt
ZW50KiBlbGVtZW50ID0gbGlzdEl0ZW1zW2ldOworICAgICAgICBmb3IgKGF1dG8mIGVsZW1lbnQg
OiBzZWxlY3RFbGVtZW50KCkubGlzdEl0ZW1zKCkpIHsKICAgICAgICAgICAgIFN0cmluZyB0ZXh0
OwogICAgICAgICAgICAgRm9udENhc2NhZGUgaXRlbUZvbnQgPSBzdHlsZSgpLmZvbnRDYXNjYWRl
KCk7CiAgICAgICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVsZW1lbnQ+KCplbGVtZW50KSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCmluZGV4IGZmOWEyYzU4
NmJiZDliZTk5Yzc3NTVlMjIyZTAwMzg2NDZjMTc0ZDYuLmEyOTk4OWVjZTRmZTI5OTFkNTkwYTRm
MTQ5ODBiNDU5MTE4MDg1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1l
bnVMaXN0LmNwcApAQCAtNTgsMTIgKzU4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsK
ICNpZiBQTEFURk9STShJT1MpCiBzdGF0aWMgc2l6ZV90IHNlbGVjdGVkT3B0aW9uQ291bnQoY29u
c3QgUmVuZGVyTWVudUxpc3QmIHJlbmRlck1lbnVMaXN0KQogewotICAgIGNvbnN0IFZlY3RvcjxI
VE1MRWxlbWVudCo+JiBsaXN0SXRlbXMgPSByZW5kZXJNZW51TGlzdC5zZWxlY3RFbGVtZW50KCku
bGlzdEl0ZW1zKCk7Ci0gICAgc2l6ZV90IG51bWJlck9mSXRlbXMgPSBsaXN0SXRlbXMuc2l6ZSgp
OwotCiAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51
bWJlck9mSXRlbXM7ICsraSkgewotICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVsZW1lbnQ+KCps
aXN0SXRlbXNbaV0pICYmIGRvd25jYXN0PEhUTUxPcHRpb25FbGVtZW50PigqbGlzdEl0ZW1zW2ld
KS5zZWxlY3RlZCgpKQorICAgIGZvciAoYXV0byYgZWxlbWVudCA6IHJlbmRlck1lbnVMaXN0LnNl
bGVjdEVsZW1lbnQoKS5saXN0SXRlbXMoKSkgeworICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVs
ZW1lbnQ+KCplbGVtZW50KSAmJiBkb3duY2FzdDxIVE1MT3B0aW9uRWxlbWVudD4oKmVsZW1lbnQp
LnNlbGVjdGVkKCkpCiAgICAgICAgICAgICArK2NvdW50OwogICAgIH0KICAgICByZXR1cm4gY291
bnQ7CkBAIC0yMDYsMTEgKzIwMyw3IEBAIHZvaWQgUmVuZGVyTWVudUxpc3Q6OnN0eWxlRGlkQ2hh
bmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkCiB2b2lkIFJl
bmRlck1lbnVMaXN0Ojp1cGRhdGVPcHRpb25zV2lkdGgoKQogewogICAgIGZsb2F0IG1heE9wdGlv
bldpZHRoID0gMDsKLSAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgbGlzdEl0ZW1zID0g
c2VsZWN0RWxlbWVudCgpLmxpc3RJdGVtcygpOwotICAgIGludCBzaXplID0gbGlzdEl0ZW1zLnNp
emUoKTsgICAgCi0KLSAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAgICAg
ICBIVE1MRWxlbWVudCogZWxlbWVudCA9IGxpc3RJdGVtc1tpXTsKKyAgICBmb3IgKGF1dG8mIGVs
ZW1lbnQgOiBzZWxlY3RFbGVtZW50KCkubGlzdEl0ZW1zKCkpIHsKICAgICAgICAgaWYgKCFpczxI
VE1MT3B0aW9uRWxlbWVudD4oKmVsZW1lbnQpKQogICAgICAgICAgICAgY29udGludWU7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCmlu
ZGV4IDgyMWU0Yjk4ZmEyM2YyYzIzZmNlYWJiMDQ0ZTM1OWU1NjczMzY3MWUuLjkxZDI5OWFkZGMz
ZjliNzNlYzZmZTcxMzI5YzlhMDg5ZTc2YTA1ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcApAQCAtMTk4LDggKzE5OCw4IEBAIHZv
aWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmRpc3RyaWJ1dGVJbXBsaWNpdEJyZWFrcygpCiB7CiAj
aWZuZGVmIE5ERUJVRwogICAgIC8vIFRoZXJlIHNob3VsZCBiZSBubyBpbXBsaWNpdCBicmVha3Mg
YXNzdW1lZCBhdCB0aGlzIHBvaW50LgotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBmb3Jj
ZWRCcmVha3NDb3VudCgpOyBpKyspCi0gICAgICAgIEFTU0VSVCghbV9jb250ZW50UnVuc1tpXS5h
c3N1bWVkSW1wbGljaXRCcmVha3MoKSk7CisgICAgZm9yIChhdXRvJiBmb3JjZWRCcmVhayA6IG1f
Y29udGVudFJ1bnMpCisgICAgICAgIEFTU0VSVCghZm9yY2VkQnJlYWsuYXNzdW1lZEltcGxpY2l0
QnJlYWtzKCkpOwogI2VuZGlmIC8vIE5ERUJVRwogCiAgICAgLy8gSW5zZXJ0IGEgZmluYWwgY29u
dGVudCBydW4gdG8gZW5jb21wYXNzIGFsbCBjb250ZW50LiBUaGlzIHdpbGwgaW5jbHVkZSBvdmVy
ZmxvdyBpZiB0aGlzIGlzCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>