<?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>149574</bug_id>
          
          <creation_ts>2015-09-25 15:35:46 -0700</creation_ts>
          <short_desc>[ES6] Implement ES6 Module loader hook stubs in WebCore</short_desc>
          <delta_ts>2015-09-27 15:24:45 -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>New Bugs</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>148897</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1128798</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-25 15:35:46 -0700</bug_when>
    <thetext>[ES6] Implement ES6 Module loader hook stubs in WebCore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128801</commentid>
    <comment_count>1</comment_count>
      <attachid>261949</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-25 15:41:36 -0700</bug_when>
    <thetext>Created attachment 261949
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128802</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-25 15:42:29 -0700</bug_when>
    <thetext>Waiting EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128804</commentid>
    <comment_count>3</comment_count>
      <attachid>261949</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-25 15:45:30 -0700</bug_when>
    <thetext>Comment on attachment 261949
Patch

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

Added comments for ease of reviews.

&gt; Source/WebCore/bindings/js/JSDOMWindowBase.cpp:285
&gt; +    if (RefPtr&lt;Document&gt; document = thisObject-&gt;impl().document())

Retain document during module loader hook execution.

&gt; Source/WebCore/bindings/js/ModuleLoader.cpp:61
&gt; +        completedURL = m_document.completeURL(moduleName);

So in the module loader, m_document is always effective.

&gt; Source/WebCore/bindings/js/ModuleLoader.cpp:90
&gt; +    // FIXME: Implement the module fetcher.

This will be filled in the subsequent patch.
The final shape is already uploaded here https://bugs.webkit.org/show_bug.cgi?id=148897

&gt; Source/WebCore/bindings/js/ModuleLoader.cpp:110
&gt; +    // FIXME: Implement evaluating module code.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128827</commentid>
    <comment_count>4</comment_count>
      <attachid>261949</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-25 17:34:41 -0700</bug_when>
    <thetext>Comment on attachment 261949
Patch

I&apos;ll fix based on the comment from ap@ at https://bugs.webkit.org/show_bug.cgi?id=148897</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128832</commentid>
    <comment_count>5</comment_count>
      <attachid>261957</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-25 18:09:06 -0700</bug_when>
    <thetext>Created attachment 261957
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128834</commentid>
    <comment_count>6</comment_count>
      <attachid>261958</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-25 18:22:25 -0700</bug_when>
    <thetext>Created attachment 261958
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128861</commentid>
    <comment_count>7</comment_count>
      <attachid>261958</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-26 00:06:27 -0700</bug_when>
    <thetext>Comment on attachment 261958
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMWindowBase.h:81
&gt; +        // Module Loader hooks.

I don&apos;t think this comment adds additional information not provided by the code below.
Remove?

&gt; Source/WebCore/bindings/js/ModuleLoader.cpp:40
&gt; +ModuleLoader::ModuleLoader(Document&amp; document)

Why don&apos;t we call this JSModuleLoader since CSS has modules so we have WebCore/modules.

&gt; Source/WebCore/bindings/js/ModuleLoader.cpp:45
&gt; +JSC::JSInternalPromise* ModuleLoader::resolve(JSC::JSGlobalObject* globalObject, JSC::ExecState* exec, JSC::JSValue moduleNameValue, JSC::JSValue referrerValue)

What does &quot;referrerValue&quot; mean in this context?
Is this the module name of the importer?
If so, something like importerModuleName might be more appropriate.

&gt; Source/WebCore/bindings/js/ModuleLoader.cpp:87
&gt; +    if (moduleKeyValue.isSymbol())
&gt; +        return deferred-&gt;reject(exec, JSC::createTypeError(exec, &quot;Symbol module key should be already fulfilled with the inlined resource.&quot;));

Is this something that&apos;s supposed to happen?
Or does this indicate an internal implementation error.
The error message &quot;should be already fulfilled&quot; seems to indicate the latter
but it&apos;s weird to spit out an error message like this instead of asserting it if that were the case.

&gt; Source/WebCore/bindings/js/ModuleLoader.cpp:103
&gt; +    // FIXME: Currently, we only support JSModuleRecord.

What else do we need to support?  It seems like it&apos;s more valuable to say that in this FIXME.

&gt; Source/WebCore/bindings/js/ModuleLoader.h:30
&gt; +#include &quot;JSDOMBinding.h&quot;
&gt; +#include &lt;runtime/JSInternalPromise.h&gt;

Do we really need to include these headers?
Given all the types used below except JSValue are pointers, it seems like we just need forward declarations.

&gt; Source/WebCore/bindings/js/ModuleLoader.h:37
&gt; +class ModuleLoader {

Again, I think we should name this JSModuleLoader instead.

&gt; Source/WebCore/bindings/js/ModuleLoader.h:45
&gt; +    Document&amp; document()
&gt; +    {
&gt; +        return m_document;
&gt; +    }

I&apos;d put this into one line if I were you as in: document() { return m_document; }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128869</commentid>
    <comment_count>8</comment_count>
      <attachid>261958</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-26 01:42:39 -0700</bug_when>
    <thetext>Comment on attachment 261958
Patch

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

Thank you for your review!

&gt;&gt; Source/WebCore/bindings/js/JSDOMWindowBase.h:81
&gt;&gt; +        // Module Loader hooks.
&gt; 
&gt; I don&apos;t think this comment adds additional information not provided by the code below.
&gt; Remove?

Make sense. Dropped.

&gt;&gt; Source/WebCore/bindings/js/ModuleLoader.cpp:40
&gt;&gt; +ModuleLoader::ModuleLoader(Document&amp; document)
&gt; 
&gt; Why don&apos;t we call this JSModuleLoader since CSS has modules so we have WebCore/modules.

Make sense. I&apos;ll change this to JSModuleLoader.

&gt;&gt; Source/WebCore/bindings/js/ModuleLoader.cpp:45
&gt;&gt; +JSC::JSInternalPromise* ModuleLoader::resolve(JSC::JSGlobalObject* globalObject, JSC::ExecState* exec, JSC::JSValue moduleNameValue, JSC::JSValue referrerValue)
&gt; 
&gt; What does &quot;referrerValue&quot; mean in this context?
&gt; Is this the module name of the importer?
&gt; If so, something like importerModuleName might be more appropriate.

The name &quot;referrer&quot; itself is derived from the loader draft[1].
But your verbose name looks better.
I&apos;ll change &quot;referrer&quot; to &quot;importerModuleKey&quot;. (resolve function resolves &quot;module name&quot; to &quot;module key&quot;.)


[1]: https://whatwg.github.io/loader/#resolve

&gt;&gt; Source/WebCore/bindings/js/ModuleLoader.cpp:87
&gt;&gt; +        return deferred-&gt;reject(exec, JSC::createTypeError(exec, &quot;Symbol module key should be already fulfilled with the inlined resource.&quot;));
&gt; 
&gt; Is this something that&apos;s supposed to happen?
&gt; Or does this indicate an internal implementation error.
&gt; The error message &quot;should be already fulfilled&quot; seems to indicate the latter
&gt; but it&apos;s weird to spit out an error message like this instead of asserting it if that were the case.

Good question.
Currently, it does not happen. Because we don&apos;t implement reflective part of the module loader yet.
I think we should wait implementing reflective part because reflective part will be exposed directly to users and the spec of reflective part is under development yet.

But once the loader exposes these internal APIs to users (like https://whatwg.github.io/loader/#browser-loader-prototype-%40%40fetch), these hook functions may take any values. So now, I wrote this part defensively.

At the first patch, I implemented this part with assertion. But after receiving comments from Alexey, I changed my mind. https://bugs.webkit.org/show_bug.cgi?id=148897#c23

&gt;&gt; Source/WebCore/bindings/js/ModuleLoader.cpp:103
&gt;&gt; +    // FIXME: Currently, we only support JSModuleRecord.
&gt; 
&gt; What else do we need to support?  It seems like it&apos;s more valuable to say that in this FIXME.

Sounds reasonable. We need to support arbitrary objects here once we implement reflective part of the module loader.

&gt;&gt; Source/WebCore/bindings/js/ModuleLoader.h:30
&gt;&gt; +#include &lt;runtime/JSInternalPromise.h&gt;
&gt; 
&gt; Do we really need to include these headers?
&gt; Given all the types used below except JSValue are pointers, it seems like we just need forward declarations.

Right. I&apos;ll just include &lt;runtime/JSCJSValue.h&gt; and drop the above inclusions.
And add the forward declarations for JSC::JSInternalPromise*.

&gt;&gt; Source/WebCore/bindings/js/ModuleLoader.h:37
&gt;&gt; +class ModuleLoader {
&gt; 
&gt; Again, I think we should name this JSModuleLoader instead.

Fixed.

&gt;&gt; Source/WebCore/bindings/js/ModuleLoader.h:45
&gt;&gt; +    }
&gt; 
&gt; I&apos;d put this into one line if I were you as in: document() { return m_document; }

OK, fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128873</commentid>
    <comment_count>9</comment_count>
      <attachid>261967</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-26 02:06:27 -0700</bug_when>
    <thetext>Created attachment 261967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128874</commentid>
    <comment_count>10</comment_count>
      <attachid>261968</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-26 02:08:37 -0700</bug_when>
    <thetext>Created attachment 261968
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128875</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-26 02:10:23 -0700</bug_when>
    <thetext>Waiting my local build and EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128876</commentid>
    <comment_count>12</comment_count>
      <attachid>261969</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-26 02:15:27 -0700</bug_when>
    <thetext>Created attachment 261969
Patch

Build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128877</commentid>
    <comment_count>13</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-26 02:22:00 -0700</bug_when>
    <thetext>Local working copy passed the build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128911</commentid>
    <comment_count>14</comment_count>
      <attachid>261980</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-26 17:58:41 -0700</bug_when>
    <thetext>Created attachment 261980
Patch

Add more comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128929</commentid>
    <comment_count>15</comment_count>
      <attachid>261980</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-26 22:42:50 -0700</bug_when>
    <thetext>Comment on attachment 261980
Patch

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

&gt; Source/WebCore/bindings/js/JSModuleLoader.h:32
&gt; +namespace JSC {

There should be a blank line around forward decorations here (i.e. one blank line after { and another blank line before }.).

&gt; Source/WebCore/bindings/js/JSModuleLoader.h:49
&gt; +    JSC::JSInternalPromise* resolve(JSC::JSGlobalObject*, JSC::ExecState*, JSC::JSValue moduleName, JSC::JSValue referrer);

Why don&apos;t we can &quot;referrer&quot; &quot;importerModuleKey&quot; to be consistent?
It&apos;s very confusing to use the term &quot;referrer&quot; here
because it normally refers to https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer in WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128933</commentid>
    <comment_count>16</comment_count>
      <attachid>261980</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-27 00:29:44 -0700</bug_when>
    <thetext>Comment on attachment 261980
Patch

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

Thank you for your review :D

&gt;&gt; Source/WebCore/bindings/js/JSModuleLoader.h:32
&gt;&gt; +namespace JSC {
&gt; 
&gt; There should be a blank line around forward decorations here (i.e. one blank line after { and another blank line before }.).

Looks nice.

&gt;&gt; Source/WebCore/bindings/js/JSModuleLoader.h:49
&gt;&gt; +    JSC::JSInternalPromise* resolve(JSC::JSGlobalObject*, JSC::ExecState*, JSC::JSValue moduleName, JSC::JSValue referrer);
&gt; 
&gt; Why don&apos;t we can &quot;referrer&quot; &quot;importerModuleKey&quot; to be consistent?
&gt; It&apos;s very confusing to use the term &quot;referrer&quot; here
&gt; because it normally refers to https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer in WebCore.

Thanks. I missed the direct hook part. Fixed to `importerModuleKey`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128944</commentid>
    <comment_count>17</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-27 15:24:45 -0700</bug_when>
    <thetext>Committed r190272: &lt;http://trac.webkit.org/changeset/190272&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261949</attachid>
            <date>2015-09-25 15:41:36 -0700</date>
            <delta_ts>2015-09-25 18:09:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149574-20150925154117.patch</filename>
            <type>text/plain</type>
            <size>32015</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmZhZTUzNWI4ZDczMGYz
OTgxYWE1MDBkNTljZjZiZGI4MmE1NjczYS4uZjM4OTVkZDZjOTg0MjhjNTEwYjQyOGViZmY5YWYz
NWIxYjZmMWM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE1LTA5LTI1ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgTW9kdWxlIGxvYWRlciBob29rIHN0dWJzIGluIFdlYkNvcmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGlt
cGxlbWVudCB0aGUgbG9hZGVyIGhvb2tzIGluIHRoZSBXZWJDb3JlIHNpZGUuCisgICAgICAgIFNp
bmNlIHRoZSBmZXRjaGVyIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiBjb2RlIGFyZSBzZXBhcmF0ZWQg
ZnJvbQorICAgICAgICB0aGlzIHBhdGNoLCB0aGV5IGJlY29tZSBlbXB0eS4KKworICAgICAgICBI
ZXJlLCBXZWJDb3JlIGltcGxlbWVudHMgMyBsb2FkZXIgaG9va3MuCisKKyAgICAgICAgMS4gcmVz
b2x2ZSBob29rCisKKyAgICAgICAgICAgIFRha2VzIHRoZSBtb2R1bGUgbmFtZSBhbmQgcmVzb2x2
ZSBpdCB0byB0aGUgdW5pcXVlIG1vZHVsZSBrZXkuCisgICAgICAgICAgICBJbiBXZWJDb3JlLCB3
ZSB1c2UgVVJMIGFzIGEgbW9kdWxlIGtleS4KKyAgICAgICAgICAgIEFuZCBmb3IgdGhlIGlubGlu
ZWQgbW9kdWxlIHRhZyAoZS5nLiA8c2NyaXB0IHR5cGU9Im1vZHVsZSI+aW1wb3J0IC4uLjwvc2Ny
aXB0PiksCisgICAgICAgICAgICB3ZSB1c2UgdGhlIEVTNiBzeW1ib2wgYXMgYSBtb2R1bGUga2V5
LgorICAgICAgICAgICAgSW4gV2ViQ29yZSwgd2UgdGFrZSB0aGUgbW9kdWxlIG5hbWUgbGlrZSAi
Li9oZWxsby5qcyIgYW5kIHJlc29sdmUgaXQgYnkgdXNpbmcKKyAgICAgICAgICAgIHRoZSBiYXNl
IFVSTC4KKyAgICAgICAgICAgIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBpbXBsZW1lbnRlZCBpbiB0
aGlzIHBhdGNoLgorCisgICAgICAgIDIuIGZldGNoIGhvb2sKKworICAgICAgICAgICAgRmV0Y2hl
cyB0aGUgcmVzb3VyY2Ugc3BlY2lmaWVkIGJ5IHRoZSBtb2R1bGUga2V5LiBJbiBXZWJDb3JlLCB0
aGUgbW9kdWxlIGtleSBpcworICAgICAgICAgICAgVVJMLiBXZSB1c2UgQ2FjaGVkUmVzb3VyY2Ug
bG9hZGluZyBzeXN0ZW0gdG8gbG9hZCB0aGUgcmVzb3VyY2Ugb2YgdGhlIG1vZHVsZXMuCisgICAg
ICAgICAgICBUaGUgYWN0dWFsIGNvZGUgb2YgdGhlIGZldGNoIGhvb2sgd2lsbCBiZSBpbXBsZW1l
bnRlZCBpbiB0aGUgc3Vic2VxdWVudCBwYXRjaC4KKworICAgICAgICAzLiBldmFsdWF0ZSBob29r
CisKKyAgICAgICAgICAgIFRoaXMgaXMgYWRkaXRpb25hbCBob29rIHRvIGluc3RydW1lbnQgdGhl
IG1vZHVsZSdzIGV4ZWN1dGlvbiBmb3IgdGhlIGluc3BlY3Rvci4KKyAgICAgICAgICAgIFRoZSBh
Y3R1YWwgY29kZSBvZiB0aGUgZXZhbHVhdGUgaG9vayB3aWxsIGJlIGltcGxlbWVudGVkIGluIHRo
ZSBzdWJzZXF1ZW50IHBhdGNoLgorCisgICAgICAgIEluIGFkZGl0aW9uIHRvIHRoYXQsIHdlIGFk
ZGVkIHJlcXVpcmVkIEpTQyBmb3J3YXJkIGhlYWRlcnMgZm9yIHRoZSBtb2R1bGUgbG9hZGVyCisg
ICAgICAgIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU0ludGVybmFsUHJvbWlzZS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNl
RGVmZXJyZWQuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9K
U01vZHVsZVJlY29yZC5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9ydW50
aW1lL1N5bWJvbC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dC
YXNlOjptb2R1bGVMb2FkZXJSZXNvbHZlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93
QmFzZTo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dC
YXNlOjptb2R1bGVMb2FkZXJFdmFsdWF0ZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvTW9kdWxlTG9hZGVyLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpNb2R1bGVMb2FkZXI6Ok1vZHVsZUxvYWRlcik6CisgICAg
ICAgIChXZWJDb3JlOjpNb2R1bGVMb2FkZXI6OnJlc29sdmUpOgorICAgICAgICAoV2ViQ29yZTo6
TW9kdWxlTG9hZGVyOjpmZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpNb2R1bGVMb2FkZXI6OmV2
YWx1YXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Nb2R1bGVMb2FkZXIuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpNb2R1bGVMb2FkZXI6OmRvY3VtZW50KToKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp+RG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om1vZHVsZUxvYWRlcik6CisKIDIw
MTUtMDktMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsIG91dCByMTkwMDg1IGFzIGl0IHNlZW1zIHRvIGNhdXNlIGNyYXNoZXMgaW4g
SlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDI0NjMwYmEwZjMyN2QwYTU2MmZmMGZmOGZlYTk1
Y2UxNzk5MmJmMWMuLjYzZjkzZjYzNmZiMGU5MDJhMGYwYzExMzUxYzNhNzgxNjEwYjgwMzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMjI1LDYgKzEyMjUsNyBAQCBzZXQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy9qcy9KU1hQYXRoUmVzdWx0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWFNMVFBy
b2Nlc3NvckN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9Nb2R1bGVMb2FkZXIuY3BwCiAgICAg
YmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5jcHAKICAgICBiaW5kaW5ncy9qcy9TY2hlZHVs
ZWRBY3Rpb24uY3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU0lu
dGVybmFsUHJvbWlzZS5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGlt
ZS9KU0ludGVybmFsUHJvbWlzZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmNTU3YTJmMjFlY2Y2YjJhZWNhZDY3
ZTM1M2UxOTY2ZTQ3OTRlODAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3
YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlLmgKQEAgLTAsMCArMSw0IEBA
CisjaWZuZGVmIFdlYkNvcmVfRldEX0pTSW50ZXJuYWxQcm9taXNlX2gKKyNkZWZpbmUgV2ViQ29y
ZV9GV0RfSlNJbnRlcm5hbFByb21pc2VfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50
ZXJuYWxQcm9taXNlLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Zvcndh
cmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oIGIvU291cmNl
L1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU0ludGVybmFsUHJvbWlzZURlZmVy
cmVkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzZjMDg2ZGQzOWFmZjllMTA0YmQ1YTZmZjdhZTc5MjU0NjM4Njk1
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1
bnRpbWUvSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRl
ZiBXZWJDb3JlX0ZXRF9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkX2gKKyNkZWZpbmUgV2ViQ29y
ZV9GV0RfSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZF9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTTW9kdWxlUmVjb3JkLmggYi9T
b3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTTW9kdWxlUmVjb3JkLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjNlOWVjZmZiY2Y1N2MyYTljNzk1Y2NiMWQ4MDM0MGY5MTRkN2Q0ZgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUv
SlNNb2R1bGVSZWNvcmQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSlNN
b2R1bGVSZWNvcmRfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9KU01vZHVsZVJlY29yZF9oCisjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSlNNb2R1bGVSZWNvcmQuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9TeW1ib2wuaCBiL1Nv
dXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvU3ltYm9sLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzUwNDI3ZjA5MWE5ZWNhY2ZiZmEwOTlhZTBkMDMwZTBlOWJjNWViMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvU3ltYm9sLmgK
QEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX1N5bWJvbF9oCisjZGVmaW5lIFdl
YkNvcmVfRldEX1N5bWJvbF9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3ltYm9sLmg+Cisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CmluZGV4IDIxYTlkNDI1ZGFkNzI0OGU4NDQyMzljNThjZTg1MDZmMjgwOTg4YjEuLjNhMTM4MTFm
YjgwMTZiYzYzNmY0MzM1ZDAxZjE4NjIzOWNmMjM2MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTg4NzUsNiArMTg4NzUsMjAgQEAK
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAg
ICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xN
b2R1bGVMb2FkZXIuY3BwIj4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGJpbmRpbmdzXGpzXFNjaGVkdWxlZEFjdGlvbi5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMjI0ODQsNiArMjI0OTgsNyBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNOb2RlT3JTdHJpbmcuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9u
cy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNXb3JrZXJH
bG9iYWxTY29wZUJhc2UuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdz
XGpzXE1vZHVsZUxvYWRlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGlu
Z3NcanNcU2NoZWR1bGVkQWN0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxi
aW5kaW5nc1xqc1xTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENvbnRyb2xsZXIuaCIgLz4KQEAgLTIyNzIzLDEz
ICsyMjczOCwxNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXHByb3BlcnRpZXNc
U1ZHVHJhbnNmb3JtTGlzdFByb3BlcnR5VGVhck9mZi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxBcmdMaXN0LmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXElkZW50aWZpZXIu
aCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRp
bWVcSlNJbnRlcm5hbFByb21pc2UuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZv
cndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU0xv
Y2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1
bnRpbWVcSlNPYmplY3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRp
bmdIZWFkZXJzXHJ1bnRpbWVcSlNTdHJpbmcuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcSlNNb2R1bGVSZWNvcmQuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcTG9va3VwLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1l
XE9wZXJhdGlvbnMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdI
ZWFkZXJzXHJ1bnRpbWVcUHJvdGVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxTdHJpbmdPYmplY3QuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcU3ltYm9sLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x5YXJyXFJlZ3VsYXJF
eHByZXNzaW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1x5YXJyXFlhcnIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRp
bmdIZWFkZXJzXHlhcnJcWWFyckludGVycHJldGVyLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggNmRk
Mzc5OWFkNWM2Mzk1NzNjZjdiNjg0M2NkOGRjZGIxNTc4NjJlYS4uNjAwZTk0ZjA5MjlkYzE5ZGVj
MGRjZmYwYThlYjcxNTgzNWQyODViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNDQ3Niw2ICs0NDc2LDkg
QEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTWFNMVFByb2Nlc3Nv
ckN1c3RvbS5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwv
Q2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcTW9kdWxl
TG9hZGVyLmNwcCI+CisgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CisgICAgPC9D
bENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY2hlZHVs
ZWRBY3Rpb24uY3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8
L0NsQ29tcGlsZT4KQEAgLTExNDg5LDYgKzExNDkyLDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmgiPgogICAgICAgPEZp
bHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcTW9kdWxlTG9hZGVyLmgiPgorICAgICAgPEZpbHRl
cj5iaW5kaW5nc1xqczwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NoZWR1bGVkQWN0aW9uLmgiPgogICAgICAgPEZpbHRl
cj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTE2NTcsMTIgKzEx
NjYzLDIxIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xy
dW50aW1lXElkZW50aWZpZXIuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXHJ1
bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcSlNJbnRlcm5hbFByb21pc2UuaCI+CisgICAg
ICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWU8L0ZpbHRlcj4KKyAgICA8L0NsSW5j
bHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRp
bWVcSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGlu
Z0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU0xvY2suaCI+CiAgICAg
ICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRp
bWVcSlNPYmplY3QuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWU8
L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZv
cndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcSlNNb2R1bGVSZWNvcmQuaCI+CisgICAgICA8RmlsdGVy
PkZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWU8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcSlNTdHJp
bmcuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWU8L0ZpbHRlcj4K
ICAgICA8L0NsSW5jbHVkZT4KQEAgLTExNjgxLDYgKzExNjk2LDkgQEAKICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcU3RyaW5nT2JqZWN0LmgiPgog
ICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+CiAgICAgPC9D
bEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xy
dW50aW1lXFN5bWJvbC5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGlt
ZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNceWFyclxSZWd1bGFyRXhwcmVzc2lvbi5oIj4KICAgICAgIDxGaWx0
ZXI+Rm9yd2FyZGluZ0hlYWRlcnNceWFycjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGViNTVmZjlmMTJhODJlMmIwYWM3MzI4MzQ1MjcxM2U0YWRlMWI2OTAuLjE1MmRlYTliMmZjYWUy
MTc5MjVhNmZlY2JlMDY2ODU2N2E4OGU1OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYzMjMsNiArNjMyMyw4IEBACiAJCUUx
RkY4RjY4MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUZGOEY2NjE4MDc0NjA4
MDAxMzI2NzQgLyogSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwICovOyB9OwogCQlFMUZGOEY2QzE4
MERCNUJFMDAxMzI2NzQgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFGRjhGNkExODBEQjVCRTAwMTMy
Njc0IC8qIENyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5LmNwcCAqLzsgfTsKIAkJRTFGRjhGNkQxODBE
QjVCRTAwMTMyNjc0IC8qIENyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUZGOEY2QjE4MERCNUJFMDAxMzI2NzQg
LyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaCAqLzsgfTsKKwkJRTM4ODM4OTgxQkFEMTQ1RjAw
RDYyRUUzIC8qIE1vZHVsZUxvYWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMzg4Mzg5NDFCQUQxNDVGMDBENjJFRTMgLyogTW9kdWxlTG9hZGVy
LmNwcCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OworCQlFMzg4Mzg5OTFC
QUQxNDVGMDBENjJFRTMgLyogTW9kdWxlTG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzg4Mzg5NTFCQUQxNDVGMDBENjJFRTMgLyogTW9kdWxl
TG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FTU0VUX1RBR1MgPSAoKTsgfTsgfTsKIAkJRTQwMUMy
NzUxN0NFNTNFQzAwQzQxQTM1IC8qIEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MDFDMjc0MTdDRTUzRUMw
MEM0MUEzNSAvKiBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQyNEEzOUUxMzMwREYwMTAwQ0Y2REM5
IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTQyNEEzOUQxMzMwREYwMTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlk
VGlsZS5oICovOyB9OwogCQlFNDI0QTNBMDEzMzBERjFFMDBDRjZEQzkgLyogTGVnYWN5VGlsZUdy
aWRUaWxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTQyNEEzOUYxMzMwREYxRTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5tbSAqLzsgfTsK
QEAgLTE0MDgzLDYgKzE0MDg1LDggQEAKIAkJRTFGRjhGNjYxODA3NDYwODAwMTMyNjc0IC8qIEpT
U3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTFGRjhGNkExODBEQjVCRTAwMTMyNjc0IC8qIENyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyeXB0b0FsZ29yaXRobVJl
Z2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFGRjhGNkIxODBEQjVC
RTAwMTMyNjc0IC8qIENyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUUzODgzODk0MUJBRDE0NUYwMEQ2MkVFMyAvKiBNb2R1bGVMb2FkZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTW9kdWxlTG9hZGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM4ODM4OTUxQkFEMTQ1RjAwRDYyRUUz
IC8qIE1vZHVsZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1
bGVMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMUMyNzQxN0NFNTNF
QzAwQzQxQTM1IC8qIEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFNDA2RjNGQjExOTgzMDdEMDA5RDU5RDYgLyogQ29sb3JEYXRh
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbG9yRGF0YS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MUVBMDM4MTE5ODM2REIwMDcxMEJDNSAv
KiBDU1NQcm9wZXJ0eU5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IENTU1Byb3BlcnR5TmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjE1MzUsNiArMjE1MzksOCBAQAogCQkJCTQxMTg5RUY4MUFEODIzM0MwMEI5MEEwRCAvKiBKU1Jl
YWRhYmxlU3RyZWFtQ29udHJvbGxlckN1c3RvbS5jcHAgKi8sCiAJCQkJRTFDMzZEMzIwRUIwQTA5
NDAwNzQxMEJDIC8qIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCAqLywKIAkJCQlFMUMzNkQz
MzBFQjBBMDk0MDA3NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCAqLywKKwkJCQlF
Mzg4Mzg5NDFCQUQxNDVGMDBENjJFRTMgLyogTW9kdWxlTG9hZGVyLmNwcCAqLywKKwkJCQlFMzg4
Mzg5NTFCQUQxNDVGMDBENjJFRTMgLyogTW9kdWxlTG9hZGVyLmggKi8sCiAJCQkJNDE5OEJERUUx
QTgxMTIzNjAwQjIyRkI1IC8qIFJlYWRhYmxlSlNTdHJlYW0uY3BwICovLAogCQkJCTQxOThCREVG
MUE4MTEyMzYwMEIyMkZCNSAvKiBSZWFkYWJsZUpTU3RyZWFtLmggKi8sCiAJCQkJQkNBMzc4QkEw
RDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgKi8sCkBAIC0yNjE5MSw2ICsy
NjE5Nyw3IEBACiAJCQkJQ0UxMjUyNDExQTE2QjFCNjAwODY0NDgwIC8qIE1lZGlhUGxheWVyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MkUyQ0FGQzE5RkYwMjA3MDAxRUVCNEYgLyogTWVkaWFQ
cm9kdWNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEUxOTU5MkEwQTM5REFDQzAwMjIwRkU1IC8q
IE1lZGlhUXVlcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzODgzODk5MUJBRDE0NUYwMEQ2MkVF
MyAvKiBNb2R1bGVMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJDMEEzOURBQ0Mw
MDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RTE5
NTkyRTBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV4cC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVy
cyAqLywKQEAgLTI4NTcyLDYgKzI4NTc5LDcgQEAKIAkJCQlFNEEwMDc4NTFCODIwRUQzMDAyQzVB
NkUgLyogRGF0YVVSTERlY29kZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk4MzkxNTEwRjFF
NzZCNDAwQzIzNzgyIC8qIERPTVdlYktpdENTU01hdHJpeC5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CThBRDBBNTk3MTRDODgzNTgwMDBEODNDNSAvKiBET01XZWJLaXRDU1NSZWdpb25SdWxlLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJRTM4ODM4OTgxQkFEMTQ1RjAwRDYyRUUzIC8qIE1vZHVsZUxvYWRl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTYxMUU2MjBFMUM0RTE0MDBGNkE1NzkgLyogRE9N
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUubW0gaW4gU291cmNlcyAqLywKIAkJCQkzRjJCMzNFQzE2
NUFGMTU2MDBFMzk4N0MgLyogRE9NV2ViS2l0Q1NTVmlld3BvcnRSdWxlLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0M5MUEzOEYxQjQ5OEFCRTAwM0Y5RUZBIC8qIEpTTm9kZU9yU3RyaW5nLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNC
aW5kaW5nc0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGlu
Z3NBbGxJbk9uZS5jcHAKaW5kZXggZmY0MTVlZDI4NDA4OGUyODk1NWE2NGMwZTYxMmE4NTZkZWVk
ZDk3Zi4uZWMyM2Y4ZmMyNDVjMzlmNmFhZGU2NzA4ZjNiOWQzMjE1ZjZhMDMyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0x
NDcsNiArMTQ3LDcgQEAKICNpbmNsdWRlICJKU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcCIKICNp
bmNsdWRlICJKU1hQYXRoUmVzdWx0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1hTTFRQcm9jZXNz
b3JDdXN0b20uY3BwIgorI2luY2x1ZGUgIk1vZHVsZUxvYWRlci5jcHAiCiAjaW5jbHVkZSAiU2No
ZWR1bGVkQWN0aW9uLmNwcCIKICNpbmNsdWRlICJTY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIgog
I2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggODM1MDMzMzEzZWZlMTUyZjFlMzlmNGMx
NTFiYmRjMmYwYTFhZDdmYi4uMjg0Nzg4ODE5YjcxZjhlN2I1Y2Y5NWFhZGUzZTYwNDgzMzZmMTk1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3Bw
CkBAIC0zMSwxMSArMzEsMTMgQEAKICNpbmNsdWRlICJKU0RPTVdpbmRvd0N1c3RvbS5oIgogI2lu
Y2x1ZGUgIkpTTm9kZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNb2R1bGVM
b2FkZXIuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNp
bmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCisjaW5jbHVkZSA8cnVudGltZS9KU0ludGVy
bmFsUHJvbWlzZURlZmVycmVkLmg+CiAjaW5jbHVkZSA8cnVudGltZS9NaWNyb3Rhc2suaD4KICNp
bmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCkBAIC01Niw3ICs1OCw3IEBAIHN0YXRpYyBib29s
IHNob3VsZEFsbG93QWNjZXNzRnJvbShjb25zdCBKU0dsb2JhbE9iamVjdCogdGhpc09iamVjdCwg
RXhlY1N0YXRlKiBlCiAKIGNvbnN0IENsYXNzSW5mbyBKU0RPTVdpbmRvd0Jhc2U6OnNfaW5mbyA9
IHsgIldpbmRvdyIsICZKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKEpTRE9NV2luZG93QmFzZSkgfTsKIAotY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFi
bGUgSlNET01XaW5kb3dCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlID0geyAmc2hvdWxk
QWxsb3dBY2Nlc3NGcm9tLCAmc3VwcG9ydHNQcm9maWxpbmcsICZzdXBwb3J0c1JpY2hTb3VyY2VJ
bmZvLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0LCAmamF2YVNjcmlwdFJ1bnRpbWVGbGFncywgJnF1
ZXVlVGFza1RvRXZlbnRMb29wLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGltZW91dCwg
bnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciB9OworY29uc3QgR2xv
YmFsT2JqZWN0TWV0aG9kVGFibGUgSlNET01XaW5kb3dCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhv
ZFRhYmxlID0geyAmc2hvdWxkQWxsb3dBY2Nlc3NGcm9tLCAmc3VwcG9ydHNQcm9maWxpbmcsICZz
dXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0LCAmamF2YVNjcmlw
dFJ1bnRpbWVGbGFncywgJnF1ZXVlVGFza1RvRXZlbnRMb29wLCAmc2hvdWxkSW50ZXJydXB0U2Ny
aXB0QmVmb3JlVGltZW91dCwgJm1vZHVsZUxvYWRlclJlc29sdmUsICZtb2R1bGVMb2FkZXJGZXRj
aCwgbnVsbHB0ciwgbnVsbHB0ciwgJm1vZHVsZUxvYWRlckV2YWx1YXRlIH07CiAKIEpTRE9NV2lu
ZG93QmFzZTo6SlNET01XaW5kb3dCYXNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBh
c3NSZWZQdHI8RE9NV2luZG93PiB3aW5kb3csIEpTRE9NV2luZG93U2hlbGwqIHNoZWxsKQogICAg
IDogSlNET01HbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSwgJnNoZWxsLT53b3JsZCgpLCAmc19n
bG9iYWxPYmplY3RNZXRob2RUYWJsZSkKQEAgLTI3Niw0ICsyNzgsMzEgQEAgdm9pZCBKU0RPTVdp
bmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0ZvcldpbmRvdyhET01XaW5kb3cq
IHdpbmRvdykKICAgICB9CiB9CiAKKworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNET01XaW5k
b3dCYXNlOjptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lLCBKU0M6
OkpTVmFsdWUgcmVmZXJyZXIpCit7CisgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0g
SlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoUmVm
UHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPmltcGwoKS5kb2N1bWVudCgpKQor
ICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLT5yZXNvbHZlKGdsb2JhbE9i
amVjdCwgZXhlYywgbW9kdWxlTmFtZSwgcmVmZXJyZXIpOworICAgIEpTQzo6SlNJbnRlcm5hbFBy
b21pc2VEZWZlcnJlZCogZGVmZXJyZWQgPSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQ6
OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3QpOworICAgIHJldHVybiBkZWZlcnJlZC0+cmVqZWN0
KGV4ZWMsIGpzVW5kZWZpbmVkKCkpOworfQorCitKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBKU0RP
TVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXkpCit7
CisgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5k
b3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVu
dCA9IHRoaXNPYmplY3QtPmltcGwoKS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gZG9jdW1l
bnQtPm1vZHVsZUxvYWRlcigpLT5mZXRjaChnbG9iYWxPYmplY3QsIGV4ZWMsIG1vZHVsZUtleSk7
CisgICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZURlZmVycmVkKiBkZWZlcnJlZCA9IEpTQzo6SlNJ
bnRlcm5hbFByb21pc2VEZWZlcnJlZDo6Y3JlYXRlKGV4ZWMsIGdsb2JhbE9iamVjdCk7CisgICAg
cmV0dXJuIGRlZmVycmVkLT5yZWplY3QoZXhlYywganNVbmRlZmluZWQoKSk7Cit9CisKK0pTQzo6
SlNWYWx1ZSBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckV2YWx1YXRlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQpCit7CisgICAgSlNET01XaW5k
b3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFs
T2JqZWN0KTsKKyAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3Qt
PmltcGwoKS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRl
cigpLT5ldmFsdWF0ZShnbG9iYWxPYmplY3QsIGV4ZWMsIG1vZHVsZUtleSwgbW9kdWxlUmVjb3Jk
KTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCmlu
ZGV4IDVlZDM4NjJjMTQxMTg3YzAwNmI2ODhkYjc5Nzc5NGIzNjk4MTA1NjQuLjJkNDRiODAwOWU1
NGRiYjA3NGU4Zjk5NzdjMTZiMjVlMTI1N2VhYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC03OCw2ICs3OCwxMSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIEpTQzo6V2F0Y2hwb2ludFNldCBtX3dpbmRvd0Nsb3NlV2F0Y2hwb2lu
dHM7CiAKICAgICBwcml2YXRlOgorICAgICAgICAvLyBNb2R1bGUgTG9hZGVyIGhvb2tzLgorICAg
ICAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVyUmVzb2x2ZShK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIEpTQzo6
SlNWYWx1ZSk7CisgICAgICAgIHN0YXRpYyBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBtb2R1bGVM
b2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpT
VmFsdWUpOworICAgICAgICBzdGF0aWMgSlNDOjpKU1ZhbHVlIG1vZHVsZUxvYWRlckV2YWx1YXRl
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgSlND
OjpKU1ZhbHVlKTsKKwogICAgICAgICBSZWZQdHI8RE9NV2luZG93PiBtX2ltcGw7CiAgICAgICAg
IEpTRE9NV2luZG93U2hlbGwqIG1fc2hlbGw7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Nb2R1bGVMb2FkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5YmZjMzE2NzI4MzgzYzc5ZWY5
YmUzMzhjMzQ2MTVkYjAzY2U4MjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9Nb2R1bGVMb2FkZXIuY3BwCkBAIC0wLDAgKzEsMTE1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1vZHVsZUxvYWRlci5oIgorCisjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAi
RnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlIDxydW50aW1lL0pT
SW50ZXJuYWxQcm9taXNlRGVmZXJyZWQuaD4KKyNpbmNsdWRlIDxydW50aW1lL0pTTW9kdWxlUmVj
b3JkLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU1N0cmluZy5oPgorI2luY2x1ZGUgPHJ1bnRpbWUv
U3ltYm9sLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTW9kdWxlTG9hZGVyOjpNb2R1bGVM
b2FkZXIoRG9jdW1lbnQmIGRvY3VtZW50KQorICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK3sK
K30KKworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogTW9kdWxlTG9hZGVyOjpyZXNvbHZlKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6
SlNWYWx1ZSBtb2R1bGVOYW1lVmFsdWUsIEpTQzo6SlNWYWx1ZSByZWZlcnJlclZhbHVlKQorewor
ICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZCogZGVmZXJyZWQgPSBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlRGVmZXJyZWQ6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3QpOworICAgIGlm
IChtb2R1bGVOYW1lVmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgcmV0dXJuIGRlZmVycmVkLT5y
ZXNvbHZlKGV4ZWMsIG1vZHVsZU5hbWVWYWx1ZSk7CisKKyAgICAvLyBGSVhNRTogV2Ugbm93IGFz
c3VtZSB0aGF0IG1vZHVsZSBuYW1lIGlzIGVpdGhlciBzeW1ib2wgb3Igc3RyaW5nLgorICAgIC8v
IFdoZW4gZXhwb3NpbmcgdGhlIHJlZmxlY3Rpb24gdG8gdGhlIG1vZHVsZSBsb2FkZXIgYW5kIG1v
ZHVsZXMsIHdlIG5lZWQgdG8gcmVjYXN0IHRoaXMgcGFydC4KKyAgICBBU1NFUlQobW9kdWxlTmFt
ZVZhbHVlLmlzU3RyaW5nKCkpOworICAgIFN0cmluZyBtb2R1bGVOYW1lID0gSlNDOjpqc0Nhc3Q8
SlNDOjpKU1N0cmluZyo+KG1vZHVsZU5hbWVWYWx1ZSktPnZhbHVlKGV4ZWMpOworCisgICAgLy8g
Tm93LCB3ZSBjb25zaWRlciB0aGUgZ2l2ZW4gbW9kdWxlTmFtZSBhcyB0aGUgc2FtZSB0byB0aGUg
c3JjPSIuLi4iIGluIHRoZSBzY3JpcHQgdGFnLgorICAgIC8vIFdlIHVzZSB0aGUgY29tcGxldGVk
IFVSTCBhcyB0aGUgbW9kdWxlIGtleS4KKyAgICBVUkwgY29tcGxldGVkVVJMOworCisgICAgaWYg
KHJlZmVycmVyVmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgY29tcGxldGVkVVJMID0gbV9kb2N1
bWVudC5jb21wbGV0ZVVSTChtb2R1bGVOYW1lKTsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKHJl
ZmVycmVyVmFsdWUuaXNVbmRlZmluZWQoKSkKKyAgICAgICAgICAgIGNvbXBsZXRlZFVSTCA9IG1f
ZG9jdW1lbnQuY29tcGxldGVVUkwobW9kdWxlTmFtZSk7CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgQVNTRVJUKHJlZmVycmVyVmFsdWUuaXNTdHJpbmcoKSk7CisgICAgICAgICAgICBTdHJp
bmcgcmVmZXJyZXIgPSBKU0M6OmpzQ2FzdDxKU0M6OkpTU3RyaW5nKj4ocmVmZXJyZXJWYWx1ZSkt
PnZhbHVlKGV4ZWMpOworICAgICAgICAgICAgY29tcGxldGVkVVJMID0gbV9kb2N1bWVudC5jb21w
bGV0ZVVSTChtb2R1bGVOYW1lLCBVUkwoUGFyc2VkVVJMU3RyaW5nLCByZWZlcnJlcikpOworICAg
ICAgICB9CisgICAgfQorICAgIGlmICghY29tcGxldGVkVVJMLmlzVmFsaWQoKSkKKyAgICAgICAg
cmV0dXJuIGRlZmVycmVkLT5yZWplY3QoZXhlYywgY3JlYXRlRE9NRXhjZXB0aW9uKGV4ZWMsIFNZ
TlRBWF9FUlIpKTsKKworICAgIHJldHVybiBkZWZlcnJlZC0+cmVzb2x2ZShleGVjLCBqc1N0cmlu
ZyhleGVjLCBjb21wbGV0ZWRVUkwuc3RyaW5nKCkpKTsKK30KKworSlNDOjpKU0ludGVybmFsUHJv
bWlzZSogTW9kdWxlTG9hZGVyOjpmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5VmFsdWUpCit7
CisgICAgLy8gRklYTUU6IFdoZW4gaW1wbGVtZW50aW5nIHJlZmxlY3RpdmUgbW9kdWxlIGxvYWRl
ciBhbmQgbW9kdWxlcywgd2Ugc2hvdWxkIHJlY2FzdCB0aGlzIGltcGxlbWVudGF0aW9uLgorICAg
IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZCogZGVmZXJyZWQgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQ6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3QpOworCisgICAgQVNT
RVJUX1dJVEhfTUVTU0FHRSghbW9kdWxlS2V5VmFsdWUuaXNTeW1ib2woKSwgIlN5bWJvbGljIG1v
ZHVsZSBrZXkgc2hvdWxkIGJlIGFscmVhZHkgZnVsZmlsbGVkIHdpdGggdGhlIGlubGluZWQgcmVz
b3VyY2UuIik7CisgICAgQVNTRVJUKG1vZHVsZUtleVZhbHVlLmlzU3RyaW5nKCkpOworCisgICAg
SlNDOjpJZGVudGlmaWVyIG1vZHVsZUtleSA9IEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyhl
eGVjLCBhc1N0cmluZyhtb2R1bGVLZXlWYWx1ZSktPnZhbHVlKGV4ZWMpKTsKKworICAgIFVSTCBj
b21wbGV0ZWRVUkwoUGFyc2VkVVJMU3RyaW5nLCBtb2R1bGVLZXkuaW1wbCgpKTsKKyAgICBBU1NF
UlRfV0lUSF9NRVNTQUdFKGNvbXBsZXRlZFVSTC5pc1ZhbGlkKCksICJUaGUgcmVzb2x2ZSBob29r
IHNob3VsZCBwcm9kdWNlIHRoZSB2YWxpZCBVUkwgYXMgYSBzdHJpbmcuIik7CisKKyAgICAvLyBG
SVhNRTogSW1wbGVtZW50IHRoZSBtb2R1bGUgZmV0Y2hlci4KKworICAgIHJldHVybiBkZWZlcnJl
ZC0+cHJvbWlzZSgpOworfQorCitKU0M6OkpTVmFsdWUgTW9kdWxlTG9hZGVyOjpldmFsdWF0ZShK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSBt
b2R1bGVLZXlWYWx1ZSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZFZhbHVlKQoreworICAgIC8v
IEZJWE1FOiBDdXJyZW50bHksIHdlIG9ubHkgc3VwcG9ydCBKU01vZHVsZVJlY29yZC4KKyAgICBK
U0M6OkpTTW9kdWxlUmVjb3JkKiBtb2R1bGVSZWNvcmQgPSBKU0M6OmpzRHluYW1pY0Nhc3Q8SlND
OjpKU01vZHVsZVJlY29yZCo+KG1vZHVsZVJlY29yZFZhbHVlKTsKKyAgICBpZiAoIW1vZHVsZVJl
Y29yZCkKKyAgICAgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKKworICAgIFVSTCBzb3Vy
Y2VVUkw7CisgICAgaWYgKG1vZHVsZUtleVZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIHNvdXJj
ZVVSTCA9IG1fZG9jdW1lbnQudXJsKCk7CisgICAgZWxzZSB7CisgICAgICAgIEFTU0VSVChtb2R1
bGVLZXlWYWx1ZS5pc1N0cmluZygpKTsKKyAgICAgICAgc291cmNlVVJMID0gVVJMKFBhcnNlZFVS
TFN0cmluZywgYXNTdHJpbmcobW9kdWxlS2V5VmFsdWUpLT52YWx1ZShleGVjKSk7CisgICAgfQor
CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBldmFsdWF0aW5nIG1vZHVsZSBjb2RlLgorCisgICAg
cmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvTW9kdWxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Nb2R1bGVMb2FkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjNkMDkxZWFiYWI2MjAwZTliYzVjZTk5
YjFjMDBiOTIxNTU5Y2M1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvTW9kdWxlTG9hZGVyLmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgTW9kdWxlTG9hZGVyX2gKKyNkZWZpbmUgTW9kdWxlTG9hZGVyX2gKKworI2luY2x1ZGUgIkpT
RE9NQmluZGluZy5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaD4KKyNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBEb2N1bWVudDsKKworY2xhc3MgTW9kdWxlTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShNb2R1bGVMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAg
ICBleHBsaWNpdCBNb2R1bGVMb2FkZXIoRG9jdW1lbnQmKTsKKworICAgIERvY3VtZW50JiBkb2N1
bWVudCgpCisgICAgeworICAgICAgICByZXR1cm4gbV9kb2N1bWVudDsKKyAgICB9CisKKyAgICBK
U0M6OkpTSW50ZXJuYWxQcm9taXNlKiByZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6
OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcmVmZXJy
ZXIpOworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXkpOworICAgIEpTQzo6
SlNWYWx1ZSBldmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBK
U0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgbW9kdWxlUmVjb3JkKTsKKworcHJp
dmF0ZToKKyAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIE1vZHVsZUxvYWRlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApp
bmRleCA3YjExZTM5YTFhM2QwYjRhMDM3ZGU4MzVmYjkyMWY4MWNjMDIyN2QxLi5hYjY1NWI3OWRi
NGQ3ZWEzNzgwNzA1Mzg4OWIyN2ZmZjY2MjkwNjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
QEAgLTEwNCw2ICsxMDQsNyBAQAogI2luY2x1ZGUgIk1lZGlhUHJvZHVjZXIuaCIKICNpbmNsdWRl
ICJNZWRpYVF1ZXJ5TGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlNYXRjaGVyLmgiCisjaW5j
bHVkZSAiTW9kdWxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudFdpdGhIaXRUZXN0UmVz
dWx0cy5oIgogI2luY2x1ZGUgIk5hbWVOb2RlTGlzdC5oIgogI2luY2x1ZGUgIk5lc3RpbmdMZXZl
bEluY3JlbWVudGVyLmgiCkBAIC00NjQsNiArNDY1LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZy
YW1lKiBmcmFtZSwgY29uc3QgVVJMJiB1cmwsIHVuc2lnbmVkIGRvY3VtZW50Q2xhc3NlcywgdW5z
aWcKICAgICAsIG1fc3RhcnRUaW1lKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpKQog
ICAgICwgbV9vdmVyTWluaW11bUxheW91dFRocmVzaG9sZChmYWxzZSkKICAgICAsIG1fc2NyaXB0
UnVubmVyKHN0ZDo6bWFrZV91bmlxdWU8U2NyaXB0UnVubmVyPigqdGhpcykpCisgICAgLCBtX21v
ZHVsZUxvYWRlcihzdGQ6Om1ha2VfdW5pcXVlPE1vZHVsZUxvYWRlcj4oKnRoaXMpKQogICAgICwg
bV94bWxWZXJzaW9uKEFTQ0lJTGl0ZXJhbCgiMS4wIikpCiAgICAgLCBtX3htbFN0YW5kYWxvbmUo
U3RhbmRhbG9uZVVuc3BlY2lmaWVkKQogICAgICwgbV9oYXNYTUxEZWNsYXJhdGlvbihmYWxzZSkK
QEAgLTYwNSw2ICs2MDcsNyBAQCBEb2N1bWVudDo6fkRvY3VtZW50KCkKICAgICAgICAgbV9kb21X
aW5kb3ctPnJlc2V0VW5sZXNzU3VzcGVuZGVkRm9yUGFnZUNhY2hlKCk7CiAKICAgICBtX3Njcmlw
dFJ1bm5lciA9IG51bGxwdHI7CisgICAgbV9tb2R1bGVMb2FkZXIgPSBudWxscHRyOwogCiAgICAg
cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBmOTE4
MDg5ZjIzYjJmYjNhMThkZmJkMjFmNWY3MDM5ODA1MDc1YmE3Li45YTc4YjIzNWE2NThiNjFjODhj
MWM2N2Y2N2NiZWRlNDQxYjlhNTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTMwLDYgKzEz
MCw3IEBAIGNsYXNzIE1lZGlhUGxheWJhY2tUYXJnZXQ7CiBjbGFzcyBNZWRpYVBsYXliYWNrVGFy
Z2V0Q2xpZW50OwogY2xhc3MgTWVkaWFRdWVyeUxpc3Q7CiBjbGFzcyBNZWRpYVF1ZXJ5TWF0Y2hl
cjsKK2NsYXNzIE1vZHVsZUxvYWRlcjsKIGNsYXNzIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3Vs
dHM7CiBjbGFzcyBOYW1lZEZsb3dDb2xsZWN0aW9uOwogY2xhc3MgTm9kZUZpbHRlcjsKQEAgLTkz
NCw2ICs5MzUsNyBAQCBjbGFzcyBEb2N1bWVudCA6IHB1YmxpYyBDb250YWluZXJOb2RlLCBwdWJs
aWMgVHJlZVNjb3BlLCBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQwogICAgIERvY3VtZW50JiB0b3BE
b2N1bWVudCgpIGNvbnN0OwogICAgIAogICAgIFNjcmlwdFJ1bm5lciogc2NyaXB0UnVubmVyKCkg
eyByZXR1cm4gbV9zY3JpcHRSdW5uZXIuZ2V0KCk7IH0KKyAgICBNb2R1bGVMb2FkZXIqIG1vZHVs
ZUxvYWRlcigpIHsgcmV0dXJuIG1fbW9kdWxlTG9hZGVyLmdldCgpOyB9CiAKICAgICBIVE1MU2Ny
aXB0RWxlbWVudCogY3VycmVudFNjcmlwdCgpIGNvbnN0IHsgcmV0dXJuICFtX2N1cnJlbnRTY3Jp
cHRTdGFjay5pc0VtcHR5KCkgPyBtX2N1cnJlbnRTY3JpcHRTdGFjay5sYXN0KCkuZ2V0KCkgOiAw
OyB9CiAgICAgdm9pZCBwdXNoQ3VycmVudFNjcmlwdChQYXNzUmVmUHRyPEhUTUxTY3JpcHRFbGVt
ZW50Pik7CkBAIC0xNTE4LDYgKzE1MjAsNyBAQCBjbGFzcyBEb2N1bWVudCA6IHB1YmxpYyBDb250
YWluZXJOb2RlLCBwdWJsaWMgVHJlZVNjb3BlLCBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQwogICAg
IGJvb2wgbV9vdmVyTWluaW11bUxheW91dFRocmVzaG9sZDsKICAgICAKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8U2NyaXB0UnVubmVyPiBtX3NjcmlwdFJ1bm5lcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
TW9kdWxlTG9hZGVyPiBtX21vZHVsZUxvYWRlcjsKIAogICAgIFZlY3RvcjxSZWZQdHI8SFRNTFNj
cmlwdEVsZW1lbnQ+PiBtX2N1cnJlbnRTY3JpcHRTdGFjazsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261957</attachid>
            <date>2015-09-25 18:09:06 -0700</date>
            <delta_ts>2015-09-25 18:22:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149574-20150925180847.patch</filename>
            <type>text/plain</type>
            <size>32506</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGU4MmQwOTcwOTYxNzc0
MzU3MTAxZDczOTNmYWFmODNlNTJmMzYzYi4uNTk0ODkzODdmMmRmZmE3MTljODExOTU2ZjU5NGY1
Y2UzZTQ1ODJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE1LTA5LTI1ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgTW9kdWxlIGxvYWRlciBob29rIHN0dWJzIGluIFdlYkNvcmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGlt
cGxlbWVudCB0aGUgbG9hZGVyIGhvb2tzIGluIHRoZSBXZWJDb3JlIHNpZGUuCisgICAgICAgIFNp
bmNlIHRoZSBmZXRjaGVyIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiBjb2RlIGFyZSBzZXBhcmF0ZWQg
ZnJvbQorICAgICAgICB0aGlzIHBhdGNoLCB0aGV5IGJlY29tZSBlbXB0eS4KKworICAgICAgICBI
ZXJlLCBXZWJDb3JlIGltcGxlbWVudHMgMyBsb2FkZXIgaG9va3MuCisKKyAgICAgICAgMS4gcmVz
b2x2ZSBob29rCisKKyAgICAgICAgICAgIFRha2VzIHRoZSBtb2R1bGUgbmFtZSBhbmQgcmVzb2x2
ZSBpdCB0byB0aGUgdW5pcXVlIG1vZHVsZSBrZXkuCisgICAgICAgICAgICBJbiBXZWJDb3JlLCB3
ZSB1c2UgVVJMIGFzIGEgbW9kdWxlIGtleS4KKyAgICAgICAgICAgIEFuZCBmb3IgdGhlIGlubGlu
ZWQgbW9kdWxlIHRhZyAoZS5nLiA8c2NyaXB0IHR5cGU9Im1vZHVsZSI+aW1wb3J0IC4uLjwvc2Ny
aXB0PiksCisgICAgICAgICAgICB3ZSB1c2UgdGhlIEVTNiBzeW1ib2wgYXMgYSBtb2R1bGUga2V5
LgorICAgICAgICAgICAgSW4gV2ViQ29yZSwgd2UgdGFrZSB0aGUgbW9kdWxlIG5hbWUgbGlrZSAi
Li9oZWxsby5qcyIgYW5kIHJlc29sdmUgaXQgYnkgdXNpbmcKKyAgICAgICAgICAgIHRoZSBVUkwg
b2YgdGhlIGltcG9ydGluZyBtb2R1bGUuCisgICAgICAgICAgICBUaGlzIGZ1bmN0aW9uYWxpdHkg
aXMgaW1wbGVtZW50ZWQgaW4gdGhpcyBwYXRjaC4KKworICAgICAgICAyLiBmZXRjaCBob29rCisK
KyAgICAgICAgICAgIEZldGNoZXMgdGhlIHJlc291cmNlIHNwZWNpZmllZCBieSB0aGUgbW9kdWxl
IGtleS4gSW4gV2ViQ29yZSwgdGhlIG1vZHVsZSBrZXkgaXMKKyAgICAgICAgICAgIFVSTC4gV2Ug
dXNlIENhY2hlZFJlc291cmNlIGxvYWRpbmcgc3lzdGVtIHRvIGxvYWQgdGhlIHJlc291cmNlIG9m
IHRoZSBtb2R1bGVzLgorICAgICAgICAgICAgVGhlIGFjdHVhbCBjb2RlIG9mIHRoZSBmZXRjaCBo
b29rIHdpbGwgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHN1YnNlcXVlbnQgcGF0Y2guCisKKyAgICAg
ICAgMy4gZXZhbHVhdGUgaG9vaworCisgICAgICAgICAgICBUaGlzIGlzIGFkZGl0aW9uYWwgaG9v
ayB0byBpbnN0cnVtZW50IHRoZSBtb2R1bGUncyBleGVjdXRpb24gZm9yIHRoZSBpbnNwZWN0b3Iu
CisgICAgICAgICAgICBUaGUgYWN0dWFsIGNvZGUgb2YgdGhlIGV2YWx1YXRlIGhvb2sgd2lsbCBi
ZSBpbXBsZW1lbnRlZCBpbiB0aGUgc3Vic2VxdWVudCBwYXRjaC4KKworICAgICAgICBJbiBhZGRp
dGlvbiB0byB0aGF0LCB3ZSBhZGRlZCByZXF1aXJlZCBKU0MgZm9yd2FyZCBoZWFkZXJzIGZvciB0
aGUgbW9kdWxlIGxvYWRlcgorICAgICAgICBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRl
cm5hbFByb21pc2UuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvcnVudGlt
ZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg6IEFkZGVkLgorICAgICAgICAqIEZvcndhcmRp
bmdIZWFkZXJzL3J1bnRpbWUvSlNNb2R1bGVSZWNvcmQuaDogQWRkZWQuCisgICAgICAgICogRm9y
d2FyZGluZ0hlYWRlcnMvcnVudGltZS9TeW1ib2wuaDogQWRkZWQuCisgICAgICAgICogV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL01v
ZHVsZUxvYWRlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlTG9hZGVyOjpN
b2R1bGVMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlTG9hZGVyOjpyZXNvbHZlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZUxvYWRlcjo6ZmV0Y2gpOgorICAgICAgICAoV2ViQ29y
ZTo6TW9kdWxlTG9hZGVyOjpldmFsdWF0ZSk6CisgICAgICAgICogYmluZGluZ3MvanMvTW9kdWxl
TG9hZGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlTG9hZGVyOjpkb2N1bWVu
dCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50OjpEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KToK
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpt
b2R1bGVMb2FkZXIpOgorCiAyMDE1LTA5LTI1ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgc2NvcGVkIHN0eWxpbmcgZm9yIHNoYWRvdyBET00K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMTMxZjY0NGNiOTg0ODk5NmFiNDBiZGM3M2M4MGZjNmE0
ODc5MmY4Mi4uMWI2OWM0NjZiYmFiMmE2ZDg1NGE5ZjQzOTk2Yjk5MGJiZmE4YTU0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTEyMjQsNiArMTIyNCw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMK
ICAgICBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdz
L2pzL0pTWFBhdGhSZXN1bHRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNYU0xUUHJvY2Vz
c29yQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL01vZHVsZUxvYWRlci5jcHAKICAgICBiaW5k
aW5ncy9qcy9SZWFkYWJsZUpTU3RyZWFtLmNwcAogICAgIGJpbmRpbmdzL2pzL1NjaGVkdWxlZEFj
dGlvbi5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJu
YWxQcm9taXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pT
SW50ZXJuYWxQcm9taXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y1NTdhMmYyMWVjZjZiMmFlY2FkNjdlMzUz
ZTE5NjZlNDc5NGU4MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRp
bmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaApAQCAtMCwwICsxLDQgQEAKKyNp
Zm5kZWYgV2ViQ29yZV9GV0RfSlNJbnRlcm5hbFByb21pc2VfaAorI2RlZmluZSBXZWJDb3JlX0ZX
RF9KU0ludGVybmFsUHJvbWlzZV9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNJbnRlcm5h
bFByb21pc2UuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvcnVudGltZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jNmMwODZkZDM5YWZmOWUxMDRiZDVhNmZmN2FlNzkyNTQ2Mzg2OTU1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGlt
ZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdl
YkNvcmVfRldEX0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWRfaAorI2RlZmluZSBXZWJDb3JlX0ZX
RF9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9K
U0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNNb2R1bGVSZWNvcmQuaCBiL1NvdXJj
ZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNNb2R1bGVSZWNvcmQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42M2U5ZWNmZmJjZjU3YzJhOWM3OTVjY2IxZDgwMzQwZjkxNGQ3ZDRmCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU01v
ZHVsZVJlY29yZC5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9KU01vZHVs
ZVJlY29yZF9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0pTTW9kdWxlUmVjb3JkX2gKKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KU01vZHVsZVJlY29yZC5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL1N5bWJvbC5oIGIvU291cmNl
L1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9TeW1ib2wuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
NTA0MjdmMDkxYTllY2FjZmJmYTA5OWFlMGQwMzBlMGU5YmM1ZWIzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9TeW1ib2wuaApAQCAt
MCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfU3ltYm9sX2gKKyNkZWZpbmUgV2ViQ29y
ZV9GV0RfU3ltYm9sX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TeW1ib2wuaD4KKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggYmI4YTQ2NzQxMzUwOTJjNTVkMTFlMjZlNWIyYTEyMWUyY2ZmOGNhNi4uMWZjMDU3NDg4Zjcy
MDhlZDg1ZjMwNjI4ZTc4MjdjYTQ2M2YxZDY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xODg3NSw2ICsxODg3NSwyMCBAQAogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8
L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXE1vZHVs
ZUxvYWRlci5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
KyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmlu
ZGluZ3NcanNcU2NoZWR1bGVkQWN0aW9uLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0yMjQ4Myw2ICsyMjQ5Nyw3IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU05vZGVPclN0cmluZy5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU1dvcmtlckdsb2Jh
bFNjb3BlQmFzZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNc
TW9kdWxlTG9hZGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xq
c1xTY2hlZHVsZWRBY3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRp
bmdzXGpzXFNjcmlwdENhY2hlZEZyYW1lRGF0YS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q29udHJvbGxlci5oIiAvPgpAQCAtMjI3MjIsMTMgKzIy
NzM3LDE3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdccHJvcGVydGllc1xTVkdU
cmFuc2Zvcm1MaXN0UHJvcGVydHlUZWFyT2ZmLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEFyZ0xpc3QuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcSWRlbnRpZmllci5oIiAv
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxK
U0ludGVybmFsUHJvbWlzZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNccnVudGltZVxKU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTTG9jay5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGlt
ZVxKU09iamVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNccnVudGltZVxKU1N0cmluZy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU01vZHVsZVJlY29yZC5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxMb29rdXAuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcT3Bl
cmF0aW9ucy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRl
cnNccnVudGltZVxQcm90ZWN0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3
YXJkaW5nSGVhZGVyc1xydW50aW1lXFN0cmluZ09iamVjdC5oIiAvPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxTeW1ib2wuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHlhcnJcUmVndWxhckV4cHJl
c3Npb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XHlhcnJcWWFyci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNceWFyclxZYXJySW50ZXJwcmV0ZXIuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBhZjA1OGUx
ZjBkYzNiNWVmODdkNzcyYWJhNTA4YTEyZTNjNTU3ZjJhLi42ZjhmZDQ0ODkzMjkzZWJmNGZlMDJj
YmNlNmUzMDYwNDZjNjY2MmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00NDczLDYgKzQ0NzMsOSBAQAog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNYU0xUUHJvY2Vzc29yQ3Vz
dG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xNb2R1bGVMb2Fk
ZXIuY3BwIj4KKyAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KKyAgICA8L0NsQ29t
cGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjaGVkdWxlZEFj
dGlvbi5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgpAQCAtMTE0ODYsNiArMTE0ODksOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCI+CiAgICAgICA8RmlsdGVy
PmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xNb2R1bGVMb2FkZXIuaCI+CisgICAgICA8RmlsdGVyPmJp
bmRpbmdzXGpzPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxiaW5kaW5nc1xqc1xTY2hlZHVsZWRBY3Rpb24uaCI+CiAgICAgICA8RmlsdGVyPmJp
bmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMTY1NCwxMiArMTE2NjAs
MjEgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRp
bWVcSWRlbnRpZmllci5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGlt
ZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU0ludGVybmFsUHJvbWlzZS5oIj4KKyAgICAgIDxG
aWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRl
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxK
U0ludGVybmFsUHJvbWlzZURlZmVycmVkLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVh
ZGVyc1xydW50aW1lPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTTG9jay5oIj4KICAgICAgIDxG
aWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxK
U09iamVjdC5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmls
dGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNccnVudGltZVxKU01vZHVsZVJlY29yZC5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9y
d2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU1N0cmluZy5o
Ij4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgpAQCAtMTE2NzgsNiArMTE2OTMsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxTdHJpbmdPYmplY3QuaCI+CiAgICAg
ICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRp
bWVcU3ltYm9sLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9G
aWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3
YXJkaW5nSGVhZGVyc1x5YXJyXFJlZ3VsYXJFeHByZXNzaW9uLmgiPgogICAgICAgPEZpbHRlcj5G
b3J3YXJkaW5nSGVhZGVyc1x5YXJyPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNWIw
NDIyMzAzYTM1OWY2NGI5YTJhMDZiZDU4ZTQ3OWYzZjhjNzZkMS4uNjYwZmQwNDQ0MjhlMDZjYjdj
ZTIyNjljYjcyYjE4YjdjODBhMzhjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjMyNCw2ICs2MzI0LDggQEAKIAkJRTFGRjhG
NjgxODA3NDYwODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRkY4RjY2MTgwNzQ2MDgwMDEz
MjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAgKi87IH07CiAJCUUxRkY4RjZDMTgwREI1
QkUwMDEzMjY3NCAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUZGOEY2QTE4MERCNUJFMDAxMzI2NzQg
LyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuY3BwICovOyB9OwogCQlFMUZGOEY2RDE4MERCNUJF
MDAxMzI2NzQgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRkY4RjZCMTgwREI1QkUwMDEzMjY3NCAvKiBD
cnlwdG9BbGdvcml0aG1SZWdpc3RyeS5oICovOyB9OworCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJF
RTMgLyogTW9kdWxlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzODgzODk0MUJBRDE0NUYwMEQ2MkVFMyAvKiBNb2R1bGVMb2FkZXIuY3Bw
ICovOyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07CisJCUUzODgzODk5MUJBRDE0
NUYwMEQ2MkVFMyAvKiBNb2R1bGVMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBNb2R1bGVMb2Fk
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OwogCQlFNDAxQzI3NTE3
Q0U1M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQwMUMyNzQxN0NFNTNFQzAwQzQx
QTM1IC8qIEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDI0QTM5RTEzMzBERjAxMDBDRjZEQzkgLyog
TGVnYWN5VGlsZUdyaWRUaWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFNDI0QTM5RDEzMzBERjAxMDBDRjZEQzkgLyogTGVnYWN5VGlsZUdyaWRUaWxl
LmggKi87IH07CiAJCUU0MjRBM0EwMTMzMERGMUUwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRp
bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDI0
QTM5RjEzMzBERjFFMDBDRjZEQzkgLyogTGVnYWN5VGlsZUdyaWRUaWxlLm1tICovOyB9OwpAQCAt
MTQwODUsNiArMTQwODcsOCBAQAogCQlFMUZGOEY2NjE4MDc0NjA4MDAxMzI2NzQgLyogSlNTdWJ0
bGVDcnlwdG9DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
MUZGOEY2QTE4MERCNUJFMDAxMzI2NzQgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtUmVnaXN0
cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUZGOEY2QjE4MERCNUJFMDAx
MzI2NzQgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTM4ODM4OTQxQkFEMTQ1RjAwRDYyRUUzIC8qIE1vZHVsZUxvYWRlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2R1bGVMb2FkZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzg4Mzg5NTFCQUQxNDVGMDBENjJFRTMgLyog
TW9kdWxlTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZUxv
YWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDAxQzI3NDE3Q0U1M0VDMDBD
NDFBMzUgLyogRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUU0MDZGM0ZCMTE5ODMwN0QwMDlENTlENiAvKiBDb2xvckRhdGEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29sb3JEYXRhLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQxRUEwMzgxMTk4MzZEQjAwNzEwQkM1IC8qIENT
U1Byb3BlcnR5TmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q1NTUHJvcGVydHlOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTUz
Nyw2ICsyMTU0MSw4IEBACiAJCQkJNDExODlFRjgxQUQ4MjMzQzAwQjkwQTBEIC8qIEpTUmVhZGFi
bGVTdHJlYW1Db250cm9sbGVyQ3VzdG9tLmNwcCAqLywKIAkJCQlFMUMzNkQzMjBFQjBBMDk0MDA3
NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwICovLAogCQkJCUUxQzM2RDMzMEVC
MEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5oICovLAorCQkJCUUzODgz
ODk0MUJBRDE0NUYwMEQ2MkVFMyAvKiBNb2R1bGVMb2FkZXIuY3BwICovLAorCQkJCUUzODgzODk1
MUJBRDE0NUYwMEQ2MkVFMyAvKiBNb2R1bGVMb2FkZXIuaCAqLywKIAkJCQk0MTk4QkRFRTFBODEx
MjM2MDBCMjJGQjUgLyogUmVhZGFibGVKU1N0cmVhbS5jcHAgKi8sCiAJCQkJNDE5OEJERUYxQTgx
MTIzNjAwQjIyRkI1IC8qIFJlYWRhYmxlSlNTdHJlYW0uaCAqLywKIAkJCQlCQ0EzNzhCQTBEMTVG
NjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLywKQEAgLTI2MjA3LDYgKzI2MjEz
LDcgQEAKIAkJCQlDRTEyNTI0MTFBMTZCMUI2MDA4NjQ0ODAgLyogTWVkaWFQbGF5ZXJTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCTUyRTJDQUZDMTlGRjAyMDcwMDFFRUI0RiAvKiBNZWRpYVByb2R1
Y2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RTE5NTkyQTBBMzlEQUNDMDAyMjBGRTUgLyogTWVk
aWFRdWVyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM4ODM4OTkxQkFEMTQ1RjAwRDYyRUUzIC8q
IE1vZHVsZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEUxOTU5MkMwQTM5REFDQzAwMjIw
RkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJF
MEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXhwLmggaW4gSGVhZGVycyAqLywKIAkJCQlE
M0E5NEEzOTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCBpbiBIZWFkZXJzICov
LApAQCAtMjg1NzMsNiArMjg1ODAsNyBAQAogCQkJCTMxMDYwMzdBMTQzMjgxQ0QwMEFCRjRCQSAv
KiBET01XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODM5MTUx
MEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXgubW0gaW4gU291cmNlcyAqLywK
IAkJCQk4QUQwQTU5NzE0Qzg4MzU4MDAwRDgzQzUgLyogRE9NV2ViS2l0Q1NTUmVnaW9uUnVsZS5t
bSBpbiBTb3VyY2VzICovLAorCQkJCUUzODgzODk4MUJBRDE0NUYwMEQ2MkVFMyAvKiBNb2R1bGVM
b2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE2MTFFNjIwRTFDNEUxNDAwRjZBNTc5IC8q
IERPTVdlYktpdENTU1RyYW5zZm9ybVZhbHVlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJM0YyQjMz
RUMxNjVBRjE1NjAwRTM5ODdDIC8qIERPTVdlYktpdENTU1ZpZXdwb3J0UnVsZS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCThBMTk1OTMzMTQ3RUExNkUwMEQxRUE2MSAvKiBET01XZWJLaXROYW1lZEZs
b3cubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IDY2MDBmMzRhZTA2NWZmZTExOGMzZjI4ZjFiMGNl
MTU4YjMyYmY5NWMuLjgwZmNlNzUxMmYwZjM2OGIzNGRhOGExNDE0ZTdiOTViNjFlYTY2Y2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNw
cApAQCAtMTQ0LDYgKzE0NCw3IEBACiAjaW5jbHVkZSAiSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5j
cHAiCiAjaW5jbHVkZSAiSlNYUGF0aFJlc3VsdEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNYU0xU
UHJvY2Vzc29yQ3VzdG9tLmNwcCIKKyNpbmNsdWRlICJNb2R1bGVMb2FkZXIuY3BwIgogI2luY2x1
ZGUgIlNjaGVkdWxlZEFjdGlvbi5jcHAiCiAjaW5jbHVkZSAiU2NyaXB0Q2FjaGVkRnJhbWVEYXRh
LmNwcCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCmluZGV4IDgzNTAzMzMxM2VmZTE1MmYx
ZTM5ZjRjMTUxYmJkYzJmMGExYWQ3ZmIuLjI4NDc4ODgxOWI3MWY4ZTdiNWNmOTVhYWRlM2U2MDQ4
MzM2ZjE5NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dC
YXNlLmNwcApAQCAtMzEsMTEgKzMxLDEzIEBACiAjaW5jbHVkZSAiSlNET01XaW5kb3dDdXN0b20u
aCIKICNpbmNsdWRlICJKU05vZGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAi
TW9kdWxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNldHRpbmdz
LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgorI2luY2x1ZGUgPHJ1bnRpbWUv
SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvTWljcm90YXNr
Lmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIApAQCAtNTYsNyArNTgsNyBAQCBzdGF0
aWMgYm9vbCBzaG91bGRBbGxvd0FjY2Vzc0Zyb20oY29uc3QgSlNHbG9iYWxPYmplY3QqIHRoaXNP
YmplY3QsIEV4ZWNTdGF0ZSogZQogCiBjb25zdCBDbGFzc0luZm8gSlNET01XaW5kb3dCYXNlOjpz
X2luZm8gPSB7ICJXaW5kb3ciLCAmSlNET01HbG9iYWxPYmplY3Q6OnNfaW5mbywgMCwgQ1JFQVRF
X01FVEhPRF9UQUJMRShKU0RPTVdpbmRvd0Jhc2UpIH07CiAKLWNvbnN0IEdsb2JhbE9iamVjdE1l
dGhvZFRhYmxlIEpTRE9NV2luZG93QmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSA9IHsg
JnNob3VsZEFsbG93QWNjZXNzRnJvbSwgJnN1cHBvcnRzUHJvZmlsaW5nLCAmc3VwcG9ydHNSaWNo
U291cmNlSW5mbywgJnNob3VsZEludGVycnVwdFNjcmlwdCwgJmphdmFTY3JpcHRSdW50aW1lRmxh
Z3MsICZxdWV1ZVRhc2tUb0V2ZW50TG9vcCwgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRp
bWVvdXQsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIgfTsKK2Nv
bnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIEpTRE9NV2luZG93QmFzZTo6c19nbG9iYWxPYmpl
Y3RNZXRob2RUYWJsZSA9IHsgJnNob3VsZEFsbG93QWNjZXNzRnJvbSwgJnN1cHBvcnRzUHJvZmls
aW5nLCAmc3VwcG9ydHNSaWNoU291cmNlSW5mbywgJnNob3VsZEludGVycnVwdFNjcmlwdCwgJmph
dmFTY3JpcHRSdW50aW1lRmxhZ3MsICZxdWV1ZVRhc2tUb0V2ZW50TG9vcCwgJnNob3VsZEludGVy
cnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsICZtb2R1bGVMb2FkZXJSZXNvbHZlLCAmbW9kdWxlTG9h
ZGVyRmV0Y2gsIG51bGxwdHIsIG51bGxwdHIsICZtb2R1bGVMb2FkZXJFdmFsdWF0ZSB9OwogCiBK
U0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93QmFzZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBQYXNzUmVmUHRyPERPTVdpbmRvdz4gd2luZG93LCBKU0RPTVdpbmRvd1NoZWxsKiBzaGVs
bCkKICAgICA6IEpTRE9NR2xvYmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUsICZzaGVsbC0+d29ybGQo
KSwgJnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUpCkBAIC0yNzYsNCArMjc4LDMxIEBAIHZvaWQg
SlNET01XaW5kb3dCYXNlOjpmaXJlRnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9N
V2luZG93KiB3aW5kb3cpCiAgICAgfQogfQogCisKK0pTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpT
RE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFt
ZSwgSlNDOjpKU1ZhbHVlIHJlZmVycmVyKQoreworICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09i
amVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7CisgICAg
aWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT5pbXBsKCkuZG9jdW1l
bnQoKSkKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS0+cmVzb2x2ZShn
bG9iYWxPYmplY3QsIGV4ZWMsIG1vZHVsZU5hbWUsIHJlZmVycmVyKTsKKyAgICBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlRGVmZXJyZWQqIGRlZmVycmVkID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZURl
ZmVycmVkOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KTsKKyAgICByZXR1cm4gZGVmZXJyZWQt
PnJlamVjdChleGVjLCBqc1VuZGVmaW5lZCgpKTsKK30KKworSlNDOjpKU0ludGVybmFsUHJvbWlz
ZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgbW9kdWxl
S2V5KQoreworICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpT
RE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKFJlZlB0cjxEb2N1bWVudD4g
ZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT5pbXBsKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJu
IGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS0+ZmV0Y2goZ2xvYmFsT2JqZWN0LCBleGVjLCBtb2R1
bGVLZXkpOworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZCogZGVmZXJyZWQgPSBK
U0M6OkpTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQ6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3Qp
OworICAgIHJldHVybiBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIGpzVW5kZWZpbmVkKCkpOworfQor
CitKU0M6OkpTVmFsdWUgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6
OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6
OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgbW9kdWxlUmVjb3JkKQoreworICAgIEpT
RE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+
KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlz
T2JqZWN0LT5pbXBsKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1
bGVMb2FkZXIoKS0+ZXZhbHVhdGUoZ2xvYmFsT2JqZWN0LCBleGVjLCBtb2R1bGVLZXksIG1vZHVs
ZVJlY29yZCk7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jh
c2UuaAppbmRleCA1ZWQzODYyYzE0MTE4N2MwMDZiNjg4ZGI3OTc3OTRiMzY5ODEwNTY0Li4yZDQ0
YjgwMDllNTRkYmIwNzRlOGY5OTc3YzE2YjI1ZTEyNTdlYWJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAtNzgsNiArNzgsMTEgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBKU0M6OldhdGNocG9pbnRTZXQgbV93aW5kb3dDbG9zZVdh
dGNocG9pbnRzOwogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgLy8gTW9kdWxlIExvYWRlciBob29r
cy4KKyAgICAgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1vZHVsZUxvYWRlclJl
c29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVl
LCBKU0M6OkpTVmFsdWUpOworICAgICAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSog
bW9kdWxlTG9hZGVyRmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRlKiwg
SlNDOjpKU1ZhbHVlKTsKKyAgICAgICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJF
dmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFs
dWUsIEpTQzo6SlNWYWx1ZSk7CisKICAgICAgICAgUmVmUHRyPERPTVdpbmRvdz4gbV9pbXBsOwog
ICAgICAgICBKU0RPTVdpbmRvd1NoZWxsKiBtX3NoZWxsOwogICAgIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvTW9kdWxlTG9hZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjZiZWQ0NGJlMGU2
MTFiZWVlODRkZjZkZDIwMjBlOTkxYzRhNGIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvTW9kdWxlTG9hZGVyLmNwcApAQCAtMCwwICsxLDEyNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNb2R1bGVMb2FkZXIuaCIK
KworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2lu
Y2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSA8cnVu
dGltZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU01v
ZHVsZVJlY29yZC5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNTdHJpbmcuaD4KKyNpbmNsdWRlIDxy
dW50aW1lL1N5bWJvbC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01vZHVsZUxvYWRlcjo6
TW9kdWxlTG9hZGVyKERvY3VtZW50JiBkb2N1bWVudCkKKyAgICA6IG1fZG9jdW1lbnQoZG9jdW1l
bnQpCit7Cit9CisKK0pTQzo6SlNJbnRlcm5hbFByb21pc2UqIE1vZHVsZUxvYWRlcjo6cmVzb2x2
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVj
LCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZVZhbHVlLCBKU0M6OkpTVmFsdWUgcmVmZXJyZXJWYWx1
ZSkKK3sKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQqIGRlZmVycmVkID0gSlND
OjpKU0ludGVybmFsUHJvbWlzZURlZmVycmVkOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KTsK
KworICAgIC8vIFdlIHVzZSBhIFN5bWJvbCBhcyBhIHNwZWNpYWwgcHVycG9zZTsgSXQgbWVhbnMg
dGhpcyBtb2R1bGUgaXMgYW4gaW5saW5lIG1vZHVsZS4KKyAgICAvLyBTbyB0aGVyZSBpcyBubyBj
b3JyZWN0IFVSTCB0byByZXRyaWV2ZSB0aGUgbW9kdWxlIHNvdXJjZSBjb2RlLiBJZiB0aGUgbW9k
dWxlIG5hbWUKKyAgICAvLyB2YWx1ZSBpcyBhIFN5bWJvbCwgaXQgaXMgdXNlZCBkaXJlY3RseSBh
cyBhIG1vZHVsZSBrZXkuCisgICAgaWYgKG1vZHVsZU5hbWVWYWx1ZS5pc1N5bWJvbCgpKQorICAg
ICAgICByZXR1cm4gZGVmZXJyZWQtPnJlc29sdmUoZXhlYywgbW9kdWxlTmFtZVZhbHVlKTsKKwor
ICAgIGlmICghbW9kdWxlTmFtZVZhbHVlLmlzU3RyaW5nKCkpCisgICAgICAgIHJldHVybiBkZWZl
cnJlZC0+cmVqZWN0KGV4ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJNb2R1bGUgbmFt
ZSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7CisKKyAgICBTdHJpbmcgbW9kdWxlTmFtZSA9
IGFzU3RyaW5nKG1vZHVsZU5hbWVWYWx1ZSktPnZhbHVlKGV4ZWMpOworCisgICAgLy8gTm93LCB3
ZSBjb25zaWRlciB0aGUgZ2l2ZW4gbW9kdWxlTmFtZSBhcyB0aGUgc2FtZSB0byB0aGUgYGltcG9y
dCAiLi4uImAgaW4gdGhlIG1vZHVsZSBjb2RlLgorICAgIC8vIFdlIHVzZSB0aGUgY29tcGxldGVk
IFVSTCBhcyB0aGUgdW5pcXVlIG1vZHVsZSBrZXkuCisgICAgVVJMIGNvbXBsZXRlZFVybDsKKwor
ICAgIGlmIChyZWZlcnJlclZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIGNvbXBsZXRlZFVybCA9
IG1fZG9jdW1lbnQuY29tcGxldGVVUkwobW9kdWxlTmFtZSk7CisgICAgZWxzZSBpZiAocmVmZXJy
ZXJWYWx1ZS5pc1VuZGVmaW5lZCgpKQorICAgICAgICBjb21wbGV0ZWRVcmwgPSBtX2RvY3VtZW50
LmNvbXBsZXRlVVJMKG1vZHVsZU5hbWUpOworICAgIGVsc2UgaWYgKHJlZmVycmVyVmFsdWUuaXNT
dHJpbmcoKSkgeworICAgICAgICBVUkwgcmVmZXJyZXJVcmwoYXNTdHJpbmcocmVmZXJyZXJWYWx1
ZSktPnZhbHVlKGV4ZWMpKTsKKyAgICAgICAgaWYgKCFyZWZlcnJlclVybC5pc1ZhbGlkKCkpCisg
ICAgICAgICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0ZVR5cGVF
cnJvcihleGVjLCAiUmVmZXJyZXIgaXMgYW4gaW52YWxpZCBVUkwuIikpOworICAgICAgICBjb21w
bGV0ZWRVcmwgPSBtX2RvY3VtZW50LmNvbXBsZXRlVVJMKG1vZHVsZU5hbWUsIHJlZmVycmVyVXJs
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgcmV0dXJuIGRlZmVycmVkLT5yZWplY3QoZXhlYywgSlND
OjpjcmVhdGVUeXBlRXJyb3IoZXhlYywgIlJlZmVycmVyIGlzIG5vdCBTeW1ib2wgb3IgU3RyaW5n
LiIpKTsKKworICAgIGlmICghY29tcGxldGVkVXJsLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJu
IGRlZmVycmVkLT5yZWplY3QoSlNDOjpjcmVhdGVUeXBlRXJyb3IoZXhlYywgIk1vZHVsZSBuYW1l
IGNvbnN0cnVjdHMgYW4gaW52YWxpZCBVUkwuIikpOworCisgICAgcmV0dXJuIGRlZmVycmVkLT5y
ZXNvbHZlKGV4ZWMsIGpzU3RyaW5nKGV4ZWMsIGNvbXBsZXRlZFVybC5zdHJpbmcoKSkpOworfQor
CitKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBNb2R1bGVMb2FkZXI6OmZldGNoKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVLZXlWYWx1ZSkKK3sKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQq
IGRlZmVycmVkID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZURlZmVycmVkOjpjcmVhdGUoZXhlYywg
Z2xvYmFsT2JqZWN0KTsKKworICAgIGlmIChtb2R1bGVLZXlWYWx1ZS5pc1N5bWJvbCgpKQorICAg
ICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0ZVR5cGVFcnJvcihl
eGVjLCAiU3ltYm9sIG1vZHVsZSBrZXkgc2hvdWxkIGJlIGFscmVhZHkgZnVsZmlsbGVkIHdpdGgg
dGhlIGlubGluZWQgcmVzb3VyY2UuIikpOworCisgICAgaWYgKCFtb2R1bGVLZXlWYWx1ZS5pc1N0
cmluZygpKQorICAgICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0
ZVR5cGVFcnJvcihleGVjLCAiTW9kdWxlIGtleSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7
CisKKyAgICBVUkwgY29tcGxldGVkVXJsKGFzU3RyaW5nKG1vZHVsZUtleVZhbHVlKS0+dmFsdWUo
ZXhlYykpOworICAgIGlmICghY29tcGxldGVkVXJsLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJu
IGRlZmVycmVkLT5yZWplY3QoZXhlYywgSlNDOjpjcmVhdGVUeXBlRXJyb3IoZXhlYywgIk1vZHVs
ZSBrZXkgaXMgYW4gaW52YWxpZCBVUkwuIikpOworCisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0
aGUgbW9kdWxlIGZldGNoZXIuCisKKyAgICByZXR1cm4gZGVmZXJyZWQtPnByb21pc2UoKTsKK30K
KworSlNDOjpKU1ZhbHVlIE1vZHVsZUxvYWRlcjo6ZXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5VmFsdWUsIEpT
Qzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmRWYWx1ZSkKK3sKKyAgICAvLyBGSVhNRTogQ3VycmVudGx5
LCB3ZSBvbmx5IHN1cHBvcnQgSlNNb2R1bGVSZWNvcmQuCisgICAgSlNDOjpKU01vZHVsZVJlY29y
ZCogbW9kdWxlUmVjb3JkID0gSlNDOjpqc0R5bmFtaWNDYXN0PEpTQzo6SlNNb2R1bGVSZWNvcmQq
Pihtb2R1bGVSZWNvcmRWYWx1ZSk7CisgICAgaWYgKCFtb2R1bGVSZWNvcmQpCisgICAgICAgIHJl
dHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7CisKKyAgICBVUkwgc291cmNlVXJsOworICAgIGlmICht
b2R1bGVLZXlWYWx1ZS5pc1N5bWJvbCgpKQorICAgICAgICBzb3VyY2VVcmwgPSBtX2RvY3VtZW50
LnVybCgpOworICAgIGVsc2UgaWYgKG1vZHVsZUtleVZhbHVlLmlzU3RyaW5nKCkpCisgICAgICAg
IHNvdXJjZVVybCA9IFVSTChhc1N0cmluZyhtb2R1bGVLZXlWYWx1ZSktPnZhbHVlKGV4ZWMpKTsK
KyAgICBlbHNlCisgICAgICAgIHJldHVybiBKU0M6OnRocm93Vk1UeXBlRXJyb3IoZXhlYywgIk1v
ZHVsZSBrZXkgaXMgbm90IFN5bWJvbCBvciBTdHJpbmcuIik7CisKKyAgICBpZiAoIXNvdXJjZVVy
bC5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBKU0M6OnRocm93Vk1UeXBlRXJyb3IoZXhlYywg
Ik1vZHVsZSBrZXkgaXMgYW4gaW52YWxpZCBVUkwuIik7CisKKyAgICAvLyBGSVhNRTogSW1wbGVt
ZW50IGV2YWx1YXRpbmcgbW9kdWxlIGNvZGUuCisKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5l
ZCgpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1
bGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZUxvYWRlci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVmM2QwOTFlYWJhYjYyMDBlOWJjNWNlOTliMWMwMGI5MjE1NTljYzUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVMb2FkZXIuaApA
QCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNb2R1bGVMb2FkZXJfaAorI2Rl
ZmluZSBNb2R1bGVMb2FkZXJfaAorCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVk
ZSA8cnVudGltZS9KU0ludGVybmFsUHJvbWlzZS5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERvY3VtZW50OworCitjbGFzcyBN
b2R1bGVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZUxvYWRlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IE1vZHVsZUxvYWRl
cihEb2N1bWVudCYpOworCisgICAgRG9jdW1lbnQmIGRvY3VtZW50KCkKKyAgICB7CisgICAgICAg
IHJldHVybiBtX2RvY3VtZW50OworICAgIH0KKworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2Uq
IHJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1Zh
bHVlIG1vZHVsZU5hbWUsIEpTQzo6SlNWYWx1ZSByZWZlcnJlcik7CisgICAgSlNDOjpKU0ludGVy
bmFsUHJvbWlzZSogZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRlKiwg
SlNDOjpKU1ZhbHVlIG1vZHVsZUtleSk7CisgICAgSlNDOjpKU1ZhbHVlIGV2YWx1YXRlKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXks
IEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQpOworCitwcml2YXRlOgorICAgIERvY3VtZW50JiBt
X2RvY3VtZW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTW9k
dWxlTG9hZGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDFlMWRhOTllNmU1MmIzNjY2
NjBiOTRhOWRlNTc3NzIwMDM2MjRmYTQuLjYwZDQyMThiYWNjYzlhNDM1ODMyYzI4NWY0ODlhYjEx
OGRlOTcyNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTA0LDYgKzEwNCw3IEBACiAj
aW5jbHVkZSAiTWVkaWFQcm9kdWNlci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0LmgiCiAj
aW5jbHVkZSAiTWVkaWFRdWVyeU1hdGNoZXIuaCIKKyNpbmNsdWRlICJNb2R1bGVMb2FkZXIuaCIK
ICNpbmNsdWRlICJNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmgiCiAjaW5jbHVkZSAiTmFt
ZU5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCIKQEAgLTQ2
NCw2ICs0NjUsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBVUkwm
IHVybCwgdW5zaWduZWQgZG9jdW1lbnRDbGFzc2VzLCB1bnNpZwogICAgICwgbV9zdGFydFRpbWUo
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpCiAgICAgLCBtX292ZXJNaW5pbXVtTGF5
b3V0VGhyZXNob2xkKGZhbHNlKQogICAgICwgbV9zY3JpcHRSdW5uZXIoc3RkOjptYWtlX3VuaXF1
ZTxTY3JpcHRSdW5uZXI+KCp0aGlzKSkKKyAgICAsIG1fbW9kdWxlTG9hZGVyKHN0ZDo6bWFrZV91
bmlxdWU8TW9kdWxlTG9hZGVyPigqdGhpcykpCiAgICAgLCBtX3htbFZlcnNpb24oQVNDSUlMaXRl
cmFsKCIxLjAiKSkKICAgICAsIG1feG1sU3RhbmRhbG9uZShTdGFuZGFsb25lVW5zcGVjaWZpZWQp
CiAgICAgLCBtX2hhc1hNTERlY2xhcmF0aW9uKGZhbHNlKQpAQCAtNjA1LDYgKzYwNyw3IEBAIERv
Y3VtZW50Ojp+RG9jdW1lbnQoKQogICAgICAgICBtX2RvbVdpbmRvdy0+cmVzZXRVbmxlc3NTdXNw
ZW5kZWRGb3JQYWdlQ2FjaGUoKTsKIAogICAgIG1fc2NyaXB0UnVubmVyID0gbnVsbHB0cjsKKyAg
ICBtX21vZHVsZUxvYWRlciA9IG51bGxwdHI7CiAKICAgICByZW1vdmVBbGxFdmVudExpc3RlbmVy
cygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGY5MTgwODlmMjNiMmZiM2ExOGRmYmQyMWY1
ZjcwMzk4MDUwNzViYTcuLjlhNzhiMjM1YTY1OGI2MWM4OGMxYzY3ZjY3Y2JlZGU0NDFiOWE1NDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzAsNiArMTMwLDcgQEAgY2xhc3MgTWVkaWFQbGF5
YmFja1RhcmdldDsKIGNsYXNzIE1lZGlhUGxheWJhY2tUYXJnZXRDbGllbnQ7CiBjbGFzcyBNZWRp
YVF1ZXJ5TGlzdDsKIGNsYXNzIE1lZGlhUXVlcnlNYXRjaGVyOworY2xhc3MgTW9kdWxlTG9hZGVy
OwogY2xhc3MgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0czsKIGNsYXNzIE5hbWVkRmxvd0Nv
bGxlY3Rpb247CiBjbGFzcyBOb2RlRmlsdGVyOwpAQCAtOTM0LDYgKzkzNSw3IEBAIGNsYXNzIERv
Y3VtZW50IDogcHVibGljIENvbnRhaW5lck5vZGUsIHB1YmxpYyBUcmVlU2NvcGUsIHB1YmxpYyBT
Y3JpcHRFeGVjdXRpb25DCiAgICAgRG9jdW1lbnQmIHRvcERvY3VtZW50KCkgY29uc3Q7CiAgICAg
CiAgICAgU2NyaXB0UnVubmVyKiBzY3JpcHRSdW5uZXIoKSB7IHJldHVybiBtX3NjcmlwdFJ1bm5l
ci5nZXQoKTsgfQorICAgIE1vZHVsZUxvYWRlciogbW9kdWxlTG9hZGVyKCkgeyByZXR1cm4gbV9t
b2R1bGVMb2FkZXIuZ2V0KCk7IH0KIAogICAgIEhUTUxTY3JpcHRFbGVtZW50KiBjdXJyZW50U2Ny
aXB0KCkgY29uc3QgeyByZXR1cm4gIW1fY3VycmVudFNjcmlwdFN0YWNrLmlzRW1wdHkoKSA/IG1f
Y3VycmVudFNjcmlwdFN0YWNrLmxhc3QoKS5nZXQoKSA6IDA7IH0KICAgICB2b2lkIHB1c2hDdXJy
ZW50U2NyaXB0KFBhc3NSZWZQdHI8SFRNTFNjcmlwdEVsZW1lbnQ+KTsKQEAgLTE1MTgsNiArMTUy
MCw3IEBAIGNsYXNzIERvY3VtZW50IDogcHVibGljIENvbnRhaW5lck5vZGUsIHB1YmxpYyBUcmVl
U2NvcGUsIHB1YmxpYyBTY3JpcHRFeGVjdXRpb25DCiAgICAgYm9vbCBtX292ZXJNaW5pbXVtTGF5
b3V0VGhyZXNob2xkOwogICAgIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxTY3JpcHRSdW5uZXI+IG1f
c2NyaXB0UnVubmVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxNb2R1bGVMb2FkZXI+IG1fbW9kdWxl
TG9hZGVyOwogCiAgICAgVmVjdG9yPFJlZlB0cjxIVE1MU2NyaXB0RWxlbWVudD4+IG1fY3VycmVu
dFNjcmlwdFN0YWNrOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261958</attachid>
            <date>2015-09-25 18:22:25 -0700</date>
            <delta_ts>2015-09-26 02:06:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149574-20150925182206.patch</filename>
            <type>text/plain</type>
            <size>32529</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGU4MmQwOTcwOTYxNzc0
MzU3MTAxZDczOTNmYWFmODNlNTJmMzYzYi4uNTk0ODkzODdmMmRmZmE3MTljODExOTU2ZjU5NGY1
Y2UzZTQ1ODJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE1LTA5LTI1ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgTW9kdWxlIGxvYWRlciBob29rIHN0dWJzIGluIFdlYkNvcmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGlt
cGxlbWVudCB0aGUgbG9hZGVyIGhvb2tzIGluIHRoZSBXZWJDb3JlIHNpZGUuCisgICAgICAgIFNp
bmNlIHRoZSBmZXRjaGVyIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiBjb2RlIGFyZSBzZXBhcmF0ZWQg
ZnJvbQorICAgICAgICB0aGlzIHBhdGNoLCB0aGV5IGJlY29tZSBlbXB0eS4KKworICAgICAgICBI
ZXJlLCBXZWJDb3JlIGltcGxlbWVudHMgMyBsb2FkZXIgaG9va3MuCisKKyAgICAgICAgMS4gcmVz
b2x2ZSBob29rCisKKyAgICAgICAgICAgIFRha2VzIHRoZSBtb2R1bGUgbmFtZSBhbmQgcmVzb2x2
ZSBpdCB0byB0aGUgdW5pcXVlIG1vZHVsZSBrZXkuCisgICAgICAgICAgICBJbiBXZWJDb3JlLCB3
ZSB1c2UgVVJMIGFzIGEgbW9kdWxlIGtleS4KKyAgICAgICAgICAgIEFuZCBmb3IgdGhlIGlubGlu
ZWQgbW9kdWxlIHRhZyAoZS5nLiA8c2NyaXB0IHR5cGU9Im1vZHVsZSI+aW1wb3J0IC4uLjwvc2Ny
aXB0PiksCisgICAgICAgICAgICB3ZSB1c2UgdGhlIEVTNiBzeW1ib2wgYXMgYSBtb2R1bGUga2V5
LgorICAgICAgICAgICAgSW4gV2ViQ29yZSwgd2UgdGFrZSB0aGUgbW9kdWxlIG5hbWUgbGlrZSAi
Li9oZWxsby5qcyIgYW5kIHJlc29sdmUgaXQgYnkgdXNpbmcKKyAgICAgICAgICAgIHRoZSBVUkwg
b2YgdGhlIGltcG9ydGluZyBtb2R1bGUuCisgICAgICAgICAgICBUaGlzIGZ1bmN0aW9uYWxpdHkg
aXMgaW1wbGVtZW50ZWQgaW4gdGhpcyBwYXRjaC4KKworICAgICAgICAyLiBmZXRjaCBob29rCisK
KyAgICAgICAgICAgIEZldGNoZXMgdGhlIHJlc291cmNlIHNwZWNpZmllZCBieSB0aGUgbW9kdWxl
IGtleS4gSW4gV2ViQ29yZSwgdGhlIG1vZHVsZSBrZXkgaXMKKyAgICAgICAgICAgIFVSTC4gV2Ug
dXNlIENhY2hlZFJlc291cmNlIGxvYWRpbmcgc3lzdGVtIHRvIGxvYWQgdGhlIHJlc291cmNlIG9m
IHRoZSBtb2R1bGVzLgorICAgICAgICAgICAgVGhlIGFjdHVhbCBjb2RlIG9mIHRoZSBmZXRjaCBo
b29rIHdpbGwgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHN1YnNlcXVlbnQgcGF0Y2guCisKKyAgICAg
ICAgMy4gZXZhbHVhdGUgaG9vaworCisgICAgICAgICAgICBUaGlzIGlzIGFkZGl0aW9uYWwgaG9v
ayB0byBpbnN0cnVtZW50IHRoZSBtb2R1bGUncyBleGVjdXRpb24gZm9yIHRoZSBpbnNwZWN0b3Iu
CisgICAgICAgICAgICBUaGUgYWN0dWFsIGNvZGUgb2YgdGhlIGV2YWx1YXRlIGhvb2sgd2lsbCBi
ZSBpbXBsZW1lbnRlZCBpbiB0aGUgc3Vic2VxdWVudCBwYXRjaC4KKworICAgICAgICBJbiBhZGRp
dGlvbiB0byB0aGF0LCB3ZSBhZGRlZCByZXF1aXJlZCBKU0MgZm9yd2FyZCBoZWFkZXJzIGZvciB0
aGUgbW9kdWxlIGxvYWRlcgorICAgICAgICBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRl
cm5hbFByb21pc2UuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvcnVudGlt
ZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg6IEFkZGVkLgorICAgICAgICAqIEZvcndhcmRp
bmdIZWFkZXJzL3J1bnRpbWUvSlNNb2R1bGVSZWNvcmQuaDogQWRkZWQuCisgICAgICAgICogRm9y
d2FyZGluZ0hlYWRlcnMvcnVudGltZS9TeW1ib2wuaDogQWRkZWQuCisgICAgICAgICogV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyUmVzb2x2ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRXZhbHVhdGUpOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL01v
ZHVsZUxvYWRlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlTG9hZGVyOjpN
b2R1bGVMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlTG9hZGVyOjpyZXNvbHZlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vZHVsZUxvYWRlcjo6ZmV0Y2gpOgorICAgICAgICAoV2ViQ29y
ZTo6TW9kdWxlTG9hZGVyOjpldmFsdWF0ZSk6CisgICAgICAgICogYmluZGluZ3MvanMvTW9kdWxl
TG9hZGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TW9kdWxlTG9hZGVyOjpkb2N1bWVu
dCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50OjpEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KToK
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpt
b2R1bGVMb2FkZXIpOgorCiAyMDE1LTA5LTI1ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgc2NvcGVkIHN0eWxpbmcgZm9yIHNoYWRvdyBET00K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMTMxZjY0NGNiOTg0ODk5NmFiNDBiZGM3M2M4MGZjNmE0
ODc5MmY4Mi4uMWI2OWM0NjZiYmFiMmE2ZDg1NGE5ZjQzOTk2Yjk5MGJiZmE4YTU0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTEyMjQsNiArMTIyNCw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMK
ICAgICBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdz
L2pzL0pTWFBhdGhSZXN1bHRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNYU0xUUHJvY2Vz
c29yQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL01vZHVsZUxvYWRlci5jcHAKICAgICBiaW5k
aW5ncy9qcy9SZWFkYWJsZUpTU3RyZWFtLmNwcAogICAgIGJpbmRpbmdzL2pzL1NjaGVkdWxlZEFj
dGlvbi5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJu
YWxQcm9taXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pT
SW50ZXJuYWxQcm9taXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y1NTdhMmYyMWVjZjZiMmFlY2FkNjdlMzUz
ZTE5NjZlNDc5NGU4MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRp
bmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaApAQCAtMCwwICsxLDQgQEAKKyNp
Zm5kZWYgV2ViQ29yZV9GV0RfSlNJbnRlcm5hbFByb21pc2VfaAorI2RlZmluZSBXZWJDb3JlX0ZX
RF9KU0ludGVybmFsUHJvbWlzZV9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNJbnRlcm5h
bFByb21pc2UuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvcnVudGltZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jNmMwODZkZDM5YWZmOWUxMDRiZDVhNmZmN2FlNzkyNTQ2Mzg2OTU1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGlt
ZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdl
YkNvcmVfRldEX0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWRfaAorI2RlZmluZSBXZWJDb3JlX0ZX
RF9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9K
U0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNNb2R1bGVSZWNvcmQuaCBiL1NvdXJj
ZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNNb2R1bGVSZWNvcmQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42M2U5ZWNmZmJjZjU3YzJhOWM3OTVjY2IxZDgwMzQwZjkxNGQ3ZDRmCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU01v
ZHVsZVJlY29yZC5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9KU01vZHVs
ZVJlY29yZF9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0pTTW9kdWxlUmVjb3JkX2gKKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KU01vZHVsZVJlY29yZC5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL1N5bWJvbC5oIGIvU291cmNl
L1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9TeW1ib2wuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
NTA0MjdmMDkxYTllY2FjZmJmYTA5OWFlMGQwMzBlMGU5YmM1ZWIzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9TeW1ib2wuaApAQCAt
MCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfU3ltYm9sX2gKKyNkZWZpbmUgV2ViQ29y
ZV9GV0RfU3ltYm9sX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TeW1ib2wuaD4KKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggYmI4YTQ2NzQxMzUwOTJjNTVkMTFlMjZlNWIyYTEyMWUyY2ZmOGNhNi4uMWZjMDU3NDg4Zjcy
MDhlZDg1ZjMwNjI4ZTc4MjdjYTQ2M2YxZDY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xODg3NSw2ICsxODg3NSwyMCBAQAogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8
L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXE1vZHVs
ZUxvYWRlci5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
KyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmlu
ZGluZ3NcanNcU2NoZWR1bGVkQWN0aW9uLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0yMjQ4Myw2ICsyMjQ5Nyw3IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU05vZGVPclN0cmluZy5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU1dvcmtlckdsb2Jh
bFNjb3BlQmFzZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNc
TW9kdWxlTG9hZGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xq
c1xTY2hlZHVsZWRBY3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRp
bmdzXGpzXFNjcmlwdENhY2hlZEZyYW1lRGF0YS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q29udHJvbGxlci5oIiAvPgpAQCAtMjI3MjIsMTMgKzIy
NzM3LDE3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdccHJvcGVydGllc1xTVkdU
cmFuc2Zvcm1MaXN0UHJvcGVydHlUZWFyT2ZmLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEFyZ0xpc3QuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcSWRlbnRpZmllci5oIiAv
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxK
U0ludGVybmFsUHJvbWlzZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNccnVudGltZVxKU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTTG9jay5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGlt
ZVxKU09iamVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNccnVudGltZVxKU1N0cmluZy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU01vZHVsZVJlY29yZC5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxMb29rdXAuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcT3Bl
cmF0aW9ucy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRl
cnNccnVudGltZVxQcm90ZWN0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3
YXJkaW5nSGVhZGVyc1xydW50aW1lXFN0cmluZ09iamVjdC5oIiAvPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxTeW1ib2wuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHlhcnJcUmVndWxhckV4cHJl
c3Npb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XHlhcnJcWWFyci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNceWFyclxZYXJySW50ZXJwcmV0ZXIuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBhZjA1OGUx
ZjBkYzNiNWVmODdkNzcyYWJhNTA4YTEyZTNjNTU3ZjJhLi42ZjhmZDQ0ODkzMjkzZWJmNGZlMDJj
YmNlNmUzMDYwNDZjNjY2MmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00NDczLDYgKzQ0NzMsOSBAQAog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNYU0xUUHJvY2Vzc29yQ3Vz
dG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xNb2R1bGVMb2Fk
ZXIuY3BwIj4KKyAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KKyAgICA8L0NsQ29t
cGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjaGVkdWxlZEFj
dGlvbi5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgpAQCAtMTE0ODYsNiArMTE0ODksOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCI+CiAgICAgICA8RmlsdGVy
PmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xNb2R1bGVMb2FkZXIuaCI+CisgICAgICA8RmlsdGVyPmJp
bmRpbmdzXGpzPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxiaW5kaW5nc1xqc1xTY2hlZHVsZWRBY3Rpb24uaCI+CiAgICAgICA8RmlsdGVyPmJp
bmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMTY1NCwxMiArMTE2NjAs
MjEgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRp
bWVcSWRlbnRpZmllci5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGlt
ZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU0ludGVybmFsUHJvbWlzZS5oIj4KKyAgICAgIDxG
aWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRl
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxK
U0ludGVybmFsUHJvbWlzZURlZmVycmVkLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVh
ZGVyc1xydW50aW1lPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTTG9jay5oIj4KICAgICAgIDxG
aWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxK
U09iamVjdC5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmls
dGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNccnVudGltZVxKU01vZHVsZVJlY29yZC5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9y
d2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU1N0cmluZy5o
Ij4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgpAQCAtMTE2NzgsNiArMTE2OTMsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxTdHJpbmdPYmplY3QuaCI+CiAgICAg
ICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRp
bWVcU3ltYm9sLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9G
aWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3
YXJkaW5nSGVhZGVyc1x5YXJyXFJlZ3VsYXJFeHByZXNzaW9uLmgiPgogICAgICAgPEZpbHRlcj5G
b3J3YXJkaW5nSGVhZGVyc1x5YXJyPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNWIw
NDIyMzAzYTM1OWY2NGI5YTJhMDZiZDU4ZTQ3OWYzZjhjNzZkMS4uNjYwZmQwNDQ0MjhlMDZjYjdj
ZTIyNjljYjcyYjE4YjdjODBhMzhjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjMyNCw2ICs2MzI0LDggQEAKIAkJRTFGRjhG
NjgxODA3NDYwODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRkY4RjY2MTgwNzQ2MDgwMDEz
MjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAgKi87IH07CiAJCUUxRkY4RjZDMTgwREI1
QkUwMDEzMjY3NCAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUZGOEY2QTE4MERCNUJFMDAxMzI2NzQg
LyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuY3BwICovOyB9OwogCQlFMUZGOEY2RDE4MERCNUJF
MDAxMzI2NzQgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRkY4RjZCMTgwREI1QkUwMDEzMjY3NCAvKiBD
cnlwdG9BbGdvcml0aG1SZWdpc3RyeS5oICovOyB9OworCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJF
RTMgLyogTW9kdWxlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzODgzODk0MUJBRDE0NUYwMEQ2MkVFMyAvKiBNb2R1bGVMb2FkZXIuY3Bw
ICovOyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07CisJCUUzODgzODk5MUJBRDE0
NUYwMEQ2MkVFMyAvKiBNb2R1bGVMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBNb2R1bGVMb2Fk
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OwogCQlFNDAxQzI3NTE3
Q0U1M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQwMUMyNzQxN0NFNTNFQzAwQzQx
QTM1IC8qIEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDI0QTM5RTEzMzBERjAxMDBDRjZEQzkgLyog
TGVnYWN5VGlsZUdyaWRUaWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFNDI0QTM5RDEzMzBERjAxMDBDRjZEQzkgLyogTGVnYWN5VGlsZUdyaWRUaWxl
LmggKi87IH07CiAJCUU0MjRBM0EwMTMzMERGMUUwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRp
bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDI0
QTM5RjEzMzBERjFFMDBDRjZEQzkgLyogTGVnYWN5VGlsZUdyaWRUaWxlLm1tICovOyB9OwpAQCAt
MTQwODUsNiArMTQwODcsOCBAQAogCQlFMUZGOEY2NjE4MDc0NjA4MDAxMzI2NzQgLyogSlNTdWJ0
bGVDcnlwdG9DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
MUZGOEY2QTE4MERCNUJFMDAxMzI2NzQgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtUmVnaXN0
cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUZGOEY2QjE4MERCNUJFMDAx
MzI2NzQgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTM4ODM4OTQxQkFEMTQ1RjAwRDYyRUUzIC8qIE1vZHVsZUxvYWRlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2R1bGVMb2FkZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzg4Mzg5NTFCQUQxNDVGMDBENjJFRTMgLyog
TW9kdWxlTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZUxv
YWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDAxQzI3NDE3Q0U1M0VDMDBD
NDFBMzUgLyogRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUU0MDZGM0ZCMTE5ODMwN0QwMDlENTlENiAvKiBDb2xvckRhdGEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29sb3JEYXRhLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQxRUEwMzgxMTk4MzZEQjAwNzEwQkM1IC8qIENT
U1Byb3BlcnR5TmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q1NTUHJvcGVydHlOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTUz
Nyw2ICsyMTU0MSw4IEBACiAJCQkJNDExODlFRjgxQUQ4MjMzQzAwQjkwQTBEIC8qIEpTUmVhZGFi
bGVTdHJlYW1Db250cm9sbGVyQ3VzdG9tLmNwcCAqLywKIAkJCQlFMUMzNkQzMjBFQjBBMDk0MDA3
NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwICovLAogCQkJCUUxQzM2RDMzMEVC
MEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5oICovLAorCQkJCUUzODgz
ODk0MUJBRDE0NUYwMEQ2MkVFMyAvKiBNb2R1bGVMb2FkZXIuY3BwICovLAorCQkJCUUzODgzODk1
MUJBRDE0NUYwMEQ2MkVFMyAvKiBNb2R1bGVMb2FkZXIuaCAqLywKIAkJCQk0MTk4QkRFRTFBODEx
MjM2MDBCMjJGQjUgLyogUmVhZGFibGVKU1N0cmVhbS5jcHAgKi8sCiAJCQkJNDE5OEJERUYxQTgx
MTIzNjAwQjIyRkI1IC8qIFJlYWRhYmxlSlNTdHJlYW0uaCAqLywKIAkJCQlCQ0EzNzhCQTBEMTVG
NjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLywKQEAgLTI2MjA3LDYgKzI2MjEz
LDcgQEAKIAkJCQlDRTEyNTI0MTFBMTZCMUI2MDA4NjQ0ODAgLyogTWVkaWFQbGF5ZXJTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCTUyRTJDQUZDMTlGRjAyMDcwMDFFRUI0RiAvKiBNZWRpYVByb2R1
Y2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RTE5NTkyQTBBMzlEQUNDMDAyMjBGRTUgLyogTWVk
aWFRdWVyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM4ODM4OTkxQkFEMTQ1RjAwRDYyRUUzIC8q
IE1vZHVsZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEUxOTU5MkMwQTM5REFDQzAwMjIw
RkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJF
MEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXhwLmggaW4gSGVhZGVycyAqLywKIAkJCQlE
M0E5NEEzOTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCBpbiBIZWFkZXJzICov
LApAQCAtMjg1NzMsNiArMjg1ODAsNyBAQAogCQkJCTMxMDYwMzdBMTQzMjgxQ0QwMEFCRjRCQSAv
KiBET01XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODM5MTUx
MEYxRTc2QjQwMEMyMzc4MiAvKiBET01XZWJLaXRDU1NNYXRyaXgubW0gaW4gU291cmNlcyAqLywK
IAkJCQk4QUQwQTU5NzE0Qzg4MzU4MDAwRDgzQzUgLyogRE9NV2ViS2l0Q1NTUmVnaW9uUnVsZS5t
bSBpbiBTb3VyY2VzICovLAorCQkJCUUzODgzODk4MUJBRDE0NUYwMEQ2MkVFMyAvKiBNb2R1bGVM
b2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE2MTFFNjIwRTFDNEUxNDAwRjZBNTc5IC8q
IERPTVdlYktpdENTU1RyYW5zZm9ybVZhbHVlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJM0YyQjMz
RUMxNjVBRjE1NjAwRTM5ODdDIC8qIERPTVdlYktpdENTU1ZpZXdwb3J0UnVsZS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCThBMTk1OTMzMTQ3RUExNkUwMEQxRUE2MSAvKiBET01XZWJLaXROYW1lZEZs
b3cubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IDY2MDBmMzRhZTA2NWZmZTExOGMzZjI4ZjFiMGNl
MTU4YjMyYmY5NWMuLjgwZmNlNzUxMmYwZjM2OGIzNGRhOGExNDE0ZTdiOTViNjFlYTY2Y2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNw
cApAQCAtMTQ0LDYgKzE0NCw3IEBACiAjaW5jbHVkZSAiSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5j
cHAiCiAjaW5jbHVkZSAiSlNYUGF0aFJlc3VsdEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNYU0xU
UHJvY2Vzc29yQ3VzdG9tLmNwcCIKKyNpbmNsdWRlICJNb2R1bGVMb2FkZXIuY3BwIgogI2luY2x1
ZGUgIlNjaGVkdWxlZEFjdGlvbi5jcHAiCiAjaW5jbHVkZSAiU2NyaXB0Q2FjaGVkRnJhbWVEYXRh
LmNwcCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCmluZGV4IDgzNTAzMzMxM2VmZTE1MmYx
ZTM5ZjRjMTUxYmJkYzJmMGExYWQ3ZmIuLjI4NDc4ODgxOWI3MWY4ZTdiNWNmOTVhYWRlM2U2MDQ4
MzM2ZjE5NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dC
YXNlLmNwcApAQCAtMzEsMTEgKzMxLDEzIEBACiAjaW5jbHVkZSAiSlNET01XaW5kb3dDdXN0b20u
aCIKICNpbmNsdWRlICJKU05vZGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAi
TW9kdWxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNldHRpbmdz
LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgorI2luY2x1ZGUgPHJ1bnRpbWUv
SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvTWljcm90YXNr
Lmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIApAQCAtNTYsNyArNTgsNyBAQCBzdGF0
aWMgYm9vbCBzaG91bGRBbGxvd0FjY2Vzc0Zyb20oY29uc3QgSlNHbG9iYWxPYmplY3QqIHRoaXNP
YmplY3QsIEV4ZWNTdGF0ZSogZQogCiBjb25zdCBDbGFzc0luZm8gSlNET01XaW5kb3dCYXNlOjpz
X2luZm8gPSB7ICJXaW5kb3ciLCAmSlNET01HbG9iYWxPYmplY3Q6OnNfaW5mbywgMCwgQ1JFQVRF
X01FVEhPRF9UQUJMRShKU0RPTVdpbmRvd0Jhc2UpIH07CiAKLWNvbnN0IEdsb2JhbE9iamVjdE1l
dGhvZFRhYmxlIEpTRE9NV2luZG93QmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSA9IHsg
JnNob3VsZEFsbG93QWNjZXNzRnJvbSwgJnN1cHBvcnRzUHJvZmlsaW5nLCAmc3VwcG9ydHNSaWNo
U291cmNlSW5mbywgJnNob3VsZEludGVycnVwdFNjcmlwdCwgJmphdmFTY3JpcHRSdW50aW1lRmxh
Z3MsICZxdWV1ZVRhc2tUb0V2ZW50TG9vcCwgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRp
bWVvdXQsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIgfTsKK2Nv
bnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIEpTRE9NV2luZG93QmFzZTo6c19nbG9iYWxPYmpl
Y3RNZXRob2RUYWJsZSA9IHsgJnNob3VsZEFsbG93QWNjZXNzRnJvbSwgJnN1cHBvcnRzUHJvZmls
aW5nLCAmc3VwcG9ydHNSaWNoU291cmNlSW5mbywgJnNob3VsZEludGVycnVwdFNjcmlwdCwgJmph
dmFTY3JpcHRSdW50aW1lRmxhZ3MsICZxdWV1ZVRhc2tUb0V2ZW50TG9vcCwgJnNob3VsZEludGVy
cnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsICZtb2R1bGVMb2FkZXJSZXNvbHZlLCAmbW9kdWxlTG9h
ZGVyRmV0Y2gsIG51bGxwdHIsIG51bGxwdHIsICZtb2R1bGVMb2FkZXJFdmFsdWF0ZSB9OwogCiBK
U0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93QmFzZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBQYXNzUmVmUHRyPERPTVdpbmRvdz4gd2luZG93LCBKU0RPTVdpbmRvd1NoZWxsKiBzaGVs
bCkKICAgICA6IEpTRE9NR2xvYmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUsICZzaGVsbC0+d29ybGQo
KSwgJnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUpCkBAIC0yNzYsNCArMjc4LDMxIEBAIHZvaWQg
SlNET01XaW5kb3dCYXNlOjpmaXJlRnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9N
V2luZG93KiB3aW5kb3cpCiAgICAgfQogfQogCisKK0pTQzo6SlNJbnRlcm5hbFByb21pc2UqIEpT
RE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyUmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFt
ZSwgSlNDOjpKU1ZhbHVlIHJlZmVycmVyKQoreworICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09i
amVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7CisgICAg
aWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT5pbXBsKCkuZG9jdW1l
bnQoKSkKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS0+cmVzb2x2ZShn
bG9iYWxPYmplY3QsIGV4ZWMsIG1vZHVsZU5hbWUsIHJlZmVycmVyKTsKKyAgICBKU0M6OkpTSW50
ZXJuYWxQcm9taXNlRGVmZXJyZWQqIGRlZmVycmVkID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZURl
ZmVycmVkOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KTsKKyAgICByZXR1cm4gZGVmZXJyZWQt
PnJlamVjdChleGVjLCBqc1VuZGVmaW5lZCgpKTsKK30KKworSlNDOjpKU0ludGVybmFsUHJvbWlz
ZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJGZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgbW9kdWxl
S2V5KQoreworICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpT
RE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKFJlZlB0cjxEb2N1bWVudD4g
ZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT5pbXBsKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJu
IGRvY3VtZW50LT5tb2R1bGVMb2FkZXIoKS0+ZmV0Y2goZ2xvYmFsT2JqZWN0LCBleGVjLCBtb2R1
bGVLZXkpOworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZCogZGVmZXJyZWQgPSBK
U0M6OkpTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQ6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3Qp
OworICAgIHJldHVybiBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIGpzVW5kZWZpbmVkKCkpOworfQor
CitKU0M6OkpTVmFsdWUgSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6
OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6
OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpTVmFsdWUgbW9kdWxlUmVjb3JkKQoreworICAgIEpT
RE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NV2luZG93QmFzZSo+
KGdsb2JhbE9iamVjdCk7CisgICAgaWYgKFJlZlB0cjxEb2N1bWVudD4gZG9jdW1lbnQgPSB0aGlz
T2JqZWN0LT5pbXBsKCkuZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tb2R1
bGVMb2FkZXIoKS0+ZXZhbHVhdGUoZ2xvYmFsT2JqZWN0LCBleGVjLCBtb2R1bGVLZXksIG1vZHVs
ZVJlY29yZCk7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jh
c2UuaAppbmRleCA1ZWQzODYyYzE0MTE4N2MwMDZiNjg4ZGI3OTc3OTRiMzY5ODEwNTY0Li4yZDQ0
YjgwMDllNTRkYmIwNzRlOGY5OTc3YzE2YjI1ZTEyNTdlYWJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAtNzgsNiArNzgsMTEgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBKU0M6OldhdGNocG9pbnRTZXQgbV93aW5kb3dDbG9zZVdh
dGNocG9pbnRzOwogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgLy8gTW9kdWxlIExvYWRlciBob29r
cy4KKyAgICAgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2UqIG1vZHVsZUxvYWRlclJl
c29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVl
LCBKU0M6OkpTVmFsdWUpOworICAgICAgICBzdGF0aWMgSlNDOjpKU0ludGVybmFsUHJvbWlzZSog
bW9kdWxlTG9hZGVyRmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRlKiwg
SlNDOjpKU1ZhbHVlKTsKKyAgICAgICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBtb2R1bGVMb2FkZXJF
dmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFs
dWUsIEpTQzo6SlNWYWx1ZSk7CisKICAgICAgICAgUmVmUHRyPERPTVdpbmRvdz4gbV9pbXBsOwog
ICAgICAgICBKU0RPTVdpbmRvd1NoZWxsKiBtX3NoZWxsOwogICAgIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Nb2R1bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvTW9kdWxlTG9hZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MGJkODkzYzhlNmJk
MDU0NmM0MjY4ZGVkZTIxMmQyNDhjMDg1OGVjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvTW9kdWxlTG9hZGVyLmNwcApAQCAtMCwwICsxLDEyNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNb2R1bGVMb2FkZXIuaCIK
KworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2lu
Y2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSA8cnVu
dGltZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU01v
ZHVsZVJlY29yZC5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNTdHJpbmcuaD4KKyNpbmNsdWRlIDxy
dW50aW1lL1N5bWJvbC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01vZHVsZUxvYWRlcjo6
TW9kdWxlTG9hZGVyKERvY3VtZW50JiBkb2N1bWVudCkKKyAgICA6IG1fZG9jdW1lbnQoZG9jdW1l
bnQpCit7Cit9CisKK0pTQzo6SlNJbnRlcm5hbFByb21pc2UqIE1vZHVsZUxvYWRlcjo6cmVzb2x2
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVj
LCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZVZhbHVlLCBKU0M6OkpTVmFsdWUgcmVmZXJyZXJWYWx1
ZSkKK3sKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQqIGRlZmVycmVkID0gSlND
OjpKU0ludGVybmFsUHJvbWlzZURlZmVycmVkOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KTsK
KworICAgIC8vIFdlIHVzZSBhIFN5bWJvbCBhcyBhIHNwZWNpYWwgcHVycG9zZTsgSXQgbWVhbnMg
dGhpcyBtb2R1bGUgaXMgYW4gaW5saW5lIG1vZHVsZS4KKyAgICAvLyBTbyB0aGVyZSBpcyBubyBj
b3JyZWN0IFVSTCB0byByZXRyaWV2ZSB0aGUgbW9kdWxlIHNvdXJjZSBjb2RlLiBJZiB0aGUgbW9k
dWxlIG5hbWUKKyAgICAvLyB2YWx1ZSBpcyBhIFN5bWJvbCwgaXQgaXMgdXNlZCBkaXJlY3RseSBh
cyBhIG1vZHVsZSBrZXkuCisgICAgaWYgKG1vZHVsZU5hbWVWYWx1ZS5pc1N5bWJvbCgpKQorICAg
ICAgICByZXR1cm4gZGVmZXJyZWQtPnJlc29sdmUoZXhlYywgbW9kdWxlTmFtZVZhbHVlKTsKKwor
ICAgIGlmICghbW9kdWxlTmFtZVZhbHVlLmlzU3RyaW5nKCkpCisgICAgICAgIHJldHVybiBkZWZl
cnJlZC0+cmVqZWN0KGV4ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJNb2R1bGUgbmFt
ZSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7CisKKyAgICBTdHJpbmcgbW9kdWxlTmFtZSA9
IGFzU3RyaW5nKG1vZHVsZU5hbWVWYWx1ZSktPnZhbHVlKGV4ZWMpOworCisgICAgLy8gTm93LCB3
ZSBjb25zaWRlciB0aGUgZ2l2ZW4gbW9kdWxlTmFtZSBhcyB0aGUgc2FtZSB0byB0aGUgYGltcG9y
dCAiLi4uImAgaW4gdGhlIG1vZHVsZSBjb2RlLgorICAgIC8vIFdlIHVzZSB0aGUgY29tcGxldGVk
IFVSTCBhcyB0aGUgdW5pcXVlIG1vZHVsZSBrZXkuCisgICAgVVJMIGNvbXBsZXRlZFVybDsKKwor
ICAgIGlmIChyZWZlcnJlclZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIGNvbXBsZXRlZFVybCA9
IG1fZG9jdW1lbnQuY29tcGxldGVVUkwobW9kdWxlTmFtZSk7CisgICAgZWxzZSBpZiAocmVmZXJy
ZXJWYWx1ZS5pc1VuZGVmaW5lZCgpKQorICAgICAgICBjb21wbGV0ZWRVcmwgPSBtX2RvY3VtZW50
LmNvbXBsZXRlVVJMKG1vZHVsZU5hbWUpOworICAgIGVsc2UgaWYgKHJlZmVycmVyVmFsdWUuaXNT
dHJpbmcoKSkgeworICAgICAgICBVUkwgcmVmZXJyZXJVcmwoVVJMKCksIGFzU3RyaW5nKHJlZmVy
cmVyVmFsdWUpLT52YWx1ZShleGVjKSk7CisgICAgICAgIGlmICghcmVmZXJyZXJVcmwuaXNWYWxp
ZCgpKQorICAgICAgICAgICAgcmV0dXJuIGRlZmVycmVkLT5yZWplY3QoZXhlYywgSlNDOjpjcmVh
dGVUeXBlRXJyb3IoZXhlYywgIlJlZmVycmVyIGlzIGFuIGludmFsaWQgVVJMLiIpKTsKKyAgICAg
ICAgY29tcGxldGVkVXJsID0gbV9kb2N1bWVudC5jb21wbGV0ZVVSTChtb2R1bGVOYW1lLCByZWZl
cnJlclVybCk7CisgICAgfSBlbHNlCisgICAgICAgIHJldHVybiBkZWZlcnJlZC0+cmVqZWN0KGV4
ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJSZWZlcnJlciBpcyBub3QgU3ltYm9sIG9y
IFN0cmluZy4iKSk7CisKKyAgICBpZiAoIWNvbXBsZXRlZFVybC5pc1ZhbGlkKCkpCisgICAgICAg
IHJldHVybiBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMs
ICJNb2R1bGUgbmFtZSBjb25zdHJ1Y3RzIGFuIGludmFsaWQgVVJMLiIpKTsKKworICAgIHJldHVy
biBkZWZlcnJlZC0+cmVzb2x2ZShleGVjLCBqc1N0cmluZyhleGVjLCBjb21wbGV0ZWRVcmwuc3Ry
aW5nKCkpKTsKK30KKworSlNDOjpKU0ludGVybmFsUHJvbWlzZSogTW9kdWxlTG9hZGVyOjpmZXRj
aChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVj
LCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5VmFsdWUpCit7CisgICAgSlNDOjpKU0ludGVybmFsUHJv
bWlzZURlZmVycmVkKiBkZWZlcnJlZCA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZDo6
Y3JlYXRlKGV4ZWMsIGdsb2JhbE9iamVjdCk7CisKKyAgICBpZiAobW9kdWxlS2V5VmFsdWUuaXNT
eW1ib2woKSkKKyAgICAgICAgcmV0dXJuIGRlZmVycmVkLT5yZWplY3QoZXhlYywgSlNDOjpjcmVh
dGVUeXBlRXJyb3IoZXhlYywgIlN5bWJvbCBtb2R1bGUga2V5IHNob3VsZCBiZSBhbHJlYWR5IGZ1
bGZpbGxlZCB3aXRoIHRoZSBpbmxpbmVkIHJlc291cmNlLiIpKTsKKworICAgIGlmICghbW9kdWxl
S2V5VmFsdWUuaXNTdHJpbmcoKSkKKyAgICAgICAgcmV0dXJuIGRlZmVycmVkLT5yZWplY3QoZXhl
YywgSlNDOjpjcmVhdGVUeXBlRXJyb3IoZXhlYywgIk1vZHVsZSBrZXkgaXMgbm90IFN5bWJvbCBv
ciBTdHJpbmcuIikpOworCisgICAgVVJMIGNvbXBsZXRlZFVybChVUkwoKSwgYXNTdHJpbmcobW9k
dWxlS2V5VmFsdWUpLT52YWx1ZShleGVjKSk7CisgICAgaWYgKCFjb21wbGV0ZWRVcmwuaXNWYWxp
ZCgpKQorICAgICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0ZVR5
cGVFcnJvcihleGVjLCAiTW9kdWxlIGtleSBpcyBhbiBpbnZhbGlkIFVSTC4iKSk7CisKKyAgICAv
LyBGSVhNRTogSW1wbGVtZW50IHRoZSBtb2R1bGUgZmV0Y2hlci4KKworICAgIHJldHVybiBkZWZl
cnJlZC0+cHJvbWlzZSgpOworfQorCitKU0M6OkpTVmFsdWUgTW9kdWxlTG9hZGVyOjpldmFsdWF0
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVLZXlWYWx1ZSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZFZhbHVlKQoreworICAg
IC8vIEZJWE1FOiBDdXJyZW50bHksIHdlIG9ubHkgc3VwcG9ydCBKU01vZHVsZVJlY29yZC4KKyAg
ICBKU0M6OkpTTW9kdWxlUmVjb3JkKiBtb2R1bGVSZWNvcmQgPSBKU0M6OmpzRHluYW1pY0Nhc3Q8
SlNDOjpKU01vZHVsZVJlY29yZCo+KG1vZHVsZVJlY29yZFZhbHVlKTsKKyAgICBpZiAoIW1vZHVs
ZVJlY29yZCkKKyAgICAgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKKworICAgIFVSTCBz
b3VyY2VVcmw7CisgICAgaWYgKG1vZHVsZUtleVZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIHNv
dXJjZVVybCA9IG1fZG9jdW1lbnQudXJsKCk7CisgICAgZWxzZSBpZiAobW9kdWxlS2V5VmFsdWUu
aXNTdHJpbmcoKSkKKyAgICAgICAgc291cmNlVXJsID0gVVJMKFVSTCgpLCBhc1N0cmluZyhtb2R1
bGVLZXlWYWx1ZSktPnZhbHVlKGV4ZWMpKTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiBKU0M6
OnRocm93VHlwZUVycm9yKGV4ZWMsICJNb2R1bGUga2V5IGlzIG5vdCBTeW1ib2wgb3IgU3RyaW5n
LiIpOworCisgICAgaWYgKCFzb3VyY2VVcmwuaXNWYWxpZCgpKQorICAgICAgICByZXR1cm4gSlND
Ojp0aHJvd1R5cGVFcnJvcihleGVjLCAiTW9kdWxlIGtleSBpcyBhbiBpbnZhbGlkIFVSTC4iKTsK
KworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZXZhbHVhdGluZyBtb2R1bGUgY29kZS4KKworICAg
IHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL01vZHVsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvTW9kdWxlTG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWYzZDA5MWVhYmFiNjIwMGU5YmM1Y2U5
OWIxYzAwYjkyMTU1OWNjNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL01vZHVsZUxvYWRlci5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIE1vZHVsZUxvYWRlcl9oCisjZGVmaW5lIE1vZHVsZUxvYWRlcl9oCisKKyNpbmNsdWRlICJK
U0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlIDxydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlLmg+Cisj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRG9jdW1lbnQ7CisKK2NsYXNzIE1vZHVsZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTW9kdWxlTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6Cisg
ICAgZXhwbGljaXQgTW9kdWxlTG9hZGVyKERvY3VtZW50Jik7CisKKyAgICBEb2N1bWVudCYgZG9j
dW1lbnQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZG9jdW1lbnQ7CisgICAgfQorCisgICAg
SlNDOjpKU0ludGVybmFsUHJvbWlzZSogcmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHJlZmVy
cmVyKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBmZXRjaChKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5KTsKKyAgICBKU0M6
OkpTVmFsdWUgZXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRlKiwg
SlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCk7CisKK3By
aXZhdGU6CisgICAgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBNb2R1bGVMb2FkZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
aW5kZXggMWUxZGE5OWU2ZTUyYjM2NjY2MGI5NGE5ZGU1Nzc3MjAwMzYyNGZhNC4uNjBkNDIxOGJh
Y2NjOWE0MzU4MzJjMjg1ZjQ4OWFiMTE4ZGU5NzI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC0xMDQsNiArMTA0LDcgQEAKICNpbmNsdWRlICJNZWRpYVByb2R1Y2VyLmgiCiAjaW5jbHVk
ZSAiTWVkaWFRdWVyeUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TWF0Y2hlci5oIgorI2lu
Y2x1ZGUgIk1vZHVsZUxvYWRlci5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnRXaXRoSGl0VGVzdFJl
c3VsdHMuaCIKICNpbmNsdWRlICJOYW1lTm9kZUxpc3QuaCIKICNpbmNsdWRlICJOZXN0aW5nTGV2
ZWxJbmNyZW1lbnRlci5oIgpAQCAtNDY0LDYgKzQ2NSw3IEBAIERvY3VtZW50OjpEb2N1bWVudChG
cmFtZSogZnJhbWUsIGNvbnN0IFVSTCYgdXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMsIHVu
c2lnCiAgICAgLCBtX3N0YXJ0VGltZShzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSkK
ICAgICAsIG1fb3Zlck1pbmltdW1MYXlvdXRUaHJlc2hvbGQoZmFsc2UpCiAgICAgLCBtX3Njcmlw
dFJ1bm5lcihzdGQ6Om1ha2VfdW5pcXVlPFNjcmlwdFJ1bm5lcj4oKnRoaXMpKQorICAgICwgbV9t
b2R1bGVMb2FkZXIoc3RkOjptYWtlX3VuaXF1ZTxNb2R1bGVMb2FkZXI+KCp0aGlzKSkKICAgICAs
IG1feG1sVmVyc2lvbihBU0NJSUxpdGVyYWwoIjEuMCIpKQogICAgICwgbV94bWxTdGFuZGFsb25l
KFN0YW5kYWxvbmVVbnNwZWNpZmllZCkKICAgICAsIG1faGFzWE1MRGVjbGFyYXRpb24oZmFsc2Up
CkBAIC02MDUsNiArNjA3LDcgQEAgRG9jdW1lbnQ6On5Eb2N1bWVudCgpCiAgICAgICAgIG1fZG9t
V2luZG93LT5yZXNldFVubGVzc1N1c3BlbmRlZEZvclBhZ2VDYWNoZSgpOwogCiAgICAgbV9zY3Jp
cHRSdW5uZXIgPSBudWxscHRyOworICAgIG1fbW9kdWxlTG9hZGVyID0gbnVsbHB0cjsKIAogICAg
IHJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZjkx
ODA4OWYyM2IyZmIzYTE4ZGZiZDIxZjVmNzAzOTgwNTA3NWJhNy4uOWE3OGIyMzVhNjU4YjYxYzg4
YzFjNjdmNjdjYmVkZTQ0MWI5YTU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzMCw2ICsx
MzAsNyBAQCBjbGFzcyBNZWRpYVBsYXliYWNrVGFyZ2V0OwogY2xhc3MgTWVkaWFQbGF5YmFja1Rh
cmdldENsaWVudDsKIGNsYXNzIE1lZGlhUXVlcnlMaXN0OwogY2xhc3MgTWVkaWFRdWVyeU1hdGNo
ZXI7CitjbGFzcyBNb2R1bGVMb2FkZXI7CiBjbGFzcyBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1
bHRzOwogY2xhc3MgTmFtZWRGbG93Q29sbGVjdGlvbjsKIGNsYXNzIE5vZGVGaWx0ZXI7CkBAIC05
MzQsNiArOTM1LDcgQEAgY2xhc3MgRG9jdW1lbnQgOiBwdWJsaWMgQ29udGFpbmVyTm9kZSwgcHVi
bGljIFRyZWVTY29wZSwgcHVibGljIFNjcmlwdEV4ZWN1dGlvbkMKICAgICBEb2N1bWVudCYgdG9w
RG9jdW1lbnQoKSBjb25zdDsKICAgICAKICAgICBTY3JpcHRSdW5uZXIqIHNjcmlwdFJ1bm5lcigp
IHsgcmV0dXJuIG1fc2NyaXB0UnVubmVyLmdldCgpOyB9CisgICAgTW9kdWxlTG9hZGVyKiBtb2R1
bGVMb2FkZXIoKSB7IHJldHVybiBtX21vZHVsZUxvYWRlci5nZXQoKTsgfQogCiAgICAgSFRNTFNj
cmlwdEVsZW1lbnQqIGN1cnJlbnRTY3JpcHQoKSBjb25zdCB7IHJldHVybiAhbV9jdXJyZW50U2Ny
aXB0U3RhY2suaXNFbXB0eSgpID8gbV9jdXJyZW50U2NyaXB0U3RhY2subGFzdCgpLmdldCgpIDog
MDsgfQogICAgIHZvaWQgcHVzaEN1cnJlbnRTY3JpcHQoUGFzc1JlZlB0cjxIVE1MU2NyaXB0RWxl
bWVudD4pOwpAQCAtMTUxOCw2ICsxNTIwLDcgQEAgY2xhc3MgRG9jdW1lbnQgOiBwdWJsaWMgQ29u
dGFpbmVyTm9kZSwgcHVibGljIFRyZWVTY29wZSwgcHVibGljIFNjcmlwdEV4ZWN1dGlvbkMKICAg
ICBib29sIG1fb3Zlck1pbmltdW1MYXlvdXRUaHJlc2hvbGQ7CiAgICAgCiAgICAgc3RkOjp1bmlx
dWVfcHRyPFNjcmlwdFJ1bm5lcj4gbV9zY3JpcHRSdW5uZXI7CisgICAgc3RkOjp1bmlxdWVfcHRy
PE1vZHVsZUxvYWRlcj4gbV9tb2R1bGVMb2FkZXI7CiAKICAgICBWZWN0b3I8UmVmUHRyPEhUTUxT
Y3JpcHRFbGVtZW50Pj4gbV9jdXJyZW50U2NyaXB0U3RhY2s7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261967</attachid>
            <date>2015-09-26 02:06:27 -0700</date>
            <delta_ts>2015-09-26 02:08:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149574-20150926180606.patch</filename>
            <type>text/plain</type>
            <size>32848</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTcwOGE5ZTE1ZWFiMThm
ZDM4N2ZlOTE4YjAzODk2N2RjMjhiYjJhOC4uYTk1ZmEwOGJjYTY5Y2ZjYzQ4OTdkMGI0YzczMjc1
NDM4NDI1NDNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE1LTA5LTI2ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgTW9kdWxlIGxvYWRlciBob29rIHN0dWJzIGluIFdlYkNvcmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGlt
cGxlbWVudCB0aGUgbG9hZGVyIGhvb2tzIGluIHRoZSBXZWJDb3JlIHNpZGUuCisgICAgICAgIFNp
bmNlIHRoZSBmZXRjaGVyIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiBjb2RlIGFyZSBzZXBhcmF0ZWQg
ZnJvbQorICAgICAgICB0aGlzIHBhdGNoLCB0aGV5IGJlY29tZSBlbXB0eS4KKworICAgICAgICBI
ZXJlLCBXZWJDb3JlIGltcGxlbWVudHMgMyBsb2FkZXIgaG9va3MuCisKKyAgICAgICAgMS4gcmVz
b2x2ZSBob29rCisKKyAgICAgICAgICAgIFRha2VzIHRoZSBtb2R1bGUgbmFtZSBhbmQgcmVzb2x2
ZSBpdCB0byB0aGUgdW5pcXVlIG1vZHVsZSBrZXkuCisgICAgICAgICAgICBJbiBXZWJDb3JlLCB3
ZSB1c2UgVVJMIGFzIGEgbW9kdWxlIGtleS4KKyAgICAgICAgICAgIEFuZCBmb3IgdGhlIGlubGlu
ZWQgbW9kdWxlIHRhZyAoZS5nLiA8c2NyaXB0IHR5cGU9Im1vZHVsZSI+aW1wb3J0IC4uLjwvc2Ny
aXB0PiksCisgICAgICAgICAgICB3ZSB1c2UgdGhlIEVTNiBzeW1ib2wgYXMgYSBtb2R1bGUga2V5
LgorICAgICAgICAgICAgSW4gV2ViQ29yZSwgd2UgdGFrZSB0aGUgbW9kdWxlIG5hbWUgbGlrZSAi
Li9oZWxsby5qcyIgYW5kIHJlc29sdmUgaXQgYnkgdXNpbmcKKyAgICAgICAgICAgIHRoZSBVUkwg
b2YgdGhlIGltcG9ydGVyIG1vZHVsZS4KKyAgICAgICAgICAgIFRoaXMgZnVuY3Rpb25hbGl0eSBp
cyBpbXBsZW1lbnRlZCBpbiB0aGlzIHBhdGNoLgorCisgICAgICAgIDIuIGZldGNoIGhvb2sKKwor
ICAgICAgICAgICAgRmV0Y2hlcyB0aGUgcmVzb3VyY2Ugc3BlY2lmaWVkIGJ5IHRoZSBtb2R1bGUg
a2V5LiBJbiBXZWJDb3JlLCB0aGUgbW9kdWxlIGtleSBpcworICAgICAgICAgICAgVVJMLiBXZSB1
c2UgQ2FjaGVkUmVzb3VyY2UgbG9hZGluZyBzeXN0ZW0gdG8gbG9hZCB0aGUgcmVzb3VyY2Ugb2Yg
dGhlIG1vZHVsZXMuCisgICAgICAgICAgICBUaGUgYWN0dWFsIGNvZGUgb2YgdGhlIGZldGNoIGhv
b2sgd2lsbCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgc3Vic2VxdWVudCBwYXRjaC4KKworICAgICAg
ICAzLiBldmFsdWF0ZSBob29rCisKKyAgICAgICAgICAgIFRoaXMgaXMgYWRkaXRpb25hbCBob29r
IHRvIGluc3RydW1lbnQgdGhlIG1vZHVsZSdzIGV4ZWN1dGlvbiBmb3IgdGhlIGluc3BlY3Rvci4K
KyAgICAgICAgICAgIFRoZSBhY3R1YWwgY29kZSBvZiB0aGUgZXZhbHVhdGUgaG9vayB3aWxsIGJl
IGltcGxlbWVudGVkIGluIHRoZSBzdWJzZXF1ZW50IHBhdGNoLgorCisgICAgICAgIEluIGFkZGl0
aW9uIHRvIHRoYXQsIHdlIGFkZGVkIHJlcXVpcmVkIEpTQyBmb3J3YXJkIGhlYWRlcnMgZm9yIHRo
ZSBtb2R1bGUgbG9hZGVyCisgICAgICAgIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU0ludGVy
bmFsUHJvbWlzZS5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9ydW50aW1l
L0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGlu
Z0hlYWRlcnMvcnVudGltZS9KU01vZHVsZVJlY29yZC5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3
YXJkaW5nSGVhZGVycy9ydW50aW1lL1N5bWJvbC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNvbHZlKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJFdmFsdWF0ZSk6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNN
b2R1bGVMb2FkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTW9kdWxlTG9hZGVy
OjpKU01vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU01vZHVsZUxvYWRlcjo6cmVz
b2x2ZSk6CisgICAgICAgIChXZWJDb3JlOjpKU01vZHVsZUxvYWRlcjo6ZmV0Y2gpOgorICAgICAg
ICAoV2ViQ29yZTo6SlNNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU01vZHVsZUxvYWRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTW9kdWxl
TG9hZGVyOjpkb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6fkRvY3VtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50Ojptb2R1bGVMb2FkZXIpOgorCiAyMDE1LTA5LTI1ICBFcmljIENhcmxzb24g
IDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHVzZXIgbWVkaWEg
cmVxdWVzdCBpbnRlcm5hbCBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMTMxZjY0NGNiOTg0
ODk5NmFiNDBiZGM3M2M4MGZjNmE0ODc5MmY4Mi4uN2E4MjFlZTQ3MjEyNjhkZmVlOWNkYWRjMDJk
OTc0ODE5MjU4ZjMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTExNzcsNiArMTE3Nyw3IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VDaGFubmVsQ3Vz
dG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNNb2R1
bGVMb2FkZXIuY3BwCiAgICAgYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTTXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Zv
cndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaCBiL1NvdXJjZS9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43ZjU1N2EyZjIxZWNmNmIyYWVjYWQ2N2UzNTNlMTk2NmU0Nzk0ZTgwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU0ludGVy
bmFsUHJvbWlzZS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9KU0ludGVy
bmFsUHJvbWlzZV9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0pTSW50ZXJuYWxQcm9taXNlX2gKKyNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1
bnRpbWUvSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2YzA4NmRkMzlh
ZmY5ZTEwNGJkNWE2ZmY3YWU3OTI1NDYzODY5NTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJy
ZWQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSlNJbnRlcm5hbFByb21p
c2VEZWZlcnJlZF9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0pTSW50ZXJuYWxQcm9taXNlRGVmZXJy
ZWRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQu
aD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMv
cnVudGltZS9KU01vZHVsZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvcnVudGltZS9KU01vZHVsZVJlY29yZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzZTllY2ZmYmNmNTdjMmE5
Yzc5NWNjYjFkODAzNDBmOTE0ZDdkNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTTW9kdWxlUmVjb3JkLmgKQEAgLTAsMCArMSw0
IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0pTTW9kdWxlUmVjb3JkX2gKKyNkZWZpbmUgV2ViQ29y
ZV9GV0RfSlNNb2R1bGVSZWNvcmRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTW9kdWxl
UmVjb3JkLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdI
ZWFkZXJzL3J1bnRpbWUvU3ltYm9sLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVy
cy9ydW50aW1lL1N5bWJvbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1MDQyN2YwOTFhOWVjYWNmYmZhMDk5YWUw
ZDAzMGUwZTliYzVlYjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJk
aW5nSGVhZGVycy9ydW50aW1lL1N5bWJvbC5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJD
b3JlX0ZXRF9TeW1ib2xfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TeW1ib2xfaAorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL1N5bWJvbC5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBiYjhhNDY3NDEzNTA5MmM1NWQxMWUy
NmU1YjJhMTIxZTJjZmY4Y2E2Li5mMzA1NTJmOTMyOWYzZjRlZWI0YTM1MGFjZTE0Y2I1NzQxNjM1
YmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKQEAgLTE4NDI3LDYgKzE4NDI3LDIwIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNb2R1bGVMb2FkZXIuY3BwIj4KKyAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Jl
bGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGls
ZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTTXV0YXRpb25DYWxs
YmFjay5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpA
QCAtMjI0NzgsNiArMjI0OTIsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGlu
Z3NcanNcSlNMYXp5RXZlbnRMaXN0ZW5lci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01lc3NhZ2VQb3J0Q3VzdG9tLmgiIC8+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01vZHVsZUxvYWRlci5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNdXRhdGlvbkNhbGxiYWNr
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU05vZGVDdXN0
b20uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTTm9kZU9y
U3RyaW5nLmgiIC8+CkBAIC0yMjcyMiwxMyArMjI3MzcsMTcgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHN2Z1xwcm9wZXJ0aWVzXFNWR1RyYW5zZm9ybUxpc3RQcm9wZXJ0eVRlYXJPZmYu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRp
bWVcQXJnTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNccnVudGltZVxJZGVudGlmaWVyLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTSW50ZXJuYWxQcm9taXNlLmgiIC8+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndh
cmRpbmdIZWFkZXJzXHJ1bnRpbWVcSlNMb2NrLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTT2JqZWN0LmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTU3RyaW5nLmgiIC8+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpT
TW9kdWxlUmVjb3JkLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5n
SGVhZGVyc1xydW50aW1lXExvb2t1cC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxPcGVyYXRpb25zLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXFByb3RlY3QuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcU3RyaW5n
T2JqZWN0LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xydW50aW1lXFN5bWJvbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNceWFyclxSZWd1bGFyRXhwcmVzc2lvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNceWFyclxZYXJyLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x5YXJyXFlhcnJJbnRlcnByZXRlci5o
IiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzCmluZGV4IGFmMDU4ZTFmMGRjM2I1ZWY4N2Q3NzJhYmE1MDhhMTJlM2M1
NTdmMmEuLmRmNGViNmQwZTE4MzIzYzkwZTI0OTZkNDVkMGE4ZjRkMjNhNzM3MjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKQEAgLTQzODAsNiArNDM4MCw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxi
aW5kaW5nc1xqc1xKU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRp
bmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxiaW5kaW5nc1xqc1xKU01vZHVsZUxvYWRlci5jcHAiPgorICAgICAgPEZpbHRlcj5iaW5k
aW5nc1xqczwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCI+CiAgICAgICA8RmlsdGVy
PmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTQ3NCw2ICsxMTQ3
Nyw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01lc3NhZ2VQ
b3J0Q3VzdG9tLmgiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNb2R1
bGVMb2FkZXIuaCI+CisgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CisgICAgPC9D
bEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU011dGF0
aW9uQ2FsbGJhY2suaCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CkBAIC0xMTY1NCwxMiArMTE2NjAsMjEgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcSWRlbnRpZmllci5oIj4KICAgICAg
IDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGlt
ZVxKU0ludGVybmFsUHJvbWlzZS5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNc
cnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU0ludGVybmFsUHJvbWlzZURlZmVycmVk
LmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+Cisg
ICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xydW50aW1lXEpTTG9jay5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNc
cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU09iamVjdC5oIj4KICAgICAgIDxGaWx0
ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU01v
ZHVsZVJlY29yZC5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwv
RmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNccnVudGltZVxKU1N0cmluZy5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2Fy
ZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTE2Nzgs
NiArMTE2OTMsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRl
cnNccnVudGltZVxTdHJpbmdPYmplY3QuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFk
ZXJzXHJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcU3ltYm9sLmgiPgorICAgICAgPEZp
bHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x5YXJyXFJlZ3Vs
YXJFeHByZXNzaW9uLmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1x5YXJyPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNWIwNDIyMzAzYTM1OWY2NGI5YTJhMDZiZDU4
ZTQ3OWYzZjhjNzZkMS4uNTliMTNiZDFkNWRhYTJlZTg1NjU3ZDQ3ZTgyN2JjZTI1MmViNjkzYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNjMyNCw2ICs2MzI0LDggQEAKIAkJRTFGRjhGNjgxODA3NDYwODAwMTMyNjc0IC8qIEpT
U3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1
c3RvbS5jcHAgKi87IH07CiAJCUUxRkY4RjZDMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9BbGdv
cml0aG1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMUZGOEY2QTE4MERCNUJFMDAxMzI2NzQgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0
cnkuY3BwICovOyB9OwogCQlFMUZGOEY2RDE4MERCNUJFMDAxMzI2NzQgLyogQ3J5cHRvQWxnb3Jp
dGhtUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUxRkY4RjZCMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5o
ICovOyB9OworCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4ODM4OTQx
QkFEMTQ1RjAwRDYyRUUzIC8qIEpTTW9kdWxlTG9hZGVyLmNwcCAqLzsgc2V0dGluZ3MgPSB7QVNT
RVRfVEFHUyA9ICgpOyB9OyB9OworCQlFMzg4Mzg5OTFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1
bGVMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBKU01vZHVsZUxvYWRlci5oICovOyBzZXR0aW5n
cyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07CiAJCUU0MDFDMjc1MTdDRTUzRUMwMEM0MUEzNSAv
KiBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNDAxQzI3NDE3Q0U1M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0
ZXJhdG9yQXNzZXJ0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUU0MjRBMzlFMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRp
bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MjRB
MzlEMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUuaCAqLzsgfTsKIAkJRTQy
NEEzQTAxMzMwREYxRTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MjRBMzlGMTMzMERGMUUwMENG
NkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUubW0gKi87IH07CkBAIC0xNDA4NSw2ICsxNDA4Nyw4
IEBACiAJCUUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N1YnRsZUNyeXB0b0N1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRkY4RjZBMTgwREI1QkUw
MDEzMjY3NCAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRkY4RjZCMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9B
bGdvcml0aG1SZWdpc3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlw
dG9BbGdvcml0aG1SZWdpc3RyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzg4
Mzg5NDFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2R1bGVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMzg4Mzg5NTFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2Fk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2R1bGVMb2FkZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMUMyNzQxN0NFNTNFQzAwQzQxQTM1IC8q
IEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFNDA2RjNGQjExOTgzMDdEMDA5RDU5RDYgLyogQ29sb3JEYXRhLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbG9yRGF0YS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0MUVBMDM4MTE5ODM2REIwMDcxMEJDNSAvKiBDU1NQcm9wZXJ0
eU5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1Byb3Bl
cnR5TmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE1MzcsNiArMjE1
NDEsOCBAQAogCQkJCTQxMTg5RUY4MUFEODIzM0MwMEI5MEEwRCAvKiBKU1JlYWRhYmxlU3RyZWFt
Q29udHJvbGxlckN1c3RvbS5jcHAgKi8sCiAJCQkJRTFDMzZEMzIwRUIwQTA5NDAwNzQxMEJDIC8q
IEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCAqLywKIAkJCQlFMUMzNkQzMzBFQjBBMDk0MDA3
NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCAqLywKKwkJCQlFMzg4Mzg5NDFCQUQx
NDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3BwICovLAorCQkJCUUzODgzODk1MUJBRDE0
NUYwMEQ2MkVFMyAvKiBKU01vZHVsZUxvYWRlci5oICovLAogCQkJCTQxOThCREVFMUE4MTEyMzYw
MEIyMkZCNSAvKiBSZWFkYWJsZUpTU3RyZWFtLmNwcCAqLywKIAkJCQk0MTk4QkRFRjFBODExMjM2
MDBCMjJGQjUgLyogUmVhZGFibGVKU1N0cmVhbS5oICovLAogCQkJCUJDQTM3OEJBMEQxNUY2NDIw
MEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwICovLApAQCAtMjYyMDcsNiArMjYyMTMsNyBA
QAogCQkJCUNFMTI1MjQxMUExNkIxQjYwMDg2NDQ4MCAvKiBNZWRpYVBsYXllclNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTJFMkNBRkMxOUZGMDIwNzAwMUVFQjRGIC8qIE1lZGlhUHJvZHVjZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJBMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1
ZXJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzg4Mzg5OTFCQUQxNDVGMDBENjJFRTMgLyogSlNN
b2R1bGVMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJDMEEzOURBQ0MwMDIyMEZF
NSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RTE5NTkyRTBB
MzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV4cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNB
OTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLywK
QEAgLTI4NTczLDYgKzI4NTgwLDcgQEAKIAkJCQkzMTA2MDM3QTE0MzI4MUNEMDBBQkY0QkEgLyog
RE9NV2ViS2l0Q1NTRmlsdGVyVmFsdWUubW0gaW4gU291cmNlcyAqLywKIAkJCQk0OTgzOTE1MTBG
MUU3NkI0MDBDMjM3ODIgLyogRE9NV2ViS2l0Q1NTTWF0cml4Lm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOEFEMEE1OTcxNEM4ODM1ODAwMEQ4M0M1IC8qIERPTVdlYktpdENTU1JlZ2lvblJ1bGUubW0g
aW4gU291cmNlcyAqLywKKwkJCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVM
b2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE2MTFFNjIwRTFDNEUxNDAwRjZBNTc5IC8q
IERPTVdlYktpdENTU1RyYW5zZm9ybVZhbHVlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJM0YyQjMz
RUMxNjVBRjE1NjAwRTM5ODdDIC8qIERPTVdlYktpdENTU1ZpZXdwb3J0UnVsZS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCThBMTk1OTMzMTQ3RUExNkUwMEQxRUE2MSAvKiBET01XZWJLaXROYW1lZEZs
b3cubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IDY2MDBmMzRhZTA2NWZmZTExOGMzZjI4ZjFiMGNl
MTU4YjMyYmY5NWMuLjE5Yzk1MWIwOTRiZDA4ZDc3ZjRmMTczYzI5YTMzYmViNWZhYzdhZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNw
cApAQCAtMTA2LDYgKzEwNiw3IEBACiAjaW5jbHVkZSAiSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5j
cHAiCiAjaW5jbHVkZSAiSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTTWVz
c2FnZVBvcnRDdXN0b20uY3BwIgorI2luY2x1ZGUgIkpTTW9kdWxlTG9hZGVyLmNwcCIKICNpbmNs
dWRlICJKU011dGF0aW9uQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25PYnNlcnZl
ckN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggODM1MDMz
MzEzZWZlMTUyZjFlMzlmNGMxNTFiYmRjMmYwYTFhZDdmYi4uYWU0NzczODgyYmU1NThiZDk3MzVi
YjVlNTY1YmI3YWI2OWE5YmU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9y
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0VGFzay5oIgogI2luY2x1
ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmgiCisjaW5jbHVkZSAiSlNNb2R1bGVMb2FkZXIuaCIKICNp
bmNsdWRlICJKU05vZGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgpAQCAtMzYsNiArMzcsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCisjaW5jbHVk
ZSA8cnVudGltZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg+CiAjaW5jbHVkZSA8cnVudGlt
ZS9NaWNyb3Rhc2suaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCkBAIC01Niw3ICs1
OCw3IEBAIHN0YXRpYyBib29sIHNob3VsZEFsbG93QWNjZXNzRnJvbShjb25zdCBKU0dsb2JhbE9i
amVjdCogdGhpc09iamVjdCwgRXhlY1N0YXRlKiBlCiAKIGNvbnN0IENsYXNzSW5mbyBKU0RPTVdp
bmRvd0Jhc2U6OnNfaW5mbyA9IHsgIldpbmRvdyIsICZKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZv
LCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRE9NV2luZG93QmFzZSkgfTsKIAotY29uc3QgR2xv
YmFsT2JqZWN0TWV0aG9kVGFibGUgSlNET01XaW5kb3dCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhv
ZFRhYmxlID0geyAmc2hvdWxkQWxsb3dBY2Nlc3NGcm9tLCAmc3VwcG9ydHNQcm9maWxpbmcsICZz
dXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0LCAmamF2YVNjcmlw
dFJ1bnRpbWVGbGFncywgJnF1ZXVlVGFza1RvRXZlbnRMb29wLCAmc2hvdWxkSW50ZXJydXB0U2Ny
aXB0QmVmb3JlVGltZW91dCwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVs
bHB0ciB9OworY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNET01XaW5kb3dCYXNlOjpz
X2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlID0geyAmc2hvdWxkQWxsb3dBY2Nlc3NGcm9tLCAmc3Vw
cG9ydHNQcm9maWxpbmcsICZzdXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0
U2NyaXB0LCAmamF2YVNjcmlwdFJ1bnRpbWVGbGFncywgJnF1ZXVlVGFza1RvRXZlbnRMb29wLCAm
c2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGltZW91dCwgJm1vZHVsZUxvYWRlclJlc29sdmUs
ICZtb2R1bGVMb2FkZXJGZXRjaCwgbnVsbHB0ciwgbnVsbHB0ciwgJm1vZHVsZUxvYWRlckV2YWx1
YXRlIH07CiAKIEpTRE9NV2luZG93QmFzZTo6SlNET01XaW5kb3dCYXNlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV2luZG93PiB3aW5kb3csIEpTRE9NV2luZG93
U2hlbGwqIHNoZWxsKQogICAgIDogSlNET01HbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSwgJnNo
ZWxsLT53b3JsZCgpLCAmc19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKQEAgLTI3Niw0ICsyNzgs
MzEgQEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0Zv
cldpbmRvdyhET01XaW5kb3cqIHdpbmRvdykKICAgICB9CiB9CiAKKworSlNDOjpKU0ludGVybmFs
UHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcmVmZXJyZXIpCit7CisgICAgSlNET01XaW5kb3dC
YXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2Jq
ZWN0KTsKKyAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPmlt
cGwoKS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigp
LT5yZXNvbHZlKGdsb2JhbE9iamVjdCwgZXhlYywgbW9kdWxlTmFtZSwgcmVmZXJyZXIpOworICAg
IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZCogZGVmZXJyZWQgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQ6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3QpOworICAgIHJldHVy
biBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIGpzVW5kZWZpbmVkKCkpOworfQorCitKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNW
YWx1ZSBtb2R1bGVLZXkpCit7CisgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlND
Ojpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoUmVmUHRy
PERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPmltcGwoKS5kb2N1bWVudCgpKQorICAg
ICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLT5mZXRjaChnbG9iYWxPYmplY3Qs
IGV4ZWMsIG1vZHVsZUtleSk7CisgICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZURlZmVycmVkKiBk
ZWZlcnJlZCA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZDo6Y3JlYXRlKGV4ZWMsIGds
b2JhbE9iamVjdCk7CisgICAgcmV0dXJuIGRlZmVycmVkLT5yZWplY3QoZXhlYywganNVbmRlZmlu
ZWQoKSk7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckV2
YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQp
Cit7CisgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01X
aW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1
bWVudCA9IHRoaXNPYmplY3QtPmltcGwoKS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gZG9j
dW1lbnQtPm1vZHVsZUxvYWRlcigpLT5ldmFsdWF0ZShnbG9iYWxPYmplY3QsIGV4ZWMsIG1vZHVs
ZUtleSwgbW9kdWxlUmVjb3JkKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5oCmluZGV4IDVlZDM4NjJjMTQxMTg3YzAwNmI2ODhkYjc5Nzc5NGIzNjk4
MTA1NjQuLjhmNGM1NjI4N2NkYzBlNmYxMGVkODU2NjM2YTMwZTU1MGIxNWEzMjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC03OCw2ICs3OCwx
MCBAQAogICAgICAgICBKU0M6OldhdGNocG9pbnRTZXQgbV93aW5kb3dDbG9zZVdhdGNocG9pbnRz
OwogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2Uq
IG1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgICAgICBzdGF0aWMgSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVyRmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKTsKKyAgICAgICAgc3RhdGljIEpTQzo6SlNWYWx1
ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisKICAgICAgICAgUmVmUHRyPERPTVdp
bmRvdz4gbV9pbXBsOwogICAgICAgICBKU0RPTVdpbmRvd1NoZWxsKiBtX3NoZWxsOwogICAgIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01vZHVsZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01vZHVsZUxvYWRlci5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTgzNjg4Mjk2ZGZlMTVhZDYzOGZkZDc1MWYwMTdmNTAyMGNmODliNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTW9kdWxlTG9hZGVyLmNwcApA
QCAtMCwwICsxLDEyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJNb2R1bGVMb2FkZXIuaCIKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01CaW5k
aW5nLmgiCisjaW5jbHVkZSA8cnVudGltZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg+Cisj
aW5jbHVkZSA8cnVudGltZS9KU01vZHVsZVJlY29yZC5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNT
dHJpbmcuaD4KKyNpbmNsdWRlIDxydW50aW1lL1N5bWJvbC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0pTTW9kdWxlTG9hZGVyOjpKU01vZHVsZUxvYWRlcihEb2N1bWVudCYgZG9jdW1lbnQp
CisgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQoreworfQorCitKU0M6OkpTSW50ZXJuYWxQcm9t
aXNlKiBKU01vZHVsZUxvYWRlcjo6cmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZVZhbHVl
LCBKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXkpCit7CisgICAgSlNDOjpKU0ludGVybmFs
UHJvbWlzZURlZmVycmVkKiBkZWZlcnJlZCA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJl
ZDo6Y3JlYXRlKGV4ZWMsIGdsb2JhbE9iamVjdCk7CisKKyAgICAvLyBXZSB1c2UgYSBTeW1ib2wg
YXMgYSBzcGVjaWFsIHB1cnBvc2U7IEl0IG1lYW5zIHRoaXMgbW9kdWxlIGlzIGFuIGlubGluZSBt
b2R1bGUuCisgICAgLy8gU28gdGhlcmUgaXMgbm8gY29ycmVjdCBVUkwgdG8gcmV0cmlldmUgdGhl
IG1vZHVsZSBzb3VyY2UgY29kZS4gSWYgdGhlIG1vZHVsZSBuYW1lCisgICAgLy8gdmFsdWUgaXMg
YSBTeW1ib2wsIGl0IGlzIHVzZWQgZGlyZWN0bHkgYXMgYSBtb2R1bGUga2V5LgorICAgIGlmICht
b2R1bGVOYW1lVmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgcmV0dXJuIGRlZmVycmVkLT5yZXNv
bHZlKGV4ZWMsIG1vZHVsZU5hbWVWYWx1ZSk7CisKKyAgICBpZiAoIW1vZHVsZU5hbWVWYWx1ZS5p
c1N0cmluZygpKQorICAgICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNy
ZWF0ZVR5cGVFcnJvcihleGVjLCAiTW9kdWxlIG5hbWUgaXMgbm90IFN5bWJvbCBvciBTdHJpbmcu
IikpOworCisgICAgU3RyaW5nIG1vZHVsZU5hbWUgPSBhc1N0cmluZyhtb2R1bGVOYW1lVmFsdWUp
LT52YWx1ZShleGVjKTsKKworICAgIC8vIE5vdywgd2UgY29uc2lkZXIgdGhlIGdpdmVuIG1vZHVs
ZU5hbWUgYXMgdGhlIHNhbWUgdG8gdGhlIGBpbXBvcnQgIi4uLiJgIGluIHRoZSBtb2R1bGUgY29k
ZS4KKyAgICAvLyBXZSB1c2UgdGhlIGNvbXBsZXRlZCBVUkwgYXMgdGhlIHVuaXF1ZSBtb2R1bGUg
a2V5LgorICAgIFVSTCBjb21wbGV0ZWRVcmw7CisKKyAgICBpZiAoaW1wb3J0ZXJNb2R1bGVLZXku
aXNTeW1ib2woKSkKKyAgICAgICAgY29tcGxldGVkVXJsID0gbV9kb2N1bWVudC5jb21wbGV0ZVVS
TChtb2R1bGVOYW1lKTsKKyAgICBlbHNlIGlmIChpbXBvcnRlck1vZHVsZUtleS5pc1VuZGVmaW5l
ZCgpKQorICAgICAgICBjb21wbGV0ZWRVcmwgPSBtX2RvY3VtZW50LmNvbXBsZXRlVVJMKG1vZHVs
ZU5hbWUpOworICAgIGVsc2UgaWYgKGltcG9ydGVyTW9kdWxlS2V5LmlzU3RyaW5nKCkpIHsKKyAg
ICAgICAgVVJMIGltcG9ydGVyTW9kdWxlVXJsKFVSTCgpLCBhc1N0cmluZyhpbXBvcnRlck1vZHVs
ZUtleSktPnZhbHVlKGV4ZWMpKTsKKyAgICAgICAgaWYgKCFpbXBvcnRlck1vZHVsZVVybC5pc1Zh
bGlkKCkpCisgICAgICAgICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNy
ZWF0ZVR5cGVFcnJvcihleGVjLCAiSW1wb3J0ZXIgbW9kdWxlIGtleSBpcyBhbiBpbnZhbGlkIFVS
TC4iKSk7CisgICAgICAgIGNvbXBsZXRlZFVybCA9IG1fZG9jdW1lbnQuY29tcGxldGVVUkwobW9k
dWxlTmFtZSwgaW1wb3J0ZXJNb2R1bGVVcmwpOworICAgIH0gZWxzZQorICAgICAgICByZXR1cm4g
ZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0ZVR5cGVFcnJvcihleGVjLCAiSW1wb3J0
ZXIgbW9kdWxlIGtleSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7CisKKyAgICBpZiAoIWNv
bXBsZXRlZFVybC5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBkZWZlcnJlZC0+cmVqZWN0KGV4
ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJNb2R1bGUgbmFtZSBjb25zdHJ1Y3RzIGFu
IGludmFsaWQgVVJMLiIpKTsKKworICAgIHJldHVybiBkZWZlcnJlZC0+cmVzb2x2ZShleGVjLCBq
c1N0cmluZyhleGVjLCBjb21wbGV0ZWRVcmwuc3RyaW5nKCkpKTsKK30KKworSlNDOjpKU0ludGVy
bmFsUHJvbWlzZSogSlNNb2R1bGVMb2FkZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXlW
YWx1ZSkKK3sKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQqIGRlZmVycmVkID0g
SlNDOjpKU0ludGVybmFsUHJvbWlzZURlZmVycmVkOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0
KTsKKworICAgIGlmIChtb2R1bGVLZXlWYWx1ZS5pc1N5bWJvbCgpKQorICAgICAgICByZXR1cm4g
ZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0ZVR5cGVFcnJvcihleGVjLCAiU3ltYm9s
IG1vZHVsZSBrZXkgc2hvdWxkIGJlIGFscmVhZHkgZnVsZmlsbGVkIHdpdGggdGhlIGlubGluZWQg
cmVzb3VyY2UuIikpOworCisgICAgaWYgKCFtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKQorICAg
ICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0ZVR5cGVFcnJvcihl
eGVjLCAiTW9kdWxlIGtleSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7CisKKyAgICBVUkwg
Y29tcGxldGVkVXJsKFVSTCgpLCBhc1N0cmluZyhtb2R1bGVLZXlWYWx1ZSktPnZhbHVlKGV4ZWMp
KTsKKyAgICBpZiAoIWNvbXBsZXRlZFVybC5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBkZWZl
cnJlZC0+cmVqZWN0KGV4ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJNb2R1bGUga2V5
IGlzIGFuIGludmFsaWQgVVJMLiIpKTsKKworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhlIG1v
ZHVsZSBmZXRjaGVyLgorCisgICAgcmV0dXJuIGRlZmVycmVkLT5wcm9taXNlKCk7Cit9CisKK0pT
Qzo6SlNWYWx1ZSBKU01vZHVsZUxvYWRlcjo6ZXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCos
IEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5VmFsdWUsIEpTQzo6
SlNWYWx1ZSBtb2R1bGVSZWNvcmRWYWx1ZSkKK3sKKyAgICAvLyBGSVhNRTogQ3VycmVudGx5LCB3
ZSBvbmx5IHN1cHBvcnQgSlNNb2R1bGVSZWNvcmQuCisgICAgLy8gT25jZSB0aGUgcmVmbGVjdGl2
ZSBwYXJ0IG9mIHRoZSBtb2R1bGUgbG9hZGVyIGlzIHN1cHBvcnRlZCwgd2Ugd2lsbCBoYW5kbGUg
YXJiaXRyYXJ5IHZhbHVlcy4KKyAgICAvLyBodHRwczovL3doYXR3Zy5naXRodWIuaW8vbG9hZGVy
LyNyZWdpc3RyeS1wcm90b3R5cGUtcHJvdmlkZQorICAgIEpTQzo6SlNNb2R1bGVSZWNvcmQqIG1v
ZHVsZVJlY29yZCA9IEpTQzo6anNEeW5hbWljQ2FzdDxKU0M6OkpTTW9kdWxlUmVjb3JkKj4obW9k
dWxlUmVjb3JkVmFsdWUpOworICAgIGlmICghbW9kdWxlUmVjb3JkKQorICAgICAgICByZXR1cm4g
SlNDOjpqc1VuZGVmaW5lZCgpOworCisgICAgVVJMIHNvdXJjZVVybDsKKyAgICBpZiAobW9kdWxl
S2V5VmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgc291cmNlVXJsID0gbV9kb2N1bWVudC51cmwo
KTsKKyAgICBlbHNlIGlmIChtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKQorICAgICAgICBzb3Vy
Y2VVcmwgPSBVUkwoVVJMKCksIGFzU3RyaW5nKG1vZHVsZUtleVZhbHVlKS0+dmFsdWUoZXhlYykp
OworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIEpTQzo6dGhyb3dUeXBlRXJyb3IoZXhlYywgIk1v
ZHVsZSBrZXkgaXMgbm90IFN5bWJvbCBvciBTdHJpbmcuIik7CisKKyAgICBpZiAoIXNvdXJjZVVy
bC5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBKU0M6OnRocm93VHlwZUVycm9yKGV4ZWMsICJN
b2R1bGUga2V5IGlzIGFuIGludmFsaWQgVVJMLiIpOworCisgICAgLy8gRklYTUU6IEltcGxlbWVu
dCBldmFsdWF0aW5nIG1vZHVsZSBjb2RlLgorCisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQo
KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNb2R1
bGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTW9kdWxlTG9hZGVyLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTk3NjEwYWFkMjIzNmEzNGIxMDg3NTMwMTllNDcxNmQ3MWZhOWYxYQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTW9kdWxlTG9hZGVy
LmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSlNNb2R1bGVMb2FkZXJf
aAorI2RlZmluZSBKU01vZHVsZUxvYWRlcl9oCisKKyNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFs
dWUuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNwYWNlIEpTQyB7Citj
bGFzcyBFeGVjU3RhdDsKK2NsYXNzIEpTR2xvYmFsT2JqZWN0OworY2xhc3MgSlNJbnRlcm5hbFBy
b21pc2U7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnQ7CisKK2Ns
YXNzIEpTTW9kdWxlTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU01vZHVsZUxv
YWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IEpT
TW9kdWxlTG9hZGVyKERvY3VtZW50Jik7CisKKyAgICBEb2N1bWVudCYgZG9jdW1lbnQoKSB7IHJl
dHVybiBtX2RvY3VtZW50OyB9CisKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiByZXNvbHZl
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSBtb2R1
bGVOYW1lLCBKU0M6OkpTVmFsdWUgcmVmZXJyZXIpOworICAgIEpTQzo6SlNJbnRlcm5hbFByb21p
c2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNW
YWx1ZSBtb2R1bGVLZXkpOworICAgIEpTQzo6SlNWYWx1ZSBldmFsdWF0ZShKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6OkpT
VmFsdWUgbW9kdWxlUmVjb3JkKTsKKworcHJpdmF0ZToKKyAgICBEb2N1bWVudCYgbV9kb2N1bWVu
dDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEpTTW9kdWxlTG9h
ZGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDFlMWRhOTllNmU1MmIzNjY2NjBiOTRh
OWRlNTc3NzIwMDM2MjRmYTQuLjFmZDg3M2VhOTA2ZDkzMDFhNDAxMjYyYWFmNWViM2ViZmU1ZGRi
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtOTYsNiArOTYsNyBAQAogI2luY2x1ZGUg
IkltYWdlTG9hZGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAj
aW5jbHVkZSAiSlNMYXp5RXZlbnRMaXN0ZW5lci5oIgorI2luY2x1ZGUgIkpTTW9kdWxlTG9hZGVy
LmgiCiAjaW5jbHVkZSAiTGFuZ3VhZ2UuaCIKICNpbmNsdWRlICJMb2FkZXJTdHJhdGVneS5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTQ2NCw2ICs0NjUsNyBAQCBib29sIFRleHRBdXRvU2l6
aW5nVHJhaXRzOjppc0RlbGV0ZWRWYWx1ZShjb25zdCBUZXh0QXV0b1NpemluZ0tleSYgdmFsdWUp
CiAgICAgLCBtX3N0YXJ0VGltZShzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSkKICAg
ICAsIG1fb3Zlck1pbmltdW1MYXlvdXRUaHJlc2hvbGQoZmFsc2UpCiAgICAgLCBtX3NjcmlwdFJ1
bm5lcihzdGQ6Om1ha2VfdW5pcXVlPFNjcmlwdFJ1bm5lcj4oKnRoaXMpKQorICAgICwgbV9tb2R1
bGVMb2FkZXIoc3RkOjptYWtlX3VuaXF1ZTxKU01vZHVsZUxvYWRlcj4oKnRoaXMpKQogICAgICwg
bV94bWxWZXJzaW9uKEFTQ0lJTGl0ZXJhbCgiMS4wIikpCiAgICAgLCBtX3htbFN0YW5kYWxvbmUo
U3RhbmRhbG9uZVVuc3BlY2lmaWVkKQogICAgICwgbV9oYXNYTUxEZWNsYXJhdGlvbihmYWxzZSkK
QEAgLTYwNSw2ICs2MDcsNyBAQCBzdGF0aWMgYm9vbCBpc0F0dHJpYnV0ZU9uQWxsT3duZXJzKGNv
bnN0IFdlYkNvcmU6OlF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZSwgY29ucwogICAgICAgICBtX2Rv
bVdpbmRvdy0+cmVzZXRVbmxlc3NTdXNwZW5kZWRGb3JQYWdlQ2FjaGUoKTsKIAogICAgIG1fc2Ny
aXB0UnVubmVyID0gbnVsbHB0cjsKKyAgICBtX21vZHVsZUxvYWRlciA9IG51bGxwdHI7CiAKICAg
ICByZW1vdmVBbGxFdmVudExpc3RlbmVycygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGY5
MTgwODlmMjNiMmZiM2ExOGRmYmQyMWY1ZjcwMzk4MDUwNzViYTcuLmIzMDhhZTIxN2IyZDY5YmM2
NTcxMTFiMDRhMjU3NjZhZmY3YTE1YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMjIsNiAr
MTIyLDcgQEAKIGNsYXNzIExheW91dFBvaW50OwogY2xhc3MgTGF5b3V0UmVjdDsKIGNsYXNzIExp
dmVOb2RlTGlzdDsKK2NsYXNzIEpTTW9kdWxlTG9hZGVyOwogY2xhc3MgSlNOb2RlOwogY2xhc3Mg
TG9jYWxlOwogY2xhc3MgTG9jYXRpb247CkBAIC05MzQsNiArOTM1LDcgQEAgY2xhc3MgRG9jdW1l
bnQgOiBwdWJsaWMgQ29udGFpbmVyTm9kZSwgcHVibGljIFRyZWVTY29wZSwgcHVibGljIFNjcmlw
dEV4ZWN1dGlvbkMKICAgICBEb2N1bWVudCYgdG9wRG9jdW1lbnQoKSBjb25zdDsKICAgICAKICAg
ICBTY3JpcHRSdW5uZXIqIHNjcmlwdFJ1bm5lcigpIHsgcmV0dXJuIG1fc2NyaXB0UnVubmVyLmdl
dCgpOyB9CisgICAgSlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlcigpIHsgcmV0dXJuIG1fbW9k
dWxlTG9hZGVyLmdldCgpOyB9CiAKICAgICBIVE1MU2NyaXB0RWxlbWVudCogY3VycmVudFNjcmlw
dCgpIGNvbnN0IHsgcmV0dXJuICFtX2N1cnJlbnRTY3JpcHRTdGFjay5pc0VtcHR5KCkgPyBtX2N1
cnJlbnRTY3JpcHRTdGFjay5sYXN0KCkuZ2V0KCkgOiAwOyB9CiAgICAgdm9pZCBwdXNoQ3VycmVu
dFNjcmlwdChQYXNzUmVmUHRyPEhUTUxTY3JpcHRFbGVtZW50Pik7CkBAIC0xNTE4LDYgKzE1MjAs
NyBAQCBjbGFzcyBEb2N1bWVudCA6IHB1YmxpYyBDb250YWluZXJOb2RlLCBwdWJsaWMgVHJlZVNj
b3BlLCBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQwogICAgIGJvb2wgbV9vdmVyTWluaW11bUxheW91
dFRocmVzaG9sZDsKICAgICAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2NyaXB0UnVubmVyPiBtX3Nj
cmlwdFJ1bm5lcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SlNNb2R1bGVMb2FkZXI+IG1fbW9kdWxl
TG9hZGVyOwogCiAgICAgVmVjdG9yPFJlZlB0cjxIVE1MU2NyaXB0RWxlbWVudD4+IG1fY3VycmVu
dFNjcmlwdFN0YWNrOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261968</attachid>
            <date>2015-09-26 02:08:37 -0700</date>
            <delta_ts>2015-09-26 02:15:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149574-20150926180815.patch</filename>
            <type>text/plain</type>
            <size>32849</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTcwOGE5ZTE1ZWFiMThm
ZDM4N2ZlOTE4YjAzODk2N2RjMjhiYjJhOC4uYTk1ZmEwOGJjYTY5Y2ZjYzQ4OTdkMGI0YzczMjc1
NDM4NDI1NDNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE1LTA5LTI2ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgTW9kdWxlIGxvYWRlciBob29rIHN0dWJzIGluIFdlYkNvcmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGlt
cGxlbWVudCB0aGUgbG9hZGVyIGhvb2tzIGluIHRoZSBXZWJDb3JlIHNpZGUuCisgICAgICAgIFNp
bmNlIHRoZSBmZXRjaGVyIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiBjb2RlIGFyZSBzZXBhcmF0ZWQg
ZnJvbQorICAgICAgICB0aGlzIHBhdGNoLCB0aGV5IGJlY29tZSBlbXB0eS4KKworICAgICAgICBI
ZXJlLCBXZWJDb3JlIGltcGxlbWVudHMgMyBsb2FkZXIgaG9va3MuCisKKyAgICAgICAgMS4gcmVz
b2x2ZSBob29rCisKKyAgICAgICAgICAgIFRha2VzIHRoZSBtb2R1bGUgbmFtZSBhbmQgcmVzb2x2
ZSBpdCB0byB0aGUgdW5pcXVlIG1vZHVsZSBrZXkuCisgICAgICAgICAgICBJbiBXZWJDb3JlLCB3
ZSB1c2UgVVJMIGFzIGEgbW9kdWxlIGtleS4KKyAgICAgICAgICAgIEFuZCBmb3IgdGhlIGlubGlu
ZWQgbW9kdWxlIHRhZyAoZS5nLiA8c2NyaXB0IHR5cGU9Im1vZHVsZSI+aW1wb3J0IC4uLjwvc2Ny
aXB0PiksCisgICAgICAgICAgICB3ZSB1c2UgdGhlIEVTNiBzeW1ib2wgYXMgYSBtb2R1bGUga2V5
LgorICAgICAgICAgICAgSW4gV2ViQ29yZSwgd2UgdGFrZSB0aGUgbW9kdWxlIG5hbWUgbGlrZSAi
Li9oZWxsby5qcyIgYW5kIHJlc29sdmUgaXQgYnkgdXNpbmcKKyAgICAgICAgICAgIHRoZSBVUkwg
b2YgdGhlIGltcG9ydGVyIG1vZHVsZS4KKyAgICAgICAgICAgIFRoaXMgZnVuY3Rpb25hbGl0eSBp
cyBpbXBsZW1lbnRlZCBpbiB0aGlzIHBhdGNoLgorCisgICAgICAgIDIuIGZldGNoIGhvb2sKKwor
ICAgICAgICAgICAgRmV0Y2hlcyB0aGUgcmVzb3VyY2Ugc3BlY2lmaWVkIGJ5IHRoZSBtb2R1bGUg
a2V5LiBJbiBXZWJDb3JlLCB0aGUgbW9kdWxlIGtleSBpcworICAgICAgICAgICAgVVJMLiBXZSB1
c2UgQ2FjaGVkUmVzb3VyY2UgbG9hZGluZyBzeXN0ZW0gdG8gbG9hZCB0aGUgcmVzb3VyY2Ugb2Yg
dGhlIG1vZHVsZXMuCisgICAgICAgICAgICBUaGUgYWN0dWFsIGNvZGUgb2YgdGhlIGZldGNoIGhv
b2sgd2lsbCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgc3Vic2VxdWVudCBwYXRjaC4KKworICAgICAg
ICAzLiBldmFsdWF0ZSBob29rCisKKyAgICAgICAgICAgIFRoaXMgaXMgYWRkaXRpb25hbCBob29r
IHRvIGluc3RydW1lbnQgdGhlIG1vZHVsZSdzIGV4ZWN1dGlvbiBmb3IgdGhlIGluc3BlY3Rvci4K
KyAgICAgICAgICAgIFRoZSBhY3R1YWwgY29kZSBvZiB0aGUgZXZhbHVhdGUgaG9vayB3aWxsIGJl
IGltcGxlbWVudGVkIGluIHRoZSBzdWJzZXF1ZW50IHBhdGNoLgorCisgICAgICAgIEluIGFkZGl0
aW9uIHRvIHRoYXQsIHdlIGFkZGVkIHJlcXVpcmVkIEpTQyBmb3J3YXJkIGhlYWRlcnMgZm9yIHRo
ZSBtb2R1bGUgbG9hZGVyCisgICAgICAgIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU0ludGVy
bmFsUHJvbWlzZS5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9ydW50aW1l
L0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGlu
Z0hlYWRlcnMvcnVudGltZS9KU01vZHVsZVJlY29yZC5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3
YXJkaW5nSGVhZGVycy9ydW50aW1lL1N5bWJvbC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNvbHZlKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJFdmFsdWF0ZSk6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNN
b2R1bGVMb2FkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTW9kdWxlTG9hZGVy
OjpKU01vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU01vZHVsZUxvYWRlcjo6cmVz
b2x2ZSk6CisgICAgICAgIChXZWJDb3JlOjpKU01vZHVsZUxvYWRlcjo6ZmV0Y2gpOgorICAgICAg
ICAoV2ViQ29yZTo6SlNNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU01vZHVsZUxvYWRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTW9kdWxl
TG9hZGVyOjpkb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6fkRvY3VtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50Ojptb2R1bGVMb2FkZXIpOgorCiAyMDE1LTA5LTI1ICBFcmljIENhcmxzb24g
IDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHVzZXIgbWVkaWEg
cmVxdWVzdCBpbnRlcm5hbCBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMTMxZjY0NGNiOTg0
ODk5NmFiNDBiZGM3M2M4MGZjNmE0ODc5MmY4Mi4uN2E4MjFlZTQ3MjEyNjhkZmVlOWNkYWRjMDJk
OTc0ODE5MjU4ZjMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTExNzcsNiArMTE3Nyw3IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VDaGFubmVsQ3Vz
dG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNNb2R1
bGVMb2FkZXIuY3BwCiAgICAgYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTTXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Zv
cndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaCBiL1NvdXJjZS9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43ZjU1N2EyZjIxZWNmNmIyYWVjYWQ2N2UzNTNlMTk2NmU0Nzk0ZTgwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU0ludGVy
bmFsUHJvbWlzZS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9KU0ludGVy
bmFsUHJvbWlzZV9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0pTSW50ZXJuYWxQcm9taXNlX2gKKyNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1
bnRpbWUvSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2YzA4NmRkMzlh
ZmY5ZTEwNGJkNWE2ZmY3YWU3OTI1NDYzODY5NTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJy
ZWQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSlNJbnRlcm5hbFByb21p
c2VEZWZlcnJlZF9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0pTSW50ZXJuYWxQcm9taXNlRGVmZXJy
ZWRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQu
aD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMv
cnVudGltZS9KU01vZHVsZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvcnVudGltZS9KU01vZHVsZVJlY29yZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzZTllY2ZmYmNmNTdjMmE5
Yzc5NWNjYjFkODAzNDBmOTE0ZDdkNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTTW9kdWxlUmVjb3JkLmgKQEAgLTAsMCArMSw0
IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0pTTW9kdWxlUmVjb3JkX2gKKyNkZWZpbmUgV2ViQ29y
ZV9GV0RfSlNNb2R1bGVSZWNvcmRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTW9kdWxl
UmVjb3JkLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdI
ZWFkZXJzL3J1bnRpbWUvU3ltYm9sLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVy
cy9ydW50aW1lL1N5bWJvbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1MDQyN2YwOTFhOWVjYWNmYmZhMDk5YWUw
ZDAzMGUwZTliYzVlYjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJk
aW5nSGVhZGVycy9ydW50aW1lL1N5bWJvbC5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJD
b3JlX0ZXRF9TeW1ib2xfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TeW1ib2xfaAorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL1N5bWJvbC5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBiYjhhNDY3NDEzNTA5MmM1NWQxMWUy
NmU1YjJhMTIxZTJjZmY4Y2E2Li5mMzA1NTJmOTMyOWYzZjRlZWI0YTM1MGFjZTE0Y2I1NzQxNjM1
YmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKQEAgLTE4NDI3LDYgKzE4NDI3LDIwIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNb2R1bGVMb2FkZXIuY3BwIj4KKyAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Jl
bGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGls
ZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTTXV0YXRpb25DYWxs
YmFjay5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpA
QCAtMjI0NzgsNiArMjI0OTIsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGlu
Z3NcanNcSlNMYXp5RXZlbnRMaXN0ZW5lci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01lc3NhZ2VQb3J0Q3VzdG9tLmgiIC8+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01vZHVsZUxvYWRlci5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNdXRhdGlvbkNhbGxiYWNr
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU05vZGVDdXN0
b20uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTTm9kZU9y
U3RyaW5nLmgiIC8+CkBAIC0yMjcyMiwxMyArMjI3MzcsMTcgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHN2Z1xwcm9wZXJ0aWVzXFNWR1RyYW5zZm9ybUxpc3RQcm9wZXJ0eVRlYXJPZmYu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRp
bWVcQXJnTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNccnVudGltZVxJZGVudGlmaWVyLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTSW50ZXJuYWxQcm9taXNlLmgiIC8+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndh
cmRpbmdIZWFkZXJzXHJ1bnRpbWVcSlNMb2NrLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTT2JqZWN0LmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTU3RyaW5nLmgiIC8+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpT
TW9kdWxlUmVjb3JkLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5n
SGVhZGVyc1xydW50aW1lXExvb2t1cC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxPcGVyYXRpb25zLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXFByb3RlY3QuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcU3RyaW5n
T2JqZWN0LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xydW50aW1lXFN5bWJvbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNceWFyclxSZWd1bGFyRXhwcmVzc2lvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNceWFyclxZYXJyLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x5YXJyXFlhcnJJbnRlcnByZXRlci5o
IiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzCmluZGV4IGFmMDU4ZTFmMGRjM2I1ZWY4N2Q3NzJhYmE1MDhhMTJlM2M1
NTdmMmEuLmRmNGViNmQwZTE4MzIzYzkwZTI0OTZkNDVkMGE4ZjRkMjNhNzM3MjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKQEAgLTQzODAsNiArNDM4MCw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxi
aW5kaW5nc1xqc1xKU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRp
bmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxiaW5kaW5nc1xqc1xKU01vZHVsZUxvYWRlci5jcHAiPgorICAgICAgPEZpbHRlcj5iaW5k
aW5nc1xqczwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCI+CiAgICAgICA8RmlsdGVy
PmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTQ3NCw2ICsxMTQ3
Nyw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01lc3NhZ2VQ
b3J0Q3VzdG9tLmgiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNb2R1
bGVMb2FkZXIuaCI+CisgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CisgICAgPC9D
bEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU011dGF0
aW9uQ2FsbGJhY2suaCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CkBAIC0xMTY1NCwxMiArMTE2NjAsMjEgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcSWRlbnRpZmllci5oIj4KICAgICAg
IDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGlt
ZVxKU0ludGVybmFsUHJvbWlzZS5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNc
cnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU0ludGVybmFsUHJvbWlzZURlZmVycmVk
LmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+Cisg
ICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xydW50aW1lXEpTTG9jay5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNc
cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU09iamVjdC5oIj4KICAgICAgIDxGaWx0
ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU01v
ZHVsZVJlY29yZC5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwv
RmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNccnVudGltZVxKU1N0cmluZy5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2Fy
ZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTE2Nzgs
NiArMTE2OTMsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRl
cnNccnVudGltZVxTdHJpbmdPYmplY3QuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFk
ZXJzXHJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcU3ltYm9sLmgiPgorICAgICAgPEZp
bHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x5YXJyXFJlZ3Vs
YXJFeHByZXNzaW9uLmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1x5YXJyPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNWIwNDIyMzAzYTM1OWY2NGI5YTJhMDZiZDU4
ZTQ3OWYzZjhjNzZkMS4uNTliMTNiZDFkNWRhYTJlZTg1NjU3ZDQ3ZTgyN2JjZTI1MmViNjkzYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNjMyNCw2ICs2MzI0LDggQEAKIAkJRTFGRjhGNjgxODA3NDYwODAwMTMyNjc0IC8qIEpT
U3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1
c3RvbS5jcHAgKi87IH07CiAJCUUxRkY4RjZDMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9BbGdv
cml0aG1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMUZGOEY2QTE4MERCNUJFMDAxMzI2NzQgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0
cnkuY3BwICovOyB9OwogCQlFMUZGOEY2RDE4MERCNUJFMDAxMzI2NzQgLyogQ3J5cHRvQWxnb3Jp
dGhtUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUxRkY4RjZCMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5o
ICovOyB9OworCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4ODM4OTQx
QkFEMTQ1RjAwRDYyRUUzIC8qIEpTTW9kdWxlTG9hZGVyLmNwcCAqLzsgc2V0dGluZ3MgPSB7QVNT
RVRfVEFHUyA9ICgpOyB9OyB9OworCQlFMzg4Mzg5OTFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1
bGVMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBKU01vZHVsZUxvYWRlci5oICovOyBzZXR0aW5n
cyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07CiAJCUU0MDFDMjc1MTdDRTUzRUMwMEM0MUEzNSAv
KiBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNDAxQzI3NDE3Q0U1M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0
ZXJhdG9yQXNzZXJ0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUU0MjRBMzlFMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRp
bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MjRB
MzlEMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUuaCAqLzsgfTsKIAkJRTQy
NEEzQTAxMzMwREYxRTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MjRBMzlGMTMzMERGMUUwMENG
NkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUubW0gKi87IH07CkBAIC0xNDA4NSw2ICsxNDA4Nyw4
IEBACiAJCUUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N1YnRsZUNyeXB0b0N1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRkY4RjZBMTgwREI1QkUw
MDEzMjY3NCAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRkY4RjZCMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9B
bGdvcml0aG1SZWdpc3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlw
dG9BbGdvcml0aG1SZWdpc3RyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzg4
Mzg5NDFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2R1bGVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMzg4Mzg5NTFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2Fk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2R1bGVMb2FkZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMUMyNzQxN0NFNTNFQzAwQzQxQTM1IC8q
IEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFNDA2RjNGQjExOTgzMDdEMDA5RDU5RDYgLyogQ29sb3JEYXRhLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbG9yRGF0YS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0MUVBMDM4MTE5ODM2REIwMDcxMEJDNSAvKiBDU1NQcm9wZXJ0
eU5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1Byb3Bl
cnR5TmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE1MzcsNiArMjE1
NDEsOCBAQAogCQkJCTQxMTg5RUY4MUFEODIzM0MwMEI5MEEwRCAvKiBKU1JlYWRhYmxlU3RyZWFt
Q29udHJvbGxlckN1c3RvbS5jcHAgKi8sCiAJCQkJRTFDMzZEMzIwRUIwQTA5NDAwNzQxMEJDIC8q
IEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCAqLywKIAkJCQlFMUMzNkQzMzBFQjBBMDk0MDA3
NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCAqLywKKwkJCQlFMzg4Mzg5NDFCQUQx
NDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3BwICovLAorCQkJCUUzODgzODk1MUJBRDE0
NUYwMEQ2MkVFMyAvKiBKU01vZHVsZUxvYWRlci5oICovLAogCQkJCTQxOThCREVFMUE4MTEyMzYw
MEIyMkZCNSAvKiBSZWFkYWJsZUpTU3RyZWFtLmNwcCAqLywKIAkJCQk0MTk4QkRFRjFBODExMjM2
MDBCMjJGQjUgLyogUmVhZGFibGVKU1N0cmVhbS5oICovLAogCQkJCUJDQTM3OEJBMEQxNUY2NDIw
MEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwICovLApAQCAtMjYyMDcsNiArMjYyMTMsNyBA
QAogCQkJCUNFMTI1MjQxMUExNkIxQjYwMDg2NDQ4MCAvKiBNZWRpYVBsYXllclNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTJFMkNBRkMxOUZGMDIwNzAwMUVFQjRGIC8qIE1lZGlhUHJvZHVjZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJBMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1
ZXJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzg4Mzg5OTFCQUQxNDVGMDBENjJFRTMgLyogSlNN
b2R1bGVMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJDMEEzOURBQ0MwMDIyMEZF
NSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RTE5NTkyRTBB
MzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV4cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNB
OTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLywK
QEAgLTI4NTczLDYgKzI4NTgwLDcgQEAKIAkJCQkzMTA2MDM3QTE0MzI4MUNEMDBBQkY0QkEgLyog
RE9NV2ViS2l0Q1NTRmlsdGVyVmFsdWUubW0gaW4gU291cmNlcyAqLywKIAkJCQk0OTgzOTE1MTBG
MUU3NkI0MDBDMjM3ODIgLyogRE9NV2ViS2l0Q1NTTWF0cml4Lm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOEFEMEE1OTcxNEM4ODM1ODAwMEQ4M0M1IC8qIERPTVdlYktpdENTU1JlZ2lvblJ1bGUubW0g
aW4gU291cmNlcyAqLywKKwkJCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVM
b2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE2MTFFNjIwRTFDNEUxNDAwRjZBNTc5IC8q
IERPTVdlYktpdENTU1RyYW5zZm9ybVZhbHVlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJM0YyQjMz
RUMxNjVBRjE1NjAwRTM5ODdDIC8qIERPTVdlYktpdENTU1ZpZXdwb3J0UnVsZS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCThBMTk1OTMzMTQ3RUExNkUwMEQxRUE2MSAvKiBET01XZWJLaXROYW1lZEZs
b3cubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IDY2MDBmMzRhZTA2NWZmZTExOGMzZjI4ZjFiMGNl
MTU4YjMyYmY5NWMuLjE5Yzk1MWIwOTRiZDA4ZDc3ZjRmMTczYzI5YTMzYmViNWZhYzdhZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNw
cApAQCAtMTA2LDYgKzEwNiw3IEBACiAjaW5jbHVkZSAiSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5j
cHAiCiAjaW5jbHVkZSAiSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTTWVz
c2FnZVBvcnRDdXN0b20uY3BwIgorI2luY2x1ZGUgIkpTTW9kdWxlTG9hZGVyLmNwcCIKICNpbmNs
dWRlICJKU011dGF0aW9uQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25PYnNlcnZl
ckN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggODM1MDMz
MzEzZWZlMTUyZjFlMzlmNGMxNTFiYmRjMmYwYTFhZDdmYi4uYWU0NzczODgyYmU1NThiZDk3MzVi
YjVlNTY1YmI3YWI2OWE5YmU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9y
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0VGFzay5oIgogI2luY2x1
ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmgiCisjaW5jbHVkZSAiSlNNb2R1bGVMb2FkZXIuaCIKICNp
bmNsdWRlICJKU05vZGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgpAQCAtMzYsNiArMzcsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCisjaW5jbHVk
ZSA8cnVudGltZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg+CiAjaW5jbHVkZSA8cnVudGlt
ZS9NaWNyb3Rhc2suaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCkBAIC01Niw3ICs1
OCw3IEBAIHN0YXRpYyBib29sIHNob3VsZEFsbG93QWNjZXNzRnJvbShjb25zdCBKU0dsb2JhbE9i
amVjdCogdGhpc09iamVjdCwgRXhlY1N0YXRlKiBlCiAKIGNvbnN0IENsYXNzSW5mbyBKU0RPTVdp
bmRvd0Jhc2U6OnNfaW5mbyA9IHsgIldpbmRvdyIsICZKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZv
LCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRE9NV2luZG93QmFzZSkgfTsKIAotY29uc3QgR2xv
YmFsT2JqZWN0TWV0aG9kVGFibGUgSlNET01XaW5kb3dCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhv
ZFRhYmxlID0geyAmc2hvdWxkQWxsb3dBY2Nlc3NGcm9tLCAmc3VwcG9ydHNQcm9maWxpbmcsICZz
dXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0LCAmamF2YVNjcmlw
dFJ1bnRpbWVGbGFncywgJnF1ZXVlVGFza1RvRXZlbnRMb29wLCAmc2hvdWxkSW50ZXJydXB0U2Ny
aXB0QmVmb3JlVGltZW91dCwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVs
bHB0ciB9OworY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNET01XaW5kb3dCYXNlOjpz
X2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlID0geyAmc2hvdWxkQWxsb3dBY2Nlc3NGcm9tLCAmc3Vw
cG9ydHNQcm9maWxpbmcsICZzdXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0
U2NyaXB0LCAmamF2YVNjcmlwdFJ1bnRpbWVGbGFncywgJnF1ZXVlVGFza1RvRXZlbnRMb29wLCAm
c2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGltZW91dCwgJm1vZHVsZUxvYWRlclJlc29sdmUs
ICZtb2R1bGVMb2FkZXJGZXRjaCwgbnVsbHB0ciwgbnVsbHB0ciwgJm1vZHVsZUxvYWRlckV2YWx1
YXRlIH07CiAKIEpTRE9NV2luZG93QmFzZTo6SlNET01XaW5kb3dCYXNlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV2luZG93PiB3aW5kb3csIEpTRE9NV2luZG93
U2hlbGwqIHNoZWxsKQogICAgIDogSlNET01HbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSwgJnNo
ZWxsLT53b3JsZCgpLCAmc19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKQEAgLTI3Niw0ICsyNzgs
MzEgQEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0Zv
cldpbmRvdyhET01XaW5kb3cqIHdpbmRvdykKICAgICB9CiB9CiAKKworSlNDOjpKU0ludGVybmFs
UHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcmVmZXJyZXIpCit7CisgICAgSlNET01XaW5kb3dC
YXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2Jq
ZWN0KTsKKyAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPmlt
cGwoKS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigp
LT5yZXNvbHZlKGdsb2JhbE9iamVjdCwgZXhlYywgbW9kdWxlTmFtZSwgcmVmZXJyZXIpOworICAg
IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZCogZGVmZXJyZWQgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQ6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3QpOworICAgIHJldHVy
biBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIGpzVW5kZWZpbmVkKCkpOworfQorCitKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNW
YWx1ZSBtb2R1bGVLZXkpCit7CisgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlND
Ojpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoUmVmUHRy
PERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPmltcGwoKS5kb2N1bWVudCgpKQorICAg
ICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLT5mZXRjaChnbG9iYWxPYmplY3Qs
IGV4ZWMsIG1vZHVsZUtleSk7CisgICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZURlZmVycmVkKiBk
ZWZlcnJlZCA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZDo6Y3JlYXRlKGV4ZWMsIGds
b2JhbE9iamVjdCk7CisgICAgcmV0dXJuIGRlZmVycmVkLT5yZWplY3QoZXhlYywganNVbmRlZmlu
ZWQoKSk7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckV2
YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQp
Cit7CisgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01X
aW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1
bWVudCA9IHRoaXNPYmplY3QtPmltcGwoKS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gZG9j
dW1lbnQtPm1vZHVsZUxvYWRlcigpLT5ldmFsdWF0ZShnbG9iYWxPYmplY3QsIGV4ZWMsIG1vZHVs
ZUtleSwgbW9kdWxlUmVjb3JkKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5oCmluZGV4IDVlZDM4NjJjMTQxMTg3YzAwNmI2ODhkYjc5Nzc5NGIzNjk4
MTA1NjQuLjhmNGM1NjI4N2NkYzBlNmYxMGVkODU2NjM2YTMwZTU1MGIxNWEzMjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC03OCw2ICs3OCwx
MCBAQAogICAgICAgICBKU0M6OldhdGNocG9pbnRTZXQgbV93aW5kb3dDbG9zZVdhdGNocG9pbnRz
OwogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2Uq
IG1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgICAgICBzdGF0aWMgSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVyRmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKTsKKyAgICAgICAgc3RhdGljIEpTQzo6SlNWYWx1
ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisKICAgICAgICAgUmVmUHRyPERPTVdp
bmRvdz4gbV9pbXBsOwogICAgICAgICBKU0RPTVdpbmRvd1NoZWxsKiBtX3NoZWxsOwogICAgIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01vZHVsZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01vZHVsZUxvYWRlci5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTgzNjg4Mjk2ZGZlMTVhZDYzOGZkZDc1MWYwMTdmNTAyMGNmODliNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTW9kdWxlTG9hZGVyLmNwcApA
QCAtMCwwICsxLDEyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJNb2R1bGVMb2FkZXIuaCIKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01CaW5k
aW5nLmgiCisjaW5jbHVkZSA8cnVudGltZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg+Cisj
aW5jbHVkZSA8cnVudGltZS9KU01vZHVsZVJlY29yZC5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNT
dHJpbmcuaD4KKyNpbmNsdWRlIDxydW50aW1lL1N5bWJvbC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0pTTW9kdWxlTG9hZGVyOjpKU01vZHVsZUxvYWRlcihEb2N1bWVudCYgZG9jdW1lbnQp
CisgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQoreworfQorCitKU0M6OkpTSW50ZXJuYWxQcm9t
aXNlKiBKU01vZHVsZUxvYWRlcjo6cmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgbW9kdWxlTmFtZVZhbHVl
LCBKU0M6OkpTVmFsdWUgaW1wb3J0ZXJNb2R1bGVLZXkpCit7CisgICAgSlNDOjpKU0ludGVybmFs
UHJvbWlzZURlZmVycmVkKiBkZWZlcnJlZCA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJl
ZDo6Y3JlYXRlKGV4ZWMsIGdsb2JhbE9iamVjdCk7CisKKyAgICAvLyBXZSB1c2UgYSBTeW1ib2wg
YXMgYSBzcGVjaWFsIHB1cnBvc2U7IEl0IG1lYW5zIHRoaXMgbW9kdWxlIGlzIGFuIGlubGluZSBt
b2R1bGUuCisgICAgLy8gU28gdGhlcmUgaXMgbm8gY29ycmVjdCBVUkwgdG8gcmV0cmlldmUgdGhl
IG1vZHVsZSBzb3VyY2UgY29kZS4gSWYgdGhlIG1vZHVsZSBuYW1lCisgICAgLy8gdmFsdWUgaXMg
YSBTeW1ib2wsIGl0IGlzIHVzZWQgZGlyZWN0bHkgYXMgYSBtb2R1bGUga2V5LgorICAgIGlmICht
b2R1bGVOYW1lVmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgcmV0dXJuIGRlZmVycmVkLT5yZXNv
bHZlKGV4ZWMsIG1vZHVsZU5hbWVWYWx1ZSk7CisKKyAgICBpZiAoIW1vZHVsZU5hbWVWYWx1ZS5p
c1N0cmluZygpKQorICAgICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNy
ZWF0ZVR5cGVFcnJvcihleGVjLCAiTW9kdWxlIG5hbWUgaXMgbm90IFN5bWJvbCBvciBTdHJpbmcu
IikpOworCisgICAgU3RyaW5nIG1vZHVsZU5hbWUgPSBhc1N0cmluZyhtb2R1bGVOYW1lVmFsdWUp
LT52YWx1ZShleGVjKTsKKworICAgIC8vIE5vdywgd2UgY29uc2lkZXIgdGhlIGdpdmVuIG1vZHVs
ZU5hbWUgYXMgdGhlIHNhbWUgdG8gdGhlIGBpbXBvcnQgIi4uLiJgIGluIHRoZSBtb2R1bGUgY29k
ZS4KKyAgICAvLyBXZSB1c2UgdGhlIGNvbXBsZXRlZCBVUkwgYXMgdGhlIHVuaXF1ZSBtb2R1bGUg
a2V5LgorICAgIFVSTCBjb21wbGV0ZWRVcmw7CisKKyAgICBpZiAoaW1wb3J0ZXJNb2R1bGVLZXku
aXNTeW1ib2woKSkKKyAgICAgICAgY29tcGxldGVkVXJsID0gbV9kb2N1bWVudC5jb21wbGV0ZVVS
TChtb2R1bGVOYW1lKTsKKyAgICBlbHNlIGlmIChpbXBvcnRlck1vZHVsZUtleS5pc1VuZGVmaW5l
ZCgpKQorICAgICAgICBjb21wbGV0ZWRVcmwgPSBtX2RvY3VtZW50LmNvbXBsZXRlVVJMKG1vZHVs
ZU5hbWUpOworICAgIGVsc2UgaWYgKGltcG9ydGVyTW9kdWxlS2V5LmlzU3RyaW5nKCkpIHsKKyAg
ICAgICAgVVJMIGltcG9ydGVyTW9kdWxlVXJsKFVSTCgpLCBhc1N0cmluZyhpbXBvcnRlck1vZHVs
ZUtleSktPnZhbHVlKGV4ZWMpKTsKKyAgICAgICAgaWYgKCFpbXBvcnRlck1vZHVsZVVybC5pc1Zh
bGlkKCkpCisgICAgICAgICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNy
ZWF0ZVR5cGVFcnJvcihleGVjLCAiSW1wb3J0ZXIgbW9kdWxlIGtleSBpcyBhbiBpbnZhbGlkIFVS
TC4iKSk7CisgICAgICAgIGNvbXBsZXRlZFVybCA9IG1fZG9jdW1lbnQuY29tcGxldGVVUkwobW9k
dWxlTmFtZSwgaW1wb3J0ZXJNb2R1bGVVcmwpOworICAgIH0gZWxzZQorICAgICAgICByZXR1cm4g
ZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0ZVR5cGVFcnJvcihleGVjLCAiSW1wb3J0
ZXIgbW9kdWxlIGtleSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7CisKKyAgICBpZiAoIWNv
bXBsZXRlZFVybC5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBkZWZlcnJlZC0+cmVqZWN0KGV4
ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJNb2R1bGUgbmFtZSBjb25zdHJ1Y3RzIGFu
IGludmFsaWQgVVJMLiIpKTsKKworICAgIHJldHVybiBkZWZlcnJlZC0+cmVzb2x2ZShleGVjLCBq
c1N0cmluZyhleGVjLCBjb21wbGV0ZWRVcmwuc3RyaW5nKCkpKTsKK30KKworSlNDOjpKU0ludGVy
bmFsUHJvbWlzZSogSlNNb2R1bGVMb2FkZXI6OmZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXlW
YWx1ZSkKK3sKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQqIGRlZmVycmVkID0g
SlNDOjpKU0ludGVybmFsUHJvbWlzZURlZmVycmVkOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0
KTsKKworICAgIGlmIChtb2R1bGVLZXlWYWx1ZS5pc1N5bWJvbCgpKQorICAgICAgICByZXR1cm4g
ZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0ZVR5cGVFcnJvcihleGVjLCAiU3ltYm9s
IG1vZHVsZSBrZXkgc2hvdWxkIGJlIGFscmVhZHkgZnVsZmlsbGVkIHdpdGggdGhlIGlubGluZWQg
cmVzb3VyY2UuIikpOworCisgICAgaWYgKCFtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKQorICAg
ICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0ZVR5cGVFcnJvcihl
eGVjLCAiTW9kdWxlIGtleSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7CisKKyAgICBVUkwg
Y29tcGxldGVkVXJsKFVSTCgpLCBhc1N0cmluZyhtb2R1bGVLZXlWYWx1ZSktPnZhbHVlKGV4ZWMp
KTsKKyAgICBpZiAoIWNvbXBsZXRlZFVybC5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBkZWZl
cnJlZC0+cmVqZWN0KGV4ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJNb2R1bGUga2V5
IGlzIGFuIGludmFsaWQgVVJMLiIpKTsKKworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhlIG1v
ZHVsZSBmZXRjaGVyLgorCisgICAgcmV0dXJuIGRlZmVycmVkLT5wcm9taXNlKCk7Cit9CisKK0pT
Qzo6SlNWYWx1ZSBKU01vZHVsZUxvYWRlcjo6ZXZhbHVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCos
IEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5VmFsdWUsIEpTQzo6
SlNWYWx1ZSBtb2R1bGVSZWNvcmRWYWx1ZSkKK3sKKyAgICAvLyBGSVhNRTogQ3VycmVudGx5LCB3
ZSBvbmx5IHN1cHBvcnQgSlNNb2R1bGVSZWNvcmQuCisgICAgLy8gT25jZSB0aGUgcmVmbGVjdGl2
ZSBwYXJ0IG9mIHRoZSBtb2R1bGUgbG9hZGVyIGlzIHN1cHBvcnRlZCwgd2Ugd2lsbCBoYW5kbGUg
YXJiaXRyYXJ5IHZhbHVlcy4KKyAgICAvLyBodHRwczovL3doYXR3Zy5naXRodWIuaW8vbG9hZGVy
LyNyZWdpc3RyeS1wcm90b3R5cGUtcHJvdmlkZQorICAgIEpTQzo6SlNNb2R1bGVSZWNvcmQqIG1v
ZHVsZVJlY29yZCA9IEpTQzo6anNEeW5hbWljQ2FzdDxKU0M6OkpTTW9kdWxlUmVjb3JkKj4obW9k
dWxlUmVjb3JkVmFsdWUpOworICAgIGlmICghbW9kdWxlUmVjb3JkKQorICAgICAgICByZXR1cm4g
SlNDOjpqc1VuZGVmaW5lZCgpOworCisgICAgVVJMIHNvdXJjZVVybDsKKyAgICBpZiAobW9kdWxl
S2V5VmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgc291cmNlVXJsID0gbV9kb2N1bWVudC51cmwo
KTsKKyAgICBlbHNlIGlmIChtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKQorICAgICAgICBzb3Vy
Y2VVcmwgPSBVUkwoVVJMKCksIGFzU3RyaW5nKG1vZHVsZUtleVZhbHVlKS0+dmFsdWUoZXhlYykp
OworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIEpTQzo6dGhyb3dUeXBlRXJyb3IoZXhlYywgIk1v
ZHVsZSBrZXkgaXMgbm90IFN5bWJvbCBvciBTdHJpbmcuIik7CisKKyAgICBpZiAoIXNvdXJjZVVy
bC5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBKU0M6OnRocm93VHlwZUVycm9yKGV4ZWMsICJN
b2R1bGUga2V5IGlzIGFuIGludmFsaWQgVVJMLiIpOworCisgICAgLy8gRklYTUU6IEltcGxlbWVu
dCBldmFsdWF0aW5nIG1vZHVsZSBjb2RlLgorCisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQo
KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNb2R1
bGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTW9kdWxlTG9hZGVyLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjkxZjdhMWFlMWJkNGVmZDgzZGVhOTY1ODkxMjU2ZWVlNTk3YmVjMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTW9kdWxlTG9hZGVy
LmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSlNNb2R1bGVMb2FkZXJf
aAorI2RlZmluZSBKU01vZHVsZUxvYWRlcl9oCisKKyNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFs
dWUuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNwYWNlIEpTQyB7Citj
bGFzcyBFeGVjU3RhdGU7CitjbGFzcyBKU0dsb2JhbE9iamVjdDsKK2NsYXNzIEpTSW50ZXJuYWxQ
cm9taXNlOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERvY3VtZW50OworCitj
bGFzcyBKU01vZHVsZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNNb2R1bGVM
b2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBK
U01vZHVsZUxvYWRlcihEb2N1bWVudCYpOworCisgICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgeyBy
ZXR1cm4gbV9kb2N1bWVudDsgfQorCisgICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogcmVzb2x2
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUgbW9k
dWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHJlZmVycmVyKTsKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9t
aXNlKiBmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpT
VmFsdWUgbW9kdWxlS2V5KTsKKyAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGUoSlNDOjpKU0dsb2Jh
bE9iamVjdCosIEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlIG1vZHVsZUtleSwgSlNDOjpK
U1ZhbHVlIG1vZHVsZVJlY29yZCk7CisKK3ByaXZhdGU6CisgICAgRG9jdW1lbnQmIG1fZG9jdW1l
bnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBKU01vZHVsZUxv
YWRlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAxZTFkYTk5ZTZlNTJiMzY2NjYwYjk0
YTlkZTU3NzcyMDAzNjI0ZmE0Li4xZmQ4NzNlYTkwNmQ5MzAxYTQwMTI2MmFhZjVlYjNlYmZlNWRk
YmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTk2LDYgKzk2LDcgQEAKICNpbmNsdWRl
ICJJbWFnZUxvYWRlci5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgog
I2luY2x1ZGUgIkpTTGF6eUV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJKU01vZHVsZUxvYWRl
ci5oIgogI2luY2x1ZGUgIkxhbmd1YWdlLmgiCiAjaW5jbHVkZSAiTG9hZGVyU3RyYXRlZ3kuaCIK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC00NjQsNiArNDY1LDcgQEAgYm9vbCBUZXh0QXV0b1Np
emluZ1RyYWl0czo6aXNEZWxldGVkVmFsdWUoY29uc3QgVGV4dEF1dG9TaXppbmdLZXkmIHZhbHVl
KQogICAgICwgbV9zdGFydFRpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpCiAg
ICAgLCBtX292ZXJNaW5pbXVtTGF5b3V0VGhyZXNob2xkKGZhbHNlKQogICAgICwgbV9zY3JpcHRS
dW5uZXIoc3RkOjptYWtlX3VuaXF1ZTxTY3JpcHRSdW5uZXI+KCp0aGlzKSkKKyAgICAsIG1fbW9k
dWxlTG9hZGVyKHN0ZDo6bWFrZV91bmlxdWU8SlNNb2R1bGVMb2FkZXI+KCp0aGlzKSkKICAgICAs
IG1feG1sVmVyc2lvbihBU0NJSUxpdGVyYWwoIjEuMCIpKQogICAgICwgbV94bWxTdGFuZGFsb25l
KFN0YW5kYWxvbmVVbnNwZWNpZmllZCkKICAgICAsIG1faGFzWE1MRGVjbGFyYXRpb24oZmFsc2Up
CkBAIC02MDUsNiArNjA3LDcgQEAgc3RhdGljIGJvb2wgaXNBdHRyaWJ1dGVPbkFsbE93bmVycyhj
b25zdCBXZWJDb3JlOjpRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGUsIGNvbnMKICAgICAgICAgbV9k
b21XaW5kb3ctPnJlc2V0VW5sZXNzU3VzcGVuZGVkRm9yUGFnZUNhY2hlKCk7CiAKICAgICBtX3Nj
cmlwdFJ1bm5lciA9IG51bGxwdHI7CisgICAgbV9tb2R1bGVMb2FkZXIgPSBudWxscHRyOwogCiAg
ICAgcmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBm
OTE4MDg5ZjIzYjJmYjNhMThkZmJkMjFmNWY3MDM5ODA1MDc1YmE3Li5iMzA4YWUyMTdiMmQ2OWJj
NjU3MTExYjA0YTI1NzY2YWZmN2ExNWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTIyLDYg
KzEyMiw3IEBACiBjbGFzcyBMYXlvdXRQb2ludDsKIGNsYXNzIExheW91dFJlY3Q7CiBjbGFzcyBM
aXZlTm9kZUxpc3Q7CitjbGFzcyBKU01vZHVsZUxvYWRlcjsKIGNsYXNzIEpTTm9kZTsKIGNsYXNz
IExvY2FsZTsKIGNsYXNzIExvY2F0aW9uOwpAQCAtOTM0LDYgKzkzNSw3IEBAIGNsYXNzIERvY3Vt
ZW50IDogcHVibGljIENvbnRhaW5lck5vZGUsIHB1YmxpYyBUcmVlU2NvcGUsIHB1YmxpYyBTY3Jp
cHRFeGVjdXRpb25DCiAgICAgRG9jdW1lbnQmIHRvcERvY3VtZW50KCkgY29uc3Q7CiAgICAgCiAg
ICAgU2NyaXB0UnVubmVyKiBzY3JpcHRSdW5uZXIoKSB7IHJldHVybiBtX3NjcmlwdFJ1bm5lci5n
ZXQoKTsgfQorICAgIEpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIoKSB7IHJldHVybiBtX21v
ZHVsZUxvYWRlci5nZXQoKTsgfQogCiAgICAgSFRNTFNjcmlwdEVsZW1lbnQqIGN1cnJlbnRTY3Jp
cHQoKSBjb25zdCB7IHJldHVybiAhbV9jdXJyZW50U2NyaXB0U3RhY2suaXNFbXB0eSgpID8gbV9j
dXJyZW50U2NyaXB0U3RhY2subGFzdCgpLmdldCgpIDogMDsgfQogICAgIHZvaWQgcHVzaEN1cnJl
bnRTY3JpcHQoUGFzc1JlZlB0cjxIVE1MU2NyaXB0RWxlbWVudD4pOwpAQCAtMTUxOCw2ICsxNTIw
LDcgQEAgY2xhc3MgRG9jdW1lbnQgOiBwdWJsaWMgQ29udGFpbmVyTm9kZSwgcHVibGljIFRyZWVT
Y29wZSwgcHVibGljIFNjcmlwdEV4ZWN1dGlvbkMKICAgICBib29sIG1fb3Zlck1pbmltdW1MYXlv
dXRUaHJlc2hvbGQ7CiAgICAgCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjcmlwdFJ1bm5lcj4gbV9z
Y3JpcHRSdW5uZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPEpTTW9kdWxlTG9hZGVyPiBtX21vZHVs
ZUxvYWRlcjsKIAogICAgIFZlY3RvcjxSZWZQdHI8SFRNTFNjcmlwdEVsZW1lbnQ+PiBtX2N1cnJl
bnRTY3JpcHRTdGFjazsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261969</attachid>
            <date>2015-09-26 02:15:27 -0700</date>
            <delta_ts>2015-09-26 17:58:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149574-20150926181505.patch</filename>
            <type>text/plain</type>
            <size>32851</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTcwOGE5ZTE1ZWFiMThm
ZDM4N2ZlOTE4YjAzODk2N2RjMjhiYjJhOC4uYTk1ZmEwOGJjYTY5Y2ZjYzQ4OTdkMGI0YzczMjc1
NDM4NDI1NDNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE1LTA5LTI2ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgTW9kdWxlIGxvYWRlciBob29rIHN0dWJzIGluIFdlYkNvcmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGlt
cGxlbWVudCB0aGUgbG9hZGVyIGhvb2tzIGluIHRoZSBXZWJDb3JlIHNpZGUuCisgICAgICAgIFNp
bmNlIHRoZSBmZXRjaGVyIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiBjb2RlIGFyZSBzZXBhcmF0ZWQg
ZnJvbQorICAgICAgICB0aGlzIHBhdGNoLCB0aGV5IGJlY29tZSBlbXB0eS4KKworICAgICAgICBI
ZXJlLCBXZWJDb3JlIGltcGxlbWVudHMgMyBsb2FkZXIgaG9va3MuCisKKyAgICAgICAgMS4gcmVz
b2x2ZSBob29rCisKKyAgICAgICAgICAgIFRha2VzIHRoZSBtb2R1bGUgbmFtZSBhbmQgcmVzb2x2
ZSBpdCB0byB0aGUgdW5pcXVlIG1vZHVsZSBrZXkuCisgICAgICAgICAgICBJbiBXZWJDb3JlLCB3
ZSB1c2UgVVJMIGFzIGEgbW9kdWxlIGtleS4KKyAgICAgICAgICAgIEFuZCBmb3IgdGhlIGlubGlu
ZWQgbW9kdWxlIHRhZyAoZS5nLiA8c2NyaXB0IHR5cGU9Im1vZHVsZSI+aW1wb3J0IC4uLjwvc2Ny
aXB0PiksCisgICAgICAgICAgICB3ZSB1c2UgdGhlIEVTNiBzeW1ib2wgYXMgYSBtb2R1bGUga2V5
LgorICAgICAgICAgICAgSW4gV2ViQ29yZSwgd2UgdGFrZSB0aGUgbW9kdWxlIG5hbWUgbGlrZSAi
Li9oZWxsby5qcyIgYW5kIHJlc29sdmUgaXQgYnkgdXNpbmcKKyAgICAgICAgICAgIHRoZSBVUkwg
b2YgdGhlIGltcG9ydGVyIG1vZHVsZS4KKyAgICAgICAgICAgIFRoaXMgZnVuY3Rpb25hbGl0eSBp
cyBpbXBsZW1lbnRlZCBpbiB0aGlzIHBhdGNoLgorCisgICAgICAgIDIuIGZldGNoIGhvb2sKKwor
ICAgICAgICAgICAgRmV0Y2hlcyB0aGUgcmVzb3VyY2Ugc3BlY2lmaWVkIGJ5IHRoZSBtb2R1bGUg
a2V5LiBJbiBXZWJDb3JlLCB0aGUgbW9kdWxlIGtleSBpcworICAgICAgICAgICAgVVJMLiBXZSB1
c2UgQ2FjaGVkUmVzb3VyY2UgbG9hZGluZyBzeXN0ZW0gdG8gbG9hZCB0aGUgcmVzb3VyY2Ugb2Yg
dGhlIG1vZHVsZXMuCisgICAgICAgICAgICBUaGUgYWN0dWFsIGNvZGUgb2YgdGhlIGZldGNoIGhv
b2sgd2lsbCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgc3Vic2VxdWVudCBwYXRjaC4KKworICAgICAg
ICAzLiBldmFsdWF0ZSBob29rCisKKyAgICAgICAgICAgIFRoaXMgaXMgYWRkaXRpb25hbCBob29r
IHRvIGluc3RydW1lbnQgdGhlIG1vZHVsZSdzIGV4ZWN1dGlvbiBmb3IgdGhlIGluc3BlY3Rvci4K
KyAgICAgICAgICAgIFRoZSBhY3R1YWwgY29kZSBvZiB0aGUgZXZhbHVhdGUgaG9vayB3aWxsIGJl
IGltcGxlbWVudGVkIGluIHRoZSBzdWJzZXF1ZW50IHBhdGNoLgorCisgICAgICAgIEluIGFkZGl0
aW9uIHRvIHRoYXQsIHdlIGFkZGVkIHJlcXVpcmVkIEpTQyBmb3J3YXJkIGhlYWRlcnMgZm9yIHRo
ZSBtb2R1bGUgbG9hZGVyCisgICAgICAgIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU0ludGVy
bmFsUHJvbWlzZS5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9ydW50aW1l
L0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGlu
Z0hlYWRlcnMvcnVudGltZS9KU01vZHVsZVJlY29yZC5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3
YXJkaW5nSGVhZGVycy9ydW50aW1lL1N5bWJvbC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNvbHZlKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJFdmFsdWF0ZSk6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNN
b2R1bGVMb2FkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTW9kdWxlTG9hZGVy
OjpKU01vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU01vZHVsZUxvYWRlcjo6cmVz
b2x2ZSk6CisgICAgICAgIChXZWJDb3JlOjpKU01vZHVsZUxvYWRlcjo6ZmV0Y2gpOgorICAgICAg
ICAoV2ViQ29yZTo6SlNNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU01vZHVsZUxvYWRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTW9kdWxl
TG9hZGVyOjpkb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6fkRvY3VtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50Ojptb2R1bGVMb2FkZXIpOgorCiAyMDE1LTA5LTI1ICBFcmljIENhcmxzb24g
IDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHVzZXIgbWVkaWEg
cmVxdWVzdCBpbnRlcm5hbCBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMTMxZjY0NGNiOTg0
ODk5NmFiNDBiZGM3M2M4MGZjNmE0ODc5MmY4Mi4uN2E4MjFlZTQ3MjEyNjhkZmVlOWNkYWRjMDJk
OTc0ODE5MjU4ZjMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTExNzcsNiArMTE3Nyw3IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VDaGFubmVsQ3Vz
dG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNNb2R1
bGVMb2FkZXIuY3BwCiAgICAgYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTTXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Zv
cndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaCBiL1NvdXJjZS9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43ZjU1N2EyZjIxZWNmNmIyYWVjYWQ2N2UzNTNlMTk2NmU0Nzk0ZTgwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU0ludGVy
bmFsUHJvbWlzZS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9KU0ludGVy
bmFsUHJvbWlzZV9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0pTSW50ZXJuYWxQcm9taXNlX2gKKyNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1
bnRpbWUvSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2YzA4NmRkMzlh
ZmY5ZTEwNGJkNWE2ZmY3YWU3OTI1NDYzODY5NTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJy
ZWQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSlNJbnRlcm5hbFByb21p
c2VEZWZlcnJlZF9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0pTSW50ZXJuYWxQcm9taXNlRGVmZXJy
ZWRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQu
aD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMv
cnVudGltZS9KU01vZHVsZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvcnVudGltZS9KU01vZHVsZVJlY29yZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzZTllY2ZmYmNmNTdjMmE5
Yzc5NWNjYjFkODAzNDBmOTE0ZDdkNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTTW9kdWxlUmVjb3JkLmgKQEAgLTAsMCArMSw0
IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0pTTW9kdWxlUmVjb3JkX2gKKyNkZWZpbmUgV2ViQ29y
ZV9GV0RfSlNNb2R1bGVSZWNvcmRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTW9kdWxl
UmVjb3JkLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdI
ZWFkZXJzL3J1bnRpbWUvU3ltYm9sLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVy
cy9ydW50aW1lL1N5bWJvbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1MDQyN2YwOTFhOWVjYWNmYmZhMDk5YWUw
ZDAzMGUwZTliYzVlYjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJk
aW5nSGVhZGVycy9ydW50aW1lL1N5bWJvbC5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJD
b3JlX0ZXRF9TeW1ib2xfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TeW1ib2xfaAorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL1N5bWJvbC5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBiYjhhNDY3NDEzNTA5MmM1NWQxMWUy
NmU1YjJhMTIxZTJjZmY4Y2E2Li5mMzA1NTJmOTMyOWYzZjRlZWI0YTM1MGFjZTE0Y2I1NzQxNjM1
YmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKQEAgLTE4NDI3LDYgKzE4NDI3LDIwIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNb2R1bGVMb2FkZXIuY3BwIj4KKyAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Jl
bGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGls
ZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTTXV0YXRpb25DYWxs
YmFjay5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpA
QCAtMjI0NzgsNiArMjI0OTIsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGlu
Z3NcanNcSlNMYXp5RXZlbnRMaXN0ZW5lci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01lc3NhZ2VQb3J0Q3VzdG9tLmgiIC8+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01vZHVsZUxvYWRlci5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNdXRhdGlvbkNhbGxiYWNr
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU05vZGVDdXN0
b20uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTTm9kZU9y
U3RyaW5nLmgiIC8+CkBAIC0yMjcyMiwxMyArMjI3MzcsMTcgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHN2Z1xwcm9wZXJ0aWVzXFNWR1RyYW5zZm9ybUxpc3RQcm9wZXJ0eVRlYXJPZmYu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRp
bWVcQXJnTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNccnVudGltZVxJZGVudGlmaWVyLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTSW50ZXJuYWxQcm9taXNlLmgiIC8+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndh
cmRpbmdIZWFkZXJzXHJ1bnRpbWVcSlNMb2NrLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTT2JqZWN0LmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTU3RyaW5nLmgiIC8+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpT
TW9kdWxlUmVjb3JkLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5n
SGVhZGVyc1xydW50aW1lXExvb2t1cC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxPcGVyYXRpb25zLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXFByb3RlY3QuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcU3RyaW5n
T2JqZWN0LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xydW50aW1lXFN5bWJvbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNceWFyclxSZWd1bGFyRXhwcmVzc2lvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNceWFyclxZYXJyLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x5YXJyXFlhcnJJbnRlcnByZXRlci5o
IiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzCmluZGV4IGFmMDU4ZTFmMGRjM2I1ZWY4N2Q3NzJhYmE1MDhhMTJlM2M1
NTdmMmEuLmRmNGViNmQwZTE4MzIzYzkwZTI0OTZkNDVkMGE4ZjRkMjNhNzM3MjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKQEAgLTQzODAsNiArNDM4MCw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxi
aW5kaW5nc1xqc1xKU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRp
bmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxiaW5kaW5nc1xqc1xKU01vZHVsZUxvYWRlci5jcHAiPgorICAgICAgPEZpbHRlcj5iaW5k
aW5nc1xqczwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCI+CiAgICAgICA8RmlsdGVy
PmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTQ3NCw2ICsxMTQ3
Nyw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01lc3NhZ2VQ
b3J0Q3VzdG9tLmgiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNb2R1
bGVMb2FkZXIuaCI+CisgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CisgICAgPC9D
bEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU011dGF0
aW9uQ2FsbGJhY2suaCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CkBAIC0xMTY1NCwxMiArMTE2NjAsMjEgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcSWRlbnRpZmllci5oIj4KICAgICAg
IDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGlt
ZVxKU0ludGVybmFsUHJvbWlzZS5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNc
cnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU0ludGVybmFsUHJvbWlzZURlZmVycmVk
LmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+Cisg
ICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xydW50aW1lXEpTTG9jay5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNc
cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU09iamVjdC5oIj4KICAgICAgIDxGaWx0
ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU01v
ZHVsZVJlY29yZC5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwv
RmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNccnVudGltZVxKU1N0cmluZy5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2Fy
ZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTE2Nzgs
NiArMTE2OTMsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRl
cnNccnVudGltZVxTdHJpbmdPYmplY3QuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFk
ZXJzXHJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcU3ltYm9sLmgiPgorICAgICAgPEZp
bHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x5YXJyXFJlZ3Vs
YXJFeHByZXNzaW9uLmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1x5YXJyPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNWIwNDIyMzAzYTM1OWY2NGI5YTJhMDZiZDU4
ZTQ3OWYzZjhjNzZkMS4uNTliMTNiZDFkNWRhYTJlZTg1NjU3ZDQ3ZTgyN2JjZTI1MmViNjkzYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNjMyNCw2ICs2MzI0LDggQEAKIAkJRTFGRjhGNjgxODA3NDYwODAwMTMyNjc0IC8qIEpT
U3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1
c3RvbS5jcHAgKi87IH07CiAJCUUxRkY4RjZDMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9BbGdv
cml0aG1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMUZGOEY2QTE4MERCNUJFMDAxMzI2NzQgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0
cnkuY3BwICovOyB9OwogCQlFMUZGOEY2RDE4MERCNUJFMDAxMzI2NzQgLyogQ3J5cHRvQWxnb3Jp
dGhtUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUxRkY4RjZCMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5o
ICovOyB9OworCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4ODM4OTQx
QkFEMTQ1RjAwRDYyRUUzIC8qIEpTTW9kdWxlTG9hZGVyLmNwcCAqLzsgc2V0dGluZ3MgPSB7QVNT
RVRfVEFHUyA9ICgpOyB9OyB9OworCQlFMzg4Mzg5OTFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1
bGVMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBKU01vZHVsZUxvYWRlci5oICovOyBzZXR0aW5n
cyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07CiAJCUU0MDFDMjc1MTdDRTUzRUMwMEM0MUEzNSAv
KiBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNDAxQzI3NDE3Q0U1M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0
ZXJhdG9yQXNzZXJ0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUU0MjRBMzlFMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRp
bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MjRB
MzlEMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUuaCAqLzsgfTsKIAkJRTQy
NEEzQTAxMzMwREYxRTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MjRBMzlGMTMzMERGMUUwMENG
NkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUubW0gKi87IH07CkBAIC0xNDA4NSw2ICsxNDA4Nyw4
IEBACiAJCUUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N1YnRsZUNyeXB0b0N1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRkY4RjZBMTgwREI1QkUw
MDEzMjY3NCAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRkY4RjZCMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9B
bGdvcml0aG1SZWdpc3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlw
dG9BbGdvcml0aG1SZWdpc3RyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzg4
Mzg5NDFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2R1bGVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMzg4Mzg5NTFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2Fk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2R1bGVMb2FkZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMUMyNzQxN0NFNTNFQzAwQzQxQTM1IC8q
IEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFNDA2RjNGQjExOTgzMDdEMDA5RDU5RDYgLyogQ29sb3JEYXRhLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbG9yRGF0YS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0MUVBMDM4MTE5ODM2REIwMDcxMEJDNSAvKiBDU1NQcm9wZXJ0
eU5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1Byb3Bl
cnR5TmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE1MzcsNiArMjE1
NDEsOCBAQAogCQkJCTQxMTg5RUY4MUFEODIzM0MwMEI5MEEwRCAvKiBKU1JlYWRhYmxlU3RyZWFt
Q29udHJvbGxlckN1c3RvbS5jcHAgKi8sCiAJCQkJRTFDMzZEMzIwRUIwQTA5NDAwNzQxMEJDIC8q
IEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCAqLywKIAkJCQlFMUMzNkQzMzBFQjBBMDk0MDA3
NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCAqLywKKwkJCQlFMzg4Mzg5NDFCQUQx
NDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3BwICovLAorCQkJCUUzODgzODk1MUJBRDE0
NUYwMEQ2MkVFMyAvKiBKU01vZHVsZUxvYWRlci5oICovLAogCQkJCTQxOThCREVFMUE4MTEyMzYw
MEIyMkZCNSAvKiBSZWFkYWJsZUpTU3RyZWFtLmNwcCAqLywKIAkJCQk0MTk4QkRFRjFBODExMjM2
MDBCMjJGQjUgLyogUmVhZGFibGVKU1N0cmVhbS5oICovLAogCQkJCUJDQTM3OEJBMEQxNUY2NDIw
MEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwICovLApAQCAtMjYyMDcsNiArMjYyMTMsNyBA
QAogCQkJCUNFMTI1MjQxMUExNkIxQjYwMDg2NDQ4MCAvKiBNZWRpYVBsYXllclNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTJFMkNBRkMxOUZGMDIwNzAwMUVFQjRGIC8qIE1lZGlhUHJvZHVjZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJBMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1
ZXJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzg4Mzg5OTFCQUQxNDVGMDBENjJFRTMgLyogSlNN
b2R1bGVMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJDMEEzOURBQ0MwMDIyMEZF
NSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RTE5NTkyRTBB
MzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV4cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNB
OTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLywK
QEAgLTI4NTczLDYgKzI4NTgwLDcgQEAKIAkJCQkzMTA2MDM3QTE0MzI4MUNEMDBBQkY0QkEgLyog
RE9NV2ViS2l0Q1NTRmlsdGVyVmFsdWUubW0gaW4gU291cmNlcyAqLywKIAkJCQk0OTgzOTE1MTBG
MUU3NkI0MDBDMjM3ODIgLyogRE9NV2ViS2l0Q1NTTWF0cml4Lm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOEFEMEE1OTcxNEM4ODM1ODAwMEQ4M0M1IC8qIERPTVdlYktpdENTU1JlZ2lvblJ1bGUubW0g
aW4gU291cmNlcyAqLywKKwkJCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVM
b2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE2MTFFNjIwRTFDNEUxNDAwRjZBNTc5IC8q
IERPTVdlYktpdENTU1RyYW5zZm9ybVZhbHVlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJM0YyQjMz
RUMxNjVBRjE1NjAwRTM5ODdDIC8qIERPTVdlYktpdENTU1ZpZXdwb3J0UnVsZS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCThBMTk1OTMzMTQ3RUExNkUwMEQxRUE2MSAvKiBET01XZWJLaXROYW1lZEZs
b3cubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IDY2MDBmMzRhZTA2NWZmZTExOGMzZjI4ZjFiMGNl
MTU4YjMyYmY5NWMuLjE5Yzk1MWIwOTRiZDA4ZDc3ZjRmMTczYzI5YTMzYmViNWZhYzdhZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNw
cApAQCAtMTA2LDYgKzEwNiw3IEBACiAjaW5jbHVkZSAiSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5j
cHAiCiAjaW5jbHVkZSAiSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTTWVz
c2FnZVBvcnRDdXN0b20uY3BwIgorI2luY2x1ZGUgIkpTTW9kdWxlTG9hZGVyLmNwcCIKICNpbmNs
dWRlICJKU011dGF0aW9uQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25PYnNlcnZl
ckN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggODM1MDMz
MzEzZWZlMTUyZjFlMzlmNGMxNTFiYmRjMmYwYTFhZDdmYi4uYWU0NzczODgyYmU1NThiZDk3MzVi
YjVlNTY1YmI3YWI2OWE5YmU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9y
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0VGFzay5oIgogI2luY2x1
ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmgiCisjaW5jbHVkZSAiSlNNb2R1bGVMb2FkZXIuaCIKICNp
bmNsdWRlICJKU05vZGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgpAQCAtMzYsNiArMzcsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCisjaW5jbHVk
ZSA8cnVudGltZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg+CiAjaW5jbHVkZSA8cnVudGlt
ZS9NaWNyb3Rhc2suaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCkBAIC01Niw3ICs1
OCw3IEBAIHN0YXRpYyBib29sIHNob3VsZEFsbG93QWNjZXNzRnJvbShjb25zdCBKU0dsb2JhbE9i
amVjdCogdGhpc09iamVjdCwgRXhlY1N0YXRlKiBlCiAKIGNvbnN0IENsYXNzSW5mbyBKU0RPTVdp
bmRvd0Jhc2U6OnNfaW5mbyA9IHsgIldpbmRvdyIsICZKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZv
LCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRE9NV2luZG93QmFzZSkgfTsKIAotY29uc3QgR2xv
YmFsT2JqZWN0TWV0aG9kVGFibGUgSlNET01XaW5kb3dCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhv
ZFRhYmxlID0geyAmc2hvdWxkQWxsb3dBY2Nlc3NGcm9tLCAmc3VwcG9ydHNQcm9maWxpbmcsICZz
dXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0LCAmamF2YVNjcmlw
dFJ1bnRpbWVGbGFncywgJnF1ZXVlVGFza1RvRXZlbnRMb29wLCAmc2hvdWxkSW50ZXJydXB0U2Ny
aXB0QmVmb3JlVGltZW91dCwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVs
bHB0ciB9OworY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNET01XaW5kb3dCYXNlOjpz
X2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlID0geyAmc2hvdWxkQWxsb3dBY2Nlc3NGcm9tLCAmc3Vw
cG9ydHNQcm9maWxpbmcsICZzdXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0
U2NyaXB0LCAmamF2YVNjcmlwdFJ1bnRpbWVGbGFncywgJnF1ZXVlVGFza1RvRXZlbnRMb29wLCAm
c2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGltZW91dCwgJm1vZHVsZUxvYWRlclJlc29sdmUs
ICZtb2R1bGVMb2FkZXJGZXRjaCwgbnVsbHB0ciwgbnVsbHB0ciwgJm1vZHVsZUxvYWRlckV2YWx1
YXRlIH07CiAKIEpTRE9NV2luZG93QmFzZTo6SlNET01XaW5kb3dCYXNlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV2luZG93PiB3aW5kb3csIEpTRE9NV2luZG93
U2hlbGwqIHNoZWxsKQogICAgIDogSlNET01HbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSwgJnNo
ZWxsLT53b3JsZCgpLCAmc19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKQEAgLTI3Niw0ICsyNzgs
MzEgQEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0Zv
cldpbmRvdyhET01XaW5kb3cqIHdpbmRvdykKICAgICB9CiB9CiAKKworSlNDOjpKU0ludGVybmFs
UHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcmVmZXJyZXIpCit7CisgICAgSlNET01XaW5kb3dC
YXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2Jq
ZWN0KTsKKyAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPmlt
cGwoKS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigp
LT5yZXNvbHZlKGdsb2JhbE9iamVjdCwgZXhlYywgbW9kdWxlTmFtZSwgcmVmZXJyZXIpOworICAg
IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZCogZGVmZXJyZWQgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQ6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3QpOworICAgIHJldHVy
biBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIGpzVW5kZWZpbmVkKCkpOworfQorCitKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNW
YWx1ZSBtb2R1bGVLZXkpCit7CisgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlND
Ojpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoUmVmUHRy
PERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPmltcGwoKS5kb2N1bWVudCgpKQorICAg
ICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLT5mZXRjaChnbG9iYWxPYmplY3Qs
IGV4ZWMsIG1vZHVsZUtleSk7CisgICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZURlZmVycmVkKiBk
ZWZlcnJlZCA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZDo6Y3JlYXRlKGV4ZWMsIGds
b2JhbE9iamVjdCk7CisgICAgcmV0dXJuIGRlZmVycmVkLT5yZWplY3QoZXhlYywganNVbmRlZmlu
ZWQoKSk7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckV2
YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQp
Cit7CisgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01X
aW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1
bWVudCA9IHRoaXNPYmplY3QtPmltcGwoKS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gZG9j
dW1lbnQtPm1vZHVsZUxvYWRlcigpLT5ldmFsdWF0ZShnbG9iYWxPYmplY3QsIGV4ZWMsIG1vZHVs
ZUtleSwgbW9kdWxlUmVjb3JkKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5oCmluZGV4IDVlZDM4NjJjMTQxMTg3YzAwNmI2ODhkYjc5Nzc5NGIzNjk4
MTA1NjQuLjhmNGM1NjI4N2NkYzBlNmYxMGVkODU2NjM2YTMwZTU1MGIxNWEzMjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC03OCw2ICs3OCwx
MCBAQAogICAgICAgICBKU0M6OldhdGNocG9pbnRTZXQgbV93aW5kb3dDbG9zZVdhdGNocG9pbnRz
OwogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2Uq
IG1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgICAgICBzdGF0aWMgSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVyRmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKTsKKyAgICAgICAgc3RhdGljIEpTQzo6SlNWYWx1
ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisKICAgICAgICAgUmVmUHRyPERPTVdp
bmRvdz4gbV9pbXBsOwogICAgICAgICBKU0RPTVdpbmRvd1NoZWxsKiBtX3NoZWxsOwogICAgIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01vZHVsZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01vZHVsZUxvYWRlci5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODg3NTIwNWRiMjA2MjIzZTFmYTI1YWRmYTAyMGEzZTE5NjFkNzQ0NAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTW9kdWxlTG9hZGVyLmNwcApA
QCAtMCwwICsxLDEyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJKU01vZHVsZUxvYWRlci5oIgorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTUJp
bmRpbmcuaCIKKyNpbmNsdWRlIDxydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQuaD4K
KyNpbmNsdWRlIDxydW50aW1lL0pTTW9kdWxlUmVjb3JkLmg+CisjaW5jbHVkZSA8cnVudGltZS9K
U1N0cmluZy5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvU3ltYm9sLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworSlNNb2R1bGVMb2FkZXI6OkpTTW9kdWxlTG9hZGVyKERvY3VtZW50JiBkb2N1bWVu
dCkKKyAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCit7Cit9CisKK0pTQzo6SlNJbnRlcm5hbFBy
b21pc2UqIEpTTW9kdWxlTG9hZGVyOjpyZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lVmFs
dWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSkKK3sKKyAgICBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQqIGRlZmVycmVkID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZURlZmVy
cmVkOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KTsKKworICAgIC8vIFdlIHVzZSBhIFN5bWJv
bCBhcyBhIHNwZWNpYWwgcHVycG9zZTsgSXQgbWVhbnMgdGhpcyBtb2R1bGUgaXMgYW4gaW5saW5l
IG1vZHVsZS4KKyAgICAvLyBTbyB0aGVyZSBpcyBubyBjb3JyZWN0IFVSTCB0byByZXRyaWV2ZSB0
aGUgbW9kdWxlIHNvdXJjZSBjb2RlLiBJZiB0aGUgbW9kdWxlIG5hbWUKKyAgICAvLyB2YWx1ZSBp
cyBhIFN5bWJvbCwgaXQgaXMgdXNlZCBkaXJlY3RseSBhcyBhIG1vZHVsZSBrZXkuCisgICAgaWYg
KG1vZHVsZU5hbWVWYWx1ZS5pc1N5bWJvbCgpKQorICAgICAgICByZXR1cm4gZGVmZXJyZWQtPnJl
c29sdmUoZXhlYywgbW9kdWxlTmFtZVZhbHVlKTsKKworICAgIGlmICghbW9kdWxlTmFtZVZhbHVl
LmlzU3RyaW5nKCkpCisgICAgICAgIHJldHVybiBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIEpTQzo6
Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJNb2R1bGUgbmFtZSBpcyBub3QgU3ltYm9sIG9yIFN0cmlu
Zy4iKSk7CisKKyAgICBTdHJpbmcgbW9kdWxlTmFtZSA9IGFzU3RyaW5nKG1vZHVsZU5hbWVWYWx1
ZSktPnZhbHVlKGV4ZWMpOworCisgICAgLy8gTm93LCB3ZSBjb25zaWRlciB0aGUgZ2l2ZW4gbW9k
dWxlTmFtZSBhcyB0aGUgc2FtZSB0byB0aGUgYGltcG9ydCAiLi4uImAgaW4gdGhlIG1vZHVsZSBj
b2RlLgorICAgIC8vIFdlIHVzZSB0aGUgY29tcGxldGVkIFVSTCBhcyB0aGUgdW5pcXVlIG1vZHVs
ZSBrZXkuCisgICAgVVJMIGNvbXBsZXRlZFVybDsKKworICAgIGlmIChpbXBvcnRlck1vZHVsZUtl
eS5pc1N5bWJvbCgpKQorICAgICAgICBjb21wbGV0ZWRVcmwgPSBtX2RvY3VtZW50LmNvbXBsZXRl
VVJMKG1vZHVsZU5hbWUpOworICAgIGVsc2UgaWYgKGltcG9ydGVyTW9kdWxlS2V5LmlzVW5kZWZp
bmVkKCkpCisgICAgICAgIGNvbXBsZXRlZFVybCA9IG1fZG9jdW1lbnQuY29tcGxldGVVUkwobW9k
dWxlTmFtZSk7CisgICAgZWxzZSBpZiAoaW1wb3J0ZXJNb2R1bGVLZXkuaXNTdHJpbmcoKSkgewor
ICAgICAgICBVUkwgaW1wb3J0ZXJNb2R1bGVVcmwoVVJMKCksIGFzU3RyaW5nKGltcG9ydGVyTW9k
dWxlS2V5KS0+dmFsdWUoZXhlYykpOworICAgICAgICBpZiAoIWltcG9ydGVyTW9kdWxlVXJsLmlz
VmFsaWQoKSkKKyAgICAgICAgICAgIHJldHVybiBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIEpTQzo6
Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJJbXBvcnRlciBtb2R1bGUga2V5IGlzIGFuIGludmFsaWQg
VVJMLiIpKTsKKyAgICAgICAgY29tcGxldGVkVXJsID0gbV9kb2N1bWVudC5jb21wbGV0ZVVSTCht
b2R1bGVOYW1lLCBpbXBvcnRlck1vZHVsZVVybCk7CisgICAgfSBlbHNlCisgICAgICAgIHJldHVy
biBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJJbXBv
cnRlciBtb2R1bGUga2V5IGlzIG5vdCBTeW1ib2wgb3IgU3RyaW5nLiIpKTsKKworICAgIGlmICgh
Y29tcGxldGVkVXJsLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIGRlZmVycmVkLT5yZWplY3Qo
ZXhlYywgSlNDOjpjcmVhdGVUeXBlRXJyb3IoZXhlYywgIk1vZHVsZSBuYW1lIGNvbnN0cnVjdHMg
YW4gaW52YWxpZCBVUkwuIikpOworCisgICAgcmV0dXJuIGRlZmVycmVkLT5yZXNvbHZlKGV4ZWMs
IGpzU3RyaW5nKGV4ZWMsIGNvbXBsZXRlZFVybC5zdHJpbmcoKSkpOworfQorCitKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBKU01vZHVsZUxvYWRlcjo6ZmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpKU1ZhbHVlIG1vZHVsZUtl
eVZhbHVlKQoreworICAgIEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZCogZGVmZXJyZWQg
PSBKU0M6OkpTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQ6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmpl
Y3QpOworCisgICAgaWYgKG1vZHVsZUtleVZhbHVlLmlzU3ltYm9sKCkpCisgICAgICAgIHJldHVy
biBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJTeW1i
b2wgbW9kdWxlIGtleSBzaG91bGQgYmUgYWxyZWFkeSBmdWxmaWxsZWQgd2l0aCB0aGUgaW5saW5l
ZCByZXNvdXJjZS4iKSk7CisKKyAgICBpZiAoIW1vZHVsZUtleVZhbHVlLmlzU3RyaW5nKCkpCisg
ICAgICAgIHJldHVybiBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9y
KGV4ZWMsICJNb2R1bGUga2V5IGlzIG5vdCBTeW1ib2wgb3IgU3RyaW5nLiIpKTsKKworICAgIFVS
TCBjb21wbGV0ZWRVcmwoVVJMKCksIGFzU3RyaW5nKG1vZHVsZUtleVZhbHVlKS0+dmFsdWUoZXhl
YykpOworICAgIGlmICghY29tcGxldGVkVXJsLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIGRl
ZmVycmVkLT5yZWplY3QoZXhlYywgSlNDOjpjcmVhdGVUeXBlRXJyb3IoZXhlYywgIk1vZHVsZSBr
ZXkgaXMgYW4gaW52YWxpZCBVUkwuIikpOworCisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUg
bW9kdWxlIGZldGNoZXIuCisKKyAgICByZXR1cm4gZGVmZXJyZWQtPnByb21pc2UoKTsKK30KKwor
SlNDOjpKU1ZhbHVlIEpTTW9kdWxlTG9hZGVyOjpldmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXlWYWx1ZSwgSlND
OjpKU1ZhbHVlIG1vZHVsZVJlY29yZFZhbHVlKQoreworICAgIC8vIEZJWE1FOiBDdXJyZW50bHks
IHdlIG9ubHkgc3VwcG9ydCBKU01vZHVsZVJlY29yZC4KKyAgICAvLyBPbmNlIHRoZSByZWZsZWN0
aXZlIHBhcnQgb2YgdGhlIG1vZHVsZSBsb2FkZXIgaXMgc3VwcG9ydGVkLCB3ZSB3aWxsIGhhbmRs
ZSBhcmJpdHJhcnkgdmFsdWVzLgorICAgIC8vIGh0dHBzOi8vd2hhdHdnLmdpdGh1Yi5pby9sb2Fk
ZXIvI3JlZ2lzdHJ5LXByb3RvdHlwZS1wcm92aWRlCisgICAgSlNDOjpKU01vZHVsZVJlY29yZCog
bW9kdWxlUmVjb3JkID0gSlNDOjpqc0R5bmFtaWNDYXN0PEpTQzo6SlNNb2R1bGVSZWNvcmQqPiht
b2R1bGVSZWNvcmRWYWx1ZSk7CisgICAgaWYgKCFtb2R1bGVSZWNvcmQpCisgICAgICAgIHJldHVy
biBKU0M6OmpzVW5kZWZpbmVkKCk7CisKKyAgICBVUkwgc291cmNlVXJsOworICAgIGlmIChtb2R1
bGVLZXlWYWx1ZS5pc1N5bWJvbCgpKQorICAgICAgICBzb3VyY2VVcmwgPSBtX2RvY3VtZW50LnVy
bCgpOworICAgIGVsc2UgaWYgKG1vZHVsZUtleVZhbHVlLmlzU3RyaW5nKCkpCisgICAgICAgIHNv
dXJjZVVybCA9IFVSTChVUkwoKSwgYXNTdHJpbmcobW9kdWxlS2V5VmFsdWUpLT52YWx1ZShleGVj
KSk7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gSlNDOjp0aHJvd1R5cGVFcnJvcihleGVjLCAi
TW9kdWxlIGtleSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKTsKKworICAgIGlmICghc291cmNl
VXJsLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIEpTQzo6dGhyb3dUeXBlRXJyb3IoZXhlYywg
Ik1vZHVsZSBrZXkgaXMgYW4gaW52YWxpZCBVUkwuIik7CisKKyAgICAvLyBGSVhNRTogSW1wbGVt
ZW50IGV2YWx1YXRpbmcgbW9kdWxlIGNvZGUuCisKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5l
ZCgpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01v
ZHVsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNb2R1bGVMb2FkZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mOTFmN2ExYWUxYmQ0ZWZkODNkZWE5NjU4OTEyNTZlZWU1OTdiZWMxCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNb2R1bGVMb2Fk
ZXIuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKU01vZHVsZUxvYWRl
cl9oCisjZGVmaW5lIEpTTW9kdWxlTG9hZGVyX2gKKworI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSlNW
YWx1ZS5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorCituYW1lc3BhY2UgSlNDIHsK
K2NsYXNzIEV4ZWNTdGF0ZTsKK2NsYXNzIEpTR2xvYmFsT2JqZWN0OworY2xhc3MgSlNJbnRlcm5h
bFByb21pc2U7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnQ7CisK
K2NsYXNzIEpTTW9kdWxlTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU01vZHVs
ZUxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0
IEpTTW9kdWxlTG9hZGVyKERvY3VtZW50Jik7CisKKyAgICBEb2N1bWVudCYgZG9jdW1lbnQoKSB7
IHJldHVybiBtX2RvY3VtZW50OyB9CisKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiByZXNv
bHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSBt
b2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcmVmZXJyZXIpOworICAgIEpTQzo6SlNJbnRlcm5hbFBy
b21pc2UqIGZldGNoKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SlNWYWx1ZSBtb2R1bGVLZXkpOworICAgIEpTQzo6SlNWYWx1ZSBldmFsdWF0ZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5LCBKU0M6
OkpTVmFsdWUgbW9kdWxlUmVjb3JkKTsKKworcHJpdmF0ZToKKyAgICBEb2N1bWVudCYgbV9kb2N1
bWVudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEpTTW9kdWxl
TG9hZGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDFlMWRhOTllNmU1MmIzNjY2NjBi
OTRhOWRlNTc3NzIwMDM2MjRmYTQuLjFmZDg3M2VhOTA2ZDkzMDFhNDAxMjYyYWFmNWViM2ViZmU1
ZGRiZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtOTYsNiArOTYsNyBAQAogI2luY2x1
ZGUgIkltYWdlTG9hZGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgi
CiAjaW5jbHVkZSAiSlNMYXp5RXZlbnRMaXN0ZW5lci5oIgorI2luY2x1ZGUgIkpTTW9kdWxlTG9h
ZGVyLmgiCiAjaW5jbHVkZSAiTGFuZ3VhZ2UuaCIKICNpbmNsdWRlICJMb2FkZXJTdHJhdGVneS5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTQ2NCw2ICs0NjUsNyBAQCBib29sIFRleHRBdXRv
U2l6aW5nVHJhaXRzOjppc0RlbGV0ZWRWYWx1ZShjb25zdCBUZXh0QXV0b1NpemluZ0tleSYgdmFs
dWUpCiAgICAgLCBtX3N0YXJ0VGltZShzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSkK
ICAgICAsIG1fb3Zlck1pbmltdW1MYXlvdXRUaHJlc2hvbGQoZmFsc2UpCiAgICAgLCBtX3Njcmlw
dFJ1bm5lcihzdGQ6Om1ha2VfdW5pcXVlPFNjcmlwdFJ1bm5lcj4oKnRoaXMpKQorICAgICwgbV9t
b2R1bGVMb2FkZXIoc3RkOjptYWtlX3VuaXF1ZTxKU01vZHVsZUxvYWRlcj4oKnRoaXMpKQogICAg
ICwgbV94bWxWZXJzaW9uKEFTQ0lJTGl0ZXJhbCgiMS4wIikpCiAgICAgLCBtX3htbFN0YW5kYWxv
bmUoU3RhbmRhbG9uZVVuc3BlY2lmaWVkKQogICAgICwgbV9oYXNYTUxEZWNsYXJhdGlvbihmYWxz
ZSkKQEAgLTYwNSw2ICs2MDcsNyBAQCBzdGF0aWMgYm9vbCBpc0F0dHJpYnV0ZU9uQWxsT3duZXJz
KGNvbnN0IFdlYkNvcmU6OlF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZSwgY29ucwogICAgICAgICBt
X2RvbVdpbmRvdy0+cmVzZXRVbmxlc3NTdXNwZW5kZWRGb3JQYWdlQ2FjaGUoKTsKIAogICAgIG1f
c2NyaXB0UnVubmVyID0gbnVsbHB0cjsKKyAgICBtX21vZHVsZUxvYWRlciA9IG51bGxwdHI7CiAK
ICAgICByZW1vdmVBbGxFdmVudExpc3RlbmVycygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4
IGY5MTgwODlmMjNiMmZiM2ExOGRmYmQyMWY1ZjcwMzk4MDUwNzViYTcuLmIzMDhhZTIxN2IyZDY5
YmM2NTcxMTFiMDRhMjU3NjZhZmY3YTE1YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMjIs
NiArMTIyLDcgQEAKIGNsYXNzIExheW91dFBvaW50OwogY2xhc3MgTGF5b3V0UmVjdDsKIGNsYXNz
IExpdmVOb2RlTGlzdDsKK2NsYXNzIEpTTW9kdWxlTG9hZGVyOwogY2xhc3MgSlNOb2RlOwogY2xh
c3MgTG9jYWxlOwogY2xhc3MgTG9jYXRpb247CkBAIC05MzQsNiArOTM1LDcgQEAgY2xhc3MgRG9j
dW1lbnQgOiBwdWJsaWMgQ29udGFpbmVyTm9kZSwgcHVibGljIFRyZWVTY29wZSwgcHVibGljIFNj
cmlwdEV4ZWN1dGlvbkMKICAgICBEb2N1bWVudCYgdG9wRG9jdW1lbnQoKSBjb25zdDsKICAgICAK
ICAgICBTY3JpcHRSdW5uZXIqIHNjcmlwdFJ1bm5lcigpIHsgcmV0dXJuIG1fc2NyaXB0UnVubmVy
LmdldCgpOyB9CisgICAgSlNNb2R1bGVMb2FkZXIqIG1vZHVsZUxvYWRlcigpIHsgcmV0dXJuIG1f
bW9kdWxlTG9hZGVyLmdldCgpOyB9CiAKICAgICBIVE1MU2NyaXB0RWxlbWVudCogY3VycmVudFNj
cmlwdCgpIGNvbnN0IHsgcmV0dXJuICFtX2N1cnJlbnRTY3JpcHRTdGFjay5pc0VtcHR5KCkgPyBt
X2N1cnJlbnRTY3JpcHRTdGFjay5sYXN0KCkuZ2V0KCkgOiAwOyB9CiAgICAgdm9pZCBwdXNoQ3Vy
cmVudFNjcmlwdChQYXNzUmVmUHRyPEhUTUxTY3JpcHRFbGVtZW50Pik7CkBAIC0xNTE4LDYgKzE1
MjAsNyBAQCBjbGFzcyBEb2N1bWVudCA6IHB1YmxpYyBDb250YWluZXJOb2RlLCBwdWJsaWMgVHJl
ZVNjb3BlLCBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQwogICAgIGJvb2wgbV9vdmVyTWluaW11bUxh
eW91dFRocmVzaG9sZDsKICAgICAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2NyaXB0UnVubmVyPiBt
X3NjcmlwdFJ1bm5lcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SlNNb2R1bGVMb2FkZXI+IG1fbW9k
dWxlTG9hZGVyOwogCiAgICAgVmVjdG9yPFJlZlB0cjxIVE1MU2NyaXB0RWxlbWVudD4+IG1fY3Vy
cmVudFNjcmlwdFN0YWNrOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261980</attachid>
            <date>2015-09-26 17:58:41 -0700</date>
            <delta_ts>2015-09-26 22:42:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149574-20150927095819.patch</filename>
            <type>text/plain</type>
            <size>33032</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTcwOGE5ZTE1ZWFiMThm
ZDM4N2ZlOTE4YjAzODk2N2RjMjhiYjJhOC4uYTk1ZmEwOGJjYTY5Y2ZjYzQ4OTdkMGI0YzczMjc1
NDM4NDI1NDNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE1LTA5LTI2ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgTW9kdWxlIGxvYWRlciBob29rIHN0dWJzIGluIFdlYkNvcmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGlt
cGxlbWVudCB0aGUgbG9hZGVyIGhvb2tzIGluIHRoZSBXZWJDb3JlIHNpZGUuCisgICAgICAgIFNp
bmNlIHRoZSBmZXRjaGVyIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiBjb2RlIGFyZSBzZXBhcmF0ZWQg
ZnJvbQorICAgICAgICB0aGlzIHBhdGNoLCB0aGV5IGJlY29tZSBlbXB0eS4KKworICAgICAgICBI
ZXJlLCBXZWJDb3JlIGltcGxlbWVudHMgMyBsb2FkZXIgaG9va3MuCisKKyAgICAgICAgMS4gcmVz
b2x2ZSBob29rCisKKyAgICAgICAgICAgIFRha2VzIHRoZSBtb2R1bGUgbmFtZSBhbmQgcmVzb2x2
ZSBpdCB0byB0aGUgdW5pcXVlIG1vZHVsZSBrZXkuCisgICAgICAgICAgICBJbiBXZWJDb3JlLCB3
ZSB1c2UgVVJMIGFzIGEgbW9kdWxlIGtleS4KKyAgICAgICAgICAgIEFuZCBmb3IgdGhlIGlubGlu
ZWQgbW9kdWxlIHRhZyAoZS5nLiA8c2NyaXB0IHR5cGU9Im1vZHVsZSI+aW1wb3J0IC4uLjwvc2Ny
aXB0PiksCisgICAgICAgICAgICB3ZSB1c2UgdGhlIEVTNiBzeW1ib2wgYXMgYSBtb2R1bGUga2V5
LgorICAgICAgICAgICAgSW4gV2ViQ29yZSwgd2UgdGFrZSB0aGUgbW9kdWxlIG5hbWUgbGlrZSAi
Li9oZWxsby5qcyIgYW5kIHJlc29sdmUgaXQgYnkgdXNpbmcKKyAgICAgICAgICAgIHRoZSBVUkwg
b2YgdGhlIGltcG9ydGVyIG1vZHVsZS4KKyAgICAgICAgICAgIFRoaXMgZnVuY3Rpb25hbGl0eSBp
cyBpbXBsZW1lbnRlZCBpbiB0aGlzIHBhdGNoLgorCisgICAgICAgIDIuIGZldGNoIGhvb2sKKwor
ICAgICAgICAgICAgRmV0Y2hlcyB0aGUgcmVzb3VyY2Ugc3BlY2lmaWVkIGJ5IHRoZSBtb2R1bGUg
a2V5LiBJbiBXZWJDb3JlLCB0aGUgbW9kdWxlIGtleSBpcworICAgICAgICAgICAgVVJMLiBXZSB1
c2UgQ2FjaGVkUmVzb3VyY2UgbG9hZGluZyBzeXN0ZW0gdG8gbG9hZCB0aGUgcmVzb3VyY2Ugb2Yg
dGhlIG1vZHVsZXMuCisgICAgICAgICAgICBUaGUgYWN0dWFsIGNvZGUgb2YgdGhlIGZldGNoIGhv
b2sgd2lsbCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgc3Vic2VxdWVudCBwYXRjaC4KKworICAgICAg
ICAzLiBldmFsdWF0ZSBob29rCisKKyAgICAgICAgICAgIFRoaXMgaXMgYWRkaXRpb25hbCBob29r
IHRvIGluc3RydW1lbnQgdGhlIG1vZHVsZSdzIGV4ZWN1dGlvbiBmb3IgdGhlIGluc3BlY3Rvci4K
KyAgICAgICAgICAgIFRoZSBhY3R1YWwgY29kZSBvZiB0aGUgZXZhbHVhdGUgaG9vayB3aWxsIGJl
IGltcGxlbWVudGVkIGluIHRoZSBzdWJzZXF1ZW50IHBhdGNoLgorCisgICAgICAgIEluIGFkZGl0
aW9uIHRvIHRoYXQsIHdlIGFkZGVkIHJlcXVpcmVkIEpTQyBmb3J3YXJkIGhlYWRlcnMgZm9yIHRo
ZSBtb2R1bGUgbG9hZGVyCisgICAgICAgIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU0ludGVy
bmFsUHJvbWlzZS5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9ydW50aW1l
L0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGlu
Z0hlYWRlcnMvcnVudGltZS9KU01vZHVsZVJlY29yZC5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3
YXJkaW5nSGVhZGVycy9ydW50aW1lL1N5bWJvbC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNvbHZlKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93QmFzZTo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJFdmFsdWF0ZSk6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNN
b2R1bGVMb2FkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTW9kdWxlTG9hZGVy
OjpKU01vZHVsZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU01vZHVsZUxvYWRlcjo6cmVz
b2x2ZSk6CisgICAgICAgIChXZWJDb3JlOjpKU01vZHVsZUxvYWRlcjo6ZmV0Y2gpOgorICAgICAg
ICAoV2ViQ29yZTo6SlNNb2R1bGVMb2FkZXI6OmV2YWx1YXRlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU01vZHVsZUxvYWRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTW9kdWxl
TG9hZGVyOjpkb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6fkRvY3VtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50Ojptb2R1bGVMb2FkZXIpOgorCiAyMDE1LTA5LTI1ICBFcmljIENhcmxzb24g
IDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHVzZXIgbWVkaWEg
cmVxdWVzdCBpbnRlcm5hbCBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMTMxZjY0NGNiOTg0
ODk5NmFiNDBiZGM3M2M4MGZjNmE0ODc5MmY4Mi4uN2E4MjFlZTQ3MjEyNjhkZmVlOWNkYWRjMDJk
OTc0ODE5MjU4ZjMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTExNzcsNiArMTE3Nyw3IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VDaGFubmVsQ3Vz
dG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNNb2R1
bGVMb2FkZXIuY3BwCiAgICAgYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTTXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Zv
cndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaCBiL1NvdXJjZS9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvSlNJbnRlcm5hbFByb21pc2UuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43ZjU1N2EyZjIxZWNmNmIyYWVjYWQ2N2UzNTNlMTk2NmU0Nzk0ZTgwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvcnVudGltZS9KU0ludGVy
bmFsUHJvbWlzZS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9KU0ludGVy
bmFsUHJvbWlzZV9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0pTSW50ZXJuYWxQcm9taXNlX2gKKyNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ludGVybmFsUHJvbWlzZS5oPgorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1
bnRpbWUvSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2YzA4NmRkMzlh
ZmY5ZTEwNGJkNWE2ZmY3YWU3OTI1NDYzODY5NTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJy
ZWQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSlNJbnRlcm5hbFByb21p
c2VEZWZlcnJlZF9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0pTSW50ZXJuYWxQcm9taXNlRGVmZXJy
ZWRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQu
aD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMv
cnVudGltZS9KU01vZHVsZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvcnVudGltZS9KU01vZHVsZVJlY29yZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzZTllY2ZmYmNmNTdjMmE5
Yzc5NWNjYjFkODAzNDBmOTE0ZDdkNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Gb3J3YXJkaW5nSGVhZGVycy9ydW50aW1lL0pTTW9kdWxlUmVjb3JkLmgKQEAgLTAsMCArMSw0
IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0pTTW9kdWxlUmVjb3JkX2gKKyNkZWZpbmUgV2ViQ29y
ZV9GV0RfSlNNb2R1bGVSZWNvcmRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTW9kdWxl
UmVjb3JkLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdI
ZWFkZXJzL3J1bnRpbWUvU3ltYm9sLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVy
cy9ydW50aW1lL1N5bWJvbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1MDQyN2YwOTFhOWVjYWNmYmZhMDk5YWUw
ZDAzMGUwZTliYzVlYjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJk
aW5nSGVhZGVycy9ydW50aW1lL1N5bWJvbC5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJD
b3JlX0ZXRF9TeW1ib2xfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TeW1ib2xfaAorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL1N5bWJvbC5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBiYjhhNDY3NDEzNTA5MmM1NWQxMWUy
NmU1YjJhMTIxZTJjZmY4Y2E2Li5mMzA1NTJmOTMyOWYzZjRlZWI0YTM1MGFjZTE0Y2I1NzQxNjM1
YmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKQEAgLTE4NDI3LDYgKzE4NDI3LDIwIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNb2R1bGVMb2FkZXIuY3BwIj4KKyAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Jl
bGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGls
ZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTTXV0YXRpb25DYWxs
YmFjay5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpA
QCAtMjI0NzgsNiArMjI0OTIsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGlu
Z3NcanNcSlNMYXp5RXZlbnRMaXN0ZW5lci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01lc3NhZ2VQb3J0Q3VzdG9tLmgiIC8+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01vZHVsZUxvYWRlci5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNdXRhdGlvbkNhbGxiYWNr
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU05vZGVDdXN0
b20uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTTm9kZU9y
U3RyaW5nLmgiIC8+CkBAIC0yMjcyMiwxMyArMjI3MzcsMTcgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHN2Z1xwcm9wZXJ0aWVzXFNWR1RyYW5zZm9ybUxpc3RQcm9wZXJ0eVRlYXJPZmYu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRp
bWVcQXJnTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNccnVudGltZVxJZGVudGlmaWVyLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTSW50ZXJuYWxQcm9taXNlLmgiIC8+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndh
cmRpbmdIZWFkZXJzXHJ1bnRpbWVcSlNMb2NrLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTT2JqZWN0LmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpTU3RyaW5nLmgiIC8+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEpT
TW9kdWxlUmVjb3JkLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5n
SGVhZGVyc1xydW50aW1lXExvb2t1cC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxPcGVyYXRpb25zLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXFByb3RlY3QuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcU3RyaW5n
T2JqZWN0LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xydW50aW1lXFN5bWJvbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNceWFyclxSZWd1bGFyRXhwcmVzc2lvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNceWFyclxZYXJyLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x5YXJyXFlhcnJJbnRlcnByZXRlci5o
IiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzCmluZGV4IGFmMDU4ZTFmMGRjM2I1ZWY4N2Q3NzJhYmE1MDhhMTJlM2M1
NTdmMmEuLmRmNGViNmQwZTE4MzIzYzkwZTI0OTZkNDVkMGE4ZjRkMjNhNzM3MjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKQEAgLTQzODAsNiArNDM4MCw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxi
aW5kaW5nc1xqc1xKU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRp
bmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxiaW5kaW5nc1xqc1xKU01vZHVsZUxvYWRlci5jcHAiPgorICAgICAgPEZpbHRlcj5iaW5k
aW5nc1xqczwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCI+CiAgICAgICA8RmlsdGVy
PmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTQ3NCw2ICsxMTQ3
Nyw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU01lc3NhZ2VQ
b3J0Q3VzdG9tLmgiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNNb2R1
bGVMb2FkZXIuaCI+CisgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CisgICAgPC9D
bEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU011dGF0
aW9uQ2FsbGJhY2suaCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CkBAIC0xMTY1NCwxMiArMTE2NjAsMjEgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcSWRlbnRpZmllci5oIj4KICAgICAg
IDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGlt
ZVxKU0ludGVybmFsUHJvbWlzZS5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNc
cnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU0ludGVybmFsUHJvbWlzZURlZmVycmVk
LmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+Cisg
ICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xydW50aW1lXEpTTG9jay5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNc
cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU09iamVjdC5oIj4KICAgICAgIDxGaWx0
ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxKU01v
ZHVsZVJlY29yZC5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNccnVudGltZTwv
RmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNccnVudGltZVxKU1N0cmluZy5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2Fy
ZGluZ0hlYWRlcnNccnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTE2Nzgs
NiArMTE2OTMsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRl
cnNccnVudGltZVxTdHJpbmdPYmplY3QuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFk
ZXJzXHJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcU3ltYm9sLmgiPgorICAgICAgPEZp
bHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x5YXJyXFJlZ3Vs
YXJFeHByZXNzaW9uLmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1x5YXJyPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNWIwNDIyMzAzYTM1OWY2NGI5YTJhMDZiZDU4
ZTQ3OWYzZjhjNzZkMS4uNTliMTNiZDFkNWRhYTJlZTg1NjU3ZDQ3ZTgyN2JjZTI1MmViNjkzYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNjMyNCw2ICs2MzI0LDggQEAKIAkJRTFGRjhGNjgxODA3NDYwODAwMTMyNjc0IC8qIEpT
U3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1
c3RvbS5jcHAgKi87IH07CiAJCUUxRkY4RjZDMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9BbGdv
cml0aG1SZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMUZGOEY2QTE4MERCNUJFMDAxMzI2NzQgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0
cnkuY3BwICovOyB9OwogCQlFMUZGOEY2RDE4MERCNUJFMDAxMzI2NzQgLyogQ3J5cHRvQWxnb3Jp
dGhtUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUxRkY4RjZCMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5o
ICovOyB9OworCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4ODM4OTQx
QkFEMTQ1RjAwRDYyRUUzIC8qIEpTTW9kdWxlTG9hZGVyLmNwcCAqLzsgc2V0dGluZ3MgPSB7QVNT
RVRfVEFHUyA9ICgpOyB9OyB9OworCQlFMzg4Mzg5OTFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1
bGVMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBKU01vZHVsZUxvYWRlci5oICovOyBzZXR0aW5n
cyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07CiAJCUU0MDFDMjc1MTdDRTUzRUMwMEM0MUEzNSAv
KiBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNDAxQzI3NDE3Q0U1M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0
ZXJhdG9yQXNzZXJ0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUU0MjRBMzlFMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRp
bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MjRB
MzlEMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUuaCAqLzsgfTsKIAkJRTQy
NEEzQTAxMzMwREYxRTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MjRBMzlGMTMzMERGMUUwMENG
NkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUubW0gKi87IH07CkBAIC0xNDA4NSw2ICsxNDA4Nyw4
IEBACiAJCUUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N1YnRsZUNyeXB0b0N1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRkY4RjZBMTgwREI1QkUw
MDEzMjY3NCAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRkY4RjZCMTgwREI1QkUwMDEzMjY3NCAvKiBDcnlwdG9B
bGdvcml0aG1SZWdpc3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlw
dG9BbGdvcml0aG1SZWdpc3RyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzg4
Mzg5NDFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2R1bGVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMzg4Mzg5NTFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2Fk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2R1bGVMb2FkZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMUMyNzQxN0NFNTNFQzAwQzQxQTM1IC8q
IEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFNDA2RjNGQjExOTgzMDdEMDA5RDU5RDYgLyogQ29sb3JEYXRhLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbG9yRGF0YS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0MUVBMDM4MTE5ODM2REIwMDcxMEJDNSAvKiBDU1NQcm9wZXJ0
eU5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1Byb3Bl
cnR5TmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE1MzcsNiArMjE1
NDEsOCBAQAogCQkJCTQxMTg5RUY4MUFEODIzM0MwMEI5MEEwRCAvKiBKU1JlYWRhYmxlU3RyZWFt
Q29udHJvbGxlckN1c3RvbS5jcHAgKi8sCiAJCQkJRTFDMzZEMzIwRUIwQTA5NDAwNzQxMEJDIC8q
IEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCAqLywKIAkJCQlFMUMzNkQzMzBFQjBBMDk0MDA3
NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCAqLywKKwkJCQlFMzg4Mzg5NDFCQUQx
NDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2FkZXIuY3BwICovLAorCQkJCUUzODgzODk1MUJBRDE0
NUYwMEQ2MkVFMyAvKiBKU01vZHVsZUxvYWRlci5oICovLAogCQkJCTQxOThCREVFMUE4MTEyMzYw
MEIyMkZCNSAvKiBSZWFkYWJsZUpTU3RyZWFtLmNwcCAqLywKIAkJCQk0MTk4QkRFRjFBODExMjM2
MDBCMjJGQjUgLyogUmVhZGFibGVKU1N0cmVhbS5oICovLAogCQkJCUJDQTM3OEJBMEQxNUY2NDIw
MEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwICovLApAQCAtMjYyMDcsNiArMjYyMTMsNyBA
QAogCQkJCUNFMTI1MjQxMUExNkIxQjYwMDg2NDQ4MCAvKiBNZWRpYVBsYXllclNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTJFMkNBRkMxOUZGMDIwNzAwMUVFQjRGIC8qIE1lZGlhUHJvZHVjZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJBMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1
ZXJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzg4Mzg5OTFCQUQxNDVGMDBENjJFRTMgLyogSlNN
b2R1bGVMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJDMEEzOURBQ0MwMDIyMEZF
NSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RTE5NTkyRTBB
MzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV4cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNB
OTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLywK
QEAgLTI4NTczLDYgKzI4NTgwLDcgQEAKIAkJCQkzMTA2MDM3QTE0MzI4MUNEMDBBQkY0QkEgLyog
RE9NV2ViS2l0Q1NTRmlsdGVyVmFsdWUubW0gaW4gU291cmNlcyAqLywKIAkJCQk0OTgzOTE1MTBG
MUU3NkI0MDBDMjM3ODIgLyogRE9NV2ViS2l0Q1NTTWF0cml4Lm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOEFEMEE1OTcxNEM4ODM1ODAwMEQ4M0M1IC8qIERPTVdlYktpdENTU1JlZ2lvblJ1bGUubW0g
aW4gU291cmNlcyAqLywKKwkJCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVM
b2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE2MTFFNjIwRTFDNEUxNDAwRjZBNTc5IC8q
IERPTVdlYktpdENTU1RyYW5zZm9ybVZhbHVlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJM0YyQjMz
RUMxNjVBRjE1NjAwRTM5ODdDIC8qIERPTVdlYktpdENTU1ZpZXdwb3J0UnVsZS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCThBMTk1OTMzMTQ3RUExNkUwMEQxRUE2MSAvKiBET01XZWJLaXROYW1lZEZs
b3cubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IDY2MDBmMzRhZTA2NWZmZTExOGMzZjI4ZjFiMGNl
MTU4YjMyYmY5NWMuLjE5Yzk1MWIwOTRiZDA4ZDc3ZjRmMTczYzI5YTMzYmViNWZhYzdhZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNw
cApAQCAtMTA2LDYgKzEwNiw3IEBACiAjaW5jbHVkZSAiSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5j
cHAiCiAjaW5jbHVkZSAiSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTTWVz
c2FnZVBvcnRDdXN0b20uY3BwIgorI2luY2x1ZGUgIkpTTW9kdWxlTG9hZGVyLmNwcCIKICNpbmNs
dWRlICJKU011dGF0aW9uQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25PYnNlcnZl
ckN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggODM1MDMz
MzEzZWZlMTUyZjFlMzlmNGMxNTFiYmRjMmYwYTFhZDdmYi4uYWU0NzczODgyYmU1NThiZDk3MzVi
YjVlNTY1YmI3YWI2OWE5YmU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9y
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0VGFzay5oIgogI2luY2x1
ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmgiCisjaW5jbHVkZSAiSlNNb2R1bGVMb2FkZXIuaCIKICNp
bmNsdWRlICJKU05vZGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgpAQCAtMzYsNiArMzcsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCisjaW5jbHVk
ZSA8cnVudGltZS9KU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmg+CiAjaW5jbHVkZSA8cnVudGlt
ZS9NaWNyb3Rhc2suaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCkBAIC01Niw3ICs1
OCw3IEBAIHN0YXRpYyBib29sIHNob3VsZEFsbG93QWNjZXNzRnJvbShjb25zdCBKU0dsb2JhbE9i
amVjdCogdGhpc09iamVjdCwgRXhlY1N0YXRlKiBlCiAKIGNvbnN0IENsYXNzSW5mbyBKU0RPTVdp
bmRvd0Jhc2U6OnNfaW5mbyA9IHsgIldpbmRvdyIsICZKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZv
LCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRE9NV2luZG93QmFzZSkgfTsKIAotY29uc3QgR2xv
YmFsT2JqZWN0TWV0aG9kVGFibGUgSlNET01XaW5kb3dCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhv
ZFRhYmxlID0geyAmc2hvdWxkQWxsb3dBY2Nlc3NGcm9tLCAmc3VwcG9ydHNQcm9maWxpbmcsICZz
dXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0LCAmamF2YVNjcmlw
dFJ1bnRpbWVGbGFncywgJnF1ZXVlVGFza1RvRXZlbnRMb29wLCAmc2hvdWxkSW50ZXJydXB0U2Ny
aXB0QmVmb3JlVGltZW91dCwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVs
bHB0ciB9OworY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNET01XaW5kb3dCYXNlOjpz
X2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlID0geyAmc2hvdWxkQWxsb3dBY2Nlc3NGcm9tLCAmc3Vw
cG9ydHNQcm9maWxpbmcsICZzdXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0
U2NyaXB0LCAmamF2YVNjcmlwdFJ1bnRpbWVGbGFncywgJnF1ZXVlVGFza1RvRXZlbnRMb29wLCAm
c2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGltZW91dCwgJm1vZHVsZUxvYWRlclJlc29sdmUs
ICZtb2R1bGVMb2FkZXJGZXRjaCwgbnVsbHB0ciwgbnVsbHB0ciwgJm1vZHVsZUxvYWRlckV2YWx1
YXRlIH07CiAKIEpTRE9NV2luZG93QmFzZTo6SlNET01XaW5kb3dCYXNlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV2luZG93PiB3aW5kb3csIEpTRE9NV2luZG93
U2hlbGwqIHNoZWxsKQogICAgIDogSlNET01HbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSwgJnNo
ZWxsLT53b3JsZCgpLCAmc19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKQEAgLTI3Niw0ICsyNzgs
MzEgQEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0Zv
cldpbmRvdyhET01XaW5kb3cqIHdpbmRvdykKICAgICB9CiB9CiAKKworSlNDOjpKU0ludGVybmFs
UHJvbWlzZSogSlNET01XaW5kb3dCYXNlOjptb2R1bGVMb2FkZXJSZXNvbHZlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVOYW1lLCBKU0M6OkpTVmFsdWUgcmVmZXJyZXIpCit7CisgICAgSlNET01XaW5kb3dC
YXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2Jq
ZWN0KTsKKyAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPmlt
cGwoKS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigp
LT5yZXNvbHZlKGdsb2JhbE9iamVjdCwgZXhlYywgbW9kdWxlTmFtZSwgcmVmZXJyZXIpOworICAg
IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZCogZGVmZXJyZWQgPSBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQ6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3QpOworICAgIHJldHVy
biBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIGpzVW5kZWZpbmVkKCkpOworfQorCitKU0M6OkpTSW50
ZXJuYWxQcm9taXNlKiBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckZldGNoKEpTQzo6SlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNW
YWx1ZSBtb2R1bGVLZXkpCit7CisgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlND
Ojpqc0Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoUmVmUHRy
PERvY3VtZW50PiBkb2N1bWVudCA9IHRoaXNPYmplY3QtPmltcGwoKS5kb2N1bWVudCgpKQorICAg
ICAgICByZXR1cm4gZG9jdW1lbnQtPm1vZHVsZUxvYWRlcigpLT5mZXRjaChnbG9iYWxPYmplY3Qs
IGV4ZWMsIG1vZHVsZUtleSk7CisgICAgSlNDOjpKU0ludGVybmFsUHJvbWlzZURlZmVycmVkKiBk
ZWZlcnJlZCA9IEpTQzo6SlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZDo6Y3JlYXRlKGV4ZWMsIGds
b2JhbE9iamVjdCk7CisgICAgcmV0dXJuIGRlZmVycmVkLT5yZWplY3QoZXhlYywganNVbmRlZmlu
ZWQoKSk7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0RPTVdpbmRvd0Jhc2U6Om1vZHVsZUxvYWRlckV2
YWx1YXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIEpTQzo6SlNWYWx1ZSBtb2R1bGVLZXksIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmQp
Cit7CisgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01X
aW5kb3dCYXNlKj4oZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoUmVmUHRyPERvY3VtZW50PiBkb2N1
bWVudCA9IHRoaXNPYmplY3QtPmltcGwoKS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gZG9j
dW1lbnQtPm1vZHVsZUxvYWRlcigpLT5ldmFsdWF0ZShnbG9iYWxPYmplY3QsIGV4ZWMsIG1vZHVs
ZUtleSwgbW9kdWxlUmVjb3JkKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5oCmluZGV4IDVlZDM4NjJjMTQxMTg3YzAwNmI2ODhkYjc5Nzc5NGIzNjk4
MTA1NjQuLjhmNGM1NjI4N2NkYzBlNmYxMGVkODU2NjM2YTMwZTU1MGIxNWEzMjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC03OCw2ICs3OCwx
MCBAQAogICAgICAgICBKU0M6OldhdGNocG9pbnRTZXQgbV93aW5kb3dDbG9zZVdhdGNocG9pbnRz
OwogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgc3RhdGljIEpTQzo6SlNJbnRlcm5hbFByb21pc2Uq
IG1vZHVsZUxvYWRlclJlc29sdmUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUpOworICAgICAgICBzdGF0aWMgSlNDOjpKU0lu
dGVybmFsUHJvbWlzZSogbW9kdWxlTG9hZGVyRmV0Y2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKTsKKyAgICAgICAgc3RhdGljIEpTQzo6SlNWYWx1
ZSBtb2R1bGVMb2FkZXJFdmFsdWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNWYWx1ZSk7CisKICAgICAgICAgUmVmUHRyPERPTVdp
bmRvdz4gbV9pbXBsOwogICAgICAgICBKU0RPTVdpbmRvd1NoZWxsKiBtX3NoZWxsOwogICAgIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01vZHVsZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01vZHVsZUxvYWRlci5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTQ1N2U3ZTFjNTgxOGExMTdmOGYyOGUwZjZiZmE1YjUzMzc4NGE4YQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTW9kdWxlTG9hZGVyLmNwcApA
QCAtMCwwICsxLDEyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJKU01vZHVsZUxvYWRlci5oIgorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTUJp
bmRpbmcuaCIKKyNpbmNsdWRlIDxydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQuaD4K
KyNpbmNsdWRlIDxydW50aW1lL0pTTW9kdWxlUmVjb3JkLmg+CisjaW5jbHVkZSA8cnVudGltZS9K
U1N0cmluZy5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvU3ltYm9sLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworSlNNb2R1bGVMb2FkZXI6OkpTTW9kdWxlTG9hZGVyKERvY3VtZW50JiBkb2N1bWVu
dCkKKyAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCit7Cit9CisKK0pTQzo6SlNJbnRlcm5hbFBy
b21pc2UqIEpTTW9kdWxlTG9hZGVyOjpyZXNvbHZlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSBtb2R1bGVOYW1lVmFs
dWUsIEpTQzo6SlNWYWx1ZSBpbXBvcnRlck1vZHVsZUtleSkKK3sKKyAgICBKU0M6OkpTSW50ZXJu
YWxQcm9taXNlRGVmZXJyZWQqIGRlZmVycmVkID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZURlZmVy
cmVkOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KTsKKworICAgIC8vIFdlIHVzZSBhIFN5bWJv
bCBhcyBhIHNwZWNpYWwgcHVycG9zZTsgSXQgbWVhbnMgdGhpcyBtb2R1bGUgaXMgYW4gaW5saW5l
IG1vZHVsZS4KKyAgICAvLyBTbyB0aGVyZSBpcyBubyBjb3JyZWN0IFVSTCB0byByZXRyaWV2ZSB0
aGUgbW9kdWxlIHNvdXJjZSBjb2RlLiBJZiB0aGUgbW9kdWxlIG5hbWUKKyAgICAvLyB2YWx1ZSBp
cyBhIFN5bWJvbCwgaXQgaXMgdXNlZCBkaXJlY3RseSBhcyBhIG1vZHVsZSBrZXkuCisgICAgLy8K
KyAgICAvLyBGSVhNRTogVXNpbmcgc3ltYm9scyBmb3IgYW4gaW5saW5lIG1vZHVsZSBpcyBhIGN1
cnJlbnQgaW1wbGVtZW50YXRpb24gZGV0YWlscyBvZiBXZWJLaXQuCisgICAgLy8gT25jZSB0aGUg
c3BlYyBvZiB0aGlzIHBhcnQgaXMgc3BlY2lmaWVkLCB3ZSB3aWxsIHJlY2FzdCB0aGVzZSBwYXJ0
LgorICAgIGlmIChtb2R1bGVOYW1lVmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgcmV0dXJuIGRl
ZmVycmVkLT5yZXNvbHZlKGV4ZWMsIG1vZHVsZU5hbWVWYWx1ZSk7CisKKyAgICBpZiAoIW1vZHVs
ZU5hbWVWYWx1ZS5pc1N0cmluZygpKQorICAgICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChl
eGVjLCBKU0M6OmNyZWF0ZVR5cGVFcnJvcihleGVjLCAiTW9kdWxlIG5hbWUgaXMgbm90IFN5bWJv
bCBvciBTdHJpbmcuIikpOworCisgICAgU3RyaW5nIG1vZHVsZU5hbWUgPSBhc1N0cmluZyhtb2R1
bGVOYW1lVmFsdWUpLT52YWx1ZShleGVjKTsKKworICAgIC8vIE5vdywgd2UgY29uc2lkZXIgdGhl
IGdpdmVuIG1vZHVsZU5hbWUgYXMgdGhlIHNhbWUgdG8gdGhlIGBpbXBvcnQgIi4uLiJgIGluIHRo
ZSBtb2R1bGUgY29kZS4KKyAgICAvLyBXZSB1c2UgdGhlIGNvbXBsZXRlZCBVUkwgYXMgdGhlIHVu
aXF1ZSBtb2R1bGUga2V5LgorICAgIFVSTCBjb21wbGV0ZWRVcmw7CisKKyAgICBpZiAoaW1wb3J0
ZXJNb2R1bGVLZXkuaXNTeW1ib2woKSkKKyAgICAgICAgY29tcGxldGVkVXJsID0gbV9kb2N1bWVu
dC5jb21wbGV0ZVVSTChtb2R1bGVOYW1lKTsKKyAgICBlbHNlIGlmIChpbXBvcnRlck1vZHVsZUtl
eS5pc1VuZGVmaW5lZCgpKQorICAgICAgICBjb21wbGV0ZWRVcmwgPSBtX2RvY3VtZW50LmNvbXBs
ZXRlVVJMKG1vZHVsZU5hbWUpOworICAgIGVsc2UgaWYgKGltcG9ydGVyTW9kdWxlS2V5LmlzU3Ry
aW5nKCkpIHsKKyAgICAgICAgVVJMIGltcG9ydGVyTW9kdWxlVXJsKFVSTCgpLCBhc1N0cmluZyhp
bXBvcnRlck1vZHVsZUtleSktPnZhbHVlKGV4ZWMpKTsKKyAgICAgICAgaWYgKCFpbXBvcnRlck1v
ZHVsZVVybC5pc1ZhbGlkKCkpCisgICAgICAgICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChl
eGVjLCBKU0M6OmNyZWF0ZVR5cGVFcnJvcihleGVjLCAiSW1wb3J0ZXIgbW9kdWxlIGtleSBpcyBh
biBpbnZhbGlkIFVSTC4iKSk7CisgICAgICAgIGNvbXBsZXRlZFVybCA9IG1fZG9jdW1lbnQuY29t
cGxldGVVUkwobW9kdWxlTmFtZSwgaW1wb3J0ZXJNb2R1bGVVcmwpOworICAgIH0gZWxzZQorICAg
ICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0ZVR5cGVFcnJvcihl
eGVjLCAiSW1wb3J0ZXIgbW9kdWxlIGtleSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7CisK
KyAgICBpZiAoIWNvbXBsZXRlZFVybC5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBkZWZlcnJl
ZC0+cmVqZWN0KGV4ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJNb2R1bGUgbmFtZSBj
b25zdHJ1Y3RzIGFuIGludmFsaWQgVVJMLiIpKTsKKworICAgIHJldHVybiBkZWZlcnJlZC0+cmVz
b2x2ZShleGVjLCBqc1N0cmluZyhleGVjLCBjb21wbGV0ZWRVcmwuc3RyaW5nKCkpKTsKK30KKwor
SlNDOjpKU0ludGVybmFsUHJvbWlzZSogSlNNb2R1bGVMb2FkZXI6OmZldGNoKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1
ZSBtb2R1bGVLZXlWYWx1ZSkKK3sKKyAgICBKU0M6OkpTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQq
IGRlZmVycmVkID0gSlNDOjpKU0ludGVybmFsUHJvbWlzZURlZmVycmVkOjpjcmVhdGUoZXhlYywg
Z2xvYmFsT2JqZWN0KTsKKworICAgIGlmIChtb2R1bGVLZXlWYWx1ZS5pc1N5bWJvbCgpKQorICAg
ICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0ZVR5cGVFcnJvcihl
eGVjLCAiU3ltYm9sIG1vZHVsZSBrZXkgc2hvdWxkIGJlIGFscmVhZHkgZnVsZmlsbGVkIHdpdGgg
dGhlIGlubGluZWQgcmVzb3VyY2UuIikpOworCisgICAgaWYgKCFtb2R1bGVLZXlWYWx1ZS5pc1N0
cmluZygpKQorICAgICAgICByZXR1cm4gZGVmZXJyZWQtPnJlamVjdChleGVjLCBKU0M6OmNyZWF0
ZVR5cGVFcnJvcihleGVjLCAiTW9kdWxlIGtleSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7
CisKKyAgICBVUkwgY29tcGxldGVkVXJsKFVSTCgpLCBhc1N0cmluZyhtb2R1bGVLZXlWYWx1ZSkt
PnZhbHVlKGV4ZWMpKTsKKyAgICBpZiAoIWNvbXBsZXRlZFVybC5pc1ZhbGlkKCkpCisgICAgICAg
IHJldHVybiBkZWZlcnJlZC0+cmVqZWN0KGV4ZWMsIEpTQzo6Y3JlYXRlVHlwZUVycm9yKGV4ZWMs
ICJNb2R1bGUga2V5IGlzIGFuIGludmFsaWQgVVJMLiIpKTsKKworICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgdGhlIG1vZHVsZSBmZXRjaGVyLgorCisgICAgcmV0dXJuIGRlZmVycmVkLT5wcm9taXNl
KCk7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU01vZHVsZUxvYWRlcjo6ZXZhbHVhdGUoSlNDOjpKU0ds
b2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5
VmFsdWUsIEpTQzo6SlNWYWx1ZSBtb2R1bGVSZWNvcmRWYWx1ZSkKK3sKKyAgICAvLyBGSVhNRTog
Q3VycmVudGx5LCB3ZSBvbmx5IHN1cHBvcnQgSlNNb2R1bGVSZWNvcmQuCisgICAgLy8gT25jZSB0
aGUgcmVmbGVjdGl2ZSBwYXJ0IG9mIHRoZSBtb2R1bGUgbG9hZGVyIGlzIHN1cHBvcnRlZCwgd2Ug
d2lsbCBoYW5kbGUgYXJiaXRyYXJ5IHZhbHVlcy4KKyAgICAvLyBodHRwczovL3doYXR3Zy5naXRo
dWIuaW8vbG9hZGVyLyNyZWdpc3RyeS1wcm90b3R5cGUtcHJvdmlkZQorICAgIEpTQzo6SlNNb2R1
bGVSZWNvcmQqIG1vZHVsZVJlY29yZCA9IEpTQzo6anNEeW5hbWljQ2FzdDxKU0M6OkpTTW9kdWxl
UmVjb3JkKj4obW9kdWxlUmVjb3JkVmFsdWUpOworICAgIGlmICghbW9kdWxlUmVjb3JkKQorICAg
ICAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworCisgICAgVVJMIHNvdXJjZVVybDsKKyAg
ICBpZiAobW9kdWxlS2V5VmFsdWUuaXNTeW1ib2woKSkKKyAgICAgICAgc291cmNlVXJsID0gbV9k
b2N1bWVudC51cmwoKTsKKyAgICBlbHNlIGlmIChtb2R1bGVLZXlWYWx1ZS5pc1N0cmluZygpKQor
ICAgICAgICBzb3VyY2VVcmwgPSBVUkwoVVJMKCksIGFzU3RyaW5nKG1vZHVsZUtleVZhbHVlKS0+
dmFsdWUoZXhlYykpOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIEpTQzo6dGhyb3dUeXBlRXJy
b3IoZXhlYywgIk1vZHVsZSBrZXkgaXMgbm90IFN5bWJvbCBvciBTdHJpbmcuIik7CisKKyAgICBp
ZiAoIXNvdXJjZVVybC5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBKU0M6OnRocm93VHlwZUVy
cm9yKGV4ZWMsICJNb2R1bGUga2V5IGlzIGFuIGludmFsaWQgVVJMLiIpOworCisgICAgLy8gRklY
TUU6IEltcGxlbWVudCBldmFsdWF0aW5nIG1vZHVsZSBjb2RlLgorCisgICAgcmV0dXJuIEpTQzo6
anNVbmRlZmluZWQoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNNb2R1bGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTW9k
dWxlTG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjkxZjdhMWFlMWJkNGVmZDgzZGVhOTY1ODkxMjU2ZWVl
NTk3YmVjMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
TW9kdWxlTG9hZGVyLmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSlNN
b2R1bGVMb2FkZXJfaAorI2RlZmluZSBKU01vZHVsZUxvYWRlcl9oCisKKyNpbmNsdWRlIDxydW50
aW1lL0pTQ0pTVmFsdWUuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNw
YWNlIEpTQyB7CitjbGFzcyBFeGVjU3RhdGU7CitjbGFzcyBKU0dsb2JhbE9iamVjdDsKK2NsYXNz
IEpTSW50ZXJuYWxQcm9taXNlOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERv
Y3VtZW50OworCitjbGFzcyBKU01vZHVsZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSlNNb2R1bGVMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAg
ICBleHBsaWNpdCBKU01vZHVsZUxvYWRlcihEb2N1bWVudCYpOworCisgICAgRG9jdW1lbnQmIGRv
Y3VtZW50KCkgeyByZXR1cm4gbV9kb2N1bWVudDsgfQorCisgICAgSlNDOjpKU0ludGVybmFsUHJv
bWlzZSogcmVzb2x2ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6
OkpTVmFsdWUgbW9kdWxlTmFtZSwgSlNDOjpKU1ZhbHVlIHJlZmVycmVyKTsKKyAgICBKU0M6OkpT
SW50ZXJuYWxQcm9taXNlKiBmZXRjaChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTVmFsdWUgbW9kdWxlS2V5KTsKKyAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGUo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlIG1vZHVs
ZUtleSwgSlNDOjpKU1ZhbHVlIG1vZHVsZVJlY29yZCk7CisKK3ByaXZhdGU6CisgICAgRG9jdW1l
bnQmIG1fZG9jdW1lbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBKU01vZHVsZUxvYWRlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAxZTFkYTk5ZTZl
NTJiMzY2NjYwYjk0YTlkZTU3NzcyMDAzNjI0ZmE0Li4xZmQ4NzNlYTkwNmQ5MzAxYTQwMTI2MmFh
ZjVlYjNlYmZlNWRkYmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTk2LDYgKzk2LDcg
QEAKICNpbmNsdWRlICJJbWFnZUxvYWRlci5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oIgogI2luY2x1ZGUgIkpTTGF6eUV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJK
U01vZHVsZUxvYWRlci5oIgogI2luY2x1ZGUgIkxhbmd1YWdlLmgiCiAjaW5jbHVkZSAiTG9hZGVy
U3RyYXRlZ3kuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC00NjQsNiArNDY1LDcgQEAgYm9v
bCBUZXh0QXV0b1NpemluZ1RyYWl0czo6aXNEZWxldGVkVmFsdWUoY29uc3QgVGV4dEF1dG9TaXpp
bmdLZXkmIHZhbHVlKQogICAgICwgbV9zdGFydFRpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6bm93KCkpCiAgICAgLCBtX292ZXJNaW5pbXVtTGF5b3V0VGhyZXNob2xkKGZhbHNlKQogICAg
ICwgbV9zY3JpcHRSdW5uZXIoc3RkOjptYWtlX3VuaXF1ZTxTY3JpcHRSdW5uZXI+KCp0aGlzKSkK
KyAgICAsIG1fbW9kdWxlTG9hZGVyKHN0ZDo6bWFrZV91bmlxdWU8SlNNb2R1bGVMb2FkZXI+KCp0
aGlzKSkKICAgICAsIG1feG1sVmVyc2lvbihBU0NJSUxpdGVyYWwoIjEuMCIpKQogICAgICwgbV94
bWxTdGFuZGFsb25lKFN0YW5kYWxvbmVVbnNwZWNpZmllZCkKICAgICAsIG1faGFzWE1MRGVjbGFy
YXRpb24oZmFsc2UpCkBAIC02MDUsNiArNjA3LDcgQEAgc3RhdGljIGJvb2wgaXNBdHRyaWJ1dGVP
bkFsbE93bmVycyhjb25zdCBXZWJDb3JlOjpRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGUsIGNvbnMK
ICAgICAgICAgbV9kb21XaW5kb3ctPnJlc2V0VW5sZXNzU3VzcGVuZGVkRm9yUGFnZUNhY2hlKCk7
CiAKICAgICBtX3NjcmlwdFJ1bm5lciA9IG51bGxwdHI7CisgICAgbV9tb2R1bGVMb2FkZXIgPSBu
dWxscHRyOwogCiAgICAgcmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAppbmRleCBmOTE4MDg5ZjIzYjJmYjNhMThkZmJkMjFmNWY3MDM5ODA1MDc1YmE3Li5iMzA4
YWUyMTdiMmQ2OWJjNjU3MTExYjA0YTI1NzY2YWZmN2ExNWJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aApAQCAtMTIyLDYgKzEyMiw3IEBACiBjbGFzcyBMYXlvdXRQb2ludDsKIGNsYXNzIExheW91dFJl
Y3Q7CiBjbGFzcyBMaXZlTm9kZUxpc3Q7CitjbGFzcyBKU01vZHVsZUxvYWRlcjsKIGNsYXNzIEpT
Tm9kZTsKIGNsYXNzIExvY2FsZTsKIGNsYXNzIExvY2F0aW9uOwpAQCAtOTM0LDYgKzkzNSw3IEBA
IGNsYXNzIERvY3VtZW50IDogcHVibGljIENvbnRhaW5lck5vZGUsIHB1YmxpYyBUcmVlU2NvcGUs
IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25DCiAgICAgRG9jdW1lbnQmIHRvcERvY3VtZW50KCkgY29u
c3Q7CiAgICAgCiAgICAgU2NyaXB0UnVubmVyKiBzY3JpcHRSdW5uZXIoKSB7IHJldHVybiBtX3Nj
cmlwdFJ1bm5lci5nZXQoKTsgfQorICAgIEpTTW9kdWxlTG9hZGVyKiBtb2R1bGVMb2FkZXIoKSB7
IHJldHVybiBtX21vZHVsZUxvYWRlci5nZXQoKTsgfQogCiAgICAgSFRNTFNjcmlwdEVsZW1lbnQq
IGN1cnJlbnRTY3JpcHQoKSBjb25zdCB7IHJldHVybiAhbV9jdXJyZW50U2NyaXB0U3RhY2suaXNF
bXB0eSgpID8gbV9jdXJyZW50U2NyaXB0U3RhY2subGFzdCgpLmdldCgpIDogMDsgfQogICAgIHZv
aWQgcHVzaEN1cnJlbnRTY3JpcHQoUGFzc1JlZlB0cjxIVE1MU2NyaXB0RWxlbWVudD4pOwpAQCAt
MTUxOCw2ICsxNTIwLDcgQEAgY2xhc3MgRG9jdW1lbnQgOiBwdWJsaWMgQ29udGFpbmVyTm9kZSwg
cHVibGljIFRyZWVTY29wZSwgcHVibGljIFNjcmlwdEV4ZWN1dGlvbkMKICAgICBib29sIG1fb3Zl
ck1pbmltdW1MYXlvdXRUaHJlc2hvbGQ7CiAgICAgCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjcmlw
dFJ1bm5lcj4gbV9zY3JpcHRSdW5uZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPEpTTW9kdWxlTG9h
ZGVyPiBtX21vZHVsZUxvYWRlcjsKIAogICAgIFZlY3RvcjxSZWZQdHI8SFRNTFNjcmlwdEVsZW1l
bnQ+PiBtX2N1cnJlbnRTY3JpcHRTdGFjazsKIAo=
</data>
<flag name="review"
          id="287170"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>