<?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>142510</bug_id>
          
          <creation_ts>2015-03-09 15:19:51 -0700</creation_ts>
          <short_desc>Web Inspector: Include Garbage Collection Event in Timeline</short_desc>
          <delta_ts>2015-10-15 20:55:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tobias Bosch">tbosch</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>saam</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1075778</commentid>
    <comment_count>0</comment_count>
    <who name="Tobias Bosch">tbosch</who>
    <bug_when>2015-03-09 15:19:51 -0700</bug_when>
    <thetext>The Angular team is creating a benchmark tool, which reads out the inspector timeline data
to get detailed numbers about script time, rendering time as well as garbage collection time/amount.

To get stable numbers we are subtracting the gc time from script execution time. However,
GCEvents are no more reported in newer versions of Safari (see commits below). 
Is there a chance of getting them back? Also, showing them in the inspector UI would be nice for 
regular web developers as well.

Btw, is there a way to force gc in Safari / mobile Safari? We do this in Chrome and it helps to
stabilize our benchmark numbers further.

Relevant commits:
- File https://github.com/WebKit/webkit/blob/master/Source/WebCore/inspector/InspectorTimelineAgent.cpp,
- Commit d5b7f4f8f0956a2b0c05162ac1a25287a8c9c74c removed reporting GCEvents and switched to 
adding a `usedHeapSize` property to all records
- Commit 7fe486eb595c650aad97401aebc5086257cae8c4 removed gc reporting alltogether.

Thanks a lot,
Tobias</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129124</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-09-28 17:17:16 -0700</bug_when>
    <thetext>Retitling. Include Garbage Collection (GC) information in the Inspector Timeline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129125</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-09-28 17:18:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/22889788&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129126</commentid>
    <comment_count>3</comment_count>
      <attachid>262032</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-09-28 17:37:28 -0700</bug_when>
    <thetext>Created attachment 262032
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129127</commentid>
    <comment_count>4</comment_count>
      <attachid>262033</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-09-28 17:39:25 -0700</bug_when>
    <thetext>Created attachment 262033
[IMAGE] GC in Overview</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129128</commentid>
    <comment_count>5</comment_count>
      <attachid>262034</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-09-28 17:39:48 -0700</bug_when>
    <thetext>Created attachment 262034
[IMAGE] GC in Scripts &amp; Events</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129141</commentid>
    <comment_count>6</comment_count>
    <who name="Tobias Bosch">tbosch</who>
    <bug_when>2015-09-28 19:58:32 -0700</bug_when>
    <thetext>Nice, this looks promising!
Two questions: 

1. In which mobile safari version will this be included? In IOS 9.0 already?
2. Would it be even possible to report the gcAmount again in these events?

Thanks a lot for working on this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129145</commentid>
    <comment_count>7</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-09-28 21:10:04 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Nice, this looks promising!
&gt; Two questions: 
&gt; 
&gt; 1. In which mobile safari version will this be included? In IOS 9.0 already?

I can&apos;t comment on future versions of Safari.

&gt; 2. Would it be even possible to report the gcAmount again in these events?

Yes, I&apos;m looking into including the number of bytes freed by the collection. That is currently a FIXME in the patch above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129149</commentid>
    <comment_count>8</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-09-28 21:46:45 -0700</bug_when>
    <thetext>iOS 9 has already shipped, so it would not have this change that was just posted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130139</commentid>
    <comment_count>9</comment_count>
      <attachid>262312</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-01 19:15:39 -0700</bug_when>
    <thetext>Created attachment 262312
[PATCH] Proposed Fix

Rebaselined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130142</commentid>
    <comment_count>10</comment_count>
      <attachid>262313</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-01 19:36:05 -0700</bug_when>
    <thetext>Created attachment 262313
[PATCH] Proposed Fix (Improve Test, Fix Builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130147</commentid>
    <comment_count>11</comment_count>
      <attachid>262313</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-10-01 20:57:54 -0700</bug_when>
    <thetext>Comment on attachment 262313
[PATCH] Proposed Fix (Improve Test, Fix Builds)

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

r=me

&gt; Source/JavaScriptCore/heap/Heap.cpp:1176
&gt; +    for (auto* observer : m_observers)

I think WebKit usually calls this &quot;client&quot; rather than &quot;observer&quot;.

&gt; Source/JavaScriptCore/heap/Heap.cpp:1326
&gt; +    HeapOperation operation = m_operationInProgress;

Revert this line?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130260</commentid>
    <comment_count>12</comment_count>
      <attachid>262313</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-02 11:04:21 -0700</bug_when>
    <thetext>Comment on attachment 262313
[PATCH] Proposed Fix (Improve Test, Fix Builds)

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

&gt;&gt; Source/JavaScriptCore/heap/Heap.cpp:1326
&gt;&gt; +    HeapOperation operation = m_operationInProgress;
&gt; 
&gt; Revert this line?

It is actually needed. We stash the operation before the member gets reassigned to NoOperation below (line 1348). Waiting until after the operation was reassigned was necessary because (in WK1) sending the event to the frontend means evaluating javascript in the frontend page. That would trigger an ASSERT if there was a GC HeapOperation in progress.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130270</commentid>
    <comment_count>13</comment_count>
      <attachid>262344</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-02 11:31:20 -0700</bug_when>
    <thetext>Created attachment 262344
[PATCH] For Bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130289</commentid>
    <comment_count>14</comment_count>
      <attachid>262344</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-02 13:41:15 -0700</bug_when>
    <thetext>Comment on attachment 262344
[PATCH] For Bots

Clearing flags on attachment: 262344

Committed r190520: &lt;http://trac.webkit.org/changeset/190520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130328</commentid>
    <comment_count>15</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-02 15:30:20 -0700</bug_when>
    <thetext>Rolled out in &lt;http://trac.webkit.org/changeset/190527&gt;. A few tests crashed / asserted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130331</commentid>
    <comment_count>16</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-02 15:43:35 -0700</bug_when>
    <thetext>Failures were:
https://build.webkit.org/results/Apple%20El%20Capitan%20Release%20WK1%20(Tests)/r190523%20(81)/results.html

On initial inspection they don&apos;t seem like they were related to this patch.

WebKit 1 Debug. Looks like forcing a GC via GCController.garbageCollectNow in a test is happening while in the middle of running JavaScript. This seems not directly related to this new change but would be worth fixing.

&gt; Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
&gt; Exception Codes:       KERN_INVALID_ADDRESS at 0x00000000bbadbeef
&gt; Exception Note:        EXC_CORPSE_NOTIFY
&gt; 
&gt; VM Regions Near 0xbbadbeef:
&gt; --&gt; 
&gt;     __TEXT                 00000001001a8000-00000001001f0000 [  288K] r-x/rwx SM=COW  /Volumes/VOLUME/*
&gt; 
&gt; Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
&gt; 0  WTFCrash + 62 (Assertions.cpp:321)
&gt; 1  0x100343000 + 5283368
&gt; 2  0x100343000 + 5281771
&gt; 3  JSC::Sweep::ReturnType JSC::MarkedSpace::forEachBlock&lt;JSC::Sweep&gt;(JSC::Sweep&amp;) + 379 (MarkedAllocator.h:140)
&gt; 4  JSC::MarkedSpace::sweep() + 41 (MarkedSpace.cpp:120)
&gt; 5  JSC::Heap::collectAndSweep(JSC::HeapOperation) + 61 (Heap.cpp:1029)
&gt; 6  WebCore::GCController::garbageCollectNow() + 58 (GCController.cpp:89)
&gt; 7  collectCallback(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) + 25 (GCController.cpp:49)
&gt; 8  long long JSC::APICallbackFunction::call&lt;JSC::JSCallbackFunction&gt;(JSC::ExecState*) + 571 (APICallbackFunction.h:61)
&gt; 9  JSC::LLInt::setUpCall(JSC::ExecState*, JSC::Instruction*, JSC::CodeSpecializationKind, JSC::JSValue, JSC::LLIntCallLinkInfo*) + 592 (LLIntSlowPaths.cpp:1090)
&gt; 10 llint_entry + 23124
&gt; 11 vmEntryToJavaScript + 299
&gt; 12 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 158 (JITCode.cpp:81)
&gt; 13 JSC::Interpreter::execute(JSC::EvalExecutable*, JSC::ExecState*, JSC::JSValue, JSC::JSScope*) + 1839 (Interpreter.cpp:1270)
&gt; 14 JSC::globalFuncEval(JSC::ExecState*) + 1476 (JSGlobalObjectFunctions.cpp:588)
&gt; 15 0 + 86571225190440
&gt; 16 llint_entry + 23024
&gt; 17 llint_entry + 23024
&gt; 18 llint_entry + 23024
&gt; 19 vmEntryToJavaScript + 299
&gt; 20 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 158 (JITCode.cpp:81)
&gt; 21 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 447 (Interpreter.cpp:1025)
&gt; 22 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 71 (CallData.cpp:45)
&gt; 23 WebCore::JSMainThreadExecState::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 96 (JSMainThreadExecState.h:56)
&gt; 24 Deprecated::ScriptFunctionCall::call(bool&amp;) + 409 (ScriptFunctionCall.cpp:138)
&gt; 25 Inspector::InjectedScriptBase::callFunctionWithEvalEnabled(Deprecated::ScriptFunctionCall&amp;, bool&amp;) const + 237 (InjectedScriptBase.cpp:87)
&gt; 26 Inspector::InjectedScriptBase::makeCall(Deprecated::ScriptFunctionCall&amp;, WTF::RefPtr&lt;Inspector::InspectorValue&gt;*) + 83 (InjectedScriptBase.cpp:107)
&gt; 27 Inspector::InjectedScriptBase::makeEvalCall(WTF::String&amp;, Deprecated::ScriptFunctionCall&amp;, WTF::RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;*, Inspector::Protocol::OptOutput&lt;bool&gt;*, Inspector::Protocol::OptOutput&lt;int&gt;*) + 55 (InjectedScriptBase.cpp:119)
&gt; 28 Inspector::InjectedScript::evaluate(WTF::String&amp;, WTF::String const&amp;, WTF::String const&amp;, bool, bool, bool, bool, WTF::RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;*, Inspector::Protocol::OptOutput&lt;bool&gt;*, Inspector::Protocol::OptOutput&lt;int&gt;*) + 267 (InjectedScript.cpp:69)
&gt; 29 Inspector::InspectorRuntimeAgent::evaluate(WTF::String&amp;, WTF::String const&amp;, WTF::String const*, bool const*, bool const*, int const*, bool const*, bool const*, bool const*, WTF::RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&amp;, Inspector::Protocol::OptOutput&lt;bool&gt;*, Inspector::Protocol::OptOutput&lt;int&gt;*) + 329 (InspectorRuntimeAgent.cpp:128)
&gt; 30 Inspector::RuntimeBackendDispatcher::evaluate(long, WTF::RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;) + 1385 (InspectorBackendDispatchers.cpp:4971)
&gt; 31 Inspector::RuntimeBackendDispatcher::dispatch(long, WTF::String const&amp;, WTF::Ref&lt;Inspector::InspectorObject&gt;&amp;&amp;) + 607 (InspectorBackendDispatchers.cpp:4897)
&gt; ...


WebKit 1 Debug. Enabling the Debugger agent encounters a crash when trying to attach the ScriptDebugServer to a JSGlobalObject. I don&apos;t think this patch had made changes here.

&gt; Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
&gt; Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000012
&gt; Exception Note:        EXC_CORPSE_NOTIFY
&gt; 
&gt; Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
&gt; 0 JSC::Debugger::attach(JSC::JSGlobalObject*) + 464 (JSCellInlines.h:222)
&gt; 1 WebCore::ScriptController::attachDebugger(JSC::Debugger*) + 118 (ScriptController.cpp:328)
&gt; 2 WebCore::Page::setDebugger(JSC::Debugger*) + 67 (Page.cpp:1083)
&gt; 3 WebCore::PageScriptDebugServer::addListener(Inspector::ScriptDebugListener*) + 71 (PageScriptDebugServer.cpp:70)
&gt; 4 Inspector::InspectorDebuggerAgent::enable() + 55 (InspectorDebuggerAgent.cpp:92)
&gt; 5 WebCore::WebDebuggerAgent::enable() + 14 (WebDebuggerAgent.cpp:44)
&gt; 6 WebCore::PageDebuggerAgent::enable() + 14 (PageDebuggerAgent.cpp:66)
&gt; 7 Inspector::DebuggerBackendDispatcher::enable(long, WTF::RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;) + 76 (InspectorBackendDispatchers.cpp:2543)
&gt; 8 Inspector::DebuggerBackendDispatcher::dispatch(long, WTF::String const&amp;, WTF::Ref&lt;Inspector::InspectorObject&gt;&amp;&amp;) + 607 (InspectorBackendDispatchers.cpp:2527)
&gt; 9 Inspector::BackendDispatcher::dispatch(WTF::String const&amp;) + 2467 (Ref.h:55)


WebKit 1 Debug. This is a patch made by this patch. After observing a GC there is a crash evaluating JavaScript. Maybe we are doing work too early in Heap::didFinishCollection to be running script now.

&gt; Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
&gt; Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000018
&gt; Exception Note:        EXC_CORPSE_NOTIFY
&gt; 
&gt; Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
&gt; 0   0x0000000101839475 JSC::MarkedBlock::FreeList JSC::MarkedBlock::specializedSweep&lt;(JSC::MarkedBlock::BlockState)3, (JSC::MarkedBlock::SweepMode)1, true&gt;() + 181 (MarkedBlock.cpp:95)
&gt; 1   0x000000010183910d 0x10132f000 + 5284109
&gt; 2   0x0000000101838bbb 0x10132f000 + 5282747
&gt; 3   0x0000000101837e21 JSC::MarkedAllocator::allocateSlowCase(unsigned long) + 225 (MarkedAllocator.cpp:74)
&gt; 4   0x00000001013c9c6f JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 703 (MarkedAllocator.h:94)
&gt; 5   0x00000001036566dc WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;) + 284 (ScriptController.cpp:164)
&gt; 6   0x0000000103656919 0x102937000 + 13760793
&gt; 7   0x0000000102ee28d4 WebCore::InspectorClient::doDispatchMessageOnFrontendPage(WebCore::Page*, WTF::String const&amp;) + 356 (InspectorClient.cpp:52)
&gt; 8   0x00000001016c1fcc Inspector::FrontendRouter::sendEvent(WTF::String const&amp;) const + 44 (InspectorFrontendRouter.cpp:90)
&gt; 9   0x00000001016b381d Inspector::HeapFrontendDispatcher::garbageCollected(WTF::RefPtr&lt;Inspector::Protocol::Heap::GarbageCollection&gt;) + 765 (InspectorFrontendDispatchers.cpp:518)
&gt; 10  0x00000001016c295a Inspector::InspectorHeapAgent::didGarbageCollect(JSC::HeapOperation) + 730 (InspectorHeapAgent.cpp:122)
&gt; 11  0x000000010165babc JSC::Heap::didFinishCollection(double) + 236 (Heap.cpp:1351)
&gt; 12  0x000000010165b1cc JSC::Heap::collectImpl(JSC::HeapOperation, void*, void*, int (&amp;) [37]) + 1196 (Heap.cpp:1119)
&gt; 13  0x000000010165aced JSC::Heap::collect(JSC::HeapOperation) + 237 (Heap.cpp:1045)
&gt; 14  0x0000000101651e28 JSC::GCActivityCallback::doWork() + 72 (GCActivityCallback.cpp:81)
&gt; 15  0x00000001016612da JSC::HeapTimer::timerDidFire(__CFRunLoopTimer*, void*) + 186 (HeapTimer.cpp:101)
&gt; 16  0x00007fff989f59f4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
&gt; 17  0x00007fff989f5683 __CFRunLoopDoTimer + 1075
&gt; 18  0x00007fff989f51da __CFRunLoopDoTimers + 298
&gt; 19  0x00007fff989ec6d1 __CFRunLoopRun + 1841
&gt; 20  0x00007fff989ebd38 CFRunLoopRunSpecific + 296
&gt; 21  0x00000001011a9e63 runTest(std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt; const&amp;) + 2146 (DumpRenderTree.mm:2031)
&gt; 22  0x00000001011a93ca dumpRenderTree(int, char const**) + 2928 (DumpRenderTree.mm:1288)
&gt; 23  0x00000001011aa9da DumpRenderTreeMain(int, char const**) + 1471 (DumpRenderTree.mm:1424)
&gt; 24  0x00007fff9a50d5ad start + 1


Tests were also seeing some funky InspectorFrontendAPI not available, and seemingly only with this patch. I don&apos;t know what could be causing that!

Will be investigating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130332</commentid>
    <comment_count>17</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-02 15:44:56 -0700</bug_when>
    <thetext>&gt; WebKit 1 Debug. This is a patch made by this patch.

Typo: This is a *path* made by this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130339</commentid>
    <comment_count>18</comment_count>
      <attachid>262344</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-02 16:01:39 -0700</bug_when>
    <thetext>Comment on attachment 262344
[PATCH] For Bots

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

&gt; Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp:49
&gt; +InspectorHeapAgent::~InspectorHeapAgent()
&gt; +{
&gt; +    ErrorString ignored;
&gt; +    disable(ignored);
&gt; +}

Ahh, this should be in willDestroyFrontendAndBackend instead of ~InspectorHeapAgent. This is likely what is causing the &quot;InspectorFrontendAPI&quot; not available messages if this agent was accidentally left enabled despite being closed and reopening. Which seems to be the case otherwise the ASSERT(m_enabled) below would have triggered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133351</commentid>
    <comment_count>19</comment_count>
      <attachid>263132</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-14 18:54:10 -0700</bug_when>
    <thetext>Created attachment 263132
[PATCH] Proposed Fix

This fixes the issues above. The actual diffs are pretty small but I forgot to get a diff of just the changes so I&apos;ll call them out here.

1. InspectorHeapAgent::didGarbageCollect triggers event asynchronously (RunLoop::current().dispatch(...))

To avoid the MarkedSpace::sweep ASSERTION we dispatch the garbageCollected events asynchronously to avoid executing any JavaScript between the Garbage Collection and Sweeping phases. Sweeping (MarkedSpace.sweep) has never expected to see anything other than &quot;Marked&quot; MarkedBlocks during a &quot;SweepOnly&quot; sweep. Lets not add that possibility/capability to the sweeping and instead avoid it and run JavaScript later.

This means that garbageCollected events now appear on the frontend after the script completes execution instead of during. This makes the UI a little more consistent during very long running scripts, but can be seen as a bit of a downside as it would be nice to inform the frontend even while scripts are running (e.g. a near infinite loop being traced).

The Heap.gc test needed to be rewritten to allow for gcs between the &quot;HeapAgent.gc()&quot; call and receiving the triggered &quot;Full&quot; Heap.garbageCollected event because this is no longer guaranteed to be synchronous.

2. Disable the InspectorHeapAgent in willDestroyFrontendAndBackend instead of ~InspectorHeapAgent as mentioned before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133513</commentid>
    <comment_count>20</comment_count>
      <attachid>263132</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-10-15 10:25:04 -0700</bug_when>
    <thetext>Comment on attachment 263132
[PATCH] Proposed Fix

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

r=me, as second reviewer. Please address nits and stick around for bots when you land this.

&gt; LayoutTests/inspector/heap/garbageCollected.html:38
&gt; +        description: &quot;Evaluating allocation heavy JavaScript should trigger Heap.garbageCollected events.&quot;,

&apos;allocation-heavy&apos;

&gt; LayoutTests/inspector/heap/garbageCollected.html:54
&gt; +                    InspectorTest.log(&quot;PASS: Should see both a Partial and Full Garbage Collection.&quot;);

How deterministic is this? I can imagine this breaking whenever the GC heuristics change.

&gt; LayoutTests/inspector/heap/gc.html:10
&gt; +    InspectorTest.dumpActivityToSystemConsole = true;

Oops, I think this should be removed, right?

&gt; LayoutTests/inspector/heap/gc.html:17
&gt; +            HeapAgent.gc();

have you considered HeapAgent.collectGarbage() ? Do we want to expose full vs partial? Which one does this trigger? Best to document it in the protocol file.

&gt; Source/JavaScriptCore/heap/HeapObserver.h:-26
&gt; -WebInspector.SourceCodeTimelineTreeElement = class SourceCodeTimelineTreeElement extends WebInspector.TimelineRecordTreeElement

This is a very unexpected diff. What happened?

&gt; Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp:117
&gt; +    double endTime = m_environment.executionStopwatch()-&gt;elapsedTime();

Yay.

&gt; Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp:127
&gt; +        auto collection = Inspector::Protocol::Heap::GarbageCollection::create()

Should we be using the weakThis pattern here? What if the inspector tears down before this is dispatched?

&gt; Source/JavaScriptCore/inspector/protocol/Heap.json:27
&gt; +            &quot;description&quot;: &quot;Trigger a full garbage collection.&quot;

Oh I see, it is documented here. Still, the name is rather terse (if traditional).

&gt; Source/WebInspectorUI/ChangeLog:9
&gt; +        (Array.prototype.parition):

&apos;partition&apos;

&gt; Source/WebInspectorUI/ChangeLog:45
&gt; +        The GCs bar will be on top of the the Scripts bar. This is particularly useful

&apos;will be on top of&apos;

do you mean overlaid?

&gt; Source/WebInspectorUI/UserInterface/Controllers/HeapManager.js:-26
&gt; -WebInspector.SourceCodeTimelineTreeElement = class SourceCodeTimelineTreeElement extends WebInspector.TimelineRecordTreeElement

I guess your version control thought this was a copy instead of new file. I blame the copyright blocks.

&gt; Source/WebInspectorUI/UserInterface/Models/ScriptTimelineRecord.js:170
&gt; +WebInspector.ScriptTimelineRecord.EventType.displayName = function(eventType, details, includeDetailsInformationInMainTitle)

&apos;includeDetailsInMainTitle&apos; ?  (details are information)

&gt; Source/WebInspectorUI/UserInterface/Views/ScriptTimelineOverviewGraph.js:77
&gt; +        let [gcRecords, nonGCRecords] = this._scriptTimeline.records.partition((x) =&gt; x.isGarbageCollection());

beautiful!

&gt; Source/WebInspectorUI/UserInterface/Views/ScriptTimelineView.js:228
&gt; +        var startTime = this.startTime;

&apos;let&apos; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133531</commentid>
    <comment_count>21</comment_count>
      <attachid>263132</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-15 11:12:30 -0700</bug_when>
    <thetext>Comment on attachment 263132
[PATCH] Proposed Fix

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

&gt;&gt; LayoutTests/inspector/heap/garbageCollected.html:54
&gt;&gt; +                    InspectorTest.log(&quot;PASS: Should see both a Partial and Full Garbage Collection.&quot;);
&gt; 
&gt; How deterministic is this? I can imagine this breaking whenever the GC heuristics change.

Periodically trigger GCs does a lot of work repeatedly every 20ms. Yes, if GC heuristics change then this could fail. I think it would be good to have a test for this though, as it could actually catch a GC regression if a test like this changes behavior unexpectedly.

&gt;&gt; LayoutTests/inspector/heap/gc.html:10
&gt;&gt; +    InspectorTest.dumpActivityToSystemConsole = true;
&gt; 
&gt; Oops, I think this should be removed, right?

Oops, yes.

&gt;&gt; Source/JavaScriptCore/heap/HeapObserver.h:-26
&gt;&gt; -WebInspector.SourceCodeTimelineTreeElement = class SourceCodeTimelineTreeElement extends WebInspector.TimelineRecordTreeElement
&gt; 
&gt; This is a very unexpected diff. What happened?

Git thinks a lot of these files were copied from other files...

&gt;&gt; Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp:127
&gt;&gt; +        auto collection = Inspector::Protocol::Heap::GarbageCollection::create()
&gt; 
&gt; Should we be using the weakThis pattern here? What if the inspector tears down before this is dispatched?

I considered this too unlikely. The RunLoop dispatching looks like it would happen (on all ports) at the end of the current run loop before the next run loop, which I thought would be too early for some kind of teardown. That said, it wouldn&apos;t hurt to be safe. I didn&apos;t know about the weakThis (createWeakPtr) pattern used elsewhere and that certainly looks simple enough to take advantage of here.

&gt;&gt; Source/WebInspectorUI/ChangeLog:45
&gt;&gt; +        The GCs bar will be on top of the the Scripts bar. This is particularly useful
&gt; 
&gt; &apos;will be on top of&apos;
&gt; 
&gt; do you mean overlaid?

Yes, I&apos;ll reword.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133541</commentid>
    <comment_count>22</comment_count>
      <attachid>263175</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-15 11:46:45 -0700</bug_when>
    <thetext>Created attachment 263175
[PATCH] For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133543</commentid>
    <comment_count>23</comment_count>
      <attachid>263175</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-15 11:48:19 -0700</bug_when>
    <thetext>Comment on attachment 263175
[PATCH] For Landing

Rejecting attachment 263175 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 263175, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
le without the binary data in line: &quot;Binary files a/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js and b/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js differ&quot;.  Be sure to use the --binary flag when invoking &quot;git diff&quot; with diffs containing binary files. at /Volumes/Data/EWS/WebKit/Tools/Scripts/VCSUtils.pm line 804, &lt;ARGV&gt; line 1162.

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 25 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/292205</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133742</commentid>
    <comment_count>24</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-15 20:25:39 -0700</bug_when>
    <thetext>WeakPtrFactory doesn&apos;t seem to like the multi-threaded nature of JSContext&apos;s.
&lt;https://build.webkit.org/builders/Apple%20Yosemite%20LLINT%20CLoop%20%28BuildAndTest%29/builds/10041/steps/webkit-jsc-cloop-test/logs/stdio&gt;

&gt; ASSERTION FAILED: m_boundThread == currentThread()
&gt; /Volumes/Data/slave/yosemite-cloop-debug/build/WebKitBuild/Debug/usr/local/include/wtf/WeakPtr.h(65) : void WTF::WeakReference&lt;Inspector::InspectorHeapAgent&gt;::clear() [T = Inspector::InspectorHeapAgent]
&gt; 1   0x107ef1c10 WTFCrash
&gt; 2   0x107a861ae WTF::WeakReference&lt;Inspector::InspectorHeapAgent&gt;::clear()
&gt; 3   0x107a860f1 WTF::WeakPtrFactory&lt;Inspector::InspectorHeapAgent&gt;::~WeakPtrFactory()
&gt; 4   0x107a85515 WTF::WeakPtrFactory&lt;Inspector::InspectorHeapAgent&gt;::~WeakPtrFactory()
&gt; 5   0x107a831b4 Inspector::InspectorHeapAgent::~InspectorHeapAgent()
...

So I dropped the WeakPtr approach. in a follow-up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133743</commentid>
    <comment_count>25</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-15 20:27:12 -0700</bug_when>
    <thetext>&lt;http://trac.webkit.org/changeset/191159&gt; - Relanded
&lt;http://trac.webkit.org/changeset/191161&gt; - Removed WeakPtr approach (ASSERTs)
&lt;http://trac.webkit.org/changeset/191162&gt; - Build Fix after dropping WeakPtr
&lt;http://trac.webkit.org/changeset/191164&gt; - EFL Build Fix 1
&lt;http://trac.webkit.org/changeset/191165&gt; - EFL Build Fix 2

Woohoo! First Release bot has succeeded without inspector/heap test issues. I&apos;ll wait a bit for Debug bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133755</commentid>
    <comment_count>26</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-15 20:55:36 -0700</bug_when>
    <thetext>&lt;http://trac.webkit.org/changeset/191166&gt; - Made inspector/heap/gc.html more reliable</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262032</attachid>
            <date>2015-09-28 17:37:28 -0700</date>
            <delta_ts>2015-10-01 19:15:39 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>heap-domain-1.patch</filename>
            <type>text/plain</type>
            <size>79272</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ZWM0NGI1Li5jMjUxNGU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDkt
MjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBJbmNsdWRlIEdhcmJhZ2UgQ29sbGVjdGlvbiBFdmVudCBpbiBUaW1lbGluZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvaGVhcC9nYXJiYWdlQ29sbGVjdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9oZWFwL2djLmh0bWw6IEFkZGVkLgorCiAyMDE1LTA5LTIzICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmFuZ2UncyBzZXRTdGFydEJlZm9yZSgpIC8gc2V0U3Rh
cnRBZnRlcigpIC8gc2V0RW5kQmVmb3JlKCkgLyBzZXRFbmRBZnRlcigpIGRvIG5vdCBtYXRjaCB0
aGUgc3BlY2lmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAv
Z2FyYmFnZUNvbGxlY3RlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVh
cC9nYXJiYWdlQ29sbGVjdGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5hMzc1MTRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAor
VGVzdCBmb3IgdGhlIEhlYXAuZ2FyYmFnZUNvbGxlY3RlZCBldmVudC4KKworCis9PSBSdW5uaW5n
IHRlc3Qgc3VpdGU6IEhlYXAuZ2FyYmFnZUNvbGxlY3RlZAorLS0gUnVubmluZyB0ZXN0IGNhc2U6
IFRyaWdnZXJHQ3MKK1BBU1M6IEV2ZW50IHNob3VsZCBoYXZlIEdhcmJhZ2VDb2xsZWN0aW9uIGRh
dGEuCitQQVNTOiBFdmVudCB0eXBlIHNob3VsZCBiZSBQYXJ0aWFsLgorUEFTUzogRXZlbnQgc2hv
dWxkIGhhdmUgR2FyYmFnZUNvbGxlY3Rpb24gZGF0YS4KK1BBU1M6IEV2ZW50IHR5cGUgc2hvdWxk
IGJlIEZ1bGwuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2dhcmJh
Z2VDb2xsZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2dhcmJhZ2VDb2xs
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGIwMGU2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRyaWdnZXJHQ3Mo
KQoreworICAgIGZ1bmN0aW9uIGFsbG9jYXRlT2JqZWN0cygpIHsKKyAgICAgICAgdmFyIGxpc3Qg
PSBbXTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsraSkKKyAgICAgICAgICAg
IGxpc3QucHVzaCh7eDppfSk7CisgICAgICAgIHJldHVybiBsaXN0OworICAgIH0KKworICAgIGZ1
bmN0aW9uIGFsbG9jYXRlTGFyZ2VMaXN0KCkgeworICAgICAgICB2YXIgbGFyZ2VMaXN0ID0gW107
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpCisgICAgICAgICAgICBsYXJn
ZUxpc3QucHVzaChhbGxvY2F0ZU9iamVjdHMoKSk7CisgICAgICAgIHJldHVybiBsYXJnZUxpc3Q7
CisgICAgfQorCisgICAgdmFyIHBhcnRpYWxMaXN0ID0gW107CisgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCAxMDA7ICsraSkKKyAgICAgICAgcGFydGlhbExpc3QucHVzaChhbGxvY2F0ZUxhcmdlTGlz
dCgpKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9y
VGVzdC5jcmVhdGVBc3luY1N1aXRlKCJIZWFwLmdhcmJhZ2VDb2xsZWN0ZWQiKTsKKworICAgIHN1
aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlRyaWdnZXJHQ3MiLAorICAgICAgICBk
ZXNjcmlwdGlvbjogIkV2YWx1YXRpbmcgYWxsb2NhdGlvbiBoZWF2eSBKYXZhU2NyaXB0IHNob3Vs
ZCB0cmlnZ2VyIEhlYXAuZ2FyYmFnZUNvbGxlY3RlZCBldmVudHMuIiwKKyAgICAgICAgdGVzdDog
KHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgidHJpZ2dlckdDcygpIik7CisKKyAgICAgICAgICAgIGxldCBjb3VudCA9IDA7Cisg
ICAgICAgICAgICBXZWJJbnNwZWN0b3IuaGVhcE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuSGVhcE1hbmFnZXIuRXZlbnQuR2FyYmFnZUNvbGxlY3RlZCwgKGV2ZW50KSA9PiB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGV2ZW50LmRhdGEuY29s
bGVjdGlvbiBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbiwgIkV2ZW50
IHNob3VsZCBoYXZlIEdhcmJhZ2VDb2xsZWN0aW9uIGRhdGEuIik7CisgICAgICAgICAgICAgICAg
Kytjb3VudDsKKyAgICAgICAgICAgICAgICBpZiAoY291bnQgPT09IDEpIHsKKyAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGV2ZW50LmRhdGEuY29sbGVjdGlvbi50
eXBlID09PSBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5QYXJ0aWFsLCAiRXZl
bnQgdHlwZSBzaG91bGQgYmUgUGFydGlhbC4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoY291bnQgPT09IDIpIHsK
KyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGV2ZW50LmRhdGEu
Y29sbGVjdGlvbi50eXBlID09PSBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5G
dWxsLCAiRXZlbnQgdHlwZSBzaG91bGQgYmUgRnVsbC4iKTsKKyAgICAgICAgICAgICAgICAgICAg
cmVzb2x2ZSgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICB9
CisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdCBmb3IgdGhl
IEhlYXAuZ2FyYmFnZUNvbGxlY3RlZCBldmVudC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYjQwNjIyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9oZWFwL2djLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1Rlc3QgZm9y
IHRoZSBIZWFwLmdjIGNvbW1hbmQuCisKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBIZWFwLmdj
CistLSBSdW5uaW5nIHRlc3QgY2FzZTogVHJpZ2dlckdDU2hvdWxkQ3JlYXRlR0NFdmVudAorUEFT
UzogRXZlbnQgc2hvdWxkIGhhdmUgR2FyYmFnZUNvbGxlY3Rpb24gZGF0YS4KK1BBU1M6IEdhcmJh
Z2VDb2xsZWN0aW9uIHR5cGUgc2hvdWxkIGJlIEZ1bGwuCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9oZWFwL2djLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9n
Yy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzYzBlNjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYy5odG1sCkBAIC0wLDAg
KzEsMzAgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IElu
c3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiSGVhcC5nYyIpOworCisgICAgc3VpdGUuYWRk
VGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVHJpZ2dlckdDU2hvdWxkQ3JlYXRlR0NFdmVudCIs
CisgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2FsbGluZyBIZWFwLmdjIHNob3VsZCB0cmlnZ2VyIEhl
YXAuZ2FyYmFnZUNvbGxlY3RlZCBldmVudCBpZiBlbmFibGVkLiIsCisgICAgICAgIHRlc3Q6IChy
ZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgICAgIEhlYXBBZ2VudC5nYygpOworICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLmhlYXBNYW5hZ2VyLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5IZWFwTWFuYWdlci5FdmVudC5HYXJiYWdlQ29sbGVjdGVkLCAoZXZlbnQpID0+
IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZXZlbnQuZGF0YS5j
b2xsZWN0aW9uIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLCAiRXZl
bnQgc2hvdWxkIGhhdmUgR2FyYmFnZUNvbGxlY3Rpb24gZGF0YS4iKTsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZXZlbnQuZGF0YS5jb2xsZWN0aW9uLnR5cGUgPT09
IFdlYkluc3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbi5UeXBlLkZ1bGwsICJHYXJiYWdlQ29sbGVj
dGlvbiB0eXBlIHNob3VsZCBiZSBGdWxsLiIpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsK
KyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0
Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorPHA+VGVzdCBmb3IgdGhlIEhlYXAuZ2MgY29tbWFuZC48L3A+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZjJlYTc5My4u
NDU0NTk3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzQ3LDYgKzM0
Nyw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3Bw
CisgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCiAgICAgaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL2FnZW50
cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0pT
R2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4
IDgzMjFjODYuLjgxNDZmMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1
IEBACisyMDE1LTA5LTI4ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogSW5jbHVkZSBHYXJiYWdlIENvbGxlY3Rpb24gRXZlbnQg
aW4gVGltZWxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0MjUxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAg
ICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCisgICAg
ICAgICogaGVhcC9IZWFwT2JzZXJ2ZXIuaDogICAgICAgIAorICAgICAgICAqIGhlYXAvSGVhcC5j
cHA6CisgICAgICAgIChKU0M6OkhlYXA6OndpbGxTdGFydENvbGxlY3Rpb24pOgorICAgICAgICAo
SlNDOjpIZWFwOjpkaWRGaW5pc2hDb2xsZWN0aW9uKToKKyAgICAgICAgKiBoZWFwL0hlYXAuaDoK
KyAgICAgICAgKEpTQzo6SGVhcDo6YWRkT2JzZXJ2ZXIpOgorICAgICAgICAoSlNDOjpIZWFwOjpy
ZW1vdmVPYnNlcnZlcik6CisgICAgICAgIEFsbG93IG9ic2VydmVycyBvbiBoZWFwIHRvIGFkZCBo
b29rcyBmb3Igc3RhcnRpbmcgLyBlbmRpbmcgZ2FyYmFnZSBjb2xsZWN0aW9uLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckVudmlyb25tZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChJbnNwZWN0
b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyOjp2bSk6CisgICAgICAgICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0
SW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICBBY2Nlc3MgdGhlIFZNIHRocm91Z2ggdGhl
IEluc3BlY3RvckVudmlyb25tZW50IGFzIGl0IHdvbid0IGNoYW5nZS4KKworICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcDogQWRkZWQuCisgICAgICAgIChJ
bnNwZWN0b3I6Okluc3BlY3RvckhlYXBBZ2VudDo6SW5zcGVjdG9ySGVhcEFnZW50KToKKyAgICAg
ICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50Ojp+SW5zcGVjdG9ySGVhcEFnZW50KToK
KyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50OjpkaWRDcmVhdGVGcm9udGVu
ZEFuZEJhY2tlbmQpOgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6Ondp
bGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVj
dG9ySGVhcEFnZW50OjplbmFibGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFw
QWdlbnQ6OmRpc2FibGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6
OmdjKToKKyAgICAgICAgKEluc3BlY3Rvcjo6cHJvdG9jb2xUeXBlRm9ySGVhcE9wZXJhdGlvbik6
CisgICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3RvckhlYXBBZ2VudDo6d2lsbEdhcmJhZ2VDb2xs
ZWN0KToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50OjpkaWRHYXJiYWdl
Q29sbGVjdCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQu
aDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbjogQWRkZWQu
CisgICAgICAgIE5ldyBkb21haW4gYW5kIGFnZW50IHRvIGhhbmRsZSB0YXNrcyByZWxhdGVkIHRv
IHRoZSBKYXZhU2NyaXB0Q29yZSBoZWFwLgorCiAyMDE1LTA5LTI0ICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSlNHbG9iYWxS
dW50aW1lQWdlbnQgdW5pbnRlbnRpb25hbGx5IG92ZXJyaWRlcyBJbnNwZWN0b3JSdW50aW1lQWdl
bnQgZGVzdHJ1Y3Rpb24gaGFuZGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggMTAxNWRkYy4uMDQ2NjhkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE1Miw2ICsxNTIsNyBAQCBJTlNQRUNUT1JfRE9NQUlO
UyA9IFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvRGF0YWJhc2Uu
anNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0RlYnVnZ2Vy
Lmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9HZW5lcmlj
VHlwZXMuanNvbiBcCisgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0hl
YXAuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0luc3Bl
Y3Rvci5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvTGF5
ZXJUcmVlLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9O
ZXR3b3JrLmpzb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkYjIzZDllLi5m
NmRmM2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI4NSw2ICsxMjg1LDkg
QEAKIAkJQTUzMjQzOEMxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMjQz
ODYxODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE1MzI0Mzk0MTg1Njk3
MDkwMDJFRDY5MiAvKiBnZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0MzkxMTg1Njk2RTYw
MDJFRDY5MiAvKiBnZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNTMyNDM5ODE4NTZBNDg5
MDAyRUQ2OTIgLyogQ29tYmluZWREb21haW5zLmpzb24gaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTMyNDM5NTE4NTZBNDc1MDAyRUQ2OTIgLyogQ29tYmlu
ZWREb21haW5zLmpzb24gKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQTUzMzlFQzYxQkIzOTlBNjAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMzlFQzUx
QkIzOTk5MDAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1MzM5RUM3MUJCMzk5QTkwMDU0RjAw
NSAvKiBJbnNwZWN0b3JIZWFwQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTUzMzlFQzQxQkIzOTk5MDAwNTRGMDA1IC8qIEluc3BlY3Rvckhl
YXBBZ2VudC5jcHAgKi87IH07CisJCUE1MzM5RUM5MUJCNEI0NjAwMDU0RjAwNSAvKiBIZWFwT2Jz
ZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
MzM5RUM4MUJCNEI0NTEwMDU0RjAwNSAvKiBIZWFwT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNTNDRTA4NTE4QkMxQTU2MDBCRURG
NzYgLyogQ29uc29sZVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNTNDRTA4MTE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3Rv
dHlwZS5jcHAgKi87IH07CiAJCUE1M0NFMDg2MThCQzFBNTYwMEJFREY3NiAvKiBDb25zb2xlUHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NTNDRTA4MjE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5oICovOyB9OwogCQlB
NTNDRTA4NzE4QkMxQTU2MDBCRURGNzYgLyogSlNDb25zb2xlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1M0NFMDgzMThCQzFBNTYwMEJFREY3NiAv
KiBKU0NvbnNvbGUuY3BwICovOyB9OwpAQCAtMzE3Niw2ICszMTc5LDkgQEAKIAkJQTUzMjQzOTEx
ODU2OTZFNjAwMkVENjkyIC8qIGdlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5ICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gImdlbmVyYXRlLWNvbWJpbmVkLWlu
c3BlY3Rvci1qc29uLnB5Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUzMjQzOTUx
ODU2QTQ3NTAwMkVENjkyIC8qIENvbWJpbmVkRG9tYWlucy5qc29uICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5q
c29uOyBwYXRoID0gQ29tYmluZWREb21haW5zLmpzb247IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE1MzI0Mzk2MTg1NkE0NzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBJbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MzM5RUM0
MUJCMzk5OTAwMDU0RjAwNSAvKiBJbnNwZWN0b3JIZWFwQWdlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9ySGVhcEFnZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMzlFQzUxQkIzOTk5MDAwNTRGMDA1IC8qIEluc3BlY3Rv
ckhlYXBBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JI
ZWFwQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMzlFQzgxQkI0QjQ1
MTAwNTRGMDA1IC8qIEhlYXBPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBIZWFwT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUzQ0Uw
ODExOEJDMUE1NjAwQkVERjc2IC8qIENvbnNvbGVQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29uc29sZVByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE1M0NFMDgyMThCQzFBNTYwMEJFREY3NiAvKiBDb25zb2xlUHJv
dG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVQcm90b3R5
cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUzQ0UwODMxOEJDMUE1NjAwQkVE
Rjc2IC8qIEpTQ29uc29sZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0NvbnNvbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDI2NCw2ICs0
MjcwLDcgQEAKIAkJCQkxNEJBN0E5NTEzQUFERkY4MDA1QjdDMkMgLyogSGVhcC5jcHAgKi8sCiAJ
CQkJMTRCQTdBOTYxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuaCAqLywKIAkJCQkyQUQ4OTMyOTE3
RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmggKi8sCisJCQkJQTUzMzlFQzgx
QkI0QjQ1MTAwNTRGMDA1IC8qIEhlYXBPYnNlcnZlci5oICovLAogCQkJCTJBNkY0NjI1MTdFOTU5
Q0UwMEM0NUM5OCAvKiBIZWFwT3BlcmF0aW9uLmggKi8sCiAJCQkJMTRGOTc0NDYxMzhDODUzRTAw
REExQzY3IC8qIEhlYXBSb290VmlzaXRvci5oICovLAogCQkJCUMyNEQzMUUwMTYxQ0Q2OTUwMDJB
QTREQiAvKiBIZWFwU3RhdGlzdGljcy5jcHAgKi8sCkBAIC01NzI4LDYgKzU3MzUsOCBAQAogCQkJ
CUE1RkQwMDgwMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLywK
IAkJCQlBNTdEMjNFMzE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5j
cHAgKi8sCiAJCQkJQTU3RDIzRTQxODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaCAqLywKKwkJCQlBNTMzOUVDNDFCQjM5OTkwMDA1NEYwMDUgLyogSW5zcGVjdG9ySGVh
cEFnZW50LmNwcCAqLywKKwkJCQlBNTMzOUVDNTFCQjM5OTkwMDA1NEYwMDUgLyogSW5zcGVjdG9y
SGVhcEFnZW50LmggKi8sCiAJCQkJQTUwRTRCNUQxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3Rv
clJ1bnRpbWVBZ2VudC5jcHAgKi8sCiAJCQkJQTUwRTRCNUUxODgwOURENTAwNjhBNDZEIC8qIElu
c3BlY3RvclJ1bnRpbWVBZ2VudC5oICovLAogCQkJCUE1RkQwMDgzMTg5QjFCN0UwMDYzMzIzMSAv
KiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAgKi8sCkBAIC02NjA5LDYgKzY2MTgsNyBA
QAogCQkJCTBGOTE5RDBEMTU3RUUwQTIwMDRBNEU3RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQyQTBFMTZGNUNEMDBCMzQ0NjAgLyogSlNUeXBlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRkUwNTAxNjFBQTkwOTExMDBEMzNCMzMgLyogRGlyZWN0QXJn
dW1lbnRzT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTMzOUVDOTFCQjRCNDYwMDA1NEYw
MDUgLyogSGVhcE9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCNjZGQjE3QjZCNUFC
MDBBN0FFM0YgLyogSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRjJCNjZGRDE3QjZCNUFCMDBBN0FFM0YgLyogSlNUeXBlZEFycmF5UHJvdG90eXBlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEYyQjY2RkYxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJh
eXMuaCBpbiBIZWFkZXJzICovLApAQCAtNjgxNyw2ICs2ODI3LDcgQEAKIAkJCQlBNUZEMDA2ODE4
OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
NTAzRkEyMTE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0QnJlYWtwb2ludC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTVGRDAwNkUxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTUzMzlFQzYxQkIzOTlBNjAwNTRGMDA1IC8qIEluc3BlY3Rvckhl
YXBBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVGRDAwNzAxODlCMDBBQTAwNjMzMjMxIC8q
IFNjcmlwdENhbGxTdGFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4QzAyNDIxOEU0QTQxQTAw
MDMyQkM1IC8qIEpTQ29udGV4dFByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1RkQwMDdF
MTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggaW4gSGVhZGVycyAq
LywKQEAgLTc0MjksNiArNzQ0MCw3IEBACiAJCQkJNTJCMzEwRkYxOTc1QjQyNDAwODA4NTdDIC8q
IFR5cGVMb2NhdGlvbkNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTlFNzI5NDA4MTkwRjAy
MUUwMDFBOTFCNSAvKiBJbml0aWFsaXplTExWTVBPU0lYLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTlFNzI5NDA3MTkwRjAxQTUwMDFBOTFCNSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUE1MzM5RUM3MUJCMzk5QTkwMDU0RjAwNSAvKiBJbnNwZWN0b3JIZWFw
QWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGQTU0OTcxNkI4ODM1MDAwQjNBOTgyIC8q
IEE2NERPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFMDUwMTUxQUE5MDkxMTAwRDMz
QjMzIC8qIERpcmVjdEFyZ3VtZW50c09mZnNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjU1
RjBGNDE0RDEwNjM5MDBBQzc2NDkgLyogQWJzdHJhY3RQQy5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKaW5kZXggMTJmM2E1NC4uMmQ4MTdhZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKQEAgLTM3LDEwICszNywxMCBAQAogI2luY2x1ZGUg
IkhlYXBWZXJpZmllci5oIgogI2luY2x1ZGUgIkluY3JlbWVudGFsU3dlZXBlci5oIgogI2luY2x1
ZGUgIkludGVycHJldGVyLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
R2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNMb2NrLmgiCiAjaW5jbHVkZSAiSlNPTk9iamVj
dC5oIgotI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU1ZpcnR1YWxNYWNoaW5l
SW50ZXJuYWwuaCIKICNpbmNsdWRlICJSZWN1cnNpdmVBbGxvY2F0aW9uU2NvcGUuaCIKICNpbmNs
dWRlICJSZWdFeHBDYWNoZS5oIgpAQCAtNTAsMTIgKzUwLDExIEBACiAjaW5jbHVkZSAiVk0uaCIK
ICNpbmNsdWRlICJXZWFrU2V0SW5saW5lcy5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNs
dWRlIDx3dGYvUkFNU2l6ZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1
ZGUgPHd0Zi9Qcm9jZXNzSUQuaD4KKyNpbmNsdWRlIDx3dGYvUkFNU2l6ZS5oPgogCiB1c2luZyBu
YW1lc3BhY2Ugc3RkOwotdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIEpTQyB7CiAK
QEAgLTExNjEsNiArMTE2MCw5IEBAIHZvaWQgSGVhcDo6d2lsbFN0YXJ0Q29sbGVjdGlvbihIZWFw
T3BlcmF0aW9uIGNvbGxlY3Rpb25UeXBlKQogCiAgICAgaWYgKG1fZWRlbkFjdGl2aXR5Q2FsbGJh
Y2spCiAgICAgICAgIG1fZWRlbkFjdGl2aXR5Q2FsbGJhY2stPndpbGxDb2xsZWN0KCk7CisKKyAg
ICBmb3IgKGF1dG8qIG9ic2VydmVyIDogbV9vYnNlcnZlcnMpCisgICAgICAgIG9ic2VydmVyLT53
aWxsR2FyYmFnZUNvbGxlY3QoKTsKIH0KIAogdm9pZCBIZWFwOjpmbHVzaE9sZFN0cnVjdHVyZUlE
VGFibGVzKCkKQEAgLTEzMDksNiArMTMxMSw3IEBAIHZvaWQgSGVhcDo6ZGlkRmluaXNoQ29sbGVj
dGlvbihkb3VibGUgZ2NTdGFydFRpbWUpCiB7CiAgICAgR0NQSEFTRShGaW5pc2hpbmdDb2xsZWN0
aW9uKTsKICAgICBkb3VibGUgZ2NFbmRUaW1lID0gV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKTsKKyAgICBIZWFwT3BlcmF0aW9uIG9wZXJhdGlvbiA9IG1fb3BlcmF0aW9uSW5Qcm9n
cmVzczsKICAgICBpZiAobV9vcGVyYXRpb25JblByb2dyZXNzID09IEZ1bGxDb2xsZWN0aW9uKQog
ICAgICAgICBtX2xhc3RGdWxsR0NMZW5ndGggPSBnY0VuZFRpbWUgLSBnY1N0YXJ0VGltZTsKICAg
ICBlbHNlCkBAIC0xMzMyLDYgKzEzMzUsOSBAQCB2b2lkIEhlYXA6OmRpZEZpbmlzaENvbGxlY3Rp
b24oZG91YmxlIGdjU3RhcnRUaW1lKQogICAgIFJFTEVBU0VfQVNTRVJUKG1fb3BlcmF0aW9uSW5Q
cm9ncmVzcyA9PSBFZGVuQ29sbGVjdGlvbiB8fCBtX29wZXJhdGlvbkluUHJvZ3Jlc3MgPT0gRnVs
bENvbGxlY3Rpb24pOwogICAgIG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9IE5vT3BlcmF0aW9uOwog
ICAgIEpBVkFTQ1JJUFRDT1JFX0dDX0VORCgpOworCisgICAgZm9yIChhdXRvKiBvYnNlcnZlciA6
IG1fb2JzZXJ2ZXJzKQorICAgICAgICBvYnNlcnZlci0+ZGlkR2FyYmFnZUNvbGxlY3Qob3BlcmF0
aW9uKTsKIH0KIAogdm9pZCBIZWFwOjpyZXN1bWVDb21waWxlclRocmVhZHMoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5oCmluZGV4IGQwNGYzMmYuLmIyMjBmM2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9IZWFwLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJHQ1RocmVhZC5oIgogI2lu
Y2x1ZGUgIkhhbmRsZVNldC5oIgogI2luY2x1ZGUgIkhhbmRsZVN0YWNrLmgiCisjaW5jbHVkZSAi
SGVhcE9ic2VydmVyLmgiCiAjaW5jbHVkZSAiSGVhcE9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpJ
VFN0dWJSb3V0aW5lU2V0LmgiCiAjaW5jbHVkZSAiTGlzdGFibGVIYW5kbGVyLmgiCkBAIC00OSwy
OCArNTAsMjQgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIENvcGllZFNwYWNlOwogY2xh
c3MgQ29kZUJsb2NrOwotY2xhc3MgRXhlY3V0YWJsZUJhc2U7CitjbGFzcyBDb3BpZWRTcGFjZTsK
IGNsYXNzIEVkZW5HQ0FjdGl2aXR5Q2FsbGJhY2s7CitjbGFzcyBFeGVjdXRhYmxlQmFzZTsKIGNs
YXNzIEZ1bGxHQ0FjdGl2aXR5Q2FsbGJhY2s7CiBjbGFzcyBHQ0FjdGl2aXR5Q2FsbGJhY2s7CiBj
bGFzcyBHQ0F3YXJlSklUU3R1YlJvdXRpbmU7Ci1jbGFzcyBHbG9iYWxDb2RlQmxvY2s7CiBjbGFz
cyBIZWFwOwogY2xhc3MgSGVhcFJvb3RWaXNpdG9yOwogY2xhc3MgSGVhcFZlcmlmaWVyOwogY2xh
c3MgSW5jcmVtZW50YWxTd2VlcGVyOwogY2xhc3MgSklUU3R1YlJvdXRpbmU7CiBjbGFzcyBKU0Nl
bGw7Ci1jbGFzcyBWTTsKIGNsYXNzIEpTU3RhY2s7CiBjbGFzcyBKU1ZhbHVlOwotY2xhc3MgTGl2
ZU9iamVjdEl0ZXJhdG9yOwogY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwogY2xhc3MgTWFy
a2VkQXJndW1lbnRCdWZmZXI7Ci1jbGFzcyBXZWFrR0NIYW5kbGVQb29sOwotY2xhc3MgU2xvdFZp
c2l0b3I7CitjbGFzcyBWTTsKIAogbmFtZXNwYWNlIERGRyB7CiBjbGFzcyBXb3JrbGlzdDsKQEAg
LTEzMyw2ICsxMzAsOSBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSW5jcmVtZW50
YWxTd2VlcGVyKiBzd2VlcGVyKCk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBzZXRJbmNy
ZW1lbnRhbFN3ZWVwZXIoc3RkOjp1bmlxdWVfcHRyPEluY3JlbWVudGFsU3dlZXBlcj4pOwogCisg
ICAgdm9pZCBhZGRPYnNlcnZlcihIZWFwT2JzZXJ2ZXIqIG9ic2VydmVyKSB7IG1fb2JzZXJ2ZXJz
LmFwcGVuZChvYnNlcnZlcik7IH0KKyAgICB2b2lkIHJlbW92ZU9ic2VydmVyKEhlYXBPYnNlcnZl
ciogb2JzZXJ2ZXIpIHsgbV9vYnNlcnZlcnMucmVtb3ZlRmlyc3Qob2JzZXJ2ZXIpOyB9CisKICAg
ICAvLyB0cnVlIGlmIGNvbGxlY3Rpb24gaXMgaW4gcHJvZ3Jlc3MKICAgICBib29sIGlzQ29sbGVj
dGluZygpOwogICAgIEhlYXBPcGVyYXRpb24gb3BlcmF0aW9uSW5Qcm9ncmVzcygpIHsgcmV0dXJu
IG1fb3BlcmF0aW9uSW5Qcm9ncmVzczsgfQpAQCAtNDA4LDcgKzQwOCw5IEBAIHByaXZhdGU6CiAg
ICAgUmVmUHRyPEdDQWN0aXZpdHlDYWxsYmFjaz4gbV9lZGVuQWN0aXZpdHlDYWxsYmFjazsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8SW5jcmVtZW50YWxTd2VlcGVyPiBtX3N3ZWVwZXI7CiAgICAgVmVj
dG9yPE1hcmtlZEJsb2NrKj4gbV9ibG9ja1NuYXBzaG90OwotICAgIAorCisgICAgVmVjdG9yPEhl
YXBPYnNlcnZlcio+IG1fb2JzZXJ2ZXJzOworCiAgICAgdW5zaWduZWQgbV9kZWZlcnJhbERlcHRo
OwogICAgIFZlY3RvcjxERkc6OldvcmtsaXN0Kj4gbV9zdXNwZW5kZWRDb21waWxlcldvcmtsaXN0
czsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9IZWFwT2JzZXJ2ZXIuaApzaW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20gU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5l
VHJlZUVsZW1lbnQuanMKY29weSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwT2Jz
ZXJ2ZXIuaAppbmRleCAxZDM1ODBhLi5jNGMyODJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVu
dC5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwT2JzZXJ2ZXIuaApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMs
MjggKzIzLDIwIEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAot
V2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50ID0gY2xhc3MgU291cmNl
Q29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmRUcmVlRWxlbWVudAotewotICAgIGNvbnN0cnVjdG9yKHNvdXJjZUNvZGVUaW1lbGluZSwgc3Vi
dGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkKLSAgICB7
Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNvdXJjZUNvZGVUaW1lbGluZSk7CisjaWZuZGVmIEhl
YXBPYnNlcnZlcl9oCisjZGVmaW5lIEhlYXBPYnNlcnZlcl9oCiAKLSAgICAgICAgc3VidGl0bGVO
YW1lU3R5bGUgPSBzdWJ0aXRsZU5hbWVTdHlsZSB8fCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxv
Y2F0aW9uLk5hbWVTdHlsZS5Ob25lOworI2luY2x1ZGUgIkhlYXBPcGVyYXRpb24uaCIKIAotICAg
ICAgICBzdXBlcihzb3VyY2VDb2RlVGltZWxpbmUucmVjb3Jkc1swXSwgc3VidGl0bGVOYW1lU3R5
bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSwgc291cmNlQ29kZVRpbWVsaW5l
LnNvdXJjZUNvZGVMb2NhdGlvbiwgc291cmNlQ29kZVRpbWVsaW5lKTsKK25hbWVzcGFjZSBKU0Mg
ewogCi0gICAgICAgIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGluZSA9IHNvdXJjZUNvZGVUaW1lbGlu
ZTsKLSAgICB9Ci0KLSAgICAvLyBQdWJsaWMKLQotICAgIGdldCByZWNvcmQoKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKLSAgICB9Ci0KLSAgICBnZXQgc291cmNlQ29kZVRpbWVs
aW5lKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmU7Ci0g
ICAgfQorY2xhc3MgSGVhcE9ic2VydmVyIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5IZWFwT2Jz
ZXJ2ZXIoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgd2lsbEdhcmJhZ2VDb2xsZWN0KCkgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCBkaWRHYXJiYWdlQ29sbGVjdChIZWFwT3BlcmF0aW9uKSA9IDA7CiB9
OworCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhlYXBPYnNlcnZlcl9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuaAppbmRleCA3OTcyMWRmLi5hYWFhYjY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmgKQEAgLTM5LDcgKzM5
LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBIZWFwOwogY2xhc3MgSGVhcEl0ZXJhdGlvblNj
b3BlOwogY2xhc3MgSlNDZWxsOwotY2xhc3MgTGl2ZU9iamVjdEl0ZXJhdG9yOwogY2xhc3MgTExJ
bnRPZmZzZXRzRXh0cmFjdG9yOwogY2xhc3MgV2Vha0dDSGFuZGxlOwogY2xhc3MgU2xvdFZpc2l0
b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckVudmlyb25tZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckVudmlyb25tZW50LmgKaW5kZXggY2I0ODc3MS4uNzVmMmVhNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JFbnZpcm9ubWVudC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRW52aXJvbm1lbnQuaApAQCAt
MzUsNiArMzUsNyBAQCBjbGFzcyBTdG9wd2F0Y2g7CiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIEV4
Y2VwdGlvbjsKIGNsYXNzIFNvdXJjZUNvZGU7CitjbGFzcyBWTTsKIH0KIAogbmFtZXNwYWNlIElu
c3BlY3RvciB7CkBAIC01Myw2ICs1NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2FsbEluamVjdGVkU2NyaXB0RnVuY3Rpb24oSlNDOjpFeGVjU3RhdGUqKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGZyb250ZW5kSW5pdGlhbGl6ZWQoKSA9IDA7CiAgICAgdmlydHVhbCBSZWY8V1RG
OjpTdG9wd2F0Y2g+IGV4ZWN1dGlvblN0b3B3YXRjaCgpID0gMDsKKyAgICB2aXJ0dWFsIEpTQzo6
Vk0mIHZtKCkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9y
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFs
T2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggOTg5ZDJhNi4uMGJlYTY4ZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdElu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMzYsNiArMzYsNyBA
QAogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRSb3V0
ZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JIZWFwQWdlbnQuaCIKICNpbmNsdWRlICJKU0dsb2Jh
bE9iamVjdC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgiCiAjaW5j
bHVkZSAiSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmgiCkBAIC04Niw5ICs4NywxMSBAQCBK
U0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9y
Q29udHJvbGxlcihKU0dsb2JhbE9iagogICAgIGF1dG8gcnVudGltZUFnZW50ID0gc3RkOjptYWtl
X3VuaXF1ZTxKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudD4oY29udGV4dCk7CiAgICAgYXV0byBj
b25zb2xlQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50
Pihjb250ZXh0KTsKICAgICBhdXRvIGRlYnVnZ2VyQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpT
R2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudD4oY29udGV4dCwgY29uc29sZUFnZW50LmdldCgpKTsK
KyAgICBhdXRvIGhlYXBBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9ySGVhcEFnZW50
Pihjb250ZXh0KTsKIAogICAgIG1faW5zcGVjdG9yQWdlbnQgPSBpbnNwZWN0b3JBZ2VudC5nZXQo
KTsKICAgICBtX2RlYnVnZ2VyQWdlbnQgPSBkZWJ1Z2dlckFnZW50LmdldCgpOworICAgIG1faGVh
cEFnZW50ID0gaGVhcEFnZW50LmdldCgpOwogICAgIG1fY29uc29sZUFnZW50ID0gY29uc29sZUFn
ZW50LmdldCgpOwogICAgIG1fY29uc29sZUNsaWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8SlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50PihtX2NvbnNvbGVBZ2VudCk7CiAKQEAgLTk4LDYgKzEwMSw3
IEBAIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyKEpTR2xvYmFsT2JqCiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92
ZShydW50aW1lQWdlbnQpKTsKICAgICBtX2FnZW50cy5hcHBlbmQoV1RGOjptb3ZlKGNvbnNvbGVB
Z2VudCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUoZGVidWdnZXJBZ2VudCkpOwor
ICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUoaGVhcEFnZW50KSk7CiAKICAgICBtX2V4ZWN1
dGlvblN0b3B3YXRjaC0+c3RhcnQoKTsKIH0KQEAgLTI4Myw2ICsyODcsMTEgQEAgUmVmPFN0b3B3
YXRjaD4gSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpleGVjdXRpb25TdG9wd2F0
Y2goKQogICAgIHJldHVybiBtX2V4ZWN1dGlvblN0b3B3YXRjaC5jb3B5UmVmKCk7CiB9CiAKK1ZN
JiBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OnZtKCkKK3sKKyAgICByZXR1cm4g
bV9nbG9iYWxPYmplY3Qudm0oKTsKK30KKwogI2lmIEVOQUJMRShJTlNQRUNUT1JfQUxURVJOQVRF
X0RJU1BBVENIRVJTKQogdm9pZCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmFw
cGVuZEV4dHJhQWdlbnQoc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvckFnZW50QmFzZT4gYWdlbnQp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFs
T2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA5YjQzMDUxLi42
MWJmNjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xv
YmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTU4LDYg
KzU4LDcgQEAgY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwogY2xhc3MgSW5zcGVjdG9yQWdl
bnQ7CiBjbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50OworY2xhc3MgSW5zcGVjdG9ySGVhcEFnZW50OwogY2xhc3MgSlNHbG9iYWxPYmplY3RD
b25zb2xlQ2xpZW50OwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogCkBAIC05Nyw2ICs5OCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2FsbEluamVjdGVkU2NyaXB0RnVuY3Rpb24o
SlNDOjpFeGVjU3RhdGUqKSBvdmVycmlkZSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZnJvbnRlbmRJ
bml0aWFsaXplZCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgUmVmPFdURjo6U3RvcHdhdGNoPiBl
eGVjdXRpb25TdG9wd2F0Y2goKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEpTQzo6Vk0mIHZtKCkg
b3ZlcnJpZGU7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykK
ICAgICB2aXJ0dWFsIEF1Z21lbnRhYmxlSW5zcGVjdG9yQ29udHJvbGxlckNsaWVudCogYXVnbWVu
dGFibGVJbnNwZWN0b3JDb250cm9sbGVyQ2xpZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
bV9hdWdtZW50aW5nQ2xpZW50OyB9IApAQCAtMTE4LDYgKzEyMCw3IEBAIHByaXZhdGU6CiAgICAg
SW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVj
dG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudCB7IG51bGxwdHIgfTsKICAgICBJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50KiBtX2RlYnVnZ2VyQWdlbnQgeyBudWxscHRyIH07CisgICAgSW5zcGVj
dG9ySGVhcEFnZW50KiBtX2hlYXBBZ2VudCB7IG51bGxwdHIgfTsKIAogICAgIFJlZjxGcm9udGVu
ZFJvdXRlcj4gbV9mcm9udGVuZFJvdXRlcjsKICAgICBSZWY8QmFja2VuZERpc3BhdGNoZXI+IG1f
YmFja2VuZERpc3BhdGNoZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmNiZmMxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApA
QCAtMCwwICsxLDEyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JIZWFwQWdlbnQu
aCIKKworI2luY2x1ZGUgIkluc3BlY3RvckVudmlyb25tZW50LmgiCisjaW5jbHVkZSAiVk0uaCIK
KyNpbmNsdWRlIDx3dGYvU3RvcHdhdGNoLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25h
bWVzcGFjZSBJbnNwZWN0b3IgeworCitJbnNwZWN0b3JIZWFwQWdlbnQ6Okluc3BlY3RvckhlYXBB
Z2VudChBZ2VudENvbnRleHQmIGNvbnRleHQpCisgICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoQVND
SUlMaXRlcmFsKCJIZWFwIikpCisgICAgLCBtX2Zyb250ZW5kRGlzcGF0Y2hlcihzdGQ6Om1ha2Vf
dW5pcXVlPEhlYXBGcm9udGVuZERpc3BhdGNoZXI+KGNvbnRleHQuZnJvbnRlbmRSb3V0ZXIpKQor
ICAgICwgbV9iYWNrZW5kRGlzcGF0Y2hlcihIZWFwQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShj
b250ZXh0LmJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKSkKKyAgICAsIG1fZW52aXJvbm1lbnQoY29u
dGV4dC5lbnZpcm9ubWVudCkKK3sKK30KKworSW5zcGVjdG9ySGVhcEFnZW50Ojp+SW5zcGVjdG9y
SGVhcEFnZW50KCkKK3sKKyAgICBFcnJvclN0cmluZyBpZ25vcmVkOworICAgIGRpc2FibGUoaWdu
b3JlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySGVhcEFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqLCBCYWNrZW5kRGlzcGF0Y2hlciopCit7Cit9CisKK3Zv
aWQgSW5zcGVjdG9ySGVhcEFnZW50Ojp3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChEaXNj
b25uZWN0UmVhc29uKQoreworfQorCit2b2lkIEluc3BlY3RvckhlYXBBZ2VudDo6ZW5hYmxlKEVy
cm9yU3RyaW5nJikKK3sKKyAgICBpZiAobV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX2VuYWJsZWQgPSB0cnVlOworCisgICAgbV9lbnZpcm9ubWVudC52bSgpLmhlYXAuYWRkT2Jz
ZXJ2ZXIodGhpcyk7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySGVhcEFnZW50OjpkaXNhYmxlKEVycm9y
U3RyaW5nJikKK3sKKyAgICBpZiAoIW1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9lbmFibGVkID0gZmFsc2U7CisKKyAgICBtX2Vudmlyb25tZW50LnZtKCkuaGVhcC5yZW1vdmVP
YnNlcnZlcih0aGlzKTsKK30KKwordm9pZCBJbnNwZWN0b3JIZWFwQWdlbnQ6OmdjKEVycm9yU3Ry
aW5nJikKK3sKKyAgICBWTSYgdm0gPSBtX2Vudmlyb25tZW50LnZtKCk7CisgICAgSlNMb2NrSG9s
ZGVyIGxvY2sodm0pOworICAgIHNhbml0aXplU3RhY2tGb3JWTSgmdm0pOworICAgIHZtLmhlYXAu
Y29sbGVjdEFsbEdhcmJhZ2UoKTsKK30KKworc3RhdGljIEluc3BlY3Rvcjo6UHJvdG9jb2w6Okhl
YXA6OkdhcmJhZ2VDb2xsZWN0aW9uOjpUeXBlIHByb3RvY29sVHlwZUZvckhlYXBPcGVyYXRpb24o
SGVhcE9wZXJhdGlvbiBvcGVyYXRpb24pCit7CisgICAgc3dpdGNoIChvcGVyYXRpb24pIHsKKyAg
ICBjYXNlIEZ1bGxDb2xsZWN0aW9uOgorICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2Nv
bDo6SGVhcDo6R2FyYmFnZUNvbGxlY3Rpb246OlR5cGU6OkZ1bGw7CisgICAgY2FzZSBFZGVuQ29s
bGVjdGlvbjoKKyAgICAgICAgcmV0dXJuIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkhlYXA6OkdhcmJh
Z2VDb2xsZWN0aW9uOjpUeXBlOjpQYXJ0aWFsOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6SGVh
cDo6R2FyYmFnZUNvbGxlY3Rpb246OlR5cGU6OkZ1bGw7CisgICAgfQorfQorCit2b2lkIEluc3Bl
Y3RvckhlYXBBZ2VudDo6d2lsbEdhcmJhZ2VDb2xsZWN0KCkKK3sKKyAgICBBU1NFUlQobV9lbmFi
bGVkKTsKKyAgICBBU1NFUlQoc3RkOjppc25hbihtX2djU3RhcnRUaW1lKSk7CisKKyAgICBtX2dj
U3RhcnRUaW1lID0gbV9lbnZpcm9ubWVudC5leGVjdXRpb25TdG9wd2F0Y2goKS0+ZWxhcHNlZFRp
bWUoKTsKK30KKwordm9pZCBJbnNwZWN0b3JIZWFwQWdlbnQ6OmRpZEdhcmJhZ2VDb2xsZWN0KEhl
YXBPcGVyYXRpb24gb3BlcmF0aW9uKQoreworICAgIEFTU0VSVChtX2VuYWJsZWQpOworICAgIEFT
U0VSVCghc3RkOjppc25hbihtX2djU3RhcnRUaW1lKSk7CisKKyAgICAvLyBGSVhNRTogSW5jbHVk
ZSBudW1iZXIgb2YgYnl0ZXMgZnJlZWQgYnkgY29sbGVjdGlvbi4KKworICAgIGRvdWJsZSBlbmRU
aW1lID0gbV9lbnZpcm9ubWVudC5leGVjdXRpb25TdG9wd2F0Y2goKS0+ZWxhcHNlZFRpbWUoKTsK
KyAgICBhdXRvIGNvbGxlY3Rpb24gPSBJbnNwZWN0b3I6OlByb3RvY29sOjpIZWFwOjpHYXJiYWdl
Q29sbGVjdGlvbjo6Y3JlYXRlKCkKKyAgICAgICAgLnNldFR5cGUocHJvdG9jb2xUeXBlRm9ySGVh
cE9wZXJhdGlvbihvcGVyYXRpb24pKQorICAgICAgICAuc2V0U3RhcnRUaW1lKG1fZ2NTdGFydFRp
bWUpCisgICAgICAgIC5zZXRFbmRUaW1lKGVuZFRpbWUpCisgICAgICAgIC5yZWxlYXNlKCk7CisK
KyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+Z2FyYmFnZUNvbGxlY3RlZChXVEY6Om1vdmUoY29s
bGVjdGlvbikpOworICAgIG1fZ2NTdGFydFRpbWUgPSBOQU47Cit9CisKK30gLy8gbmFtZXNwYWNl
IEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4xOGU0OGRmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmgKQEAgLTAsMCArMSw2OCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
SW5zcGVjdG9ySGVhcEFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9ySGVhcEFnZW50X2gKKworI2lu
Y2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIgorI2luY2x1ZGUgIkluc3BlY3Rv
ckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKKyNpbmNsdWRlICJoZWFwL0hlYXBPYnNlcnZlci5oIgor
I2luY2x1ZGUgImluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2UuaCIKKyNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorCituYW1lc3BhY2UgSW5z
cGVjdG9yIHsKKwordHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIEpTX0VYUE9S
VF9QUklWQVRFIEluc3BlY3RvckhlYXBBZ2VudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JBZ2Vu
dEJhc2UsIHB1YmxpYyBIZWFwQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyLCBwdWJsaWMgSlNDOjpI
ZWFwT2JzZXJ2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckhlYXBBZ2Vu
dCk7CitwdWJsaWM6CisgICAgSW5zcGVjdG9ySGVhcEFnZW50KEFnZW50Q29udGV4dCYpOworICAg
IHZpcnR1YWwgfkluc3BlY3RvckhlYXBBZ2VudCgpOworCisgICAgdmlydHVhbCB2b2lkIGRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVy
Kikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNr
ZW5kKERpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOworCisgICAgLy8gSGVhcEJhY2tlbmREaXNw
YXRjaGVySGFuZGxlcgorICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcmKSBvdmVy
cmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyYpIG92ZXJyaWRlOwor
ICAgIHZpcnR1YWwgdm9pZCBnYyhFcnJvclN0cmluZyYpIG92ZXJyaWRlOworCisgICAgLy8gSGVh
cE9ic2VydmVyCisgICAgdmlydHVhbCB2b2lkIHdpbGxHYXJiYWdlQ29sbGVjdCgpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCBkaWRHYXJiYWdlQ29sbGVjdChKU0M6OkhlYXBPcGVyYXRpb24p
IG92ZXJyaWRlOworCitwcml2YXRlOgorICAgIHN0ZDo6dW5pcXVlX3B0cjxIZWFwRnJvbnRlbmRE
aXNwYXRjaGVyPiBtX2Zyb250ZW5kRGlzcGF0Y2hlcjsKKyAgICBSZWZQdHI8SGVhcEJhY2tlbmRE
aXNwYXRjaGVyPiBtX2JhY2tlbmREaXNwYXRjaGVyOworICAgIEluc3BlY3RvckVudmlyb25tZW50
JiBtX2Vudmlyb25tZW50OworICAgIGJvb2wgbV9lbmFibGVkIHsgZmFsc2UgfTsKKyAgICBkb3Vi
bGUgbV9nY1N0YXJ0VGltZSB7IE5BTiB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9y
CisKKyNlbmRpZiAvLyBJbnNwZWN0b3JIZWFwQWdlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9IZWFwLmpzb24gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5lYWMzMzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9IZWFwLmpzb24KQEAgLTAsMCArMSwzOSBAQAor
eworICAgICJkb21haW4iOiAiSGVhcCIsCisgICAgImRlc2NyaXB0aW9uIjogIkhlYXAgZG9tYWlu
IGV4cG9zZXMgSmF2YVNjcmlwdCBoZWFwIGF0dHJpYnV0ZXMgYW5kIGNhcGFiaWxpdGllcy4iLAor
ICAgICJ0eXBlcyI6IFsKKyAgICAgICAgeworICAgICAgICAgICAgImlkIjogIkdhcmJhZ2VDb2xs
ZWN0aW9uIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJJbmZvcm1hdGlvbiBhYm91dCBh
IGdhcmJhZ2UgY29sbGVjdGlvbi4iLAorICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKKyAg
ICAgICAgICAgICJwcm9wZXJ0aWVzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidHlw
ZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJmdWxsIiwgInBhcnRpYWwiXSwgImRlc2Ny
aXB0aW9uIjogIlRoZSB0eXBlIG9mIGdhcmJhZ2UgY29sbGVjdGlvbi4iIH0sCisgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJzdGFydFRpbWUiLCAidHlwZSI6ICJudW1iZXIiIH0sCisgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJlbmRUaW1lIiwgInR5cGUiOiAibnVtYmVyIiB9CisgICAgICAg
ICAgICBdCisgICAgICAgIH0KKyAgICBdLAorICAgICJjb21tYW5kcyI6IFsKKyAgICAgICAgewor
ICAgICAgICAgICAgIm5hbWUiOiAiZW5hYmxlIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6
ICJFbmFibGVzIEhlYXAgZG9tYWluIGV2ZW50cy4iCisgICAgICAgIH0sCisgICAgICAgIHsKKyAg
ICAgICAgICAgICJuYW1lIjogImRpc2FibGUiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjog
IkRpc2FibGVzIEhlYXAgZG9tYWluIGV2ZW50cy4iCisgICAgICAgIH0sCisgICAgICAgIHsKKyAg
ICAgICAgICAgICJuYW1lIjogImdjIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUcmln
Z2VyIGEgZnVsbCBnYXJiYWdlIGNvbGxlY3Rpb24uIgorICAgICAgICB9CisgICAgXSwKKyAgICAi
ZXZlbnRzIjogWworICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJnYXJiYWdlQ29sbGVj
dGVkIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJJbmZvcm1hdGlvbiBhYm91dCB0aGUg
Z2FyYmFnZSBjb2xsZWN0aW9uLiIsCisgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogImNvbGxlY3Rpb24iLCAidHlwZSI6ICJHYXJiYWdlQ29sbGVj
dGlvbiIgfQorICAgICAgICAgICAgXQorICAgICAgICB9CisgICAgXQorfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGIyZjUyMzAuLjM5NTZmYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxNS0wOS0y
OCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IEluY2x1ZGUgR2FyYmFnZSBDb2xsZWN0aW9uIEV2ZW50IGluIFRpbWVsaW5lCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1MTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogaW5z
cGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0
b3IvaGVhcC9nYy5odG1sCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9oZWFwL0hlYXBP
YnNlcnZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgRm9yd2FyZGluZyBoZWFkZXJzLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjp2bSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVy
Ojp2bSk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaDoK
KyAgICAgICAgSW1wbGVtZW50IEluc3BlY3RvckVudmlyb25tZW50Ojp2bSBhbmQgY3JlYXRlIGEg
SGVhcCBhZ2VudCBmb3IgdGhlCisgICAgICAgIFBhZ2UgaW5zcGVjdG9yIGNvbnRyb2xsZXIuCisK
IDIwMTUtMDktMjMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
TWFjIHByb2R1Y3Rpb24gYnVpbGQgZml4IGF0dGVtcHQgYWZ0ZXIgcjE5MDE1NS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2hlYXAvSGVhcE9ic2VydmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9oZWFwL0hlYXBPYnNlcnZlci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4OTIxYzIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9oZWFwL0hlYXBPYnNlcnZlci5o
CkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9IZWFwT2JzZXJ2ZXJfaAorI2Rl
ZmluZSBXZWJDb3JlX0ZXRF9IZWFwT2JzZXJ2ZXJfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0hlYXBPYnNlcnZlci5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3
YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oIGIvU291
cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JI
ZWFwQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTVkNmMxCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYg
V2ViQ29yZV9GV0RfSW5zcGVjdG9ySGVhcEFnZW50X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfSW5z
cGVjdG9ySGVhcEFnZW50X2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JIZWFw
QWdlbnQuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2oKaW5kZXggMjFhOWQ0Mi4uZmUxYWQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0yMDM1NSw2ICsyMDM1NSw3IEBA
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xiaW5kaW5nc1xT
Y3JpcHRWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNcaGVhcFxBbGxvY2F0aW9uU3BhY2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcSGVhcC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxIZWFwT2JzZXJ2ZXIuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcU2xvdFZpc2l0b3Iu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBc
U3Ryb25nSW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGlu
Z0hlYWRlcnNcaGVhcFxXZWFrLmgiIC8+CkBAIC0yMDM4NCw2ICsyMDM4NSw3IEBACiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXElu
c3BlY3RvckFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5n
SGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50
c1xJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckhlYXBBZ2VudC5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVj
dG9yXGFnZW50c1xJbnNwZWN0b3JSdW50aW1lQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXG1hc21cWDg2QXNzZW1ibGVyLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xwYXJzZXJcU291cmNlQ29k
ZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDZkZDM3OTkuLjgyNzFjMjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
QEAgLTExNzc3LDYgKzExNzc3LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndh
cmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIj4K
ICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckhlYXBBZ2VudC5oIj4KKyAgICAgIDxGaWx0ZXI+
Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdl
bnRzXEluc3BlY3RvclJ1bnRpbWVBZ2VudC5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hl
YWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMjA1Nyw2ICsx
MjA2MCw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xo
ZWFwXEhlYXAuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGhlYXA8L0ZpbHRl
cj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRp
bmdIZWFkZXJzXGhlYXBcSGVhcE9ic2VydmVyLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5n
SGVhZGVyc1xoZWFwPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXFNsb3RWaXNpdG9yLmgiPgogICAgICAg
PEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xoZWFwPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
aW5kZXggODExMmU1NS4uOTAwNzUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNzAsNiArNzAsNyBAQAogI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmg+CiAjaW5jbHVkZSA8aW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JBZ2VudC5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
SGVhcEFnZW50Lmg+CiAjaW5jbHVkZSA8cHJvZmlsZXIvTGVnYWN5UHJvZmlsZXIuaD4KICNpbmNs
dWRlIDxydW50aW1lL0pTTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9TdG9wd2F0Y2guaD4KQEAgLTE3
MCw2ICsxNzEsNyBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBh
Z2UmIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogICAgIG1fZG9tRGVidWdnZXJB
Z2VudCA9IGRvbURlYnVnZ2VyQWdlbnRQdHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdU
Rjo6bW92ZShkb21EZWJ1Z2dlckFnZW50UHRyKSk7CiAKKyAgICBtX2FnZW50cy5hcHBlbmQoc3Rk
OjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JIZWFwQWdlbnQ+KHBhZ2VDb250ZXh0KSk7CiAgICAgbV9h
Z2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50PihwYWdlQ29udGV4dCwgcGFnZUFnZW50KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6
bWFrZV91bmlxdWU8SW5zcGVjdG9yV29ya2VyQWdlbnQ+KHBhZ2VDb250ZXh0KSk7CiAgICAgbV9h
Z2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ+KHBh
Z2VDb250ZXh0KSk7CkBAIC00NzQsNiArNDc2LDExIEBAIFJlZjxTdG9wd2F0Y2g+IEluc3BlY3Rv
ckNvbnRyb2xsZXI6OmV4ZWN1dGlvblN0b3B3YXRjaCgpCiAgICAgcmV0dXJuIG1fZXhlY3V0aW9u
U3RvcHdhdGNoLmNvcHlSZWYoKTsKIH0KIAorSlNDOjpWTSYgSW5zcGVjdG9yQ29udHJvbGxlcjo6
dm0oKQoreworICAgIHJldHVybiBKU0RPTVdpbmRvd0Jhc2U6OmNvbW1vblZNKCk7Cit9CisKIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkQ29tcG9zaXRlKEZyYW1lJiBmcmFtZSkKIHsKICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENvbXBvc2l0ZShmcmFtZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA1MWI5Y2Ix
Li4wMWU1YzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmgKQEAgLTEzMSw2ICsxMzEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRp
ZENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKikgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIGZyb250ZW5kSW5pdGlhbGl6ZWQoKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIFJlZjxXVEY6OlN0b3B3YXRjaD4gZXhlY3V0aW9uU3RvcHdhdGNoKCkgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCBKU0M6OlZNJiB2bSgpIG92ZXJyaWRlOwogCiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBkaWRDb21wb3NpdGUoRnJhbWUmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDY2ZjljYjAzLi4y
OGNkZWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVj
dG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJKU0RPTVdpbmRv
d0Jhc2UuaCIKICNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJX
ZWJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJXZWJJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaCIKQEAgLTUxLDYgKzUyLDcgQEAKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRSb3V0ZXIuaD4KICNpbmNsdWRlIDx3dGYvU3RvcHdhdGNoLmg+CiAKK3VzaW5nIG5hbWVz
cGFjZSBKU0M7CiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC0xOTUsNCArMTk3LDkgQEAgUmVmPFN0b3B3YXRjaD4gV29ya2VySW5zcGVjdG9yQ29u
dHJvbGxlcjo6ZXhlY3V0aW9uU3RvcHdhdGNoKCkKICAgICByZXR1cm4gbV9leGVjdXRpb25TdG9w
d2F0Y2guY29weVJlZigpOwogfQogCitWTSYgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6dm0o
KQoreworICAgIHJldHVybiBKU0RPTVdpbmRvd0Jhc2U6OmNvbW1vblZNKCk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IGQ4ZjI2ZTUuLjdmNDI0NzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIu
aApAQCAtNzUsNiArNzUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENhbGxJbmpl
Y3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKikgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIGZyb250ZW5kSW5pdGlhbGl6ZWQoKSBvdmVycmlkZSB7IH0KICAgICB2aXJ0dWFsIFJl
ZjxXVEY6OlN0b3B3YXRjaD4gZXhlY3V0aW9uU3RvcHdhdGNoKCkgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCBKU0M6OlZNJiB2bSgpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA4
ZTA4MWVhLi4xZGQ0ZTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4MCBA
QAorMjAxNS0wOS0yOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEluY2x1ZGUgR2FyYmFnZSBDb2xsZWN0aW9uIEV2ZW50IGlu
IFRpbWVsaW5lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDI1MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanM6CisgICAgICAgIChBcnJheS5wcm90
b3R5cGUucGFyaXRpb24pOgorICAgICAgICBIZWxwZXIgdG8gcGFydGl0aW9uIGFuIEFycmF5IGlu
dG8gdHdvIGFycmF5cy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAg
ICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5s
b2FkZWQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC5odG1sOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxvYWRlZCk6
CisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyLnByb3RvdHlwZS5nYXJiYWdlQ29sbGVjdGVk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwT2JzZXJ2ZXIpOgorICAgICAgICBDcmVhdGUg
dGhlIG5ldyBvYnNlcnZlciBhbmQgbWFuYWdlci4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
TW9kZWxzL0dhcmJhZ2VDb2xsZWN0aW9uLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdhcmJh
Z2VDb2xsZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbi5m
cm9tUGF5bG9hZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24ucHJv
dG90eXBlLmdldCB0eXBlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlv
bi5wcm90b3R5cGUuZ2V0IHN0YXJ0VGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR2FyYmFn
ZUNvbGxlY3Rpb24ucHJvdG90eXBlLmdldCBlbmRUaW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5HYXJiYWdlQ29sbGVjdGlvbi5wcm90b3R5cGUuZ2V0IGR1cmF0aW9uKToKKyAgICAgICAgTW9k
ZWwgb2JqZWN0IGZvciBIZWFwLkdhcmJhZ2VDb2xsZWN0aW9uLgorCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9Db250cm9sbGVycy9IZWFwTWFuYWdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5IZWFwTWFuYWdlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcE1hbmFnZXIucHJvdG90
eXBlLmdhcmJhZ2VDb2xsZWN0ZWQpOgorICAgICAgICBEaXNwYXRjaCBldmVudHMgd2l0aC4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlcik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fZ2FyYmFnZUNvbGxlY3RlZCk6CisgICAg
ICAgIEluY2x1ZGUgbmV3IEdDIFRpbWVsaW5lIEV2ZW50cyBhcyBTY3JpcHQgZXZlbnRzLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGgu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoLnBy
b3RvdHlwZS51cGRhdGVMYXlvdXQpOgorICAgICAgICBGb3IgdGhlIFNjcmlwdCBvdmVydmlldywg
bWFrZSB0d28gc2V0cyBvZiBiYXJzLCBvbmUgZm9yIFNjcmlwdHMgYW5kIG9uZSBmb3IgR0NzLgor
ICAgICAgICBUaGUgR0NzIGJhciB3aWxsIGJlIG9uIHRvcCBvZiB0aGUgdGhlIFNjcmlwdHMgYmFy
LiBUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwKKyAgICAgICAgc2luY2UgYSBHQyBjYW4gaGFw
cGVuIGR1cmluZyBzY3JpcHQgZXhlY3V0aW9uLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuZ2V0IGRhdGEpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZS5jcmVh
dGVDZWxsQ29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVEYXRh
R3JpZE5vZGUpOgorICAgICAgICBHaXZlIGEgTmFOIGNhbGwgY291bnQgdG8gdG9wIGxldmVsIFNj
cmlwdCBEYXRhR3JpZE5vZGVzLgorICAgICAgICBJbiB0aGUgVUksIGRpc3BsYXkgdGhlIGVtcHR5
IHBsYWNlaG9sZGVyIGZvciBOYU4gY2FsbCBjb3VudHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL0ltYWdlcy9UaW1lbGluZVJlY29yZEdhcmJhZ2VDb2xsZWN0aW9uLnN2ZzogQWRkZWQuCisg
ICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxpbmVSZWNvcmQuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQucHJvdG90eXBlLmlzR2Fy
YmFnZUNvbGxlY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5kaXNwbGF5TmFtZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9TY3JpcHRUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGlt
ZWxpbmVWaWV3LnByb3RvdHlwZS5fcHJvY2Vzc1BlbmRpbmdSZWNvcmRzKToKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50KToKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lSWNvbnMuY3NzOgorICAgICAgICAoLmdh
cmJhZ2UtY29sbGVjdGlvbi1wcm9maWxlLXJlY29yZCAuaWNvbik6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5jc3M6CisgICAgICAgICgudGltZWxpbmUt
cmVjb3JkLWJhci50aW1lbGluZS1yZWNvcmQtdHlwZS1zY3JpcHQuc2NyaXB0LXRpbWVsaW5lLXJl
Y29yZC1nYXJiYWdlLWNvbGxlY3RlZCA+IC5zZWdtZW50KToKKyAgICAgICAgVUkgZm9yIEdDIGV2
ZW50cy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRCYXIuY3JlYXRlQ29tYmlu
ZWRCYXJzKToKKyAgICAgICAgU2ltcGxpZnkgYnkgc3RvcmluZyBzdGFydCB0aW1lIGludG8gYSB2
YXJpYWJsZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRU
cmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVF
bGVtZW50KToKKyAgICAgICAgSWNvbiBmb3IgR0MgZXZlbnRzLgorCiAyMDE1LTA5LTI0ICBKb3Nl
cGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogUmVsb2FkaW5nIHRoZSBwYWdlIGNhdXNlcyB0aGUgaW5zcGVjdG9yIHRhYiB0byBzd2l0Y2gg
YmFjayB0byAiUmVzb3VyY2VzIiB0YWIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmlu
ZGV4IDhjYjZiOGMwNzQxZDk3ZTQwZWI2N2JmMjQ5MTVjY2UzMDA1YzkzYjguLjM3ZjViNmE0Y2E2
YTUxOGU3OGIwOTZlMGU5M2EyMjNlNzFmYTIyZWMgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVs
dGEgMjM0CnpjbVpwOyNJbyl4JVpCY1dsSXskTjNgR257S3IpPm5sfGd+UW5JV0djMk1BTHE9WlQw
PG87IzVYa0JTUS1ya2ZpbApyK0F4YWFGQGt7aC1JSnV1UmZgeCg3JjN0XyROfTFxKkZCbTZWQW0z
KDhzeFQlQy12aDJRUXRUWAoKZGVsdGEgMjQKZ2NtWjI/bThJYmwlWkJjV25gSXslRj5YRlBTO0Jt
Q15KKHBQMEZlTC1FQzJ1aQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0Jhc2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0Jhc2UvTWFpbi5qcwppbmRleCBjNTNiOGEzLi45MzVjNGI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCkBAIC02OCw2ICs2OCw4
IEBAIFdlYkluc3BlY3Rvci5sb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgICAgIEluc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJET01EaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuRE9NT2JzZXJ2ZXIp
OwogICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKQog
ICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKG5ldyBX
ZWJJbnNwZWN0b3IuRGVidWdnZXJPYnNlcnZlcik7CisgICAgaWYgKEluc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJIZWFwRGlzcGF0Y2hlcikKKyAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckhlYXBEaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyKTsKICAgICBpZiAo
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRhdGFiYXNlRGlzcGF0Y2hlcikKICAgICAgICAgSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckRhdGFiYXNlRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9y
LkRhdGFiYXNlT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9N
U3RvcmFnZURpc3BhdGNoZXIpCkBAIC0xMDgsNiArMTEwLDcgQEAgV2ViSW5zcGVjdG9yLmxvYWRl
ZCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLmlzc3VlTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3Iu
SXNzdWVNYW5hZ2VyOwogICAgIHRoaXMuYW5hbHl6ZXJNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rv
ci5BbmFseXplck1hbmFnZXI7CiAgICAgdGhpcy5ydW50aW1lTWFuYWdlciA9IG5ldyBXZWJJbnNw
ZWN0b3IuUnVudGltZU1hbmFnZXI7CisgICAgdGhpcy5oZWFwTWFuYWdlciA9IG5ldyBXZWJJbnNw
ZWN0b3IuSGVhcE1hbmFnZXI7CiAgICAgdGhpcy5hcHBsaWNhdGlvbkNhY2hlTWFuYWdlciA9IG5l
dyBXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZU1hbmFnZXI7CiAgICAgdGhpcy50aW1lbGlu
ZU1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlcjsKICAgICB0aGlzLmRl
YnVnZ2VyTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5q
cwppbmRleCBkMGIyYjIxLi5kZDE0MjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcwpAQCAtNDUyLDYgKzQ1MiwyMyBA
QCBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAia2V5U2V0IiwKICAgICB9
CiB9KTsKIAorT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInBhcnRpdGlv
biIsCit7CisgICAgdmFsdWU6IGZ1bmN0aW9uKGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgbGV0
IHBvc2l0aXZlID0gW107CisgICAgICAgIGxldCBuZWdhdGl2ZSA9IFtdOworICAgICAgICBmb3Ig
KGxldCBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGxldCB2YWx1
ZSA9IHRoaXNbaV07CisgICAgICAgICAgICBpZiAoY2FsbGJhY2sodmFsdWUpKQorICAgICAgICAg
ICAgICAgIHBvc2l0aXZlLnB1c2godmFsdWUpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIG5lZ2F0aXZlLnB1c2godmFsdWUpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBb
cG9zaXRpdmUsIG5lZ2F0aXZlXTsKKyAgICB9Cit9KTsKKwogT2JqZWN0LmRlZmluZVByb3BlcnR5
KFN0cmluZy5wcm90b3R5cGUsICJ0cmltTWlkZGxlIiwKIHsKICAgICB2YWx1ZTogZnVuY3Rpb24o
bWF4TGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9IZWFwTWFuYWdlci5qcwpzaW1pbGFy
aXR5IGluZGV4IDY0JQpjb3B5IGZyb20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKY29weSB0byBTb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9IZWFwTWFuYWdlci5qcwpp
bmRleCAxZDM1ODBhLi5iYzNkYmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9IZWFwTWFu
YWdlci5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjMsMjggKzIzLDI3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAotV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50ID0g
Y2xhc3MgU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudAorV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyID0gY2xh
c3MgSGVhcE1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiB7Ci0gICAgY29uc3Ry
dWN0b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVy
SWRlbnRpZmllckluTWFpblRpdGxlKQorICAgIGNvbnN0cnVjdG9yKCkKICAgICB7Ci0gICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHNvdXJjZUNvZGVUaW1lbGluZSk7CisgICAgICAgIHN1cGVyKCk7CiAK
LSAgICAgICAgc3VidGl0bGVOYW1lU3R5bGUgPSBzdWJ0aXRsZU5hbWVTdHlsZSB8fCBXZWJJbnNw
ZWN0b3IuU291cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5Ob25lOwotCi0gICAgICAgIHN1cGVy
KHNvdXJjZUNvZGVUaW1lbGluZS5yZWNvcmRzWzBdLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVk
ZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlLCBzb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29k
ZUxvY2F0aW9uLCBzb3VyY2VDb2RlVGltZWxpbmUpOwotCi0gICAgICAgIHRoaXMuX3NvdXJjZUNv
ZGVUaW1lbGluZSA9IHNvdXJjZUNvZGVUaW1lbGluZTsKKyAgICAgICAgaWYgKHdpbmRvdy5IZWFw
QWdlbnQpCisgICAgICAgICAgICBIZWFwQWdlbnQuZW5hYmxlKCk7CiAgICAgfQogCiAgICAgLy8g
UHVibGljCiAKLSAgICBnZXQgcmVjb3JkKCkKKyAgICBnYXJiYWdlQ29sbGVjdGVkKHBheWxvYWQp
CiAgICAgewotICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwotICAgIH0KKyAgICAgICAgLy8gQ2Fs
bGVkIGZyb20gV2ViSW5zcGVjdG9yLkhlYXBPYnNlcnZlci4KIAotICAgIGdldCBzb3VyY2VDb2Rl
VGltZWxpbmUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGlu
ZTsKKyAgICAgICAgbGV0IGNvbGxlY3Rpb24gPSBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rp
b24uZnJvbVBheWxvYWQocGF5bG9hZCk7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKFdlYkluc3BlY3Rvci5IZWFwTWFuYWdlci5FdmVudC5HYXJiYWdlQ29sbGVjdGVkLCB7
Y29sbGVjdGlvbn0pOwogICAgIH0KIH07CisKK1dlYkluc3BlY3Rvci5IZWFwTWFuYWdlci5FdmVu
dCA9IHsKKyAgICBHYXJiYWdlQ29sbGVjdGVkOiAiaGVhcC1tYW5hZ2VyLWdhcmJhZ2UtY29sbGVj
dGVkIgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwppbmRleCAyOGJhYmIy
Li4zMjZkOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzCkBAIC0zMyw2
ICszMyw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1h
bmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIFdlYkluc3BlY3Rvci5G
cmFtZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GcmFtZS5FdmVudC5NYWluUmVzb3Vy
Y2VEaWRDaGFuZ2UsIHRoaXMuX21haW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcyk7CiAgICAgICAg
IFdlYkluc3BlY3Rvci5GcmFtZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GcmFtZS5F
dmVudC5SZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9yZXNvdXJjZVdhc0FkZGVkLCB0aGlzKTsKIAor
ICAgICAgICBXZWJJbnNwZWN0b3IuaGVhcE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuSGVhcE1hbmFnZXIuRXZlbnQuR2FyYmFnZUNvbGxlY3RlZCwgdGhpcy5fZ2FyYmFnZUNv
bGxlY3RlZCwgdGhpcyk7CisKICAgICAgICAgdGhpcy5fcGVyc2lzdGVudE5ldHdvcmtUaW1lbGlu
ZSA9IG5ldyBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5lOwogCiAgICAgICAgIHRoaXMuX2lz
Q2FwdHVyaW5nID0gZmFsc2U7CkBAIC01OTMsNiArNTk1LDE1IEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
T2JqZWN0CiAKICAgICAgICAgdGhpcy5fYWRkUmVjb3JkKHJlY29yZCk7CiAgICAgfQorCisgICAg
X2dhcmJhZ2VDb2xsZWN0ZWQoZXZlbnQpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX2lzQ2Fw
dHVyaW5nKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBjb2xsZWN0aW9uID0g
ZXZlbnQuZGF0YS5jb2xsZWN0aW9uOworICAgICAgICB0aGlzLl9hZGRSZWNvcmQobmV3IFdlYklu
c3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVS
ZWNvcmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQsIGNvbGxlY3Rpb24uc3RhcnRUaW1lLCBj
b2xsZWN0aW9uLmVuZFRpbWUsIG51bGwsIG51bGwsIGNvbGxlY3Rpb24pKTsKKyAgICB9CiB9Owog
CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50ID0gewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL1RpbWVsaW5lUmVjb3JkR2Fy
YmFnZUNvbGxlY3Rpb24uc3ZnIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
SW1hZ2VzL1RpbWVsaW5lUmVjb3JkR2FyYmFnZUNvbGxlY3Rpb24uc3ZnCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlMTdkZjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvVGltZWxpbmVSZWNvcmRHYXJiYWdl
Q29sbGVjdGlvbi5zdmcKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJ1dGYtOCI/PgorPCEtLSBDb3B5cmlnaHQgwqkgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuIC0tPgorPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij4KKyAgICA8cGF0aCBmaWxsPSJyZ2Io
MjI4LCAxOTgsIDE3MikiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAx
IDMgTCAxIDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAx
NTYyIDE1IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIg
MSAxMyAxIFoiLz4KKyAgICA8cGF0aCBmaWxsPSJyZ2IoMTg2LCAxNTcsIDEzMikiIGQ9Ik0gMTMg
MSBMIDMgMSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAxNC4xMDE1NjIg
MS44OTg0MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEwMTU2MiAxNSAx
MyBMIDE1IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAxMyAxIE0gMTMgMiBDIDEzLjU1MDc4
MSAyIDE0IDIuNDQ5MjE5IDE0IDMgTCAxNCAxMyBDIDE0IDEzLjU1MDc4MSAxMy41NTA3ODEgMTQg
MTMgMTQgTCAzIDE0IEMgMi40NDkyMTkgMTQgMiAxMy41NTA3ODEgMiAxMyBMIDIgMyBDIDIgMi40
NDkyMTkgMi40NDkyMTkgMiAzIDIgTCAxMyAyIi8+CisgICAgPHBhdGggZmlsbD0icmdiKDE4Niwg
MTU3LCAxMzIpIiBkPSJNIDQuNzczNDM4IDExLjU0Mjk2OSBDIDMuODU1NDY5IDEwLjYyMTA5NCAz
LjM5MDYyNSA5LjM0NzY1NiAzLjM5MDYyNSA3Ljc2OTUzMSBDIDMuMzkwNjI1IDYuMTU2MjUgMy44
NjMyODEgNC44Nzg5MDYgNC43ODkwNjIgMy45NjQ4NDQgQyA1LjcxMDkzOCAzLjA1NDY4OCA3LjAw
MzkwNiAyLjU5Mzc1IDguNjI1IDIuNTkzNzUgQyA5LjU3MDMxMiAyLjU5Mzc1IDEwLjUxOTUzMSAy
LjcwNzAzMSAxMS40NDE0MDYgMi45Mjk2ODggQyAxMS44OTA2MjUgMy4wMzUxNTYgMTIuMjEwOTM4
IDMuNDM3NSAxMi4yMTA5MzggMy45MDIzNDQgTCAxMi4yMTA5MzggNS4xOTUzMTIgQyAxMi4yMTA5
MzggNS41MTk1MzEgMTIuMDUwNzgxIDUuODI0MjE5IDExLjc4OTA2MiA2LjAxMTcxOSBDIDExLjYx
MzI4MSA2LjEzMjgxMiAxMS40MTAxNTYgNi4xOTUzMTIgMTEuMjA3MDMxIDYuMTk1MzEyIEMgMTEu
MDk3NjU2IDYuMTk1MzEyIDEwLjk4NDM3NSA2LjE3OTY4OCAxMC44Nzg5MDYgNi4xNDA2MjUgQyAx
MC4wMTU2MjUgNS44MzU5MzggOS4zMDg1OTQgNS42ODM1OTQgOC43Njk1MzEgNS42ODM1OTQgQyA4
LjA1ODU5NCA1LjY4MzU5NCA3Ljc1MzkwNiA1Ljk0MTQwNiA3LjU4OTg0NCA2LjEzMjgxMiBDIDcu
Mjk2ODc1IDYuNDc2NTYyIDcuMTQ4NDM4IDcuMDE5NTMxIDcuMTQ4NDM4IDcuNzQ2MDk0IEMgNy4x
NDg0MzggOC40NDUzMTIgNy4zMDg1OTQgOC45NzI2NTYgNy42MjEwOTQgOS4zMjAzMTIgQyA3Ljgw
ODU5NCA5LjUyMzQzOCA4LjE0ODQzOCA5Ljc5Njg3NSA4LjkyMTg3NSA5Ljc5Njg3NSBDIDkuNTQy
OTY5IDkuNzk2ODc1IDEwLjE4NzUgOS42MzI4MTIgMTAuODM5ODQ0IDkuMzA4NTk0IEMgMTAuOTgw
NDY5IDkuMjQyMTg4IDExLjEzMjgxMiA5LjIwNzAzMSAxMS4yODUxNTYgOS4yMDcwMzEgQyAxMS40
Njg3NSA5LjIwNzAzMSAxMS42NDg0MzggOS4yNTc4MTIgMTEuODEyNSA5LjM1OTM3NSBDIDEyLjEw
NTQ2OSA5LjUzOTA2MiAxMi4yODUxNTYgOS44NTkzNzUgMTIuMjg1MTU2IDEwLjIwNzAzMSBMIDEy
LjI4NTE1NiAxMS40MjU3ODEgQyAxMi4yODUxNTYgMTEuODIwMzEyIDEyLjA1MDc4MSAxMi4xNzk2
ODggMTEuNjkxNDA2IDEyLjMzOTg0NCBDIDEwLjc5Mjk2OSAxMi43MzgyODEgOS43MzA0NjkgMTIu
OTQxNDA2IDguNTI3MzQ0IDEyLjk0MTQwNiBDIDYuOTU3MDMxIDEyLjk0MTQwNiA1LjY5MTQwNiAx
Mi40NzI2NTYgNC43NzM0MzggMTEuNTQyOTY5Ii8+CisgICAgPHBhdGggZmlsbD0id2hpdGUiIGQ9
Ik0gMTEuMjg1MTU2IDExLjQyNTc4MSBDIDEwLjUxNTYyNSAxMS43Njk1MzEgOS41OTc2NTYgMTEu
OTQxNDA2IDguNTI3MzQ0IDExLjk0MTQwNiBDIDcuMjI2NTYyIDExLjk0MTQwNiA2LjIxMDkzOCAx
MS41NzQyMTkgNS40ODQzNzUgMTAuODM5ODQ0IEMgNC43NTc4MTIgMTAuMTA1NDY5IDQuMzk0NTMx
IDkuMDgyMDMxIDQuMzk0NTMxIDcuNzY5NTMxIEMgNC4zOTQ1MzEgNi40Mjk2ODggNC43NTc4MTIg
NS4zOTg0MzggNS40OTIxODggNC42NzU3ODEgQyA2LjIyMjY1NiAzLjk1NzAzMSA3LjI2OTUzMSAz
LjU5Mzc1IDguNjI1IDMuNTkzNzUgQyA5LjQ5MjE4OCAzLjU5Mzc1IDEwLjM1MTU2MiAzLjY5NTMx
MiAxMS4yMTA5MzggMy45MDIzNDQgTCAxMS4yMTA5MzggNS4xOTUzMTIgQyAxMC4yMzgyODEgNC44
NTU0NjkgOS40MjU3ODEgNC42ODM1OTQgOC43Njk1MzEgNC42ODM1OTQgQyA3LjkzMzU5NCA0LjY4
MzU5NCA3LjI4NTE1NiA0Ljk0OTIxOSA2LjgzMjAzMSA1LjQ4NDM3NSBDIDYuMzc1IDYuMDE1NjI1
IDYuMTQ4NDM4IDYuNzY5NTMxIDYuMTQ4NDM4IDcuNzQ2MDk0IEMgNi4xNDg0MzggOC43MDcwMzEg
Ni4zOTQ1MzEgOS40NTMxMjUgNi44ODI4MTIgOS45OTIxODggQyA3LjM3MTA5NCAxMC41MjczNDQg
OC4wNTA3ODEgMTAuNzk2ODc1IDguOTIxODc1IDEwLjc5Njg3NSBDIDkuNzAzMTI1IDEwLjc5Njg3
NSAxMC40ODgyODEgMTAuNjAxNTYyIDExLjI4NTE1NiAxMC4yMDcwMzEgWiIvPgorPC9zdmc+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKaW5kZXggYjBi
NGI1OS4uNWI0ODc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTWFpbi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01haW4uaHRtbApAQCAtMjI2LDYgKzIyNiw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29s
L0RPTVN0b3JhZ2VPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3Rv
Y29sL0RhdGFiYXNlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90
b2NvbC9EZWJ1Z2dlck9ic2VydmVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iUHJv
dG9jb2wvSGVhcE9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9j
b2wvSW5zcGVjdG9yQmFja2VuZC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3Rv
Y29sL0luc3BlY3RvckZyb250ZW5kQVBJLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
UHJvdG9jb2wvSW5zcGVjdG9yT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgpAQCAtMjc5LDYgKzI4MCw3
IEBACiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9FeGVjdXRpb25Db250ZXh0LmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0V4ZWN1dGlvbkNvbnRleHRMaXN0LmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0ZyYW1lLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0iTW9kZWxzL0dhcmJhZ2VDb2xsZWN0aW9uLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iTW9kZWxzL0dlb21ldHJ5LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iTW9kZWxzL0dyYWRpZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxz
L0luZGV4ZWREYXRhYmFzZS5qcyI+PC9zY3JpcHQ+CkBAIC01OTksNiArNjAxLDcgQEAKICAgICA8
c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRm9ybWF0dGVyQ29udGVudEJ1aWxkZXIuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9Gb3JtYXR0ZXJTb3VyY2VNYXAuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9GcmFtZVJlc291cmNlTWFu
YWdlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0hlYXBNYW5h
Z2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvSXNzdWVNYW5h
Z2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvSmF2YVNjcmlw
dExvZ1ZpZXdDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJv
bGxlcnMvSmF2YVNjcmlwdFJ1bnRpbWVDb21wbGV0aW9uUHJvdmlkZXIuanMiPjwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291
cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvR2FyYmFnZUNvbGxlY3Rpb24uanMKc2ltaWxhcml0eSBpbmRleCA1
NyUKY29weSBmcm9tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nv
dXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzCmNvcHkgdG8gU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dhcmJhZ2VDb2xsZWN0aW9uLmpzCmluZGV4IDFkMzU4
MGEuLjlkMDYzYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5qcwpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MjMsMjggKzIzLDU0IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAotV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50ID0gY2xhc3MgU291
cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmRUcmVlRWxlbWVudAorV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uID0gY2xhc3Mg
R2FyYmFnZUNvbGxlY3Rpb24gZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiB7Ci0gICAgY29u
c3RydWN0b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRp
bWVySWRlbnRpZmllckluTWFpblRpdGxlKQorICAgIGNvbnN0cnVjdG9yKHR5cGUsIHN0YXJ0VGlt
ZSwgZW5kVGltZSkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNvdXJjZUNvZGVUaW1l
bGluZSk7CisgICAgICAgIHN1cGVyKCk7CiAKLSAgICAgICAgc3VidGl0bGVOYW1lU3R5bGUgPSBz
dWJ0aXRsZU5hbWVTdHlsZSB8fCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9uLk5hbWVT
dHlsZS5Ob25lOworICAgICAgICBjb25zb2xlLmFzc2VydChlbmRUaW1lID4gc3RhcnRUaW1lKTsK
IAotICAgICAgICBzdXBlcihzb3VyY2VDb2RlVGltZWxpbmUucmVjb3Jkc1swXSwgc3VidGl0bGVO
YW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSwgc291cmNlQ29kZVRp
bWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbiwgc291cmNlQ29kZVRpbWVsaW5lKTsKKyAgICAgICAg
dGhpcy5fdHlwZSA9IHR5cGU7CisgICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IHN0YXJ0VGltZTsK
KyAgICAgICAgdGhpcy5fZW5kVGltZSA9IGVuZFRpbWU7CisgICAgfQogCi0gICAgICAgIHRoaXMu
X3NvdXJjZUNvZGVUaW1lbGluZSA9IHNvdXJjZUNvZGVUaW1lbGluZTsKKyAgICAvLyBTdGF0aWMK
KworICAgIHN0YXRpYyBmcm9tUGF5bG9hZChwYXlsb2FkKQorICAgIHsKKyAgICAgICAgbGV0IHR5
cGUgPSBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5GdWxsOworICAgICAgICBp
ZiAocGF5bG9hZC50eXBlID09PSBIZWFwQWdlbnQuR2FyYmFnZUNvbGxlY3Rpb25UeXBlLlBhcnRp
YWwpCisgICAgICAgICAgICB0eXBlID0gV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5
cGUuUGFydGlhbDsKKworICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5HYXJiYWdlQ29s
bGVjdGlvbih0eXBlLCBwYXlsb2FkLnN0YXJ0VGltZSwgcGF5bG9hZC5lbmRUaW1lKTsKICAgICB9
CiAKICAgICAvLyBQdWJsaWMKIAotICAgIGdldCByZWNvcmQoKQorICAgIGdldCB0eXBlKCkKICAg
ICB7Ci0gICAgICAgIHJldHVybiB1bmRlZmluZWQ7CisgICAgICAgIHJldHVybiB0aGlzLl90eXBl
OwogICAgIH0KIAotICAgIGdldCBzb3VyY2VDb2RlVGltZWxpbmUoKQorICAgIGdldCBzdGFydFRp
bWUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGluZTsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX3N0YXJ0VGltZTsKICAgICB9CisKKyAgICBnZXQgZW5kVGltZSgp
CisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fZW5kVGltZTsKKyAgICB9CisKKyAgICBnZXQg
ZHVyYXRpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2VuZFRpbWUgLSB0aGlzLl9z
dGFydFRpbWU7CisgICAgfQorfTsKKworV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5
cGUgPSB7CisgICAgUGFydGlhbDogU3ltYm9sKCJQYXJ0aWFsIiksCisgICAgRnVsbDogU3ltYm9s
KCJGdWxsIikKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxpbmVSZWNvcmQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxpbmVSZWNvcmQuanMKaW5kZXggY2Ni
NmRhOC4uZThjNjU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qcwpAQCAt
NTgsNiArNTgsMTEgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkID0gY2xhc3Mg
U2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgcmV0dXJuIHRo
aXMuX3Byb2ZpbGU7CiAgICAgfQogCisgICAgaXNHYXJiYWdlQ29sbGVjdGlvbigpCisgICAgewor
ICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuU2NyaXB0VGlt
ZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQ7CisgICAgfQorCiAgICAgc2F2
ZUlkZW50aXR5VG9Db29raWUoY29va2llKQogICAgIHsKICAgICAgICAgc3VwZXIuc2F2ZUlkZW50
aXR5VG9Db29raWUoY29va2llKTsKQEAgLTE1OCwxMCArMTYzLDExIEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUgPSB7CiAgICAgQW5pbWF0aW9uRnJhbWVGaXJl
ZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQtYW5pbWF0aW9uLWZyYW1lLWZpcmVkIiwKICAgICBB
bmltYXRpb25GcmFtZVJlcXVlc3RlZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQtYW5pbWF0aW9u
LWZyYW1lLXJlcXVlc3RlZCIsCiAgICAgQW5pbWF0aW9uRnJhbWVDYW5jZWxlZDogInNjcmlwdC10
aW1lbGluZS1yZWNvcmQtYW5pbWF0aW9uLWZyYW1lLWNhbmNlbGVkIiwKLSAgICBDb25zb2xlUHJv
ZmlsZVJlY29yZGVkOiAic2NyaXB0LXRpbWVsaW5lLXJlY29yZC1jb25zb2xlLXByb2ZpbGUtcmVj
b3JkZWQiCisgICAgQ29uc29sZVByb2ZpbGVSZWNvcmRlZDogInNjcmlwdC10aW1lbGluZS1yZWNv
cmQtY29uc29sZS1wcm9maWxlLXJlY29yZGVkIiwKKyAgICBHYXJiYWdlQ29sbGVjdGVkOiAic2Ny
aXB0LXRpbWVsaW5lLXJlY29yZC1nYXJiYWdlLWNvbGxlY3RlZCIKIH07CiAKLVdlYkluc3BlY3Rv
ci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxheU5hbWUgPSBmdW5jdGlvbihl
dmVudFR5cGUsIGRldGFpbHMsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkKK1dl
Ykluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxheU5hbWUgPSBm
dW5jdGlvbihldmVudFR5cGUsIGRldGFpbHMsIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1h
aW5UaXRsZSkKIHsKICAgICBpZiAoZGV0YWlscyAmJiAhV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVs
aW5lUmVjb3JkLl9ldmVudERpc3BsYXlOYW1lcykgewogICAgICAgICAvLyBUaGVzZSBkaXNwbGF5
IG5hbWVzIGFyZSBub3QgbG9jYWxpemVkIGJlY2F1c2UgdGhleSBjbG9zZWx5IHJlcHJlc2VudApA
QCAtMzM1LDE2ICszNDEsMjcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2
ZW50VHlwZS5kaXNwbGF5TmFtZSA9IGZ1bmN0aW9uKGV2ZW50VHlwZSwgZGUKICAgICAgICAgaWYg
KGRldGFpbHMgJiYgKGRldGFpbHMgaW5zdGFuY2VvZiBTdHJpbmcgfHwgdHlwZW9mIGRldGFpbHMg
PT09ICJzdHJpbmciKSkKICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IuKAnCVz4oCdIFByb2ZpbGUgUmVjb3JkZWQiKS5mb3JtYXQoZGV0YWlscyk7CiAgICAgICAgIHJl
dHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvbnNvbGUgUHJvZmlsZSBSZWNvcmRlZCIpOwor
ICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5HYXJi
YWdlQ29sbGVjdGVkOgorICAgICAgICBjb25zb2xlLmFzc2VydChkZXRhaWxzKTsKKyAgICAgICAg
aWYgKGRldGFpbHMgJiYgKGRldGFpbHMgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuR2FyYmFnZUNv
bGxlY3Rpb24pICYmIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkgeworICAg
ICAgICAgICAgc3dpdGNoIChkZXRhaWxzLnR5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgV2ViSW5z
cGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUuUGFydGlhbDoKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXJ0aWFsIEdhcmJhZ2UgQ29sbGVjdGlvbiIp
OworICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5G
dWxsOgorICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZ1bGwg
R2FyYmFnZSBDb2xsZWN0aW9uIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiR2FyYmFnZSBDb2xsZWN0aW9uIik7CiAgICAg
Y2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyRmly
ZWQ6Ci0gICAgICAgIGlmIChkZXRhaWxzICYmIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5U
aXRsZSkKKyAgICAgICAgaWYgKGRldGFpbHMgJiYgaW5jbHVkZURldGFpbHNJbmZvcm1hdGlvbklu
TWFpblRpdGxlKQogICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGlt
ZXIgJXMgRmlyZWQiKS5mb3JtYXQoZGV0YWlscyk7CiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIlRpbWVyIEZpcmVkIik7CiAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0
VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVySW5zdGFsbGVkOgotICAgICAgICBpZiAoZGV0
YWlscyAmJiBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0bGUpCisgICAgICAgIGlmIChk
ZXRhaWxzICYmIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkKICAgICAgICAg
ICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVyICVzIEluc3RhbGxlZCIpLmZv
cm1hdChkZXRhaWxzKTsKICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGlt
ZXIgSW5zdGFsbGVkIik7CiAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNv
cmQuRXZlbnRUeXBlLlRpbWVyUmVtb3ZlZDoKLSAgICAgICAgaWYgKGRldGFpbHMgJiYgaW5jbHVk
ZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQorICAgICAgICBpZiAoZGV0YWlscyAmJiBpbmNs
dWRlRGV0YWlsc0luZm9ybWF0aW9uSW5NYWluVGl0bGUpCiAgICAgICAgICAgICByZXR1cm4gV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lciAlcyBSZW1vdmVkIikuZm9ybWF0KGRldGFpbHMpOwog
ICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lciBSZW1vdmVkIik7CiAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkFuaW1h
dGlvbkZyYW1lRmlyZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0hlYXBPYnNlcnZlci5qcwpzaW1p
bGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKY29weSB0byBTb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanMK
aW5kZXggMWQzNTgwYS4uZjA0YjMwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSGVhcE9ic2Vy
dmVyLmpzCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0yMywyOCArMjMsMTIgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCi1XZWJJbnNwZWN0b3IuU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgPSBj
bGFzcyBTb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZFRyZWVFbGVtZW50CitXZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyID0gY2xh
c3MgSGVhcE9ic2VydmVyCiB7Ci0gICAgY29uc3RydWN0b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBz
dWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQotICAg
IHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoc291cmNlQ29kZVRpbWVsaW5lKTsKLQotICAgICAg
ICBzdWJ0aXRsZU5hbWVTdHlsZSA9IHN1YnRpdGxlTmFtZVN0eWxlIHx8IFdlYkluc3BlY3Rvci5T
b3VyY2VDb2RlTG9jYXRpb24uTmFtZVN0eWxlLk5vbmU7Ci0KLSAgICAgICAgc3VwZXIoc291cmNl
Q29kZVRpbWVsaW5lLnJlY29yZHNbMF0sIHN1YnRpdGxlTmFtZVN0eWxlLCBpbmNsdWRlVGltZXJJ
ZGVudGlmaWVySW5NYWluVGl0bGUsIHNvdXJjZUNvZGVUaW1lbGluZS5zb3VyY2VDb2RlTG9jYXRp
b24sIHNvdXJjZUNvZGVUaW1lbGluZSk7Ci0KLSAgICAgICAgdGhpcy5fc291cmNlQ29kZVRpbWVs
aW5lID0gc291cmNlQ29kZVRpbWVsaW5lOwotICAgIH0KLQotICAgIC8vIFB1YmxpYwotCi0gICAg
Z2V0IHJlY29yZCgpCi0gICAgewotICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwotICAgIH0KKyAg
ICAvLyBFdmVudHMgZGVmaW5lZCBieSB0aGUgIkhlYXAiIGRvbWFpbi4KIAotICAgIGdldCBzb3Vy
Y2VDb2RlVGltZWxpbmUoKQorICAgIGdhcmJhZ2VDb2xsZWN0ZWQoY29sbGVjdGlvbikKICAgICB7
Ci0gICAgICAgIHJldHVybiB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmU7CisgICAgICAgIFdlYklu
c3BlY3Rvci5oZWFwTWFuYWdlci5nYXJiYWdlQ29sbGVjdGVkKGNvbGxlY3Rpb24pOwogICAgIH0K
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0
Lmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKaW5k
ZXggYmZjOWQwNy4uMTFkNmQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVGVzdC5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1Rlc3QuaHRtbApAQCAtNjIsNiArNjIsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJQcm90
b2NvbC9ET01PYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29s
L0RPTVN0b3JhZ2VPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3Rv
Y29sL0RlYnVnZ2VyT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJQcm90
b2NvbC9IZWFwT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2Nv
bC9OZXR3b3JrT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2Nv
bC9QYWdlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9S
ZW1vdGVPYmplY3QuanMiPjwvc2NyaXB0PgpAQCAtOTcsNiArOTgsNyBAQAogICAgIDxzY3JpcHQg
c3JjPSJNb2RlbHMvRXhlY3V0aW9uQ29udGV4dC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9Ik1vZGVscy9FeGVjdXRpb25Db250ZXh0TGlzdC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9Ik1vZGVscy9GcmFtZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVs
cy9HYXJiYWdlQ29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVs
cy9HZW9tZXRyeS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9JbmRleGVk
RGF0YWJhc2UuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvSW5kZXhlZERh
dGFiYXNlT2JqZWN0U3RvcmUuanMiPjwvc2NyaXB0PgpAQCAtMTQwLDYgKzE0Miw3IEBACiAgICAg
PHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRnJhbWVSZXNvdXJjZU1hbmFnZXIuanMiPjwv
c2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9IZWFwTWFuYWdlci5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0lzc3VlTWFuYWdlci5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0xvZ01hbmFnZXIuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9Qcm9iZU1hbmFnZXIuanMiPjwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVz
dC9UZXN0LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0
LmpzCmluZGV4IDdiMjhkNTUuLmM5OWJlOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvVGVzdC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3QuanMKQEAgLTQxLDYgKzQxLDcgQEAgV2ViSW5zcGVj
dG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9N
RGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRPTU9ic2VydmVyKTsKICAgICBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyTmV0d29ya0Rpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5OZXR3b3Jr
T2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEZWJ1Z2dlckRpc3BhdGNo
ZXIobmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlck9ic2VydmVyKTsKKyAgICBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVySGVhcERpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5IZWFwT2JzZXJ2ZXIp
OwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJUaW1lbGluZURpc3BhdGNoZXIobmV3IFdl
Ykluc3BlY3Rvci5UaW1lbGluZU9ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyQ1NTRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkNTU09ic2VydmVyKTsKICAgICBJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyUnVudGltZURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5S
dW50aW1lT2JzZXJ2ZXIpOwpAQCAtNTQsNiArNTUsNyBAQCBXZWJJbnNwZWN0b3IubG9hZGVkID0g
ZnVuY3Rpb24oKQogICAgIHRoaXMubG9nTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuTG9nTWFu
YWdlcjsKICAgICB0aGlzLmlzc3VlTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuSXNzdWVNYW5h
Z2VyOwogICAgIHRoaXMucnVudGltZU1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlJ1bnRpbWVN
YW5hZ2VyOworICAgIHRoaXMuaGVhcE1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBNYW5h
Z2VyOwogICAgIHRoaXMudGltZWxpbmVNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU1hbmFnZXI7CiAgICAgdGhpcy5kZWJ1Z2dlck1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyTWFuYWdlcjsKICAgICB0aGlzLnByb2JlTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3Iu
UHJvYmVNYW5hZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5q
cwppbmRleCAwMzU0MDQyLi4xNmFmODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGlu
ZURhdGFHcmlkTm9kZS5qcwpAQCAtNzcsOCArNzcsMTUgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRp
bWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0
ZW4KICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIHJldHVybiB7ZXZlbnRUeXBl
OiB0aGlzLl9yZWNvcmQuZXZlbnRUeXBlLCBzdGFydFRpbWUsIHNlbGZUaW1lOiBkdXJhdGlvbiwg
dG90YWxUaW1lOiBkdXJhdGlvbiwKLSAgICAgICAgICAgIGF2ZXJhZ2VUaW1lOiBkdXJhdGlvbiwg
Y2FsbENvdW50OiAxLCBsb2NhdGlvbjogY2FsbEZyYW1lT3JTb3VyY2VDb2RlTG9jYXRpb259Owor
ICAgICAgICByZXR1cm4geworICAgICAgICAgICAgZXZlbnRUeXBlOiB0aGlzLl9yZWNvcmQuZXZl
bnRUeXBlLAorICAgICAgICAgICAgc3RhcnRUaW1lLAorICAgICAgICAgICAgc2VsZlRpbWU6IGR1
cmF0aW9uLAorICAgICAgICAgICAgdG90YWxUaW1lOiBkdXJhdGlvbiwKKyAgICAgICAgICAgIGF2
ZXJhZ2VUaW1lOiBkdXJhdGlvbiwKKyAgICAgICAgICAgIGNhbGxDb3VudDogTmFOLAorICAgICAg
ICAgICAgbG9jYXRpb246IGNhbGxGcmFtZU9yU291cmNlQ29kZUxvY2F0aW9uCisgICAgICAgIH07
CiAgICAgfQogCiAgICAgdXBkYXRlUmFuZ2VUaW1lcyhzdGFydFRpbWUsIGVuZFRpbWUpCkBAIC0x
MjQsNiArMTMxLDkgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlID0g
Y2xhc3MgU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW4KICAgICAgICAgY2FzZSAidG90
YWxUaW1lIjoKICAgICAgICAgY2FzZSAiYXZlcmFnZVRpbWUiOgogICAgICAgICAgICAgcmV0dXJu
IGlzTmFOKHZhbHVlKSA/IGVtcHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZyA6IE51bWJlci5zZWNv
bmRzVG9TdHJpbmcodmFsdWUsIHRydWUpOworCisgICAgICAgIGNhc2UgImNhbGxDb3VudCI6Cisg
ICAgICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpID8gZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3Ry
aW5nIDogdmFsdWU7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gc3VwZXIuY3JlYXRlQ2Vs
bENvbnRlbnQoY29sdW1uSWRlbnRpZmllciwgY2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3Jh
cGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRU
aW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggNzFlZTlhMS4uNDUxYTRmNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxp
bmVPdmVydmlld0dyYXBoLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwpAQCAtNzMsNyArNzMsMTEg
QEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFNjcmlw
dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHQKICAgICAgICAgICAgICsrcmVjb3JkQmFySW5kZXg7
CiAgICAgICAgIH0KIAotICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRCYXIuY3Jl
YXRlQ29tYmluZWRCYXJzKHRoaXMuX3NjcmlwdFRpbWVsaW5lLnJlY29yZHMsIHNlY29uZHNQZXJQ
aXhlbCwgdGhpcywgY3JlYXRlQmFyLmJpbmQodGhpcykpOworICAgICAgICAvLyBDcmVhdGUgYmFy
cyBmb3Igbm9uLUdDIHJlY29yZHMgYW5kIEdDIHJlY29yZHMuCisgICAgICAgIGxldCBbZ2NSZWNv
cmRzLCBub25HQ1JlY29yZHNdID0gdGhpcy5fc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5wYXJ0aXRp
b24oKHgpID0+IHguaXNHYXJiYWdlQ29sbGVjdGlvbigpKTsKKyAgICAgICAgbGV0IGJvdW5kQ3Jl
YXRlQmFyID0gY3JlYXRlQmFyLmJpbmQodGhpcyk7CisgICAgICAgIFdlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZEJhci5jcmVhdGVDb21iaW5lZEJhcnMobm9uR0NSZWNvcmRzLCBzZWNvbmRzUGVy
UGl4ZWwsIHRoaXMsIGJvdW5kQ3JlYXRlQmFyKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUmVjb3JkQmFyLmNyZWF0ZUNvbWJpbmVkQmFycyhnY1JlY29yZHMsIHNlY29uZHNQZXJQaXhl
bCwgdGhpcywgYm91bmRDcmVhdGVCYXIpOwogCiAgICAgICAgIC8vIFJlbW92ZSB0aGUgcmVtYWlu
aW5nIHVudXNlZCBUaW1lbGluZVJlY29yZEJhcnMuCiAgICAgICAgIGZvciAoOyByZWNvcmRCYXJJ
bmRleCA8IHRoaXMuX3RpbWVsaW5lUmVjb3JkQmFycy5sZW5ndGg7ICsrcmVjb3JkQmFySW5kZXgp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NjcmlwdFRpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lVmlldy5qcwppbmRleCA5ZjVlMTM1Li43ZWE1MTgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3Jp
cHRUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU2NyaXB0VGltZWxpbmVWaWV3LmpzCkBAIC0yMjksNiArMjI5LDEwIEBAIFdlYklu
c3BlY3Rvci5TY3JpcHRUaW1lbGluZVZpZXcgPSBjbGFzcyBTY3JpcHRUaW1lbGluZVZpZXcgZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuCiAgICAgICAgIGlmICghdGhpcy5fcGVuZGluZ1JlY29yZHMubGVu
Z3RoKQogICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgIHZhciB6ZXJvVGltZSA9IHRoaXMu
emVyb1RpbWU7CisgICAgICAgIHZhciBzdGFydFRpbWUgPSB0aGlzLnN0YXJ0VGltZTsKKyAgICAg
ICAgdmFyIGVuZFRpbWUgPSB0aGlzLmVuZFRpbWU7CisKICAgICAgICAgZm9yICh2YXIgc2NyaXB0
VGltZWxpbmVSZWNvcmQgb2YgdGhpcy5fcGVuZGluZ1JlY29yZHMpIHsKICAgICAgICAgICAgIHZh
ciByb290Tm9kZXMgPSBbXTsKICAgICAgICAgICAgIGlmIChzY3JpcHRUaW1lbGluZVJlY29yZC5w
cm9maWxlKSB7CkBAIC0yMzYsMTUgKzI0MCwxMSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxp
bmVWaWV3ID0gY2xhc3MgU2NyaXB0VGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgog
ICAgICAgICAgICAgICAgIHJvb3ROb2RlcyA9IHNjcmlwdFRpbWVsaW5lUmVjb3JkLnByb2ZpbGUu
dG9wRG93blJvb3ROb2RlczsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgdmFyIHplcm9U
aW1lID0gdGhpcy56ZXJvVGltZTsKLSAgICAgICAgICAgIHZhciB0cmVlRWxlbWVudCA9IG5ldyBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudChzY3JpcHRUaW1lbGluZVJlY29y
ZCwgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVMb2NhdGlvbi5OYW1lU3R5bGUuU2hvcnQsIHJvb3RO
b2Rlcy5sZW5ndGgpOworICAgICAgICAgICAgdmFyIHRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50KHNjcmlwdFRpbWVsaW5lUmVjb3JkLCBXZWJJ
bnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5TaG9ydCwgdHJ1ZSk7CiAgICAg
ICAgICAgICB2YXIgZGF0YUdyaWROb2RlID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGlu
ZURhdGFHcmlkTm9kZShzY3JpcHRUaW1lbGluZVJlY29yZCwgemVyb1RpbWUpOwogCiAgICAgICAg
ICAgICB0aGlzLl9kYXRhR3JpZC5hZGRSb3dJblNvcnRPcmRlcih0cmVlRWxlbWVudCwgZGF0YUdy
aWROb2RlKTsKIAotICAgICAgICAgICAgdmFyIHN0YXJ0VGltZSA9IHRoaXMuc3RhcnRUaW1lOwot
ICAgICAgICAgICAgdmFyIGVuZFRpbWUgPSB0aGlzLmVuZFRpbWU7Ci0KICAgICAgICAgICAgIGZv
ciAodmFyIHByb2ZpbGVOb2RlIG9mIHJvb3ROb2RlcykgewogICAgICAgICAgICAgICAgIHZhciBw
cm9maWxlTm9kZVRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZVRyZWVF
bGVtZW50KHByb2ZpbGVOb2RlLCB0aGlzKTsKICAgICAgICAgICAgICAgICB2YXIgcHJvZmlsZU5v
ZGVEYXRhR3JpZE5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2Rl
KHByb2ZpbGVOb2RlLCB6ZXJvVGltZSwgc3RhcnRUaW1lLCBlbmRUaW1lKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1l
bGluZVRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKaW5kZXggMWQzNTgwYS4uNTk3
YTczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQu
anMKQEAgLTI1LDEzICsyNSwxMyBAQAogCiBXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRpbWVsaW5l
VHJlZUVsZW1lbnQgPSBjbGFzcyBTb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCBleHRlbmRz
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50CiB7Ci0gICAgY29uc3RydWN0
b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRl
bnRpZmllckluTWFpblRpdGxlKQorICAgIGNvbnN0cnVjdG9yKHNvdXJjZUNvZGVUaW1lbGluZSwg
c3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkK
ICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNvdXJjZUNvZGVUaW1lbGluZSk7CiAKICAg
ICAgICAgc3VidGl0bGVOYW1lU3R5bGUgPSBzdWJ0aXRsZU5hbWVTdHlsZSB8fCBXZWJJbnNwZWN0
b3IuU291cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5Ob25lOwogCi0gICAgICAgIHN1cGVyKHNv
dXJjZUNvZGVUaW1lbGluZS5yZWNvcmRzWzBdLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRp
bWVySWRlbnRpZmllckluTWFpblRpdGxlLCBzb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxv
Y2F0aW9uLCBzb3VyY2VDb2RlVGltZWxpbmUpOworICAgICAgICBzdXBlcihzb3VyY2VDb2RlVGlt
ZWxpbmUucmVjb3Jkc1swXSwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVEZXRhaWxzSW5mb3Jt
YXRpb25Jbk1haW5UaXRsZSwgc291cmNlQ29kZVRpbWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbiwg
c291cmNlQ29kZVRpbWVsaW5lKTsKIAogICAgICAgICB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmUg
PSBzb3VyY2VDb2RlVGltZWxpbmU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVJY29ucy5jc3MgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcwppbmRleCA0
OWIxZjRiLi5mMGVhMjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcwpAQCAtMTAzLDYgKzEwMywx
MCBAQAogICAgIGNvbnRlbnQ6IHVybCguLi9JbWFnZXMvVGltZWxpbmVSZWNvcmRDb25zb2xlUHJv
ZmlsZS5zdmcpOwogfQogCisuZ2FyYmFnZS1jb2xsZWN0aW9uLXByb2ZpbGUtcmVjb3JkIC5pY29u
IHsKKyAgICBjb250ZW50OiB1cmwoLi4vSW1hZ2VzL1RpbWVsaW5lUmVjb3JkR2FyYmFnZUNvbGxl
Y3Rpb24uc3ZnKTsKK30KKwogLnRpbWVyLXJlY29yZCAuaWNvbiB7CiAgICAgY29udGVudDogdXJs
KC4uL0ltYWdlcy9UaW1lbGluZVJlY29yZFRpbWVyLnN2Zyk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5j
c3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJl
Y29yZEJhci5jc3MKaW5kZXggNDVkNWRmZS4uNDZiYmVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuY3NzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVj
b3JkQmFyLmNzcwpAQCAtOTgsMyArOTgsOCBAQAogICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgy
NjksIDY1JSwgNzQlKTsKICAgICBib3JkZXItY29sb3I6IGhzbCgyNzMsIDMzJSwgNTglKTsKIH0K
KworLnRpbWVsaW5lLXJlY29yZC1iYXIudGltZWxpbmUtcmVjb3JkLXR5cGUtc2NyaXB0LnNjcmlw
dC10aW1lbGluZS1yZWNvcmQtZ2FyYmFnZS1jb2xsZWN0ZWQgPiAuc2VnbWVudCB7CisgICAgYmFj
a2dyb3VuZC1jb2xvcjogaHNsKDIzLCA2OSUsIDczJSk7CisgICAgYm9yZGVyLWNvbG9yOiBoc2wo
MTEsIDU0JSwgNjIlKTsgICAgCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzCmluZGV4IDY0
OTIxOTEuLmVkN2IwNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzCkBAIC0xMzQsMjEg
KzEzNCwyMyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRCYXIgPSBjbGFzcyBUaW1lbGlu
ZVJlY29yZEJhciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYgogICAgICAgICB2YXIgc3RhcnRUaW1l
UHJvcGVydHkgPSB1c2VzQWN0aXZlU3RhcnRUaW1lID8gImFjdGl2ZVN0YXJ0VGltZSIgOiAic3Rh
cnRUaW1lIjsKIAogICAgICAgICBmb3IgKHZhciByZWNvcmQgb2YgdmlzaWJsZVJlY29yZHMpIHsK
KyAgICAgICAgICAgIHZhciBzdGFydFRpbWUgPSByZWNvcmRbc3RhcnRUaW1lUHJvcGVydHldOwor
CiAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgcHJldmlvdXMgcmVjb3JkIGlzIGZhciBlbm91
Z2ggYXdheSB0byBjcmVhdGUgdGhlIGFjdGl2ZSBiYXIuIFdlIGFsc28gY3JlYXRlIGl0IG5vdyBp
ZiB0aGUgY3VycmVudCByZWNvcmQgaGFzIG5vIGFjdGl2ZSBzdGF0ZSB0aW1lLgotICAgICAgICAg
ICAgaWYgKCFpc05hTihhY3RpdmVTdGFydFRpbWUpICYmIChhY3RpdmVTdGFydFRpbWUgKyBNYXRo
Lm1heChhY3RpdmVFbmRUaW1lIC0gYWN0aXZlU3RhcnRUaW1lLCBtaW5pbXVtRHVyYXRpb24pICsg
bWluaW11bU1hcmdpbiA8PSByZWNvcmRbc3RhcnRUaW1lUHJvcGVydHldCi0gICAgICAgICAgICAg
ICAgfHwgKGlzTmFOKHJlY29yZFtzdGFydFRpbWVQcm9wZXJ0eV0pICYmICFpc05hTihhY3RpdmVF
bmRUaW1lKSkpKSB7CisgICAgICAgICAgICBpZiAoIWlzTmFOKGFjdGl2ZVN0YXJ0VGltZSkgJiYg
KGFjdGl2ZVN0YXJ0VGltZSArIE1hdGgubWF4KGFjdGl2ZUVuZFRpbWUgLSBhY3RpdmVTdGFydFRp
bWUsIG1pbmltdW1EdXJhdGlvbikgKyBtaW5pbXVtTWFyZ2luIDw9IHN0YXJ0VGltZQorICAgICAg
ICAgICAgICAgIHx8IChpc05hTihzdGFydFRpbWUpICYmICFpc05hTihhY3RpdmVFbmRUaW1lKSkp
KSB7CiAgICAgICAgICAgICAgICAgY3JlYXRlQmFyQ2FsbGJhY2soYWN0aXZlUmVjb3JkcywgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkQmFyLlJlbmRlck1vZGUuQWN0aXZlT25seSk7CiAgICAg
ICAgICAgICAgICAgYWN0aXZlUmVjb3JkcyA9IFtdOwogICAgICAgICAgICAgICAgIGFjdGl2ZVN0
YXJ0VGltZSA9IE5hTjsKICAgICAgICAgICAgICAgICBhY3RpdmVFbmRUaW1lID0gTmFOOwogICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAoaXNOYU4ocmVjb3JkW3N0YXJ0VGltZVByb3Bl
cnR5XSkpCisgICAgICAgICAgICBpZiAoaXNOYU4oc3RhcnRUaW1lKSkKICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKIAogICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIG5ldyBiYXIsIHBlZyB0
aGUgc3RhcnQgdGltZS4KICAgICAgICAgICAgIGlmIChpc05hTihhY3RpdmVTdGFydFRpbWUpKQot
ICAgICAgICAgICAgICAgIGFjdGl2ZVN0YXJ0VGltZSA9IHJlY29yZFtzdGFydFRpbWVQcm9wZXJ0
eV07CisgICAgICAgICAgICAgICAgYWN0aXZlU3RhcnRUaW1lID0gc3RhcnRUaW1lOwogCiAgICAg
ICAgICAgICAvLyBVcGRhdGUgdGhlIGVuZCB0aW1lIHRvIGJlIHRoZSBtYXhpbXVtIHdlIGVuY291
bnRlci4gYWN0aXZlRW5kVGltZSBtaWdodCBiZSBOYU4sIHNvICJ8fCAwIiB0byBwcmV2ZW50IE1h
dGgubWF4IGZyb20gcmV0dXJuaW5nIE5hTi4KICAgICAgICAgICAgIGlmICghaXNOYU4ocmVjb3Jk
LmVuZFRpbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanMKaW5k
ZXggZDMxMWY0Yi4uOGU1OGNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZFRyZWVF
bGVtZW50LmpzCkBAIC0yNSw3ICsyNSw3IEBACiAKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZFRyZWVFbGVtZW50ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCBleHRlbmRzIFdl
Ykluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQKIHsKLSAgICBjb25zdHJ1Y3Rvcih0aW1lbGlu
ZVJlY29yZCwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5U
aXRsZSwgc291cmNlQ29kZUxvY2F0aW9uLCByZXByZXNlbnRlZE9iamVjdCkKKyAgICBjb25zdHJ1
Y3Rvcih0aW1lbGluZVJlY29yZCwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVEZXRhaWxzSW5m
b3JtYXRpb25Jbk1haW5UaXRsZSwgc291cmNlQ29kZUxvY2F0aW9uLCByZXByZXNlbnRlZE9iamVj
dCkKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVsaW5lUmVjb3JkKTsKIApAQCAt
NzIsNyArNzIsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCA9IGNs
YXNzIFRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQgZXh0ZW5kcwogICAgICAgICAgICAgYnJlYWs7
CiAKICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQ6
Ci0gICAgICAgICAgICB0aXRsZSA9IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuZGlzcGxheU5hbWUodGltZWxpbmVSZWNvcmQuZXZlbnRUeXBlLCB0aW1lbGluZVJl
Y29yZC5kZXRhaWxzLCBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0bGUpOworICAgICAg
ICAgICAgdGl0bGUgPSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBl
LmRpc3BsYXlOYW1lKHRpbWVsaW5lUmVjb3JkLmV2ZW50VHlwZSwgdGltZWxpbmVSZWNvcmQuZGV0
YWlscywgaW5jbHVkZURldGFpbHNJbmZvcm1hdGlvbkluTWFpblRpdGxlKTsKIAogICAgICAgICAg
ICAgc3dpdGNoICh0aW1lbGluZVJlY29yZC5ldmVudFR5cGUpIHsKICAgICAgICAgICAgIGNhc2Ug
V2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5TY3JpcHRFdmFsdWF0
ZWQ6CkBAIC04Nyw2ICs4Nyw5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVt
ZW50ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCBleHRlbmRzCiAgICAgICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuQ29uc29s
ZVByb2ZpbGVSZWNvcmRlZDoKICAgICAgICAgICAgICAgICBpY29uU3R5bGVDbGFzcyA9IFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkNvbnNvbGVQcm9maWxlSWNvblN0eWxl
Q2xhc3M7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFdlYkluc3Bl
Y3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuR2FyYmFnZUNvbGxlY3RlZDoKKyAg
ICAgICAgICAgICAgICBpY29uU3R5bGVDbGFzcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZFRyZWVFbGVtZW50LkdhcmJhZ2VDb2xsZWN0aW9uSWNvblN0eWxlQ2xhc3M7CisgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGlu
ZVJlY29yZC5FdmVudFR5cGUuVGltZXJGaXJlZDoKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVj
dG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1lckluc3RhbGxlZDoKICAgICAg
ICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5U
aW1lclJlbW92ZWQ6CkBAIC0xNjgsMyArMTcxLDQgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkVHJlZUVsZW1lbnQuVGltZXJSZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJ0aW1lci1yZWNvcmQK
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkFuaW1hdGlvblJlY29yZElj
b25TdHlsZUNsYXNzID0gImFuaW1hdGlvbi1yZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkVHJlZUVsZW1lbnQuUHJvYmVSZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJwcm9iZS1yZWNv
cmQiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuQ29uc29sZVByb2Zp
bGVJY29uU3R5bGVDbGFzcyA9ICJjb25zb2xlLXByb2ZpbGUtcmVjb3JkIjsKK1dlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkdhcmJhZ2VDb2xsZWN0aW9uSWNvblN0eWxlQ2xh
c3MgPSAiZ2FyYmFnZS1jb2xsZWN0aW9uLXByb2ZpbGUtcmVjb3JkIjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>262033</attachid>
            <date>2015-09-28 17:39:25 -0700</date>
            <delta_ts>2015-09-28 17:39:58 -0700</delta_ts>
            <desc>[IMAGE] GC in Overview</desc>
            <filename>gc-1.png</filename>
            <type>image/png</type>
            <size>95429</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAA/EAAAJPCAYAAAA0dlQkAAAAAXNSR0IArs4c6QAAAZ5pVFh0WE1M
OmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlv
biByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNv
bS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTAwOTwvZXhpZjpQ
aXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj41OTE8L2V4aWY6
UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8
L3g6eG1wbWV0YT4KAZ4+TgAAQABJREFUeAHsXQdgVUXW/tJJIwGSEDqhg/SmCFJEQUGxgNjQXURZ
FdvqumvBtWDBLijKuuru79pAsKDYCyAgSpXeewkdAuntP+e+zGNyc9999yUv5SVn4GVmzpw5c+ab
ueVMu4A4QUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFA
EBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQ
EAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBIHqj0BQ
9a9ihdZQ8KxQuKUwQUAQEAQEAUFAEBAEBAFBQBAIEAQKA0TPKq+mGJ2em0iw8YyNpAgCgoAgIAgI
AoKAICAICAKCgCBQ3giI4W+BcE02VGty3S26gpAEAUFAEBAEBAFBQBAQBAQBQUAQCCgEaqSRX1MM
2ZpSz4C64kRZQUAQEAQEAUFAEBAEBAFBQBAQBPyMQLU37KurcVtd6+Xn/i3iBAFBQBAQBAQBQUAQ
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
NYQzrolVv9KPkqIjiEpw7Qqo30EZ3SKwePFijB492rIcO7WwsBCJ5tGbYzeNk2bkuuD9+cz12Lhs
H38r/qT51vBEjwcCmsDv+f47dB2cgiGjZWGhHktd/B2px+mdcKHJu2EvaU14N2rUaKLMcqccumqp
yddRD2nbVPc6dB1W7V5SbcEOaSprM7ot3bpXXW120bGc0tA5lhn3pJGxsTHYkbsDbVq3cX5Grqrf
g8/dmSuJXejlTU3eq1vMDYLq9quZvyS6icfmq+WTGyHWIj2cdwk00yfgNWH2uqmgSXl4Z6mxq3tW
QfvIMwZh3DcIb2J14uVDTEJ1z65OBmYQEiCBOiAw6IJuSGm5A1mfbsXuLVXt7KqDARmCBEigSgJp
HZpi4OiO6D7Q3uVYZTc6kAAJkECVBPiv9ioR1c5h8MgB+M/ir6Gr6+GUxKREaB+WuiEQ230i8mfW
TSxGIQESIIFIJdA4qjF6Dm7nHJE6x0iYV02QXvxnAAAymUlEQVRWcyJh3sfrHMj7eL1ynDcJkECk
E2ASX89XqHv/TtCDhQRIgARIgARIgARIgARIgARIgARqS0CfKWchARIgARIgARIgARIgARIgARIg
ARI4DggwiT8OLhKnSAIkQAIkQAIkQAIkQAIkQAIkQAJK4ITfTl9S4vpdM153EiABEohQAvr8aCSU
oqKiSJjGSTMH8m64S03WDcdaRyLvhuNN1g3Hmt/thmVN3t68uRLvzYVWEiABEiABEiABEiABEiAB
EiABEog4AkziI+6ScEIkQAIkQAIkQAIkQAIkQAIkQAIk4E2ASbw3F1pJgARIgARIgARIgARIgARI
gARIIOIIMImPuEvCCZEACZAACZAACZAACZAACZAACZCANwEm8d5caCUBEiABEiABEiABEiABEiAB
EiCBiCPAJD7iLgknRAIkQAIkQAIkQAIkQAIkQAIkQALeBJjEe3OhlQRIgARIgARIgARIgARIgARI
gAQijgCT+Ii7JJwQCZAACZAACZAACZAACZAACZAACXgTYBLvzYVWEiABEiABEiABEiABEiABEiAB
Eog4AkziI+6ScEIkQAIkQAIkQAIkQAIkQAIkQAIk4E2ASbw3F1pJgARIgARIgARIgARIgARIgARI
IOIIMImPuEvCCZEACZAACZAACZAACZAACZAACZCANwEm8d5caCUBEiABEiABEiABEiABEiABEiCB
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
AAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>262034</attachid>
            <date>2015-09-28 17:39:48 -0700</date>
            <delta_ts>2015-09-28 17:39:48 -0700</delta_ts>
            <desc>[IMAGE] GC in Scripts &amp; Events</desc>
            <filename>gc-2.png</filename>
            <type>image/png</type>
            <size>97839</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAA/EAAAJPCAYAAAA0dlQkAAAAAXNSR0IArs4c6QAAAZ5pVFh0WE1M
OmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlv
biByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNv
bS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTAwOTwvZXhpZjpQ
aXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj41OTE8L2V4aWY6
UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8
L3g6eG1wbWV0YT4KAZ4+TgAAQABJREFUeAHsXQdgVUXW/tJJIwGSEDqhg/SmCFJEQUGxgNjQXURZ
FdvqumvBtWDBLijKuuru79pAsKDYCyAgSpXeewkdAuntP+e+zGNyc9999yUv5SVn4GVmzpw5c+ab
ueVMu4A4QUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFA
EBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQ
EAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBIHqj0BQ
9a9ihdZQ8KxQuKUwQUAQEAQEAUFAEBAEBAFBQBAIEAQKA0TPKq+mGJ2em0iw8YyNpAgCgoAgIAgI
AoKAICAICAKCgCBQ3giI4W+BcE02VGty3S26gpAEAUFAEBAEBAFBQBAQBAQBQUAQCCgEaqSRX1MM
2ZpSz4C64kRZQUAQEAQEAUFAEBAEBAFBQBAQBPyMQLU37KurcVtd6+Xn/i3iBAFBQBAQBAQBQUAQ
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
AAWqioCr2FC/3FlZ1PrStnG2X6Utq6wgvjQEZ+sdl6l5x2V2qLIulwe+Vdd+B96eAMcUoAAFKlIg
Oztb+9ypyGMwbQpQgAIUoAAFKEABTaCs8aGzWNNZGs6W6clLW6/f9oqnKyOIL4+C6NNQ0/p5e+Ht
y+zr7WP7+iLjkJAQHDhwAJmZmUWWc4YCFKBAeQuozxn1eaM+dzhQgAIUoAAFKEABClS4gD0WtI/V
AdW046Bfr9Y528Zxn9LmyyONEo9xrd0TrzKrCu3OffGO4PZ91VgNav0lq9V62mQy1dGW6P5p3Lix
9rC67du349Il9YBCDhSgAAUqRkD1/FEBvPrc4UABClCAAhSgAAUoUHECEtudltRVgKcPpvXT6uDO
Ykm13NnguK+zbSp12R8ZxCsMfbDuOO8uhGMF2OfVzwLknjhxYn9kZGSxIF4lrk6oeVLtLjO3owAF
KEABClCAAhSgAAUocG0LHD16dL/kMFdeKh60x4b2TDvO25e7M1b76gfHef26Cp2ujO70zgpQWoH1
651N65fZ09cvU9Oq0nJ+/vnnRPmdQP06+/YcU4ACFKAABShAAQpQgAIUoIBxBPJWrVqVKMXJkZc9
iLeXzllMaF9mH6ttXU3b09GP9dvql1fodEUF8SUVxnGdfl4/rQpun1dj/bR9nX65fpma1oL4P//5
z8vXrFnzjczb91frOFCAAhSgAAUoQAEKUIACFKCAcQTyVqxY8c3YsWOXS5HsQbwqnauY0R4f6sf6
ab2Mfbk9PVfr9Mudbeu4/ormq7uxl77Lu31z/bKSpu3r1Nhx2tm8fbvS1um300+rixL6eeTl5V1a
uHDhvrp166bXrFnzop+fn3e1atVq2AvCMQUoQIFrQUC6fqFZs2bXQlaYBwpQgAIUoAAFKFBlBNQ9
8ElJSYlff/31j/fee+93Mp8hmb8oL9Woa2+NV0G4flrNu3rJqoJ1aloNjkG8ft5xvbbD/7dzJkty
BLkRPckk/f/HSgcdVF5FJ51oRGTkVr3whVk2AMeSka94wYxGd/7xsjx7R1eT2sx3Lq387skF3L5s
+urTf/BQretsVWNf/7v//3w8//14/uuX/x8P65o6z32yeo9j+7LVt5b2Ufass1XOftqX+vrrmi0t
8/gQgAAEIAABCEAAAhCAAASuJFCXVM2eac7Jpu8+69XmYm1ftvqO/f+wTlaarP737/pv3v/38fzP
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
AhC4hcD/AydWKB8j8b+vAAAAAElFTkSuQmCC
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262312</attachid>
            <date>2015-10-01 19:15:39 -0700</date>
            <delta_ts>2015-10-01 19:36:05 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>gc-2.patch</filename>
            <type>text/plain</type>
            <size>79308</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMDk4OGUyLi44ZTVlMmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDkt
MjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBJbmNsdWRlIEdhcmJhZ2UgQ29sbGVjdGlvbiBFdmVudCBpbiBUaW1lbGluZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvaGVhcC9nYXJiYWdlQ29sbGVjdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9oZWFwL2djLmh0bWw6IEFkZGVkLgorCiAyMDE1LTEwLTAxICBEZWFuIEphY2tzb24gIDxkaW5v
QGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2UgV0VCR0xfZGVidWdfcmVuZGVyZXJfaW5mbwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYXJiYWdlQ29sbGVjdGVk
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzc1MTRj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNv
bGxlY3RlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCBmb3IgdGhlIEhlYXAu
Z2FyYmFnZUNvbGxlY3RlZCBldmVudC4KKworCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IEhlYXAu
Z2FyYmFnZUNvbGxlY3RlZAorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRyaWdnZXJHQ3MKK1BBU1M6
IEV2ZW50IHNob3VsZCBoYXZlIEdhcmJhZ2VDb2xsZWN0aW9uIGRhdGEuCitQQVNTOiBFdmVudCB0
eXBlIHNob3VsZCBiZSBQYXJ0aWFsLgorUEFTUzogRXZlbnQgc2hvdWxkIGhhdmUgR2FyYmFnZUNv
bGxlY3Rpb24gZGF0YS4KK1BBU1M6IEV2ZW50IHR5cGUgc2hvdWxkIGJlIEZ1bGwuCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2dhcmJhZ2VDb2xsZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2dhcmJhZ2VDb2xsZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGIwMGU2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sCkBAIC0wLDAg
KzEsNjAgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRyaWdnZXJHQ3MoKQoreworICAgIGZ1bmN0aW9u
IGFsbG9jYXRlT2JqZWN0cygpIHsKKyAgICAgICAgdmFyIGxpc3QgPSBbXTsKKyAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsraSkKKyAgICAgICAgICAgIGxpc3QucHVzaCh7eDppfSk7
CisgICAgICAgIHJldHVybiBsaXN0OworICAgIH0KKworICAgIGZ1bmN0aW9uIGFsbG9jYXRlTGFy
Z2VMaXN0KCkgeworICAgICAgICB2YXIgbGFyZ2VMaXN0ID0gW107CisgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgMTAwOyArK2kpCisgICAgICAgICAgICBsYXJnZUxpc3QucHVzaChhbGxvY2F0
ZU9iamVjdHMoKSk7CisgICAgICAgIHJldHVybiBsYXJnZUxpc3Q7CisgICAgfQorCisgICAgdmFy
IHBhcnRpYWxMaXN0ID0gW107CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsraSkKKyAg
ICAgICAgcGFydGlhbExpc3QucHVzaChhbGxvY2F0ZUxhcmdlTGlzdCgpKTsKK30KKworZnVuY3Rp
b24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1
aXRlKCJIZWFwLmdhcmJhZ2VDb2xsZWN0ZWQiKTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsK
KyAgICAgICAgbmFtZTogIlRyaWdnZXJHQ3MiLAorICAgICAgICBkZXNjcmlwdGlvbjogIkV2YWx1
YXRpbmcgYWxsb2NhdGlvbiBoZWF2eSBKYXZhU2NyaXB0IHNob3VsZCB0cmlnZ2VyIEhlYXAuZ2Fy
YmFnZUNvbGxlY3RlZCBldmVudHMuIiwKKyAgICAgICAgdGVzdDogKHJlc29sdmUsIHJlamVjdCkg
PT4geworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgidHJpZ2dlckdD
cygpIik7CisKKyAgICAgICAgICAgIGxldCBjb3VudCA9IDA7CisgICAgICAgICAgICBXZWJJbnNw
ZWN0b3IuaGVhcE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSGVhcE1hbmFn
ZXIuRXZlbnQuR2FyYmFnZUNvbGxlY3RlZCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGV2ZW50LmRhdGEuY29sbGVjdGlvbiBpbnN0YW5jZW9m
IFdlYkluc3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbiwgIkV2ZW50IHNob3VsZCBoYXZlIEdhcmJh
Z2VDb2xsZWN0aW9uIGRhdGEuIik7CisgICAgICAgICAgICAgICAgKytjb3VudDsKKyAgICAgICAg
ICAgICAgICBpZiAoY291bnQgPT09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RUaGF0KGV2ZW50LmRhdGEuY29sbGVjdGlvbi50eXBlID09PSBXZWJJbnNwZWN0
b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5QYXJ0aWFsLCAiRXZlbnQgdHlwZSBzaG91bGQgYmUg
UGFydGlhbC4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBpZiAoY291bnQgPT09IDIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGV2ZW50LmRhdGEuY29sbGVjdGlvbi50eXBlID09
PSBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5GdWxsLCAiRXZlbnQgdHlwZSBz
aG91bGQgYmUgRnVsbC4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBz
dWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdCBmb3IgdGhlIEhlYXAuZ2FyYmFnZUNvbGxl
Y3RlZCBldmVudC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
aGVhcC9nYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YjQwNjIyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2dj
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1Rlc3QgZm9yIHRoZSBIZWFwLmdjIGNvbW1h
bmQuCisKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBIZWFwLmdjCistLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogVHJpZ2dlckdDU2hvdWxkQ3JlYXRlR0NFdmVudAorUEFTUzogRXZlbnQgc2hvdWxkIGhh
dmUgR2FyYmFnZUNvbGxlY3Rpb24gZGF0YS4KK1BBU1M6IEdhcmJhZ2VDb2xsZWN0aW9uIHR5cGUg
c2hvdWxkIGJlIEZ1bGwuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFw
L2djLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzYzBlNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYy5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhZG9jdHlw
ZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRl
QXN5bmNTdWl0ZSgiSGVhcC5nYyIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAg
ICBuYW1lOiAiVHJpZ2dlckdDU2hvdWxkQ3JlYXRlR0NFdmVudCIsCisgICAgICAgIGRlc2NyaXB0
aW9uOiAiQ2FsbGluZyBIZWFwLmdjIHNob3VsZCB0cmlnZ2VyIEhlYXAuZ2FyYmFnZUNvbGxlY3Rl
ZCBldmVudCBpZiBlbmFibGVkLiIsCisgICAgICAgIHRlc3Q6IChyZXNvbHZlLCByZWplY3QpID0+
IHsKKyAgICAgICAgICAgIEhlYXBBZ2VudC5nYygpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmhlYXBNYW5hZ2VyLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5IZWFwTWFu
YWdlci5FdmVudC5HYXJiYWdlQ29sbGVjdGVkLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZXZlbnQuZGF0YS5jb2xsZWN0aW9uIGluc3RhbmNl
b2YgV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLCAiRXZlbnQgc2hvdWxkIGhhdmUgR2Fy
YmFnZUNvbGxlY3Rpb24gZGF0YS4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdFRoYXQoZXZlbnQuZGF0YS5jb2xsZWN0aW9uLnR5cGUgPT09IFdlYkluc3BlY3Rvci5HYXJi
YWdlQ29sbGVjdGlvbi5UeXBlLkZ1bGwsICJHYXJiYWdlQ29sbGVjdGlvbiB0eXBlIHNob3VsZCBi
ZSBGdWxsLiIpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0pOwor
ICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsK
K30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVz
dCBmb3IgdGhlIEhlYXAuZ2MgY29tbWFuZC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZDY3MWU1MC4uNGJjYTM1OSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzQ3LDYgKzM0Nyw3IEBAIHNldChKYXZhU2Ny
aXB0Q29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5jcHAK
ICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwCisgICAgaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JSdW50aW1lQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENv
bnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdn
ZXJBZ2VudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDZkZTIzMGMuLmE3ZWNlNWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE1LTA5LTI4ICBK
b3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogSW5jbHVkZSBHYXJiYWdlIENvbGxlY3Rpb24gRXZlbnQgaW4gVGltZWxpbmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjUxMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCisgICAgICAgICogaGVhcC9IZWFwT2Jz
ZXJ2ZXIuaDogICAgICAgIAorICAgICAgICAqIGhlYXAvSGVhcC5jcHA6CisgICAgICAgIChKU0M6
OkhlYXA6OndpbGxTdGFydENvbGxlY3Rpb24pOgorICAgICAgICAoSlNDOjpIZWFwOjpkaWRGaW5p
c2hDb2xsZWN0aW9uKToKKyAgICAgICAgKiBoZWFwL0hlYXAuaDoKKyAgICAgICAgKEpTQzo6SGVh
cDo6YWRkT2JzZXJ2ZXIpOgorICAgICAgICAoSlNDOjpIZWFwOjpyZW1vdmVPYnNlcnZlcik6Cisg
ICAgICAgIEFsbG93IG9ic2VydmVycyBvbiBoZWFwIHRvIGFkZCBob29rcyBmb3Igc3RhcnRpbmcg
LyBlbmRpbmcgZ2FyYmFnZSBjb2xsZWN0aW9uLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckVudmlyb25tZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5z
cGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0
SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKToK
KyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjp2
bSk6CisgICAgICAgICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
ci5oOgorICAgICAgICBBY2Nlc3MgdGhlIFZNIHRocm91Z2ggdGhlIEluc3BlY3RvckVudmlyb25t
ZW50IGFzIGl0IHdvbid0IGNoYW5nZS4KKworICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9ySGVhcEFnZW50LmNwcDogQWRkZWQuCisgICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3Rv
ckhlYXBBZ2VudDo6SW5zcGVjdG9ySGVhcEFnZW50KToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5z
cGVjdG9ySGVhcEFnZW50Ojp+SW5zcGVjdG9ySGVhcEFnZW50KToKKyAgICAgICAgKEluc3BlY3Rv
cjo6SW5zcGVjdG9ySGVhcEFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAg
ICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRB
bmRCYWNrZW5kKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50OjplbmFi
bGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6OmRpc2FibGUpOgor
ICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6OmdjKToKKyAgICAgICAgKElu
c3BlY3Rvcjo6cHJvdG9jb2xUeXBlRm9ySGVhcE9wZXJhdGlvbik6CisgICAgICAgIChJbnNwZWN0
b3I6Okluc3BlY3RvckhlYXBBZ2VudDo6d2lsbEdhcmJhZ2VDb2xsZWN0KToKKyAgICAgICAgKElu
c3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50OjpkaWRHYXJiYWdlQ29sbGVjdCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaDogQWRkZWQuCisgICAgICAg
ICogaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbjogQWRkZWQuCisgICAgICAgIE5ldyBkb21h
aW4gYW5kIGFnZW50IHRvIGhhbmRsZSB0YXNrcyByZWxhdGVkIHRvIHRoZSBKYXZhU2NyaXB0Q29y
ZSBoZWFwLgorCiAyMDE1LTEwLTAxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgU3BlY2lhbEZhc3RDYXNlUHJvZmlsZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDEwMTVkZGMuLjA0NjY4
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xNTIs
NiArMTUyLDcgQEAgSU5TUEVDVE9SX0RPTUFJTlMgPSBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkv
aW5zcGVjdG9yL3Byb3RvY29sL0RhdGFiYXNlLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUp
L2luc3BlY3Rvci9wcm90b2NvbC9EZWJ1Z2dlci5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3Jl
KS9pbnNwZWN0b3IvcHJvdG9jb2wvR2VuZXJpY1R5cGVzLmpzb24gXAorICAgICQoSmF2YVNjcmlw
dENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9IZWFwLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENv
cmUpL2luc3BlY3Rvci9wcm90b2NvbC9JbnNwZWN0b3IuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0
Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0xheWVyVHJlZS5qc29uIFwKICAgICAkKEphdmFTY3Jp
cHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvTmV0d29yay5qc29uIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYTdjYzhmMi4uZjAzMmJmMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTEyOTAsNiArMTI5MCw5IEBACiAJCUE1MzI0MzhDMTg1NjgzMzUwMDJFRDY5
MiAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0Mzg2MTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlBNTMyNDM5NDE4NTY5NzA5MDAyRUQ2OTIgLyogZ2VuZXJhdGUtY29tYmlu
ZWQtaW5zcGVjdG9yLWpzb24ucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNTMyNDM5MTE4NTY5NkU2MDAyRUQ2OTIgLyogZ2VuZXJhdGUtY29tYmluZWQt
aW5zcGVjdG9yLWpzb24ucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQTUzMjQzOTgxODU2QTQ4OTAwMkVENjkyIC8qIENvbWJpbmVkRG9tYWlucy5q
c29uIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMjQz
OTUxODU2QTQ3NTAwMkVENjkyIC8qIENvbWJpbmVkRG9tYWlucy5qc29uICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1MzM5RUM2MUJCMzk5QTYwMDU0
RjAwNSAvKiBJbnNwZWN0b3JIZWFwQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzM5RUM1MUJCMzk5OTAwMDU0RjAwNSAvKiBJbnNwZWN0b3JI
ZWFwQWdlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlBNTMzOUVDNzFCQjM5OUE5MDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzM5RUM0MUJC
Mzk5OTAwMDU0RjAwNSAvKiBJbnNwZWN0b3JIZWFwQWdlbnQuY3BwICovOyB9OworCQlBNTMzOUVD
OTFCQjRCNDYwMDA1NEYwMDUgLyogSGVhcE9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTMzOUVDODFCQjRCNDUxMDA1NEYwMDUgLyogSGVh
cE9ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJQTUzQ0UwODUxOEJDMUE1NjAwQkVERjc2IC8qIENvbnNvbGVQcm90b3R5cGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzQ0UwODExOEJD
MUE1NjAwQkVERjc2IC8qIENvbnNvbGVQcm90b3R5cGUuY3BwICovOyB9OwogCQlBNTNDRTA4NjE4
QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzQ0UwODIxOEJDMUE1NjAwQkVERjc2IC8qIENv
bnNvbGVQcm90b3R5cGUuaCAqLzsgfTsKIAkJQTUzQ0UwODcxOEJDMUE1NjAwQkVERjc2IC8qIEpT
Q29uc29sZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNTNDRTA4MzE4QkMxQTU2MDBCRURGNzYgLyogSlNDb25zb2xlLmNwcCAqLzsgfTsKQEAgLTMx
ODgsNiArMzE5MSw5IEBACiAJCUE1MzI0MzkxMTg1Njk2RTYwMDJFRDY5MiAvKiBnZW5lcmF0ZS1j
b21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsg
cGF0aCA9ICJnZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE1MzI0Mzk1MTg1NkE0NzUwMDJFRDY5MiAvKiBDb21iaW5lZERv
bWFpbnMuanNvbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuanNvbjsgcGF0aCA9IENvbWJpbmVkRG9tYWlucy5q
c29uOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTMyNDM5NjE4NTZBNDc1MDAyRUQ2
OTIgLyogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5q
YXZhc2NyaXB0OyBwYXRoID0gSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNTMzOUVDNDFCQjM5OTkwMDA1NEYwMDUgLyogSW5zcGVjdG9y
SGVhcEFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3Bl
Y3RvckhlYXBBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MzM5RUM1
MUJCMzk5OTAwMDU0RjAwNSAvKiBJbnNwZWN0b3JIZWFwQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9ySGVhcEFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE1MzM5RUM4MUJCNEI0NTEwMDU0RjAwNSAvKiBIZWFwT2JzZXJ2ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcE9ic2VydmVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1M0NFMDgxMThCQzFBNTYwMEJFREY3NiAvKiBDb25zb2xl
UHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnNv
bGVQcm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTNDRTA4MjE4
QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb25zb2xlUHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE1M0NFMDgzMThCQzFBNTYwMEJFREY3NiAvKiBKU0NvbnNvbGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDb25zb2xlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTQyNzYsNiArNDI4Miw3IEBACiAJCQkJMEYzMkJEMEYxQkIzNEYx
OTAwOTNBNTdGIC8qIEhlYXBIZWxwZXJQb29sLmggKi8sCiAJCQkJQzJEQTc3ODIxOEUyNTk5OTAw
NjZGQ0I2IC8qIEhlYXBJbmxpbmVzLmggKi8sCiAJCQkJMkFEODkzMjkxN0UzODY4RjAwNjY4Mjc2
IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oICovLAorCQkJCUE1MzM5RUM4MUJCNEI0NTEwMDU0RjAw
NSAvKiBIZWFwT2JzZXJ2ZXIuaCAqLywKIAkJCQkyQTZGNDYyNTE3RTk1OUNFMDBDNDVDOTggLyog
SGVhcE9wZXJhdGlvbi5oICovLAogCQkJCTE0Rjk3NDQ2MTM4Qzg1M0UwMERBMUM2NyAvKiBIZWFw
Um9vdFZpc2l0b3IuaCAqLywKIAkJCQlDMjREMzFFMDE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0
YXRpc3RpY3MuY3BwICovLApAQCAtNTc0Miw2ICs1NzQ5LDggQEAKIAkJCQlBNUZEMDA4MDE4OUIx
OTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8sCiAJCQkJQTU3RDIzRTMx
ODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwICovLAogCQkJCUE1
N0QyM0U0MTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggKi8sCisJ
CQkJQTUzMzlFQzQxQkIzOTk5MDAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5jcHAgKi8s
CisJCQkJQTUzMzlFQzUxQkIzOTk5MDAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5oICov
LAogCQkJCUE1MEU0QjVEMTg4MDlERDUwMDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQu
Y3BwICovLAogCQkJCUE1MEU0QjVFMTg4MDlERDUwMDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1l
QWdlbnQuaCAqLywKIAkJCQlBNUZEMDA4MzE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmpl
Y3RDb25zb2xlQWdlbnQuY3BwICovLApAQCAtNjQyMCw2ICs2NDI5LDcgQEAKIAkJCQkxNEJBN0E5
ODEzQUFERkY4MDA1QjdDMkMgLyogSGVhcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJEQTc3ODMx
OEUyNTk5OTAwNjZGQ0I2IC8qIEhlYXBJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkyQUQ4
OTMyQjE3RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmggaW4gSGVhZGVycyAq
LywKKwkJCQlBNTMzOUVDOTFCQjRCNDYwMDA1NEYwMDUgLyogSGVhcE9ic2VydmVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyQTZGNDYyNjE3RTk1OUNFMDBDNDVDOTggLyogSGVhcE9wZXJhdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMTRGOTc0NDcxMzhDODUzRTAwREExQzY3IC8qIEhlYXBSb290
VmlzaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzI0RDMxRTMxNjFDRDY5NTAwMkFBNERCIC8q
IEhlYXBTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAqLywKQEAgLTY0NjIsNiArNjQ3Miw3IEBACiAJ
CQkJQTU5NDU1OTUxODI0NzlFQjAwQ0MzODQzIC8qIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTUzMjQzOEExODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3Rv
ckZyb250ZW5kRGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5RjFBNzAxMUI5OEZC
RUMwMDQ2M0IyNiAvKiBJbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTUzMzlFQzYxQkIzOTlBNjAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTM1RTAzNjAxQjdBQjQzRTAwNzNBRDJBIC8qIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbk9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTMzQjNFMjYxQjdBQkQ3NTAw
NDhEQjJFIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbk9iamVjdC5sdXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE1MzI0MzhDMTg1NjgzMzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JQcm90b2NvbE9i
amVjdHMuaCBpbiBIZWFkZXJzICovLApAQCAtNzc3Myw2ICs3Nzg0LDcgQEAKIAkJCQlBNTdEMjNF
NTE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBNTMyNDM4OTE4NTY4MzM1MDAyRUQ2OTIgLyogSW5zcGVjdG9yRnJvbnRlbmRE
aXNwYXRjaGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5OUYxQTZGRTFCOEU2RDk0MDA0NjNC
MjYgLyogSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUz
MzlFQzcxQkIzOTlBOTAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlFMzVFMDM1RjFCN0FCNDNFMDA3M0FEMkEgLyogSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1MzI0MzhCMTg1NjgzMzUwMDJF
RDY5MiAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTUwRTRCNjExODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKaW5kZXggZmJmZGQ0MC4u
YTMwYTgyNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKQEAgLTM4LDEwICszOCwx
MCBAQAogI2luY2x1ZGUgIkhlYXBWZXJpZmllci5oIgogI2luY2x1ZGUgIkluY3JlbWVudGFsU3dl
ZXBlci5oIgogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNMb2NrLmgiCiAjaW5j
bHVkZSAiSlNPTk9iamVjdC5oIgotI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJK
U1ZpcnR1YWxNYWNoaW5lSW50ZXJuYWwuaCIKICNpbmNsdWRlICJSZWN1cnNpdmVBbGxvY2F0aW9u
U2NvcGUuaCIKICNpbmNsdWRlICJSZWdFeHBDYWNoZS5oIgpAQCAtNTEsMTMgKzUxLDEyIEBACiAj
aW5jbHVkZSAiVk0uaCIKICNpbmNsdWRlICJXZWFrU2V0SW5saW5lcy5oIgogI2luY2x1ZGUgPGFs
Z29yaXRobT4KLSNpbmNsdWRlIDx3dGYvUkFNU2l6ZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50
VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXJhbGxlbFZlY3Rvckl0ZXJhdG9yLmg+CiAjaW5jbHVk
ZSA8d3RmL1Byb2Nlc3NJRC5oPgorI2luY2x1ZGUgPHd0Zi9SQU1TaXplLmg+CiAKIHVzaW5nIG5h
bWVzcGFjZSBzdGQ7Ci11c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgSlNDIHsKIApA
QCAtMTE3Myw2ICsxMTcyLDkgQEAgdm9pZCBIZWFwOjp3aWxsU3RhcnRDb2xsZWN0aW9uKEhlYXBP
cGVyYXRpb24gY29sbGVjdGlvblR5cGUpCiAKICAgICBpZiAobV9lZGVuQWN0aXZpdHlDYWxsYmFj
aykKICAgICAgICAgbV9lZGVuQWN0aXZpdHlDYWxsYmFjay0+d2lsbENvbGxlY3QoKTsKKworICAg
IGZvciAoYXV0byogb2JzZXJ2ZXIgOiBtX29ic2VydmVycykKKyAgICAgICAgb2JzZXJ2ZXItPndp
bGxHYXJiYWdlQ29sbGVjdCgpOwogfQogCiB2b2lkIEhlYXA6OmZsdXNoT2xkU3RydWN0dXJlSURU
YWJsZXMoKQpAQCAtMTMyMSw2ICsxMzIzLDcgQEAgdm9pZCBIZWFwOjpkaWRGaW5pc2hDb2xsZWN0
aW9uKGRvdWJsZSBnY1N0YXJ0VGltZSkKIHsKICAgICBHQ1BIQVNFKEZpbmlzaGluZ0NvbGxlY3Rp
b24pOwogICAgIGRvdWJsZSBnY0VuZFRpbWUgPSBXVEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpOworICAgIEhlYXBPcGVyYXRpb24gb3BlcmF0aW9uID0gbV9vcGVyYXRpb25JblByb2dy
ZXNzOwogICAgIGlmIChtX29wZXJhdGlvbkluUHJvZ3Jlc3MgPT0gRnVsbENvbGxlY3Rpb24pCiAg
ICAgICAgIG1fbGFzdEZ1bGxHQ0xlbmd0aCA9IGdjRW5kVGltZSAtIGdjU3RhcnRUaW1lOwogICAg
IGVsc2UKQEAgLTEzNDQsNiArMTM0Nyw5IEBAIHZvaWQgSGVhcDo6ZGlkRmluaXNoQ29sbGVjdGlv
bihkb3VibGUgZ2NTdGFydFRpbWUpCiAgICAgUkVMRUFTRV9BU1NFUlQobV9vcGVyYXRpb25JblBy
b2dyZXNzID09IEVkZW5Db2xsZWN0aW9uIHx8IG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9PSBGdWxs
Q29sbGVjdGlvbik7CiAgICAgbV9vcGVyYXRpb25JblByb2dyZXNzID0gTm9PcGVyYXRpb247CiAg
ICAgSkFWQVNDUklQVENPUkVfR0NfRU5EKCk7CisKKyAgICBmb3IgKGF1dG8qIG9ic2VydmVyIDog
bV9vYnNlcnZlcnMpCisgICAgICAgIG9ic2VydmVyLT5kaWRHYXJiYWdlQ29sbGVjdChvcGVyYXRp
b24pOwogfQogCiB2b2lkIEhlYXA6OnJlc3VtZUNvbXBpbGVyVGhyZWFkcygpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9IZWFwLmgKaW5kZXggZjFjYzJjZC4uYWMxMWM0ZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0hlYXAuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkdDSW5jb21pbmdSZWZDb3Vu
dGVkU2V0LmgiCiAjaW5jbHVkZSAiSGFuZGxlU2V0LmgiCiAjaW5jbHVkZSAiSGFuZGxlU3RhY2su
aCIKKyNpbmNsdWRlICJIZWFwT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJIZWFwT3BlcmF0aW9uLmgi
CiAjaW5jbHVkZSAiSklUU3R1YlJvdXRpbmVTZXQuaCIKICNpbmNsdWRlICJMaXN0YWJsZUhhbmRs
ZXIuaCIKQEAgLTQ5LDI4ICs1MCwyNCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotY2xhc3MgQ29w
aWVkU3BhY2U7CiBjbGFzcyBDb2RlQmxvY2s7Ci1jbGFzcyBFeGVjdXRhYmxlQmFzZTsKK2NsYXNz
IENvcGllZFNwYWNlOwogY2xhc3MgRWRlbkdDQWN0aXZpdHlDYWxsYmFjazsKK2NsYXNzIEV4ZWN1
dGFibGVCYXNlOwogY2xhc3MgRnVsbEdDQWN0aXZpdHlDYWxsYmFjazsKIGNsYXNzIEdDQWN0aXZp
dHlDYWxsYmFjazsKIGNsYXNzIEdDQXdhcmVKSVRTdHViUm91dGluZTsKLWNsYXNzIEdsb2JhbENv
ZGVCbG9jazsKIGNsYXNzIEhlYXA7CiBjbGFzcyBIZWFwUm9vdFZpc2l0b3I7CiBjbGFzcyBIZWFw
VmVyaWZpZXI7CiBjbGFzcyBJbmNyZW1lbnRhbFN3ZWVwZXI7CiBjbGFzcyBKSVRTdHViUm91dGlu
ZTsKIGNsYXNzIEpTQ2VsbDsKLWNsYXNzIFZNOwogY2xhc3MgSlNTdGFjazsKIGNsYXNzIEpTVmFs
dWU7Ci1jbGFzcyBMaXZlT2JqZWN0SXRlcmF0b3I7CiBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0
b3I7CiBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlcjsKLWNsYXNzIFdlYWtHQ0hhbmRsZVBvb2w7
Ci1jbGFzcyBTbG90VmlzaXRvcjsKK2NsYXNzIFZNOwogCiBuYW1lc3BhY2UgREZHIHsKIGNsYXNz
IFdvcmtsaXN0OwpAQCAtMTMzLDYgKzEzMCw5IEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJ
VkFURSBJbmNyZW1lbnRhbFN3ZWVwZXIqIHN3ZWVwZXIoKTsKICAgICBKU19FWFBPUlRfUFJJVkFU
RSB2b2lkIHNldEluY3JlbWVudGFsU3dlZXBlcihzdGQ6OnVuaXF1ZV9wdHI8SW5jcmVtZW50YWxT
d2VlcGVyPik7CiAKKyAgICB2b2lkIGFkZE9ic2VydmVyKEhlYXBPYnNlcnZlciogb2JzZXJ2ZXIp
IHsgbV9vYnNlcnZlcnMuYXBwZW5kKG9ic2VydmVyKTsgfQorICAgIHZvaWQgcmVtb3ZlT2JzZXJ2
ZXIoSGVhcE9ic2VydmVyKiBvYnNlcnZlcikgeyBtX29ic2VydmVycy5yZW1vdmVGaXJzdChvYnNl
cnZlcik7IH0KKwogICAgIC8vIHRydWUgaWYgY29sbGVjdGlvbiBpcyBpbiBwcm9ncmVzcwogICAg
IGJvb2wgaXNDb2xsZWN0aW5nKCk7CiAgICAgSGVhcE9wZXJhdGlvbiBvcGVyYXRpb25JblByb2dy
ZXNzKCkgeyByZXR1cm4gbV9vcGVyYXRpb25JblByb2dyZXNzOyB9CkBAIC00MTEsNyArNDExLDkg
QEAgcHJpdmF0ZToKICAgICBSZWZQdHI8R0NBY3Rpdml0eUNhbGxiYWNrPiBtX2VkZW5BY3Rpdml0
eUNhbGxiYWNrOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbmNyZW1lbnRhbFN3ZWVwZXI+IG1fc3dl
ZXBlcjsKICAgICBWZWN0b3I8TWFya2VkQmxvY2sqPiBtX2Jsb2NrU25hcHNob3Q7Ci0gICAgCisK
KyAgICBWZWN0b3I8SGVhcE9ic2VydmVyKj4gbV9vYnNlcnZlcnM7CisKICAgICB1bnNpZ25lZCBt
X2RlZmVycmFsRGVwdGg7CiAgICAgVmVjdG9yPERGRzo6V29ya2xpc3QqPiBtX3N1c3BlbmRlZENv
bXBpbGVyV29ya2xpc3RzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBPYnNlcnZlci5oCnNpbWlsYXJpdHkgaW5kZXggNjIl
CmNvcHkgZnJvbSBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3Vy
Y2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcwpjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL0hlYXBPYnNlcnZlci5oCmluZGV4IDFkMzU4MGEuLmM0YzI4MmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1l
bGluZVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBP
YnNlcnZlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yMywyOCArMjMsMjAgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3IuU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQg
PSBjbGFzcyBTb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50Ci17Ci0gICAgY29uc3RydWN0b3Ioc291cmNlQ29k
ZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFp
blRpdGxlKQotICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoc291cmNlQ29kZVRpbWVsaW5l
KTsKKyNpZm5kZWYgSGVhcE9ic2VydmVyX2gKKyNkZWZpbmUgSGVhcE9ic2VydmVyX2gKIAotICAg
ICAgICBzdWJ0aXRsZU5hbWVTdHlsZSA9IHN1YnRpdGxlTmFtZVN0eWxlIHx8IFdlYkluc3BlY3Rv
ci5Tb3VyY2VDb2RlTG9jYXRpb24uTmFtZVN0eWxlLk5vbmU7CisjaW5jbHVkZSAiSGVhcE9wZXJh
dGlvbi5oIgogCi0gICAgICAgIHN1cGVyKHNvdXJjZUNvZGVUaW1lbGluZS5yZWNvcmRzWzBdLCBz
dWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlLCBzb3Vy
Y2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uLCBzb3VyY2VDb2RlVGltZWxpbmUpOwor
bmFtZXNwYWNlIEpTQyB7CiAKLSAgICAgICAgdGhpcy5fc291cmNlQ29kZVRpbWVsaW5lID0gc291
cmNlQ29kZVRpbWVsaW5lOwotICAgIH0KLQotICAgIC8vIFB1YmxpYwotCi0gICAgZ2V0IHJlY29y
ZCgpCi0gICAgewotICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwotICAgIH0KLQotICAgIGdldCBz
b3VyY2VDb2RlVGltZWxpbmUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNv
ZGVUaW1lbGluZTsKLSAgICB9CitjbGFzcyBIZWFwT2JzZXJ2ZXIgeworcHVibGljOgorICAgIHZp
cnR1YWwgfkhlYXBPYnNlcnZlcigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB3aWxsR2FyYmFnZUNv
bGxlY3QoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEdhcmJhZ2VDb2xsZWN0KEhlYXBPcGVy
YXRpb24pID0gMDsKIH07CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gSGVhcE9i
c2VydmVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZFNw
YWNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oCmluZGV4IDc5
NzIxZGYuLmFhYWFiNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01h
cmtlZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2Uu
aApAQCAtMzksNyArMzksNiBAQCBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIEhlYXA7CiBjbGFzcyBI
ZWFwSXRlcmF0aW9uU2NvcGU7CiBjbGFzcyBKU0NlbGw7Ci1jbGFzcyBMaXZlT2JqZWN0SXRlcmF0
b3I7CiBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CiBjbGFzcyBXZWFrR0NIYW5kbGU7CiBj
bGFzcyBTbG90VmlzaXRvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRW52aXJvbm1lbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRW52aXJvbm1lbnQuaAppbmRleCBjYjQ4NzcxLi43NWYyZWE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckVudmlyb25t
ZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JFbnZp
cm9ubWVudC5oCkBAIC0zNSw2ICszNSw3IEBAIGNsYXNzIFN0b3B3YXRjaDsKIG5hbWVzcGFjZSBK
U0MgewogY2xhc3MgRXhjZXB0aW9uOwogY2xhc3MgU291cmNlQ29kZTsKK2NsYXNzIFZNOwogfQog
CiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTUzLDYgKzU0LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBkaWRDYWxsSW5qZWN0ZWRTY3JpcHRGdW5jdGlvbihKU0M6OkV4ZWNTdGF0ZSop
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZnJvbnRlbmRJbml0aWFsaXplZCgpID0gMDsKICAgICB2
aXJ0dWFsIFJlZjxXVEY6OlN0b3B3YXRjaD4gZXhlY3V0aW9uU3RvcHdhdGNoKCkgPSAwOworICAg
IHZpcnR1YWwgSlNDOjpWTSYgdm0oKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxP
YmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA5ODlkMmE2
Li4wYmVhNjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pT
R2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBA
IC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JGcm9udGVuZFJvdXRlci5oIgorI2luY2x1ZGUgIkluc3BlY3RvckhlYXBBZ2VudC5oIgogI2lu
Y2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RDb25zb2xl
QWdlbnQuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuaCIKQEAgLTg2
LDkgKzg3LDExIEBAIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxP
YmplY3RJbnNwZWN0b3JDb250cm9sbGVyKEpTR2xvYmFsT2JqCiAgICAgYXV0byBydW50aW1lQWdl
bnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50Pihjb250ZXh0
KTsKICAgICBhdXRvIGNvbnNvbGVBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8SlNHbG9iYWxPYmpl
Y3RDb25zb2xlQWdlbnQ+KGNvbnRleHQpOwogICAgIGF1dG8gZGVidWdnZXJBZ2VudCA9IHN0ZDo6
bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50Pihjb250ZXh0LCBjb25zb2xl
QWdlbnQuZ2V0KCkpOworICAgIGF1dG8gaGVhcEFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3JIZWFwQWdlbnQ+KGNvbnRleHQpOwogCiAgICAgbV9pbnNwZWN0b3JBZ2VudCA9IGluc3Bl
Y3RvckFnZW50LmdldCgpOwogICAgIG1fZGVidWdnZXJBZ2VudCA9IGRlYnVnZ2VyQWdlbnQuZ2V0
KCk7CisgICAgbV9oZWFwQWdlbnQgPSBoZWFwQWdlbnQuZ2V0KCk7CiAgICAgbV9jb25zb2xlQWdl
bnQgPSBjb25zb2xlQWdlbnQuZ2V0KCk7CiAgICAgbV9jb25zb2xlQ2xpZW50ID0gc3RkOjptYWtl
X3VuaXF1ZTxKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ+KG1fY29uc29sZUFnZW50KTsKIApA
QCAtOTgsNiArMTAxLDcgQEAgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0ds
b2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxPYmoKICAgICBtX2FnZW50cy5h
cHBlbmQoV1RGOjptb3ZlKHJ1bnRpbWVBZ2VudCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6
Om1vdmUoY29uc29sZUFnZW50KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShkZWJ1
Z2dlckFnZW50KSk7CisgICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShoZWFwQWdlbnQpKTsK
IAogICAgIG1fZXhlY3V0aW9uU3RvcHdhdGNoLT5zdGFydCgpOwogfQpAQCAtMjgzLDYgKzI4Nywx
MSBAQCBSZWY8U3RvcHdhdGNoPiBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmV4
ZWN1dGlvblN0b3B3YXRjaCgpCiAgICAgcmV0dXJuIG1fZXhlY3V0aW9uU3RvcHdhdGNoLmNvcHlS
ZWYoKTsKIH0KIAorVk0mIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6dm0oKQor
eworICAgIHJldHVybiBtX2dsb2JhbE9iamVjdC52bSgpOworfQorCiAjaWYgRU5BQkxFKElOU1BF
Q1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCiB2b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9y
Q29udHJvbGxlcjo6YXBwZW5kRXh0cmFBZ2VudChzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQWdl
bnRCYXNlPiBhZ2VudCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCmlu
ZGV4IDliNDMwNTEuLjYxYmY2MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xs
ZXIuaApAQCAtNTgsNiArNTgsNyBAQCBjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CiBjbGFz
cyBJbnNwZWN0b3JBZ2VudDsKIGNsYXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsKIGNsYXNzIElu
c3BlY3RvckRlYnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JIZWFwQWdlbnQ7CiBjbGFzcyBK
U0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiAKQEAg
LTk3LDYgKzk4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRDYWxsSW5qZWN0ZWRT
Y3JpcHRGdW5jdGlvbihKU0M6OkV4ZWNTdGF0ZSopIG92ZXJyaWRlIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBmcm9udGVuZEluaXRpYWxpemVkKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBSZWY8V1RG
OjpTdG9wd2F0Y2g+IGV4ZWN1dGlvblN0b3B3YXRjaCgpIG92ZXJyaWRlOworICAgIHZpcnR1YWwg
SlNDOjpWTSYgdm0oKSBvdmVycmlkZTsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1JfQUxURVJOQVRF
X0RJU1BBVENIRVJTKQogICAgIHZpcnR1YWwgQXVnbWVudGFibGVJbnNwZWN0b3JDb250cm9sbGVy
Q2xpZW50KiBhdWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXJDbGllbnQoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBtX2F1Z21lbnRpbmdDbGllbnQ7IH0gCkBAIC0xMTgsNiArMTIwLDcgQEAg
cHJpdmF0ZToKICAgICBJbnNwZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudCB7IG51bGxwdHIg
fTsKICAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIG1fY29uc29sZUFnZW50IHsgbnVsbHB0ciB9
OwogICAgIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIG1fZGVidWdnZXJBZ2VudCB7IG51bGxwdHIg
fTsKKyAgICBJbnNwZWN0b3JIZWFwQWdlbnQqIG1faGVhcEFnZW50IHsgbnVsbHB0ciB9OwogCiAg
ICAgUmVmPEZyb250ZW5kUm91dGVyPiBtX2Zyb250ZW5kUm91dGVyOwogICAgIFJlZjxCYWNrZW5k
RGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyY2JmYzEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JI
ZWFwQWdlbnQuY3BwCkBAIC0wLDAgKzEsMTI2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluc3Bl
Y3RvckhlYXBBZ2VudC5oIgorCisjaW5jbHVkZSAiSW5zcGVjdG9yRW52aXJvbm1lbnQuaCIKKyNp
bmNsdWRlICJWTS5oIgorI2luY2x1ZGUgPHd0Zi9TdG9wd2F0Y2guaD4KKwordXNpbmcgbmFtZXNw
YWNlIEpTQzsKKworbmFtZXNwYWNlIEluc3BlY3RvciB7CisKK0luc3BlY3RvckhlYXBBZ2VudDo6
SW5zcGVjdG9ySGVhcEFnZW50KEFnZW50Q29udGV4dCYgY29udGV4dCkKKyAgICA6IEluc3BlY3Rv
ckFnZW50QmFzZShBU0NJSUxpdGVyYWwoIkhlYXAiKSkKKyAgICAsIG1fZnJvbnRlbmREaXNwYXRj
aGVyKHN0ZDo6bWFrZV91bmlxdWU8SGVhcEZyb250ZW5kRGlzcGF0Y2hlcj4oY29udGV4dC5mcm9u
dGVuZFJvdXRlcikpCisgICAgLCBtX2JhY2tlbmREaXNwYXRjaGVyKEhlYXBCYWNrZW5kRGlzcGF0
Y2hlcjo6Y3JlYXRlKGNvbnRleHQuYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpKQorICAgICwgbV9l
bnZpcm9ubWVudChjb250ZXh0LmVudmlyb25tZW50KQoreworfQorCitJbnNwZWN0b3JIZWFwQWdl
bnQ6On5JbnNwZWN0b3JIZWFwQWdlbnQoKQoreworICAgIEVycm9yU3RyaW5nIGlnbm9yZWQ7Cisg
ICAgZGlzYWJsZShpZ25vcmVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JIZWFwQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVy
KikKK3sKK30KKwordm9pZCBJbnNwZWN0b3JIZWFwQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRB
bmRCYWNrZW5kKERpc2Nvbm5lY3RSZWFzb24pCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySGVhcEFn
ZW50OjplbmFibGUoRXJyb3JTdHJpbmcmKQoreworICAgIGlmIChtX2VuYWJsZWQpCisgICAgICAg
IHJldHVybjsKKworICAgIG1fZW5hYmxlZCA9IHRydWU7CisKKyAgICBtX2Vudmlyb25tZW50LnZt
KCkuaGVhcC5hZGRPYnNlcnZlcih0aGlzKTsKK30KKwordm9pZCBJbnNwZWN0b3JIZWFwQWdlbnQ6
OmRpc2FibGUoRXJyb3JTdHJpbmcmKQoreworICAgIGlmICghbV9lbmFibGVkKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBtX2VuYWJsZWQgPSBmYWxzZTsKKworICAgIG1fZW52aXJvbm1lbnQudm0o
KS5oZWFwLnJlbW92ZU9ic2VydmVyKHRoaXMpOworfQorCit2b2lkIEluc3BlY3RvckhlYXBBZ2Vu
dDo6Z2MoRXJyb3JTdHJpbmcmKQoreworICAgIFZNJiB2bSA9IG1fZW52aXJvbm1lbnQudm0oKTsK
KyAgICBKU0xvY2tIb2xkZXIgbG9jayh2bSk7CisgICAgc2FuaXRpemVTdGFja0ZvclZNKCZ2bSk7
CisgICAgdm0uaGVhcC5jb2xsZWN0QWxsR2FyYmFnZSgpOworfQorCitzdGF0aWMgSW5zcGVjdG9y
OjpQcm90b2NvbDo6SGVhcDo6R2FyYmFnZUNvbGxlY3Rpb246OlR5cGUgcHJvdG9jb2xUeXBlRm9y
SGVhcE9wZXJhdGlvbihIZWFwT3BlcmF0aW9uIG9wZXJhdGlvbikKK3sKKyAgICBzd2l0Y2ggKG9w
ZXJhdGlvbikgeworICAgIGNhc2UgRnVsbENvbGxlY3Rpb246CisgICAgICAgIHJldHVybiBJbnNw
ZWN0b3I6OlByb3RvY29sOjpIZWFwOjpHYXJiYWdlQ29sbGVjdGlvbjo6VHlwZTo6RnVsbDsKKyAg
ICBjYXNlIEVkZW5Db2xsZWN0aW9uOgorICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2Nv
bDo6SGVhcDo6R2FyYmFnZUNvbGxlY3Rpb246OlR5cGU6OlBhcnRpYWw7CisgICAgZGVmYXVsdDoK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBJbnNwZWN0b3I6
OlByb3RvY29sOjpIZWFwOjpHYXJiYWdlQ29sbGVjdGlvbjo6VHlwZTo6RnVsbDsKKyAgICB9Cit9
CisKK3ZvaWQgSW5zcGVjdG9ySGVhcEFnZW50Ojp3aWxsR2FyYmFnZUNvbGxlY3QoKQoreworICAg
IEFTU0VSVChtX2VuYWJsZWQpOworICAgIEFTU0VSVChzdGQ6OmlzbmFuKG1fZ2NTdGFydFRpbWUp
KTsKKworICAgIG1fZ2NTdGFydFRpbWUgPSBtX2Vudmlyb25tZW50LmV4ZWN1dGlvblN0b3B3YXRj
aCgpLT5lbGFwc2VkVGltZSgpOworfQorCit2b2lkIEluc3BlY3RvckhlYXBBZ2VudDo6ZGlkR2Fy
YmFnZUNvbGxlY3QoSGVhcE9wZXJhdGlvbiBvcGVyYXRpb24pCit7CisgICAgQVNTRVJUKG1fZW5h
YmxlZCk7CisgICAgQVNTRVJUKCFzdGQ6OmlzbmFuKG1fZ2NTdGFydFRpbWUpKTsKKworICAgIC8v
IEZJWE1FOiBJbmNsdWRlIG51bWJlciBvZiBieXRlcyBmcmVlZCBieSBjb2xsZWN0aW9uLgorCisg
ICAgZG91YmxlIGVuZFRpbWUgPSBtX2Vudmlyb25tZW50LmV4ZWN1dGlvblN0b3B3YXRjaCgpLT5l
bGFwc2VkVGltZSgpOworICAgIGF1dG8gY29sbGVjdGlvbiA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkhlYXA6OkdhcmJhZ2VDb2xsZWN0aW9uOjpjcmVhdGUoKQorICAgICAgICAuc2V0VHlwZShwcm90
b2NvbFR5cGVGb3JIZWFwT3BlcmF0aW9uKG9wZXJhdGlvbikpCisgICAgICAgIC5zZXRTdGFydFRp
bWUobV9nY1N0YXJ0VGltZSkKKyAgICAgICAgLnNldEVuZFRpbWUoZW5kVGltZSkKKyAgICAgICAg
LnJlbGVhc2UoKTsKKworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5nYXJiYWdlQ29sbGVjdGVk
KFdURjo6bW92ZShjb2xsZWN0aW9uKSk7CisgICAgbV9nY1N0YXJ0VGltZSA9IE5BTjsKK30KKwor
fSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4ZTQ4ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaApA
QCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBJbnNwZWN0b3JIZWFwQWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JIZWFw
QWdlbnRfaAorCisjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgiCisjaW5j
bHVkZSAiSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgorI2luY2x1ZGUgImhlYXAvSGVh
cE9ic2VydmVyLmgiCisjaW5jbHVkZSAiaW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oIgor
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisK
K25hbWVzcGFjZSBJbnNwZWN0b3IgeworCit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKwor
Y2xhc3MgSlNfRVhQT1JUX1BSSVZBVEUgSW5zcGVjdG9ySGVhcEFnZW50IGZpbmFsIDogcHVibGlj
IEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEhlYXBCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIs
IHB1YmxpYyBKU0M6OkhlYXBPYnNlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5z
cGVjdG9ySGVhcEFnZW50KTsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JIZWFwQWdlbnQoQWdlbnRD
b250ZXh0Jik7CisgICAgdmlydHVhbCB+SW5zcGVjdG9ySGVhcEFnZW50KCk7CisKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwgQmFj
a2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lG
cm9udGVuZEFuZEJhY2tlbmQoRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CisKKyAgICAvLyBI
ZWFwQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyCisgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJv
clN0cmluZyYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5n
Jikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGdjKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7
CisKKyAgICAvLyBIZWFwT2JzZXJ2ZXIKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbEdhcmJhZ2VDb2xs
ZWN0KCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZEdhcmJhZ2VDb2xsZWN0KEpTQzo6
SGVhcE9wZXJhdGlvbikgb3ZlcnJpZGU7CisKK3ByaXZhdGU6CisgICAgc3RkOjp1bmlxdWVfcHRy
PEhlYXBGcm9udGVuZERpc3BhdGNoZXI+IG1fZnJvbnRlbmREaXNwYXRjaGVyOworICAgIFJlZlB0
cjxIZWFwQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CisgICAgSW5zcGVj
dG9yRW52aXJvbm1lbnQmIG1fZW52aXJvbm1lbnQ7CisgICAgYm9vbCBtX2VuYWJsZWQgeyBmYWxz
ZSB9OworICAgIGRvdWJsZSBtX2djU3RhcnRUaW1lIHsgTkFOIH07Cit9OworCit9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKKworI2VuZGlmIC8vIEluc3BlY3RvckhlYXBBZ2VudF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvSGVhcC5qc29uCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhYzMzNDYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbgpAQCAt
MCwwICsxLDM5IEBACit7CisgICAgImRvbWFpbiI6ICJIZWFwIiwKKyAgICAiZGVzY3JpcHRpb24i
OiAiSGVhcCBkb21haW4gZXhwb3NlcyBKYXZhU2NyaXB0IGhlYXAgYXR0cmlidXRlcyBhbmQgY2Fw
YWJpbGl0aWVzLiIsCisgICAgInR5cGVzIjogWworICAgICAgICB7CisgICAgICAgICAgICAiaWQi
OiAiR2FyYmFnZUNvbGxlY3Rpb24iLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkluZm9y
bWF0aW9uIGFib3V0IGEgZ2FyYmFnZSBjb2xsZWN0aW9uLiIsCisgICAgICAgICAgICAidHlwZSI6
ICJvYmplY3QiLAorICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCisgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJ0eXBlIiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0iOiBbImZ1bGwiLCAicGFy
dGlhbCJdLCAiZGVzY3JpcHRpb24iOiAiVGhlIHR5cGUgb2YgZ2FyYmFnZSBjb2xsZWN0aW9uLiIg
fSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInN0YXJ0VGltZSIsICJ0eXBlIjogIm51bWJl
ciIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImVuZFRpbWUiLCAidHlwZSI6ICJudW1i
ZXIiIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfQorICAgIF0sCisgICAgImNvbW1hbmRzIjog
WworICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAorICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgSGVhcCBkb21haW4gZXZlbnRzLiIKKyAgICAgICAgfSwK
KyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZGlzYWJsZSIsCisgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgSGVhcCBkb21haW4gZXZlbnRzLiIKKyAgICAgICAgfSwK
KyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZ2MiLAorICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIlRyaWdnZXIgYSBmdWxsIGdhcmJhZ2UgY29sbGVjdGlvbi4iCisgICAgICAgIH0K
KyAgICBdLAorICAgICJldmVudHMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjog
ImdhcmJhZ2VDb2xsZWN0ZWQiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkluZm9ybWF0
aW9uIGFib3V0IHRoZSBnYXJiYWdlIGNvbGxlY3Rpb24uIiwKKyAgICAgICAgICAgICJwYXJhbWV0
ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY29sbGVjdGlvbiIsICJ0eXBlIjog
IkdhcmJhZ2VDb2xsZWN0aW9uIiB9CisgICAgICAgICAgICBdCisgICAgICAgIH0KKyAgICBdCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggNDM1OTc4ODkuLjMyZWY0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
OSBAQAorMjAxNS0wOS0yOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluY2x1ZGUgR2FyYmFnZSBDb2xsZWN0aW9uIEV2ZW50
IGluIFRpbWVsaW5lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDI1MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0czogaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sCisgICAgICAg
ICAgICAgICBpbnNwZWN0b3IvaGVhcC9nYy5odG1sCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVh
ZGVycy9oZWFwL0hlYXBPYnNlcnZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVh
ZGVycy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oOiBBZGRlZC4KKyAgICAg
ICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgRm9yd2FyZGluZyBoZWFk
ZXJzLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjp2bSk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyOjp2bSk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuaDoKKyAgICAgICAgSW1wbGVtZW50IEluc3BlY3RvckVudmlyb25tZW50Ojp2
bSBhbmQgY3JlYXRlIGEgSGVhcCBhZ2VudCBmb3IgdGhlCisgICAgICAgIFBhZ2UgaW5zcGVjdG9y
IGNvbnRyb2xsZXIuCisKIDIwMTUtMTAtMDEgIEphZWh1biBMaW0gIDxsamFlaHVuLmxpbUBzYW1z
dW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggYnVpbGQgd2FybmluZyBhZnRlciBy
MTkwNDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9oZWFw
L0hlYXBPYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaGVhcC9I
ZWFwT2JzZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODkyMWMy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaGVh
cC9IZWFwT2JzZXJ2ZXIuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSGVh
cE9ic2VydmVyX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfSGVhcE9ic2VydmVyX2gKKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9IZWFwT2JzZXJ2ZXIuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JI
ZWFwQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uOTk1ZDZjMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRp
bmdIZWFkZXJzL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmgKQEAgLTAsMCAr
MSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0luc3BlY3RvckhlYXBBZ2VudF9oCisjZGVmaW5l
IFdlYkNvcmVfRldEX0luc3BlY3RvckhlYXBBZ2VudF9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSW5zcGVjdG9ySGVhcEFnZW50Lmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGViNTkwMzAuLmNjMmFhZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMjAz
NTUsNiArMjAzNTUsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNcYmluZGluZ3NcU2NyaXB0VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcQWxsb2NhdGlvblNwYWNlLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXEhlYXAuaCIgLz4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcSGVhcE9ic2Vy
dmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xo
ZWFwXFNsb3RWaXNpdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJk
aW5nSGVhZGVyc1xoZWFwXFN0cm9uZ0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcV2Vhay5oIiAvPgpAQCAtMjAzODQsNiArMjAz
ODUsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5z
cGVjdG9yXGFnZW50c1xJbnNwZWN0b3JBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JDb25zb2xl
QWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIiAvPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNw
ZWN0b3JIZWFwQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRp
bmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xtYXNtXFg4NkFzc2Vt
Ymxlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNc
cGFyc2VyXFNvdXJjZUNvZGUuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCAzMjA3ZTk4Li5mODdkODlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzCkBAIC0xMTc4OSw2ICsxMTc4OSw5IEBACiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckRl
YnVnZ2VyQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
cjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JIZWFwQWdlbnQuaCI+
CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAg
IDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRl
cnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JSdW50aW1lQWdlbnQuaCI+CiAgICAgICA8Rmls
dGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgpAQCAtMTIwNjksNiArMTIwNzIsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcaGVhcFxIZWFwLmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVh
ZGVyc1xoZWFwPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXEhlYXBPYnNlcnZlci5oIj4KKyAgICAgIDxG
aWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaGVhcDwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxTbG90Vmlz
aXRvci5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaGVhcDwvRmlsdGVyPgog
ICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwCmluZGV4IDgxMTJlNTUuLjkwMDc1MTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTcwLDYgKzcwLDcg
QEAKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oPgog
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUg
PGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oPgogI2luY2x1ZGUgPHByb2ZpbGVyL0xlZ2FjeVBy
b2ZpbGVyLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KICNpbmNsdWRlIDx3dGYvU3Rv
cHdhdGNoLmg+CkBAIC0xNzAsNiArMTcxLDcgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVj
dG9yQ29udHJvbGxlcihQYWdlJiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICAg
ICBtX2RvbURlYnVnZ2VyQWdlbnQgPSBkb21EZWJ1Z2dlckFnZW50UHRyLmdldCgpOwogICAgIG1f
YWdlbnRzLmFwcGVuZChXVEY6Om1vdmUoZG9tRGVidWdnZXJBZ2VudFB0cikpOwogCisgICAgbV9h
Z2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9ySGVhcEFnZW50PihwYWdlQ29u
dGV4dCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudD4ocGFnZUNvbnRleHQsIHBhZ2VBZ2VudCkpOwogICAgIG1fYWdl
bnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvcldvcmtlckFnZW50PihwYWdlQ29u
dGV4dCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvckxh
eWVyVHJlZUFnZW50PihwYWdlQ29udGV4dCkpOwpAQCAtNDc0LDYgKzQ3NiwxMSBAQCBSZWY8U3Rv
cHdhdGNoPiBJbnNwZWN0b3JDb250cm9sbGVyOjpleGVjdXRpb25TdG9wd2F0Y2goKQogICAgIHJl
dHVybiBtX2V4ZWN1dGlvblN0b3B3YXRjaC5jb3B5UmVmKCk7CiB9CiAKK0pTQzo6Vk0mIEluc3Bl
Y3RvckNvbnRyb2xsZXI6OnZtKCkKK3sKKyAgICByZXR1cm4gSlNET01XaW5kb3dCYXNlOjpjb21t
b25WTSgpOworfQorCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZENvbXBvc2l0ZShGcmFt
ZSYgZnJhbWUpCiB7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21wb3NpdGUo
ZnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmgKaW5kZXggNTFiOWNiMS4uMDFlNWM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0xMzEsNiArMTMxLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBkaWRDYWxsSW5qZWN0ZWRTY3JpcHRGdW5jdGlvbihKU0M6OkV4ZWNTdGF0
ZSopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZEluaXRpYWxpemVkKCkgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCBSZWY8V1RGOjpTdG9wd2F0Y2g+IGV4ZWN1dGlvblN0b3B3YXRj
aCgpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgSlNDOjpWTSYgdm0oKSBvdmVycmlkZTsKIAogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkQ29tcG9zaXRlKEZyYW1lJik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcApp
bmRleCA2NmY5Y2IwMy4uMjhjZGVjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMzYsNiArMzYsNyBAQAog
I2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisjaW5j
bHVkZSAiSlNET01XaW5kb3dCYXNlLmgiCiAjaW5jbHVkZSAiSlNNYWluVGhyZWFkRXhlY1N0YXRl
LmgiCiAjaW5jbHVkZSAiV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiV2ViSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCkBAIC01MSw2ICs1Miw3IEBACiAjaW5jbHVkZSA8aW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVkZSA8d3RmL1N0b3B3YXRjaC5o
PgogCit1c2luZyBuYW1lc3BhY2UgSlNDOwogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTk1LDQgKzE5Nyw5IEBAIFJlZjxTdG9wd2F0Y2g+IFdv
cmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmV4ZWN1dGlvblN0b3B3YXRjaCgpCiAgICAgcmV0dXJu
IG1fZXhlY3V0aW9uU3RvcHdhdGNoLmNvcHlSZWYoKTsKIH0KIAorVk0mIFdvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXI6OnZtKCkKK3sKKyAgICByZXR1cm4gSlNET01XaW5kb3dCYXNlOjpjb21tb25W
TSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBkOGYyNmU1Li43
ZjQyNDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVj
dG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyLmgKQEAgLTc1LDYgKzc1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBkaWRDYWxsSW5qZWN0ZWRTY3JpcHRGdW5jdGlvbihKU0M6OkV4ZWNTdGF0ZSopIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZEluaXRpYWxpemVkKCkgb3ZlcnJpZGUgeyB9
CiAgICAgdmlydHVhbCBSZWY8V1RGOjpTdG9wd2F0Y2g+IGV4ZWN1dGlvblN0b3B3YXRjaCgpIG92
ZXJyaWRlOworICAgIHZpcnR1YWwgSlNDOjpWTSYgdm0oKSBvdmVycmlkZTsKIAogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
aGFuZ2VMb2cKaW5kZXggMDgwMTJmMy4uOGY4OWI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsODAgQEAKKzIwMTUtMDktMjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJv
QGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbmNsdWRlIEdhcmJhZ2UgQ29s
bGVjdGlvbiBFdmVudCBpbiBUaW1lbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzOgorICAg
ICAgICAoQXJyYXkucHJvdG90eXBlLnBhcml0aW9uKToKKyAgICAgICAgSGVscGVyIHRvIHBhcnRp
dGlvbiBhbiBBcnJheSBpbnRvIHR3byBhcnJheXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L01haW4uaHRtbDoKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL01haW4uanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IubG9hZGVkKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QuaHRt
bDoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QvVGVzdC5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5sb2FkZWQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSGVhcE9i
c2VydmVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBPYnNlcnZlci5wcm90b3R5cGUu
Z2FyYmFnZUNvbGxlY3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyKToK
KyAgICAgICAgQ3JlYXRlIHRoZSBuZXcgb2JzZXJ2ZXIgYW5kIG1hbmFnZXIuCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL01vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR2Fy
YmFnZUNvbGxlY3Rpb24uZnJvbVBheWxvYWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdhcmJh
Z2VDb2xsZWN0aW9uLnByb3RvdHlwZS5nZXQgdHlwZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
R2FyYmFnZUNvbGxlY3Rpb24ucHJvdG90eXBlLmdldCBzdGFydFRpbWUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLnByb3RvdHlwZS5nZXQgZW5kVGltZSk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24ucHJvdG90eXBlLmdldCBkdXJhdGlv
bik6CisgICAgICAgIE1vZGVsIG9iamVjdCBmb3IgSGVhcC5HYXJiYWdlQ29sbGVjdGlvbi4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSGVhcE1hbmFnZXIuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuSGVhcE1hbmFnZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhl
YXBNYW5hZ2VyLnByb3RvdHlwZS5nYXJiYWdlQ29sbGVjdGVkKToKKyAgICAgICAgRGlzcGF0Y2gg
ZXZlbnRzIHdpdGguCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVs
aW5lTWFuYWdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2dhcmJhZ2VD
b2xsZWN0ZWQpOgorICAgICAgICBJbmNsdWRlIG5ldyBHQyBUaW1lbGluZSBFdmVudHMgYXMgU2Ny
aXB0IGV2ZW50cy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxp
bmVPdmVydmlld0dyYXBoLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5l
T3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUudXBkYXRlTGF5b3V0KToKKyAgICAgICAgRm9yIHRoZSBT
Y3JpcHQgb3ZlcnZpZXcsIG1ha2UgdHdvIHNldHMgb2YgYmFycywgb25lIGZvciBTY3JpcHRzIGFu
ZCBvbmUgZm9yIEdDcy4KKyAgICAgICAgVGhlIEdDcyBiYXIgd2lsbCBiZSBvbiB0b3Agb2YgdGhl
IHRoZSBTY3JpcHRzIGJhci4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsCisgICAgICAgIHNp
bmNlIGEgR0MgY2FuIGhhcHBlbiBkdXJpbmcgc2NyaXB0IGV4ZWN1dGlvbi4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLmdl
dCBkYXRhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9k
ZS5wcm90b3R5cGUuY3JlYXRlQ2VsbENvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNj
cmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlKToKKyAgICAgICAgR2l2ZSBhIE5hTiBjYWxsIGNvdW50
IHRvIHRvcCBsZXZlbCBTY3JpcHQgRGF0YUdyaWROb2Rlcy4KKyAgICAgICAgSW4gdGhlIFVJLCBk
aXNwbGF5IHRoZSBlbXB0eSBwbGFjZWhvbGRlciBmb3IgTmFOIGNhbGwgY291bnRzLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9JbWFnZXMvVGltZWxpbmVSZWNvcmRHYXJiYWdlQ29sbGVjdGlv
bi5zdmc6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVs
aW5lUmVjb3JkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3Jk
LnByb3RvdHlwZS5pc0dhcmJhZ2VDb2xsZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
Y3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxheU5hbWUpOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNjcmlwdFRpbWVsaW5lVmlldy5wcm90b3R5cGUuX3Byb2Nlc3NQZW5kaW5nUmVjb3Jk
cyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVl
RWxlbWVudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGltZWxpbmVUcmVl
RWxlbWVudCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNz
czoKKyAgICAgICAgKC5nYXJiYWdlLWNvbGxlY3Rpb24tcHJvZmlsZS1yZWNvcmQgLmljb24pOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuY3NzOgorICAg
ICAgICAoLnRpbWVsaW5lLXJlY29yZC1iYXIudGltZWxpbmUtcmVjb3JkLXR5cGUtc2NyaXB0LnNj
cmlwdC10aW1lbGluZS1yZWNvcmQtZ2FyYmFnZS1jb2xsZWN0ZWQgPiAuc2VnbWVudCk6CisgICAg
ICAgIFVJIGZvciBHQyBldmVudHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lUmVjb3JkQmFyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
QmFyLmNyZWF0ZUNvbWJpbmVkQmFycyk6CisgICAgICAgIFNpbXBsaWZ5IGJ5IHN0b3Jpbmcgc3Rh
cnQgdGltZSBpbnRvIGEgdmFyaWFibGUuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSZWNvcmRUcmVlRWxlbWVudCk6CisgICAgICAgIEljb24gZm9yIEdDIGV2ZW50cy4KKwog
MjAxNS0xMC0wMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IERvIG5vdCBpbW1lZGlhdGVseSBjcmVhdGUgYWxsIFByb2ZpbGVO
b2RlVHJlZUVsZW1lbnRzIHdoZW4gc2hvd2luZyBKYXZhU2NyaXB0IGFuZCBFdmVudHMgdGltZWxp
bmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0
aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDhjYjZiOGMwNzQxZDk3ZTQw
ZWI2N2JmMjQ5MTVjY2UzMDA1YzkzYjguLjM3ZjViNmE0Y2E2YTUxOGU3OGIwOTZlMGU5M2EyMjNl
NzFmYTIyZWMgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMjM0CnpjbVpwOyNJbyl4JVpC
Y1dsSXskTjNgR257S3IpPm5sfGd+UW5JV0djMk1BTHE9WlQwPG87IzVYa0JTUS1ya2ZpbApyK0F4
YWFGQGt7aC1JSnV1UmZgeCg3JjN0XyROfTFxKkZCbTZWQW0zKDhzeFQlQy12aDJRUXRUWAoKZGVs
dGEgMjQKZ2NtWjI/bThJYmwlWkJjV25gSXslRj5YRlBTO0JtQ15KKHBQMEZlTC1FQzJ1aQoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwppbmRl
eCBkMDdiODc3Li4zMTIxZjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9CYXNlL01haW4uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9NYWluLmpzCkBAIC02OCw2ICs2OCw4IEBAIFdlYkluc3BlY3Rvci5sb2Fk
ZWQgPSBmdW5jdGlvbigpCiAgICAgICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJET01EaXNw
YXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuRE9NT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKQogICAgICAgICBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuRGVidWdnZXJP
YnNlcnZlcik7CisgICAgaWYgKEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJIZWFwRGlzcGF0Y2hl
cikKKyAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckhlYXBEaXNwYXRjaGVyKG5ldyBX
ZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlckRhdGFiYXNlRGlzcGF0Y2hlcikKICAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckRhdGFiYXNlRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRhdGFiYXNlT2JzZXJ2ZXIpOwog
ICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NU3RvcmFnZURpc3BhdGNoZXIpCkBA
IC0xMDgsNiArMTEwLDcgQEAgV2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICB0
aGlzLmlzc3VlTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuSXNzdWVNYW5hZ2VyOwogICAgIHRo
aXMuYW5hbHl6ZXJNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rvci5BbmFseXplck1hbmFnZXI7CiAg
ICAgdGhpcy5ydW50aW1lTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuUnVudGltZU1hbmFnZXI7
CisgICAgdGhpcy5oZWFwTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuSGVhcE1hbmFnZXI7CiAg
ICAgdGhpcy5hcHBsaWNhdGlvbkNhY2hlTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuQXBwbGlj
YXRpb25DYWNoZU1hbmFnZXI7CiAgICAgdGhpcy50aW1lbGluZU1hbmFnZXIgPSBuZXcgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lTWFuYWdlcjsKICAgICB0aGlzLmRlYnVnZ2VyTWFuYWdlciA9IG5ldyBX
ZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcwppbmRleCA1Nzg3YzE4Li5iMzEx
NTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNl
L1V0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9C
YXNlL1V0aWxpdGllcy5qcwpAQCAtNDUyLDYgKzQ1MiwyMyBAQCBPYmplY3QuZGVmaW5lUHJvcGVy
dHkoQXJyYXkucHJvdG90eXBlLCAia2V5U2V0IiwKICAgICB9CiB9KTsKIAorT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInBhcnRpdGlvbiIsCit7CisgICAgdmFsdWU6IGZ1
bmN0aW9uKGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgbGV0IHBvc2l0aXZlID0gW107CisgICAg
ICAgIGxldCBuZWdhdGl2ZSA9IFtdOworICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMu
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGxldCB2YWx1ZSA9IHRoaXNbaV07CisgICAgICAg
ICAgICBpZiAoY2FsbGJhY2sodmFsdWUpKQorICAgICAgICAgICAgICAgIHBvc2l0aXZlLnB1c2go
dmFsdWUpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG5lZ2F0aXZlLnB1c2go
dmFsdWUpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBbcG9zaXRpdmUsIG5lZ2F0aXZlXTsK
KyAgICB9Cit9KTsKKwogT2JqZWN0LmRlZmluZVByb3BlcnR5KFN0cmluZy5wcm90b3R5cGUsICJ0
cmltTWlkZGxlIiwKIHsKICAgICB2YWx1ZTogZnVuY3Rpb24obWF4TGVuZ3RoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRp
bWVsaW5lVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Db250cm9sbGVycy9IZWFwTWFuYWdlci5qcwpzaW1pbGFyaXR5IGluZGV4IDY0JQpjb3B5IGZy
b20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRp
bWVsaW5lVHJlZUVsZW1lbnQuanMKY29weSB0byBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Db250cm9sbGVycy9IZWFwTWFuYWdlci5qcwppbmRleCAxZDM1ODBhLi5iYzNkYmE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9T
b3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9IZWFwTWFuYWdlci5qcwpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMjggKzIzLDI3
IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVj
dG9yLlNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50ID0gY2xhc3MgU291cmNlQ29kZVRpbWVs
aW5lVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxl
bWVudAorV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyID0gY2xhc3MgSGVhcE1hbmFnZXIgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuT2JqZWN0CiB7Ci0gICAgY29uc3RydWN0b3Ioc291cmNlQ29kZVRpbWVs
aW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxl
KQorICAgIGNvbnN0cnVjdG9yKCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNvdXJj
ZUNvZGVUaW1lbGluZSk7CisgICAgICAgIHN1cGVyKCk7CiAKLSAgICAgICAgc3VidGl0bGVOYW1l
U3R5bGUgPSBzdWJ0aXRsZU5hbWVTdHlsZSB8fCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0
aW9uLk5hbWVTdHlsZS5Ob25lOwotCi0gICAgICAgIHN1cGVyKHNvdXJjZUNvZGVUaW1lbGluZS5y
ZWNvcmRzWzBdLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFp
blRpdGxlLCBzb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uLCBzb3VyY2VDb2Rl
VGltZWxpbmUpOwotCi0gICAgICAgIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGluZSA9IHNvdXJjZUNv
ZGVUaW1lbGluZTsKKyAgICAgICAgaWYgKHdpbmRvdy5IZWFwQWdlbnQpCisgICAgICAgICAgICBI
ZWFwQWdlbnQuZW5hYmxlKCk7CiAgICAgfQogCiAgICAgLy8gUHVibGljCiAKLSAgICBnZXQgcmVj
b3JkKCkKKyAgICBnYXJiYWdlQ29sbGVjdGVkKHBheWxvYWQpCiAgICAgewotICAgICAgICByZXR1
cm4gdW5kZWZpbmVkOwotICAgIH0KKyAgICAgICAgLy8gQ2FsbGVkIGZyb20gV2ViSW5zcGVjdG9y
LkhlYXBPYnNlcnZlci4KIAotICAgIGdldCBzb3VyY2VDb2RlVGltZWxpbmUoKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGluZTsKKyAgICAgICAgbGV0IGNvbGxl
Y3Rpb24gPSBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uZnJvbVBheWxvYWQocGF5bG9h
ZCk7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5I
ZWFwTWFuYWdlci5FdmVudC5HYXJiYWdlQ29sbGVjdGVkLCB7Y29sbGVjdGlvbn0pOwogICAgIH0K
IH07CisKK1dlYkluc3BlY3Rvci5IZWFwTWFuYWdlci5FdmVudCA9IHsKKyAgICBHYXJiYWdlQ29s
bGVjdGVkOiAiaGVhcC1tYW5hZ2VyLWdhcmJhZ2UtY29sbGVjdGVkIgorfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5l
TWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL1RpbWVsaW5lTWFuYWdlci5qcwppbmRleCBjZDQ0YTkzLi43MGViZDFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGlu
ZU1hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29u
dHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzCkBAIC0zMyw2ICszMyw4IEBAIFdlYkluc3BlY3Rv
ci5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNw
ZWN0b3IuT2JqZWN0CiAgICAgICAgIFdlYkluc3BlY3Rvci5GcmFtZS5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5GcmFtZS5FdmVudC5NYWluUmVzb3VyY2VEaWRDaGFuZ2UsIHRoaXMuX21h
aW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcyk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5GcmFtZS5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GcmFtZS5FdmVudC5SZXNvdXJjZVdhc0FkZGVk
LCB0aGlzLl9yZXNvdXJjZVdhc0FkZGVkLCB0aGlzKTsKIAorICAgICAgICBXZWJJbnNwZWN0b3Iu
aGVhcE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSGVhcE1hbmFnZXIuRXZl
bnQuR2FyYmFnZUNvbGxlY3RlZCwgdGhpcy5fZ2FyYmFnZUNvbGxlY3RlZCwgdGhpcyk7CisKICAg
ICAgICAgdGhpcy5fcGVyc2lzdGVudE5ldHdvcmtUaW1lbGluZSA9IG5ldyBXZWJJbnNwZWN0b3Iu
TmV0d29ya1RpbWVsaW5lOwogCiAgICAgICAgIHRoaXMuX2lzQ2FwdHVyaW5nID0gZmFsc2U7CkBA
IC01OTMsNiArNTk1LDE1IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBU
aW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAKICAgICAgICAgdGhp
cy5fYWRkUmVjb3JkKHJlY29yZCk7CiAgICAgfQorCisgICAgX2dhcmJhZ2VDb2xsZWN0ZWQoZXZl
bnQpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX2lzQ2FwdHVyaW5nKQorICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgIGxldCBjb2xsZWN0aW9uID0gZXZlbnQuZGF0YS5jb2xsZWN0aW9u
OworICAgICAgICB0aGlzLl9hZGRSZWNvcmQobmV3IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGlu
ZVJlY29yZChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkdhcmJh
Z2VDb2xsZWN0ZWQsIGNvbGxlY3Rpb24uc3RhcnRUaW1lLCBjb2xsZWN0aW9uLmVuZFRpbWUsIG51
bGwsIG51bGwsIGNvbGxlY3Rpb24pKTsKKyAgICB9CiB9OwogCiBXZWJJbnNwZWN0b3IuVGltZWxp
bmVNYW5hZ2VyLkV2ZW50ID0gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvSW1hZ2VzL1RpbWVsaW5lUmVjb3JkR2FyYmFnZUNvbGxlY3Rpb24uc3ZnIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL1RpbWVsaW5lUmVjb3Jk
R2FyYmFnZUNvbGxlY3Rpb24uc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjhlMTdkZjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9JbWFnZXMvVGltZWxpbmVSZWNvcmRHYXJiYWdlQ29sbGVjdGlvbi5zdmcKQEAgLTAs
MCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLSBD
b3B5cmlnaHQgwqkgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIC0tPgorPHN2
ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0Jv
eD0iMCAwIDE2IDE2Ij4KKyAgICA8cGF0aCBmaWxsPSJyZ2IoMjI4LCAxOTgsIDE3MikiIGQ9Ik0g
MTMgMSBMIDMgMSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAxNC4xMDE1
NjIgMS44OTg0MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEwMTU2MiAx
NSAxMyBMIDE1IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAxMyAxIFoiLz4KKyAgICA8cGF0
aCBmaWxsPSJyZ2IoMTg2LCAxNTcsIDEzMikiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4IDEg
MSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBMIDEz
IDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5ODQz
OCAxNC4xMDE1NjIgMSAxMyAxIE0gMTMgMiBDIDEzLjU1MDc4MSAyIDE0IDIuNDQ5MjE5IDE0IDMg
TCAxNCAxMyBDIDE0IDEzLjU1MDc4MSAxMy41NTA3ODEgMTQgMTMgMTQgTCAzIDE0IEMgMi40NDky
MTkgMTQgMiAxMy41NTA3ODEgMiAxMyBMIDIgMyBDIDIgMi40NDkyMTkgMi40NDkyMTkgMiAzIDIg
TCAxMyAyIi8+CisgICAgPHBhdGggZmlsbD0icmdiKDE4NiwgMTU3LCAxMzIpIiBkPSJNIDQuNzcz
NDM4IDExLjU0Mjk2OSBDIDMuODU1NDY5IDEwLjYyMTA5NCAzLjM5MDYyNSA5LjM0NzY1NiAzLjM5
MDYyNSA3Ljc2OTUzMSBDIDMuMzkwNjI1IDYuMTU2MjUgMy44NjMyODEgNC44Nzg5MDYgNC43ODkw
NjIgMy45NjQ4NDQgQyA1LjcxMDkzOCAzLjA1NDY4OCA3LjAwMzkwNiAyLjU5Mzc1IDguNjI1IDIu
NTkzNzUgQyA5LjU3MDMxMiAyLjU5Mzc1IDEwLjUxOTUzMSAyLjcwNzAzMSAxMS40NDE0MDYgMi45
Mjk2ODggQyAxMS44OTA2MjUgMy4wMzUxNTYgMTIuMjEwOTM4IDMuNDM3NSAxMi4yMTA5MzggMy45
MDIzNDQgTCAxMi4yMTA5MzggNS4xOTUzMTIgQyAxMi4yMTA5MzggNS41MTk1MzEgMTIuMDUwNzgx
IDUuODI0MjE5IDExLjc4OTA2MiA2LjAxMTcxOSBDIDExLjYxMzI4MSA2LjEzMjgxMiAxMS40MTAx
NTYgNi4xOTUzMTIgMTEuMjA3MDMxIDYuMTk1MzEyIEMgMTEuMDk3NjU2IDYuMTk1MzEyIDEwLjk4
NDM3NSA2LjE3OTY4OCAxMC44Nzg5MDYgNi4xNDA2MjUgQyAxMC4wMTU2MjUgNS44MzU5MzggOS4z
MDg1OTQgNS42ODM1OTQgOC43Njk1MzEgNS42ODM1OTQgQyA4LjA1ODU5NCA1LjY4MzU5NCA3Ljc1
MzkwNiA1Ljk0MTQwNiA3LjU4OTg0NCA2LjEzMjgxMiBDIDcuMjk2ODc1IDYuNDc2NTYyIDcuMTQ4
NDM4IDcuMDE5NTMxIDcuMTQ4NDM4IDcuNzQ2MDk0IEMgNy4xNDg0MzggOC40NDUzMTIgNy4zMDg1
OTQgOC45NzI2NTYgNy42MjEwOTQgOS4zMjAzMTIgQyA3LjgwODU5NCA5LjUyMzQzOCA4LjE0ODQz
OCA5Ljc5Njg3NSA4LjkyMTg3NSA5Ljc5Njg3NSBDIDkuNTQyOTY5IDkuNzk2ODc1IDEwLjE4NzUg
OS42MzI4MTIgMTAuODM5ODQ0IDkuMzA4NTk0IEMgMTAuOTgwNDY5IDkuMjQyMTg4IDExLjEzMjgx
MiA5LjIwNzAzMSAxMS4yODUxNTYgOS4yMDcwMzEgQyAxMS40Njg3NSA5LjIwNzAzMSAxMS42NDg0
MzggOS4yNTc4MTIgMTEuODEyNSA5LjM1OTM3NSBDIDEyLjEwNTQ2OSA5LjUzOTA2MiAxMi4yODUx
NTYgOS44NTkzNzUgMTIuMjg1MTU2IDEwLjIwNzAzMSBMIDEyLjI4NTE1NiAxMS40MjU3ODEgQyAx
Mi4yODUxNTYgMTEuODIwMzEyIDEyLjA1MDc4MSAxMi4xNzk2ODggMTEuNjkxNDA2IDEyLjMzOTg0
NCBDIDEwLjc5Mjk2OSAxMi43MzgyODEgOS43MzA0NjkgMTIuOTQxNDA2IDguNTI3MzQ0IDEyLjk0
MTQwNiBDIDYuOTU3MDMxIDEyLjk0MTQwNiA1LjY5MTQwNiAxMi40NzI2NTYgNC43NzM0MzggMTEu
NTQyOTY5Ii8+CisgICAgPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0gMTEuMjg1MTU2IDExLjQyNTc4
MSBDIDEwLjUxNTYyNSAxMS43Njk1MzEgOS41OTc2NTYgMTEuOTQxNDA2IDguNTI3MzQ0IDExLjk0
MTQwNiBDIDcuMjI2NTYyIDExLjk0MTQwNiA2LjIxMDkzOCAxMS41NzQyMTkgNS40ODQzNzUgMTAu
ODM5ODQ0IEMgNC43NTc4MTIgMTAuMTA1NDY5IDQuMzk0NTMxIDkuMDgyMDMxIDQuMzk0NTMxIDcu
NzY5NTMxIEMgNC4zOTQ1MzEgNi40Mjk2ODggNC43NTc4MTIgNS4zOTg0MzggNS40OTIxODggNC42
NzU3ODEgQyA2LjIyMjY1NiAzLjk1NzAzMSA3LjI2OTUzMSAzLjU5Mzc1IDguNjI1IDMuNTkzNzUg
QyA5LjQ5MjE4OCAzLjU5Mzc1IDEwLjM1MTU2MiAzLjY5NTMxMiAxMS4yMTA5MzggMy45MDIzNDQg
TCAxMS4yMTA5MzggNS4xOTUzMTIgQyAxMC4yMzgyODEgNC44NTU0NjkgOS40MjU3ODEgNC42ODM1
OTQgOC43Njk1MzEgNC42ODM1OTQgQyA3LjkzMzU5NCA0LjY4MzU5NCA3LjI4NTE1NiA0Ljk0OTIx
OSA2LjgzMjAzMSA1LjQ4NDM3NSBDIDYuMzc1IDYuMDE1NjI1IDYuMTQ4NDM4IDYuNzY5NTMxIDYu
MTQ4NDM4IDcuNzQ2MDk0IEMgNi4xNDg0MzggOC43MDcwMzEgNi4zOTQ1MzEgOS40NTMxMjUgNi44
ODI4MTIgOS45OTIxODggQyA3LjM3MTA5NCAxMC41MjczNDQgOC4wNTA3ODEgMTAuNzk2ODc1IDgu
OTIxODc1IDEwLjc5Njg3NSBDIDkuNzAzMTI1IDEwLjc5Njg3NSAxMC40ODgyODEgMTAuNjAxNTYy
IDExLjI4NTE1NiAxMC4yMDcwMzEgWiIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKaW5kZXggYjBiNGI1OS4uNWI0ODc0MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbApAQCAtMjI2LDYg
KzIyNiw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0RPTVN0b3JhZ2VPYnNlcnZlci5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0RhdGFiYXNlT2JzZXJ2ZXIu
anMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9EZWJ1Z2dlck9ic2VydmVy
LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSGVhcE9ic2VydmVyLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSW5zcGVjdG9yQmFja2VuZC5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0luc3BlY3RvckZyb250ZW5k
QVBJLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSW5zcGVjdG9yT2Jz
ZXJ2ZXIuanMiPjwvc2NyaXB0PgpAQCAtMjc5LDYgKzI4MCw3IEBACiAgICAgPHNjcmlwdCBzcmM9
Ik1vZGVscy9FeGVjdXRpb25Db250ZXh0LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
TW9kZWxzL0V4ZWN1dGlvbkNvbnRleHRMaXN0LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iTW9kZWxzL0ZyYW1lLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0dh
cmJhZ2VDb2xsZWN0aW9uLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0dl
b21ldHJ5LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0dyYWRpZW50Lmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0luZGV4ZWREYXRhYmFzZS5qcyI+
PC9zY3JpcHQ+CkBAIC01OTksNiArNjAxLDcgQEAKICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxl
cnMvRm9ybWF0dGVyQ29udGVudEJ1aWxkZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJDb250cm9sbGVycy9Gb3JtYXR0ZXJTb3VyY2VNYXAuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJDb250cm9sbGVycy9GcmFtZVJlc291cmNlTWFuYWdlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0hlYXBNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvSXNzdWVNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9sbGVyLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvSmF2YVNjcmlwdFJ1bnRp
bWVDb21wbGV0aW9uUHJvdmlkZXIuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVs
ZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvR2Fy
YmFnZUNvbGxlY3Rpb24uanMKc2ltaWxhcml0eSBpbmRleCA1NyUKY29weSBmcm9tIFNvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVF
bGVtZW50LmpzCmNvcHkgdG8gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL0dhcmJhZ2VDb2xsZWN0aW9uLmpzCmluZGV4IDFkMzU4MGEuLjlkMDYzYjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVU
aW1lbGluZVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMjggKzIzLDU0IEBACiAgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVjdG9yLlNvdXJj
ZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50ID0gY2xhc3MgU291cmNlQ29kZVRpbWVsaW5lVHJlZUVs
ZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudAorV2Vi
SW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uID0gY2xhc3MgR2FyYmFnZUNvbGxlY3Rpb24gZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiB7Ci0gICAgY29uc3RydWN0b3Ioc291cmNlQ29kZVRp
bWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRp
dGxlKQorICAgIGNvbnN0cnVjdG9yKHR5cGUsIHN0YXJ0VGltZSwgZW5kVGltZSkKICAgICB7Ci0g
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNvdXJjZUNvZGVUaW1lbGluZSk7CisgICAgICAgIHN1cGVy
KCk7CiAKLSAgICAgICAgc3VidGl0bGVOYW1lU3R5bGUgPSBzdWJ0aXRsZU5hbWVTdHlsZSB8fCBX
ZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5Ob25lOworICAgICAgICBj
b25zb2xlLmFzc2VydChlbmRUaW1lID4gc3RhcnRUaW1lKTsKIAotICAgICAgICBzdXBlcihzb3Vy
Y2VDb2RlVGltZWxpbmUucmVjb3Jkc1swXSwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVUaW1l
cklkZW50aWZpZXJJbk1haW5UaXRsZSwgc291cmNlQ29kZVRpbWVsaW5lLnNvdXJjZUNvZGVMb2Nh
dGlvbiwgc291cmNlQ29kZVRpbWVsaW5lKTsKKyAgICAgICAgdGhpcy5fdHlwZSA9IHR5cGU7Cisg
ICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IHN0YXJ0VGltZTsKKyAgICAgICAgdGhpcy5fZW5kVGlt
ZSA9IGVuZFRpbWU7CisgICAgfQogCi0gICAgICAgIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGluZSA9
IHNvdXJjZUNvZGVUaW1lbGluZTsKKyAgICAvLyBTdGF0aWMKKworICAgIHN0YXRpYyBmcm9tUGF5
bG9hZChwYXlsb2FkKQorICAgIHsKKyAgICAgICAgbGV0IHR5cGUgPSBXZWJJbnNwZWN0b3IuR2Fy
YmFnZUNvbGxlY3Rpb24uVHlwZS5GdWxsOworICAgICAgICBpZiAocGF5bG9hZC50eXBlID09PSBI
ZWFwQWdlbnQuR2FyYmFnZUNvbGxlY3Rpb25UeXBlLlBhcnRpYWwpCisgICAgICAgICAgICB0eXBl
ID0gV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUuUGFydGlhbDsKKworICAgICAg
ICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbih0eXBlLCBwYXlsb2Fk
LnN0YXJ0VGltZSwgcGF5bG9hZC5lbmRUaW1lKTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKIAot
ICAgIGdldCByZWNvcmQoKQorICAgIGdldCB0eXBlKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB1
bmRlZmluZWQ7CisgICAgICAgIHJldHVybiB0aGlzLl90eXBlOwogICAgIH0KIAotICAgIGdldCBz
b3VyY2VDb2RlVGltZWxpbmUoKQorICAgIGdldCBzdGFydFRpbWUoKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGluZTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3N0
YXJ0VGltZTsKICAgICB9CisKKyAgICBnZXQgZW5kVGltZSgpCisgICAgeworICAgICAgICByZXR1
cm4gdGhpcy5fZW5kVGltZTsKKyAgICB9CisKKyAgICBnZXQgZHVyYXRpb24oKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX2VuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7CisgICAgfQorfTsK
KworV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUgPSB7CisgICAgUGFydGlhbDog
U3ltYm9sKCJQYXJ0aWFsIiksCisgICAgRnVsbDogU3ltYm9sKCJGdWxsIikKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGlt
ZWxpbmVSZWNvcmQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvU2NyaXB0VGltZWxpbmVSZWNvcmQuanMKaW5kZXggY2NiNmRhOC4uZThjNjU5MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRp
bWVsaW5lUmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qcwpAQCAtNTgsNiArNTgsMTEgQEAgV2ViSW5z
cGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkID0gY2xhc3MgU2NyaXB0VGltZWxpbmVSZWNvcmQg
ZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2ZpbGU7CiAgICAgfQog
CisgICAgaXNHYXJiYWdlQ29sbGVjdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5f
ZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBl
LkdhcmJhZ2VDb2xsZWN0ZWQ7CisgICAgfQorCiAgICAgc2F2ZUlkZW50aXR5VG9Db29raWUoY29v
a2llKQogICAgIHsKICAgICAgICAgc3VwZXIuc2F2ZUlkZW50aXR5VG9Db29raWUoY29va2llKTsK
QEAgLTE1OCwxMCArMTYzLDExIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUgPSB7CiAgICAgQW5pbWF0aW9uRnJhbWVGaXJlZDogInNjcmlwdC10aW1lbGluZS1y
ZWNvcmQtYW5pbWF0aW9uLWZyYW1lLWZpcmVkIiwKICAgICBBbmltYXRpb25GcmFtZVJlcXVlc3Rl
ZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQtYW5pbWF0aW9uLWZyYW1lLXJlcXVlc3RlZCIsCiAg
ICAgQW5pbWF0aW9uRnJhbWVDYW5jZWxlZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQtYW5pbWF0
aW9uLWZyYW1lLWNhbmNlbGVkIiwKLSAgICBDb25zb2xlUHJvZmlsZVJlY29yZGVkOiAic2NyaXB0
LXRpbWVsaW5lLXJlY29yZC1jb25zb2xlLXByb2ZpbGUtcmVjb3JkZWQiCisgICAgQ29uc29sZVBy
b2ZpbGVSZWNvcmRlZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQtY29uc29sZS1wcm9maWxlLXJl
Y29yZGVkIiwKKyAgICBHYXJiYWdlQ29sbGVjdGVkOiAic2NyaXB0LXRpbWVsaW5lLXJlY29yZC1n
YXJiYWdlLWNvbGxlY3RlZCIKIH07CiAKLVdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29y
ZC5FdmVudFR5cGUuZGlzcGxheU5hbWUgPSBmdW5jdGlvbihldmVudFR5cGUsIGRldGFpbHMsIGlu
Y2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkKK1dlYkluc3BlY3Rvci5TY3JpcHRUaW1l
bGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxheU5hbWUgPSBmdW5jdGlvbihldmVudFR5cGUsIGRl
dGFpbHMsIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkKIHsKICAgICBpZiAo
ZGV0YWlscyAmJiAhV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLl9ldmVudERpc3Bs
YXlOYW1lcykgewogICAgICAgICAvLyBUaGVzZSBkaXNwbGF5IG5hbWVzIGFyZSBub3QgbG9jYWxp
emVkIGJlY2F1c2UgdGhleSBjbG9zZWx5IHJlcHJlc2VudApAQCAtMzM1LDE2ICszNDEsMjcgQEAg
V2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5kaXNwbGF5TmFtZSA9
IGZ1bmN0aW9uKGV2ZW50VHlwZSwgZGUKICAgICAgICAgaWYgKGRldGFpbHMgJiYgKGRldGFpbHMg
aW5zdGFuY2VvZiBTdHJpbmcgfHwgdHlwZW9mIGRldGFpbHMgPT09ICJzdHJpbmciKSkKICAgICAg
ICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIuKAnCVz4oCdIFByb2ZpbGUgUmVj
b3JkZWQiKS5mb3JtYXQoZGV0YWlscyk7CiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkNvbnNvbGUgUHJvZmlsZSBSZWNvcmRlZCIpOworICAgIGNhc2UgV2ViSW5zcGVjdG9y
LlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5HYXJiYWdlQ29sbGVjdGVkOgorICAgICAg
ICBjb25zb2xlLmFzc2VydChkZXRhaWxzKTsKKyAgICAgICAgaWYgKGRldGFpbHMgJiYgKGRldGFp
bHMgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24pICYmIGluY2x1ZGVE
ZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkgeworICAgICAgICAgICAgc3dpdGNoIChkZXRh
aWxzLnR5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0
aW9uLlR5cGUuUGFydGlhbDoKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJQYXJ0aWFsIEdhcmJhZ2UgQ29sbGVjdGlvbiIpOworICAgICAgICAgICAgY2FzZSBX
ZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5GdWxsOgorICAgICAgICAgICAgICAg
IHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZ1bGwgR2FyYmFnZSBDb2xsZWN0aW9uIik7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5V
SVN0cmluZygiR2FyYmFnZSBDb2xsZWN0aW9uIik7CiAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2Ny
aXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyRmlyZWQ6Ci0gICAgICAgIGlmIChkZXRh
aWxzICYmIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkKKyAgICAgICAgaWYgKGRl
dGFpbHMgJiYgaW5jbHVkZURldGFpbHNJbmZvcm1hdGlvbkluTWFpblRpdGxlKQogICAgICAgICAg
ICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGltZXIgJXMgRmlyZWQiKS5mb3JtYXQo
ZGV0YWlscyk7CiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVyIEZp
cmVkIik7CiAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRU
eXBlLlRpbWVySW5zdGFsbGVkOgotICAgICAgICBpZiAoZGV0YWlscyAmJiBpbmNsdWRlVGltZXJJ
ZGVudGlmaWVySW5NYWluVGl0bGUpCisgICAgICAgIGlmIChkZXRhaWxzICYmIGluY2x1ZGVEZXRh
aWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkKICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIlRpbWVyICVzIEluc3RhbGxlZCIpLmZvcm1hdChkZXRhaWxzKTsKICAgICAg
ICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGltZXIgSW5zdGFsbGVkIik7CiAgICAg
Y2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyUmVt
b3ZlZDoKLSAgICAgICAgaWYgKGRldGFpbHMgJiYgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFp
blRpdGxlKQorICAgICAgICBpZiAoZGV0YWlscyAmJiBpbmNsdWRlRGV0YWlsc0luZm9ybWF0aW9u
SW5NYWluVGl0bGUpCiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJU
aW1lciAlcyBSZW1vdmVkIikuZm9ybWF0KGRldGFpbHMpOwogICAgICAgICByZXR1cm4gV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJUaW1lciBSZW1vdmVkIik7CiAgICAgY2FzZSBXZWJJbnNwZWN0b3Iu
U2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkFuaW1hdGlvbkZyYW1lRmlyZWQ6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VD
b2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1Byb3RvY29sL0hlYXBPYnNlcnZlci5qcwpzaW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5
IGZyb20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29k
ZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKY29weSB0byBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Qcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanMKaW5kZXggMWQzNTgwYS4uZjA0YjMw
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSGVhcE9ic2VydmVyLmpzCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywyOCArMjMsMTIg
QEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0
b3IuU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgPSBjbGFzcyBTb3VyY2VDb2RlVGltZWxp
bmVUcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVt
ZW50CitXZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyID0gY2xhc3MgSGVhcE9ic2VydmVyCiB7Ci0g
ICAgY29uc3RydWN0b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5j
bHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQotICAgIHsKLSAgICAgICAgY29uc29sZS5h
c3NlcnQoc291cmNlQ29kZVRpbWVsaW5lKTsKLQotICAgICAgICBzdWJ0aXRsZU5hbWVTdHlsZSA9
IHN1YnRpdGxlTmFtZVN0eWxlIHx8IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlTG9jYXRpb24uTmFt
ZVN0eWxlLk5vbmU7Ci0KLSAgICAgICAgc3VwZXIoc291cmNlQ29kZVRpbWVsaW5lLnJlY29yZHNb
MF0sIHN1YnRpdGxlTmFtZVN0eWxlLCBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0bGUs
IHNvdXJjZUNvZGVUaW1lbGluZS5zb3VyY2VDb2RlTG9jYXRpb24sIHNvdXJjZUNvZGVUaW1lbGlu
ZSk7Ci0KLSAgICAgICAgdGhpcy5fc291cmNlQ29kZVRpbWVsaW5lID0gc291cmNlQ29kZVRpbWVs
aW5lOwotICAgIH0KLQotICAgIC8vIFB1YmxpYwotCi0gICAgZ2V0IHJlY29yZCgpCi0gICAgewot
ICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwotICAgIH0KKyAgICAvLyBFdmVudHMgZGVmaW5lZCBi
eSB0aGUgIkhlYXAiIGRvbWFpbi4KIAotICAgIGdldCBzb3VyY2VDb2RlVGltZWxpbmUoKQorICAg
IGdhcmJhZ2VDb2xsZWN0ZWQoY29sbGVjdGlvbikKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlz
Ll9zb3VyY2VDb2RlVGltZWxpbmU7CisgICAgICAgIFdlYkluc3BlY3Rvci5oZWFwTWFuYWdlci5n
YXJiYWdlQ29sbGVjdGVkKGNvbGxlY3Rpb24pOwogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKaW5kZXggYmZjOWQwNy4uMTFkNmQ0ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1s
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbApAQCAt
NjIsNiArNjIsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9ET01PYnNlcnZlci5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0RPTVN0b3JhZ2VPYnNlcnZlci5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0RlYnVnZ2VyT2JzZXJ2ZXIu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9OZXR3b3JrT2JzZXJ2ZXIuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9QYWdlT2JzZXJ2ZXIuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9SZW1vdGVPYmplY3QuanMiPjwvc2Ny
aXB0PgpAQCAtOTcsNiArOTgsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvRXhlY3V0aW9u
Q29udGV4dC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9FeGVjdXRpb25D
b250ZXh0TGlzdC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9GcmFtZS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HZW9tZXRyeS5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9JbmRleGVkRGF0YWJhc2UuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvSW5kZXhlZERhdGFiYXNlT2JqZWN0U3RvcmUuanMi
Pjwvc2NyaXB0PgpAQCAtMTQwLDYgKzE0Miw3IEBACiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xs
ZXJzL0RPTVRyZWVNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJv
bGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29u
dHJvbGxlcnMvRnJhbWVSZXNvdXJjZU1hbmFnZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSJDb250cm9sbGVycy9IZWFwTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9IkNvbnRyb2xsZXJzL0lzc3VlTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9IkNvbnRyb2xsZXJzL0xvZ01hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJDb250cm9sbGVycy9Qcm9iZU1hbmFnZXIuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzCmluZGV4IDdiMjhkNTUuLmM5
OWJlOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rl
c3QvVGVzdC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0
L1Rlc3QuanMKQEAgLTQxLDYgKzQxLDcgQEAgV2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0aW9u
KCkKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV2ViSW5z
cGVjdG9yLkRPTU9ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyTmV0d29y
a0Rpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5OZXR3b3JrT2JzZXJ2ZXIpOwogICAgIEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJEZWJ1Z2dlckRpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5E
ZWJ1Z2dlck9ic2VydmVyKTsKKyAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVySGVhcERpc3Bh
dGNoZXIobmV3IFdlYkluc3BlY3Rvci5IZWFwT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tl
bmQucmVnaXN0ZXJUaW1lbGluZURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZU9i
c2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ1NTRGlzcGF0Y2hlcihuZXcg
V2ViSW5zcGVjdG9yLkNTU09ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
UnVudGltZURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5SdW50aW1lT2JzZXJ2ZXIpOwpAQCAt
NTQsNiArNTUsNyBAQCBXZWJJbnNwZWN0b3IubG9hZGVkID0gZnVuY3Rpb24oKQogICAgIHRoaXMu
bG9nTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuTG9nTWFuYWdlcjsKICAgICB0aGlzLmlzc3Vl
TWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuSXNzdWVNYW5hZ2VyOwogICAgIHRoaXMucnVudGlt
ZU1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlJ1bnRpbWVNYW5hZ2VyOworICAgIHRoaXMuaGVh
cE1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyOwogICAgIHRoaXMudGltZWxp
bmVNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXI7CiAgICAgdGhpcy5k
ZWJ1Z2dlck1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFuYWdlcjsKICAgICB0
aGlzLnByb2JlTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuUHJvYmVNYW5hZ2VyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGlt
ZWxpbmVEYXRhR3JpZE5vZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcwppbmRleCAwMzU0MDQyLi4xNmFm
ODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcwpAQCAt
NzcsOCArNzcsMTUgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlID0g
Y2xhc3MgU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW4KICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogCi0gICAgICAgIHJldHVybiB7ZXZlbnRUeXBlOiB0aGlzLl9yZWNvcmQuZXZlbnRU
eXBlLCBzdGFydFRpbWUsIHNlbGZUaW1lOiBkdXJhdGlvbiwgdG90YWxUaW1lOiBkdXJhdGlvbiwK
LSAgICAgICAgICAgIGF2ZXJhZ2VUaW1lOiBkdXJhdGlvbiwgY2FsbENvdW50OiAxLCBsb2NhdGlv
bjogY2FsbEZyYW1lT3JTb3VyY2VDb2RlTG9jYXRpb259OworICAgICAgICByZXR1cm4geworICAg
ICAgICAgICAgZXZlbnRUeXBlOiB0aGlzLl9yZWNvcmQuZXZlbnRUeXBlLAorICAgICAgICAgICAg
c3RhcnRUaW1lLAorICAgICAgICAgICAgc2VsZlRpbWU6IGR1cmF0aW9uLAorICAgICAgICAgICAg
dG90YWxUaW1lOiBkdXJhdGlvbiwKKyAgICAgICAgICAgIGF2ZXJhZ2VUaW1lOiBkdXJhdGlvbiwK
KyAgICAgICAgICAgIGNhbGxDb3VudDogTmFOLAorICAgICAgICAgICAgbG9jYXRpb246IGNhbGxG
cmFtZU9yU291cmNlQ29kZUxvY2F0aW9uCisgICAgICAgIH07CiAgICAgfQogCiAgICAgdXBkYXRl
UmFuZ2VUaW1lcyhzdGFydFRpbWUsIGVuZFRpbWUpCkBAIC0xMjQsNiArMTMxLDkgQEAgV2ViSW5z
cGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgU2NyaXB0VGltZWxpbmVE
YXRhR3JpZE5vZGUgZXh0ZW4KICAgICAgICAgY2FzZSAidG90YWxUaW1lIjoKICAgICAgICAgY2Fz
ZSAiYXZlcmFnZVRpbWUiOgogICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVtcHR5
VmFsdWVQbGFjZWhvbGRlclN0cmluZyA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUsIHRy
dWUpOworCisgICAgICAgIGNhc2UgImNhbGxDb3VudCI6CisgICAgICAgICAgICByZXR1cm4gaXNO
YU4odmFsdWUpID8gZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5nIDogdmFsdWU7CiAgICAgICAg
IH0KIAogICAgICAgICByZXR1cm4gc3VwZXIuY3JlYXRlQ2VsbENvbnRlbnQoY29sdW1uSWRlbnRp
ZmllciwgY2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGgu
anMKaW5kZXggNzFlZTlhMS4uNDUxYTRmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVs
aW5lT3ZlcnZpZXdHcmFwaC5qcwpAQCAtNzMsNyArNzMsMTEgQEAgV2ViSW5zcGVjdG9yLlNjcmlw
dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFw
aCBleHQKICAgICAgICAgICAgICsrcmVjb3JkQmFySW5kZXg7CiAgICAgICAgIH0KIAotICAgICAg
ICBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRCYXIuY3JlYXRlQ29tYmluZWRCYXJzKHRoaXMu
X3NjcmlwdFRpbWVsaW5lLnJlY29yZHMsIHNlY29uZHNQZXJQaXhlbCwgdGhpcywgY3JlYXRlQmFy
LmJpbmQodGhpcykpOworICAgICAgICAvLyBDcmVhdGUgYmFycyBmb3Igbm9uLUdDIHJlY29yZHMg
YW5kIEdDIHJlY29yZHMuCisgICAgICAgIGxldCBbZ2NSZWNvcmRzLCBub25HQ1JlY29yZHNdID0g
dGhpcy5fc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5wYXJ0aXRpb24oKHgpID0+IHguaXNHYXJiYWdl
Q29sbGVjdGlvbigpKTsKKyAgICAgICAgbGV0IGJvdW5kQ3JlYXRlQmFyID0gY3JlYXRlQmFyLmJp
bmQodGhpcyk7CisgICAgICAgIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEJhci5jcmVhdGVD
b21iaW5lZEJhcnMobm9uR0NSZWNvcmRzLCBzZWNvbmRzUGVyUGl4ZWwsIHRoaXMsIGJvdW5kQ3Jl
YXRlQmFyKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkQmFyLmNyZWF0ZUNv
bWJpbmVkQmFycyhnY1JlY29yZHMsIHNlY29uZHNQZXJQaXhlbCwgdGhpcywgYm91bmRDcmVhdGVC
YXIpOwogCiAgICAgICAgIC8vIFJlbW92ZSB0aGUgcmVtYWluaW5nIHVudXNlZCBUaW1lbGluZVJl
Y29yZEJhcnMuCiAgICAgICAgIGZvciAoOyByZWNvcmRCYXJJbmRleCA8IHRoaXMuX3RpbWVsaW5l
UmVjb3JkQmFycy5sZW5ndGg7ICsrcmVjb3JkQmFySW5kZXgpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lVmlldy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVs
aW5lVmlldy5qcwppbmRleCA5ZjVlMTM1Li43ZWE1MTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZVZpZXcuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxp
bmVWaWV3LmpzCkBAIC0yMjksNiArMjI5LDEwIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGlu
ZVZpZXcgPSBjbGFzcyBTY3JpcHRUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAg
ICAgICAgIGlmICghdGhpcy5fcGVuZGluZ1JlY29yZHMubGVuZ3RoKQogICAgICAgICAgICAgcmV0
dXJuOwogCisgICAgICAgIHZhciB6ZXJvVGltZSA9IHRoaXMuemVyb1RpbWU7CisgICAgICAgIHZh
ciBzdGFydFRpbWUgPSB0aGlzLnN0YXJ0VGltZTsKKyAgICAgICAgdmFyIGVuZFRpbWUgPSB0aGlz
LmVuZFRpbWU7CisKICAgICAgICAgZm9yICh2YXIgc2NyaXB0VGltZWxpbmVSZWNvcmQgb2YgdGhp
cy5fcGVuZGluZ1JlY29yZHMpIHsKICAgICAgICAgICAgIHZhciByb290Tm9kZXMgPSBbXTsKICAg
ICAgICAgICAgIGlmIChzY3JpcHRUaW1lbGluZVJlY29yZC5wcm9maWxlKSB7CkBAIC0yMzYsMTUg
KzI0MCwxMSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3ID0gY2xhc3MgU2NyaXB0
VGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogICAgICAgICAgICAgICAgIHJvb3RO
b2RlcyA9IHNjcmlwdFRpbWVsaW5lUmVjb3JkLnByb2ZpbGUudG9wRG93blJvb3ROb2RlczsKICAg
ICAgICAgICAgIH0KIAotICAgICAgICAgICAgdmFyIHplcm9UaW1lID0gdGhpcy56ZXJvVGltZTsK
LSAgICAgICAgICAgIHZhciB0cmVlRWxlbWVudCA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmRUcmVlRWxlbWVudChzY3JpcHRUaW1lbGluZVJlY29yZCwgV2ViSW5zcGVjdG9yLlNvdXJj
ZUNvZGVMb2NhdGlvbi5OYW1lU3R5bGUuU2hvcnQsIHJvb3ROb2Rlcy5sZW5ndGgpOworICAgICAg
ICAgICAgdmFyIHRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRy
ZWVFbGVtZW50KHNjcmlwdFRpbWVsaW5lUmVjb3JkLCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxv
Y2F0aW9uLk5hbWVTdHlsZS5TaG9ydCwgdHJ1ZSk7CiAgICAgICAgICAgICB2YXIgZGF0YUdyaWRO
b2RlID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZShzY3JpcHRU
aW1lbGluZVJlY29yZCwgemVyb1RpbWUpOwogCiAgICAgICAgICAgICB0aGlzLl9kYXRhR3JpZC5h
ZGRSb3dJblNvcnRPcmRlcih0cmVlRWxlbWVudCwgZGF0YUdyaWROb2RlKTsKIAotICAgICAgICAg
ICAgdmFyIHN0YXJ0VGltZSA9IHRoaXMuc3RhcnRUaW1lOwotICAgICAgICAgICAgdmFyIGVuZFRp
bWUgPSB0aGlzLmVuZFRpbWU7Ci0KICAgICAgICAgICAgIGZvciAodmFyIHByb2ZpbGVOb2RlIG9m
IHJvb3ROb2RlcykgewogICAgICAgICAgICAgICAgIHZhciBwcm9maWxlTm9kZVRyZWVFbGVtZW50
ID0gbmV3IFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZVRyZWVFbGVtZW50KHByb2ZpbGVOb2RlLCB0
aGlzKTsKICAgICAgICAgICAgICAgICB2YXIgcHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUgPSBuZXcg
V2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlKHByb2ZpbGVOb2RlLCB6ZXJvVGlt
ZSwgc3RhcnRUaW1lLCBlbmRUaW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVs
aW5lVHJlZUVsZW1lbnQuanMKaW5kZXggMWQzNTgwYS4uNTk3YTczOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5l
VHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKQEAgLTI1LDEzICsyNSwxMyBA
QAogCiBXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgPSBjbGFzcyBT
b3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJlY29yZFRyZWVFbGVtZW50CiB7Ci0gICAgY29uc3RydWN0b3Ioc291cmNlQ29kZVRpbWVsaW5l
LCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQor
ICAgIGNvbnN0cnVjdG9yKHNvdXJjZUNvZGVUaW1lbGluZSwgc3VidGl0bGVOYW1lU3R5bGUsIGlu
Y2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkKICAgICB7CiAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHNvdXJjZUNvZGVUaW1lbGluZSk7CiAKICAgICAgICAgc3VidGl0bGVOYW1lU3R5
bGUgPSBzdWJ0aXRsZU5hbWVTdHlsZSB8fCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9u
Lk5hbWVTdHlsZS5Ob25lOwogCi0gICAgICAgIHN1cGVyKHNvdXJjZUNvZGVUaW1lbGluZS5yZWNv
cmRzWzBdLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRp
dGxlLCBzb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uLCBzb3VyY2VDb2RlVGlt
ZWxpbmUpOworICAgICAgICBzdXBlcihzb3VyY2VDb2RlVGltZWxpbmUucmVjb3Jkc1swXSwgc3Vi
dGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSwgc291
cmNlQ29kZVRpbWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbiwgc291cmNlQ29kZVRpbWVsaW5lKTsK
IAogICAgICAgICB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmUgPSBzb3VyY2VDb2RlVGltZWxpbmU7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVJY29ucy5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcwppbmRleCA0OWIxZjRiLi5mMGVhMjkwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZUljb25zLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZUljb25zLmNzcwpAQCAtMTAzLDYgKzEwMywxMCBAQAogICAgIGNvbnRlbnQ6IHVy
bCguLi9JbWFnZXMvVGltZWxpbmVSZWNvcmRDb25zb2xlUHJvZmlsZS5zdmcpOwogfQogCisuZ2Fy
YmFnZS1jb2xsZWN0aW9uLXByb2ZpbGUtcmVjb3JkIC5pY29uIHsKKyAgICBjb250ZW50OiB1cmwo
Li4vSW1hZ2VzL1RpbWVsaW5lUmVjb3JkR2FyYmFnZUNvbGxlY3Rpb24uc3ZnKTsKK30KKwogLnRp
bWVyLXJlY29yZCAuaWNvbiB7CiAgICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9UaW1lbGluZVJl
Y29yZFRpbWVyLnN2Zyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5jc3MKaW5kZXggNDVk
NWRmZS4uNDZiYmVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmNzcwpAQCAtOTgsMyAr
OTgsOCBAQAogICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgyNjksIDY1JSwgNzQlKTsKICAgICBi
b3JkZXItY29sb3I6IGhzbCgyNzMsIDMzJSwgNTglKTsKIH0KKworLnRpbWVsaW5lLXJlY29yZC1i
YXIudGltZWxpbmUtcmVjb3JkLXR5cGUtc2NyaXB0LnNjcmlwdC10aW1lbGluZS1yZWNvcmQtZ2Fy
YmFnZS1jb2xsZWN0ZWQgPiAuc2VnbWVudCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDIz
LCA2OSUsIDczJSk7CisgICAgYm9yZGVyLWNvbG9yOiBoc2woMTEsIDU0JSwgNjIlKTsgICAgCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZVJlY29yZEJhci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzCmluZGV4IDY0OTIxOTEuLmVkN2IwNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
UmVjb3JkQmFyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzCkBAIC0xMzQsMjEgKzEzNCwyMyBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRCYXIgPSBjbGFzcyBUaW1lbGluZVJlY29yZEJhciBleHRlbmRzIFdl
Ykluc3BlY3Rvci5PYgogICAgICAgICB2YXIgc3RhcnRUaW1lUHJvcGVydHkgPSB1c2VzQWN0aXZl
U3RhcnRUaW1lID8gImFjdGl2ZVN0YXJ0VGltZSIgOiAic3RhcnRUaW1lIjsKIAogICAgICAgICBm
b3IgKHZhciByZWNvcmQgb2YgdmlzaWJsZVJlY29yZHMpIHsKKyAgICAgICAgICAgIHZhciBzdGFy
dFRpbWUgPSByZWNvcmRbc3RhcnRUaW1lUHJvcGVydHldOworCiAgICAgICAgICAgICAvLyBDaGVj
ayBpZiB0aGUgcHJldmlvdXMgcmVjb3JkIGlzIGZhciBlbm91Z2ggYXdheSB0byBjcmVhdGUgdGhl
IGFjdGl2ZSBiYXIuIFdlIGFsc28gY3JlYXRlIGl0IG5vdyBpZiB0aGUgY3VycmVudCByZWNvcmQg
aGFzIG5vIGFjdGl2ZSBzdGF0ZSB0aW1lLgotICAgICAgICAgICAgaWYgKCFpc05hTihhY3RpdmVT
dGFydFRpbWUpICYmIChhY3RpdmVTdGFydFRpbWUgKyBNYXRoLm1heChhY3RpdmVFbmRUaW1lIC0g
YWN0aXZlU3RhcnRUaW1lLCBtaW5pbXVtRHVyYXRpb24pICsgbWluaW11bU1hcmdpbiA8PSByZWNv
cmRbc3RhcnRUaW1lUHJvcGVydHldCi0gICAgICAgICAgICAgICAgfHwgKGlzTmFOKHJlY29yZFtz
dGFydFRpbWVQcm9wZXJ0eV0pICYmICFpc05hTihhY3RpdmVFbmRUaW1lKSkpKSB7CisgICAgICAg
ICAgICBpZiAoIWlzTmFOKGFjdGl2ZVN0YXJ0VGltZSkgJiYgKGFjdGl2ZVN0YXJ0VGltZSArIE1h
dGgubWF4KGFjdGl2ZUVuZFRpbWUgLSBhY3RpdmVTdGFydFRpbWUsIG1pbmltdW1EdXJhdGlvbikg
KyBtaW5pbXVtTWFyZ2luIDw9IHN0YXJ0VGltZQorICAgICAgICAgICAgICAgIHx8IChpc05hTihz
dGFydFRpbWUpICYmICFpc05hTihhY3RpdmVFbmRUaW1lKSkpKSB7CiAgICAgICAgICAgICAgICAg
Y3JlYXRlQmFyQ2FsbGJhY2soYWN0aXZlUmVjb3JkcywgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkQmFyLlJlbmRlck1vZGUuQWN0aXZlT25seSk7CiAgICAgICAgICAgICAgICAgYWN0aXZlUmVj
b3JkcyA9IFtdOwogICAgICAgICAgICAgICAgIGFjdGl2ZVN0YXJ0VGltZSA9IE5hTjsKICAgICAg
ICAgICAgICAgICBhY3RpdmVFbmRUaW1lID0gTmFOOwogICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgICBpZiAoaXNOYU4ocmVjb3JkW3N0YXJ0VGltZVByb3BlcnR5XSkpCisgICAgICAgICAgICBp
ZiAoaXNOYU4oc3RhcnRUaW1lKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAg
ICAgICAgLy8gSWYgdGhpcyBpcyBhIG5ldyBiYXIsIHBlZyB0aGUgc3RhcnQgdGltZS4KICAgICAg
ICAgICAgIGlmIChpc05hTihhY3RpdmVTdGFydFRpbWUpKQotICAgICAgICAgICAgICAgIGFjdGl2
ZVN0YXJ0VGltZSA9IHJlY29yZFtzdGFydFRpbWVQcm9wZXJ0eV07CisgICAgICAgICAgICAgICAg
YWN0aXZlU3RhcnRUaW1lID0gc3RhcnRUaW1lOwogCiAgICAgICAgICAgICAvLyBVcGRhdGUgdGhl
IGVuZCB0aW1lIHRvIGJlIHRoZSBtYXhpbXVtIHdlIGVuY291bnRlci4gYWN0aXZlRW5kVGltZSBt
aWdodCBiZSBOYU4sIHNvICJ8fCAwIiB0byBwcmV2ZW50IE1hdGgubWF4IGZyb20gcmV0dXJuaW5n
IE5hTi4KICAgICAgICAgICAgIGlmICghaXNOYU4ocmVjb3JkLmVuZFRpbWUpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNv
cmRUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanMKaW5kZXggZDMxMWY0Yi4uOGU1OGNmZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LmpzCkBAIC0yNSw3ICsy
NSw3IEBACiAKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50ID0gY2xhc3Mg
VGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5HZW5lcmFsVHJl
ZUVsZW1lbnQKIHsKLSAgICBjb25zdHJ1Y3Rvcih0aW1lbGluZVJlY29yZCwgc3VidGl0bGVOYW1l
U3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSwgc291cmNlQ29kZUxvY2F0
aW9uLCByZXByZXNlbnRlZE9iamVjdCkKKyAgICBjb25zdHJ1Y3Rvcih0aW1lbGluZVJlY29yZCwg
c3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSwg
c291cmNlQ29kZUxvY2F0aW9uLCByZXByZXNlbnRlZE9iamVjdCkKICAgICB7CiAgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KHRpbWVsaW5lUmVjb3JkKTsKIApAQCAtNzIsNyArNzIsNyBAQCBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkVHJl
ZUVsZW1lbnQgZXh0ZW5kcwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQ6Ci0gICAgICAgICAgICB0aXRsZSA9
IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxheU5hbWUo
dGltZWxpbmVSZWNvcmQuZXZlbnRUeXBlLCB0aW1lbGluZVJlY29yZC5kZXRhaWxzLCBpbmNsdWRl
VGltZXJJZGVudGlmaWVySW5NYWluVGl0bGUpOworICAgICAgICAgICAgdGl0bGUgPSBXZWJJbnNw
ZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLmRpc3BsYXlOYW1lKHRpbWVsaW5l
UmVjb3JkLmV2ZW50VHlwZSwgdGltZWxpbmVSZWNvcmQuZGV0YWlscywgaW5jbHVkZURldGFpbHNJ
bmZvcm1hdGlvbkluTWFpblRpdGxlKTsKIAogICAgICAgICAgICAgc3dpdGNoICh0aW1lbGluZVJl
Y29yZC5ldmVudFR5cGUpIHsKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRp
bWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5TY3JpcHRFdmFsdWF0ZWQ6CkBAIC04Nyw2ICs4Nyw5IEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50ID0gY2xhc3MgVGltZWxpbmVS
ZWNvcmRUcmVlRWxlbWVudCBleHRlbmRzCiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5T
Y3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuQ29uc29sZVByb2ZpbGVSZWNvcmRlZDoKICAg
ICAgICAgICAgICAgICBpY29uU3R5bGVDbGFzcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZFRyZWVFbGVtZW50LkNvbnNvbGVQcm9maWxlSWNvblN0eWxlQ2xhc3M7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJl
Y29yZC5FdmVudFR5cGUuR2FyYmFnZUNvbGxlY3RlZDoKKyAgICAgICAgICAgICAgICBpY29uU3R5
bGVDbGFzcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkdhcmJhZ2VD
b2xsZWN0aW9uSWNvblN0eWxlQ2xhc3M7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGlt
ZXJGaXJlZDoKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5UaW1lckluc3RhbGxlZDoKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVj
dG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1lclJlbW92ZWQ6CkBAIC0xNjgs
MyArMTcxLDQgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuVGltZXJS
ZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJ0aW1lci1yZWNvcmQKIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJlY29yZFRyZWVFbGVtZW50LkFuaW1hdGlvblJlY29yZEljb25TdHlsZUNsYXNzID0gImFuaW1h
dGlvbi1yZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuUHJv
YmVSZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJwcm9iZS1yZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuQ29uc29sZVByb2ZpbGVJY29uU3R5bGVDbGFzcyA9ICJj
b25zb2xlLXByb2ZpbGUtcmVjb3JkIjsKK1dlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVF
bGVtZW50LkdhcmJhZ2VDb2xsZWN0aW9uSWNvblN0eWxlQ2xhc3MgPSAiZ2FyYmFnZS1jb2xsZWN0
aW9uLXByb2ZpbGUtcmVjb3JkIjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262313</attachid>
            <date>2015-10-01 19:36:05 -0700</date>
            <delta_ts>2015-10-01 20:57:54 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix (Improve Test, Fix Builds)</desc>
            <filename>gc-4.patch</filename>
            <type>text/plain</type>
            <size>80748</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMDk4OGUyLi44ZTVlMmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDkt
MjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBJbmNsdWRlIEdhcmJhZ2UgQ29sbGVjdGlvbiBFdmVudCBpbiBUaW1lbGluZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvaGVhcC9nYXJiYWdlQ29sbGVjdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9oZWFwL2djLmh0bWw6IEFkZGVkLgorCiAyMDE1LTEwLTAxICBEZWFuIEphY2tzb24gIDxkaW5v
QGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2UgV0VCR0xfZGVidWdfcmVuZGVyZXJfaW5mbwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYXJiYWdlQ29sbGVjdGVk
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYThjN2Zl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNv
bGxlY3RlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0IGZvciB0aGUgSGVhcC5n
YXJiYWdlQ29sbGVjdGVkIGV2ZW50LgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogSGVhcC5n
YXJiYWdlQ29sbGVjdGVkCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVHJpZ2dlckdDcworUEFTUzog
U2hvdWxkIHNlZSBib3RoIGEgUGFydGlhbCBhbmQgRnVsbCBHYXJiYWdlIENvbGxlY3Rpb24uCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2dhcmJhZ2VDb2xsZWN0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2dhcmJhZ2VDb2xsZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Nzg1MDdhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sCkBA
IC0wLDAgKzEsNjggQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRyaWdnZXJHQ3MoKQoreworICAgIGZ1
bmN0aW9uIGFsbG9jYXRlT2JqZWN0cygpIHsKKyAgICAgICAgdmFyIGxpc3QgPSBbXTsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsraSkKKyAgICAgICAgICAgIGxpc3QucHVzaCh7
eDppfSk7CisgICAgICAgIHJldHVybiBsaXN0OworICAgIH0KKworICAgIGZ1bmN0aW9uIGFsbG9j
YXRlTGFyZ2VMaXN0KCkgeworICAgICAgICB2YXIgbGFyZ2VMaXN0ID0gW107CisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpCisgICAgICAgICAgICBsYXJnZUxpc3QucHVzaChh
bGxvY2F0ZU9iamVjdHMoKSk7CisgICAgICAgIHJldHVybiBsYXJnZUxpc3Q7CisgICAgfQorCisg
ICAgdmFyIHBhcnRpYWxMaXN0ID0gW107CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsr
aSkKKyAgICAgICAgcGFydGlhbExpc3QucHVzaChhbGxvY2F0ZUxhcmdlTGlzdCgpKTsKK30KKwor
ZnVuY3Rpb24gcGVyaW9kaWNhbGx5VHJpZ2dlckdDcygpCit7CisgICAgc2V0SW50ZXJ2YWwodHJp
Z2dlckdDcywgMjApOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJ
bnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIkhlYXAuZ2FyYmFnZUNvbGxlY3RlZCIpOwor
CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVHJpZ2dlckdDcyIsCisg
ICAgICAgIGRlc2NyaXB0aW9uOiAiRXZhbHVhdGluZyBhbGxvY2F0aW9uIGhlYXZ5IEphdmFTY3Jp
cHQgc2hvdWxkIHRyaWdnZXIgSGVhcC5nYXJiYWdlQ29sbGVjdGVkIGV2ZW50cy4iLAorICAgICAg
ICB0ZXN0OiAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJwZXJpb2RpY2FsbHlUcmlnZ2VyR0NzKCkiKTsKKworICAgICAgICAg
ICAgbGV0IHNlZW5GdWxsID0gZmFsc2U7CisgICAgICAgICAgICBsZXQgc2VlblBhcnRpYWwgPSBm
YWxzZTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5oZWFwTWFuYWdlci5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5IZWFwTWFuYWdlci5FdmVudC5HYXJiYWdlQ29sbGVjdGVkLCAoZXZl
bnQpID0+IHsKKyAgICAgICAgICAgICAgICBpZiAoc2VlbkZ1bGwgJiYgc2VlblBhcnRpYWwpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgIGlmIChldmVudC5k
YXRhLmNvbGxlY3Rpb24udHlwZSA9PT0gV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5
cGUuRnVsbCkKKyAgICAgICAgICAgICAgICAgICAgc2VlbkZ1bGwgPSB0cnVlOworICAgICAgICAg
ICAgICAgIGVsc2UgaWYgKGV2ZW50LmRhdGEuY29sbGVjdGlvbi50eXBlID09PSBXZWJJbnNwZWN0
b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5QYXJ0aWFsKQorICAgICAgICAgICAgICAgICAgICBz
ZWVuUGFydGlhbCA9IHRydWU7CisKKyAgICAgICAgICAgICAgICBpZiAoc2VlbkZ1bGwgJiYgc2Vl
blBhcnRpYWwpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6
IFNob3VsZCBzZWUgYm90aCBhIFBhcnRpYWwgYW5kIEZ1bGwgR2FyYmFnZSBDb2xsZWN0aW9uLiIp
OworICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNl
c0FuZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Cis8cD5UZXN0IGZvciB0aGUgSGVhcC5nYXJiYWdlQ29sbGVjdGVkIGV2ZW50LjwvcD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFw
L2djLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2djLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDA2MjIzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2MtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsOCBAQAorVGVzdCBmb3IgdGhlIEhlYXAuZ2MgY29tbWFuZC4KKworCis9PSBSdW5u
aW5nIHRlc3Qgc3VpdGU6IEhlYXAuZ2MKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUcmlnZ2VyR0NT
aG91bGRDcmVhdGVHQ0V2ZW50CitQQVNTOiBFdmVudCBzaG91bGQgaGF2ZSBHYXJiYWdlQ29sbGVj
dGlvbiBkYXRhLgorUEFTUzogR2FyYmFnZUNvbGxlY3Rpb24gdHlwZSBzaG91bGQgYmUgRnVsbC4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2MuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9oZWFwL2djLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZDNjMGU2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9oZWFwL2djLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
cy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJIZWFw
LmdjIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUcmlnZ2Vy
R0NTaG91bGRDcmVhdGVHQ0V2ZW50IiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDYWxsaW5nIEhl
YXAuZ2Mgc2hvdWxkIHRyaWdnZXIgSGVhcC5nYXJiYWdlQ29sbGVjdGVkIGV2ZW50IGlmIGVuYWJs
ZWQuIiwKKyAgICAgICAgdGVzdDogKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAg
SGVhcEFnZW50LmdjKCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuaGVhcE1hbmFnZXIuc2lu
Z2xlRmlyZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyLkV2ZW50LkdhcmJh
Z2VDb2xsZWN0ZWQsIChldmVudCkgPT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0VGhhdChldmVudC5kYXRhLmNvbGxlY3Rpb24gaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3Iu
R2FyYmFnZUNvbGxlY3Rpb24sICJFdmVudCBzaG91bGQgaGF2ZSBHYXJiYWdlQ29sbGVjdGlvbiBk
YXRhLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChldmVudC5k
YXRhLmNvbGxlY3Rpb24udHlwZSA9PT0gV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5
cGUuRnVsbCwgIkdhcmJhZ2VDb2xsZWN0aW9uIHR5cGUgc2hvdWxkIGJlIEZ1bGwuIik7CisgICAg
ICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9
KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0IGZvciB0aGUgSGVhcC5n
YyBjb21tYW5kLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCBkNjcxZTUwLi40YmNhMzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC0zNDcsNiArMzQ3LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMK
ICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKyAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvckhl
YXBBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5j
cHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcAog
ICAgIGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNmRlMjMwYy4uYTdlY2U1YyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTUtMDktMjggIEpvc2VwaCBQZWNvcmFybyAg
PHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbmNsdWRlIEdh
cmJhZ2UgQ29sbGVjdGlvbiBFdmVudCBpbiBUaW1lbGluZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgKiBoZWFwL0hlYXBPYnNlcnZlci5oOiAgICAgICAg
CisgICAgICAgICogaGVhcC9IZWFwLmNwcDoKKyAgICAgICAgKEpTQzo6SGVhcDo6d2lsbFN0YXJ0
Q29sbGVjdGlvbik6CisgICAgICAgIChKU0M6OkhlYXA6OmRpZEZpbmlzaENvbGxlY3Rpb24pOgor
ICAgICAgICAqIGhlYXAvSGVhcC5oOgorICAgICAgICAoSlNDOjpIZWFwOjphZGRPYnNlcnZlcik6
CisgICAgICAgIChKU0M6OkhlYXA6OnJlbW92ZU9ic2VydmVyKToKKyAgICAgICAgQWxsb3cgb2Jz
ZXJ2ZXJzIG9uIGhlYXAgdG8gYWRkIGhvb2tzIGZvciBzdGFydGluZyAvIGVuZGluZyBnYXJiYWdl
IGNvbGxlY3Rpb24uCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRW52aXJvbm1lbnQu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9s
bGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAoSW5zcGVj
dG9yOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OnZtKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgIEFj
Y2VzcyB0aGUgVk0gdGhyb3VnaCB0aGUgSW5zcGVjdG9yRW52aXJvbm1lbnQgYXMgaXQgd29uJ3Qg
Y2hhbmdlLgorCisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50OjpJbnNw
ZWN0b3JIZWFwQWdlbnQpOgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6
On5JbnNwZWN0b3JIZWFwQWdlbnQpOgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFw
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgIChJbnNwZWN0b3I6
Okluc3BlY3RvckhlYXBBZ2VudDo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQpOgorICAg
ICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6OmVuYWJsZSk6CisgICAgICAgIChJ
bnNwZWN0b3I6Okluc3BlY3RvckhlYXBBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChJbnNwZWN0
b3I6Okluc3BlY3RvckhlYXBBZ2VudDo6Z2MpOgorICAgICAgICAoSW5zcGVjdG9yOjpwcm90b2Nv
bFR5cGVGb3JIZWFwT3BlcmF0aW9uKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVh
cEFnZW50Ojp3aWxsR2FyYmFnZUNvbGxlY3QpOgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0
b3JIZWFwQWdlbnQ6OmRpZEdhcmJhZ2VDb2xsZWN0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckhlYXBBZ2VudC5oOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvcHJv
dG9jb2wvSGVhcC5qc29uOiBBZGRlZC4KKyAgICAgICAgTmV3IGRvbWFpbiBhbmQgYWdlbnQgdG8g
aGFuZGxlIHRhc2tzIHJlbGF0ZWQgdG8gdGhlIEphdmFTY3JpcHRDb3JlIGhlYXAuCisKIDIwMTUt
MTAtMDEgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1
bm5lY2Vzc2FyeSBTcGVjaWFsRmFzdENhc2VQcm9maWxlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAxNWRkYy4uMDQ2NjhkZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE1Miw2ICsxNTIsNyBAQCBJTlNQ
RUNUT1JfRE9NQUlOUyA9IFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9j
b2wvRGF0YWJhc2UuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3Rv
Y29sL0RlYnVnZ2VyLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90
b2NvbC9HZW5lcmljVHlwZXMuanNvbiBcCisgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9y
L3Byb3RvY29sL0hlYXAuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3By
b3RvY29sL0luc3BlY3Rvci5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3Iv
cHJvdG9jb2wvTGF5ZXJUcmVlLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rv
ci9wcm90b2NvbC9OZXR3b3JrLmpzb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBhN2NjOGYyLi5mMDMyYmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI5
MCw2ICsxMjkwLDkgQEAKIAkJQTUzMjQzOEMxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvclBy
b3RvY29sT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTUzMjQzODYxODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE1
MzI0Mzk0MTg1Njk3MDkwMDJFRDY5MiAvKiBnZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNv
bi5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0
MzkxMTg1Njk2RTYwMDJFRDY5MiAvKiBnZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5w
eSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNTMy
NDM5ODE4NTZBNDg5MDAyRUQ2OTIgLyogQ29tYmluZWREb21haW5zLmpzb24gaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTMyNDM5NTE4NTZBNDc1MDAyRUQ2
OTIgLyogQ29tYmluZWREb21haW5zLmpzb24gKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUzMzlFQzYxQkIzOTlBNjAwNTRGMDA1IC8qIEluc3BlY3Rv
ckhlYXBBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTUzMzlFQzUxQkIzOTk5MDAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1MzM5RUM3MUJC
Mzk5QTkwMDU0RjAwNSAvKiBJbnNwZWN0b3JIZWFwQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMzlFQzQxQkIzOTk5MDAwNTRGMDA1IC8q
IEluc3BlY3RvckhlYXBBZ2VudC5jcHAgKi87IH07CisJCUE1MzM5RUM5MUJCNEI0NjAwMDU0RjAw
NSAvKiBIZWFwT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1MzM5RUM4MUJCNEI0NTEwMDU0RjAwNSAvKiBIZWFwT2JzZXJ2ZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNTNDRTA4NTE4
QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTNDRTA4MTE4QkMxQTU2MDBCRURGNzYgLyog
Q29uc29sZVByb3RvdHlwZS5jcHAgKi87IH07CiAJCUE1M0NFMDg2MThCQzFBNTYwMEJFREY3NiAv
KiBDb25zb2xlUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNTNDRTA4MjE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5o
ICovOyB9OwogCQlBNTNDRTA4NzE4QkMxQTU2MDBCRURGNzYgLyogSlNDb25zb2xlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1M0NFMDgzMThCQzFB
NTYwMEJFREY3NiAvKiBKU0NvbnNvbGUuY3BwICovOyB9OwpAQCAtMzE4OCw2ICszMTkxLDkgQEAK
IAkJQTUzMjQzOTExODU2OTZFNjAwMkVENjkyIC8qIGdlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rv
ci1qc29uLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gImdlbmVyYXRl
LWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTUzMjQzOTUxODU2QTQ3NTAwMkVENjkyIC8qIENvbWJpbmVkRG9tYWlucy5qc29uICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5qc29uOyBwYXRoID0gQ29tYmluZWREb21haW5zLmpzb247IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE1MzI0Mzk2MTg1NkE0NzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGgg
PSBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE1MzM5RUM0MUJCMzk5OTAwMDU0RjAwNSAvKiBJbnNwZWN0b3JIZWFwQWdlbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9ySGVhcEFnZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMzlFQzUxQkIzOTk5MDAwNTRGMDA1
IC8qIEluc3BlY3RvckhlYXBBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJbnNwZWN0b3JIZWFwQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUz
MzlFQzgxQkI0QjQ1MTAwNTRGMDA1IC8qIEhlYXBPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBIZWFwT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTUzQ0UwODExOEJDMUE1NjAwQkVERjc2IC8qIENvbnNvbGVQcm90b3R5cGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29uc29sZVByb3RvdHlwZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1M0NFMDgyMThCQzFBNTYwMEJFREY3NiAv
KiBDb25zb2xlUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENv
bnNvbGVQcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUzQ0UwODMx
OEJDMUE1NjAwQkVERjc2IC8qIEpTQ29uc29sZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0NvbnNvbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNDI3Niw2ICs0MjgyLDcgQEAKIAkJCQkwRjMyQkQwRjFCQjM0RjE5MDA5M0E1N0YgLyogSGVh
cEhlbHBlclBvb2wuaCAqLywKIAkJCQlDMkRBNzc4MjE4RTI1OTk5MDA2NkZDQjYgLyogSGVhcElu
bGluZXMuaCAqLywKIAkJCQkyQUQ4OTMyOTE3RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlv
blNjb3BlLmggKi8sCisJCQkJQTUzMzlFQzgxQkI0QjQ1MTAwNTRGMDA1IC8qIEhlYXBPYnNlcnZl
ci5oICovLAogCQkJCTJBNkY0NjI1MTdFOTU5Q0UwMEM0NUM5OCAvKiBIZWFwT3BlcmF0aW9uLmgg
Ki8sCiAJCQkJMTRGOTc0NDYxMzhDODUzRTAwREExQzY3IC8qIEhlYXBSb290VmlzaXRvci5oICov
LAogCQkJCUMyNEQzMUUwMTYxQ0Q2OTUwMDJBQTREQiAvKiBIZWFwU3RhdGlzdGljcy5jcHAgKi8s
CkBAIC01NzQyLDYgKzU3NDksOCBAQAogCQkJCUE1RkQwMDgwMTg5QjE5MUEwMDYzMzIzMSAvKiBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlBNTdEMjNFMzE4OTBDRUJGMDAzMUM3RkEg
LyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgKi8sCiAJCQkJQTU3RDIzRTQxODkwQ0VCRjAw
MzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCAqLywKKwkJCQlBNTMzOUVDNDFCQjM5
OTkwMDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmNwcCAqLywKKwkJCQlBNTMzOUVDNTFC
QjM5OTkwMDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmggKi8sCiAJCQkJQTUwRTRCNUQx
ODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgKi8sCiAJCQkJQTUw
RTRCNUUxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5oICovLAogCQkJ
CUE1RkQwMDgzMTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5j
cHAgKi8sCkBAIC02NDIwLDYgKzY0MjksNyBAQAogCQkJCTE0QkE3QTk4MTNBQURGRjgwMDVCN0My
QyAvKiBIZWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkRBNzc4MzE4RTI1OTk5MDA2NkZDQjYg
LyogSGVhcElubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTJBRDg5MzJCMTdFMzg2OEYwMDY2
ODI3NiAvKiBIZWFwSXRlcmF0aW9uU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MzM5RUM5
MUJCNEI0NjAwMDU0RjAwNSAvKiBIZWFwT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJB
NkY0NjI2MTdFOTU5Q0UwMEM0NUM5OCAvKiBIZWFwT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxNEY5NzQ0NzEzOEM4NTNFMDBEQTFDNjcgLyogSGVhcFJvb3RWaXNpdG9yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDMjREMzFFMzE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3RpY3Mu
aCBpbiBIZWFkZXJzICovLApAQCAtNjQ2Miw2ICs2NDcyLDcgQEAKIAkJCQlBNTk0NTU5NTE4MjQ3
OUVCMDBDQzM4NDMgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBNTMyNDM4QTE4NTY4MzM1MDAyRUQ2OTIgLyogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRj
aGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlGMUE3MDExQjk4RkJFQzAwNDYzQjI2IC8qIElu
c3BlY3RvckZyb250ZW5kUm91dGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTMzOUVDNjFCQjM5
OUE2MDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlF
MzVFMDM2MDFCN0FCNDNFMDA3M0FEMkEgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzNCM0UyNjFCN0FCRDc1MDA0OERCMkUgLyogSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0Lmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTUzMjQz
OEMxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIGluIEhlYWRl
cnMgKi8sCkBAIC03NzczLDYgKzc3ODQsNyBAQAogCQkJCUE1N0QyM0U1MTg5MENFQkYwMDMxQzdG
QSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1MzI0
Mzg5MTg1NjgzMzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTk5RjFBNkZFMUI4RTZEOTQwMDQ2M0IyNiAvKiBJbnNwZWN0b3JG
cm9udGVuZFJvdXRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTMzOUVDNzFCQjM5OUE5MDA1
NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUzNUUw
MzVGMUI3QUI0M0UwMDczQUQyQSAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTUzMjQzOEIxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3Rv
clByb3RvY29sT2JqZWN0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTBFNEI2MTE4ODA5REQ1
MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAppbmRleCBmYmZkZDQwLi5hMzBhODI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcApAQCAtMzgsMTAgKzM4LDEwIEBACiAjaW5jbHVkZSAi
SGVhcFZlcmlmaWVyLmgiCiAjaW5jbHVkZSAiSW5jcmVtZW50YWxTd2VlcGVyLmgiCiAjaW5jbHVk
ZSAiSW50ZXJwcmV0ZXIuaCIKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNH
bG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0xvY2suaCIKICNpbmNsdWRlICJKU09OT2JqZWN0
LmgiCi0jaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTVmlydHVhbE1hY2hpbmVJ
bnRlcm5hbC5oIgogI2luY2x1ZGUgIlJlY3Vyc2l2ZUFsbG9jYXRpb25TY29wZS5oIgogI2luY2x1
ZGUgIlJlZ0V4cENhY2hlLmgiCkBAIC01MSwxMyArNTEsMTIgQEAKICNpbmNsdWRlICJWTS5oIgog
I2luY2x1ZGUgIldlYWtTZXRJbmxpbmVzLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1
ZGUgPHd0Zi9SQU1TaXplLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVk
ZSA8d3RmL1BhcmFsbGVsVmVjdG9ySXRlcmF0b3IuaD4KICNpbmNsdWRlIDx3dGYvUHJvY2Vzc0lE
Lmg+CisjaW5jbHVkZSA8d3RmL1JBTVNpemUuaD4KIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLXVz
aW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0xMTczLDYgKzExNzIs
OSBAQCB2b2lkIEhlYXA6OndpbGxTdGFydENvbGxlY3Rpb24oSGVhcE9wZXJhdGlvbiBjb2xsZWN0
aW9uVHlwZSkKIAogICAgIGlmIChtX2VkZW5BY3Rpdml0eUNhbGxiYWNrKQogICAgICAgICBtX2Vk
ZW5BY3Rpdml0eUNhbGxiYWNrLT53aWxsQ29sbGVjdCgpOworCisgICAgZm9yIChhdXRvKiBvYnNl
cnZlciA6IG1fb2JzZXJ2ZXJzKQorICAgICAgICBvYnNlcnZlci0+d2lsbEdhcmJhZ2VDb2xsZWN0
KCk7CiB9CiAKIHZvaWQgSGVhcDo6Zmx1c2hPbGRTdHJ1Y3R1cmVJRFRhYmxlcygpCkBAIC0xMzIx
LDYgKzEzMjMsNyBAQCB2b2lkIEhlYXA6OmRpZEZpbmlzaENvbGxlY3Rpb24oZG91YmxlIGdjU3Rh
cnRUaW1lKQogewogICAgIEdDUEhBU0UoRmluaXNoaW5nQ29sbGVjdGlvbik7CiAgICAgZG91Ymxl
IGdjRW5kVGltZSA9IFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgSGVh
cE9wZXJhdGlvbiBvcGVyYXRpb24gPSBtX29wZXJhdGlvbkluUHJvZ3Jlc3M7CiAgICAgaWYgKG1f
b3BlcmF0aW9uSW5Qcm9ncmVzcyA9PSBGdWxsQ29sbGVjdGlvbikKICAgICAgICAgbV9sYXN0RnVs
bEdDTGVuZ3RoID0gZ2NFbmRUaW1lIC0gZ2NTdGFydFRpbWU7CiAgICAgZWxzZQpAQCAtMTM0NCw2
ICsxMzQ3LDkgQEAgdm9pZCBIZWFwOjpkaWRGaW5pc2hDb2xsZWN0aW9uKGRvdWJsZSBnY1N0YXJ0
VGltZSkKICAgICBSRUxFQVNFX0FTU0VSVChtX29wZXJhdGlvbkluUHJvZ3Jlc3MgPT0gRWRlbkNv
bGxlY3Rpb24gfHwgbV9vcGVyYXRpb25JblByb2dyZXNzID09IEZ1bGxDb2xsZWN0aW9uKTsKICAg
ICBtX29wZXJhdGlvbkluUHJvZ3Jlc3MgPSBOb09wZXJhdGlvbjsKICAgICBKQVZBU0NSSVBUQ09S
RV9HQ19FTkQoKTsKKworICAgIGZvciAoYXV0byogb2JzZXJ2ZXIgOiBtX29ic2VydmVycykKKyAg
ICAgICAgb2JzZXJ2ZXItPmRpZEdhcmJhZ2VDb2xsZWN0KG9wZXJhdGlvbik7CiB9CiAKIHZvaWQg
SGVhcDo6cmVzdW1lQ29tcGlsZXJUaHJlYWRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaApp
bmRleCBmMWNjMmNkLi5hYzExYzRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9IZWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCkBAIC0y
OCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiR0NJbmNvbWluZ1JlZkNvdW50ZWRTZXQuaCIKICNpbmNs
dWRlICJIYW5kbGVTZXQuaCIKICNpbmNsdWRlICJIYW5kbGVTdGFjay5oIgorI2luY2x1ZGUgIkhl
YXBPYnNlcnZlci5oIgogI2luY2x1ZGUgIkhlYXBPcGVyYXRpb24uaCIKICNpbmNsdWRlICJKSVRT
dHViUm91dGluZVNldC5oIgogI2luY2x1ZGUgIkxpc3RhYmxlSGFuZGxlci5oIgpAQCAtNDksMjgg
KzUwLDI0IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBDb3BpZWRTcGFjZTsKIGNsYXNz
IENvZGVCbG9jazsKLWNsYXNzIEV4ZWN1dGFibGVCYXNlOworY2xhc3MgQ29waWVkU3BhY2U7CiBj
bGFzcyBFZGVuR0NBY3Rpdml0eUNhbGxiYWNrOworY2xhc3MgRXhlY3V0YWJsZUJhc2U7CiBjbGFz
cyBGdWxsR0NBY3Rpdml0eUNhbGxiYWNrOwogY2xhc3MgR0NBY3Rpdml0eUNhbGxiYWNrOwogY2xh
c3MgR0NBd2FyZUpJVFN0dWJSb3V0aW5lOwotY2xhc3MgR2xvYmFsQ29kZUJsb2NrOwogY2xhc3Mg
SGVhcDsKIGNsYXNzIEhlYXBSb290VmlzaXRvcjsKIGNsYXNzIEhlYXBWZXJpZmllcjsKIGNsYXNz
IEluY3JlbWVudGFsU3dlZXBlcjsKIGNsYXNzIEpJVFN0dWJSb3V0aW5lOwogY2xhc3MgSlNDZWxs
OwotY2xhc3MgVk07CiBjbGFzcyBKU1N0YWNrOwogY2xhc3MgSlNWYWx1ZTsKLWNsYXNzIExpdmVP
YmplY3RJdGVyYXRvcjsKIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKIGNsYXNzIE1hcmtl
ZEFyZ3VtZW50QnVmZmVyOwotY2xhc3MgV2Vha0dDSGFuZGxlUG9vbDsKLWNsYXNzIFNsb3RWaXNp
dG9yOworY2xhc3MgVk07CiAKIG5hbWVzcGFjZSBERkcgewogY2xhc3MgV29ya2xpc3Q7CkBAIC0x
MzMsNiArMTMwLDkgQEAgcHVibGljOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIEluY3JlbWVudGFs
U3dlZXBlciogc3dlZXBlcigpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0SW5jcmVt
ZW50YWxTd2VlcGVyKHN0ZDo6dW5pcXVlX3B0cjxJbmNyZW1lbnRhbFN3ZWVwZXI+KTsKIAorICAg
IHZvaWQgYWRkT2JzZXJ2ZXIoSGVhcE9ic2VydmVyKiBvYnNlcnZlcikgeyBtX29ic2VydmVycy5h
cHBlbmQob2JzZXJ2ZXIpOyB9CisgICAgdm9pZCByZW1vdmVPYnNlcnZlcihIZWFwT2JzZXJ2ZXIq
IG9ic2VydmVyKSB7IG1fb2JzZXJ2ZXJzLnJlbW92ZUZpcnN0KG9ic2VydmVyKTsgfQorCiAgICAg
Ly8gdHJ1ZSBpZiBjb2xsZWN0aW9uIGlzIGluIHByb2dyZXNzCiAgICAgYm9vbCBpc0NvbGxlY3Rp
bmcoKTsKICAgICBIZWFwT3BlcmF0aW9uIG9wZXJhdGlvbkluUHJvZ3Jlc3MoKSB7IHJldHVybiBt
X29wZXJhdGlvbkluUHJvZ3Jlc3M7IH0KQEAgLTQxMSw3ICs0MTEsOSBAQCBwcml2YXRlOgogICAg
IFJlZlB0cjxHQ0FjdGl2aXR5Q2FsbGJhY2s+IG1fZWRlbkFjdGl2aXR5Q2FsbGJhY2s7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPEluY3JlbWVudGFsU3dlZXBlcj4gbV9zd2VlcGVyOwogICAgIFZlY3Rv
cjxNYXJrZWRCbG9jayo+IG1fYmxvY2tTbmFwc2hvdDsKLSAgICAKKworICAgIFZlY3RvcjxIZWFw
T2JzZXJ2ZXIqPiBtX29ic2VydmVyczsKKwogICAgIHVuc2lnbmVkIG1fZGVmZXJyYWxEZXB0aDsK
ICAgICBWZWN0b3I8REZHOjpXb3JrbGlzdCo+IG1fc3VzcGVuZGVkQ29tcGlsZXJXb3JrbGlzdHM7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvSGVhcE9ic2VydmVyLmgKc2ltaWxhcml0eSBpbmRleCA2MiUKY29weSBmcm9tIFNvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRy
ZWVFbGVtZW50LmpzCmNvcHkgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcE9ic2Vy
dmVyLmgKaW5kZXggMWQzNTgwYS4uYzRjMjgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQu
anMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcE9ic2VydmVyLmgKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDI4
ICsyMywyMCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdl
Ykluc3BlY3Rvci5Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCA9IGNsYXNzIFNvdXJjZUNv
ZGVUaW1lbGluZVRyZWVFbGVtZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
VHJlZUVsZW1lbnQKLXsKLSAgICBjb25zdHJ1Y3Rvcihzb3VyY2VDb2RlVGltZWxpbmUsIHN1YnRp
dGxlTmFtZVN0eWxlLCBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0bGUpCi0gICAgewot
ICAgICAgICBjb25zb2xlLmFzc2VydChzb3VyY2VDb2RlVGltZWxpbmUpOworI2lmbmRlZiBIZWFw
T2JzZXJ2ZXJfaAorI2RlZmluZSBIZWFwT2JzZXJ2ZXJfaAogCi0gICAgICAgIHN1YnRpdGxlTmFt
ZVN0eWxlID0gc3VidGl0bGVOYW1lU3R5bGUgfHwgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVMb2Nh
dGlvbi5OYW1lU3R5bGUuTm9uZTsKKyNpbmNsdWRlICJIZWFwT3BlcmF0aW9uLmgiCiAKLSAgICAg
ICAgc3VwZXIoc291cmNlQ29kZVRpbWVsaW5lLnJlY29yZHNbMF0sIHN1YnRpdGxlTmFtZVN0eWxl
LCBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0bGUsIHNvdXJjZUNvZGVUaW1lbGluZS5z
b3VyY2VDb2RlTG9jYXRpb24sIHNvdXJjZUNvZGVUaW1lbGluZSk7CituYW1lc3BhY2UgSlNDIHsK
IAotICAgICAgICB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmUgPSBzb3VyY2VDb2RlVGltZWxpbmU7
Ci0gICAgfQotCi0gICAgLy8gUHVibGljCi0KLSAgICBnZXQgcmVjb3JkKCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiB1bmRlZmluZWQ7Ci0gICAgfQotCi0gICAgZ2V0IHNvdXJjZUNvZGVUaW1lbGlu
ZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fc291cmNlQ29kZVRpbWVsaW5lOwotICAg
IH0KK2NsYXNzIEhlYXBPYnNlcnZlciB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+SGVhcE9ic2Vy
dmVyKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHdpbGxHYXJiYWdlQ29sbGVjdCgpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkR2FyYmFnZUNvbGxlY3QoSGVhcE9wZXJhdGlvbikgPSAwOwogfTsK
KworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIZWFwT2JzZXJ2ZXJfaApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmgKaW5kZXggNzk3MjFkZi4uYWFhYWI2NSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oCkBAIC0zOSw3ICszOSw2
IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgSGVhcDsKIGNsYXNzIEhlYXBJdGVyYXRpb25TY29w
ZTsKIGNsYXNzIEpTQ2VsbDsKLWNsYXNzIExpdmVPYmplY3RJdGVyYXRvcjsKIGNsYXNzIExMSW50
T2Zmc2V0c0V4dHJhY3RvcjsKIGNsYXNzIFdlYWtHQ0hhbmRsZTsKIGNsYXNzIFNsb3RWaXNpdG9y
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JF
bnZpcm9ubWVudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JF
bnZpcm9ubWVudC5oCmluZGV4IGNiNDg3NzEuLjc1ZjJlYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRW52aXJvbm1lbnQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckVudmlyb25tZW50LmgKQEAgLTM1
LDYgKzM1LDcgQEAgY2xhc3MgU3RvcHdhdGNoOwogbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGNl
cHRpb247CiBjbGFzcyBTb3VyY2VDb2RlOworY2xhc3MgVk07CiB9CiAKIG5hbWVzcGFjZSBJbnNw
ZWN0b3IgewpAQCAtNTMsNiArNTQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENh
bGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBmcm9udGVuZEluaXRpYWxpemVkKCkgPSAwOwogICAgIHZpcnR1YWwgUmVmPFdURjo6
U3RvcHdhdGNoPiBleGVjdXRpb25TdG9wd2F0Y2goKSA9IDA7CisgICAgdmlydHVhbCBKU0M6OlZN
JiB2bSgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDk4OWQyYTYuLjQyMTYwNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTM2LDYgKzM2LDcgQEAK
ICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckZyb250ZW5kQ2hhbm5lbC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kUm91dGVy
LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySGVhcEFnZW50LmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxP
YmplY3QuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oIgogI2luY2x1
ZGUgIkpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5oIgpAQCAtNjIsMTMgKzYzLDExIEBAIHVz
aW5nIG5hbWVzcGFjZSBKU0M7CiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogSlNHbG9iYWxPYmpl
Y3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIo
SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLSAgICA6IG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKHN0ZDo6bWFrZV91bmlxdWU8SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyPigqdGhpcywgSW5qZWN0
ZWRTY3JpcHRIb3N0OjpjcmVhdGUoKSkpCisgICAgOiBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmpl
Y3QpCisgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcihzdGQ6Om1ha2VfdW5pcXVlPEluamVj
dGVkU2NyaXB0TWFuYWdlcj4oKnRoaXMsIEluamVjdGVkU2NyaXB0SG9zdDo6Y3JlYXRlKCkpKQog
ICAgICwgbV9leGVjdXRpb25TdG9wd2F0Y2goU3RvcHdhdGNoOjpjcmVhdGUoKSkKICAgICAsIG1f
ZnJvbnRlbmRSb3V0ZXIoRnJvbnRlbmRSb3V0ZXI6OmNyZWF0ZSgpKQogICAgICwgbV9iYWNrZW5k
RGlzcGF0Y2hlcihCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKG1fZnJvbnRlbmRSb3V0ZXIuY29w
eVJlZigpKSkKLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLSAgICAsIG1fZ2xvYmFsT2Jq
ZWN0KGdsb2JhbE9iamVjdCkKLSNlbmRpZgogewogICAgIEFnZW50Q29udGV4dCBiYXNlQ29udGV4
dCA9IHsKICAgICAgICAgKnRoaXMsCkBAIC04Niw5ICs4NSwxMSBAQCBKU0dsb2JhbE9iamVjdElu
c3BlY3RvckNvbnRyb2xsZXI6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcihKU0ds
b2JhbE9iagogICAgIGF1dG8gcnVudGltZUFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxKU0dsb2Jh
bE9iamVjdFJ1bnRpbWVBZ2VudD4oY29udGV4dCk7CiAgICAgYXV0byBjb25zb2xlQWdlbnQgPSBz
dGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Pihjb250ZXh0KTsKICAg
ICBhdXRvIGRlYnVnZ2VyQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0RGVi
dWdnZXJBZ2VudD4oY29udGV4dCwgY29uc29sZUFnZW50LmdldCgpKTsKKyAgICBhdXRvIGhlYXBB
Z2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9ySGVhcEFnZW50Pihjb250ZXh0KTsKIAog
ICAgIG1faW5zcGVjdG9yQWdlbnQgPSBpbnNwZWN0b3JBZ2VudC5nZXQoKTsKICAgICBtX2RlYnVn
Z2VyQWdlbnQgPSBkZWJ1Z2dlckFnZW50LmdldCgpOworICAgIG1faGVhcEFnZW50ID0gaGVhcEFn
ZW50LmdldCgpOwogICAgIG1fY29uc29sZUFnZW50ID0gY29uc29sZUFnZW50LmdldCgpOwogICAg
IG1fY29uc29sZUNsaWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3RDb25zb2xl
Q2xpZW50PihtX2NvbnNvbGVBZ2VudCk7CiAKQEAgLTk4LDYgKzk5LDcgQEAgSlNHbG9iYWxPYmpl
Y3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIo
SlNHbG9iYWxPYmoKICAgICBtX2FnZW50cy5hcHBlbmQoV1RGOjptb3ZlKHJ1bnRpbWVBZ2VudCkp
OwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUoY29uc29sZUFnZW50KSk7CiAgICAgbV9h
Z2VudHMuYXBwZW5kKFdURjo6bW92ZShkZWJ1Z2dlckFnZW50KSk7CisgICAgbV9hZ2VudHMuYXBw
ZW5kKFdURjo6bW92ZShoZWFwQWdlbnQpKTsKIAogICAgIG1fZXhlY3V0aW9uU3RvcHdhdGNoLT5z
dGFydCgpOwogfQpAQCAtMjgzLDYgKzI4NSwxMSBAQCBSZWY8U3RvcHdhdGNoPiBKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmV4ZWN1dGlvblN0b3B3YXRjaCgpCiAgICAgcmV0dXJu
IG1fZXhlY3V0aW9uU3RvcHdhdGNoLmNvcHlSZWYoKTsKIH0KIAorVk0mIEpTR2xvYmFsT2JqZWN0
SW5zcGVjdG9yQ29udHJvbGxlcjo6dm0oKQoreworICAgIHJldHVybiBtX2dsb2JhbE9iamVjdC52
bSgpOworfQorCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCiB2
b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6YXBwZW5kRXh0cmFBZ2VudChz
dGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQWdlbnRCYXNlPiBhZ2VudCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JD
b250cm9sbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2Jq
ZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDliNDMwNTEuLmY2NmViZTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0
b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0ds
b2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtNDEsNyArNDEsNiBAQCBuYW1lc3Bh
Y2UgV1RGIHsKIGNsYXNzIFN0b3B3YXRjaDsKIH0KIAotCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNz
IENvbnNvbGVDbGllbnQ7CiBjbGFzcyBFeGNlcHRpb247CkBAIC01OCw2ICs1Nyw3IEBAIGNsYXNz
IEluamVjdGVkU2NyaXB0TWFuYWdlcjsKIGNsYXNzIEluc3BlY3RvckFnZW50OwogY2xhc3MgSW5z
cGVjdG9yQ29uc29sZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKK2NsYXNz
IEluc3BlY3RvckhlYXBBZ2VudDsKIGNsYXNzIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudDsK
IGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIApAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIGRpZENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRl
Kikgb3ZlcnJpZGUgeyB9CiAgICAgdmlydHVhbCB2b2lkIGZyb250ZW5kSW5pdGlhbGl6ZWQoKSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIFJlZjxXVEY6OlN0b3B3YXRjaD4gZXhlY3V0aW9uU3RvcHdh
dGNoKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBKU0M6OlZNJiB2bSgpIG92ZXJyaWRlOwogCiAj
aWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCiAgICAgdmlydHVhbCBB
dWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXJDbGllbnQqIGF1Z21lbnRhYmxlSW5zcGVjdG9y
Q29udHJvbGxlckNsaWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYXVnbWVudGluZ0Ns
aWVudDsgfSAKQEAgLTExMCw2ICsxMTEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZvaWQg
YXBwZW5kQVBJQmFja3RyYWNlKFNjcmlwdENhbGxTdGFjayogY2FsbFN0YWNrKTsKIAorICAgIEpT
Qzo6SlNHbG9iYWxPYmplY3QmIG1fZ2xvYmFsT2JqZWN0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJ
bmplY3RlZFNjcmlwdE1hbmFnZXI+IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ+IG1fY29uc29sZUNsaWVudDsK
ICAgICBSZWY8V1RGOjpTdG9wd2F0Y2g+IG1fZXhlY3V0aW9uU3RvcHdhdGNoOwpAQCAtMTE4LDYg
KzEyMCw3IEBAIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQg
eyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudCB7
IG51bGxwdHIgfTsKICAgICBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBtX2RlYnVnZ2VyQWdlbnQg
eyBudWxscHRyIH07CisgICAgSW5zcGVjdG9ySGVhcEFnZW50KiBtX2hlYXBBZ2VudCB7IG51bGxw
dHIgfTsKIAogICAgIFJlZjxGcm9udGVuZFJvdXRlcj4gbV9mcm9udGVuZFJvdXRlcjsKICAgICBS
ZWY8QmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CkBAIC0xMjUsMTAgKzEy
OCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2luY2x1ZGVOYXRpdmVDYWxsU3RhY2tXaXRoRXhj
ZXB0aW9ucyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQXV0b21hdGljSW5zcGVjdGlvbiB7IGZh
bHNlIH07CiAKLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLSAgICBKU0M6OkpTR2xvYmFs
T2JqZWN0JiBtX2dsb2JhbE9iamVjdDsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9B
TFRFUk5BVEVfRElTUEFUQ0hFUlMpCiAgICAgQXVnbWVudGFibGVJbnNwZWN0b3JDb250cm9sbGVy
Q2xpZW50KiBtX2F1Z21lbnRpbmdDbGllbnQgeyBudWxscHRyIH07CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBB
Z2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JIZWFwQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyY2Jm
YzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCkBAIC0wLDAgKzEsMTI2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkluc3BlY3RvckhlYXBBZ2VudC5oIgorCisjaW5jbHVkZSAiSW5zcGVjdG9yRW52
aXJvbm1lbnQuaCIKKyNpbmNsdWRlICJWTS5oIgorI2luY2x1ZGUgPHd0Zi9TdG9wd2F0Y2guaD4K
KwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIEluc3BlY3RvciB7CisKK0luc3Bl
Y3RvckhlYXBBZ2VudDo6SW5zcGVjdG9ySGVhcEFnZW50KEFnZW50Q29udGV4dCYgY29udGV4dCkK
KyAgICA6IEluc3BlY3RvckFnZW50QmFzZShBU0NJSUxpdGVyYWwoIkhlYXAiKSkKKyAgICAsIG1f
ZnJvbnRlbmREaXNwYXRjaGVyKHN0ZDo6bWFrZV91bmlxdWU8SGVhcEZyb250ZW5kRGlzcGF0Y2hl
cj4oY29udGV4dC5mcm9udGVuZFJvdXRlcikpCisgICAgLCBtX2JhY2tlbmREaXNwYXRjaGVyKEhl
YXBCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGNvbnRleHQuYmFja2VuZERpc3BhdGNoZXIsIHRo
aXMpKQorICAgICwgbV9lbnZpcm9ubWVudChjb250ZXh0LmVudmlyb25tZW50KQoreworfQorCitJ
bnNwZWN0b3JIZWFwQWdlbnQ6On5JbnNwZWN0b3JIZWFwQWdlbnQoKQoreworICAgIEVycm9yU3Ry
aW5nIGlnbm9yZWQ7CisgICAgZGlzYWJsZShpZ25vcmVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JI
ZWFwQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciosIEJh
Y2tlbmREaXNwYXRjaGVyKikKK3sKK30KKwordm9pZCBJbnNwZWN0b3JIZWFwQWdlbnQ6OndpbGxE
ZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKERpc2Nvbm5lY3RSZWFzb24pCit7Cit9CisKK3ZvaWQg
SW5zcGVjdG9ySGVhcEFnZW50OjplbmFibGUoRXJyb3JTdHJpbmcmKQoreworICAgIGlmIChtX2Vu
YWJsZWQpCisgICAgICAgIHJldHVybjsKKworICAgIG1fZW5hYmxlZCA9IHRydWU7CisKKyAgICBt
X2Vudmlyb25tZW50LnZtKCkuaGVhcC5hZGRPYnNlcnZlcih0aGlzKTsKK30KKwordm9pZCBJbnNw
ZWN0b3JIZWFwQWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcmKQoreworICAgIGlmICghbV9lbmFi
bGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2VuYWJsZWQgPSBmYWxzZTsKKworICAgIG1f
ZW52aXJvbm1lbnQudm0oKS5oZWFwLnJlbW92ZU9ic2VydmVyKHRoaXMpOworfQorCit2b2lkIElu
c3BlY3RvckhlYXBBZ2VudDo6Z2MoRXJyb3JTdHJpbmcmKQoreworICAgIFZNJiB2bSA9IG1fZW52
aXJvbm1lbnQudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayh2bSk7CisgICAgc2FuaXRpemVT
dGFja0ZvclZNKCZ2bSk7CisgICAgdm0uaGVhcC5jb2xsZWN0QWxsR2FyYmFnZSgpOworfQorCitz
dGF0aWMgSW5zcGVjdG9yOjpQcm90b2NvbDo6SGVhcDo6R2FyYmFnZUNvbGxlY3Rpb246OlR5cGUg
cHJvdG9jb2xUeXBlRm9ySGVhcE9wZXJhdGlvbihIZWFwT3BlcmF0aW9uIG9wZXJhdGlvbikKK3sK
KyAgICBzd2l0Y2ggKG9wZXJhdGlvbikgeworICAgIGNhc2UgRnVsbENvbGxlY3Rpb246CisgICAg
ICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpIZWFwOjpHYXJiYWdlQ29sbGVjdGlvbjo6
VHlwZTo6RnVsbDsKKyAgICBjYXNlIEVkZW5Db2xsZWN0aW9uOgorICAgICAgICByZXR1cm4gSW5z
cGVjdG9yOjpQcm90b2NvbDo6SGVhcDo6R2FyYmFnZUNvbGxlY3Rpb246OlR5cGU6OlBhcnRpYWw7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJl
dHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpIZWFwOjpHYXJiYWdlQ29sbGVjdGlvbjo6VHlwZTo6
RnVsbDsKKyAgICB9Cit9CisKK3ZvaWQgSW5zcGVjdG9ySGVhcEFnZW50Ojp3aWxsR2FyYmFnZUNv
bGxlY3QoKQoreworICAgIEFTU0VSVChtX2VuYWJsZWQpOworICAgIEFTU0VSVChzdGQ6OmlzbmFu
KG1fZ2NTdGFydFRpbWUpKTsKKworICAgIG1fZ2NTdGFydFRpbWUgPSBtX2Vudmlyb25tZW50LmV4
ZWN1dGlvblN0b3B3YXRjaCgpLT5lbGFwc2VkVGltZSgpOworfQorCit2b2lkIEluc3BlY3Rvckhl
YXBBZ2VudDo6ZGlkR2FyYmFnZUNvbGxlY3QoSGVhcE9wZXJhdGlvbiBvcGVyYXRpb24pCit7Cisg
ICAgQVNTRVJUKG1fZW5hYmxlZCk7CisgICAgQVNTRVJUKCFzdGQ6OmlzbmFuKG1fZ2NTdGFydFRp
bWUpKTsKKworICAgIC8vIEZJWE1FOiBJbmNsdWRlIG51bWJlciBvZiBieXRlcyBmcmVlZCBieSBj
b2xsZWN0aW9uLgorCisgICAgZG91YmxlIGVuZFRpbWUgPSBtX2Vudmlyb25tZW50LmV4ZWN1dGlv
blN0b3B3YXRjaCgpLT5lbGFwc2VkVGltZSgpOworICAgIGF1dG8gY29sbGVjdGlvbiA9IEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkhlYXA6OkdhcmJhZ2VDb2xsZWN0aW9uOjpjcmVhdGUoKQorICAgICAg
ICAuc2V0VHlwZShwcm90b2NvbFR5cGVGb3JIZWFwT3BlcmF0aW9uKG9wZXJhdGlvbikpCisgICAg
ICAgIC5zZXRTdGFydFRpbWUobV9nY1N0YXJ0VGltZSkKKyAgICAgICAgLnNldEVuZFRpbWUoZW5k
VGltZSkKKyAgICAgICAgLnJlbGVhc2UoKTsKKworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5n
YXJiYWdlQ29sbGVjdGVkKFdURjo6bW92ZShjb2xsZWN0aW9uKSk7CisgICAgbV9nY1N0YXJ0VGlt
ZSA9IE5BTjsKK30KKworfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2Vu
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4ZTQ4ZGYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JIZWFwQWdlbnQuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JIZWFwQWdlbnRfaAorI2RlZmlu
ZSBJbnNwZWN0b3JIZWFwQWdlbnRfaAorCisjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3Bh
dGNoZXJzLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgorI2lu
Y2x1ZGUgImhlYXAvSGVhcE9ic2VydmVyLmgiCisjaW5jbHVkZSAiaW5zcGVjdG9yL0luc3BlY3Rv
ckFnZW50QmFzZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CisKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCit0eXBlZGVmIFN0cmluZyBF
cnJvclN0cmluZzsKKworY2xhc3MgSlNfRVhQT1JUX1BSSVZBVEUgSW5zcGVjdG9ySGVhcEFnZW50
IGZpbmFsIDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEhlYXBCYWNrZW5kRGlz
cGF0Y2hlckhhbmRsZXIsIHB1YmxpYyBKU0M6OkhlYXBPYnNlcnZlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5zcGVjdG9ySGVhcEFnZW50KTsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JI
ZWFwQWdlbnQoQWdlbnRDb250ZXh0Jik7CisgICAgdmlydHVhbCB+SW5zcGVjdG9ySGVhcEFnZW50
KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250
ZW5kUm91dGVyKiwgQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZv
aWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJp
ZGU7CisKKyAgICAvLyBIZWFwQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyCisgICAgdmlydHVhbCB2
b2lkIGVuYWJsZShFcnJvclN0cmluZyYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaXNh
YmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGdjKEVycm9yU3Ry
aW5nJikgb3ZlcnJpZGU7CisKKyAgICAvLyBIZWFwT2JzZXJ2ZXIKKyAgICB2aXJ0dWFsIHZvaWQg
d2lsbEdhcmJhZ2VDb2xsZWN0KCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZEdhcmJh
Z2VDb2xsZWN0KEpTQzo6SGVhcE9wZXJhdGlvbikgb3ZlcnJpZGU7CisKK3ByaXZhdGU6CisgICAg
c3RkOjp1bmlxdWVfcHRyPEhlYXBGcm9udGVuZERpc3BhdGNoZXI+IG1fZnJvbnRlbmREaXNwYXRj
aGVyOworICAgIFJlZlB0cjxIZWFwQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNo
ZXI7CisgICAgSW5zcGVjdG9yRW52aXJvbm1lbnQmIG1fZW52aXJvbm1lbnQ7CisgICAgYm9vbCBt
X2VuYWJsZWQgeyBmYWxzZSB9OworICAgIGRvdWJsZSBtX2djU3RhcnRUaW1lIHsgTkFOIH07Cit9
OworCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKKworI2VuZGlmIC8vIEluc3BlY3RvckhlYXBB
Z2VudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL0hlYXAuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wv
SGVhcC5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhYzMzNDYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29s
L0hlYXAuanNvbgpAQCAtMCwwICsxLDM5IEBACit7CisgICAgImRvbWFpbiI6ICJIZWFwIiwKKyAg
ICAiZGVzY3JpcHRpb24iOiAiSGVhcCBkb21haW4gZXhwb3NlcyBKYXZhU2NyaXB0IGhlYXAgYXR0
cmlidXRlcyBhbmQgY2FwYWJpbGl0aWVzLiIsCisgICAgInR5cGVzIjogWworICAgICAgICB7Cisg
ICAgICAgICAgICAiaWQiOiAiR2FyYmFnZUNvbGxlY3Rpb24iLAorICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIkluZm9ybWF0aW9uIGFib3V0IGEgZ2FyYmFnZSBjb2xsZWN0aW9uLiIsCisgICAg
ICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCisg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0eXBlIiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0i
OiBbImZ1bGwiLCAicGFydGlhbCJdLCAiZGVzY3JpcHRpb24iOiAiVGhlIHR5cGUgb2YgZ2FyYmFn
ZSBjb2xsZWN0aW9uLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInN0YXJ0VGltZSIs
ICJ0eXBlIjogIm51bWJlciIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImVuZFRpbWUi
LCAidHlwZSI6ICJudW1iZXIiIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfQorICAgIF0sCisg
ICAgImNvbW1hbmRzIjogWworICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUi
LAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgSGVhcCBkb21haW4gZXZlbnRz
LiIKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZGlzYWJsZSIs
CisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgSGVhcCBkb21haW4gZXZlbnRz
LiIKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZ2MiLAorICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyaWdnZXIgYSBmdWxsIGdhcmJhZ2UgY29sbGVjdGlv
bi4iCisgICAgICAgIH0KKyAgICBdLAorICAgICJldmVudHMiOiBbCisgICAgICAgIHsKKyAgICAg
ICAgICAgICJuYW1lIjogImdhcmJhZ2VDb2xsZWN0ZWQiLAorICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIkluZm9ybWF0aW9uIGFib3V0IHRoZSBnYXJiYWdlIGNvbGxlY3Rpb24uIiwKKyAgICAg
ICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY29sbGVj
dGlvbiIsICJ0eXBlIjogIkdhcmJhZ2VDb2xsZWN0aW9uIiB9CisgICAgICAgICAgICBdCisgICAg
ICAgIH0KKyAgICBdCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM1OTc4ODkuLjMyZWY0OTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyOSBAQAorMjAxNS0wOS0yOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jh
cm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluY2x1ZGUgR2FyYmFnZSBD
b2xsZWN0aW9uIEV2ZW50IGluIFRpbWVsaW5lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUZXN0czogaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3Rl
ZC5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3IvaGVhcC9nYy5odG1sCisKKyAgICAgICAg
KiBGb3J3YXJkaW5nSGVhZGVycy9oZWFwL0hlYXBPYnNlcnZlci5oOiBBZGRlZC4KKyAgICAgICAg
KiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5o
OiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAg
ICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAg
Rm9yd2FyZGluZyBoZWFkZXJzLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVj
dG9yQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjp2
bSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjp2bSk6CisgICAgICAgICogaW5zcGVjdG9y
L1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgSW1wbGVtZW50IEluc3BlY3Rv
ckVudmlyb25tZW50Ojp2bSBhbmQgY3JlYXRlIGEgSGVhcCBhZ2VudCBmb3IgdGhlCisgICAgICAg
IFBhZ2UgaW5zcGVjdG9yIGNvbnRyb2xsZXIuCisKIDIwMTUtMTAtMDEgIEphZWh1biBMaW0gIDxs
amFlaHVuLmxpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggYnVpbGQg
d2FybmluZyBhZnRlciByMTkwNDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJk
aW5nSGVhZGVycy9oZWFwL0hlYXBPYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvaGVhcC9IZWFwT2JzZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5kODkyMWMyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvaGVhcC9IZWFwT2JzZXJ2ZXIuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYg
V2ViQ29yZV9GV0RfSGVhcE9ic2VydmVyX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfSGVhcE9ic2Vy
dmVyX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9IZWFwT2JzZXJ2ZXIuaD4KKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFk
ZXJzL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uOTk1ZDZjMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFn
ZW50LmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0luc3BlY3RvckhlYXBB
Z2VudF9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0luc3BlY3RvckhlYXBBZ2VudF9oCisjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9ySGVhcEFnZW50Lmg+CisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGViNTkwMzAu
LmNjMmFhZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvagpAQCAtMjAzNTUsNiArMjAzNTUsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cRm9yd2FyZGluZ0hlYWRlcnNcYmluZGluZ3NcU2NyaXB0VmFsdWUuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcQWxsb2NhdGlvblNwYWNl
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFw
XEhlYXAuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGhlYXBcSGVhcE9ic2VydmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3
YXJkaW5nSGVhZGVyc1xoZWFwXFNsb3RWaXNpdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXFN0cm9uZ0lubGluZXMuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcV2Vhay5oIiAvPgpA
QCAtMjAzODQsNiArMjAzODUsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JBZ2VudC5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJ
bnNwZWN0b3JDb25zb2xlQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZv
cndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5o
IiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVj
dG9yXGFnZW50c1xJbnNwZWN0b3JIZWFwQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGlt
ZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xtYXNtXFg4NkFzc2VtYmxlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNccGFyc2VyXFNvdXJjZUNvZGUuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCAz
MjA3ZTk4Li5mODdkODlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC0xMTc4OSw2ICsxMTc4OSw5IEBACiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdl
bnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdI
ZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0
b3JIZWFwQWdlbnQuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
cjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JSdW50aW1lQWdlbnQu
aCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgog
ICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTIwNjksNiArMTIwNzIsOSBAQAogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxIZWFwLmgiPgogICAgICAgPEZpbHRl
cj5Gb3J3YXJkaW5nSGVhZGVyc1xoZWFwPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXEhlYXBPYnNlcnZl
ci5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaGVhcDwvRmlsdGVyPgorICAg
IDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRl
cnNcaGVhcFxTbG90VmlzaXRvci5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNc
aGVhcDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDgxMTJlNTUuLjkwMDc1MTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
QEAgLTcwLDYgKzcwLDcgQEAKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRE
aXNwYXRjaGVycy5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRl
ci5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaD4KKyNpbmNs
dWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oPgogI2luY2x1ZGUgPHBy
b2ZpbGVyL0xlZ2FjeVByb2ZpbGVyLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KICNp
bmNsdWRlIDx3dGYvU3RvcHdhdGNoLmg+CkBAIC0xNzAsNiArMTcxLDcgQEAgSW5zcGVjdG9yQ29u
dHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlJiBwYWdlLCBJbnNwZWN0b3JDbGllbnQq
IGluc3BlY3RvckMKICAgICBtX2RvbURlYnVnZ2VyQWdlbnQgPSBkb21EZWJ1Z2dlckFnZW50UHRy
LmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUoZG9tRGVidWdnZXJBZ2VudFB0
cikpOwogCisgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9ySGVh
cEFnZW50PihwYWdlQ29udGV4dCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5p
cXVlPEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudD4ocGFnZUNvbnRleHQsIHBhZ2VBZ2Vu
dCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcldvcmtl
ckFnZW50PihwYWdlQ29udGV4dCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5p
cXVlPEluc3BlY3RvckxheWVyVHJlZUFnZW50PihwYWdlQ29udGV4dCkpOwpAQCAtNDc0LDYgKzQ3
NiwxMSBAQCBSZWY8U3RvcHdhdGNoPiBJbnNwZWN0b3JDb250cm9sbGVyOjpleGVjdXRpb25TdG9w
d2F0Y2goKQogICAgIHJldHVybiBtX2V4ZWN1dGlvblN0b3B3YXRjaC5jb3B5UmVmKCk7CiB9CiAK
K0pTQzo6Vk0mIEluc3BlY3RvckNvbnRyb2xsZXI6OnZtKCkKK3sKKyAgICByZXR1cm4gSlNET01X
aW5kb3dCYXNlOjpjb21tb25WTSgpOworfQorCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRp
ZENvbXBvc2l0ZShGcmFtZSYgZnJhbWUpCiB7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRDb21wb3NpdGUoZnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNTFiOWNiMS4uMDFlNWM0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0xMzEsNiArMTMxLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRDYWxsSW5qZWN0ZWRTY3JpcHRGdW5jdGlv
bihKU0M6OkV4ZWNTdGF0ZSopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZElu
aXRpYWxpemVkKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBSZWY8V1RGOjpTdG9wd2F0Y2g+IGV4
ZWN1dGlvblN0b3B3YXRjaCgpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgSlNDOjpWTSYgdm0oKSBv
dmVycmlkZTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkQ29tcG9zaXRlKEZyYW1lJik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmNwcAppbmRleCA2NmY5Y2IwMy4uMjhjZGVjMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAt
MzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5n
QWdlbnRzLmgiCisjaW5jbHVkZSAiSlNET01XaW5kb3dCYXNlLmgiCiAjaW5jbHVkZSAiSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAj
aW5jbHVkZSAiV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCkBAIC01MSw2ICs1Miw3IEBACiAj
aW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVkZSA8
d3RmL1N0b3B3YXRjaC5oPgogCit1c2luZyBuYW1lc3BhY2UgSlNDOwogdXNpbmcgbmFtZXNwYWNl
IEluc3BlY3RvcjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTk1LDQgKzE5Nyw5IEBAIFJl
ZjxTdG9wd2F0Y2g+IFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmV4ZWN1dGlvblN0b3B3YXRj
aCgpCiAgICAgcmV0dXJuIG1fZXhlY3V0aW9uU3RvcHdhdGNoLmNvcHlSZWYoKTsKIH0KIAorVk0m
IFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OnZtKCkKK3sKKyAgICByZXR1cm4gSlNET01XaW5k
b3dCYXNlOjpjb21tb25WTSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaApp
bmRleCBkOGYyNmU1Li43ZjQyNDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTc1LDYgKzc1LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBkaWRDYWxsSW5qZWN0ZWRTY3JpcHRGdW5jdGlvbihKU0M6OkV4
ZWNTdGF0ZSopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZEluaXRpYWxpemVk
KCkgb3ZlcnJpZGUgeyB9CiAgICAgdmlydHVhbCBSZWY8V1RGOjpTdG9wd2F0Y2g+IGV4ZWN1dGlv
blN0b3B3YXRjaCgpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgSlNDOjpWTSYgdm0oKSBvdmVycmlk
ZTsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggMDgwMTJmMy4uOGY4OWI3ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODAgQEAKKzIwMTUtMDktMjggIEpvc2VwaCBQZWNv
cmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbmNs
dWRlIEdhcmJhZ2UgQ29sbGVjdGlvbiBFdmVudCBpbiBUaW1lbGluZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTEwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvVXRp
bGl0aWVzLmpzOgorICAgICAgICAoQXJyYXkucHJvdG90eXBlLnBhcml0aW9uKToKKyAgICAgICAg
SGVscGVyIHRvIHBhcnRpdGlvbiBhbiBBcnJheSBpbnRvIHR3byBhcnJheXMuCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL01haW4uaHRtbDoKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL01h
aW4uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IubG9hZGVkKToKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1Rlc3QuaHRtbDoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QvVGVzdC5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5sb2FkZWQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
UHJvdG9jb2wvSGVhcE9ic2VydmVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBPYnNl
cnZlci5wcm90b3R5cGUuZ2FyYmFnZUNvbGxlY3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
SGVhcE9ic2VydmVyKToKKyAgICAgICAgQ3JlYXRlIHRoZSBuZXcgb2JzZXJ2ZXIgYW5kIG1hbmFn
ZXIuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uZnJvbVBheWxvYWQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLnByb3RvdHlwZS5nZXQgdHlwZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24ucHJvdG90eXBlLmdldCBzdGFydFRpbWUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLnByb3RvdHlwZS5nZXQg
ZW5kVGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24ucHJvdG90
eXBlLmdldCBkdXJhdGlvbik6CisgICAgICAgIE1vZGVsIG9iamVjdCBmb3IgSGVhcC5HYXJiYWdl
Q29sbGVjdGlvbi4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSGVhcE1h
bmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcE1hbmFnZXIpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyLnByb3RvdHlwZS5nYXJiYWdlQ29sbGVjdGVkKToKKyAg
ICAgICAgRGlzcGF0Y2ggZXZlbnRzIHdpdGguCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1l
bGluZU1hbmFnZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5wcm90
b3R5cGUuX2dhcmJhZ2VDb2xsZWN0ZWQpOgorICAgICAgICBJbmNsdWRlIG5ldyBHQyBUaW1lbGlu
ZSBFdmVudHMgYXMgU2NyaXB0IGV2ZW50cy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUudXBkYXRlTGF5b3V0KToKKyAg
ICAgICAgRm9yIHRoZSBTY3JpcHQgb3ZlcnZpZXcsIG1ha2UgdHdvIHNldHMgb2YgYmFycywgb25l
IGZvciBTY3JpcHRzIGFuZCBvbmUgZm9yIEdDcy4KKyAgICAgICAgVGhlIEdDcyBiYXIgd2lsbCBi
ZSBvbiB0b3Agb2YgdGhlIHRoZSBTY3JpcHRzIGJhci4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNl
ZnVsCisgICAgICAgIHNpbmNlIGEgR0MgY2FuIGhhcHBlbiBkdXJpbmcgc2NyaXB0IGV4ZWN1dGlv
bi4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3Jp
ZE5vZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5v
ZGUucHJvdG90eXBlLmdldCBkYXRhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRUaW1l
bGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuY3JlYXRlQ2VsbENvbnRlbnQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlKToKKyAgICAgICAgR2l2ZSBh
IE5hTiBjYWxsIGNvdW50IHRvIHRvcCBsZXZlbCBTY3JpcHQgRGF0YUdyaWROb2Rlcy4KKyAgICAg
ICAgSW4gdGhlIFVJLCBkaXNwbGF5IHRoZSBlbXB0eSBwbGFjZWhvbGRlciBmb3IgTmFOIGNhbGwg
Y291bnRzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9JbWFnZXMvVGltZWxpbmVSZWNvcmRH
YXJiYWdlQ29sbGVjdGlvbi5zdmc6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9k
ZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlw
dFRpbWVsaW5lUmVjb3JkLnByb3RvdHlwZS5pc0dhcmJhZ2VDb2xsZWN0aW9uKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxheU5hbWUp
OgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVWaWV3LmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lVmlldy5wcm90b3R5cGUuX3Byb2Nl
c3NQZW5kaW5nUmVjb3Jkcyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VD
b2RlVGltZWxpbmVUcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VD
b2RlVGltZWxpbmVUcmVlRWxlbWVudCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZUljb25zLmNzczoKKyAgICAgICAgKC5nYXJiYWdlLWNvbGxlY3Rpb24tcHJvZmlsZS1y
ZWNvcmQgLmljb24pOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNv
cmRCYXIuY3NzOgorICAgICAgICAoLnRpbWVsaW5lLXJlY29yZC1iYXIudGltZWxpbmUtcmVjb3Jk
LXR5cGUtc2NyaXB0LnNjcmlwdC10aW1lbGluZS1yZWNvcmQtZ2FyYmFnZS1jb2xsZWN0ZWQgPiAu
c2VnbWVudCk6CisgICAgICAgIFVJIGZvciBHQyBldmVudHMuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkQmFyLmNyZWF0ZUNvbWJpbmVkQmFycyk6CisgICAgICAgIFNpbXBsaWZ5
IGJ5IHN0b3Jpbmcgc3RhcnQgdGltZSBpbnRvIGEgdmFyaWFibGUuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCk6CisgICAgICAgIEljb24gZm9y
IEdDIGV2ZW50cy4KKwogMjAxNS0xMC0wMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBw
bGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IERvIG5vdCBpbW1lZGlhdGVseSBjcmVh
dGUgYWxsIFByb2ZpbGVOb2RlVHJlZUVsZW1lbnRzIHdoZW4gc2hvd2luZyBKYXZhU2NyaXB0IGFu
ZCBFdmVudHMgdGltZWxpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDhj
YjZiOGMwNzQxZDk3ZTQwZWI2N2JmMjQ5MTVjY2UzMDA1YzkzYjguLjM3ZjViNmE0Y2E2YTUxOGU3
OGIwOTZlMGU5M2EyMjNlNzFmYTIyZWMgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMjM0
CnpjbVpwOyNJbyl4JVpCY1dsSXskTjNgR257S3IpPm5sfGd+UW5JV0djMk1BTHE9WlQwPG87IzVY
a0JTUS1ya2ZpbApyK0F4YWFGQGt7aC1JSnV1UmZgeCg3JjN0XyROfTFxKkZCbTZWQW0zKDhzeFQl
Qy12aDJRUXRUWAoKZGVsdGEgMjQKZ2NtWjI/bThJYmwlWkJjV25gSXslRj5YRlBTO0JtQ15KKHBQ
MEZlTC1FQzJ1aQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0Jhc2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jh
c2UvTWFpbi5qcwppbmRleCBkMDdiODc3Li4zMTIxZjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCkBAIC02OCw2ICs2OCw4IEBAIFdl
Ykluc3BlY3Rvci5sb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgICAgIEluc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJET01EaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuRE9NT2JzZXJ2ZXIpOwogICAg
IGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKQogICAgICAg
ICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKG5ldyBXZWJJbnNw
ZWN0b3IuRGVidWdnZXJPYnNlcnZlcik7CisgICAgaWYgKEluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJIZWFwRGlzcGF0Y2hlcikKKyAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckhlYXBE
aXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlckRhdGFiYXNlRGlzcGF0Y2hlcikKICAgICAgICAgSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckRhdGFiYXNlRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRhdGFi
YXNlT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NU3RvcmFn
ZURpc3BhdGNoZXIpCkBAIC0xMDgsNiArMTEwLDcgQEAgV2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1
bmN0aW9uKCkKICAgICB0aGlzLmlzc3VlTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuSXNzdWVN
YW5hZ2VyOwogICAgIHRoaXMuYW5hbHl6ZXJNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rvci5BbmFs
eXplck1hbmFnZXI7CiAgICAgdGhpcy5ydW50aW1lTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3Iu
UnVudGltZU1hbmFnZXI7CisgICAgdGhpcy5oZWFwTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3Iu
SGVhcE1hbmFnZXI7CiAgICAgdGhpcy5hcHBsaWNhdGlvbkNhY2hlTWFuYWdlciA9IG5ldyBXZWJJ
bnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZU1hbmFnZXI7CiAgICAgdGhpcy50aW1lbGluZU1hbmFn
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlcjsKICAgICB0aGlzLmRlYnVnZ2Vy
TWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcwppbmRl
eCA1Nzg3YzE4Li5iMzExNTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcwpAQCAtNDUyLDYgKzQ1MiwyMyBAQCBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAia2V5U2V0IiwKICAgICB9CiB9KTsK
IAorT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInBhcnRpdGlvbiIsCit7
CisgICAgdmFsdWU6IGZ1bmN0aW9uKGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgbGV0IHBvc2l0
aXZlID0gW107CisgICAgICAgIGxldCBuZWdhdGl2ZSA9IFtdOworICAgICAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IHRoaXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGxldCB2YWx1ZSA9IHRo
aXNbaV07CisgICAgICAgICAgICBpZiAoY2FsbGJhY2sodmFsdWUpKQorICAgICAgICAgICAgICAg
IHBvc2l0aXZlLnB1c2godmFsdWUpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
IG5lZ2F0aXZlLnB1c2godmFsdWUpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBbcG9zaXRp
dmUsIG5lZ2F0aXZlXTsKKyAgICB9Cit9KTsKKwogT2JqZWN0LmRlZmluZVByb3BlcnR5KFN0cmlu
Zy5wcm90b3R5cGUsICJ0cmltTWlkZGxlIiwKIHsKICAgICB2YWx1ZTogZnVuY3Rpb24obWF4TGVu
Z3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9IZWFwTWFuYWdlci5qcwpzaW1pbGFyaXR5IGlu
ZGV4IDY0JQpjb3B5IGZyb20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKY29weSB0byBTb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9IZWFwTWFuYWdlci5qcwppbmRleCAx
ZDM1ODBhLi5iYzNkYmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9IZWFwTWFuYWdlci5q
cwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMjMsMjggKzIzLDI3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50ID0gY2xhc3Mg
U291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVGltZWxp
bmVSZWNvcmRUcmVlRWxlbWVudAorV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyID0gY2xhc3MgSGVh
cE1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiB7Ci0gICAgY29uc3RydWN0b3Io
c291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRp
ZmllckluTWFpblRpdGxlKQorICAgIGNvbnN0cnVjdG9yKCkKICAgICB7Ci0gICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHNvdXJjZUNvZGVUaW1lbGluZSk7CisgICAgICAgIHN1cGVyKCk7CiAKLSAgICAg
ICAgc3VidGl0bGVOYW1lU3R5bGUgPSBzdWJ0aXRsZU5hbWVTdHlsZSB8fCBXZWJJbnNwZWN0b3Iu
U291cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5Ob25lOwotCi0gICAgICAgIHN1cGVyKHNvdXJj
ZUNvZGVUaW1lbGluZS5yZWNvcmRzWzBdLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVy
SWRlbnRpZmllckluTWFpblRpdGxlLCBzb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxvY2F0
aW9uLCBzb3VyY2VDb2RlVGltZWxpbmUpOwotCi0gICAgICAgIHRoaXMuX3NvdXJjZUNvZGVUaW1l
bGluZSA9IHNvdXJjZUNvZGVUaW1lbGluZTsKKyAgICAgICAgaWYgKHdpbmRvdy5IZWFwQWdlbnQp
CisgICAgICAgICAgICBIZWFwQWdlbnQuZW5hYmxlKCk7CiAgICAgfQogCiAgICAgLy8gUHVibGlj
CiAKLSAgICBnZXQgcmVjb3JkKCkKKyAgICBnYXJiYWdlQ29sbGVjdGVkKHBheWxvYWQpCiAgICAg
ewotICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwotICAgIH0KKyAgICAgICAgLy8gQ2FsbGVkIGZy
b20gV2ViSW5zcGVjdG9yLkhlYXBPYnNlcnZlci4KIAotICAgIGdldCBzb3VyY2VDb2RlVGltZWxp
bmUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGluZTsKKyAg
ICAgICAgbGV0IGNvbGxlY3Rpb24gPSBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uZnJv
bVBheWxvYWQocGF5bG9hZCk7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJz
KFdlYkluc3BlY3Rvci5IZWFwTWFuYWdlci5FdmVudC5HYXJiYWdlQ29sbGVjdGVkLCB7Y29sbGVj
dGlvbn0pOwogICAgIH0KIH07CisKK1dlYkluc3BlY3Rvci5IZWFwTWFuYWdlci5FdmVudCA9IHsK
KyAgICBHYXJiYWdlQ29sbGVjdGVkOiAiaGVhcC1tYW5hZ2VyLWdhcmJhZ2UtY29sbGVjdGVkIgor
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwppbmRleCBjZDQ0YTkzLi43MGVi
ZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250
cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzCkBAIC0zMyw2ICszMyw4
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIg
ZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIFdlYkluc3BlY3Rvci5GcmFtZS5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GcmFtZS5FdmVudC5NYWluUmVzb3VyY2VEaWRD
aGFuZ2UsIHRoaXMuX21haW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcyk7CiAgICAgICAgIFdlYklu
c3BlY3Rvci5GcmFtZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GcmFtZS5FdmVudC5S
ZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9yZXNvdXJjZVdhc0FkZGVkLCB0aGlzKTsKIAorICAgICAg
ICBXZWJJbnNwZWN0b3IuaGVhcE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
SGVhcE1hbmFnZXIuRXZlbnQuR2FyYmFnZUNvbGxlY3RlZCwgdGhpcy5fZ2FyYmFnZUNvbGxlY3Rl
ZCwgdGhpcyk7CisKICAgICAgICAgdGhpcy5fcGVyc2lzdGVudE5ldHdvcmtUaW1lbGluZSA9IG5l
dyBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5lOwogCiAgICAgICAgIHRoaXMuX2lzQ2FwdHVy
aW5nID0gZmFsc2U7CkBAIC01OTMsNiArNTk1LDE1IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1h
bmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0
CiAKICAgICAgICAgdGhpcy5fYWRkUmVjb3JkKHJlY29yZCk7CiAgICAgfQorCisgICAgX2dhcmJh
Z2VDb2xsZWN0ZWQoZXZlbnQpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX2lzQ2FwdHVyaW5n
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBjb2xsZWN0aW9uID0gZXZlbnQu
ZGF0YS5jb2xsZWN0aW9uOworICAgICAgICB0aGlzLl9hZGRSZWNvcmQobmV3IFdlYkluc3BlY3Rv
ci5TY3JpcHRUaW1lbGluZVJlY29yZChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQu
RXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQsIGNvbGxlY3Rpb24uc3RhcnRUaW1lLCBjb2xsZWN0
aW9uLmVuZFRpbWUsIG51bGwsIG51bGwsIGNvbGxlY3Rpb24pKTsKKyAgICB9CiB9OwogCiBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50ID0gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL1RpbWVsaW5lUmVjb3JkR2FyYmFnZUNv
bGxlY3Rpb24uc3ZnIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2Vz
L1RpbWVsaW5lUmVjb3JkR2FyYmFnZUNvbGxlY3Rpb24uc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjhlMTdkZjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvVGltZWxpbmVSZWNvcmRHYXJiYWdlQ29sbGVj
dGlvbi5zdmcKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1
dGYtOCI/PgorPCEtLSBDb3B5cmlnaHQgwqkgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuIC0tPgorPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij4KKyAgICA8cGF0aCBmaWxsPSJyZ2IoMjI4LCAx
OTgsIDE3MikiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAx
IDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1
IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAxMyAx
IFoiLz4KKyAgICA8cGF0aCBmaWxsPSJyZ2IoMTg2LCAxNTcsIDEzMikiIGQ9Ik0gMTMgMSBMIDMg
MSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0
MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1
IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAxMyAxIE0gMTMgMiBDIDEzLjU1MDc4MSAyIDE0
IDIuNDQ5MjE5IDE0IDMgTCAxNCAxMyBDIDE0IDEzLjU1MDc4MSAxMy41NTA3ODEgMTQgMTMgMTQg
TCAzIDE0IEMgMi40NDkyMTkgMTQgMiAxMy41NTA3ODEgMiAxMyBMIDIgMyBDIDIgMi40NDkyMTkg
Mi40NDkyMTkgMiAzIDIgTCAxMyAyIi8+CisgICAgPHBhdGggZmlsbD0icmdiKDE4NiwgMTU3LCAx
MzIpIiBkPSJNIDQuNzczNDM4IDExLjU0Mjk2OSBDIDMuODU1NDY5IDEwLjYyMTA5NCAzLjM5MDYy
NSA5LjM0NzY1NiAzLjM5MDYyNSA3Ljc2OTUzMSBDIDMuMzkwNjI1IDYuMTU2MjUgMy44NjMyODEg
NC44Nzg5MDYgNC43ODkwNjIgMy45NjQ4NDQgQyA1LjcxMDkzOCAzLjA1NDY4OCA3LjAwMzkwNiAy
LjU5Mzc1IDguNjI1IDIuNTkzNzUgQyA5LjU3MDMxMiAyLjU5Mzc1IDEwLjUxOTUzMSAyLjcwNzAz
MSAxMS40NDE0MDYgMi45Mjk2ODggQyAxMS44OTA2MjUgMy4wMzUxNTYgMTIuMjEwOTM4IDMuNDM3
NSAxMi4yMTA5MzggMy45MDIzNDQgTCAxMi4yMTA5MzggNS4xOTUzMTIgQyAxMi4yMTA5MzggNS41
MTk1MzEgMTIuMDUwNzgxIDUuODI0MjE5IDExLjc4OTA2MiA2LjAxMTcxOSBDIDExLjYxMzI4MSA2
LjEzMjgxMiAxMS40MTAxNTYgNi4xOTUzMTIgMTEuMjA3MDMxIDYuMTk1MzEyIEMgMTEuMDk3NjU2
IDYuMTk1MzEyIDEwLjk4NDM3NSA2LjE3OTY4OCAxMC44Nzg5MDYgNi4xNDA2MjUgQyAxMC4wMTU2
MjUgNS44MzU5MzggOS4zMDg1OTQgNS42ODM1OTQgOC43Njk1MzEgNS42ODM1OTQgQyA4LjA1ODU5
NCA1LjY4MzU5NCA3Ljc1MzkwNiA1Ljk0MTQwNiA3LjU4OTg0NCA2LjEzMjgxMiBDIDcuMjk2ODc1
IDYuNDc2NTYyIDcuMTQ4NDM4IDcuMDE5NTMxIDcuMTQ4NDM4IDcuNzQ2MDk0IEMgNy4xNDg0Mzgg
OC40NDUzMTIgNy4zMDg1OTQgOC45NzI2NTYgNy42MjEwOTQgOS4zMjAzMTIgQyA3LjgwODU5NCA5
LjUyMzQzOCA4LjE0ODQzOCA5Ljc5Njg3NSA4LjkyMTg3NSA5Ljc5Njg3NSBDIDkuNTQyOTY5IDku
Nzk2ODc1IDEwLjE4NzUgOS42MzI4MTIgMTAuODM5ODQ0IDkuMzA4NTk0IEMgMTAuOTgwNDY5IDku
MjQyMTg4IDExLjEzMjgxMiA5LjIwNzAzMSAxMS4yODUxNTYgOS4yMDcwMzEgQyAxMS40Njg3NSA5
LjIwNzAzMSAxMS42NDg0MzggOS4yNTc4MTIgMTEuODEyNSA5LjM1OTM3NSBDIDEyLjEwNTQ2OSA5
LjUzOTA2MiAxMi4yODUxNTYgOS44NTkzNzUgMTIuMjg1MTU2IDEwLjIwNzAzMSBMIDEyLjI4NTE1
NiAxMS40MjU3ODEgQyAxMi4yODUxNTYgMTEuODIwMzEyIDEyLjA1MDc4MSAxMi4xNzk2ODggMTEu
NjkxNDA2IDEyLjMzOTg0NCBDIDEwLjc5Mjk2OSAxMi43MzgyODEgOS43MzA0NjkgMTIuOTQxNDA2
IDguNTI3MzQ0IDEyLjk0MTQwNiBDIDYuOTU3MDMxIDEyLjk0MTQwNiA1LjY5MTQwNiAxMi40NzI2
NTYgNC43NzM0MzggMTEuNTQyOTY5Ii8+CisgICAgPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0gMTEu
Mjg1MTU2IDExLjQyNTc4MSBDIDEwLjUxNTYyNSAxMS43Njk1MzEgOS41OTc2NTYgMTEuOTQxNDA2
IDguNTI3MzQ0IDExLjk0MTQwNiBDIDcuMjI2NTYyIDExLjk0MTQwNiA2LjIxMDkzOCAxMS41NzQy
MTkgNS40ODQzNzUgMTAuODM5ODQ0IEMgNC43NTc4MTIgMTAuMTA1NDY5IDQuMzk0NTMxIDkuMDgy
MDMxIDQuMzk0NTMxIDcuNzY5NTMxIEMgNC4zOTQ1MzEgNi40Mjk2ODggNC43NTc4MTIgNS4zOTg0
MzggNS40OTIxODggNC42NzU3ODEgQyA2LjIyMjY1NiAzLjk1NzAzMSA3LjI2OTUzMSAzLjU5Mzc1
IDguNjI1IDMuNTkzNzUgQyA5LjQ5MjE4OCAzLjU5Mzc1IDEwLjM1MTU2MiAzLjY5NTMxMiAxMS4y
MTA5MzggMy45MDIzNDQgTCAxMS4yMTA5MzggNS4xOTUzMTIgQyAxMC4yMzgyODEgNC44NTU0Njkg
OS40MjU3ODEgNC42ODM1OTQgOC43Njk1MzEgNC42ODM1OTQgQyA3LjkzMzU5NCA0LjY4MzU5NCA3
LjI4NTE1NiA0Ljk0OTIxOSA2LjgzMjAzMSA1LjQ4NDM3NSBDIDYuMzc1IDYuMDE1NjI1IDYuMTQ4
NDM4IDYuNzY5NTMxIDYuMTQ4NDM4IDcuNzQ2MDk0IEMgNi4xNDg0MzggOC43MDcwMzEgNi4zOTQ1
MzEgOS40NTMxMjUgNi44ODI4MTIgOS45OTIxODggQyA3LjM3MTA5NCAxMC41MjczNDQgOC4wNTA3
ODEgMTAuNzk2ODc1IDguOTIxODc1IDEwLjc5Njg3NSBDIDkuNzAzMTI1IDEwLjc5Njg3NSAxMC40
ODgyODEgMTAuNjAxNTYyIDExLjI4NTE1NiAxMC4yMDcwMzEgWiIvPgorPC9zdmc+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKaW5kZXggYjBiNGI1OS4u
NWI0ODc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TWFpbi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4u
aHRtbApAQCAtMjI2LDYgKzIyNiw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0RPTVN0
b3JhZ2VPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0Rh
dGFiYXNlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9E
ZWJ1Z2dlck9ic2VydmVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wv
SGVhcE9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSW5z
cGVjdG9yQmFja2VuZC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0lu
c3BlY3RvckZyb250ZW5kQVBJLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9j
b2wvSW5zcGVjdG9yT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgpAQCAtMjc5LDYgKzI4MCw3IEBACiAg
ICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9FeGVjdXRpb25Db250ZXh0LmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iTW9kZWxzL0V4ZWN1dGlvbkNvbnRleHRMaXN0LmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0ZyYW1lLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHNyYz0iTW9kZWxzL0dhcmJhZ2VDb2xsZWN0aW9uLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iTW9kZWxzL0dlb21ldHJ5LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9k
ZWxzL0dyYWRpZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0luZGV4
ZWREYXRhYmFzZS5qcyI+PC9zY3JpcHQ+CkBAIC01OTksNiArNjAxLDcgQEAKICAgICA8c2NyaXB0
IHNyYz0iQ29udHJvbGxlcnMvRm9ybWF0dGVyQ29udGVudEJ1aWxkZXIuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9Gb3JtYXR0ZXJTb3VyY2VNYXAuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9GcmFtZVJlc291cmNlTWFuYWdlci5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0hlYXBNYW5hZ2VyLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvSXNzdWVNYW5hZ2VyLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvSmF2YVNjcmlwdExvZ1Zp
ZXdDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMv
SmF2YVNjcmlwdFJ1bnRpbWVDb21wbGV0aW9uUHJvdmlkZXIuanMiPjwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29k
ZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvR2FyYmFnZUNvbGxlY3Rpb24uanMKc2ltaWxhcml0eSBpbmRleCA1NyUKY29w
eSBmcm9tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNv
ZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzCmNvcHkgdG8gU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0dhcmJhZ2VDb2xsZWN0aW9uLmpzCmluZGV4IDFkMzU4MGEuLjlk
MDYzYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5qcwpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMjgg
KzIzLDU0IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2Vi
SW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50ID0gY2xhc3MgU291cmNlQ29k
ZVRpbWVsaW5lVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRU
cmVlRWxlbWVudAorV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uID0gY2xhc3MgR2FyYmFn
ZUNvbGxlY3Rpb24gZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiB7Ci0gICAgY29uc3RydWN0
b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRl
bnRpZmllckluTWFpblRpdGxlKQorICAgIGNvbnN0cnVjdG9yKHR5cGUsIHN0YXJ0VGltZSwgZW5k
VGltZSkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNvdXJjZUNvZGVUaW1lbGluZSk7
CisgICAgICAgIHN1cGVyKCk7CiAKLSAgICAgICAgc3VidGl0bGVOYW1lU3R5bGUgPSBzdWJ0aXRs
ZU5hbWVTdHlsZSB8fCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5O
b25lOworICAgICAgICBjb25zb2xlLmFzc2VydChlbmRUaW1lID4gc3RhcnRUaW1lKTsKIAotICAg
ICAgICBzdXBlcihzb3VyY2VDb2RlVGltZWxpbmUucmVjb3Jkc1swXSwgc3VidGl0bGVOYW1lU3R5
bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSwgc291cmNlQ29kZVRpbWVsaW5l
LnNvdXJjZUNvZGVMb2NhdGlvbiwgc291cmNlQ29kZVRpbWVsaW5lKTsKKyAgICAgICAgdGhpcy5f
dHlwZSA9IHR5cGU7CisgICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IHN0YXJ0VGltZTsKKyAgICAg
ICAgdGhpcy5fZW5kVGltZSA9IGVuZFRpbWU7CisgICAgfQogCi0gICAgICAgIHRoaXMuX3NvdXJj
ZUNvZGVUaW1lbGluZSA9IHNvdXJjZUNvZGVUaW1lbGluZTsKKyAgICAvLyBTdGF0aWMKKworICAg
IHN0YXRpYyBmcm9tUGF5bG9hZChwYXlsb2FkKQorICAgIHsKKyAgICAgICAgbGV0IHR5cGUgPSBX
ZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5GdWxsOworICAgICAgICBpZiAocGF5
bG9hZC50eXBlID09PSBIZWFwQWdlbnQuR2FyYmFnZUNvbGxlY3Rpb25UeXBlLlBhcnRpYWwpCisg
ICAgICAgICAgICB0eXBlID0gV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUuUGFy
dGlhbDsKKworICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlv
bih0eXBlLCBwYXlsb2FkLnN0YXJ0VGltZSwgcGF5bG9hZC5lbmRUaW1lKTsKICAgICB9CiAKICAg
ICAvLyBQdWJsaWMKIAotICAgIGdldCByZWNvcmQoKQorICAgIGdldCB0eXBlKCkKICAgICB7Ci0g
ICAgICAgIHJldHVybiB1bmRlZmluZWQ7CisgICAgICAgIHJldHVybiB0aGlzLl90eXBlOwogICAg
IH0KIAotICAgIGdldCBzb3VyY2VDb2RlVGltZWxpbmUoKQorICAgIGdldCBzdGFydFRpbWUoKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGluZTsKKyAgICAgICAg
cmV0dXJuIHRoaXMuX3N0YXJ0VGltZTsKICAgICB9CisKKyAgICBnZXQgZW5kVGltZSgpCisgICAg
eworICAgICAgICByZXR1cm4gdGhpcy5fZW5kVGltZTsKKyAgICB9CisKKyAgICBnZXQgZHVyYXRp
b24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2VuZFRpbWUgLSB0aGlzLl9zdGFydFRp
bWU7CisgICAgfQorfTsKKworV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUgPSB7
CisgICAgUGFydGlhbDogU3ltYm9sKCJQYXJ0aWFsIiksCisgICAgRnVsbDogU3ltYm9sKCJGdWxs
IikKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvU2NyaXB0VGltZWxpbmVSZWNvcmQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxpbmVSZWNvcmQuanMKaW5kZXggY2NiNmRhOC4u
ZThjNjU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qcwpAQCAtNTgsNiAr
NTgsMTEgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkID0gY2xhc3MgU2NyaXB0
VGltZWxpbmVSZWNvcmQgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgcmV0dXJuIHRoaXMuX3By
b2ZpbGU7CiAgICAgfQogCisgICAgaXNHYXJiYWdlQ29sbGVjdGlvbigpCisgICAgeworICAgICAg
ICByZXR1cm4gdGhpcy5fZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVS
ZWNvcmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQ7CisgICAgfQorCiAgICAgc2F2ZUlkZW50
aXR5VG9Db29raWUoY29va2llKQogICAgIHsKICAgICAgICAgc3VwZXIuc2F2ZUlkZW50aXR5VG9D
b29raWUoY29va2llKTsKQEAgLTE1OCwxMCArMTYzLDExIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRU
aW1lbGluZVJlY29yZC5FdmVudFR5cGUgPSB7CiAgICAgQW5pbWF0aW9uRnJhbWVGaXJlZDogInNj
cmlwdC10aW1lbGluZS1yZWNvcmQtYW5pbWF0aW9uLWZyYW1lLWZpcmVkIiwKICAgICBBbmltYXRp
b25GcmFtZVJlcXVlc3RlZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQtYW5pbWF0aW9uLWZyYW1l
LXJlcXVlc3RlZCIsCiAgICAgQW5pbWF0aW9uRnJhbWVDYW5jZWxlZDogInNjcmlwdC10aW1lbGlu
ZS1yZWNvcmQtYW5pbWF0aW9uLWZyYW1lLWNhbmNlbGVkIiwKLSAgICBDb25zb2xlUHJvZmlsZVJl
Y29yZGVkOiAic2NyaXB0LXRpbWVsaW5lLXJlY29yZC1jb25zb2xlLXByb2ZpbGUtcmVjb3JkZWQi
CisgICAgQ29uc29sZVByb2ZpbGVSZWNvcmRlZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQtY29u
c29sZS1wcm9maWxlLXJlY29yZGVkIiwKKyAgICBHYXJiYWdlQ29sbGVjdGVkOiAic2NyaXB0LXRp
bWVsaW5lLXJlY29yZC1nYXJiYWdlLWNvbGxlY3RlZCIKIH07CiAKLVdlYkluc3BlY3Rvci5TY3Jp
cHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxheU5hbWUgPSBmdW5jdGlvbihldmVudFR5
cGUsIGRldGFpbHMsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkKK1dlYkluc3Bl
Y3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxheU5hbWUgPSBmdW5jdGlv
bihldmVudFR5cGUsIGRldGFpbHMsIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRs
ZSkKIHsKICAgICBpZiAoZGV0YWlscyAmJiAhV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVj
b3JkLl9ldmVudERpc3BsYXlOYW1lcykgewogICAgICAgICAvLyBUaGVzZSBkaXNwbGF5IG5hbWVz
IGFyZSBub3QgbG9jYWxpemVkIGJlY2F1c2UgdGhleSBjbG9zZWx5IHJlcHJlc2VudApAQCAtMzM1
LDE2ICszNDEsMjcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlw
ZS5kaXNwbGF5TmFtZSA9IGZ1bmN0aW9uKGV2ZW50VHlwZSwgZGUKICAgICAgICAgaWYgKGRldGFp
bHMgJiYgKGRldGFpbHMgaW5zdGFuY2VvZiBTdHJpbmcgfHwgdHlwZW9mIGRldGFpbHMgPT09ICJz
dHJpbmciKSkKICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIuKAnCVz
4oCdIFByb2ZpbGUgUmVjb3JkZWQiKS5mb3JtYXQoZGV0YWlscyk7CiAgICAgICAgIHJldHVybiBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvbnNvbGUgUHJvZmlsZSBSZWNvcmRlZCIpOworICAgIGNh
c2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5HYXJiYWdlQ29s
bGVjdGVkOgorICAgICAgICBjb25zb2xlLmFzc2VydChkZXRhaWxzKTsKKyAgICAgICAgaWYgKGRl
dGFpbHMgJiYgKGRldGFpbHMgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rp
b24pICYmIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkgeworICAgICAgICAg
ICAgc3dpdGNoIChkZXRhaWxzLnR5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9y
LkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUuUGFydGlhbDoKKyAgICAgICAgICAgICAgICByZXR1cm4g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXJ0aWFsIEdhcmJhZ2UgQ29sbGVjdGlvbiIpOworICAg
ICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5GdWxsOgor
ICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZ1bGwgR2FyYmFn
ZSBDb2xsZWN0aW9uIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJu
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiR2FyYmFnZSBDb2xsZWN0aW9uIik7CiAgICAgY2FzZSBX
ZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyRmlyZWQ6Ci0g
ICAgICAgIGlmIChkZXRhaWxzICYmIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkK
KyAgICAgICAgaWYgKGRldGFpbHMgJiYgaW5jbHVkZURldGFpbHNJbmZvcm1hdGlvbkluTWFpblRp
dGxlKQogICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGltZXIgJXMg
RmlyZWQiKS5mb3JtYXQoZGV0YWlscyk7CiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIlRpbWVyIEZpcmVkIik7CiAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxp
bmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVySW5zdGFsbGVkOgotICAgICAgICBpZiAoZGV0YWlscyAm
JiBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0bGUpCisgICAgICAgIGlmIChkZXRhaWxz
ICYmIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkKICAgICAgICAgICAgIHJl
dHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVyICVzIEluc3RhbGxlZCIpLmZvcm1hdChk
ZXRhaWxzKTsKICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGltZXIgSW5z
dGFsbGVkIik7CiAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZl
bnRUeXBlLlRpbWVyUmVtb3ZlZDoKLSAgICAgICAgaWYgKGRldGFpbHMgJiYgaW5jbHVkZVRpbWVy
SWRlbnRpZmllckluTWFpblRpdGxlKQorICAgICAgICBpZiAoZGV0YWlscyAmJiBpbmNsdWRlRGV0
YWlsc0luZm9ybWF0aW9uSW5NYWluVGl0bGUpCiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJUaW1lciAlcyBSZW1vdmVkIikuZm9ybWF0KGRldGFpbHMpOwogICAgICAg
ICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lciBSZW1vdmVkIik7CiAgICAgY2Fz
ZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkFuaW1hdGlvbkZy
YW1lRmlyZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0hlYXBPYnNlcnZlci5qcwpzaW1pbGFyaXR5
IGluZGV4IDYyJQpjb3B5IGZyb20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKY29weSB0byBTb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanMKaW5kZXgg
MWQzNTgwYS4uZjA0YjMwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSGVhcE9ic2VydmVyLmpz
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0yMywyOCArMjMsMTIgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAq
LwogCi1XZWJJbnNwZWN0b3IuU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgPSBjbGFzcyBT
b3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJlY29yZFRyZWVFbGVtZW50CitXZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyID0gY2xhc3MgSGVh
cE9ic2VydmVyCiB7Ci0gICAgY29uc3RydWN0b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRs
ZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQotICAgIHsKLSAg
ICAgICAgY29uc29sZS5hc3NlcnQoc291cmNlQ29kZVRpbWVsaW5lKTsKLQotICAgICAgICBzdWJ0
aXRsZU5hbWVTdHlsZSA9IHN1YnRpdGxlTmFtZVN0eWxlIHx8IFdlYkluc3BlY3Rvci5Tb3VyY2VD
b2RlTG9jYXRpb24uTmFtZVN0eWxlLk5vbmU7Ci0KLSAgICAgICAgc3VwZXIoc291cmNlQ29kZVRp
bWVsaW5lLnJlY29yZHNbMF0sIHN1YnRpdGxlTmFtZVN0eWxlLCBpbmNsdWRlVGltZXJJZGVudGlm
aWVySW5NYWluVGl0bGUsIHNvdXJjZUNvZGVUaW1lbGluZS5zb3VyY2VDb2RlTG9jYXRpb24sIHNv
dXJjZUNvZGVUaW1lbGluZSk7Ci0KLSAgICAgICAgdGhpcy5fc291cmNlQ29kZVRpbWVsaW5lID0g
c291cmNlQ29kZVRpbWVsaW5lOwotICAgIH0KLQotICAgIC8vIFB1YmxpYwotCi0gICAgZ2V0IHJl
Y29yZCgpCi0gICAgewotICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwotICAgIH0KKyAgICAvLyBF
dmVudHMgZGVmaW5lZCBieSB0aGUgIkhlYXAiIGRvbWFpbi4KIAotICAgIGdldCBzb3VyY2VDb2Rl
VGltZWxpbmUoKQorICAgIGdhcmJhZ2VDb2xsZWN0ZWQoY29sbGVjdGlvbikKICAgICB7Ci0gICAg
ICAgIHJldHVybiB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmU7CisgICAgICAgIFdlYkluc3BlY3Rv
ci5oZWFwTWFuYWdlci5nYXJiYWdlQ29sbGVjdGVkKGNvbGxlY3Rpb24pOwogICAgIH0KIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKaW5kZXggYmZj
OWQwNy4uMTFkNmQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVGVzdC5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1Rlc3QuaHRtbApAQCAtNjIsNiArNjIsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9E
T01PYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0RPTVN0
b3JhZ2VPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0Rl
YnVnZ2VyT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9I
ZWFwT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9OZXR3
b3JrT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9QYWdl
T2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9SZW1vdGVP
YmplY3QuanMiPjwvc2NyaXB0PgpAQCAtOTcsNiArOTgsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJN
b2RlbHMvRXhlY3V0aW9uQ29udGV4dC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1v
ZGVscy9FeGVjdXRpb25Db250ZXh0TGlzdC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9
Ik1vZGVscy9GcmFtZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HYXJi
YWdlQ29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HZW9t
ZXRyeS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9JbmRleGVkRGF0YWJh
c2UuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvSW5kZXhlZERhdGFiYXNl
T2JqZWN0U3RvcmUuanMiPjwvc2NyaXB0PgpAQCAtMTQwLDYgKzE0Miw3IEBACiAgICAgPHNjcmlw
dCBzcmM9IkNvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHNyYz0iQ29udHJvbGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRnJhbWVSZXNvdXJjZU1hbmFnZXIuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9IZWFwTWFuYWdlci5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0lzc3VlTWFuYWdlci5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0xvZ01hbmFnZXIuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9Qcm9iZU1hbmFnZXIuanMiPjwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzCmlu
ZGV4IDdiMjhkNTUuLmM5OWJlOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1Rlc3QvVGVzdC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9UZXN0L1Rlc3QuanMKQEAgLTQxLDYgKzQxLDcgQEAgV2ViSW5zcGVjdG9yLmxv
YWRlZCA9IGZ1bmN0aW9uKCkKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0
Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRPTU9ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyTmV0d29ya0Rpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5OZXR3b3JrT2JzZXJ2
ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEZWJ1Z2dlckRpc3BhdGNoZXIobmV3
IFdlYkluc3BlY3Rvci5EZWJ1Z2dlck9ic2VydmVyKTsKKyAgICBJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVySGVhcERpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5IZWFwT2JzZXJ2ZXIpOwogICAg
IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJUaW1lbGluZURpc3BhdGNoZXIobmV3IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU9ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ1NT
RGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkNTU09ic2VydmVyKTsKICAgICBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyUnVudGltZURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5SdW50aW1l
T2JzZXJ2ZXIpOwpAQCAtNTQsNiArNTUsNyBAQCBXZWJJbnNwZWN0b3IubG9hZGVkID0gZnVuY3Rp
b24oKQogICAgIHRoaXMubG9nTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuTG9nTWFuYWdlcjsK
ICAgICB0aGlzLmlzc3VlTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuSXNzdWVNYW5hZ2VyOwog
ICAgIHRoaXMucnVudGltZU1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlJ1bnRpbWVNYW5hZ2Vy
OworICAgIHRoaXMuaGVhcE1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyOwog
ICAgIHRoaXMudGltZWxpbmVNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFn
ZXI7CiAgICAgdGhpcy5kZWJ1Z2dlck1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2Vy
TWFuYWdlcjsKICAgICB0aGlzLnByb2JlTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuUHJvYmVN
YW5hZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcwppbmRl
eCAwMzU0MDQyLi4xNmFmODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFH
cmlkTm9kZS5qcwpAQCAtNzcsOCArNzcsMTUgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5l
RGF0YUdyaWROb2RlID0gY2xhc3MgU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW4KICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIHJldHVybiB7ZXZlbnRUeXBlOiB0aGlz
Ll9yZWNvcmQuZXZlbnRUeXBlLCBzdGFydFRpbWUsIHNlbGZUaW1lOiBkdXJhdGlvbiwgdG90YWxU
aW1lOiBkdXJhdGlvbiwKLSAgICAgICAgICAgIGF2ZXJhZ2VUaW1lOiBkdXJhdGlvbiwgY2FsbENv
dW50OiAxLCBsb2NhdGlvbjogY2FsbEZyYW1lT3JTb3VyY2VDb2RlTG9jYXRpb259OworICAgICAg
ICByZXR1cm4geworICAgICAgICAgICAgZXZlbnRUeXBlOiB0aGlzLl9yZWNvcmQuZXZlbnRUeXBl
LAorICAgICAgICAgICAgc3RhcnRUaW1lLAorICAgICAgICAgICAgc2VsZlRpbWU6IGR1cmF0aW9u
LAorICAgICAgICAgICAgdG90YWxUaW1lOiBkdXJhdGlvbiwKKyAgICAgICAgICAgIGF2ZXJhZ2VU
aW1lOiBkdXJhdGlvbiwKKyAgICAgICAgICAgIGNhbGxDb3VudDogTmFOLAorICAgICAgICAgICAg
bG9jYXRpb246IGNhbGxGcmFtZU9yU291cmNlQ29kZUxvY2F0aW9uCisgICAgICAgIH07CiAgICAg
fQogCiAgICAgdXBkYXRlUmFuZ2VUaW1lcyhzdGFydFRpbWUsIGVuZFRpbWUpCkBAIC0xMjQsNiAr
MTMxLDkgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3Mg
U2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW4KICAgICAgICAgY2FzZSAidG90YWxUaW1l
IjoKICAgICAgICAgY2FzZSAiYXZlcmFnZVRpbWUiOgogICAgICAgICAgICAgcmV0dXJuIGlzTmFO
KHZhbHVlKSA/IGVtcHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZyA6IE51bWJlci5zZWNvbmRzVG9T
dHJpbmcodmFsdWUsIHRydWUpOworCisgICAgICAgIGNhc2UgImNhbGxDb3VudCI6CisgICAgICAg
ICAgICByZXR1cm4gaXNOYU4odmFsdWUpID8gZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5nIDog
dmFsdWU7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gc3VwZXIuY3JlYXRlQ2VsbENvbnRl
bnQoY29sdW1uSWRlbnRpZmllciwgY2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGlu
ZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggNzFlZTlhMS4uNDUxYTRmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVPdmVy
dmlld0dyYXBoLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwpAQCAtNzMsNyArNzMsMTEgQEAgV2Vi
SW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFNjcmlwdFRpbWVs
aW5lT3ZlcnZpZXdHcmFwaCBleHQKICAgICAgICAgICAgICsrcmVjb3JkQmFySW5kZXg7CiAgICAg
ICAgIH0KIAotICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRCYXIuY3JlYXRlQ29t
YmluZWRCYXJzKHRoaXMuX3NjcmlwdFRpbWVsaW5lLnJlY29yZHMsIHNlY29uZHNQZXJQaXhlbCwg
dGhpcywgY3JlYXRlQmFyLmJpbmQodGhpcykpOworICAgICAgICAvLyBDcmVhdGUgYmFycyBmb3Ig
bm9uLUdDIHJlY29yZHMgYW5kIEdDIHJlY29yZHMuCisgICAgICAgIGxldCBbZ2NSZWNvcmRzLCBu
b25HQ1JlY29yZHNdID0gdGhpcy5fc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5wYXJ0aXRpb24oKHgp
ID0+IHguaXNHYXJiYWdlQ29sbGVjdGlvbigpKTsKKyAgICAgICAgbGV0IGJvdW5kQ3JlYXRlQmFy
ID0gY3JlYXRlQmFyLmJpbmQodGhpcyk7CisgICAgICAgIFdlYkluc3BlY3Rvci5UaW1lbGluZVJl
Y29yZEJhci5jcmVhdGVDb21iaW5lZEJhcnMobm9uR0NSZWNvcmRzLCBzZWNvbmRzUGVyUGl4ZWws
IHRoaXMsIGJvdW5kQ3JlYXRlQmFyKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkQmFyLmNyZWF0ZUNvbWJpbmVkQmFycyhnY1JlY29yZHMsIHNlY29uZHNQZXJQaXhlbCwgdGhp
cywgYm91bmRDcmVhdGVCYXIpOwogCiAgICAgICAgIC8vIFJlbW92ZSB0aGUgcmVtYWluaW5nIHVu
dXNlZCBUaW1lbGluZVJlY29yZEJhcnMuCiAgICAgICAgIGZvciAoOyByZWNvcmRCYXJJbmRleCA8
IHRoaXMuX3RpbWVsaW5lUmVjb3JkQmFycy5sZW5ndGg7ICsrcmVjb3JkQmFySW5kZXgpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Njcmlw
dFRpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NjcmlwdFRpbWVsaW5lVmlldy5qcwppbmRleCA5ZjVlMTM1Li43ZWE1MTgxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1l
bGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU2NyaXB0VGltZWxpbmVWaWV3LmpzCkBAIC0yMjksNiArMjI5LDEwIEBAIFdlYkluc3BlY3Rv
ci5TY3JpcHRUaW1lbGluZVZpZXcgPSBjbGFzcyBTY3JpcHRUaW1lbGluZVZpZXcgZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuCiAgICAgICAgIGlmICghdGhpcy5fcGVuZGluZ1JlY29yZHMubGVuZ3RoKQog
ICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgIHZhciB6ZXJvVGltZSA9IHRoaXMuemVyb1Rp
bWU7CisgICAgICAgIHZhciBzdGFydFRpbWUgPSB0aGlzLnN0YXJ0VGltZTsKKyAgICAgICAgdmFy
IGVuZFRpbWUgPSB0aGlzLmVuZFRpbWU7CisKICAgICAgICAgZm9yICh2YXIgc2NyaXB0VGltZWxp
bmVSZWNvcmQgb2YgdGhpcy5fcGVuZGluZ1JlY29yZHMpIHsKICAgICAgICAgICAgIHZhciByb290
Tm9kZXMgPSBbXTsKICAgICAgICAgICAgIGlmIChzY3JpcHRUaW1lbGluZVJlY29yZC5wcm9maWxl
KSB7CkBAIC0yMzYsMTUgKzI0MCwxMSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3
ID0gY2xhc3MgU2NyaXB0VGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogICAgICAg
ICAgICAgICAgIHJvb3ROb2RlcyA9IHNjcmlwdFRpbWVsaW5lUmVjb3JkLnByb2ZpbGUudG9wRG93
blJvb3ROb2RlczsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgdmFyIHplcm9UaW1lID0g
dGhpcy56ZXJvVGltZTsKLSAgICAgICAgICAgIHZhciB0cmVlRWxlbWVudCA9IG5ldyBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudChzY3JpcHRUaW1lbGluZVJlY29yZCwgV2Vi
SW5zcGVjdG9yLlNvdXJjZUNvZGVMb2NhdGlvbi5OYW1lU3R5bGUuU2hvcnQsIHJvb3ROb2Rlcy5s
ZW5ndGgpOworICAgICAgICAgICAgdmFyIHRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZFRyZWVFbGVtZW50KHNjcmlwdFRpbWVsaW5lUmVjb3JkLCBXZWJJbnNwZWN0
b3IuU291cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5TaG9ydCwgdHJ1ZSk7CiAgICAgICAgICAg
ICB2YXIgZGF0YUdyaWROb2RlID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFH
cmlkTm9kZShzY3JpcHRUaW1lbGluZVJlY29yZCwgemVyb1RpbWUpOwogCiAgICAgICAgICAgICB0
aGlzLl9kYXRhR3JpZC5hZGRSb3dJblNvcnRPcmRlcih0cmVlRWxlbWVudCwgZGF0YUdyaWROb2Rl
KTsKIAotICAgICAgICAgICAgdmFyIHN0YXJ0VGltZSA9IHRoaXMuc3RhcnRUaW1lOwotICAgICAg
ICAgICAgdmFyIGVuZFRpbWUgPSB0aGlzLmVuZFRpbWU7Ci0KICAgICAgICAgICAgIGZvciAodmFy
IHByb2ZpbGVOb2RlIG9mIHJvb3ROb2RlcykgewogICAgICAgICAgICAgICAgIHZhciBwcm9maWxl
Tm9kZVRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZVRyZWVFbGVtZW50
KHByb2ZpbGVOb2RlLCB0aGlzKTsKICAgICAgICAgICAgICAgICB2YXIgcHJvZmlsZU5vZGVEYXRh
R3JpZE5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlKHByb2Zp
bGVOb2RlLCB6ZXJvVGltZSwgc3RhcnRUaW1lLCBlbmRUaW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRy
ZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKaW5kZXggMWQzNTgwYS4uNTk3YTczOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291
cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKQEAg
LTI1LDEzICsyNSwxMyBAQAogCiBXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRpbWVsaW5lVHJlZUVs
ZW1lbnQgPSBjbGFzcyBTb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCBleHRlbmRzIFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50CiB7Ci0gICAgY29uc3RydWN0b3Ioc291
cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmll
ckluTWFpblRpdGxlKQorICAgIGNvbnN0cnVjdG9yKHNvdXJjZUNvZGVUaW1lbGluZSwgc3VidGl0
bGVOYW1lU3R5bGUsIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkKICAgICB7
CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNvdXJjZUNvZGVUaW1lbGluZSk7CiAKICAgICAgICAg
c3VidGl0bGVOYW1lU3R5bGUgPSBzdWJ0aXRsZU5hbWVTdHlsZSB8fCBXZWJJbnNwZWN0b3IuU291
cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5Ob25lOwogCi0gICAgICAgIHN1cGVyKHNvdXJjZUNv
ZGVUaW1lbGluZS5yZWNvcmRzWzBdLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRl
bnRpZmllckluTWFpblRpdGxlLCBzb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9u
LCBzb3VyY2VDb2RlVGltZWxpbmUpOworICAgICAgICBzdXBlcihzb3VyY2VDb2RlVGltZWxpbmUu
cmVjb3Jkc1swXSwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25J
bk1haW5UaXRsZSwgc291cmNlQ29kZVRpbWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbiwgc291cmNl
Q29kZVRpbWVsaW5lKTsKIAogICAgICAgICB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmUgPSBzb3Vy
Y2VDb2RlVGltZWxpbmU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVJY29ucy5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcwppbmRleCA0OWIxZjRi
Li5mMGVhMjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcwpAQCAtMTAzLDYgKzEwMywxMCBAQAog
ICAgIGNvbnRlbnQ6IHVybCguLi9JbWFnZXMvVGltZWxpbmVSZWNvcmRDb25zb2xlUHJvZmlsZS5z
dmcpOwogfQogCisuZ2FyYmFnZS1jb2xsZWN0aW9uLXByb2ZpbGUtcmVjb3JkIC5pY29uIHsKKyAg
ICBjb250ZW50OiB1cmwoLi4vSW1hZ2VzL1RpbWVsaW5lUmVjb3JkR2FyYmFnZUNvbGxlY3Rpb24u
c3ZnKTsKK30KKwogLnRpbWVyLXJlY29yZCAuaWNvbiB7CiAgICAgY29udGVudDogdXJsKC4uL0lt
YWdlcy9UaW1lbGluZVJlY29yZFRpbWVyLnN2Zyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5jc3MgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJh
ci5jc3MKaW5kZXggNDVkNWRmZS4uNDZiYmVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuY3NzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFy
LmNzcwpAQCAtOTgsMyArOTgsOCBAQAogICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgyNjksIDY1
JSwgNzQlKTsKICAgICBib3JkZXItY29sb3I6IGhzbCgyNzMsIDMzJSwgNTglKTsKIH0KKworLnRp
bWVsaW5lLXJlY29yZC1iYXIudGltZWxpbmUtcmVjb3JkLXR5cGUtc2NyaXB0LnNjcmlwdC10aW1l
bGluZS1yZWNvcmQtZ2FyYmFnZS1jb2xsZWN0ZWQgPiAuc2VnbWVudCB7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogaHNsKDIzLCA2OSUsIDczJSk7CisgICAgYm9yZGVyLWNvbG9yOiBoc2woMTEsIDU0
JSwgNjIlKTsgICAgCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzCmluZGV4IDY0OTIxOTEu
LmVkN2IwNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzCkBAIC0xMzQsMjEgKzEzNCwy
MyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRCYXIgPSBjbGFzcyBUaW1lbGluZVJlY29y
ZEJhciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYgogICAgICAgICB2YXIgc3RhcnRUaW1lUHJvcGVy
dHkgPSB1c2VzQWN0aXZlU3RhcnRUaW1lID8gImFjdGl2ZVN0YXJ0VGltZSIgOiAic3RhcnRUaW1l
IjsKIAogICAgICAgICBmb3IgKHZhciByZWNvcmQgb2YgdmlzaWJsZVJlY29yZHMpIHsKKyAgICAg
ICAgICAgIHZhciBzdGFydFRpbWUgPSByZWNvcmRbc3RhcnRUaW1lUHJvcGVydHldOworCiAgICAg
ICAgICAgICAvLyBDaGVjayBpZiB0aGUgcHJldmlvdXMgcmVjb3JkIGlzIGZhciBlbm91Z2ggYXdh
eSB0byBjcmVhdGUgdGhlIGFjdGl2ZSBiYXIuIFdlIGFsc28gY3JlYXRlIGl0IG5vdyBpZiB0aGUg
Y3VycmVudCByZWNvcmQgaGFzIG5vIGFjdGl2ZSBzdGF0ZSB0aW1lLgotICAgICAgICAgICAgaWYg
KCFpc05hTihhY3RpdmVTdGFydFRpbWUpICYmIChhY3RpdmVTdGFydFRpbWUgKyBNYXRoLm1heChh
Y3RpdmVFbmRUaW1lIC0gYWN0aXZlU3RhcnRUaW1lLCBtaW5pbXVtRHVyYXRpb24pICsgbWluaW11
bU1hcmdpbiA8PSByZWNvcmRbc3RhcnRUaW1lUHJvcGVydHldCi0gICAgICAgICAgICAgICAgfHwg
KGlzTmFOKHJlY29yZFtzdGFydFRpbWVQcm9wZXJ0eV0pICYmICFpc05hTihhY3RpdmVFbmRUaW1l
KSkpKSB7CisgICAgICAgICAgICBpZiAoIWlzTmFOKGFjdGl2ZVN0YXJ0VGltZSkgJiYgKGFjdGl2
ZVN0YXJ0VGltZSArIE1hdGgubWF4KGFjdGl2ZUVuZFRpbWUgLSBhY3RpdmVTdGFydFRpbWUsIG1p
bmltdW1EdXJhdGlvbikgKyBtaW5pbXVtTWFyZ2luIDw9IHN0YXJ0VGltZQorICAgICAgICAgICAg
ICAgIHx8IChpc05hTihzdGFydFRpbWUpICYmICFpc05hTihhY3RpdmVFbmRUaW1lKSkpKSB7CiAg
ICAgICAgICAgICAgICAgY3JlYXRlQmFyQ2FsbGJhY2soYWN0aXZlUmVjb3JkcywgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUmVjb3JkQmFyLlJlbmRlck1vZGUuQWN0aXZlT25seSk7CiAgICAgICAgICAg
ICAgICAgYWN0aXZlUmVjb3JkcyA9IFtdOwogICAgICAgICAgICAgICAgIGFjdGl2ZVN0YXJ0VGlt
ZSA9IE5hTjsKICAgICAgICAgICAgICAgICBhY3RpdmVFbmRUaW1lID0gTmFOOwogICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBpZiAoaXNOYU4ocmVjb3JkW3N0YXJ0VGltZVByb3BlcnR5XSkp
CisgICAgICAgICAgICBpZiAoaXNOYU4oc3RhcnRUaW1lKSkKICAgICAgICAgICAgICAgICBjb250
aW51ZTsKIAogICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIG5ldyBiYXIsIHBlZyB0aGUgc3Rh
cnQgdGltZS4KICAgICAgICAgICAgIGlmIChpc05hTihhY3RpdmVTdGFydFRpbWUpKQotICAgICAg
ICAgICAgICAgIGFjdGl2ZVN0YXJ0VGltZSA9IHJlY29yZFtzdGFydFRpbWVQcm9wZXJ0eV07Cisg
ICAgICAgICAgICAgICAgYWN0aXZlU3RhcnRUaW1lID0gc3RhcnRUaW1lOwogCiAgICAgICAgICAg
ICAvLyBVcGRhdGUgdGhlIGVuZCB0aW1lIHRvIGJlIHRoZSBtYXhpbXVtIHdlIGVuY291bnRlci4g
YWN0aXZlRW5kVGltZSBtaWdodCBiZSBOYU4sIHNvICJ8fCAwIiB0byBwcmV2ZW50IE1hdGgubWF4
IGZyb20gcmV0dXJuaW5nIE5hTi4KICAgICAgICAgICAgIGlmICghaXNOYU4ocmVjb3JkLmVuZFRp
bWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanMKaW5kZXggZDMx
MWY0Yi4uOGU1OGNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50
LmpzCkBAIC0yNSw3ICsyNSw3IEBACiAKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVF
bGVtZW50ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3Bl
Y3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQKIHsKLSAgICBjb25zdHJ1Y3Rvcih0aW1lbGluZVJlY29y
ZCwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSwg
c291cmNlQ29kZUxvY2F0aW9uLCByZXByZXNlbnRlZE9iamVjdCkKKyAgICBjb25zdHJ1Y3Rvcih0
aW1lbGluZVJlY29yZCwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRp
b25Jbk1haW5UaXRsZSwgc291cmNlQ29kZUxvY2F0aW9uLCByZXByZXNlbnRlZE9iamVjdCkKICAg
ICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVsaW5lUmVjb3JkKTsKIApAQCAtNzIsNyAr
NzIsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCA9IGNsYXNzIFRp
bWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQgZXh0ZW5kcwogICAgICAgICAgICAgYnJlYWs7CiAKICAg
ICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQ6Ci0gICAg
ICAgICAgICB0aXRsZSA9IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5
cGUuZGlzcGxheU5hbWUodGltZWxpbmVSZWNvcmQuZXZlbnRUeXBlLCB0aW1lbGluZVJlY29yZC5k
ZXRhaWxzLCBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0bGUpOworICAgICAgICAgICAg
dGl0bGUgPSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLmRpc3Bs
YXlOYW1lKHRpbWVsaW5lUmVjb3JkLmV2ZW50VHlwZSwgdGltZWxpbmVSZWNvcmQuZGV0YWlscywg
aW5jbHVkZURldGFpbHNJbmZvcm1hdGlvbkluTWFpblRpdGxlKTsKIAogICAgICAgICAgICAgc3dp
dGNoICh0aW1lbGluZVJlY29yZC5ldmVudFR5cGUpIHsKICAgICAgICAgICAgIGNhc2UgV2ViSW5z
cGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5TY3JpcHRFdmFsdWF0ZWQ6CkBA
IC04Nyw2ICs4Nyw5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50ID0g
Y2xhc3MgVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCBleHRlbmRzCiAgICAgICAgICAgICBjYXNl
IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuQ29uc29sZVByb2Zp
bGVSZWNvcmRlZDoKICAgICAgICAgICAgICAgICBpY29uU3R5bGVDbGFzcyA9IFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkNvbnNvbGVQcm9maWxlSWNvblN0eWxlQ2xhc3M7
CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5T
Y3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuR2FyYmFnZUNvbGxlY3RlZDoKKyAgICAgICAg
ICAgICAgICBpY29uU3R5bGVDbGFzcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVF
bGVtZW50LkdhcmJhZ2VDb2xsZWN0aW9uSWNvblN0eWxlQ2xhc3M7CisgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29y
ZC5FdmVudFR5cGUuVGltZXJGaXJlZDoKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNj
cmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1lckluc3RhbGxlZDoKICAgICAgICAgICAg
IGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1lclJl
bW92ZWQ6CkBAIC0xNjgsMyArMTcxLDQgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJl
ZUVsZW1lbnQuVGltZXJSZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJ0aW1lci1yZWNvcmQKIFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkFuaW1hdGlvblJlY29yZEljb25TdHls
ZUNsYXNzID0gImFuaW1hdGlvbi1yZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
VHJlZUVsZW1lbnQuUHJvYmVSZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJwcm9iZS1yZWNvcmQiOwog
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuQ29uc29sZVByb2ZpbGVJY29u
U3R5bGVDbGFzcyA9ICJjb25zb2xlLXByb2ZpbGUtcmVjb3JkIjsKK1dlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZFRyZWVFbGVtZW50LkdhcmJhZ2VDb2xsZWN0aW9uSWNvblN0eWxlQ2xhc3MgPSAi
Z2FyYmFnZS1jb2xsZWN0aW9uLXByb2ZpbGUtcmVjb3JkIjsK
</data>
<flag name="review"
          id="287498"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262344</attachid>
            <date>2015-10-02 11:31:20 -0700</date>
            <delta_ts>2015-10-14 18:54:10 -0700</delta_ts>
            <desc>[PATCH] For Bots</desc>
            <filename>for-landing-2.patch</filename>
            <type>text/plain</type>
            <size>81228</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMDk4OGUyLi4xYjY5ZDIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMTAt
MDIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBJbmNsdWRlIEdhcmJhZ2UgQ29sbGVjdGlvbiBFdmVudCBpbiBUaW1lbGluZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvaGVhcC9nYXJiYWdlQ29sbGVjdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9oZWFwL2djLmh0bWw6IEFkZGVkLgorCiAyMDE1LTEwLTAxICBEZWFuIEphY2tzb24gIDxkaW5v
QGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2UgV0VCR0xfZGVidWdfcmVuZGVyZXJfaW5mbwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYXJiYWdlQ29sbGVjdGVk
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYThjN2Zl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNv
bGxlY3RlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0IGZvciB0aGUgSGVhcC5n
YXJiYWdlQ29sbGVjdGVkIGV2ZW50LgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogSGVhcC5n
YXJiYWdlQ29sbGVjdGVkCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVHJpZ2dlckdDcworUEFTUzog
U2hvdWxkIHNlZSBib3RoIGEgUGFydGlhbCBhbmQgRnVsbCBHYXJiYWdlIENvbGxlY3Rpb24uCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2dhcmJhZ2VDb2xsZWN0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2dhcmJhZ2VDb2xsZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Nzg1MDdhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sCkBA
IC0wLDAgKzEsNjggQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRyaWdnZXJHQ3MoKQoreworICAgIGZ1
bmN0aW9uIGFsbG9jYXRlT2JqZWN0cygpIHsKKyAgICAgICAgdmFyIGxpc3QgPSBbXTsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsraSkKKyAgICAgICAgICAgIGxpc3QucHVzaCh7
eDppfSk7CisgICAgICAgIHJldHVybiBsaXN0OworICAgIH0KKworICAgIGZ1bmN0aW9uIGFsbG9j
YXRlTGFyZ2VMaXN0KCkgeworICAgICAgICB2YXIgbGFyZ2VMaXN0ID0gW107CisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpCisgICAgICAgICAgICBsYXJnZUxpc3QucHVzaChh
bGxvY2F0ZU9iamVjdHMoKSk7CisgICAgICAgIHJldHVybiBsYXJnZUxpc3Q7CisgICAgfQorCisg
ICAgdmFyIHBhcnRpYWxMaXN0ID0gW107CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsr
aSkKKyAgICAgICAgcGFydGlhbExpc3QucHVzaChhbGxvY2F0ZUxhcmdlTGlzdCgpKTsKK30KKwor
ZnVuY3Rpb24gcGVyaW9kaWNhbGx5VHJpZ2dlckdDcygpCit7CisgICAgc2V0SW50ZXJ2YWwodHJp
Z2dlckdDcywgMjApOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJ
bnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIkhlYXAuZ2FyYmFnZUNvbGxlY3RlZCIpOwor
CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVHJpZ2dlckdDcyIsCisg
ICAgICAgIGRlc2NyaXB0aW9uOiAiRXZhbHVhdGluZyBhbGxvY2F0aW9uIGhlYXZ5IEphdmFTY3Jp
cHQgc2hvdWxkIHRyaWdnZXIgSGVhcC5nYXJiYWdlQ29sbGVjdGVkIGV2ZW50cy4iLAorICAgICAg
ICB0ZXN0OiAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJwZXJpb2RpY2FsbHlUcmlnZ2VyR0NzKCkiKTsKKworICAgICAgICAg
ICAgbGV0IHNlZW5GdWxsID0gZmFsc2U7CisgICAgICAgICAgICBsZXQgc2VlblBhcnRpYWwgPSBm
YWxzZTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5oZWFwTWFuYWdlci5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5IZWFwTWFuYWdlci5FdmVudC5HYXJiYWdlQ29sbGVjdGVkLCAoZXZl
bnQpID0+IHsKKyAgICAgICAgICAgICAgICBpZiAoc2VlbkZ1bGwgJiYgc2VlblBhcnRpYWwpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgIGlmIChldmVudC5k
YXRhLmNvbGxlY3Rpb24udHlwZSA9PT0gV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5
cGUuRnVsbCkKKyAgICAgICAgICAgICAgICAgICAgc2VlbkZ1bGwgPSB0cnVlOworICAgICAgICAg
ICAgICAgIGVsc2UgaWYgKGV2ZW50LmRhdGEuY29sbGVjdGlvbi50eXBlID09PSBXZWJJbnNwZWN0
b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5QYXJ0aWFsKQorICAgICAgICAgICAgICAgICAgICBz
ZWVuUGFydGlhbCA9IHRydWU7CisKKyAgICAgICAgICAgICAgICBpZiAoc2VlbkZ1bGwgJiYgc2Vl
blBhcnRpYWwpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6
IFNob3VsZCBzZWUgYm90aCBhIFBhcnRpYWwgYW5kIEZ1bGwgR2FyYmFnZSBDb2xsZWN0aW9uLiIp
OworICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNl
c0FuZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Cis8cD5UZXN0IGZvciB0aGUgSGVhcC5nYXJiYWdlQ29sbGVjdGVkIGV2ZW50LjwvcD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFw
L2djLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2djLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDA2MjIzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2MtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsOCBAQAorVGVzdCBmb3IgdGhlIEhlYXAuZ2MgY29tbWFuZC4KKworCis9PSBSdW5u
aW5nIHRlc3Qgc3VpdGU6IEhlYXAuZ2MKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUcmlnZ2VyR0NT
aG91bGRDcmVhdGVHQ0V2ZW50CitQQVNTOiBFdmVudCBzaG91bGQgaGF2ZSBHYXJiYWdlQ29sbGVj
dGlvbiBkYXRhLgorUEFTUzogR2FyYmFnZUNvbGxlY3Rpb24gdHlwZSBzaG91bGQgYmUgRnVsbC4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2MuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9oZWFwL2djLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZDNjMGU2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9oZWFwL2djLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
cy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJIZWFw
LmdjIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUcmlnZ2Vy
R0NTaG91bGRDcmVhdGVHQ0V2ZW50IiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDYWxsaW5nIEhl
YXAuZ2Mgc2hvdWxkIHRyaWdnZXIgSGVhcC5nYXJiYWdlQ29sbGVjdGVkIGV2ZW50IGlmIGVuYWJs
ZWQuIiwKKyAgICAgICAgdGVzdDogKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAg
SGVhcEFnZW50LmdjKCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuaGVhcE1hbmFnZXIuc2lu
Z2xlRmlyZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyLkV2ZW50LkdhcmJh
Z2VDb2xsZWN0ZWQsIChldmVudCkgPT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0VGhhdChldmVudC5kYXRhLmNvbGxlY3Rpb24gaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3Iu
R2FyYmFnZUNvbGxlY3Rpb24sICJFdmVudCBzaG91bGQgaGF2ZSBHYXJiYWdlQ29sbGVjdGlvbiBk
YXRhLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChldmVudC5k
YXRhLmNvbGxlY3Rpb24udHlwZSA9PT0gV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5
cGUuRnVsbCwgIkdhcmJhZ2VDb2xsZWN0aW9uIHR5cGUgc2hvdWxkIGJlIEZ1bGwuIik7CisgICAg
ICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9
KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0IGZvciB0aGUgSGVhcC5n
YyBjb21tYW5kLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCBkNjcxZTUwLi5iZTUwMzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC0zNDcsNiArMzQ3LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMK
ICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKyAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvckhl
YXBBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5j
cHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcAog
ICAgIGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcApAQCAt
MTAyNiw2ICsxMDI3LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9ET01BSU5TCiAg
ICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9wcm90b2NvbC9EYXRhYmFzZS5qc29u
CiAgICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9wcm90b2NvbC9EZWJ1Z2dlci5q
c29uCiAgICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9wcm90b2NvbC9HZW5lcmlj
VHlwZXMuanNvbgorICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9jb2wv
SGVhcC5qc29uCiAgICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9wcm90b2NvbC9J
bnNwZWN0b3IuanNvbgogICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9j
b2wvTGF5ZXJUcmVlLmpzb24KICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL3By
b3RvY29sL05ldHdvcmsuanNvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNmRlMjMwYy4u
MTIwYzU0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTUt
MTAtMDIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBJbmNsdWRlIEdhcmJhZ2UgQ29sbGVjdGlvbiBFdmVudCBpbiBUaW1lbGlu
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTEw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgKiBoZWFw
L0hlYXBPYnNlcnZlci5oOiAgICAgICAgCisgICAgICAgICogaGVhcC9IZWFwLmNwcDoKKyAgICAg
ICAgKEpTQzo6SGVhcDo6d2lsbFN0YXJ0Q29sbGVjdGlvbik6CisgICAgICAgIChKU0M6OkhlYXA6
OmRpZEZpbmlzaENvbGxlY3Rpb24pOgorICAgICAgICAqIGhlYXAvSGVhcC5oOgorICAgICAgICAo
SlNDOjpIZWFwOjphZGRPYnNlcnZlcik6CisgICAgICAgIChKU0M6OkhlYXA6OnJlbW92ZU9ic2Vy
dmVyKToKKyAgICAgICAgQWxsb3cgb2JzZXJ2ZXJzIG9uIGhlYXAgdG8gYWRkIGhvb2tzIGZvciBz
dGFydGluZyAvIGVuZGluZyBnYXJiYWdlIGNvbGxlY3Rpb24uCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRW52aXJvbm1lbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxP
YmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRy
b2xsZXIpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRy
b2xsZXI6OnZtKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JD
b250cm9sbGVyLmg6CisgICAgICAgIEFjY2VzcyB0aGUgVk0gdGhyb3VnaCB0aGUgSW5zcGVjdG9y
RW52aXJvbm1lbnQgYXMgaXQgd29uJ3QgY2hhbmdlLgorCisgICAgICAgICogaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKEluc3BlY3Rvcjo6
SW5zcGVjdG9ySGVhcEFnZW50OjpJbnNwZWN0b3JIZWFwQWdlbnQpOgorICAgICAgICAoSW5zcGVj
dG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6On5JbnNwZWN0b3JIZWFwQWdlbnQpOgorICAgICAgICAo
SW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZCk6CisgICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3RvckhlYXBBZ2VudDo6d2lsbERlc3Ryb3lG
cm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdl
bnQ6OmVuYWJsZSk6CisgICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3RvckhlYXBBZ2VudDo6ZGlz
YWJsZSk6CisgICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3RvckhlYXBBZ2VudDo6Z2MpOgorICAg
ICAgICAoSW5zcGVjdG9yOjpwcm90b2NvbFR5cGVGb3JIZWFwT3BlcmF0aW9uKToKKyAgICAgICAg
KEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50Ojp3aWxsR2FyYmFnZUNvbGxlY3QpOgorICAg
ICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6OmRpZEdhcmJhZ2VDb2xsZWN0KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvSGVhcC5qc29uOiBBZGRlZC4KKyAgICAgICAg
TmV3IGRvbWFpbiBhbmQgYWdlbnQgdG8gaGFuZGxlIHRhc2tzIHJlbGF0ZWQgdG8gdGhlIEphdmFT
Y3JpcHRDb3JlIGhlYXAuCisKIDIwMTUtMTAtMDEgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBTcGVjaWFsRmFzdENhc2VQcm9maWxl
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAxNWRk
Yy4uMDQ2NjhkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
QEAgLTE1Miw2ICsxNTIsNyBAQCBJTlNQRUNUT1JfRE9NQUlOUyA9IFwKICAgICAkKEphdmFTY3Jp
cHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvRGF0YWJhc2UuanNvbiBcCiAgICAgJChKYXZhU2Ny
aXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0RlYnVnZ2VyLmpzb24gXAogICAgICQoSmF2YVNj
cmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9HZW5lcmljVHlwZXMuanNvbiBcCisgICAgJChK
YXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbiBcCiAgICAgJChKYXZh
U2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0luc3BlY3Rvci5qc29uIFwKICAgICAkKEph
dmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvTGF5ZXJUcmVlLmpzb24gXAogICAgICQo
SmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9OZXR3b3JrLmpzb24gXApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhN2NjOGYyLi5mMDMyYmYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTI5MCw2ICsxMjkwLDkgQEAKIAkJQTUzMjQzOEMxODU2ODMz
NTAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMjQzODYxODU2ODMxNzAwMkVENjkyIC8q
IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUE1MzI0Mzk0MTg1Njk3MDkwMDJFRDY5MiAvKiBnZW5lcmF0
ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0MzkxMTg1Njk2RTYwMDJFRDY5MiAvKiBnZW5lcmF0ZS1j
b21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlBNTMyNDM5ODE4NTZBNDg5MDAyRUQ2OTIgLyogQ29tYmluZWRE
b21haW5zLmpzb24gaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNTMyNDM5NTE4NTZBNDc1MDAyRUQ2OTIgLyogQ29tYmluZWREb21haW5zLmpzb24gKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUzMzlFQzYxQkIz
OTlBNjAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMzlFQzUxQkIzOTk5MDAwNTRGMDA1IC8qIElu
c3BlY3RvckhlYXBBZ2VudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUE1MzM5RUM3MUJCMzk5QTkwMDU0RjAwNSAvKiBJbnNwZWN0b3JIZWFwQWdl
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUz
MzlFQzQxQkIzOTk5MDAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5jcHAgKi87IH07CisJ
CUE1MzM5RUM5MUJCNEI0NjAwMDU0RjAwNSAvKiBIZWFwT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzM5RUM4MUJCNEI0NTEwMDU0RjAw
NSAvKiBIZWFwT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlBNTNDRTA4NTE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlw
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTND
RTA4MTE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5jcHAgKi87IH07CiAJCUE1
M0NFMDg2MThCQzFBNTYwMEJFREY3NiAvKiBDb25zb2xlUHJvdG90eXBlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTNDRTA4MjE4QkMxQTU2MDBCRURG
NzYgLyogQ29uc29sZVByb3RvdHlwZS5oICovOyB9OwogCQlBNTNDRTA4NzE4QkMxQTU2MDBCRURG
NzYgLyogSlNDb25zb2xlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1M0NFMDgzMThCQzFBNTYwMEJFREY3NiAvKiBKU0NvbnNvbGUuY3BwICovOyB9
OwpAQCAtMzE4OCw2ICszMTkxLDkgQEAKIAkJQTUzMjQzOTExODU2OTZFNjAwMkVENjkyIC8qIGdl
bmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQu
cHl0aG9uOyBwYXRoID0gImdlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5Ijsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUzMjQzOTUxODU2QTQ3NTAwMkVENjkyIC8qIENv
bWJpbmVkRG9tYWlucy5qc29uICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5qc29uOyBwYXRoID0gQ29tYmluZWRE
b21haW5zLmpzb247IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1MzI0Mzk2MTg1NkE0
NzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MzM5RUM0MUJCMzk5OTAwMDU0RjAwNSAvKiBJ
bnNwZWN0b3JIZWFwQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSW5zcGVjdG9ySGVhcEFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTUzMzlFQzUxQkIzOTk5MDAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JIZWFwQWdlbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMzlFQzgxQkI0QjQ1MTAwNTRGMDA1IC8qIEhlYXBPYnNl
cnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIZWFwT2JzZXJ2ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUzQ0UwODExOEJDMUE1NjAwQkVERjc2IC8q
IENvbnNvbGVQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ29uc29sZVByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1
M0NFMDgyMThCQzFBNTYwMEJFREY3NiAvKiBDb25zb2xlUHJvdG90eXBlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVQcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTUzQ0UwODMxOEJDMUE1NjAwQkVERjc2IC8qIEpTQ29uc29sZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NvbnNvbGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDI3Niw2ICs0MjgyLDcgQEAKIAkJCQkwRjMyQkQw
RjFCQjM0RjE5MDA5M0E1N0YgLyogSGVhcEhlbHBlclBvb2wuaCAqLywKIAkJCQlDMkRBNzc4MjE4
RTI1OTk5MDA2NkZDQjYgLyogSGVhcElubGluZXMuaCAqLywKIAkJCQkyQUQ4OTMyOTE3RTM4NjhG
MDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmggKi8sCisJCQkJQTUzMzlFQzgxQkI0QjQ1
MTAwNTRGMDA1IC8qIEhlYXBPYnNlcnZlci5oICovLAogCQkJCTJBNkY0NjI1MTdFOTU5Q0UwMEM0
NUM5OCAvKiBIZWFwT3BlcmF0aW9uLmggKi8sCiAJCQkJMTRGOTc0NDYxMzhDODUzRTAwREExQzY3
IC8qIEhlYXBSb290VmlzaXRvci5oICovLAogCQkJCUMyNEQzMUUwMTYxQ0Q2OTUwMDJBQTREQiAv
KiBIZWFwU3RhdGlzdGljcy5jcHAgKi8sCkBAIC01NzQyLDYgKzU3NDksOCBAQAogCQkJCUE1RkQw
MDgwMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlB
NTdEMjNFMzE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgKi8s
CiAJCQkJQTU3RDIzRTQxODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aCAqLywKKwkJCQlBNTMzOUVDNDFCQjM5OTkwMDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50
LmNwcCAqLywKKwkJCQlBNTMzOUVDNTFCQjM5OTkwMDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFn
ZW50LmggKi8sCiAJCQkJQTUwRTRCNUQxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRp
bWVBZ2VudC5jcHAgKi8sCiAJCQkJQTUwRTRCNUUxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3Rv
clJ1bnRpbWVBZ2VudC5oICovLAogCQkJCUE1RkQwMDgzMTg5QjFCN0UwMDYzMzIzMSAvKiBKU0ds
b2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAgKi8sCkBAIC02NDIwLDYgKzY0MjksNyBAQAogCQkJ
CTE0QkE3QTk4MTNBQURGRjgwMDVCN0MyQyAvKiBIZWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
MkRBNzc4MzE4RTI1OTk5MDA2NkZDQjYgLyogSGVhcElubGluZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTJBRDg5MzJCMTdFMzg2OEYwMDY2ODI3NiAvKiBIZWFwSXRlcmF0aW9uU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUE1MzM5RUM5MUJCNEI0NjAwMDU0RjAwNSAvKiBIZWFwT2JzZXJ2ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJBNkY0NjI2MTdFOTU5Q0UwMEM0NUM5OCAvKiBIZWFwT3Bl
cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNEY5NzQ0NzEzOEM4NTNFMDBEQTFDNjcgLyog
SGVhcFJvb3RWaXNpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjREMzFFMzE2MUNENjk1MDAy
QUE0REIgLyogSGVhcFN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovLApAQCAtNjQ2Miw2ICs2NDcy
LDcgQEAKIAkJCQlBNTk0NTU5NTE4MjQ3OUVCMDBDQzM4NDMgLyogSW5zcGVjdG9yRnJvbnRlbmRD
aGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTMyNDM4QTE4NTY4MzM1MDAyRUQ2OTIgLyog
SW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlGMUE3
MDExQjk4RkJFQzAwNDYzQjI2IC8qIEluc3BlY3RvckZyb250ZW5kUm91dGVyLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlBNTMzOUVDNjFCQjM5OUE2MDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzVFMDM2MDFCN0FCNDNFMDA3M0FEMkEgLyogSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzNCM0UyNjFC
N0FCRDc1MDA0OERCMkUgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0Lmx1dC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTUzMjQzOEMxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvclBy
b3RvY29sT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8sCkBAIC03NzczLDYgKzc3ODQsNyBAQAogCQkJ
CUE1N0QyM0U1MTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE1MzI0Mzg5MTg1NjgzMzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JG
cm9udGVuZERpc3BhdGNoZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk5RjFBNkZFMUI4RTZE
OTQwMDQ2M0IyNiAvKiBJbnNwZWN0b3JGcm9udGVuZFJvdXRlci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBNTMzOUVDNzFCQjM5OUE5MDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUUzNUUwMzVGMUI3QUI0M0UwMDczQUQyQSAvKiBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25PYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTUzMjQzOEIxODU2
ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBNTBFNEI2MTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50
LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAppbmRleCBm
YmZkZDQwLi5hMzBhODI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcApAQCAtMzgs
MTAgKzM4LDEwIEBACiAjaW5jbHVkZSAiSGVhcFZlcmlmaWVyLmgiCiAjaW5jbHVkZSAiSW5jcmVt
ZW50YWxTd2VlcGVyLmgiCiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKKyNpbmNsdWRlICJKU0NJ
bmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0xvY2su
aCIKICNpbmNsdWRlICJKU09OT2JqZWN0LmgiCi0jaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTVmlydHVhbE1hY2hpbmVJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlJlY3Vyc2l2ZUFs
bG9jYXRpb25TY29wZS5oIgogI2luY2x1ZGUgIlJlZ0V4cENhY2hlLmgiCkBAIC01MSwxMyArNTEs
MTIgQEAKICNpbmNsdWRlICJWTS5oIgogI2luY2x1ZGUgIldlYWtTZXRJbmxpbmVzLmgiCiAjaW5j
bHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgPHd0Zi9SQU1TaXplLmg+CiAjaW5jbHVkZSA8d3Rm
L0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1BhcmFsbGVsVmVjdG9ySXRlcmF0b3IuaD4K
ICNpbmNsdWRlIDx3dGYvUHJvY2Vzc0lELmg+CisjaW5jbHVkZSA8d3RmL1JBTVNpemUuaD4KIAog
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKLXVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBK
U0MgewogCkBAIC0xMTczLDYgKzExNzIsOSBAQCB2b2lkIEhlYXA6OndpbGxTdGFydENvbGxlY3Rp
b24oSGVhcE9wZXJhdGlvbiBjb2xsZWN0aW9uVHlwZSkKIAogICAgIGlmIChtX2VkZW5BY3Rpdml0
eUNhbGxiYWNrKQogICAgICAgICBtX2VkZW5BY3Rpdml0eUNhbGxiYWNrLT53aWxsQ29sbGVjdCgp
OworCisgICAgZm9yIChhdXRvKiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKQorICAgICAgICBvYnNl
cnZlci0+d2lsbEdhcmJhZ2VDb2xsZWN0KCk7CiB9CiAKIHZvaWQgSGVhcDo6Zmx1c2hPbGRTdHJ1
Y3R1cmVJRFRhYmxlcygpCkBAIC0xMzIxLDYgKzEzMjMsNyBAQCB2b2lkIEhlYXA6OmRpZEZpbmlz
aENvbGxlY3Rpb24oZG91YmxlIGdjU3RhcnRUaW1lKQogewogICAgIEdDUEhBU0UoRmluaXNoaW5n
Q29sbGVjdGlvbik7CiAgICAgZG91YmxlIGdjRW5kVGltZSA9IFdURjo6bW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCk7CisgICAgSGVhcE9wZXJhdGlvbiBvcGVyYXRpb24gPSBtX29wZXJhdGlv
bkluUHJvZ3Jlc3M7CiAgICAgaWYgKG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9PSBGdWxsQ29sbGVj
dGlvbikKICAgICAgICAgbV9sYXN0RnVsbEdDTGVuZ3RoID0gZ2NFbmRUaW1lIC0gZ2NTdGFydFRp
bWU7CiAgICAgZWxzZQpAQCAtMTM0NCw2ICsxMzQ3LDkgQEAgdm9pZCBIZWFwOjpkaWRGaW5pc2hD
b2xsZWN0aW9uKGRvdWJsZSBnY1N0YXJ0VGltZSkKICAgICBSRUxFQVNFX0FTU0VSVChtX29wZXJh
dGlvbkluUHJvZ3Jlc3MgPT0gRWRlbkNvbGxlY3Rpb24gfHwgbV9vcGVyYXRpb25JblByb2dyZXNz
ID09IEZ1bGxDb2xsZWN0aW9uKTsKICAgICBtX29wZXJhdGlvbkluUHJvZ3Jlc3MgPSBOb09wZXJh
dGlvbjsKICAgICBKQVZBU0NSSVBUQ09SRV9HQ19FTkQoKTsKKworICAgIGZvciAoYXV0byogb2Jz
ZXJ2ZXIgOiBtX29ic2VydmVycykKKyAgICAgICAgb2JzZXJ2ZXItPmRpZEdhcmJhZ2VDb2xsZWN0
KG9wZXJhdGlvbik7CiB9CiAKIHZvaWQgSGVhcDo6cmVzdW1lQ29tcGlsZXJUaHJlYWRzKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0hlYXAuaAppbmRleCBmMWNjMmNkLi5hYzExYzRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSGVhcC5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiR0NJbmNvbWlu
Z1JlZkNvdW50ZWRTZXQuaCIKICNpbmNsdWRlICJIYW5kbGVTZXQuaCIKICNpbmNsdWRlICJIYW5k
bGVTdGFjay5oIgorI2luY2x1ZGUgIkhlYXBPYnNlcnZlci5oIgogI2luY2x1ZGUgIkhlYXBPcGVy
YXRpb24uaCIKICNpbmNsdWRlICJKSVRTdHViUm91dGluZVNldC5oIgogI2luY2x1ZGUgIkxpc3Rh
YmxlSGFuZGxlci5oIgpAQCAtNDksMjggKzUwLDI0IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1j
bGFzcyBDb3BpZWRTcGFjZTsKIGNsYXNzIENvZGVCbG9jazsKLWNsYXNzIEV4ZWN1dGFibGVCYXNl
OworY2xhc3MgQ29waWVkU3BhY2U7CiBjbGFzcyBFZGVuR0NBY3Rpdml0eUNhbGxiYWNrOworY2xh
c3MgRXhlY3V0YWJsZUJhc2U7CiBjbGFzcyBGdWxsR0NBY3Rpdml0eUNhbGxiYWNrOwogY2xhc3Mg
R0NBY3Rpdml0eUNhbGxiYWNrOwogY2xhc3MgR0NBd2FyZUpJVFN0dWJSb3V0aW5lOwotY2xhc3Mg
R2xvYmFsQ29kZUJsb2NrOwogY2xhc3MgSGVhcDsKIGNsYXNzIEhlYXBSb290VmlzaXRvcjsKIGNs
YXNzIEhlYXBWZXJpZmllcjsKIGNsYXNzIEluY3JlbWVudGFsU3dlZXBlcjsKIGNsYXNzIEpJVFN0
dWJSb3V0aW5lOwogY2xhc3MgSlNDZWxsOwotY2xhc3MgVk07CiBjbGFzcyBKU1N0YWNrOwogY2xh
c3MgSlNWYWx1ZTsKLWNsYXNzIExpdmVPYmplY3RJdGVyYXRvcjsKIGNsYXNzIExMSW50T2Zmc2V0
c0V4dHJhY3RvcjsKIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyOwotY2xhc3MgV2Vha0dDSGFu
ZGxlUG9vbDsKLWNsYXNzIFNsb3RWaXNpdG9yOworY2xhc3MgVk07CiAKIG5hbWVzcGFjZSBERkcg
ewogY2xhc3MgV29ya2xpc3Q7CkBAIC0xMzMsNiArMTMwLDkgQEAgcHVibGljOgogICAgIEpTX0VY
UE9SVF9QUklWQVRFIEluY3JlbWVudGFsU3dlZXBlciogc3dlZXBlcigpOwogICAgIEpTX0VYUE9S
VF9QUklWQVRFIHZvaWQgc2V0SW5jcmVtZW50YWxTd2VlcGVyKHN0ZDo6dW5pcXVlX3B0cjxJbmNy
ZW1lbnRhbFN3ZWVwZXI+KTsKIAorICAgIHZvaWQgYWRkT2JzZXJ2ZXIoSGVhcE9ic2VydmVyKiBv
YnNlcnZlcikgeyBtX29ic2VydmVycy5hcHBlbmQob2JzZXJ2ZXIpOyB9CisgICAgdm9pZCByZW1v
dmVPYnNlcnZlcihIZWFwT2JzZXJ2ZXIqIG9ic2VydmVyKSB7IG1fb2JzZXJ2ZXJzLnJlbW92ZUZp
cnN0KG9ic2VydmVyKTsgfQorCiAgICAgLy8gdHJ1ZSBpZiBjb2xsZWN0aW9uIGlzIGluIHByb2dy
ZXNzCiAgICAgYm9vbCBpc0NvbGxlY3RpbmcoKTsKICAgICBIZWFwT3BlcmF0aW9uIG9wZXJhdGlv
bkluUHJvZ3Jlc3MoKSB7IHJldHVybiBtX29wZXJhdGlvbkluUHJvZ3Jlc3M7IH0KQEAgLTQxMSw3
ICs0MTEsOSBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxHQ0FjdGl2aXR5Q2FsbGJhY2s+IG1fZWRl
bkFjdGl2aXR5Q2FsbGJhY2s7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEluY3JlbWVudGFsU3dlZXBl
cj4gbV9zd2VlcGVyOwogICAgIFZlY3RvcjxNYXJrZWRCbG9jayo+IG1fYmxvY2tTbmFwc2hvdDsK
LSAgICAKKworICAgIFZlY3RvcjxIZWFwT2JzZXJ2ZXIqPiBtX29ic2VydmVyczsKKwogICAgIHVu
c2lnbmVkIG1fZGVmZXJyYWxEZXB0aDsKICAgICBWZWN0b3I8REZHOjpXb3JrbGlzdCo+IG1fc3Vz
cGVuZGVkQ29tcGlsZXJXb3JrbGlzdHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50Lmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcE9ic2VydmVyLmgKc2ltaWxhcml0eSBp
bmRleCA2MiUKY29weSBmcm9tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzCmNvcHkgdG8gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvSGVhcE9ic2VydmVyLmgKaW5kZXggMWQzNTgwYS4uYzRjMjgyYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNl
Q29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcE9ic2VydmVyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDI4ICsyMywyMCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGltZWxpbmVUcmVl
RWxlbWVudCA9IGNsYXNzIFNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQKLXsKLSAgICBjb25zdHJ1Y3Rvcihz
b3VyY2VDb2RlVGltZWxpbmUsIHN1YnRpdGxlTmFtZVN0eWxlLCBpbmNsdWRlVGltZXJJZGVudGlm
aWVySW5NYWluVGl0bGUpCi0gICAgewotICAgICAgICBjb25zb2xlLmFzc2VydChzb3VyY2VDb2Rl
VGltZWxpbmUpOworI2lmbmRlZiBIZWFwT2JzZXJ2ZXJfaAorI2RlZmluZSBIZWFwT2JzZXJ2ZXJf
aAogCi0gICAgICAgIHN1YnRpdGxlTmFtZVN0eWxlID0gc3VidGl0bGVOYW1lU3R5bGUgfHwgV2Vi
SW5zcGVjdG9yLlNvdXJjZUNvZGVMb2NhdGlvbi5OYW1lU3R5bGUuTm9uZTsKKyNpbmNsdWRlICJI
ZWFwT3BlcmF0aW9uLmgiCiAKLSAgICAgICAgc3VwZXIoc291cmNlQ29kZVRpbWVsaW5lLnJlY29y
ZHNbMF0sIHN1YnRpdGxlTmFtZVN0eWxlLCBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0
bGUsIHNvdXJjZUNvZGVUaW1lbGluZS5zb3VyY2VDb2RlTG9jYXRpb24sIHNvdXJjZUNvZGVUaW1l
bGluZSk7CituYW1lc3BhY2UgSlNDIHsKIAotICAgICAgICB0aGlzLl9zb3VyY2VDb2RlVGltZWxp
bmUgPSBzb3VyY2VDb2RlVGltZWxpbmU7Ci0gICAgfQotCi0gICAgLy8gUHVibGljCi0KLSAgICBn
ZXQgcmVjb3JkKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB1bmRlZmluZWQ7Ci0gICAgfQotCi0g
ICAgZ2V0IHNvdXJjZUNvZGVUaW1lbGluZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5f
c291cmNlQ29kZVRpbWVsaW5lOwotICAgIH0KK2NsYXNzIEhlYXBPYnNlcnZlciB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+SGVhcE9ic2VydmVyKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHdpbGxH
YXJiYWdlQ29sbGVjdCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkR2FyYmFnZUNvbGxlY3Qo
SGVhcE9wZXJhdGlvbikgPSAwOwogfTsKKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAv
LyBIZWFwT2JzZXJ2ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
TWFya2VkU3BhY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmgK
aW5kZXggNzk3MjFkZi4uYWFhYWI2NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvTWFya2VkU3BhY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJr
ZWRTcGFjZS5oCkBAIC0zOSw3ICszOSw2IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgSGVhcDsK
IGNsYXNzIEhlYXBJdGVyYXRpb25TY29wZTsKIGNsYXNzIEpTQ2VsbDsKLWNsYXNzIExpdmVPYmpl
Y3RJdGVyYXRvcjsKIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKIGNsYXNzIFdlYWtHQ0hh
bmRsZTsKIGNsYXNzIFNsb3RWaXNpdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JFbnZpcm9ubWVudC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JFbnZpcm9ubWVudC5oCmluZGV4IGNiNDg3NzEuLjc1ZjJl
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RW52aXJvbm1lbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckVudmlyb25tZW50LmgKQEAgLTM1LDYgKzM1LDcgQEAgY2xhc3MgU3RvcHdhdGNoOwogbmFt
ZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGNlcHRpb247CiBjbGFzcyBTb3VyY2VDb2RlOworY2xhc3Mg
Vk07CiB9CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtNTMsNiArNTQsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGRpZENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhl
Y1N0YXRlKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZEluaXRpYWxpemVkKCkgPSAw
OwogICAgIHZpcnR1YWwgUmVmPFdURjo6U3RvcHdhdGNoPiBleGVjdXRpb25TdG9wd2F0Y2goKSA9
IDA7CisgICAgdmlydHVhbCBKU0M6OlZNJiB2bSgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9K
U0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4
IDk4OWQyYTYuLjQyMTYwNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckZyb250ZW5kUm91dGVyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySGVhcEFnZW50
LmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVj
dENvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5o
IgpAQCAtNjIsMTMgKzYzLDExIEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiBuYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAogSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLSAg
ICA6IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKHN0ZDo6bWFrZV91bmlxdWU8SW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyPigqdGhpcywgSW5qZWN0ZWRTY3JpcHRIb3N0OjpjcmVhdGUoKSkpCisgICAgOiBt
X2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCisgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdl
cihzdGQ6Om1ha2VfdW5pcXVlPEluamVjdGVkU2NyaXB0TWFuYWdlcj4oKnRoaXMsIEluamVjdGVk
U2NyaXB0SG9zdDo6Y3JlYXRlKCkpKQogICAgICwgbV9leGVjdXRpb25TdG9wd2F0Y2goU3RvcHdh
dGNoOjpjcmVhdGUoKSkKICAgICAsIG1fZnJvbnRlbmRSb3V0ZXIoRnJvbnRlbmRSb3V0ZXI6OmNy
ZWF0ZSgpKQogICAgICwgbV9iYWNrZW5kRGlzcGF0Y2hlcihCYWNrZW5kRGlzcGF0Y2hlcjo6Y3Jl
YXRlKG1fZnJvbnRlbmRSb3V0ZXIuY29weVJlZigpKSkKLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKLSAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkKLSNlbmRpZgogewogICAg
IEFnZW50Q29udGV4dCBiYXNlQ29udGV4dCA9IHsKICAgICAgICAgKnRoaXMsCkBAIC04Niw5ICs4
NSwxMSBAQCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OkpTR2xvYmFsT2JqZWN0
SW5zcGVjdG9yQ29udHJvbGxlcihKU0dsb2JhbE9iagogICAgIGF1dG8gcnVudGltZUFnZW50ID0g
c3RkOjptYWtlX3VuaXF1ZTxKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudD4oY29udGV4dCk7CiAg
ICAgYXV0byBjb25zb2xlQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0Q29u
c29sZUFnZW50Pihjb250ZXh0KTsKICAgICBhdXRvIGRlYnVnZ2VyQWdlbnQgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudD4oY29udGV4dCwgY29uc29sZUFnZW50
LmdldCgpKTsKKyAgICBhdXRvIGhlYXBBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9y
SGVhcEFnZW50Pihjb250ZXh0KTsKIAogICAgIG1faW5zcGVjdG9yQWdlbnQgPSBpbnNwZWN0b3JB
Z2VudC5nZXQoKTsKICAgICBtX2RlYnVnZ2VyQWdlbnQgPSBkZWJ1Z2dlckFnZW50LmdldCgpOwor
ICAgIG1faGVhcEFnZW50ID0gaGVhcEFnZW50LmdldCgpOwogICAgIG1fY29uc29sZUFnZW50ID0g
Y29uc29sZUFnZW50LmdldCgpOwogICAgIG1fY29uc29sZUNsaWVudCA9IHN0ZDo6bWFrZV91bmlx
dWU8SlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50PihtX2NvbnNvbGVBZ2VudCk7CiAKQEAgLTk4
LDYgKzk5LDcgQEAgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxPYmoKICAgICBtX2FnZW50cy5hcHBlbmQo
V1RGOjptb3ZlKHJ1bnRpbWVBZ2VudCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUo
Y29uc29sZUFnZW50KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShkZWJ1Z2dlckFn
ZW50KSk7CisgICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShoZWFwQWdlbnQpKTsKIAogICAg
IG1fZXhlY3V0aW9uU3RvcHdhdGNoLT5zdGFydCgpOwogfQpAQCAtMjgzLDYgKzI4NSwxMSBAQCBS
ZWY8U3RvcHdhdGNoPiBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmV4ZWN1dGlv
blN0b3B3YXRjaCgpCiAgICAgcmV0dXJuIG1fZXhlY3V0aW9uU3RvcHdhdGNoLmNvcHlSZWYoKTsK
IH0KIAorVk0mIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6dm0oKQoreworICAg
IHJldHVybiBtX2dsb2JhbE9iamVjdC52bSgpOworfQorCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9B
TFRFUk5BVEVfRElTUEFUQ0hFUlMpCiB2b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJv
bGxlcjo6YXBwZW5kRXh0cmFBZ2VudChzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQWdlbnRCYXNl
PiBhZ2VudCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDli
NDMwNTEuLmY2NmViZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaApA
QCAtNDEsNyArNDEsNiBAQCBuYW1lc3BhY2UgV1RGIHsKIGNsYXNzIFN0b3B3YXRjaDsKIH0KIAot
CiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIENvbnNvbGVDbGllbnQ7CiBjbGFzcyBFeGNlcHRpb247
CkBAIC01OCw2ICs1Nyw3IEBAIGNsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKIGNsYXNzIElu
c3BlY3RvckFnZW50OwogY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwogY2xhc3MgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvckhlYXBBZ2VudDsKIGNsYXNzIEpTR2xv
YmFsT2JqZWN0Q29uc29sZUNsaWVudDsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIApAQCAtOTcs
NiArOTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENhbGxJbmplY3RlZFNjcmlw
dEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKikgb3ZlcnJpZGUgeyB9CiAgICAgdmlydHVhbCB2b2lk
IGZyb250ZW5kSW5pdGlhbGl6ZWQoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIFJlZjxXVEY6OlN0
b3B3YXRjaD4gZXhlY3V0aW9uU3RvcHdhdGNoKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBKU0M6
OlZNJiB2bSgpIG92ZXJyaWRlOwogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElT
UEFUQ0hFUlMpCiAgICAgdmlydHVhbCBBdWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXJDbGll
bnQqIGF1Z21lbnRhYmxlSW5zcGVjdG9yQ29udHJvbGxlckNsaWVudCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIG1fYXVnbWVudGluZ0NsaWVudDsgfSAKQEAgLTExMCw2ICsxMTEsNyBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIHZvaWQgYXBwZW5kQVBJQmFja3RyYWNlKFNjcmlwdENhbGxTdGFj
ayogY2FsbFN0YWNrKTsKIAorICAgIEpTQzo6SlNHbG9iYWxPYmplY3QmIG1fZ2xvYmFsT2JqZWN0
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbmplY3RlZFNjcmlwdE1hbmFnZXI+IG1faW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxKU0dsb2JhbE9iamVjdENvbnNvbGVD
bGllbnQ+IG1fY29uc29sZUNsaWVudDsKICAgICBSZWY8V1RGOjpTdG9wd2F0Y2g+IG1fZXhlY3V0
aW9uU3RvcHdhdGNoOwpAQCAtMTE4LDYgKzEyMCw3IEBAIHByaXZhdGU6CiAgICAgSW5zcGVjdG9y
QWdlbnQqIG1faW5zcGVjdG9yQWdlbnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yQ29uc29s
ZUFnZW50KiBtX2NvbnNvbGVBZ2VudCB7IG51bGxwdHIgfTsKICAgICBJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50KiBtX2RlYnVnZ2VyQWdlbnQgeyBudWxscHRyIH07CisgICAgSW5zcGVjdG9ySGVhcEFn
ZW50KiBtX2hlYXBBZ2VudCB7IG51bGxwdHIgfTsKIAogICAgIFJlZjxGcm9udGVuZFJvdXRlcj4g
bV9mcm9udGVuZFJvdXRlcjsKICAgICBSZWY8QmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERp
c3BhdGNoZXI7CkBAIC0xMjUsMTAgKzEyOCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2luY2x1
ZGVOYXRpdmVDYWxsU3RhY2tXaXRoRXhjZXB0aW9ucyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lz
QXV0b21hdGljSW5zcGVjdGlvbiB7IGZhbHNlIH07CiAKLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKLSAgICBKU0M6OkpTR2xvYmFsT2JqZWN0JiBtX2dsb2JhbE9iamVjdDsKLSNlbmRpZgot
CiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCiAgICAgQXVnbWVu
dGFibGVJbnNwZWN0b3JDb250cm9sbGVyQ2xpZW50KiBtX2F1Z21lbnRpbmdDbGllbnQgeyBudWxs
cHRyIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjcyY2JmYzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCkBAIC0w
LDAgKzEsMTI2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluc3BlY3RvckhlYXBBZ2VudC5oIgor
CisjaW5jbHVkZSAiSW5zcGVjdG9yRW52aXJvbm1lbnQuaCIKKyNpbmNsdWRlICJWTS5oIgorI2lu
Y2x1ZGUgPHd0Zi9TdG9wd2F0Y2guaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNw
YWNlIEluc3BlY3RvciB7CisKK0luc3BlY3RvckhlYXBBZ2VudDo6SW5zcGVjdG9ySGVhcEFnZW50
KEFnZW50Q29udGV4dCYgY29udGV4dCkKKyAgICA6IEluc3BlY3RvckFnZW50QmFzZShBU0NJSUxp
dGVyYWwoIkhlYXAiKSkKKyAgICAsIG1fZnJvbnRlbmREaXNwYXRjaGVyKHN0ZDo6bWFrZV91bmlx
dWU8SGVhcEZyb250ZW5kRGlzcGF0Y2hlcj4oY29udGV4dC5mcm9udGVuZFJvdXRlcikpCisgICAg
LCBtX2JhY2tlbmREaXNwYXRjaGVyKEhlYXBCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGNvbnRl
eHQuYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpKQorICAgICwgbV9lbnZpcm9ubWVudChjb250ZXh0
LmVudmlyb25tZW50KQoreworfQorCitJbnNwZWN0b3JIZWFwQWdlbnQ6On5JbnNwZWN0b3JIZWFw
QWdlbnQoKQoreworICAgIEVycm9yU3RyaW5nIGlnbm9yZWQ7CisgICAgZGlzYWJsZShpZ25vcmVk
KTsKK30KKwordm9pZCBJbnNwZWN0b3JIZWFwQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikKK3sKK30KKwordm9pZCBJ
bnNwZWN0b3JIZWFwQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKERpc2Nvbm5l
Y3RSZWFzb24pCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySGVhcEFnZW50OjplbmFibGUoRXJyb3JT
dHJpbmcmKQoreworICAgIGlmIChtX2VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
ZW5hYmxlZCA9IHRydWU7CisKKyAgICBtX2Vudmlyb25tZW50LnZtKCkuaGVhcC5hZGRPYnNlcnZl
cih0aGlzKTsKK30KKwordm9pZCBJbnNwZWN0b3JIZWFwQWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJp
bmcmKQoreworICAgIGlmICghbV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2Vu
YWJsZWQgPSBmYWxzZTsKKworICAgIG1fZW52aXJvbm1lbnQudm0oKS5oZWFwLnJlbW92ZU9ic2Vy
dmVyKHRoaXMpOworfQorCit2b2lkIEluc3BlY3RvckhlYXBBZ2VudDo6Z2MoRXJyb3JTdHJpbmcm
KQoreworICAgIFZNJiB2bSA9IG1fZW52aXJvbm1lbnQudm0oKTsKKyAgICBKU0xvY2tIb2xkZXIg
bG9jayh2bSk7CisgICAgc2FuaXRpemVTdGFja0ZvclZNKCZ2bSk7CisgICAgdm0uaGVhcC5jb2xs
ZWN0QWxsR2FyYmFnZSgpOworfQorCitzdGF0aWMgSW5zcGVjdG9yOjpQcm90b2NvbDo6SGVhcDo6
R2FyYmFnZUNvbGxlY3Rpb246OlR5cGUgcHJvdG9jb2xUeXBlRm9ySGVhcE9wZXJhdGlvbihIZWFw
T3BlcmF0aW9uIG9wZXJhdGlvbikKK3sKKyAgICBzd2l0Y2ggKG9wZXJhdGlvbikgeworICAgIGNh
c2UgRnVsbENvbGxlY3Rpb246CisgICAgICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpI
ZWFwOjpHYXJiYWdlQ29sbGVjdGlvbjo6VHlwZTo6RnVsbDsKKyAgICBjYXNlIEVkZW5Db2xsZWN0
aW9uOgorICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6SGVhcDo6R2FyYmFnZUNv
bGxlY3Rpb246OlR5cGU6OlBhcnRpYWw7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpIZWFwOjpH
YXJiYWdlQ29sbGVjdGlvbjo6VHlwZTo6RnVsbDsKKyAgICB9Cit9CisKK3ZvaWQgSW5zcGVjdG9y
SGVhcEFnZW50Ojp3aWxsR2FyYmFnZUNvbGxlY3QoKQoreworICAgIEFTU0VSVChtX2VuYWJsZWQp
OworICAgIEFTU0VSVChzdGQ6OmlzbmFuKG1fZ2NTdGFydFRpbWUpKTsKKworICAgIG1fZ2NTdGFy
dFRpbWUgPSBtX2Vudmlyb25tZW50LmV4ZWN1dGlvblN0b3B3YXRjaCgpLT5lbGFwc2VkVGltZSgp
OworfQorCit2b2lkIEluc3BlY3RvckhlYXBBZ2VudDo6ZGlkR2FyYmFnZUNvbGxlY3QoSGVhcE9w
ZXJhdGlvbiBvcGVyYXRpb24pCit7CisgICAgQVNTRVJUKG1fZW5hYmxlZCk7CisgICAgQVNTRVJU
KCFzdGQ6OmlzbmFuKG1fZ2NTdGFydFRpbWUpKTsKKworICAgIC8vIEZJWE1FOiBJbmNsdWRlIG51
bWJlciBvZiBieXRlcyBmcmVlZCBieSBjb2xsZWN0aW9uLgorCisgICAgZG91YmxlIGVuZFRpbWUg
PSBtX2Vudmlyb25tZW50LmV4ZWN1dGlvblN0b3B3YXRjaCgpLT5lbGFwc2VkVGltZSgpOworICAg
IGF1dG8gY29sbGVjdGlvbiA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkhlYXA6OkdhcmJhZ2VDb2xs
ZWN0aW9uOjpjcmVhdGUoKQorICAgICAgICAuc2V0VHlwZShwcm90b2NvbFR5cGVGb3JIZWFwT3Bl
cmF0aW9uKG9wZXJhdGlvbikpCisgICAgICAgIC5zZXRTdGFydFRpbWUobV9nY1N0YXJ0VGltZSkK
KyAgICAgICAgLnNldEVuZFRpbWUoZW5kVGltZSkKKyAgICAgICAgLnJlbGVhc2UoKTsKKworICAg
IG1fZnJvbnRlbmREaXNwYXRjaGVyLT5nYXJiYWdlQ29sbGVjdGVkKFdURjo6bW92ZShjb2xsZWN0
aW9uKSk7CisgICAgbV9nY1N0YXJ0VGltZSA9IE5BTjsKK30KKworfSAvLyBuYW1lc3BhY2UgSW5z
cGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JIZWFwQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjE4ZTQ4ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaApAQCAtMCwwICsxLDY4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnNw
ZWN0b3JIZWFwQWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JIZWFwQWdlbnRfaAorCisjaW5jbHVk
ZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJv
bnRlbmREaXNwYXRjaGVycy5oIgorI2luY2x1ZGUgImhlYXAvSGVhcE9ic2VydmVyLmgiCisjaW5j
bHVkZSAiaW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKK25hbWVzcGFjZSBJbnNwZWN0
b3IgeworCit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworY2xhc3MgSlNfRVhQT1JUX1BS
SVZBVEUgSW5zcGVjdG9ySGVhcEFnZW50IGZpbmFsIDogcHVibGljIEluc3BlY3RvckFnZW50QmFz
ZSwgcHVibGljIEhlYXBCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIsIHB1YmxpYyBKU0M6OkhlYXBP
YnNlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9ySGVhcEFnZW50KTsK
K3B1YmxpYzoKKyAgICBJbnNwZWN0b3JIZWFwQWdlbnQoQWdlbnRDb250ZXh0Jik7CisgICAgdmly
dHVhbCB+SW5zcGVjdG9ySGVhcEFnZW50KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRl
RnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwgQmFja2VuZERpc3BhdGNoZXIqKSBv
dmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQo
RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CisKKyAgICAvLyBIZWFwQmFja2VuZERpc3BhdGNo
ZXJIYW5kbGVyCisgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyYpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIGdjKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CisKKyAgICAvLyBIZWFwT2Jz
ZXJ2ZXIKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbEdhcmJhZ2VDb2xsZWN0KCkgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZEdhcmJhZ2VDb2xsZWN0KEpTQzo6SGVhcE9wZXJhdGlvbikgb3Zl
cnJpZGU7CisKK3ByaXZhdGU6CisgICAgc3RkOjp1bmlxdWVfcHRyPEhlYXBGcm9udGVuZERpc3Bh
dGNoZXI+IG1fZnJvbnRlbmREaXNwYXRjaGVyOworICAgIFJlZlB0cjxIZWFwQmFja2VuZERpc3Bh
dGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CisgICAgSW5zcGVjdG9yRW52aXJvbm1lbnQmIG1f
ZW52aXJvbm1lbnQ7CisgICAgYm9vbCBtX2VuYWJsZWQgeyBmYWxzZSB9OworICAgIGRvdWJsZSBt
X2djU3RhcnRUaW1lIHsgTkFOIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKKwor
I2VuZGlmIC8vIEluc3BlY3RvckhlYXBBZ2VudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvSGVhcC5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmVhYzMzNDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbgpAQCAtMCwwICsxLDM5IEBACit7Cisg
ICAgImRvbWFpbiI6ICJIZWFwIiwKKyAgICAiZGVzY3JpcHRpb24iOiAiSGVhcCBkb21haW4gZXhw
b3NlcyBKYXZhU2NyaXB0IGhlYXAgYXR0cmlidXRlcyBhbmQgY2FwYWJpbGl0aWVzLiIsCisgICAg
InR5cGVzIjogWworICAgICAgICB7CisgICAgICAgICAgICAiaWQiOiAiR2FyYmFnZUNvbGxlY3Rp
b24iLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkluZm9ybWF0aW9uIGFib3V0IGEgZ2Fy
YmFnZSBjb2xsZWN0aW9uLiIsCisgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorICAgICAg
ICAgICAgInByb3BlcnRpZXMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0eXBlIiwg
InR5cGUiOiAic3RyaW5nIiwgImVudW0iOiBbImZ1bGwiLCAicGFydGlhbCJdLCAiZGVzY3JpcHRp
b24iOiAiVGhlIHR5cGUgb2YgZ2FyYmFnZSBjb2xsZWN0aW9uLiIgfSwKKyAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogInN0YXJ0VGltZSIsICJ0eXBlIjogIm51bWJlciIgfSwKKyAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImVuZFRpbWUiLCAidHlwZSI6ICJudW1iZXIiIH0KKyAgICAgICAgICAg
IF0KKyAgICAgICAgfQorICAgIF0sCisgICAgImNvbW1hbmRzIjogWworICAgICAgICB7CisgICAg
ICAgICAgICAibmFtZSI6ICJlbmFibGUiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVu
YWJsZXMgSGVhcCBkb21haW4gZXZlbnRzLiIKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAg
ICAgICAgIm5hbWUiOiAiZGlzYWJsZSIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlz
YWJsZXMgSGVhcCBkb21haW4gZXZlbnRzLiIKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAg
ICAgICAgIm5hbWUiOiAiZ2MiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyaWdnZXIg
YSBmdWxsIGdhcmJhZ2UgY29sbGVjdGlvbi4iCisgICAgICAgIH0KKyAgICBdLAorICAgICJldmVu
dHMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImdhcmJhZ2VDb2xsZWN0ZWQi
LAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkluZm9ybWF0aW9uIGFib3V0IHRoZSBnYXJi
YWdlIGNvbGxlY3Rpb24uIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiY29sbGVjdGlvbiIsICJ0eXBlIjogIkdhcmJhZ2VDb2xsZWN0aW9u
IiB9CisgICAgICAgICAgICBdCisgICAgICAgIH0KKyAgICBdCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM1
OTc4ODkuLjNkNjlmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxNS0xMC0wMiAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEluY2x1ZGUgR2FyYmFnZSBDb2xsZWN0aW9uIEV2ZW50IGluIFRpbWVsaW5lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1MTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAgICAgICBUZXN0czogaW5zcGVj
dG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3Iv
aGVhcC9nYy5odG1sCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9oZWFwL0hlYXBPYnNl
cnZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckhlYXBBZ2VudC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVyczoKKyAgICAgICAgRm9yd2FyZGluZyBoZWFkZXJzLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDb250cm9sbGVyOjp2bSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjp2
bSk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAg
ICAgICAgSW1wbGVtZW50IEluc3BlY3RvckVudmlyb25tZW50Ojp2bSBhbmQgY3JlYXRlIGEgSGVh
cCBhZ2VudCBmb3IgdGhlCisgICAgICAgIFBhZ2UgaW5zcGVjdG9yIGNvbnRyb2xsZXIuCisKIDIw
MTUtMTAtMDEgIEphZWh1biBMaW0gIDxsamFlaHVuLmxpbUBzYW1zdW5nLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCBmaXggYnVpbGQgd2FybmluZyBhZnRlciByMTkwNDM0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9oZWFwL0hlYXBPYnNlcnZlci5oIGIv
U291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaGVhcC9IZWFwT2JzZXJ2ZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODkyMWMyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaGVhcC9IZWFwT2JzZXJ2ZXIuaApA
QCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSGVhcE9ic2VydmVyX2gKKyNkZWZp
bmUgV2ViQ29yZV9GV0RfSGVhcE9ic2VydmVyX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9I
ZWFwT2JzZXJ2ZXIuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVh
cEFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk1ZDZjMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdl
YkNvcmVfRldEX0luc3BlY3RvckhlYXBBZ2VudF9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0luc3Bl
Y3RvckhlYXBBZ2VudF9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9ySGVhcEFn
ZW50Lmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qCmluZGV4IGViNTkwMzAuLmNjMmFhZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMjAzNTUsNiArMjAzNTUsNyBAQAog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcYmluZGluZ3NcU2Ny
aXB0VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFk
ZXJzXGhlYXBcQWxsb2NhdGlvblNwYWNlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXEhlYXAuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcSGVhcE9ic2VydmVyLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXFNsb3RWaXNpdG9yLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXFN0
cm9uZ0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdI
ZWFkZXJzXGhlYXBcV2Vhay5oIiAvPgpAQCAtMjAzODQsNiArMjAzODUsNyBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNw
ZWN0b3JBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNc
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JIZWFwQWdlbnQuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
clxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xtYXNtXFg4NkFzc2VtYmxlci5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccGFyc2VyXFNvdXJjZUNvZGUu
aCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycwppbmRleCAzMjA3ZTk4Li5mODdkODlmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBA
IC0xMTc4OSw2ICsxMTc4OSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJk
aW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCI+CiAg
ICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNc
aW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JIZWFwQWdlbnQuaCI+CisgICAgICA8RmlsdGVyPkZv
cndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50
c1xJbnNwZWN0b3JSdW50aW1lQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFk
ZXJzXGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTIwNjksNiArMTIw
NzIsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVh
cFxIZWFwLmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xoZWFwPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5n
SGVhZGVyc1xoZWFwXEhlYXBPYnNlcnZlci5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hl
YWRlcnNcaGVhcDwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxTbG90VmlzaXRvci5oIj4KICAgICAgIDxG
aWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaGVhcDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmlu
ZGV4IDgxMTJlNTUuLjkwMDc1MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTcwLDYgKzcwLDcgQEAKICNpbmNsdWRlIDxpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oPgogI2luY2x1ZGUgPGluc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yQWdlbnQuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvckhl
YXBBZ2VudC5oPgogI2luY2x1ZGUgPHByb2ZpbGVyL0xlZ2FjeVByb2ZpbGVyLmg+CiAjaW5jbHVk
ZSA8cnVudGltZS9KU0xvY2suaD4KICNpbmNsdWRlIDx3dGYvU3RvcHdhdGNoLmg+CkBAIC0xNzAs
NiArMTcxLDcgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdl
JiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICAgICBtX2RvbURlYnVnZ2VyQWdl
bnQgPSBkb21EZWJ1Z2dlckFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6
Om1vdmUoZG9tRGVidWdnZXJBZ2VudFB0cikpOwogCisgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6
bWFrZV91bmlxdWU8SW5zcGVjdG9ySGVhcEFnZW50PihwYWdlQ29udGV4dCkpOwogICAgIG1fYWdl
bnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dD4ocGFnZUNvbnRleHQsIHBhZ2VBZ2VudCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1h
a2VfdW5pcXVlPEluc3BlY3RvcldvcmtlckFnZW50PihwYWdlQ29udGV4dCkpOwogICAgIG1fYWdl
bnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckxheWVyVHJlZUFnZW50PihwYWdl
Q29udGV4dCkpOwpAQCAtNDc0LDYgKzQ3NiwxMSBAQCBSZWY8U3RvcHdhdGNoPiBJbnNwZWN0b3JD
b250cm9sbGVyOjpleGVjdXRpb25TdG9wd2F0Y2goKQogICAgIHJldHVybiBtX2V4ZWN1dGlvblN0
b3B3YXRjaC5jb3B5UmVmKCk7CiB9CiAKK0pTQzo6Vk0mIEluc3BlY3RvckNvbnRyb2xsZXI6OnZt
KCkKK3sKKyAgICByZXR1cm4gSlNET01XaW5kb3dCYXNlOjpjb21tb25WTSgpOworfQorCiB2b2lk
IEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZENvbXBvc2l0ZShGcmFtZSYgZnJhbWUpCiB7CiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21wb3NpdGUoZnJhbWUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNTFiOWNiMS4u
MDFlNWM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5oCkBAIC0xMzEsNiArMTMxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRD
YWxsSW5qZWN0ZWRTY3JpcHRGdW5jdGlvbihKU0M6OkV4ZWNTdGF0ZSopIG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgdm9pZCBmcm9udGVuZEluaXRpYWxpemVkKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCBSZWY8V1RGOjpTdG9wd2F0Y2g+IGV4ZWN1dGlvblN0b3B3YXRjaCgpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgSlNDOjpWTSYgdm0oKSBvdmVycmlkZTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZGlkQ29tcG9zaXRlKEZyYW1lJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA2NmY5Y2IwMy4uMjhj
ZGVjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisjaW5jbHVkZSAiSlNET01XaW5kb3dC
YXNlLmgiCiAjaW5jbHVkZSAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiV2Vi
SW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LmgiCkBAIC01MSw2ICs1Miw3IEBACiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kUm91dGVyLmg+CiAjaW5jbHVkZSA8d3RmL1N0b3B3YXRjaC5oPgogCit1c2luZyBuYW1lc3Bh
Y2UgSlNDOwogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMTk1LDQgKzE5Nyw5IEBAIFJlZjxTdG9wd2F0Y2g+IFdvcmtlckluc3BlY3RvckNvbnRy
b2xsZXI6OmV4ZWN1dGlvblN0b3B3YXRjaCgpCiAgICAgcmV0dXJuIG1fZXhlY3V0aW9uU3RvcHdh
dGNoLmNvcHlSZWYoKTsKIH0KIAorVk0mIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OnZtKCkK
K3sKKyAgICByZXR1cm4gSlNET01XaW5kb3dCYXNlOjpjb21tb25WTSgpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtl
ckluc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBkOGYyNmU1Li43ZjQyNDczIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgK
QEAgLTc1LDYgKzc1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRDYWxsSW5qZWN0
ZWRTY3JpcHRGdW5jdGlvbihKU0M6OkV4ZWNTdGF0ZSopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCBmcm9udGVuZEluaXRpYWxpemVkKCkgb3ZlcnJpZGUgeyB9CiAgICAgdmlydHVhbCBSZWY8
V1RGOjpTdG9wd2F0Y2g+IGV4ZWN1dGlvblN0b3B3YXRjaCgpIG92ZXJyaWRlOworICAgIHZpcnR1
YWwgSlNDOjpWTSYgdm0oKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3Mg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggMDgw
MTJmMy4uYjdiNWIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODAgQEAK
KzIwMTUtMTAtMDIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBJbmNsdWRlIEdhcmJhZ2UgQ29sbGVjdGlvbiBFdmVudCBpbiBU
aW1lbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQyNTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzOgorICAgICAgICAoQXJyYXkucHJvdG90
eXBlLnBhcml0aW9uKToKKyAgICAgICAgSGVscGVyIHRvIHBhcnRpdGlvbiBhbiBBcnJheSBpbnRv
IHR3byBhcnJheXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01haW4uaHRtbDoKKyAgICAg
ICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9CYXNlL01haW4uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IubG9h
ZGVkKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QuaHRtbDoKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1Rlc3QvVGVzdC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5sb2FkZWQpOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSGVhcE9ic2VydmVyLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkhlYXBPYnNlcnZlci5wcm90b3R5cGUuZ2FyYmFnZUNvbGxlY3RlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyKToKKyAgICAgICAgQ3JlYXRlIHRo
ZSBuZXcgb2JzZXJ2ZXIgYW5kIG1hbmFnZXIuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01v
ZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5HYXJiYWdl
Q29sbGVjdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uZnJv
bVBheWxvYWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLnByb3Rv
dHlwZS5nZXQgdHlwZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24u
cHJvdG90eXBlLmdldCBzdGFydFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdhcmJhZ2VD
b2xsZWN0aW9uLnByb3RvdHlwZS5nZXQgZW5kVGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
R2FyYmFnZUNvbGxlY3Rpb24ucHJvdG90eXBlLmdldCBkdXJhdGlvbik6CisgICAgICAgIE1vZGVs
IG9iamVjdCBmb3IgSGVhcC5HYXJiYWdlQ29sbGVjdGlvbi4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvQ29udHJvbGxlcnMvSGVhcE1hbmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
SGVhcE1hbmFnZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyLnByb3RvdHlw
ZS5nYXJiYWdlQ29sbGVjdGVkKToKKyAgICAgICAgRGlzcGF0Y2ggZXZlbnRzIHdpdGguCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2dhcmJhZ2VDb2xsZWN0ZWQpOgorICAgICAg
ICBJbmNsdWRlIG5ldyBHQyBUaW1lbGluZSBFdmVudHMgYXMgU2NyaXB0IGV2ZW50cy4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90
b3R5cGUudXBkYXRlTGF5b3V0KToKKyAgICAgICAgRm9yIHRoZSBTY3JpcHQgb3ZlcnZpZXcsIG1h
a2UgdHdvIHNldHMgb2YgYmFycywgb25lIGZvciBTY3JpcHRzIGFuZCBvbmUgZm9yIEdDcy4KKyAg
ICAgICAgVGhlIEdDcyBiYXIgd2lsbCBiZSBvbiB0b3Agb2YgdGhlIHRoZSBTY3JpcHRzIGJhci4g
VGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsCisgICAgICAgIHNpbmNlIGEgR0MgY2FuIGhhcHBl
biBkdXJpbmcgc2NyaXB0IGV4ZWN1dGlvbi4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLmdldCBkYXRhKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuY3JlYXRl
Q2VsbENvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdy
aWROb2RlKToKKyAgICAgICAgR2l2ZSBhIE5hTiBjYWxsIGNvdW50IHRvIHRvcCBsZXZlbCBTY3Jp
cHQgRGF0YUdyaWROb2Rlcy4KKyAgICAgICAgSW4gdGhlIFVJLCBkaXNwbGF5IHRoZSBlbXB0eSBw
bGFjZWhvbGRlciBmb3IgTmFOIGNhbGwgY291bnRzLgorCisgICAgICAgICogVXNlckludGVyZmFj
ZS9JbWFnZXMvVGltZWxpbmVSZWNvcmRHYXJiYWdlQ29sbGVjdGlvbi5zdmc6IEFkZGVkLgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLnByb3RvdHlwZS5pc0dhcmJh
Z2VDb2xsZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29y
ZC5FdmVudFR5cGUuZGlzcGxheU5hbWUpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
U2NyaXB0VGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVs
aW5lVmlldy5wcm90b3R5cGUuX3Byb2Nlc3NQZW5kaW5nUmVjb3Jkcyk6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCk6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzczoKKyAgICAgICAgKC5nYXJi
YWdlLWNvbGxlY3Rpb24tcHJvZmlsZS1yZWNvcmQgLmljb24pOgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuY3NzOgorICAgICAgICAoLnRpbWVsaW5lLXJl
Y29yZC1iYXIudGltZWxpbmUtcmVjb3JkLXR5cGUtc2NyaXB0LnNjcmlwdC10aW1lbGluZS1yZWNv
cmQtZ2FyYmFnZS1jb2xsZWN0ZWQgPiAuc2VnbWVudCk6CisgICAgICAgIFVJIGZvciBHQyBldmVu
dHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkQmFyLmNyZWF0ZUNvbWJpbmVk
QmFycyk6CisgICAgICAgIFNpbXBsaWZ5IGJ5IHN0b3Jpbmcgc3RhcnQgdGltZSBpbnRvIGEgdmFy
aWFibGUuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkVHJl
ZUVsZW1lbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxl
bWVudCk6CisgICAgICAgIEljb24gZm9yIEdDIGV2ZW50cy4KKwogMjAxNS0xMC0wMSAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IERvIG5vdCBpbW1lZGlhdGVseSBjcmVhdGUgYWxsIFByb2ZpbGVOb2RlVHJlZUVsZW1lbnRzIHdo
ZW4gc2hvd2luZyBKYXZhU2NyaXB0IGFuZCBFdmVudHMgdGltZWxpbmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2Nh
bGl6ZWRTdHJpbmdzLmpzCmluZGV4IDhjYjZiOGMwNzQxZDk3ZTQwZWI2N2JmMjQ5MTVjY2UzMDA1
YzkzYjguLjM3ZjViNmE0Y2E2YTUxOGU3OGIwOTZlMGU5M2EyMjNlNzFmYTIyZWMgMTAwNjQ0CkdJ
VCBiaW5hcnkgcGF0Y2gKZGVsdGEgMjM0CnpjbVpwOyNJbyl4JVpCY1dsSXskTjNgR257S3IpPm5s
fGd+UW5JV0djMk1BTHE9WlQwPG87IzVYa0JTUS1ya2ZpbApyK0F4YWFGQGt7aC1JSnV1UmZgeCg3
JjN0XyROfTFxKkZCbTZWQW0zKDhzeFQlQy12aDJRUXRUWAoKZGVsdGEgMjQKZ2NtWjI/bThJYmwl
WkJjV25gSXslRj5YRlBTO0JtQ15KKHBQMEZlTC1FQzJ1aQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwppbmRleCBkMDdiODc3Li4zMTIxZjg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01h
aW4uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWlu
LmpzCkBAIC02OCw2ICs2OCw4IEBAIFdlYkluc3BlY3Rvci5sb2FkZWQgPSBmdW5jdGlvbigpCiAg
ICAgICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJET01EaXNwYXRjaGVyKG5ldyBXZWJJbnNw
ZWN0b3IuRE9NT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVi
dWdnZXJEaXNwYXRjaGVyKQogICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdn
ZXJEaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuRGVidWdnZXJPYnNlcnZlcik7CisgICAgaWYg
KEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJIZWFwRGlzcGF0Y2hlcikKKyAgICAgICAgSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlckhlYXBEaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuSGVhcE9i
c2VydmVyKTsKICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRhdGFiYXNlRGlzcGF0
Y2hlcikKICAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRhdGFiYXNlRGlzcGF0Y2hl
cihuZXcgV2ViSW5zcGVjdG9yLkRhdGFiYXNlT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyRE9NU3RvcmFnZURpc3BhdGNoZXIpCkBAIC0xMDgsNiArMTEwLDcgQEAg
V2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLmlzc3VlTWFuYWdlciA9
IG5ldyBXZWJJbnNwZWN0b3IuSXNzdWVNYW5hZ2VyOwogICAgIHRoaXMuYW5hbHl6ZXJNYW5hZ2Vy
ID0gbmV3IFdlYkluc3BlY3Rvci5BbmFseXplck1hbmFnZXI7CiAgICAgdGhpcy5ydW50aW1lTWFu
YWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuUnVudGltZU1hbmFnZXI7CisgICAgdGhpcy5oZWFwTWFu
YWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuSGVhcE1hbmFnZXI7CiAgICAgdGhpcy5hcHBsaWNhdGlv
bkNhY2hlTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZU1hbmFnZXI7
CiAgICAgdGhpcy50aW1lbGluZU1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFu
YWdlcjsKICAgICB0aGlzLmRlYnVnZ2VyTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuRGVidWdn
ZXJNYW5hZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9VdGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL1V0aWxpdGllcy5qcwppbmRleCA1Nzg3YzE4Li5iMzExNTBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcwpA
QCAtNDUyLDYgKzQ1MiwyMyBAQCBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBl
LCAia2V5U2V0IiwKICAgICB9CiB9KTsKIAorT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnBy
b3RvdHlwZSwgInBhcnRpdGlvbiIsCit7CisgICAgdmFsdWU6IGZ1bmN0aW9uKGNhbGxiYWNrKQor
ICAgIHsKKyAgICAgICAgbGV0IHBvc2l0aXZlID0gW107CisgICAgICAgIGxldCBuZWdhdGl2ZSA9
IFtdOworICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyArK2kpIHsKKyAg
ICAgICAgICAgIGxldCB2YWx1ZSA9IHRoaXNbaV07CisgICAgICAgICAgICBpZiAoY2FsbGJhY2so
dmFsdWUpKQorICAgICAgICAgICAgICAgIHBvc2l0aXZlLnB1c2godmFsdWUpOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIG5lZ2F0aXZlLnB1c2godmFsdWUpOworICAgICAgICB9
CisgICAgICAgIHJldHVybiBbcG9zaXRpdmUsIG5lZ2F0aXZlXTsKKyAgICB9Cit9KTsKKwogT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KFN0cmluZy5wcm90b3R5cGUsICJ0cmltTWlkZGxlIiwKIHsKICAg
ICB2YWx1ZTogZnVuY3Rpb24obWF4TGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9IZWFw
TWFuYWdlci5qcwpzaW1pbGFyaXR5IGluZGV4IDY0JQpjb3B5IGZyb20gU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQu
anMKY29weSB0byBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9IZWFwTWFuYWdlci5qcwppbmRleCAxZDM1ODBhLi5iYzNkYmE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVU
cmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9D
b250cm9sbGVycy9IZWFwTWFuYWdlci5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMjggKzIzLDI3IEBACiAgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1l
bGluZVRyZWVFbGVtZW50ID0gY2xhc3MgU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudAorV2ViSW5zcGVjdG9y
LkhlYXBNYW5hZ2VyID0gY2xhc3MgSGVhcE1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2Jq
ZWN0CiB7Ci0gICAgY29uc3RydWN0b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVT
dHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQorICAgIGNvbnN0cnVjdG9y
KCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNvdXJjZUNvZGVUaW1lbGluZSk7Cisg
ICAgICAgIHN1cGVyKCk7CiAKLSAgICAgICAgc3VidGl0bGVOYW1lU3R5bGUgPSBzdWJ0aXRsZU5h
bWVTdHlsZSB8fCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5Ob25l
OwotCi0gICAgICAgIHN1cGVyKHNvdXJjZUNvZGVUaW1lbGluZS5yZWNvcmRzWzBdLCBzdWJ0aXRs
ZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlLCBzb3VyY2VDb2Rl
VGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uLCBzb3VyY2VDb2RlVGltZWxpbmUpOwotCi0gICAg
ICAgIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGluZSA9IHNvdXJjZUNvZGVUaW1lbGluZTsKKyAgICAg
ICAgaWYgKHdpbmRvdy5IZWFwQWdlbnQpCisgICAgICAgICAgICBIZWFwQWdlbnQuZW5hYmxlKCk7
CiAgICAgfQogCiAgICAgLy8gUHVibGljCiAKLSAgICBnZXQgcmVjb3JkKCkKKyAgICBnYXJiYWdl
Q29sbGVjdGVkKHBheWxvYWQpCiAgICAgewotICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwotICAg
IH0KKyAgICAgICAgLy8gQ2FsbGVkIGZyb20gV2ViSW5zcGVjdG9yLkhlYXBPYnNlcnZlci4KIAot
ICAgIGdldCBzb3VyY2VDb2RlVGltZWxpbmUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMu
X3NvdXJjZUNvZGVUaW1lbGluZTsKKyAgICAgICAgbGV0IGNvbGxlY3Rpb24gPSBXZWJJbnNwZWN0
b3IuR2FyYmFnZUNvbGxlY3Rpb24uZnJvbVBheWxvYWQocGF5bG9hZCk7CisgICAgICAgIHRoaXMu
ZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5IZWFwTWFuYWdlci5FdmVudC5H
YXJiYWdlQ29sbGVjdGVkLCB7Y29sbGVjdGlvbn0pOwogICAgIH0KIH07CisKK1dlYkluc3BlY3Rv
ci5IZWFwTWFuYWdlci5FdmVudCA9IHsKKyAgICBHYXJiYWdlQ29sbGVjdGVkOiAiaGVhcC1tYW5h
Z2VyLWdhcmJhZ2UtY29sbGVjdGVkIgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdl
ci5qcwppbmRleCBjZDQ0YTkzLi43MGViZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVN
YW5hZ2VyLmpzCkBAIC0zMyw2ICszMyw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIg
PSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAg
ICAgIFdlYkluc3BlY3Rvci5GcmFtZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GcmFt
ZS5FdmVudC5NYWluUmVzb3VyY2VEaWRDaGFuZ2UsIHRoaXMuX21haW5SZXNvdXJjZURpZENoYW5n
ZSwgdGhpcyk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5GcmFtZS5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5GcmFtZS5FdmVudC5SZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9yZXNvdXJjZVdh
c0FkZGVkLCB0aGlzKTsKIAorICAgICAgICBXZWJJbnNwZWN0b3IuaGVhcE1hbmFnZXIuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSGVhcE1hbmFnZXIuRXZlbnQuR2FyYmFnZUNvbGxlY3Rl
ZCwgdGhpcy5fZ2FyYmFnZUNvbGxlY3RlZCwgdGhpcyk7CisKICAgICAgICAgdGhpcy5fcGVyc2lz
dGVudE5ldHdvcmtUaW1lbGluZSA9IG5ldyBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5lOwog
CiAgICAgICAgIHRoaXMuX2lzQ2FwdHVyaW5nID0gZmFsc2U7CkBAIC01OTMsNiArNTk1LDE1IEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAKICAgICAgICAgdGhpcy5fYWRkUmVjb3JkKHJlY29y
ZCk7CiAgICAgfQorCisgICAgX2dhcmJhZ2VDb2xsZWN0ZWQoZXZlbnQpCisgICAgeworICAgICAg
ICBpZiAoIXRoaXMuX2lzQ2FwdHVyaW5nKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IGxldCBjb2xsZWN0aW9uID0gZXZlbnQuZGF0YS5jb2xsZWN0aW9uOworICAgICAgICB0aGlzLl9h
ZGRSZWNvcmQobmV3IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZChXZWJJbnNwZWN0
b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQsIGNvbGxl
Y3Rpb24uc3RhcnRUaW1lLCBjb2xsZWN0aW9uLmVuZFRpbWUsIG51bGwsIG51bGwsIGNvbGxlY3Rp
b24pKTsKKyAgICB9CiB9OwogCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50ID0g
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2Vz
L1RpbWVsaW5lUmVjb3JkR2FyYmFnZUNvbGxlY3Rpb24uc3ZnIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL1RpbWVsaW5lUmVjb3JkR2FyYmFnZUNvbGxlY3Rpb24u
c3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlMTdkZjYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvVGlt
ZWxpbmVSZWNvcmRHYXJiYWdlQ29sbGVjdGlvbi5zdmcKQEAgLTAsMCArMSw4IEBACis8P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLSBDb3B5cmlnaHQgwqkgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIC0tPgorPHN2ZyB2ZXJzaW9uPSIxLjEiIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij4KKyAg
ICA8cGF0aCBmaWxsPSJyZ2IoMjI4LCAxOTgsIDE3MikiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4
NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAx
NSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAx
Ljg5ODQzOCAxNC4xMDE1NjIgMSAxMyAxIFoiLz4KKyAgICA8cGF0aCBmaWxsPSJyZ2IoMTg2LCAx
NTcsIDEzMikiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAx
IDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1
IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAxMyAx
IE0gMTMgMiBDIDEzLjU1MDc4MSAyIDE0IDIuNDQ5MjE5IDE0IDMgTCAxNCAxMyBDIDE0IDEzLjU1
MDc4MSAxMy41NTA3ODEgMTQgMTMgMTQgTCAzIDE0IEMgMi40NDkyMTkgMTQgMiAxMy41NTA3ODEg
MiAxMyBMIDIgMyBDIDIgMi40NDkyMTkgMi40NDkyMTkgMiAzIDIgTCAxMyAyIi8+CisgICAgPHBh
dGggZmlsbD0icmdiKDE4NiwgMTU3LCAxMzIpIiBkPSJNIDQuNzczNDM4IDExLjU0Mjk2OSBDIDMu
ODU1NDY5IDEwLjYyMTA5NCAzLjM5MDYyNSA5LjM0NzY1NiAzLjM5MDYyNSA3Ljc2OTUzMSBDIDMu
MzkwNjI1IDYuMTU2MjUgMy44NjMyODEgNC44Nzg5MDYgNC43ODkwNjIgMy45NjQ4NDQgQyA1Ljcx
MDkzOCAzLjA1NDY4OCA3LjAwMzkwNiAyLjU5Mzc1IDguNjI1IDIuNTkzNzUgQyA5LjU3MDMxMiAy
LjU5Mzc1IDEwLjUxOTUzMSAyLjcwNzAzMSAxMS40NDE0MDYgMi45Mjk2ODggQyAxMS44OTA2MjUg
My4wMzUxNTYgMTIuMjEwOTM4IDMuNDM3NSAxMi4yMTA5MzggMy45MDIzNDQgTCAxMi4yMTA5Mzgg
NS4xOTUzMTIgQyAxMi4yMTA5MzggNS41MTk1MzEgMTIuMDUwNzgxIDUuODI0MjE5IDExLjc4OTA2
MiA2LjAxMTcxOSBDIDExLjYxMzI4MSA2LjEzMjgxMiAxMS40MTAxNTYgNi4xOTUzMTIgMTEuMjA3
MDMxIDYuMTk1MzEyIEMgMTEuMDk3NjU2IDYuMTk1MzEyIDEwLjk4NDM3NSA2LjE3OTY4OCAxMC44
Nzg5MDYgNi4xNDA2MjUgQyAxMC4wMTU2MjUgNS44MzU5MzggOS4zMDg1OTQgNS42ODM1OTQgOC43
Njk1MzEgNS42ODM1OTQgQyA4LjA1ODU5NCA1LjY4MzU5NCA3Ljc1MzkwNiA1Ljk0MTQwNiA3LjU4
OTg0NCA2LjEzMjgxMiBDIDcuMjk2ODc1IDYuNDc2NTYyIDcuMTQ4NDM4IDcuMDE5NTMxIDcuMTQ4
NDM4IDcuNzQ2MDk0IEMgNy4xNDg0MzggOC40NDUzMTIgNy4zMDg1OTQgOC45NzI2NTYgNy42MjEw
OTQgOS4zMjAzMTIgQyA3LjgwODU5NCA5LjUyMzQzOCA4LjE0ODQzOCA5Ljc5Njg3NSA4LjkyMTg3
NSA5Ljc5Njg3NSBDIDkuNTQyOTY5IDkuNzk2ODc1IDEwLjE4NzUgOS42MzI4MTIgMTAuODM5ODQ0
IDkuMzA4NTk0IEMgMTAuOTgwNDY5IDkuMjQyMTg4IDExLjEzMjgxMiA5LjIwNzAzMSAxMS4yODUx
NTYgOS4yMDcwMzEgQyAxMS40Njg3NSA5LjIwNzAzMSAxMS42NDg0MzggOS4yNTc4MTIgMTEuODEy
NSA5LjM1OTM3NSBDIDEyLjEwNTQ2OSA5LjUzOTA2MiAxMi4yODUxNTYgOS44NTkzNzUgMTIuMjg1
MTU2IDEwLjIwNzAzMSBMIDEyLjI4NTE1NiAxMS40MjU3ODEgQyAxMi4yODUxNTYgMTEuODIwMzEy
IDEyLjA1MDc4MSAxMi4xNzk2ODggMTEuNjkxNDA2IDEyLjMzOTg0NCBDIDEwLjc5Mjk2OSAxMi43
MzgyODEgOS43MzA0NjkgMTIuOTQxNDA2IDguNTI3MzQ0IDEyLjk0MTQwNiBDIDYuOTU3MDMxIDEy
Ljk0MTQwNiA1LjY5MTQwNiAxMi40NzI2NTYgNC43NzM0MzggMTEuNTQyOTY5Ii8+CisgICAgPHBh
dGggZmlsbD0id2hpdGUiIGQ9Ik0gMTEuMjg1MTU2IDExLjQyNTc4MSBDIDEwLjUxNTYyNSAxMS43
Njk1MzEgOS41OTc2NTYgMTEuOTQxNDA2IDguNTI3MzQ0IDExLjk0MTQwNiBDIDcuMjI2NTYyIDEx
Ljk0MTQwNiA2LjIxMDkzOCAxMS41NzQyMTkgNS40ODQzNzUgMTAuODM5ODQ0IEMgNC43NTc4MTIg
MTAuMTA1NDY5IDQuMzk0NTMxIDkuMDgyMDMxIDQuMzk0NTMxIDcuNzY5NTMxIEMgNC4zOTQ1MzEg
Ni40Mjk2ODggNC43NTc4MTIgNS4zOTg0MzggNS40OTIxODggNC42NzU3ODEgQyA2LjIyMjY1NiAz
Ljk1NzAzMSA3LjI2OTUzMSAzLjU5Mzc1IDguNjI1IDMuNTkzNzUgQyA5LjQ5MjE4OCAzLjU5Mzc1
IDEwLjM1MTU2MiAzLjY5NTMxMiAxMS4yMTA5MzggMy45MDIzNDQgTCAxMS4yMTA5MzggNS4xOTUz
MTIgQyAxMC4yMzgyODEgNC44NTU0NjkgOS40MjU3ODEgNC42ODM1OTQgOC43Njk1MzEgNC42ODM1
OTQgQyA3LjkzMzU5NCA0LjY4MzU5NCA3LjI4NTE1NiA0Ljk0OTIxOSA2LjgzMjAzMSA1LjQ4NDM3
NSBDIDYuMzc1IDYuMDE1NjI1IDYuMTQ4NDM4IDYuNzY5NTMxIDYuMTQ4NDM4IDcuNzQ2MDk0IEMg
Ni4xNDg0MzggOC43MDcwMzEgNi4zOTQ1MzEgOS40NTMxMjUgNi44ODI4MTIgOS45OTIxODggQyA3
LjM3MTA5NCAxMC41MjczNDQgOC4wNTA3ODEgMTAuNzk2ODc1IDguOTIxODc1IDEwLjc5Njg3NSBD
IDkuNzAzMTI1IDEwLjc5Njg3NSAxMC40ODgyODEgMTAuNjAxNTYyIDExLjI4NTE1NiAxMC4yMDcw
MzEgWiIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9NYWluLmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
YWluLmh0bWwKaW5kZXggYjBiNGI1OS4uNWI0ODc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbApAQCAtMjI2LDYgKzIyNiw3IEBACiAgICAgPHNj
cmlwdCBzcmM9IlByb3RvY29sL0RPTVN0b3JhZ2VPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9IlByb3RvY29sL0RhdGFiYXNlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJQcm90b2NvbC9EZWJ1Z2dlck9ic2VydmVyLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSGVhcE9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iUHJvdG9jb2wvSW5zcGVjdG9yQmFja2VuZC5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9IlByb3RvY29sL0luc3BlY3RvckZyb250ZW5kQVBJLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSW5zcGVjdG9yT2JzZXJ2ZXIuanMiPjwvc2NyaXB0
PgpAQCAtMjc5LDYgKzI4MCw3IEBACiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9FeGVjdXRpb25D
b250ZXh0LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0V4ZWN1dGlvbkNv
bnRleHRMaXN0LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0ZyYW1lLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0dhcmJhZ2VDb2xsZWN0aW9uLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0dlb21ldHJ5LmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0dyYWRpZW50LmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iTW9kZWxzL0luZGV4ZWREYXRhYmFzZS5qcyI+PC9zY3JpcHQ+CkBAIC01OTks
NiArNjAxLDcgQEAKICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRm9ybWF0dGVyQ29udGVu
dEJ1aWxkZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9Gb3Jt
YXR0ZXJTb3VyY2VNYXAuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVy
cy9GcmFtZVJlc291cmNlTWFuYWdlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IkNv
bnRyb2xsZXJzL0hlYXBNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29u
dHJvbGxlcnMvSXNzdWVNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29u
dHJvbGxlcnMvSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvSmF2YVNjcmlwdFJ1bnRpbWVDb21wbGV0aW9uUHJvdmlk
ZXIuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvR2FyYmFnZUNvbGxlY3Rpb24uanMK
c2ltaWxhcml0eSBpbmRleCA1NyUKY29weSBmcm9tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzCmNvcHkgdG8g
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dhcmJhZ2VDb2xsZWN0
aW9uLmpzCmluZGV4IDFkMzU4MGEuLjlkMDYzYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HYXJi
YWdlQ29sbGVjdGlvbi5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMjMsMjggKzIzLDU0IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZVRyZWVF
bGVtZW50ID0gY2xhc3MgU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudAorV2ViSW5zcGVjdG9yLkdhcmJhZ2VD
b2xsZWN0aW9uID0gY2xhc3MgR2FyYmFnZUNvbGxlY3Rpb24gZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
T2JqZWN0CiB7Ci0gICAgY29uc3RydWN0b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5h
bWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQorICAgIGNvbnN0cnVj
dG9yKHR5cGUsIHN0YXJ0VGltZSwgZW5kVGltZSkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KHNvdXJjZUNvZGVUaW1lbGluZSk7CisgICAgICAgIHN1cGVyKCk7CiAKLSAgICAgICAgc3Vi
dGl0bGVOYW1lU3R5bGUgPSBzdWJ0aXRsZU5hbWVTdHlsZSB8fCBXZWJJbnNwZWN0b3IuU291cmNl
Q29kZUxvY2F0aW9uLk5hbWVTdHlsZS5Ob25lOworICAgICAgICBjb25zb2xlLmFzc2VydChlbmRU
aW1lID4gc3RhcnRUaW1lKTsKIAotICAgICAgICBzdXBlcihzb3VyY2VDb2RlVGltZWxpbmUucmVj
b3Jkc1swXSwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5U
aXRsZSwgc291cmNlQ29kZVRpbWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbiwgc291cmNlQ29kZVRp
bWVsaW5lKTsKKyAgICAgICAgdGhpcy5fdHlwZSA9IHR5cGU7CisgICAgICAgIHRoaXMuX3N0YXJ0
VGltZSA9IHN0YXJ0VGltZTsKKyAgICAgICAgdGhpcy5fZW5kVGltZSA9IGVuZFRpbWU7CisgICAg
fQogCi0gICAgICAgIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGluZSA9IHNvdXJjZUNvZGVUaW1lbGlu
ZTsKKyAgICAvLyBTdGF0aWMKKworICAgIHN0YXRpYyBmcm9tUGF5bG9hZChwYXlsb2FkKQorICAg
IHsKKyAgICAgICAgbGV0IHR5cGUgPSBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlw
ZS5GdWxsOworICAgICAgICBpZiAocGF5bG9hZC50eXBlID09PSBIZWFwQWdlbnQuR2FyYmFnZUNv
bGxlY3Rpb25UeXBlLlBhcnRpYWwpCisgICAgICAgICAgICB0eXBlID0gV2ViSW5zcGVjdG9yLkdh
cmJhZ2VDb2xsZWN0aW9uLlR5cGUuUGFydGlhbDsKKworICAgICAgICByZXR1cm4gbmV3IFdlYklu
c3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbih0eXBlLCBwYXlsb2FkLnN0YXJ0VGltZSwgcGF5bG9h
ZC5lbmRUaW1lKTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKIAotICAgIGdldCByZWNvcmQoKQor
ICAgIGdldCB0eXBlKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB1bmRlZmluZWQ7CisgICAgICAg
IHJldHVybiB0aGlzLl90eXBlOwogICAgIH0KIAotICAgIGdldCBzb3VyY2VDb2RlVGltZWxpbmUo
KQorICAgIGdldCBzdGFydFRpbWUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJj
ZUNvZGVUaW1lbGluZTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXJ0VGltZTsKICAgICB9CisK
KyAgICBnZXQgZW5kVGltZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fZW5kVGltZTsK
KyAgICB9CisKKyAgICBnZXQgZHVyYXRpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X2VuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7CisgICAgfQorfTsKKworV2ViSW5zcGVjdG9yLkdh
cmJhZ2VDb2xsZWN0aW9uLlR5cGUgPSB7CisgICAgUGFydGlhbDogU3ltYm9sKCJQYXJ0aWFsIiks
CisgICAgRnVsbDogU3ltYm9sKCJGdWxsIikKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxpbmVSZWNvcmQuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxpbmVS
ZWNvcmQuanMKaW5kZXggY2NiNmRhOC4uZThjNjU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1l
bGluZVJlY29yZC5qcwpAQCAtNTgsNiArNTgsMTEgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVs
aW5lUmVjb3JkID0gY2xhc3MgU2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0ZW5kcyBXZWJJbnNwZWMK
ICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2ZpbGU7CiAgICAgfQogCisgICAgaXNHYXJiYWdlQ29s
bGVjdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnRUeXBlID09PSBXZWJJ
bnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQ7
CisgICAgfQorCiAgICAgc2F2ZUlkZW50aXR5VG9Db29raWUoY29va2llKQogICAgIHsKICAgICAg
ICAgc3VwZXIuc2F2ZUlkZW50aXR5VG9Db29raWUoY29va2llKTsKQEAgLTE1OCwxMCArMTYzLDEx
IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUgPSB7CiAgICAg
QW5pbWF0aW9uRnJhbWVGaXJlZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQtYW5pbWF0aW9uLWZy
YW1lLWZpcmVkIiwKICAgICBBbmltYXRpb25GcmFtZVJlcXVlc3RlZDogInNjcmlwdC10aW1lbGlu
ZS1yZWNvcmQtYW5pbWF0aW9uLWZyYW1lLXJlcXVlc3RlZCIsCiAgICAgQW5pbWF0aW9uRnJhbWVD
YW5jZWxlZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQtYW5pbWF0aW9uLWZyYW1lLWNhbmNlbGVk
IiwKLSAgICBDb25zb2xlUHJvZmlsZVJlY29yZGVkOiAic2NyaXB0LXRpbWVsaW5lLXJlY29yZC1j
b25zb2xlLXByb2ZpbGUtcmVjb3JkZWQiCisgICAgQ29uc29sZVByb2ZpbGVSZWNvcmRlZDogInNj
cmlwdC10aW1lbGluZS1yZWNvcmQtY29uc29sZS1wcm9maWxlLXJlY29yZGVkIiwKKyAgICBHYXJi
YWdlQ29sbGVjdGVkOiAic2NyaXB0LXRpbWVsaW5lLXJlY29yZC1nYXJiYWdlLWNvbGxlY3RlZCIK
IH07CiAKLVdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxh
eU5hbWUgPSBmdW5jdGlvbihldmVudFR5cGUsIGRldGFpbHMsIGluY2x1ZGVUaW1lcklkZW50aWZp
ZXJJbk1haW5UaXRsZSkKK1dlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5
cGUuZGlzcGxheU5hbWUgPSBmdW5jdGlvbihldmVudFR5cGUsIGRldGFpbHMsIGluY2x1ZGVEZXRh
aWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkKIHsKICAgICBpZiAoZGV0YWlscyAmJiAhV2ViSW5z
cGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLl9ldmVudERpc3BsYXlOYW1lcykgewogICAgICAg
ICAvLyBUaGVzZSBkaXNwbGF5IG5hbWVzIGFyZSBub3QgbG9jYWxpemVkIGJlY2F1c2UgdGhleSBj
bG9zZWx5IHJlcHJlc2VudApAQCAtMzM1LDE2ICszNDEsMjcgQEAgV2ViSW5zcGVjdG9yLlNjcmlw
dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5kaXNwbGF5TmFtZSA9IGZ1bmN0aW9uKGV2ZW50VHlw
ZSwgZGUKICAgICAgICAgaWYgKGRldGFpbHMgJiYgKGRldGFpbHMgaW5zdGFuY2VvZiBTdHJpbmcg
fHwgdHlwZW9mIGRldGFpbHMgPT09ICJzdHJpbmciKSkKICAgICAgICAgICAgIHJldHVybiBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIuKAnCVz4oCdIFByb2ZpbGUgUmVjb3JkZWQiKS5mb3JtYXQoZGV0
YWlscyk7CiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvbnNvbGUgUHJv
ZmlsZSBSZWNvcmRlZCIpOworICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5HYXJiYWdlQ29sbGVjdGVkOgorICAgICAgICBjb25zb2xlLmFzc2VydChk
ZXRhaWxzKTsKKyAgICAgICAgaWYgKGRldGFpbHMgJiYgKGRldGFpbHMgaW5zdGFuY2VvZiBXZWJJ
bnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24pICYmIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25J
bk1haW5UaXRsZSkgeworICAgICAgICAgICAgc3dpdGNoIChkZXRhaWxzLnR5cGUpIHsKKyAgICAg
ICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUuUGFydGlhbDoK
KyAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXJ0aWFsIEdh
cmJhZ2UgQ29sbGVjdGlvbiIpOworICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuR2FyYmFn
ZUNvbGxlY3Rpb24uVHlwZS5GdWxsOgorICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkZ1bGwgR2FyYmFnZSBDb2xsZWN0aW9uIik7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiR2FyYmFnZSBD
b2xsZWN0aW9uIik7CiAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQu
RXZlbnRUeXBlLlRpbWVyRmlyZWQ6Ci0gICAgICAgIGlmIChkZXRhaWxzICYmIGluY2x1ZGVUaW1l
cklkZW50aWZpZXJJbk1haW5UaXRsZSkKKyAgICAgICAgaWYgKGRldGFpbHMgJiYgaW5jbHVkZURl
dGFpbHNJbmZvcm1hdGlvbkluTWFpblRpdGxlKQogICAgICAgICAgICAgcmV0dXJuIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiVGltZXIgJXMgRmlyZWQiKS5mb3JtYXQoZGV0YWlscyk7CiAgICAgICAg
IHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVyIEZpcmVkIik7CiAgICAgY2FzZSBX
ZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVySW5zdGFsbGVk
OgotICAgICAgICBpZiAoZGV0YWlscyAmJiBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0
bGUpCisgICAgICAgIGlmIChkZXRhaWxzICYmIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1h
aW5UaXRsZSkKICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVy
ICVzIEluc3RhbGxlZCIpLmZvcm1hdChkZXRhaWxzKTsKICAgICAgICAgcmV0dXJuIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiVGltZXIgSW5zdGFsbGVkIik7CiAgICAgY2FzZSBXZWJJbnNwZWN0b3Iu
U2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyUmVtb3ZlZDoKLSAgICAgICAgaWYg
KGRldGFpbHMgJiYgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQorICAgICAgICBp
ZiAoZGV0YWlscyAmJiBpbmNsdWRlRGV0YWlsc0luZm9ybWF0aW9uSW5NYWluVGl0bGUpCiAgICAg
ICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lciAlcyBSZW1vdmVkIiku
Zm9ybWF0KGRldGFpbHMpOwogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJU
aW1lciBSZW1vdmVkIik7CiAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNv
cmQuRXZlbnRUeXBlLkFuaW1hdGlvbkZyYW1lRmlyZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxl
bWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0hl
YXBPYnNlcnZlci5qcwpzaW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20gU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1l
bnQuanMKY29weSB0byBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2Nv
bC9IZWFwT2JzZXJ2ZXIuanMKaW5kZXggMWQzNTgwYS4uZjA0YjMwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5l
VHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
UHJvdG9jb2wvSGVhcE9ic2VydmVyLmpzCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywyOCArMjMsMTIgQEAKICAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3IuU291cmNlQ29kZVRpbWVs
aW5lVHJlZUVsZW1lbnQgPSBjbGFzcyBTb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCBleHRl
bmRzIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50CitXZWJJbnNwZWN0b3Iu
SGVhcE9ic2VydmVyID0gY2xhc3MgSGVhcE9ic2VydmVyCiB7Ci0gICAgY29uc3RydWN0b3Ioc291
cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmll
ckluTWFpblRpdGxlKQotICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoc291cmNlQ29kZVRp
bWVsaW5lKTsKLQotICAgICAgICBzdWJ0aXRsZU5hbWVTdHlsZSA9IHN1YnRpdGxlTmFtZVN0eWxl
IHx8IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlTG9jYXRpb24uTmFtZVN0eWxlLk5vbmU7Ci0KLSAg
ICAgICAgc3VwZXIoc291cmNlQ29kZVRpbWVsaW5lLnJlY29yZHNbMF0sIHN1YnRpdGxlTmFtZVN0
eWxlLCBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0bGUsIHNvdXJjZUNvZGVUaW1lbGlu
ZS5zb3VyY2VDb2RlTG9jYXRpb24sIHNvdXJjZUNvZGVUaW1lbGluZSk7Ci0KLSAgICAgICAgdGhp
cy5fc291cmNlQ29kZVRpbWVsaW5lID0gc291cmNlQ29kZVRpbWVsaW5lOwotICAgIH0KLQotICAg
IC8vIFB1YmxpYwotCi0gICAgZ2V0IHJlY29yZCgpCi0gICAgewotICAgICAgICByZXR1cm4gdW5k
ZWZpbmVkOwotICAgIH0KKyAgICAvLyBFdmVudHMgZGVmaW5lZCBieSB0aGUgIkhlYXAiIGRvbWFp
bi4KIAotICAgIGdldCBzb3VyY2VDb2RlVGltZWxpbmUoKQorICAgIGdhcmJhZ2VDb2xsZWN0ZWQo
Y29sbGVjdGlvbikKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9zb3VyY2VDb2RlVGltZWxp
bmU7CisgICAgICAgIFdlYkluc3BlY3Rvci5oZWFwTWFuYWdlci5nYXJiYWdlQ29sbGVjdGVkKGNv
bGxlY3Rpb24pOwogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9UZXN0Lmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9UZXN0Lmh0bWwKaW5kZXggYmZjOWQwNy4uMTFkNmQ0ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbApAQCAtNjIsNiArNjIsNyBAQAogICAg
IDxzY3JpcHQgc3JjPSJQcm90b2NvbC9ET01PYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCBzcmM9IlByb3RvY29sL0RPTVN0b3JhZ2VPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9IlByb3RvY29sL0RlYnVnZ2VyT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSJQcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJQcm90b2NvbC9OZXR3b3JrT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJQcm90b2NvbC9QYWdlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJQcm90b2NvbC9SZW1vdGVPYmplY3QuanMiPjwvc2NyaXB0PgpAQCAtOTcsNiArOTgs
NyBAQAogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvRXhlY3V0aW9uQ29udGV4dC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9FeGVjdXRpb25Db250ZXh0TGlzdC5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9GcmFtZS5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ik1vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9Ik1vZGVscy9HZW9tZXRyeS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9Ik1vZGVscy9JbmRleGVkRGF0YWJhc2UuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJNb2RlbHMvSW5kZXhlZERhdGFiYXNlT2JqZWN0U3RvcmUuanMiPjwvc2NyaXB0PgpAQCAtMTQw
LDYgKzE0Miw3IEBACiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2Vy
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRGVidWdnZXJNYW5h
Z2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRnJhbWVSZXNv
dXJjZU1hbmFnZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9I
ZWFwTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0lz
c3VlTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0xv
Z01hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9Qcm9i
ZU1hbmFnZXIuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVGVzdC9UZXN0LmpzCmluZGV4IDdiMjhkNTUuLmM5OWJlOTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvVGVzdC5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3QuanMKQEAgLTQxLDYg
KzQxLDcgQEAgV2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRPTU9ic2VydmVy
KTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyTmV0d29ya0Rpc3BhdGNoZXIobmV3IFdl
Ykluc3BlY3Rvci5OZXR3b3JrT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJEZWJ1Z2dlckRpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlck9ic2VydmVyKTsK
KyAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVySGVhcERpc3BhdGNoZXIobmV3IFdlYkluc3Bl
Y3Rvci5IZWFwT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJUaW1lbGlu
ZURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZU9ic2VydmVyKTsKICAgICBJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ1NTRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkNTU09i
c2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyUnVudGltZURpc3BhdGNoZXIo
bmV3IFdlYkluc3BlY3Rvci5SdW50aW1lT2JzZXJ2ZXIpOwpAQCAtNTQsNiArNTUsNyBAQCBXZWJJ
bnNwZWN0b3IubG9hZGVkID0gZnVuY3Rpb24oKQogICAgIHRoaXMubG9nTWFuYWdlciA9IG5ldyBX
ZWJJbnNwZWN0b3IuTG9nTWFuYWdlcjsKICAgICB0aGlzLmlzc3VlTWFuYWdlciA9IG5ldyBXZWJJ
bnNwZWN0b3IuSXNzdWVNYW5hZ2VyOwogICAgIHRoaXMucnVudGltZU1hbmFnZXIgPSBuZXcgV2Vi
SW5zcGVjdG9yLlJ1bnRpbWVNYW5hZ2VyOworICAgIHRoaXMuaGVhcE1hbmFnZXIgPSBuZXcgV2Vi
SW5zcGVjdG9yLkhlYXBNYW5hZ2VyOwogICAgIHRoaXMudGltZWxpbmVNYW5hZ2VyID0gbmV3IFdl
Ykluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXI7CiAgICAgdGhpcy5kZWJ1Z2dlck1hbmFnZXIgPSBu
ZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFuYWdlcjsKICAgICB0aGlzLnByb2JlTWFuYWdlciA9
IG5ldyBXZWJJbnNwZWN0b3IuUHJvYmVNYW5hZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1l
bGluZURhdGFHcmlkTm9kZS5qcwppbmRleCAwMzU0MDQyLi4xNmFmODIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURh
dGFHcmlkTm9kZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcwpAQCAtNzcsOCArNzcsMTUgQEAgV2Vi
SW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgU2NyaXB0VGltZWxp
bmVEYXRhR3JpZE5vZGUgZXh0ZW4KICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAg
IHJldHVybiB7ZXZlbnRUeXBlOiB0aGlzLl9yZWNvcmQuZXZlbnRUeXBlLCBzdGFydFRpbWUsIHNl
bGZUaW1lOiBkdXJhdGlvbiwgdG90YWxUaW1lOiBkdXJhdGlvbiwKLSAgICAgICAgICAgIGF2ZXJh
Z2VUaW1lOiBkdXJhdGlvbiwgY2FsbENvdW50OiAxLCBsb2NhdGlvbjogY2FsbEZyYW1lT3JTb3Vy
Y2VDb2RlTG9jYXRpb259OworICAgICAgICByZXR1cm4geworICAgICAgICAgICAgZXZlbnRUeXBl
OiB0aGlzLl9yZWNvcmQuZXZlbnRUeXBlLAorICAgICAgICAgICAgc3RhcnRUaW1lLAorICAgICAg
ICAgICAgc2VsZlRpbWU6IGR1cmF0aW9uLAorICAgICAgICAgICAgdG90YWxUaW1lOiBkdXJhdGlv
biwKKyAgICAgICAgICAgIGF2ZXJhZ2VUaW1lOiBkdXJhdGlvbiwKKyAgICAgICAgICAgIGNhbGxD
b3VudDogTmFOLAorICAgICAgICAgICAgbG9jYXRpb246IGNhbGxGcmFtZU9yU291cmNlQ29kZUxv
Y2F0aW9uCisgICAgICAgIH07CiAgICAgfQogCiAgICAgdXBkYXRlUmFuZ2VUaW1lcyhzdGFydFRp
bWUsIGVuZFRpbWUpCkBAIC0xMjQsNiArMTMxLDkgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVs
aW5lRGF0YUdyaWROb2RlID0gY2xhc3MgU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW4K
ICAgICAgICAgY2FzZSAidG90YWxUaW1lIjoKICAgICAgICAgY2FzZSAiYXZlcmFnZVRpbWUiOgog
ICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVtcHR5VmFsdWVQbGFjZWhvbGRlclN0
cmluZyA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUsIHRydWUpOworCisgICAgICAgIGNh
c2UgImNhbGxDb3VudCI6CisgICAgICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpID8gZW1wdHlW
YWx1ZVBsYWNlaG9sZGVyU3RyaW5nIDogdmFsdWU7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1
cm4gc3VwZXIuY3JlYXRlQ2VsbENvbnRlbnQoY29sdW1uSWRlbnRpZmllciwgY2VsbCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRU
aW1lbGluZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggNzFlZTlhMS4u
NDUxYTRmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5q
cwpAQCAtNzMsNyArNzMsMTEgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lT3ZlcnZpZXdH
cmFwaCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHQKICAgICAgICAgICAg
ICsrcmVjb3JkQmFySW5kZXg7CiAgICAgICAgIH0KIAotICAgICAgICBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSZWNvcmRCYXIuY3JlYXRlQ29tYmluZWRCYXJzKHRoaXMuX3NjcmlwdFRpbWVsaW5lLnJl
Y29yZHMsIHNlY29uZHNQZXJQaXhlbCwgdGhpcywgY3JlYXRlQmFyLmJpbmQodGhpcykpOworICAg
ICAgICAvLyBDcmVhdGUgYmFycyBmb3Igbm9uLUdDIHJlY29yZHMgYW5kIEdDIHJlY29yZHMuCisg
ICAgICAgIGxldCBbZ2NSZWNvcmRzLCBub25HQ1JlY29yZHNdID0gdGhpcy5fc2NyaXB0VGltZWxp
bmUucmVjb3Jkcy5wYXJ0aXRpb24oKHgpID0+IHguaXNHYXJiYWdlQ29sbGVjdGlvbigpKTsKKyAg
ICAgICAgbGV0IGJvdW5kQ3JlYXRlQmFyID0gY3JlYXRlQmFyLmJpbmQodGhpcyk7CisgICAgICAg
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEJhci5jcmVhdGVDb21iaW5lZEJhcnMobm9uR0NS
ZWNvcmRzLCBzZWNvbmRzUGVyUGl4ZWwsIHRoaXMsIGJvdW5kQ3JlYXRlQmFyKTsKKyAgICAgICAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkQmFyLmNyZWF0ZUNvbWJpbmVkQmFycyhnY1JlY29y
ZHMsIHNlY29uZHNQZXJQaXhlbCwgdGhpcywgYm91bmRDcmVhdGVCYXIpOwogCiAgICAgICAgIC8v
IFJlbW92ZSB0aGUgcmVtYWluaW5nIHVudXNlZCBUaW1lbGluZVJlY29yZEJhcnMuCiAgICAgICAg
IGZvciAoOyByZWNvcmRCYXJJbmRleCA8IHRoaXMuX3RpbWVsaW5lUmVjb3JkQmFycy5sZW5ndGg7
ICsrcmVjb3JkQmFySW5kZXgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lVmlldy5qcwppbmRleCA5
ZjVlMTM1Li43ZWE1MTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVWaWV3LmpzCkBAIC0yMjks
NiArMjI5LDEwIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVZpZXcgPSBjbGFzcyBTY3Jp
cHRUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAgICAgICAgIGlmICghdGhpcy5f
cGVuZGluZ1JlY29yZHMubGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgIHZh
ciB6ZXJvVGltZSA9IHRoaXMuemVyb1RpbWU7CisgICAgICAgIHZhciBzdGFydFRpbWUgPSB0aGlz
LnN0YXJ0VGltZTsKKyAgICAgICAgdmFyIGVuZFRpbWUgPSB0aGlzLmVuZFRpbWU7CisKICAgICAg
ICAgZm9yICh2YXIgc2NyaXB0VGltZWxpbmVSZWNvcmQgb2YgdGhpcy5fcGVuZGluZ1JlY29yZHMp
IHsKICAgICAgICAgICAgIHZhciByb290Tm9kZXMgPSBbXTsKICAgICAgICAgICAgIGlmIChzY3Jp
cHRUaW1lbGluZVJlY29yZC5wcm9maWxlKSB7CkBAIC0yMzYsMTUgKzI0MCwxMSBAQCBXZWJJbnNw
ZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3ID0gY2xhc3MgU2NyaXB0VGltZWxpbmVWaWV3IGV4dGVu
ZHMgV2ViSW5zcGVjdG9yLgogICAgICAgICAgICAgICAgIHJvb3ROb2RlcyA9IHNjcmlwdFRpbWVs
aW5lUmVjb3JkLnByb2ZpbGUudG9wRG93blJvb3ROb2RlczsKICAgICAgICAgICAgIH0KIAotICAg
ICAgICAgICAgdmFyIHplcm9UaW1lID0gdGhpcy56ZXJvVGltZTsKLSAgICAgICAgICAgIHZhciB0
cmVlRWxlbWVudCA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudChz
Y3JpcHRUaW1lbGluZVJlY29yZCwgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVMb2NhdGlvbi5OYW1l
U3R5bGUuU2hvcnQsIHJvb3ROb2Rlcy5sZW5ndGgpOworICAgICAgICAgICAgdmFyIHRyZWVFbGVt
ZW50ID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50KHNjcmlwdFRp
bWVsaW5lUmVjb3JkLCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5T
aG9ydCwgdHJ1ZSk7CiAgICAgICAgICAgICB2YXIgZGF0YUdyaWROb2RlID0gbmV3IFdlYkluc3Bl
Y3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZShzY3JpcHRUaW1lbGluZVJlY29yZCwgemVy
b1RpbWUpOwogCiAgICAgICAgICAgICB0aGlzLl9kYXRhR3JpZC5hZGRSb3dJblNvcnRPcmRlcih0
cmVlRWxlbWVudCwgZGF0YUdyaWROb2RlKTsKIAotICAgICAgICAgICAgdmFyIHN0YXJ0VGltZSA9
IHRoaXMuc3RhcnRUaW1lOwotICAgICAgICAgICAgdmFyIGVuZFRpbWUgPSB0aGlzLmVuZFRpbWU7
Ci0KICAgICAgICAgICAgIGZvciAodmFyIHByb2ZpbGVOb2RlIG9mIHJvb3ROb2RlcykgewogICAg
ICAgICAgICAgICAgIHZhciBwcm9maWxlTm9kZVRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rv
ci5Qcm9maWxlTm9kZVRyZWVFbGVtZW50KHByb2ZpbGVOb2RlLCB0aGlzKTsKICAgICAgICAgICAg
ICAgICB2YXIgcHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlByb2Zp
bGVOb2RlRGF0YUdyaWROb2RlKHByb2ZpbGVOb2RlLCB6ZXJvVGltZSwgc3RhcnRUaW1lLCBlbmRU
aW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMK
aW5kZXggMWQzNTgwYS4uNTk3YTczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRp
bWVsaW5lVHJlZUVsZW1lbnQuanMKQEAgLTI1LDEzICsyNSwxMyBAQAogCiBXZWJJbnNwZWN0b3Iu
U291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgPSBjbGFzcyBTb3VyY2VDb2RlVGltZWxpbmVU
cmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50
CiB7Ci0gICAgY29uc3RydWN0b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHls
ZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQorICAgIGNvbnN0cnVjdG9yKHNv
dXJjZUNvZGVUaW1lbGluZSwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVEZXRhaWxzSW5mb3Jt
YXRpb25Jbk1haW5UaXRsZSkKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNvdXJjZUNv
ZGVUaW1lbGluZSk7CiAKICAgICAgICAgc3VidGl0bGVOYW1lU3R5bGUgPSBzdWJ0aXRsZU5hbWVT
dHlsZSB8fCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5Ob25lOwog
Ci0gICAgICAgIHN1cGVyKHNvdXJjZUNvZGVUaW1lbGluZS5yZWNvcmRzWzBdLCBzdWJ0aXRsZU5h
bWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlLCBzb3VyY2VDb2RlVGlt
ZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uLCBzb3VyY2VDb2RlVGltZWxpbmUpOworICAgICAgICBz
dXBlcihzb3VyY2VDb2RlVGltZWxpbmUucmVjb3Jkc1swXSwgc3VidGl0bGVOYW1lU3R5bGUsIGlu
Y2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSwgc291cmNlQ29kZVRpbWVsaW5lLnNv
dXJjZUNvZGVMb2NhdGlvbiwgc291cmNlQ29kZVRpbWVsaW5lKTsKIAogICAgICAgICB0aGlzLl9z
b3VyY2VDb2RlVGltZWxpbmUgPSBzb3VyY2VDb2RlVGltZWxpbmU7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVJY29u
cy5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZUljb25zLmNzcwppbmRleCA0OWIxZjRiLi5mMGVhMjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNz
cwpAQCAtMTAzLDYgKzEwMywxMCBAQAogICAgIGNvbnRlbnQ6IHVybCguLi9JbWFnZXMvVGltZWxp
bmVSZWNvcmRDb25zb2xlUHJvZmlsZS5zdmcpOwogfQogCisuZ2FyYmFnZS1jb2xsZWN0aW9uLXBy
b2ZpbGUtcmVjb3JkIC5pY29uIHsKKyAgICBjb250ZW50OiB1cmwoLi4vSW1hZ2VzL1RpbWVsaW5l
UmVjb3JkR2FyYmFnZUNvbGxlY3Rpb24uc3ZnKTsKK30KKwogLnRpbWVyLXJlY29yZCAuaWNvbiB7
CiAgICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9UaW1lbGluZVJlY29yZFRpbWVyLnN2Zyk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZVJlY29yZEJhci5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5jc3MKaW5kZXggNDVkNWRmZS4uNDZiYmVhNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVSZWNvcmRCYXIuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmNzcwpAQCAtOTgsMyArOTgsOCBAQAogICAgIGJhY2tn
cm91bmQtY29sb3I6IGhzbCgyNjksIDY1JSwgNzQlKTsKICAgICBib3JkZXItY29sb3I6IGhzbCgy
NzMsIDMzJSwgNTglKTsKIH0KKworLnRpbWVsaW5lLXJlY29yZC1iYXIudGltZWxpbmUtcmVjb3Jk
LXR5cGUtc2NyaXB0LnNjcmlwdC10aW1lbGluZS1yZWNvcmQtZ2FyYmFnZS1jb2xsZWN0ZWQgPiAu
c2VnbWVudCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDIzLCA2OSUsIDczJSk7CisgICAg
Ym9yZGVyLWNvbG9yOiBoc2woMTEsIDU0JSwgNjIlKTsgICAgCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVj
b3JkQmFyLmpzCmluZGV4IDY0OTIxOTEuLmVkN2IwNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3Jk
QmFyLmpzCkBAIC0xMzQsMjEgKzEzNCwyMyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRC
YXIgPSBjbGFzcyBUaW1lbGluZVJlY29yZEJhciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYgogICAg
ICAgICB2YXIgc3RhcnRUaW1lUHJvcGVydHkgPSB1c2VzQWN0aXZlU3RhcnRUaW1lID8gImFjdGl2
ZVN0YXJ0VGltZSIgOiAic3RhcnRUaW1lIjsKIAogICAgICAgICBmb3IgKHZhciByZWNvcmQgb2Yg
dmlzaWJsZVJlY29yZHMpIHsKKyAgICAgICAgICAgIHZhciBzdGFydFRpbWUgPSByZWNvcmRbc3Rh
cnRUaW1lUHJvcGVydHldOworCiAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgcHJldmlvdXMg
cmVjb3JkIGlzIGZhciBlbm91Z2ggYXdheSB0byBjcmVhdGUgdGhlIGFjdGl2ZSBiYXIuIFdlIGFs
c28gY3JlYXRlIGl0IG5vdyBpZiB0aGUgY3VycmVudCByZWNvcmQgaGFzIG5vIGFjdGl2ZSBzdGF0
ZSB0aW1lLgotICAgICAgICAgICAgaWYgKCFpc05hTihhY3RpdmVTdGFydFRpbWUpICYmIChhY3Rp
dmVTdGFydFRpbWUgKyBNYXRoLm1heChhY3RpdmVFbmRUaW1lIC0gYWN0aXZlU3RhcnRUaW1lLCBt
aW5pbXVtRHVyYXRpb24pICsgbWluaW11bU1hcmdpbiA8PSByZWNvcmRbc3RhcnRUaW1lUHJvcGVy
dHldCi0gICAgICAgICAgICAgICAgfHwgKGlzTmFOKHJlY29yZFtzdGFydFRpbWVQcm9wZXJ0eV0p
ICYmICFpc05hTihhY3RpdmVFbmRUaW1lKSkpKSB7CisgICAgICAgICAgICBpZiAoIWlzTmFOKGFj
dGl2ZVN0YXJ0VGltZSkgJiYgKGFjdGl2ZVN0YXJ0VGltZSArIE1hdGgubWF4KGFjdGl2ZUVuZFRp
bWUgLSBhY3RpdmVTdGFydFRpbWUsIG1pbmltdW1EdXJhdGlvbikgKyBtaW5pbXVtTWFyZ2luIDw9
IHN0YXJ0VGltZQorICAgICAgICAgICAgICAgIHx8IChpc05hTihzdGFydFRpbWUpICYmICFpc05h
TihhY3RpdmVFbmRUaW1lKSkpKSB7CiAgICAgICAgICAgICAgICAgY3JlYXRlQmFyQ2FsbGJhY2so
YWN0aXZlUmVjb3JkcywgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkQmFyLlJlbmRlck1vZGUu
QWN0aXZlT25seSk7CiAgICAgICAgICAgICAgICAgYWN0aXZlUmVjb3JkcyA9IFtdOwogICAgICAg
ICAgICAgICAgIGFjdGl2ZVN0YXJ0VGltZSA9IE5hTjsKICAgICAgICAgICAgICAgICBhY3RpdmVF
bmRUaW1lID0gTmFOOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAoaXNOYU4ocmVj
b3JkW3N0YXJ0VGltZVByb3BlcnR5XSkpCisgICAgICAgICAgICBpZiAoaXNOYU4oc3RhcnRUaW1l
KSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAgICAgLy8gSWYgdGhpcyBp
cyBhIG5ldyBiYXIsIHBlZyB0aGUgc3RhcnQgdGltZS4KICAgICAgICAgICAgIGlmIChpc05hTihh
Y3RpdmVTdGFydFRpbWUpKQotICAgICAgICAgICAgICAgIGFjdGl2ZVN0YXJ0VGltZSA9IHJlY29y
ZFtzdGFydFRpbWVQcm9wZXJ0eV07CisgICAgICAgICAgICAgICAgYWN0aXZlU3RhcnRUaW1lID0g
c3RhcnRUaW1lOwogCiAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIGVuZCB0aW1lIHRvIGJlIHRo
ZSBtYXhpbXVtIHdlIGVuY291bnRlci4gYWN0aXZlRW5kVGltZSBtaWdodCBiZSBOYU4sIHNvICJ8
fCAwIiB0byBwcmV2ZW50IE1hdGgubWF4IGZyb20gcmV0dXJuaW5nIE5hTi4KICAgICAgICAgICAg
IGlmICghaXNOYU4ocmVjb3JkLmVuZFRpbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3Jk
VHJlZUVsZW1lbnQuanMKaW5kZXggZDMxMWY0Yi4uOGU1OGNmZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxl
bWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZVJlY29yZFRyZWVFbGVtZW50LmpzCkBAIC0yNSw3ICsyNSw3IEBACiAKIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRUcmVl
RWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQKIHsKLSAgICBj
b25zdHJ1Y3Rvcih0aW1lbGluZVJlY29yZCwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVUaW1l
cklkZW50aWZpZXJJbk1haW5UaXRsZSwgc291cmNlQ29kZUxvY2F0aW9uLCByZXByZXNlbnRlZE9i
amVjdCkKKyAgICBjb25zdHJ1Y3Rvcih0aW1lbGluZVJlY29yZCwgc3VidGl0bGVOYW1lU3R5bGUs
IGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSwgc291cmNlQ29kZUxvY2F0aW9u
LCByZXByZXNlbnRlZE9iamVjdCkKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVs
aW5lUmVjb3JkKTsKIApAQCAtNzIsNyArNzIsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmRUcmVlRWxlbWVudCA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQgZXh0ZW5kcwog
ICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmQuVHlwZS5TY3JpcHQ6Ci0gICAgICAgICAgICB0aXRsZSA9IFdlYkluc3BlY3Rvci5TY3Jp
cHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxheU5hbWUodGltZWxpbmVSZWNvcmQuZXZl
bnRUeXBlLCB0aW1lbGluZVJlY29yZC5kZXRhaWxzLCBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5N
YWluVGl0bGUpOworICAgICAgICAgICAgdGl0bGUgPSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxp
bmVSZWNvcmQuRXZlbnRUeXBlLmRpc3BsYXlOYW1lKHRpbWVsaW5lUmVjb3JkLmV2ZW50VHlwZSwg
dGltZWxpbmVSZWNvcmQuZGV0YWlscywgaW5jbHVkZURldGFpbHNJbmZvcm1hdGlvbkluTWFpblRp
dGxlKTsKIAogICAgICAgICAgICAgc3dpdGNoICh0aW1lbGluZVJlY29yZC5ldmVudFR5cGUpIHsK
ICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50
VHlwZS5TY3JpcHRFdmFsdWF0ZWQ6CkBAIC04Nyw2ICs4Nyw5IEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZFRyZWVFbGVtZW50ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCBl
eHRlbmRzCiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29y
ZC5FdmVudFR5cGUuQ29uc29sZVByb2ZpbGVSZWNvcmRlZDoKICAgICAgICAgICAgICAgICBpY29u
U3R5bGVDbGFzcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkNvbnNv
bGVQcm9maWxlSWNvblN0eWxlQ2xhc3M7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuR2Fy
YmFnZUNvbGxlY3RlZDoKKyAgICAgICAgICAgICAgICBpY29uU3R5bGVDbGFzcyA9IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkdhcmJhZ2VDb2xsZWN0aW9uSWNvblN0eWxl
Q2xhc3M7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFdlYkluc3Bl
Y3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGltZXJGaXJlZDoKICAgICAgICAg
ICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1l
ckluc3RhbGxlZDoKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5l
UmVjb3JkLkV2ZW50VHlwZS5UaW1lclJlbW92ZWQ6CkBAIC0xNjgsMyArMTcxLDQgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuVGltZXJSZWNvcmRJY29uU3R5bGVDbGFz
cyA9ICJ0aW1lci1yZWNvcmQKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50
LkFuaW1hdGlvblJlY29yZEljb25TdHlsZUNsYXNzID0gImFuaW1hdGlvbi1yZWNvcmQiOwogV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuUHJvYmVSZWNvcmRJY29uU3R5bGVD
bGFzcyA9ICJwcm9iZS1yZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVs
ZW1lbnQuQ29uc29sZVByb2ZpbGVJY29uU3R5bGVDbGFzcyA9ICJjb25zb2xlLXByb2ZpbGUtcmVj
b3JkIjsKK1dlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkdhcmJhZ2VDb2xs
ZWN0aW9uSWNvblN0eWxlQ2xhc3MgPSAiZ2FyYmFnZS1jb2xsZWN0aW9uLXByb2ZpbGUtcmVjb3Jk
IjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263132</attachid>
            <date>2015-10-14 18:54:10 -0700</date>
            <delta_ts>2015-10-15 10:25:04 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>gc-5.patch</filename>
            <type>text/plain</type>
            <size>81856</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwYmI5OTliLi5kNWYwYjlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMTAt
MTQgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBJbmNsdWRlIEdhcmJhZ2UgQ29sbGVjdGlvbiBFdmVudCBpbiBUaW1lbGluZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvaGVhcC9nYXJiYWdlQ29sbGVjdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9oZWFwL2djLmh0bWw6IEFkZGVkLgorCiAyMDE1LTEwLTE0ICBKaWV3ZW4gVGFuICA8amlld2Vu
X3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUG9zdHBvbmUgbXV0YXRpb24gZXZlbnRzIGJlZm9y
ZSBpbnZva2UgRWRpdG9yOjpDb21tYW5kIGNvbW1hbmQoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcm
LCBib29sKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2dhcmJhZ2VD
b2xsZWN0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2hlYXAvZ2FyYmFn
ZUNvbGxlY3RlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZWE4YzdmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFw
L2dhcmJhZ2VDb2xsZWN0ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGVzdCBmb3Ig
dGhlIEhlYXAuZ2FyYmFnZUNvbGxlY3RlZCBldmVudC4KKworCis9PSBSdW5uaW5nIHRlc3Qgc3Vp
dGU6IEhlYXAuZ2FyYmFnZUNvbGxlY3RlZAorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRyaWdnZXJH
Q3MKK1BBU1M6IFNob3VsZCBzZWUgYm90aCBhIFBhcnRpYWwgYW5kIEZ1bGwgR2FyYmFnZSBDb2xs
ZWN0aW9uLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYXJiYWdl
Q29sbGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYXJiYWdlQ29sbGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc4NTA3YQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2dhcmJhZ2VDb2xsZWN0
ZWQuaHRtbApAQCAtMCwwICsxLDY4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0cmlnZ2VyR0NzKCkK
K3sKKyAgICBmdW5jdGlvbiBhbGxvY2F0ZU9iamVjdHMoKSB7CisgICAgICAgIHZhciBsaXN0ID0g
W107CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpCisgICAgICAgICAgICBs
aXN0LnB1c2goe3g6aX0pOworICAgICAgICByZXR1cm4gbGlzdDsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBhbGxvY2F0ZUxhcmdlTGlzdCgpIHsKKyAgICAgICAgdmFyIGxhcmdlTGlzdCA9IFtdOwor
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgKytpKQorICAgICAgICAgICAgbGFyZ2VM
aXN0LnB1c2goYWxsb2NhdGVPYmplY3RzKCkpOworICAgICAgICByZXR1cm4gbGFyZ2VMaXN0Owor
ICAgIH0KKworICAgIHZhciBwYXJ0aWFsTGlzdCA9IFtdOworICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgMTAwOyArK2kpCisgICAgICAgIHBhcnRpYWxMaXN0LnB1c2goYWxsb2NhdGVMYXJnZUxpc3Qo
KSk7Cit9CisKK2Z1bmN0aW9uIHBlcmlvZGljYWxseVRyaWdnZXJHQ3MoKQoreworICAgIHNldElu
dGVydmFsKHRyaWdnZXJHQ3MsIDIwKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0
IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJIZWFwLmdhcmJhZ2VDb2xs
ZWN0ZWQiKTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlRyaWdn
ZXJHQ3MiLAorICAgICAgICBkZXNjcmlwdGlvbjogIkV2YWx1YXRpbmcgYWxsb2NhdGlvbiBoZWF2
eSBKYXZhU2NyaXB0IHNob3VsZCB0cmlnZ2VyIEhlYXAuZ2FyYmFnZUNvbGxlY3RlZCBldmVudHMu
IiwKKyAgICAgICAgdGVzdDogKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicGVyaW9kaWNhbGx5VHJpZ2dlckdDcygpIik7CisK
KyAgICAgICAgICAgIGxldCBzZWVuRnVsbCA9IGZhbHNlOworICAgICAgICAgICAgbGV0IHNlZW5Q
YXJ0aWFsID0gZmFsc2U7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuaGVhcE1hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSGVhcE1hbmFnZXIuRXZlbnQuR2FyYmFnZUNvbGxl
Y3RlZCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKHNlZW5GdWxsICYmIHNlZW5Q
YXJ0aWFsKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICBp
ZiAoZXZlbnQuZGF0YS5jb2xsZWN0aW9uLnR5cGUgPT09IFdlYkluc3BlY3Rvci5HYXJiYWdlQ29s
bGVjdGlvbi5UeXBlLkZ1bGwpCisgICAgICAgICAgICAgICAgICAgIHNlZW5GdWxsID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICBlbHNlIGlmIChldmVudC5kYXRhLmNvbGxlY3Rpb24udHlwZSA9PT0g
V2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUuUGFydGlhbCkKKyAgICAgICAgICAg
ICAgICAgICAgc2VlblBhcnRpYWwgPSB0cnVlOworCisgICAgICAgICAgICAgICAgaWYgKHNlZW5G
dWxsICYmIHNlZW5QYXJ0aWFsKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJQQVNTOiBTaG91bGQgc2VlIGJvdGggYSBQYXJ0aWFsIGFuZCBGdWxsIEdhcmJhZ2UgQ29s
bGVjdGlvbi4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5y
dW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdCBmb3IgdGhlIEhlYXAuZ2FyYmFnZUNvbGxlY3RlZCBl
dmVudC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9n
Yy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQwNjIy
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2djLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1Rlc3QgZm9yIHRoZSBIZWFwLmdjIGNvbW1hbmQuCisK
KworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBIZWFwLmdjCistLSBSdW5uaW5nIHRlc3QgY2FzZTog
VHJpZ2dlckdDU2hvdWxkQ3JlYXRlR0NFdmVudAorUEFTUzogRXZlbnQgc2hvdWxkIGhhdmUgR2Fy
YmFnZUNvbGxlY3Rpb24gZGF0YS4KK1BBU1M6IEdhcmJhZ2VDb2xsZWN0aW9uIHR5cGUgc2hvdWxk
IGJlIEZ1bGwuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFwL2djLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmQwMTdmMzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvaGVhcC9nYy5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhZG9jdHlwZSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNT
dWl0ZSgiSGVhcC5nYyIpOworCisgICAgSW5zcGVjdG9yVGVzdC5kdW1wQWN0aXZpdHlUb1N5c3Rl
bUNvbnNvbGUgPSB0cnVlOworICAgIEluc3BlY3RvckJhY2tlbmQuZHVtcEluc3BlY3RvclByb3Rv
Y29sTWVzc2FnZXMgPSB0cnVlOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBu
YW1lOiAiVHJpZ2dlckdDU2hvdWxkQ3JlYXRlR0NFdmVudCIsCisgICAgICAgIGRlc2NyaXB0aW9u
OiAiQ2FsbGluZyBIZWFwLmdjIHNob3VsZCB0cmlnZ2VyIEhlYXAuZ2FyYmFnZUNvbGxlY3RlZCBl
dmVudCBpZiBlbmFibGVkLiIsCisgICAgICAgIHRlc3Q6IChyZXNvbHZlLCByZWplY3QpID0+IHsK
KyAgICAgICAgICAgIEhlYXBBZ2VudC5nYygpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmhl
YXBNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyLkV2ZW50
LkdhcmJhZ2VDb2xsZWN0ZWQsIChldmVudCkgPT4geworICAgICAgICAgICAgICAgIC8vIER1ZSB0
byB0aGUgYXN5bmNocm9ub3VzIG5hdHVyZSBvZiBIZWFwLmdhcmJhZ2VDb2xsZWN0ZWQgZXZlbnRz
LCB3ZSBtYXkgc2VlCisgICAgICAgICAgICAgICAgLy8gbm9uLUZ1bGwgR0MgZXZlbnRzIGJlZm9y
ZSB3ZSBzZWUgdGhlIEZ1bGwgY29sbGVjdGlvbiB0cmlnZ2VyZWQgYnkgSGVhcEFnZW50LmdjLgor
ICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmNvbGxlY3Rpb24udHlwZSA9PT0gV2ViSW5z
cGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUuRnVsbCkgeworICAgICAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZXZlbnQuZGF0YS5jb2xsZWN0aW9uIGluc3RhbmNl
b2YgV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLCAiRXZlbnQgc2hvdWxkIGhhdmUgR2Fy
YmFnZUNvbGxlY3Rpb24gZGF0YS4iKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RUaGF0KGV2ZW50LmRhdGEuY29sbGVjdGlvbi50eXBlID09PSBXZWJJbnNwZWN0b3Iu
R2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5GdWxsLCAiR2FyYmFnZUNvbGxlY3Rpb24gdHlwZSBzaG91
bGQgYmUgRnVsbC4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0
ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdCBmb3IgdGhlIEhlYXAuZ2MgY29tbWFuZC48L3A+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
ZmU3OWNhNy4uMmMwMWRjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MzQ4LDYgKzM0OCw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckNvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuY3BwCisgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCiAgICAgaW5zcGVj
dG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3Iv
YWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKQEAgLTEwMjksNiArMTAzMCw3
IEBAIHNldChKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfRE9NQUlOUwogICAgICR7SkFWQVNDUklQ
VENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9jb2wvRGF0YWJhc2UuanNvbgogICAgICR7SkFWQVND
UklQVENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbgogICAgICR7SkFW
QVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9jb2wvR2VuZXJpY1R5cGVzLmpzb24KKyAg
ICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbgogICAg
ICR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9jb2wvSW5zcGVjdG9yLmpzb24K
ICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL3Byb3RvY29sL0xheWVyVHJlZS5q
c29uCiAgICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9wcm90b2NvbC9OZXR3b3Jr
Lmpzb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGIxNDgxN2EuLmZlMWE4NWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDE1LTEwLTE0ICBKb3NlcGgg
UGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
SW5jbHVkZSBHYXJiYWdlIENvbGxlY3Rpb24gRXZlbnQgaW4gVGltZWxpbmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjUxMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBJbmNsdWRlIG5ldyBmaWxlcyBpbiB0
aGUgYnVpbGQuCisKKyAgICAgICAgKiBoZWFwL0hlYXBPYnNlcnZlci5oOgorICAgICAgICAoSlND
OjpIZWFwT2JzZXJ2ZXI6On5IZWFwT2JzZXJ2ZXIpOgorICAgICAgICAqIGhlYXAvSGVhcC5jcHA6
CisgICAgICAgIChKU0M6OkhlYXA6OndpbGxTdGFydENvbGxlY3Rpb24pOgorICAgICAgICAoSlND
OjpIZWFwOjpkaWRGaW5pc2hDb2xsZWN0aW9uKToKKyAgICAgICAgKiBoZWFwL0hlYXAuaDoKKyAg
ICAgICAgKEpTQzo6SGVhcDo6YWRkT2JzZXJ2ZXIpOgorICAgICAgICAoSlNDOjpIZWFwOjpyZW1v
dmVPYnNlcnZlcik6CisgICAgICAgIEFsbG93IG9ic2VydmVycyBvbiBoZWFwIHRvIGFkZCBob29r
cyBmb3Igc3RhcnRpbmcgLyBlbmRpbmcgZ2FyYmFnZSBjb2xsZWN0aW9uLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckVudmlyb25tZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pT
R2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6
OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0
b3JDb250cm9sbGVyKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0
b3JDb250cm9sbGVyOjp2bSk6CisgICAgICAgICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5z
cGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICBBY2Nlc3MgdGhlIFZNIHRocm91Z2ggdGhlIElu
c3BlY3RvckVudmlyb25tZW50IGFzIGl0IHdvbid0IGNoYW5nZS4KKworICAgICAgICAqIGluc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcDogQWRkZWQuCisgICAgICAgIChJbnNw
ZWN0b3I6Okluc3BlY3RvckhlYXBBZ2VudDo6SW5zcGVjdG9ySGVhcEFnZW50KToKKyAgICAgICAg
KEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50Ojp+SW5zcGVjdG9ySGVhcEFnZW50KToKKyAg
ICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQpOgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6OndpbGxE
ZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9y
SGVhcEFnZW50OjplbmFibGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdl
bnQ6OmRpc2FibGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6Omdj
KToKKyAgICAgICAgKEluc3BlY3Rvcjo6cHJvdG9jb2xUeXBlRm9ySGVhcE9wZXJhdGlvbik6Cisg
ICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3RvckhlYXBBZ2VudDo6d2lsbEdhcmJhZ2VDb2xsZWN0
KToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50OjpkaWRHYXJiYWdlQ29s
bGVjdCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbjogQWRkZWQuCisg
ICAgICAgIE5ldyBkb21haW4gYW5kIGFnZW50IHRvIGhhbmRsZSB0YXNrcyByZWxhdGVkIHRvIHRo
ZSBKYXZhU2NyaXB0Q29yZSBoZWFwLgorCisyMDE1LTEwLTE0ICBKb3NlcGggUGVjb3Jhcm8gIDxw
ZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgUmVtb3ZlIHVuaW1wbGVtZW50ZWQgbWV0aG9k
cyBpbiBDb3BpZWRTcGFjZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTUwMTQzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggMTAxNWRkYy4uMDQ2NjhkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTE1Miw2ICsxNTIsNyBAQCBJTlNQRUNUT1JfRE9NQUlOUyA9IFwK
ICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvRGF0YWJhc2UuanNvbiBc
CiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0RlYnVnZ2VyLmpzb24g
XAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9HZW5lcmljVHlwZXMu
anNvbiBcCisgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNv
biBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0luc3BlY3Rvci5q
c29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvTGF5ZXJUcmVl
Lmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9OZXR3b3Jr
Lmpzb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0NTE0MzcxLi45YWViMzVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI5OCw2ICsxMjk4LDkgQEAKIAkJ
QTUzMjQzOEMxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMjQzODYxODU2
ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE1MzI0Mzk0MTg1Njk3MDkwMDJF
RDY5MiAvKiBnZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0MzkxMTg1Njk2RTYwMDJFRDY5
MiAvKiBnZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNTMyNDM5ODE4NTZBNDg5MDAyRUQ2
OTIgLyogQ29tYmluZWREb21haW5zLmpzb24gaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNTMyNDM5NTE4NTZBNDc1MDAyRUQ2OTIgLyogQ29tYmluZWREb21h
aW5zLmpzb24gKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQTUzMzlFQzYxQkIzOTlBNjAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMzlFQzUxQkIzOTk5
MDAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1MzM5RUM3MUJCMzk5QTkwMDU0RjAwNSAvKiBJ
bnNwZWN0b3JIZWFwQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTUzMzlFQzQxQkIzOTk5MDAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2Vu
dC5jcHAgKi87IH07CisJCUE1MzM5RUM5MUJCNEI0NjAwMDU0RjAwNSAvKiBIZWFwT2JzZXJ2ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzM5RUM4
MUJCNEI0NTEwMDU0RjAwNSAvKiBIZWFwT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNTNDRTA4NTE4QkMxQTU2MDBCRURGNzYgLyog
Q29uc29sZVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNTNDRTA4MTE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5j
cHAgKi87IH07CiAJCUE1M0NFMDg2MThCQzFBNTYwMEJFREY3NiAvKiBDb25zb2xlUHJvdG90eXBl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTNDRTA4
MjE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5oICovOyB9OwogCQlBNTNDRTA4
NzE4QkMxQTU2MDBCRURGNzYgLyogSlNDb25zb2xlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1M0NFMDgzMThCQzFBNTYwMEJFREY3NiAvKiBKU0Nv
bnNvbGUuY3BwICovOyB9OwpAQCAtMzIwNCw2ICszMjA3LDkgQEAKIAkJQTUzMjQzOTExODU2OTZF
NjAwMkVENjkyIC8qIGdlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5ICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gImdlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rv
ci1qc29uLnB5Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUzMjQzOTUxODU2QTQ3
NTAwMkVENjkyIC8qIENvbWJpbmVkRG9tYWlucy5qc29uICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5qc29uOyBw
YXRoID0gQ29tYmluZWREb21haW5zLmpzb247IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE1MzI0Mzk2MTg1NkE0NzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBJbnNwZWN0b3JCYWNrZW5k
Q29tbWFuZHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MzM5RUM0MUJCMzk5
OTAwMDU0RjAwNSAvKiBJbnNwZWN0b3JIZWFwQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9ySGVhcEFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTUzMzlFQzUxQkIzOTk5MDAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBB
Z2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JIZWFwQWdl
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMzlFQzgxQkI0QjQ1MTAwNTRG
MDA1IC8qIEhlYXBPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
ZWFwT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUzQ0UwODExOEJD
MUE1NjAwQkVERjc2IC8qIENvbnNvbGVQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ29uc29sZVByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE1M0NFMDgyMThCQzFBNTYwMEJFREY3NiAvKiBDb25zb2xlUHJvdG90eXBl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVQcm90b3R5cGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUzQ0UwODMxOEJDMUE1NjAwQkVERjc2IC8q
IEpTQ29uc29sZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Nv
bnNvbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDI5Niw2ICs0MzAyLDcg
QEAKIAkJCQkwRjMyQkQwRjFCQjM0RjE5MDA5M0E1N0YgLyogSGVhcEhlbHBlclBvb2wuaCAqLywK
IAkJCQlDMkRBNzc4MjE4RTI1OTk5MDA2NkZDQjYgLyogSGVhcElubGluZXMuaCAqLywKIAkJCQky
QUQ4OTMyOTE3RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmggKi8sCisJCQkJ
QTUzMzlFQzgxQkI0QjQ1MTAwNTRGMDA1IC8qIEhlYXBPYnNlcnZlci5oICovLAogCQkJCTJBNkY0
NjI1MTdFOTU5Q0UwMEM0NUM5OCAvKiBIZWFwT3BlcmF0aW9uLmggKi8sCiAJCQkJMTRGOTc0NDYx
MzhDODUzRTAwREExQzY3IC8qIEhlYXBSb290VmlzaXRvci5oICovLAogCQkJCUMyNEQzMUUwMTYx
Q0Q2OTUwMDJBQTREQiAvKiBIZWFwU3RhdGlzdGljcy5jcHAgKi8sCkBAIC01NzY2LDYgKzU3NzMs
OCBAQAogCQkJCUE1RkQwMDgwMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdl
bnQuaCAqLywKIAkJCQlBNTdEMjNFMzE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5jcHAgKi8sCiAJCQkJQTU3RDIzRTQxODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuaCAqLywKKwkJCQlBNTMzOUVDNDFCQjM5OTkwMDA1NEYwMDUgLyogSW5z
cGVjdG9ySGVhcEFnZW50LmNwcCAqLywKKwkJCQlBNTMzOUVDNTFCQjM5OTkwMDA1NEYwMDUgLyog
SW5zcGVjdG9ySGVhcEFnZW50LmggKi8sCiAJCQkJQTUwRTRCNUQxODgwOURENTAwNjhBNDZEIC8q
IEluc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgKi8sCiAJCQkJQTUwRTRCNUUxODgwOURENTAwNjhB
NDZEIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5oICovLAogCQkJCUE1RkQwMDgzMTg5QjFCN0Uw
MDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAgKi8sCkBAIC02NDQ1LDYg
KzY0NTQsNyBAQAogCQkJCTE0QkE3QTk4MTNBQURGRjgwMDVCN0MyQyAvKiBIZWFwLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDMkRBNzc4MzE4RTI1OTk5MDA2NkZDQjYgLyogSGVhcElubGluZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTJBRDg5MzJCMTdFMzg2OEYwMDY2ODI3NiAvKiBIZWFwSXRlcmF0
aW9uU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MzM5RUM5MUJCNEI0NjAwMDU0RjAwNSAv
KiBIZWFwT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJBNkY0NjI2MTdFOTU5Q0UwMEM0
NUM5OCAvKiBIZWFwT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNEY5NzQ0NzEzOEM4
NTNFMDBEQTFDNjcgLyogSGVhcFJvb3RWaXNpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjRE
MzFFMzE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovLApA
QCAtNjQ4Nyw2ICs2NDk3LDcgQEAKIAkJCQlBNTk0NTU5NTE4MjQ3OUVCMDBDQzM4NDMgLyogSW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTMyNDM4QTE4NTY4
MzM1MDAyRUQ2OTIgLyogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTlGMUE3MDExQjk4RkJFQzAwNDYzQjI2IC8qIEluc3BlY3RvckZyb250ZW5kUm91
dGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTMzOUVDNjFCQjM5OUE2MDA1NEYwMDUgLyogSW5z
cGVjdG9ySGVhcEFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzVFMDM2MDFCN0FCNDNFMDA3
M0FEMkEgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0LmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMzNCM0UyNjFCN0FCRDc1MDA0OERCMkUgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
T2JqZWN0Lmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTUzMjQzOEMxODU2ODMzNTAwMkVENjky
IC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8sCkBAIC03ODAyLDYg
Kzc4MTMsNyBAQAogCQkJCUE1N0QyM0U1MTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1MzI0Mzg5MTg1NjgzMzUwMDJFRDY5
MiAvKiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTk5RjFBNkZFMUI4RTZEOTQwMDQ2M0IyNiAvKiBJbnNwZWN0b3JGcm9udGVuZFJvdXRlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlBNTMzOUVDNzFCQjM5OUE5MDA1NEYwMDUgLyogSW5zcGVjdG9y
SGVhcEFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUzNUUwMzVGMUI3QUI0M0UwMDczQUQy
QSAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTUzMjQzOEIxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTBFNEI2MTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVj
dG9yUnVudGltZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwLmNwcAppbmRleCA2MDI5YWM4Li41NWNjODlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9IZWFwLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwLmNwcApAQCAtNTQsNyArNTQsNiBAQAogI2luY2x1ZGUgPHd0Zi9SQU1TaXplLmg+CiAKIHVz
aW5nIG5hbWVzcGFjZSBzdGQ7Ci11c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgSlND
IHsKIApAQCAtMTE1OCw2ICsxMTU3LDkgQEAgdm9pZCBIZWFwOjp3aWxsU3RhcnRDb2xsZWN0aW9u
KEhlYXBPcGVyYXRpb24gY29sbGVjdGlvblR5cGUpCiAKICAgICBpZiAobV9lZGVuQWN0aXZpdHlD
YWxsYmFjaykKICAgICAgICAgbV9lZGVuQWN0aXZpdHlDYWxsYmFjay0+d2lsbENvbGxlY3QoKTsK
KworICAgIGZvciAoYXV0byogb2JzZXJ2ZXIgOiBtX29ic2VydmVycykKKyAgICAgICAgb2JzZXJ2
ZXItPndpbGxHYXJiYWdlQ29sbGVjdCgpOwogfQogCiB2b2lkIEhlYXA6OmZsdXNoT2xkU3RydWN0
dXJlSURUYWJsZXMoKQpAQCAtMTMwNiw2ICsxMzA4LDcgQEAgdm9pZCBIZWFwOjpkaWRGaW5pc2hD
b2xsZWN0aW9uKGRvdWJsZSBnY1N0YXJ0VGltZSkKIHsKICAgICBHQ1BIQVNFKEZpbmlzaGluZ0Nv
bGxlY3Rpb24pOwogICAgIGRvdWJsZSBnY0VuZFRpbWUgPSBXVEY6Om1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpOworICAgIEhlYXBPcGVyYXRpb24gb3BlcmF0aW9uID0gbV9vcGVyYXRpb25J
blByb2dyZXNzOwogICAgIGlmIChtX29wZXJhdGlvbkluUHJvZ3Jlc3MgPT0gRnVsbENvbGxlY3Rp
b24pCiAgICAgICAgIG1fbGFzdEZ1bGxHQ0xlbmd0aCA9IGdjRW5kVGltZSAtIGdjU3RhcnRUaW1l
OwogICAgIGVsc2UKQEAgLTEzMjksNiArMTMzMiw5IEBAIHZvaWQgSGVhcDo6ZGlkRmluaXNoQ29s
bGVjdGlvbihkb3VibGUgZ2NTdGFydFRpbWUpCiAgICAgUkVMRUFTRV9BU1NFUlQobV9vcGVyYXRp
b25JblByb2dyZXNzID09IEVkZW5Db2xsZWN0aW9uIHx8IG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9
PSBGdWxsQ29sbGVjdGlvbik7CiAgICAgbV9vcGVyYXRpb25JblByb2dyZXNzID0gTm9PcGVyYXRp
b247CiAgICAgSkFWQVNDUklQVENPUkVfR0NfRU5EKCk7CisKKyAgICBmb3IgKGF1dG8qIG9ic2Vy
dmVyIDogbV9vYnNlcnZlcnMpCisgICAgICAgIG9ic2VydmVyLT5kaWRHYXJiYWdlQ29sbGVjdChv
cGVyYXRpb24pOwogfQogCiB2b2lkIEhlYXA6OnJlc3VtZUNvbXBpbGVyVGhyZWFkcygpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9IZWFwLmgKaW5kZXggNWJmZjBjYi4uZTE2OWNjYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0hlYXAuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkdDSW5jb21pbmdS
ZWZDb3VudGVkU2V0LmgiCiAjaW5jbHVkZSAiSGFuZGxlU2V0LmgiCiAjaW5jbHVkZSAiSGFuZGxl
U3RhY2suaCIKKyNpbmNsdWRlICJIZWFwT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJIZWFwT3BlcmF0
aW9uLmgiCiAjaW5jbHVkZSAiSklUU3R1YlJvdXRpbmVTZXQuaCIKICNpbmNsdWRlICJMaXN0YWJs
ZUhhbmRsZXIuaCIKQEAgLTUwLDI4ICs1MSwyNCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotY2xh
c3MgQ29waWVkU3BhY2U7CiBjbGFzcyBDb2RlQmxvY2s7Ci1jbGFzcyBFeGVjdXRhYmxlQmFzZTsK
K2NsYXNzIENvcGllZFNwYWNlOwogY2xhc3MgRWRlbkdDQWN0aXZpdHlDYWxsYmFjazsKK2NsYXNz
IEV4ZWN1dGFibGVCYXNlOwogY2xhc3MgRnVsbEdDQWN0aXZpdHlDYWxsYmFjazsKIGNsYXNzIEdD
QWN0aXZpdHlDYWxsYmFjazsKIGNsYXNzIEdDQXdhcmVKSVRTdHViUm91dGluZTsKLWNsYXNzIEds
b2JhbENvZGVCbG9jazsKIGNsYXNzIEhlYXA7CiBjbGFzcyBIZWFwUm9vdFZpc2l0b3I7CiBjbGFz
cyBIZWFwVmVyaWZpZXI7CiBjbGFzcyBJbmNyZW1lbnRhbFN3ZWVwZXI7CiBjbGFzcyBKSVRTdHVi
Um91dGluZTsKIGNsYXNzIEpTQ2VsbDsKLWNsYXNzIFZNOwogY2xhc3MgSlNTdGFjazsKIGNsYXNz
IEpTVmFsdWU7Ci1jbGFzcyBMaXZlT2JqZWN0SXRlcmF0b3I7CiBjbGFzcyBMTEludE9mZnNldHNF
eHRyYWN0b3I7CiBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlcjsKLWNsYXNzIFdlYWtHQ0hhbmRs
ZVBvb2w7Ci1jbGFzcyBTbG90VmlzaXRvcjsKK2NsYXNzIFZNOwogCiBuYW1lc3BhY2UgREZHIHsK
IGNsYXNzIFNwZWN1bGF0aXZlSklUOwpAQCAtMTM0LDYgKzEzMSw5IEBAIHB1YmxpYzoKICAgICBK
U19FWFBPUlRfUFJJVkFURSBJbmNyZW1lbnRhbFN3ZWVwZXIqIHN3ZWVwZXIoKTsKICAgICBKU19F
WFBPUlRfUFJJVkFURSB2b2lkIHNldEluY3JlbWVudGFsU3dlZXBlcihzdGQ6OnVuaXF1ZV9wdHI8
SW5jcmVtZW50YWxTd2VlcGVyPik7CiAKKyAgICB2b2lkIGFkZE9ic2VydmVyKEhlYXBPYnNlcnZl
ciogb2JzZXJ2ZXIpIHsgbV9vYnNlcnZlcnMuYXBwZW5kKG9ic2VydmVyKTsgfQorICAgIHZvaWQg
cmVtb3ZlT2JzZXJ2ZXIoSGVhcE9ic2VydmVyKiBvYnNlcnZlcikgeyBtX29ic2VydmVycy5yZW1v
dmVGaXJzdChvYnNlcnZlcik7IH0KKwogICAgIC8vIHRydWUgaWYgY29sbGVjdGlvbiBpcyBpbiBw
cm9ncmVzcwogICAgIGJvb2wgaXNDb2xsZWN0aW5nKCk7CiAgICAgSGVhcE9wZXJhdGlvbiBvcGVy
YXRpb25JblByb2dyZXNzKCkgeyByZXR1cm4gbV9vcGVyYXRpb25JblByb2dyZXNzOyB9CkBAIC00
MDcsNyArNDA3LDkgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8R0NBY3Rpdml0eUNhbGxiYWNrPiBt
X2VkZW5BY3Rpdml0eUNhbGxiYWNrOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbmNyZW1lbnRhbFN3
ZWVwZXI+IG1fc3dlZXBlcjsKICAgICBWZWN0b3I8TWFya2VkQmxvY2sqPiBtX2Jsb2NrU25hcHNo
b3Q7Ci0gICAgCisKKyAgICBWZWN0b3I8SGVhcE9ic2VydmVyKj4gbV9vYnNlcnZlcnM7CisKICAg
ICB1bnNpZ25lZCBtX2RlZmVycmFsRGVwdGg7CiAgICAgVmVjdG9yPERGRzo6V29ya2xpc3QqPiBt
X3N1c3BlbmRlZENvbXBpbGVyV29ya2xpc3RzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVu
dC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBPYnNlcnZlci5oCnNpbWlsYXJp
dHkgaW5kZXggNjIlCmNvcHkgZnJvbSBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcwpjb3B5IHRvIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBPYnNlcnZlci5oCmluZGV4IDFkMzU4MGEuLmM0YzI4MmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nv
dXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL0hlYXBPYnNlcnZlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywyOCArMjMsMjAgQEAKICAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3IuU291cmNlQ29kZVRpbWVsaW5l
VHJlZUVsZW1lbnQgPSBjbGFzcyBTb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCBleHRlbmRz
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50Ci17Ci0gICAgY29uc3RydWN0
b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRl
bnRpZmllckluTWFpblRpdGxlKQotICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoc291cmNl
Q29kZVRpbWVsaW5lKTsKKyNpZm5kZWYgSGVhcE9ic2VydmVyX2gKKyNkZWZpbmUgSGVhcE9ic2Vy
dmVyX2gKIAotICAgICAgICBzdWJ0aXRsZU5hbWVTdHlsZSA9IHN1YnRpdGxlTmFtZVN0eWxlIHx8
IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlTG9jYXRpb24uTmFtZVN0eWxlLk5vbmU7CisjaW5jbHVk
ZSAiSGVhcE9wZXJhdGlvbi5oIgogCi0gICAgICAgIHN1cGVyKHNvdXJjZUNvZGVUaW1lbGluZS5y
ZWNvcmRzWzBdLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFp
blRpdGxlLCBzb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uLCBzb3VyY2VDb2Rl
VGltZWxpbmUpOworbmFtZXNwYWNlIEpTQyB7CiAKLSAgICAgICAgdGhpcy5fc291cmNlQ29kZVRp
bWVsaW5lID0gc291cmNlQ29kZVRpbWVsaW5lOwotICAgIH0KLQotICAgIC8vIFB1YmxpYwotCi0g
ICAgZ2V0IHJlY29yZCgpCi0gICAgewotICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwotICAgIH0K
LQotICAgIGdldCBzb3VyY2VDb2RlVGltZWxpbmUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRo
aXMuX3NvdXJjZUNvZGVUaW1lbGluZTsKLSAgICB9CitjbGFzcyBIZWFwT2JzZXJ2ZXIgeworcHVi
bGljOgorICAgIHZpcnR1YWwgfkhlYXBPYnNlcnZlcigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB3
aWxsR2FyYmFnZUNvbGxlY3QoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEdhcmJhZ2VDb2xs
ZWN0KEhlYXBPcGVyYXRpb24pID0gMDsKIH07CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5k
aWYgLy8gSGVhcE9ic2VydmVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL01hcmtlZFNwYWNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFj
ZS5oCmluZGV4IDg2MTk1NzYuLjk5ODI2ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL01hcmtlZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
TWFya2VkU3BhY2UuaApAQCAtMzUsNyArMzUsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3Mg
SGVhcDsKIGNsYXNzIEhlYXBJdGVyYXRpb25TY29wZTsKLWNsYXNzIExpdmVPYmplY3RJdGVyYXRv
cjsKIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKIAogc3RydWN0IENsZWFyTWFya3MgOiBN
YXJrZWRCbG9jazo6Vm9pZEZ1bmN0b3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JFbnZpcm9ubWVudC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JFbnZpcm9ubWVudC5oCmluZGV4IGNiNDg3NzEuLjc1ZjJl
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RW52aXJvbm1lbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckVudmlyb25tZW50LmgKQEAgLTM1LDYgKzM1LDcgQEAgY2xhc3MgU3RvcHdhdGNoOwogbmFt
ZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGNlcHRpb247CiBjbGFzcyBTb3VyY2VDb2RlOworY2xhc3Mg
Vk07CiB9CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtNTMsNiArNTQsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGRpZENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhl
Y1N0YXRlKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZEluaXRpYWxpemVkKCkgPSAw
OwogICAgIHZpcnR1YWwgUmVmPFdURjo6U3RvcHdhdGNoPiBleGVjdXRpb25TdG9wd2F0Y2goKSA9
IDA7CisgICAgdmlydHVhbCBKU0M6OlZNJiB2bSgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9K
U0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4
IDk4OWQyYTYuLjQyMTYwNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckZyb250ZW5kUm91dGVyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySGVhcEFnZW50
LmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVj
dENvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5o
IgpAQCAtNjIsMTMgKzYzLDExIEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiBuYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAogSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLSAg
ICA6IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKHN0ZDo6bWFrZV91bmlxdWU8SW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyPigqdGhpcywgSW5qZWN0ZWRTY3JpcHRIb3N0OjpjcmVhdGUoKSkpCisgICAgOiBt
X2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCisgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdl
cihzdGQ6Om1ha2VfdW5pcXVlPEluamVjdGVkU2NyaXB0TWFuYWdlcj4oKnRoaXMsIEluamVjdGVk
U2NyaXB0SG9zdDo6Y3JlYXRlKCkpKQogICAgICwgbV9leGVjdXRpb25TdG9wd2F0Y2goU3RvcHdh
dGNoOjpjcmVhdGUoKSkKICAgICAsIG1fZnJvbnRlbmRSb3V0ZXIoRnJvbnRlbmRSb3V0ZXI6OmNy
ZWF0ZSgpKQogICAgICwgbV9iYWNrZW5kRGlzcGF0Y2hlcihCYWNrZW5kRGlzcGF0Y2hlcjo6Y3Jl
YXRlKG1fZnJvbnRlbmRSb3V0ZXIuY29weVJlZigpKSkKLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKLSAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkKLSNlbmRpZgogewogICAg
IEFnZW50Q29udGV4dCBiYXNlQ29udGV4dCA9IHsKICAgICAgICAgKnRoaXMsCkBAIC04Niw5ICs4
NSwxMSBAQCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OkpTR2xvYmFsT2JqZWN0
SW5zcGVjdG9yQ29udHJvbGxlcihKU0dsb2JhbE9iagogICAgIGF1dG8gcnVudGltZUFnZW50ID0g
c3RkOjptYWtlX3VuaXF1ZTxKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudD4oY29udGV4dCk7CiAg
ICAgYXV0byBjb25zb2xlQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0Q29u
c29sZUFnZW50Pihjb250ZXh0KTsKICAgICBhdXRvIGRlYnVnZ2VyQWdlbnQgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudD4oY29udGV4dCwgY29uc29sZUFnZW50
LmdldCgpKTsKKyAgICBhdXRvIGhlYXBBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9y
SGVhcEFnZW50Pihjb250ZXh0KTsKIAogICAgIG1faW5zcGVjdG9yQWdlbnQgPSBpbnNwZWN0b3JB
Z2VudC5nZXQoKTsKICAgICBtX2RlYnVnZ2VyQWdlbnQgPSBkZWJ1Z2dlckFnZW50LmdldCgpOwor
ICAgIG1faGVhcEFnZW50ID0gaGVhcEFnZW50LmdldCgpOwogICAgIG1fY29uc29sZUFnZW50ID0g
Y29uc29sZUFnZW50LmdldCgpOwogICAgIG1fY29uc29sZUNsaWVudCA9IHN0ZDo6bWFrZV91bmlx
dWU8SlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50PihtX2NvbnNvbGVBZ2VudCk7CiAKQEAgLTk4
LDYgKzk5LDcgQEAgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxPYmoKICAgICBtX2FnZW50cy5hcHBlbmQo
V1RGOjptb3ZlKHJ1bnRpbWVBZ2VudCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUo
Y29uc29sZUFnZW50KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShkZWJ1Z2dlckFn
ZW50KSk7CisgICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShoZWFwQWdlbnQpKTsKIAogICAg
IG1fZXhlY3V0aW9uU3RvcHdhdGNoLT5zdGFydCgpOwogfQpAQCAtMjgzLDYgKzI4NSwxMSBAQCBS
ZWY8U3RvcHdhdGNoPiBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmV4ZWN1dGlv
blN0b3B3YXRjaCgpCiAgICAgcmV0dXJuIG1fZXhlY3V0aW9uU3RvcHdhdGNoLmNvcHlSZWYoKTsK
IH0KIAorVk0mIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6dm0oKQoreworICAg
IHJldHVybiBtX2dsb2JhbE9iamVjdC52bSgpOworfQorCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9B
TFRFUk5BVEVfRElTUEFUQ0hFUlMpCiB2b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJv
bGxlcjo6YXBwZW5kRXh0cmFBZ2VudChzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQWdlbnRCYXNl
PiBhZ2VudCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDli
NDMwNTEuLmY2NmViZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaApA
QCAtNDEsNyArNDEsNiBAQCBuYW1lc3BhY2UgV1RGIHsKIGNsYXNzIFN0b3B3YXRjaDsKIH0KIAot
CiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIENvbnNvbGVDbGllbnQ7CiBjbGFzcyBFeGNlcHRpb247
CkBAIC01OCw2ICs1Nyw3IEBAIGNsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKIGNsYXNzIElu
c3BlY3RvckFnZW50OwogY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwogY2xhc3MgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvckhlYXBBZ2VudDsKIGNsYXNzIEpTR2xv
YmFsT2JqZWN0Q29uc29sZUNsaWVudDsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIApAQCAtOTcs
NiArOTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENhbGxJbmplY3RlZFNjcmlw
dEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKikgb3ZlcnJpZGUgeyB9CiAgICAgdmlydHVhbCB2b2lk
IGZyb250ZW5kSW5pdGlhbGl6ZWQoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIFJlZjxXVEY6OlN0
b3B3YXRjaD4gZXhlY3V0aW9uU3RvcHdhdGNoKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBKU0M6
OlZNJiB2bSgpIG92ZXJyaWRlOwogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElT
UEFUQ0hFUlMpCiAgICAgdmlydHVhbCBBdWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXJDbGll
bnQqIGF1Z21lbnRhYmxlSW5zcGVjdG9yQ29udHJvbGxlckNsaWVudCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIG1fYXVnbWVudGluZ0NsaWVudDsgfSAKQEAgLTExMCw2ICsxMTEsNyBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIHZvaWQgYXBwZW5kQVBJQmFja3RyYWNlKFNjcmlwdENhbGxTdGFj
ayogY2FsbFN0YWNrKTsKIAorICAgIEpTQzo6SlNHbG9iYWxPYmplY3QmIG1fZ2xvYmFsT2JqZWN0
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbmplY3RlZFNjcmlwdE1hbmFnZXI+IG1faW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxKU0dsb2JhbE9iamVjdENvbnNvbGVD
bGllbnQ+IG1fY29uc29sZUNsaWVudDsKICAgICBSZWY8V1RGOjpTdG9wd2F0Y2g+IG1fZXhlY3V0
aW9uU3RvcHdhdGNoOwpAQCAtMTE4LDYgKzEyMCw3IEBAIHByaXZhdGU6CiAgICAgSW5zcGVjdG9y
QWdlbnQqIG1faW5zcGVjdG9yQWdlbnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yQ29uc29s
ZUFnZW50KiBtX2NvbnNvbGVBZ2VudCB7IG51bGxwdHIgfTsKICAgICBJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50KiBtX2RlYnVnZ2VyQWdlbnQgeyBudWxscHRyIH07CisgICAgSW5zcGVjdG9ySGVhcEFn
ZW50KiBtX2hlYXBBZ2VudCB7IG51bGxwdHIgfTsKIAogICAgIFJlZjxGcm9udGVuZFJvdXRlcj4g
bV9mcm9udGVuZFJvdXRlcjsKICAgICBSZWY8QmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERp
c3BhdGNoZXI7CkBAIC0xMjUsMTAgKzEyOCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2luY2x1
ZGVOYXRpdmVDYWxsU3RhY2tXaXRoRXhjZXB0aW9ucyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lz
QXV0b21hdGljSW5zcGVjdGlvbiB7IGZhbHNlIH07CiAKLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKLSAgICBKU0M6OkpTR2xvYmFsT2JqZWN0JiBtX2dsb2JhbE9iamVjdDsKLSNlbmRpZgot
CiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCiAgICAgQXVnbWVu
dGFibGVJbnNwZWN0b3JDb250cm9sbGVyQ2xpZW50KiBtX2F1Z21lbnRpbmdDbGllbnQgeyBudWxs
cHRyIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmMxMzU2ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCkBAIC0w
LDAgKzEsMTM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluc3BlY3RvckhlYXBBZ2VudC5oIgor
CisjaW5jbHVkZSAiSW5zcGVjdG9yRW52aXJvbm1lbnQuaCIKKyNpbmNsdWRlICJWTS5oIgorI2lu
Y2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CisjaW5jbHVkZSA8d3RmL1N0b3B3YXRjaC5oPgorCit1c2lu
ZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgSW5zcGVjdG9yIHsKKworSW5zcGVjdG9ySGVh
cEFnZW50OjpJbnNwZWN0b3JIZWFwQWdlbnQoQWdlbnRDb250ZXh0JiBjb250ZXh0KQorICAgIDog
SW5zcGVjdG9yQWdlbnRCYXNlKEFTQ0lJTGl0ZXJhbCgiSGVhcCIpKQorICAgICwgbV9mcm9udGVu
ZERpc3BhdGNoZXIoc3RkOjptYWtlX3VuaXF1ZTxIZWFwRnJvbnRlbmREaXNwYXRjaGVyPihjb250
ZXh0LmZyb250ZW5kUm91dGVyKSkKKyAgICAsIG1fYmFja2VuZERpc3BhdGNoZXIoSGVhcEJhY2tl
bmREaXNwYXRjaGVyOjpjcmVhdGUoY29udGV4dC5iYWNrZW5kRGlzcGF0Y2hlciwgdGhpcykpCisg
ICAgLCBtX2Vudmlyb25tZW50KGNvbnRleHQuZW52aXJvbm1lbnQpCit7Cit9CisKK0luc3BlY3Rv
ckhlYXBBZ2VudDo6fkluc3BlY3RvckhlYXBBZ2VudCgpCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
SGVhcEFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqLCBC
YWNrZW5kRGlzcGF0Y2hlciopCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySGVhcEFnZW50Ojp3aWxs
RGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChEaXNjb25uZWN0UmVhc29uKQoreworICAgIEVycm9y
U3RyaW5nIGlnbm9yZWQ7CisgICAgZGlzYWJsZShpZ25vcmVkKTsKK30KKwordm9pZCBJbnNwZWN0
b3JIZWFwQWdlbnQ6OmVuYWJsZShFcnJvclN0cmluZyYpCit7CisgICAgaWYgKG1fZW5hYmxlZCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbV9lbmFibGVkID0gdHJ1ZTsKKworICAgIG1fZW52aXJv
bm1lbnQudm0oKS5oZWFwLmFkZE9ic2VydmVyKHRoaXMpOworfQorCit2b2lkIEluc3BlY3Rvckhl
YXBBZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyYpCit7CisgICAgaWYgKCFtX2VuYWJsZWQpCisg
ICAgICAgIHJldHVybjsKKworICAgIG1fZW5hYmxlZCA9IGZhbHNlOworCisgICAgbV9lbnZpcm9u
bWVudC52bSgpLmhlYXAucmVtb3ZlT2JzZXJ2ZXIodGhpcyk7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
SGVhcEFnZW50OjpnYyhFcnJvclN0cmluZyYpCit7CisgICAgVk0mIHZtID0gbV9lbnZpcm9ubWVu
dC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrKHZtKTsKKyAgICBzYW5pdGl6ZVN0YWNrRm9y
Vk0oJnZtKTsKKyAgICB2bS5oZWFwLmNvbGxlY3RBbGxHYXJiYWdlKCk7Cit9CisKK3N0YXRpYyBJ
bnNwZWN0b3I6OlByb3RvY29sOjpIZWFwOjpHYXJiYWdlQ29sbGVjdGlvbjo6VHlwZSBwcm90b2Nv
bFR5cGVGb3JIZWFwT3BlcmF0aW9uKEhlYXBPcGVyYXRpb24gb3BlcmF0aW9uKQoreworICAgIHN3
aXRjaCAob3BlcmF0aW9uKSB7CisgICAgY2FzZSBGdWxsQ29sbGVjdGlvbjoKKyAgICAgICAgcmV0
dXJuIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkhlYXA6OkdhcmJhZ2VDb2xsZWN0aW9uOjpUeXBlOjpG
dWxsOworICAgIGNhc2UgRWRlbkNvbGxlY3Rpb246CisgICAgICAgIHJldHVybiBJbnNwZWN0b3I6
OlByb3RvY29sOjpIZWFwOjpHYXJiYWdlQ29sbGVjdGlvbjo6VHlwZTo6UGFydGlhbDsKKyAgICBk
ZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkhlYXA6OkdhcmJhZ2VDb2xsZWN0aW9uOjpUeXBlOjpGdWxsOwor
ICAgIH0KK30KKwordm9pZCBJbnNwZWN0b3JIZWFwQWdlbnQ6OndpbGxHYXJiYWdlQ29sbGVjdCgp
Cit7CisgICAgQVNTRVJUKG1fZW5hYmxlZCk7CisgICAgQVNTRVJUKHN0ZDo6aXNuYW4obV9nY1N0
YXJ0VGltZSkpOworCisgICAgbV9nY1N0YXJ0VGltZSA9IG1fZW52aXJvbm1lbnQuZXhlY3V0aW9u
U3RvcHdhdGNoKCktPmVsYXBzZWRUaW1lKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySGVhcEFnZW50
OjpkaWRHYXJiYWdlQ29sbGVjdChIZWFwT3BlcmF0aW9uIG9wZXJhdGlvbikKK3sKKyAgICBBU1NF
UlQobV9lbmFibGVkKTsKKyAgICBBU1NFUlQoIXN0ZDo6aXNuYW4obV9nY1N0YXJ0VGltZSkpOwor
CisgICAgLy8gRklYTUU6IEluY2x1ZGUgbnVtYmVyIG9mIGJ5dGVzIGZyZWVkIGJ5IGNvbGxlY3Rp
b24uCisKKyAgICBkb3VibGUgc3RhcnRUaW1lID0gbV9nY1N0YXJ0VGltZTsKKyAgICBkb3VibGUg
ZW5kVGltZSA9IG1fZW52aXJvbm1lbnQuZXhlY3V0aW9uU3RvcHdhdGNoKCktPmVsYXBzZWRUaW1l
KCk7CisKKyAgICAvLyBEaXNwYXRjaCB0aGUgZXZlbnQgYXN5bmNocm9ub3VzbHkgYmVjYXVzZSB0
aGlzIG1ldGhvZCBtYXkgYmUKKyAgICAvLyBjYWxsZWQgYmV0d2VlbiBjb2xsZWN0aW9uIGFuZCBz
d2VlcGluZyBhbmQgd2UgZG9uJ3Qgd2FudCB0bworICAgIC8vIGNyZWF0ZSB1bmV4cGVjdGVkIEph
dmFTY3JpcHQgYWxsb2NhdGlvbnMgdGhhdCB0aGUgU3dlZXBlciBkb2VzCisgICAgLy8gbm90IGV4
cGVjdCB0byBlbmNvdW50ZXIuIEphdmFTY3JpcHQgYWxsb2NhdGlvbnMgY291bGQgaGFwcGVuCisg
ICAgLy8gd2l0aCBXZWJLaXRMZWdhY3kncyBpbiBwcm9jZXNzIGluc3BlY3RvciB3aGljaCBzaGFy
ZXMgdGhlIHNhbWUKKyAgICAvLyBWTSBhcyB0aGUgaW5zcGVjdGVkIHBhZ2UuCisKKyAgICBSdW5M
b29wOjpjdXJyZW50KCkuZGlzcGF0Y2goW3RoaXMsIHN0YXJ0VGltZSwgZW5kVGltZSwgb3BlcmF0
aW9uXSgpIHsKKyAgICAgICAgYXV0byBjb2xsZWN0aW9uID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6
SGVhcDo6R2FyYmFnZUNvbGxlY3Rpb246OmNyZWF0ZSgpCisgICAgICAgICAgICAuc2V0VHlwZShw
cm90b2NvbFR5cGVGb3JIZWFwT3BlcmF0aW9uKG9wZXJhdGlvbikpCisgICAgICAgICAgICAuc2V0
U3RhcnRUaW1lKHN0YXJ0VGltZSkKKyAgICAgICAgICAgIC5zZXRFbmRUaW1lKGVuZFRpbWUpCisg
ICAgICAgICAgICAucmVsZWFzZSgpOworCisgICAgICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5n
YXJiYWdlQ29sbGVjdGVkKFdURjo6bW92ZShjb2xsZWN0aW9uKSk7CisgICAgfSk7CisKKyAgICBt
X2djU3RhcnRUaW1lID0gTkFOOworfQorCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvckhl
YXBBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9ySGVhcEFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMThlNDhk
ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckhlYXBBZ2VudC5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvckhlYXBBZ2Vu
dF9oCisjZGVmaW5lIEluc3BlY3RvckhlYXBBZ2VudF9oCisKKyNpbmNsdWRlICJJbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlcnMuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNo
ZXJzLmgiCisjaW5jbHVkZSAiaGVhcC9IZWFwT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJpbnNwZWN0
b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNwYWNlIEluc3BlY3RvciB7CisKK3R5cGVk
ZWYgU3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBJbnNwZWN0
b3JIZWFwQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSGVh
cEJhY2tlbmREaXNwYXRjaGVySGFuZGxlciwgcHVibGljIEpTQzo6SGVhcE9ic2VydmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JIZWFwQWdlbnQpOworcHVibGljOgorICAg
IEluc3BlY3RvckhlYXBBZ2VudChBZ2VudENvbnRleHQmKTsKKyAgICB2aXJ0dWFsIH5JbnNwZWN0
b3JIZWFwQWdlbnQoKTsKKworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQoRnJvbnRlbmRSb3V0ZXIqLCBCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChEaXNjb25uZWN0UmVh
c29uKSBvdmVycmlkZTsKKworICAgIC8vIEhlYXBCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIKKyAg
ICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CisgICAgdmlydHVh
bCB2b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQg
Z2MoRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKKworICAgIC8vIEhlYXBPYnNlcnZlcgorICAgIHZp
cnR1YWwgdm9pZCB3aWxsR2FyYmFnZUNvbGxlY3QoKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkR2FyYmFnZUNvbGxlY3QoSlNDOjpIZWFwT3BlcmF0aW9uKSBvdmVycmlkZTsKKworcHJp
dmF0ZToKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SGVhcEZyb250ZW5kRGlzcGF0Y2hlcj4gbV9mcm9u
dGVuZERpc3BhdGNoZXI7CisgICAgUmVmUHRyPEhlYXBCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNr
ZW5kRGlzcGF0Y2hlcjsKKyAgICBJbnNwZWN0b3JFbnZpcm9ubWVudCYgbV9lbnZpcm9ubWVudDsK
KyAgICBib29sIG1fZW5hYmxlZCB7IGZhbHNlIH07CisgICAgZG91YmxlIG1fZ2NTdGFydFRpbWUg
eyBOQU4gfTsKK307CisKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgorCisjZW5kaWYgLy8gSW5z
cGVjdG9ySGVhcEFnZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvSGVhcC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9IZWFwLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZWFjMzM0NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvSGVhcC5qc29uCkBAIC0wLDAgKzEsMzkgQEAKK3sKKyAgICAiZG9tYWluIjog
IkhlYXAiLAorICAgICJkZXNjcmlwdGlvbiI6ICJIZWFwIGRvbWFpbiBleHBvc2VzIEphdmFTY3Jp
cHQgaGVhcCBhdHRyaWJ1dGVzIGFuZCBjYXBhYmlsaXRpZXMuIiwKKyAgICAidHlwZXMiOiBbCisg
ICAgICAgIHsKKyAgICAgICAgICAgICJpZCI6ICJHYXJiYWdlQ29sbGVjdGlvbiIsCisgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiSW5mb3JtYXRpb24gYWJvdXQgYSBnYXJiYWdlIGNvbGxlY3Rp
b24uIiwKKyAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCisgICAgICAgICAgICAicHJvcGVy
dGllcyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInR5cGUiLCAidHlwZSI6ICJzdHJp
bmciLCAiZW51bSI6IFsiZnVsbCIsICJwYXJ0aWFsIl0sICJkZXNjcmlwdGlvbiI6ICJUaGUgdHlw
ZSBvZiBnYXJiYWdlIGNvbGxlY3Rpb24uIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
c3RhcnRUaW1lIiwgInR5cGUiOiAibnVtYmVyIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAiZW5kVGltZSIsICJ0eXBlIjogIm51bWJlciIgfQorICAgICAgICAgICAgXQorICAgICAgICB9
CisgICAgXSwKKyAgICAiY29tbWFuZHMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1l
IjogImVuYWJsZSIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyBIZWFwIGRv
bWFpbiBldmVudHMuIgorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6
ICJkaXNhYmxlIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNhYmxlcyBIZWFwIGRv
bWFpbiBldmVudHMuIgorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6
ICJnYyIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVHJpZ2dlciBhIGZ1bGwgZ2FyYmFn
ZSBjb2xsZWN0aW9uLiIKKyAgICAgICAgfQorICAgIF0sCisgICAgImV2ZW50cyI6IFsKKyAgICAg
ICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZ2FyYmFnZUNvbGxlY3RlZCIsCisgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiSW5mb3JtYXRpb24gYWJvdXQgdGhlIGdhcmJhZ2UgY29sbGVjdGlv
bi4iLAorICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJjb2xsZWN0aW9uIiwgInR5cGUiOiAiR2FyYmFnZUNvbGxlY3Rpb24iIH0KKyAgICAgICAg
ICAgIF0KKyAgICAgICAgfQorICAgIF0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlNjkwMTJmLi5jODM5YjRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTUtMTAtMTQgIEpvc2VwaCBQZWNvcmFy
byAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbmNsdWRl
IEdhcmJhZ2UgQ29sbGVjdGlvbiBFdmVudCBpbiBUaW1lbGluZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTEwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgVGVzdHM6IGluc3BlY3Rvci9oZWFwL2dhcmJh
Z2VDb2xsZWN0ZWQuaHRtbAorICAgICAgICAgICAgICAgaW5zcGVjdG9yL2hlYXAvZ2MuaHRtbAor
CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaGVhcC9IZWFwT2JzZXJ2ZXIuaDogQWRkZWQu
CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JI
ZWFwQWdlbnQuaDogQWRkZWQuCisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6
CisgICAgICAgIEZvcndhcmRpbmcgaGVhZGVycy4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xs
ZXI6Okluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29u
dHJvbGxlcjo6dm0pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6
CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6dm0pOgorICAgICAgICAq
IGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgIEltcGxlbWVu
dCBJbnNwZWN0b3JFbnZpcm9ubWVudDo6dm0gYW5kIGNyZWF0ZSBhIEhlYXAgYWdlbnQgZm9yIHRo
ZQorICAgICAgICBQYWdlIGluc3BlY3RvciBjb250cm9sbGVyLgorCiAyMDE1LTEwLTE0ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUG9zdHBvbmUgbXV0YXRp
b24gZXZlbnRzIGJlZm9yZSBpbnZva2UgRWRpdG9yOjpDb21tYW5kIGNvbW1hbmQoRG9jdW1lbnQq
LCBjb25zdCBTdHJpbmcmLCBib29sKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Zvcndh
cmRpbmdIZWFkZXJzL2hlYXAvSGVhcE9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJk
aW5nSGVhZGVycy9oZWFwL0hlYXBPYnNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmQ4OTIxYzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3
YXJkaW5nSGVhZGVycy9oZWFwL0hlYXBPYnNlcnZlci5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRl
ZiBXZWJDb3JlX0ZXRF9IZWFwT2JzZXJ2ZXJfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9IZWFwT2Jz
ZXJ2ZXJfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0hlYXBPYnNlcnZlci5oPgorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTVkNmMxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFw
QWdlbnQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSW5zcGVjdG9ySGVh
cEFnZW50X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfSW5zcGVjdG9ySGVhcEFnZW50X2gKKyNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JIZWFwQWdlbnQuaD4KKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggNDBiZjEx
NS4uMzRhNjU3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qCkBAIC0yMDMyMyw2ICsyMDMyMyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xiaW5kaW5nc1xTY3JpcHRWYWx1ZS5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxBbGxvY2F0aW9uU3Bh
Y2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhl
YXBcSGVhcC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRl
cnNcaGVhcFxIZWFwT2JzZXJ2ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZv
cndhcmRpbmdIZWFkZXJzXGhlYXBcU2xvdFZpc2l0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcU3Ryb25nSW5saW5lcy5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxXZWFrLmgiIC8+
CkBAIC0yMDM1Miw2ICsyMDM1Myw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3
YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckFnZW50LmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRz
XEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JEZWJ1Z2dlckFnZW50
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNw
ZWN0b3JcYWdlbnRzXEluc3BlY3RvckhlYXBBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JSdW50
aW1lQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFk
ZXJzXG1hc21cWDg2QXNzZW1ibGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxG
b3J3YXJkaW5nSGVhZGVyc1xwYXJzZXJcU291cmNlQ29kZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4
IDBlOGU1MTIuLmFkZThkMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTExNzczLDYgKzExNzczLDkgQEAK
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rvclxh
Z2VudHNcSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGlu
Z0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3Bl
Y3RvckhlYXBBZ2VudC5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVj
dG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvclJ1bnRpbWVBZ2Vu
dC5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMjA1Myw2ICsxMjA1Niw5IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXEhlYXAuaCI+CiAgICAgICA8Rmls
dGVyPkZvcndhcmRpbmdIZWFkZXJzXGhlYXA8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcSGVhcE9ic2Vy
dmVyLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xoZWFwPC9GaWx0ZXI+Cisg
ICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xoZWFwXFNsb3RWaXNpdG9yLmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVy
c1xoZWFwPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggODExMmU1NS4uOTAwNzUxMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNw
cApAQCAtNzAsNiArNzAsNyBAQAogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZERpc3BhdGNoZXJzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91
dGVyLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oPgorI2lu
Y2x1ZGUgPGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50Lmg+CiAjaW5jbHVkZSA8
cHJvZmlsZXIvTGVnYWN5UHJvZmlsZXIuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgog
I2luY2x1ZGUgPHd0Zi9TdG9wd2F0Y2guaD4KQEAgLTE3MCw2ICsxNzEsNyBAQCBJbnNwZWN0b3JD
b250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UmIHBhZ2UsIEluc3BlY3RvckNsaWVu
dCogaW5zcGVjdG9yQwogICAgIG1fZG9tRGVidWdnZXJBZ2VudCA9IGRvbURlYnVnZ2VyQWdlbnRQ
dHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShkb21EZWJ1Z2dlckFnZW50
UHRyKSk7CiAKKyAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JI
ZWFwQWdlbnQ+KHBhZ2VDb250ZXh0KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91
bmlxdWU8SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50PihwYWdlQ29udGV4dCwgcGFnZUFn
ZW50KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yV29y
a2VyQWdlbnQ+KHBhZ2VDb250ZXh0KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91
bmlxdWU8SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ+KHBhZ2VDb250ZXh0KSk7CkBAIC00NzQsNiAr
NDc2LDExIEBAIFJlZjxTdG9wd2F0Y2g+IEluc3BlY3RvckNvbnRyb2xsZXI6OmV4ZWN1dGlvblN0
b3B3YXRjaCgpCiAgICAgcmV0dXJuIG1fZXhlY3V0aW9uU3RvcHdhdGNoLmNvcHlSZWYoKTsKIH0K
IAorSlNDOjpWTSYgSW5zcGVjdG9yQ29udHJvbGxlcjo6dm0oKQoreworICAgIHJldHVybiBKU0RP
TVdpbmRvd0Jhc2U6OmNvbW1vblZNKCk7Cit9CisKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
ZGlkQ29tcG9zaXRlKEZyYW1lJiBmcmFtZSkKIHsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZENvbXBvc2l0ZShmcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA1MWI5Y2IxLi4wMWU1YzQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEzMSw2ICsxMzEs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0
aW9uKEpTQzo6RXhlY1N0YXRlKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGZyb250ZW5k
SW5pdGlhbGl6ZWQoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIFJlZjxXVEY6OlN0b3B3YXRjaD4g
ZXhlY3V0aW9uU3RvcHdhdGNoKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBKU0M6OlZNJiB2bSgp
IG92ZXJyaWRlOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRDb21wb3NpdGUoRnJhbWUm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwCmluZGV4IDY2ZjljYjAzLi4yOGNkZWMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBA
IC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRp
bmdBZ2VudHMuaCIKKyNpbmNsdWRlICJKU0RPTVdpbmRvd0Jhc2UuaCIKICNpbmNsdWRlICJKU01h
aW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJXZWJJbmplY3RlZFNjcmlwdEhvc3QuaCIK
ICNpbmNsdWRlICJXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKQEAgLTUxLDYgKzUyLDcgQEAK
ICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaD4KICNpbmNsdWRl
IDx3dGYvU3RvcHdhdGNoLmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CiB1c2luZyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xOTUsNCArMTk3LDkgQEAg
UmVmPFN0b3B3YXRjaD4gV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6ZXhlY3V0aW9uU3RvcHdh
dGNoKCkKICAgICByZXR1cm4gbV9leGVjdXRpb25TdG9wd2F0Y2guY29weVJlZigpOwogfQogCitW
TSYgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6dm0oKQoreworICAgIHJldHVybiBKU0RPTVdp
bmRvd0Jhc2U6OmNvbW1vblZNKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5o
CmluZGV4IGQ4ZjI2ZTUuLjdmNDI0NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtNzUsNiArNzUsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6
RXhlY1N0YXRlKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGZyb250ZW5kSW5pdGlhbGl6
ZWQoKSBvdmVycmlkZSB7IH0KICAgICB2aXJ0dWFsIFJlZjxXVEY6OlN0b3B3YXRjaD4gZXhlY3V0
aW9uU3RvcHdhdGNoKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBKU0M6OlZNJiB2bSgpIG92ZXJy
aWRlOwogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAyNTI1NDM4Li5jYWU2ZGQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsNSArMSw3OSBAQAogMjAxNS0xMC0xNCAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IElu
Y2x1ZGUgR2FyYmFnZSBDb2xsZWN0aW9uIEV2ZW50IGluIFRpbWVsaW5lCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1MTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9V
dGlsaXRpZXMuanM6CisgICAgICAgIChBcnJheS5wcm90b3R5cGUucGFyaXRpb24pOgorICAgICAg
ICBIZWxwZXIgdG8gcGFydGl0aW9uIGFuIEFycmF5IGludG8gdHdvIGFycmF5cy4KKworICAgICAg
ICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5sb2Fk
ZWQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC5odG1sOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVGVzdC9UZXN0LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxvYWRlZCk6Cisg
ICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanM6IEFkZGVkLgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBPYnNlcnZlci5wcm90b3R5cGUuZ2FyYmFnZUNvbGxl
Y3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyKToKKyAgICAgICAgQ3Jl
YXRlIHRoZSBuZXcgb2JzZXJ2ZXIgYW5kIG1hbmFnZXIuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL01vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5qczogQWRkZWQuCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdhcmJhZ2VD
b2xsZWN0aW9uLmZyb21QYXlsb2FkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5HYXJiYWdlQ29s
bGVjdGlvbi5wcm90b3R5cGUuZ2V0IHR5cGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdhcmJh
Z2VDb2xsZWN0aW9uLnByb3RvdHlwZS5nZXQgc3RhcnRUaW1lKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5HYXJiYWdlQ29sbGVjdGlvbi5wcm90b3R5cGUuZ2V0IGVuZFRpbWUpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLnByb3RvdHlwZS5nZXQgZHVyYXRpb24pOgor
ICAgICAgICBNb2RlbCBvYmplY3QgZm9yIEhlYXAuR2FyYmFnZUNvbGxlY3Rpb24uCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0hlYXBNYW5hZ2VyLmpzOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5IZWFwTWFuYWdlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
SGVhcE1hbmFnZXIucHJvdG90eXBlLmdhcmJhZ2VDb2xsZWN0ZWQpOgorICAgICAgICBEaXNwYXRj
aCBldmVudHMgd2l0aCB0aGUgR0Mgb2JqZWN0LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9D
b250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVNYW5hZ2VyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIucHJv
dG90eXBlLl9nYXJiYWdlQ29sbGVjdGVkKToKKyAgICAgICAgSW5jbHVkZSBuZXcgR0MgVGltZWxp
bmUgRXZlbnRzIGFzIFNjcmlwdCBldmVudHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlLnVwZGF0ZUxheW91dCk6Cisg
ICAgICAgIEZvciB0aGUgU2NyaXB0IG92ZXJ2aWV3LCBtYWtlIHR3byBzZXRzIG9mIGJhcnMsIG9u
ZSBmb3IgU2NyaXB0cyBhbmQgb25lIGZvciBHQ3MuCisgICAgICAgIFRoZSBHQ3MgYmFyIHdpbGwg
YmUgb24gdG9wIG9mIHRoZSB0aGUgU2NyaXB0cyBiYXIuIFRoaXMgaXMgcGFydGljdWxhcmx5IHVz
ZWZ1bAorICAgICAgICBzaW5jZSBhIEdDIGNhbiBoYXBwZW4gZHVyaW5nIHNjcmlwdCBleGVjdXRp
b24uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0ltYWdlcy9UaW1lbGluZVJlY29yZEdhcmJh
Z2VDb2xsZWN0aW9uLnN2ZzogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9NYWluLmh0
bWw6CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxpbmVSZWNvcmQu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQucHJvdG90eXBl
LmlzR2FyYmFnZUNvbGxlY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVs
aW5lUmVjb3JkLkV2ZW50VHlwZS5kaXNwbGF5TmFtZSk6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuZ2V0IGRhdGEpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZS5j
cmVhdGVDZWxsQ29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVE
YXRhR3JpZE5vZGUpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxp
bmVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lVmlldy5wcm90
b3R5cGUuX3Byb2Nlc3NQZW5kaW5nUmVjb3Jkcyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCk6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzczoKKyAgICAgICAgKC5nYXJiYWdlLWNvbGxlY3Rp
b24tcHJvZmlsZS1yZWNvcmQgLmljb24pOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVSZWNvcmRCYXIuY3NzOgorICAgICAgICAoLnRpbWVsaW5lLXJlY29yZC1iYXIudGlt
ZWxpbmUtcmVjb3JkLXR5cGUtc2NyaXB0LnNjcmlwdC10aW1lbGluZS1yZWNvcmQtZ2FyYmFnZS1j
b2xsZWN0ZWQgPiAuc2VnbWVudCk6CisgICAgICAgIFVJIGZvciBHQyBldmVudHMuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkQmFyLmNyZWF0ZUNvbWJpbmVkQmFycyk6CisgICAg
ICAgIFNpbXBsaWZ5IGJ5IHN0b3Jpbmcgc3RhcnQgdGltZSBpbnRvIGEgdmFyaWFibGUuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCk6CisgICAg
ICAgIEljb24gZm9yIEdDIGV2ZW50cy4KKworMjAxNS0xMC0xNCAgSm9zZXBoIFBlY29yYXJvICA8
cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGUgU2Vh
cmNoIHNob3VsZCB1cGRhdGUgd2hlbiBjb25zb2xlIGlzIGNsZWFyZWQKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDE0MQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9j
YWxpemVkU3RyaW5ncy5qcwppbmRleCBlMzY1NmNjOTkwY2E4YzM0NjM1YjVhOGI1Mjc3YzExN2Nj
ODE3ZmFmLi43NzI4YTZhODdmNTI0ZjE0ZTU0NjRiOTJhMzhiYWY0Yzc0NDM2OGU2IDEwMDY0NApH
SVQgYmluYXJ5IHBhdGNoCmRlbHRhIDIzNAp6Y21jYXtuV2dQSSVaQmNXbEl7JE4zYEdue0tyKT5u
bHxnflFuSVdHYzJNQUxxPVpUMDxvOyM1WGtCU1EtcmtmaWwKcitBeGFhRkBre2gtSUZyUlJmYHgo
NyYzdF8kTn0xcSpGQm02VkFtMyg4c3MrbFEjPDFVb0dteksKCmRlbHRhIDI0CmdjbVpwPiZUYHsy
JVpCY1duYEl7JUY+WEZQSW44fFkjblc1azBodVRhZyNaOG0KCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXggZTQ5NGE5YS4uZWU0OTI4
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9N
YWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFp
bi5qcwpAQCAtNjgsNiArNjgsOCBAQCBXZWJJbnNwZWN0b3IubG9hZGVkID0gZnVuY3Rpb24oKQog
ICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV2ViSW5z
cGVjdG9yLkRPTU9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRl
YnVnZ2VyRGlzcGF0Y2hlcikKICAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRlYnVn
Z2VyRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyT2JzZXJ2ZXIpOworICAgIGlm
IChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVySGVhcERpc3BhdGNoZXIpCisgICAgICAgIEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJIZWFwRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkhlYXBP
YnNlcnZlcik7CiAgICAgaWYgKEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEYXRhYmFzZURpc3Bh
dGNoZXIpCiAgICAgICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEYXRhYmFzZURpc3BhdGNo
ZXIobmV3IFdlYkluc3BlY3Rvci5EYXRhYmFzZU9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckRPTVN0b3JhZ2VEaXNwYXRjaGVyKQpAQCAtMTA4LDYgKzExMCw3IEBA
IFdlYkluc3BlY3Rvci5sb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5pc3N1ZU1hbmFnZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLklzc3VlTWFuYWdlcjsKICAgICB0aGlzLmFuYWx5emVyTWFuYWdl
ciA9IG5ldyBXZWJJbnNwZWN0b3IuQW5hbHl6ZXJNYW5hZ2VyOwogICAgIHRoaXMucnVudGltZU1h
bmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlJ1bnRpbWVNYW5hZ2VyOworICAgIHRoaXMuaGVhcE1h
bmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyOwogICAgIHRoaXMuYXBwbGljYXRp
b25DYWNoZU1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2Vy
OwogICAgIHRoaXMudGltZWxpbmVNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZU1h
bmFnZXI7CiAgICAgdGhpcy5kZWJ1Z2dlck1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkRlYnVn
Z2VyTWFuYWdlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0Jhc2UvVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9VdGlsaXRpZXMuanMKaW5kZXggNTc4N2MxOC4uYjMxMTUwYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMK
QEAgLTQ1Miw2ICs0NTIsMjMgQEAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlw
ZSwgImtleVNldCIsCiAgICAgfQogfSk7CiAKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5w
cm90b3R5cGUsICJwYXJ0aXRpb24iLAoreworICAgIHZhbHVlOiBmdW5jdGlvbihjYWxsYmFjaykK
KyAgICB7CisgICAgICAgIGxldCBwb3NpdGl2ZSA9IFtdOworICAgICAgICBsZXQgbmVnYXRpdmUg
PSBbXTsKKyAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgKytpKSB7Cisg
ICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzW2ldOworICAgICAgICAgICAgaWYgKGNhbGxiYWNr
KHZhbHVlKSkKKyAgICAgICAgICAgICAgICBwb3NpdGl2ZS5wdXNoKHZhbHVlKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBuZWdhdGl2ZS5wdXNoKHZhbHVlKTsKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gW3Bvc2l0aXZlLCBuZWdhdGl2ZV07CisgICAgfQorfSk7CisKIE9i
amVjdC5kZWZpbmVQcm9wZXJ0eShTdHJpbmcucHJvdG90eXBlLCAidHJpbU1pZGRsZSIsCiB7CiAg
ICAgdmFsdWU6IGZ1bmN0aW9uKG1heExlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSGVh
cE1hbmFnZXIuanMKc2ltaWxhcml0eSBpbmRleCA2NCUKY29weSBmcm9tIFNvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50
LmpzCmNvcHkgdG8gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxl
cnMvSGVhcE1hbmFnZXIuanMKaW5kZXggMWQzNTgwYS4uYmMzZGJhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5l
VHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvSGVhcE1hbmFnZXIuanMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDI4ICsyMywyNyBAQAogICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGlt
ZWxpbmVUcmVlRWxlbWVudCA9IGNsYXNzIFNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50IGV4
dGVuZHMgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQKK1dlYkluc3BlY3Rv
ci5IZWFwTWFuYWdlciA9IGNsYXNzIEhlYXBNYW5hZ2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9i
amVjdAogewotICAgIGNvbnN0cnVjdG9yKHNvdXJjZUNvZGVUaW1lbGluZSwgc3VidGl0bGVOYW1l
U3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkKKyAgICBjb25zdHJ1Y3Rv
cigpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydChzb3VyY2VDb2RlVGltZWxpbmUpOwor
ICAgICAgICBzdXBlcigpOwogCi0gICAgICAgIHN1YnRpdGxlTmFtZVN0eWxlID0gc3VidGl0bGVO
YW1lU3R5bGUgfHwgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVMb2NhdGlvbi5OYW1lU3R5bGUuTm9u
ZTsKLQotICAgICAgICBzdXBlcihzb3VyY2VDb2RlVGltZWxpbmUucmVjb3Jkc1swXSwgc3VidGl0
bGVOYW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSwgc291cmNlQ29k
ZVRpbWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbiwgc291cmNlQ29kZVRpbWVsaW5lKTsKLQotICAg
ICAgICB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmUgPSBzb3VyY2VDb2RlVGltZWxpbmU7CisgICAg
ICAgIGlmICh3aW5kb3cuSGVhcEFnZW50KQorICAgICAgICAgICAgSGVhcEFnZW50LmVuYWJsZSgp
OwogICAgIH0KIAogICAgIC8vIFB1YmxpYwogCi0gICAgZ2V0IHJlY29yZCgpCisgICAgZ2FyYmFn
ZUNvbGxlY3RlZChwYXlsb2FkKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKLSAg
ICB9CisgICAgICAgIC8vIENhbGxlZCBmcm9tIFdlYkluc3BlY3Rvci5IZWFwT2JzZXJ2ZXIuCiAK
LSAgICBnZXQgc291cmNlQ29kZVRpbWVsaW5lKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlz
Ll9zb3VyY2VDb2RlVGltZWxpbmU7CisgICAgICAgIGxldCBjb2xsZWN0aW9uID0gV2ViSW5zcGVj
dG9yLkdhcmJhZ2VDb2xsZWN0aW9uLmZyb21QYXlsb2FkKHBheWxvYWQpOworICAgICAgICB0aGlz
LmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuSGVhcE1hbmFnZXIuRXZlbnQu
R2FyYmFnZUNvbGxlY3RlZCwge2NvbGxlY3Rpb259KTsKICAgICB9CiB9OworCitXZWJJbnNwZWN0
b3IuSGVhcE1hbmFnZXIuRXZlbnQgPSB7CisgICAgR2FyYmFnZUNvbGxlY3RlZDogImhlYXAtbWFu
YWdlci1nYXJiYWdlLWNvbGxlY3RlZCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFn
ZXIuanMKaW5kZXggY2Q0NGE5My4uNzBlYmQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5l
TWFuYWdlci5qcwpAQCAtMzMsNiArMzMsOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2Vy
ID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAg
ICAgICBXZWJJbnNwZWN0b3IuRnJhbWUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRnJh
bWUuRXZlbnQuTWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzLl9tYWluUmVzb3VyY2VEaWRDaGFu
Z2UsIHRoaXMpOwogICAgICAgICBXZWJJbnNwZWN0b3IuRnJhbWUuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuRnJhbWUuRXZlbnQuUmVzb3VyY2VXYXNBZGRlZCwgdGhpcy5fcmVzb3VyY2VX
YXNBZGRlZCwgdGhpcyk7CiAKKyAgICAgICAgV2ViSW5zcGVjdG9yLmhlYXBNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyLkV2ZW50LkdhcmJhZ2VDb2xsZWN0
ZWQsIHRoaXMuX2dhcmJhZ2VDb2xsZWN0ZWQsIHRoaXMpOworCiAgICAgICAgIHRoaXMuX3BlcnNp
c3RlbnROZXR3b3JrVGltZWxpbmUgPSBuZXcgV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lbGluZTsK
IAogICAgICAgICB0aGlzLl9pc0NhcHR1cmluZyA9IGZhbHNlOwpAQCAtNTkzLDYgKzU5NSwxNSBA
QCBXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4
dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChyZWNv
cmQpOwogICAgIH0KKworICAgIF9nYXJiYWdlQ29sbGVjdGVkKGV2ZW50KQorICAgIHsKKyAgICAg
ICAgaWYgKCF0aGlzLl9pc0NhcHR1cmluZykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICBsZXQgY29sbGVjdGlvbiA9IGV2ZW50LmRhdGEuY29sbGVjdGlvbjsKKyAgICAgICAgdGhpcy5f
YWRkUmVjb3JkKG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQoV2ViSW5zcGVj
dG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5HYXJiYWdlQ29sbGVjdGVkLCBjb2xs
ZWN0aW9uLnN0YXJ0VGltZSwgY29sbGVjdGlvbi5lbmRUaW1lLCBudWxsLCBudWxsLCBjb2xsZWN0
aW9uKSk7CisgICAgfQogfTsKIAogV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5FdmVudCA9
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdl
cy9UaW1lbGluZVJlY29yZEdhcmJhZ2VDb2xsZWN0aW9uLnN2ZyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9UaW1lbGluZVJlY29yZEdhcmJhZ2VDb2xsZWN0aW9u
LnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTE3ZGY2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL1Rp
bWVsaW5lUmVjb3JkR2FyYmFnZUNvbGxlY3Rpb24uc3ZnCkBAIC0wLDAgKzEsOCBAQAorPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0gQ29weXJpZ2h0IMKpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAtLT4KKzxzdmcgdmVyc2lvbj0iMS4xIiB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+Cisg
ICAgPHBhdGggZmlsbD0icmdiKDIyOCwgMTk4LCAxNzIpIiBkPSJNIDEzIDEgTCAzIDEgQyAxLjg5
ODQzOCAxIDEgMS44OTg0MzggMSAzIEwgMSAxMyBDIDEgMTQuMTAxNTYyIDEuODk4NDM4IDE1IDMg
MTUgTCAxMyAxNSBDIDE0LjEwMTU2MiAxNSAxNSAxNC4xMDE1NjIgMTUgMTMgTCAxNSAzIEMgMTUg
MS44OTg0MzggMTQuMTAxNTYyIDEgMTMgMSBaIi8+CisgICAgPHBhdGggZmlsbD0icmdiKDE4Niwg
MTU3LCAxMzIpIiBkPSJNIDEzIDEgTCAzIDEgQyAxLjg5ODQzOCAxIDEgMS44OTg0MzggMSAzIEwg
MSAxMyBDIDEgMTQuMTAxNTYyIDEuODk4NDM4IDE1IDMgMTUgTCAxMyAxNSBDIDE0LjEwMTU2MiAx
NSAxNSAxNC4xMDE1NjIgMTUgMTMgTCAxNSAzIEMgMTUgMS44OTg0MzggMTQuMTAxNTYyIDEgMTMg
MSBNIDEzIDIgQyAxMy41NTA3ODEgMiAxNCAyLjQ0OTIxOSAxNCAzIEwgMTQgMTMgQyAxNCAxMy41
NTA3ODEgMTMuNTUwNzgxIDE0IDEzIDE0IEwgMyAxNCBDIDIuNDQ5MjE5IDE0IDIgMTMuNTUwNzgx
IDIgMTMgTCAyIDMgQyAyIDIuNDQ5MjE5IDIuNDQ5MjE5IDIgMyAyIEwgMTMgMiIvPgorICAgIDxw
YXRoIGZpbGw9InJnYigxODYsIDE1NywgMTMyKSIgZD0iTSA0Ljc3MzQzOCAxMS41NDI5NjkgQyAz
Ljg1NTQ2OSAxMC42MjEwOTQgMy4zOTA2MjUgOS4zNDc2NTYgMy4zOTA2MjUgNy43Njk1MzEgQyAz
LjM5MDYyNSA2LjE1NjI1IDMuODYzMjgxIDQuODc4OTA2IDQuNzg5MDYyIDMuOTY0ODQ0IEMgNS43
MTA5MzggMy4wNTQ2ODggNy4wMDM5MDYgMi41OTM3NSA4LjYyNSAyLjU5Mzc1IEMgOS41NzAzMTIg
Mi41OTM3NSAxMC41MTk1MzEgMi43MDcwMzEgMTEuNDQxNDA2IDIuOTI5Njg4IEMgMTEuODkwNjI1
IDMuMDM1MTU2IDEyLjIxMDkzOCAzLjQzNzUgMTIuMjEwOTM4IDMuOTAyMzQ0IEwgMTIuMjEwOTM4
IDUuMTk1MzEyIEMgMTIuMjEwOTM4IDUuNTE5NTMxIDEyLjA1MDc4MSA1LjgyNDIxOSAxMS43ODkw
NjIgNi4wMTE3MTkgQyAxMS42MTMyODEgNi4xMzI4MTIgMTEuNDEwMTU2IDYuMTk1MzEyIDExLjIw
NzAzMSA2LjE5NTMxMiBDIDExLjA5NzY1NiA2LjE5NTMxMiAxMC45ODQzNzUgNi4xNzk2ODggMTAu
ODc4OTA2IDYuMTQwNjI1IEMgMTAuMDE1NjI1IDUuODM1OTM4IDkuMzA4NTk0IDUuNjgzNTk0IDgu
NzY5NTMxIDUuNjgzNTk0IEMgOC4wNTg1OTQgNS42ODM1OTQgNy43NTM5MDYgNS45NDE0MDYgNy41
ODk4NDQgNi4xMzI4MTIgQyA3LjI5Njg3NSA2LjQ3NjU2MiA3LjE0ODQzOCA3LjAxOTUzMSA3LjE0
ODQzOCA3Ljc0NjA5NCBDIDcuMTQ4NDM4IDguNDQ1MzEyIDcuMzA4NTk0IDguOTcyNjU2IDcuNjIx
MDk0IDkuMzIwMzEyIEMgNy44MDg1OTQgOS41MjM0MzggOC4xNDg0MzggOS43OTY4NzUgOC45MjE4
NzUgOS43OTY4NzUgQyA5LjU0Mjk2OSA5Ljc5Njg3NSAxMC4xODc1IDkuNjMyODEyIDEwLjgzOTg0
NCA5LjMwODU5NCBDIDEwLjk4MDQ2OSA5LjI0MjE4OCAxMS4xMzI4MTIgOS4yMDcwMzEgMTEuMjg1
MTU2IDkuMjA3MDMxIEMgMTEuNDY4NzUgOS4yMDcwMzEgMTEuNjQ4NDM4IDkuMjU3ODEyIDExLjgx
MjUgOS4zNTkzNzUgQyAxMi4xMDU0NjkgOS41MzkwNjIgMTIuMjg1MTU2IDkuODU5Mzc1IDEyLjI4
NTE1NiAxMC4yMDcwMzEgTCAxMi4yODUxNTYgMTEuNDI1NzgxIEMgMTIuMjg1MTU2IDExLjgyMDMx
MiAxMi4wNTA3ODEgMTIuMTc5Njg4IDExLjY5MTQwNiAxMi4zMzk4NDQgQyAxMC43OTI5NjkgMTIu
NzM4MjgxIDkuNzMwNDY5IDEyLjk0MTQwNiA4LjUyNzM0NCAxMi45NDE0MDYgQyA2Ljk1NzAzMSAx
Mi45NDE0MDYgNS42OTE0MDYgMTIuNDcyNjU2IDQuNzczNDM4IDExLjU0Mjk2OSIvPgorICAgIDxw
YXRoIGZpbGw9IndoaXRlIiBkPSJNIDExLjI4NTE1NiAxMS40MjU3ODEgQyAxMC41MTU2MjUgMTEu
NzY5NTMxIDkuNTk3NjU2IDExLjk0MTQwNiA4LjUyNzM0NCAxMS45NDE0MDYgQyA3LjIyNjU2MiAx
MS45NDE0MDYgNi4yMTA5MzggMTEuNTc0MjE5IDUuNDg0Mzc1IDEwLjgzOTg0NCBDIDQuNzU3ODEy
IDEwLjEwNTQ2OSA0LjM5NDUzMSA5LjA4MjAzMSA0LjM5NDUzMSA3Ljc2OTUzMSBDIDQuMzk0NTMx
IDYuNDI5Njg4IDQuNzU3ODEyIDUuMzk4NDM4IDUuNDkyMTg4IDQuNjc1NzgxIEMgNi4yMjI2NTYg
My45NTcwMzEgNy4yNjk1MzEgMy41OTM3NSA4LjYyNSAzLjU5Mzc1IEMgOS40OTIxODggMy41OTM3
NSAxMC4zNTE1NjIgMy42OTUzMTIgMTEuMjEwOTM4IDMuOTAyMzQ0IEwgMTEuMjEwOTM4IDUuMTk1
MzEyIEMgMTAuMjM4MjgxIDQuODU1NDY5IDkuNDI1NzgxIDQuNjgzNTk0IDguNzY5NTMxIDQuNjgz
NTk0IEMgNy45MzM1OTQgNC42ODM1OTQgNy4yODUxNTYgNC45NDkyMTkgNi44MzIwMzEgNS40ODQz
NzUgQyA2LjM3NSA2LjAxNTYyNSA2LjE0ODQzOCA2Ljc2OTUzMSA2LjE0ODQzOCA3Ljc0NjA5NCBD
IDYuMTQ4NDM4IDguNzA3MDMxIDYuMzk0NTMxIDkuNDUzMTI1IDYuODgyODEyIDkuOTkyMTg4IEMg
Ny4zNzEwOTQgMTAuNTI3MzQ0IDguMDUwNzgxIDEwLjc5Njg3NSA4LjkyMTg3NSAxMC43OTY4NzUg
QyA5LjcwMzEyNSAxMC43OTY4NzUgMTAuNDg4MjgxIDEwLjYwMTU2MiAxMS4yODUxNTYgMTAuMjA3
MDMxIFoiLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTWFpbi5odG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TWFpbi5odG1sCmluZGV4IGIwYjRiNTkuLjViNDg3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKQEAgLTIyNiw2ICsyMjYsNyBAQAogICAgIDxz
Y3JpcHQgc3JjPSJQcm90b2NvbC9ET01TdG9yYWdlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJQcm90b2NvbC9EYXRhYmFzZU9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvRGVidWdnZXJPYnNlcnZlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0hlYXBPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9IlByb3RvY29sL0luc3BlY3RvckJhY2tlbmQuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJQcm90b2NvbC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0luc3BlY3Rvck9ic2VydmVyLmpzIj48L3Njcmlw
dD4KQEAgLTI3OSw2ICsyODAsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvRXhlY3V0aW9u
Q29udGV4dC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9FeGVjdXRpb25D
b250ZXh0TGlzdC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9GcmFtZS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HZW9tZXRyeS5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HcmFkaWVudC5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9Ik1vZGVscy9JbmRleGVkRGF0YWJhc2UuanMiPjwvc2NyaXB0PgpAQCAtNTk5
LDYgKzYwMSw3IEBACiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0Zvcm1hdHRlckNvbnRl
bnRCdWlsZGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRm9y
bWF0dGVyU291cmNlTWFwLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxl
cnMvRnJhbWVSZXNvdXJjZU1hbmFnZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJD
b250cm9sbGVycy9IZWFwTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNv
bnRyb2xsZXJzL0lzc3VlTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNv
bnRyb2xsZXJzL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0phdmFTY3JpcHRSdW50aW1lQ29tcGxldGlvblByb3Zp
ZGVyLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dhcmJhZ2VDb2xsZWN0aW9uLmpz
CnNpbWlsYXJpdHkgaW5kZXggNTclCmNvcHkgZnJvbSBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcwpjb3B5IHRv
IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HYXJiYWdlQ29sbGVj
dGlvbi5qcwppbmRleCAxZDM1ODBhLi45ZDA2M2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVu
dC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvR2Fy
YmFnZUNvbGxlY3Rpb24uanMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDI4ICsyMyw1NCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGltZWxpbmVUcmVl
RWxlbWVudCA9IGNsYXNzIFNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQKK1dlYkluc3BlY3Rvci5HYXJiYWdl
Q29sbGVjdGlvbiA9IGNsYXNzIEdhcmJhZ2VDb2xsZWN0aW9uIGV4dGVuZHMgV2ViSW5zcGVjdG9y
Lk9iamVjdAogewotICAgIGNvbnN0cnVjdG9yKHNvdXJjZUNvZGVUaW1lbGluZSwgc3VidGl0bGVO
YW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkKKyAgICBjb25zdHJ1
Y3Rvcih0eXBlLCBzdGFydFRpbWUsIGVuZFRpbWUpCiAgICAgewotICAgICAgICBjb25zb2xlLmFz
c2VydChzb3VyY2VDb2RlVGltZWxpbmUpOworICAgICAgICBzdXBlcigpOwogCi0gICAgICAgIHN1
YnRpdGxlTmFtZVN0eWxlID0gc3VidGl0bGVOYW1lU3R5bGUgfHwgV2ViSW5zcGVjdG9yLlNvdXJj
ZUNvZGVMb2NhdGlvbi5OYW1lU3R5bGUuTm9uZTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZW5k
VGltZSA+IHN0YXJ0VGltZSk7CiAKLSAgICAgICAgc3VwZXIoc291cmNlQ29kZVRpbWVsaW5lLnJl
Y29yZHNbMF0sIHN1YnRpdGxlTmFtZVN0eWxlLCBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWlu
VGl0bGUsIHNvdXJjZUNvZGVUaW1lbGluZS5zb3VyY2VDb2RlTG9jYXRpb24sIHNvdXJjZUNvZGVU
aW1lbGluZSk7CisgICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlOworICAgICAgICB0aGlzLl9zdGFy
dFRpbWUgPSBzdGFydFRpbWU7CisgICAgICAgIHRoaXMuX2VuZFRpbWUgPSBlbmRUaW1lOworICAg
IH0KIAotICAgICAgICB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmUgPSBzb3VyY2VDb2RlVGltZWxp
bmU7CisgICAgLy8gU3RhdGljCisKKyAgICBzdGF0aWMgZnJvbVBheWxvYWQocGF5bG9hZCkKKyAg
ICB7CisgICAgICAgIGxldCB0eXBlID0gV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5
cGUuRnVsbDsKKyAgICAgICAgaWYgKHBheWxvYWQudHlwZSA9PT0gSGVhcEFnZW50LkdhcmJhZ2VD
b2xsZWN0aW9uVHlwZS5QYXJ0aWFsKQorICAgICAgICAgICAgdHlwZSA9IFdlYkluc3BlY3Rvci5H
YXJiYWdlQ29sbGVjdGlvbi5UeXBlLlBhcnRpYWw7CisKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJJ
bnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24odHlwZSwgcGF5bG9hZC5zdGFydFRpbWUsIHBheWxv
YWQuZW5kVGltZSk7CiAgICAgfQogCiAgICAgLy8gUHVibGljCiAKLSAgICBnZXQgcmVjb3JkKCkK
KyAgICBnZXQgdHlwZSgpCiAgICAgewotICAgICAgICByZXR1cm4gdW5kZWZpbmVkOworICAgICAg
ICByZXR1cm4gdGhpcy5fdHlwZTsKICAgICB9CiAKLSAgICBnZXQgc291cmNlQ29kZVRpbWVsaW5l
KCkKKyAgICBnZXQgc3RhcnRUaW1lKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9zb3Vy
Y2VDb2RlVGltZWxpbmU7CisgICAgICAgIHJldHVybiB0aGlzLl9zdGFydFRpbWU7CiAgICAgfQor
CisgICAgZ2V0IGVuZFRpbWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2VuZFRpbWU7
CisgICAgfQorCisgICAgZ2V0IGR1cmF0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlz
Ll9lbmRUaW1lIC0gdGhpcy5fc3RhcnRUaW1lOworICAgIH0KK307CisKK1dlYkluc3BlY3Rvci5H
YXJiYWdlQ29sbGVjdGlvbi5UeXBlID0geworICAgIFBhcnRpYWw6IFN5bWJvbCgiUGFydGlhbCIp
LAorICAgIEZ1bGw6IFN5bWJvbCgiRnVsbCIpCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5l
UmVjb3JkLmpzCmluZGV4IGNjYjZkYTguLmU4YzY1OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGlt
ZWxpbmVSZWNvcmQuanMKQEAgLTU4LDYgKzU4LDExIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1l
bGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV2ViSW5zcGVj
CiAgICAgICAgIHJldHVybiB0aGlzLl9wcm9maWxlOwogICAgIH0KIAorICAgIGlzR2FyYmFnZUNv
bGxlY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50VHlwZSA9PT0gV2Vi
SW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5HYXJiYWdlQ29sbGVjdGVk
OworICAgIH0KKwogICAgIHNhdmVJZGVudGl0eVRvQ29va2llKGNvb2tpZSkKICAgICB7CiAgICAg
ICAgIHN1cGVyLnNhdmVJZGVudGl0eVRvQ29va2llKGNvb2tpZSk7CkBAIC0xNTgsMTAgKzE2Mywx
MSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlID0gewogICAg
IEFuaW1hdGlvbkZyYW1lRmlyZWQ6ICJzY3JpcHQtdGltZWxpbmUtcmVjb3JkLWFuaW1hdGlvbi1m
cmFtZS1maXJlZCIsCiAgICAgQW5pbWF0aW9uRnJhbWVSZXF1ZXN0ZWQ6ICJzY3JpcHQtdGltZWxp
bmUtcmVjb3JkLWFuaW1hdGlvbi1mcmFtZS1yZXF1ZXN0ZWQiLAogICAgIEFuaW1hdGlvbkZyYW1l
Q2FuY2VsZWQ6ICJzY3JpcHQtdGltZWxpbmUtcmVjb3JkLWFuaW1hdGlvbi1mcmFtZS1jYW5jZWxl
ZCIsCi0gICAgQ29uc29sZVByb2ZpbGVSZWNvcmRlZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQt
Y29uc29sZS1wcm9maWxlLXJlY29yZGVkIgorICAgIENvbnNvbGVQcm9maWxlUmVjb3JkZWQ6ICJz
Y3JpcHQtdGltZWxpbmUtcmVjb3JkLWNvbnNvbGUtcHJvZmlsZS1yZWNvcmRlZCIsCisgICAgR2Fy
YmFnZUNvbGxlY3RlZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQtZ2FyYmFnZS1jb2xsZWN0ZWQi
CiB9OwogCi1XZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLmRpc3Bs
YXlOYW1lID0gZnVuY3Rpb24oZXZlbnRUeXBlLCBkZXRhaWxzLCBpbmNsdWRlVGltZXJJZGVudGlm
aWVySW5NYWluVGl0bGUpCitXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRU
eXBlLmRpc3BsYXlOYW1lID0gZnVuY3Rpb24oZXZlbnRUeXBlLCBkZXRhaWxzLCBpbmNsdWRlRGV0
YWlsc0luZm9ybWF0aW9uSW5NYWluVGl0bGUpCiB7CiAgICAgaWYgKGRldGFpbHMgJiYgIVdlYklu
c3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5fZXZlbnREaXNwbGF5TmFtZXMpIHsKICAgICAg
ICAgLy8gVGhlc2UgZGlzcGxheSBuYW1lcyBhcmUgbm90IGxvY2FsaXplZCBiZWNhdXNlIHRoZXkg
Y2xvc2VseSByZXByZXNlbnQKQEAgLTMzNSwxNiArMzQxLDI3IEBAIFdlYkluc3BlY3Rvci5TY3Jp
cHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuZGlzcGxheU5hbWUgPSBmdW5jdGlvbihldmVudFR5
cGUsIGRlCiAgICAgICAgIGlmIChkZXRhaWxzICYmIChkZXRhaWxzIGluc3RhbmNlb2YgU3RyaW5n
IHx8IHR5cGVvZiBkZXRhaWxzID09PSAic3RyaW5nIikpCiAgICAgICAgICAgICByZXR1cm4gV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCLigJwlc+KAnSBQcm9maWxlIFJlY29yZGVkIikuZm9ybWF0KGRl
dGFpbHMpOwogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb25zb2xlIFBy
b2ZpbGUgUmVjb3JkZWQiKTsKKyAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJl
Y29yZC5FdmVudFR5cGUuR2FyYmFnZUNvbGxlY3RlZDoKKyAgICAgICAgY29uc29sZS5hc3NlcnQo
ZGV0YWlscyk7CisgICAgICAgIGlmIChkZXRhaWxzICYmIChkZXRhaWxzIGluc3RhbmNlb2YgV2Vi
SW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uKSAmJiBpbmNsdWRlRGV0YWlsc0luZm9ybWF0aW9u
SW5NYWluVGl0bGUpIHsKKyAgICAgICAgICAgIHN3aXRjaCAoZGV0YWlscy50eXBlKSB7CisgICAg
ICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbi5UeXBlLlBhcnRpYWw6
CisgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiUGFydGlhbCBH
YXJiYWdlIENvbGxlY3Rpb24iKTsKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkdhcmJh
Z2VDb2xsZWN0aW9uLlR5cGUuRnVsbDoKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJGdWxsIEdhcmJhZ2UgQ29sbGVjdGlvbiIpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkdhcmJhZ2Ug
Q29sbGVjdGlvbiIpOwogICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3Jk
LkV2ZW50VHlwZS5UaW1lckZpcmVkOgotICAgICAgICBpZiAoZGV0YWlscyAmJiBpbmNsdWRlVGlt
ZXJJZGVudGlmaWVySW5NYWluVGl0bGUpCisgICAgICAgIGlmIChkZXRhaWxzICYmIGluY2x1ZGVE
ZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5UaXRsZSkKICAgICAgICAgICAgIHJldHVybiBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlRpbWVyICVzIEZpcmVkIikuZm9ybWF0KGRldGFpbHMpOwogICAgICAg
ICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lciBGaXJlZCIpOwogICAgIGNhc2Ug
V2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1lckluc3RhbGxl
ZDoKLSAgICAgICAgaWYgKGRldGFpbHMgJiYgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRp
dGxlKQorICAgICAgICBpZiAoZGV0YWlscyAmJiBpbmNsdWRlRGV0YWlsc0luZm9ybWF0aW9uSW5N
YWluVGl0bGUpCiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1l
ciAlcyBJbnN0YWxsZWQiKS5mb3JtYXQoZGV0YWlscyk7CiAgICAgICAgIHJldHVybiBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlRpbWVyIEluc3RhbGxlZCIpOwogICAgIGNhc2UgV2ViSW5zcGVjdG9y
LlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1lclJlbW92ZWQ6Ci0gICAgICAgIGlm
IChkZXRhaWxzICYmIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkKKyAgICAgICAg
aWYgKGRldGFpbHMgJiYgaW5jbHVkZURldGFpbHNJbmZvcm1hdGlvbkluTWFpblRpdGxlKQogICAg
ICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGltZXIgJXMgUmVtb3ZlZCIp
LmZvcm1hdChkZXRhaWxzKTsKICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygi
VGltZXIgUmVtb3ZlZCIpOwogICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5BbmltYXRpb25GcmFtZUZpcmVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVs
ZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9I
ZWFwT2JzZXJ2ZXIuanMKc2ltaWxhcml0eSBpbmRleCA2MiUKY29weSBmcm9tIFNvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVt
ZW50LmpzCmNvcHkgdG8gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9j
b2wvSGVhcE9ic2VydmVyLmpzCmluZGV4IDFkMzU4MGEuLmYwNGIzMDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGlu
ZVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1Byb3RvY29sL0hlYXBPYnNlcnZlci5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMjggKzIzLDEyIEBACiAgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1l
bGluZVRyZWVFbGVtZW50ID0gY2xhc3MgU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudAorV2ViSW5zcGVjdG9y
LkhlYXBPYnNlcnZlciA9IGNsYXNzIEhlYXBPYnNlcnZlcgogewotICAgIGNvbnN0cnVjdG9yKHNv
dXJjZUNvZGVUaW1lbGluZSwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZp
ZXJJbk1haW5UaXRsZSkKLSAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNvdXJjZUNvZGVU
aW1lbGluZSk7Ci0KLSAgICAgICAgc3VidGl0bGVOYW1lU3R5bGUgPSBzdWJ0aXRsZU5hbWVTdHls
ZSB8fCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5Ob25lOwotCi0g
ICAgICAgIHN1cGVyKHNvdXJjZUNvZGVUaW1lbGluZS5yZWNvcmRzWzBdLCBzdWJ0aXRsZU5hbWVT
dHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlLCBzb3VyY2VDb2RlVGltZWxp
bmUuc291cmNlQ29kZUxvY2F0aW9uLCBzb3VyY2VDb2RlVGltZWxpbmUpOwotCi0gICAgICAgIHRo
aXMuX3NvdXJjZUNvZGVUaW1lbGluZSA9IHNvdXJjZUNvZGVUaW1lbGluZTsKLSAgICB9Ci0KLSAg
ICAvLyBQdWJsaWMKLQotICAgIGdldCByZWNvcmQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHVu
ZGVmaW5lZDsKLSAgICB9CisgICAgLy8gRXZlbnRzIGRlZmluZWQgYnkgdGhlICJIZWFwIiBkb21h
aW4uCiAKLSAgICBnZXQgc291cmNlQ29kZVRpbWVsaW5lKCkKKyAgICBnYXJiYWdlQ29sbGVjdGVk
KGNvbGxlY3Rpb24pCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fc291cmNlQ29kZVRpbWVs
aW5lOworICAgICAgICBXZWJJbnNwZWN0b3IuaGVhcE1hbmFnZXIuZ2FyYmFnZUNvbGxlY3RlZChj
b2xsZWN0aW9uKTsKICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVGVzdC5odG1sCmluZGV4IDg3ZmMzYWMuLjMwM2ZiMDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbAorKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKQEAgLTYyLDYgKzYyLDcgQEAKICAg
ICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvRE9NT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJQcm90b2NvbC9ET01TdG9yYWdlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJQcm90b2NvbC9EZWJ1Z2dlck9ic2VydmVyLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSGVhcE9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iUHJvdG9jb2wvTmV0d29ya09ic2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iUHJvdG9jb2wvUGFnZU9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHNyYz0iUHJvdG9jb2wvUmVtb3RlT2JqZWN0LmpzIj48L3NjcmlwdD4KQEAgLTk4LDYgKzk5
LDcgQEAKICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0V4ZWN1dGlvbkNvbnRleHQuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvRXhlY3V0aW9uQ29udGV4dExpc3QuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvRnJhbWUuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSJNb2RlbHMvR2FyYmFnZUNvbGxlY3Rpb24uanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJNb2RlbHMvR2VvbWV0cnkuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJNb2RlbHMvSW5kZXhlZERhdGFiYXNlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iTW9kZWxzL0luZGV4ZWREYXRhYmFzZU9iamVjdFN0b3JlLmpzIj48L3NjcmlwdD4KQEAgLTE0
MSw2ICsxNDMsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9ET01UcmVlTWFuYWdl
ci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0RlYnVnZ2VyTWFu
YWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0ZyYW1lUmVz
b3VyY2VNYW5hZ2VyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMv
SGVhcE1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9J
c3N1ZU1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9M
b2dNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvUHJv
YmVNYW5hZ2VyLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1Rlc3QvVGVzdC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1Rlc3QvVGVzdC5qcwppbmRleCA3YjI4ZDU1Li5jOTliZTk5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3QuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzCkBAIC00MSw2
ICs0MSw3IEBAIFdlYkluc3BlY3Rvci5sb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckRPTURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5ET01PYnNlcnZl
cik7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rlck5ldHdvcmtEaXNwYXRjaGVyKG5ldyBX
ZWJJbnNwZWN0b3IuTmV0d29ya09ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyRGVidWdnZXJEaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuRGVidWdnZXJPYnNlcnZlcik7
CisgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckhlYXBEaXNwYXRjaGVyKG5ldyBXZWJJbnNw
ZWN0b3IuSGVhcE9ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyVGltZWxp
bmVEaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVPYnNlcnZlcik7CiAgICAgSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckNTU0Rpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5DU1NP
YnNlcnZlcik7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlclJ1bnRpbWVEaXNwYXRjaGVy
KG5ldyBXZWJJbnNwZWN0b3IuUnVudGltZU9ic2VydmVyKTsKQEAgLTU0LDYgKzU1LDcgQEAgV2Vi
SW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLmxvZ01hbmFnZXIgPSBuZXcg
V2ViSW5zcGVjdG9yLkxvZ01hbmFnZXI7CiAgICAgdGhpcy5pc3N1ZU1hbmFnZXIgPSBuZXcgV2Vi
SW5zcGVjdG9yLklzc3VlTWFuYWdlcjsKICAgICB0aGlzLnJ1bnRpbWVNYW5hZ2VyID0gbmV3IFdl
Ykluc3BlY3Rvci5SdW50aW1lTWFuYWdlcjsKKyAgICB0aGlzLmhlYXBNYW5hZ2VyID0gbmV3IFdl
Ykluc3BlY3Rvci5IZWFwTWFuYWdlcjsKICAgICB0aGlzLnRpbWVsaW5lTWFuYWdlciA9IG5ldyBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyOwogICAgIHRoaXMuZGVidWdnZXJNYW5hZ2VyID0g
bmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXI7CiAgICAgdGhpcy5wcm9iZU1hbmFnZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLlByb2JlTWFuYWdlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2Rl
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGlt
ZWxpbmVEYXRhR3JpZE5vZGUuanMKaW5kZXggMDM1NDA0Mi4uMTZhZjgyMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVE
YXRhR3JpZE5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTc3LDggKzc3LDE1IEBAIFdl
Ykluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZSA9IGNsYXNzIFNjcmlwdFRpbWVs
aW5lRGF0YUdyaWROb2RlIGV4dGVuCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAg
ICByZXR1cm4ge2V2ZW50VHlwZTogdGhpcy5fcmVjb3JkLmV2ZW50VHlwZSwgc3RhcnRUaW1lLCBz
ZWxmVGltZTogZHVyYXRpb24sIHRvdGFsVGltZTogZHVyYXRpb24sCi0gICAgICAgICAgICBhdmVy
YWdlVGltZTogZHVyYXRpb24sIGNhbGxDb3VudDogMSwgbG9jYXRpb246IGNhbGxGcmFtZU9yU291
cmNlQ29kZUxvY2F0aW9ufTsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgIGV2ZW50VHlw
ZTogdGhpcy5fcmVjb3JkLmV2ZW50VHlwZSwKKyAgICAgICAgICAgIHN0YXJ0VGltZSwKKyAgICAg
ICAgICAgIHNlbGZUaW1lOiBkdXJhdGlvbiwKKyAgICAgICAgICAgIHRvdGFsVGltZTogZHVyYXRp
b24sCisgICAgICAgICAgICBhdmVyYWdlVGltZTogZHVyYXRpb24sCisgICAgICAgICAgICBjYWxs
Q291bnQ6IE5hTiwKKyAgICAgICAgICAgIGxvY2F0aW9uOiBjYWxsRnJhbWVPclNvdXJjZUNvZGVM
b2NhdGlvbgorICAgICAgICB9OwogICAgIH0KIAogICAgIHVwZGF0ZVJhbmdlVGltZXMoc3RhcnRU
aW1lLCBlbmRUaW1lKQpAQCAtMTI0LDYgKzEzMSw5IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1l
bGluZURhdGFHcmlkTm9kZSA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4dGVu
CiAgICAgICAgIGNhc2UgInRvdGFsVGltZSI6CiAgICAgICAgIGNhc2UgImF2ZXJhZ2VUaW1lIjoK
ICAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbXB0eVZhbHVlUGxhY2Vob2xkZXJT
dHJpbmcgOiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHZhbHVlLCB0cnVlKTsKKworICAgICAgICBj
YXNlICJjYWxsQ291bnQiOgorICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVtcHR5
VmFsdWVQbGFjZWhvbGRlclN0cmluZyA6IHZhbHVlOwogICAgICAgICB9CiAKICAgICAgICAgcmV0
dXJuIHN1cGVyLmNyZWF0ZUNlbGxDb250ZW50KGNvbHVtbklkZW50aWZpZXIsIGNlbGwpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0
VGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IDcxZWU5YTEu
LjQ1MWE0ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGgu
anMKQEAgLTczLDcgKzczLDExIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZU92ZXJ2aWV3
R3JhcGggPSBjbGFzcyBTY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0CiAgICAgICAgICAg
ICArK3JlY29yZEJhckluZGV4OwogICAgICAgICB9CiAKLSAgICAgICAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUmVjb3JkQmFyLmNyZWF0ZUNvbWJpbmVkQmFycyh0aGlzLl9zY3JpcHRUaW1lbGluZS5y
ZWNvcmRzLCBzZWNvbmRzUGVyUGl4ZWwsIHRoaXMsIGNyZWF0ZUJhci5iaW5kKHRoaXMpKTsKKyAg
ICAgICAgLy8gQ3JlYXRlIGJhcnMgZm9yIG5vbi1HQyByZWNvcmRzIGFuZCBHQyByZWNvcmRzLgor
ICAgICAgICBsZXQgW2djUmVjb3Jkcywgbm9uR0NSZWNvcmRzXSA9IHRoaXMuX3NjcmlwdFRpbWVs
aW5lLnJlY29yZHMucGFydGl0aW9uKCh4KSA9PiB4LmlzR2FyYmFnZUNvbGxlY3Rpb24oKSk7Cisg
ICAgICAgIGxldCBib3VuZENyZWF0ZUJhciA9IGNyZWF0ZUJhci5iaW5kKHRoaXMpOworICAgICAg
ICBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRCYXIuY3JlYXRlQ29tYmluZWRCYXJzKG5vbkdD
UmVjb3Jkcywgc2Vjb25kc1BlclBpeGVsLCB0aGlzLCBib3VuZENyZWF0ZUJhcik7CisgICAgICAg
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEJhci5jcmVhdGVDb21iaW5lZEJhcnMoZ2NSZWNv
cmRzLCBzZWNvbmRzUGVyUGl4ZWwsIHRoaXMsIGJvdW5kQ3JlYXRlQmFyKTsKIAogICAgICAgICAv
LyBSZW1vdmUgdGhlIHJlbWFpbmluZyB1bnVzZWQgVGltZWxpbmVSZWNvcmRCYXJzLgogICAgICAg
ICBmb3IgKDsgcmVjb3JkQmFySW5kZXggPCB0aGlzLl90aW1lbGluZVJlY29yZEJhcnMubGVuZ3Ro
OyArK3JlY29yZEJhckluZGV4KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZVZpZXcuanMKaW5kZXgg
OWUwYTU0NC4uOWZjN2RhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lVmlldy5qcwpAQCAtMjI0
LDYgKzIyNCwxMCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3ID0gY2xhc3MgU2Ny
aXB0VGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogICAgICAgICBpZiAoIXRoaXMu
X3BlbmRpbmdSZWNvcmRzLmxlbmd0aCkKICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAgICB2
YXIgemVyb1RpbWUgPSB0aGlzLnplcm9UaW1lOworICAgICAgICB2YXIgc3RhcnRUaW1lID0gdGhp
cy5zdGFydFRpbWU7CisgICAgICAgIHZhciBlbmRUaW1lID0gdGhpcy5lbmRUaW1lOworCiAgICAg
ICAgIGZvciAodmFyIHNjcmlwdFRpbWVsaW5lUmVjb3JkIG9mIHRoaXMuX3BlbmRpbmdSZWNvcmRz
KSB7CiAgICAgICAgICAgICB2YXIgcm9vdE5vZGVzID0gW107CiAgICAgICAgICAgICBpZiAoc2Ny
aXB0VGltZWxpbmVSZWNvcmQucHJvZmlsZSkgewpAQCAtMjMxLDE1ICsyMzUsMTEgQEAgV2ViSW5z
cGVjdG9yLlNjcmlwdFRpbWVsaW5lVmlldyA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lVmlldyBleHRl
bmRzIFdlYkluc3BlY3Rvci4KICAgICAgICAgICAgICAgICByb290Tm9kZXMgPSBzY3JpcHRUaW1l
bGluZVJlY29yZC5wcm9maWxlLnRvcERvd25Sb290Tm9kZXM7CiAgICAgICAgICAgICB9CiAKLSAg
ICAgICAgICAgIHZhciB6ZXJvVGltZSA9IHRoaXMuemVyb1RpbWU7Ci0gICAgICAgICAgICB2YXIg
dHJlZUVsZW1lbnQgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQo
c2NyaXB0VGltZWxpbmVSZWNvcmQsIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlTG9jYXRpb24uTmFt
ZVN0eWxlLlNob3J0LCByb290Tm9kZXMubGVuZ3RoKTsKKyAgICAgICAgICAgIHZhciB0cmVlRWxl
bWVudCA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudChzY3JpcHRU
aW1lbGluZVJlY29yZCwgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVMb2NhdGlvbi5OYW1lU3R5bGUu
U2hvcnQsIHRydWUpOwogICAgICAgICAgICAgdmFyIGRhdGFHcmlkTm9kZSA9IG5ldyBXZWJJbnNw
ZWN0b3IuU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUoc2NyaXB0VGltZWxpbmVSZWNvcmQsIHpl
cm9UaW1lKTsKIAogICAgICAgICAgICAgdGhpcy5fZGF0YUdyaWQuYWRkUm93SW5Tb3J0T3JkZXIo
dHJlZUVsZW1lbnQsIGRhdGFHcmlkTm9kZSk7CiAKLSAgICAgICAgICAgIHZhciBzdGFydFRpbWUg
PSB0aGlzLnN0YXJ0VGltZTsKLSAgICAgICAgICAgIHZhciBlbmRUaW1lID0gdGhpcy5lbmRUaW1l
OwotCiAgICAgICAgICAgICBmb3IgKHZhciBwcm9maWxlTm9kZSBvZiByb290Tm9kZXMpIHsKICAg
ICAgICAgICAgICAgICB2YXIgcHJvZmlsZU5vZGVUcmVlRWxlbWVudCA9IG5ldyBXZWJJbnNwZWN0
b3IuUHJvZmlsZU5vZGVUcmVlRWxlbWVudChwcm9maWxlTm9kZSwgdGhpcyk7CiAgICAgICAgICAg
ICAgICAgdmFyIHByb2ZpbGVOb2RlRGF0YUdyaWROb2RlID0gbmV3IFdlYkluc3BlY3Rvci5Qcm9m
aWxlTm9kZURhdGFHcmlkTm9kZShwcm9maWxlTm9kZSwgemVyb1RpbWUsIHN0YXJ0VGltZSwgZW5k
VGltZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50Lmpz
CmluZGV4IDFkMzU4MGEuLjU5N2E3MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVU
aW1lbGluZVRyZWVFbGVtZW50LmpzCkBAIC0yNSwxMyArMjUsMTMgQEAKIAogV2ViSW5zcGVjdG9y
LlNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50ID0gY2xhc3MgU291cmNlQ29kZVRpbWVsaW5l
VHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVu
dAogewotICAgIGNvbnN0cnVjdG9yKHNvdXJjZUNvZGVUaW1lbGluZSwgc3VidGl0bGVOYW1lU3R5
bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkKKyAgICBjb25zdHJ1Y3Rvcihz
b3VyY2VDb2RlVGltZWxpbmUsIHN1YnRpdGxlTmFtZVN0eWxlLCBpbmNsdWRlRGV0YWlsc0luZm9y
bWF0aW9uSW5NYWluVGl0bGUpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydChzb3VyY2VD
b2RlVGltZWxpbmUpOwogCiAgICAgICAgIHN1YnRpdGxlTmFtZVN0eWxlID0gc3VidGl0bGVOYW1l
U3R5bGUgfHwgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVMb2NhdGlvbi5OYW1lU3R5bGUuTm9uZTsK
IAotICAgICAgICBzdXBlcihzb3VyY2VDb2RlVGltZWxpbmUucmVjb3Jkc1swXSwgc3VidGl0bGVO
YW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSwgc291cmNlQ29kZVRp
bWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbiwgc291cmNlQ29kZVRpbWVsaW5lKTsKKyAgICAgICAg
c3VwZXIoc291cmNlQ29kZVRpbWVsaW5lLnJlY29yZHNbMF0sIHN1YnRpdGxlTmFtZVN0eWxlLCBp
bmNsdWRlRGV0YWlsc0luZm9ybWF0aW9uSW5NYWluVGl0bGUsIHNvdXJjZUNvZGVUaW1lbGluZS5z
b3VyY2VDb2RlTG9jYXRpb24sIHNvdXJjZUNvZGVUaW1lbGluZSk7CiAKICAgICAgICAgdGhpcy5f
c291cmNlQ29kZVRpbWVsaW5lID0gc291cmNlQ29kZVRpbWVsaW5lOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lSWNv
bnMuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVJY29ucy5jc3MKaW5kZXggNDliMWY0Yi4uZjBlYTI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVJY29ucy5jc3MKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVJY29ucy5j
c3MKQEAgLTEwMyw2ICsxMDMsMTAgQEAKICAgICBjb250ZW50OiB1cmwoLi4vSW1hZ2VzL1RpbWVs
aW5lUmVjb3JkQ29uc29sZVByb2ZpbGUuc3ZnKTsKIH0KIAorLmdhcmJhZ2UtY29sbGVjdGlvbi1w
cm9maWxlLXJlY29yZCAuaWNvbiB7CisgICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9UaW1lbGlu
ZVJlY29yZEdhcmJhZ2VDb2xsZWN0aW9uLnN2Zyk7Cit9CisKIC50aW1lci1yZWNvcmQgLmljb24g
ewogICAgIGNvbnRlbnQ6IHVybCguLi9JbWFnZXMvVGltZWxpbmVSZWNvcmRUaW1lci5zdmcpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVSZWNvcmRCYXIuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuY3NzCmluZGV4IDQ1ZDVkZmUuLjQ2YmJlYTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lUmVjb3JkQmFyLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5jc3MKQEAgLTk4LDMgKzk4LDggQEAKICAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBoc2woMjY5LCA2NSUsIDc0JSk7CiAgICAgYm9yZGVyLWNvbG9yOiBoc2wo
MjczLCAzMyUsIDU4JSk7CiB9CisKKy50aW1lbGluZS1yZWNvcmQtYmFyLnRpbWVsaW5lLXJlY29y
ZC10eXBlLXNjcmlwdC5zY3JpcHQtdGltZWxpbmUtcmVjb3JkLWdhcmJhZ2UtY29sbGVjdGVkID4g
LnNlZ21lbnQgeworICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMywgNjklLCA3MyUpOworICAg
IGJvcmRlci1jb2xvcjogaHNsKDExLCA1NCUsIDYyJSk7ICAgIAorfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJl
Y29yZEJhci5qcwppbmRleCAyNjNhZDIyLi41NTYwZWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29y
ZEJhci5qcwpAQCAtMTM0LDIxICsxMzQsMjMgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
QmFyID0gY2xhc3MgVGltZWxpbmVSZWNvcmRCYXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2IKICAg
ICAgICAgdmFyIHN0YXJ0VGltZVByb3BlcnR5ID0gdXNlc0FjdGl2ZVN0YXJ0VGltZSA/ICJhY3Rp
dmVTdGFydFRpbWUiIDogInN0YXJ0VGltZSI7CiAKICAgICAgICAgZm9yICh2YXIgcmVjb3JkIG9m
IHZpc2libGVSZWNvcmRzKSB7CisgICAgICAgICAgICB2YXIgc3RhcnRUaW1lID0gcmVjb3JkW3N0
YXJ0VGltZVByb3BlcnR5XTsKKwogICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHByZXZpb3Vz
IHJlY29yZCBpcyBmYXIgZW5vdWdoIGF3YXkgdG8gY3JlYXRlIHRoZSBhY3RpdmUgYmFyLiBXZSBh
bHNvIGNyZWF0ZSBpdCBub3cgaWYgdGhlIGN1cnJlbnQgcmVjb3JkIGhhcyBubyBhY3RpdmUgc3Rh
dGUgdGltZS4KLSAgICAgICAgICAgIGlmICghaXNOYU4oYWN0aXZlU3RhcnRUaW1lKSAmJiAoYWN0
aXZlU3RhcnRUaW1lICsgTWF0aC5tYXgoYWN0aXZlRW5kVGltZSAtIGFjdGl2ZVN0YXJ0VGltZSwg
bWluaW11bUR1cmF0aW9uKSArIG1pbmltdW1NYXJnaW4gPD0gcmVjb3JkW3N0YXJ0VGltZVByb3Bl
cnR5XQotICAgICAgICAgICAgICAgIHx8IChpc05hTihyZWNvcmRbc3RhcnRUaW1lUHJvcGVydHld
KSAmJiAhaXNOYU4oYWN0aXZlRW5kVGltZSkpKSkgeworICAgICAgICAgICAgaWYgKCFpc05hTihh
Y3RpdmVTdGFydFRpbWUpICYmIChhY3RpdmVTdGFydFRpbWUgKyBNYXRoLm1heChhY3RpdmVFbmRU
aW1lIC0gYWN0aXZlU3RhcnRUaW1lLCBtaW5pbXVtRHVyYXRpb24pICsgbWluaW11bU1hcmdpbiA8
PSBzdGFydFRpbWUKKyAgICAgICAgICAgICAgICB8fCAoaXNOYU4oc3RhcnRUaW1lKSAmJiAhaXNO
YU4oYWN0aXZlRW5kVGltZSkpKSkgewogICAgICAgICAgICAgICAgIGNyZWF0ZUJhckNhbGxiYWNr
KGFjdGl2ZVJlY29yZHMsIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEJhci5SZW5kZXJNb2Rl
LkFjdGl2ZU9ubHkpOwogICAgICAgICAgICAgICAgIGFjdGl2ZVJlY29yZHMgPSBbXTsKICAgICAg
ICAgICAgICAgICBhY3RpdmVTdGFydFRpbWUgPSBOYU47CiAgICAgICAgICAgICAgICAgYWN0aXZl
RW5kVGltZSA9IE5hTjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgaWYgKGlzTmFOKHJl
Y29yZFtzdGFydFRpbWVQcm9wZXJ0eV0pKQorICAgICAgICAgICAgaWYgKGlzTmFOKHN0YXJ0VGlt
ZSkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAgIC8vIElmIHRoaXMg
aXMgYSBuZXcgYmFyLCBwZWcgdGhlIHN0YXJ0IHRpbWUuCiAgICAgICAgICAgICBpZiAoaXNOYU4o
YWN0aXZlU3RhcnRUaW1lKSkKLSAgICAgICAgICAgICAgICBhY3RpdmVTdGFydFRpbWUgPSByZWNv
cmRbc3RhcnRUaW1lUHJvcGVydHldOworICAgICAgICAgICAgICAgIGFjdGl2ZVN0YXJ0VGltZSA9
IHN0YXJ0VGltZTsKIAogICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBlbmQgdGltZSB0byBiZSB0
aGUgbWF4aW11bSB3ZSBlbmNvdW50ZXIuIGFjdGl2ZUVuZFRpbWUgbWlnaHQgYmUgTmFOLCBzbyAi
fHwgMCIgdG8gcHJldmVudCBNYXRoLm1heCBmcm9tIHJldHVybmluZyBOYU4uCiAgICAgICAgICAg
ICBpZiAoIWlzTmFOKHJlY29yZC5lbmRUaW1lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29y
ZFRyZWVFbGVtZW50LmpzCmluZGV4IGQzMTFmNGIuLjhlNThjZmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVs
ZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5qcwpAQCAtMjUsNyArMjUsNyBAQAogCiBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkVHJl
ZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50CiB7Ci0gICAg
Y29uc3RydWN0b3IodGltZWxpbmVSZWNvcmQsIHN1YnRpdGxlTmFtZVN0eWxlLCBpbmNsdWRlVGlt
ZXJJZGVudGlmaWVySW5NYWluVGl0bGUsIHNvdXJjZUNvZGVMb2NhdGlvbiwgcmVwcmVzZW50ZWRP
YmplY3QpCisgICAgY29uc3RydWN0b3IodGltZWxpbmVSZWNvcmQsIHN1YnRpdGxlTmFtZVN0eWxl
LCBpbmNsdWRlRGV0YWlsc0luZm9ybWF0aW9uSW5NYWluVGl0bGUsIHNvdXJjZUNvZGVMb2NhdGlv
biwgcmVwcmVzZW50ZWRPYmplY3QpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCh0aW1l
bGluZVJlY29yZCk7CiAKQEAgLTcyLDcgKzcyLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkVHJlZUVsZW1lbnQgPSBjbGFzcyBUaW1lbGluZVJlY29yZFRyZWVFbGVtZW50IGV4dGVuZHMK
ICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkLlR5cGUuU2NyaXB0OgotICAgICAgICAgICAgdGl0bGUgPSBXZWJJbnNwZWN0b3IuU2Ny
aXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLmRpc3BsYXlOYW1lKHRpbWVsaW5lUmVjb3JkLmV2
ZW50VHlwZSwgdGltZWxpbmVSZWNvcmQuZGV0YWlscywgaW5jbHVkZVRpbWVySWRlbnRpZmllcklu
TWFpblRpdGxlKTsKKyAgICAgICAgICAgIHRpdGxlID0gV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVs
aW5lUmVjb3JkLkV2ZW50VHlwZS5kaXNwbGF5TmFtZSh0aW1lbGluZVJlY29yZC5ldmVudFR5cGUs
IHRpbWVsaW5lUmVjb3JkLmRldGFpbHMsIGluY2x1ZGVEZXRhaWxzSW5mb3JtYXRpb25Jbk1haW5U
aXRsZSk7CiAKICAgICAgICAgICAgIHN3aXRjaCAodGltZWxpbmVSZWNvcmQuZXZlbnRUeXBlKSB7
CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVu
dFR5cGUuU2NyaXB0RXZhbHVhdGVkOgpAQCAtODcsNiArODcsOSBAQCBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSZWNvcmRUcmVlRWxlbWVudCA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQg
ZXh0ZW5kcwogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNv
cmQuRXZlbnRUeXBlLkNvbnNvbGVQcm9maWxlUmVjb3JkZWQ6CiAgICAgICAgICAgICAgICAgaWNv
blN0eWxlQ2xhc3MgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5Db25z
b2xlUHJvZmlsZUljb25TdHlsZUNsYXNzOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkdh
cmJhZ2VDb2xsZWN0ZWQ6CisgICAgICAgICAgICAgICAgaWNvblN0eWxlQ2xhc3MgPSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5HYXJiYWdlQ29sbGVjdGlvbkljb25TdHls
ZUNsYXNzOworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBXZWJJbnNw
ZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyRmlyZWQ6CiAgICAgICAg
ICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGlt
ZXJJbnN0YWxsZWQ6CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGlu
ZVJlY29yZC5FdmVudFR5cGUuVGltZXJSZW1vdmVkOgpAQCAtMTY4LDMgKzE3MSw0IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LlRpbWVyUmVjb3JkSWNvblN0eWxlQ2xh
c3MgPSAidGltZXItcmVjb3JkCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVu
dC5BbmltYXRpb25SZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJhbmltYXRpb24tcmVjb3JkIjsKIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LlByb2JlUmVjb3JkSWNvblN0eWxl
Q2xhc3MgPSAicHJvYmUtcmVjb3JkIjsKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVF
bGVtZW50LkNvbnNvbGVQcm9maWxlSWNvblN0eWxlQ2xhc3MgPSAiY29uc29sZS1wcm9maWxlLXJl
Y29yZCI7CitXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5HYXJiYWdlQ29s
bGVjdGlvbkljb25TdHlsZUNsYXNzID0gImdhcmJhZ2UtY29sbGVjdGlvbi1wcm9maWxlLXJlY29y
ZCI7Cg==
</data>
<flag name="review"
          id="288328"
          type_id="1"
          status="+"
          setter="bburg"
    />
    <flag name="commit-queue"
          id="288329"
          type_id="3"
          status="-"
          setter="bburg"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263175</attachid>
            <date>2015-10-15 11:46:45 -0700</date>
            <delta_ts>2015-10-15 11:48:19 -0700</delta_ts>
            <desc>[PATCH] For Landing</desc>
            <filename>for-landing-2.patch</filename>
            <type>text/plain</type>
            <size>81823</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwYmI5OTliLi43ZGIxYjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMTAt
MTQgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBJbmNsdWRlIEdhcmJhZ2UgQ29sbGVjdGlvbiBFdmVudCBpbiBUaW1lbGluZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4gYW5kIEJyaWFuIEJ1cmcuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvaGVhcC9nYXJiYWdlQ29sbGVjdGVkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci9oZWFwL2djLmh0bWw6IEFkZGVkLgorCiAyMDE1LTEwLTE0ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUG9zdHBvbmUgbXV0YXRp
b24gZXZlbnRzIGJlZm9yZSBpbnZva2UgRWRpdG9yOjpDb21tYW5kIGNvbW1hbmQoRG9jdW1lbnQq
LCBjb25zdCBTdHJpbmcmLCBib29sKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9oZWFwL2dhcmJhZ2VDb2xsZWN0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZWE4YzdmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9oZWFwL2dhcmJhZ2VDb2xsZWN0ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NyBAQAorVGVzdCBmb3IgdGhlIEhlYXAuZ2FyYmFnZUNvbGxlY3RlZCBldmVudC4KKworCis9PSBS
dW5uaW5nIHRlc3Qgc3VpdGU6IEhlYXAuZ2FyYmFnZUNvbGxlY3RlZAorLS0gUnVubmluZyB0ZXN0
IGNhc2U6IFRyaWdnZXJHQ3MKK1BBU1M6IFNob3VsZCBzZWUgYm90aCBhIFBhcnRpYWwgYW5kIEZ1
bGwgR2FyYmFnZSBDb2xsZWN0aW9uLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvaGVhcC9nYXJiYWdlQ29sbGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVh
cC9nYXJiYWdlQ29sbGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNTJlZTY2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9oZWFw
L2dhcmJhZ2VDb2xsZWN0ZWQuaHRtbApAQCAtMCwwICsxLDY4IEBACis8IWRvY3R5cGUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlv
biB0cmlnZ2VyR0NzKCkKK3sKKyAgICBmdW5jdGlvbiBhbGxvY2F0ZU9iamVjdHMoKSB7CisgICAg
ICAgIHZhciBsaXN0ID0gW107CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kp
CisgICAgICAgICAgICBsaXN0LnB1c2goe3g6aX0pOworICAgICAgICByZXR1cm4gbGlzdDsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBhbGxvY2F0ZUxhcmdlTGlzdCgpIHsKKyAgICAgICAgdmFyIGxh
cmdlTGlzdCA9IFtdOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgKytpKQorICAg
ICAgICAgICAgbGFyZ2VMaXN0LnB1c2goYWxsb2NhdGVPYmplY3RzKCkpOworICAgICAgICByZXR1
cm4gbGFyZ2VMaXN0OworICAgIH0KKworICAgIHZhciBwYXJ0aWFsTGlzdCA9IFtdOworICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpCisgICAgICAgIHBhcnRpYWxMaXN0LnB1c2goYWxs
b2NhdGVMYXJnZUxpc3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmlvZGljYWxseVRyaWdnZXJHQ3Mo
KQoreworICAgIHNldEludGVydmFsKHRyaWdnZXJHQ3MsIDIwKTsKK30KKworZnVuY3Rpb24gdGVz
dCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJI
ZWFwLmdhcmJhZ2VDb2xsZWN0ZWQiKTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAg
ICAgbmFtZTogIlRyaWdnZXJHQ3MiLAorICAgICAgICBkZXNjcmlwdGlvbjogIkV2YWx1YXRpbmcg
YWxsb2NhdGlvbi1oZWF2eSBKYXZhU2NyaXB0IHNob3VsZCB0cmlnZ2VyIEhlYXAuZ2FyYmFnZUNv
bGxlY3RlZCBldmVudHMuIiwKKyAgICAgICAgdGVzdDogKHJlc29sdmUsIHJlamVjdCkgPT4gewor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicGVyaW9kaWNhbGx5VHJp
Z2dlckdDcygpIik7CisKKyAgICAgICAgICAgIGxldCBzZWVuRnVsbCA9IGZhbHNlOworICAgICAg
ICAgICAgbGV0IHNlZW5QYXJ0aWFsID0gZmFsc2U7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
aGVhcE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSGVhcE1hbmFnZXIuRXZl
bnQuR2FyYmFnZUNvbGxlY3RlZCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKHNl
ZW5GdWxsICYmIHNlZW5QYXJ0aWFsKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5jb2xsZWN0aW9uLnR5cGUgPT09IFdlYkluc3Bl
Y3Rvci5HYXJiYWdlQ29sbGVjdGlvbi5UeXBlLkZ1bGwpCisgICAgICAgICAgICAgICAgICAgIHNl
ZW5GdWxsID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChldmVudC5kYXRhLmNvbGxl
Y3Rpb24udHlwZSA9PT0gV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUuUGFydGlh
bCkKKyAgICAgICAgICAgICAgICAgICAgc2VlblBhcnRpYWwgPSB0cnVlOworCisgICAgICAgICAg
ICAgICAgaWYgKHNlZW5GdWxsICYmIHNlZW5QYXJ0aWFsKSB7CisgICAgICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiBTaG91bGQgc2VlIGJvdGggYSBQYXJ0aWFsIGFuZCBG
dWxsIEdhcmJhZ2UgQ29sbGVjdGlvbi4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7
CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdCBmb3IgdGhlIEhlYXAuZ2Fy
YmFnZUNvbGxlY3RlZCBldmVudC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvaGVhcC9nYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYjQwNjIyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9oZWFwL2djLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1Rlc3QgZm9yIHRoZSBIZWFw
LmdjIGNvbW1hbmQuCisKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBIZWFwLmdjCistLSBSdW5u
aW5nIHRlc3QgY2FzZTogVHJpZ2dlckdDU2hvdWxkQ3JlYXRlR0NFdmVudAorUEFTUzogRXZlbnQg
c2hvdWxkIGhhdmUgR2FyYmFnZUNvbGxlY3Rpb24gZGF0YS4KK1BBU1M6IEdhcmJhZ2VDb2xsZWN0
aW9uIHR5cGUgc2hvdWxkIGJlIEZ1bGwuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9oZWFwL2djLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0NzhiOGYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaGVhcC9nYy5odG1sCkBAIC0wLDAgKzEsMzQgQEAK
KzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRl
c3QuY3JlYXRlQXN5bmNTdWl0ZSgiSGVhcC5nYyIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2Uo
eworICAgICAgICBuYW1lOiAiVHJpZ2dlckdDU2hvdWxkQ3JlYXRlR0NFdmVudCIsCisgICAgICAg
IGRlc2NyaXB0aW9uOiAiQ2FsbGluZyBIZWFwLmdjIHNob3VsZCB0cmlnZ2VyIEhlYXAuZ2FyYmFn
ZUNvbGxlY3RlZCBldmVudCBpZiBlbmFibGVkLiIsCisgICAgICAgIHRlc3Q6IChyZXNvbHZlLCBy
ZWplY3QpID0+IHsKKyAgICAgICAgICAgIEhlYXBBZ2VudC5nYygpOworICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmhlYXBNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkhlYXBN
YW5hZ2VyLkV2ZW50LkdhcmJhZ2VDb2xsZWN0ZWQsIChldmVudCkgPT4geworICAgICAgICAgICAg
ICAgIC8vIER1ZSB0byB0aGUgYXN5bmNocm9ub3VzIG5hdHVyZSBvZiBIZWFwLmdhcmJhZ2VDb2xs
ZWN0ZWQgZXZlbnRzLCB3ZSBtYXkgc2VlCisgICAgICAgICAgICAgICAgLy8gbm9uLUZ1bGwgR0Mg
ZXZlbnRzIGJlZm9yZSB3ZSBzZWUgdGhlIEZ1bGwgY29sbGVjdGlvbiB0cmlnZ2VyZWQgYnkgSGVh
cEFnZW50LmdjLgorICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmNvbGxlY3Rpb24udHlw
ZSA9PT0gV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUuRnVsbCkgeworICAgICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZXZlbnQuZGF0YS5jb2xsZWN0
aW9uIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLCAiRXZlbnQgc2hv
dWxkIGhhdmUgR2FyYmFnZUNvbGxlY3Rpb24gZGF0YS4iKTsKKyAgICAgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGV2ZW50LmRhdGEuY29sbGVjdGlvbi50eXBlID09PSBX
ZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24uVHlwZS5GdWxsLCAiR2FyYmFnZUNvbGxlY3Rp
b24gdHlwZSBzaG91bGQgYmUgRnVsbC4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7
CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdCBmb3IgdGhlIEhlYXAuZ2Mg
Y29tbWFuZC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggZmU3OWNhNy4uMmMwMWRjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxp
c3RzLnR4dApAQCAtMzQ4LDYgKzM0OCw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAg
ICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQuY3BwCisgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFw
QWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3Bw
CiAgICAgaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAKICAg
ICBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKQEAgLTEw
MjksNiArMTAzMCw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfRE9NQUlOUwogICAg
ICR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9jb2wvRGF0YWJhc2UuanNvbgog
ICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNv
bgogICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9jb2wvR2VuZXJpY1R5
cGVzLmpzb24KKyAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL3Byb3RvY29sL0hl
YXAuanNvbgogICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9jb2wvSW5z
cGVjdG9yLmpzb24KICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL3Byb3RvY29s
L0xheWVyVHJlZS5qc29uCiAgICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9wcm90
b2NvbC9OZXR3b3JrLmpzb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGIxNDgxN2EuLmM1
MWMyNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDE1LTEw
LTE0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogSW5jbHVkZSBHYXJiYWdlIENvbGxlY3Rpb24gRXZlbnQgaW4gVGltZWxpbmUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjUxMAor
CisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuIGFuZCBCcmlhbiBCdXJnLgorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICBJbmNsdWRlIG5ldyBmaWxlcyBpbiB0aGUgYnVpbGQuCisKKyAgICAgICAgKiBoZWFwL0hl
YXBPYnNlcnZlci5oOgorICAgICAgICAoSlNDOjpIZWFwT2JzZXJ2ZXI6On5IZWFwT2JzZXJ2ZXIp
OgorICAgICAgICAqIGhlYXAvSGVhcC5jcHA6CisgICAgICAgIChKU0M6OkhlYXA6OndpbGxTdGFy
dENvbGxlY3Rpb24pOgorICAgICAgICAoSlNDOjpIZWFwOjpkaWRGaW5pc2hDb2xsZWN0aW9uKToK
KyAgICAgICAgKiBoZWFwL0hlYXAuaDoKKyAgICAgICAgKEpTQzo6SGVhcDo6YWRkT2JzZXJ2ZXIp
OgorICAgICAgICAoSlNDOjpIZWFwOjpyZW1vdmVPYnNlcnZlcik6CisgICAgICAgIEFsbG93IG9i
c2VydmVycyBvbiBoZWFwIHRvIGFkZCBob29rcyBmb3Igc3RhcnRpbmcgLyBlbmRpbmcgZ2FyYmFn
ZSBjb2xsZWN0aW9uLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckVudmlyb25tZW50
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJv
bGxlcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjp2bSk6CisgICAgICAgICog
aW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICBB
Y2Nlc3MgdGhlIFZNIHRocm91Z2ggdGhlIEluc3BlY3RvckVudmlyb25tZW50IGFzIGl0IHdvbid0
IGNoYW5nZS4KKworICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50
LmNwcDogQWRkZWQuCisgICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3RvckhlYXBBZ2VudDo6SW5z
cGVjdG9ySGVhcEFnZW50KToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50
Ojp+SW5zcGVjdG9ySGVhcEFnZW50KToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVh
cEFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAgICAoSW5zcGVjdG9y
OjpJbnNwZWN0b3JIZWFwQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKToKKyAg
ICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50OjplbmFibGUpOgorICAgICAgICAo
SW5zcGVjdG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6OmRpc2FibGUpOgorICAgICAgICAoSW5zcGVj
dG9yOjpJbnNwZWN0b3JIZWFwQWdlbnQ6OmdjKToKKyAgICAgICAgKEluc3BlY3Rvcjo6cHJvdG9j
b2xUeXBlRm9ySGVhcE9wZXJhdGlvbik6CisgICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3Rvckhl
YXBBZ2VudDo6d2lsbEdhcmJhZ2VDb2xsZWN0KToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVj
dG9ySGVhcEFnZW50OjpkaWRHYXJiYWdlQ29sbGVjdCk6CisgICAgICAgICogaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3By
b3RvY29sL0hlYXAuanNvbjogQWRkZWQuCisgICAgICAgIE5ldyBkb21haW4gYW5kIGFnZW50IHRv
IGhhbmRsZSB0YXNrcyByZWxhdGVkIHRvIHRoZSBKYXZhU2NyaXB0Q29yZSBoZWFwLgorCisyMDE1
LTEwLTE0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAg
UmVtb3ZlIHVuaW1wbGVtZW50ZWQgbWV0aG9kcyBpbiBDb3BpZWRTcGFjZQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMTQzCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAxNWRkYy4uMDQ2NjhkZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE1Miw2ICsxNTIs
NyBAQCBJTlNQRUNUT1JfRE9NQUlOUyA9IFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0
b3IvcHJvdG9jb2wvRGF0YWJhc2UuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVj
dG9yL3Byb3RvY29sL0RlYnVnZ2VyLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3Bl
Y3Rvci9wcm90b2NvbC9HZW5lcmljVHlwZXMuanNvbiBcCisgICAgJChKYXZhU2NyaXB0Q29yZSkv
aW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5z
cGVjdG9yL3Byb3RvY29sL0luc3BlY3Rvci5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9p
bnNwZWN0b3IvcHJvdG9jb2wvTGF5ZXJUcmVlLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUp
L2luc3BlY3Rvci9wcm90b2NvbC9OZXR3b3JrLmpzb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA0NTE0MzcxLi45YWViMzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTI5OCw2ICsxMjk4LDkgQEAKIAkJQTUzMjQzOEMxODU2ODMzNTAwMkVENjkyIC8qIElu
c3BlY3RvclByb3RvY29sT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTUzMjQzODYxODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvclByb3Rv
Y29sT2JqZWN0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUE1MzI0Mzk0MTg1Njk3MDkwMDJFRDY5MiAvKiBnZW5lcmF0ZS1jb21iaW5lZC1pbnNw
ZWN0b3ItanNvbi5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1MzI0MzkxMTg1Njk2RTYwMDJFRDY5MiAvKiBnZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0
b3ItanNvbi5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlBNTMyNDM5ODE4NTZBNDg5MDAyRUQ2OTIgLyogQ29tYmluZWREb21haW5zLmpzb24gaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTMyNDM5NTE4NTZB
NDc1MDAyRUQ2OTIgLyogQ29tYmluZWREb21haW5zLmpzb24gKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUzMzlFQzYxQkIzOTlBNjAwNTRGMDA1IC8q
IEluc3BlY3RvckhlYXBBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTUzMzlFQzUxQkIzOTk5MDAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2Vu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1
MzM5RUM3MUJCMzk5QTkwMDU0RjAwNSAvKiBJbnNwZWN0b3JIZWFwQWdlbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMzlFQzQxQkIzOTk5MDAw
NTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5jcHAgKi87IH07CisJCUE1MzM5RUM5MUJCNEI0
NjAwMDU0RjAwNSAvKiBIZWFwT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzM5RUM4MUJCNEI0NTEwMDU0RjAwNSAvKiBIZWFwT2JzZXJ2
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlB
NTNDRTA4NTE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTNDRTA4MTE4QkMxQTU2MDBC
RURGNzYgLyogQ29uc29sZVByb3RvdHlwZS5jcHAgKi87IH07CiAJCUE1M0NFMDg2MThCQzFBNTYw
MEJFREY3NiAvKiBDb25zb2xlUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNTNDRTA4MjE4QkMxQTU2MDBCRURGNzYgLyogQ29uc29sZVBy
b3RvdHlwZS5oICovOyB9OwogCQlBNTNDRTA4NzE4QkMxQTU2MDBCRURGNzYgLyogSlNDb25zb2xl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1M0NF
MDgzMThCQzFBNTYwMEJFREY3NiAvKiBKU0NvbnNvbGUuY3BwICovOyB9OwpAQCAtMzIwNCw2ICsz
MjA3LDkgQEAKIAkJQTUzMjQzOTExODU2OTZFNjAwMkVENjkyIC8qIGdlbmVyYXRlLWNvbWJpbmVk
LWluc3BlY3Rvci1qc29uLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0g
ImdlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5Ijsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTUzMjQzOTUxODU2QTQ3NTAwMkVENjkyIC8qIENvbWJpbmVkRG9tYWlucy5q
c29uICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5qc29uOyBwYXRoID0gQ29tYmluZWREb21haW5zLmpzb247IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1MzI0Mzk2MTg1NkE0NzUwMDJFRDY5MiAvKiBJ
bnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3Jp
cHQ7IHBhdGggPSBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE1MzM5RUM0MUJCMzk5OTAwMDU0RjAwNSAvKiBJbnNwZWN0b3JIZWFwQWdl
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9ySGVh
cEFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUzMzlFQzUxQkIzOTk5
MDAwNTRGMDA1IC8qIEluc3BlY3RvckhlYXBBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJbnNwZWN0b3JIZWFwQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTUzMzlFQzgxQkI0QjQ1MTAwNTRGMDA1IC8qIEhlYXBPYnNlcnZlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIZWFwT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTUzQ0UwODExOEJDMUE1NjAwQkVERjc2IC8qIENvbnNvbGVQcm90b3R5
cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29uc29sZVByb3Rv
dHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1M0NFMDgyMThCQzFBNTYw
MEJFREY3NiAvKiBDb25zb2xlUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENvbnNvbGVQcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTUzQ0UwODMxOEJDMUE1NjAwQkVERjc2IC8qIEpTQ29uc29sZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NvbnNvbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNDI5Niw2ICs0MzAyLDcgQEAKIAkJCQkwRjMyQkQwRjFCQjM0RjE5MDA5M0E1
N0YgLyogSGVhcEhlbHBlclBvb2wuaCAqLywKIAkJCQlDMkRBNzc4MjE4RTI1OTk5MDA2NkZDQjYg
LyogSGVhcElubGluZXMuaCAqLywKIAkJCQkyQUQ4OTMyOTE3RTM4NjhGMDA2NjgyNzYgLyogSGVh
cEl0ZXJhdGlvblNjb3BlLmggKi8sCisJCQkJQTUzMzlFQzgxQkI0QjQ1MTAwNTRGMDA1IC8qIEhl
YXBPYnNlcnZlci5oICovLAogCQkJCTJBNkY0NjI1MTdFOTU5Q0UwMEM0NUM5OCAvKiBIZWFwT3Bl
cmF0aW9uLmggKi8sCiAJCQkJMTRGOTc0NDYxMzhDODUzRTAwREExQzY3IC8qIEhlYXBSb290Vmlz
aXRvci5oICovLAogCQkJCUMyNEQzMUUwMTYxQ0Q2OTUwMDJBQTREQiAvKiBIZWFwU3RhdGlzdGlj
cy5jcHAgKi8sCkBAIC01NzY2LDYgKzU3NzMsOCBAQAogCQkJCUE1RkQwMDgwMTg5QjE5MUEwMDYz
MzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlBNTdEMjNFMzE4OTBDRUJG
MDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgKi8sCiAJCQkJQTU3RDIzRTQx
ODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCAqLywKKwkJCQlBNTMz
OUVDNDFCQjM5OTkwMDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmNwcCAqLywKKwkJCQlB
NTMzOUVDNTFCQjM5OTkwMDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmggKi8sCiAJCQkJ
QTUwRTRCNUQxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgKi8s
CiAJCQkJQTUwRTRCNUUxODgwOURENTAwNjhBNDZEIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5o
ICovLAogCQkJCUE1RkQwMDgzMTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNv
bGVBZ2VudC5jcHAgKi8sCkBAIC02NDQ1LDYgKzY0NTQsNyBAQAogCQkJCTE0QkE3QTk4MTNBQURG
RjgwMDVCN0MyQyAvKiBIZWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkRBNzc4MzE4RTI1OTk5
MDA2NkZDQjYgLyogSGVhcElubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTJBRDg5MzJCMTdF
Mzg2OEYwMDY2ODI3NiAvKiBIZWFwSXRlcmF0aW9uU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE1MzM5RUM5MUJCNEI0NjAwMDU0RjAwNSAvKiBIZWFwT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJBNkY0NjI2MTdFOTU5Q0UwMEM0NUM5OCAvKiBIZWFwT3BlcmF0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxNEY5NzQ0NzEzOEM4NTNFMDBEQTFDNjcgLyogSGVhcFJvb3RWaXNpdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjREMzFFMzE2MUNENjk1MDAyQUE0REIgLyogSGVhcFN0
YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovLApAQCAtNjQ4Nyw2ICs2NDk3LDcgQEAKIAkJCQlBNTk0
NTU5NTE4MjQ3OUVCMDBDQzM4NDMgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBNTMyNDM4QTE4NTY4MzM1MDAyRUQ2OTIgLyogSW5zcGVjdG9yRnJvbnRl
bmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlGMUE3MDExQjk4RkJFQzAwNDYz
QjI2IC8qIEluc3BlY3RvckZyb250ZW5kUm91dGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTMz
OUVDNjFCQjM5OUE2MDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMzVFMDM2MDFCN0FCNDNFMDA3M0FEMkEgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzNCM0UyNjFCN0FCRDc1MDA0OERCMkUg
LyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0Lmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTUzMjQzOEMxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5o
IGluIEhlYWRlcnMgKi8sCkBAIC03ODAyLDYgKzc4MTMsNyBAQAogCQkJCUE1N0QyM0U1MTg5MENF
QkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE1MzI0Mzg5MTg1NjgzMzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNo
ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk5RjFBNkZFMUI4RTZEOTQwMDQ2M0IyNiAvKiBJ
bnNwZWN0b3JGcm9udGVuZFJvdXRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTMzOUVDNzFC
QjM5OUE5MDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUUzNUUwMzVGMUI3QUI0M0UwMDczQUQyQSAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25P
YmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTUzMjQzOEIxODU2ODMzNTAwMkVENjkyIC8q
IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTBFNEI2
MTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAppbmRleCA2MDI5YWM4Li41NWNjODlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcApAQCAtNTQsNyArNTQsNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9SQU1TaXplLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci11c2luZyBuYW1l
c3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMTE1OCw2ICsxMTU3LDkgQEAgdm9p
ZCBIZWFwOjp3aWxsU3RhcnRDb2xsZWN0aW9uKEhlYXBPcGVyYXRpb24gY29sbGVjdGlvblR5cGUp
CiAKICAgICBpZiAobV9lZGVuQWN0aXZpdHlDYWxsYmFjaykKICAgICAgICAgbV9lZGVuQWN0aXZp
dHlDYWxsYmFjay0+d2lsbENvbGxlY3QoKTsKKworICAgIGZvciAoYXV0byogb2JzZXJ2ZXIgOiBt
X29ic2VydmVycykKKyAgICAgICAgb2JzZXJ2ZXItPndpbGxHYXJiYWdlQ29sbGVjdCgpOwogfQog
CiB2b2lkIEhlYXA6OmZsdXNoT2xkU3RydWN0dXJlSURUYWJsZXMoKQpAQCAtMTMwNiw2ICsxMzA4
LDcgQEAgdm9pZCBIZWFwOjpkaWRGaW5pc2hDb2xsZWN0aW9uKGRvdWJsZSBnY1N0YXJ0VGltZSkK
IHsKICAgICBHQ1BIQVNFKEZpbmlzaGluZ0NvbGxlY3Rpb24pOwogICAgIGRvdWJsZSBnY0VuZFRp
bWUgPSBXVEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgIEhlYXBPcGVyYXRp
b24gb3BlcmF0aW9uID0gbV9vcGVyYXRpb25JblByb2dyZXNzOwogICAgIGlmIChtX29wZXJhdGlv
bkluUHJvZ3Jlc3MgPT0gRnVsbENvbGxlY3Rpb24pCiAgICAgICAgIG1fbGFzdEZ1bGxHQ0xlbmd0
aCA9IGdjRW5kVGltZSAtIGdjU3RhcnRUaW1lOwogICAgIGVsc2UKQEAgLTEzMjksNiArMTMzMiw5
IEBAIHZvaWQgSGVhcDo6ZGlkRmluaXNoQ29sbGVjdGlvbihkb3VibGUgZ2NTdGFydFRpbWUpCiAg
ICAgUkVMRUFTRV9BU1NFUlQobV9vcGVyYXRpb25JblByb2dyZXNzID09IEVkZW5Db2xsZWN0aW9u
IHx8IG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9PSBGdWxsQ29sbGVjdGlvbik7CiAgICAgbV9vcGVy
YXRpb25JblByb2dyZXNzID0gTm9PcGVyYXRpb247CiAgICAgSkFWQVNDUklQVENPUkVfR0NfRU5E
KCk7CisKKyAgICBmb3IgKGF1dG8qIG9ic2VydmVyIDogbV9vYnNlcnZlcnMpCisgICAgICAgIG9i
c2VydmVyLT5kaWRHYXJiYWdlQ29sbGVjdChvcGVyYXRpb24pOwogfQogCiB2b2lkIEhlYXA6OnJl
c3VtZUNvbXBpbGVyVGhyZWFkcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9IZWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmgKaW5kZXggNWJm
ZjBjYi4uZTE2OWNjYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVh
cC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaApAQCAtMjgsNiArMjgs
NyBAQAogI2luY2x1ZGUgIkdDSW5jb21pbmdSZWZDb3VudGVkU2V0LmgiCiAjaW5jbHVkZSAiSGFu
ZGxlU2V0LmgiCiAjaW5jbHVkZSAiSGFuZGxlU3RhY2suaCIKKyNpbmNsdWRlICJIZWFwT2JzZXJ2
ZXIuaCIKICNpbmNsdWRlICJIZWFwT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSklUU3R1YlJvdXRp
bmVTZXQuaCIKICNpbmNsdWRlICJMaXN0YWJsZUhhbmRsZXIuaCIKQEAgLTUwLDI4ICs1MSwyNCBA
QAogCiBuYW1lc3BhY2UgSlNDIHsKIAotY2xhc3MgQ29waWVkU3BhY2U7CiBjbGFzcyBDb2RlQmxv
Y2s7Ci1jbGFzcyBFeGVjdXRhYmxlQmFzZTsKK2NsYXNzIENvcGllZFNwYWNlOwogY2xhc3MgRWRl
bkdDQWN0aXZpdHlDYWxsYmFjazsKK2NsYXNzIEV4ZWN1dGFibGVCYXNlOwogY2xhc3MgRnVsbEdD
QWN0aXZpdHlDYWxsYmFjazsKIGNsYXNzIEdDQWN0aXZpdHlDYWxsYmFjazsKIGNsYXNzIEdDQXdh
cmVKSVRTdHViUm91dGluZTsKLWNsYXNzIEdsb2JhbENvZGVCbG9jazsKIGNsYXNzIEhlYXA7CiBj
bGFzcyBIZWFwUm9vdFZpc2l0b3I7CiBjbGFzcyBIZWFwVmVyaWZpZXI7CiBjbGFzcyBJbmNyZW1l
bnRhbFN3ZWVwZXI7CiBjbGFzcyBKSVRTdHViUm91dGluZTsKIGNsYXNzIEpTQ2VsbDsKLWNsYXNz
IFZNOwogY2xhc3MgSlNTdGFjazsKIGNsYXNzIEpTVmFsdWU7Ci1jbGFzcyBMaXZlT2JqZWN0SXRl
cmF0b3I7CiBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CiBjbGFzcyBNYXJrZWRBcmd1bWVu
dEJ1ZmZlcjsKLWNsYXNzIFdlYWtHQ0hhbmRsZVBvb2w7Ci1jbGFzcyBTbG90VmlzaXRvcjsKK2Ns
YXNzIFZNOwogCiBuYW1lc3BhY2UgREZHIHsKIGNsYXNzIFNwZWN1bGF0aXZlSklUOwpAQCAtMTM0
LDYgKzEzMSw5IEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBJbmNyZW1lbnRhbFN3
ZWVwZXIqIHN3ZWVwZXIoKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHNldEluY3JlbWVu
dGFsU3dlZXBlcihzdGQ6OnVuaXF1ZV9wdHI8SW5jcmVtZW50YWxTd2VlcGVyPik7CiAKKyAgICB2
b2lkIGFkZE9ic2VydmVyKEhlYXBPYnNlcnZlciogb2JzZXJ2ZXIpIHsgbV9vYnNlcnZlcnMuYXBw
ZW5kKG9ic2VydmVyKTsgfQorICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoSGVhcE9ic2VydmVyKiBv
YnNlcnZlcikgeyBtX29ic2VydmVycy5yZW1vdmVGaXJzdChvYnNlcnZlcik7IH0KKwogICAgIC8v
IHRydWUgaWYgY29sbGVjdGlvbiBpcyBpbiBwcm9ncmVzcwogICAgIGJvb2wgaXNDb2xsZWN0aW5n
KCk7CiAgICAgSGVhcE9wZXJhdGlvbiBvcGVyYXRpb25JblByb2dyZXNzKCkgeyByZXR1cm4gbV9v
cGVyYXRpb25JblByb2dyZXNzOyB9CkBAIC00MDcsNyArNDA3LDkgQEAgcHJpdmF0ZToKICAgICBS
ZWZQdHI8R0NBY3Rpdml0eUNhbGxiYWNrPiBtX2VkZW5BY3Rpdml0eUNhbGxiYWNrOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxJbmNyZW1lbnRhbFN3ZWVwZXI+IG1fc3dlZXBlcjsKICAgICBWZWN0b3I8
TWFya2VkQmxvY2sqPiBtX2Jsb2NrU25hcHNob3Q7Ci0gICAgCisKKyAgICBWZWN0b3I8SGVhcE9i
c2VydmVyKj4gbV9vYnNlcnZlcnM7CisKICAgICB1bnNpZ25lZCBtX2RlZmVycmFsRGVwdGg7CiAg
ICAgVmVjdG9yPERGRzo6V29ya2xpc3QqPiBtX3N1c3BlbmRlZENvbXBpbGVyV29ya2xpc3RzOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9T
b3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0hlYXBPYnNlcnZlci5oCnNpbWlsYXJpdHkgaW5kZXggNjIlCmNvcHkgZnJvbSBTb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVl
RWxlbWVudC5qcwpjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBPYnNlcnZl
ci5oCmluZGV4IDFkMzU4MGEuLmM0YzI4MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50Lmpz
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBPYnNlcnZlci5oCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywyOCAr
MjMsMjAgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJ
bnNwZWN0b3IuU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgPSBjbGFzcyBTb3VyY2VDb2Rl
VGltZWxpbmVUcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRy
ZWVFbGVtZW50Ci17Ci0gICAgY29uc3RydWN0b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRs
ZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQotICAgIHsKLSAg
ICAgICAgY29uc29sZS5hc3NlcnQoc291cmNlQ29kZVRpbWVsaW5lKTsKKyNpZm5kZWYgSGVhcE9i
c2VydmVyX2gKKyNkZWZpbmUgSGVhcE9ic2VydmVyX2gKIAotICAgICAgICBzdWJ0aXRsZU5hbWVT
dHlsZSA9IHN1YnRpdGxlTmFtZVN0eWxlIHx8IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlTG9jYXRp
b24uTmFtZVN0eWxlLk5vbmU7CisjaW5jbHVkZSAiSGVhcE9wZXJhdGlvbi5oIgogCi0gICAgICAg
IHN1cGVyKHNvdXJjZUNvZGVUaW1lbGluZS5yZWNvcmRzWzBdLCBzdWJ0aXRsZU5hbWVTdHlsZSwg
aW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlLCBzb3VyY2VDb2RlVGltZWxpbmUuc291
cmNlQ29kZUxvY2F0aW9uLCBzb3VyY2VDb2RlVGltZWxpbmUpOworbmFtZXNwYWNlIEpTQyB7CiAK
LSAgICAgICAgdGhpcy5fc291cmNlQ29kZVRpbWVsaW5lID0gc291cmNlQ29kZVRpbWVsaW5lOwot
ICAgIH0KLQotICAgIC8vIFB1YmxpYwotCi0gICAgZ2V0IHJlY29yZCgpCi0gICAgewotICAgICAg
ICByZXR1cm4gdW5kZWZpbmVkOwotICAgIH0KLQotICAgIGdldCBzb3VyY2VDb2RlVGltZWxpbmUo
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvZGVUaW1lbGluZTsKLSAgICB9
CitjbGFzcyBIZWFwT2JzZXJ2ZXIgeworcHVibGljOgorICAgIHZpcnR1YWwgfkhlYXBPYnNlcnZl
cigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB3aWxsR2FyYmFnZUNvbGxlY3QoKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIGRpZEdhcmJhZ2VDb2xsZWN0KEhlYXBPcGVyYXRpb24pID0gMDsKIH07CisK
K30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gSGVhcE9ic2VydmVyX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oCmluZGV4IDg2MTk1NzYuLjk5ODI2ODUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuaApAQCAtMzUsNyArMzUsNiBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgSGVhcDsKIGNsYXNzIEhlYXBJdGVyYXRpb25TY29w
ZTsKLWNsYXNzIExpdmVPYmplY3RJdGVyYXRvcjsKIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3Rv
cjsKIAogc3RydWN0IENsZWFyTWFya3MgOiBNYXJrZWRCbG9jazo6Vm9pZEZ1bmN0b3IgewpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JFbnZpcm9u
bWVudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JFbnZpcm9u
bWVudC5oCmluZGV4IGNiNDg3NzEuLjc1ZjJlYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRW52aXJvbm1lbnQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckVudmlyb25tZW50LmgKQEAgLTM1LDYgKzM1
LDcgQEAgY2xhc3MgU3RvcHdhdGNoOwogbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGNlcHRpb247
CiBjbGFzcyBTb3VyY2VDb2RlOworY2xhc3MgVk07CiB9CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewpAQCAtNTMsNiArNTQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENhbGxJbmpl
Y3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKikgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBmcm9udGVuZEluaXRpYWxpemVkKCkgPSAwOwogICAgIHZpcnR1YWwgUmVmPFdURjo6U3RvcHdh
dGNoPiBleGVjdXRpb25TdG9wd2F0Y2goKSA9IDA7CisgICAgdmlydHVhbCBKU0M6OlZNJiB2bSgp
ID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdElu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDk4OWQyYTYuLjQyMTYwNDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JD
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xv
YmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNs
dWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZy
b250ZW5kQ2hhbm5lbC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kUm91dGVyLmgiCisj
aW5jbHVkZSAiSW5zcGVjdG9ySGVhcEFnZW50LmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3Qu
aCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpT
R2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5oIgpAQCAtNjIsMTMgKzYzLDExIEBAIHVzaW5nIG5h
bWVzcGFjZSBKU0M7CiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogSlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9i
YWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLSAgICA6IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKHN0
ZDo6bWFrZV91bmlxdWU8SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyPigqdGhpcywgSW5qZWN0ZWRTY3Jp
cHRIb3N0OjpjcmVhdGUoKSkpCisgICAgOiBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCisg
ICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcihzdGQ6Om1ha2VfdW5pcXVlPEluamVjdGVkU2Ny
aXB0TWFuYWdlcj4oKnRoaXMsIEluamVjdGVkU2NyaXB0SG9zdDo6Y3JlYXRlKCkpKQogICAgICwg
bV9leGVjdXRpb25TdG9wd2F0Y2goU3RvcHdhdGNoOjpjcmVhdGUoKSkKICAgICAsIG1fZnJvbnRl
bmRSb3V0ZXIoRnJvbnRlbmRSb3V0ZXI6OmNyZWF0ZSgpKQogICAgICwgbV9iYWNrZW5kRGlzcGF0
Y2hlcihCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKG1fZnJvbnRlbmRSb3V0ZXIuY29weVJlZigp
KSkKLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLSAgICAsIG1fZ2xvYmFsT2JqZWN0KGds
b2JhbE9iamVjdCkKLSNlbmRpZgogewogICAgIEFnZW50Q29udGV4dCBiYXNlQ29udGV4dCA9IHsK
ICAgICAgICAgKnRoaXMsCkBAIC04Niw5ICs4NSwxMSBAQCBKU0dsb2JhbE9iamVjdEluc3BlY3Rv
ckNvbnRyb2xsZXI6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcihKU0dsb2JhbE9i
agogICAgIGF1dG8gcnVudGltZUFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxKU0dsb2JhbE9iamVj
dFJ1bnRpbWVBZ2VudD4oY29udGV4dCk7CiAgICAgYXV0byBjb25zb2xlQWdlbnQgPSBzdGQ6Om1h
a2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Pihjb250ZXh0KTsKICAgICBhdXRv
IGRlYnVnZ2VyQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0RGVidWdnZXJB
Z2VudD4oY29udGV4dCwgY29uc29sZUFnZW50LmdldCgpKTsKKyAgICBhdXRvIGhlYXBBZ2VudCA9
IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9ySGVhcEFnZW50Pihjb250ZXh0KTsKIAogICAgIG1f
aW5zcGVjdG9yQWdlbnQgPSBpbnNwZWN0b3JBZ2VudC5nZXQoKTsKICAgICBtX2RlYnVnZ2VyQWdl
bnQgPSBkZWJ1Z2dlckFnZW50LmdldCgpOworICAgIG1faGVhcEFnZW50ID0gaGVhcEFnZW50Lmdl
dCgpOwogICAgIG1fY29uc29sZUFnZW50ID0gY29uc29sZUFnZW50LmdldCgpOwogICAgIG1fY29u
c29sZUNsaWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50
PihtX2NvbnNvbGVBZ2VudCk7CiAKQEAgLTk4LDYgKzk5LDcgQEAgSlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9i
YWxPYmoKICAgICBtX2FnZW50cy5hcHBlbmQoV1RGOjptb3ZlKHJ1bnRpbWVBZ2VudCkpOwogICAg
IG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUoY29uc29sZUFnZW50KSk7CiAgICAgbV9hZ2VudHMu
YXBwZW5kKFdURjo6bW92ZShkZWJ1Z2dlckFnZW50KSk7CisgICAgbV9hZ2VudHMuYXBwZW5kKFdU
Rjo6bW92ZShoZWFwQWdlbnQpKTsKIAogICAgIG1fZXhlY3V0aW9uU3RvcHdhdGNoLT5zdGFydCgp
OwogfQpAQCAtMjgzLDYgKzI4NSwxMSBAQCBSZWY8U3RvcHdhdGNoPiBKU0dsb2JhbE9iamVjdElu
c3BlY3RvckNvbnRyb2xsZXI6OmV4ZWN1dGlvblN0b3B3YXRjaCgpCiAgICAgcmV0dXJuIG1fZXhl
Y3V0aW9uU3RvcHdhdGNoLmNvcHlSZWYoKTsKIH0KIAorVk0mIEpTR2xvYmFsT2JqZWN0SW5zcGVj
dG9yQ29udHJvbGxlcjo6dm0oKQoreworICAgIHJldHVybiBtX2dsb2JhbE9iamVjdC52bSgpOwor
fQorCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCiB2b2lkIEpT
R2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6YXBwZW5kRXh0cmFBZ2VudChzdGQ6OnVu
aXF1ZV9wdHI8SW5zcGVjdG9yQWdlbnRCYXNlPiBhZ2VudCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9s
bGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5z
cGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDliNDMwNTEuLmY2NmViZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtNDEsNyArNDEsNiBAQCBuYW1lc3BhY2UgV1RG
IHsKIGNsYXNzIFN0b3B3YXRjaDsKIH0KIAotCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIENvbnNv
bGVDbGllbnQ7CiBjbGFzcyBFeGNlcHRpb247CkBAIC01OCw2ICs1Nyw3IEBAIGNsYXNzIEluamVj
dGVkU2NyaXB0TWFuYWdlcjsKIGNsYXNzIEluc3BlY3RvckFnZW50OwogY2xhc3MgSW5zcGVjdG9y
Q29uc29sZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKK2NsYXNzIEluc3Bl
Y3RvckhlYXBBZ2VudDsKIGNsYXNzIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudDsKIGNsYXNz
IFNjcmlwdENhbGxTdGFjazsKIApAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGRpZENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKikgb3Zl
cnJpZGUgeyB9CiAgICAgdmlydHVhbCB2b2lkIGZyb250ZW5kSW5pdGlhbGl6ZWQoKSBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIFJlZjxXVEY6OlN0b3B3YXRjaD4gZXhlY3V0aW9uU3RvcHdhdGNoKCkg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCBKU0M6OlZNJiB2bSgpIG92ZXJyaWRlOwogCiAjaWYgRU5B
QkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCiAgICAgdmlydHVhbCBBdWdtZW50
YWJsZUluc3BlY3RvckNvbnRyb2xsZXJDbGllbnQqIGF1Z21lbnRhYmxlSW5zcGVjdG9yQ29udHJv
bGxlckNsaWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYXVnbWVudGluZ0NsaWVudDsg
fSAKQEAgLTExMCw2ICsxMTEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZvaWQgYXBwZW5k
QVBJQmFja3RyYWNlKFNjcmlwdENhbGxTdGFjayogY2FsbFN0YWNrKTsKIAorICAgIEpTQzo6SlNH
bG9iYWxPYmplY3QmIG1fZ2xvYmFsT2JqZWN0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI+IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ+IG1fY29uc29sZUNsaWVudDsKICAgICBS
ZWY8V1RGOjpTdG9wd2F0Y2g+IG1fZXhlY3V0aW9uU3RvcHdhdGNoOwpAQCAtMTE4LDYgKzEyMCw3
IEBAIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQgeyBudWxs
cHRyIH07CiAgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudCB7IG51bGxw
dHIgfTsKICAgICBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBtX2RlYnVnZ2VyQWdlbnQgeyBudWxs
cHRyIH07CisgICAgSW5zcGVjdG9ySGVhcEFnZW50KiBtX2hlYXBBZ2VudCB7IG51bGxwdHIgfTsK
IAogICAgIFJlZjxGcm9udGVuZFJvdXRlcj4gbV9mcm9udGVuZFJvdXRlcjsKICAgICBSZWY8QmFj
a2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CkBAIC0xMjUsMTAgKzEyOCw2IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2luY2x1ZGVOYXRpdmVDYWxsU3RhY2tXaXRoRXhjZXB0aW9u
cyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQXV0b21hdGljSW5zcGVjdGlvbiB7IGZhbHNlIH07
CiAKLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLSAgICBKU0M6OkpTR2xvYmFsT2JqZWN0
JiBtX2dsb2JhbE9iamVjdDsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5B
VEVfRElTUEFUQ0hFUlMpCiAgICAgQXVnbWVudGFibGVJbnNwZWN0b3JDb250cm9sbGVyQ2xpZW50
KiBtX2F1Z21lbnRpbmdDbGllbnQgeyBudWxscHRyIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFw
QWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhZDBlNzgKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JIZWFwQWdlbnQuY3BwCkBAIC0wLDAgKzEsMTQ0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkluc3BlY3RvckhlYXBBZ2VudC5oIgorCisjaW5jbHVkZSAiSW5zcGVjdG9yRW52aXJvbm1l
bnQuaCIKKyNpbmNsdWRlICJWTS5oIgorI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CisjaW5jbHVk
ZSA8d3RmL1N0b3B3YXRjaC5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2Ug
SW5zcGVjdG9yIHsKKworSW5zcGVjdG9ySGVhcEFnZW50OjpJbnNwZWN0b3JIZWFwQWdlbnQoQWdl
bnRDb250ZXh0JiBjb250ZXh0KQorICAgIDogSW5zcGVjdG9yQWdlbnRCYXNlKEFTQ0lJTGl0ZXJh
bCgiSGVhcCIpKQorICAgICwgbV9mcm9udGVuZERpc3BhdGNoZXIoc3RkOjptYWtlX3VuaXF1ZTxI
ZWFwRnJvbnRlbmREaXNwYXRjaGVyPihjb250ZXh0LmZyb250ZW5kUm91dGVyKSkKKyAgICAsIG1f
YmFja2VuZERpc3BhdGNoZXIoSGVhcEJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoY29udGV4dC5i
YWNrZW5kRGlzcGF0Y2hlciwgdGhpcykpCisgICAgLCBtX2Vudmlyb25tZW50KGNvbnRleHQuZW52
aXJvbm1lbnQpCisgICAgLCBtX3dlYWtQdHJGYWN0b3J5KHRoaXMpCit7Cit9CisKK0luc3BlY3Rv
ckhlYXBBZ2VudDo6fkluc3BlY3RvckhlYXBBZ2VudCgpCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
SGVhcEFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqLCBC
YWNrZW5kRGlzcGF0Y2hlciopCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySGVhcEFnZW50Ojp3aWxs
RGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChEaXNjb25uZWN0UmVhc29uKQoreworICAgIEVycm9y
U3RyaW5nIGlnbm9yZWQ7CisgICAgZGlzYWJsZShpZ25vcmVkKTsKK30KKwordm9pZCBJbnNwZWN0
b3JIZWFwQWdlbnQ6OmVuYWJsZShFcnJvclN0cmluZyYpCit7CisgICAgaWYgKG1fZW5hYmxlZCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbV9lbmFibGVkID0gdHJ1ZTsKKworICAgIG1fZW52aXJv
bm1lbnQudm0oKS5oZWFwLmFkZE9ic2VydmVyKHRoaXMpOworfQorCit2b2lkIEluc3BlY3Rvckhl
YXBBZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyYpCit7CisgICAgaWYgKCFtX2VuYWJsZWQpCisg
ICAgICAgIHJldHVybjsKKworICAgIG1fZW5hYmxlZCA9IGZhbHNlOworCisgICAgbV9lbnZpcm9u
bWVudC52bSgpLmhlYXAucmVtb3ZlT2JzZXJ2ZXIodGhpcyk7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
SGVhcEFnZW50OjpnYyhFcnJvclN0cmluZyYpCit7CisgICAgVk0mIHZtID0gbV9lbnZpcm9ubWVu
dC52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrKHZtKTsKKyAgICBzYW5pdGl6ZVN0YWNrRm9y
Vk0oJnZtKTsKKyAgICB2bS5oZWFwLmNvbGxlY3RBbGxHYXJiYWdlKCk7Cit9CisKK3N0YXRpYyBJ
bnNwZWN0b3I6OlByb3RvY29sOjpIZWFwOjpHYXJiYWdlQ29sbGVjdGlvbjo6VHlwZSBwcm90b2Nv
bFR5cGVGb3JIZWFwT3BlcmF0aW9uKEhlYXBPcGVyYXRpb24gb3BlcmF0aW9uKQoreworICAgIHN3
aXRjaCAob3BlcmF0aW9uKSB7CisgICAgY2FzZSBGdWxsQ29sbGVjdGlvbjoKKyAgICAgICAgcmV0
dXJuIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkhlYXA6OkdhcmJhZ2VDb2xsZWN0aW9uOjpUeXBlOjpG
dWxsOworICAgIGNhc2UgRWRlbkNvbGxlY3Rpb246CisgICAgICAgIHJldHVybiBJbnNwZWN0b3I6
OlByb3RvY29sOjpIZWFwOjpHYXJiYWdlQ29sbGVjdGlvbjo6VHlwZTo6UGFydGlhbDsKKyAgICBk
ZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkhlYXA6OkdhcmJhZ2VDb2xsZWN0aW9uOjpUeXBlOjpGdWxsOwor
ICAgIH0KK30KKwordm9pZCBJbnNwZWN0b3JIZWFwQWdlbnQ6OndpbGxHYXJiYWdlQ29sbGVjdCgp
Cit7CisgICAgQVNTRVJUKG1fZW5hYmxlZCk7CisgICAgQVNTRVJUKHN0ZDo6aXNuYW4obV9nY1N0
YXJ0VGltZSkpOworCisgICAgbV9nY1N0YXJ0VGltZSA9IG1fZW52aXJvbm1lbnQuZXhlY3V0aW9u
U3RvcHdhdGNoKCktPmVsYXBzZWRUaW1lKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySGVhcEFnZW50
OjpkaWRHYXJiYWdlQ29sbGVjdChIZWFwT3BlcmF0aW9uIG9wZXJhdGlvbikKK3sKKyAgICBBU1NF
UlQobV9lbmFibGVkKTsKKyAgICBBU1NFUlQoIXN0ZDo6aXNuYW4obV9nY1N0YXJ0VGltZSkpOwor
CisgICAgLy8gRklYTUU6IEluY2x1ZGUgbnVtYmVyIG9mIGJ5dGVzIGZyZWVkIGJ5IGNvbGxlY3Rp
b24uCisKKyAgICBkb3VibGUgc3RhcnRUaW1lID0gbV9nY1N0YXJ0VGltZTsKKyAgICBkb3VibGUg
ZW5kVGltZSA9IG1fZW52aXJvbm1lbnQuZXhlY3V0aW9uU3RvcHdhdGNoKCktPmVsYXBzZWRUaW1l
KCk7CisKKyAgICAvLyBEaXNwYXRjaCB0aGUgZXZlbnQgYXN5bmNocm9ub3VzbHkgYmVjYXVzZSB0
aGlzIG1ldGhvZCBtYXkgYmUKKyAgICAvLyBjYWxsZWQgYmV0d2VlbiBjb2xsZWN0aW9uIGFuZCBz
d2VlcGluZyBhbmQgd2UgZG9uJ3Qgd2FudCB0bworICAgIC8vIGNyZWF0ZSB1bmV4cGVjdGVkIEph
dmFTY3JpcHQgYWxsb2NhdGlvbnMgdGhhdCB0aGUgU3dlZXBlciBkb2VzCisgICAgLy8gbm90IGV4
cGVjdCB0byBlbmNvdW50ZXIuIEphdmFTY3JpcHQgYWxsb2NhdGlvbnMgY291bGQgaGFwcGVuCisg
ICAgLy8gd2l0aCBXZWJLaXRMZWdhY3kncyBpbiBwcm9jZXNzIGluc3BlY3RvciB3aGljaCBzaGFy
ZXMgdGhlIHNhbWUKKyAgICAvLyBWTSBhcyB0aGUgaW5zcGVjdGVkIHBhZ2UuCisKKyAgICBhdXRv
IHdlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCk7CisgICAgUnVuTG9v
cDo6Y3VycmVudCgpLmRpc3BhdGNoKFt3ZWFrVGhpcywgc3RhcnRUaW1lLCBlbmRUaW1lLCBvcGVy
YXRpb25dKCkgeworICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgIGF1dG8gY29sbGVjdGlvbiA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkhlYXA6Okdh
cmJhZ2VDb2xsZWN0aW9uOjpjcmVhdGUoKQorICAgICAgICAgICAgLnNldFR5cGUocHJvdG9jb2xU
eXBlRm9ySGVhcE9wZXJhdGlvbihvcGVyYXRpb24pKQorICAgICAgICAgICAgLnNldFN0YXJ0VGlt
ZShzdGFydFRpbWUpCisgICAgICAgICAgICAuc2V0RW5kVGltZShlbmRUaW1lKQorICAgICAgICAg
ICAgLnJlbGVhc2UoKTsKKworICAgICAgICB3ZWFrVGhpcy0+bV9mcm9udGVuZERpc3BhdGNoZXIt
PmdhcmJhZ2VDb2xsZWN0ZWQoV1RGOjptb3ZlKGNvbGxlY3Rpb24pKTsKKyAgICB9KTsKKworICAg
IG1fZ2NTdGFydFRpbWUgPSBOQU47Cit9CisKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
SGVhcEFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JIZWFwQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2Ez
YzEzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmgKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9ySGVhcEFn
ZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9ySGVhcEFnZW50X2gKKworI2luY2x1ZGUgIkluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVycy5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kRGlzcGF0
Y2hlcnMuaCIKKyNpbmNsdWRlICJoZWFwL0hlYXBPYnNlcnZlci5oIgorI2luY2x1ZGUgImluc3Bl
Y3Rvci9JbnNwZWN0b3JBZ2VudEJhc2UuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25h
bWVzcGFjZSBJbnNwZWN0b3IgeworCit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworY2xh
c3MgSlNfRVhQT1JUX1BSSVZBVEUgSW5zcGVjdG9ySGVhcEFnZW50IGZpbmFsIDogcHVibGljIElu
c3BlY3RvckFnZW50QmFzZSwgcHVibGljIEhlYXBCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIsIHB1
YmxpYyBKU0M6OkhlYXBPYnNlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9ySGVhcEFnZW50KTsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JIZWFwQWdlbnQoQWdlbnRDb250
ZXh0Jik7CisgICAgdmlydHVhbCB+SW5zcGVjdG9ySGVhcEFnZW50KCk7CisKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwgQmFja2Vu
ZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9u
dGVuZEFuZEJhY2tlbmQoRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CisKKyAgICAvLyBIZWFw
QmFja2VuZERpc3BhdGNoZXJIYW5kbGVyCisgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0
cmluZyYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nJikg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGdjKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CisK
KyAgICAvLyBIZWFwT2JzZXJ2ZXIKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbEdhcmJhZ2VDb2xsZWN0
KCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZEdhcmJhZ2VDb2xsZWN0KEpTQzo6SGVh
cE9wZXJhdGlvbikgb3ZlcnJpZGU7CisKK3ByaXZhdGU6CisgICAgc3RkOjp1bmlxdWVfcHRyPEhl
YXBGcm9udGVuZERpc3BhdGNoZXI+IG1fZnJvbnRlbmREaXNwYXRjaGVyOworICAgIFJlZlB0cjxI
ZWFwQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CisgICAgSW5zcGVjdG9y
RW52aXJvbm1lbnQmIG1fZW52aXJvbm1lbnQ7CisgICAgV2Vha1B0ckZhY3Rvcnk8SW5zcGVjdG9y
SGVhcEFnZW50PiBtX3dlYWtQdHJGYWN0b3J5OworICAgIGJvb2wgbV9lbmFibGVkIHsgZmFsc2Ug
fTsKKyAgICBkb3VibGUgbV9nY1N0YXJ0VGltZSB7IE5BTiB9OworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yCisKKyNlbmRpZiAvLyBJbnNwZWN0b3JIZWFwQWdlbnRfaApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9IZWFwLmpzb24gYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0hlYXAuanNvbgpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWMzMzQ2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9IZWFwLmpzb24KQEAgLTAs
MCArMSwzOSBAQAoreworICAgICJkb21haW4iOiAiSGVhcCIsCisgICAgImRlc2NyaXB0aW9uIjog
IkhlYXAgZG9tYWluIGV4cG9zZXMgSmF2YVNjcmlwdCBoZWFwIGF0dHJpYnV0ZXMgYW5kIGNhcGFi
aWxpdGllcy4iLAorICAgICJ0eXBlcyI6IFsKKyAgICAgICAgeworICAgICAgICAgICAgImlkIjog
IkdhcmJhZ2VDb2xsZWN0aW9uIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJJbmZvcm1h
dGlvbiBhYm91dCBhIGdhcmJhZ2UgY29sbGVjdGlvbi4iLAorICAgICAgICAgICAgInR5cGUiOiAi
b2JqZWN0IiwKKyAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWworICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAidHlwZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJmdWxsIiwgInBhcnRp
YWwiXSwgImRlc2NyaXB0aW9uIjogIlRoZSB0eXBlIG9mIGdhcmJhZ2UgY29sbGVjdGlvbi4iIH0s
CisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzdGFydFRpbWUiLCAidHlwZSI6ICJudW1iZXIi
IH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJlbmRUaW1lIiwgInR5cGUiOiAibnVtYmVy
IiB9CisgICAgICAgICAgICBdCisgICAgICAgIH0KKyAgICBdLAorICAgICJjb21tYW5kcyI6IFsK
KyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZW5hYmxlIiwKKyAgICAgICAgICAgICJk
ZXNjcmlwdGlvbiI6ICJFbmFibGVzIEhlYXAgZG9tYWluIGV2ZW50cy4iCisgICAgICAgIH0sCisg
ICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImRpc2FibGUiLAorICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIkRpc2FibGVzIEhlYXAgZG9tYWluIGV2ZW50cy4iCisgICAgICAgIH0sCisg
ICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImdjIiwKKyAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJUcmlnZ2VyIGEgZnVsbCBnYXJiYWdlIGNvbGxlY3Rpb24uIgorICAgICAgICB9Cisg
ICAgXSwKKyAgICAiZXZlbnRzIjogWworICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJn
YXJiYWdlQ29sbGVjdGVkIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJJbmZvcm1hdGlv
biBhYm91dCB0aGUgZ2FyYmFnZSBjb2xsZWN0aW9uLiIsCisgICAgICAgICAgICAicGFyYW1ldGVy
cyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImNvbGxlY3Rpb24iLCAidHlwZSI6ICJH
YXJiYWdlQ29sbGVjdGlvbiIgfQorICAgICAgICAgICAgXQorICAgICAgICB9CisgICAgXQorfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGU2OTAxMmYuLjhkZmNlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBA
QAorMjAxNS0xMC0xNCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEluY2x1ZGUgR2FyYmFnZSBDb2xsZWN0aW9uIEV2ZW50IGlu
IFRpbWVsaW5lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDI1MTAKKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbiBhbmQgQnJpYW4g
QnVyZy4KKworICAgICAgICBUZXN0czogaW5zcGVjdG9yL2hlYXAvZ2FyYmFnZUNvbGxlY3RlZC5o
dG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3IvaGVhcC9nYy5odG1sCisKKyAgICAgICAgKiBG
b3J3YXJkaW5nSGVhZGVycy9oZWFwL0hlYXBPYnNlcnZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBG
b3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oOiBB
ZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgRm9y
d2FyZGluZyBoZWFkZXJzLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9y
Q29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjp2bSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjp2bSk6CisgICAgICAgICogaW5zcGVjdG9yL1dv
cmtlckluc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgSW1wbGVtZW50IEluc3BlY3RvckVu
dmlyb25tZW50Ojp2bSBhbmQgY3JlYXRlIGEgSGVhcCBhZ2VudCBmb3IgdGhlCisgICAgICAgIFBh
Z2UgaW5zcGVjdG9yIGNvbnRyb2xsZXIuCisKIDIwMTUtMTAtMTQgIEppZXdlbiBUYW4gIDxqaWV3
ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBQb3N0cG9uZSBtdXRhdGlvbiBldmVudHMgYmVm
b3JlIGludm9rZSBFZGl0b3I6OkNvbW1hbmQgY29tbWFuZChEb2N1bWVudCosIGNvbnN0IFN0cmlu
ZyYsIGJvb2wpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMv
aGVhcC9IZWFwT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2hl
YXAvSGVhcE9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg5
MjFjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJz
L2hlYXAvSGVhcE9ic2VydmVyLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldE
X0hlYXBPYnNlcnZlcl9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0hlYXBPYnNlcnZlcl9oCisjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSGVhcE9ic2VydmVyLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9ySGVhcEFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjk5NWQ2YzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3
YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5oCkBAIC0w
LDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9JbnNwZWN0b3JIZWFwQWdlbnRfaAorI2Rl
ZmluZSBXZWJDb3JlX0ZXRF9JbnNwZWN0b3JIZWFwQWdlbnRfaAorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0luc3BlY3RvckhlYXBBZ2VudC5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA0MGJmMTE1Li4zNGE2NTc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAg
LTIwMzIzLDYgKzIwMzIzLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRp
bmdIZWFkZXJzXGJpbmRpbmdzXFNjcmlwdFZhbHVlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXEFsbG9jYXRpb25TcGFjZS5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxIZWFwLmgiIC8+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXEhlYXBP
YnNlcnZlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRl
cnNcaGVhcFxTbG90VmlzaXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcaGVhcFxTdHJvbmdJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXFdlYWsuaCIgLz4KQEAgLTIwMzUyLDYg
KzIwMzUzLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQ29u
c29sZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIgLz4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNc
SW5zcGVjdG9ySGVhcEFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3
YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvclJ1bnRpbWVBZ2VudC5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcbWFzbVxYODZB
c3NlbWJsZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFk
ZXJzXHBhcnNlclxTb3VyY2VDb2RlLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMGU4ZTUxMi4uYWRl
OGQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycwpAQCAtMTE3NzMsNiArMTE3NzMsOSBAQAogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50LmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNw
ZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9ySGVhcEFnZW50
LmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4K
KyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdI
ZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiPgogICAgICAg
PEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KQEAgLTEyMDUzLDYgKzEyMDU2LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcSGVhcC5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGlu
Z0hlYWRlcnNcaGVhcDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxIZWFwT2JzZXJ2ZXIuaCI+CisgICAg
ICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGhlYXA8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVk
ZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcU2xv
dFZpc2l0b3IuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGhlYXA8L0ZpbHRl
cj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA4MTEyZTU1Li45MDA3NTExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC03MCw2ICs3
MCw3IEBACiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMu
aD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaD4KICNpbmNs
dWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50Lmg+CisjaW5jbHVkZSA8aW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuaD4KICNpbmNsdWRlIDxwcm9maWxlci9MZWdh
Y3lQcm9maWxlci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAjaW5jbHVkZSA8d3Rm
L1N0b3B3YXRjaC5oPgpAQCAtMTcwLDYgKzE3MSw3IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Oklu
c3BlY3RvckNvbnRyb2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JD
CiAgICAgbV9kb21EZWJ1Z2dlckFnZW50ID0gZG9tRGVidWdnZXJBZ2VudFB0ci5nZXQoKTsKICAg
ICBtX2FnZW50cy5hcHBlbmQoV1RGOjptb3ZlKGRvbURlYnVnZ2VyQWdlbnRQdHIpKTsKIAorICAg
IG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckhlYXBBZ2VudD4ocGFn
ZUNvbnRleHQpKTsKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ+KHBhZ2VDb250ZXh0LCBwYWdlQWdlbnQpKTsKICAgICBt
X2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JXb3JrZXJBZ2VudD4ocGFn
ZUNvbnRleHQpKTsKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0
b3JMYXllclRyZWVBZ2VudD4ocGFnZUNvbnRleHQpKTsKQEAgLTQ3NCw2ICs0NzYsMTEgQEAgUmVm
PFN0b3B3YXRjaD4gSW5zcGVjdG9yQ29udHJvbGxlcjo6ZXhlY3V0aW9uU3RvcHdhdGNoKCkKICAg
ICByZXR1cm4gbV9leGVjdXRpb25TdG9wd2F0Y2guY29weVJlZigpOwogfQogCitKU0M6OlZNJiBJ
bnNwZWN0b3JDb250cm9sbGVyOjp2bSgpCit7CisgICAgcmV0dXJuIEpTRE9NV2luZG93QmFzZTo6
Y29tbW9uVk0oKTsKK30KKwogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRDb21wb3NpdGUo
RnJhbWUmIGZyYW1lKQogewogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ29tcG9z
aXRlKGZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5oCmluZGV4IDUxYjljYjEuLjAxZTVjNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTMxLDYgKzEzMSw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2FsbEluamVjdGVkU2NyaXB0RnVuY3Rpb24oSlNDOjpFeGVj
U3RhdGUqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZnJvbnRlbmRJbml0aWFsaXplZCgp
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgUmVmPFdURjo6U3RvcHdhdGNoPiBleGVjdXRpb25TdG9w
d2F0Y2goKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEpTQzo6Vk0mIHZtKCkgb3ZlcnJpZGU7CiAK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZENvbXBvc2l0ZShGcmFtZSYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKaW5kZXggNjZmOWNiMDMuLjI4Y2RlYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTM2LDYgKzM2LDcg
QEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgor
I2luY2x1ZGUgIkpTRE9NV2luZG93QmFzZS5oIgogI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNT
dGF0ZS5oIgogI2luY2x1ZGUgIldlYkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIldl
YkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgpAQCAtNTEsNiArNTIsNyBAQAogI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUgPHd0Zi9TdG9wd2F0
Y2guaD4KIAordXNpbmcgbmFtZXNwYWNlIEpTQzsKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE5NSw0ICsxOTcsOSBAQCBSZWY8U3RvcHdhdGNo
PiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpleGVjdXRpb25TdG9wd2F0Y2goKQogICAgIHJl
dHVybiBtX2V4ZWN1dGlvblN0b3B3YXRjaC5jb3B5UmVmKCk7CiB9CiAKK1ZNJiBXb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyOjp2bSgpCit7CisgICAgcmV0dXJuIEpTRE9NV2luZG93QmFzZTo6Y29t
bW9uVk0oKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggZDhmMjZl
NS4uN2Y0MjQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgZGlkQ2FsbEluamVjdGVkU2NyaXB0RnVuY3Rpb24oSlNDOjpFeGVjU3RhdGUqKSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZnJvbnRlbmRJbml0aWFsaXplZCgpIG92ZXJyaWRl
IHsgfQogICAgIHZpcnR1YWwgUmVmPFdURjo6U3RvcHdhdGNoPiBleGVjdXRpb25TdG9wd2F0Y2go
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEpTQzo6Vk0mIHZtKCkgb3ZlcnJpZGU7CiAKIHByaXZh
dGU6CiAgICAgZnJpZW5kIGNsYXNzIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCmluZGV4IDI1MjU0MzguLmVjNzMzZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDc5IEBACiAyMDE1LTEwLTE0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNv
cmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogSW5jbHVkZSBHYXJiYWdl
IENvbGxlY3Rpb24gRXZlbnQgaW4gVGltZWxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjUxMAorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2Zm
cmV5IEdhcmVuIGFuZCBCcmlhbiBCdXJnLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNl
L1V0aWxpdGllcy5qczoKKyAgICAgICAgKEFycmF5LnByb3RvdHlwZS5wYXJ0aXRpb24pOgorICAg
ICAgICBIZWxwZXIgdG8gcGFydGl0aW9uIGFuIEFycmF5IGludG8gdHdvIGFycmF5cy4KKworICAg
ICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5s
b2FkZWQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC5odG1sOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxvYWRlZCk6
CisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanM6IEFkZGVk
LgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBPYnNlcnZlci5wcm90b3R5cGUuZ2FyYmFnZUNv
bGxlY3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyKToKKyAgICAgICAg
Q3JlYXRlIHRoZSBuZXcgb2JzZXJ2ZXIgYW5kIG1hbmFnZXIuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL01vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5qczogQWRkZWQuCisgICAgICAgIChXZWJJ
bnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdhcmJh
Z2VDb2xsZWN0aW9uLmZyb21QYXlsb2FkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5HYXJiYWdl
Q29sbGVjdGlvbi5wcm90b3R5cGUuZ2V0IHR5cGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdh
cmJhZ2VDb2xsZWN0aW9uLnByb3RvdHlwZS5nZXQgc3RhcnRUaW1lKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbi5wcm90b3R5cGUuZ2V0IGVuZFRpbWUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLnByb3RvdHlwZS5nZXQgZHVyYXRpb24p
OgorICAgICAgICBNb2RlbCBvYmplY3QgZm9yIEhlYXAuR2FyYmFnZUNvbGxlY3Rpb24uCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0hlYXBNYW5hZ2VyLmpzOiBBZGRlZC4K
KyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwTWFuYWdlcik6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuSGVhcE1hbmFnZXIucHJvdG90eXBlLmdhcmJhZ2VDb2xsZWN0ZWQpOgorICAgICAgICBEaXNw
YXRjaCBldmVudHMgd2l0aCB0aGUgR0Mgb2JqZWN0LgorCisgICAgICAgICogVXNlckludGVyZmFj
ZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVNYW5hZ2VyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIu
cHJvdG90eXBlLl9nYXJiYWdlQ29sbGVjdGVkKToKKyAgICAgICAgSW5jbHVkZSBuZXcgR0MgVGlt
ZWxpbmUgRXZlbnRzIGFzIFNjcmlwdCBldmVudHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlLnVwZGF0ZUxheW91dCk6
CisgICAgICAgIEZvciB0aGUgU2NyaXB0IG92ZXJ2aWV3LCBtYWtlIHR3byBzZXRzIG9mIGJhcnMs
IG9uZSBmb3IgU2NyaXB0cyBhbmQgb25lIGZvciBHQ3MuCisgICAgICAgIFRoZSBHQ3MgYmFyIHdp
bGwgYmUgb3ZlcmxhaWQgb24gdG9wIG9mIHRoZSB0aGUgU2NyaXB0cyBiYXIuIFRoaXMgaXMgcGFy
dGljdWxhcmx5CisgICAgICAgIHVzZWZ1bCBzaW5jZSBhIEdDIGNhbiBoYXBwZW4gZHVyaW5nIHNj
cmlwdCBleGVjdXRpb24uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0ltYWdlcy9UaW1lbGlu
ZVJlY29yZEdhcmJhZ2VDb2xsZWN0aW9uLnN2ZzogQWRkZWQuCisgICAgICAgICogVXNlckludGVy
ZmFjZS9NYWluLmh0bWw6CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGlt
ZWxpbmVSZWNvcmQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNv
cmQucHJvdG90eXBlLmlzR2FyYmFnZUNvbGxlY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5kaXNwbGF5TmFtZSk6CisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuZ2V0
IGRhdGEpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2Rl
LnByb3RvdHlwZS5jcmVhdGVDZWxsQ29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Ny
aXB0VGltZWxpbmVEYXRhR3JpZE5vZGUpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
U2NyaXB0VGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVs
aW5lVmlldy5wcm90b3R5cGUuX3Byb2Nlc3NQZW5kaW5nUmVjb3Jkcyk6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCk6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzczoKKyAgICAgICAgKC5nYXJi
YWdlLWNvbGxlY3Rpb24tcHJvZmlsZS1yZWNvcmQgLmljb24pOgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuY3NzOgorICAgICAgICAoLnRpbWVsaW5lLXJl
Y29yZC1iYXIudGltZWxpbmUtcmVjb3JkLXR5cGUtc2NyaXB0LnNjcmlwdC10aW1lbGluZS1yZWNv
cmQtZ2FyYmFnZS1jb2xsZWN0ZWQgPiAuc2VnbWVudCk6CisgICAgICAgIFVJIGZvciBHQyBldmVu
dHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkQmFyLmNyZWF0ZUNvbWJpbmVk
QmFycyk6CisgICAgICAgIFNpbXBsaWZ5IGJ5IHN0b3Jpbmcgc3RhcnQgdGltZSBpbnRvIGEgdmFy
aWFibGUuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkVHJl
ZUVsZW1lbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxl
bWVudCk6CisgICAgICAgIEljb24gZm9yIEdDIGV2ZW50cy4KKworMjAxNS0xMC0xNCAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IENvbnNvbGUgU2VhcmNoIHNob3VsZCB1cGRhdGUgd2hlbiBjb25zb2xlIGlzIGNsZWFyZWQKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDE0MQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCBlMzY1NmNjLi43NzI4YTZhIDEwMDY0
NApCaW5hcnkgZmlsZXMgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5s
cHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGFuZCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgZGlmZmVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXggZTQ5NGE5
YS4uZWU0OTI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9NYWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0Jhc2UvTWFpbi5qcwpAQCAtNjgsNiArNjgsOCBAQCBXZWJJbnNwZWN0b3IubG9hZGVkID0gZnVu
Y3Rpb24oKQogICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihu
ZXcgV2ViSW5zcGVjdG9yLkRPTU9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckRlYnVnZ2VyRGlzcGF0Y2hlcikKICAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlckRlYnVnZ2VyRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyT2JzZXJ2ZXIp
OworICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVySGVhcERpc3BhdGNoZXIpCisgICAg
ICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJIZWFwRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVj
dG9yLkhlYXBPYnNlcnZlcik7CiAgICAgaWYgKEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEYXRh
YmFzZURpc3BhdGNoZXIpCiAgICAgICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEYXRhYmFz
ZURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5EYXRhYmFzZU9ic2VydmVyKTsKICAgICBpZiAo
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRPTVN0b3JhZ2VEaXNwYXRjaGVyKQpAQCAtMTA4LDYg
KzExMCw3IEBAIFdlYkluc3BlY3Rvci5sb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5pc3N1
ZU1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLklzc3VlTWFuYWdlcjsKICAgICB0aGlzLmFuYWx5
emVyTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuQW5hbHl6ZXJNYW5hZ2VyOwogICAgIHRoaXMu
cnVudGltZU1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlJ1bnRpbWVNYW5hZ2VyOworICAgIHRo
aXMuaGVhcE1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyOwogICAgIHRoaXMu
YXBwbGljYXRpb25DYWNoZU1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2Fj
aGVNYW5hZ2VyOwogICAgIHRoaXMudGltZWxpbmVNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rvci5U
aW1lbGluZU1hbmFnZXI7CiAgICAgdGhpcy5kZWJ1Z2dlck1hbmFnZXIgPSBuZXcgV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyTWFuYWdlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMKaW5kZXggNTc4N2MxOC4uYjMxMTUwYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRp
ZXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGls
aXRpZXMuanMKQEAgLTQ1Miw2ICs0NTIsMjMgQEAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5
LnByb3RvdHlwZSwgImtleVNldCIsCiAgICAgfQogfSk7CiAKK09iamVjdC5kZWZpbmVQcm9wZXJ0
eShBcnJheS5wcm90b3R5cGUsICJwYXJ0aXRpb24iLAoreworICAgIHZhbHVlOiBmdW5jdGlvbihj
YWxsYmFjaykKKyAgICB7CisgICAgICAgIGxldCBwb3NpdGl2ZSA9IFtdOworICAgICAgICBsZXQg
bmVnYXRpdmUgPSBbXTsKKyAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsg
KytpKSB7CisgICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzW2ldOworICAgICAgICAgICAgaWYg
KGNhbGxiYWNrKHZhbHVlKSkKKyAgICAgICAgICAgICAgICBwb3NpdGl2ZS5wdXNoKHZhbHVlKTsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBuZWdhdGl2ZS5wdXNoKHZhbHVlKTsK
KyAgICAgICAgfQorICAgICAgICByZXR1cm4gW3Bvc2l0aXZlLCBuZWdhdGl2ZV07CisgICAgfQor
fSk7CisKIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTdHJpbmcucHJvdG90eXBlLCAidHJpbU1pZGRs
ZSIsCiB7CiAgICAgdmFsdWU6IGZ1bmN0aW9uKG1heExlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRy
ZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvSGVhcE1hbmFnZXIuanMKc2ltaWxhcml0eSBpbmRleCA2NCUKY29weSBmcm9tIFNvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRy
ZWVFbGVtZW50LmpzCmNvcHkgdG8gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvSGVhcE1hbmFnZXIuanMKaW5kZXggMWQzNTgwYS4uYmMzZGJhOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29k
ZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQ29udHJvbGxlcnMvSGVhcE1hbmFnZXIuanMKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDI4ICsyMywyNyBAQAogICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5Tb3Vy
Y2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCA9IGNsYXNzIFNvdXJjZUNvZGVUaW1lbGluZVRyZWVF
bGVtZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQKK1dl
Ykluc3BlY3Rvci5IZWFwTWFuYWdlciA9IGNsYXNzIEhlYXBNYW5hZ2VyIGV4dGVuZHMgV2ViSW5z
cGVjdG9yLk9iamVjdAogewotICAgIGNvbnN0cnVjdG9yKHNvdXJjZUNvZGVUaW1lbGluZSwgc3Vi
dGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkKKyAgICBj
b25zdHJ1Y3RvcigpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydChzb3VyY2VDb2RlVGlt
ZWxpbmUpOworICAgICAgICBzdXBlcigpOwogCi0gICAgICAgIHN1YnRpdGxlTmFtZVN0eWxlID0g
c3VidGl0bGVOYW1lU3R5bGUgfHwgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVMb2NhdGlvbi5OYW1l
U3R5bGUuTm9uZTsKLQotICAgICAgICBzdXBlcihzb3VyY2VDb2RlVGltZWxpbmUucmVjb3Jkc1sw
XSwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSwg
c291cmNlQ29kZVRpbWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbiwgc291cmNlQ29kZVRpbWVsaW5l
KTsKLQotICAgICAgICB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmUgPSBzb3VyY2VDb2RlVGltZWxp
bmU7CisgICAgICAgIGlmICh3aW5kb3cuSGVhcEFnZW50KQorICAgICAgICAgICAgSGVhcEFnZW50
LmVuYWJsZSgpOwogICAgIH0KIAogICAgIC8vIFB1YmxpYwogCi0gICAgZ2V0IHJlY29yZCgpCisg
ICAgZ2FyYmFnZUNvbGxlY3RlZChwYXlsb2FkKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHVuZGVm
aW5lZDsKLSAgICB9CisgICAgICAgIC8vIENhbGxlZCBmcm9tIFdlYkluc3BlY3Rvci5IZWFwT2Jz
ZXJ2ZXIuCiAKLSAgICBnZXQgc291cmNlQ29kZVRpbWVsaW5lKCkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmU7CisgICAgICAgIGxldCBjb2xsZWN0aW9uID0g
V2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLmZyb21QYXlsb2FkKHBheWxvYWQpOworICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuSGVhcE1hbmFn
ZXIuRXZlbnQuR2FyYmFnZUNvbGxlY3RlZCwge2NvbGxlY3Rpb259KTsKICAgICB9CiB9OworCitX
ZWJJbnNwZWN0b3IuSGVhcE1hbmFnZXIuRXZlbnQgPSB7CisgICAgR2FyYmFnZUNvbGxlY3RlZDog
ImhlYXAtbWFuYWdlci1nYXJiYWdlLWNvbGxlY3RlZCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1l
bGluZU1hbmFnZXIuanMKaW5kZXggY2Q0NGE5My4uNzBlYmQxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2Vy
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L1RpbWVsaW5lTWFuYWdlci5qcwpAQCAtMzMsNiArMzMsOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxp
bmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9i
amVjdAogICAgICAgICBXZWJJbnNwZWN0b3IuRnJhbWUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuRnJhbWUuRXZlbnQuTWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzLl9tYWluUmVzb3Vy
Y2VEaWRDaGFuZ2UsIHRoaXMpOwogICAgICAgICBXZWJJbnNwZWN0b3IuRnJhbWUuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuRnJhbWUuRXZlbnQuUmVzb3VyY2VXYXNBZGRlZCwgdGhpcy5f
cmVzb3VyY2VXYXNBZGRlZCwgdGhpcyk7CiAKKyAgICAgICAgV2ViSW5zcGVjdG9yLmhlYXBNYW5h
Z2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyLkV2ZW50LkdhcmJh
Z2VDb2xsZWN0ZWQsIHRoaXMuX2dhcmJhZ2VDb2xsZWN0ZWQsIHRoaXMpOworCiAgICAgICAgIHRo
aXMuX3BlcnNpc3RlbnROZXR3b3JrVGltZWxpbmUgPSBuZXcgV2ViSW5zcGVjdG9yLk5ldHdvcmtU
aW1lbGluZTsKIAogICAgICAgICB0aGlzLl9pc0NhcHR1cmluZyA9IGZhbHNlOwpAQCAtNTkzLDYg
KzU5NSwxNSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVN
YW5hZ2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAgICAgICAgIHRoaXMuX2FkZFJl
Y29yZChyZWNvcmQpOwogICAgIH0KKworICAgIF9nYXJiYWdlQ29sbGVjdGVkKGV2ZW50KQorICAg
IHsKKyAgICAgICAgaWYgKCF0aGlzLl9pc0NhcHR1cmluZykKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICBsZXQgY29sbGVjdGlvbiA9IGV2ZW50LmRhdGEuY29sbGVjdGlvbjsKKyAgICAg
ICAgdGhpcy5fYWRkUmVjb3JkKG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQo
V2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5HYXJiYWdlQ29sbGVj
dGVkLCBjb2xsZWN0aW9uLnN0YXJ0VGltZSwgY29sbGVjdGlvbi5lbmRUaW1lLCBudWxsLCBudWxs
LCBjb2xsZWN0aW9uKSk7CisgICAgfQogfTsKIAogV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdl
ci5FdmVudCA9IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0ltYWdlcy9UaW1lbGluZVJlY29yZEdhcmJhZ2VDb2xsZWN0aW9uLnN2ZyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9UaW1lbGluZVJlY29yZEdhcmJhZ2VD
b2xsZWN0aW9uLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTE3ZGY2
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
SW1hZ2VzL1RpbWVsaW5lUmVjb3JkR2FyYmFnZUNvbGxlY3Rpb24uc3ZnCkBAIC0wLDAgKzEsOCBA
QAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0gQ29weXJpZ2h0
IMKpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAtLT4KKzxzdmcgdmVyc2lv
bj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAx
NiAxNiI+CisgICAgPHBhdGggZmlsbD0icmdiKDIyOCwgMTk4LCAxNzIpIiBkPSJNIDEzIDEgTCAz
IDEgQyAxLjg5ODQzOCAxIDEgMS44OTg0MzggMSAzIEwgMSAxMyBDIDEgMTQuMTAxNTYyIDEuODk4
NDM4IDE1IDMgMTUgTCAxMyAxNSBDIDE0LjEwMTU2MiAxNSAxNSAxNC4xMDE1NjIgMTUgMTMgTCAx
NSAzIEMgMTUgMS44OTg0MzggMTQuMTAxNTYyIDEgMTMgMSBaIi8+CisgICAgPHBhdGggZmlsbD0i
cmdiKDE4NiwgMTU3LCAxMzIpIiBkPSJNIDEzIDEgTCAzIDEgQyAxLjg5ODQzOCAxIDEgMS44OTg0
MzggMSAzIEwgMSAxMyBDIDEgMTQuMTAxNTYyIDEuODk4NDM4IDE1IDMgMTUgTCAxMyAxNSBDIDE0
LjEwMTU2MiAxNSAxNSAxNC4xMDE1NjIgMTUgMTMgTCAxNSAzIEMgMTUgMS44OTg0MzggMTQuMTAx
NTYyIDEgMTMgMSBNIDEzIDIgQyAxMy41NTA3ODEgMiAxNCAyLjQ0OTIxOSAxNCAzIEwgMTQgMTMg
QyAxNCAxMy41NTA3ODEgMTMuNTUwNzgxIDE0IDEzIDE0IEwgMyAxNCBDIDIuNDQ5MjE5IDE0IDIg
MTMuNTUwNzgxIDIgMTMgTCAyIDMgQyAyIDIuNDQ5MjE5IDIuNDQ5MjE5IDIgMyAyIEwgMTMgMiIv
PgorICAgIDxwYXRoIGZpbGw9InJnYigxODYsIDE1NywgMTMyKSIgZD0iTSA0Ljc3MzQzOCAxMS41
NDI5NjkgQyAzLjg1NTQ2OSAxMC42MjEwOTQgMy4zOTA2MjUgOS4zNDc2NTYgMy4zOTA2MjUgNy43
Njk1MzEgQyAzLjM5MDYyNSA2LjE1NjI1IDMuODYzMjgxIDQuODc4OTA2IDQuNzg5MDYyIDMuOTY0
ODQ0IEMgNS43MTA5MzggMy4wNTQ2ODggNy4wMDM5MDYgMi41OTM3NSA4LjYyNSAyLjU5Mzc1IEMg
OS41NzAzMTIgMi41OTM3NSAxMC41MTk1MzEgMi43MDcwMzEgMTEuNDQxNDA2IDIuOTI5Njg4IEMg
MTEuODkwNjI1IDMuMDM1MTU2IDEyLjIxMDkzOCAzLjQzNzUgMTIuMjEwOTM4IDMuOTAyMzQ0IEwg
MTIuMjEwOTM4IDUuMTk1MzEyIEMgMTIuMjEwOTM4IDUuNTE5NTMxIDEyLjA1MDc4MSA1LjgyNDIx
OSAxMS43ODkwNjIgNi4wMTE3MTkgQyAxMS42MTMyODEgNi4xMzI4MTIgMTEuNDEwMTU2IDYuMTk1
MzEyIDExLjIwNzAzMSA2LjE5NTMxMiBDIDExLjA5NzY1NiA2LjE5NTMxMiAxMC45ODQzNzUgNi4x
Nzk2ODggMTAuODc4OTA2IDYuMTQwNjI1IEMgMTAuMDE1NjI1IDUuODM1OTM4IDkuMzA4NTk0IDUu
NjgzNTk0IDguNzY5NTMxIDUuNjgzNTk0IEMgOC4wNTg1OTQgNS42ODM1OTQgNy43NTM5MDYgNS45
NDE0MDYgNy41ODk4NDQgNi4xMzI4MTIgQyA3LjI5Njg3NSA2LjQ3NjU2MiA3LjE0ODQzOCA3LjAx
OTUzMSA3LjE0ODQzOCA3Ljc0NjA5NCBDIDcuMTQ4NDM4IDguNDQ1MzEyIDcuMzA4NTk0IDguOTcy
NjU2IDcuNjIxMDk0IDkuMzIwMzEyIEMgNy44MDg1OTQgOS41MjM0MzggOC4xNDg0MzggOS43OTY4
NzUgOC45MjE4NzUgOS43OTY4NzUgQyA5LjU0Mjk2OSA5Ljc5Njg3NSAxMC4xODc1IDkuNjMyODEy
IDEwLjgzOTg0NCA5LjMwODU5NCBDIDEwLjk4MDQ2OSA5LjI0MjE4OCAxMS4xMzI4MTIgOS4yMDcw
MzEgMTEuMjg1MTU2IDkuMjA3MDMxIEMgMTEuNDY4NzUgOS4yMDcwMzEgMTEuNjQ4NDM4IDkuMjU3
ODEyIDExLjgxMjUgOS4zNTkzNzUgQyAxMi4xMDU0NjkgOS41MzkwNjIgMTIuMjg1MTU2IDkuODU5
Mzc1IDEyLjI4NTE1NiAxMC4yMDcwMzEgTCAxMi4yODUxNTYgMTEuNDI1NzgxIEMgMTIuMjg1MTU2
IDExLjgyMDMxMiAxMi4wNTA3ODEgMTIuMTc5Njg4IDExLjY5MTQwNiAxMi4zMzk4NDQgQyAxMC43
OTI5NjkgMTIuNzM4MjgxIDkuNzMwNDY5IDEyLjk0MTQwNiA4LjUyNzM0NCAxMi45NDE0MDYgQyA2
Ljk1NzAzMSAxMi45NDE0MDYgNS42OTE0MDYgMTIuNDcyNjU2IDQuNzczNDM4IDExLjU0Mjk2OSIv
PgorICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNIDExLjI4NTE1NiAxMS40MjU3ODEgQyAxMC41
MTU2MjUgMTEuNzY5NTMxIDkuNTk3NjU2IDExLjk0MTQwNiA4LjUyNzM0NCAxMS45NDE0MDYgQyA3
LjIyNjU2MiAxMS45NDE0MDYgNi4yMTA5MzggMTEuNTc0MjE5IDUuNDg0Mzc1IDEwLjgzOTg0NCBD
IDQuNzU3ODEyIDEwLjEwNTQ2OSA0LjM5NDUzMSA5LjA4MjAzMSA0LjM5NDUzMSA3Ljc2OTUzMSBD
IDQuMzk0NTMxIDYuNDI5Njg4IDQuNzU3ODEyIDUuMzk4NDM4IDUuNDkyMTg4IDQuNjc1NzgxIEMg
Ni4yMjI2NTYgMy45NTcwMzEgNy4yNjk1MzEgMy41OTM3NSA4LjYyNSAzLjU5Mzc1IEMgOS40OTIx
ODggMy41OTM3NSAxMC4zNTE1NjIgMy42OTUzMTIgMTEuMjEwOTM4IDMuOTAyMzQ0IEwgMTEuMjEw
OTM4IDUuMTk1MzEyIEMgMTAuMjM4MjgxIDQuODU1NDY5IDkuNDI1NzgxIDQuNjgzNTk0IDguNzY5
NTMxIDQuNjgzNTk0IEMgNy45MzM1OTQgNC42ODM1OTQgNy4yODUxNTYgNC45NDkyMTkgNi44MzIw
MzEgNS40ODQzNzUgQyA2LjM3NSA2LjAxNTYyNSA2LjE0ODQzOCA2Ljc2OTUzMSA2LjE0ODQzOCA3
Ljc0NjA5NCBDIDYuMTQ4NDM4IDguNzA3MDMxIDYuMzk0NTMxIDkuNDUzMTI1IDYuODgyODEyIDku
OTkyMTg4IEMgNy4zNzEwOTQgMTAuNTI3MzQ0IDguMDUwNzgxIDEwLjc5Njg3NSA4LjkyMTg3NSAx
MC43OTY4NzUgQyA5LjcwMzEyNSAxMC43OTY4NzUgMTAuNDg4MjgxIDEwLjYwMTU2MiAxMS4yODUx
NTYgMTAuMjA3MDMxIFoiLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTWFpbi5odG1sCmluZGV4IGIwYjRiNTkuLjViNDg3NDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAorKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKQEAgLTIyNiw2ICsyMjYsNyBA
QAogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9ET01TdG9yYWdlT2JzZXJ2ZXIuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9EYXRhYmFzZU9ic2VydmVyLmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvRGVidWdnZXJPYnNlcnZlci5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0hlYXBPYnNlcnZlci5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0luc3BlY3RvckJhY2tlbmQuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0luc3BlY3Rvck9ic2VydmVyLmpz
Ij48L3NjcmlwdD4KQEAgLTI3OSw2ICsyODAsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMv
RXhlY3V0aW9uQ29udGV4dC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9F
eGVjdXRpb25Db250ZXh0TGlzdC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVs
cy9GcmFtZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HYXJiYWdlQ29s
bGVjdGlvbi5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HZW9tZXRyeS5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HcmFkaWVudC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9JbmRleGVkRGF0YWJhc2UuanMiPjwvc2NyaXB0
PgpAQCAtNTk5LDYgKzYwMSw3IEBACiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0Zvcm1h
dHRlckNvbnRlbnRCdWlsZGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJv
bGxlcnMvRm9ybWF0dGVyU291cmNlTWFwLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
Q29udHJvbGxlcnMvRnJhbWVSZXNvdXJjZU1hbmFnZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgc3JjPSJDb250cm9sbGVycy9IZWFwTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9IkNvbnRyb2xsZXJzL0lzc3VlTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9IkNvbnRyb2xsZXJzL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0phdmFTY3JpcHRSdW50aW1lQ29tcGxl
dGlvblByb3ZpZGVyLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dhcmJhZ2VDb2xs
ZWN0aW9uLmpzCnNpbWlsYXJpdHkgaW5kZXggNTclCmNvcHkgZnJvbSBTb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudC5q
cwpjb3B5IHRvIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HYXJi
YWdlQ29sbGVjdGlvbi5qcwppbmRleCAxZDM1ODBhLi45ZDA2M2IxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGltZWxpbmVU
cmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvR2FyYmFnZUNvbGxlY3Rpb24uanMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDI4ICsyMyw1NCBAQAogICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGlt
ZWxpbmVUcmVlRWxlbWVudCA9IGNsYXNzIFNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50IGV4
dGVuZHMgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQKK1dlYkluc3BlY3Rv
ci5HYXJiYWdlQ29sbGVjdGlvbiA9IGNsYXNzIEdhcmJhZ2VDb2xsZWN0aW9uIGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLk9iamVjdAogewotICAgIGNvbnN0cnVjdG9yKHNvdXJjZUNvZGVUaW1lbGluZSwg
c3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSkKKyAg
ICBjb25zdHJ1Y3Rvcih0eXBlLCBzdGFydFRpbWUsIGVuZFRpbWUpCiAgICAgewotICAgICAgICBj
b25zb2xlLmFzc2VydChzb3VyY2VDb2RlVGltZWxpbmUpOworICAgICAgICBzdXBlcigpOwogCi0g
ICAgICAgIHN1YnRpdGxlTmFtZVN0eWxlID0gc3VidGl0bGVOYW1lU3R5bGUgfHwgV2ViSW5zcGVj
dG9yLlNvdXJjZUNvZGVMb2NhdGlvbi5OYW1lU3R5bGUuTm9uZTsKKyAgICAgICAgY29uc29sZS5h
c3NlcnQoZW5kVGltZSA+IHN0YXJ0VGltZSk7CiAKLSAgICAgICAgc3VwZXIoc291cmNlQ29kZVRp
bWVsaW5lLnJlY29yZHNbMF0sIHN1YnRpdGxlTmFtZVN0eWxlLCBpbmNsdWRlVGltZXJJZGVudGlm
aWVySW5NYWluVGl0bGUsIHNvdXJjZUNvZGVUaW1lbGluZS5zb3VyY2VDb2RlTG9jYXRpb24sIHNv
dXJjZUNvZGVUaW1lbGluZSk7CisgICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlOworICAgICAgICB0
aGlzLl9zdGFydFRpbWUgPSBzdGFydFRpbWU7CisgICAgICAgIHRoaXMuX2VuZFRpbWUgPSBlbmRU
aW1lOworICAgIH0KIAotICAgICAgICB0aGlzLl9zb3VyY2VDb2RlVGltZWxpbmUgPSBzb3VyY2VD
b2RlVGltZWxpbmU7CisgICAgLy8gU3RhdGljCisKKyAgICBzdGF0aWMgZnJvbVBheWxvYWQocGF5
bG9hZCkKKyAgICB7CisgICAgICAgIGxldCB0eXBlID0gV2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xs
ZWN0aW9uLlR5cGUuRnVsbDsKKyAgICAgICAgaWYgKHBheWxvYWQudHlwZSA9PT0gSGVhcEFnZW50
LkdhcmJhZ2VDb2xsZWN0aW9uVHlwZS5QYXJ0aWFsKQorICAgICAgICAgICAgdHlwZSA9IFdlYklu
c3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbi5UeXBlLlBhcnRpYWw7CisKKyAgICAgICAgcmV0dXJu
IG5ldyBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24odHlwZSwgcGF5bG9hZC5zdGFydFRp
bWUsIHBheWxvYWQuZW5kVGltZSk7CiAgICAgfQogCiAgICAgLy8gUHVibGljCiAKLSAgICBnZXQg
cmVjb3JkKCkKKyAgICBnZXQgdHlwZSgpCiAgICAgewotICAgICAgICByZXR1cm4gdW5kZWZpbmVk
OworICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTsKICAgICB9CiAKLSAgICBnZXQgc291cmNlQ29k
ZVRpbWVsaW5lKCkKKyAgICBnZXQgc3RhcnRUaW1lKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0
aGlzLl9zb3VyY2VDb2RlVGltZWxpbmU7CisgICAgICAgIHJldHVybiB0aGlzLl9zdGFydFRpbWU7
CiAgICAgfQorCisgICAgZ2V0IGVuZFRpbWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X2VuZFRpbWU7CisgICAgfQorCisgICAgZ2V0IGR1cmF0aW9uKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiB0aGlzLl9lbmRUaW1lIC0gdGhpcy5fc3RhcnRUaW1lOworICAgIH0KK307CisKK1dlYklu
c3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbi5UeXBlID0geworICAgIFBhcnRpYWw6IFN5bWJvbCgi
UGFydGlhbCIpLAorICAgIEZ1bGw6IFN5bWJvbCgiRnVsbCIpCiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVj
b3JkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Njcmlw
dFRpbWVsaW5lUmVjb3JkLmpzCmluZGV4IGNjYjZkYTguLjk1MjY3ZjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJl
Y29yZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
U2NyaXB0VGltZWxpbmVSZWNvcmQuanMKQEAgLTU4LDYgKzU4LDExIEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMg
V2ViSW5zcGVjCiAgICAgICAgIHJldHVybiB0aGlzLl9wcm9maWxlOwogICAgIH0KIAorICAgIGlz
R2FyYmFnZUNvbGxlY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50VHlw
ZSA9PT0gV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5HYXJiYWdl
Q29sbGVjdGVkOworICAgIH0KKwogICAgIHNhdmVJZGVudGl0eVRvQ29va2llKGNvb2tpZSkKICAg
ICB7CiAgICAgICAgIHN1cGVyLnNhdmVJZGVudGl0eVRvQ29va2llKGNvb2tpZSk7CkBAIC0xNTgs
MTAgKzE2MywxMSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBl
ID0gewogICAgIEFuaW1hdGlvbkZyYW1lRmlyZWQ6ICJzY3JpcHQtdGltZWxpbmUtcmVjb3JkLWFu
aW1hdGlvbi1mcmFtZS1maXJlZCIsCiAgICAgQW5pbWF0aW9uRnJhbWVSZXF1ZXN0ZWQ6ICJzY3Jp
cHQtdGltZWxpbmUtcmVjb3JkLWFuaW1hdGlvbi1mcmFtZS1yZXF1ZXN0ZWQiLAogICAgIEFuaW1h
dGlvbkZyYW1lQ2FuY2VsZWQ6ICJzY3JpcHQtdGltZWxpbmUtcmVjb3JkLWFuaW1hdGlvbi1mcmFt
ZS1jYW5jZWxlZCIsCi0gICAgQ29uc29sZVByb2ZpbGVSZWNvcmRlZDogInNjcmlwdC10aW1lbGlu
ZS1yZWNvcmQtY29uc29sZS1wcm9maWxlLXJlY29yZGVkIgorICAgIENvbnNvbGVQcm9maWxlUmVj
b3JkZWQ6ICJzY3JpcHQtdGltZWxpbmUtcmVjb3JkLWNvbnNvbGUtcHJvZmlsZS1yZWNvcmRlZCIs
CisgICAgR2FyYmFnZUNvbGxlY3RlZDogInNjcmlwdC10aW1lbGluZS1yZWNvcmQtZ2FyYmFnZS1j
b2xsZWN0ZWQiCiB9OwogCi1XZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRU
eXBlLmRpc3BsYXlOYW1lID0gZnVuY3Rpb24oZXZlbnRUeXBlLCBkZXRhaWxzLCBpbmNsdWRlVGlt
ZXJJZGVudGlmaWVySW5NYWluVGl0bGUpCitXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNv
cmQuRXZlbnRUeXBlLmRpc3BsYXlOYW1lID0gZnVuY3Rpb24oZXZlbnRUeXBlLCBkZXRhaWxzLCBp
bmNsdWRlRGV0YWlsc0luTWFpblRpdGxlKQogewogICAgIGlmIChkZXRhaWxzICYmICFXZWJJbnNw
ZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuX2V2ZW50RGlzcGxheU5hbWVzKSB7CiAgICAgICAg
IC8vIFRoZXNlIGRpc3BsYXkgbmFtZXMgYXJlIG5vdCBsb2NhbGl6ZWQgYmVjYXVzZSB0aGV5IGNs
b3NlbHkgcmVwcmVzZW50CkBAIC0zMzUsMTYgKzM0MSwyNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0
VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLmRpc3BsYXlOYW1lID0gZnVuY3Rpb24oZXZlbnRUeXBl
LCBkZQogICAgICAgICBpZiAoZGV0YWlscyAmJiAoZGV0YWlscyBpbnN0YW5jZW9mIFN0cmluZyB8
fCB0eXBlb2YgZGV0YWlscyA9PT0gInN0cmluZyIpKQogICAgICAgICAgICAgcmV0dXJuIFdlYklu
c3BlY3Rvci5VSVN0cmluZygi4oCcJXPigJ0gUHJvZmlsZSBSZWNvcmRlZCIpLmZvcm1hdChkZXRh
aWxzKTsKICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29uc29sZSBQcm9m
aWxlIFJlY29yZGVkIik7CisgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNv
cmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQ6CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRl
dGFpbHMpOworICAgICAgICBpZiAoZGV0YWlscyAmJiAoZGV0YWlscyBpbnN0YW5jZW9mIFdlYklu
c3BlY3Rvci5HYXJiYWdlQ29sbGVjdGlvbikgJiYgaW5jbHVkZURldGFpbHNJbk1haW5UaXRsZSkg
eworICAgICAgICAgICAgc3dpdGNoIChkZXRhaWxzLnR5cGUpIHsKKyAgICAgICAgICAgIGNhc2Ug
V2ViSW5zcGVjdG9yLkdhcmJhZ2VDb2xsZWN0aW9uLlR5cGUuUGFydGlhbDoKKyAgICAgICAgICAg
ICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXJ0aWFsIEdhcmJhZ2UgQ29sbGVj
dGlvbiIpOworICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuR2FyYmFnZUNvbGxlY3Rpb24u
VHlwZS5GdWxsOgorICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IkZ1bGwgR2FyYmFnZSBDb2xsZWN0aW9uIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiR2FyYmFnZSBDb2xsZWN0aW9uIik7
CiAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRp
bWVyRmlyZWQ6Ci0gICAgICAgIGlmIChkZXRhaWxzICYmIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJ
bk1haW5UaXRsZSkKKyAgICAgICAgaWYgKGRldGFpbHMgJiYgaW5jbHVkZURldGFpbHNJbk1haW5U
aXRsZSkKICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVyICVz
IEZpcmVkIikuZm9ybWF0KGRldGFpbHMpOwogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJUaW1lciBGaXJlZCIpOwogICAgIGNhc2UgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVs
aW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1lckluc3RhbGxlZDoKLSAgICAgICAgaWYgKGRldGFpbHMg
JiYgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQorICAgICAgICBpZiAoZGV0YWls
cyAmJiBpbmNsdWRlRGV0YWlsc0luTWFpblRpdGxlKQogICAgICAgICAgICAgcmV0dXJuIFdlYklu
c3BlY3Rvci5VSVN0cmluZygiVGltZXIgJXMgSW5zdGFsbGVkIikuZm9ybWF0KGRldGFpbHMpOwog
ICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lciBJbnN0YWxsZWQiKTsK
ICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGlt
ZXJSZW1vdmVkOgotICAgICAgICBpZiAoZGV0YWlscyAmJiBpbmNsdWRlVGltZXJJZGVudGlmaWVy
SW5NYWluVGl0bGUpCisgICAgICAgIGlmIChkZXRhaWxzICYmIGluY2x1ZGVEZXRhaWxzSW5NYWlu
VGl0bGUpCiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lciAl
cyBSZW1vdmVkIikuZm9ybWF0KGRldGFpbHMpOwogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJUaW1lciBSZW1vdmVkIik7CiAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0
VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkFuaW1hdGlvbkZyYW1lRmlyZWQ6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGlt
ZWxpbmVUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1Byb3RvY29sL0hlYXBPYnNlcnZlci5qcwpzaW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20g
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVs
aW5lVHJlZUVsZW1lbnQuanMKY29weSB0byBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Qcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanMKaW5kZXggMWQzNTgwYS4uZjA0YjMwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNl
Q29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvUHJvdG9jb2wvSGVhcE9ic2VydmVyLmpzCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywyOCArMjMsMTIgQEAKICAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3IuU291
cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgPSBjbGFzcyBTb3VyY2VDb2RlVGltZWxpbmVUcmVl
RWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50CitX
ZWJJbnNwZWN0b3IuSGVhcE9ic2VydmVyID0gY2xhc3MgSGVhcE9ic2VydmVyCiB7Ci0gICAgY29u
c3RydWN0b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRp
bWVySWRlbnRpZmllckluTWFpblRpdGxlKQotICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQo
c291cmNlQ29kZVRpbWVsaW5lKTsKLQotICAgICAgICBzdWJ0aXRsZU5hbWVTdHlsZSA9IHN1YnRp
dGxlTmFtZVN0eWxlIHx8IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlTG9jYXRpb24uTmFtZVN0eWxl
Lk5vbmU7Ci0KLSAgICAgICAgc3VwZXIoc291cmNlQ29kZVRpbWVsaW5lLnJlY29yZHNbMF0sIHN1
YnRpdGxlTmFtZVN0eWxlLCBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0bGUsIHNvdXJj
ZUNvZGVUaW1lbGluZS5zb3VyY2VDb2RlTG9jYXRpb24sIHNvdXJjZUNvZGVUaW1lbGluZSk7Ci0K
LSAgICAgICAgdGhpcy5fc291cmNlQ29kZVRpbWVsaW5lID0gc291cmNlQ29kZVRpbWVsaW5lOwot
ICAgIH0KLQotICAgIC8vIFB1YmxpYwotCi0gICAgZ2V0IHJlY29yZCgpCi0gICAgewotICAgICAg
ICByZXR1cm4gdW5kZWZpbmVkOwotICAgIH0KKyAgICAvLyBFdmVudHMgZGVmaW5lZCBieSB0aGUg
IkhlYXAiIGRvbWFpbi4KIAotICAgIGdldCBzb3VyY2VDb2RlVGltZWxpbmUoKQorICAgIGdhcmJh
Z2VDb2xsZWN0ZWQoY29sbGVjdGlvbikKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9zb3Vy
Y2VDb2RlVGltZWxpbmU7CisgICAgICAgIFdlYkluc3BlY3Rvci5oZWFwTWFuYWdlci5nYXJiYWdl
Q29sbGVjdGVkKGNvbGxlY3Rpb24pOwogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKaW5kZXggODdmYzNhYy4uMzAzZmIwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbApAQCAtNjIsNiAr
NjIsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9ET01PYnNlcnZlci5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0RPTVN0b3JhZ2VPYnNlcnZlci5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0RlYnVnZ2VyT2JzZXJ2ZXIuanMiPjwv
c2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9OZXR3b3JrT2JzZXJ2ZXIuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9QYWdlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9SZW1vdGVPYmplY3QuanMiPjwvc2NyaXB0PgpA
QCAtOTgsNiArOTksNyBAQAogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvRXhlY3V0aW9uQ29udGV4
dC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9FeGVjdXRpb25Db250ZXh0
TGlzdC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9GcmFtZS5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HZW9tZXRyeS5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9JbmRleGVkRGF0YWJhc2UuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJNb2RlbHMvSW5kZXhlZERhdGFiYXNlT2JqZWN0U3RvcmUuanMiPjwvc2Ny
aXB0PgpAQCAtMTQxLDYgKzE0Myw3IEBACiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0RP
TVRyZWVNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMv
RGVidWdnZXJNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxl
cnMvRnJhbWVSZXNvdXJjZU1hbmFnZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJD
b250cm9sbGVycy9IZWFwTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNv
bnRyb2xsZXJzL0lzc3VlTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNv
bnRyb2xsZXJzL0xvZ01hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250
cm9sbGVycy9Qcm9iZU1hbmFnZXIuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzCmluZGV4IDdiMjhkNTUuLmM5OWJlOTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvVGVz
dC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3Qu
anMKQEAgLTQxLDYgKzQxLDcgQEAgV2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAg
ICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9y
LkRPTU9ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyTmV0d29ya0Rpc3Bh
dGNoZXIobmV3IFdlYkluc3BlY3Rvci5OZXR3b3JrT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJEZWJ1Z2dlckRpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dl
ck9ic2VydmVyKTsKKyAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVySGVhcERpc3BhdGNoZXIo
bmV3IFdlYkluc3BlY3Rvci5IZWFwT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJUaW1lbGluZURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZU9ic2VydmVy
KTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ1NTRGlzcGF0Y2hlcihuZXcgV2ViSW5z
cGVjdG9yLkNTU09ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyUnVudGlt
ZURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5SdW50aW1lT2JzZXJ2ZXIpOwpAQCAtNTQsNiAr
NTUsNyBAQCBXZWJJbnNwZWN0b3IubG9hZGVkID0gZnVuY3Rpb24oKQogICAgIHRoaXMubG9nTWFu
YWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuTG9nTWFuYWdlcjsKICAgICB0aGlzLmlzc3VlTWFuYWdl
ciA9IG5ldyBXZWJJbnNwZWN0b3IuSXNzdWVNYW5hZ2VyOwogICAgIHRoaXMucnVudGltZU1hbmFn
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlJ1bnRpbWVNYW5hZ2VyOworICAgIHRoaXMuaGVhcE1hbmFn
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBNYW5hZ2VyOwogICAgIHRoaXMudGltZWxpbmVNYW5h
Z2VyID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXI7CiAgICAgdGhpcy5kZWJ1Z2dl
ck1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFuYWdlcjsKICAgICB0aGlzLnBy
b2JlTWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuUHJvYmVNYW5hZ2VyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVE
YXRhR3JpZE5vZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcwppbmRleCAwMzU0MDQyLi4xNmFmODIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3Jp
cHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcwpAQCAtNzcsOCAr
NzcsMTUgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3Mg
U2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW4KICAgICAgICAgICAgIH0KICAgICAgICAg
fQogCi0gICAgICAgIHJldHVybiB7ZXZlbnRUeXBlOiB0aGlzLl9yZWNvcmQuZXZlbnRUeXBlLCBz
dGFydFRpbWUsIHNlbGZUaW1lOiBkdXJhdGlvbiwgdG90YWxUaW1lOiBkdXJhdGlvbiwKLSAgICAg
ICAgICAgIGF2ZXJhZ2VUaW1lOiBkdXJhdGlvbiwgY2FsbENvdW50OiAxLCBsb2NhdGlvbjogY2Fs
bEZyYW1lT3JTb3VyY2VDb2RlTG9jYXRpb259OworICAgICAgICByZXR1cm4geworICAgICAgICAg
ICAgZXZlbnRUeXBlOiB0aGlzLl9yZWNvcmQuZXZlbnRUeXBlLAorICAgICAgICAgICAgc3RhcnRU
aW1lLAorICAgICAgICAgICAgc2VsZlRpbWU6IGR1cmF0aW9uLAorICAgICAgICAgICAgdG90YWxU
aW1lOiBkdXJhdGlvbiwKKyAgICAgICAgICAgIGF2ZXJhZ2VUaW1lOiBkdXJhdGlvbiwKKyAgICAg
ICAgICAgIGNhbGxDb3VudDogTmFOLAorICAgICAgICAgICAgbG9jYXRpb246IGNhbGxGcmFtZU9y
U291cmNlQ29kZUxvY2F0aW9uCisgICAgICAgIH07CiAgICAgfQogCiAgICAgdXBkYXRlUmFuZ2VU
aW1lcyhzdGFydFRpbWUsIGVuZFRpbWUpCkBAIC0xMjQsNiArMTMxLDkgQEAgV2ViSW5zcGVjdG9y
LlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgU2NyaXB0VGltZWxpbmVEYXRhR3Jp
ZE5vZGUgZXh0ZW4KICAgICAgICAgY2FzZSAidG90YWxUaW1lIjoKICAgICAgICAgY2FzZSAiYXZl
cmFnZVRpbWUiOgogICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVtcHR5VmFsdWVQ
bGFjZWhvbGRlclN0cmluZyA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUsIHRydWUpOwor
CisgICAgICAgIGNhc2UgImNhbGxDb3VudCI6CisgICAgICAgICAgICByZXR1cm4gaXNOYU4odmFs
dWUpID8gZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5nIDogdmFsdWU7CiAgICAgICAgIH0KIAog
ICAgICAgICByZXR1cm4gc3VwZXIuY3JlYXRlQ2VsbENvbnRlbnQoY29sdW1uSWRlbnRpZmllciwg
Y2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5k
ZXggNzFlZTlhMS4uNDUxYTRmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lT3Zl
cnZpZXdHcmFwaC5qcwpAQCAtNzMsNyArNzMsMTEgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVs
aW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHQK
ICAgICAgICAgICAgICsrcmVjb3JkQmFySW5kZXg7CiAgICAgICAgIH0KIAotICAgICAgICBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmRCYXIuY3JlYXRlQ29tYmluZWRCYXJzKHRoaXMuX3Njcmlw
dFRpbWVsaW5lLnJlY29yZHMsIHNlY29uZHNQZXJQaXhlbCwgdGhpcywgY3JlYXRlQmFyLmJpbmQo
dGhpcykpOworICAgICAgICAvLyBDcmVhdGUgYmFycyBmb3Igbm9uLUdDIHJlY29yZHMgYW5kIEdD
IHJlY29yZHMuCisgICAgICAgIGxldCBbZ2NSZWNvcmRzLCBub25HQ1JlY29yZHNdID0gdGhpcy5f
c2NyaXB0VGltZWxpbmUucmVjb3Jkcy5wYXJ0aXRpb24oKHgpID0+IHguaXNHYXJiYWdlQ29sbGVj
dGlvbigpKTsKKyAgICAgICAgbGV0IGJvdW5kQ3JlYXRlQmFyID0gY3JlYXRlQmFyLmJpbmQodGhp
cyk7CisgICAgICAgIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEJhci5jcmVhdGVDb21iaW5l
ZEJhcnMobm9uR0NSZWNvcmRzLCBzZWNvbmRzUGVyUGl4ZWwsIHRoaXMsIGJvdW5kQ3JlYXRlQmFy
KTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkQmFyLmNyZWF0ZUNvbWJpbmVk
QmFycyhnY1JlY29yZHMsIHNlY29uZHNQZXJQaXhlbCwgdGhpcywgYm91bmRDcmVhdGVCYXIpOwog
CiAgICAgICAgIC8vIFJlbW92ZSB0aGUgcmVtYWluaW5nIHVudXNlZCBUaW1lbGluZVJlY29yZEJh
cnMuCiAgICAgICAgIGZvciAoOyByZWNvcmRCYXJJbmRleCA8IHRoaXMuX3RpbWVsaW5lUmVjb3Jk
QmFycy5sZW5ndGg7ICsrcmVjb3JkQmFySW5kZXgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lVmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lVmll
dy5qcwppbmRleCA5ZTBhNTQ0Li40OGU1MDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZVZpZXcuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVWaWV3
LmpzCkBAIC0yMjQsNiArMjI0LDEwIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVZpZXcg
PSBjbGFzcyBTY3JpcHRUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAgICAgICAg
IGlmICghdGhpcy5fcGVuZGluZ1JlY29yZHMubGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuOwog
CisgICAgICAgIGxldCB6ZXJvVGltZSA9IHRoaXMuemVyb1RpbWU7CisgICAgICAgIGxldCBzdGFy
dFRpbWUgPSB0aGlzLnN0YXJ0VGltZTsKKyAgICAgICAgbGV0IGVuZFRpbWUgPSB0aGlzLmVuZFRp
bWU7CisKICAgICAgICAgZm9yICh2YXIgc2NyaXB0VGltZWxpbmVSZWNvcmQgb2YgdGhpcy5fcGVu
ZGluZ1JlY29yZHMpIHsKICAgICAgICAgICAgIHZhciByb290Tm9kZXMgPSBbXTsKICAgICAgICAg
ICAgIGlmIChzY3JpcHRUaW1lbGluZVJlY29yZC5wcm9maWxlKSB7CkBAIC0yMzEsMTUgKzIzNSwx
MSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3ID0gY2xhc3MgU2NyaXB0VGltZWxp
bmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogICAgICAgICAgICAgICAgIHJvb3ROb2RlcyA9
IHNjcmlwdFRpbWVsaW5lUmVjb3JkLnByb2ZpbGUudG9wRG93blJvb3ROb2RlczsKICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgdmFyIHplcm9UaW1lID0gdGhpcy56ZXJvVGltZTsKLSAgICAg
ICAgICAgIHZhciB0cmVlRWxlbWVudCA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRU
cmVlRWxlbWVudChzY3JpcHRUaW1lbGluZVJlY29yZCwgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVM
b2NhdGlvbi5OYW1lU3R5bGUuU2hvcnQsIHJvb3ROb2Rlcy5sZW5ndGgpOworICAgICAgICAgICAg
dmFyIHRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVt
ZW50KHNjcmlwdFRpbWVsaW5lUmVjb3JkLCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9u
Lk5hbWVTdHlsZS5TaG9ydCwgdHJ1ZSk7CiAgICAgICAgICAgICB2YXIgZGF0YUdyaWROb2RlID0g
bmV3IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZShzY3JpcHRUaW1lbGlu
ZVJlY29yZCwgemVyb1RpbWUpOwogCiAgICAgICAgICAgICB0aGlzLl9kYXRhR3JpZC5hZGRSb3dJ
blNvcnRPcmRlcih0cmVlRWxlbWVudCwgZGF0YUdyaWROb2RlKTsKIAotICAgICAgICAgICAgdmFy
IHN0YXJ0VGltZSA9IHRoaXMuc3RhcnRUaW1lOwotICAgICAgICAgICAgdmFyIGVuZFRpbWUgPSB0
aGlzLmVuZFRpbWU7Ci0KICAgICAgICAgICAgIGZvciAodmFyIHByb2ZpbGVOb2RlIG9mIHJvb3RO
b2RlcykgewogICAgICAgICAgICAgICAgIHZhciBwcm9maWxlTm9kZVRyZWVFbGVtZW50ID0gbmV3
IFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZVRyZWVFbGVtZW50KHByb2ZpbGVOb2RlLCB0aGlzKTsK
ICAgICAgICAgICAgICAgICB2YXIgcHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUgPSBuZXcgV2ViSW5z
cGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlKHByb2ZpbGVOb2RlLCB6ZXJvVGltZSwgc3Rh
cnRUaW1lLCBlbmRUaW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJl
ZUVsZW1lbnQuanMKaW5kZXggMWQzNTgwYS4uMTYyYjU3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVHJlZUVs
ZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQuanMKQEAgLTI1LDEzICsyNSwxMyBAQAogCiBX
ZWJJbnNwZWN0b3IuU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgPSBjbGFzcyBTb3VyY2VD
b2RlVGltZWxpbmVUcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZFRyZWVFbGVtZW50CiB7Ci0gICAgY29uc3RydWN0b3Ioc291cmNlQ29kZVRpbWVsaW5lLCBzdWJ0
aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmllckluTWFpblRpdGxlKQorICAgIGNv
bnN0cnVjdG9yKHNvdXJjZUNvZGVUaW1lbGluZSwgc3VidGl0bGVOYW1lU3R5bGUsIGluY2x1ZGVE
ZXRhaWxzSW5NYWluVGl0bGUpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydChzb3VyY2VD
b2RlVGltZWxpbmUpOwogCiAgICAgICAgIHN1YnRpdGxlTmFtZVN0eWxlID0gc3VidGl0bGVOYW1l
U3R5bGUgfHwgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVMb2NhdGlvbi5OYW1lU3R5bGUuTm9uZTsK
IAotICAgICAgICBzdXBlcihzb3VyY2VDb2RlVGltZWxpbmUucmVjb3Jkc1swXSwgc3VidGl0bGVO
YW1lU3R5bGUsIGluY2x1ZGVUaW1lcklkZW50aWZpZXJJbk1haW5UaXRsZSwgc291cmNlQ29kZVRp
bWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbiwgc291cmNlQ29kZVRpbWVsaW5lKTsKKyAgICAgICAg
c3VwZXIoc291cmNlQ29kZVRpbWVsaW5lLnJlY29yZHNbMF0sIHN1YnRpdGxlTmFtZVN0eWxlLCBp
bmNsdWRlRGV0YWlsc0luTWFpblRpdGxlLCBzb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxv
Y2F0aW9uLCBzb3VyY2VDb2RlVGltZWxpbmUpOwogCiAgICAgICAgIHRoaXMuX3NvdXJjZUNvZGVU
aW1lbGluZSA9IHNvdXJjZUNvZGVUaW1lbGluZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lSWNvbnMuY3Nz
CmluZGV4IDQ5YjFmNGIuLmYwZWEyOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lSWNvbnMuY3NzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lSWNvbnMuY3NzCkBAIC0xMDMs
NiArMTAzLDEwIEBACiAgICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9UaW1lbGluZVJlY29yZENv
bnNvbGVQcm9maWxlLnN2Zyk7CiB9CiAKKy5nYXJiYWdlLWNvbGxlY3Rpb24tcHJvZmlsZS1yZWNv
cmQgLmljb24geworICAgIGNvbnRlbnQ6IHVybCguLi9JbWFnZXMvVGltZWxpbmVSZWNvcmRHYXJi
YWdlQ29sbGVjdGlvbi5zdmcpOworfQorCiAudGltZXItcmVjb3JkIC5pY29uIHsKICAgICBjb250
ZW50OiB1cmwoLi4vSW1hZ2VzL1RpbWVsaW5lUmVjb3JkVGltZXIuc3ZnKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVj
b3JkQmFyLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lUmVjb3JkQmFyLmNzcwppbmRleCA0NWQ1ZGZlLi40NmJiZWE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJh
ci5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVSZWNvcmRCYXIuY3NzCkBAIC05OCwzICs5OCw4IEBACiAgICAgYmFja2dyb3VuZC1jb2xv
cjogaHNsKDI2OSwgNjUlLCA3NCUpOwogICAgIGJvcmRlci1jb2xvcjogaHNsKDI3MywgMzMlLCA1
OCUpOwogfQorCisudGltZWxpbmUtcmVjb3JkLWJhci50aW1lbGluZS1yZWNvcmQtdHlwZS1zY3Jp
cHQuc2NyaXB0LXRpbWVsaW5lLXJlY29yZC1nYXJiYWdlLWNvbGxlY3RlZCA+IC5zZWdtZW50IHsK
KyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjMsIDY5JSwgNzMlKTsKKyAgICBib3JkZXItY29s
b3I6IGhzbCgxMSwgNTQlLCA2MiUpOyAgICAKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuanMK
aW5kZXggMjYzYWQyMi4uNTU2MGVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuanMKQEAg
LTEzNCwyMSArMTM0LDIzIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEJhciA9IGNsYXNz
IFRpbWVsaW5lUmVjb3JkQmFyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iCiAgICAgICAgIHZhciBz
dGFydFRpbWVQcm9wZXJ0eSA9IHVzZXNBY3RpdmVTdGFydFRpbWUgPyAiYWN0aXZlU3RhcnRUaW1l
IiA6ICJzdGFydFRpbWUiOwogCiAgICAgICAgIGZvciAodmFyIHJlY29yZCBvZiB2aXNpYmxlUmVj
b3JkcykgeworICAgICAgICAgICAgdmFyIHN0YXJ0VGltZSA9IHJlY29yZFtzdGFydFRpbWVQcm9w
ZXJ0eV07CisKICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBwcmV2aW91cyByZWNvcmQgaXMg
ZmFyIGVub3VnaCBhd2F5IHRvIGNyZWF0ZSB0aGUgYWN0aXZlIGJhci4gV2UgYWxzbyBjcmVhdGUg
aXQgbm93IGlmIHRoZSBjdXJyZW50IHJlY29yZCBoYXMgbm8gYWN0aXZlIHN0YXRlIHRpbWUuCi0g
ICAgICAgICAgICBpZiAoIWlzTmFOKGFjdGl2ZVN0YXJ0VGltZSkgJiYgKGFjdGl2ZVN0YXJ0VGlt
ZSArIE1hdGgubWF4KGFjdGl2ZUVuZFRpbWUgLSBhY3RpdmVTdGFydFRpbWUsIG1pbmltdW1EdXJh
dGlvbikgKyBtaW5pbXVtTWFyZ2luIDw9IHJlY29yZFtzdGFydFRpbWVQcm9wZXJ0eV0KLSAgICAg
ICAgICAgICAgICB8fCAoaXNOYU4ocmVjb3JkW3N0YXJ0VGltZVByb3BlcnR5XSkgJiYgIWlzTmFO
KGFjdGl2ZUVuZFRpbWUpKSkpIHsKKyAgICAgICAgICAgIGlmICghaXNOYU4oYWN0aXZlU3RhcnRU
aW1lKSAmJiAoYWN0aXZlU3RhcnRUaW1lICsgTWF0aC5tYXgoYWN0aXZlRW5kVGltZSAtIGFjdGl2
ZVN0YXJ0VGltZSwgbWluaW11bUR1cmF0aW9uKSArIG1pbmltdW1NYXJnaW4gPD0gc3RhcnRUaW1l
CisgICAgICAgICAgICAgICAgfHwgKGlzTmFOKHN0YXJ0VGltZSkgJiYgIWlzTmFOKGFjdGl2ZUVu
ZFRpbWUpKSkpIHsKICAgICAgICAgICAgICAgICBjcmVhdGVCYXJDYWxsYmFjayhhY3RpdmVSZWNv
cmRzLCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRCYXIuUmVuZGVyTW9kZS5BY3RpdmVPbmx5
KTsKICAgICAgICAgICAgICAgICBhY3RpdmVSZWNvcmRzID0gW107CiAgICAgICAgICAgICAgICAg
YWN0aXZlU3RhcnRUaW1lID0gTmFOOwogICAgICAgICAgICAgICAgIGFjdGl2ZUVuZFRpbWUgPSBO
YU47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlmIChpc05hTihyZWNvcmRbc3RhcnRU
aW1lUHJvcGVydHldKSkKKyAgICAgICAgICAgIGlmIChpc05hTihzdGFydFRpbWUpKQogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGEgbmV3IGJh
ciwgcGVnIHRoZSBzdGFydCB0aW1lLgogICAgICAgICAgICAgaWYgKGlzTmFOKGFjdGl2ZVN0YXJ0
VGltZSkpCi0gICAgICAgICAgICAgICAgYWN0aXZlU3RhcnRUaW1lID0gcmVjb3JkW3N0YXJ0VGlt
ZVByb3BlcnR5XTsKKyAgICAgICAgICAgICAgICBhY3RpdmVTdGFydFRpbWUgPSBzdGFydFRpbWU7
CiAKICAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgZW5kIHRpbWUgdG8gYmUgdGhlIG1heGltdW0g
d2UgZW5jb3VudGVyLiBhY3RpdmVFbmRUaW1lIG1pZ2h0IGJlIE5hTiwgc28gInx8IDAiIHRvIHBy
ZXZlbnQgTWF0aC5tYXggZnJvbSByZXR1cm5pbmcgTmFOLgogICAgICAgICAgICAgaWYgKCFpc05h
TihyZWNvcmQuZW5kVGltZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVu
dC5qcwppbmRleCBkMzExZjRiLi41NGI4NzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVj
b3JkVHJlZUVsZW1lbnQuanMKQEAgLTI1LDcgKzI1LDcgQEAKIAogV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUmVjb3JkVHJlZUVsZW1lbnQgPSBjbGFzcyBUaW1lbGluZVJlY29yZFRyZWVFbGVtZW50IGV4
dGVuZHMgV2ViSW5zcGVjdG9yLkdlbmVyYWxUcmVlRWxlbWVudAogewotICAgIGNvbnN0cnVjdG9y
KHRpbWVsaW5lUmVjb3JkLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZVRpbWVySWRlbnRpZmll
ckluTWFpblRpdGxlLCBzb3VyY2VDb2RlTG9jYXRpb24sIHJlcHJlc2VudGVkT2JqZWN0KQorICAg
IGNvbnN0cnVjdG9yKHRpbWVsaW5lUmVjb3JkLCBzdWJ0aXRsZU5hbWVTdHlsZSwgaW5jbHVkZURl
dGFpbHNJbk1haW5UaXRsZSwgc291cmNlQ29kZUxvY2F0aW9uLCByZXByZXNlbnRlZE9iamVjdCkK
ICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVsaW5lUmVjb3JkKTsKIApAQCAtNzIs
NyArNzIsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCA9IGNsYXNz
IFRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQgZXh0ZW5kcwogICAgICAgICAgICAgYnJlYWs7CiAK
ICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQ6Ci0g
ICAgICAgICAgICB0aXRsZSA9IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVu
dFR5cGUuZGlzcGxheU5hbWUodGltZWxpbmVSZWNvcmQuZXZlbnRUeXBlLCB0aW1lbGluZVJlY29y
ZC5kZXRhaWxzLCBpbmNsdWRlVGltZXJJZGVudGlmaWVySW5NYWluVGl0bGUpOworICAgICAgICAg
ICAgdGl0bGUgPSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLmRp
c3BsYXlOYW1lKHRpbWVsaW5lUmVjb3JkLmV2ZW50VHlwZSwgdGltZWxpbmVSZWNvcmQuZGV0YWls
cywgaW5jbHVkZURldGFpbHNJbk1haW5UaXRsZSk7CiAKICAgICAgICAgICAgIHN3aXRjaCAodGlt
ZWxpbmVSZWNvcmQuZXZlbnRUeXBlKSB7CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5T
Y3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuU2NyaXB0RXZhbHVhdGVkOgpAQCAtODcsNiAr
ODcsOSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCA9IGNsYXNzIFRp
bWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQgZXh0ZW5kcwogICAgICAgICAgICAgY2FzZSBXZWJJbnNw
ZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkNvbnNvbGVQcm9maWxlUmVjb3Jk
ZWQ6CiAgICAgICAgICAgICAgICAgaWNvblN0eWxlQ2xhc3MgPSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVSZWNvcmRUcmVlRWxlbWVudC5Db25zb2xlUHJvZmlsZUljb25TdHlsZUNsYXNzOwogICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGlt
ZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQ6CisgICAgICAgICAgICAgICAg
aWNvblN0eWxlQ2xhc3MgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5H
YXJiYWdlQ29sbGVjdGlvbkljb25TdHlsZUNsYXNzOworICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRU
eXBlLlRpbWVyRmlyZWQ6CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1l
bGluZVJlY29yZC5FdmVudFR5cGUuVGltZXJJbnN0YWxsZWQ6CiAgICAgICAgICAgICBjYXNlIFdl
Ykluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGltZXJSZW1vdmVkOgpA
QCAtMTY4LDMgKzE3MSw0IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50
LlRpbWVyUmVjb3JkSWNvblN0eWxlQ2xhc3MgPSAidGltZXItcmVjb3JkCiBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5BbmltYXRpb25SZWNvcmRJY29uU3R5bGVDbGFzcyA9
ICJhbmltYXRpb24tcmVjb3JkIjsKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVt
ZW50LlByb2JlUmVjb3JkSWNvblN0eWxlQ2xhc3MgPSAicHJvYmUtcmVjb3JkIjsKIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkNvbnNvbGVQcm9maWxlSWNvblN0eWxlQ2xh
c3MgPSAiY29uc29sZS1wcm9maWxlLXJlY29yZCI7CitXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmRUcmVlRWxlbWVudC5HYXJiYWdlQ29sbGVjdGlvbkljb25TdHlsZUNsYXNzID0gImdhcmJhZ2Ut
Y29sbGVjdGlvbi1wcm9maWxlLXJlY29yZCI7Cg==
</data>
<flag name="commit-queue"
          id="288375"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>