<?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>149497</bug_id>
          
          <creation_ts>2015-09-23 02:15:10 -0700</creation_ts>
          <short_desc>[Streams API] Add support for JS builtins constructor</short_desc>
          <delta_ts>2015-09-24 02:18:40 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>138967</blocked>
    
    <blocked>147092</blocked>
    
    <blocked>147153</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1128257</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-23 02:15:10 -0700</bug_when>
    <thetext>To enable migrating ReadableStream to JS builtins, we need to enable constructing them using JS builtin at constructin time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128258</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-23 02:15:51 -0700</bug_when>
    <thetext>This may be done as the same time as migrating CountQueuingStrategy to JS builtins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128290</commentid>
    <comment_count>2</comment_count>
      <attachid>261818</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-23 04:28:38 -0700</bug_when>
    <thetext>Created attachment 261818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128298</commentid>
    <comment_count>3</comment_count>
      <attachid>261820</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-23 05:40:17 -0700</bug_when>
    <thetext>Created attachment 261820
Rebasing IDL generated files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128302</commentid>
    <comment_count>4</comment_count>
      <attachid>261820</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-09-23 06:28:08 -0700</bug_when>
    <thetext>Comment on attachment 261820
Rebasing IDL generated files

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

Even when the code change is more understandable with the strategy example, the patch might be a bit too big. I would split it in two different bugs with a dependency so that the review process is easier.

&gt; Source/WebCore/ChangeLog:15
&gt; +        * CMakeLists.txt:

Not only this, but I think the rest of the changelog could have a bit more love.

&gt; Source/WebCore/bindings/js/JSDOMBinding.cpp:663
&gt; +    auto* thisObject = jsCast&lt;DOMConstructorJSBuiltinObject*&gt;(cell);

Do you need the auto*? Isn&apos;t it enough with auto?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:4793
&gt; +            push(@$outputArray, &quot;    auto* castedThis = jsCast&lt;${constructorClassName}*&gt;(state-&gt;callee());\n&quot;);

Same with auto and *</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128305</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-23 07:21:02 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/ChangeLog:15
&gt; &gt; +        * CMakeLists.txt:
&gt; 
&gt; Not only this, but I think the rest of the changelog could have a bit more
&gt; love.

Right, will do in next patch or at landing time.

&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSDOMBinding.cpp:663
&gt; &gt; +    auto* thisObject = jsCast&lt;DOMConstructorJSBuiltinObject*&gt;(cell);
&gt; 
&gt; Do you need the auto*? Isn&apos;t it enough with auto?

Looking at the coding style document and in JSDOMBinding.cpp, examples use &apos;auto&amp;&apos;. Lets&apos; see what others will say about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128312</commentid>
    <comment_count>6</comment_count>
      <attachid>261820</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-09-23 08:26:57 -0700</bug_when>
    <thetext>Comment on attachment 261820
Rebasing IDL generated files

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

Where is the test coverage for the use of JSBuiltinConstructor in CountQueingStrategy? I see lots of new code but not test showing the code is doing its job. Maybe there is an existing test that keeps working?

&gt; Source/WebCore/Modules/streams/CountQueuingStrategy.h:42
&gt; +    static RefPtr&lt;CountQueuingStrategy&gt; create() { return adoptRef(*new CountQueuingStrategy()); }

Return value here should be Ref, not RefPtr.

No need for the () after the type name.

Typically the point of making a create function is to make sure nobody constructs the class directly by accident, getting the reference counting wrong. That means we normally make the constructor private. That is not done here and probably should be done. Just &quot;CountQueuingStrategy() -&gt; default;&quot; after &quot;private&quot;.

This class is really confusing if you don’t understand that all the implementation is in JavaScript. We may want to figure out how to document this sort of thing as we do future work. Or even come up with a way where we don’t need to create this boilerplate if there is no interesting C++ code.

&gt; Source/WebCore/bindings/js/JSDOMBinding.cpp:649
&gt; +void callInitializeFunction(JSC::ExecState&amp; state, JSC::JSValue object, JSC::JSFunction* function)

Is there no other place we can share this code with? It seems like a lot to write out doing almost nothing interesting.

&gt; Source/WebCore/bindings/js/JSDOMBinding.cpp:657
&gt; +        arguments.append(state.argument(i));

Should be using uncheckedArgument here.

&gt;&gt; Source/WebCore/bindings/js/JSDOMBinding.cpp:663
&gt;&gt; +    auto* thisObject = jsCast&lt;DOMConstructorJSBuiltinObject*&gt;(cell);
&gt; 
&gt; Do you need the auto*? Isn&apos;t it enough with auto?

We often write auto* rather than auto in a case like this to emphasize that it’s a pointer type, since it takes only one character to do that. The use of auto&amp; at other call sites is specifically to avoid unnecessarily copying an object, easy to do by accident if you use auto in a modern for loop for example. So another purpose of auto* is to make it clear that we definitely are not copying an object, just a pointer. So auto would be fine, but auto* also seems fine.

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:88
&gt; +void callInitializeFunction(JSC::ExecState&amp;, JSC::JSValue, JSC::JSFunction*);

Maybe the initializeFunction could be a reference rather than a pointer even if other existing code uses a pointer for this.

It’s not really clear what the JSValue is. Might need a name for that argument. Maybe even change it to JSObject?

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:90
&gt; +template&lt;typename WrapperClass, typename DOMClass&gt; inline JSC::EncodedJSValue createFromJSBuiltin(JSC::ExecState&amp; state, JSC::JSFunction* initializeFunction, JSDOMGlobalObject&amp; globalObject)

Maybe initializeFunction could be a reference rather than a pointer even if other existing code uses a pointer for this.

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:92
&gt; +    JSC::JSValue object = toJS(&amp;state, &amp;globalObject, DOMClass::create());

If this is always an object, then JSObject&amp; might be a better type than JSValue.

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:120
&gt; +    DOMConstructorJSBuiltinObject(JSC::Structure* structure, JSDOMGlobalObject* globalObject)

Maybe both of these could be reference instead of pointers even if existing classes use references.

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:123
&gt; +    static void visitChildren(JSC::JSCell*, JSC::SlotVisitor&amp;);

Maybe this should take a JSCell&amp; rather than JSCell* even if other classes use pointers.

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:125
&gt; +    JSC::WriteBarrier&lt;JSC::JSFunction&gt; m_initializeFunction;

Can this be private rather than protected please?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:4970
&gt; +    if ($interface-&gt;extendedAttributes-&gt;{&quot;JSBuiltinConstructor&quot;}) {
&gt; +        my $initializeFunctionName = GetJSBuiltinFunctionName(${className}, &quot;initialize&quot; . ${interfaceName});
&gt; +        push(@$outputArray, &quot;    m_initializeFunction.set(vm, this, JSC::JSFunction::createBuiltinFunction(vm, ${initializeFunctionName}(vm), globalObject));\n&quot;);
&gt; +    }
&gt; +
&gt; +
&gt;      push(@$outputArray, &quot;}\n\n&quot;);

Extra blank line here. We only need one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128448</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-24 00:40:18 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to comment #6)
&gt; Comment on attachment 261820 [details]
&gt; Rebasing IDL generated files
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=261820&amp;action=review
&gt; 
&gt; Where is the test coverage for the use of JSBuiltinConstructor in
&gt; CountQueingStrategy? I see lots of new code but not test showing the code is
&gt; doing its job. Maybe there is an existing test that keeps working?

This patch is replacing C++ CountQueuingStrategy with JS builtin CountQueuingStrategy.
Existing tests instantiating and using CQS can be found in LayoutTests/streams/reference-implementation, mostly in count-queuing-strategy.html.


&gt; &gt; Source/WebCore/Modules/streams/CountQueuingStrategy.h:42
&gt; &gt; +    static RefPtr&lt;CountQueuingStrategy&gt; create() { return adoptRef(*new CountQueuingStrategy()); }
&gt; 
&gt; Return value here should be Ref, not RefPtr.
&gt; 
&gt; No need for the () after the type name.
&gt; 
&gt; Typically the point of making a create function is to make sure nobody
&gt; constructs the class directly by accident, getting the reference counting
&gt; wrong. That means we normally make the constructor private. That is not done
&gt; here and probably should be done. Just &quot;CountQueuingStrategy() -&gt; default;&quot;
&gt; after &quot;private&quot;.
&gt; 
&gt; This class is really confusing if you don’t understand that all the
&gt; implementation is in JavaScript. We may want to figure out how to document
&gt; this sort of thing as we do future work. Or even come up with a way where we
&gt; don’t need to create this boilerplate if there is no interesting C++ code.

Yes, I plan to improve that in another patch.
One option is to inline the boilerplate code in JSXX when JSBuiltinConstructor is in action.
Another cleaner option might be to remove the need for having a XX DOM class for JSXX in that case.

&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSDOMBinding.cpp:649
&gt; &gt; +void callInitializeFunction(JSC::ExecState&amp; state, JSC::JSValue object, JSC::JSFunction* function)
&gt; 
&gt; Is there no other place we can share this code with? It seems like a lot to
&gt; write out doing almost nothing interesting.

Not that I am aware.
I will rename the function to something like callFunctionWithCurrentArguments.

&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSDOMBinding.cpp:657
&gt; &gt; +        arguments.append(state.argument(i));
&gt; 
&gt; Should be using uncheckedArgument here.

OK

&gt; &gt;&gt; Source/WebCore/bindings/js/JSDOMBinding.cpp:663
&gt; &gt;&gt; +    auto* thisObject = jsCast&lt;DOMConstructorJSBuiltinObject*&gt;(cell);
&gt; &gt; 
&gt; &gt; Do you need the auto*? Isn&apos;t it enough with auto?
&gt; 
&gt; We often write auto* rather than auto in a case like this to emphasize that
&gt; it’s a pointer type, since it takes only one character to do that. The use
&gt; of auto&amp; at other call sites is specifically to avoid unnecessarily copying
&gt; an object, easy to do by accident if you use auto in a modern for loop for
&gt; example. So another purpose of auto* is to make it clear that we definitely
&gt; are not copying an object, just a pointer. So auto would be fine, but auto*
&gt; also seems fine.
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSDOMBinding.h:88
&gt; &gt; +void callInitializeFunction(JSC::ExecState&amp;, JSC::JSValue, JSC::JSFunction*);
&gt; 
&gt; Maybe the initializeFunction could be a reference rather than a pointer even
&gt; if other existing code uses a pointer for this.

OK

&gt; It’s not really clear what the JSValue is. Might need a name for that
&gt; argument. Maybe even change it to JSObject?

OK, let&apos;s change it to JSObject, and name it thisObject

&gt; &gt; Source/WebCore/bindings/js/JSDOMBinding.h:90
&gt; &gt; +template&lt;typename WrapperClass, typename DOMClass&gt; inline JSC::EncodedJSValue createFromJSBuiltin(JSC::ExecState&amp; state, JSC::JSFunction* initializeFunction, JSDOMGlobalObject&amp; globalObject)
&gt; 
&gt; Maybe initializeFunction could be a reference rather than a pointer even if
&gt; other existing code uses a pointer for this.

OK

&gt; &gt; Source/WebCore/bindings/js/JSDOMBinding.h:92
&gt; &gt; +    JSC::JSValue object = toJS(&amp;state, &amp;globalObject, DOMClass::create());
&gt; 
&gt; If this is always an object, then JSObject&amp; might be a better type than
&gt; JSValue.

OK

&gt; &gt; Source/WebCore/bindings/js/JSDOMBinding.h:120
&gt; &gt; +    DOMConstructorJSBuiltinObject(JSC::Structure* structure, JSDOMGlobalObject* globalObject)
&gt; 
&gt; Maybe both of these could be reference instead of pointers even if existing
&gt; classes use references.

This is code used from generated code and that would require changing other classes.
This should be put forward as a follow-up patch.

&gt; &gt; Source/WebCore/bindings/js/JSDOMBinding.h:123
&gt; &gt; +    static void visitChildren(JSC::JSCell*, JSC::SlotVisitor&amp;);
&gt; 
&gt; Maybe this should take a JSCell&amp; rather than JSCell* even if other classes
&gt; use pointers.

This is code used from generated code and that would require changing other classes.
This should be put forward as a follow-up patch.

&gt; &gt; Source/WebCore/bindings/js/JSDOMBinding.h:125
&gt; &gt; +    JSC::WriteBarrier&lt;JSC::JSFunction&gt; m_initializeFunction;
&gt; 
&gt; Can this be private rather than protected please?

OK, will add protected getter/setter.

&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:4970
&gt; &gt; +    if ($interface-&gt;extendedAttributes-&gt;{&quot;JSBuiltinConstructor&quot;}) {
&gt; &gt; +        my $initializeFunctionName = GetJSBuiltinFunctionName(${className}, &quot;initialize&quot; . ${interfaceName});
&gt; &gt; +        push(@$outputArray, &quot;    m_initializeFunction.set(vm, this, JSC::JSFunction::createBuiltinFunction(vm, ${initializeFunctionName}(vm), globalObject));\n&quot;);
&gt; &gt; +    }
&gt; &gt; +
&gt; &gt; +
&gt; &gt;      push(@$outputArray, &quot;}\n\n&quot;);
&gt; 
&gt; Extra blank line here. We only need one.

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128449</commentid>
    <comment_count>8</comment_count>
      <attachid>261863</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-24 00:40:56 -0700</bug_when>
    <thetext>Created attachment 261863
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128454</commentid>
    <comment_count>9</comment_count>
      <attachid>261863</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-24 02:18:36 -0700</bug_when>
    <thetext>Comment on attachment 261863
Patch for landing

Clearing flags on attachment: 261863

Committed r190198: &lt;http://trac.webkit.org/changeset/190198&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128455</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-24 02:18:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261818</attachid>
            <date>2015-09-23 04:28:38 -0700</date>
            <delta_ts>2015-09-23 05:40:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149497-20150923132818.patch</filename>
            <type>text/plain</type>
            <size>38075</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NjZlMjY5NzBhZWFlYTNlYjFmNWExYWU5MGUxODQ4NDdkMzVmMjBkLi5jYzhjNTUwMDdlYWVlYTg2
M2I2OTg1Zjg2OTM5ZTgxMWM2NjRkMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNCBAQAogMjAxNS0wOS0yMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3Jm
LmNhbm9uLmZyPgogCisgICAgICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIEpTIGJ1
aWx0aW5zIGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDk0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5oOiBleHBvcnRpbmcgY3JlYXRlQnVpbHRp
bkZ1bmN0aW9uLgorCisyMDE1LTA5LTIzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBj
cmYuY2Fub24uZnI+CisKICAgICAgICAgW1N0cmVhbXMgQVBJXSBJbXBsZW1lbnQgUmVhZGFibGVT
dHJlYW0gcGlwZVRocm91Z2gKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0NzU1NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI0MWVhODNhYzdjMzhhZjFiNWE4ZWM4
ZTllNDIzYzBiNjE3YWExMy4uN2NjMGMyYTliODRiYTM2ZTliZGQxZDdmMTE5ZTNkMmY2ZjMwZDgy
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUxIEBACiAyMDE1LTA5LTIzICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CiAKKyAgICAgICAgW1N0cmVhbXMgQVBJXSBB
ZGQgc3VwcG9ydCBmb3IgSlMgYnVpbHRpbnMgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTQ5NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgTWFraW5nIENvdW50UXVldWluZ1N0cmF0ZWd5IGZ1bGx5IEpTIGJ1aWx0LWlu
IGltcGxlbWVudGVkLgorICAgICAgICBBZGRpbmcgc3VwcG9ydCBmb3IgY2FsbGluZyBhIEpTIGJ1
aWx0aW4gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24ganVzdCBhZnRlciBjcmVhdGluZyB0aGUgSlNY
WCBvYmplY3QuCisgICAgICAgIFRoaXMgSlMgZnVuY3Rpb24gbXVzdCBiZSBuYW1lZCBpbml0aWFs
aXplWFggYW5kIGJlIGluIFhYLkpzIGZpbGUuCisgICAgICAgIFRoZSBKU0J1aWx0aW5Db25zdHJ1
Y3RvciBrZXl3b3JkIGlzIGFkZGVkIHRvIHRoZSBiaW5kaW5nIGdlbmVyYXRvci4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Db3Vu
dFF1ZXVpbmdTdHJhdGVneS5oOgorICAgICAgICAoV2ViQ29yZTo6Q291bnRRdWV1aW5nU3RyYXRl
Z3k6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb3VudFF1ZXVpbmdTdHJhdGVneTo6fkNv
dW50UXVldWluZ1N0cmF0ZWd5KToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1
aW5nU3RyYXRlZ3kuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdT
dHJhdGVneS5qczogQWRkZWQuCisgICAgICAgIChzaXplKToKKyAgICAgICAgKGluaXRpYWxpemVD
b3VudFF1ZXVpbmdTdHJhdGVneSk6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAg
ICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbGxJ
bml0aWFsaXplRnVuY3Rpb24pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5o
OgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRnJvbUpTQnVpbHRpbik6CisgICAgICAgICogYmlu
ZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29y
ZUpTQ2xpZW50RGF0YTo6V2ViQ29yZUpTQ2xpZW50RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJDb3JlSlNDbGllbnREYXRhOjpjb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdldEpT
QnVpbHRpbkZ1bmN0aW9uTmFtZSk6CisgICAgICAgIChHZXRGdW5jdGlvbk5hbWUpOgorICAgICAg
ICAoR2VuZXJhdGVDb25zdHJ1Y3RvckRlY2xhcmF0aW9uKToKKyAgICAgICAgKEdlbmVyYXRlQ29u
c3RydWN0b3JEZWZpbml0aW9uKToKKyAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JIZWxwZXJN
ZXRob2RzKToKKyAgICAgICAgKElzQ29uc3RydWN0YWJsZSk6CisgICAgICAgIChIYXNDdXN0b21H
ZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6CisK
KzIwMTUtMDktMjMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4K
KwogICAgICAgICBbU3RyZWFtcyBBUEldIEltcGxlbWVudCBSZWFkYWJsZVN0cmVhbSBwaXBlVGhy
b3VnaAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3
NTU2CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAppbmRleCBm
ODdjMzFmODUyODJmN2Q3OGMyNmFiODlmNmIwMGYzODlhNzFhODc5Li4yNzQ0NjkzYjUwZTc5OTZl
NzdkZDY0NGRjMDg2ZTdjYTEyY2MxOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5oCkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNG
dW5jdGlvbiogY3JlYXRlKFZNJiwgV2ViQXNzZW1ibHlFeGVjdXRhYmxlKiwgSlNTY29wZSopOwog
I2VuZGlmCiAKLSAgICBzdGF0aWMgSlNGdW5jdGlvbiogY3JlYXRlQnVpbHRpbkZ1bmN0aW9uKFZN
JiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNHbG9iYWxPYmplY3QqKTsKKyAgICBKU19FWFBPUlRf
UFJJVkFURSBzdGF0aWMgSlNGdW5jdGlvbiogY3JlYXRlQnVpbHRpbkZ1bmN0aW9uKFZNJiwgRnVu
Y3Rpb25FeGVjdXRhYmxlKiwgSlNHbG9iYWxPYmplY3QqKTsKICAgICBzdGF0aWMgSlNGdW5jdGlv
biogY3JlYXRlQnVpbHRpbkZ1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNHbG9i
YWxPYmplY3QqLCBjb25zdCBTdHJpbmcmIG5hbWUpOwogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
U3RyaW5nIG5hbWUoRXhlY1N0YXRlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGY1OTA2NWQ5
ZmZiZjcyMDBmNzg3NjhiYzYyMTRiNWI0Y2VlNThlNDAuLjU4NjNlYTRjYzlkMThkNmNkODRkOGRj
ZTZlOGQ0MTJlMWEwNGMyNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMDk5LDcgKzEwOTks
NiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNDYW52YXNSZW5kZXJp
bmdDb250ZXh0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ2hhcmFjdGVyRGF0YUN1c3Rv
bS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NvbW1hbmRMaW5lQVBJSG9zdEN1c3RvbS5jcHAKLSAg
ICBiaW5kaW5ncy9qcy9KU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0Ny
eXB0b0FsZ29yaXRobURpY3Rpb25hcnkuY3BwCiAgICAgYmluZGluZ3MvanMvSlNDcnlwdG9DdXN0
b20uY3BwCkBAIC0zMzM5LDYgKzMzMzgsNyBAQCBzZXQoSURMX0FUVFJJQlVURVNfRklMRSAke1dF
QkNPUkVfRElSfS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0KQogCiBzZXQoV0VC
Q09SRV9KU19CVUlMVElOUwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbS5qcworICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3RyZWFtcy9Db3VudFF1
ZXVpbmdTdHJhdGVneS5qcwogKQogCiBXRUJLSVRfSU5DTFVERV9DT05GSUdfRklMRVNfSUZfRVhJ
U1RTKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA1NTA4NDIxNWM1Y2RjMzNkZjRj
MzBlNjQ0YmJiN2NjOGIzNmNlMjMyLi41Y2FiOGUyNGRkNTQxNzZjOTMzNzBkNjIwYzZhNDhjZjI2
N2M5YWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAj
aW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcCIKICNpbmNsdWRlICJKU0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5jcHAiCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorI2luY2x1
ZGUgIkNvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwIgogI2luY2x1ZGUgIkpTQ291bnRR
dWV1aW5nU3RyYXRlZ3kuY3BwIgogI2VuZGlmCiAjaWYgRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMzI0YTU1ZmRiNzAwYzI4YzE2MDYwYzdiYjNhMjQyZjEz
Y2ViZTkzZi4uMzFlMThjZTBkMmIzMjc1ZTk1MDQzNDllYjRiYWYxNTlmZmRjNWVkMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMjUwLDcgKzEyNTAsOSBAQCBXZWJSZXBsYXlJ
bnB1dHMuaCA6ICQoSU5QVVRfR0VORVJBVE9SX1NQRUNJRklDQVRJT05TKSAkKElOUFVUX0dFTkVS
QVRPUl9TQ1JJUFRTKQogIyBXZWJDb3JlIEpTIEJ1aWx0aW5zCiAKIFdFQkNPUkVfSlNfQlVJTFRJ
TlMgPSBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcyBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMgXAorIwog
CiBhbGwgOiAkKFdFQkNPUkVfSlNfQlVJTFRJTlM6JS5qcz0lQnVpbHRpbnMuY3BwKQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRl
Z3kuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVn
eS5oCmluZGV4IDY3YmUxYzhmODAzZDdlYTViNzBkZGI1YmIzM2IyYzZkM2FlZjgyNzAuLmQ5ZGRi
MjU5M2IyMWMwZDk1YjQyYmI4NGFlYzk3ZjEzN2ViMGEzZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5oCkBAIC0zMywx
NiArMzMsMTUgQEAKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCiAKICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi0vLyBDb3VudFF1ZXVpbmdTdHJhdGVneSBpbXBsZW1lbnRzIGEgc3RyYXRlZ3kgZm9yIHN0
cmVhbXMgdGhhdCBjb3VudHMgY2h1bmtzIG9uZSBieSBvbmUgYWNjb3JkaW5nIHRvIHRoZSBzcGVj
LiBTZWUKLS8vIGh0dHBzOi8vc3RyZWFtcy5zcGVjLndoYXR3Zy5vcmcvI2Nxcy1jbGFzcwogY2xh
c3MgQ291bnRRdWV1aW5nU3RyYXRlZ3kgOiBwdWJsaWMgUmVmQ291bnRlZDxDb3VudFF1ZXVpbmdT
dHJhdGVneT4gewogcHVibGljOgotICAgIHZpcnR1YWwgfkNvdW50UXVldWluZ1N0cmF0ZWd5KCkg
eyB9CisgICAgc3RhdGljIFJlZlB0cjxDb3VudFF1ZXVpbmdTdHJhdGVneT4gY3JlYXRlKCkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDb3VudFF1ZXVpbmdTdHJhdGVneSgpKTsgfQogCi0gICAgaW5s
aW5lIHN0YXRpYyBpbnQgc2l6ZSgpIHsgcmV0dXJuIDE7IH0KKyAgICB2aXJ0dWFsIH5Db3VudFF1
ZXVpbmdTdHJhdGVneSgpIHsgfQogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5pZGwKaW5kZXggMjM0ZGRhOTlk
NTEyMzRlMWVkODkwZDEyYjQxZjIxZTY5ZjY4YjgwMS4uMDFlYjcwM2I0MTFlMmY2YjliMGVmZTJi
MzQyMDY1Mjc4ZjhmZjI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJl
YW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuaWRsCkBAIC0yOCw4ICsyOCw4IEBACiAgKi8K
IAogWwotICAgIEN1c3RvbUNvbnN0cnVjdG9yKGFueSBwcm9wZXJ0aWVzKSwKKyAgICBKU0J1aWx0
aW5Db25zdHJ1Y3RvciwKICAgICBDb25kaXRpb25hbD1TVFJFQU1TX0FQSSwKIF0gaW50ZXJmYWNl
IENvdW50UXVldWluZ1N0cmF0ZWd5IHsKLSAgICBbQ3VzdG9tQmluZGluZ10gZG91YmxlIHNpemUo
KTsKKyAgICBbSlNCdWlsdGluXSBkb3VibGUgc2l6ZSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45MTE3MzdkMGNlNWVkYTExZjE2ZTc3OGRhMWEzZGYxY2ZjODliMDBlCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0
ZWd5LmpzCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQ2Fub24g
SW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlv
biBzaXplKCkKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4gMTsKK30KKworZnVu
Y3Rpb24gaW5pdGlhbGl6ZUNvdW50UXVldWluZ1N0cmF0ZWd5KHBhcmFtZXRlcnMpCit7CisgICAg
InVzZSBzdHJpY3QiOworCisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICJoaWdoV2F0
ZXJNYXJrIiwgeworICAgICAgICB2YWx1ZTogcGFyYW1ldGVycy5oaWdoV2F0ZXJNYXJrLAorICAg
ICAgICBjb25maWd1cmFibGU6IHRydWUsCisgICAgICAgIGVudW1lcmFibGU6IHRydWUsCisgICAg
ICAgIHdyaXRhYmxlOiB0cnVlCisgICAgfSk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA2YzU1MGUyZTIxZWVmMTA2MGFkN2ZlYjA0
NTI3ZTAyN2FjNjQ1MWI0Li41ODczOGVhMGVlZmNjMzU5NDk4OTQwYzIzYzNkMmNjZWVlMGQ3Y2Qy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oK
QEAgLTM5NDYsNiArMzk0NiwyMCBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJl
KVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0
aW5zLmNwcCI+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Cisg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcUmVhZGFibGVTdHJlYW1CdWlsdGlucy5jcHAiPgogICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
RGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTczNzYsMjAgKzE3MzkwLDYgQEAK
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAg
ICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xK
U0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xET01XcmFwcGVyV29ybGQuY3BwIj4KICAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA2
ZGQzNzk5YWQ1YzYzOTU3M2NmN2I2ODQzY2Q4ZGNkYjE1Nzg2MmVhLi5hZjA1OGUxZjBkYzNiNWVm
ODdkNzcyYWJhNTA4YTEyZTNjNTU3ZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00MjQ1LDkgKzQyNDUs
NiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNDb21tYW5kTGlu
ZUFQSUhvc3RDdXN0b20uY3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4K
ICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpz
XEpTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0b20uY3BwIj4KLSAgICAgIDxGaWx0ZXI+YmluZGlu
Z3NcanM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGJpbmRpbmdzXGpzXEpTQ1NTUnVsZUN1c3RvbS5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5k
aW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgyNDE2YjI3ZjA1NWIyMTIy
ZGU4NjRkN2Y5YmFjM2U3OGRlMWY3MzUuLmJiYWI3N2QzZTZkMDMyODIxYmRiN2FhNmM2NGIwODdk
NDRlMzBlNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTYxOSw3ICs2MTksNiBAQAogCQkxNDc5RkFGNDEwOUFFMzc1MDBERUQ2
NTUgLyogUmVuZGVyUnVieVRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE0NzlGQUVDMTA5QUUzNzUwMERFRDY1NSAvKiBSZW5kZXJSdWJ5VGV4dC5o
ICovOyB9OwogCQkxNDhBRkRBNTBBRjU4MzYwMDA4Q0M3MDAgLyogRXhjZXB0aW9uSGFuZGxlcnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0OEFGREEz
MEFGNTgzNjAwMDhDQzcwMCAvKiBFeGNlcHRpb25IYW5kbGVycy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTE0OEFGREE2MEFGNTgzNjAwMDhDQzcw
MCAvKiBFeGNlcHRpb25IYW5kbGVycy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDE0OEFGREE0MEFGNTgzNjAwMDhDQzcwMCAvKiBFeGNlcHRpb25IYW5k
bGVycy5tbSAqLzsgfTsKLQkJMTQ4QjRGRjgxQjY5MDQyMTAwQzk1NEU0IC8qIEpTQ291bnRRdWV1
aW5nU3RyYXRlZ3lDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTQ4QjRGRjcxQjY5MDQyMTAwQzk1NEU0IC8qIEpTQ291bnRRdWV1aW5nU3Ry
YXRlZ3lDdXN0b20uY3BwICovOyB9OwogCQkxNDhCNEZGRTFCNjkwNEFBMDBDOTU0RTQgLyogQ291
bnRRdWV1aW5nU3RyYXRlZ3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDE0OEI0RkZEMUI2OTA0QUEwMEM5NTRFNCAvKiBDb3VudFF1ZXVpbmdTdHJhdGVn
eS5oICovOyB9OwogCQkxNDk0N0ZGRDEyRjgwQ0QyMDBBMEY2MzEgLyogRG9jdW1lbnRPcmRlcmVk
TWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
OTQ3RkZCMTJGODBDRDIwMEEwRjYzMSAvKiBEb2N1bWVudE9yZGVyZWRNYXAuY3BwICovOyB9Owog
CQkxNDk0N0ZGRTEyRjgwQ0QyMDBBMEY2MzEgLyogRG9jdW1lbnRPcmRlcmVkTWFwLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDk0N0ZGQzEyRjgwQ0Qy
MDBBMEY2MzEgLyogRG9jdW1lbnRPcmRlcmVkTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTI1OTUsNiArMjU5NCw3IEBACiAJCTdDNDhBNkQw
MTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0OEE2Q0UxOTFDOUQ2NTAwMDI2Njc0IC8q
IFdlYktpdE5hbWVzcGFjZS5jcHAgKi87IH07CiAJCTdDNDhBNkQxMTkxQzlENjUwMDAyNjY3NCAv
KiBXZWJLaXROYW1lc3BhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDNDhBNkNGMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaCAq
LzsgfTsKIAkJN0M0OTAyQTIxOEI4MjVGODAwN0Q5Mjk4IC8qIERPTVdoZWVsRXZlbnRJbnRlcm5h
bC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODU5ODlEQ0EwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVdoZWVsRXZlbnRJbnRlcm5h
bC5oICovOyB9OworCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTIgLyogQ291bnRRdWV1aW5nU3Ry
YXRlZ3lCdWlsdGlucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTIgLyogQ291bnRRdWV1aW5nU3RyYXRlZ3lC
dWlsdGlucy5jcHAgKi87IH07CiAJCTdDNEM5NkRDMUFENDQ4MzUwMDM2NUE1MSAvKiBSZWFkYWJs
ZVN0cmVhbUJ1aWx0aW5zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MSAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0
aW5zLmNwcCAqLzsgfTsKIAkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVT
dHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwICovOyB9Owog
CQk3QzRDOTZERDFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDkxQUQ0NDgzNTAw
MzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uaCAqLzsgfTsKQEAgLTc3OTQsNyArNzc5NCw2IEBA
CiAJCTE0ODEzQkYzMDlFREY4OEUwMEY3NTdFMSAvKiBJRExQYXJzZXIucG0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gSURMUGFyc2VyLnBtOyBwYXRoID0gc2NyaXB0cy9JRExQ
YXJzZXIucG07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0OEFGREEzMEFGNTgzNjAw
MDhDQzcwMCAvKiBFeGNlcHRpb25IYW5kbGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRXhjZXB0aW9uSGFuZGxlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMTQ4QUZEQTQwQUY1ODM2MDAwOENDNzAwIC8qIEV4Y2VwdGlvbkhhbmRsZXJzLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEV4Y2VwdGlvbkhhbmRsZXJzLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxNDhCNEZGNzFCNjkwNDIxMDBDOTU0RTQg
LyogSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQ4QjRGRkQxQjY5MDRBQTAwQzk1NEU0IC8qIENvdW50
UXVldWluZ1N0cmF0ZWd5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvdW50
UXVldWluZ1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0OEI0RkZG
MUI2OTA0QzUwMEM5NTRFNCAvKiBDb3VudFF1ZXVpbmdTdHJhdGVneS5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gQ291bnRRdWV1aW5nU3RyYXRlZ3kuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxNDk0N0ZGQjEyRjgwQ0QyMDBBMEY2MzEgLyogRG9jdW1lbnRPcmRlcmVkTWFw
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERvY3VtZW50T3JkZXJl
ZE1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05OTg0LDYgKzk5ODMsNyBA
QAogCQk3QzQ4QTZDRTE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYktpdE5hbWVzcGFjZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNDhBNkNGMTkxQzlENjUwMDAyNjY3NCAvKiBX
ZWJLaXROYW1lc3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0
TmFtZXNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNDhBNkQyMTkxQzlE
OEUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdE5hbWVzcGFjZS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1
MiAvKiBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTEgLyogUmVh
ZGFibGVTdHJlYW1CdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZWFkYWJsZVN0cmVhbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNEM5NkQ5MUFENDQ4MzUwMDM2NUE1MCAv
KiBKU1JlYWRhYmxlU3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
UmVhZGFibGVTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MjA5LDYg
KzE2MjA5LDcgQEAKIAkJNDFBMDIzRkExQTM5RjEzQTAwRjcyMkNGIC8qIFN0cmVhbXMgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTdDNEM5NkQ4MUFENDQ4
MzUwMDM2NUE1MiAvKiBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcCAqLywKIAkJCQk3
QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTEgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5jcHAgKi8s
CiAJCQkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwICov
LAogCQkJCTdDNEM5NkQ5MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmggKi8s
CkBAIC0yMTYyMCw3ICsyMTYyMSw2IEBACiAJCQkJNDlFRUQxNEQxMDUxOTcxQTAwMDk5RkFCIC8q
IEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8sCiAJCQkJN0MzM0YzNTgxQjRB
MDQ0ODAwNTAyQ0FGIC8qIEpTQ2hhcmFjdGVyRGF0YUN1c3RvbS5jcHAgKi8sCiAJCQkJQTU4NEZF
MzcxODY0REFDMTAwODQzQjEwIC8qIEpTQ29tbWFuZExpbmVBUElIb3N0Q3VzdG9tLmNwcCAqLywK
LQkJCQkxNDhCNEZGNzFCNjkwNDIxMDBDOTU0RTQgLyogSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1
c3RvbS5jcHAgKi8sCiAJCQkJMjA5QjQ1NkExNjc5NkE3RTAwRTU0RTRFIC8qIEpTQ3J5cHRvQ3Vz
dG9tLmNwcCAqLywKIAkJCQlFMTU3QThFNjE4MTg0QzY3MDA5RjgyMUQgLyogSlNDcnlwdG9LZXlD
dXN0b20uY3BwICovLAogCQkJCUUxRjgwQjg5MTgzMTcyQTIwMDc4ODVDMyAvKiBKU0NyeXB0b0tl
eVBhaXJDdXN0b20uY3BwICovLApAQCAtMjg4ODEsNyArMjg4ODEsNiBAQAogCQkJCTUzNkQ1QTIx
MTkzRTE4RUUwMENFNENBQiAvKiBIVE1MU3Jjc2V0UGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4NzFEQzI2MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MU3R5bGVFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTMxMEQ3MTk1MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCTE0OEI0RkY4MUI2OTA0MjEwMEM5NTRFNCAvKiBKU0NvdW50
UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQzRDRFOTcyMTMw
QzdDRkUwMDdCQTU0MCAvKiBIVE1MU3VtbWFyeUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTg3MURCMzIwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQjJFMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFi
bGVDZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5NDAyLDYgKzI5NDAxLDcgQEAK
IAkJCQkwNzc2NjRGQzE4M0U2QjVDMDAxMzNCOTIgLyogSlNRdWlja1RpbWVQbHVnaW5SZXBsYWNl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNjU4RkZBMTE1MjJFRjNBMDBERDU1OTUgLyog
SlNSYWRpb05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1REYzMjAxMDlEMUNDNjAw
MDBCRTMyNSAvKiBKU1JhbmdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDNEM5NkRDMUFENDQ4
MzUwMDM2NUE1MiAvKiBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTdDNEM5NkRDMUFENDQ4MzUwMDM2NUE1MSAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0
aW5zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNEM5NkRDMUFENDQ4MzUwMDM2NUE1MCAvKiBK
U1JlYWRhYmxlU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZDNEM5NkRFMUFENDQ4MzUw
MDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9u
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3Bw
CmluZGV4IGZmNDE1ZWQyODQwODhlMjg5NTVhNjRjMGU2MTJhODU2ZGVlZGQ5N2YuLjY2MDBmMzRh
ZTA2NWZmZTExOGMzZjI4ZjFiMGNlMTU4YjMyYmY5NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcApAQCAtMzQsOSArMzQsNiBAQAog
I2luY2x1ZGUgIkpTQXVkaW9UcmFja0N1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNBdWRpb1RyYWNr
TGlzdEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNCbG9iQ3VzdG9tLmNwcCIKLSNpZiBFTkFCTEUo
U1RSRUFNU19BUEkpCi0jaW5jbHVkZSAiSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAi
Ci0jZW5kaWYKICNpbmNsdWRlICJKU0NTU1J1bGVDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTQ1NT
UnVsZUxpc3RDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTQ1NTU3R5bGVEZWNsYXJhdGlvbkN1c3Rv
bS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NvdW50UXVl
dWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ291
bnRRdWV1aW5nU3RyYXRlZ3lDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0NjczMWE5NTkxNTI2MzAwODQ4MTRiMDhhZGYxNTFlYzg5NTllZjMyLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
NjkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBDYW5vbiBJbmMuCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTUgSWdhbGlhIFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSByZXF1aXJlZCB0byBiZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBDYW5vbiBJbmMuIG5vciB0aGUgbmFtZXMg
b2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQ0FOT04gSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIENBTk9OIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUgotICogQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0j
aWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotI2luY2x1ZGUgIkpTQ291bnRRdWV1aW5nU3RyYXRlZ3ku
aCIKLQotI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgotCi11c2luZyBuYW1lc3BhY2UgSlNDOwot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganND
b3VudFF1ZXVpbmdTdHJhdGVneVByb3RvdHlwZUZ1bmN0aW9uU2l6ZShFeGVjU3RhdGUqKQotewot
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoQ291bnRRdWV1aW5nU3RyYXRlZ3k6
OnNpemUoKSkpOwotfQotCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdEpT
Q291bnRRdWV1aW5nU3RyYXRlZ3koRXhlY1N0YXRlKiBleGVjKQotewotICAgIEpTVmFsdWUgdmFs
dWUgPSBleGVjLT5hcmd1bWVudCgwKTsKLSAgICBpZiAodmFsdWUuaXNOdWxsKCkgfHwgdmFsdWUu
aXNVbmRlZmluZWQoKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVU
eXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJjb25zdHJ1Y3RvciBhcmd1bWVudCBjYW5ub3Qg
YmUgbnVsbCBvciB1bmRlZmluZWQiKSkpOwotCi0gICAgUmVmPENvdW50UXVldWluZ1N0cmF0ZWd5
PiBjb3VudFF1ZXVpbmdTdHJhdGVneSA9IGFkb3B0UmVmKCpuZXcgQ291bnRRdWV1aW5nU3RyYXRl
Z3koKSk7Ci0gICAgSlNWYWx1ZSBqc0NvdW50UXVldWluZ1N0cmF0ZWd5ID0gQ1JFQVRFX0RPTV9X
UkFQUEVSKGpzQ2FzdDxET01Db25zdHJ1Y3Rvck9iamVjdCo+KGV4ZWMtPmNhbGxlZSgpKS0+Z2xv
YmFsT2JqZWN0KCksIENvdW50UXVldWluZ1N0cmF0ZWd5LCBjb3VudFF1ZXVpbmdTdHJhdGVneS5w
dHIoKSk7Ci0KLSAgICBpZiAoIXZhbHVlLmlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNDb3VudFF1ZXVpbmdTdHJhdGVneSk7Ci0KLSAgICBKU09iamVjdCogYXJn
dW1lbnRPYmplY3QgPSB2YWx1ZS5nZXRPYmplY3QoKTsKLSAgICBKU1ZhbHVlIGpzSGlnaFdhdGVy
TWFyayA9IGdldFByb3BlcnR5RnJvbU9iamVjdCgqZXhlYywgKmFyZ3VtZW50T2JqZWN0LCAiaGln
aFdhdGVyTWFyayIpOwotICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICBzZXRQcm9wZXJ0eVRvT2Jq
ZWN0KCpleGVjLCAqanNDb3VudFF1ZXVpbmdTdHJhdGVneS5nZXRPYmplY3QoKSwgImhpZ2hXYXRl
ck1hcmsiLCBqc0hpZ2hXYXRlck1hcmspOwotCi0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c0NvdW50UXVldWluZ1N0cmF0ZWd5KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCmluZGV4
IDVhNDFiNDY3ZTIyNTBkZDk5YzE3MWJjNjA1NDFmMmMxYzQ3NzJkOTcuLjgzYjJhYWMwMGJiNDJi
MDM5YmIyMzljZTZmNTA2NmExZjhiMzI2ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01CaW5kaW5nLmNwcApAQCAtNjQ2LDQgKzY0NiwyNCBAQCBFbmNvZGVkSlNWYWx1ZSB0
aHJvd1RoaXNUeXBlRXJyb3IoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBjb25zdCBjaGFyKiBpbnRl
cmZhY2VOYQogICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihzdGF0ZSwgbWFrZVN0cmluZygiQ2Fu
IG9ubHkgY2FsbCAiLCBpbnRlcmZhY2VOYW1lLCAnLicsIGZ1bmN0aW9uTmFtZSwgIiBvbiBpbnN0
YW5jZXMgb2YgIiwgaW50ZXJmYWNlTmFtZSkpOwogfQogCit2b2lkIGNhbGxJbml0aWFsaXplRnVu
Y3Rpb24oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFsdWUgb2JqZWN0LCBKU0M6OkpT
RnVuY3Rpb24qIGZ1bmN0aW9uKQoreworICAgIEpTQzo6Q2FsbERhdGEgY2FsbERhdGE7CisgICAg
SlNDOjpDYWxsVHlwZSBjYWxsVHlwZSA9IEpTQzo6Z2V0Q2FsbERhdGEoZnVuY3Rpb24sIGNhbGxE
YXRhKTsKKyAgICBBU1NFUlQoY2FsbFR5cGUgIT0gQ2FsbFR5cGVOb25lKTsKKworICAgIEpTQzo6
TWFya2VkQXJndW1lbnRCdWZmZXIgYXJndW1lbnRzOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBzdGF0ZS5hcmd1bWVudENvdW50KCk7ICsraSkKKyAgICAgICAgYXJndW1lbnRzLmFwcGVu
ZChzdGF0ZS5hcmd1bWVudChpKSk7CisgICAgSlNDOjpjYWxsKCZzdGF0ZSwgZnVuY3Rpb24sIGNh
bGxUeXBlLCBjYWxsRGF0YSwgb2JqZWN0LCBhcmd1bWVudHMpOworfQorCit2b2lkIERPTUNvbnN0
cnVjdG9ySlNCdWlsdGluT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQzo6SlNDZWxsKiBjZWxsLCBK
U0M6OlNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nh
c3Q8RE9NQ29uc3RydWN0b3JKU0J1aWx0aW5PYmplY3QqPihjZWxsKTsKKyAgICBBU1NFUlRfR0Nf
T0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CisgICAgQmFzZTo6dmlzaXRDaGls
ZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9pbml0aWFsaXplRnVuY3Rpb24pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDczMTJlOGQ5OGRk
YTg3MzZmOWU5MzA1NDg2ZmZiNjFkODlkNDExZGUuLmExNzc3ODA4YjBjZGIzOGNmY2Y0OWYwMzZl
NWRlYjVlMTNiMWUxODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NQmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5oCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVz
Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9UeXBlZEFycmF5SW5saW5lcy5oPgogI2luY2x1ZGUgPHJ1
bnRpbWUvVHlwZWRBcnJheXMuaD4KKyNpbmNsdWRlIDxydW50aW1lL1dyaXRlQmFycmllci5oPgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNTIsNiArNTMsNyBAQAogCiBuYW1lc3BhY2UgSlND
IHsKIGNsYXNzIEhhc2hFbnRyeTsKK2NsYXNzIEpTRnVuY3Rpb247CiB9CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTgzLDYgKzg1LDE1IEBAIEpTQzo6RW5jb2RlZEpTVmFsdWUgdGhyb3dDb25z
dHJ1Y3RvckRvY3VtZW50VW5hdmFpbGFibGVFcnJvcihKU0M6OkV4ZWNTdGF0ZSYsIGNvCiBXRUJD
T1JFX0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHRocm93R2V0dGVyVHlwZUVycm9yKEpTQzo6
RXhlY1N0YXRlJiwgY29uc3QgY2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3QgY2hhciogYXR0cmli
dXRlTmFtZSk7CiBXRUJDT1JFX0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHRocm93VGhpc1R5
cGVFcnJvcihKU0M6OkV4ZWNTdGF0ZSYsIGNvbnN0IGNoYXIqIGludGVyZmFjZU5hbWUsIGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtZSk7CiAKK3ZvaWQgY2FsbEluaXRpYWxpemVGdW5jdGlvbihKU0M6
OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSwgSlNDOjpKU0Z1bmN0aW9uKik7CisKK3RlbXBsYXRl
PHR5cGVuYW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUgRE9NQ2xhc3M+IGlubGluZSBKU0M6OkVu
Y29kZWRKU1ZhbHVlIGNyZWF0ZUZyb21KU0J1aWx0aW4oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBK
U0M6OkpTRnVuY3Rpb24qIGluaXRpYWxpemVGdW5jdGlvbiwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCkKK3sKKyAgICBKU0M6OkpTVmFsdWUgb2JqZWN0ID0gdG9KUygmc3RhdGUsICZn
bG9iYWxPYmplY3QsIERPTUNsYXNzOjpjcmVhdGUoKSk7CisgICAgY2FsbEluaXRpYWxpemVGdW5j
dGlvbihzdGF0ZSwgb2JqZWN0LCBpbml0aWFsaXplRnVuY3Rpb24pOworICAgIHJldHVybiBKU0M6
OkpTVmFsdWU6OmVuY29kZShvYmplY3QpOworfQorCiAvLyBCYXNlIGNsYXNzIGZvciBhbGwgY29u
c3RydWN0b3Igb2JqZWN0cyBpbiB0aGUgSlNDIGJpbmRpbmdzLgogY2xhc3MgRE9NQ29uc3RydWN0
b3JPYmplY3QgOiBwdWJsaWMgSlNET01XcmFwcGVyIHsKIHB1YmxpYzoKQEAgLTEwMSw2ICsxMTIs
MjEgQEAgcHJvdGVjdGVkOgogICAgIH0KIH07CiAKK2NsYXNzIERPTUNvbnN0cnVjdG9ySlNCdWls
dGluT2JqZWN0IDogcHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0IHsKK3B1YmxpYzoKKyAgICB0
eXBlZGVmIERPTUNvbnN0cnVjdG9yT2JqZWN0IEJhc2U7CisKK3Byb3RlY3RlZDoKKyAgICBET01D
b25zdHJ1Y3RvckpTQnVpbHRpbk9iamVjdChKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAgICAgICA6IERPTUNvbnN0cnVjdG9yT2Jq
ZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICB9CisKKyAgICBzdGF0aWMg
dm9pZCB2aXNpdENoaWxkcmVuKEpTQzo6SlNDZWxsKiwgSlNDOjpTbG90VmlzaXRvciYpOworCisg
ICAgSlNDOjpXcml0ZUJhcnJpZXI8SlNDOjpKU0Z1bmN0aW9uPiBtX2luaXRpYWxpemVGdW5jdGlv
bjsKK307CisKIFdFQkNPUkVfRVhQT1JUIEpTQzo6U3RydWN0dXJlKiBnZXRDYWNoZWRET01TdHJ1
Y3R1cmUoSlNET01HbG9iYWxPYmplY3QqLCBjb25zdCBKU0M6OkNsYXNzSW5mbyopOwogV0VCQ09S
RV9FWFBPUlQgSlNDOjpTdHJ1Y3R1cmUqIGNhY2hlRE9NU3RydWN0dXJlKEpTRE9NR2xvYmFsT2Jq
ZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBjb25zdCBKU0M6OkNsYXNzSW5mbyopOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggYWM4
OWFmM2I1NmNjYjY3NDFiNTQzMmI1M2IxZmJmMWYwYTA1Y2U3Ni4uNDA5NDIzZmE4YTRjYmQwZTlm
NGQxMmU5Y2ExZWM4ZGI0Y2IyZjQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaApAQCAtMjIsNiArMjIsNyBAQAogI2lmbmRlZiBXZWJD
b3JlSlNDbGllbnREYXRhX2gKICNkZWZpbmUgV2ViQ29yZUpTQ2xpZW50RGF0YV9oCiAKKyNpbmNs
dWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5oIgogI2luY2x1ZGUgIkRP
TVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVy
LmgiCiAjaW5jbHVkZSAiV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmgiCkBAIC0zNiw5ICsz
NywxMCBAQCBjbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6Vk06OkNsaWVu
dERhdGEgewogICAgIGZyaWVuZCB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEoSlNDOjpW
TSopOwogCiBwdWJsaWM6Ci0gICAgV2ViQ29yZUpTQ2xpZW50RGF0YShKU0M6OlZNJiB2bSkKKyAg
ICBleHBsaWNpdCBXZWJDb3JlSlNDbGllbnREYXRhKEpTQzo6Vk0mIHZtKQogI2lmIEVOQUJMRShT
VFJFQU1TX0FQSSkKICAgICAgICAgOiBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnMoJnZtKQorICAg
ICAgICAsIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucygmdm0pCiAjZW5kaWYKICAgICB7
CiAgICAgfQpAQCAtNzcsNiArNzksNyBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCiAgICAgUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXImIHJlYWRhYmxlU3RyZWFtQnVp
bHRpbnMoKSB7IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnM7IH0KKyAgICBDb3VudFF1
ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciYgY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlu
cygpIHsgcmV0dXJuIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsgfQogI2VuZGlmCiAK
IHByaXZhdGU6CkBAIC04NSw2ICs4OCw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoU1RSRUFN
U19BUEkpCiAgICAgUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVh
bUJ1aWx0aW5zOworICAgIENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyIG1fY291
bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAxODk1ZmFj
MTk4MDA0ZTI1YzA2NDZjMjlhODZjNmJlYzNmZDhmODUyLi5lZDRkZDE1MWRhNzkwMTc4ZTBjY2Q0
NTEwZTk5MTA5MGQyODJjMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNTQ1LDYgKzU0NSwxMiBAQCBzdWIgR2V0QXR0
cmlidXRlU2V0dGVyTmFtZQogICAgIHJldHVybiAic2V0SlMiIC4gJGludGVyZmFjZU5hbWUgLiAk
Y29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkYXR0cmlidXRlLT5zaWduYXR1cmUtPm5hbWUpIC4g
KCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLyA/ICJDb25zdHJ1
Y3RvciIgOiAiIik7CiB9CiAKK3N1YiBHZXRKU0J1aWx0aW5GdW5jdGlvbk5hbWUKK3sKKyAgICBt
eSAoJGNsYXNzTmFtZSwgJGZ1bmN0aW9uTmFtZSkgPSBAXzsKKyAgICByZXR1cm4gJGNvZGVHZW5l
cmF0b3ItPldLX2xjZmlyc3Qoc3Vic3RyICRjbGFzc05hbWUsIDIpIC4gJGNvZGVHZW5lcmF0b3It
PldLX3VjZmlyc3QoJGZ1bmN0aW9uTmFtZSkgLiAiQ29kZUdlbmVyYXRvciI7Cit9CisKIHN1YiBH
ZXRGdW5jdGlvbk5hbWUKIHsKICAgICBteSAoJGNsYXNzTmFtZSwgJGZ1bmN0aW9uKSA9IEBfOwpA
QCAtNTU1LDcgKzU2MSw3IEBAIHN1YiBHZXRGdW5jdGlvbk5hbWUKICAgICB9CiAKICAgICBpZiAo
JGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0J1aWx0aW4ifSkg
ewotICAgICAgICByZXR1cm4gJGNvZGVHZW5lcmF0b3ItPldLX2xjZmlyc3QoJHNjb3BlTmFtZSkg
LiAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZSkg
LiAiQ29kZUdlbmVyYXRvciI7CisgICAgICAgIHJldHVybiBHZXRKU0J1aWx0aW5GdW5jdGlvbk5h
bWUoJGNsYXNzTmFtZSwgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUpOwogICAgIH0KIAogICAg
IG15ICRraW5kID0gJGZ1bmN0aW9uLT5pc1N0YXRpYyA/ICJDb25zdHJ1Y3RvciIgOiAiUHJvdG90
eXBlIjsKQEAgLTc4Myw3ICs3ODksOCBAQCBzdWIgSW5zdGFuY2VOZWVkc1Zpc2l0Q2hpbGRyZW4K
ICAgICByZXR1cm4gJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tTWFy
a0Z1bmN0aW9uIn0KICAgICAgICAgfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkV2ZW50VGFyZ2V0In0KICAgICAgICAgfHwgJGludGVyZmFjZS0+bmFtZSBlcSAiRXZlbnRUYXJn
ZXQiCi0gICAgICAgIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXBvcnRF
eHRyYU1lbW9yeUNvc3QifTsKKyAgICAgICAgfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IlJlcG9ydEV4dHJhTWVtb3J5Q29zdCJ9CisgICAgICAgIHx8ICRpbnRlcmZhY2UtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJKU0J1aWx0aW5Db25zdHJ1Y3RvciJ9OwogfQogCiBzdWIgR2V0
SW1wbENsYXNzTmFtZQpAQCAtNDUzMSw2ICs0NTM4LDE2IEBAIHN1YiBHZW5lcmF0ZVByb3RvdHlw
ZURlY2xhcmF0aW9uCiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAifTtcblxuIik7CiB9CiAKK3N1
YiBHZXRQYXJlbnRDb25zdHJ1Y3RvckNsYXNzTmFtZQoreworICAgIG15ICRpbnRlcmZhY2UgPSBz
aGlmdDsKKyAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQnVpbHRp
bkNvbnN0cnVjdG9yIn0pIHsKKyAgICAgICAgcmV0dXJuICJET01Db25zdHJ1Y3RvckpTQnVpbHRp
bk9iamVjdCI7CisgICAgfQorICAgIHJldHVybiAiRE9NQ29uc3RydWN0b3JPYmplY3QiOworCit9
CisKIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVjbGFyYXRpb24KIHsKICAgICBteSAkb3V0cHV0
QXJyYXkgPSBzaGlmdDsKQEAgLTQ1MzksMTQgKzQ1NTYsMTUgQEAgc3ViIEdlbmVyYXRlQ29uc3Ry
dWN0b3JEZWNsYXJhdGlvbgogICAgIG15ICRpbnRlcmZhY2VOYW1lID0gc2hpZnQ7CiAKICAgICBt
eSAkY29uc3RydWN0b3JDbGFzc05hbWUgPSAiJHtjbGFzc05hbWV9Q29uc3RydWN0b3IiOworICAg
IG15ICRwYXJlbnRDbGFzc05hbWUgPSBHZXRQYXJlbnRDb25zdHJ1Y3RvckNsYXNzTmFtZSgkaW50
ZXJmYWNlKTsKIAotICAgIHB1c2goQCRvdXRwdXRBcnJheSwgImNsYXNzICR7Y29uc3RydWN0b3JD
bGFzc05hbWV9IDogcHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0IHtcbiIpOworICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgImNsYXNzICR7Y29uc3RydWN0b3JDbGFzc05hbWV9IDogcHVibGljICIg
LiAkcGFyZW50Q2xhc3NOYW1lIC4gIiB7XG4iKTsKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJw
cml2YXRlOlxuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICR7Y29uc3RydWN0b3JD
bGFzc05hbWV9KEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QqKTtcbiIpOwogICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBK
U0RPTUdsb2JhbE9iamVjdCopO1xuXG4iKTsKIAogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgInB1
YmxpYzpcbiIpOwotICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB0eXBlZGVmIERPTUNvbnN0
cnVjdG9yT2JqZWN0IEJhc2U7XG4iKTsKKyAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgdHlw
ZWRlZiAiIC4gJHBhcmVudENsYXNzTmFtZSAuICIgQmFzZTtcbiIpOwogICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIiAgICBzdGF0aWMgJGNvbnN0cnVjdG9yQ2xhc3NOYW1lKiBjcmVhdGUoSlNDOjpW
TSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpXG4iKTsKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAge1xuIik7CiAgICAg
cHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICAkY29uc3RydWN0b3JDbGFzc05hbWUqIHB0ciA9
IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8JGNvbnN0cnVjdG9yQ2xhc3NOYW1lPih2
bS5oZWFwKSkgJGNvbnN0cnVjdG9yQ2xhc3NOYW1lKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KTtc
biIpOwpAQCAtNDc2OCw2ICs0Nzg2LDE0IEBAIEVORAogfQogCiBFTkQKKyAgICAgICAgfSBlbHNp
ZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQnVpbHRpbkNvbnN0cnVjdG9y
In0pIHsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIkpTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCAke2NvbnN0cnVjdG9yQ2xhc3NOYW1lfTo6Y29uc3RydWN0JHtjbGFz
c05hbWV9KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSlcbiIpOworICAgICAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAie1xuIik7CisKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAg
ICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PCR7Y29uc3RydWN0b3JDbGFzc05hbWV9Kj4oc3Rh
dGUtPmNhbGxlZSgpKTtcbiIpOworICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
IHJldHVybiBjcmVhdGVGcm9tSlNCdWlsdGluPCR7Y2xhc3NOYW1lfSwgJHtpbnRlcmZhY2VOYW1l
fT4oKnN0YXRlLCBjYXN0ZWRUaGlzLT5tX2luaXRpYWxpemVGdW5jdGlvbi5nZXQoKSwgKmNhc3Rl
ZFRoaXMtPmdsb2JhbE9iamVjdCgpKTtcbiIpOworCisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICJ9XG5cbiIpOwogICAgICAgICB9IGVsc2lmICghSGFzQ3VzdG9tQ29uc3RydWN0b3Io
JGludGVyZmFjZSkgJiYgKCEkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRD
b25zdHJ1Y3RvciJ9IHx8ICRnZW5lcmF0aW5nTmFtZWRDb25zdHJ1Y3RvcikpIHsKICAgICAgICAg
ICAgIG15ICRvdmVybG9hZGVkSW5kZXhTdHJpbmcgPSAiIjsKICAgICAgICAgICAgIGlmICgkZnVu
Y3Rpb24tPntvdmVybG9hZGVkSW5kZXh9ICYmICRmdW5jdGlvbi0+e292ZXJsb2FkZWRJbmRleH0g
PiAwKSB7CkBAIC00ODgyLDcgKzQ5MDgsNiBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1Y3RvckhlbHBl
ck1ldGhvZHMKICAgICBteSAkZ2VuZXJhdGluZ05hbWVkQ29uc3RydWN0b3IgPSBzaGlmdDsKIAog
ICAgIG15ICRjb25zdHJ1Y3RvckNsYXNzTmFtZSA9ICRnZW5lcmF0aW5nTmFtZWRDb25zdHJ1Y3Rv
ciA/ICIke2NsYXNzTmFtZX1OYW1lZENvbnN0cnVjdG9yIiA6ICIke2NsYXNzTmFtZX1Db25zdHJ1
Y3RvciI7Ci0gICAgbXkgJGNvbnN0cnVjdG9yUGFyZW50Q2xhc3NOYW1lID0gJGdlbmVyYXRpbmdO
YW1lZENvbnN0cnVjdG9yID8gIkRPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50IiA6ICJET01Db25z
dHJ1Y3Rvck9iamVjdCI7CiAgICAgbXkgJGxlYXN0Q29uc3RydWN0b3JMZW5ndGggPSAwOwogICAg
IGlmICgkY29kZUdlbmVyYXRvci0+SXNDb25zdHJ1Y3RvclRlbXBsYXRlKCRpbnRlcmZhY2UsICJF
dmVudCIpKSB7CiAgICAgICAgICRsZWFzdENvbnN0cnVjdG9yTGVuZ3RoID0gMTsKQEAgLTQ5MDEs
NyArNDkyNiw3IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9ySGVscGVyTWV0aG9kcwogICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgImNvbnN0IENsYXNzSW5mbyAke2NvbnN0cnVjdG9yQ2xhc3NOYW1l
fTo6c19pbmZvID0geyBcIiR7dmlzaWJsZUludGVyZmFjZU5hbWV9Q29uc3RydWN0b3JcIiwgJkJh
c2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRSgkY29uc3RydWN0b3JDbGFzc05hbWUp
IH07XG5cbiIpOwogCiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiJHtjb25zdHJ1Y3RvckNsYXNz
TmFtZX06OiR7Y29uc3RydWN0b3JDbGFzc05hbWV9KFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KVxuIik7Ci0gICAgcHVzaChAJG91dHB1dEFycmF5
LCAiICAgIDogJHtjb25zdHJ1Y3RvclBhcmVudENsYXNzTmFtZX0oc3RydWN0dXJlLCBnbG9iYWxP
YmplY3QpXG4iKTsKKyAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgOiBCYXNlKHN0cnVjdHVy
ZSwgZ2xvYmFsT2JqZWN0KVxuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAie1xuIik7CiAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAifVxuXG4iKTsKIApAQCAtNDkzNiw2ICs0OTYxLDEyIEBA
IHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9ySGVscGVyTWV0aG9kcwogICAgICAgICBwdXNoKEAkb3V0
cHV0QXJyYXksICIgICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZtLCAke2NsYXNzTmFtZX1Db25z
dHJ1Y3RvclRhYmxlVmFsdWVzLCAqdGhpcyk7XG4iKTsKICAgICB9CiAKKyAgICBpZiAoJGludGVy
ZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQnVpbHRpbkNvbnN0cnVjdG9yIn0pIHsKKyAg
ICAgICAgbXkgJGluaXRpYWxpemVGdW5jdGlvbk5hbWUgPSBHZXRKU0J1aWx0aW5GdW5jdGlvbk5h
bWUoJHtjbGFzc05hbWV9LCAiaW5pdGlhbGl6ZSIgLiAke2ludGVyZmFjZU5hbWV9KTsKKyAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIG1faW5pdGlhbGl6ZUZ1bmN0aW9uLnNldCh2bSwg
dGhpcywgSlNDOjpKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sICR7aW5pdGlh
bGl6ZUZ1bmN0aW9uTmFtZX0odm0pLCBnbG9iYWxPYmplY3QpKTtcbiIpOworICAgIH0KKworCiAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAifVxuXG4iKTsKIAogICAgIGlmIChJc0NvbnN0cnVjdGFi
bGUoJGludGVyZmFjZSkpIHsKQEAgLTQ5OTYsNyArNTAyNyw3IEBAIHN1YiBJc0NvbnN0cnVjdGFi
bGUKIHsKICAgICBteSAkaW50ZXJmYWNlID0gc2hpZnQ7CiAKLSAgICByZXR1cm4gSGFzQ3VzdG9t
Q29uc3RydWN0b3IoJGludGVyZmFjZSkgfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkNvbnN0cnVjdG9yIn0gfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5h
bWVkQ29uc3RydWN0b3IifSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29u
c3RydWN0b3JUZW1wbGF0ZSJ9OworICAgIHJldHVybiBIYXNDdXN0b21Db25zdHJ1Y3RvcigkaW50
ZXJmYWNlKSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3Ii
fSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRDb25zdHJ1Y3RvciJ9
IHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25zdHJ1Y3RvclRlbXBsYXRl
In0gfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQnVpbHRpbkNvbnN0cnVj
dG9yIn07CiB9CiAKIHN1YiBIZWFkZXJOZWVkc1Byb3RvdHlwZURlY2xhcmF0aW9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCA1
ZTU4NDhlZWEyZDAxMDhjMjJmZGJjOWQwZDlmZTI2NDk1ZTA3OTVkLi41NjJmNzI0YmJiYjU0MmM4
ODRkYTQyZmJjMWQ3ZThmZTBkOTI1MWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTc0LDYgKzc0LDcgQEAgSW5pdGlhbGl6
ZWRCeUV2ZW50Q29uc3RydWN0b3IKIEludGVyZmFjZU5hbWU9KgogSXNXZWFrQ2FsbGJhY2sKIEpT
QnVpbHRpbgorSlNCdWlsdGluQ29uc3RydWN0b3IKIEpTQ3VzdG9tRGVmaW5lT3duUHJvcGVydHkK
IEpTQ3VzdG9tRGVmaW5lT3duUHJvcGVydHlPblByb3RvdHlwZQogSlNDdXN0b21GaW5hbGl6ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261820</attachid>
            <date>2015-09-23 05:40:17 -0700</date>
            <delta_ts>2015-09-24 00:40:49 -0700</delta_ts>
            <desc>Rebasing IDL generated files</desc>
            <filename>bug-149497-20150923143956.patch</filename>
            <type>text/plain</type>
            <size>58841</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NjZlMjY5NzBhZWFlYTNlYjFmNWExYWU5MGUxODQ4NDdkMzVmMjBkLi5jYzhjNTUwMDdlYWVlYTg2
M2I2OTg1Zjg2OTM5ZTgxMWM2NjRkMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNCBAQAogMjAxNS0wOS0yMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3Jm
LmNhbm9uLmZyPgogCisgICAgICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIEpTIGJ1
aWx0aW5zIGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDk0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5oOiBleHBvcnRpbmcgY3JlYXRlQnVpbHRp
bkZ1bmN0aW9uLgorCisyMDE1LTA5LTIzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBj
cmYuY2Fub24uZnI+CisKICAgICAgICAgW1N0cmVhbXMgQVBJXSBJbXBsZW1lbnQgUmVhZGFibGVT
dHJlYW0gcGlwZVRocm91Z2gKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0NzU1NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI0MWVhODNhYzdjMzhhZjFiNWE4ZWM4
ZTllNDIzYzBiNjE3YWExMy4uYmY5ZjNmOTFlNWMwOWVmNzBmMjJkOTBhYWJlM2M5MjUwMmZhNDk0
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDk2IEBACiAyMDE1LTA5LTIzICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CiAKKyAgICAgICAgW1N0cmVhbXMgQVBJXSBB
ZGQgc3VwcG9ydCBmb3IgSlMgYnVpbHRpbnMgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTQ5NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgTWFraW5nIENvdW50UXVldWluZ1N0cmF0ZWd5IGZ1bGx5IEpTIGJ1aWx0LWlu
IGltcGxlbWVudGVkLgorICAgICAgICBBZGRpbmcgc3VwcG9ydCBmb3IgY2FsbGluZyBhIEpTIGJ1
aWx0aW4gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24ganVzdCBhZnRlciBjcmVhdGluZyB0aGUgSlNY
WCBvYmplY3QuCisgICAgICAgIFRoaXMgSlMgZnVuY3Rpb24gbXVzdCBiZSBuYW1lZCBpbml0aWFs
aXplWFggYW5kIGJlIGluIFhYLkpzIGZpbGUuCisgICAgICAgIFRoZSBKU0J1aWx0aW5Db25zdHJ1
Y3RvciBrZXl3b3JkIGlzIGFkZGVkIHRvIHRoZSBiaW5kaW5nIGdlbmVyYXRvci4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Db3Vu
dFF1ZXVpbmdTdHJhdGVneS5oOgorICAgICAgICAoV2ViQ29yZTo6Q291bnRRdWV1aW5nU3RyYXRl
Z3k6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb3VudFF1ZXVpbmdTdHJhdGVneTo6fkNv
dW50UXVldWluZ1N0cmF0ZWd5KToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1
aW5nU3RyYXRlZ3kuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdT
dHJhdGVneS5qczogQWRkZWQuCisgICAgICAgIChzaXplKToKKyAgICAgICAgKGluaXRpYWxpemVD
b3VudFF1ZXVpbmdTdHJhdGVneSk6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAg
ICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbGxJ
bml0aWFsaXplRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NQ29uc3RydWN0b3JKU0J1
aWx0aW5PYmplY3Q6OnZpc2l0Q2hpbGRyZW4pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9N
QmluZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRnJvbUpTQnVpbHRpbik6CisgICAg
ICAgIChXZWJDb3JlOjpET01Db25zdHJ1Y3RvckpTQnVpbHRpbk9iamVjdDo6RE9NQ29uc3RydWN0
b3JKU0J1aWx0aW5PYmplY3QpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVu
dERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OldlYkNvcmVK
U0NsaWVudERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUpTQ2xpZW50RGF0YTo6Y291
bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZXRKU0J1aWx0aW5GdW5jdGlvbk5hbWUpOgor
ICAgICAgICAoR2V0RnVuY3Rpb25OYW1lKToKKyAgICAgICAgKEluc3RhbmNlTmVlZHNWaXNpdENo
aWxkcmVuKToKKyAgICAgICAgKEdldFBhcmVudENvbnN0cnVjdG9yQ2xhc3NOYW1lKToKKyAgICAg
ICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWNsYXJhdGlvbik6CisgICAgICAgIChHZW5lcmF0ZUNv
bnN0cnVjdG9yRGVmaW5pdGlvbik6CisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9ySGVscGVy
TWV0aG9kcyk6CisgICAgICAgIChJc0NvbnN0cnVjdGFibGUpOgorICAgICAgICAoQ29uc3RydWN0
b3JIYXNQcm9wZXJ0aWVzKTogRGVsZXRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMudHh0OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RBY3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0QWN0aXZlRE9N
T2JqZWN0Q29uc3RydWN0b3I6OkpTVGVzdEFjdGl2ZURPTU9iamVjdENvbnN0cnVjdG9yKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2tDb25zdHJ1Y3Rvcjo6SlNUZXN0Q2FsbGJhY2tD
b25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1
c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Q29uc3RydWN0
b3I6OkpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Q29uc3RydWN0
b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1l
ZEdldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDdXN0b21OYW1lZEdldHRlckNv
bnN0cnVjdG9yOjpKU1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OkpTVGVz
dEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVz
dEV2ZW50VGFyZ2V0Q29uc3RydWN0b3I6OkpTVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3IpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RXhjZXB0aW9uQ29uc3RydWN0b3I6OkpTVGVzdEV4Y2Vw
dGlvbkNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RHZW5l
cmF0ZUlzUmVhY2hhYmxlQ29uc3RydWN0b3I6OkpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDb25z
dHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVy
ZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6
SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rvcjo6SlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OkpTVGVzdE5hbWVkQ29uc3RydWN0b3JD
b25zdHJ1Y3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZENvbnN0cnVjdG9yTmFt
ZWRDb25zdHJ1Y3Rvcjo6SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3IpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTVGVzdE5vZGVDb25zdHJ1Y3Rvcjo6SlNUZXN0Tm9kZUNvbnN0cnVjdG9y
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5p
c3RpYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROb25kZXRlcm1pbmlzdGljQ29uc3Ry
dWN0b3I6OkpTVGVzdE5vbmRldGVybWluaXN0aWNDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6SlNUZXN0T2JqQ29uc3RydWN0b3IpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rv
cjo6SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3RPdmVycmlkZUJ1aWx0aW5zQ29uc3RydWN0b3I6OkpTVGVzdE92
ZXJyaWRlQnVpbHRpbnNDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3Rv
cjo6SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3IpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yOjpKU1Rlc3RUeXBlZGVmc0Nv
bnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNhdHRyaWJ1dGVDb25zdHJ1Y3Rvcjo6SlNhdHRy
aWJ1dGVDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
cmVhZG9ubHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNyZWFkb25seUNvbnN0cnVjdG9yOjpK
U3JlYWRvbmx5Q29uc3RydWN0b3IpOgorCisyMDE1LTA5LTIzICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKICAgICAgICAgW1N0cmVhbXMgQVBJXSBJbXBsZW1l
bnQgUmVhZGFibGVTdHJlYW0gcGlwZVRocm91Z2gKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzU1NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uLmgKaW5kZXggZjg3YzMxZjg1MjgyZjdkNzhjMjZhYjg5ZjZiMDBmMzg5
YTcxYTg3OS4uMjc0NDY5M2I1MGU3OTk2ZTc3ZGQ2NDRkYzA4NmU3Y2ExMmNjMThkZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApAQCAtNzUsNyArNzUsNyBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIEpTRnVuY3Rpb24qIGNyZWF0ZShWTSYsIFdlYkFzc2VtYmx5
RXhlY3V0YWJsZSosIEpTU2NvcGUqKTsKICNlbmRpZgogCi0gICAgc3RhdGljIEpTRnVuY3Rpb24q
IGNyZWF0ZUJ1aWx0aW5GdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTR2xvYmFs
T2JqZWN0Kik7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIEpTRnVuY3Rpb24qIGNyZWF0
ZUJ1aWx0aW5GdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTR2xvYmFsT2JqZWN0
Kik7CiAgICAgc3RhdGljIEpTRnVuY3Rpb24qIGNyZWF0ZUJ1aWx0aW5GdW5jdGlvbihWTSYsIEZ1
bmN0aW9uRXhlY3V0YWJsZSosIEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJiBuYW1lKTsK
IAogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cmluZyBuYW1lKEV4ZWNTdGF0ZSopOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAppbmRleCBmNTkwNjVkOWZmYmY3MjAwZjc4NzY4YmM2MjE0YjViNGNlZTU4ZTQw
Li41ODYzZWE0Y2M5ZDE4ZDZjZDg0ZDhkY2U2ZThkNDEyZTFhMDRjMjRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dApAQCAtMTA5OSw3ICsxMDk5LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGJp
bmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU0NoYXJhY3RlckRhdGFDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNDb21tYW5k
TGluZUFQSUhvc3RDdXN0b20uY3BwCi0gICAgYmluZGluZ3MvanMvSlNDb3VudFF1ZXVpbmdTdHJh
dGVneUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIu
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNDcnlwdG9BbGdvcml0aG1EaWN0aW9uYXJ5LmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTQ3J5cHRvQ3VzdG9tLmNwcApAQCAtMzMzOSw2ICszMzM4LDcgQEAgc2V0
KElETF9BVFRSSUJVVEVTX0ZJTEUgJHtXRUJDT1JFX0RJUn0vYmluZGluZ3Mvc2NyaXB0cy9JRExB
dHRyaWJ1dGVzLnR4dCkKIAogc2V0KFdFQkNPUkVfSlNfQlVJTFRJTlMKICAgICAke1dFQkNPUkVf
RElSfS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKKyAgICAke1dFQkNPUkVfRElS
fS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMKICkKIAogV0VCS0lUX0lO
Q0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
aW5kZXggNTUwODQyMTVjNWNkYzMzZGY0YzMwZTY0NGJiYjdjYzhiMzZjZTIzMi4uNWNhYjhlMjRk
ZDU0MTc2YzkzMzcwZDYyMGM2YTQ4Y2YyNjdjOWFiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4
dC5jcHAiCiAjaW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIgogI2lmIEVO
QUJMRShTVFJFQU1TX0FQSSkKKyNpbmNsdWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5z
LmNwcCIKICNpbmNsdWRlICJKU0NvdW50UXVldWluZ1N0cmF0ZWd5LmNwcCIKICNlbmRpZgogI2lm
IEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDMyNGE1NWZk
YjcwMGMyOGMxNjA2MGM3YmIzYTI0MmYxM2NlYmU5M2YuLjMxZTE4Y2UwZDJiMzI3NWU5NTA0MzQ5
ZWI0YmFmMTU5ZmZkYzVlZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTI1
MCw3ICsxMjUwLDkgQEAgV2ViUmVwbGF5SW5wdXRzLmggOiAkKElOUFVUX0dFTkVSQVRPUl9TUEVD
SUZJQ0FUSU9OUykgJChJTlBVVF9HRU5FUkFUT1JfU0NSSVBUUykKICMgV2ViQ29yZSBKUyBCdWls
dGlucwogCiBXRUJDT1JFX0pTX0JVSUxUSU5TID0gXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW0uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL0NvdW50
UXVldWluZ1N0cmF0ZWd5LmpzIFwKKyMKIAogYWxsIDogJChXRUJDT1JFX0pTX0JVSUxUSU5TOiUu
anM9JUJ1aWx0aW5zLmNwcCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuaAppbmRleCA2N2JlMWM4ZjgwM2Q3ZWE1YjcwZGRi
NWJiMzNiMmM2ZDNhZWY4MjcwLi5kOWRkYjI1OTNiMjFjMGQ5NWI0MmJiODRhZWM5N2YxMzdlYjBh
M2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1
aW5nU3RyYXRlZ3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRR
dWV1aW5nU3RyYXRlZ3kuaApAQCAtMzMsMTYgKzMzLDE1IEBACiAjaWYgRU5BQkxFKFNUUkVBTVNf
QVBJKQogCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotLy8gQ291bnRRdWV1aW5nU3RyYXRlZ3kgaW1w
bGVtZW50cyBhIHN0cmF0ZWd5IGZvciBzdHJlYW1zIHRoYXQgY291bnRzIGNodW5rcyBvbmUgYnkg
b25lIGFjY29yZGluZyB0byB0aGUgc3BlYy4gU2VlCi0vLyBodHRwczovL3N0cmVhbXMuc3BlYy53
aGF0d2cub3JnLyNjcXMtY2xhc3MKIGNsYXNzIENvdW50UXVldWluZ1N0cmF0ZWd5IDogcHVibGlj
IFJlZkNvdW50ZWQ8Q291bnRRdWV1aW5nU3RyYXRlZ3k+IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFs
IH5Db3VudFF1ZXVpbmdTdHJhdGVneSgpIHsgfQorICAgIHN0YXRpYyBSZWZQdHI8Q291bnRRdWV1
aW5nU3RyYXRlZ3k+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ291bnRRdWV1aW5n
U3RyYXRlZ3koKSk7IH0KIAotICAgIGlubGluZSBzdGF0aWMgaW50IHNpemUoKSB7IHJldHVybiAx
OyB9CisgICAgdmlydHVhbCB+Q291bnRRdWV1aW5nU3RyYXRlZ3koKSB7IH0KIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJh
dGVneS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3Ry
YXRlZ3kuaWRsCmluZGV4IDIzNGRkYTk5ZDUxMjM0ZTFlZDg5MGQxMmI0MWYyMWU2OWY2OGI4MDEu
LjAxZWI3MDNiNDExZTJmNmI5YjBlZmUyYjM0MjA2NTI3OGY4ZmYyN2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5Lmlk
bApAQCAtMjgsOCArMjgsOCBAQAogICovCiAKIFsKLSAgICBDdXN0b21Db25zdHJ1Y3Rvcihhbnkg
cHJvcGVydGllcyksCisgICAgSlNCdWlsdGluQ29uc3RydWN0b3IsCiAgICAgQ29uZGl0aW9uYWw9
U1RSRUFNU19BUEksCiBdIGludGVyZmFjZSBDb3VudFF1ZXVpbmdTdHJhdGVneSB7Ci0gICAgW0N1
c3RvbUJpbmRpbmddIGRvdWJsZSBzaXplKCk7CisgICAgW0pTQnVpbHRpbl0gZG91YmxlIHNpemUo
KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRR
dWV1aW5nU3RyYXRlZ3kuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRR
dWV1aW5nU3RyYXRlZ3kuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTExNzM3ZDBjZTVlZGExMWYxNmU3NzhkYTFh
M2RmMWNmYzg5YjAwZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcwpAQCAtMCwwICsxLDQzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE1IENhbm9uIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworZnVuY3Rpb24gc2l6ZSgpCit7CisgICAgInVzZSBzdHJpY3QiOwor
CisgICAgcmV0dXJuIDE7Cit9CisKK2Z1bmN0aW9uIGluaXRpYWxpemVDb3VudFF1ZXVpbmdTdHJh
dGVneShwYXJhbWV0ZXJzKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eSh0aGlzLCAiaGlnaFdhdGVyTWFyayIsIHsKKyAgICAgICAgdmFsdWU6IHBhcmFt
ZXRlcnMuaGlnaFdhdGVyTWFyaywKKyAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgICAg
ICBlbnVtZXJhYmxlOiB0cnVlLAorICAgICAgICB3cml0YWJsZTogdHJ1ZQorICAgIH0pOworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXgg
NmM1NTBlMmUyMWVlZjEwNjBhZDdmZWIwNDUyN2UwMjdhYzY0NTFiNC4uNTg3MzhlYTBlZWZjYzM1
OTQ5ODk0MGMyM2MzZDJjY2VlZTBkN2NkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0zOTQ2LDYgKzM5NDYsMjAgQEAKICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENv
bXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
Q291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucy5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98
eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNo
aXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFJlYWRhYmxlU3RyZWFtQnVp
bHRpbnMuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
QEAgLTE3Mzc2LDIwICsxNzM5MCw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAi
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0g
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0g
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
IDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcRE9N
V3JhcHBlcldvcmxkLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggNmRkMzc5OWFkNWM2Mzk1NzNjZjdiNjg0M2NkOGRjZGIx
NTc4NjJlYS4uYWYwNThlMWYwZGMzYjVlZjg3ZDc3MmFiYTUwOGExMmUzYzU1N2YyYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycwpAQCAtNDI0NSw5ICs0MjQ1LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGJpbmRpbmdzXGpzXEpTQ29tbWFuZExpbmVBUElIb3N0Q3VzdG9tLmNwcCI+CiAgICAgICA8Rmls
dGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNw
cCI+Ci0gICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0NTU1J1bGVDdXN0b20u
Y3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGls
ZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA4MjQxNmIyN2YwNTViMjEyMmRlODY0ZDdmOWJhYzNlNzhkZTFmNzM1Li5iYmFiNzdk
M2U2ZDAzMjgyMWJkYjdhYTZjNjRiMDg3ZDQ0ZTMwZTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MTksNyArNjE5LDYgQEAK
IAkJMTQ3OUZBRjQxMDlBRTM3NTAwREVENjU1IC8qIFJlbmRlclJ1YnlUZXh0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDc5RkFFQzEwOUFFMzc1MDBE
RUQ2NTUgLyogUmVuZGVyUnVieVRleHQuaCAqLzsgfTsKIAkJMTQ4QUZEQTUwQUY1ODM2MDAwOEND
NzAwIC8qIEV4Y2VwdGlvbkhhbmRsZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNDhBRkRBMzBBRjU4MzYwMDA4Q0M3MDAgLyogRXhjZXB0aW9uSGFu
ZGxlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkxNDhBRkRBNjBBRjU4MzYwMDA4Q0M3MDAgLyogRXhjZXB0aW9uSGFuZGxlcnMubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDhBRkRBNDBBRjU4MzYw
MDA4Q0M3MDAgLyogRXhjZXB0aW9uSGFuZGxlcnMubW0gKi87IH07Ci0JCTE0OEI0RkY4MUI2OTA0
MjEwMEM5NTRFNCAvKiBKU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0OEI0RkY3MUI2OTA0MjEwMEM5
NTRFNCAvKiBKU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCAqLzsgfTsKIAkJMTQ4QjRG
RkUxQjY5MDRBQTAwQzk1NEU0IC8qIENvdW50UXVldWluZ1N0cmF0ZWd5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDhCNEZGRDFCNjkwNEFBMDBDOTU0
RTQgLyogQ291bnRRdWV1aW5nU3RyYXRlZ3kuaCAqLzsgfTsKIAkJMTQ5NDdGRkQxMkY4MENEMjAw
QTBGNjMxIC8qIERvY3VtZW50T3JkZXJlZE1hcC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDk0N0ZGQjEyRjgwQ0QyMDBBMEY2MzEgLyogRG9jdW1l
bnRPcmRlcmVkTWFwLmNwcCAqLzsgfTsKIAkJMTQ5NDdGRkUxMkY4MENEMjAwQTBGNjMxIC8qIERv
Y3VtZW50T3JkZXJlZE1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTQ5NDdGRkMxMkY4MENEMjAwQTBGNjMxIC8qIERvY3VtZW50T3JkZXJlZE1hcC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yNTk1
LDYgKzI1OTQsNyBAQAogCQk3QzQ4QTZEMDE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNw
YWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
NDhBNkNFMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuY3BwICovOyB9OwogCQk3
QzQ4QTZEMTE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzQ4QTZDRjE5MUM5RDY1MDAwMjY2
NzQgLyogV2ViS2l0TmFtZXNwYWNlLmggKi87IH07CiAJCTdDNDkwMkEyMThCODI1RjgwMDdEOTI5
OCAvKiBET01XaGVlbEV2ZW50SW50ZXJuYWwuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTg5RENBMEFDQzhCQkQwMEEwQkM1
MSAvKiBET01XaGVlbEV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJN0M0Qzk2REMxQUQ0NDgzNTAw
MzY1QTUyIC8qIENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUy
IC8qIENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwICovOyB9OwogCQk3QzRDOTZEQzFB
RDQ0ODM1MDAzNjVBNTEgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzRDOTZEODFBRDQ0ODM1MDAzNjVB
NTEgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5jcHAgKi87IH07CiAJCTdDNEM5NkRDMUFENDQ4
MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1Jl
YWRhYmxlU3RyZWFtLmNwcCAqLzsgfTsKIAkJN0M0Qzk2REQxQUQ0NDgzNTAwMzY1QTUwIC8qIEpT
UmVhZGFibGVTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdDNEM5NkQ5MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmggKi87
IH07CkBAIC03Nzk0LDcgKzc3OTQsNiBAQAogCQkxNDgxM0JGMzA5RURGODhFMDBGNzU3RTEgLyog
SURMUGFyc2VyLnBtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IElETFBhcnNl
ci5wbTsgcGF0aCA9IHNjcmlwdHMvSURMUGFyc2VyLnBtOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxNDhBRkRBMzBBRjU4MzYwMDA4Q0M3MDAgLyogRXhjZXB0aW9uSGFuZGxlcnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4Y2VwdGlvbkhhbmRsZXJzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0OEFGREE0MEFGNTgzNjAwMDhDQzcwMCAvKiBF
eGNlcHRpb25IYW5kbGVycy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBFeGNlcHRpb25IYW5kbGVycy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
MTQ4QjRGRjcxQjY5MDQyMTAwQzk1NEU0IC8qIEpTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDb3VudFF1ZXVpbmdT
dHJhdGVneUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0OEI0RkZE
MUI2OTA0QUEwMEM5NTRFNCAvKiBDb3VudFF1ZXVpbmdTdHJhdGVneS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDb3VudFF1ZXVpbmdTdHJhdGVneS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxNDhCNEZGRjFCNjkwNEM1MDBDOTU0RTQgLyogQ291bnRRdWV1aW5n
U3RyYXRlZ3kuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENvdW50UXVldWluZ1N0cmF0ZWd5
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQ5NDdGRkIxMkY4MENEMjAwQTBG
NjMxIC8qIERvY3VtZW50T3JkZXJlZE1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBEb2N1bWVudE9yZGVyZWRNYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtOTk4NCw2ICs5OTgzLDcgQEAKIAkJN0M0OEE2Q0UxOTFDOUQ2NTAwMDI2Njc0IC8q
IFdlYktpdE5hbWVzcGFjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJLaXROYW1lc3BhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzQ4
QTZDRjE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdE5hbWVzcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3QzQ4QTZEMjE5MUM5RDhFMDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBXZWJLaXROYW1lc3BhY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTIgLyogQ291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlu
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb3VudFF1ZXVpbmdT
dHJhdGVneUJ1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0Qzk2
RDgxQUQ0NDgzNTAwMzY1QTUxIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVhZGFibGVTdHJlYW1CdWlsdGlucy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MCAv
KiBKU1JlYWRhYmxlU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTUmVhZGFibGVTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
QzRDOTZEOTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNjIwOSw2ICsxNjIwOSw3IEBACiAJCTQxQTAyM0ZBMUEzOUYxM0Ew
MEY3MjJDRiAvKiBTdHJlYW1zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKKwkJCQk3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTIgLyogQ291bnRRdWV1aW5nU3RyYXRl
Z3lCdWlsdGlucy5jcHAgKi8sCiAJCQkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUxIC8qIFJlYWRh
YmxlU3RyZWFtQnVpbHRpbnMuY3BwICovLAogCQkJCTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MCAv
KiBKU1JlYWRhYmxlU3RyZWFtLmNwcCAqLywKIAkJCQk3QzRDOTZEOTFBRDQ0ODM1MDAzNjVBNTAg
LyogSlNSZWFkYWJsZVN0cmVhbS5oICovLApAQCAtMjE2MjAsNyArMjE2MjEsNiBAQAogCQkJCTQ5
RUVEMTREMTA1MTk3MUEwMDA5OUZBQiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20u
Y3BwICovLAogCQkJCTdDMzNGMzU4MUI0QTA0NDgwMDUwMkNBRiAvKiBKU0NoYXJhY3RlckRhdGFD
dXN0b20uY3BwICovLAogCQkJCUE1ODRGRTM3MTg2NERBQzEwMDg0M0IxMCAvKiBKU0NvbW1hbmRM
aW5lQVBJSG9zdEN1c3RvbS5jcHAgKi8sCi0JCQkJMTQ4QjRGRjcxQjY5MDQyMTAwQzk1NEU0IC8q
IEpTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0b20uY3BwICovLAogCQkJCTIwOUI0NTZBMTY3OTZB
N0UwMEU1NEU0RSAvKiBKU0NyeXB0b0N1c3RvbS5jcHAgKi8sCiAJCQkJRTE1N0E4RTYxODE4NEM2
NzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5Q3VzdG9tLmNwcCAqLywKIAkJCQlFMUY4MEI4OTE4MzE3
MkEyMDA3ODg1QzMgLyogSlNDcnlwdG9LZXlQYWlyQ3VzdG9tLmNwcCAqLywKQEAgLTI4ODgxLDcg
KzI4ODgxLDYgQEAKIAkJCQk1MzZENUEyMTE5M0UxOEVFMDBDRTRDQUIgLyogSFRNTFNyY3NldFBh
cnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxREMyNjBBMTUyMDU3MDBCMTJBNjggLyog
SFRNTFN0eWxlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTBENzE5NTFCMzM1QzlE
MDA5QzdCNzMgLyogVGhlbWVDb2NvYS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxNDhCNEZGODFC
NjkwNDIxMDBDOTU0RTQgLyogSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlEM0Q0RTk3MjEzMEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQjMyMEExNTBCRDYwMEIxMkE2OCAvKiBI
VE1MVGFibGVDYXB0aW9uRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxREIyRTBB
MTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ2VsbEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0yOTQwMiw2ICsyOTQwMSw3IEBACiAJCQkJMDc3NjY0RkMxODNFNkI1QzAwMTMzQjkyIC8q
IEpTUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjY1
OEZGQTExNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk2NURGMzIwMTA5RDFDQzYwMDAwQkUzMjUgLyogSlNSYW5nZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTIgLyogQ291bnRRdWV1aW5nU3RyYXRl
Z3lCdWlsdGlucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVB
NTEgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzRD
OTZEQzFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk2QzRDOTZERTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbUNvbnRy
b2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAppbmRleCBmZjQxNWVkMjg0MDg4ZTI4OTU1YTY0YzBl
NjEyYTg1NmRlZWRkOTdmLi42NjAwZjM0YWUwNjVmZmUxMThjM2YyOGYxYjBjZTE1OGIzMmJmOTVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5P
bmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9u
ZS5jcHAKQEAgLTM0LDkgKzM0LDYgQEAKICNpbmNsdWRlICJKU0F1ZGlvVHJhY2tDdXN0b20uY3Bw
IgogI2luY2x1ZGUgIkpTQXVkaW9UcmFja0xpc3RDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTQmxv
YkN1c3RvbS5jcHAiCi0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotI2luY2x1ZGUgIkpTQ291bnRR
dWV1aW5nU3RyYXRlZ3lDdXN0b20uY3BwIgotI2VuZGlmCiAjaW5jbHVkZSAiSlNDU1NSdWxlQ3Vz
dG9tLmNwcCIKICNpbmNsdWRlICJKU0NTU1J1bGVMaXN0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJK
U0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY3MzFhOTU5MTUyNjMwMDg0ODE0YjA4YWRmMTUx
ZWM4OTU5ZWYzMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9t
LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTUgQ2Fub24gSW5jLgotICogQ29weXJpZ2h0IChDKSAyMDE1IElnYWxpYSBTLkwuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgcmVxdWlyZWQgdG8gYmUgbWV0Ogot
ICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2Yg
Q2Fub24gSW5jLiBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIENBTk9OIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5PTiBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAq
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSNpbmNsdWRl
ICJKU0NvdW50UXVldWluZ1N0cmF0ZWd5LmgiCi0KLSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIK
LQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1FbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzQ291bnRRdWV1aW5nU3RyYXRlZ3lQcm90b3R5cGVGdW5j
dGlvblNpemUoRXhlY1N0YXRlKikKLXsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVt
YmVyKENvdW50UXVldWluZ1N0cmF0ZWd5OjpzaXplKCkpKTsKLX0KLQotRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RKU0NvdW50UXVldWluZ1N0cmF0ZWd5KEV4ZWNTdGF0ZSog
ZXhlYykKLXsKLSAgICBKU1ZhbHVlIHZhbHVlID0gZXhlYy0+YXJndW1lbnQoMCk7Ci0gICAgaWYg
KHZhbHVlLmlzTnVsbCgpIHx8IHZhbHVlLmlzVW5kZWZpbmVkKCkpCi0gICAgICAgIHJldHVybiB0
aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiY29u
c3RydWN0b3IgYXJndW1lbnQgY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkIikpKTsKLQotICAg
IFJlZjxDb3VudFF1ZXVpbmdTdHJhdGVneT4gY291bnRRdWV1aW5nU3RyYXRlZ3kgPSBhZG9wdFJl
ZigqbmV3IENvdW50UXVldWluZ1N0cmF0ZWd5KCkpOwotICAgIEpTVmFsdWUganNDb3VudFF1ZXVp
bmdTdHJhdGVneSA9IENSRUFURV9ET01fV1JBUFBFUihqc0Nhc3Q8RE9NQ29uc3RydWN0b3JPYmpl
Y3QqPihleGVjLT5jYWxsZWUoKSktPmdsb2JhbE9iamVjdCgpLCBDb3VudFF1ZXVpbmdTdHJhdGVn
eSwgY291bnRRdWV1aW5nU3RyYXRlZ3kucHRyKCkpOwotCi0gICAgaWYgKCF2YWx1ZS5pc09iamVj
dCgpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQ291bnRRdWV1aW5nU3RyYXRl
Z3kpOwotCi0gICAgSlNPYmplY3QqIGFyZ3VtZW50T2JqZWN0ID0gdmFsdWUuZ2V0T2JqZWN0KCk7
Ci0gICAgSlNWYWx1ZSBqc0hpZ2hXYXRlck1hcmsgPSBnZXRQcm9wZXJ0eUZyb21PYmplY3QoKmV4
ZWMsICphcmd1bWVudE9iamVjdCwgImhpZ2hXYXRlck1hcmsiKTsKLSAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7Ci0gICAgc2V0UHJvcGVydHlUb09iamVjdCgqZXhlYywgKmpzQ291bnRRdWV1aW5nU3RyYXRl
Z3kuZ2V0T2JqZWN0KCksICJoaWdoV2F0ZXJNYXJrIiwganNIaWdoV2F0ZXJNYXJrKTsKLQotICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNDb3VudFF1ZXVpbmdTdHJhdGVneSk7Ci19Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01CaW5kaW5nLmNwcAppbmRleCA1YTQxYjQ2N2UyMjUwZGQ5OWMxNzFiYzYwNTQxZjJj
MWM0NzcyZDk3Li44M2IyYWFjMDBiYjQyYjAzOWJiMjM5Y2U2ZjUwNjZhMWY4YjMyNmZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTY0Niw0ICs2
NDYsMjQgQEAgRW5jb2RlZEpTVmFsdWUgdGhyb3dUaGlzVHlwZUVycm9yKEpTQzo6RXhlY1N0YXRl
JiBzdGF0ZSwgY29uc3QgY2hhciogaW50ZXJmYWNlTmEKICAgICByZXR1cm4gdGhyb3dUeXBlRXJy
b3Ioc3RhdGUsIG1ha2VTdHJpbmcoIkNhbiBvbmx5IGNhbGwgIiwgaW50ZXJmYWNlTmFtZSwgJy4n
LCBmdW5jdGlvbk5hbWUsICIgb24gaW5zdGFuY2VzIG9mICIsIGludGVyZmFjZU5hbWUpKTsKIH0K
IAordm9pZCBjYWxsSW5pdGlhbGl6ZUZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlND
OjpKU1ZhbHVlIG9iamVjdCwgSlNDOjpKU0Z1bmN0aW9uKiBmdW5jdGlvbikKK3sKKyAgICBKU0M6
OkNhbGxEYXRhIGNhbGxEYXRhOworICAgIEpTQzo6Q2FsbFR5cGUgY2FsbFR5cGUgPSBKU0M6Omdl
dENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CisgICAgQVNTRVJUKGNhbGxUeXBlICE9IENh
bGxUeXBlTm9uZSk7CisKKyAgICBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3VtZW50czsK
KyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc3RhdGUuYXJndW1lbnRDb3VudCgpOyArK2kp
CisgICAgICAgIGFyZ3VtZW50cy5hcHBlbmQoc3RhdGUuYXJndW1lbnQoaSkpOworICAgIEpTQzo6
Y2FsbCgmc3RhdGUsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIG9iamVjdCwgYXJndW1l
bnRzKTsKK30KKwordm9pZCBET01Db25zdHJ1Y3RvckpTQnVpbHRpbk9iamVjdDo6dmlzaXRDaGls
ZHJlbihKU0M6OkpTQ2VsbCogY2VsbCwgSlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAg
ICBhdXRvKiB0aGlzT2JqZWN0ID0ganNDYXN0PERPTUNvbnN0cnVjdG9ySlNCdWlsdGluT2JqZWN0
Kj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZv
KCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7CisgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1faW5pdGlhbGl6ZUZ1bmN0aW9uKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJp
bmRpbmcuaAppbmRleCA3MzEyZThkOThkZGE4NzM2ZjllOTMwNTQ4NmZmYjYxZDg5ZDQxMWRlLi5j
NGNmM2Y1ZWNjYmZiOTIwZDlmYWIyYmUwMWY2YTJlZGVhZTYxN2RmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUg
PHJ1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvVHlwZWRBcnJh
eUlubGluZXMuaD4KICNpbmNsdWRlIDxydW50aW1lL1R5cGVkQXJyYXlzLmg+CisjaW5jbHVkZSA8
cnVudGltZS9Xcml0ZUJhcnJpZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1
ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTUyLDYg
KzUzLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBIYXNoRW50cnk7CitjbGFzcyBKU0Z1
bmN0aW9uOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04Myw2ICs4NSwxNSBAQCBKU0M6
OkVuY29kZWRKU1ZhbHVlIHRocm93Q29uc3RydWN0b3JEb2N1bWVudFVuYXZhaWxhYmxlRXJyb3Io
SlNDOjpFeGVjU3RhdGUmLCBjbwogV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1ZSB0
aHJvd0dldHRlclR5cGVFcnJvcihKU0M6OkV4ZWNTdGF0ZSYsIGNvbnN0IGNoYXIqIGludGVyZmFj
ZU5hbWUsIGNvbnN0IGNoYXIqIGF0dHJpYnV0ZU5hbWUpOwogV0VCQ09SRV9FWFBPUlQgSlNDOjpF
bmNvZGVkSlNWYWx1ZSB0aHJvd1RoaXNUeXBlRXJyb3IoSlNDOjpFeGVjU3RhdGUmLCBjb25zdCBj
aGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpOwogCit2b2lkIGNh
bGxJbml0aWFsaXplRnVuY3Rpb24oSlNDOjpFeGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNGdW5jdGlvbiopOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3MsIHR5cGVuYW1l
IERPTUNsYXNzPiBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBjcmVhdGVGcm9tSlNCdWlsdGlu
KEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOjpKU0Z1bmN0aW9uKiBpbml0aWFsaXplRnVuY3Rp
b24sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit7CisgICAgSlNDOjpKU1ZhbHVl
IG9iamVjdCA9IHRvSlMoJnN0YXRlLCAmZ2xvYmFsT2JqZWN0LCBET01DbGFzczo6Y3JlYXRlKCkp
OworICAgIGNhbGxJbml0aWFsaXplRnVuY3Rpb24oc3RhdGUsIG9iamVjdCwgaW5pdGlhbGl6ZUZ1
bmN0aW9uKTsKKyAgICByZXR1cm4gSlNDOjpKU1ZhbHVlOjplbmNvZGUob2JqZWN0KTsKK30KKwog
Ly8gQmFzZSBjbGFzcyBmb3IgYWxsIGNvbnN0cnVjdG9yIG9iamVjdHMgaW4gdGhlIEpTQyBiaW5k
aW5ncy4KIGNsYXNzIERPTUNvbnN0cnVjdG9yT2JqZWN0IDogcHVibGljIEpTRE9NV3JhcHBlciB7
CiBwdWJsaWM6CkBAIC0xMDEsNiArMTEyLDE5IEBAIHByb3RlY3RlZDoKICAgICB9CiB9OwogCitj
bGFzcyBET01Db25zdHJ1Y3RvckpTQnVpbHRpbk9iamVjdCA6IHB1YmxpYyBET01Db25zdHJ1Y3Rv
ck9iamVjdCB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBET01Db25zdHJ1Y3Rvck9iamVjdCBCYXNl
OworCitwcm90ZWN0ZWQ6CisgICAgRE9NQ29uc3RydWN0b3JKU0J1aWx0aW5PYmplY3QoSlNDOjpT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKKyAg
ICAgICAgOiBET01Db25zdHJ1Y3Rvck9iamVjdChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkgeyB9
CisKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQzo6SlNDZWxsKiwgSlNDOjpTbG90
VmlzaXRvciYpOworCisgICAgSlNDOjpXcml0ZUJhcnJpZXI8SlNDOjpKU0Z1bmN0aW9uPiBtX2lu
aXRpYWxpemVGdW5jdGlvbjsKK307CisKIFdFQkNPUkVfRVhQT1JUIEpTQzo6U3RydWN0dXJlKiBn
ZXRDYWNoZWRET01TdHJ1Y3R1cmUoSlNET01HbG9iYWxPYmplY3QqLCBjb25zdCBKU0M6OkNsYXNz
SW5mbyopOwogV0VCQ09SRV9FWFBPUlQgSlNDOjpTdHJ1Y3R1cmUqIGNhY2hlRE9NU3RydWN0dXJl
KEpTRE9NR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBjb25zdCBKU0M6OkNsYXNzSW5m
byopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlND
bGllbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnRE
YXRhLmgKaW5kZXggYWM4OWFmM2I1NmNjYjY3NDFiNTQzMmI1M2IxZmJmMWYwYTA1Y2U3Ni4uNDA5
NDIzZmE4YTRjYmQwZTlmNGQxMmU5Y2ExZWM4ZGI0Y2IyZjQ4OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaApAQCAtMjIsNiArMjIsNyBA
QAogI2lmbmRlZiBXZWJDb3JlSlNDbGllbnREYXRhX2gKICNkZWZpbmUgV2ViQ29yZUpTQ2xpZW50
RGF0YV9oCiAKKyNpbmNsdWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5o
IgogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFt
QnVpbHRpbnNXcmFwcGVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVy
LmgiCkBAIC0zNiw5ICszNywxMCBAQCBjbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGlj
IEpTQzo6Vk06OkNsaWVudERhdGEgewogICAgIGZyaWVuZCB2b2lkIGluaXROb3JtYWxXb3JsZENs
aWVudERhdGEoSlNDOjpWTSopOwogCiBwdWJsaWM6Ci0gICAgV2ViQ29yZUpTQ2xpZW50RGF0YShK
U0M6OlZNJiB2bSkKKyAgICBleHBsaWNpdCBXZWJDb3JlSlNDbGllbnREYXRhKEpTQzo6Vk0mIHZt
KQogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICAgICAgICAgOiBtX3JlYWRhYmxlU3RyZWFtQnVp
bHRpbnMoJnZtKQorICAgICAgICAsIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucygmdm0p
CiAjZW5kaWYKICAgICB7CiAgICAgfQpAQCAtNzcsNiArNzksNyBAQCBwdWJsaWM6CiAKICNpZiBF
TkFCTEUoU1RSRUFNU19BUEkpCiAgICAgUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXImIHJl
YWRhYmxlU3RyZWFtQnVpbHRpbnMoKSB7IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnM7
IH0KKyAgICBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciYgY291bnRRdWV1aW5n
U3RyYXRlZ3lCdWlsdGlucygpIHsgcmV0dXJuIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlu
czsgfQogI2VuZGlmCiAKIHByaXZhdGU6CkBAIC04NSw2ICs4OCw3IEBAIHByaXZhdGU6CiAKICNp
ZiBFTkFCTEUoU1RSRUFNU19BUEkpCiAgICAgUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIg
bV9yZWFkYWJsZVN0cmVhbUJ1aWx0aW5zOworICAgIENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRp
bnNXcmFwcGVyIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsKICNlbmRpZgogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bQppbmRleCAxODk1ZmFjMTk4MDA0ZTI1YzA2NDZjMjlhODZjNmJlYzNmZDhmODUyLi5lZDRkZDE1
MWRhNzkwMTc4ZTBjY2Q0NTEwZTk5MTA5MGQyODJjMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNTQ1LDYgKzU0NSwx
MiBAQCBzdWIgR2V0QXR0cmlidXRlU2V0dGVyTmFtZQogICAgIHJldHVybiAic2V0SlMiIC4gJGlu
dGVyZmFjZU5hbWUgLiAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkYXR0cmlidXRlLT5zaWdu
YXR1cmUtPm5hbWUpIC4gKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0
b3IkLyA/ICJDb25zdHJ1Y3RvciIgOiAiIik7CiB9CiAKK3N1YiBHZXRKU0J1aWx0aW5GdW5jdGlv
bk5hbWUKK3sKKyAgICBteSAoJGNsYXNzTmFtZSwgJGZ1bmN0aW9uTmFtZSkgPSBAXzsKKyAgICBy
ZXR1cm4gJGNvZGVHZW5lcmF0b3ItPldLX2xjZmlyc3Qoc3Vic3RyICRjbGFzc05hbWUsIDIpIC4g
JGNvZGVHZW5lcmF0b3ItPldLX3VjZmlyc3QoJGZ1bmN0aW9uTmFtZSkgLiAiQ29kZUdlbmVyYXRv
ciI7Cit9CisKIHN1YiBHZXRGdW5jdGlvbk5hbWUKIHsKICAgICBteSAoJGNsYXNzTmFtZSwgJGZ1
bmN0aW9uKSA9IEBfOwpAQCAtNTU1LDcgKzU2MSw3IEBAIHN1YiBHZXRGdW5jdGlvbk5hbWUKICAg
ICB9CiAKICAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJKU0J1aWx0aW4ifSkgewotICAgICAgICByZXR1cm4gJGNvZGVHZW5lcmF0b3ItPldLX2xjZmly
c3QoJHNjb3BlTmFtZSkgLiAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkZnVuY3Rpb24tPnNp
Z25hdHVyZS0+bmFtZSkgLiAiQ29kZUdlbmVyYXRvciI7CisgICAgICAgIHJldHVybiBHZXRKU0J1
aWx0aW5GdW5jdGlvbk5hbWUoJGNsYXNzTmFtZSwgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUp
OwogICAgIH0KIAogICAgIG15ICRraW5kID0gJGZ1bmN0aW9uLT5pc1N0YXRpYyA/ICJDb25zdHJ1
Y3RvciIgOiAiUHJvdG90eXBlIjsKQEAgLTc4Myw3ICs3ODksOCBAQCBzdWIgSW5zdGFuY2VOZWVk
c1Zpc2l0Q2hpbGRyZW4KICAgICByZXR1cm4gJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkpTQ3VzdG9tTWFya0Z1bmN0aW9uIn0KICAgICAgICAgfHwgJGludGVyZmFjZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0KICAgICAgICAgfHwgJGludGVyZmFjZS0+bmFt
ZSBlcSAiRXZlbnRUYXJnZXQiCi0gICAgICAgIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJSZXBvcnRFeHRyYU1lbW9yeUNvc3QifTsKKyAgICAgICAgfHwgJGludGVyZmFjZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlcG9ydEV4dHJhTWVtb3J5Q29zdCJ9CisgICAgICAgIHx8
ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0J1aWx0aW5Db25zdHJ1Y3RvciJ9
OwogfQogCiBzdWIgR2V0SW1wbENsYXNzTmFtZQpAQCAtNDUzMSw2ICs0NTM4LDE2IEBAIHN1YiBH
ZW5lcmF0ZVByb3RvdHlwZURlY2xhcmF0aW9uCiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAifTtc
blxuIik7CiB9CiAKK3N1YiBHZXRQYXJlbnRDb25zdHJ1Y3RvckNsYXNzTmFtZQoreworICAgIG15
ICRpbnRlcmZhY2UgPSBzaGlmdDsKKyAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkpTQnVpbHRpbkNvbnN0cnVjdG9yIn0pIHsKKyAgICAgICAgcmV0dXJuICJET01Db25z
dHJ1Y3RvckpTQnVpbHRpbk9iamVjdCI7CisgICAgfQorICAgIHJldHVybiAiRE9NQ29uc3RydWN0
b3JPYmplY3QiOworCit9CisKIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVjbGFyYXRpb24KIHsK
ICAgICBteSAkb3V0cHV0QXJyYXkgPSBzaGlmdDsKQEAgLTQ1MzksMTQgKzQ1NTYsMTUgQEAgc3Vi
IEdlbmVyYXRlQ29uc3RydWN0b3JEZWNsYXJhdGlvbgogICAgIG15ICRpbnRlcmZhY2VOYW1lID0g
c2hpZnQ7CiAKICAgICBteSAkY29uc3RydWN0b3JDbGFzc05hbWUgPSAiJHtjbGFzc05hbWV9Q29u
c3RydWN0b3IiOworICAgIG15ICRwYXJlbnRDbGFzc05hbWUgPSBHZXRQYXJlbnRDb25zdHJ1Y3Rv
ckNsYXNzTmFtZSgkaW50ZXJmYWNlKTsKIAotICAgIHB1c2goQCRvdXRwdXRBcnJheSwgImNsYXNz
ICR7Y29uc3RydWN0b3JDbGFzc05hbWV9IDogcHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0IHtc
biIpOworICAgIHB1c2goQCRvdXRwdXRBcnJheSwgImNsYXNzICR7Y29uc3RydWN0b3JDbGFzc05h
bWV9IDogcHVibGljICIgLiAkcGFyZW50Q2xhc3NOYW1lIC4gIiB7XG4iKTsKICAgICBwdXNoKEAk
b3V0cHV0QXJyYXksICJwcml2YXRlOlxuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
ICR7Y29uc3RydWN0b3JDbGFzc05hbWV9KEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmpl
Y3QqKTtcbiIpOwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCopO1xuXG4iKTsKIAogICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgInB1YmxpYzpcbiIpOwotICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB0
eXBlZGVmIERPTUNvbnN0cnVjdG9yT2JqZWN0IEJhc2U7XG4iKTsKKyAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgdHlwZWRlZiAiIC4gJHBhcmVudENsYXNzTmFtZSAuICIgQmFzZTtcbiIpOwog
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBzdGF0aWMgJGNvbnN0cnVjdG9yQ2xhc3NOYW1l
KiBjcmVhdGUoSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpXG4iKTsKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAge1xuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICAkY29uc3RydWN0b3JD
bGFzc05hbWUqIHB0ciA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8JGNvbnN0cnVj
dG9yQ2xhc3NOYW1lPih2bS5oZWFwKSkgJGNvbnN0cnVjdG9yQ2xhc3NOYW1lKHN0cnVjdHVyZSwg
Z2xvYmFsT2JqZWN0KTtcbiIpOwpAQCAtNDc2OCw2ICs0Nzg2LDE0IEBAIEVORAogfQogCiBFTkQK
KyAgICAgICAgfSBlbHNpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQnVp
bHRpbkNvbnN0cnVjdG9yIn0pIHsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIkpT
Qzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAke2NvbnN0cnVjdG9yQ2xhc3NOYW1lfTo6
Y29uc3RydWN0JHtjbGFzc05hbWV9KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSlcbiIpOworICAgICAg
ICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAie1xuIik7CisKKyAgICAgICAgICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgIiAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PCR7Y29uc3RydWN0b3JD
bGFzc05hbWV9Kj4oc3RhdGUtPmNhbGxlZSgpKTtcbiIpOworICAgICAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgIHJldHVybiBjcmVhdGVGcm9tSlNCdWlsdGluPCR7Y2xhc3NOYW1lfSwg
JHtpbnRlcmZhY2VOYW1lfT4oKnN0YXRlLCBjYXN0ZWRUaGlzLT5tX2luaXRpYWxpemVGdW5jdGlv
bi5nZXQoKSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpKTtcbiIpOworCisgICAgICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIpOwogICAgICAgICB9IGVsc2lmICghSGFzQ3Vz
dG9tQ29uc3RydWN0b3IoJGludGVyZmFjZSkgJiYgKCEkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiTmFtZWRDb25zdHJ1Y3RvciJ9IHx8ICRnZW5lcmF0aW5nTmFtZWRDb25zdHJ1Y3Rv
cikpIHsKICAgICAgICAgICAgIG15ICRvdmVybG9hZGVkSW5kZXhTdHJpbmcgPSAiIjsKICAgICAg
ICAgICAgIGlmICgkZnVuY3Rpb24tPntvdmVybG9hZGVkSW5kZXh9ICYmICRmdW5jdGlvbi0+e292
ZXJsb2FkZWRJbmRleH0gPiAwKSB7CkBAIC00ODgyLDcgKzQ5MDgsNiBAQCBzdWIgR2VuZXJhdGVD
b25zdHJ1Y3RvckhlbHBlck1ldGhvZHMKICAgICBteSAkZ2VuZXJhdGluZ05hbWVkQ29uc3RydWN0
b3IgPSBzaGlmdDsKIAogICAgIG15ICRjb25zdHJ1Y3RvckNsYXNzTmFtZSA9ICRnZW5lcmF0aW5n
TmFtZWRDb25zdHJ1Y3RvciA/ICIke2NsYXNzTmFtZX1OYW1lZENvbnN0cnVjdG9yIiA6ICIke2Ns
YXNzTmFtZX1Db25zdHJ1Y3RvciI7Ci0gICAgbXkgJGNvbnN0cnVjdG9yUGFyZW50Q2xhc3NOYW1l
ID0gJGdlbmVyYXRpbmdOYW1lZENvbnN0cnVjdG9yID8gIkRPTUNvbnN0cnVjdG9yV2l0aERvY3Vt
ZW50IiA6ICJET01Db25zdHJ1Y3Rvck9iamVjdCI7CiAgICAgbXkgJGxlYXN0Q29uc3RydWN0b3JM
ZW5ndGggPSAwOwogICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNDb25zdHJ1Y3RvclRlbXBsYXRl
KCRpbnRlcmZhY2UsICJFdmVudCIpKSB7CiAgICAgICAgICRsZWFzdENvbnN0cnVjdG9yTGVuZ3Ro
ID0gMTsKQEAgLTQ5MDEsNyArNDkyNiw3IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9ySGVscGVy
TWV0aG9kcwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgImNvbnN0IENsYXNzSW5mbyAke2NvbnN0
cnVjdG9yQ2xhc3NOYW1lfTo6c19pbmZvID0geyBcIiR7dmlzaWJsZUludGVyZmFjZU5hbWV9Q29u
c3RydWN0b3JcIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRSgkY29uc3Ry
dWN0b3JDbGFzc05hbWUpIH07XG5cbiIpOwogCiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiJHtj
b25zdHJ1Y3RvckNsYXNzTmFtZX06OiR7Y29uc3RydWN0b3JDbGFzc05hbWV9KFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KVxuIik7Ci0gICAgcHVz
aChAJG91dHB1dEFycmF5LCAiICAgIDogJHtjb25zdHJ1Y3RvclBhcmVudENsYXNzTmFtZX0oc3Ry
dWN0dXJlLCBnbG9iYWxPYmplY3QpXG4iKTsKKyAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
OiBCYXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KVxuIik7CiAgICAgcHVzaChAJG91dHB1dEFy
cmF5LCAie1xuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAifVxuXG4iKTsKIApAQCAtNDkz
Niw2ICs0OTYxLDEyIEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9ySGVscGVyTWV0aG9kcwogICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZtLCAk
e2NsYXNzTmFtZX1Db25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAqdGhpcyk7XG4iKTsKICAgICB9CiAK
KyAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQnVpbHRpbkNvbnN0
cnVjdG9yIn0pIHsKKyAgICAgICAgbXkgJGluaXRpYWxpemVGdW5jdGlvbk5hbWUgPSBHZXRKU0J1
aWx0aW5GdW5jdGlvbk5hbWUoJHtjbGFzc05hbWV9LCAiaW5pdGlhbGl6ZSIgLiAke2ludGVyZmFj
ZU5hbWV9KTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIG1faW5pdGlhbGl6ZUZ1
bmN0aW9uLnNldCh2bSwgdGhpcywgSlNDOjpKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rp
b24odm0sICR7aW5pdGlhbGl6ZUZ1bmN0aW9uTmFtZX0odm0pLCBnbG9iYWxPYmplY3QpKTtcbiIp
OworICAgIH0KKworCiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAifVxuXG4iKTsKIAogICAgIGlm
IChJc0NvbnN0cnVjdGFibGUoJGludGVyZmFjZSkpIHsKQEAgLTQ5OTYsNyArNTAyNyw3IEBAIHN1
YiBJc0NvbnN0cnVjdGFibGUKIHsKICAgICBteSAkaW50ZXJmYWNlID0gc2hpZnQ7CiAKLSAgICBy
ZXR1cm4gSGFzQ3VzdG9tQ29uc3RydWN0b3IoJGludGVyZmFjZSkgfHwgJGludGVyZmFjZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnN0cnVjdG9yIn0gfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57Ik5hbWVkQ29uc3RydWN0b3IifSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3JUZW1wbGF0ZSJ9OworICAgIHJldHVybiBIYXNDdXN0b21D
b25zdHJ1Y3RvcigkaW50ZXJmYWNlKSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ29uc3RydWN0b3IifSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFt
ZWRDb25zdHJ1Y3RvciJ9IHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25z
dHJ1Y3RvclRlbXBsYXRlIn0gfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpT
QnVpbHRpbkNvbnN0cnVjdG9yIn07CiB9CiAKIHN1YiBIZWFkZXJOZWVkc1Byb3RvdHlwZURlY2xh
cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0
dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1
dGVzLnR4dAppbmRleCA1ZTU4NDhlZWEyZDAxMDhjMjJmZGJjOWQwZDlmZTI2NDk1ZTA3OTVkLi41
NjJmNzI0YmJiYjU0MmM4ODRkYTQyZmJjMWQ3ZThmZTBkOTI1MWQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTc0LDYgKzc0
LDcgQEAgSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3IKIEludGVyZmFjZU5hbWU9KgogSXNX
ZWFrQ2FsbGJhY2sKIEpTQnVpbHRpbgorSlNCdWlsdGluQ29uc3RydWN0b3IKIEpTQ3VzdG9tRGVm
aW5lT3duUHJvcGVydHkKIEpTQ3VzdG9tRGVmaW5lT3duUHJvcGVydHlPblByb3RvdHlwZQogSlND
dXN0b21GaW5hbGl6ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCBkZjcy
MDc3YmEwMmVlZGUxMmFiNjg1OTZjN2RmYmQyMGQxMzRiZDAzLi4yMzgwNjA2YjRhMDk0ZGNlODg5
NDE3NWYyMjA3YzRkYTBiMjAwMGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNw
cApAQCAtMTA4LDcgKzEwOCw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0QWN0aXZl
RE9NT2JqZWN0VGFibGUgPSB7IDIsIDMsIHRydWUsIEpTVGVzdEFjdGl2ZURPCiBjb25zdCBDbGFz
c0luZm8gSlNUZXN0QWN0aXZlRE9NT2JqZWN0Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIlRlc3RB
Y3RpdmVET01PYmplY3RDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRI
T0RfVEFCTEUoSlNUZXN0QWN0aXZlRE9NT2JqZWN0Q29uc3RydWN0b3IpIH07CiAKIEpTVGVzdEFj
dGl2ZURPTU9iamVjdENvbnN0cnVjdG9yOjpKU1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3Rv
cihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
LSAgICA6IERPTUNvbnN0cnVjdG9yT2JqZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAg
IDogQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5j
cHAKaW5kZXggNDg2ZmE5NGVlMGU5MDlkMjdiOTdjNzhmNjQ2ZjI4NDc4YWNlZWIzMy4uN2I3NTcx
Y2JlYTVmZjM5YTYzYWI2NzMwYmQ5ZGQyNDZmNzg0ZmRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3Bw
CkBAIC05NSw3ICs5NSw3IEBAIENPTVBJTEVfQVNTRVJUKDIgPT0gVGVzdENhbGxiYWNrOjpDT05T
VEFOVDIsIFRlc3RDYWxsYmFja0VudW1DT05TVEFOVDJJc1dyb25nVXNlCiBjb25zdCBDbGFzc0lu
Zm8gSlNUZXN0Q2FsbGJhY2tDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdENhbGxiYWNrQ29u
c3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdENh
bGxiYWNrQ29uc3RydWN0b3IpIH07CiAKIEpTVGVzdENhbGxiYWNrQ29uc3RydWN0b3I6OkpTVGVz
dENhbGxiYWNrQ29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCi0gICAgOiBET01Db25zdHJ1Y3Rvck9iamVjdChzdHJ1Y3R1cmUs
IGdsb2JhbE9iamVjdCkKKyAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiB7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JX
aXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwCmluZGV4IGEzYWZhZWY1Yzc4ZjM4NzY1NGI1YTFiOWM0
ODdmY2YzYzliNzczZTEuLmJlMjRkYWZhZWIxNTNhYzU4N2RkNDgxNGE1MjQ3OWFlYmQzYTdkNTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9y
V2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNwcApAQCAtODMsNyArODMsNyBAQCBwdWJsaWM6CiBjb25z
dCBDbGFzc0luZm8gSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RD
b25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJm
YWNlT2JqZWN0Q29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Q29uc3RydWN0
b3IpIH07CiAKIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Q29u
c3RydWN0b3I6OkpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Q29u
c3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCi0gICAgOiBET01Db25zdHJ1Y3Rvck9iamVjdChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVj
dCkKKyAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiB7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21O
YW1lZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCmluZGV4IDQ1OWY1MDRkOWM4M2FiNTE5OGVmZDY3
NWFhNzgzYmM3YjhhMGM0YTUuLjhjNjljZDgzZDczYzk0OWQxMjZjNjAzMzhkZDQxNTAyMWI0ZWFh
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcApAQCAtMTAzLDcgKzEw
Myw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJUYWJs
ZSA9IHsgMSwgMSwgdHJ1ZSwgSlNUZXN0Q3VzdG9tCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXJDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdEN1c3RvbU5hbWVkR2V0
dGVyQ29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpT
VGVzdEN1c3RvbU5hbWVkR2V0dGVyQ29uc3RydWN0b3IpIH07CiAKIEpTVGVzdEN1c3RvbU5hbWVk
R2V0dGVyQ29uc3RydWN0b3I6OkpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyQ29uc3RydWN0b3IoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCi0gICAg
OiBET01Db25zdHJ1Y3Rvck9iamVjdChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKKyAgICA6IEJh
c2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENv
bnN0cnVjdG9yLmNwcAppbmRleCA1NDUxOWQ0NDUwYWIwOWRiNjVhOWYzZjljZDU1OTNiMzVkYTVm
ODdjLi45MDliOGI4ZWMzNDgxMWE1NmFkNmI1NGEzNjU4NGRlMzQ1MGE4OGYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0xMzIsNyArMTMyLDcgQEAgYm9vbCBmaWxs
VGVzdEV2ZW50Q29uc3RydWN0b3JJbml0KFRlc3RFdmVudENvbnN0cnVjdG9ySW5pdCYgZXZlbnRJ
bml0LCBKU0RpY3Rpb24KIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29u
c3RydWN0b3I6OnNfaW5mbyA9IHsgIlRlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IiLCAm
QmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEV2ZW50Q29uc3RydWN0
b3JDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpK
U1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCi0gICAgOiBET01Db25zdHJ1Y3Rvck9iamVj
dChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKKyAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxP
YmplY3QpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCmluZGV4IDhlMmUxNWE3NjQ1
ZGJlMDA1NWQ1MTkxYThjZTQxODg2NjQ3YjQ2YTQuLmI0ODQxYTMzZDdkM2JhOTY1OTY1MmY2ODg0
MzkyOWVlYjFjNDUyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtMTEyLDcgKzEx
Miw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0RXZlbnRUYXJnZXRUYWJsZSA9IHsg
MSwgMSwgdHJ1ZSwgSlNUZXN0RXZlbnRUYXJnZXRUCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0RXZl
bnRUYXJnZXRDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0
b3IiLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEV2ZW50VGFy
Z2V0Q29uc3RydWN0b3IpIH07CiAKIEpTVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3I6OkpTVGVz
dEV2ZW50VGFyZ2V0Q29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCi0gICAgOiBET01Db25zdHJ1Y3Rvck9iamVjdChzdHJ1Y3R1
cmUsIGdsb2JhbE9iamVjdCkKKyAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKaW5kZXggZDYwYWIxMzBlYzA5NDhmYjAxZWY2Zjlk
OTQyMDdlYzQwYmRjY2IxOS4uMDczZGU2NWZkZjI1NjU5YWI1NDdkNzFkZjVmOWUwNmNlYWEyOGY0
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKQEAgLTk5LDcgKzk5LDcgQEAgc3RhdGljIGNvbnN0
IEhhc2hUYWJsZSBKU1Rlc3RFeGNlcHRpb25UYWJsZSA9IHsgMSwgMSwgdHJ1ZSwgSlNUZXN0RXhj
ZXB0aW9uVGFibGUKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RFeGNlcHRpb25Db25zdHJ1Y3Rvcjo6
c19pbmZvID0geyAiVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwg
Q1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RFeGNlcHRpb25Db25zdHJ1Y3RvcikgfTsKIAogSlNU
ZXN0RXhjZXB0aW9uQ29uc3RydWN0b3I6OkpTVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yKFN0cnVj
dHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDog
RE9NQ29uc3RydWN0b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgOiBCYXNl
KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJh
dGVJc1JlYWNoYWJsZS5jcHAKaW5kZXggNGViZDU0NTgyZGZjZjA1NWQ4OTYxNmM3ODlhZWE4MDQ5
NWFlMDcwOS4uMmNkZjhlNDY1OWI3ODkwYTA2YmMxZjYyMjAxNWQ2ZDBjMjg3MTEyOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVy
YXRlSXNSZWFjaGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcApAQCAtODIsNyArODIsNyBAQCBw
dWJsaWM6CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVj
dG9yOjpzX2luZm8gPSB7ICJUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yIiwgJkJh
c2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hh
YmxlQ29uc3RydWN0b3IpIH07CiAKIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDb25zdHJ1Y3Rv
cjo6SlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0
dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDogRE9NQ29uc3RydWN0
b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgOiBCYXNlKHN0cnVjdHVyZSwg
Z2xvYmFsT2JqZWN0KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGZlZDI2MzQx
NGFiYjg1NTM2NTM3ZWU2MDhkNjdmZDczNGJiMzcyOWIuLjg4YzMyZDJmMzU0MWQ5NDY4MGJmNjY4
N2VmNGQ1MzBiODk1YjE2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC0yOTEsNyArMjkx
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1
Y3Rvcjo6Y29uc3RydWN0SlNUZXN0SW50ZXJmYWMKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RJbnRl
cmZhY2VDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yIiwg
JkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RJbnRlcmZhY2VDb25z
dHJ1Y3RvcikgfTsKIAogSlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3I6OkpTVGVzdEludGVyZmFj
ZUNvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQotICAgIDogRE9NQ29uc3RydWN0b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxP
YmplY3QpCisgICAgOiBCYXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKaW5kZXggMjI3ZjI3ZmRl
YjM4Y2FlMTJjOGFjM2FhMmJhZWE3MzdhMDZjNzE0Yy4uZDQ1YWJkNWZhYzJmOGE1MjdkN2QyYTky
MDA3MTAyMTUxYzMzN2QxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLmNwcApAQCAtODksNyArODksNyBAQCBwdWJsaWM6CiBjb25zdCBDbGFzc0luZm8gSlNU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRF
X01FVEhPRF9UQUJMRShKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IpIH07
CiAKIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rvcjo6SlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDogRE9NQ29uc3RydWN0b3JPYmplY3Qoc3Ry
dWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgOiBCYXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMThmNzZm
MDZiNzQ3OTkwNjhmNWYzMmRkZWMzMzVkM2RiMjNjZGZkNy4uMjllZTdmNTc5ZmEzNGMzZDhiYmIz
YjBhNzA4Nzc4ZjVmMTA4Nzk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNw
cApAQCAtMTEwLDcgKzExMCw3IEBAIHByaXZhdGU6CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0TmFt
ZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0TmFtZWRDb25zdHJ1Y3Rv
ckNvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rl
c3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3IpIH07CiAKIEpTVGVzdE5hbWVkQ29uc3RydWN0
b3JDb25zdHJ1Y3Rvcjo6SlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yKFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDogRE9N
Q29uc3RydWN0b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgOiBCYXNlKHN0
cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogewogfQogCkBAIC0xNDksNyArMTQ5LDcgQEAgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yTmFtZWRDb25zdHJ1
Y3Rvcjo6Y29uc3RydWN0SlMKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3ROYW1lZENvbnN0cnVjdG9y
TmFtZWRDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiQXVkaW9Db25zdHJ1Y3RvciIsICZCYXNlOjpz
X2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVk
Q29uc3RydWN0b3IpIH07CiAKIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JOYW1lZENvbnN0cnVjdG9y
OjpKU1Rlc3ROYW1lZENvbnN0cnVjdG9yTmFtZWRDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IERPTUNvbnN0cnVj
dG9yV2l0aERvY3VtZW50KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIDogQmFzZShzdHJ1
Y3R1cmUsIGdsb2JhbE9iamVjdCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCmluZGV4IDI5ZWVhMDJmY2Jh
OTliZWFkYjJkYjlmMGVhYjg4ZDllZTFjYTEzMGIuLjYyYmMzYjMwNjBiNjNjMGU4YmIwODI3OGRk
YmNiNTAxYTIwNWY5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3ROb2RlQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTVGVz
dE5vZGUoRXhlY1N0YXQKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3ROb2RlQ29uc3RydWN0b3I6OnNf
aW5mbyA9IHsgIlRlc3ROb2RlQ29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKEpTVGVzdE5vZGVDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0Tm9kZUNvbnN0
cnVjdG9yOjpKU1Rlc3ROb2RlQ29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCi0gICAgOiBET01Db25zdHJ1Y3Rvck9iamVjdChz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKKyAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmpl
Y3QpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNwcAppbmRleCBkNTc1
M2YzODhlYmM3MmY2MmNiNGRlYjcyNGIzMWRiZDlmMjkwY2Y3Li5lYzc5MGNlYTczYjIyMzZjZmNm
ZGRjYjliNjlkYjMxYjUzMTE0MTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMu
Y3BwCkBAIC0xMDUsNyArMTA1LDcgQEAgcHVibGljOgogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE5v
bmRldGVybWluaXN0aWNDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdE5vbmRldGVybWluaXN0
aWNDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNU
ZXN0Tm9uZGV0ZXJtaW5pc3RpY0NvbnN0cnVjdG9yKSB9OwogCiBKU1Rlc3ROb25kZXRlcm1pbmlz
dGljQ29uc3RydWN0b3I6OkpTVGVzdE5vbmRldGVybWluaXN0aWNDb25zdHJ1Y3RvcihTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IERP
TUNvbnN0cnVjdG9yT2JqZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIDogQmFzZShz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCAxNjUwZGRiNDRl
MDRmMzIwOTdlY2VlMmE5ZDVjNzc1MjlkMDE1YmMwLi5iZWE1NjNlYTgwZWQ3Mjk1MjMzMGRmMjJh
YzdkYzdlZGNkNmI2M2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtNDgzLDcgKzQ4Myw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0T2JqQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTVGVz
dE9iaihFeGVjU3RhdGUqCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0T2JqQ29uc3RydWN0b3I6OnNf
aW5mbyA9IHsgIlRlc3RPYmplY3RDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFU
RV9NRVRIT0RfVEFCTEUoSlNUZXN0T2JqQ29uc3RydWN0b3IpIH07CiAKIEpTVGVzdE9iakNvbnN0
cnVjdG9yOjpKU1Rlc3RPYmpDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IERPTUNvbnN0cnVjdG9yT2JqZWN0KHN0
cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVj
dCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3Bw
CmluZGV4IGY3MTc5YzUzYzFkMTRlMmIyZTllMGE4NjBiMWRmOWRmNGRkMjA5ZmQuLjE1ODcxNTZj
MzBiMmQ3NGE4M2FlYzhkYTU3MGVkNzM1M2EzYmMxNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKQEAgLTE3MCw3ICsxNzAsNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rv
cjo6Y29uc3RydWN0SgogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25z
dHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yKSB9OwogCiBKU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzQ29uc3RydWN0b3I6OkpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1
Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKLSAgICA6IERPTUNvbnN0cnVjdG9yT2JqZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQor
ICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVp
bHRpbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE92ZXJyaWRlQnVpbHRpbnMuY3BwCmluZGV4IDhiNmZkODEwMjA5ZWU4YjgzODYxYjczYTg1MzU5
ZGY5MGQ3OGNhN2UuLmZiOTZhMDM1ZTczMDIwZjI3ZDc5ZDhmZDc0YjVhMmQxMjYxZmUwNTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
dmVycmlkZUJ1aWx0aW5zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCBz
dGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE92ZXJyaWRlQnVpbHRpbnNUYWJsZSA9IHsgMSwg
MSwgdHJ1ZSwgSlNUZXN0T3ZlcnJpZAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE92ZXJyaWRlQnVp
bHRpbnNDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdE92ZXJyaWRlQnVpbHRpbnNDb25zdHJ1
Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0T3ZlcnJp
ZGVCdWlsdGluc0NvbnN0cnVjdG9yKSB9OwogCiBKU1Rlc3RPdmVycmlkZUJ1aWx0aW5zQ29uc3Ry
dWN0b3I6OkpTVGVzdE92ZXJyaWRlQnVpbHRpbnNDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IERPTUNvbnN0cnVj
dG9yT2JqZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIDogQmFzZShzdHJ1Y3R1cmUs
IGdsb2JhbE9iamVjdCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAppbmRleCA2NjRhNWNhMzZjOTY5NmZmNWFiMzRl
ZmIyZDVjYTYxMDZjMTRiY2MxLi4zZDc4Y2Q0YjA2YjRjYzlkOWJjNmVhMTc2MjU4YTU1MTM5NWZh
YTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlLmNwcApAQCAtOTYsNyArOTYsNyBAQCBwdWJsaWM6CiBjb25zdCBDbGFzc0luZm8g
SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3I6OnNfaW5mbyA9
IHsgIlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3RvciIsICZCYXNl
OjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlQ29uc3RydWN0b3IpIH07CiAKIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZUNvbnN0cnVjdG9yOjpKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2VDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKLSAgICA6IERPTUNvbnN0cnVjdG9yT2JqZWN0KHN0cnVjdHVyZSwgZ2xvYmFs
T2JqZWN0KQorICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5
cGVkZWZzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RUeXBlZGVmcy5jcHAKaW5kZXggMjNmMzVlMTljMDNkMWI4ZGJhNGMzYjczZjgwMzhlZjViZTcw
NmFiOS4uY2FhY2VhNGYzNTM1NGM2YzQ0ZjUzZmI1YzdmMTczYmQ3YTU0NzBmZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
VHlwZWRlZnMuY3BwCkBAIC0xNjEsNyArMTYxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKU1Rlc3RUeXBlZGVmcygK
IGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJU
ZXN0VHlwZWRlZnNDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0Rf
VEFCTEUoSlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0VHlwZWRlZnNDb25z
dHJ1Y3Rvcjo6SlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IERPTUNvbnN0cnVjdG9yT2Jq
ZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2Jh
bE9iamVjdCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHAKaW5kZXggMWU3MjQzZDAzZDU2NjJjM2QxYjMx
NjE0ODY5NjU3OWRjOGQ3NjdmZi4uY2Y0ZWEzNzY1ODBlNTRkYmY5OTlkZDUwZmEyY2Q4ZmQwMzlj
MzczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTYXR0cmlidXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNhdHRyaWJ1dGUuY3BwCkBAIC04NSw3ICs4NSw3IEBAIHB1YmxpYzoKIGNvbnN0IENs
YXNzSW5mbyBKU2F0dHJpYnV0ZUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJhdHRyaWJ1dGVDb25z
dHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNhdHRyaWJ1
dGVDb25zdHJ1Y3RvcikgfTsKIAogSlNhdHRyaWJ1dGVDb25zdHJ1Y3Rvcjo6SlNhdHRyaWJ1dGVD
b25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKLSAgICA6IERPTUNvbnN0cnVjdG9yT2JqZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2Jq
ZWN0KQorICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHku
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHku
Y3BwCmluZGV4IDQyMzFhYzY4ZDJlOTkzYzMwYWVjYWRlY2EzMWQ4ODhjZGI5MDA3NzMuLmY5MzFk
MWM4ZGQ4OTc5NjVlNzg2YzIyM2M5YjMzZjM3YzQ2ODdkZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5jcHAKQEAgLTgy
LDcgKzgyLDcgQEAgcHVibGljOgogY29uc3QgQ2xhc3NJbmZvIEpTcmVhZG9ubHlDb25zdHJ1Y3Rv
cjo6c19pbmZvID0geyAicmVhZG9ubHlDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNyZWFkb25seUNvbnN0cnVjdG9yKSB9OwogCiBKU3JlYWRvbmx5
Q29uc3RydWN0b3I6OkpTcmVhZG9ubHlDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IERPTUNvbnN0cnVjdG9yT2Jq
ZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2Jh
bE9iamVjdCkKIHsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261863</attachid>
            <date>2015-09-24 00:40:56 -0700</date>
            <delta_ts>2015-09-24 02:18:36 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-149497-20150924044036.patch</filename>
            <type>text/plain</type>
            <size>59878</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NzdmZGYwNGRiNzhkMjk0MDUzMzZiOTk0NGVlNjgyYmM1MTUyMjM2Li5lYzg1Y2UwMzBkYTExNzFj
NDY3Zjg3YmYxMzJkNGQ1MGUzYTExNTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0wOS0yMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3Jm
LmNhbm9uLmZyPgorCisgICAgICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIEpTIGJ1
aWx0aW5zIGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDk0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKwor
ICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5oOiBleHBvcnRpbmcgY3JlYXRlQnVpbHRpbkZ1
bmN0aW9uLgorCiAyMDE1LTA5LTIzICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgog
CiAgICAgICAgIEpTQyBhbGxvd3MgaW52YWxpZCB2YXIgZGVjbGFyYXRpb25zIHdoZW4gdGhlIGRl
Y2xhcmVkIG5hbWUgaXMgdGhlIHNhbWUgYXMgYSBsZXQvY29uc3QgdmFyaWFibGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBmZWFlMTYwYmMwYTcxNWExOGUwOGE0YzdkYzYxNDhlYjczMmVlMTZhLi41NDFlMTI3MzEw
MGNhZGM3NzMwZTFiOTE5ODZiYzg1ZDUyOTFkNWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOTUg
QEAKKzIwMTUtMDktMjMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5m
cj4KKworICAgICAgICBbU3RyZWFtcyBBUEldIEFkZCBzdXBwb3J0IGZvciBKUyBidWlsdGlucyBj
b25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ5NDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAg
Q292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICBNYWtpbmcgQ291bnRRdWV1aW5n
U3RyYXRlZ3kgZnVsbHkgSlMgYnVpbHQtaW4gaW1wbGVtZW50ZWQuCisgICAgICAgIEFkZGluZyBz
dXBwb3J0IGZvciBjYWxsaW5nIGEgSlMgYnVpbHRpbiBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBq
dXN0IGFmdGVyIGNyZWF0aW5nIHRoZSBKU1hYIG9iamVjdC4KKyAgICAgICAgVGhpcyBKUyBmdW5j
dGlvbiBtdXN0IGJlIG5hbWVkIGluaXRpYWxpemVYWCBhbmQgYmUgaW4gWFguSnMgZmlsZS4KKyAg
ICAgICAgVGhlIEpTQnVpbHRpbkNvbnN0cnVjdG9yIGtleXdvcmQgaXMgYWRkZWQgdG8gdGhlIGJp
bmRpbmcgZ2VuZXJhdG9yLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZGluZyBDb3Vu
dFF1ZXVpbmdTdHJhdGVneS5qcywgcmVtb3ZpbmcgSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3Rv
bS5jcHAuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOiBEaXR0by4KKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOiBEaXR0by4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQ291
bnRRdWV1aW5nU3RyYXRlZ3kuaDogTWFraW5nIENvdW50UXVldWluZ1N0cmF0ZWd5IGEgZHVtbXkg
Y2xhc3MuCisgICAgICAgIChXZWJDb3JlOjpDb3VudFF1ZXVpbmdTdHJhdGVneTo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNvdW50UXVldWluZ1N0cmF0ZWd5Ojp+Q291bnRRdWV1aW5nU3Ry
YXRlZ3kpOgorICAgICAgICAoV2ViQ29yZTo6Q291bnRRdWV1aW5nU3RyYXRlZ3k6OkNvdW50UXVl
dWluZ1N0cmF0ZWd5KToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3Ry
YXRlZ3kuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVn
eS5qczogQWRkZWQuCisgICAgICAgIChzaXplKToKKyAgICAgICAgKGluaXRpYWxpemVDb3VudFF1
ZXVpbmdTdHJhdGVneSk6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ajogUmVtb3ZpbmcgSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAuCisgICAgICAgICog
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOiBEaXR0by4KKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6IERpdHRvLgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHA6IEFkZGluZyBzdXBwb3J0IGZvciBET01D
b25zdHJ1Y3RvckpTQnVpbHRpbk9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OmNhbGxJbml0aWFs
aXplRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NQ29uc3RydWN0b3JKU0J1aWx0aW5P
YmplY3Q6OnZpc2l0Q2hpbGRyZW4pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5oOiBEaWl0dG8uCisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVGcm9tSlNCdWlsdGluKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTUNvbnN0cnVjdG9ySlNCdWlsdGluT2JqZWN0OjpET01Db25zdHJ1
Y3RvckpTQnVpbHRpbk9iamVjdCk6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xp
ZW50RGF0YS5oOiBBZGRpbmcgc3VwcG9ydCBmb3IgQ1FTIGJ1aWx0aW5zIGZ1bmN0aW9ucy4KKyAg
ICAgICAgKFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OldlYkNvcmVKU0NsaWVudERhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUpTQ2xpZW50RGF0YTo6Y291bnRRdWV1aW5nU3Ry
YXRlZ3lCdWlsdGlucyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG06CisgICAgICAgIChHZXRKU0J1aWx0aW5GdW5jdGlvbk5hbWUpOgorICAgICAgICAoR2V0
RnVuY3Rpb25OYW1lKToKKyAgICAgICAgKEluc3RhbmNlTmVlZHNWaXNpdENoaWxkcmVuKTogR2Vu
ZXJhdGluZyB2aXNpdENoaWxkcmVuIG1ldGhvZCBpbiBjYXNlIG9mIEpTQnVpbHRpbkNvbnN0cnVj
dG9yLgorICAgICAgICAoR2V0UGFyZW50Q29uc3RydWN0b3JDbGFzc05hbWUpOiBSZWZhY3Rvcmlu
ZyB0byBtYWtlIEpTWFhDb25zdHJ1Y3RvciBkZXJpdmUgZnJvbSBET01Db25zdHJ1Y3RvckpTQnVp
bHRpbk9iamVjdCBpbiBjYXNlIG9mIEpTQnVpbHRpbkNvbnN0cnVjdG9yLgorICAgICAgICAoR2Vu
ZXJhdGVDb25zdHJ1Y3RvckRlY2xhcmF0aW9uKTogRGl0dG8uCisgICAgICAgIChHZW5lcmF0ZUNv
bnN0cnVjdG9yRGVmaW5pdGlvbik6IEdlbmVyYXRlIHNwZWNpZmljIGNvbnN0cnVjdG9yIGluIGNh
c2Ugb2YgSlNCdWlsdGluQ29uc3RydWN0b3IuCisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9y
SGVscGVyTWV0aG9kcyk6IFJlZmFjdG9yaW5nIHRvIHVzZSBCYXNlIGNsYXNzLgorICAgICAgICAo
SXNDb25zdHJ1Y3RhYmxlKTogRGl0dG8uCisgICAgICAgIChDb25zdHJ1Y3Rvckhhc1Byb3BlcnRp
ZXMpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50
eHQ6IEFkZGluZyBKU0J1aWx0aW5Db25zdHJ1Y3Rvci4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTVGVzdEFjdGl2ZURPTU9iamVjdENvbnN0cnVjdG9yOjpKU1Rlc3RBY3RpdmVET01PYmplY3RD
b25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENh
bGxiYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxiYWNrQ29uc3RydWN0b3I6
OkpTVGVzdENhbGxiYWNrQ29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFj
ZU9iamVjdENvbnN0cnVjdG9yOjpKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFj
ZU9iamVjdENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXJDb25zdHJ1Y3Rvcjo6SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJDb25zdHJ1
Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29u
c3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNv
bnN0cnVjdG9yOjpKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RFdmVudFRhcmdldENvbnN0cnVjdG9yOjpKU1Rlc3RFdmVudFRhcmdl
dENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
RXhjZXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEV4Y2VwdGlvbkNvbnN0cnVj
dG9yOjpKU1Rlc3RFeGNlcHRpb25Db25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yOjpKU1Rlc3RHZW5lcmF0
ZUlzUmVhY2hhYmxlQ29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0SW50ZXJm
YWNlQ29uc3RydWN0b3I6OkpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0
b3I6OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rvcik6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpKU1Rlc3RO
YW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFt
ZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3I6OkpTVGVzdE5hbWVkQ29uc3RydWN0b3JOYW1l
ZENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROb2RlQ29uc3RydWN0b3I6OkpTVGVz
dE5vZGVDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5vbmRldGVybWluaXN0aWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Tm9uZGV0
ZXJtaW5pc3RpY0NvbnN0cnVjdG9yOjpKU1Rlc3ROb25kZXRlcm1pbmlzdGljQ29uc3RydWN0b3Ip
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0T2JqQ29uc3RydWN0b3I6OkpTVGVzdE9iakNvbnN0cnVjdG9y
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9ycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzQ29uc3RydWN0b3I6OkpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rv
cik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVp
bHRpbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T3ZlcnJpZGVCdWlsdGluc0NvbnN0
cnVjdG9yOjpKU1Rlc3RPdmVycmlkZUJ1aWx0aW5zQ29uc3RydWN0b3IpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlQ29uc3RydWN0b3I6OkpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNv
bnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlw
ZWRlZnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3Rvcjo6
SlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTYXR0cmlidXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTYXR0cmlidXRlQ29u
c3RydWN0b3I6OkpTYXR0cmlidXRlQ29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTcmVhZG9u
bHlDb25zdHJ1Y3Rvcjo6SlNyZWFkb25seUNvbnN0cnVjdG9yKToKKwogMjAxNS0wOS0yMyAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBsaWZ5IC8gT3B0aW1p
emUgUmFuZ2U6OnNlbGVjdE5vZGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5oCmluZGV4IGY4N2MzMWY4NTI4MmY3ZDc4YzI2YWI4OWY2YjAwZjM4OWE3MWE4Nzku
LjI3NDQ2OTNiNTBlNzk5NmU3N2RkNjQ0ZGMwODZlN2NhMTJjYzE4ZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTc1LDcgKzc1LDcgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBKU0Z1bmN0aW9uKiBjcmVhdGUoVk0mLCBXZWJBc3NlbWJseUV4ZWN1dGFi
bGUqLCBKU1Njb3BlKik7CiAjZW5kaWYKIAotICAgIHN0YXRpYyBKU0Z1bmN0aW9uKiBjcmVhdGVC
dWlsdGluRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU0dsb2JhbE9iamVjdCop
OworICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBKU0Z1bmN0aW9uKiBjcmVhdGVCdWlsdGlu
RnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU0dsb2JhbE9iamVjdCopOwogICAg
IHN0YXRpYyBKU0Z1bmN0aW9uKiBjcmVhdGVCdWlsdGluRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4
ZWN1dGFibGUqLCBKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAKICAgICBK
U19FWFBPUlRfUFJJVkFURSBTdHJpbmcgbmFtZShFeGVjU3RhdGUqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggMjQ2MzBiYTBmMzI3ZDBhNTYyZmYwZmY4ZmVhOTVjZTE3OTkyYmYxYy4uM2YwZWJh
NmJjZDc3ZjJlZDA2OTU1MzlmNzhlMTEzMzExZmU5ODg4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTExMDIsNyArMTEwMiw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9q
cy9KU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlND
aGFyYWN0ZXJEYXRhQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ29tbWFuZExpbmVBUElI
b3N0Q3VzdG9tLmNwcAotICAgIGJpbmRpbmdzL2pzL0pTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU0NyeXB0b0N1c3RvbS5jcHAKQEAgLTMzNDIsNiArMzM0MSw3IEBAIHNldChERURJQ0FU
RURXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSAke0RFUklWRURfU09VUkNFU19X
RUJDT1JFX0RJUn0vCiBzZXQoSURMX0FUVFJJQlVURVNfRklMRSAke1dFQkNPUkVfRElSfS9iaW5k
aW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0KQogCiBzZXQoV0VCQ09SRV9KU19CVUlMVElO
UworICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVn
eS5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5q
cwogKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNTUwODQyMTVjNWNkYzMzZGY0
YzMwZTY0NGJiYjdjYzhiMzZjZTIzMi4uNWNhYjhlMjRkZDU0MTc2YzkzMzcwZDYyMGM2YTQ4Y2Yy
NjdjOWFiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtNDIsNiArNDIsNyBAQAog
I2luY2x1ZGUgIkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5jcHAiCiAjaW5jbHVkZSAiSlNDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIgogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyNpbmNs
dWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcCIKICNpbmNsdWRlICJKU0NvdW50
UXVldWluZ1N0cmF0ZWd5LmNwcCIKICNlbmRpZgogI2lmIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDkwNzM1NmQxM2U1ZGFiZjgzNWFhMzQwYzUyMWM4MzIw
MzMxZmZhNjAuLmE2MjIyN2E5NWFjZGRhNWU0YjJkOWJjOTc0NWU1YjEwZmQ3ZDQ3MWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTI1MCw3ICsxMjUwLDkgQEAgV2ViUmVwbGF5
SW5wdXRzLmggOiAkKElOUFVUX0dFTkVSQVRPUl9TUEVDSUZJQ0FUSU9OUykgJChJTlBVVF9HRU5F
UkFUT1JfU0NSSVBUUykKICMgV2ViQ29yZSBKUyBCdWlsdGlucwogCiBXRUJDT1JFX0pTX0JVSUxU
SU5TID0gXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpz
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzIFwKKyMK
IAogYWxsIDogJChXRUJDT1JFX0pTX0JVSUxUSU5TOiUuanM9JUJ1aWx0aW5zLmNwcCkKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0
ZWd5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRl
Z3kuaAppbmRleCA2N2JlMWM4ZjgwM2Q3ZWE1YjcwZGRiNWJiMzNiMmM2ZDNhZWY4MjcwLi4xMDE0
YTg3M2QwOWQ0MDUxOTJhMTJjYWM1NWQxMWNlYzNlNWNlZDA3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuaApAQCAtMzMs
MTYgKzMzLDIwIEBACiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogCiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotLy8gQ291bnRRdWV1aW5nU3RyYXRlZ3kgaW1wbGVtZW50cyBhIHN0cmF0ZWd5IGZvciBz
dHJlYW1zIHRoYXQgY291bnRzIGNodW5rcyBvbmUgYnkgb25lIGFjY29yZGluZyB0byB0aGUgc3Bl
Yy4gU2VlCi0vLyBodHRwczovL3N0cmVhbXMuc3BlYy53aGF0d2cub3JnLyNjcXMtY2xhc3MKKy8v
IENvdW50UXVldWluZ1N0cmF0ZWd5IGlzIGltcGxlbWVudGVkIGFzIEpTIGJ1aWx0aW4uCisvLyBU
aGlzIGNsYXNzIG9ubHkgc2VydmVzIHRvIGludGVncmF0ZSB3aXRoIFdlYklETCBhdXRvLWdlbmVy
YXRlZCBjb2RlLgogY2xhc3MgQ291bnRRdWV1aW5nU3RyYXRlZ3kgOiBwdWJsaWMgUmVmQ291bnRl
ZDxDb3VudFF1ZXVpbmdTdHJhdGVneT4gewogcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q291bnRR
dWV1aW5nU3RyYXRlZ3k+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ291bnRRdWV1
aW5nU3RyYXRlZ3kpOyB9CisKICAgICB2aXJ0dWFsIH5Db3VudFF1ZXVpbmdTdHJhdGVneSgpIHsg
fQogCi0gICAgaW5saW5lIHN0YXRpYyBpbnQgc2l6ZSgpIHsgcmV0dXJuIDE7IH0KK3ByaXZhdGU6
CisgICAgQ291bnRRdWV1aW5nU3RyYXRlZ3koKSB7IH0KIH07CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuaWRsCmlu
ZGV4IDIzNGRkYTk5ZDUxMjM0ZTFlZDg5MGQxMmI0MWYyMWU2OWY2OGI4MDEuLjAxZWI3MDNiNDEx
ZTJmNmI5YjBlZmUyYjM0MjA2NTI3OGY4ZmYyN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmlkbApAQCAtMjgsOCAr
MjgsOCBAQAogICovCiAKIFsKLSAgICBDdXN0b21Db25zdHJ1Y3RvcihhbnkgcHJvcGVydGllcyks
CisgICAgSlNCdWlsdGluQ29uc3RydWN0b3IsCiAgICAgQ29uZGl0aW9uYWw9U1RSRUFNU19BUEks
CiBdIGludGVyZmFjZSBDb3VudFF1ZXVpbmdTdHJhdGVneSB7Ci0gICAgW0N1c3RvbUJpbmRpbmdd
IGRvdWJsZSBzaXplKCk7CisgICAgW0pTQnVpbHRpbl0gZG91YmxlIHNpemUoKTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRl
Z3kuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRl
Z3kuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTExNzM3ZDBjZTVlZGExMWYxNmU3NzhkYTFhM2RmMWNmYzg5YjAw
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3Vu
dFF1ZXVpbmdTdHJhdGVneS5qcwpAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE1IENhbm9uIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworZnVuY3Rpb24gc2l6ZSgpCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgcmV0dXJu
IDE7Cit9CisKK2Z1bmN0aW9uIGluaXRpYWxpemVDb3VudFF1ZXVpbmdTdHJhdGVneShwYXJhbWV0
ZXJzKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0
aGlzLCAiaGlnaFdhdGVyTWFyayIsIHsKKyAgICAgICAgdmFsdWU6IHBhcmFtZXRlcnMuaGlnaFdh
dGVyTWFyaywKKyAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgICAgICBlbnVtZXJhYmxl
OiB0cnVlLAorICAgICAgICB3cml0YWJsZTogdHJ1ZQorICAgIH0pOworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMjFhOWQ0MjVkYWQ3
MjQ4ZTg0NDIzOWM1OGNlODUwNmYyODA5ODhiMS4uMGNiZDllOWQzZTlmZGE1MDlkZWMxYWU1Zjk3
MGIzY2E3MDlkZWFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCkBAIC0zOTQ2LDYgKzM5NDYsMjAgQEAKICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rp
b258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rp
b258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+CisgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9y
bUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcQ291bnRRdWV1aW5n
U3RyYXRlZ3lCdWlsdGlucy5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwIj4K
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE3MzkwLDIw
ICsxNzQwNCw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAiPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2lu
Q2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
X1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVs
ZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2lu
Q2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQ
cm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQ
cm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxl
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcRE9NV3JhcHBlcldvcmxk
LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKaW5kZXggNmRkMzc5OWFkNWM2Mzk1NzNjZjdiNjg0M2NkOGRjZGIxNTc4NjJlYS4uYWYw
NThlMWYwZGMzYjVlZjg3ZDc3MmFiYTUwOGExMmUzYzU1N2YyYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAt
NDI0NSw5ICs0MjQ1LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpz
XEpTQ29tbWFuZExpbmVBUElIb3N0Q3VzdG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdz
XGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xKU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCI+Ci0gICAgICA8
RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0NTU1J1bGVDdXN0b20uY3BwIj4KICAgICAg
IDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlYjU1
ZmY5ZjEyYTgyZTJiMGFjNzMyODM0NTI3MTNlNGFkZTFiNjkwLi5kOWM3OTQyYjYzMzE1ODA0M2Ez
NzA4MDZlOTMyOTlhNTA0ZmY5MmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MTksNyArNjE5LDYgQEAKIAkJMTQ3OUZBRjQx
MDlBRTM3NTAwREVENjU1IC8qIFJlbmRlclJ1YnlUZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDc5RkFFQzEwOUFFMzc1MDBERUQ2NTUgLyogUmVu
ZGVyUnVieVRleHQuaCAqLzsgfTsKIAkJMTQ4QUZEQTUwQUY1ODM2MDAwOENDNzAwIC8qIEV4Y2Vw
dGlvbkhhbmRsZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxNDhBRkRBMzBBRjU4MzYwMDA4Q0M3MDAgLyogRXhjZXB0aW9uSGFuZGxlcnMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxNDhBRkRBNjBB
RjU4MzYwMDA4Q0M3MDAgLyogRXhjZXB0aW9uSGFuZGxlcnMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDhBRkRBNDBBRjU4MzYwMDA4Q0M3MDAgLyog
RXhjZXB0aW9uSGFuZGxlcnMubW0gKi87IH07Ci0JCTE0OEI0RkY4MUI2OTA0MjEwMEM5NTRFNCAv
KiBKU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0OEI0RkY3MUI2OTA0MjEwMEM5NTRFNCAvKiBKU0Nv
dW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCAqLzsgfTsKIAkJMTQ4QjRGRkUxQjY5MDRBQTAw
Qzk1NEU0IC8qIENvdW50UXVldWluZ1N0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDhCNEZGRDFCNjkwNEFBMDBDOTU0RTQgLyogQ291bnRR
dWV1aW5nU3RyYXRlZ3kuaCAqLzsgfTsKIAkJMTQ5NDdGRkQxMkY4MENEMjAwQTBGNjMxIC8qIERv
Y3VtZW50T3JkZXJlZE1hcC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNDk0N0ZGQjEyRjgwQ0QyMDBBMEY2MzEgLyogRG9jdW1lbnRPcmRlcmVkTWFw
LmNwcCAqLzsgfTsKIAkJMTQ5NDdGRkUxMkY4MENEMjAwQTBGNjMxIC8qIERvY3VtZW50T3JkZXJl
ZE1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ5
NDdGRkMxMkY4MENEMjAwQTBGNjMxIC8qIERvY3VtZW50T3JkZXJlZE1hcC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yNTk2LDYgKzI1OTUsNyBA
QAogCQk3QzQ4QTZEMTE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzQ4QTZDRjE5MUM5RDY1
MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmggKi87IH07CiAJCTdDNDkwMkEyMThCODI1Rjgw
MDdEOTI5OCAvKiBET01XaGVlbEV2ZW50SW50ZXJuYWwuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTg5RENBMEFDQzhCQkQw
MEEwQkM1MSAvKiBET01XaGVlbEV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJN0M0Qzk2REMxQUQ0
NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUwIC8qIEpT
UmVhZGFibGVTdHJlYW0uY3BwICovOyB9OworCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTIgLyog
Q291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTIgLyogQ291bnRR
dWV1aW5nU3RyYXRlZ3lCdWlsdGlucy5jcHAgKi87IH07CiAJCTdDNEM5NkRDMUFENDQ4MzUwMDM2
NUE1MSAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MSAvKiBSZWFk
YWJsZVN0cmVhbUJ1aWx0aW5zLmNwcCAqLzsgfTsKIAkJN0M0Qzk2REQxQUQ0NDgzNTAwMzY1QTUw
IC8qIEpTUmVhZGFibGVTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDNEM5NkQ5MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFt
LmggKi87IH07CiAJCTdDNEM5NkRFMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFt
UmVhZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDNEM5NkRBMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtUmVhZGVyLmNwcCAq
LzsgfTsKQEAgLTc3OTYsNyArNzc5Niw2IEBACiAJCTE0ODEzQkYzMDlFREY4OEUwMEY3NTdFMSAv
KiBJRExQYXJzZXIucG0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0gSURMUGFy
c2VyLnBtOyBwYXRoID0gc2NyaXB0cy9JRExQYXJzZXIucG07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTE0OEFGREEzMEFGNTgzNjAwMDhDQzcwMCAvKiBFeGNlcHRpb25IYW5kbGVycy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhjZXB0aW9uSGFuZGxlcnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQ4QUZEQTQwQUY1ODM2MDAwOENDNzAwIC8q
IEV4Y2VwdGlvbkhhbmRsZXJzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IEV4Y2VwdGlvbkhhbmRsZXJzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkxNDhCNEZGNzFCNjkwNDIxMDBDOTU0RTQgLyogSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3Rv
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NvdW50UXVldWlu
Z1N0cmF0ZWd5Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQ4QjRG
RkQxQjY5MDRBQTAwQzk1NEU0IC8qIENvdW50UXVldWluZ1N0cmF0ZWd5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvdW50UXVldWluZ1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTE0OEI0RkZGMUI2OTA0QzUwMEM5NTRFNCAvKiBDb3VudFF1ZXVp
bmdTdHJhdGVneS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ291bnRRdWV1aW5nU3RyYXRl
Z3kuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDk0N0ZGQjEyRjgwQ0QyMDBB
MEY2MzEgLyogRG9jdW1lbnRPcmRlcmVkTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERvY3VtZW50T3JkZXJlZE1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC05OTg3LDYgKzk5ODYsNyBAQAogCQk3QzQ4QTZDRjE5MUM5RDY1MDAwMjY2NzQg
LyogV2ViS2l0TmFtZXNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YktpdE5hbWVzcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzQ4QTZEMjE5
MUM5RDhFMDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJLaXROYW1lc3Bh
Y2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzRDOTZEODFBRDQ0ODM1MDAz
NjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUyIC8qIENvdW50UXVldWluZ1N0cmF0ZWd5QnVp
bHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ291bnRRdWV1
aW5nU3RyYXRlZ3lCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdD
NEM5NkQ4MUFENDQ4MzUwMDM2NUE1MSAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzRDOTZEOTFBRDQ0ODM1MDAzNjVB
NTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1JlYWRhYmxlU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNEM5
NkRBMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtUmVhZGVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYyMTUsNiArMTYyMTUsNyBAQAogCQk0
MUEwMjNGQTFBMzlGMTNBMDBGNzIyQ0YgLyogU3RyZWFtcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUyIC8qIENv
dW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwICovLAogCQkJCTdDNEM5NkQ4MUFENDQ4MzUw
MDM2NUE1MSAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmNwcCAqLywKIAkJCQk3QzRDOTZEODFB
RDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJN0M0Qzk2RDkx
QUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uaCAqLywKQEAgLTIxNjI4LDcgKzIx
NjI5LDYgQEAKIAkJCQk0OUVFRDE0RDEwNTE5NzFBMDAwOTlGQUIgLyogSlNDYW52YXNSZW5kZXJp
bmdDb250ZXh0Q3VzdG9tLmNwcCAqLywKIAkJCQk3QzMzRjM1ODFCNEEwNDQ4MDA1MDJDQUYgLyog
SlNDaGFyYWN0ZXJEYXRhQ3VzdG9tLmNwcCAqLywKIAkJCQlBNTg0RkUzNzE4NjREQUMxMDA4NDNC
MTAgLyogSlNDb21tYW5kTGluZUFQSUhvc3RDdXN0b20uY3BwICovLAotCQkJCTE0OEI0RkY3MUI2
OTA0MjEwMEM5NTRFNCAvKiBKU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCAqLywKIAkJ
CQkyMDlCNDU2QTE2Nzk2QTdFMDBFNTRFNEUgLyogSlNDcnlwdG9DdXN0b20uY3BwICovLAogCQkJ
CUUxNTdBOEU2MTgxODRDNjcwMDlGODIxRCAvKiBKU0NyeXB0b0tleUN1c3RvbS5jcHAgKi8sCiAJ
CQkJRTFGODBCODkxODMxNzJBMjAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpckN1c3RvbS5jcHAg
Ki8sCkBAIC0yODg5Myw3ICsyODg5Myw2IEBACiAJCQkJNTM2RDVBMjExOTNFMThFRTAwQ0U0Q0FC
IC8qIEhUTUxTcmNzZXRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg3MURDMjYwQTE1
MjA1NzAwQjEyQTY4IC8qIEhUTUxTdHlsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MzEwRDcxOTUxQjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMTQ4QjRGRjgxQjY5MDQyMTAwQzk1NEU0IC8qIEpTQ291bnRRdWV1aW5nU3RyYXRlZ3lD
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNENEU5NzIxMzBDN0NGRTAwN0JBNTQwIC8q
IEhUTUxTdW1tYXJ5RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxREIzMjBBMTUw
QkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTg3MURCMkUwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUNlbGxFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMjk0MTQsNiArMjk0MTMsNyBAQAogCQkJCTA3NzY2NEZDMTgz
RTZCNUMwMDEzM0I5MiAvKiBKU1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUI2NThGRkExMTUyMkVGM0EwMERENTU5NSAvKiBKU1JhZGlvTm9kZUxpc3Qu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERjMyMDEwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTUmFu
Z2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUyIC8qIENv
dW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Qzk2
REMxQUQ0NDgzNTAwMzY1QTUxIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkM0Qzk2REUxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVh
ZGFibGVTdHJlYW1Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKaW5kZXggZmY0MTVlZDI4
NDA4OGUyODk1NWE2NGMwZTYxMmE4NTZkZWVkZDk3Zi4uNjYwMGYzNGFlMDY1ZmZlMTE4YzNmMjhm
MWIwY2UxNThiMzJiZjk1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0zNCw5ICszNCw2IEBACiAjaW5jbHVkZSAiSlNBdWRp
b1RyYWNrQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0F1ZGlvVHJhY2tMaXN0Q3VzdG9tLmNwcCIK
ICNpbmNsdWRlICJKU0Jsb2JDdXN0b20uY3BwIgotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSNp
bmNsdWRlICJKU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCIKLSNlbmRpZgogI2luY2x1
ZGUgIkpTQ1NTUnVsZUN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNDU1NSdWxlTGlzdEN1c3RvbS5j
cHAiCiAjaW5jbHVkZSAiSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDb3VudFF1ZXVpbmdTdHJhdGVn
eUN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2NzMxYTk1OTE1MjYz
MDA4NDgxNGIwOGFkZjE1MWVjODk1OWVmMzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDb3VudFF1ZXVp
bmdTdHJhdGVneUN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE1IENhbm9uIEluYy4KLSAqIENvcHlyaWdodCAoQykgMjAxNSBJ
Z2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkLCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIHJlcXVp
cmVkIHRvIGJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0
aGVyIHRoZSBuYW1lIG9mIENhbm9uIEluYy4gbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBD
QU5PTiBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQ0FOT04gSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0gKiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIK
LSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoU1RSRUFN
U19BUEkpCi0jaW5jbHVkZSAiSlNDb3VudFF1ZXVpbmdTdHJhdGVneS5oIgotCi0jaW5jbHVkZSAi
SlNET01CaW5kaW5nLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0NvdW50UXVldWluZ1N0cmF0
ZWd5UHJvdG90eXBlRnVuY3Rpb25TaXplKEV4ZWNTdGF0ZSopCi17Ci0gICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc051bWJlcihDb3VudFF1ZXVpbmdTdHJhdGVneTo6c2l6ZSgpKSk7Ci19Ci0K
LUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0SlNDb3VudFF1ZXVpbmdTdHJh
dGVneShFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgSlNWYWx1ZSB2YWx1ZSA9IGV4ZWMtPmFyZ3Vt
ZW50KDApOwotICAgIGlmICh2YWx1ZS5pc051bGwoKSB8fCB2YWx1ZS5pc1VuZGVmaW5lZCgpKQot
ICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCBB
U0NJSUxpdGVyYWwoImNvbnN0cnVjdG9yIGFyZ3VtZW50IGNhbm5vdCBiZSBudWxsIG9yIHVuZGVm
aW5lZCIpKSk7Ci0KLSAgICBSZWY8Q291bnRRdWV1aW5nU3RyYXRlZ3k+IGNvdW50UXVldWluZ1N0
cmF0ZWd5ID0gYWRvcHRSZWYoKm5ldyBDb3VudFF1ZXVpbmdTdHJhdGVneSgpKTsKLSAgICBKU1Zh
bHVlIGpzQ291bnRRdWV1aW5nU3RyYXRlZ3kgPSBDUkVBVEVfRE9NX1dSQVBQRVIoanNDYXN0PERP
TUNvbnN0cnVjdG9yT2JqZWN0Kj4oZXhlYy0+Y2FsbGVlKCkpLT5nbG9iYWxPYmplY3QoKSwgQ291
bnRRdWV1aW5nU3RyYXRlZ3ksIGNvdW50UXVldWluZ1N0cmF0ZWd5LnB0cigpKTsKLQotICAgIGlm
ICghdmFsdWUuaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Nv
dW50UXVldWluZ1N0cmF0ZWd5KTsKLQotICAgIEpTT2JqZWN0KiBhcmd1bWVudE9iamVjdCA9IHZh
bHVlLmdldE9iamVjdCgpOwotICAgIEpTVmFsdWUganNIaWdoV2F0ZXJNYXJrID0gZ2V0UHJvcGVy
dHlGcm9tT2JqZWN0KCpleGVjLCAqYXJndW1lbnRPYmplY3QsICJoaWdoV2F0ZXJNYXJrIik7Ci0g
ICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOwotICAgIHNldFByb3BlcnR5VG9PYmplY3QoKmV4ZWMsICpqc0Nv
dW50UXVldWluZ1N0cmF0ZWd5LmdldE9iamVjdCgpLCAiaGlnaFdhdGVyTWFyayIsIGpzSGlnaFdh
dGVyTWFyayk7Ci0KLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQ291bnRRdWV1aW5nU3Ry
YXRlZ3kpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKaW5kZXggNWE0MWI0NjdlMjI1MGRk
OTljMTcxYmM2MDU0MWYyYzFjNDc3MmQ5Ny4uNGU2NWVlNzNlMjAzZjAzZDg2YTkyZGNmZmVhZDJj
NDA4ZjMyOTgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01C
aW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcu
Y3BwCkBAIC02NDYsNCArNjQ2LDI0IEBAIEVuY29kZWRKU1ZhbHVlIHRocm93VGhpc1R5cGVFcnJv
cihKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIGNvbnN0IGNoYXIqIGludGVyZmFjZU5hCiAgICAgcmV0
dXJuIHRocm93VHlwZUVycm9yKHN0YXRlLCBtYWtlU3RyaW5nKCJDYW4gb25seSBjYWxsICIsIGlu
dGVyZmFjZU5hbWUsICcuJywgZnVuY3Rpb25OYW1lLCAiIG9uIGluc3RhbmNlcyBvZiAiLCBpbnRl
cmZhY2VOYW1lKSk7CiB9CiAKK3ZvaWQgY2FsbEZ1bmN0aW9uV2l0aEN1cnJlbnRBcmd1bWVudHMo
SlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTT2JqZWN0JiB0aGlzT2JqZWN0LCBKU0M6OkpT
RnVuY3Rpb24mIGZ1bmN0aW9uKQoreworICAgIEpTQzo6Q2FsbERhdGEgY2FsbERhdGE7CisgICAg
SlNDOjpDYWxsVHlwZSBjYWxsVHlwZSA9IEpTQzo6Z2V0Q2FsbERhdGEoJmZ1bmN0aW9uLCBjYWxs
RGF0YSk7CisgICAgQVNTRVJUKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSk7CisKKyAgICBKU0M6
Ok1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3VtZW50czsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgc3RhdGUuYXJndW1lbnRDb3VudCgpOyArK2kpCisgICAgICAgIGFyZ3VtZW50cy5hcHBl
bmQoc3RhdGUudW5jaGVja2VkQXJndW1lbnQoaSkpOworICAgIEpTQzo6Y2FsbCgmc3RhdGUsICZm
dW5jdGlvbiwgY2FsbFR5cGUsIGNhbGxEYXRhLCAmdGhpc09iamVjdCwgYXJndW1lbnRzKTsKK30K
Kwordm9pZCBET01Db25zdHJ1Y3RvckpTQnVpbHRpbk9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0M6
OkpTQ2VsbCogY2VsbCwgSlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBhdXRvKiB0
aGlzT2JqZWN0ID0ganNDYXN0PERPTUNvbnN0cnVjdG9ySlNCdWlsdGluT2JqZWN0Kj4oY2VsbCk7
CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAg
IEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7CisgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1faW5pdGlhbGl6ZUZ1bmN0aW9uKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01CaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApp
bmRleCA3MzEyZThkOThkZGE4NzM2ZjllOTMwNTQ4NmZmYjYxZDg5ZDQxMWRlLi5lM2IzMjRmODUw
MzZiYzM5MzhiNmFjNWI4NDZjZWYyMDRmMjc5MzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUv
U3RydWN0dXJlSW5saW5lcy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvVHlwZWRBcnJheUlubGluZXMu
aD4KICNpbmNsdWRlIDxydW50aW1lL1R5cGVkQXJyYXlzLmg+CisjaW5jbHVkZSA8cnVudGltZS9X
cml0ZUJhcnJpZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9H
ZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTUyLDYgKzUzLDcgQEAK
IAogbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBIYXNoRW50cnk7CitjbGFzcyBKU0Z1bmN0aW9uOwog
fQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04Myw2ICs4NSwxNSBAQCBKU0M6OkVuY29kZWRK
U1ZhbHVlIHRocm93Q29uc3RydWN0b3JEb2N1bWVudFVuYXZhaWxhYmxlRXJyb3IoSlNDOjpFeGVj
U3RhdGUmLCBjbwogV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1ZSB0aHJvd0dldHRl
clR5cGVFcnJvcihKU0M6OkV4ZWNTdGF0ZSYsIGNvbnN0IGNoYXIqIGludGVyZmFjZU5hbWUsIGNv
bnN0IGNoYXIqIGF0dHJpYnV0ZU5hbWUpOwogV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNW
YWx1ZSB0aHJvd1RoaXNUeXBlRXJyb3IoSlNDOjpFeGVjU3RhdGUmLCBjb25zdCBjaGFyKiBpbnRl
cmZhY2VOYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpOwogCit2b2lkIGNhbGxGdW5jdGlv
bldpdGhDdXJyZW50QXJndW1lbnRzKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU09iamVjdCYgdGhp
c09iamVjdCwgSlNDOjpKU0Z1bmN0aW9uJik7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJD
bGFzcywgdHlwZW5hbWUgRE9NQ2xhc3M+IGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGNyZWF0
ZUZyb21KU0J1aWx0aW4oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTRnVuY3Rpb24mIGlu
aXRpYWxpemVGdW5jdGlvbiwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKK3sKKyAg
ICBKU0M6OkpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdCh0b0pTKCZzdGF0ZSwgJmdsb2JhbE9i
amVjdCwgRE9NQ2xhc3M6OmNyZWF0ZSgpKSk7CisgICAgY2FsbEZ1bmN0aW9uV2l0aEN1cnJlbnRB
cmd1bWVudHMoc3RhdGUsICpvYmplY3QsIGluaXRpYWxpemVGdW5jdGlvbik7CisgICAgcmV0dXJu
IEpTQzo6SlNWYWx1ZTo6ZW5jb2RlKG9iamVjdCk7Cit9CisKIC8vIEJhc2UgY2xhc3MgZm9yIGFs
bCBjb25zdHJ1Y3RvciBvYmplY3RzIGluIHRoZSBKU0MgYmluZGluZ3MuCiBjbGFzcyBET01Db25z
dHJ1Y3Rvck9iamVjdCA6IHB1YmxpYyBKU0RPTVdyYXBwZXIgewogcHVibGljOgpAQCAtMTAxLDYg
KzExMiwyMyBAQCBwcm90ZWN0ZWQ6CiAgICAgfQogfTsKIAorY2xhc3MgRE9NQ29uc3RydWN0b3JK
U0J1aWx0aW5PYmplY3QgOiBwdWJsaWMgRE9NQ29uc3RydWN0b3JPYmplY3QgeworcHVibGljOgor
ICAgIHR5cGVkZWYgRE9NQ29uc3RydWN0b3JPYmplY3QgQmFzZTsKKworcHJvdGVjdGVkOgorICAg
IERPTUNvbnN0cnVjdG9ySlNCdWlsdGluT2JqZWN0KEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAgICAgIDogRE9NQ29uc3RydWN0
b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpIHsgfQorCisgICAgc3RhdGljIHZvaWQg
dmlzaXRDaGlsZHJlbihKU0M6OkpTQ2VsbCosIEpTQzo6U2xvdFZpc2l0b3ImKTsKKworICAgIEpT
Qzo6SlNGdW5jdGlvbiogaW5pdGlhbGl6ZUZ1bmN0aW9uKCkgeyByZXR1cm4gbV9pbml0aWFsaXpl
RnVuY3Rpb24uZ2V0KCk7IH0KKyAgICB2b2lkIHNldEluaXRpYWxpemVGdW5jdGlvbihKU0M6OlZN
JiB2bSwgSlNDOjpKU0Z1bmN0aW9uJiBmdW5jdGlvbikgeyBtX2luaXRpYWxpemVGdW5jdGlvbi5z
ZXQodm0sIHRoaXMsICZmdW5jdGlvbik7IH0KKworcHJpdmF0ZToKKyAgICBKU0M6OldyaXRlQmFy
cmllcjxKU0M6OkpTRnVuY3Rpb24+IG1faW5pdGlhbGl6ZUZ1bmN0aW9uOworfTsKKwogV0VCQ09S
RV9FWFBPUlQgSlNDOjpTdHJ1Y3R1cmUqIGdldENhY2hlZERPTVN0cnVjdHVyZShKU0RPTUdsb2Jh
bE9iamVjdCosIGNvbnN0IEpTQzo6Q2xhc3NJbmZvKik7CiBXRUJDT1JFX0VYUE9SVCBKU0M6OlN0
cnVjdHVyZSogY2FjaGVET01TdHJ1Y3R1cmUoSlNET01HbG9iYWxPYmplY3QqLCBKU0M6OlN0cnVj
dHVyZSosIGNvbnN0IEpTQzo6Q2xhc3NJbmZvKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaAppbmRleCBhYzg5YWYzYjU2Y2NiNjc0MWI1
NDMyYjUzYjFmYmYxZjBhMDVjZTc2Li40MDk0MjNmYThhNGNiZDBlOWY0ZDEyZTljYTFlYzhkYjRj
YjJmNDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlND
bGllbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xp
ZW50RGF0YS5oCkBAIC0yMiw2ICsyMiw3IEBACiAjaWZuZGVmIFdlYkNvcmVKU0NsaWVudERhdGFf
aAogI2RlZmluZSBXZWJDb3JlSlNDbGllbnREYXRhX2gKIAorI2luY2x1ZGUgIkNvdW50UXVldWlu
Z1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyLmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgi
CiAjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIuaCIKICNpbmNsdWRlICJX
ZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCIKQEAgLTM2LDkgKzM3LDEwIEBAIGNsYXNzIFdl
YkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpWTTo6Q2xpZW50RGF0YSB7CiAgICAgZnJp
ZW5kIHZvaWQgaW5pdE5vcm1hbFdvcmxkQ2xpZW50RGF0YShKU0M6OlZNKik7CiAKIHB1YmxpYzoK
LSAgICBXZWJDb3JlSlNDbGllbnREYXRhKEpTQzo6Vk0mIHZtKQorICAgIGV4cGxpY2l0IFdlYkNv
cmVKU0NsaWVudERhdGEoSlNDOjpWTSYgdm0pCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogICAg
ICAgICA6IG1fcmVhZGFibGVTdHJlYW1CdWlsdGlucygmdm0pCisgICAgICAgICwgbV9jb3VudFF1
ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCZ2bSkKICNlbmRpZgogICAgIHsKICAgICB9CkBAIC03Nyw2
ICs3OSw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICAgICBSZWFkYWJs
ZVN0cmVhbUJ1aWx0aW5zV3JhcHBlciYgcmVhZGFibGVTdHJlYW1CdWlsdGlucygpIHsgcmV0dXJu
IG1fcmVhZGFibGVTdHJlYW1CdWlsdGluczsgfQorICAgIENvdW50UXVldWluZ1N0cmF0ZWd5QnVp
bHRpbnNXcmFwcGVyJiBjb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCkgeyByZXR1cm4gbV9j
b3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zOyB9CiAjZW5kaWYKIAogcHJpdmF0ZToKQEAgLTg1
LDYgKzg4LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICAgICBSZWFk
YWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnM7CisgICAg
Q291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXIgbV9jb3VudFF1ZXVpbmdTdHJhdGVn
eUJ1aWx0aW5zOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDlhZjQ0ZGNlY2I0MDVmMDI2ZmE4NDNl
NmMyZWVkMzMwNzdhZmEyMDIuLmRlYzZhNzhlYWU1YWJmYzAxZWNhZmVjODA2OGVhMjc4M2FkZjYw
MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCkBAIC01NDUsNiArNTQ1LDEyIEBAIHN1YiBHZXRBdHRyaWJ1dGVTZXR0ZXJOYW1l
CiAgICAgcmV0dXJuICJzZXRKUyIgLiAkaW50ZXJmYWNlTmFtZSAuICRjb2RlR2VuZXJhdG9yLT5X
S191Y2ZpcnN0KCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFtZSkgLiAoJGF0dHJpYnV0ZS0+c2ln
bmF0dXJlLT50eXBlID1+IC9Db25zdHJ1Y3RvciQvID8gIkNvbnN0cnVjdG9yIiA6ICIiKTsKIH0K
IAorc3ViIEdldEpTQnVpbHRpbkZ1bmN0aW9uTmFtZQoreworICAgIG15ICgkY2xhc3NOYW1lLCAk
ZnVuY3Rpb25OYW1lKSA9IEBfOworICAgIHJldHVybiAkY29kZUdlbmVyYXRvci0+V0tfbGNmaXJz
dChzdWJzdHIgJGNsYXNzTmFtZSwgMikgLiAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkZnVu
Y3Rpb25OYW1lKSAuICJDb2RlR2VuZXJhdG9yIjsKK30KKwogc3ViIEdldEZ1bmN0aW9uTmFtZQog
ewogICAgIG15ICgkY2xhc3NOYW1lLCAkZnVuY3Rpb24pID0gQF87CkBAIC01NTUsNyArNTYxLDcg
QEAgc3ViIEdldEZ1bmN0aW9uTmFtZQogICAgIH0KIAogICAgIGlmICgkZnVuY3Rpb24tPnNpZ25h
dHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQnVpbHRpbiJ9KSB7Ci0gICAgICAgIHJldHVy
biAkY29kZUdlbmVyYXRvci0+V0tfbGNmaXJzdCgkc2NvcGVOYW1lKSAuICRjb2RlR2VuZXJhdG9y
LT5XS191Y2ZpcnN0KCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1lKSAuICJDb2RlR2VuZXJhdG9y
IjsKKyAgICAgICAgcmV0dXJuIEdldEpTQnVpbHRpbkZ1bmN0aW9uTmFtZSgkY2xhc3NOYW1lLCAk
ZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZSk7CiAgICAgfQogCiAgICAgbXkgJGtpbmQgPSAkZnVu
Y3Rpb24tPmlzU3RhdGljID8gIkNvbnN0cnVjdG9yIiA6ICJQcm90b3R5cGUiOwpAQCAtNzgzLDcg
Kzc4OSw4IEBAIHN1YiBJbnN0YW5jZU5lZWRzVmlzaXRDaGlsZHJlbgogICAgIHJldHVybiAkaW50
ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21NYXJrRnVuY3Rpb24ifQogICAg
ICAgICB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifQog
ICAgICAgICB8fCAkaW50ZXJmYWNlLT5uYW1lIGVxICJFdmVudFRhcmdldCIKLSAgICAgICAgfHwg
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlcG9ydEV4dHJhTWVtb3J5Q29zdCJ9
OworICAgICAgICB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVwb3J0RXh0
cmFNZW1vcnlDb3N0In0KKyAgICAgICAgfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkpTQnVpbHRpbkNvbnN0cnVjdG9yIn07CiB9CiAKIHN1YiBHZXRJbXBsQ2xhc3NOYW1lCkBA
IC00NTMxLDYgKzQ1MzgsMTYgQEAgc3ViIEdlbmVyYXRlUHJvdG90eXBlRGVjbGFyYXRpb24KICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9O1xuXG4iKTsKIH0KIAorc3ViIEdldFBhcmVudENvbnN0
cnVjdG9yQ2xhc3NOYW1lCit7CisgICAgbXkgJGludGVyZmFjZSA9IHNoaWZ0OworICAgIGlmICgk
aW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNCdWlsdGluQ29uc3RydWN0b3IifSkg
eworICAgICAgICByZXR1cm4gIkRPTUNvbnN0cnVjdG9ySlNCdWlsdGluT2JqZWN0IjsKKyAgICB9
CisgICAgcmV0dXJuICJET01Db25zdHJ1Y3Rvck9iamVjdCI7CisKK30KKwogc3ViIEdlbmVyYXRl
Q29uc3RydWN0b3JEZWNsYXJhdGlvbgogewogICAgIG15ICRvdXRwdXRBcnJheSA9IHNoaWZ0OwpA
QCAtNDUzOSwxNCArNDU1NiwxNSBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1Y3RvckRlY2xhcmF0aW9u
CiAgICAgbXkgJGludGVyZmFjZU5hbWUgPSBzaGlmdDsKIAogICAgIG15ICRjb25zdHJ1Y3RvckNs
YXNzTmFtZSA9ICIke2NsYXNzTmFtZX1Db25zdHJ1Y3RvciI7CisgICAgbXkgJHBhcmVudENsYXNz
TmFtZSA9IEdldFBhcmVudENvbnN0cnVjdG9yQ2xhc3NOYW1lKCRpbnRlcmZhY2UpOwogCi0gICAg
cHVzaChAJG91dHB1dEFycmF5LCAiY2xhc3MgJHtjb25zdHJ1Y3RvckNsYXNzTmFtZX0gOiBwdWJs
aWMgRE9NQ29uc3RydWN0b3JPYmplY3Qge1xuIik7CisgICAgcHVzaChAJG91dHB1dEFycmF5LCAi
Y2xhc3MgJHtjb25zdHJ1Y3RvckNsYXNzTmFtZX0gOiBwdWJsaWMgIiAuICRwYXJlbnRDbGFzc05h
bWUgLiAiIHtcbiIpOwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgInByaXZhdGU6XG4iKTsKICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgJHtjb25zdHJ1Y3RvckNsYXNzTmFtZX0oSlNDOjpT
dHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCopO1xuIik7CiAgICAgcHVzaChAJG91dHB1dEFy
cmF5LCAiICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0
Kik7XG5cbiIpOwogCiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAicHVibGljOlxuIik7Ci0gICAg
cHVzaChAJG91dHB1dEFycmF5LCAiICAgIHR5cGVkZWYgRE9NQ29uc3RydWN0b3JPYmplY3QgQmFz
ZTtcbiIpOworICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB0eXBlZGVmICIgLiAkcGFyZW50
Q2xhc3NOYW1lIC4gIiBCYXNlO1xuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHN0
YXRpYyAkY29uc3RydWN0b3JDbGFzc05hbWUqIGNyZWF0ZShKU0M6OlZNJiB2bSwgSlNDOjpTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdClcbiIpOwog
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB7XG4iKTsKICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICIgICAgICAgICRjb25zdHJ1Y3RvckNsYXNzTmFtZSogcHRyID0gbmV3IChOb3ROdWxsLCBK
U0M6OmFsbG9jYXRlQ2VsbDwkY29uc3RydWN0b3JDbGFzc05hbWU+KHZtLmhlYXApKSAkY29uc3Ry
dWN0b3JDbGFzc05hbWUoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpO1xuIik7CkBAIC00NzY4LDYg
KzQ3ODYsMTQgQEAgRU5ECiB9CiAKIEVORAorICAgICAgICB9IGVsc2lmICgkaW50ZXJmYWNlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNCdWlsdGluQ29uc3RydWN0b3IifSkgeworICAgICAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
ICR7Y29uc3RydWN0b3JDbGFzc05hbWV9Ojpjb25zdHJ1Y3Qke2NsYXNzTmFtZX0oSlNDOjpFeGVj
U3RhdGUqIHN0YXRlKVxuIik7CisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ7XG4i
KTsKKworICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGF1dG8qIGNhc3RlZFRo
aXMgPSBqc0Nhc3Q8JHtjb25zdHJ1Y3RvckNsYXNzTmFtZX0qPihzdGF0ZS0+Y2FsbGVlKCkpO1xu
Iik7CisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcmV0dXJuIGNyZWF0ZUZy
b21KU0J1aWx0aW48JHtjbGFzc05hbWV9LCAke2ludGVyZmFjZU5hbWV9Pigqc3RhdGUsICpjYXN0
ZWRUaGlzLT5pbml0aWFsaXplRnVuY3Rpb24oKSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgp
KTtcbiIpOworCisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIpOwogICAg
ICAgICB9IGVsc2lmICghSGFzQ3VzdG9tQ29uc3RydWN0b3IoJGludGVyZmFjZSkgJiYgKCEkaW50
ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRDb25zdHJ1Y3RvciJ9IHx8ICRnZW5l
cmF0aW5nTmFtZWRDb25zdHJ1Y3RvcikpIHsKICAgICAgICAgICAgIG15ICRvdmVybG9hZGVkSW5k
ZXhTdHJpbmcgPSAiIjsKICAgICAgICAgICAgIGlmICgkZnVuY3Rpb24tPntvdmVybG9hZGVkSW5k
ZXh9ICYmICRmdW5jdGlvbi0+e292ZXJsb2FkZWRJbmRleH0gPiAwKSB7CkBAIC00ODgyLDcgKzQ5
MDgsNiBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1Y3RvckhlbHBlck1ldGhvZHMKICAgICBteSAkZ2Vu
ZXJhdGluZ05hbWVkQ29uc3RydWN0b3IgPSBzaGlmdDsKIAogICAgIG15ICRjb25zdHJ1Y3RvckNs
YXNzTmFtZSA9ICRnZW5lcmF0aW5nTmFtZWRDb25zdHJ1Y3RvciA/ICIke2NsYXNzTmFtZX1OYW1l
ZENvbnN0cnVjdG9yIiA6ICIke2NsYXNzTmFtZX1Db25zdHJ1Y3RvciI7Ci0gICAgbXkgJGNvbnN0
cnVjdG9yUGFyZW50Q2xhc3NOYW1lID0gJGdlbmVyYXRpbmdOYW1lZENvbnN0cnVjdG9yID8gIkRP
TUNvbnN0cnVjdG9yV2l0aERvY3VtZW50IiA6ICJET01Db25zdHJ1Y3Rvck9iamVjdCI7CiAgICAg
bXkgJGxlYXN0Q29uc3RydWN0b3JMZW5ndGggPSAwOwogICAgIGlmICgkY29kZUdlbmVyYXRvci0+
SXNDb25zdHJ1Y3RvclRlbXBsYXRlKCRpbnRlcmZhY2UsICJFdmVudCIpKSB7CiAgICAgICAgICRs
ZWFzdENvbnN0cnVjdG9yTGVuZ3RoID0gMTsKQEAgLTQ5MDEsNyArNDkyNiw3IEBAIHN1YiBHZW5l
cmF0ZUNvbnN0cnVjdG9ySGVscGVyTWV0aG9kcwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgImNv
bnN0IENsYXNzSW5mbyAke2NvbnN0cnVjdG9yQ2xhc3NOYW1lfTo6c19pbmZvID0geyBcIiR7dmlz
aWJsZUludGVyZmFjZU5hbWV9Q29uc3RydWN0b3JcIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRF
X01FVEhPRF9UQUJMRSgkY29uc3RydWN0b3JDbGFzc05hbWUpIH07XG5cbiIpOwogCiAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAiJHtjb25zdHJ1Y3RvckNsYXNzTmFtZX06OiR7Y29uc3RydWN0b3JD
bGFzc05hbWV9KFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KVxuIik7Ci0gICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIDogJHtjb25zdHJ1Y3Rv
clBhcmVudENsYXNzTmFtZX0oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpXG4iKTsKKyAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICIgICAgOiBCYXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KVxuIik7
CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAie1xuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAifVxuXG4iKTsKIApAQCAtNDkzNiw2ICs0OTYxLDExIEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVj
dG9ySGVscGVyTWV0aG9kcwogICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcmVpZnlT
dGF0aWNQcm9wZXJ0aWVzKHZtLCAke2NsYXNzTmFtZX1Db25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAq
dGhpcyk7XG4iKTsKICAgICB9CiAKKyAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkpTQnVpbHRpbkNvbnN0cnVjdG9yIn0pIHsKKyAgICAgICAgbXkgJGluaXRpYWxpemVG
dW5jdGlvbk5hbWUgPSBHZXRKU0J1aWx0aW5GdW5jdGlvbk5hbWUoJHtjbGFzc05hbWV9LCAiaW5p
dGlhbGl6ZSIgLiAke2ludGVyZmFjZU5hbWV9KTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAiICAgIHNldEluaXRpYWxpemVGdW5jdGlvbih2bSwgKkpTQzo6SlNGdW5jdGlvbjo6Y3JlYXRl
QnVpbHRpbkZ1bmN0aW9uKHZtLCAke2luaXRpYWxpemVGdW5jdGlvbk5hbWV9KHZtKSwgZ2xvYmFs
T2JqZWN0KSk7XG4iKTsKKyAgICB9CisKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIp
OwogCiAgICAgaWYgKElzQ29uc3RydWN0YWJsZSgkaW50ZXJmYWNlKSkgewpAQCAtNDk5Niw3ICs1
MDI2LDcgQEAgc3ViIElzQ29uc3RydWN0YWJsZQogewogICAgIG15ICRpbnRlcmZhY2UgPSBzaGlm
dDsKIAotICAgIHJldHVybiBIYXNDdXN0b21Db25zdHJ1Y3RvcigkaW50ZXJmYWNlKSB8fCAkaW50
ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3IifSB8fCAkaW50ZXJmYWNl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRDb25zdHJ1Y3RvciJ9IHx8ICRpbnRlcmZhY2Ut
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25zdHJ1Y3RvclRlbXBsYXRlIn07CisgICAgcmV0dXJu
IEhhc0N1c3RvbUNvbnN0cnVjdG9yKCRpbnRlcmZhY2UpIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJDb25zdHJ1Y3RvciJ9IHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJOYW1lZENvbnN0cnVjdG9yIn0gfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkNvbnN0cnVjdG9yVGVtcGxhdGUifSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiSlNCdWlsdGluQ29uc3RydWN0b3IifTsKIH0KIAogc3ViIEhlYWRlck5lZWRzUHJv
dG90eXBlRGVjbGFyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvSURMQXR0cmlidXRlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0lETEF0dHJpYnV0ZXMudHh0CmluZGV4IDVlNTg0OGVlYTJkMDEwOGMyMmZkYmM5ZDBkOWZlMjY0
OTVlMDc5NWQuLjU2MmY3MjRiYmJiNTQyYzg4NGRhNDJmYmMxZDdlOGZlMGQ5MjUxZDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dApA
QCAtNzQsNiArNzQsNyBAQCBJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3RvcgogSW50ZXJmYWNl
TmFtZT0qCiBJc1dlYWtDYWxsYmFjawogSlNCdWlsdGluCitKU0J1aWx0aW5Db25zdHJ1Y3Rvcgog
SlNDdXN0b21EZWZpbmVPd25Qcm9wZXJ0eQogSlNDdXN0b21EZWZpbmVPd25Qcm9wZXJ0eU9uUHJv
dG90eXBlCiBKU0N1c3RvbUZpbmFsaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3Bw
CmluZGV4IGNmNGQwNDE2YjMyMmFiYWU1NjQ2Njc0ZWQ2YWMwZmZhMTMwZGI0YTMuLmUwNjc0MGE1
MDk2MGVlOTdjMzk5YzVkY2E4NWMzNWY1ZmExNmVmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVE
T01PYmplY3QuY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBK
U1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZSA9IHsgMiwgMywgdHJ1ZSwgSlNUZXN0QWN0aXZlRE8K
IGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3Rvcjo6c19pbmZv
ID0geyAiVGVzdEFjdGl2ZURPTU9iamVjdENvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwg
Q1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3RvcikgfTsK
IAogSlNUZXN0QWN0aXZlRE9NT2JqZWN0Q29uc3RydWN0b3I6OkpTVGVzdEFjdGl2ZURPTU9iamVj
dENvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQotICAgIDogRE9NQ29uc3RydWN0b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxP
YmplY3QpCisgICAgOiBCYXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2Fs
bGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENhbGxiYWNrLmNwcAppbmRleCA0ODZmYTk0ZWUwZTkwOWQyN2I5N2M3OGY2NDZmMjg0NzhhY2Vl
YjMzLi43Yjc1NzFjYmVhNWZmMzlhNjNhYjY3MzBiZDlkZDI0NmY3ODRmZGQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2su
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
YWxsYmFjay5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgQ09NUElMRV9BU1NFUlQoMiA9PSBUZXN0Q2Fs
bGJhY2s6OkNPTlNUQU5UMiwgVGVzdENhbGxiYWNrRW51bUNPTlNUQU5UMklzV3JvbmdVc2UKIGNv
bnN0IENsYXNzSW5mbyBKU1Rlc3RDYWxsYmFja0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0
Q2FsbGJhY2tDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFC
TEUoSlNUZXN0Q2FsbGJhY2tDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0Q2FsbGJhY2tDb25zdHJ1
Y3Rvcjo6SlNUZXN0Q2FsbGJhY2tDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IERPTUNvbnN0cnVjdG9yT2JqZWN0
KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9i
amVjdCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21D
b25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAKaW5kZXggZTIyZGY3NWYyMTQ1NjFk
NTg2YmE4YWNlMDEwMTkwZTM0MTFhZTU4NC4uMzhlMWVjMzE0YTY5NDRjYzY5OTI5MDhjZTNkZGZk
MTM5MTUxOGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9t
Q29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHB1
YmxpYzoKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVy
ZmFjZU9iamVjdENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0Q3VzdG9tQ29uc3RydWN0b3JX
aXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFU
RV9NRVRIT0RfVEFCTEUoSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmpl
Y3RDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZh
Y2VPYmplY3RDb25zdHJ1Y3Rvcjo6SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZh
Y2VPYmplY3RDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IERPTUNvbnN0cnVjdG9yT2JqZWN0KHN0cnVjdHVyZSwg
Z2xvYmFsT2JqZWN0KQorICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKaW5kZXggNmI0OTE5YWMxZTVk
N2EwNGEwMjRjMmRhMTg4MTkyMTEzNmI0MjY0NC4uODk2MmYxMzJkOTljM2NjMTA1YzcyOGEyNmM1
MDBmNmEwMTZjMjNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCkBA
IC0xMDMsNyArMTAzLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RDdXN0b21OYW1l
ZEdldHRlclRhYmxlID0geyAxLCAxLCB0cnVlLCBKU1Rlc3RDdXN0b20KIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXJDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRI
T0RfVEFCTEUoSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0
Q3VzdG9tTmFtZWRHZXR0ZXJDb25zdHJ1Y3Rvcjo6SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJDb25z
dHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKLSAgICA6IERPTUNvbnN0cnVjdG9yT2JqZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0
KQorICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKIHsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29u
c3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCmluZGV4IGJhMzkyOTQxMDhhMTUwM2U5ZWNhZDQ2MTU4
MGY3ODE1ZGM3ZmI1ZWIuLmZiNDgzMGRkOWY5YzczMzdlMGRmMzA3ZTA0OGFhNWNmZDcxMmI0N2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFdmVudENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTEzMiw3ICsxMzIsNyBA
QCBib29sIGZpbGxUZXN0RXZlbnRDb25zdHJ1Y3RvckluaXQoVGVzdEV2ZW50Q29uc3RydWN0b3JJ
bml0JiBldmVudEluaXQsIEpTRGljdGlvbgogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEV2ZW50Q29u
c3RydWN0b3JDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdEV2ZW50Q29uc3RydWN0b3JDb25z
dHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0RXZl
bnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yKSB9OwogCiBKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29u
c3RydWN0b3I6OkpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IERPTUNvbnN0
cnVjdG9yT2JqZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIDogQmFzZShzdHJ1Y3R1
cmUsIGdsb2JhbE9iamVjdCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKaW5kZXgg
ZWZjOWYwYmJiNDFiNTc4ODhjYWM2ZDVkYzI5ZGNiODU2NDI4YWQwMi4uODRjNTE1MWJkNjZiZjdm
MTI5MDE0MWY1NDE1YTkwYzAyMTQ2Y2E1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCkBA
IC0xMTIsNyArMTEyLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RFdmVudFRhcmdl
dFRhYmxlID0geyAxLCAxLCB0cnVlLCBKU1Rlc3RFdmVudFRhcmdldFQKIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3RFdmVudFRhcmdldENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0RXZlbnRUYXJn
ZXRDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNU
ZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0RXZlbnRUYXJnZXRDb25zdHJ1
Y3Rvcjo6SlNUZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IERPTUNvbnN0cnVjdG9yT2Jq
ZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2Jh
bE9iamVjdCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAppbmRleCA4YzRjODg3ZTcxY2Rh
MGY5NjZiMTJhNTFiYjhkZjFlN2FlY2JlNjg3Li43NjI3YTUzM2I0M2UyMTBjZmE1MzllNDlmMzY2
ODM3ZjkwNTZmYzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcApAQCAtOTksNyArOTksNyBAQCBz
dGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEV4Y2VwdGlvblRhYmxlID0geyAxLCAxLCB0cnVl
LCBKU1Rlc3RFeGNlcHRpb25UYWJsZQogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEV4Y2VwdGlvbkNv
bnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0RXhjZXB0aW9uQ29uc3RydWN0b3IiLCAmQmFzZTo6
c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9y
KSB9OwogCiBKU1Rlc3RFeGNlcHRpb25Db25zdHJ1Y3Rvcjo6SlNUZXN0RXhjZXB0aW9uQ29uc3Ry
dWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCi0gICAgOiBET01Db25zdHJ1Y3Rvck9iamVjdChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkK
KyAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiB7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlz
UmVhY2hhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcAppbmRleCAzYTEwYzhhMWQ5NzkwNjE0NGE5ODI3
NzdlNjdmZDU0MmU3Y2QxOTBlLi5iZDQ3Yzg0ZjlhMzdlNGYzZDQwMDYwNjMxZDc5ZjU1ZmExZGE3
ZjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCkBAIC04Miw3
ICs4Miw3IEBAIHB1YmxpYzoKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hh
YmxlQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIlRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ29uc3Ry
dWN0b3IiLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEdlbmVy
YXRlSXNSZWFjaGFibGVDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJs
ZUNvbnN0cnVjdG9yOjpKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ29uc3RydWN0b3IoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCi0gICAgOiBE
T01Db25zdHJ1Y3Rvck9iamVjdChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKKyAgICA6IEJhc2Uo
c3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKaW5k
ZXggNGEwMGY3ZDg3YjY1YWZhYjkyOTMzZGI3NzQwZWM0OGYxNWFlOWZhMy4uNjhmOWFmMjUzNmVl
MzRmZDEzY2UwODQzNTJjZDJmNGVhMjlhMmJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKQEAg
LTI5MSw3ICsyOTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdEludGVy
ZmFjZUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKU1Rlc3RJbnRlcmZhYwogY29uc3QgQ2xhc3NJbmZv
IEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0SW50ZXJmYWNlQ29u
c3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdElu
dGVyZmFjZUNvbnN0cnVjdG9yKSB9OwogCiBKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6SlNU
ZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCi0gICAgOiBET01Db25zdHJ1Y3Rvck9iamVjdChzdHJ1Y3R1
cmUsIGdsb2JhbE9iamVjdCkKKyAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAppbmRl
eCBiYzRlOTFjODhhNTI2MmZjNjRjZTYzNmUwY2RkZDA2YmQ3MzZhYzBjLi4xZDAyZmUzY2UwNjQ1
MjAwZGVmYjQzMjIzN2MxMDYxODZmOTMxYTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBAIC04OSw3ICs4OSw3IEBAIHB1YmxpYzoKIGNvbnN0IENs
YXNzSW5mbyBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3I6OnNfaW5mbyA9
IHsgIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZv
LCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25z
dHJ1Y3RvcikgfTsKIAogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yOjpK
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCi0gICAgOiBET01Db25zdHJ1Y3Rv
ck9iamVjdChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKKyAgICA6IEJhc2Uoc3RydWN0dXJlLCBn
bG9iYWxPYmplY3QpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcApp
bmRleCA0N2IzNmIzMDQ4ZDY2NzZiZjE1ZmFhMDBkY2ZhYzU5NzY2OTBlMmY0Li40NTAwZmVkYzQ5
Y2YzYzY4MzAyOTYzMDJhNDIzNTVjZWU1NThiZmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29u
c3RydWN0b3IuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIlRlc3ROYW1l
ZENvbnN0cnVjdG9yQ29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKEpTVGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0TmFt
ZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0
b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
Ci0gICAgOiBET01Db25zdHJ1Y3Rvck9iamVjdChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKKyAg
ICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiB7CiB9CiAKQEAgLTE0OSw3ICsxNDks
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JO
YW1lZENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKUwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE5hbWVk
Q29uc3RydWN0b3JOYW1lZENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJBdWRpb0NvbnN0cnVjdG9y
IiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3ROYW1lZENvbnN0
cnVjdG9yTmFtZWRDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVk
Q29uc3RydWN0b3I6OkpTVGVzdE5hbWVkQ29uc3RydWN0b3JOYW1lZENvbnN0cnVjdG9yKFN0cnVj
dHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDog
RE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAg
OiBCYXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKaW5kZXgg
MzJhNjM0MTBkNmY4M2M2OTMyODNhOWY0MTQwYzY4ZjBhZTdlMWY0Ni4uOGI5NWI1NDQ1ZWIxOTBi
OTgxY2Y1NjgxMjExZTZhMWFlZjljNzM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcApAQCAtOTgsNyArOTgsNyBA
QCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdE5vZGVDb25zdHJ1Y3Rvcjo6Y29u
c3RydWN0SlNUZXN0Tm9kZShFeGVjU3RhdAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE5vZGVDb25z
dHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdE5vZGVDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8s
IDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0Tm9kZUNvbnN0cnVjdG9yKSB9OwogCiBKU1Rl
c3ROb2RlQ29uc3RydWN0b3I6OkpTVGVzdE5vZGVDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IERPTUNvbnN0cnVj
dG9yT2JqZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQorICAgIDogQmFzZShzdHJ1Y3R1cmUs
IGdsb2JhbE9iamVjdCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuY3Bw
CmluZGV4IDdmM2RkNTkzY2YwZTExNWRmNDBjZjQ1ZDY5YmJjMWIwYjAzNjVmY2MuLmFkM2FhMTM3
N2Q4NWM5MTViMmQyMmZmNTg3ZjUyZTI4Nzc2ZmYxYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0
ZXJtaW5pc3RpYy5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCBwdWJsaWM6CiBjb25zdCBDbGFzc0lu
Zm8gSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpY0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0Tm9u
ZGV0ZXJtaW5pc3RpY0NvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhP
RF9UQUJMRShKU1Rlc3ROb25kZXRlcm1pbmlzdGljQ29uc3RydWN0b3IpIH07CiAKIEpTVGVzdE5v
bmRldGVybWluaXN0aWNDb25zdHJ1Y3Rvcjo6SlNUZXN0Tm9uZGV0ZXJtaW5pc3RpY0NvbnN0cnVj
dG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQotICAgIDogRE9NQ29uc3RydWN0b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisg
ICAgOiBCYXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogewogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4
IDk4M2ZlODNhOWZlNzdhYTM5Mzc3MTE2YzZiNWE1ODRkMzU1MGY1NzkuLmU2NmQ4YThlZGM2MDQ3
ODAzNWJiNTExM2I4Zjc2MjAzNDRlYWFjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC00ODMsNyArNDgzLDcg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6Y29u
c3RydWN0SlNUZXN0T2JqKEV4ZWNTdGF0ZSoKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RPYmpDb25z
dHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdE9iamVjdENvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5m
bywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RPYmpDb25zdHJ1Y3RvcikgfTsKIAogSlNU
ZXN0T2JqQ29uc3RydWN0b3I6OkpTVGVzdE9iakNvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0
dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDogRE9NQ29uc3RydWN0
b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgOiBCYXNlKHN0cnVjdHVyZSwg
Z2xvYmFsT2JqZWN0KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9ycy5jcHAKaW5kZXggMGE1ZGZhM2E4MGFhOGVhOTBlNzkxNzhjYWI1ODIyZGQ2ZTgwNTlj
NS4uNzUzMDg4MmUzM2ExN2Q4ODE1NGVhMzY0YTE5OWY0ZmI0NmUxYmQ2OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcApAQCAtMTcwLDcgKzE3MCw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
c0NvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9yc0NvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJM
RShKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3IpIH07CiAKIEpTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rvcjo6SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9yc0NvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQotICAgIDogRE9NQ29uc3RydWN0b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9i
YWxPYmplY3QpCisgICAgOiBCYXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T3ZlcnJpZGVCdWlsdGlucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5jcHAKaW5kZXggMGYwNTlmYjY2ZTg1NjQ5NmYx
YWQwODMwMGEyZjI3MTYxNzg0NDc5OS4uYjJlNDMxN2VhNDViN2U4YWNjMWJjYjZmYzY3MDMxNGEx
NzFhOTJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcApAQCAtMTA1LDcg
KzEwNSw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0T3ZlcnJpZGVCdWlsdGluc1Rh
YmxlID0geyAxLCAxLCB0cnVlLCBKU1Rlc3RPdmVycmlkCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0
T3ZlcnJpZGVCdWlsdGluc0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0T3ZlcnJpZGVCdWls
dGluc0NvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShK
U1Rlc3RPdmVycmlkZUJ1aWx0aW5zQ29uc3RydWN0b3IpIH07CiAKIEpTVGVzdE92ZXJyaWRlQnVp
bHRpbnNDb25zdHJ1Y3Rvcjo6SlNUZXN0T3ZlcnJpZGVCdWlsdGluc0NvbnN0cnVjdG9yKFN0cnVj
dHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDog
RE9NQ29uc3RydWN0b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgOiBCYXNl
KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IGI2YWFiYjA3NmRi
ZTBjY2YzNjRjZWM5OTE2N2ZhOTkxMmU5ZTVlNmEuLjZlOTU4YzlkM2RiZjRlYmQ4NGFlYjlmODVk
NzVhYjU2MTZhMDc5OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC05Niw3ICs5Niw3IEBAIHB1YmxpYzoKIGNvbnN0
IENsYXNzSW5mbyBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3Rv
cjo6c19pbmZvID0geyAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVj
dG9yIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3I6OkpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDogRE9NQ29uc3RydWN0b3JPYmplY3Qoc3RydWN0
dXJlLCBnbG9iYWxPYmplY3QpCisgICAgOiBCYXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQog
ewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0VHlwZWRlZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAppbmRleCA2YjA4Yzg0Mzg0MTI4MDJhMjIyNDA0Yzk3
NjJmOGRmYmJlODU2OTM5Li41YjdmZWE1MDM5ODFiYWRmN2YyN2RkYmVlODk5ZmJkMWRhY2EzYTEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0VHlwZWRlZnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKQEAgLTE2MSw3ICsxNjEsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdFR5cGVkZWZzQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTVGVz
dFR5cGVkZWZzKAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdFR5cGVkZWZzQ29uc3RydWN0b3I6OnNf
aW5mbyA9IHsgIlRlc3RUeXBlZGVmc0NvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yKSB9OwogCiBKU1Rlc3RU
eXBlZGVmc0NvbnN0cnVjdG9yOjpKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yKFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDogRE9NQ29u
c3RydWN0b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgOiBCYXNlKHN0cnVj
dHVyZSwgZ2xvYmFsT2JqZWN0KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmNwcAppbmRleCAxY2Y3NDFjYWFk
NjY2YTYzNDM0M2M3OWRiYzMyYzk2ZjE3NGQzNGFhLi40NTI5ZjgyNTQ1ODRlM2E4YWYyNzFjZGRh
NDRhY2FkZjQxZGI2MDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgcHVibGlj
OgogY29uc3QgQ2xhc3NJbmZvIEpTYXR0cmlidXRlQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgImF0
dHJpYnV0ZUNvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJM
RShKU2F0dHJpYnV0ZUNvbnN0cnVjdG9yKSB9OwogCiBKU2F0dHJpYnV0ZUNvbnN0cnVjdG9yOjpK
U2F0dHJpYnV0ZUNvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDogRE9NQ29uc3RydWN0b3JPYmplY3Qoc3RydWN0dXJl
LCBnbG9iYWxPYmplY3QpCisgICAgOiBCYXNlKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogewog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNyZWFkb25seS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNyZWFkb25seS5jcHAKaW5kZXggYzg3Y2YyZjFkZDlhZTU5YjIzZjIxNzhlZDM4NzM1MjI2YzM0
NGQ3OC4uN2IzZjE0ZGQ3MzVhZTYwNDhkNjU0MjZjNDBmYTQyODhmOGQwMzI5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5
LmNwcApAQCAtODIsNyArODIsNyBAQCBwdWJsaWM6CiBjb25zdCBDbGFzc0luZm8gSlNyZWFkb25s
eUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJyZWFkb25seUNvbnN0cnVjdG9yIiwgJkJhc2U6OnNf
aW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU3JlYWRvbmx5Q29uc3RydWN0b3IpIH07CiAK
IEpTcmVhZG9ubHlDb25zdHJ1Y3Rvcjo6SlNyZWFkb25seUNvbnN0cnVjdG9yKFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDogRE9NQ29u
c3RydWN0b3JPYmplY3Qoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCisgICAgOiBCYXNlKHN0cnVj
dHVyZSwgZ2xvYmFsT2JqZWN0KQogewogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>