<?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>149518</bug_id>
          
          <creation_ts>2015-09-24 01:52:21 -0700</creation_ts>
          <short_desc>[Streams API] Add support for private WebCore JS builtins functions</short_desc>
          <delta_ts>2015-11-14 01:22:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>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>147092</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1128452</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-24 01:52:21 -0700</bug_when>
    <thetext>Private JS builtin functions are needed for ReadableStream JS builtin implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128456</commentid>
    <comment_count>1</comment_count>
      <attachid>261864</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-24 02:36:40 -0700</bug_when>
    <thetext>Created attachment 261864
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128457</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-24 02:39:29 -0700</bug_when>
    <thetext>Attachment 261864 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSDOMWindowBase.cpp:91:  Missing space after ,  [whitespace/comma] [3]
Total errors found: 1 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128698</commentid>
    <comment_count>3</comment_count>
      <attachid>261864</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-25 06:43:43 -0700</bug_when>
    <thetext>Comment on attachment 261864
Patch

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

&gt; Source/JavaScriptCore/builtins/BuiltinNames.h:115
&gt; +    m_privateToPublicMap.add(privateName.impl(), &amp;publicName);

Might be good to add an ASSERT above to ensure name collision does not happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128979</commentid>
    <comment_count>4</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-09-28 02:10:46 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Might be good to add an ASSERT above to ensure name collision does not
&gt; happen.

Yep, definitely needed. Actually I remember trying to figure out a crash because of a collision so it is very needed.

The rest of the shallow review looks good. Only one comment you knew I was going to make, that is why don&apos;t you separate into the generation and the actual tee skeleton.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128985</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-28 02:22:38 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Might be good to add an ASSERT above to ensure name collision does not
&gt; &gt; happen.
&gt; 
&gt; Yep, definitely needed. Actually I remember trying to figure out a crash
&gt; because of a collision so it is very needed.
&gt; 
&gt; The rest of the shallow review looks good. Only one comment you knew I was
&gt; going to make, that is why don&apos;t you separate into the generation and the
&gt; actual tee skeleton.

Thanks.
As of tee skeleton, you are right, I could have split it.
It feels a bit safer to validate everything works fine on all bots at the time the binding generator is updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129567</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-09-30 06:51:46 -0700</bug_when>
    <thetext>Ping review, this is the last patch messing with JSC before being able to do pure JS Builtins DOM classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129586</commentid>
    <comment_count>7</comment_count>
      <attachid>261864</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-09-30 08:45:51 -0700</bug_when>
    <thetext>Comment on attachment 261864
Patch

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

&gt; Source/JavaScriptCore/runtime/CommonIdentifiers.cpp:86
&gt; +}
&gt; +
&gt;  

Extra blank line here.

&gt; Source/JavaScriptCore/runtime/CommonIdentifiers.h:362
&gt; +        JS_EXPORT_PRIVATE void appendExternalName(const Identifier&amp; publicName, const Identifier&amp; privateName);

This API is a bit dangerous and difficult to use correctly. These maps hold pointers to Identifier objects. That means the Identifier itself has to survive, not just the reference counted object the Identifier holds. That might not be clear to the caller. Probably even needs a comment.

&gt; Source/WebCore/bindings/js/JSDOMWindowBase.h:88
&gt; +#if ENABLE(STREAMS_API)
&gt; +        ReadableStreamInternalsBuiltinFunctions m_readableStreamFunctions;
&gt; +#endif

Does this really need to be done like this? It’s not good that we’re going to need to add one of these every time we add another class that uses built-ins. Can we minimize the number of separate places that we have to list ReadableStream explicitly? Instead we could simply have something that is for all built-in functions from all enabled WebCore features and have the #if be done as part of the table generation code instead of at each call site.

I count 10 different places that each had to list this explicitly. That’s not good for the future.

If JSDOMWindowBase and WebCoreJSClientData are going to need to include all of them, then what’s the value of generating each class’s list of names in a separate file?

&gt; Source/WebCore/generate-js-builtins:140
&gt; +class ${Filename}BuiltinFunctions
&gt; +{

We’d normally put the brace on the line before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129859</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-01 00:21:23 -0700</bug_when>
    <thetext>Thanks for the review!

(In reply to comment #7)
&gt; Comment on attachment 261864 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=261864&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/CommonIdentifiers.cpp:86
&gt; &gt; +}
&gt; &gt; +
&gt; &gt;  
&gt; 
&gt; Extra blank line here.

OK

&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/CommonIdentifiers.h:362
&gt; &gt; +        JS_EXPORT_PRIVATE void appendExternalName(const Identifier&amp; publicName, const Identifier&amp; privateName);
&gt; 
&gt; This API is a bit dangerous and difficult to use correctly. These maps hold
&gt; pointers to Identifier objects. That means the Identifier itself has to
&gt; survive, not just the reference counted object the Identifier holds. That
&gt; might not be clear to the caller. Probably even needs a comment.

Agreed.
I will add a comment.

&gt; &gt; Source/WebCore/bindings/js/JSDOMWindowBase.h:88
&gt; &gt; +#if ENABLE(STREAMS_API)
&gt; &gt; +        ReadableStreamInternalsBuiltinFunctions m_readableStreamFunctions;
&gt; &gt; +#endif
&gt; 
&gt; Does this really need to be done like this? It’s not good that we’re going
&gt; to need to add one of these every time we add another class that uses
&gt; built-ins. Can we minimize the number of separate places that we have to
&gt; list ReadableStream explicitly? Instead we could simply have something that
&gt; is for all built-in functions from all enabled WebCore features and have the
&gt; #if be done as part of the table generation code instead of at each call
&gt; site.
&gt; I count 10 different places that each had to list this explicitly. That’s
&gt; not good for the future.
&gt; 
&gt; If JSDOMWindowBase and WebCoreJSClientData are going to need to include all
&gt; of them, then what’s the value of generating each class’s list of names in a
&gt; separate file?

There are two parameters that need to be handled:
- whether a given js file should be #if ENABLE(...)
- whether a given js file contains functions mapped to WebIDL (owned by JSXXPrototype) or internal functions (owned by the global object).

The first one might be handled by the js generator by including this information as a comment in the js file.
For the second, the same could be done. Or this could be done as part of the build system. Or it could be done by hand since this might happen less often.
Let&apos;s do that after ReadableStream is shipped as a refactoring step.

&gt; 
&gt; &gt; Source/WebCore/generate-js-builtins:140
&gt; &gt; +class ${Filename}BuiltinFunctions
&gt; &gt; +{
&gt; 
&gt; We’d normally put the brace on the line before.

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129863</commentid>
    <comment_count>9</comment_count>
      <attachid>262239</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-01 00:37:16 -0700</bug_when>
    <thetext>Created attachment 262239
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129866</commentid>
    <comment_count>10</comment_count>
      <attachid>262239</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-01 00:40:30 -0700</bug_when>
    <thetext>Comment on attachment 262239
Patch for landing

Rejecting attachment 262239 from commit-queue.

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

Last 500 characters of output:
ore/generate-js-builtins
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/streams/reference-implementation/readable-stream-expected.txt
patching file LayoutTests/streams/reference-implementation/readable-stream-tee-expected.txt
patching file LayoutTests/streams/reference-implementation/readable-stream-templated-expected.txt

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

Full output: http://webkit-queues.webkit.org/results/231568</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129871</commentid>
    <comment_count>11</comment_count>
      <attachid>262240</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-01 00:45:11 -0700</bug_when>
    <thetext>Created attachment 262240
Rebasing for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129872</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-01 00:48:14 -0700</bug_when>
    <thetext>Attachment 262240 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSDOMWindowBase.cpp:93:  Missing space after ,  [whitespace/comma] [3]
Total errors found: 1 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129896</commentid>
    <comment_count>13</comment_count>
      <attachid>262246</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-01 04:36:06 -0700</bug_when>
    <thetext>Created attachment 262246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129903</commentid>
    <comment_count>14</comment_count>
      <attachid>262246</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-01 05:31:09 -0700</bug_when>
    <thetext>Comment on attachment 262246
Patch

Clearing flags on attachment: 262246

Committed r190401: &lt;http://trac.webkit.org/changeset/190401&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129904</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-01 05:31:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130247</commentid>
    <comment_count>16</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-02 09:26:04 -0700</bug_when>
    <thetext>&gt; I count 10 different places that each had to list this explicitly. That’s
&gt; not good for the future.
&gt; 
&gt; If JSDOMWindowBase and WebCoreJSClientData are going to need to include all
&gt; of them, then what’s the value of generating each class’s list of names in a
&gt; separate file?

Filed bug 149751 to keep track of it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261864</attachid>
            <date>2015-09-24 02:36:40 -0700</date>
            <delta_ts>2015-10-01 00:37:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149518-20150924063620.patch</filename>
            <type>text/plain</type>
            <size>36963</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
Yzg1Y2UwMzBkYTExNzFjNDY3Zjg3YmYxMzJkNGQ1MGUzYTExNTBkLi5kZGIyNTY4OWYyOTE0Mjg2
MjRkOWIzMzQwZTA4ZmIwMWRjYzI5OWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNS0wOS0yNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3Jm
LmNhbm9uLmZyPgorCisgICAgICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIHByaXZh
dGUgV2ViQ29yZSBKUyBidWlsdGlucyBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTUxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGluZyBBUEkgdG8gYWRkIHByaXZhdGUgaWRlbnRp
ZmllcnMgb24gdGhlIGZseS4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHRvIHN1cHBvcnQgcHJpdmF0
ZSBKUyBCdWlsdGluIGZ1bmN0aW9ucy9wcml2YXRlIEpTIEJ1aWx0aW4gbmFtZXMgaW4gV2ViQ29y
ZS4KKworICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAoSlNDOjpC
dWlsdGluTmFtZXM6OmFwcGVuZEV4dGVybmFsTmFtZSk6CisgICAgICAgICogcnVudGltZS9Db21t
b25JZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkNvbW1vbklkZW50aWZpZXJzOjphcHBl
bmRFeHRlcm5hbE5hbWUpOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoK
KwogMjAxNS0wOS0yMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZy
PgogCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIEpTIGJ1aWx0aW5zIGNv
bnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQxZTEyNzMxMDBjYWRjNzczMGUxYjkxOTg2YmM4NWQ1
MjkxZDVmMy4uZWRhMzA2MmQ2ZTQxMzVkOTZmOTkyMzgwZjk2M2FhMjBmMjFmMWFmNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE1LTA5LTI0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
LmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW1N0cmVhbXMgQVBJXSBBZGQgc3VwcG9y
dCBmb3IgcHJpdmF0ZSBXZWJDb3JlIEpTIGJ1aWx0aW5zIGZ1bmN0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NTE4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNpbmcgUmVhZGFibGVTdHJlYW0g
dGVlIG1ldGhvZCBhcyBhIHRlc3RiZWQgdG8gYWRkIHN1cHBvcnQgZm9yIHByaXZhdGUgV2ViQ29y
ZSBKUyBidWlsdGlucyBmdW5jdGlvbnMuCisgICAgICAgIFByaXZhdGUgZnVuY3Rpb25zIGFyZSBo
b29rZWQgdG8gSlNET01XaW5kb3dCYXNlLCBhcyBpdCBpcyB0aGUgb25lIGNvbm5lY3RlZCB0byBX
ZWJDb3JlQ2xpZW50RGF0YS4KKyAgICAgICAgV2ViQ29yZUNsaWVudERhdGEgaXMgcmVzcG9uc2li
bGUgdG8gZXhwb3J0IHRoZSBwcml2YXRlIGZ1bmN0aW9uIHN5bWJvbHMgdG8gdGhlIFZNLgorCisg
ICAgICAgIFVwZGF0ZWQgZ2VuZXJhdGUtanMtYnVpbHRpbnMgc2NyaXB0IHRvIGdlbmVyYXRlIGEg
Y2xhc3MgdGhhdCBjYW4gY3JlYXRlIGFuZCBvd24gYWxsIEpTIGZ1bmN0aW9ucy4KKyAgICAgICAg
VGhpcyBjbGFzcyBpcyB1c2VkIGJ5IEpTRE9NV2luZG93QmFzZSB0byBjcmVhdGUgdGhlIEpTIGJ1
aWx0aW4gZnVuY3Rpb25zLgorICAgICAgICBJdCBpcyBhbHNvIHVzZWQgdG8gbWFuYWdlIHRoZSBH
QyBvZiB0aGVzZSBvYmplY3RzLgorCisgICAgICAgIENvdmVyZWQgYnkgcmViYXNlZCB0ZXN0cy4K
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRpbmcgUmVhZGFibGVTdHJlYW1JbnRlcm5h
bHMgYnVpbHRpbiBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6IERpdHRvLgor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRvLgorICAgICAgICAqIE1vZHVsZXMv
c3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5pZGw6IEFkZGluZyB0ZWUgZGVjbGFyYXRpb24gYXMgYnVp
bHRpbgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qczoKKyAgICAg
ICAgKHRlZSk6IENhbGxpbmcgQHRlZVJlYWRhYmxlU3RyZWFtCisgICAgICAgICogTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzOiBCYXJlYm9uZSBAdGVlUmVhZGFibGVT
dHJlYW0gaW1wbGVtZW50YXRpb24uCisgICAgICAgICh0ZWVSZWFkYWJsZVN0cmVhbSk6CisgICAg
ICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajogQWRkaW5nIFJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzIGJ1aWx0aW4gZmlsZXMuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBBZGRpbmcgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMgYnVpbHRpbiBm
aWxlcy4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpKU0RPTVdpbmRvd0Jhc2UpOiBDcmVhdGluZyBS
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5GdW5jdGlvbnMgb2JqZWN0LgorICAgICAgICAo
V2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpmaW5pc2hDcmVhdGlvbik6IENyZWF0aW5nIGJ1aWx0
aW4gZnVuY3Rpb25zIHRocm91Z2ggUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVuY3Rp
b25zIGFuZCByZWdpc3RlcmluZyB0aGVtIHRvIHRoZSBKUyBlbmdpbmUuCisgICAgICAgIChXZWJD
b3JlOjpKU0RPTVdpbmRvd0Jhc2U6OnZpc2l0Q2hpbGRyZW4pOiBFbnN1cmluZyBHQyBkb2VzIG5v
dCBjb2xsZWN0IHByaXZhdGUgYnVpbHRpbiBmdW5jdGlvbnMgdGhyb3VnaCBSZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5GdW5jdGlvbnMgb2JqZWN0CisgICAgICAgICogYmluZGluZ3MvanMv
SlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50
RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUpTQ2xpZW50RGF0YTo6V2ViQ29yZUpT
Q2xpZW50RGF0YSk6IEV4cG9ydGluZyBwcml2YXRlIG5hbWVzIG9mIFJlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnMKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OnJl
YWRhYmxlU3RyZWFtQnVpbHRpbnMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUpTQ2xpZW50
RGF0YTo6cmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucyk6CisgICAgICAgICogZ2VuZXJh
dGUtanMtYnVpbHRpbnM6IEFkZGluZyBzdXBwb3J0IGZvciBSZWFkYWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5GdW5jdGlvbnMgYW5kIGV4cG9ydE5hbWVzLgorCiAyMDE1LTA5LTIzICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgW1N0cmVhbXMg
QVBJXSBBZGQgc3VwcG9ydCBmb3IgSlMgYnVpbHRpbnMgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAppbmRleCBiZjI4ZGI4M2Y3YmJi
YTJlNmYwYmFiOTc1YjZlOWY0ZDRhMzc4ODllLi5mMmQzZmNlOWI0ZDFlZjdmNGYzODMxZTM4NjQ2
ODQwY2Q4MGM1Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
QnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0
aW5OYW1lcy5oCkBAIC01OSw2ICs1OSw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBJZGVudGlmaWVy
KiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7CiAgICAgY29uc3Qg
SWRlbnRpZmllciYgbG9va1VwUHVibGljTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7CiAg
ICAgCisgICAgdm9pZCBhcHBlbmRFeHRlcm5hbE5hbWUoY29uc3QgSWRlbnRpZmllciYgcHVibGlj
TmFtZSwgY29uc3QgSWRlbnRpZmllciYgcHJpdmF0ZU5hbWUpOworCiAgICAgSlNDX0ZPUkVBQ0hf
QlVJTFRJTl9GVU5DVElPTl9OQU1FKERFQ0xBUkVfQlVJTFRJTl9JREVOVElGSUVSX0FDQ0VTU09S
KQogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUo
REVDTEFSRV9CVUlMVElOX0lERU5USUZJRVJfQUNDRVNTT1IpCiAgICAgSlNDX0NPTU1PTl9QUklW
QVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZ
TUJPTF9BQ0NFU1NPUikKQEAgLTEwOCw2ICsxMTAsMTEgQEAgaW5saW5lIGNvbnN0IElkZW50aWZp
ZXImIEJ1aWx0aW5OYW1lczo6bG9va1VwUHVibGljTmFtZShjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCkKICAgICByZXR1cm4gbV9lbXB0eUlkZW50aWZpZXI7CiB9CiAKK2lubGluZSB2b2lkIEJ1aWx0
aW5OYW1lczo6YXBwZW5kRXh0ZXJuYWxOYW1lKGNvbnN0IElkZW50aWZpZXImIHB1YmxpY05hbWUs
IGNvbnN0IElkZW50aWZpZXImIHByaXZhdGVOYW1lKQoreworICAgIG1fcHJpdmF0ZVRvUHVibGlj
TWFwLmFkZChwcml2YXRlTmFtZS5pbXBsKCksICZwdWJsaWNOYW1lKTsKKyAgICBtX3B1YmxpY1Rv
UHJpdmF0ZU1hcC5hZGQocHVibGljTmFtZS5pbXBsKCksICZwcml2YXRlTmFtZSk7Cit9CiAKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRp
ZmllcnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuY3BwCmluZGV4IGFhMzkyY2ViOGQxYTA2NWE5MjUyYWE3NzQ0ZGFiOGQ5YjE2MDU0ZTkuLmFk
Yzc1NWU4YjQwZTc1ODU2NWM3MGZmNzg1ZGUyZDAxNmY2NTQxMjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5jcHAKQEAgLTc4LDUg
Kzc4LDEwIEBAIElkZW50aWZpZXIgQ29tbW9uSWRlbnRpZmllcnM6Omxvb2tVcFB1YmxpY05hbWUo
Y29uc3QgSWRlbnRpZmllciYgaWRlbnQpIGNvbnN0CiAgICAgcmV0dXJuIG1fYnVpbHRpbk5hbWVz
LT5sb29rVXBQdWJsaWNOYW1lKGlkZW50KTsKIH0KIAordm9pZCBDb21tb25JZGVudGlmaWVyczo6
YXBwZW5kRXh0ZXJuYWxOYW1lKGNvbnN0IElkZW50aWZpZXImIHB1YmxpY05hbWUsIGNvbnN0IElk
ZW50aWZpZXImIHByaXZhdGVOYW1lKQoreworICAgIG1fYnVpbHRpbk5hbWVzLT5hcHBlbmRFeHRl
cm5hbE5hbWUocHVibGljTmFtZSwgcHJpdmF0ZU5hbWUpOworfQorCiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZp
ZXJzLmgKaW5kZXggYzUxYjQ2ZDcxNmEyNTk5N2ExNzMxNjgzYmZmNzhjYTM0MWM0MWZjNC4uZjIx
MjRlZjBmYTU5MDUwOTJiOTQyNGFlZGIxMjdmZGQ2YTg4YmIzMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0zNTksNiArMzU5
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgY29uc3QgQnl0ZWNvZGVJbnRyaW5zaWNS
ZWdpc3RyeSYgYnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeSgpIGNvbnN0IHsgcmV0dXJuIG1fYnl0
ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeTsgfQogCisgICAgICAgIEpTX0VYUE9SVF9QUklWQVRFIHZv
aWQgYXBwZW5kRXh0ZXJuYWxOYW1lKGNvbnN0IElkZW50aWZpZXImIHB1YmxpY05hbWUsIGNvbnN0
IElkZW50aWZpZXImIHByaXZhdGVOYW1lKTsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIEJ5dGVj
b2RlSW50cmluc2ljUmVnaXN0cnkgbV9ieXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5OwogICAgIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDNmMGViYTZiY2Q3N2YyZWQwNjk1NTM5Zjc4ZTExMzMx
MWZlOTg4OGQuLmJjMjgxZmFhY2FiZTFmOTMyMjNjOGU0ZDliOGVmZDk0M2U5MDcxNDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC0zMzQzLDYgKzMzNDMsNyBAQCBzZXQoSURMX0FUVFJJQlVURVNf
RklMRSAke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0KQog
c2V0KFdFQkNPUkVfSlNfQlVJTFRJTlMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3N0cmVh
bXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKKyAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKICkKIAogV0VCS0lUX0lOQ0xVREVfQ09ORklH
X0ZJTEVTX0lGX0VYSVNUUygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNWNhYjhl
MjRkZDU0MTc2YzkzMzcwZDYyMGM2YTQ4Y2YyNjdjOWFiNC4uZGUwYWI0ZmYyNWEzZjZlZDg0NGY2
NGVhMTQ3NmJhZGU3ZGRmMDc1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMzEx
LDYgKzMxMSw3IEBACiAjaW5jbHVkZSAiSlNSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuY3BwIgog
I2luY2x1ZGUgIkpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwIgogI2luY2x1ZGUgIlJlYWRhYmxl
U3RyZWFtQnVpbHRpbnMuY3BwIgorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnMuY3BwIgogI2VuZGlmCiAjaW5jbHVkZSAiSlNSZWN0LmNwcCIKICNpbmNsdWRlICJKU1Jl
cXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCmluZGV4IGE2MjIyN2E5NWFjZGRhNWU0YjJkOWJjOTc0NWU1YjEwZmQ3ZDQ3MWMuLjIwNzRi
ZDExZDY1NjFkZDMxZTRiYjM1ZDI2NzQ0OTc0ZTA2NDk2Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQpAQCAtMTI1Miw2ICsxMjUyLDcgQEAgV2ViUmVwbGF5SW5wdXRzLmggOiAkKElO
UFVUX0dFTkVSQVRPUl9TUEVDSUZJQ0FUSU9OUykgJChJTlBVVF9HRU5FUkFUT1JfU0NSSVBUUykK
IFdFQkNPUkVfSlNfQlVJTFRJTlMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMv
Q291bnRRdWV1aW5nU3RyYXRlZ3kuanMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1z
L1JlYWRhYmxlU3RyZWFtLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbUludGVybmFscy5qcyBcCiAjCiAKIGFsbCA6ICQoV0VCQ09SRV9KU19CVUlMVElO
UzolLmpzPSVCdWlsdGlucy5jcHApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJl
YW1zL1JlYWRhYmxlU3RyZWFtLmlkbAppbmRleCA2YWMyNTk1YWFiZDViYWY2NTQ4Y2ViY2Q4YTMy
YWIwMGRhODBkMjFiLi5jNmVmOGFhNDBmYzVmNzNkMWU0YWIwMjZlYjU4MWFkMjY4OGY4Zjg0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0u
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5p
ZGwKQEAgLTM3LDYgKzM3LDcgQEAKICAgICBbUmFpc2VzRXhjZXB0aW9uXSBSZWFkYWJsZVN0cmVh
bVJlYWRlciBnZXRSZWFkZXIoKTsKICAgICBbQ3VzdG9tXSBQcm9taXNlIHBpcGVUbyhhbnkgc3Ry
ZWFtcywgYW55IG9wdGlvbnMpOwogICAgIFtKU0J1aWx0aW5dIE9iamVjdCBwaXBlVGhyb3VnaChh
bnkgZGVzdCwgYW55IG9wdGlvbnMpOworICAgIFtKU0J1aWx0aW5dIE9iamVjdCB0ZWUoKTsKIAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGxvY2tlZDsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKaW5kZXggN2M2MzJmNThk
MWJkZjViOTc1ZDUyZDZjNzRkZjM3MGI3Y2FiNmNjMi4uNjZiMThkNGFkZjIzZTkwZmEwOGJmZjdi
NDA2ZmZhZDRlMmE2ZTg5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJl
YW1zL1JlYWRhYmxlU3RyZWFtLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFt
cy9SZWFkYWJsZVN0cmVhbS5qcwpAQCAtMzAsMyArMzAsMTEgQEAgZnVuY3Rpb24gcGlwZVRocm91
Z2goc3RyZWFtcywgb3B0aW9ucykKICAgICB0aGlzLnBpcGVUbyhzdHJlYW1zLndyaXRhYmxlLCBv
cHRpb25zKTsKICAgICByZXR1cm4gc3RyZWFtcy5yZWFkYWJsZTsKIH0KKworZnVuY3Rpb24gdGVl
KCkKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICAvLyBUT0RPOiBjaGVjayB0aGlzIGlzIGEg
UmVhZGFibGVTdHJlYW0KKyAgICByZXR1cm4gQHRlZVJlYWRhYmxlU3RyZWFtKHRoaXMsIGZhbHNl
KQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmYzdlMmVmN2Y0ZTIwNTUzOTkzOTgy
NGViNDc1OTNjOWRhOGVmNjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTAsMCArMSwzMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBDYW5vbiBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9uIHRl
ZVJlYWRhYmxlU3RyZWFtKHN0cmVhbSwgc2hvdWxkQ2xvbmUpCit7CisgICAgInVzZSBzdHJpY3Qi
OworCisgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoInRlZSBpcyBub3QgaW1wbGVtZW50ZWQiKTsK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmlu
ZGV4IDBjYmQ5ZTlkM2U5ZmRhNTA5ZGVjMWFlNWY5NzBiM2NhNzA5ZGVhY2YuLjk2NDdlZGRlNDE0
MDRlYWQwZGJmNTg4ZTVhNjM4OWI1N2UxODY4ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMzk3NCw2ICszOTc0LDIwIEBACiAgICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwv
Q2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwIj4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJv
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5D
YWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3Vm
Zml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1
ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVj
dGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVj
dGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRm
b3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1JlYWRhYmxl
U3RyZWFtQ29udHJvbGxlci5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGQ5Yzc5NDJiNjMzMTU4MDQzYTM3MDgwNmU5MzI5OWE1MDRmZjkyYTIu
LjZlNDhlMWI3NDQyYjJmY2QzMWRiMTE4MTBhNDQ0NTViMGE2YjMwMmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1MzQsNiAr
MTUzNCw4IEBACiAJCTQxQzc2MEIxMEVERTAzRDMwMEMxNjU1RiAvKiBTY3JpcHRTdGF0ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDNzYwQjAwRURF
MDNEMzAwQzE2NTVGIC8qIFNjcmlwdFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFEMDE1Q0EwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRl
bnRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCAqLzsgfTsKIAkJNDFEMDE1
Q0IwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBD
b250ZW50VHlwZS5jcHAgKi87IH07CisJCTQxREQ1OUE5MUJCM0Y2RjEwMDEzNUM1RCAvKiBSZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFJl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFERDU5QUIxQkIzRjZGQjAwMTM1QzVE
IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBS
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFFMUIxRDAwRkY1OTg2OTAwNTc2QjNCIC8qIEFi
c3RyYWN0V29ya2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxRTFCMUNBMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAgKi87
IH07CiAJCTQxRTFCMUQxMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0IwRkY1OTg2
OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmggKi87IH07CiAJCTQxRjA2MjE0MEY1RjE5MjYw
MEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjIxMjBGNUYxOTI2MDBBMDdFQUMgLyog
SW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oICovOyB9OwpAQCAtMjU5NSw4ICsyNTk3LDkgQEAK
IAkJN0M0OEE2RDExOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0OEE2Q0YxOTFDOUQ2NTAw
MDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5oICovOyB9OwogCQk3QzQ5MDJBMjE4QjgyNUY4MDA3
RDkyOTggLyogRE9NV2hlZWxFdmVudEludGVybmFsLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTk4OURDQTBBQ0M4QkJEMDBB
MEJDNTEgLyogRE9NV2hlZWxFdmVudEludGVybmFsLmggKi87IH07CiAJCTdDNEM5NkRDMUFENDQ4
MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1Jl
YWRhYmxlU3RyZWFtLmNwcCAqLzsgfTsKLQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUyIC8qIENv
dW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUyIC8qIENvdW50UXVl
dWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwICovOyB9OwogCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVB
NTEgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTEgLyogUmVhZGFi
bGVTdHJlYW1CdWlsdGlucy5jcHAgKi87IH07CisJCTdDNEM5NkRDMUFENDQ4MzUwMDM2NUE1MiAv
KiBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MiAvKiBDb3Vu
dFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcCAqLzsgfTsKKwkJN0M0Qzk2REMxQUQ0NDgzNTAw
MzY1QTUzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1
QTUzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwICovOyB9OwogCQk3QzRD
OTZERDFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDkxQUQ0NDgzNTAwMzY1QTUw
IC8qIEpTUmVhZGFibGVTdHJlYW0uaCAqLzsgfTsKIAkJN0M0Qzk2REUxQUQ0NDgzNTAwMzY1QTUw
IC8qIEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2REExQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFi
bGVTdHJlYW1SZWFkZXIuY3BwICovOyB9OwogCQk3QzRDOTZERjFBRDQ0ODM1MDAzNjVBNTAgLyog
SlNSZWFkYWJsZVN0cmVhbVJlYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0M0Qzk2REIxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJl
YW1SZWFkZXIuaCAqLzsgfTsKQEAgLTk5ODYsOCArOTk4OSw5IEBACiAJCTdDNDhBNkNGMTkxQzlE
NjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViS2l0TmFtZXNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdDNDhBNkQyMTkxQzlEOEUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdl
YktpdE5hbWVzcGFjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNEM5NkQ4
MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVhZGFibGVTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTIgLyogQ291bnRRdWV1aW5n
U3RyYXRlZ3lCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUxIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRp
bnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVhZGFibGVTdHJl
YW1CdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDNEM5NkQ4MUFE
NDQ4MzUwMDM2NUE1MiAvKiBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRp
bnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzRDOTZEODFBRDQ0ODM1MDAz
NjVBNTMgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5z
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0Qzk2RDkxQUQ0NDgzNTAwMzY1
QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNSZWFkYWJsZVN0cmVhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzRD
OTZEQTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbVJlYWRlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtUmVhZGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0Qzk2REIxQUQ0NDgzNTAwMzY1QTUw
IC8qIEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNSZWFkYWJsZVN0cmVhbVJlYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTEyNTcsNyArMTEyNjEsOSBAQAogCQk5QUIxRjM3RTE4RTI0ODlBMDA1MzQ3NDMgLyog
Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTlBQjFGMzdGMThFMjQ4OUEwMDUzNDc0MyAvKiBDU1NUb0xlbmd0aENvbnZlcnNpb25E
YXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjAzRDgw
NjFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVp
bHRpbnNXcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxl
U3RyZWFtQnVpbHRpbnNXcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTlC
MDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5z
V3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5QjE5QjY3RTFCOTY0RTUyMDAzNDg3NDUgLyogU2hhZG93Um9vdC5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gU2hhZG93Um9vdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTlCMUFCMDc5MTY0OEM2OUQwMDUxRjNGMiAvKiBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5QjFBQjA3QjE2NDhDN0M0MDA1MUYzRjIgLyogSlNIVE1MRm9ybUNvbnRy
b2xzQ29sbGVjdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0hUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MjE3LDYgKzE2MjIzLDcgQEAKIAkJCWNoaWxkcmVuID0gKAog
CQkJCTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MiAvKiBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0
aW5zLmNwcCAqLywKIAkJCQk3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTEgLyogUmVhZGFibGVTdHJl
YW1CdWlsdGlucy5jcHAgKi8sCisJCQkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUzIC8qIFJlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwICovLAogCQkJCTdDNEM5NkQ4MUFENDQ4MzUw
MDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmNwcCAqLywKIAkJCQk3QzRDOTZEOTFBRDQ0ODM1
MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oICovLAogCQkJCTZDNEM5NkRBMUFENDQ4MzUw
MDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5jcHAgKi8sCkBAIC0xNjkxMiw3
ICsxNjkxOSw5IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTlC
MDNEODA2MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8sCisJ
CQkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnMuaCAqLywKIAkJCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJl
YW1CdWlsdGluc1dyYXBwZXIuaCAqLywKKwkJCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyog
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLywKIAkJCQkxNERDRjNC
MDFCNkJFMjA4MDA2MkQ0QzIgLyogSlNDb3VudFF1ZXVpbmdTdHJhdGVneS5jcHAgKi8sCiAJCQkJ
MTREQ0YzQjExQjZCRTIwODAwNjJENEMyIC8qIEpTQ291bnRRdWV1aW5nU3RyYXRlZ3kuaCAqLywK
IAkJCQk2NTY1ODFBQzA5RDE0RUU2MDAwRTYxRDcgLyogQ2hhcnNldERhdGEuY3BwICovLApAQCAt
MjY5MjIsNiArMjY5MzEsNyBAQAogCQkJCTdFNDc0RTFGMTI0OTREQzkwMDIzNTM2NCAvKiBTUUxp
dGVEYXRhYmFzZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdFNDc0RTFFMTI0OTREQzkw
MDIzNTM2NCAvKiBTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUI1QTY4NDIyMEZGQUJFOTgwMEQyNDY4OSAvKiBTUUxpdGVGaWxlU3lzdGVtLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0MURENTlBQjFCQjNGNkZCMDAxMzVDNUQgLyogUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyMjQ2NEMwQ0M5OEREQjAw
QzA1MjQwIC8qIFNRTGl0ZVN0YXRlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyMjQ2NEUw
Q0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5N0JDNkE0MjE1MDVGMDgxMDAxQjc0QUMgLyogU1FMUmVzdWx0U2V0LmggaW4gSGVhZGVycyAq
LywKQEAgLTI3NDA5LDYgKzI3NDE5LDcgQEAKIAkJCQk3Q0U2ODM0NzE5MjE4MjE1MDBGNEQ5Mjgg
LyogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvclR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3QzczRkIwODE5MUVGNDE3MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBMkIwNjExMDUwNDc2MDAwNDNCRDFDIC8qIFVzZXJT
Y3JpcHQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxREQ1OUE5MUJCM0Y2RjEwMDEzNUM1RCAvKiBS
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNBMkIwOEIxMDUwNUJDRDAwNDNCRDFDIC8qIFVzZXJTY3JpcHRUeXBlcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkM4QkYxNTExMDU4MTNCRjAwQTQwQTA3IC8qIFVzZXJTdHlsZVNoZWV0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzhCRjE1QTEwNTgxNDE4MDBBNDBBMDcgLyogVXNlclN0eWxl
U2hlZXRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTQxNSw2ICsyOTQyNiw3IEBACiAJCQkJ
NjVERjMyMDEwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTUmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUyIC8qIENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRp
bnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUxIC8qIFJl
YWRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJN0M0Qzk2REMxQUQ0
NDgzNTAwMzY1QTUzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJl
YW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkM0Qzk2REUxQUQ0NDgzNTAwMzY1QTUwIC8qIEpT
UmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxMTg5RUY5
MUFEODI3MzcwMEI5MEEwRCAvKiBKU1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlckN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuY3BwCmluZGV4IDgzNTAzMzMxM2VmZTE1MmYxZTM5ZjRjMTUxYmJkYzJmMGExYWQ3ZmIu
LjAzMDY1ZGYwZjQ2OTQ5YWU2ODVhN2Q0ZGI5ZjdmZDg1NjIzZDM2OTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcApAQCAtNDUsNiArNDUsMTAg
QEAKICNpbmNsdWRlICJXZWJTYWZlSW5jcmVtZW50YWxTd2VlcGVySU9TLmgiCiAjZW5kaWYKIAor
I2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNjMsNiArNjcsOSBAQCBKU0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93
QmFzZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPERPTVdpbgogICAg
ICwgbV93aW5kb3dDbG9zZVdhdGNocG9pbnRzKCh3aW5kb3cgJiYgd2luZG93LT5mcmFtZSgpKSA/
IElzV2F0Y2hlZCA6IElzSW52YWxpZGF0ZWQpCiAgICAgLCBtX2ltcGwod2luZG93KQogICAgICwg
bV9zaGVsbChzaGVsbCkKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisgICAgLCBtX3JlYWRhYmxl
U3RyZWFtRnVuY3Rpb25zKHZtKQorI2VuZGlmCiB7CiB9CiAKQEAgLTcxLDE0ICs3OCwzNiBAQCB2
b2lkIEpTRE9NV2luZG93QmFzZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0RPTVdpbmRvd1No
ZWxsKiBzaGVsbCkKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgc2hlbGwpOwogICAgIEFT
U0VSVChpbmhlcml0cyhpbmZvKCkpKTsKIAorI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICBt
X3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zLmluaXQoKnRoaXMpOworI2VuZGlmCisKICAgICBHbG9i
YWxQcm9wZXJ0eUluZm8gc3RhdGljR2xvYmFsc1tdID0gewogICAgICAgICBHbG9iYWxQcm9wZXJ0
eUluZm8odm0ucHJvcGVydHlOYW1lcy0+ZG9jdW1lbnQsIGpzTnVsbCgpLCBEb250RGVsZXRlIHwg
UmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+
d2luZG93LCBtX3NoZWxsLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpCisgICAgICAgIEdsb2JhbFBy
b3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT53aW5kb3csIG1fc2hlbGwsIERvbnREZWxldGUg
fCBSZWFkT25seSksCisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorI2RlZmluZSBERUNMQVJFX0dM
T0JBTF9TVEFUSUMobmFtZSlcCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhcCisgICAgICAg
ICAgICBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPnJl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMoKS5uYW1lIyNQcml2YXRlTmFtZSgpLFwKKyAg
ICAgICAgICAgIG1fcmVhZGFibGVTdHJlYW1GdW5jdGlvbnMubV8jI25hbWUjI0Z1bmN0aW9uLmdl
dCgpICwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgV0VCQ09SRVJFQURBQkxFU1RS
RUFNSU5URVJOQUxTX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKERFQ0xBUkVfR0xPQkFM
X1NUQVRJQykKKyN1bmRlZiBFWFBPUlRfRlVOQ1RJT04KKyNlbmRpZgogICAgIH07Ci0gICAgCisK
ICAgICBhZGRTdGF0aWNHbG9iYWxzKHN0YXRpY0dsb2JhbHMsIFdURl9BUlJBWV9MRU5HVEgoc3Rh
dGljR2xvYmFscykpOwogfQogCit2b2lkIEpTRE9NV2luZG93QmFzZTo6dmlzaXRDaGlsZHJlbihK
U0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIEpTRE9NV2luZG93QmFz
ZSogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihjZWxsKTsKKyAgICBBU1NF
UlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CisgICAgQmFzZTo6dmlz
aXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkp
CisgICAgdGhpc09iamVjdC0+bV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9ucy52aXNpdCh2aXNpdG9y
KTsKKyNlbmRpZgorfQorCiB2b2lkIEpTRE9NV2luZG93QmFzZTo6ZGVzdHJveShKU0NlbGwqIGNl
bGwpCiB7CiAgICAgc3RhdGljX2Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oY2VsbCktPkpTRE9NV2lu
ZG93QmFzZTo6fkpTRE9NV2luZG93QmFzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0Jhc2UuaAppbmRleCA1ZWQzODYyYzE0MTE4N2MwMDZiNjg4ZGI3OTc3OTRi
MzY5ODEwNTY0Li43NTI4Njg2ODkwZjZjMzFkMTE3NjhkM2M5M2ZhNDM2MDk4YWE0YzNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAtMjIsNiAr
MjIsNyBAQAogCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9i
YWxPYmplY3QuaCIKKyNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3Jh
cHBlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTczLDYgKzc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBK
U0M6OlZNJiBjb21tb25WTSgpOwogICAgICAgICBzdGF0aWMgdm9pZCBmaXJlRnJhbWVDbGVhcmVk
V2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93Kik7CisgICAgICAgIHN0YXRpYyB2b2lkIHZp
c2l0Q2hpbGRyZW4oSlNDOjpKU0NlbGwqLCBKU0M6OlNsb3RWaXNpdG9yJik7CiAKICAgICBwcm90
ZWN0ZWQ6CiAgICAgICAgIEpTQzo6V2F0Y2hwb2ludFNldCBtX3dpbmRvd0Nsb3NlV2F0Y2hwb2lu
dHM7CkBAIC04MCw2ICs4MiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHJpdmF0ZToK
ICAgICAgICAgUmVmUHRyPERPTVdpbmRvdz4gbV9pbXBsOwogICAgICAgICBKU0RPTVdpbmRvd1No
ZWxsKiBtX3NoZWxsOworCisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorICAgICAgICBSZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5GdW5jdGlvbnMgbV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9u
czsKKyNlbmRpZgogICAgIH07CiAKICAgICAvLyBSZXR1cm5zIGEgSlNET01XaW5kb3cgb3IganNO
dWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0Ns
aWVudERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERh
dGEuaAppbmRleCA0MDk0MjNmYThhNGNiZDBlOWY0ZDEyZTljYTFlYzhkYjRjYjJmNDg4Li42OWMx
NjQyNTIxMmIyNmQyNzYxY2JlZTI2YTgxMDljYjRiM2FjOTg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0yNSw2ICsyNSw3IEBA
CiAjaW5jbHVkZSAiQ291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXIuaCIKICNpbmNs
dWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUJ1aWx0aW5z
V3JhcHBlci5oIgorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFw
cGVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC00MCw5ICs0MSwx
MyBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgV2ViQ29yZUpTQ2xpZW50RGF0YShKU0M6OlZNJiB2
bSkKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCiAgICAgICAgIDogbV9yZWFkYWJsZVN0cmVhbUJ1
aWx0aW5zKCZ2bSkKKyAgICAgICAgLCBtX3JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMo
JnZtKQogICAgICAgICAsIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucygmdm0pCiAjZW5k
aWYKICAgICB7CisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorICAgICAgICBtX3JlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnMuZXhwb3J0TmFtZXMoKTsKKyNlbmRpZgogICAgIH0KIAogICAg
IHZpcnR1YWwgfldlYkNvcmVKU0NsaWVudERhdGEoKQpAQCAtNzgsOCArODMsOSBAQCBwdWJsaWM6
CiAgICAgfQogCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotICAgIFJlYWRhYmxlU3RyZWFtQnVp
bHRpbnNXcmFwcGVyJiByZWFkYWJsZVN0cmVhbUJ1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJs
ZVN0cmVhbUJ1aWx0aW5zOyB9CiAgICAgQ291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBw
ZXImIGNvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMoKSB7IHJldHVybiBtX2NvdW50UXVldWlu
Z1N0cmF0ZWd5QnVpbHRpbnM7IH0KKyAgICBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlciYg
cmVhZGFibGVTdHJlYW1CdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1CdWlsdGlu
czsgfQorICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyJiByZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUludGVy
bmFsc0J1aWx0aW5zOyB9CiAjZW5kaWYKIAogcHJpdmF0ZToKQEAgLTg4LDYgKzk0LDcgQEAgcHJp
dmF0ZToKIAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICAgICBSZWFkYWJsZVN0cmVhbUJ1aWx0
aW5zV3JhcHBlciBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnM7CisgICAgUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5z
OwogICAgIENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyIG1fY291bnRRdWV1aW5n
U3RyYXRlZ3lCdWlsdGluczsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2dlbmVyYXRlLWpzLWJ1aWx0aW5zIGIvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUtanMtYnVpbHRp
bnMKaW5kZXggMDhmOGMwZTcxOTI4MzNkNzgzNWNkMDE3Yzg5YzRiNzE4OTQxZmMzMC4uN2Y5MTUw
ZTZmYjQ3Mzc4ZDA1ZTFlNGMxYzQxY2IxMDIwZGE2OGExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMKKysrIGIvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUt
anMtYnVpbHRpbnMKQEAgLTgwLDYgKzgwLDcgQEAgYnVpbHRpbnNXcmFwcGVySGVhZGVyLndyaXRl
KFRlbXBsYXRlKAogI2luY2x1ZGUgPGJ5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
Lmg+CiAjaW5jbHVkZSA8YnVpbHRpbnMvQnVpbHRpblV0aWxzLmg+CiAjaW5jbHVkZSA8cnVudGlt
ZS9JZGVudGlmaWVyLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU0Z1bmN0aW9uLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMTAzLDYgKzEwNCw4IEBAIHB1YmxpYzoKIAogICAgICR7UHJl
Zml4fV9GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0JVSUxUSU5fSURFTlRJ
RklFUl9BQ0NFU1NPUikKIAorICAgIHZvaWQgZXhwb3J0TmFtZXMoKTsKKwogcHJpdmF0ZToKICAg
ICBKU0M6OlZNJiBtX3ZtOwogCkBAIC0xMjYsNiArMTI5LDQ1IEBAIGlubGluZSBKU0M6OlVubGlu
a2VkRnVuY3Rpb25FeGVjdXRhYmxlKiAke0ZpbGVuYW1lfUJ1aWx0aW5zV3JhcHBlcjo6bmFtZSMj
RXhlY3V0CiAke1ByZWZpeH1fRk9SRUFDSF9CVUlMVElOKERFRklORV9CVUlMVElOX0VYRUNVVEFC
TEVTKQogI3VuZGVmIERFRklORV9CVUlMVElOX0VYRUNVVEFCTEVTCiAKK2lubGluZSB2b2lkICR7
RmlsZW5hbWV9QnVpbHRpbnNXcmFwcGVyOjpleHBvcnROYW1lcygpCit7CisjZGVmaW5lIEVYUE9S
VF9GVU5DVElPTl9OQU1FKG5hbWUpIG1fdm0ucHJvcGVydHlOYW1lcy0+YXBwZW5kRXh0ZXJuYWxO
YW1lKG5hbWUjI1B1YmxpY05hbWUoKSwgbmFtZSMjUHJpdmF0ZU5hbWUoKSk7CisgICAgJHtQcmVm
aXh9X0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKEVYUE9SVF9GVU5DVElPTl9OQU1FKQor
I3VuZGVmIEVYUE9SVF9GVU5DVElPTl9OQU1FCit9CisKK2NsYXNzICR7RmlsZW5hbWV9QnVpbHRp
bkZ1bmN0aW9ucworeworcHVibGljOgorICAgIGV4cGxpY2l0ICR7RmlsZW5hbWV9QnVpbHRpbkZ1
bmN0aW9ucyhKU0M6OlZNJiB2bSkgOiBtX3ZtKHZtKSB7IH0KKworICAgIHZvaWQgaW5pdChKU0M6
OkpTR2xvYmFsT2JqZWN0Jik7CisgICAgdm9pZCB2aXNpdChKU0M6OlNsb3RWaXNpdG9yJik7CisK
K3B1YmxpYzoKKyAgICBKU0M6OlZNJiBtX3ZtOworCisjZGVmaW5lIERFQ0xBUkVfQlVJTFRJTl9T
T1VSQ0VfTUVNQkVSUyhmdW5jdGlvbk5hbWUpIFxcCisgICAgSlNDOjpXcml0ZUJhcnJpZXI8SlND
OjpKU0Z1bmN0aW9uPiBtXyMjZnVuY3Rpb25OYW1lIyNGdW5jdGlvbjsKKyAgICAke1ByZWZpeH1f
Rk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoREVDTEFSRV9CVUlMVElOX1NPVVJDRV9NRU1C
RVJTKQorI3VuZGVmIERFQ0xBUkVfQlVJTFRJTl9TT1VSQ0VfTUVNQkVSUworfTsKKworaW5saW5l
IHZvaWQgJHtGaWxlbmFtZX1CdWlsdGluRnVuY3Rpb25zOjppbml0KEpTQzo6SlNHbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCkKK3sKKyNkZWZpbmUgRVhQT1JUX0ZVTkNUSU9OKGNvZGVOYW1lLCBm
dW5jdGlvbk5hbWUsIGxlbmd0aClcXAorICAgIG1fIyNmdW5jdGlvbk5hbWUjI0Z1bmN0aW9uLnNl
dChtX3ZtLCAmZ2xvYmFsT2JqZWN0LCBKU0M6OkpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5j
dGlvbihtX3ZtLCBjb2RlTmFtZSMjR2VuZXJhdG9yKG1fdm0pLCAmZ2xvYmFsT2JqZWN0KSk7Cisg
ICAgJHtQcmVmaXh9X0ZPUkVBQ0hfQlVJTFRJTihFWFBPUlRfRlVOQ1RJT04pCisjdW5kZWYgRVhQ
T1JUX0ZVTkNUSU9OCit9CisKK2lubGluZSB2b2lkICR7RmlsZW5hbWV9QnVpbHRpbkZ1bmN0aW9u
czo6dmlzaXQoSlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyNkZWZpbmUgVklTSVRfRlVO
Q1RJT04obmFtZSkgdmlzaXRvci5hcHBlbmQoJm1fIyNuYW1lIyNGdW5jdGlvbik7CisgICAgJHtQ
cmVmaXh9X0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKFZJU0lUX0ZVTkNUSU9OKQorI3Vu
ZGVmIFZJU0lUX0ZVTkNUSU9OCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vICR7RmlsZW5hbWV9QnVpbHRpbnNXcmFwcGVyX2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiZDZiYzliYmQ3OWExZTc4
ZDEzNzY1MTUyNDhiYzc2MGUyYTI3ZDY4Li42OWRmZDBjODQxNmYxZDMwYTMyZTAzY2Q0OTIyMzY2
ZTVkYWFkMjBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDktMjQgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IEFkZCBzdXBwb3J0IGZvciBwcml2YXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZnVuY3Rpb25zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk1MTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWJhc2luZyB0
ZXN0cyBub3cgdGhhdCB0ZWUgaXMgYXBwZWFyaW5nIGluIHRoZSBJREwsIGFsdGhvdWdoIG5vdCB5
ZXQgY29uZm9ybWFudCBpbiBpdHMgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBzdHJlYW1z
L3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHN0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVh
bS10ZWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVu
dGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0ZWQtZXhwZWN0ZWQudHh0OgorCiAyMDE1LTA5
LTIzICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAg
W0NvY29hXSBbRm9udCBGZWF0dXJlc10gSW1wbGVtZW50IGZvbnQtdmFyaWFudC0qCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJs
ZS1zdHJlYW0tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1w
bGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLWV4cGVjdGVkLnR4dAppbmRleCBlNjFmN2Q2ZjU4
NTk0MTM5YWZhYzc4NmZhM2I1ZjM1NGZkNWUwOGIzLi5mZGQ5NDU4ODk2MjM4MTM2MmUzYjZjZmU2
N2FjYjVlNWExMzExMDZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5j
ZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS1l
eHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBBU1MgUmVhZGFibGVTdHJlYW0gY2FuIGJl
IGNvbnN0cnVjdGVkIHdpdGggbm8gZXJyb3JzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjYW4ndCBi
ZSBjb25zdHJ1Y3RlZCB3aXRoIGdhcmJhZ2UgCi1GQUlMIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNl
cyBzaG91bGQgaGF2ZSB0aGUgY29ycmVjdCBsaXN0IG9mIHByb3BlcnRpZXMgYXNzZXJ0X2FycmF5
X2VxdWFsczogc2hvdWxkIGhhdmUgYWxsIHRoZSBjb3JyZWN0IG1ldGhvZHMgbGVuZ3RocyBkaWZm
ZXIsIGV4cGVjdGVkIDcgZ290IDYKK0ZBSUwgUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIHNob3Vs
ZCBoYXZlIHRoZSBjb3JyZWN0IGxpc3Qgb2YgcHJvcGVydGllcyBhc3NlcnRfZmFsc2U6IG1ldGhv
ZCBzaG91bGQgYmUgbm9uLWVudW1lcmFibGUgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIFBBU1Mg
UmVhZGFibGVTdHJlYW0gY29uc3RydWN0b3Igc2hvdWxkIHRocm93IGZvciBub24tZnVuY3Rpb24g
c3RhcnQgYXJndW1lbnRzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBjYW4gZ2V0
IGluaXRpYWwgZ2FyYmFnZSBhcyBjYW5jZWwgYXJndW1lbnQgCiBQQVNTIFJlYWRhYmxlU3RyZWFt
IGNvbnN0cnVjdG9yIGNhbiBnZXQgaW5pdGlhbCBnYXJiYWdlIGFzIHB1bGwgYXJndW1lbnQgCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9y
ZWFkYWJsZS1zdHJlYW0tdGVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVm
ZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZWUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGU3NWYyNmYxMTBjYjJkN2ZiODE0YWVjNGMzNTMwMjM2OTJmYjc1YjIuLjZlOWU1ZjE5MTMx
MjdmYjk1NzY1MGNkOTA2N2VkNzhlYWE4OWFjZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZWUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9u
L3JlYWRhYmxlLXN0cmVhbS10ZWUtZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDEyIEBACiAKLUZB
SUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBycy50ZWUoKSByZXR1cm5zIGFuIGFycmF5IG9mIHR3
byBSZWFkYWJsZVN0cmVhbXMgcnMudGVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3JzLnRlZSgp
JywgJ3JzLnRlZScgaXMgdW5kZWZpbmVkKQotRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IHNo
b3VsZCBiZSBhYmxlIHRvIHJlYWQgb25lIGJyYW5jaCB0byB0aGUgZW5kIHdpdGhvdXQgYWZmZWN0
aW5nIHRoZSBvdGhlciBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAn
cnMudGVlJyBpcyB1bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogdmFsdWVz
IHNob3VsZCBiZSBlcXVhbCBhY3Jvc3MgZWFjaCBicmFuY2ggcnMudGVlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3JzLnRlZSgpJywgJ3JzLnRlZScgaXMgdW5kZWZpbmVkKQotRkFJTCBSZWFkYWJs
ZVN0cmVhbSB0ZWVpbmc6IGVycm9ycyBpbiB0aGUgc291cmNlIHNob3VsZCBwcm9wYWdhdGUgdG8g
Ym90aCBicmFuY2hlcyBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAn
cnMudGVlJyBpcyB1bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogY2FuY2Vs
aW5nIGJyYW5jaDEgc2hvdWxkIG5vdCBpbXBhY3QgYnJhbmNoMiBycy50ZWUgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1bmRlZmluZWQpCi1GQUlMIFJlYWRh
YmxlU3RyZWFtIHRlZWluZzogY2FuY2VsaW5nIGJyYW5jaDIgc2hvdWxkIG5vdCBpbXBhY3QgYnJh
bmNoMSBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBp
cyB1bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogY2FuY2VsaW5nIGJvdGgg
YnJhbmNoZXMgc2hvdWxkIGFnZ3JlZ2F0ZSB0aGUgY2FuY2VsIHJlYXNvbnMgaW50byBhbiBhcnJh
eSBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1
bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogZmFpbGluZyB0byBjYW5jZWwg
dGhlIG9yaWdpbmFsIHN0cmVhbSBzaG91bGQgY2F1c2UgY2FuY2VsKCkgdG8gcmVqZWN0IG9uIGJy
YW5jaGVzIHJzLnRlZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdycy50ZWUoKScsICdycy50ZWUn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBjbG9zaW5nIHRoZSBv
cmlnaW5hbCBzaG91bGQgaW1tZWRpYXRlbHkgY2xvc2UgdGhlIGJyYW5jaGVzIHJzLnRlZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdycy50ZWUoKScsICdycy50ZWUnIGlzIHVuZGVmaW5lZCkKLUZB
SUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBlcnJvcmluZyB0aGUgb3JpZ2luYWwgc2hvdWxkIGlt
bWVkaWF0ZWx5IGVycm9yIHRoZSBicmFuY2hlcyBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAncnMudGVlKCknLCAncnMudGVlJyBpcyB1bmRlZmluZWQpCitGQUlMIFJlYWRhYmxlU3RyZWFt
IHRlZWluZzogcnMudGVlKCkgcmV0dXJucyBhbiBhcnJheSBvZiB0d28gUmVhZGFibGVTdHJlYW1z
IHRlZSBpcyBub3QgaW1wbGVtZW50ZWQKK0ZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBzaG91
bGQgYmUgYWJsZSB0byByZWFkIG9uZSBicmFuY2ggdG8gdGhlIGVuZCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgb3RoZXIgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0
ZWVpbmc6IHZhbHVlcyBzaG91bGQgYmUgZXF1YWwgYWNyb3NzIGVhY2ggYnJhbmNoIHRlZSBpcyBu
b3QgaW1wbGVtZW50ZWQKK0ZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBlcnJvcnMgaW4gdGhl
IHNvdXJjZSBzaG91bGQgcHJvcGFnYXRlIHRvIGJvdGggYnJhbmNoZXMgdGVlIGlzIG5vdCBpbXBs
ZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IGNhbmNlbGluZyBicmFuY2gxIHNo
b3VsZCBub3QgaW1wYWN0IGJyYW5jaDIgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFk
YWJsZVN0cmVhbSB0ZWVpbmc6IGNhbmNlbGluZyBicmFuY2gyIHNob3VsZCBub3QgaW1wYWN0IGJy
YW5jaDEgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6
IGNhbmNlbGluZyBib3RoIGJyYW5jaGVzIHNob3VsZCBhZ2dyZWdhdGUgdGhlIGNhbmNlbCByZWFz
b25zIGludG8gYW4gYXJyYXkgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0
cmVhbSB0ZWVpbmc6IGZhaWxpbmcgdG8gY2FuY2VsIHRoZSBvcmlnaW5hbCBzdHJlYW0gc2hvdWxk
IGNhdXNlIGNhbmNlbCgpIHRvIHJlamVjdCBvbiBicmFuY2hlcyB0ZWUgaXMgbm90IGltcGxlbWVu
dGVkCitGQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogY2xvc2luZyB0aGUgb3JpZ2luYWwgc2hv
dWxkIGltbWVkaWF0ZWx5IGNsb3NlIHRoZSBicmFuY2hlcyB0ZWUgaXMgbm90IGltcGxlbWVudGVk
CitGQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogZXJyb3JpbmcgdGhlIG9yaWdpbmFsIHNob3Vs
ZCBpbW1lZGlhdGVseSBlcnJvciB0aGUgYnJhbmNoZXMgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlv
bi9yZWFkYWJsZS1zdHJlYW0tdGVtcGxhdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0ZWQt
ZXhwZWN0ZWQudHh0CmluZGV4IDdmZDQ2NTcyMDI2NTc3N2ViMjFiZGU0YjY3NzQ2NGE1MTAwNDMy
ZGYuLmY3ODc1ZDJjYzVhMjE5N2IyZGRhNzczYjUyODE1NzIzMzJkM2FiYTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0
cmVhbS10ZW1wbGF0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVm
ZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0ZWQtZXhwZWN0ZWQu
dHh0CkBAIC0xLDYgKzEsNiBAQAogCiBQQVNTIFJ1bm5pbmcgdGVtcGxhdGVkUlNFbXB0eSB3aXRo
IFJlYWRhYmxlU3RyZWFtIChlbXB0eSkgCi1GQUlMIGluc3RhbmNlcyBoYXZlIHRoZSBjb3JyZWN0
IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgYXNzZXJ0X2VxdWFsczogaGFzIGEgdGVlIG1ldGhvZCBl
eHBlY3RlZCAiZnVuY3Rpb24iIGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgaW5zdGFuY2VzIGhh
dmUgdGhlIGNvcnJlY3QgbWV0aG9kcyBhbmQgcHJvcGVydGllcyAKIFBBU1MgUnVubmluZyB0ZW1w
bGF0ZWRSU0VtcHR5UmVhZGVyIHdpdGggUmVhZGFibGVTdHJlYW0gKGVtcHR5KSByZWFkZXIgCiBQ
QVNTIGluc3RhbmNlcyBoYXZlIHRoZSBjb3JyZWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgCiBQ
QVNTIGxvY2tlZCBzaG91bGQgYmUgdHJ1ZSAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262239</attachid>
            <date>2015-10-01 00:37:16 -0700</date>
            <delta_ts>2015-10-01 00:45:05 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-149518-20151001043649.patch</filename>
            <type>text/plain</type>
            <size>33360</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZjBlMWQ0YTIzZjRiOTE0NjI5OTU0ZWY4ZDRjZmQ1NDRhZmM5Njk0Li45NTZhODk3NDA4YzQyYTZj
ZTMxYWI3ZWU2ZjA4YzhjMjc0MTJmMjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNS0wOS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3Jm
LmNhbm9uLmZyPgorCisgICAgICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIHByaXZh
dGUgV2ViQ29yZSBKUyBidWlsdGlucyBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTUxOAorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgIEFkZGluZyBBUEkgdG8gYWRkIHByaXZhdGUgaWRlbnRpZmll
cnMgb24gdGhlIGZseS4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHRvIHN1cHBvcnQgcHJpdmF0ZSBK
UyBCdWlsdGluIGZ1bmN0aW9ucy9wcml2YXRlIEpTIEJ1aWx0aW4gbmFtZXMgaW4gV2ViQ29yZS4K
KworICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAoSlNDOjpCdWls
dGluTmFtZXM6OmFwcGVuZEV4dGVybmFsTmFtZSk6CisgICAgICAgICogcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkNvbW1vbklkZW50aWZpZXJzOjphcHBlbmRF
eHRlcm5hbE5hbWUpOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKwog
MjAxNS0wOS0zMCAgSmFlaHVuIExpbSAgPGxqYWVodW4ubGltQHNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIGNsZWFudXAgYWZ0ZXIgcjE5MDM4NQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGU0NzI5
ZWQ3MGIwYjQ1NjViMzgwMTE1ODRkZjk4ZDVlMzM3YWVmZDIuLmM2OGE4ZjQyMTE1ZWVjZmMyODJl
ZjVkZjZmMjlkMjE0OWU5YTExMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxNS0w
OS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgorCisgICAg
ICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIHByaXZhdGUgV2ViQ29yZSBKUyBidWls
dGlucyBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0OTUxOAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFVzaW5nIFJlYWRhYmxlU3RyZWFtIHRlZSBtZXRob2QgYXMgYSB0ZXN0YmVkIHRvIGFkZCBz
dXBwb3J0IGZvciBwcml2YXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZnVuY3Rpb25zLgorICAgICAg
ICBQcml2YXRlIGZ1bmN0aW9ucyBhcmUgaG9va2VkIHRvIEpTRE9NV2luZG93QmFzZSwgYXMgaXQg
aXMgdGhlIG9uZSBjb25uZWN0ZWQgdG8gV2ViQ29yZUNsaWVudERhdGEuCisgICAgICAgIFdlYkNv
cmVDbGllbnREYXRhIGlzIHJlc3BvbnNpYmxlIHRvIGV4cG9ydCB0aGUgcHJpdmF0ZSBmdW5jdGlv
biBzeW1ib2xzIHRvIHRoZSBWTS4KKworICAgICAgICBVcGRhdGVkIGdlbmVyYXRlLWpzLWJ1aWx0
aW5zIHNjcmlwdCB0byBnZW5lcmF0ZSBhIGNsYXNzIHRoYXQgY2FuIGNyZWF0ZSBhbmQgb3duIGFs
bCBKUyBmdW5jdGlvbnMuCisgICAgICAgIFRoaXMgY2xhc3MgaXMgdXNlZCBieSBKU0RPTVdpbmRv
d0Jhc2UgdG8gY3JlYXRlIHRoZSBKUyBidWlsdGluIGZ1bmN0aW9ucy4KKyAgICAgICAgSXQgaXMg
YWxzbyB1c2VkIHRvIG1hbmFnZSB0aGUgR0Mgb2YgdGhlc2Ugb2JqZWN0cy4KKworICAgICAgICBD
b3ZlcmVkIGJ5IHJlYmFzZWQgdGVzdHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRk
aW5nIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzIGJ1aWx0aW4gZmlsZXMuCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMuY3BwOiBEaXR0by4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBE
aXR0by4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaWRsOiBBZGRp
bmcgdGVlIGRlY2xhcmF0aW9uIGFzIGJ1aWx0aW4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW0uanM6CisgICAgICAgICh0ZWUpOiBDYWxsaW5nIEB0ZWVSZWFkYWJsZVN0
cmVhbQorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5q
czogQmFyZWJvbmUgQHRlZVJlYWRhYmxlU3RyZWFtIGltcGxlbWVudGF0aW9uLgorICAgICAgICAo
dGVlUmVhZGFibGVTdHJlYW0pOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2o6IEFkZGluZyBSZWFkYWJsZVN0cmVhbUludGVybmFscyBidWlsdGluIGZpbGVzLgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkaW5nIFJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzIGJ1aWx0aW4gZmlsZXMuCisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6SlNE
T01XaW5kb3dCYXNlKTogQ3JlYXRpbmcgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVu
Y3Rpb25zIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6ZmluaXNo
Q3JlYXRpb24pOiBDcmVhdGluZyBidWlsdGluIGZ1bmN0aW9ucyB0aHJvdWdoIFJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbkZ1bmN0aW9ucyBhbmQgcmVnaXN0ZXJpbmcgdGhlbSB0byB0aGUg
SlMgZW5naW5lLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjp2aXNpdENoaWxk
cmVuKTogRW5zdXJpbmcgR0MgZG9lcyBub3QgY29sbGVjdCBwcml2YXRlIGJ1aWx0aW4gZnVuY3Rp
b25zIHRocm91Z2ggUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVuY3Rpb25zIG9iamVj
dAorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkNv
cmVKU0NsaWVudERhdGE6OldlYkNvcmVKU0NsaWVudERhdGEpOiBFeHBvcnRpbmcgcHJpdmF0ZSBu
YW1lcyBvZiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zCisgICAgICAgIChXZWJDb3Jl
OjpXZWJDb3JlSlNDbGllbnREYXRhOjpyZWFkYWJsZVN0cmVhbUJ1aWx0aW5zKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OnJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnMpOgorICAgICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zOiBBZGRpbmcgc3VwcG9ydCBm
b3IgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVuY3Rpb25zIGFuZCBleHBvcnROYW1l
cy4KKwogMjAxNS0wOS0zMCAgSHVuc2VvcCBKZW9uZyAgPGhzODUuamVvbmdAc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgW0VGTF1bR3RrXSBUcnkgdG8gZml4IHRoZSBidWlsZCBhZnRlciByMTkwMzc5
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1l
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCmluZGV4
IGJmMjhkYjgzZjdiYmJhMmU2ZjBiYWI5NzViNmU5ZjRkNGEzNzg4OWUuLmYyZDNmY2U5YjRkMWVm
N2Y0ZjM4MzFlMzg2NDY4NDBjZDgwYzVjZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTU5LDYgKzU5LDggQEAgcHVibGljOgogICAgIGNv
bnN0IElkZW50aWZpZXIqIGxvb2tVcFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25z
dDsKICAgICBjb25zdCBJZGVudGlmaWVyJiBsb29rVXBQdWJsaWNOYW1lKGNvbnN0IElkZW50aWZp
ZXImKSBjb25zdDsKICAgICAKKyAgICB2b2lkIGFwcGVuZEV4dGVybmFsTmFtZShjb25zdCBJZGVu
dGlmaWVyJiBwdWJsaWNOYW1lLCBjb25zdCBJZGVudGlmaWVyJiBwcml2YXRlTmFtZSk7CisKICAg
ICBKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoREVDTEFSRV9CVUlMVElOX0lERU5U
SUZJRVJfQUNDRVNTT1IpCiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hf
UFJPUEVSVFlfTkFNRShERUNMQVJFX0JVSUxUSU5fSURFTlRJRklFUl9BQ0NFU1NPUikKICAgICBK
U0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNM
QVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VTU09SKQpAQCAtMTA4LDYgKzExMCwxMSBAQCBpbmxpbmUg
Y29uc3QgSWRlbnRpZmllciYgQnVpbHRpbk5hbWVzOjpsb29rVXBQdWJsaWNOYW1lKGNvbnN0IElk
ZW50aWZpZXImIGlkZW50KQogICAgIHJldHVybiBtX2VtcHR5SWRlbnRpZmllcjsKIH0KIAoraW5s
aW5lIHZvaWQgQnVpbHRpbk5hbWVzOjphcHBlbmRFeHRlcm5hbE5hbWUoY29uc3QgSWRlbnRpZmll
ciYgcHVibGljTmFtZSwgY29uc3QgSWRlbnRpZmllciYgcHJpdmF0ZU5hbWUpCit7CisgICAgbV9w
cml2YXRlVG9QdWJsaWNNYXAuYWRkKHByaXZhdGVOYW1lLmltcGwoKSwgJnB1YmxpY05hbWUpOwor
ICAgIG1fcHVibGljVG9Qcml2YXRlTWFwLmFkZChwdWJsaWNOYW1lLmltcGwoKSwgJnByaXZhdGVO
YW1lKTsKK30KIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25JZGVudGlmaWVycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25JZGVudGlmaWVycy5jcHAKaW5kZXggYWEzOTJjZWI4ZDFhMDY1YTkyNTJhYTc3NDRkYWI4
ZDliMTYwNTRlOS4uZDZkNGI3NWEzZDVkNDgwNzljNzVhMTIwMmU0ZDgwOTljMTY3NDkxMyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmNwcApAQCAtNzgsNSArNzgsOSBAQCBJZGVudGlmaWVyIENvbW1vbklkZW50aWZpZXJzOjpsb29r
VXBQdWJsaWNOYW1lKGNvbnN0IElkZW50aWZpZXImIGlkZW50KSBjb25zdAogICAgIHJldHVybiBt
X2J1aWx0aW5OYW1lcy0+bG9va1VwUHVibGljTmFtZShpZGVudCk7CiB9CiAKK3ZvaWQgQ29tbW9u
SWRlbnRpZmllcnM6OmFwcGVuZEV4dGVybmFsTmFtZShjb25zdCBJZGVudGlmaWVyJiBwdWJsaWNO
YW1lLCBjb25zdCBJZGVudGlmaWVyJiBwcml2YXRlTmFtZSkKK3sKKyAgICBtX2J1aWx0aW5OYW1l
cy0+YXBwZW5kRXh0ZXJuYWxOYW1lKHB1YmxpY05hbWUsIHByaXZhdGVOYW1lKTsKK30KIAogfSAv
LyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29t
bW9uSWRlbnRpZmllcnMuaAppbmRleCBjNTFiNDZkNzE2YTI1OTk3YTE3MzE2ODNiZmY3OGNhMzQx
YzQxZmM0Li4wMzMwNmM4ZjZlMjIyY2IwNGUyOGM4NDUzYjhiYmRkZmYxZWExYTA3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAg
LTM1OSw2ICszNTksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgY29uc3QgQnl0ZWNv
ZGVJbnRyaW5zaWNSZWdpc3RyeSYgYnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeSgpIGNvbnN0IHsg
cmV0dXJuIG1fYnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeTsgfQogCisgICAgICAgIC8vIENhbGxl
cnMgb2YgdGhpcyBtZXRob2Qgc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IGlkZW50aWZpZXJzIGdpdmVu
IHRvIHRoaXMgbWV0aG9kIAorICAgICAgICAvLyBzdXJ2aXZlIHRoZSBsaWZldGltZSBvZiBDb21t
b25JZGVudGlmaWVycyBhbmQgcmVsYXRlZCBWTS4KKyAgICAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
dm9pZCBhcHBlbmRFeHRlcm5hbE5hbWUoY29uc3QgSWRlbnRpZmllciYgcHVibGljTmFtZSwgY29u
c3QgSWRlbnRpZmllciYgcHJpdmF0ZU5hbWUpOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgQnl0
ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeSBtX2J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnk7CiAgICAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMGZmMGIwYTNjYjlkM2NkNzUzYjAyYTcxZWI5OGE1
YjJiZjU2MDIxMy4uMTNlZTdlOTg0ODk4NjMyMmI0Y2Y0YjAxMTliN2E0ZjQ0ZTlmYmRiZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTMzNTMsNiArMzM1Myw3IEBAIHNldChJRExfQVRUUklCVVRF
U19GSUxFICR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQp
CiBzZXQoV0VCQ09SRV9KU19CVUlMVElOUwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3Ry
ZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
c3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcworICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwogKQogCiBXRUJLSVRfSU5DTFVERV9DT05G
SUdfRklMRVNfSUZfRVhJU1RTKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDVj
NGQwNjBiMWEzMGRjZmVkMWU4ZjYwMjBjZWFlY2ZlYjI5MDQxNGMuLjI5Y2NiZWZlZDgzNTlkM2Ey
YTY3MWI5MWU1NWRmY2YwZDMyNzRkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMTI1MSw2ICsxMjUxLDcgQEAgV2ViUmVwbGF5SW5wdXRzLmggOiAkKElOUFVUX0dFTkVSQVRP
Ul9TUEVDSUZJQ0FUSU9OUykgJChJTlBVVF9HRU5FUkFUT1JfU0NSSVBUUykKIFdFQkNPUkVfSlNf
QlVJTFRJTlMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5n
U3RyYXRlZ3kuanMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3Ry
ZWFtLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUlu
dGVybmFscy5qcyBcCiAjCiAKIGFsbCA6ICQoV0VCQ09SRV9KU19CVUlMVElOUzolLmpzPSVCdWls
dGlucy5jcHApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtLmlkbAppbmRleCA2YWMyNTk1YWFiZDViYWY2NTQ4Y2ViY2Q4YTMyYWIwMGRhODBkMjFi
Li5jNmVmOGFhNDBmYzVmNzNkMWU0YWIwMjZlYjU4MWFkMjY4OGY4Zjg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5pZGwKQEAgLTM3LDYg
KzM3LDcgQEAKICAgICBbUmFpc2VzRXhjZXB0aW9uXSBSZWFkYWJsZVN0cmVhbVJlYWRlciBnZXRS
ZWFkZXIoKTsKICAgICBbQ3VzdG9tXSBQcm9taXNlIHBpcGVUbyhhbnkgc3RyZWFtcywgYW55IG9w
dGlvbnMpOwogICAgIFtKU0J1aWx0aW5dIE9iamVjdCBwaXBlVGhyb3VnaChhbnkgZGVzdCwgYW55
IG9wdGlvbnMpOworICAgIFtKU0J1aWx0aW5dIE9iamVjdCB0ZWUoKTsKIAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIGxvY2tlZDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKaW5kZXggN2M2MzJmNThkMWJkZjViOTc1ZDUy
ZDZjNzRkZjM3MGI3Y2FiNmNjMi4uNjZiMThkNGFkZjIzZTkwZmEwOGJmZjdiNDA2ZmZhZDRlMmE2
ZTg5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbS5qcwpAQCAtMzAsMyArMzAsMTEgQEAgZnVuY3Rpb24gcGlwZVRocm91Z2goc3RyZWFtcywg
b3B0aW9ucykKICAgICB0aGlzLnBpcGVUbyhzdHJlYW1zLndyaXRhYmxlLCBvcHRpb25zKTsKICAg
ICByZXR1cm4gc3RyZWFtcy5yZWFkYWJsZTsKIH0KKworZnVuY3Rpb24gdGVlKCkKK3sKKyAgICAi
dXNlIHN0cmljdCI7CisKKyAgICAvLyBUT0RPOiBjaGVjayB0aGlzIGlzIGEgUmVhZGFibGVTdHJl
YW0KKyAgICByZXR1cm4gQHRlZVJlYWRhYmxlU3RyZWFtKHRoaXMsIGZhbHNlKQorfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmYzdlMmVmN2Y0ZTIwNTUzOTkzOTgyNGViNDc1OTNjOWRh
OGVmNjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBDYW5vbiBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9uIHRlZVJlYWRhYmxlU3Ry
ZWFtKHN0cmVhbSwgc2hvdWxkQ2xvbmUpCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgdGhy
b3cgbmV3IEBUeXBlRXJyb3IoInRlZSBpcyBub3QgaW1wbGVtZW50ZWQiKTsKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDliYmE3M2M4
ODYxZDg2NzM3ODZkZmI5ZmE3ODZjNGU2ZWQ5N2Q0N2IuLmU2YmU1MzA5ZDUwMzQ5MjVkMWZkM2Ux
Yjc0NzI0MWU5ZjJmN2VlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagpAQCAtMzkzMiw2ICszOTMyLDIwIEBACiAgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9k
dWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9k
dWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxh
dGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwIj4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0
dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1JlYWRhYmxlU3RyZWFtQ29udHJv
bGxlci5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDA1YjZkYWM3ZDJjOTEzODdkZjUzNWNmMzI1NzY3OTQ2ODdhZTIwODcuLjc2ZDI1NjUwN2M4
MDE3Yjk4NjZlMDUzMTgxNGFjOWM1OTVmZTg4OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1MDIsNiArMTUwMiw5IEBACiAJ
CTQxNjJBNDU3MTAxMTQ2NDcwMERGRjNFRCAvKiBKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNjJB
NDU1MTAxMTQ2NDcwMERGRjNFRCAvKiBKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcCAq
LzsgfTsKIAkJNDE2MkE0NTgxMDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxNjJBNDU2MTAxMTQ2NDcwMERGRjNFRCAvKiBKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
LmggKi87IH07CiAJCTQxNkUyOUE2MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQ
cm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2
RTI5QTUxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggKi87IH07CisJ
CTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0
aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAz
RDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxNkU2
RkU5MUJCRDEyRTUwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBC
NzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAvKiBS
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8q
IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE3MjUzQUExMzU0QkJCQzAwMzYw
RjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNzI1M0E4MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNv
bnRyb2xFbGVtZW50cy5jcHAgKi87IH07CiAJCTQxNzI1M0FCMTM1NEJCQkMwMDM2MEYyQSAvKiBN
ZWRpYUNvbnRyb2xFbGVtZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE3MjUzQTkxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1l
bnRzLmggKi87IH07CiAJCTQxN0RBNkQ5MTM3MzRFNkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REE0Q0Yx
MzczNDMyNjAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgKi87IH07CkBAIC0xMTMyMiw3ICsxMTMy
NSw5IEBACiAJCTlBQjFGMzdFMThFMjQ4OUEwMDUzNDc0MyAvKiBDU1NUb0xlbmd0aENvbnZlcnNp
b25EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1RvTGVuZ3RoQ29u
dmVyc2lvbkRhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUFCMUYzN0YxOEUy
NDg5QTAwNTM0NzQzIC8qIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOCAv
KiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjAzRDgw
NzFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBw
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2
NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNX
cmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMTlCNjdFMUI5NjRFNTIw
MDM0ODc0NSAvKiBTaGFkb3dSb290LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTaGFkb3dS
b290LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIxQUIwNzkxNjQ4QzY5RDAw
NTFGM0YyIC8qIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MRm9ybUNv
bnRyb2xzQ29sbGVjdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMUFC
MDdCMTY0OEM3QzQwMDUxRjNGMiAvKiBKU0hUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uQ3VzdG9t
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRNTEZvcm1Db250
cm9sc0NvbGxlY3Rpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTcwNjksNyArMTcwNzQsOSBAQAogCQkJCTcxRTIxODM4MTczNTlGQjgwMDZFNkU0RCAvKiBQbHVn
SW5zUmVzb3VyY2VzLmggKi8sCiAJCQkJNzFFMjE4MzkxNzM1OUZCODAwNkU2RTREIC8qIFBsdWdJ
bnNSZXNvdXJjZXNEYXRhLmNwcCAqLywKIAkJCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyog
UmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovLAorCQkJCTlCMDNEODA2MUJCMzExMEQwMEI3NjRE
OSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8sCiAJCQkJOUIwM0Q4MDcx
QkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmggKi8sCisJ
CQkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnNXcmFwcGVyLmggKi8sCiAJCQkJNDNCODVFRDIxOENCRUM1MjAwRTMxQUY0IC8qIFNlbGVj
dG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5jcHAgKi8sCiAJCQkJNDNC
ODVFRDMxOENCRUM1MjAwRTMxQUY0IC8qIFNlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmls
aXR5RWxlbWVudE1hcC5ncGVyZiAqLywKIAkJCQkyNkFBMEY5RDE4RDJBMThCMDA0MTkzODEgLyog
U2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5jcHAgKi8sCkBAIC0yNTA3Niw2ICsyNTA4Myw3
IEBACiAJCQkJQkMxQTM3QkUwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTVRyYXZlcnNhbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODU1MjZDRDIwQUIwQjdEOTAwMDMwMkVBIC8qIERPTVRyZWVXYWxrZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTg1MEI0MUMzMEFEOUU3RTcwMEE2RUQ0RiAvKiBET01UcmVl
V2Fsa2VySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNkU2RkU5MUJCRDEyRTUwMDBB
NjA0MyAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUM3
RjQ5MTBBQUY3OURDMDA0MDE0REQgLyogRE9NVUlFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
ODU5ODlERDAwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVVJRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRkVEMTNEMkEwQ0VBOTFERjAwRDg5NDY2IC8qIERPTVVJS2l0RXh0ZW5zaW9u
cy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTI1Niw2ICsyNTI2NCw3IEBACiAJCQkJQjJBRkZDN0Uw
RDAwQTVDMTAwMzAwNzREIC8qIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBpbiBIZWFkZXJzICov
LAogCQkJCUIyQzNEQTY2MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250RGVzY3JpcHRpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTRBNkU5RkM4MTNDMTdENTcwMDQ2QTdGOCAvKiBGb250RmVhdHVyZVNl
dHRpbmdzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNDMgLyog
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDA5
RUJEQjYxNkI3RUVBMzAwQ0JBM0ZDIC8qIEZvbnRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTA4NDU2ODA4MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQjUzMjBENkIxMjJBMjRFOTAwMkQxNDQwIC8qIEZvbnRQbGF0Zm9ybURhdGEuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjU3MjAsNiArMjU3MjksNyBAQAogCQkJCUZDOUUwRTREMTY0MTlDMUUw
MDM5MkJFMyAvKiBKU0RPTVdpbmRvd0NTUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjUyRkJCQkMw
REUyN0NCNjAwMDFEMzg2IC8qIEpTRE9NV2luZG93Q3VzdG9tLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0JGQjUzRDBEQ0QyOUNGMDAxOUIzRTUgLyogSlNET01XaW5kb3dTaGVsbC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUUwRTk0NDExMzND
ODlGMDBCNENCMTAgLyogSlNET01XcmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDc4NjhC
QTEzNkI5OTkyMDBENDAzREYgLyogSlNEeW5hbWljc0NvbXByZXNzb3JOb2RlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2NURGMzFGQTA5RDFDQzYwMDAwQkUzMjUgLyogSlNFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2Uu
Y3BwCmluZGV4IDAyM2YzNzZlMjcyNGM0NzMyMWNiMTcxYTZlOTU4YmQzYTg0YTlmN2IuLjMwNmNl
NGI0ODc2NWRiNDY2MGIyMzlmOWY0NDdmZWRhZDhjZjBkZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcApAQCAtNDcsNiArNDcsMTAgQEAKICNp
bmNsdWRlICJXZWJTYWZlSW5jcmVtZW50YWxTd2VlcGVySU9TLmgiCiAjZW5kaWYKIAorI2lmIEVO
QUJMRShTVFJFQU1TX0FQSSkKKyNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0
aW5zLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNjUsNiArNjksOSBAQCBKU0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93QmFzZShW
TSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPERPTVdpbgogICAgICwgbV93
aW5kb3dDbG9zZVdhdGNocG9pbnRzKCh3aW5kb3cgJiYgd2luZG93LT5mcmFtZSgpKSA/IElzV2F0
Y2hlZCA6IElzSW52YWxpZGF0ZWQpCiAgICAgLCBtX2ltcGwod2luZG93KQogICAgICwgbV9zaGVs
bChzaGVsbCkKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisgICAgLCBtX3JlYWRhYmxlU3RyZWFt
RnVuY3Rpb25zKHZtKQorI2VuZGlmCiB7CiB9CiAKQEAgLTczLDE0ICs4MCwzNiBAQCB2b2lkIEpT
RE9NV2luZG93QmFzZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0RPTVdpbmRvd1NoZWxsKiBz
aGVsbCkKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgc2hlbGwpOwogICAgIEFTU0VSVChp
bmhlcml0cyhpbmZvKCkpKTsKIAorI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICBtX3JlYWRh
YmxlU3RyZWFtRnVuY3Rpb25zLmluaXQoKnRoaXMpOworI2VuZGlmCisKICAgICBHbG9iYWxQcm9w
ZXJ0eUluZm8gc3RhdGljR2xvYmFsc1tdID0gewogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+ZG9jdW1lbnQsIGpzTnVsbCgpLCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+d2luZG93
LCBtX3NoZWxsLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpCisgICAgICAgIEdsb2JhbFByb3BlcnR5
SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT53aW5kb3csIG1fc2hlbGwsIERvbnREZWxldGUgfCBSZWFk
T25seSksCisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorI2RlZmluZSBERUNMQVJFX0dMT0JBTF9T
VEFUSUMobmFtZSlcCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhcCisgICAgICAgICAgICBz
dGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPnJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMoKS5uYW1lIyNQcml2YXRlTmFtZSgpLFwKKyAgICAgICAg
ICAgIG1fcmVhZGFibGVTdHJlYW1GdW5jdGlvbnMubV8jI25hbWUjI0Z1bmN0aW9uLmdldCgpICwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgV0VCQ09SRVJFQURBQkxFU1RSRUFNSU5U
RVJOQUxTX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKERFQ0xBUkVfR0xPQkFMX1NUQVRJ
QykKKyN1bmRlZiBFWFBPUlRfRlVOQ1RJT04KKyNlbmRpZgogICAgIH07Ci0gICAgCisKICAgICBh
ZGRTdGF0aWNHbG9iYWxzKHN0YXRpY0dsb2JhbHMsIFdURl9BUlJBWV9MRU5HVEgoc3RhdGljR2xv
YmFscykpOwogfQogCit2b2lkIEpTRE9NV2luZG93QmFzZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwq
IGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIEpTRE9NV2luZG93QmFzZSogdGhp
c09iamVjdCA9IGpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihjZWxsKTsKKyAgICBBU1NFUlRfR0Nf
T0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CisgICAgQmFzZTo6dmlzaXRDaGls
ZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisgICAg
dGhpc09iamVjdC0+bV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9ucy52aXNpdCh2aXNpdG9yKTsKKyNl
bmRpZgorfQorCiB2b2lkIEpTRE9NV2luZG93QmFzZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCiB7
CiAgICAgc3RhdGljX2Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oY2VsbCktPkpTRE9NV2luZG93QmFz
ZTo6fkpTRE9NV2luZG93QmFzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0Jhc2UuaAppbmRleCA4ZjRjNTYyODdjZGMwZTZmMTBlZDg1NjYzNmEzMGU1NTBiMTVh
MzIwLi5mNDA4NzJmNWVhMDk1Yzk4MzYzOWQ2ZWRhNzA5NTdiZTg1OGI0ZTAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAtMjIsNiArMjIsNyBA
QAogCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3QuaCIKKyNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTcz
LDYgKzc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBKU0M6OlZN
JiBjb21tb25WTSgpOwogICAgICAgICBzdGF0aWMgdm9pZCBmaXJlRnJhbWVDbGVhcmVkV2F0Y2hw
b2ludHNGb3JXaW5kb3coRE9NV2luZG93Kik7CisgICAgICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hp
bGRyZW4oSlNDOjpKU0NlbGwqLCBKU0M6OlNsb3RWaXNpdG9yJik7CiAKICAgICBwcm90ZWN0ZWQ6
CiAgICAgICAgIEpTQzo6V2F0Y2hwb2ludFNldCBtX3dpbmRvd0Nsb3NlV2F0Y2hwb2ludHM7CkBA
IC04NCw2ICs4NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgUmVmUHRyPERP
TVdpbmRvdz4gbV9pbXBsOwogICAgICAgICBKU0RPTVdpbmRvd1NoZWxsKiBtX3NoZWxsOworCisj
aWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorICAgICAgICBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5GdW5jdGlvbnMgbV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9uczsKKyNlbmRpZgogICAgIH07
CiAKICAgICAvLyBSZXR1cm5zIGEgSlNET01XaW5kb3cgb3IganNOdWxsKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcAppbmRleCA2N2YzMGUz
NWY5YWQyMDA1MTUxZmI3YzYwM2I2ODk0MWI3MTA0MWI3Li41ZWZjYzMxMjk4YWRhZGM1OTk2YWY4
MjAyYjVkZWUzNWE1ZjJiNjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlSlNCdWlsdGlucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUpTQnVpbHRpbnMuY3BwCkBAIC0yOCw0ICsyOCw1IEBACiAjaWYgRU5BQkxFKFNUUkVB
TVNfQVBJKQogI2luY2x1ZGUgIkNvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwIgogI2lu
Y2x1ZGUgIlJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwIgorI2luY2x1ZGUgIlJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwIgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggMDg2ZDdlYTBiY2I5OWViZTc1
YTc4NzBiNzljMzJiMjllOGRhZDdiOS4uYjQ3YjlkMmIxMDFiMzBlZGM4YWRiMDgxYmYxYjgwZmE0
NjAxMjFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpT
Q2xpZW50RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0Ns
aWVudERhdGEuaApAQCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICNp
bmNsdWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5oIgogI2luY2x1ZGUg
IlJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmgiCisjaW5jbHVkZSAiUmVhZGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCIKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MywxMSArNDQsMTUgQEAgcHVibGljOgogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkK
ICAgICBleHBsaWNpdCBXZWJDb3JlSlNDbGllbnREYXRhKEpTQzo6Vk0mIHZtKQogICAgICAgICA6
IG1fcmVhZGFibGVTdHJlYW1CdWlsdGlucygmdm0pCisgICAgICAgICwgbV9yZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zKCZ2bSkKICAgICAgICAgLCBtX2NvdW50UXVldWluZ1N0cmF0ZWd5
QnVpbHRpbnMoJnZtKQogI2Vsc2UKICAgICBXZWJDb3JlSlNDbGllbnREYXRhKEpTQzo6Vk0mKQog
I2VuZGlmCiAgICAgeworI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICAgICAgbV9yZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmV4cG9ydE5hbWVzKCk7CisjZW5kaWYKICAgICB9CiAK
ICAgICB2aXJ0dWFsIH5XZWJDb3JlSlNDbGllbnREYXRhKCkKQEAgLTgzLDggKzg4LDkgQEAgcHVi
bGljOgogICAgIH0KIAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICBSZWFkYWJsZVN0cmVh
bUJ1aWx0aW5zV3JhcHBlciYgcmVhZGFibGVTdHJlYW1CdWlsdGlucygpIHsgcmV0dXJuIG1fcmVh
ZGFibGVTdHJlYW1CdWlsdGluczsgfQogICAgIENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNX
cmFwcGVyJiBjb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCkgeyByZXR1cm4gbV9jb3VudFF1
ZXVpbmdTdHJhdGVneUJ1aWx0aW5zOyB9CisgICAgUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBw
ZXImIHJlYWRhYmxlU3RyZWFtQnVpbHRpbnMoKSB7IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtQnVp
bHRpbnM7IH0KKyAgICBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlciYgcmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGluczsgfQogI2VuZGlmCiAKIHByaXZhdGU6CkBAIC05Myw2ICs5OSw3IEBA
IHByaXZhdGU6CiAKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCiAgICAgUmVhZGFibGVTdHJlYW1C
dWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbUJ1aWx0aW5zOworICAgIFJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWls
dGluczsKICAgICBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciBtX2NvdW50UXVl
dWluZ1N0cmF0ZWd5QnVpbHRpbnM7CiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucyBiL1NvdXJjZS9XZWJDb3JlL2dlbmVyYXRlLWpzLWJ1
aWx0aW5zCmluZGV4IDA4ZjhjMGU3MTkyODMzZDc4MzVjZDAxN2M4OWM0YjcxODk0MWZjMzAuLjYx
ZGQ2NDJlN2NhMmY4OWE3OGUxZDFhNTAzZDhiOTc4MmI0MDQ0ODAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5zCisrKyBiL1NvdXJjZS9XZWJDb3JlL2dlbmVy
YXRlLWpzLWJ1aWx0aW5zCkBAIC04MCwxMSArODAsMTEgQEAgYnVpbHRpbnNXcmFwcGVySGVhZGVy
LndyaXRlKFRlbXBsYXRlKAogI2luY2x1ZGUgPGJ5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlLmg+CiAjaW5jbHVkZSA8YnVpbHRpbnMvQnVpbHRpblV0aWxzLmg+CiAjaW5jbHVkZSA8
cnVudGltZS9JZGVudGlmaWVyLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU0Z1bmN0aW9uLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgJHtGaWxlbmFtZX1CdWlsdGluc1dyYXBwZXIg
OiBwcml2YXRlIEpTQzo6V2Vha0hhbmRsZU93bmVyCi17CitjbGFzcyAke0ZpbGVuYW1lfUJ1aWx0
aW5zV3JhcHBlciA6IHByaXZhdGUgSlNDOjpXZWFrSGFuZGxlT3duZXIgewogcHVibGljOgogICAg
IGV4cGxpY2l0ICR7RmlsZW5hbWV9QnVpbHRpbnNXcmFwcGVyKEpTQzo6Vk0qIHZtKQogICAgICAg
ICA6IG1fdm0oKnZtKQpAQCAtMTAzLDYgKzEwMyw4IEBAIHB1YmxpYzoKIAogICAgICR7UHJlZml4
fV9GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0JVSUxUSU5fSURFTlRJRklF
Ul9BQ0NFU1NPUikKIAorICAgIHZvaWQgZXhwb3J0TmFtZXMoKTsKKwogcHJpdmF0ZToKICAgICBK
U0M6OlZNJiBtX3ZtOwogCkBAIC0xMjYsNiArMTI4LDQ0IEBAIGlubGluZSBKU0M6OlVubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlKiAke0ZpbGVuYW1lfUJ1aWx0aW5zV3JhcHBlcjo6bmFtZSMjRXhl
Y3V0CiAke1ByZWZpeH1fRk9SRUFDSF9CVUlMVElOKERFRklORV9CVUlMVElOX0VYRUNVVEFCTEVT
KQogI3VuZGVmIERFRklORV9CVUlMVElOX0VYRUNVVEFCTEVTCiAKK2lubGluZSB2b2lkICR7Rmls
ZW5hbWV9QnVpbHRpbnNXcmFwcGVyOjpleHBvcnROYW1lcygpCit7CisjZGVmaW5lIEVYUE9SVF9G
VU5DVElPTl9OQU1FKG5hbWUpIG1fdm0ucHJvcGVydHlOYW1lcy0+YXBwZW5kRXh0ZXJuYWxOYW1l
KG5hbWUjI1B1YmxpY05hbWUoKSwgbmFtZSMjUHJpdmF0ZU5hbWUoKSk7CisgICAgJHtQcmVmaXh9
X0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKEVYUE9SVF9GVU5DVElPTl9OQU1FKQorI3Vu
ZGVmIEVYUE9SVF9GVU5DVElPTl9OQU1FCit9CisKK2NsYXNzICR7RmlsZW5hbWV9QnVpbHRpbkZ1
bmN0aW9ucyB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgJHtGaWxlbmFtZX1CdWlsdGluRnVuY3Rp
b25zKEpTQzo6Vk0mIHZtKSA6IG1fdm0odm0pIHsgfQorCisgICAgdm9pZCBpbml0KEpTQzo6SlNH
bG9iYWxPYmplY3QmKTsKKyAgICB2b2lkIHZpc2l0KEpTQzo6U2xvdFZpc2l0b3ImKTsKKworcHVi
bGljOgorICAgIEpTQzo6Vk0mIG1fdm07CisKKyNkZWZpbmUgREVDTEFSRV9CVUlMVElOX1NPVVJD
RV9NRU1CRVJTKGZ1bmN0aW9uTmFtZSkgXFwKKyAgICBKU0M6OldyaXRlQmFycmllcjxKU0M6OkpT
RnVuY3Rpb24+IG1fIyNmdW5jdGlvbk5hbWUjI0Z1bmN0aW9uOworICAgICR7UHJlZml4fV9GT1JF
QUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0JVSUxUSU5fU09VUkNFX01FTUJFUlMp
CisjdW5kZWYgREVDTEFSRV9CVUlMVElOX1NPVVJDRV9NRU1CRVJTCit9OworCitpbmxpbmUgdm9p
ZCAke0ZpbGVuYW1lfUJ1aWx0aW5GdW5jdGlvbnM6OmluaXQoSlNDOjpKU0dsb2JhbE9iamVjdCYg
Z2xvYmFsT2JqZWN0KQoreworI2RlZmluZSBFWFBPUlRfRlVOQ1RJT04oY29kZU5hbWUsIGZ1bmN0
aW9uTmFtZSwgbGVuZ3RoKVxcCisgICAgbV8jI2Z1bmN0aW9uTmFtZSMjRnVuY3Rpb24uc2V0KG1f
dm0sICZnbG9iYWxPYmplY3QsIEpTQzo6SlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9u
KG1fdm0sIGNvZGVOYW1lIyNHZW5lcmF0b3IobV92bSksICZnbG9iYWxPYmplY3QpKTsKKyAgICAk
e1ByZWZpeH1fRk9SRUFDSF9CVUlMVElOKEVYUE9SVF9GVU5DVElPTikKKyN1bmRlZiBFWFBPUlRf
RlVOQ1RJT04KK30KKworaW5saW5lIHZvaWQgJHtGaWxlbmFtZX1CdWlsdGluRnVuY3Rpb25zOjp2
aXNpdChKU0M6OlNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworI2RlZmluZSBWSVNJVF9GVU5DVElP
TihuYW1lKSB2aXNpdG9yLmFwcGVuZCgmbV8jI25hbWUjI0Z1bmN0aW9uKTsKKyAgICAke1ByZWZp
eH1fRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoVklTSVRfRlVOQ1RJT04pCisjdW5kZWYg
VklTSVRfRlVOQ1RJT04KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
JHtGaWxlbmFtZX1CdWlsdGluc1dyYXBwZXJfaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc4MTdhYTI3YmYzNGNlYTUxYjk2
ODMzM2U5ZTI5ZDFmYTE4YWFjYzAuLjY1YzU5YWRlOWEyODg0NTIwYTFhNmMyMDAyNDU1NjMwOGQx
NmRhMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0wOS0zMCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgorCisgICAgICAgIFtTdHJlYW1zIEFQSV0gQWRk
IHN1cHBvcnQgZm9yIHByaXZhdGUgV2ViQ29yZSBKUyBidWlsdGlucyBmdW5jdGlvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTUxOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFJlYmFzaW5nIHRlc3RzIG5v
dyB0aGF0IHRlZSBpcyBhcHBlYXJpbmcgaW4gdGhlIElETCwgYWx0aG91Z2ggbm90IHlldCBjb25m
b3JtYW50IGluIGl0cyBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIHN0cmVhbXMvcmVmZXJl
bmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXRlZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24v
cmVhZGFibGUtc3RyZWFtLXRlbXBsYXRlZC1leHBlY3RlZC50eHQ6CisKIDIwMTUtMDktMzAgIENv
bW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIxOTAzNjcgYW5kIHIxOTAzNzMuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24v
cmVhZGFibGUtc3RyZWFtLWV4cGVjdGVkLnR4dAppbmRleCBlNjFmN2Q2ZjU4NTk0MTM5YWZhYzc4
NmZhM2I1ZjM1NGZkNWUwOGIzLi5mZGQ5NDU4ODk2MjM4MTM2MmUzYjZjZmU2N2FjYjVlNWExMzEx
MDZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRh
dGlvbi9yZWFkYWJsZS1zdHJlYW0tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVh
bXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS1leHBlY3RlZC50eHQK
QEAgLTEsNyArMSw3IEBACiAKIFBBU1MgUmVhZGFibGVTdHJlYW0gY2FuIGJlIGNvbnN0cnVjdGVk
IHdpdGggbm8gZXJyb3JzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjYW4ndCBiZSBjb25zdHJ1Y3Rl
ZCB3aXRoIGdhcmJhZ2UgCi1GQUlMIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBzaG91bGQgaGF2
ZSB0aGUgY29ycmVjdCBsaXN0IG9mIHByb3BlcnRpZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogc2hv
dWxkIGhhdmUgYWxsIHRoZSBjb3JyZWN0IG1ldGhvZHMgbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVk
IDcgZ290IDYKK0ZBSUwgUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIHNob3VsZCBoYXZlIHRoZSBj
b3JyZWN0IGxpc3Qgb2YgcHJvcGVydGllcyBhc3NlcnRfZmFsc2U6IG1ldGhvZCBzaG91bGQgYmUg
bm9uLWVudW1lcmFibGUgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIFBBU1MgUmVhZGFibGVTdHJl
YW0gY29uc3RydWN0b3Igc2hvdWxkIHRocm93IGZvciBub24tZnVuY3Rpb24gc3RhcnQgYXJndW1l
bnRzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBjYW4gZ2V0IGluaXRpYWwgZ2Fy
YmFnZSBhcyBjYW5jZWwgYXJndW1lbnQgCiBQQVNTIFJlYWRhYmxlU3RyZWFtIGNvbnN0cnVjdG9y
IGNhbiBnZXQgaW5pdGlhbCBnYXJiYWdlIGFzIHB1bGwgYXJndW1lbnQgCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJl
YW0tdGVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxl
bWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZWUtZXhwZWN0ZWQudHh0CmluZGV4IGU3NWYyNmYx
MTBjYjJkN2ZiODE0YWVjNGMzNTMwMjM2OTJmYjc1YjIuLjZlOWU1ZjE5MTMxMjdmYjk1NzY1MGNk
OTA2N2VkNzhlYWE4OWFjZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJl
bmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZWUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0
cmVhbS10ZWUtZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDEyIEBACiAKLUZBSUwgUmVhZGFibGVT
dHJlYW0gdGVlaW5nOiBycy50ZWUoKSByZXR1cm5zIGFuIGFycmF5IG9mIHR3byBSZWFkYWJsZVN0
cmVhbXMgcnMudGVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3JzLnRlZSgpJywgJ3JzLnRlZScg
aXMgdW5kZWZpbmVkKQotRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IHNob3VsZCBiZSBhYmxl
IHRvIHJlYWQgb25lIGJyYW5jaCB0byB0aGUgZW5kIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBvdGhl
ciBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1
bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogdmFsdWVzIHNob3VsZCBiZSBl
cXVhbCBhY3Jvc3MgZWFjaCBicmFuY2ggcnMudGVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Jz
LnRlZSgpJywgJ3JzLnRlZScgaXMgdW5kZWZpbmVkKQotRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVp
bmc6IGVycm9ycyBpbiB0aGUgc291cmNlIHNob3VsZCBwcm9wYWdhdGUgdG8gYm90aCBicmFuY2hl
cyBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1
bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogY2FuY2VsaW5nIGJyYW5jaDEg
c2hvdWxkIG5vdCBpbXBhY3QgYnJhbmNoMiBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
cnMudGVlKCknLCAncnMudGVlJyBpcyB1bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRl
ZWluZzogY2FuY2VsaW5nIGJyYW5jaDIgc2hvdWxkIG5vdCBpbXBhY3QgYnJhbmNoMSBycy50ZWUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1bmRlZmluZWQp
Ci1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogY2FuY2VsaW5nIGJvdGggYnJhbmNoZXMgc2hv
dWxkIGFnZ3JlZ2F0ZSB0aGUgY2FuY2VsIHJlYXNvbnMgaW50byBhbiBhcnJheSBycy50ZWUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1bmRlZmluZWQpCi1G
QUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogZmFpbGluZyB0byBjYW5jZWwgdGhlIG9yaWdpbmFs
IHN0cmVhbSBzaG91bGQgY2F1c2UgY2FuY2VsKCkgdG8gcmVqZWN0IG9uIGJyYW5jaGVzIHJzLnRl
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdycy50ZWUoKScsICdycy50ZWUnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBjbG9zaW5nIHRoZSBvcmlnaW5hbCBzaG91
bGQgaW1tZWRpYXRlbHkgY2xvc2UgdGhlIGJyYW5jaGVzIHJzLnRlZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdycy50ZWUoKScsICdycy50ZWUnIGlzIHVuZGVmaW5lZCkKLUZBSUwgUmVhZGFibGVT
dHJlYW0gdGVlaW5nOiBlcnJvcmluZyB0aGUgb3JpZ2luYWwgc2hvdWxkIGltbWVkaWF0ZWx5IGVy
cm9yIHRoZSBicmFuY2hlcyBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCkn
LCAncnMudGVlJyBpcyB1bmRlZmluZWQpCitGQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogcnMu
dGVlKCkgcmV0dXJucyBhbiBhcnJheSBvZiB0d28gUmVhZGFibGVTdHJlYW1zIHRlZSBpcyBub3Qg
aW1wbGVtZW50ZWQKK0ZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBzaG91bGQgYmUgYWJsZSB0
byByZWFkIG9uZSBicmFuY2ggdG8gdGhlIGVuZCB3aXRob3V0IGFmZmVjdGluZyB0aGUgb3RoZXIg
dGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IHZhbHVl
cyBzaG91bGQgYmUgZXF1YWwgYWNyb3NzIGVhY2ggYnJhbmNoIHRlZSBpcyBub3QgaW1wbGVtZW50
ZWQKK0ZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBlcnJvcnMgaW4gdGhlIHNvdXJjZSBzaG91
bGQgcHJvcGFnYXRlIHRvIGJvdGggYnJhbmNoZXMgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJ
TCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IGNhbmNlbGluZyBicmFuY2gxIHNob3VsZCBub3QgaW1w
YWN0IGJyYW5jaDIgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0
ZWVpbmc6IGNhbmNlbGluZyBicmFuY2gyIHNob3VsZCBub3QgaW1wYWN0IGJyYW5jaDEgdGVlIGlz
IG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IGNhbmNlbGluZyBi
b3RoIGJyYW5jaGVzIHNob3VsZCBhZ2dyZWdhdGUgdGhlIGNhbmNlbCByZWFzb25zIGludG8gYW4g
YXJyYXkgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6
IGZhaWxpbmcgdG8gY2FuY2VsIHRoZSBvcmlnaW5hbCBzdHJlYW0gc2hvdWxkIGNhdXNlIGNhbmNl
bCgpIHRvIHJlamVjdCBvbiBicmFuY2hlcyB0ZWUgaXMgbm90IGltcGxlbWVudGVkCitGQUlMIFJl
YWRhYmxlU3RyZWFtIHRlZWluZzogY2xvc2luZyB0aGUgb3JpZ2luYWwgc2hvdWxkIGltbWVkaWF0
ZWx5IGNsb3NlIHRoZSBicmFuY2hlcyB0ZWUgaXMgbm90IGltcGxlbWVudGVkCitGQUlMIFJlYWRh
YmxlU3RyZWFtIHRlZWluZzogZXJyb3JpbmcgdGhlIG9yaWdpbmFsIHNob3VsZCBpbW1lZGlhdGVs
eSBlcnJvciB0aGUgYnJhbmNoZXMgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1z
dHJlYW0tdGVtcGxhdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJl
bmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0ZWQtZXhwZWN0ZWQudHh0
CmluZGV4IDdmZDQ2NTcyMDI2NTc3N2ViMjFiZGU0YjY3NzQ2NGE1MTAwNDMyZGYuLmY3ODc1ZDJj
YzVhMjE5N2IyZGRhNzczYjUyODE1NzIzMzJkM2FiYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0
ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxl
bWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0ZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDYg
KzEsNiBAQAogCiBQQVNTIFJ1bm5pbmcgdGVtcGxhdGVkUlNFbXB0eSB3aXRoIFJlYWRhYmxlU3Ry
ZWFtIChlbXB0eSkgCi1GQUlMIGluc3RhbmNlcyBoYXZlIHRoZSBjb3JyZWN0IG1ldGhvZHMgYW5k
IHByb3BlcnRpZXMgYXNzZXJ0X2VxdWFsczogaGFzIGEgdGVlIG1ldGhvZCBleHBlY3RlZCAiZnVu
Y3Rpb24iIGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgaW5zdGFuY2VzIGhhdmUgdGhlIGNvcnJl
Y3QgbWV0aG9kcyBhbmQgcHJvcGVydGllcyAKIFBBU1MgUnVubmluZyB0ZW1wbGF0ZWRSU0VtcHR5
UmVhZGVyIHdpdGggUmVhZGFibGVTdHJlYW0gKGVtcHR5KSByZWFkZXIgCiBQQVNTIGluc3RhbmNl
cyBoYXZlIHRoZSBjb3JyZWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgCiBQQVNTIGxvY2tlZCBz
aG91bGQgYmUgdHJ1ZSAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262240</attachid>
            <date>2015-10-01 00:45:11 -0700</date>
            <delta_ts>2015-10-01 04:36:00 -0700</delta_ts>
            <desc>Rebasing for landing</desc>
            <filename>bug-149518-20151001044445.patch</filename>
            <type>text/plain</type>
            <size>33585</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZjBlMWQ0YTIzZjRiOTE0NjI5OTU0ZWY4ZDRjZmQ1NDRhZmM5Njk0Li45NTZhODk3NDA4YzQyYTZj
ZTMxYWI3ZWU2ZjA4YzhjMjc0MTJmMjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNS0wOS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3Jm
LmNhbm9uLmZyPgorCisgICAgICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIHByaXZh
dGUgV2ViQ29yZSBKUyBidWlsdGlucyBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTUxOAorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgIEFkZGluZyBBUEkgdG8gYWRkIHByaXZhdGUgaWRlbnRpZmll
cnMgb24gdGhlIGZseS4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHRvIHN1cHBvcnQgcHJpdmF0ZSBK
UyBCdWlsdGluIGZ1bmN0aW9ucy9wcml2YXRlIEpTIEJ1aWx0aW4gbmFtZXMgaW4gV2ViQ29yZS4K
KworICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAoSlNDOjpCdWls
dGluTmFtZXM6OmFwcGVuZEV4dGVybmFsTmFtZSk6CisgICAgICAgICogcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkNvbW1vbklkZW50aWZpZXJzOjphcHBlbmRF
eHRlcm5hbE5hbWUpOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKwog
MjAxNS0wOS0zMCAgSmFlaHVuIExpbSAgPGxqYWVodW4ubGltQHNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIGNsZWFudXAgYWZ0ZXIgcjE5MDM4NQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQwMmYy
NjQ4YzE4ZTkwYTZhYjU2NDBlNTI1YTE5MDkxZDRlZjYzYTguLjA4NmUzNTc1YjA3ZjQ1OWRmOWZi
NjkwNDA5YjMzNTk5NjhjYzYwNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxNS0w
OS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgorCisgICAg
ICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIHByaXZhdGUgV2ViQ29yZSBKUyBidWls
dGlucyBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0OTUxOAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFVzaW5nIFJlYWRhYmxlU3RyZWFtIHRlZSBtZXRob2QgYXMgYSB0ZXN0YmVkIHRvIGFkZCBz
dXBwb3J0IGZvciBwcml2YXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZnVuY3Rpb25zLgorICAgICAg
ICBQcml2YXRlIGZ1bmN0aW9ucyBhcmUgaG9va2VkIHRvIEpTRE9NV2luZG93QmFzZSwgYXMgaXQg
aXMgdGhlIG9uZSBjb25uZWN0ZWQgdG8gV2ViQ29yZUNsaWVudERhdGEuCisgICAgICAgIFdlYkNv
cmVDbGllbnREYXRhIGlzIHJlc3BvbnNpYmxlIHRvIGV4cG9ydCB0aGUgcHJpdmF0ZSBmdW5jdGlv
biBzeW1ib2xzIHRvIHRoZSBWTS4KKworICAgICAgICBVcGRhdGVkIGdlbmVyYXRlLWpzLWJ1aWx0
aW5zIHNjcmlwdCB0byBnZW5lcmF0ZSBhIGNsYXNzIHRoYXQgY2FuIGNyZWF0ZSBhbmQgb3duIGFs
bCBKUyBmdW5jdGlvbnMuCisgICAgICAgIFRoaXMgY2xhc3MgaXMgdXNlZCBieSBKU0RPTVdpbmRv
d0Jhc2UgdG8gY3JlYXRlIHRoZSBKUyBidWlsdGluIGZ1bmN0aW9ucy4KKyAgICAgICAgSXQgaXMg
YWxzbyB1c2VkIHRvIG1hbmFnZSB0aGUgR0Mgb2YgdGhlc2Ugb2JqZWN0cy4KKworICAgICAgICBD
b3ZlcmVkIGJ5IHJlYmFzZWQgdGVzdHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRk
aW5nIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzIGJ1aWx0aW4gZmlsZXMuCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMuY3BwOiBEaXR0by4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBE
aXR0by4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaWRsOiBBZGRp
bmcgdGVlIGRlY2xhcmF0aW9uIGFzIGJ1aWx0aW4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW0uanM6CisgICAgICAgICh0ZWUpOiBDYWxsaW5nIEB0ZWVSZWFkYWJsZVN0
cmVhbQorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5q
czogQmFyZWJvbmUgQHRlZVJlYWRhYmxlU3RyZWFtIGltcGxlbWVudGF0aW9uLgorICAgICAgICAo
dGVlUmVhZGFibGVTdHJlYW0pOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2o6IEFkZGluZyBSZWFkYWJsZVN0cmVhbUludGVybmFscyBidWlsdGluIGZpbGVzLgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkaW5nIFJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzIGJ1aWx0aW4gZmlsZXMuCisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6SlNE
T01XaW5kb3dCYXNlKTogQ3JlYXRpbmcgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVu
Y3Rpb25zIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6ZmluaXNo
Q3JlYXRpb24pOiBDcmVhdGluZyBidWlsdGluIGZ1bmN0aW9ucyB0aHJvdWdoIFJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbkZ1bmN0aW9ucyBhbmQgcmVnaXN0ZXJpbmcgdGhlbSB0byB0aGUg
SlMgZW5naW5lLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjp2aXNpdENoaWxk
cmVuKTogRW5zdXJpbmcgR0MgZG9lcyBub3QgY29sbGVjdCBwcml2YXRlIGJ1aWx0aW4gZnVuY3Rp
b25zIHRocm91Z2ggUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVuY3Rpb25zIG9iamVj
dAorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkNv
cmVKU0NsaWVudERhdGE6OldlYkNvcmVKU0NsaWVudERhdGEpOiBFeHBvcnRpbmcgcHJpdmF0ZSBu
YW1lcyBvZiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zCisgICAgICAgIChXZWJDb3Jl
OjpXZWJDb3JlSlNDbGllbnREYXRhOjpyZWFkYWJsZVN0cmVhbUJ1aWx0aW5zKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OnJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnMpOgorICAgICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zOiBBZGRpbmcgc3VwcG9ydCBm
b3IgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVuY3Rpb25zIGFuZCBleHBvcnROYW1l
cy4KKwogMjAxNS0xMC0wMSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gQ3JlYXRlIEJ5dGVMZW5ndGhRdWV1aW5n
U3RyYXRlZ3kgb2JqZWN0IGFzIHBlciBzcGVjCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmgKaW5kZXggYmYyOGRiODNmN2JiYmEyZTZmMGJhYjk3NWI2ZTlm
NGQ0YTM3ODg5ZS4uZjJkM2ZjZTliNGQxZWY3ZjRmMzgzMWUzODY0Njg0MGNkODBjNWNlNSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaApAQCAtNTks
NiArNTksOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgSWRlbnRpZmllciogbG9va1VwUHJpdmF0ZU5h
bWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwogICAgIGNvbnN0IElkZW50aWZpZXImIGxvb2tV
cFB1YmxpY05hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwogICAgIAorICAgIHZvaWQgYXBw
ZW5kRXh0ZXJuYWxOYW1lKGNvbnN0IElkZW50aWZpZXImIHB1YmxpY05hbWUsIGNvbnN0IElkZW50
aWZpZXImIHByaXZhdGVOYW1lKTsKKwogICAgIEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05f
TkFNRShERUNMQVJFX0JVSUxUSU5fSURFTlRJRklFUl9BQ0NFU1NPUikKICAgICBKU0NfQ09NTU9O
X1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKERFQ0xBUkVfQlVJTFRJTl9J
REVOVElGSUVSX0FDQ0VTU09SKQogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19F
QUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xfQUNDRVNTT1IpCkBA
IC0xMDgsNiArMTEwLDExIEBAIGlubGluZSBjb25zdCBJZGVudGlmaWVyJiBCdWlsdGluTmFtZXM6
Omxvb2tVcFB1YmxpY05hbWUoY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCiAgICAgcmV0dXJuIG1f
ZW1wdHlJZGVudGlmaWVyOwogfQogCitpbmxpbmUgdm9pZCBCdWlsdGluTmFtZXM6OmFwcGVuZEV4
dGVybmFsTmFtZShjb25zdCBJZGVudGlmaWVyJiBwdWJsaWNOYW1lLCBjb25zdCBJZGVudGlmaWVy
JiBwcml2YXRlTmFtZSkKK3sKKyAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQocHJpdmF0ZU5h
bWUuaW1wbCgpLCAmcHVibGljTmFtZSk7CisgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRkKHB1
YmxpY05hbWUuaW1wbCgpLCAmcHJpdmF0ZU5hbWUpOworfQogCiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmNwcAppbmRleCBhYTM5
MmNlYjhkMWEwNjVhOTI1MmFhNzc0NGRhYjhkOWIxNjA1NGU5Li5kNmQ0Yjc1YTNkNWQ0ODA3OWM3
NWExMjAyZTRkODA5OWMxNjc0OTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuY3BwCkBAIC03OCw1ICs3OCw5IEBAIElkZW50aWZp
ZXIgQ29tbW9uSWRlbnRpZmllcnM6Omxvb2tVcFB1YmxpY05hbWUoY29uc3QgSWRlbnRpZmllciYg
aWRlbnQpIGNvbnN0CiAgICAgcmV0dXJuIG1fYnVpbHRpbk5hbWVzLT5sb29rVXBQdWJsaWNOYW1l
KGlkZW50KTsKIH0KIAordm9pZCBDb21tb25JZGVudGlmaWVyczo6YXBwZW5kRXh0ZXJuYWxOYW1l
KGNvbnN0IElkZW50aWZpZXImIHB1YmxpY05hbWUsIGNvbnN0IElkZW50aWZpZXImIHByaXZhdGVO
YW1lKQoreworICAgIG1fYnVpbHRpbk5hbWVzLT5hcHBlbmRFeHRlcm5hbE5hbWUocHVibGljTmFt
ZSwgcHJpdmF0ZU5hbWUpOworfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IGM1MWI0NmQ3
MTZhMjU5OTdhMTczMTY4M2JmZjc4Y2EzNDFjNDFmYzQuLjAzMzA2YzhmNmUyMjJjYjA0ZTI4Yzg0
NTNiOGJiZGRmZjFlYTFhMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMzU5LDYgKzM1OSwxMCBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgICAgICBjb25zdCBCeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5JiBieXRlY29kZUlu
dHJpbnNpY1JlZ2lzdHJ5KCkgY29uc3QgeyByZXR1cm4gbV9ieXRlY29kZUludHJpbnNpY1JlZ2lz
dHJ5OyB9CiAKKyAgICAgICAgLy8gQ2FsbGVycyBvZiB0aGlzIG1ldGhvZCBzaG91bGQgbWFrZSBz
dXJlIHRoYXQgaWRlbnRpZmllcnMgZ2l2ZW4gdG8gdGhpcyBtZXRob2QgCisgICAgICAgIC8vIHN1
cnZpdmUgdGhlIGxpZmV0aW1lIG9mIENvbW1vbklkZW50aWZpZXJzIGFuZCByZWxhdGVkIFZNLgor
ICAgICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGFwcGVuZEV4dGVybmFsTmFtZShjb25zdCBJ
ZGVudGlmaWVyJiBwdWJsaWNOYW1lLCBjb25zdCBJZGVudGlmaWVyJiBwcml2YXRlTmFtZSk7CisK
ICAgICBwcml2YXRlOgogICAgICAgICBCeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5IG1fYnl0ZWNv
ZGVJbnRyaW5zaWNSZWdpc3RyeTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyYmZi
ZTllNzE2NzMyNzg4MTYxNThkZmYzODIyZjkyMGVlNzE3NDAyLi45ZTM3NmNjYTFhNDAwMTZlY2Rk
OTEyYzhiOTE5ZGRiMWZkMDRlYWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzM1NSw2ICsz
MzU1LDcgQEAgc2V0KFdFQkNPUkVfSlNfQlVJTFRJTlMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1
bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcwogICAgICR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcwogICAgICR7V0VCQ09S
RV9ESVJ9L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcworICAgICR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwogKQogCiBXRUJL
SVRfSU5DTFVERV9DT05GSUdfRklMRVNfSUZfRVhJU1RTKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCmluZGV4IDAzNTgwYjUxYjBkNDNiMDg3MGJiOGQzOGI2NGI5MDdlNjVmNTBkNDUuLjBl
ZjU3OTI2MmQxNjYwYTkzZDY2MDcxYzM5YzM2MDllODdkYTJlZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMTI1Myw2ICsxMjUzLDcgQEAgV0VCQ09SRV9KU19CVUlMVElOUyA9
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0
ZWd5LmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJh
dGVneS5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0u
anMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzLmpzIFwKICMKIAogYWxsIDogJChXRUJDT1JFX0pTX0JVSUxUSU5TOiUuanM9JUJ1aWx0aW5z
LmNwcCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJs
ZVN0cmVhbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW0uaWRsCmluZGV4IDZhYzI1OTVhYWJkNWJhZjY1NDhjZWJjZDhhMzJhYjAwZGE4MGQyMWIuLmM2
ZWY4YWE0MGZjNWY3M2QxZTRhYjAyNmViNTgxYWQyNjg4ZjhmODQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmlkbApAQCAtMzcsNiArMzcs
NyBAQAogICAgIFtSYWlzZXNFeGNlcHRpb25dIFJlYWRhYmxlU3RyZWFtUmVhZGVyIGdldFJlYWRl
cigpOwogICAgIFtDdXN0b21dIFByb21pc2UgcGlwZVRvKGFueSBzdHJlYW1zLCBhbnkgb3B0aW9u
cyk7CiAgICAgW0pTQnVpbHRpbl0gT2JqZWN0IHBpcGVUaHJvdWdoKGFueSBkZXN0LCBhbnkgb3B0
aW9ucyk7CisgICAgW0pTQnVpbHRpbl0gT2JqZWN0IHRlZSgpOwogCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gbG9ja2VkOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwppbmRleCA3YzYzMmY1OGQxYmRmNWI5NzVkNTJkNmM3
NGRmMzcwYjdjYWI2Y2MyLi42NmIxOGQ0YWRmMjNlOTBmYTA4YmZmN2I0MDZmZmFkNGUyYTZlODkx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW0uanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFt
LmpzCkBAIC0zMCwzICszMCwxMSBAQCBmdW5jdGlvbiBwaXBlVGhyb3VnaChzdHJlYW1zLCBvcHRp
b25zKQogICAgIHRoaXMucGlwZVRvKHN0cmVhbXMud3JpdGFibGUsIG9wdGlvbnMpOwogICAgIHJl
dHVybiBzdHJlYW1zLnJlYWRhYmxlOwogfQorCitmdW5jdGlvbiB0ZWUoKQoreworICAgICJ1c2Ug
c3RyaWN0IjsKKworICAgIC8vIFRPRE86IGNoZWNrIHRoaXMgaXMgYSBSZWFkYWJsZVN0cmVhbQor
ICAgIHJldHVybiBAdGVlUmVhZGFibGVTdHJlYW0odGhpcywgZmFsc2UpCit9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMu
anMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5h
bHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGZjN2UyZWY3ZjRlMjA1NTM5OTM5ODI0ZWI0NzU5M2M5ZGE4ZWY2
NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbUludGVybmFscy5qcwpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE1IENhbm9uIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZnVuY3Rpb24gdGVlUmVhZGFibGVTdHJlYW0o
c3RyZWFtLCBzaG91bGRDbG9uZSkKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICB0aHJvdyBu
ZXcgQFR5cGVFcnJvcigidGVlIGlzIG5vdCBpbXBsZW1lbnRlZCIpOworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggYWZmZGM5ODJmMWNk
ODAzZTA4ZTNkZmEwZjc4OThkMDQxZThlOGVjOS4uZWI1OTAzMDI4OTI2NGY4OTMxYTY0MmZhNjgz
ZWJiM2ViMjliZTAwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCkBAIC0zOTQ2LDYgKzM5NDYsMjAgQEAKICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rp
b258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rp
b258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+CisgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9y
bUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcUmVhZGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUp
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUmVhZGFibGVTdHJlYW1Db250cm9sbGVy
LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
N2Q4MTNlMDFiOGNkODkyNjdiZDNmMTZhMGIwZWUxYzFlOTYzNDY3Zi4uOGYyZTQ4OGM1YmE2OTVk
MmNlOGEwMzZmMjNkZmY1ZmVhNTZlNzk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTUwNCw2ICsxNTA0LDkgQEAKIAkJNDE2
MkE0NTcxMDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MkE0NTUx
MDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwICovOyB9
OwogCQk0MTYyQTQ1ODEwMTE0NjQ3MDBERkYzRUQgLyogSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2
MkE0NTYxMDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCAq
LzsgfTsKIAkJNDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZFMjlB
NTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5nUHJveHkuaCAqLzsgfTsKKwkJNDE2
RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2
MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDE2RTZGRTkx
QkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjRE
OCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQzIC8qIFJlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAzNjBGMkEg
LyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlh
Q29udHJvbEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMu
aCAqLzsgfTsKIAkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRDRjEzNzM0
MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTExMzI3LDcgKzExMzMwLDkg
QEAKIAkJOUFCMUYzN0UxOEUyNDg5QTAwNTM0NzQzIC8qIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTVG9MZW5ndGhDb252ZXJz
aW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QUIxRjM3RjE4RTI0ODlB
MDA1MzQ3NDMgLyogQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ4IC8qIFJl
YWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVhZGFibGVTdHJlYW1CdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUludGVy
bmFsc0J1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDNEODA3MUJC
MzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkg
LyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBw
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIxOUI2N0UxQjk2NEU1MjAwMzQ4
NzQ1IC8qIFNoYWRvd1Jvb3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNoYWRvd1Jvb3Qu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjFBQjA3OTE2NDhDNjlEMDA1MUYz
RjIgLyogSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxGb3JtQ29udHJv
bHNDb2xsZWN0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIxQUIwN0Ix
NjQ4QzdDNDAwNTFGM0YyIC8qIEpTSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25DdXN0b20uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MRm9ybUNvbnRyb2xz
Q29sbGVjdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzA3
Nyw3ICsxNzA4Miw5IEBACiAJCQkJNzFFMjE4MzgxNzM1OUZCODAwNkU2RTREIC8qIFBsdWdJbnNS
ZXNvdXJjZXMuaCAqLywKIAkJCQk3MUUyMTgzOTE3MzU5RkI4MDA2RTZFNEQgLyogUGx1Z0luc1Jl
c291cmNlc0RhdGEuY3BwICovLAogCQkJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOCAvKiBSZWFk
YWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8sCisJCQkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ5IC8q
IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLywKIAkJCQk5QjAzRDgwNzFCQjMx
MTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIuaCAqLywKKwkJCQk5
QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
c1dyYXBwZXIuaCAqLywKIAkJCQk0M0I4NUVEMjE4Q0JFQzUyMDBFMzFBRjQgLyogU2VsZWN0b3JQ
c2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmNwcCAqLywKIAkJCQk0M0I4NUVE
MzE4Q0JFQzUyMDBFMzFBRjQgLyogU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlF
bGVtZW50TWFwLmdwZXJmICovLAogCQkJCTI2QUEwRjlEMThEMkExOEIwMDQxOTM4MSAvKiBTZWxl
Y3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmNwcCAqLywKQEAgLTI1MDg0LDYgKzI1MDkxLDcgQEAK
IAkJCQlCQzFBMzdCRTA5N0M3MTVGMDAxOUYzRDggLyogRE9NVHJhdmVyc2FsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NTUyNkNEMjBBQjBCN0Q5MDAwMzAyRUEgLyogRE9NVHJlZVdhbGtlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODUwQjQxQzMwQUQ5RTdFNzAwQTZFRDRGIC8qIERPTVRyZWVXYWxr
ZXJJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQz
IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1QzdGNDkx
MEFBRjc5REMwMDQwMTRERCAvKiBET01VSUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTk4
OUREMDBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NVUlFdmVudEludGVybmFsLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGRUQxM0QyQTBDRUE5MURGMDBEODk0NjYgLyogRE9NVUlLaXRFeHRlbnNpb25zLmgg
aW4gSGVhZGVycyAqLywKQEAgLTI1MjY0LDYgKzI1MjcyLDcgQEAKIAkJCQlCMkFGRkM3RTBEMDBB
NUMxMDAzMDA3NEQgLyogRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjJDM0RBNjYwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnREZXNjcmlwdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNEE2RTlGQzgxM0MxN0Q1NzAwNDZBN0Y4IC8qIEZvbnRGZWF0dXJlU2V0dGlu
Z3MuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0MyAvKiBSZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MDlFQkRC
NjE2QjdFRUEzMDBDQkEzRkMgLyogRm9udExvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg0
NTY4MDgxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCNTMyMEQ2QjEyMkEyNEU5MDAyRDE0NDAgLyogRm9udFBsYXRmb3JtRGF0YS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNTcyOSw2ICsyNTczOCw3IEBACiAJCQkJRkM5RTBFNEQxNjQxOUMxRTAwMzky
QkUzIC8qIEpTRE9NV2luZG93Q1NTLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTJGQkJCQzBERTI3
Q0I2MDAwMUQzODYgLyogSlNET01XaW5kb3dDdXN0b20uaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
QkZCNTNEMERDRDI5Q0YwMDE5QjNFNSAvKiBKU0RPTVdpbmRvd1NoZWxsLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDMgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5h
bHNCdWlsdGluc1dyYXBwZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1RTBFOTQ0MTEzM0M4OUYw
MEI0Q0IxMCAvKiBKU0RPTVdyYXBwZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENzg2OEJBMTM2
Qjk5OTIwMEQ0MDNERiAvKiBKU0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTY1REYzMUZBMDlEMUNDNjAwMDBCRTMyNSAvKiBKU0VsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAK
aW5kZXggMDIzZjM3NmUyNzI0YzQ3MzIxY2IxNzFhNmU5NThiZDNhODRhOWY3Yi4uMzA2Y2U0YjQ4
NzY1ZGI0NjYwYjIzOWY5ZjQ0N2ZlZGFkOGNmMGRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC00Nyw2ICs0NywxMCBAQAogI2luY2x1
ZGUgIldlYlNhZmVJbmNyZW1lbnRhbFN3ZWVwZXJJT1MuaCIKICNlbmRpZgogCisjaWYgRU5BQkxF
KFNUUkVBTVNfQVBJKQorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMu
aCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC02NSw2ICs2OSw5IEBAIEpTRE9NV2luZG93QmFzZTo6SlNET01XaW5kb3dCYXNlKFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV2luCiAgICAgLCBtX3dpbmRv
d0Nsb3NlV2F0Y2hwb2ludHMoKHdpbmRvdyAmJiB3aW5kb3ctPmZyYW1lKCkpID8gSXNXYXRjaGVk
IDogSXNJbnZhbGlkYXRlZCkKICAgICAsIG1faW1wbCh3aW5kb3cpCiAgICAgLCBtX3NoZWxsKHNo
ZWxsKQorI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICAsIG1fcmVhZGFibGVTdHJlYW1GdW5j
dGlvbnModm0pCisjZW5kaWYKIHsKIH0KIApAQCAtNzMsMTQgKzgwLDM2IEBAIHZvaWQgSlNET01X
aW5kb3dCYXNlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NV2luZG93U2hlbGwqIHNoZWxs
KQogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBzaGVsbCk7CiAgICAgQVNTRVJUKGluaGVy
aXRzKGluZm8oKSkpOwogCisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorICAgIG1fcmVhZGFibGVT
dHJlYW1GdW5jdGlvbnMuaW5pdCgqdGhpcyk7CisjZW5kaWYKKwogICAgIEdsb2JhbFByb3BlcnR5
SW5mbyBzdGF0aWNHbG9iYWxzW10gPSB7CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5w
cm9wZXJ0eU5hbWVzLT5kb2N1bWVudCwganNOdWxsKCksIERvbnREZWxldGUgfCBSZWFkT25seSks
Ci0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT53aW5kb3csIG1f
c2hlbGwsIERvbnREZWxldGUgfCBSZWFkT25seSkKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZv
KHZtLnByb3BlcnR5TmFtZXMtPndpbmRvdywgbV9zaGVsbCwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisjZGVmaW5lIERFQ0xBUkVfR0xPQkFMX1NUQVRJ
QyhuYW1lKVwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKFwKKyAgICAgICAgICAgIHN0YXRp
Y19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+cmVhZGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucygpLm5hbWUjI1ByaXZhdGVOYW1lKCksXAorICAgICAgICAgICAg
bV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9ucy5tXyMjbmFtZSMjRnVuY3Rpb24uZ2V0KCkgLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBXRUJDT1JFUkVBREFCTEVTVFJFQU1JTlRFUk5B
TFNfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoREVDTEFSRV9HTE9CQUxfU1RBVElDKQor
I3VuZGVmIEVYUE9SVF9GVU5DVElPTgorI2VuZGlmCiAgICAgfTsKLSAgICAKKwogICAgIGFkZFN0
YXRpY0dsb2JhbHMoc3RhdGljR2xvYmFscywgV1RGX0FSUkFZX0xFTkdUSChzdGF0aWNHbG9iYWxz
KSk7CiB9CiAKK3ZvaWQgSlNET01XaW5kb3dCYXNlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2Vs
bCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2Jq
ZWN0ID0ganNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpF
Q1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVu
KHRoaXNPYmplY3QsIHZpc2l0b3IpOworI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICB0aGlz
T2JqZWN0LT5tX3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zLnZpc2l0KHZpc2l0b3IpOworI2VuZGlm
Cit9CisKIHZvaWQgSlNET01XaW5kb3dCYXNlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKIHsKICAg
ICBzdGF0aWNfY2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihjZWxsKS0+SlNET01XaW5kb3dCYXNlOjp+
SlNET01XaW5kb3dCYXNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93QmFzZS5oCmluZGV4IDhmNGM1NjI4N2NkYzBlNmYxMGVkODU2NjM2YTMwZTU1MGIxNWEzMjAu
LmY0MDg3MmY1ZWEwOTVjOTgzNjM5ZDZlZGE3MDk1N2JlODU4YjRlMDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC0yMiw2ICsyMiw3IEBACiAK
ICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5o
IgorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzMsNiAr
NzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3RhdGljIEpTQzo6Vk0mIGNv
bW1vblZNKCk7CiAgICAgICAgIHN0YXRpYyB2b2lkIGZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50
c0ZvcldpbmRvdyhET01XaW5kb3cqKTsKKyAgICAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJl
bihKU0M6OkpTQ2VsbCosIEpTQzo6U2xvdFZpc2l0b3ImKTsKIAogICAgIHByb3RlY3RlZDoKICAg
ICAgICAgSlNDOjpXYXRjaHBvaW50U2V0IG1fd2luZG93Q2xvc2VXYXRjaHBvaW50czsKQEAgLTg0
LDYgKzg2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBSZWZQdHI8RE9NV2lu
ZG93PiBtX2ltcGw7CiAgICAgICAgIEpTRE9NV2luZG93U2hlbGwqIG1fc2hlbGw7CisKKyNpZiBF
TkFCTEUoU1RSRUFNU19BUEkpCisgICAgICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRp
bkZ1bmN0aW9ucyBtX3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zOworI2VuZGlmCiAgICAgfTsKIAog
ICAgIC8vIFJldHVybnMgYSBKU0RPTVdpbmRvdyBvciBqc051bGwoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMuY3BwCmluZGV4IDljMzg4YmI1OTA5
OWExYmYxZDU5MDY0N2UzNjhiZWY4YjYxY2Y2MzIuLjBjY2I0MTFmYTI4NGU2YzNlZTFhOTIyMWE4
MjhlYzg0MmVlMTEzMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVKU0J1aWx0aW5zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlSlNCdWlsdGlucy5jcHAKQEAgLTI5LDQgKzI5LDUgQEAKICNpbmNsdWRlICJCeXRlTGVuZ3Ro
UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwIgogI2luY2x1ZGUgIkNvdW50UXVldWluZ1N0cmF0
ZWd5QnVpbHRpbnMuY3BwIgogI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwIgor
I2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwIgogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5k
ZXggMGI3NWYxZGJmOGUzZWJhZTZkNmRlYWQzYWUxNjExZGU0MmQ5MjhlZi4uMDNkYzY0MTdjNTZj
Y2I4MGYyMTViOGE3MWYwMDdkN2Y0MmRiY2I1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1
ZGUgIkJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXIuaCIKICNpbmNsdWRl
ICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5oIgogI2luY2x1ZGUgIlJlYWRh
YmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmgiCisjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW1JbnRl
cm5hbHNCdWlsdGluc1dyYXBwZXIuaCIKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC00NCwxMiArNDUsMTYgQEAgcHVibGljOgogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICAgICBl
eHBsaWNpdCBXZWJDb3JlSlNDbGllbnREYXRhKEpTQzo6Vk0mIHZtKQogICAgICAgICA6IG1fcmVh
ZGFibGVTdHJlYW1CdWlsdGlucygmdm0pCisgICAgICAgICwgbV9yZWFkYWJsZVN0cmVhbUludGVy
bmFsc0J1aWx0aW5zKCZ2bSkKICAgICAgICAgLCBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lC
dWlsdGlucygmdm0pCiAgICAgICAgICwgbV9jb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCZ2
bSkKICNlbHNlCiAgICAgV2ViQ29yZUpTQ2xpZW50RGF0YShKU0M6OlZNJikKICNlbmRpZgogICAg
IHsKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisgICAgICAgIG1fcmVhZGFibGVTdHJlYW1JbnRl
cm5hbHNCdWlsdGlucy5leHBvcnROYW1lcygpOworI2VuZGlmCiAgICAgfQogCiAgICAgdmlydHVh
bCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCkBAIC04Niw2ICs5MSw3IEBAIHB1YmxpYzoKIAogI2lm
IEVOQUJMRShTVFJFQU1TX0FQSSkKICAgICBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlciYg
cmVhZGFibGVTdHJlYW1CdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1CdWlsdGlu
czsgfQorICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyJiByZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUludGVy
bmFsc0J1aWx0aW5zOyB9CiAgICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3Jh
cHBlciYgYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCkgeyByZXR1cm4gbV9ieXRl
TGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7IH0KICAgICBDb3VudFF1ZXVpbmdTdHJhdGVn
eUJ1aWx0aW5zV3JhcHBlciYgY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucygpIHsgcmV0dXJu
IG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsgfQogI2VuZGlmCkBAIC05Niw2ICsxMDIs
NyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogICAgIFJlYWRhYmxlU3Ry
ZWFtQnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1CdWlsdGluczsKKyAgICBSZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3RyZWFtSW50ZXJuYWxz
QnVpbHRpbnM7CiAgICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciBt
X2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsKICAgICBDb3VudFF1ZXVpbmdTdHJh
dGVneUJ1aWx0aW5zV3JhcHBlciBtX2NvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5zIGIvU291
cmNlL1dlYkNvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMKaW5kZXggMDhmOGMwZTcxOTI4MzNkNzgz
NWNkMDE3Yzg5YzRiNzE4OTQxZmMzMC4uNjFkZDY0MmU3Y2EyZjg5YTc4ZTFkMWE1MDNkOGI5Nzgy
YjQwNDQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMK
KysrIGIvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMKQEAgLTgwLDExICs4MCwx
MSBAQCBidWlsdGluc1dyYXBwZXJIZWFkZXIud3JpdGUoVGVtcGxhdGUoCiAjaW5jbHVkZSA8Ynl0
ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaD4KICNpbmNsdWRlIDxidWlsdGlucy9C
dWlsdGluVXRpbHMuaD4KICNpbmNsdWRlIDxydW50aW1lL0lkZW50aWZpZXIuaD4KKyNpbmNsdWRl
IDxydW50aW1lL0pTRnVuY3Rpb24uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyAk
e0ZpbGVuYW1lfUJ1aWx0aW5zV3JhcHBlciA6IHByaXZhdGUgSlNDOjpXZWFrSGFuZGxlT3duZXIK
LXsKK2NsYXNzICR7RmlsZW5hbWV9QnVpbHRpbnNXcmFwcGVyIDogcHJpdmF0ZSBKU0M6OldlYWtI
YW5kbGVPd25lciB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgJHtGaWxlbmFtZX1CdWlsdGluc1dy
YXBwZXIoSlNDOjpWTSogdm0pCiAgICAgICAgIDogbV92bSgqdm0pCkBAIC0xMDMsNiArMTAzLDgg
QEAgcHVibGljOgogCiAgICAgJHtQcmVmaXh9X0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1F
KERFQ0xBUkVfQlVJTFRJTl9JREVOVElGSUVSX0FDQ0VTU09SKQogCisgICAgdm9pZCBleHBvcnRO
YW1lcygpOworCiBwcml2YXRlOgogICAgIEpTQzo6Vk0mIG1fdm07CiAKQEAgLTEyNiw2ICsxMjgs
NDQgQEAgaW5saW5lIEpTQzo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqICR7RmlsZW5hbWV9
QnVpbHRpbnNXcmFwcGVyOjpuYW1lIyNFeGVjdXQKICR7UHJlZml4fV9GT1JFQUNIX0JVSUxUSU4o
REVGSU5FX0JVSUxUSU5fRVhFQ1VUQUJMRVMpCiAjdW5kZWYgREVGSU5FX0JVSUxUSU5fRVhFQ1VU
QUJMRVMKIAoraW5saW5lIHZvaWQgJHtGaWxlbmFtZX1CdWlsdGluc1dyYXBwZXI6OmV4cG9ydE5h
bWVzKCkKK3sKKyNkZWZpbmUgRVhQT1JUX0ZVTkNUSU9OX05BTUUobmFtZSkgbV92bS5wcm9wZXJ0
eU5hbWVzLT5hcHBlbmRFeHRlcm5hbE5hbWUobmFtZSMjUHVibGljTmFtZSgpLCBuYW1lIyNQcml2
YXRlTmFtZSgpKTsKKyAgICAke1ByZWZpeH1fRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUo
RVhQT1JUX0ZVTkNUSU9OX05BTUUpCisjdW5kZWYgRVhQT1JUX0ZVTkNUSU9OX05BTUUKK30KKwor
Y2xhc3MgJHtGaWxlbmFtZX1CdWlsdGluRnVuY3Rpb25zIHsKK3B1YmxpYzoKKyAgICBleHBsaWNp
dCAke0ZpbGVuYW1lfUJ1aWx0aW5GdW5jdGlvbnMoSlNDOjpWTSYgdm0pIDogbV92bSh2bSkgeyB9
CisKKyAgICB2b2lkIGluaXQoSlNDOjpKU0dsb2JhbE9iamVjdCYpOworICAgIHZvaWQgdmlzaXQo
SlNDOjpTbG90VmlzaXRvciYpOworCitwdWJsaWM6CisgICAgSlNDOjpWTSYgbV92bTsKKworI2Rl
ZmluZSBERUNMQVJFX0JVSUxUSU5fU09VUkNFX01FTUJFUlMoZnVuY3Rpb25OYW1lKSBcXAorICAg
IEpTQzo6V3JpdGVCYXJyaWVyPEpTQzo6SlNGdW5jdGlvbj4gbV8jI2Z1bmN0aW9uTmFtZSMjRnVu
Y3Rpb247CisgICAgJHtQcmVmaXh9X0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKERFQ0xB
UkVfQlVJTFRJTl9TT1VSQ0VfTUVNQkVSUykKKyN1bmRlZiBERUNMQVJFX0JVSUxUSU5fU09VUkNF
X01FTUJFUlMKK307CisKK2lubGluZSB2b2lkICR7RmlsZW5hbWV9QnVpbHRpbkZ1bmN0aW9uczo6
aW5pdChKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit7CisjZGVmaW5lIEVYUE9S
VF9GVU5DVElPTihjb2RlTmFtZSwgZnVuY3Rpb25OYW1lLCBsZW5ndGgpXFwKKyAgICBtXyMjZnVu
Y3Rpb25OYW1lIyNGdW5jdGlvbi5zZXQobV92bSwgJmdsb2JhbE9iamVjdCwgSlNDOjpKU0Z1bmN0
aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24obV92bSwgY29kZU5hbWUjI0dlbmVyYXRvcihtX3Zt
KSwgJmdsb2JhbE9iamVjdCkpOworICAgICR7UHJlZml4fV9GT1JFQUNIX0JVSUxUSU4oRVhQT1JU
X0ZVTkNUSU9OKQorI3VuZGVmIEVYUE9SVF9GVU5DVElPTgorfQorCitpbmxpbmUgdm9pZCAke0Zp
bGVuYW1lfUJ1aWx0aW5GdW5jdGlvbnM6OnZpc2l0KEpTQzo6U2xvdFZpc2l0b3ImIHZpc2l0b3Ip
Cit7CisjZGVmaW5lIFZJU0lUX0ZVTkNUSU9OKG5hbWUpIHZpc2l0b3IuYXBwZW5kKCZtXyMjbmFt
ZSMjRnVuY3Rpb24pOworICAgICR7UHJlZml4fV9GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFN
RShWSVNJVF9GVU5DVElPTikKKyN1bmRlZiBWSVNJVF9GVU5DVElPTgorfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyAke0ZpbGVuYW1lfUJ1aWx0aW5zV3JhcHBlcl9oCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNjA3M2I5YTNhOWRlZDY1N2ZkMDVlZGVlMjJjZTc0MzMxNmM5NjZhZC4uZDFiNmM2YWI4
ZTliYjU1NjAwZGIxNjA5YzMyYWM2M2U3YTA5NzUwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDE1LTA5LTMwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisK
KyAgICAgICAgW1N0cmVhbXMgQVBJXSBBZGQgc3VwcG9ydCBmb3IgcHJpdmF0ZSBXZWJDb3JlIEpT
IGJ1aWx0aW5zIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ5NTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisK
KyAgICAgICAgUmViYXNpbmcgdGVzdHMgbm93IHRoYXQgdGVlIGlzIGFwcGVhcmluZyBpbiB0aGUg
SURMLCBhbHRob3VnaCBub3QgeWV0IGNvbmZvcm1hbnQgaW4gaXRzIGltcGxlbWVudGF0aW9uLgor
CisgICAgICAgICogc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3Ry
ZWFtLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRh
dGlvbi9yZWFkYWJsZS1zdHJlYW0tdGVlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdHJlYW1z
L3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tdGVtcGxhdGVkLWV4cGVj
dGVkLnR4dDoKKwogMjAxNS0xMC0wMSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJp
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gQ3JlYXRlIEJ5dGVMZW5ndGhR
dWV1aW5nU3RyYXRlZ3kgb2JqZWN0IGFzIHBlciBzcGVjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVh
ZGFibGUtc3RyZWFtLWV4cGVjdGVkLnR4dAppbmRleCBlNjFmN2Q2ZjU4NTk0MTM5YWZhYzc4NmZh
M2I1ZjM1NGZkNWUwOGIzLi5mZGQ5NDU4ODk2MjM4MTM2MmUzYjZjZmU2N2FjYjVlNWExMzExMDZh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlv
bi9yZWFkYWJsZS1zdHJlYW0tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMv
cmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS1leHBlY3RlZC50eHQKQEAg
LTEsNyArMSw3IEBACiAKIFBBU1MgUmVhZGFibGVTdHJlYW0gY2FuIGJlIGNvbnN0cnVjdGVkIHdp
dGggbm8gZXJyb3JzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjYW4ndCBiZSBjb25zdHJ1Y3RlZCB3
aXRoIGdhcmJhZ2UgCi1GQUlMIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBzaG91bGQgaGF2ZSB0
aGUgY29ycmVjdCBsaXN0IG9mIHByb3BlcnRpZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogc2hvdWxk
IGhhdmUgYWxsIHRoZSBjb3JyZWN0IG1ldGhvZHMgbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDcg
Z290IDYKK0ZBSUwgUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIHNob3VsZCBoYXZlIHRoZSBjb3Jy
ZWN0IGxpc3Qgb2YgcHJvcGVydGllcyBhc3NlcnRfZmFsc2U6IG1ldGhvZCBzaG91bGQgYmUgbm9u
LWVudW1lcmFibGUgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIFBBU1MgUmVhZGFibGVTdHJlYW0g
Y29uc3RydWN0b3Igc2hvdWxkIHRocm93IGZvciBub24tZnVuY3Rpb24gc3RhcnQgYXJndW1lbnRz
IAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBjYW4gZ2V0IGluaXRpYWwgZ2FyYmFn
ZSBhcyBjYW5jZWwgYXJndW1lbnQgCiBQQVNTIFJlYWRhYmxlU3RyZWFtIGNvbnN0cnVjdG9yIGNh
biBnZXQgaW5pdGlhbCBnYXJiYWdlIGFzIHB1bGwgYXJndW1lbnQgCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0t
dGVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVu
dGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZWUtZXhwZWN0ZWQudHh0CmluZGV4IGU3NWYyNmYxMTBj
YjJkN2ZiODE0YWVjNGMzNTMwMjM2OTJmYjc1YjIuLjZlOWU1ZjE5MTMxMjdmYjk1NzY1MGNkOTA2
N2VkNzhlYWE4OWFjZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNl
LWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZWUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVh
bS10ZWUtZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDEyIEBACiAKLUZBSUwgUmVhZGFibGVTdHJl
YW0gdGVlaW5nOiBycy50ZWUoKSByZXR1cm5zIGFuIGFycmF5IG9mIHR3byBSZWFkYWJsZVN0cmVh
bXMgcnMudGVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3JzLnRlZSgpJywgJ3JzLnRlZScgaXMg
dW5kZWZpbmVkKQotRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IHNob3VsZCBiZSBhYmxlIHRv
IHJlYWQgb25lIGJyYW5jaCB0byB0aGUgZW5kIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBvdGhlciBy
cy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogdmFsdWVzIHNob3VsZCBiZSBlcXVh
bCBhY3Jvc3MgZWFjaCBicmFuY2ggcnMudGVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3JzLnRl
ZSgpJywgJ3JzLnRlZScgaXMgdW5kZWZpbmVkKQotRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6
IGVycm9ycyBpbiB0aGUgc291cmNlIHNob3VsZCBwcm9wYWdhdGUgdG8gYm90aCBicmFuY2hlcyBy
cy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogY2FuY2VsaW5nIGJyYW5jaDEgc2hv
dWxkIG5vdCBpbXBhY3QgYnJhbmNoMiBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMu
dGVlKCknLCAncnMudGVlJyBpcyB1bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWlu
ZzogY2FuY2VsaW5nIGJyYW5jaDIgc2hvdWxkIG5vdCBpbXBhY3QgYnJhbmNoMSBycy50ZWUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1bmRlZmluZWQpCi1G
QUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogY2FuY2VsaW5nIGJvdGggYnJhbmNoZXMgc2hvdWxk
IGFnZ3JlZ2F0ZSB0aGUgY2FuY2VsIHJlYXNvbnMgaW50byBhbiBhcnJheSBycy50ZWUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1bmRlZmluZWQpCi1GQUlM
IFJlYWRhYmxlU3RyZWFtIHRlZWluZzogZmFpbGluZyB0byBjYW5jZWwgdGhlIG9yaWdpbmFsIHN0
cmVhbSBzaG91bGQgY2F1c2UgY2FuY2VsKCkgdG8gcmVqZWN0IG9uIGJyYW5jaGVzIHJzLnRlZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdycy50ZWUoKScsICdycy50ZWUnIGlzIHVuZGVmaW5lZCkK
LUZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBjbG9zaW5nIHRoZSBvcmlnaW5hbCBzaG91bGQg
aW1tZWRpYXRlbHkgY2xvc2UgdGhlIGJyYW5jaGVzIHJzLnRlZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdycy50ZWUoKScsICdycy50ZWUnIGlzIHVuZGVmaW5lZCkKLUZBSUwgUmVhZGFibGVTdHJl
YW0gdGVlaW5nOiBlcnJvcmluZyB0aGUgb3JpZ2luYWwgc2hvdWxkIGltbWVkaWF0ZWx5IGVycm9y
IHRoZSBicmFuY2hlcyBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAn
cnMudGVlJyBpcyB1bmRlZmluZWQpCitGQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogcnMudGVl
KCkgcmV0dXJucyBhbiBhcnJheSBvZiB0d28gUmVhZGFibGVTdHJlYW1zIHRlZSBpcyBub3QgaW1w
bGVtZW50ZWQKK0ZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBzaG91bGQgYmUgYWJsZSB0byBy
ZWFkIG9uZSBicmFuY2ggdG8gdGhlIGVuZCB3aXRob3V0IGFmZmVjdGluZyB0aGUgb3RoZXIgdGVl
IGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IHZhbHVlcyBz
aG91bGQgYmUgZXF1YWwgYWNyb3NzIGVhY2ggYnJhbmNoIHRlZSBpcyBub3QgaW1wbGVtZW50ZWQK
K0ZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBlcnJvcnMgaW4gdGhlIHNvdXJjZSBzaG91bGQg
cHJvcGFnYXRlIHRvIGJvdGggYnJhbmNoZXMgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBS
ZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IGNhbmNlbGluZyBicmFuY2gxIHNob3VsZCBub3QgaW1wYWN0
IGJyYW5jaDIgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVp
bmc6IGNhbmNlbGluZyBicmFuY2gyIHNob3VsZCBub3QgaW1wYWN0IGJyYW5jaDEgdGVlIGlzIG5v
dCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IGNhbmNlbGluZyBib3Ro
IGJyYW5jaGVzIHNob3VsZCBhZ2dyZWdhdGUgdGhlIGNhbmNlbCByZWFzb25zIGludG8gYW4gYXJy
YXkgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IGZh
aWxpbmcgdG8gY2FuY2VsIHRoZSBvcmlnaW5hbCBzdHJlYW0gc2hvdWxkIGNhdXNlIGNhbmNlbCgp
IHRvIHJlamVjdCBvbiBicmFuY2hlcyB0ZWUgaXMgbm90IGltcGxlbWVudGVkCitGQUlMIFJlYWRh
YmxlU3RyZWFtIHRlZWluZzogY2xvc2luZyB0aGUgb3JpZ2luYWwgc2hvdWxkIGltbWVkaWF0ZWx5
IGNsb3NlIHRoZSBicmFuY2hlcyB0ZWUgaXMgbm90IGltcGxlbWVudGVkCitGQUlMIFJlYWRhYmxl
U3RyZWFtIHRlZWluZzogZXJyb3JpbmcgdGhlIG9yaWdpbmFsIHNob3VsZCBpbW1lZGlhdGVseSBl
cnJvciB0aGUgYnJhbmNoZXMgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJl
YW0tdGVtcGxhdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNl
LWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0ZWQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDdmZDQ2NTcyMDI2NTc3N2ViMjFiZGU0YjY3NzQ2NGE1MTAwNDMyZGYuLmY3ODc1ZDJjYzVh
MjE5N2IyZGRhNzczYjUyODE1NzIzMzJkM2FiYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0ZWQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVu
dGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0ZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEs
NiBAQAogCiBQQVNTIFJ1bm5pbmcgdGVtcGxhdGVkUlNFbXB0eSB3aXRoIFJlYWRhYmxlU3RyZWFt
IChlbXB0eSkgCi1GQUlMIGluc3RhbmNlcyBoYXZlIHRoZSBjb3JyZWN0IG1ldGhvZHMgYW5kIHBy
b3BlcnRpZXMgYXNzZXJ0X2VxdWFsczogaGFzIGEgdGVlIG1ldGhvZCBleHBlY3RlZCAiZnVuY3Rp
b24iIGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgaW5zdGFuY2VzIGhhdmUgdGhlIGNvcnJlY3Qg
bWV0aG9kcyBhbmQgcHJvcGVydGllcyAKIFBBU1MgUnVubmluZyB0ZW1wbGF0ZWRSU0VtcHR5UmVh
ZGVyIHdpdGggUmVhZGFibGVTdHJlYW0gKGVtcHR5KSByZWFkZXIgCiBQQVNTIGluc3RhbmNlcyBo
YXZlIHRoZSBjb3JyZWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgCiBQQVNTIGxvY2tlZCBzaG91
bGQgYmUgdHJ1ZSAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262246</attachid>
            <date>2015-10-01 04:36:06 -0700</date>
            <delta_ts>2015-10-01 05:31:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149518-20151001083540.patch</filename>
            <type>text/plain</type>
            <size>33714</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZjBlMWQ0YTIzZjRiOTE0NjI5OTU0ZWY4ZDRjZmQ1NDRhZmM5Njk0Li45NTZhODk3NDA4YzQyYTZj
ZTMxYWI3ZWU2ZjA4YzhjMjc0MTJmMjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNS0wOS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3Jm
LmNhbm9uLmZyPgorCisgICAgICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIHByaXZh
dGUgV2ViQ29yZSBKUyBidWlsdGlucyBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTUxOAorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgIEFkZGluZyBBUEkgdG8gYWRkIHByaXZhdGUgaWRlbnRpZmll
cnMgb24gdGhlIGZseS4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHRvIHN1cHBvcnQgcHJpdmF0ZSBK
UyBCdWlsdGluIGZ1bmN0aW9ucy9wcml2YXRlIEpTIEJ1aWx0aW4gbmFtZXMgaW4gV2ViQ29yZS4K
KworICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAoSlNDOjpCdWls
dGluTmFtZXM6OmFwcGVuZEV4dGVybmFsTmFtZSk6CisgICAgICAgICogcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5jcHA6CisgICAgICAgIChKU0M6OkNvbW1vbklkZW50aWZpZXJzOjphcHBlbmRF
eHRlcm5hbE5hbWUpOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKwog
MjAxNS0wOS0zMCAgSmFlaHVuIExpbSAgPGxqYWVodW4ubGltQHNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIGNsZWFudXAgYWZ0ZXIgcjE5MDM4NQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQwMmYy
NjQ4YzE4ZTkwYTZhYjU2NDBlNTI1YTE5MDkxZDRlZjYzYTguLjA4NmUzNTc1YjA3ZjQ1OWRmOWZi
NjkwNDA5YjMzNTk5NjhjYzYwNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxNS0w
OS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgorCisgICAg
ICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIHByaXZhdGUgV2ViQ29yZSBKUyBidWls
dGlucyBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0OTUxOAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFVzaW5nIFJlYWRhYmxlU3RyZWFtIHRlZSBtZXRob2QgYXMgYSB0ZXN0YmVkIHRvIGFkZCBz
dXBwb3J0IGZvciBwcml2YXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZnVuY3Rpb25zLgorICAgICAg
ICBQcml2YXRlIGZ1bmN0aW9ucyBhcmUgaG9va2VkIHRvIEpTRE9NV2luZG93QmFzZSwgYXMgaXQg
aXMgdGhlIG9uZSBjb25uZWN0ZWQgdG8gV2ViQ29yZUNsaWVudERhdGEuCisgICAgICAgIFdlYkNv
cmVDbGllbnREYXRhIGlzIHJlc3BvbnNpYmxlIHRvIGV4cG9ydCB0aGUgcHJpdmF0ZSBmdW5jdGlv
biBzeW1ib2xzIHRvIHRoZSBWTS4KKworICAgICAgICBVcGRhdGVkIGdlbmVyYXRlLWpzLWJ1aWx0
aW5zIHNjcmlwdCB0byBnZW5lcmF0ZSBhIGNsYXNzIHRoYXQgY2FuIGNyZWF0ZSBhbmQgb3duIGFs
bCBKUyBmdW5jdGlvbnMuCisgICAgICAgIFRoaXMgY2xhc3MgaXMgdXNlZCBieSBKU0RPTVdpbmRv
d0Jhc2UgdG8gY3JlYXRlIHRoZSBKUyBidWlsdGluIGZ1bmN0aW9ucy4KKyAgICAgICAgSXQgaXMg
YWxzbyB1c2VkIHRvIG1hbmFnZSB0aGUgR0Mgb2YgdGhlc2Ugb2JqZWN0cy4KKworICAgICAgICBD
b3ZlcmVkIGJ5IHJlYmFzZWQgdGVzdHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRk
aW5nIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzIGJ1aWx0aW4gZmlsZXMuCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMuY3BwOiBEaXR0by4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBE
aXR0by4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaWRsOiBBZGRp
bmcgdGVlIGRlY2xhcmF0aW9uIGFzIGJ1aWx0aW4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW0uanM6CisgICAgICAgICh0ZWUpOiBDYWxsaW5nIEB0ZWVSZWFkYWJsZVN0
cmVhbQorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5q
czogQmFyZWJvbmUgQHRlZVJlYWRhYmxlU3RyZWFtIGltcGxlbWVudGF0aW9uLgorICAgICAgICAo
dGVlUmVhZGFibGVTdHJlYW0pOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2o6IEFkZGluZyBSZWFkYWJsZVN0cmVhbUludGVybmFscyBidWlsdGluIGZpbGVzLgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkaW5nIFJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzIGJ1aWx0aW4gZmlsZXMuCisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6SlNE
T01XaW5kb3dCYXNlKTogQ3JlYXRpbmcgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVu
Y3Rpb25zIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6ZmluaXNo
Q3JlYXRpb24pOiBDcmVhdGluZyBidWlsdGluIGZ1bmN0aW9ucyB0aHJvdWdoIFJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbkZ1bmN0aW9ucyBhbmQgcmVnaXN0ZXJpbmcgdGhlbSB0byB0aGUg
SlMgZW5naW5lLgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjp2aXNpdENoaWxk
cmVuKTogRW5zdXJpbmcgR0MgZG9lcyBub3QgY29sbGVjdCBwcml2YXRlIGJ1aWx0aW4gZnVuY3Rp
b25zIHRocm91Z2ggUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVuY3Rpb25zIG9iamVj
dAorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkNv
cmVKU0NsaWVudERhdGE6OldlYkNvcmVKU0NsaWVudERhdGEpOiBFeHBvcnRpbmcgcHJpdmF0ZSBu
YW1lcyBvZiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zCisgICAgICAgIChXZWJDb3Jl
OjpXZWJDb3JlSlNDbGllbnREYXRhOjpyZWFkYWJsZVN0cmVhbUJ1aWx0aW5zKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OnJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnMpOgorICAgICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zOiBBZGRpbmcgc3VwcG9ydCBm
b3IgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVuY3Rpb25zIGFuZCBleHBvcnROYW1l
cy4KKwogMjAxNS0xMC0wMSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gQ3JlYXRlIEJ5dGVMZW5ndGhRdWV1aW5n
U3RyYXRlZ3kgb2JqZWN0IGFzIHBlciBzcGVjCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmgKaW5kZXggYmYyOGRiODNmN2JiYmEyZTZmMGJhYjk3NWI2ZTlm
NGQ0YTM3ODg5ZS4uMjlkMGEzNWJmNjU3NmZiZDU3MWZkYWUxODE3MWQwOWQ3NGNmMWNlNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaApAQCAtNTks
NiArNTksOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgSWRlbnRpZmllciogbG9va1VwUHJpdmF0ZU5h
bWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwogICAgIGNvbnN0IElkZW50aWZpZXImIGxvb2tV
cFB1YmxpY05hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwogICAgIAorICAgIHZvaWQgYXBw
ZW5kRXh0ZXJuYWxOYW1lKGNvbnN0IElkZW50aWZpZXImIHB1YmxpY05hbWUsIGNvbnN0IElkZW50
aWZpZXImIHByaXZhdGVOYW1lKTsKKwogICAgIEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05f
TkFNRShERUNMQVJFX0JVSUxUSU5fSURFTlRJRklFUl9BQ0NFU1NPUikKICAgICBKU0NfQ09NTU9O
X1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKERFQ0xBUkVfQlVJTFRJTl9J
REVOVElGSUVSX0FDQ0VTU09SKQogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19F
QUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xfQUNDRVNTT1IpCkBA
IC0xMDgsNiArMTEwLDE2IEBAIGlubGluZSBjb25zdCBJZGVudGlmaWVyJiBCdWlsdGluTmFtZXM6
Omxvb2tVcFB1YmxpY05hbWUoY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCiAgICAgcmV0dXJuIG1f
ZW1wdHlJZGVudGlmaWVyOwogfQogCitpbmxpbmUgdm9pZCBCdWlsdGluTmFtZXM6OmFwcGVuZEV4
dGVybmFsTmFtZShjb25zdCBJZGVudGlmaWVyJiBwdWJsaWNOYW1lLCBjb25zdCBJZGVudGlmaWVy
JiBwcml2YXRlTmFtZSkKK3sKKyNpZm5kZWYgTkRFQlVHCisgICAgZm9yIChjb25zdCBhdXRvJiBr
ZXkgOiBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5rZXlzKCkpCisgICAgICAgIEFTU0VSVChwdWJsaWNO
YW1lLnN0cmluZygpICE9ICprZXkpOworI2VuZGlmCisKKyAgICBtX3ByaXZhdGVUb1B1YmxpY01h
cC5hZGQocHJpdmF0ZU5hbWUuaW1wbCgpLCAmcHVibGljTmFtZSk7CisgICAgbV9wdWJsaWNUb1By
aXZhdGVNYXAuYWRkKHB1YmxpY05hbWUuaW1wbCgpLCAmcHJpdmF0ZU5hbWUpOworfQogCiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZp
ZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmNwcAppbmRleCBhYTM5MmNlYjhkMWEwNjVhOTI1MmFhNzc0NGRhYjhkOWIxNjA1NGU5Li5kNmQ0
Yjc1YTNkNWQ0ODA3OWM3NWExMjAyZTRkODA5OWMxNjc0OTEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuY3BwCkBAIC03OCw1ICs3
OCw5IEBAIElkZW50aWZpZXIgQ29tbW9uSWRlbnRpZmllcnM6Omxvb2tVcFB1YmxpY05hbWUoY29u
c3QgSWRlbnRpZmllciYgaWRlbnQpIGNvbnN0CiAgICAgcmV0dXJuIG1fYnVpbHRpbk5hbWVzLT5s
b29rVXBQdWJsaWNOYW1lKGlkZW50KTsKIH0KIAordm9pZCBDb21tb25JZGVudGlmaWVyczo6YXBw
ZW5kRXh0ZXJuYWxOYW1lKGNvbnN0IElkZW50aWZpZXImIHB1YmxpY05hbWUsIGNvbnN0IElkZW50
aWZpZXImIHByaXZhdGVOYW1lKQoreworICAgIG1fYnVpbHRpbk5hbWVzLT5hcHBlbmRFeHRlcm5h
bE5hbWUocHVibGljTmFtZSwgcHJpdmF0ZU5hbWUpOworfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZp
ZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5o
CmluZGV4IGM1MWI0NmQ3MTZhMjU5OTdhMTczMTY4M2JmZjc4Y2EzNDFjNDFmYzQuLjAzMzA2Yzhm
NmUyMjJjYjA0ZTI4Yzg0NTNiOGJiZGRmZjFlYTFhMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMzU5LDYgKzM1OSwxMCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBjb25zdCBCeXRlY29kZUludHJpbnNpY1JlZ2lz
dHJ5JiBieXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5KCkgY29uc3QgeyByZXR1cm4gbV9ieXRlY29k
ZUludHJpbnNpY1JlZ2lzdHJ5OyB9CiAKKyAgICAgICAgLy8gQ2FsbGVycyBvZiB0aGlzIG1ldGhv
ZCBzaG91bGQgbWFrZSBzdXJlIHRoYXQgaWRlbnRpZmllcnMgZ2l2ZW4gdG8gdGhpcyBtZXRob2Qg
CisgICAgICAgIC8vIHN1cnZpdmUgdGhlIGxpZmV0aW1lIG9mIENvbW1vbklkZW50aWZpZXJzIGFu
ZCByZWxhdGVkIFZNLgorICAgICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGFwcGVuZEV4dGVy
bmFsTmFtZShjb25zdCBJZGVudGlmaWVyJiBwdWJsaWNOYW1lLCBjb25zdCBJZGVudGlmaWVyJiBw
cml2YXRlTmFtZSk7CisKICAgICBwcml2YXRlOgogICAgICAgICBCeXRlY29kZUludHJpbnNpY1Jl
Z2lzdHJ5IG1fYnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeTsKICAgICB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCAyYmZiZTllNzE2NzMyNzg4MTYxNThkZmYzODIyZjkyMGVlNzE3NDAyLi45ZTM3
NmNjYTFhNDAwMTZlY2RkOTEyYzhiOTE5ZGRiMWZkMDRlYWJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtMzM1NSw2ICszMzU1LDcgQEAgc2V0KFdFQkNPUkVfSlNfQlVJTFRJTlMKICAgICAke1dF
QkNPUkVfRElSfS9Nb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcwog
ICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5q
cwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwor
ICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFs
cy5qcwogKQogCiBXRUJLSVRfSU5DTFVERV9DT05GSUdfRklMRVNfSUZfRVhJU1RTKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDAzNTgwYjUxYjBkNDNiMDg3MGJiOGQzOGI2NGI5
MDdlNjVmNTBkNDUuLjBlZjU3OTI2MmQxNjYwYTkzZDY2MDcxYzM5YzM2MDllODdkYTJlZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTI1Myw2ICsxMjUzLDcgQEAgV0VCQ09S
RV9KU19CVUlMVElOUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcy9CeXRlTGVu
Z3RoUXVldWluZ1N0cmF0ZWd5LmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcy9D
b3VudFF1ZXVpbmdTdHJhdGVneS5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW0uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzLmpzIFwKICMKIAogYWxsIDogJChXRUJDT1JFX0pTX0JVSUxUSU5T
OiUuanM9JUJ1aWx0aW5zLmNwcCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW0uaWRsCmluZGV4IDZhYzI1OTVhYWJkNWJhZjY1NDhjZWJjZDhhMzJh
YjAwZGE4MGQyMWIuLmM2ZWY4YWE0MGZjNWY3M2QxZTRhYjAyNmViNTgxYWQyNjg4ZjhmODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmlk
bApAQCAtMzcsNiArMzcsNyBAQAogICAgIFtSYWlzZXNFeGNlcHRpb25dIFJlYWRhYmxlU3RyZWFt
UmVhZGVyIGdldFJlYWRlcigpOwogICAgIFtDdXN0b21dIFByb21pc2UgcGlwZVRvKGFueSBzdHJl
YW1zLCBhbnkgb3B0aW9ucyk7CiAgICAgW0pTQnVpbHRpbl0gT2JqZWN0IHBpcGVUaHJvdWdoKGFu
eSBkZXN0LCBhbnkgb3B0aW9ucyk7CisgICAgW0pTQnVpbHRpbl0gT2JqZWN0IHRlZSgpOwogCiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gbG9ja2VkOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwppbmRleCA3YzYzMmY1OGQx
YmRmNWI5NzVkNTJkNmM3NGRmMzcwYjdjYWI2Y2MyLi42NmIxOGQ0YWRmMjNlOTBmYTA4YmZmN2I0
MDZmZmFkNGUyYTZlODkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW0uanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1JlYWRhYmxlU3RyZWFtLmpzCkBAIC0zMCwzICszMCwxMSBAQCBmdW5jdGlvbiBwaXBlVGhyb3Vn
aChzdHJlYW1zLCBvcHRpb25zKQogICAgIHRoaXMucGlwZVRvKHN0cmVhbXMud3JpdGFibGUsIG9w
dGlvbnMpOwogICAgIHJldHVybiBzdHJlYW1zLnJlYWRhYmxlOwogfQorCitmdW5jdGlvbiB0ZWUo
KQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIC8vIFRPRE86IGNoZWNrIHRoaXMgaXMgYSBS
ZWFkYWJsZVN0cmVhbQorICAgIHJldHVybiBAdGVlUmVhZGFibGVTdHJlYW0odGhpcywgZmFsc2Up
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGZjN2UyZWY3ZjRlMjA1NTM5OTM5ODI0
ZWI0NzU5M2M5ZGE4ZWY2NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwpAQCAtMCwwICsxLDMxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE1IENhbm9uIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZnVuY3Rpb24gdGVl
UmVhZGFibGVTdHJlYW0oc3RyZWFtLCBzaG91bGRDbG9uZSkKK3sKKyAgICAidXNlIHN0cmljdCI7
CisKKyAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigidGVlIGlzIG5vdCBpbXBsZW1lbnRlZCIpOwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggYWZmZGM5ODJmMWNkODAzZTA4ZTNkZmEwZjc4OThkMDQxZThlOGVjOS4uZWI1OTAzMDI4OTI2
NGY4OTMxYTY0MmZhNjgzZWJiM2ViMjliZTAwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0zOTQ2LDYgKzM5NDYsMjAgQEAKICAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9D
bENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHAiPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNh
aXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZm
aXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3Vm
Zml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2lu
Q2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0
aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0
aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZv
cm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUmVhZGFibGVT
dHJlYW1Db250cm9sbGVyLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggN2Q4MTNlMDFiOGNkODkyNjdiZDNmMTZhMGIwZWUxYzFlOTYzNDY3Zi4u
OGYyZTQ4OGM1YmE2OTVkMmNlOGEwMzZmMjNkZmY1ZmVhNTZlNzk2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTUwNCw2ICsx
NTA0LDkgQEAKIAkJNDE2MkE0NTcxMDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE2MkE0NTUxMDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUuY3BwICovOyB9OwogCQk0MTYyQTQ1ODEwMTE0NjQ3MDBERkYzRUQgLyogSlNEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE2MkE0NTYxMDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUuaCAqLzsgfTsKIAkJNDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtl
clJlcG9ydGluZ1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5nUHJveHku
aCAqLzsgfTsKKwkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2
MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDE2RTZGRUExQkJEMTY4NDAw
MEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNzFCQjMxMTBE
MDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTcyNTNBQTEz
NTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJB
IC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAw
MzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFD
b250cm9sRWxlbWVudHMuaCAqLzsgfTsKIAkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIElu
dGVybmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTdEQTRDRjEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTEx
MzI3LDcgKzExMzMwLDkgQEAKIAkJOUFCMUYzN0UxOEUyNDg5QTAwNTM0NzQzIC8qIENTU1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
QUIxRjM3RjE4RTI0ODlBMDA1MzQ3NDMgLyogQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NUb0xlbmd0aENvbnZlcnNp
b25EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEw
RDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3Jh
cHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUJ1
aWx0aW5zV3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5QjAzRDgwNzFC
QjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1JbnRlcm5h
bHNCdWlsdGluc1dyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIxOUI2
N0UxQjk2NEU1MjAwMzQ4NzQ1IC8qIFNoYWRvd1Jvb3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFNoYWRvd1Jvb3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjFBQjA3
OTE2NDhDNjlEMDA1MUYzRjIgLyogSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOUIxQUIwN0IxNjQ4QzdDNDAwNTFGM0YyIC8qIEpTSFRNTEZvcm1Db250cm9sc0NvbGxl
Y3Rpb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNI
VE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNzA3Nyw3ICsxNzA4Miw5IEBACiAJCQkJNzFFMjE4MzgxNzM1OUZCODAwNkU2
RTREIC8qIFBsdWdJbnNSZXNvdXJjZXMuaCAqLywKIAkJCQk3MUUyMTgzOTE3MzU5RkI4MDA2RTZF
NEQgLyogUGx1Z0luc1Jlc291cmNlc0RhdGEuY3BwICovLAogCQkJCTlCMDNEODA2MUJCMzExMEQw
MEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8sCisJCQkJOUIwM0Q4MDYxQkIz
MTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLywKIAkJ
CQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBw
ZXIuaCAqLywKKwkJCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLywKIAkJCQk0M0I4NUVEMjE4Q0JFQzUyMDBFMzFB
RjQgLyogU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmNwcCAq
LywKIAkJCQk0M0I4NUVEMzE4Q0JFQzUyMDBFMzFBRjQgLyogU2VsZWN0b3JQc2V1ZG9DbGFzc0Fu
ZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmdwZXJmICovLAogCQkJCTI2QUEwRjlEMThEMkExOEIw
MDQxOTM4MSAvKiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmNwcCAqLywKQEAgLTI1MDg0
LDYgKzI1MDkxLDcgQEAKIAkJCQlCQzFBMzdCRTA5N0M3MTVGMDAxOUYzRDggLyogRE9NVHJhdmVy
c2FsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTUyNkNEMjBBQjBCN0Q5MDAwMzAyRUEgLyogRE9N
VHJlZVdhbGtlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwQjQxQzMwQUQ5RTdFNzAwQTZFRDRG
IC8qIERPTVRyZWVXYWxrZXJJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE2RTZGRTkx
QkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTg1QzdGNDkxMEFBRjc5REMwMDQwMTRERCAvKiBET01VSUV2ZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NTk4OUREMDBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NVUlFdmVudEludGVybmFs
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRUQxM0QyQTBDRUE5MURGMDBEODk0NjYgLyogRE9NVUlL
aXRFeHRlbnNpb25zLmggaW4gSGVhZGVycyAqLywKQEAgLTI1MjY0LDYgKzI1MjcyLDcgQEAKIAkJ
CQlCMkFGRkM3RTBEMDBBNUMxMDAzMDA3NEQgLyogRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNjYwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnREZXNjcmlw
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE2RTlGQzgxM0MxN0Q1NzAwNDZBN0Y4IC8qIEZv
bnRGZWF0dXJlU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNkU2RkU4MUJCRDEyREYw
MDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0MDlFQkRCNjE2QjdFRUEzMDBDQkEzRkMgLyogRm9udExvYWRlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMDg0NTY4MDgxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCNTMyMEQ2QjEyMkEyNEU5MDAyRDE0NDAgLyogRm9udFBsYXRmb3Jt
RGF0YS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTcyOSw2ICsyNTczOCw3IEBACiAJCQkJRkM5RTBF
NEQxNjQxOUMxRTAwMzkyQkUzIC8qIEpTRE9NV2luZG93Q1NTLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk2NTJGQkJCQzBERTI3Q0I2MDAwMUQzODYgLyogSlNET01XaW5kb3dDdXN0b20uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDQkZCNTNEMERDRDI5Q0YwMDE5QjNFNSAvKiBKU0RPTVdpbmRvd1NoZWxs
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDMgLyogUmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1
RTBFOTQ0MTEzM0M4OUYwMEI0Q0IxMCAvKiBKU0RPTVdyYXBwZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUZENzg2OEJBMTM2Qjk5OTIwMEQ0MDNERiAvKiBKU0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMUZBMDlEMUNDNjAwMDBCRTMyNSAvKiBKU0VsZW1l
bnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93QmFzZS5jcHAKaW5kZXggMDIzZjM3NmUyNzI0YzQ3MzIxY2IxNzFhNmU5NThiZDNhODRh
OWY3Yi4uMzA2Y2U0YjQ4NzY1ZGI0NjYwYjIzOWY5ZjQ0N2ZlZGFkOGNmMGRkNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC00Nyw2ICs0
NywxMCBAQAogI2luY2x1ZGUgIldlYlNhZmVJbmNyZW1lbnRhbFN3ZWVwZXJJT1MuaCIKICNlbmRp
ZgogCisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnMuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC02NSw2ICs2OSw5IEBAIEpTRE9NV2luZG93QmFzZTo6SlNET01X
aW5kb3dCYXNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV2lu
CiAgICAgLCBtX3dpbmRvd0Nsb3NlV2F0Y2hwb2ludHMoKHdpbmRvdyAmJiB3aW5kb3ctPmZyYW1l
KCkpID8gSXNXYXRjaGVkIDogSXNJbnZhbGlkYXRlZCkKICAgICAsIG1faW1wbCh3aW5kb3cpCiAg
ICAgLCBtX3NoZWxsKHNoZWxsKQorI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICAsIG1fcmVh
ZGFibGVTdHJlYW1GdW5jdGlvbnModm0pCisjZW5kaWYKIHsKIH0KIApAQCAtNzMsMTQgKzgwLDM2
IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NV2lu
ZG93U2hlbGwqIHNoZWxsKQogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBzaGVsbCk7CiAg
ICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwogCisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQor
ICAgIG1fcmVhZGFibGVTdHJlYW1GdW5jdGlvbnMuaW5pdCgqdGhpcyk7CisjZW5kaWYKKwogICAg
IEdsb2JhbFByb3BlcnR5SW5mbyBzdGF0aWNHbG9iYWxzW10gPSB7CiAgICAgICAgIEdsb2JhbFBy
b3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5kb2N1bWVudCwganNOdWxsKCksIERvbnREZWxl
dGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5h
bWVzLT53aW5kb3csIG1fc2hlbGwsIERvbnREZWxldGUgfCBSZWFkT25seSkKKyAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPndpbmRvdywgbV9zaGVsbCwgRG9udERl
bGV0ZSB8IFJlYWRPbmx5KSwKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisjZGVmaW5lIERFQ0xB
UkVfR0xPQkFMX1NUQVRJQyhuYW1lKVwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKFwKKyAg
ICAgICAgICAgIHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPih2bS5jbGllbnREYXRh
KS0+cmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygpLm5hbWUjI1ByaXZhdGVOYW1lKCks
XAorICAgICAgICAgICAgbV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9ucy5tXyMjbmFtZSMjRnVuY3Rp
b24uZ2V0KCkgLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBXRUJDT1JFUkVBREFC
TEVTVFJFQU1JTlRFUk5BTFNfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoREVDTEFSRV9H
TE9CQUxfU1RBVElDKQorI3VuZGVmIEVYUE9SVF9GVU5DVElPTgorI2VuZGlmCiAgICAgfTsKLSAg
ICAKKwogICAgIGFkZFN0YXRpY0dsb2JhbHMoc3RhdGljR2xvYmFscywgV1RGX0FSUkFZX0xFTkdU
SChzdGF0aWNHbG9iYWxzKSk7CiB9CiAKK3ZvaWQgSlNET01XaW5kb3dCYXNlOjp2aXNpdENoaWxk
cmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgSlNET01XaW5k
b3dCYXNlKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRE9NV2luZG93QmFzZSo+KGNlbGwpOworICAg
IEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNl
Ojp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworI2lmIEVOQUJMRShTVFJFQU1T
X0FQSSkKKyAgICB0aGlzT2JqZWN0LT5tX3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zLnZpc2l0KHZp
c2l0b3IpOworI2VuZGlmCit9CisKIHZvaWQgSlNET01XaW5kb3dCYXNlOjpkZXN0cm95KEpTQ2Vs
bCogY2VsbCkKIHsKICAgICBzdGF0aWNfY2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihjZWxsKS0+SlNE
T01XaW5kb3dCYXNlOjp+SlNET01XaW5kb3dCYXNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCmluZGV4IDhmNGM1NjI4N2NkYzBlNmYxMGVkODU2NjM2
YTMwZTU1MGIxNWEzMjAuLmY0MDg3MmY1ZWEwOTVjOTgzNjM5ZDZlZGE3MDk1N2JlODU4YjRlMDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC0y
Miw2ICsyMiw3IEBACiAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RP
TUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRp
bnNXcmFwcGVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNzMsNiArNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3Rh
dGljIEpTQzo6Vk0mIGNvbW1vblZNKCk7CiAgICAgICAgIHN0YXRpYyB2b2lkIGZpcmVGcmFtZUNs
ZWFyZWRXYXRjaHBvaW50c0ZvcldpbmRvdyhET01XaW5kb3cqKTsKKyAgICAgICAgc3RhdGljIHZv
aWQgdmlzaXRDaGlsZHJlbihKU0M6OkpTQ2VsbCosIEpTQzo6U2xvdFZpc2l0b3ImKTsKIAogICAg
IHByb3RlY3RlZDoKICAgICAgICAgSlNDOjpXYXRjaHBvaW50U2V0IG1fd2luZG93Q2xvc2VXYXRj
aHBvaW50czsKQEAgLTg0LDYgKzg2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICBSZWZQdHI8RE9NV2luZG93PiBtX2ltcGw7CiAgICAgICAgIEpTRE9NV2luZG93U2hlbGwqIG1f
c2hlbGw7CisKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisgICAgICAgIFJlYWRhYmxlU3RyZWFt
SW50ZXJuYWxzQnVpbHRpbkZ1bmN0aW9ucyBtX3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zOworI2Vu
ZGlmCiAgICAgfTsKIAogICAgIC8vIFJldHVybnMgYSBKU0RPTVdpbmRvdyBvciBqc051bGwoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMuY3BwCmlu
ZGV4IDljMzg4YmI1OTA5OWExYmYxZDU5MDY0N2UzNjhiZWY4YjYxY2Y2MzIuLjBjY2I0MTFmYTI4
NGU2YzNlZTFhOTIyMWE4MjhlYzg0MmVlMTEzMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5jcHAKQEAgLTI5LDQgKzI5LDUgQEAKICNpbmNs
dWRlICJCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwIgogI2luY2x1ZGUgIkNv
dW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwIgogI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFt
QnVpbHRpbnMuY3BwIgorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMu
Y3BwIgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlSlNDbGllbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlND
bGllbnREYXRhLmgKaW5kZXggMGI3NWYxZGJmOGUzZWJhZTZkNmRlYWQzYWUxNjExZGU0MmQ5Mjhl
Zi4uMDNkYzY0MTdjNTZjY2I4MGYyMTViOGE3MWYwMDdkN2Y0MmRiY2I1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaApAQCAtMzEsNiAr
MzEsNyBAQAogI2luY2x1ZGUgIkJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBw
ZXIuaCIKICNpbmNsdWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5oIgog
I2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmgiCisjaW5jbHVkZSAiUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCIKICNlbmRpZgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00NCwxMiArNDUsMTYgQEAgcHVibGljOgogI2lmIEVOQUJMRShTVFJF
QU1TX0FQSSkKICAgICBleHBsaWNpdCBXZWJDb3JlSlNDbGllbnREYXRhKEpTQzo6Vk0mIHZtKQog
ICAgICAgICA6IG1fcmVhZGFibGVTdHJlYW1CdWlsdGlucygmdm0pCisgICAgICAgICwgbV9yZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCZ2bSkKICAgICAgICAgLCBtX2J5dGVMZW5ndGhR
dWV1aW5nU3RyYXRlZ3lCdWlsdGlucygmdm0pCiAgICAgICAgICwgbV9jb3VudFF1ZXVpbmdTdHJh
dGVneUJ1aWx0aW5zKCZ2bSkKICNlbHNlCiAgICAgV2ViQ29yZUpTQ2xpZW50RGF0YShKU0M6OlZN
JikKICNlbmRpZgogICAgIHsKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisgICAgICAgIG1fcmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5leHBvcnROYW1lcygpOworI2VuZGlmCiAgICAg
fQogCiAgICAgdmlydHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCkBAIC04Niw2ICs5MSw3IEBA
IHB1YmxpYzoKIAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICAgICBSZWFkYWJsZVN0cmVhbUJ1
aWx0aW5zV3JhcHBlciYgcmVhZGFibGVTdHJlYW1CdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFi
bGVTdHJlYW1CdWlsdGluczsgfQorICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNX
cmFwcGVyJiByZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zOyB9CiAgICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJh
dGVneUJ1aWx0aW5zV3JhcHBlciYgYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCkg
eyByZXR1cm4gbV9ieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7IH0KICAgICBDb3Vu
dFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciYgY291bnRRdWV1aW5nU3RyYXRlZ3lCdWls
dGlucygpIHsgcmV0dXJuIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsgfQogI2VuZGlm
CkBAIC05Niw2ICsxMDIsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQog
ICAgIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1CdWlsdGlu
czsKKyAgICBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnM7CiAgICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1
aWx0aW5zV3JhcHBlciBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsKICAgICBD
b3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciBtX2NvdW50UXVldWluZ1N0cmF0ZWd5
QnVpbHRpbnM7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2dlbmVyYXRlLWpz
LWJ1aWx0aW5zIGIvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMKaW5kZXggMDhm
OGMwZTcxOTI4MzNkNzgzNWNkMDE3Yzg5YzRiNzE4OTQxZmMzMC4uNjFkZDY0MmU3Y2EyZjg5YTc4
ZTFkMWE1MDNkOGI5NzgyYjQwNDQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZ2VuZXJh
dGUtanMtYnVpbHRpbnMKKysrIGIvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMK
QEAgLTgwLDExICs4MCwxMSBAQCBidWlsdGluc1dyYXBwZXJIZWFkZXIud3JpdGUoVGVtcGxhdGUo
CiAjaW5jbHVkZSA8Ynl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaD4KICNpbmNs
dWRlIDxidWlsdGlucy9CdWlsdGluVXRpbHMuaD4KICNpbmNsdWRlIDxydW50aW1lL0lkZW50aWZp
ZXIuaD4KKyNpbmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24uaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyAke0ZpbGVuYW1lfUJ1aWx0aW5zV3JhcHBlciA6IHByaXZhdGUgSlNDOjpX
ZWFrSGFuZGxlT3duZXIKLXsKK2NsYXNzICR7RmlsZW5hbWV9QnVpbHRpbnNXcmFwcGVyIDogcHJp
dmF0ZSBKU0M6OldlYWtIYW5kbGVPd25lciB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgJHtGaWxl
bmFtZX1CdWlsdGluc1dyYXBwZXIoSlNDOjpWTSogdm0pCiAgICAgICAgIDogbV92bSgqdm0pCkBA
IC0xMDMsNiArMTAzLDggQEAgcHVibGljOgogCiAgICAgJHtQcmVmaXh9X0ZPUkVBQ0hfQlVJTFRJ
Tl9GVU5DVElPTl9OQU1FKERFQ0xBUkVfQlVJTFRJTl9JREVOVElGSUVSX0FDQ0VTU09SKQogCisg
ICAgdm9pZCBleHBvcnROYW1lcygpOworCiBwcml2YXRlOgogICAgIEpTQzo6Vk0mIG1fdm07CiAK
QEAgLTEyNiw2ICsxMjgsNDQgQEAgaW5saW5lIEpTQzo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFi
bGUqICR7RmlsZW5hbWV9QnVpbHRpbnNXcmFwcGVyOjpuYW1lIyNFeGVjdXQKICR7UHJlZml4fV9G
T1JFQUNIX0JVSUxUSU4oREVGSU5FX0JVSUxUSU5fRVhFQ1VUQUJMRVMpCiAjdW5kZWYgREVGSU5F
X0JVSUxUSU5fRVhFQ1VUQUJMRVMKIAoraW5saW5lIHZvaWQgJHtGaWxlbmFtZX1CdWlsdGluc1dy
YXBwZXI6OmV4cG9ydE5hbWVzKCkKK3sKKyNkZWZpbmUgRVhQT1JUX0ZVTkNUSU9OX05BTUUobmFt
ZSkgbV92bS5wcm9wZXJ0eU5hbWVzLT5hcHBlbmRFeHRlcm5hbE5hbWUobmFtZSMjUHVibGljTmFt
ZSgpLCBuYW1lIyNQcml2YXRlTmFtZSgpKTsKKyAgICAke1ByZWZpeH1fRk9SRUFDSF9CVUlMVElO
X0ZVTkNUSU9OX05BTUUoRVhQT1JUX0ZVTkNUSU9OX05BTUUpCisjdW5kZWYgRVhQT1JUX0ZVTkNU
SU9OX05BTUUKK30KKworY2xhc3MgJHtGaWxlbmFtZX1CdWlsdGluRnVuY3Rpb25zIHsKK3B1Ymxp
YzoKKyAgICBleHBsaWNpdCAke0ZpbGVuYW1lfUJ1aWx0aW5GdW5jdGlvbnMoSlNDOjpWTSYgdm0p
IDogbV92bSh2bSkgeyB9CisKKyAgICB2b2lkIGluaXQoSlNDOjpKU0dsb2JhbE9iamVjdCYpOwor
ICAgIHZvaWQgdmlzaXQoSlNDOjpTbG90VmlzaXRvciYpOworCitwdWJsaWM6CisgICAgSlNDOjpW
TSYgbV92bTsKKworI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fU09VUkNFX01FTUJFUlMoZnVuY3Rp
b25OYW1lKSBcXAorICAgIEpTQzo6V3JpdGVCYXJyaWVyPEpTQzo6SlNGdW5jdGlvbj4gbV8jI2Z1
bmN0aW9uTmFtZSMjRnVuY3Rpb247CisgICAgJHtQcmVmaXh9X0ZPUkVBQ0hfQlVJTFRJTl9GVU5D
VElPTl9OQU1FKERFQ0xBUkVfQlVJTFRJTl9TT1VSQ0VfTUVNQkVSUykKKyN1bmRlZiBERUNMQVJF
X0JVSUxUSU5fU09VUkNFX01FTUJFUlMKK307CisKK2lubGluZSB2b2lkICR7RmlsZW5hbWV9QnVp
bHRpbkZ1bmN0aW9uczo6aW5pdChKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit7
CisjZGVmaW5lIEVYUE9SVF9GVU5DVElPTihjb2RlTmFtZSwgZnVuY3Rpb25OYW1lLCBsZW5ndGgp
XFwKKyAgICBtXyMjZnVuY3Rpb25OYW1lIyNGdW5jdGlvbi5zZXQobV92bSwgJmdsb2JhbE9iamVj
dCwgSlNDOjpKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24obV92bSwgY29kZU5hbWUj
I0dlbmVyYXRvcihtX3ZtKSwgJmdsb2JhbE9iamVjdCkpOworICAgICR7UHJlZml4fV9GT1JFQUNI
X0JVSUxUSU4oRVhQT1JUX0ZVTkNUSU9OKQorI3VuZGVmIEVYUE9SVF9GVU5DVElPTgorfQorCitp
bmxpbmUgdm9pZCAke0ZpbGVuYW1lfUJ1aWx0aW5GdW5jdGlvbnM6OnZpc2l0KEpTQzo6U2xvdFZp
c2l0b3ImIHZpc2l0b3IpCit7CisjZGVmaW5lIFZJU0lUX0ZVTkNUSU9OKG5hbWUpIHZpc2l0b3Iu
YXBwZW5kKCZtXyMjbmFtZSMjRnVuY3Rpb24pOworICAgICR7UHJlZml4fV9GT1JFQUNIX0JVSUxU
SU5fRlVOQ1RJT05fTkFNRShWSVNJVF9GVU5DVElPTikKKyN1bmRlZiBWSVNJVF9GVU5DVElPTgor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyAke0ZpbGVuYW1lfUJ1aWx0
aW5zV3JhcHBlcl9oCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjA3M2I5YTNhOWRlZDY1N2ZkMDVlZGVlMjJjZTc0MzMxNmM5
NjZhZC4uZDFiNmM2YWI4ZTliYjU1NjAwZGIxNjA5YzMyYWM2M2U3YTA5NzUwZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDE1LTA5LTMwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBj
cmYuY2Fub24uZnI+CisKKyAgICAgICAgW1N0cmVhbXMgQVBJXSBBZGQgc3VwcG9ydCBmb3IgcHJp
dmF0ZSBXZWJDb3JlIEpTIGJ1aWx0aW5zIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgUmViYXNpbmcgdGVzdHMgbm93IHRoYXQgdGVlIGlzIGFw
cGVhcmluZyBpbiB0aGUgSURMLCBhbHRob3VnaCBub3QgeWV0IGNvbmZvcm1hbnQgaW4gaXRzIGlt
cGxlbWVudGF0aW9uLgorCisgICAgICAgICogc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRp
b24vcmVhZGFibGUtc3RyZWFtLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdHJlYW1zL3JlZmVy
ZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tdGVlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0t
dGVtcGxhdGVkLWV4cGVjdGVkLnR4dDoKKwogMjAxNS0xMC0wMSAgWGFiaWVyIFJvZHJpZ3VleiBD
YWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gQ3Jl
YXRlIEJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kgb2JqZWN0IGFzIHBlciBzcGVjCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJs
ZS1zdHJlYW0tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1w
bGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLWV4cGVjdGVkLnR4dAppbmRleCBlNjFmN2Q2ZjU4
NTk0MTM5YWZhYzc4NmZhM2I1ZjM1NGZkNWUwOGIzLi5mZGQ5NDU4ODk2MjM4MTM2MmUzYjZjZmU2
N2FjYjVlNWExMzExMDZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5j
ZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS1l
eHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBBU1MgUmVhZGFibGVTdHJlYW0gY2FuIGJl
IGNvbnN0cnVjdGVkIHdpdGggbm8gZXJyb3JzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjYW4ndCBi
ZSBjb25zdHJ1Y3RlZCB3aXRoIGdhcmJhZ2UgCi1GQUlMIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNl
cyBzaG91bGQgaGF2ZSB0aGUgY29ycmVjdCBsaXN0IG9mIHByb3BlcnRpZXMgYXNzZXJ0X2FycmF5
X2VxdWFsczogc2hvdWxkIGhhdmUgYWxsIHRoZSBjb3JyZWN0IG1ldGhvZHMgbGVuZ3RocyBkaWZm
ZXIsIGV4cGVjdGVkIDcgZ290IDYKK0ZBSUwgUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIHNob3Vs
ZCBoYXZlIHRoZSBjb3JyZWN0IGxpc3Qgb2YgcHJvcGVydGllcyBhc3NlcnRfZmFsc2U6IG1ldGhv
ZCBzaG91bGQgYmUgbm9uLWVudW1lcmFibGUgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIFBBU1Mg
UmVhZGFibGVTdHJlYW0gY29uc3RydWN0b3Igc2hvdWxkIHRocm93IGZvciBub24tZnVuY3Rpb24g
c3RhcnQgYXJndW1lbnRzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBjYW4gZ2V0
IGluaXRpYWwgZ2FyYmFnZSBhcyBjYW5jZWwgYXJndW1lbnQgCiBQQVNTIFJlYWRhYmxlU3RyZWFt
IGNvbnN0cnVjdG9yIGNhbiBnZXQgaW5pdGlhbCBnYXJiYWdlIGFzIHB1bGwgYXJndW1lbnQgCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9y
ZWFkYWJsZS1zdHJlYW0tdGVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVm
ZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZWUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGU3NWYyNmYxMTBjYjJkN2ZiODE0YWVjNGMzNTMwMjM2OTJmYjc1YjIuLjZlOWU1ZjE5MTMx
MjdmYjk1NzY1MGNkOTA2N2VkNzhlYWE4OWFjZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZWUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9u
L3JlYWRhYmxlLXN0cmVhbS10ZWUtZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDEyIEBACiAKLUZB
SUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBycy50ZWUoKSByZXR1cm5zIGFuIGFycmF5IG9mIHR3
byBSZWFkYWJsZVN0cmVhbXMgcnMudGVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3JzLnRlZSgp
JywgJ3JzLnRlZScgaXMgdW5kZWZpbmVkKQotRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IHNo
b3VsZCBiZSBhYmxlIHRvIHJlYWQgb25lIGJyYW5jaCB0byB0aGUgZW5kIHdpdGhvdXQgYWZmZWN0
aW5nIHRoZSBvdGhlciBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAn
cnMudGVlJyBpcyB1bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogdmFsdWVz
IHNob3VsZCBiZSBlcXVhbCBhY3Jvc3MgZWFjaCBicmFuY2ggcnMudGVlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3JzLnRlZSgpJywgJ3JzLnRlZScgaXMgdW5kZWZpbmVkKQotRkFJTCBSZWFkYWJs
ZVN0cmVhbSB0ZWVpbmc6IGVycm9ycyBpbiB0aGUgc291cmNlIHNob3VsZCBwcm9wYWdhdGUgdG8g
Ym90aCBicmFuY2hlcyBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAn
cnMudGVlJyBpcyB1bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogY2FuY2Vs
aW5nIGJyYW5jaDEgc2hvdWxkIG5vdCBpbXBhY3QgYnJhbmNoMiBycy50ZWUgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1bmRlZmluZWQpCi1GQUlMIFJlYWRh
YmxlU3RyZWFtIHRlZWluZzogY2FuY2VsaW5nIGJyYW5jaDIgc2hvdWxkIG5vdCBpbXBhY3QgYnJh
bmNoMSBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBp
cyB1bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogY2FuY2VsaW5nIGJvdGgg
YnJhbmNoZXMgc2hvdWxkIGFnZ3JlZ2F0ZSB0aGUgY2FuY2VsIHJlYXNvbnMgaW50byBhbiBhcnJh
eSBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncnMudGVlKCknLCAncnMudGVlJyBpcyB1
bmRlZmluZWQpCi1GQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogZmFpbGluZyB0byBjYW5jZWwg
dGhlIG9yaWdpbmFsIHN0cmVhbSBzaG91bGQgY2F1c2UgY2FuY2VsKCkgdG8gcmVqZWN0IG9uIGJy
YW5jaGVzIHJzLnRlZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdycy50ZWUoKScsICdycy50ZWUn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBjbG9zaW5nIHRoZSBv
cmlnaW5hbCBzaG91bGQgaW1tZWRpYXRlbHkgY2xvc2UgdGhlIGJyYW5jaGVzIHJzLnRlZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdycy50ZWUoKScsICdycy50ZWUnIGlzIHVuZGVmaW5lZCkKLUZB
SUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBlcnJvcmluZyB0aGUgb3JpZ2luYWwgc2hvdWxkIGlt
bWVkaWF0ZWx5IGVycm9yIHRoZSBicmFuY2hlcyBycy50ZWUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAncnMudGVlKCknLCAncnMudGVlJyBpcyB1bmRlZmluZWQpCitGQUlMIFJlYWRhYmxlU3RyZWFt
IHRlZWluZzogcnMudGVlKCkgcmV0dXJucyBhbiBhcnJheSBvZiB0d28gUmVhZGFibGVTdHJlYW1z
IHRlZSBpcyBub3QgaW1wbGVtZW50ZWQKK0ZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBzaG91
bGQgYmUgYWJsZSB0byByZWFkIG9uZSBicmFuY2ggdG8gdGhlIGVuZCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgb3RoZXIgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0
ZWVpbmc6IHZhbHVlcyBzaG91bGQgYmUgZXF1YWwgYWNyb3NzIGVhY2ggYnJhbmNoIHRlZSBpcyBu
b3QgaW1wbGVtZW50ZWQKK0ZBSUwgUmVhZGFibGVTdHJlYW0gdGVlaW5nOiBlcnJvcnMgaW4gdGhl
IHNvdXJjZSBzaG91bGQgcHJvcGFnYXRlIHRvIGJvdGggYnJhbmNoZXMgdGVlIGlzIG5vdCBpbXBs
ZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6IGNhbmNlbGluZyBicmFuY2gxIHNo
b3VsZCBub3QgaW1wYWN0IGJyYW5jaDIgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFk
YWJsZVN0cmVhbSB0ZWVpbmc6IGNhbmNlbGluZyBicmFuY2gyIHNob3VsZCBub3QgaW1wYWN0IGJy
YW5jaDEgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSB0ZWVpbmc6
IGNhbmNlbGluZyBib3RoIGJyYW5jaGVzIHNob3VsZCBhZ2dyZWdhdGUgdGhlIGNhbmNlbCByZWFz
b25zIGludG8gYW4gYXJyYXkgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0
cmVhbSB0ZWVpbmc6IGZhaWxpbmcgdG8gY2FuY2VsIHRoZSBvcmlnaW5hbCBzdHJlYW0gc2hvdWxk
IGNhdXNlIGNhbmNlbCgpIHRvIHJlamVjdCBvbiBicmFuY2hlcyB0ZWUgaXMgbm90IGltcGxlbWVu
dGVkCitGQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogY2xvc2luZyB0aGUgb3JpZ2luYWwgc2hv
dWxkIGltbWVkaWF0ZWx5IGNsb3NlIHRoZSBicmFuY2hlcyB0ZWUgaXMgbm90IGltcGxlbWVudGVk
CitGQUlMIFJlYWRhYmxlU3RyZWFtIHRlZWluZzogZXJyb3JpbmcgdGhlIG9yaWdpbmFsIHNob3Vs
ZCBpbW1lZGlhdGVseSBlcnJvciB0aGUgYnJhbmNoZXMgdGVlIGlzIG5vdCBpbXBsZW1lbnRlZAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlv
bi9yZWFkYWJsZS1zdHJlYW0tdGVtcGxhdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0ZWQt
ZXhwZWN0ZWQudHh0CmluZGV4IDdmZDQ2NTcyMDI2NTc3N2ViMjFiZGU0YjY3NzQ2NGE1MTAwNDMy
ZGYuLmY3ODc1ZDJjYzVhMjE5N2IyZGRhNzczYjUyODE1NzIzMzJkM2FiYTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0
cmVhbS10ZW1wbGF0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVm
ZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0ZWQtZXhwZWN0ZWQu
dHh0CkBAIC0xLDYgKzEsNiBAQAogCiBQQVNTIFJ1bm5pbmcgdGVtcGxhdGVkUlNFbXB0eSB3aXRo
IFJlYWRhYmxlU3RyZWFtIChlbXB0eSkgCi1GQUlMIGluc3RhbmNlcyBoYXZlIHRoZSBjb3JyZWN0
IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgYXNzZXJ0X2VxdWFsczogaGFzIGEgdGVlIG1ldGhvZCBl
eHBlY3RlZCAiZnVuY3Rpb24iIGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgaW5zdGFuY2VzIGhh
dmUgdGhlIGNvcnJlY3QgbWV0aG9kcyBhbmQgcHJvcGVydGllcyAKIFBBU1MgUnVubmluZyB0ZW1w
bGF0ZWRSU0VtcHR5UmVhZGVyIHdpdGggUmVhZGFibGVTdHJlYW0gKGVtcHR5KSByZWFkZXIgCiBQ
QVNTIGluc3RhbmNlcyBoYXZlIHRoZSBjb3JyZWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgCiBQ
QVNTIGxvY2tlZCBzaG91bGQgYmUgdHJ1ZSAK
</data>

          </attachment>
      

    </bug>

</bugzilla>