<?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>176066</bug_id>
          
          <creation_ts>2017-08-29 14:10:26 -0700</creation_ts>
          <short_desc>Add support for FetchRequest.body</short_desc>
          <delta_ts>2017-08-30 13:19:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1343213</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-29 14:10:26 -0700</bug_when>
    <thetext>Add support for FetchRequest.body</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343215</commentid>
    <comment_count>1</comment_count>
      <attachid>319281</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-29 14:14:30 -0700</bug_when>
    <thetext>Created attachment 319281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343217</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-29 14:16:07 -0700</bug_when>
    <thetext>Attachment 319281 did not pass style-queue:


ERROR: Source/WebCore/Modules/fetch/FetchBody.h:99:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 1 in 16 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>1343221</commentid>
    <comment_count>3</comment_count>
      <attachid>319282</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-29 14:26:54 -0700</bug_when>
    <thetext>Created attachment 319282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343222</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-29 14:29:19 -0700</bug_when>
    <thetext>Attachment 319282 did not pass style-queue:


ERROR: Source/WebCore/Modules/fetch/FetchBody.h:99:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 1 in 18 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>1343324</commentid>
    <comment_count>5</comment_count>
      <attachid>319282</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-29 16:56:24 -0700</bug_when>
    <thetext>Comment on attachment 319282
Patch

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

&gt; LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-disturbed-expected.txt:6
&gt; +FAIL Input request used for creating new request became disturbed assert_equals: body should not change expected object &quot;[object ReadableStream]&quot; but got object &quot;[object ReadableStream]&quot;

I don&apos;t understand this failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343331</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-29 17:10:27 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to Alex Christensen from comment #5)
&gt; Comment on attachment 319282 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=319282&amp;action=review
&gt; 
&gt; &gt; LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-disturbed-expected.txt:6
&gt; &gt; +FAIL Input request used for creating new request became disturbed assert_equals: body should not change expected object &quot;[object ReadableStream]&quot; but got object &quot;[object ReadableStream]&quot;
&gt; 
&gt; I don&apos;t understand this failure.

When using a request A as init to another request B, the expected behavior is to pipe request A stream to request B stream.

Request A stream then gets disturbed but remains the same.

Currently we are not doing so, we are moving the stream to the other request.
I added a FIXME for it in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343346</commentid>
    <comment_count>7</comment_count>
      <attachid>319282</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-08-29 17:39:12 -0700</bug_when>
    <thetext>Comment on attachment 319282
Patch

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

&gt; Source/WebCore/bindings/js/ReadableStream.h:81
&gt; +template&lt;&gt; struct JSConverter&lt;IDLInterface&lt;ReadableStream&gt;&gt; {
&gt; +    static constexpr bool needsState = false;
&gt; +    static constexpr bool needsGlobalObject = false;
&gt; +
&gt; +    static JSC::JSValue convert(ReadableStream* value)
&gt; +    {
&gt; +        if (!value)
&gt; +            return JSC::jsNull();
&gt; +        return value-&gt;readableStream();
&gt; +    }
&gt; +};

Can this just be a toJS() implementation?

inline JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, ReadableStream&amp; impl) { return impl.readableStream(); }
inline JSC::JSValue toJS(JSC::ExecState* state, JSDOMGlobalObject* globalObject, ReadableStream* impl) { return impl ? toJS(state, globalObject, *impl) : JSC::jsNull(); }

The top one is often out-of-line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343347</commentid>
    <comment_count>8</comment_count>
      <attachid>319282</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-29 17:39:29 -0700</bug_when>
    <thetext>Comment on attachment 319282
Patch

Clearing flags on attachment: 319282

Committed r221329: &lt;http://trac.webkit.org/changeset/221329&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343348</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-29 17:39:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343349</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-29 17:40:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/34148373&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343359</commentid>
    <comment_count>11</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-29 18:10:05 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #7)
&gt; Comment on attachment 319282 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=319282&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/js/ReadableStream.h:81
&gt; &gt; +template&lt;&gt; struct JSConverter&lt;IDLInterface&lt;ReadableStream&gt;&gt; {
&gt; &gt; +    static constexpr bool needsState = false;
&gt; &gt; +    static constexpr bool needsGlobalObject = false;
&gt; &gt; +
&gt; &gt; +    static JSC::JSValue convert(ReadableStream* value)
&gt; &gt; +    {
&gt; &gt; +        if (!value)
&gt; &gt; +            return JSC::jsNull();
&gt; &gt; +        return value-&gt;readableStream();
&gt; &gt; +    }
&gt; &gt; +};
&gt; 
&gt; Can this just be a toJS() implementation?

Right, I&apos;ll fix it as a follow-up</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343420</commentid>
    <comment_count>12</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-29 21:00:10 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343421</commentid>
    <comment_count>13</comment_count>
      <attachid>319331</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-29 21:00:11 -0700</bug_when>
    <thetext>Created attachment 319331
Addendum</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343434</commentid>
    <comment_count>14</comment_count>
      <attachid>319331</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-29 21:08:10 -0700</bug_when>
    <thetext>Comment on attachment 319331
Addendum

Rejecting attachment 319331 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-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 319331, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.webkit.org/results/4407892</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343619</commentid>
    <comment_count>15</comment_count>
      <attachid>319384</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-30 11:43:10 -0700</bug_when>
    <thetext>Created attachment 319384
Addendum</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343669</commentid>
    <comment_count>16</comment_count>
      <attachid>319384</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-30 13:19:21 -0700</bug_when>
    <thetext>Comment on attachment 319384
Addendum

Clearing flags on attachment: 319384

Committed r221395: &lt;http://trac.webkit.org/changeset/221395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343670</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-30 13:19:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319281</attachid>
            <date>2017-08-29 14:14:30 -0700</date>
            <delta_ts>2017-08-29 14:26:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176066-20170829141430.patch</filename>
            <type>text/plain</type>
            <size>22279</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQyZGRiNjYxODVlOTBh
MGZkY2ZjNDVmMDg1MGMyODRmZjlhYjIzZC4uZWJiNThjZGI0NmI4ZTU5MWVhNmVlMjQzNWJhN2Ey
YmE3NWJjZGI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDE3LTA4LTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
RmV0Y2hSZXF1ZXN0LmJvZHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NjA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgQWRkaW5nIHN1
cHBvcnQgZm9yIGJvZHkgYXR0cmlidXRlIGdldHRlciBmb3IgRmV0Y2hSZXF1ZXN0LgorICAgICAg
ICBUbyBkbyBzbywgRmV0Y2hSZXF1ZXN0IHdpbGwgbmVlZCB0byBjcmVhdGUgYSBSZWFkYWJsZVN0
cmVhbS4KKyAgICAgICAgQWRkaW5nIHN1cHBvcnQgZm9yIERPTSBiYXNlZCBjcmVhdGlvbiBvZiBS
ZWFkYWJsZVN0cmVhbSBhbmQgY29udmVyc2lvbiB0byBKUyB2YWx1ZXMuCisgICAgICAgIFNtYWxs
IHJlZmFjdG9yaW5nIHRvIG1ha2UgbmFtZXMgbW9yZSBjb25zaXN0ZW50LgorCisgICAgICAgICog
TW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yQmVhY29uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvckJlYWNvbjo6c2VuZEJlYWNvbik6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNo
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cHV0KToKKyAgICAgICAgKiBNb2R1bGVz
L2ZldGNoL0ZldGNoQm9keS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmV4dHJh
Y3QpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Lmg6CisgICAgICAgIChXZWJD
b3JlOjpGZXRjaEJvZHk6Omhhc1JlYWRhYmxlU3RyZWFtIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZldGNoQm9keTo6cmVhZGFibGVTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hC
b2R5OjpzZXRSZWFkYWJsZVN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OkZl
dGNoQm9keSk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmlzUmVhZGFibGVTdHJlYW0g
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5OjpzZXRBc1JlYWRh
YmxlU3RyZWFtKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6cmVhZGFibGVTdHJlYW0pOgorICAgICAgICAqIE1v
ZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9k
eU93bmVyOjpoYXNSZWFkYWJsZVN0cmVhbUJvZHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
RmV0Y2hCb2R5T3duZXI6OmlzUmVhZGFibGVTdHJlYW1Cb2R5IGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGZXRjaFJlcXVlc3Q6OnNldEJvZHkpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OnNldEJvZHlBc1JlYWRhYmxlU3RyZWFtKToK
KyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmZldGNoKToKKyAgICAgICAgKiBNb2R1
bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW0uaDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTQ29udmVydGVyPElETEludGVyZmFjZTxSZWFkYWJsZVN0cmVh
bT4+Ojpjb252ZXJ0KToKKworMjAxNy0wOC0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKICAgICAgICAgQ2FjaGVTdG9yYWdlIGRvZXMgbm90IG5lZWQgdG8gc29ydCBpdHMg
Y2FjaGVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzYwNTkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9iZWFjb24vTmF2aWdh
dG9yQmVhY29uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYmVhY29uL05hdmlnYXRvckJl
YWNvbi5jcHAKaW5kZXggMDA5MGJkMzhlOWU2NGE1NzkyZmNmMjc1ZjJlOTdiNDczMWFjOTM4ZS4u
MTM3MzJlZDc1NGEyMzUyMTc2MjY5OWRjZTYyNjY5NWJlNzQwYzE5MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yQmVhY29uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2JlYWNvbi9OYXZpZ2F0b3JCZWFjb24uY3BwCkBAIC0xMzAsNyAr
MTMwLDcgQEAgRXhjZXB0aW9uT3I8Ym9vbD4gTmF2aWdhdG9yQmVhY29uOjpzZW5kQmVhY29uKERv
Y3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJgogICAgICAgICBTdHJpbmcgbWltZVR5cGU7
CiAgICAgICAgIGF1dG8gZmV0Y2hCb2R5ID0gRmV0Y2hCb2R5OjpleHRyYWN0KGRvY3VtZW50LCBX
VEZNb3ZlKGJvZHkudmFsdWUoKSksIG1pbWVUeXBlKTsKIAotICAgICAgICBpZiAoZmV0Y2hCb2R5
LmlzUmVhZGFibGVTdHJlYW0oKSkKKyAgICAgICAgaWYgKGZldGNoQm9keS5oYXNSZWFkYWJsZVN0
cmVhbSgpKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlM
aXRlcmFsKCJCZWFjb25zIGNhbm5vdCBzZW5kIFJlYWRhYmxlU3RyZWFtIGJvZHkiKSB9OwogCiAg
ICAgICAgIHJlcXVlc3Quc2V0SFRUUEJvZHkoZmV0Y2hCb2R5LmJvZHlBc0Zvcm1EYXRhKGRvY3Vt
ZW50KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4IDM2NmViMzY5
ZTVlMmE1NDlhZThkOTQxYTNmZDA0MDcyNjFlMjQzNGMuLmJhZDhkNjg0MGFiNzg0MDE3N2ViMmRm
Y2UzNzMzM2M0ZWE3OWI5MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3Bw
CkBAIC0yOTYsNyArMjk2LDcgQEAgdm9pZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYgaW5mbywg
UmVmPEZldGNoUmVzcG9uc2U+JiYgcmVzcG9uc2UsIERPTVByb21pc2VEZWYKICAgICB9CiAKICAg
ICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFtLgotICAgIGlmIChyZXNw
b25zZS0+aXNSZWFkYWJsZVN0cmVhbUJvZHkoKSkgeworICAgIGlmIChyZXNwb25zZS0+aGFzUmVh
ZGFibGVTdHJlYW1Cb2R5KCkpIHsKICAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsg
Tm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIFJlc3BvbnNlIHdpdGgg
ZGF0YSBzdG9yZWQgaW4gYSBSZWFkYWJsZVN0cmVhbSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpIH0p
OwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHkuY3BwCmluZGV4IGM4Mjk4ODAwNDU4NjE3NTZhNDVmY2ZlNTc4ZmM2NTMyYjNiN2Nj
MTYuLjhmYjYzYTIwM2NmOTgxZjk0ZWVmY2Y1NjhiNGMyZmIwMTc5ZjRiMTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAKQEAgLTYxLDEwICs2MSw4IEBAIEZl
dGNoQm9keSBGZXRjaEJvZHk6OmV4dHJhY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgSW5pdCYmIHZhbHVlLCBTdHJpCiAgICAgfSwgWyZdKFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+
JiB2YWx1ZSkgbXV0YWJsZSB7CiAgICAgICAgIFJlZjxjb25zdCBBcnJheUJ1ZmZlclZpZXc+IGJ1
ZmZlciA9IHZhbHVlLnJlbGVhc2VOb25OdWxsKCk7CiAgICAgICAgIHJldHVybiBGZXRjaEJvZHko
V1RGTW92ZShidWZmZXIpKTsKLSAgICB9LCBbJl0oUmVmUHRyPFJlYWRhYmxlU3RyZWFtPiYpIG11
dGFibGUgewotICAgICAgICBGZXRjaEJvZHkgYm9keTsKLSAgICAgICAgYm9keS5tX2lzUmVhZGFi
bGVTdHJlYW0gPSB0cnVlOwotICAgICAgICByZXR1cm4gYm9keTsKKyAgICB9LCBbJl0oUmVmUHRy
PFJlYWRhYmxlU3RyZWFtPiYgc3RyZWFtKSBtdXRhYmxlIHsKKyAgICAgICAgcmV0dXJuIEZldGNo
Qm9keShzdHJlYW0ucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgfSwgWyZdKFN0cmluZyYgdmFsdWUp
IHsKICAgICAgICAgY29udGVudFR5cGUgPSBIVFRQSGVhZGVyVmFsdWVzOjp0ZXh0UGxhaW5Db250
ZW50VHlwZSgpOwogICAgICAgICByZXR1cm4gRmV0Y2hCb2R5KFdURk1vdmUodmFsdWUpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IGM1NDFhYmIyZTUxOThm
ZTVmNzg0NzFhYTdhZmM2NzNkN2I0OTc0NzIuLmU3ZjQ2YmU4YjQ3OWE5NWFkNTU0NWZlOWNhNDk2
NjFiYjlmNGEwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hCb2R5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApA
QCAtNjAsMTMgKzYwLDEyIEBAIHB1YmxpYzoKICAgICBib29sIGlzQXJyYXlCdWZmZXJWaWV3KCkg
Y29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Y29uc3QgQXJyYXlCdWZm
ZXJWaWV3Pj4obV9kYXRhKTsgfQogICAgIGJvb2wgaXNVUkxTZWFyY2hQYXJhbXMoKSBjb25zdCB7
IHJldHVybiBXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZjxjb25zdCBVUkxTZWFyY2hQYXJhbXM+
PihtX2RhdGEpOyB9CiAgICAgYm9vbCBpc1RleHQoKSBjb25zdCB7IHJldHVybiBXVEY6OmhvbGRz
X2FsdGVybmF0aXZlPFN0cmluZz4obV9kYXRhKTsgfQotICAgIGJvb2wgaXNSZWFkYWJsZVN0cmVh
bSgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZWFkYWJsZVN0cmVhbTsgfQorICAgIGJvb2wgaGFzUmVh
ZGFibGVTdHJlYW0oKSBjb25zdCB7IHJldHVybiAhIW1fcmVhZGFibGVTdHJlYW07IH0KIAogICAg
IHVzaW5nIEluaXQgPSBWYXJpYW50PFJlZlB0cjxCbG9iPiwgUmVmUHRyPEFycmF5QnVmZmVyVmll
dz4sIFJlZlB0cjxBcnJheUJ1ZmZlcj4sIFJlZlB0cjxET01Gb3JtRGF0YT4sIFJlZlB0cjxVUkxT
ZWFyY2hQYXJhbXM+LCBSZWZQdHI8UmVhZGFibGVTdHJlYW0+LCBTdHJpbmc+OwogICAgIHN0YXRp
YyBGZXRjaEJvZHkgZXh0cmFjdChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSW5pdCYmLCBTdHJp
bmcmKTsKICAgICBzdGF0aWMgRmV0Y2hCb2R5IGxvYWRpbmdCb2R5KCkgeyByZXR1cm4geyB9OyB9
CiAKLSAgICB2b2lkIHNldEFzUmVhZGFibGVTdHJlYW0oKSB7IG1faXNSZWFkYWJsZVN0cmVhbSA9
IHRydWU7IH0KICAgICB2b2lkIGxvYWRpbmdGYWlsZWQoKTsKICAgICB2b2lkIGxvYWRpbmdTdWNj
ZWVkZWQoKTsKIApAQCAtODIsNiArODEsMTIgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYW5Db25z
dW1lUHJvbWlzZSgpIHsgbV9jb25zdW1lUHJvbWlzZSA9IG51bGxwdHI7IH0KIAogICAgIEZldGNo
Qm9keSBjbG9uZSgpIGNvbnN0OworICAgIFJlYWRhYmxlU3RyZWFtKiByZWFkYWJsZVN0cmVhbSgp
IHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW0uZ2V0KCk7IH0KKyAgICB2b2lkIHNldFJlYWRhYmxl
U3RyZWFtKFJlZjxSZWFkYWJsZVN0cmVhbT4mJiBzdHJlYW0pCisgICAgeworICAgICAgICBBU1NF
UlQoIW1fcmVhZGFibGVTdHJlYW0pOworICAgICAgICBtX3JlYWRhYmxlU3RyZWFtID0gV1RGTW92
ZShzdHJlYW0pOworICAgIH0KIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBGZXRjaEJvZHkoUmVm
PGNvbnN0IEJsb2I+JiYgZGF0YSkgOiBtX2RhdGEoV1RGTW92ZShkYXRhKSkgeyB9CkBAIC05MSw2
ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgZXhwbGljaXQgRmV0Y2hCb2R5KFN0cmluZyYmIGRhdGEp
IDogbV9kYXRhKFdURk1vdmUoZGF0YSkpIHsgfQogICAgIGV4cGxpY2l0IEZldGNoQm9keShSZWY8
Y29uc3QgVVJMU2VhcmNoUGFyYW1zPiYmIGRhdGEpIDogbV9kYXRhKFdURk1vdmUoZGF0YSkpIHsg
fQogICAgIGV4cGxpY2l0IEZldGNoQm9keShjb25zdCBGZXRjaEJvZHlDb25zdW1lciYgY29uc3Vt
ZXIpIDogbV9jb25zdW1lcihjb25zdW1lcikgeyB9CisgICAgZXhwbGljaXQgRmV0Y2hCb2R5KFJl
ZjxSZWFkYWJsZVN0cmVhbT4mJiBzdHJlYW0pIDogbV9yZWFkYWJsZVN0cmVhbShXVEZNb3ZlKHN0
cmVhbSkpIHsgfQogICAgIEZldGNoQm9keSgpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgY29uc3Vt
ZShGZXRjaEJvZHlPd25lciYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwpAQCAtMTE0LDkgKzEy
MCw3IEBAIHByaXZhdGU6CiAKICAgICBGZXRjaEJvZHlDb25zdW1lciBtX2NvbnN1bWVyIHsgRmV0
Y2hCb2R5Q29uc3VtZXI6OlR5cGU6Ok5vbmUgfTsKICAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNl
PiBtX2NvbnN1bWVQcm9taXNlOwotCi0gICAgLy8gRklYTUU6IFdlIHByb2JhYmx5IHdhbnQgdG8g
a2VlcCB0aGUgc3RyZWFtIGFzIGEgc3BlY2lmaWMgZmllbGQgaW4gbV9kYXRhIHdoZW4gd2Ugd2ls
bCBzdXBwb3J0IHN0cmVhbSBkYXRhIHVwbG9hZC4KLSAgICBib29sIG1faXNSZWFkYWJsZVN0cmVh
bSB7IGZhbHNlIH07CisgICAgUmVmUHRyPFJlYWRhYmxlU3RyZWFtPiBtX3JlYWRhYmxlU3RyZWFt
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaEJvZHkuaWRsCmluZGV4IDdkMTM2ZTYzZDg1YmYyY2M5NzdkMDM2YjBkZmUyOTQz
M2VjZDhjMjUuLjYzYzg0NDhiMTQ4ZTU1N2ZmYjY3MTRkOGYyYzYzNWEzZDExYjNiZWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5pZGwKQEAgLTMzLDcgKzMzLDcg
QEAKICAgICBOb0ludGVyZmFjZU9iamVjdAogXSBpbnRlcmZhY2UgRmV0Y2hCb2R5IHsKICAgICAv
LyBGSU1YRTogQWRkIG1pc3NpbmcgYm9keSBhdHRyaWJ1dGUuCi0gICAgLy8gcmVhZG9ubHkgYXR0
cmlidXRlIFJlYWRhYmxlU3RyZWFtPyBib2R5OworICAgIFtJbXBsZW1lbnRlZEFzPXJlYWRhYmxl
U3RyZWFtLCBDYWxsV2l0aD1TY3JpcHRTdGF0ZV0gcmVhZG9ubHkgYXR0cmlidXRlIFJlYWRhYmxl
U3RyZWFtPyBib2R5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGJvZHlVc2VkOwog
ICAgIFtOZXdPYmplY3RdIFByb21pc2U8QXJyYXlCdWZmZXI+IGFycmF5QnVmZmVyKCk7CiAgICAg
W05ld09iamVjdF0gUHJvbWlzZTxCbG9iPiBibG9iKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuY3BwCmluZGV4IDZiYzFkOWFiMjYwOWVlODdjN2I1
YWQ1NDViMGI0NmYyNDQ4ODQ5YjEuLjgwMzU1MTVmNzg3ZDYzZGUwOGJlNGY1ZWQ2YjUwMTE2YTQ4
ZWI5NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
T3duZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3du
ZXIuY3BwCkBAIC0yODgsNCArMjg4LDE1IEBAIHZvaWQgRmV0Y2hCb2R5T3duZXI6OkJsb2JMb2Fk
ZXI6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpCiAgICAgICAgIG93bmVyLmJsb2JMb2Fk
aW5nRmFpbGVkKCk7CiB9CiAKK1JlYWRhYmxlU3RyZWFtKiBGZXRjaEJvZHlPd25lcjo6cmVhZGFi
bGVTdHJlYW0oSlNDOjpFeGVjU3RhdGUmIHN0YXRlKQoreworICAgIGlmIChpc0JvZHlOdWxsKCkp
CisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgaWYgKCFtX2JvZHktPmhhc1JlYWRhYmxl
U3RyZWFtKCkpCisgICAgICAgIG1fYm9keS0+c2V0UmVhZGFibGVTdHJlYW0oUmVhZGFibGVTdHJl
YW06OmNyZWF0ZShzdGF0ZSwgbV9yZWFkYWJsZVN0cmVhbVNvdXJjZSkpOworCisgICAgcmV0dXJu
IG1fYm9keS0+cmVhZGFibGVTdHJlYW0oKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCmluZGV4IDM0
MWYxZmFjNDJmNDYzZmVkZDAxYmRmOGU1YTdjYTQyZjA2OTM2MDIuLjJlYTQ2NmFiMWNmZmI5NjNh
MzJhOTQ0OGQ2M2E1MGI0N2UzM2Y0YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keU93bmVyLmgKQEAgLTU3LDcgKzU3LDggQEAgcHVibGljOgogCiAgICAgYm9v
bCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuICEhbV9ibG9iTG9hZGVyOyB9CiAKLSAgICBib29s
IGlzUmVhZGFibGVTdHJlYW1Cb2R5KCkgY29uc3QgeyByZXR1cm4gbV9ib2R5ICYmIG1fYm9keS0+
aXNSZWFkYWJsZVN0cmVhbSgpOyB9CisgICAgUmVhZGFibGVTdHJlYW0qIHJlYWRhYmxlU3RyZWFt
KEpTQzo6RXhlY1N0YXRlJik7CisgICAgdmlydHVhbCBib29sIGhhc1JlYWRhYmxlU3RyZWFtQm9k
eSgpIGNvbnN0IHsgcmV0dXJuIG1fYm9keSAmJiBtX2JvZHktPmhhc1JlYWRhYmxlU3RyZWFtKCk7
IH0KIAogcHJvdGVjdGVkOgogICAgIGNvbnN0IEZldGNoQm9keSYgYm9keSgpIGNvbnN0IHsgcmV0
dXJuICptX2JvZHk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXN0LmNwcAppbmRleCAwNzA1MGNlZjNiOTg2NGI0NzQ5MmFiMzQ3YjRlY2UxMGM3MDg4NWY2Li5h
OGI2ZjQ5Nzg0ZDNlNDI3NWIzYTgzOWEzMWE0MzE4ZmUwOWRlNWIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCkBAIC0yMjUsNiArMjI1LDcgQEAg
RXhjZXB0aW9uT3I8dm9pZD4gRmV0Y2hSZXF1ZXN0OjpzZXRCb2R5KEZldGNoUmVxdWVzdCYgcmVx
dWVzdCkKICAgICBpZiAoIXJlcXVlc3QuaXNCb2R5TnVsbCgpKSB7CiAgICAgICAgIGlmICghbWV0
aG9kQ2FuSGF2ZUJvZHkobV9pbnRlcm5hbFJlcXVlc3QpKQogICAgICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IFR5cGVFcnJvciB9OworICAgICAgICAvLyBGSVhNRTogSWYgYm9keSBoYXMgYSBy
ZWFkYWJsZSBzdHJlYW0sIHdlIHNob3VsZCBwaXBlIGl0IHRvIHRoaXMgbmV3IGJvZHkgc3RyZWFt
LgogICAgICAgICBtX2JvZHkgPSBXVEZNb3ZlKHJlcXVlc3QubV9ib2R5KTsKICAgICAgICAgcmVx
dWVzdC5zZXREaXN0dXJiZWQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3QuaAppbmRleCA1YWQ3NDE0MTM5YTQ3ZmRhNTg0MmJjYmI3NDkxM2MzMjY3
M2JkYzdlLi41NzM4YmY2YzM3NTQxM2JiMjhkNzJjYmQ0ZWQ3YTM1YzRkMjEzYzUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKQEAgLTg1LDcgKzg1LDYg
QEAgcHVibGljOgogICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgaW50ZXJuYWxSZXF1ZXN0KCkg
Y29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVxdWVzdDsgfQogICAgIGNvbnN0IFN0
cmluZyYgaW50ZXJuYWxSZXF1ZXN0UmVmZXJyZXIoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFs
UmVxdWVzdC5yZWZlcnJlcjsgfQogICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgeyByZXR1cm4g
bV9pbnRlcm5hbFJlcXVlc3QucmVxdWVzdC51cmwoKTsgfQotICAgIGJvb2wgaXNCb2R5UmVhZGFi
bGVTdHJlYW0oKSBjb25zdCB7IHJldHVybiAhaXNCb2R5TnVsbCgpICYmIGJvZHkoKS5pc1JlYWRh
YmxlU3RyZWFtKCk7IH0KIAogICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QoKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJl
c3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5j
cHAKaW5kZXggNTk5ZjFkM2JjNzI2ZGQ5YzFlMzI1YWQ4YWU0YTI3YzY4NzU0YjEwYi4uNzlhOTk3
ZjZmMDU4ZGU1YTcyOTRhYzBjZmU1M2EzZmIxYTcyYTA5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQg
RmV0Y2hSZXNwb25zZTo6c2V0Qm9keUFzUmVhZGFibGVTdHJlYW0oKQogewogICAgIGlmIChpc0Jv
ZHlOdWxsKCkpCiAgICAgICAgIHNldEJvZHkoRmV0Y2hCb2R5Ojpsb2FkaW5nQm9keSgpKTsKLSAg
ICBib2R5KCkuc2V0QXNSZWFkYWJsZVN0cmVhbSgpOworICAgIG1faXNSZWFkYWJsZVN0cmVhbSA9
IHRydWU7CiAgICAgdXBkYXRlQ29udGVudFR5cGUoKTsKIH0KIApAQCAtMTA1LDcgKzEwNSw3IEBA
IFJlZjxGZXRjaFJlc3BvbnNlPiBGZXRjaFJlc3BvbnNlOjpjbG9uZUZvckpTKCkKIAogdm9pZCBG
ZXRjaFJlc3BvbnNlOjpmZXRjaChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBGZXRj
aFJlcXVlc3QmIHJlcXVlc3QsIE5vdGlmaWNhdGlvbkNhbGxiYWNrJiYgcmVzcG9uc2VDYWxsYmFj
aykKIHsKLSAgICBpZiAocmVxdWVzdC5pc0JvZHlSZWFkYWJsZVN0cmVhbSgpKSB7CisgICAgaWYg
KHJlcXVlc3QuaGFzUmVhZGFibGVTdHJlYW1Cb2R5KCkpIHsKICAgICAgICAgaWYgKHJlc3BvbnNl
Q2FsbGJhY2spCiAgICAgICAgICAgICByZXNwb25zZUNhbGxiYWNrKEV4Y2VwdGlvbiB7IE5vdFN1
cHBvcnRlZEVycm9yLCAiUmVhZGFibGVTdHJlYW0gdXBsb2FkaW5nIGlzIG5vdCBzdXBwb3J0ZWQi
IH0pOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXNwb25zZS5oCmluZGV4IDY2ZTM1OThmN2ViZmRjNWMyMjExOTYxOGE0MTVhN2QxMjdmNGU4
NGEuLjFiN2YxNmNmYTM3ODdmNTU0MDZkMTNiMTBmZTI3NWQ4NjEyM2EzNzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCkBAIC0xMDIsNiArMTAyLDkg
QEAgcHVibGljOgogCiAgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25z
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KIAorICAgIC8vIEZJWE1FOiBSZW1vdmUg
dGhpcyBtZXRob2QgYW5kIHVzZSBGZXRjaEJvZHlPd25lciBvbmUgb25jZSB3ZSBoYXZlIGZ1bGwg
c3VwcG9ydCBpbiBET00gUmVhZGFibGVTdHJlYW0uCisgICAgYm9vbCBoYXNSZWFkYWJsZVN0cmVh
bUJvZHkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lzUmVhZGFibGVTdHJlYW07IH0KKwogcHJp
dmF0ZToKICAgICBGZXRjaFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9w
dGlvbmFsPEZldGNoQm9keT4mJiwgUmVmPEZldGNoSGVhZGVycz4mJiwgUmVzb3VyY2VSZXNwb25z
ZSYmKTsKIApAQCAtMTQ0LDYgKzE0Nyw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjpvcHRpb25hbDxC
b2R5TG9hZGVyPiBtX2JvZHlMb2FkZXI7CiAgICAgbXV0YWJsZSBTdHJpbmcgbV9yZXNwb25zZVVS
TDsKICAgICBib29sIG1fc2hvdWxkRXhwb3NlQm9keSB7IHRydWUgfTsKKyAgICAvLyBGSVhNRTog
UmVtb3ZlIHRoYXQgZmxhZyBvbmNlIHdlIGhhdmUgZnVsbCBzdXBwb3J0IGluIERPTSBSZWFkYWJs
ZVN0cmVhbS4KKyAgICBib29sIG1faXNSZWFkYWJsZVN0cmVhbSB7IGZhbHNlIH07CiAKICAgICBG
ZXRjaEJvZHlDb25zdW1lciBtX2NvbnN1bWVyIHsgRmV0Y2hCb2R5Q29uc3VtZXI6OlR5cGU6OkFy
cmF5QnVmZmVyICB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAwMmQ3MmE4MzZjMjBlMjgyYjg5N2Y2OTE2YzI1ZWNmYTdi
MTQyMDIyLi45NWI3YTYyMzk5MjU2MTljN2Y4OWZlMmQ5YWNjNzFmNTc4OWM5Y2M3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
NzYyLDYgKzE3NjIsNyBAQAogCQk0MUFCRTY3QzFEMDU4MEUwMDA2RDg2MkQgLyogQ3Jvc3NPcmln
aW5QcmVmbGlnaHRDaGVja2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxQUJFNjc5MUQwNTgwRDUwMDZEODYyRCAvKiBDcm9zc09yaWdpblByZWZs
aWdodENoZWNrZXIuY3BwICovOyB9OwogCQk0MUFENzUzQTFDRUY2QkQxMDBBMzE0ODYgLyogRmV0
Y2hPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MUFENzUzOTFDRUY2QkNFMDBBMzE0ODYgLyogRmV0Y2hPcHRpb25zLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFCMkE2MjYxRUYxQkY2RDAw
MkI5RDdBIC8qIFdlYkF1ZGlvU291cmNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQjJBNjI1MUVGMUJGNjAwMDJCOUQ3QSAvKiBXZWJB
dWRpb1NvdXJjZVByb3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJNDFCNDU5RUYxRjU1RUJEMTAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFt
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQjQ1
OUVEMUY1NUVCQzcwMDAwRjZGRCAvKiBSZWFkYWJsZVN0cmVhbS5jcHAgKi87IH07CiAJCTQxQkY3
MDBDMEZFODZGNDkwMDVFOERFQyAvKiBNZXNzYWdlUG9ydENoYW5uZWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQkY3MDBBMEZFODZGNDkwMDVFOERF
QyAvKiBNZXNzYWdlUG9ydENoYW5uZWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0MUJGNzAwRjBGRTg2RjYxMDA1RThERUMgLyogUGxhdGZvcm1N
ZXNzYWdlUG9ydENoYW5uZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFCRjcwMEQwRkU4NkY2MTAwNUU4REVDIC8qIFBsYXRmb3JtTWVzc2FnZVBv
cnRDaGFubmVsLmNwcCAqLzsgfTsKIAkJNDFCRjcwMTAwRkU4NkY2MTAwNUU4REVDIC8qIFBsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUJGNzAwRTBGRTg2RjYxMDA1RThERUMgLyogUGxhdGZvcm1NZXNzYWdl
UG9ydENoYW5uZWwuaCAqLzsgfTsKQEAgLTk0NzUsNiArOTQ3Niw3IEBACiAJCTQxQUQ3NTM5MUNF
RjZCQ0UwMEEzMTQ4NiAvKiBGZXRjaE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRmV0Y2hPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
QjJBNjI1MUVGMUJGNjAwMDJCOUQ3QSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYkF1ZGlvU291cmNlUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDFCNDU5REExRjRDQURCOTAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxQjQ1OUVEMUY1NUVCQzcwMDAwRjZGRCAvKiBSZWFkYWJs
ZVN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWFkYWJs
ZVN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQkY3MDBBMEZFODZG
NDkwMDVFOERFQyAvKiBNZXNzYWdlUG9ydENoYW5uZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTWVzc2FnZVBvcnRDaGFubmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxQkY3MDBEMEZFODZGNjEwMDVFOERFQyAvKiBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hh
bm5lbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBQbGF0Zm9ybU1l
c3NhZ2VQb3J0Q2hhbm5lbC5jcHA7IHBhdGggPSBkZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRD
aGFubmVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFCRjcwMEUwRkU4NkY2
MTAwNUU4REVDIC8qIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmg7IHBhdGggPSBk
ZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yMzg0Myw2ICsyMzg0NSw3IEBACiAJCQkJRTFDMzZEMzIwRUIwQTA5NDAwNzQx
MEJDIC8qIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCAqLywKIAkJCQlFMUMzNkQzMzBFQjBB
MDk0MDA3NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCAqLywKIAkJCQk3MDlBMDFG
RDFFM0QwQkNDMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oICovLAorCQkJCTQx
QjQ1OUVEMUY1NUVCQzcwMDAwRjZGRCAvKiBSZWFkYWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDFC
NDU5REExRjRDQURCOTAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmggKi8sCiAJCQkJNDE4QzM5
NUUxQzhGMEFBQjAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuY3Bw
ICovLAogCQkJCTQxOEMzOTVGMUM4RjBBQUIwMDUxQzhBMyAvKiBSZWFkYWJsZVN0cmVhbURlZmF1
bHRDb250cm9sbGVyLmggKi8sCkBAIC0zMzI0OSw2ICszMzI1Miw3IEBACiAJCQkJOTNGMTlBQjkw
ODI0NUU1OTAwMUU5QUJDIC8qIFJhbmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzRENE
MTI1MUYxMkQwMDNFRjI2OSAvKiBSYW5nZUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk2RTg0RTlFMDE3NjY4QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJNDFCNDU5RUYxRjU1RUJEMTAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTQxOEMzOTYxMUM4RjBBQjEwMDUxQzhBMyAvKiBSZWFkYWJsZVN0
cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMzE2MDNCMTJC
MDI2NzYwMEMxQTM1OSAvKiBSZWFsdGltZUFuYWx5c2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTQxMTAzQUFFMUUzOTc5MTAwMDc2OUYwMyAvKiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9SZWFkYWJsZVN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVT
dHJlYW0uaAppbmRleCA1M2U5NzVmMzUzYWIzYjdkNmI0NmJlNTNiNjIyM2RhODhkZGVhYWQyLi4z
NjRjOWM2YjY4NWRiMTc5ZWI3N2U1MDJmZTU1MjQ5MzMzZWRlODczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtLmgKQEAgLTMyLDEwICszMiwxNCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFJlYWRhYmxlU3RyZWFtU291cmNlOworCiBjbGFz
cyBSZWFkYWJsZVN0cmVhbSBmaW5hbCA6IHB1YmxpYyBET01HdWFyZGVkPEpTUmVhZGFibGVTdHJl
YW0+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFJlYWRhYmxlU3RyZWFtPiBjcmVhdGUoSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNSZWFkYWJsZVN0cmVhbSYgcmVhZGFibGVT
dHJlYW0pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVhZGFibGVTdHJlYW0oZ2xvYmFsT2JqZWN0
LCByZWFkYWJsZVN0cmVhbSkpOyB9CiAKKyAgICBzdGF0aWMgUmVmPFJlYWRhYmxlU3RyZWFtPiBj
cmVhdGUoSlNDOjpFeGVjU3RhdGUmLCBSZWZQdHI8UmVhZGFibGVTdHJlYW1Tb3VyY2U+JiYpOwor
CiAgICAgSlNSZWFkYWJsZVN0cmVhbSogcmVhZGFibGVTdHJlYW0oKSB7IHJldHVybiBndWFyZGVk
KCk7IH0KIAogcHJvdGVjdGVkOgpAQCAtNjQsNCArNjgsMTYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
SlNET01XcmFwcGVyQ29udmVydGVyVHJhaXRzPFJlYWRhYmxlU3RyZWFtPiB7CiAgICAgc3RhdGlj
IGNvbnN0ZXhwciBib29sIG5lZWRzU3RhdGUgPSB0cnVlOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1
Y3QgSlNDb252ZXJ0ZXI8SURMSW50ZXJmYWNlPFJlYWRhYmxlU3RyZWFtPj4geworICAgIHN0YXRp
YyBjb25zdGV4cHIgYm9vbCBuZWVkc1N0YXRlID0gZmFsc2U7CisgICAgc3RhdGljIGNvbnN0ZXhw
ciBib29sIG5lZWRzR2xvYmFsT2JqZWN0ID0gZmFsc2U7CisKKyAgICBzdGF0aWMgSlNDOjpKU1Zh
bHVlIGNvbnZlcnQoUmVhZGFibGVTdHJlYW0qIHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKCF2
YWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBKU0M6OmpzTnVsbCgpOworICAgICAgICByZXR1cm4g
dmFsdWUtPnJlYWRhYmxlU3RyZWFtKCk7CisgICAgfQorfTsKKwogfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKaW5kZXggZDAyMWVmYjhkYzVhNDEzOWVlYTU2OTFiNzg5YjE2MGZlZTcxNjFm
Mi4uZTY2OTI4MmUxZTc3NDU4OWQ2NWE1YmM4MWIyNDgzZjY4M2Q2ZmJhMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDgtMjkgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBGZXRj
aFJlcXVlc3QuYm9keQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc2MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1kaXN0
dXJiZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvcmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50eHQ6CisKIDIwMTctMDgtMjUgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFdQVCBzZXJ2ZXIgc2hvdWxk
IG5vdCBuZWVkIHRvIGNvcHkgdGVzdCBoYXJuZXNzIGZpbGVzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3Jl
cXVlc3QtZGlzdHVyYmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1kaXN0dXJiZWQtZXhw
ZWN0ZWQudHh0CmluZGV4IDVhNmNiMzhmYmExZDUzMmIzMWI3YjE3OTAzNDQ0MDJjZjE4NTBhNWMu
LjBkOWQzMzNlYjkzYWI0MWI0MmRlYTBmZmVkZTA2ZDA0MTFlYzA1ZmMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVl
c3QvcmVxdWVzdC1kaXN0dXJiZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1kaXN0
dXJiZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsOSBAQAogCi1GQUlMIFJlcXVlc3QncyBib2R5
OiBpbml0aWFsIHN0YXRlIGFzc2VydF9lcXVhbHM6IGJvZHkncyBkZWZhdWx0IHZhbHVlIGlzIG51
bGwgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAor
UEFTUyBSZXF1ZXN0J3MgYm9keTogaW5pdGlhbCBzdGF0ZSAKIFBBU1MgUmVxdWVzdCB3aXRob3V0
IGJvZHkgY2Fubm90IGJlIGRpc3R1cmJlZCAKIFBBU1MgQ2hlY2sgY2xvbmluZyBhIGRpc3R1cmJl
ZCByZXF1ZXN0IAogUEFTUyBDaGVjayBjcmVhdGluZyBhIG5ldyByZXF1ZXN0IGZyb20gYSBkaXN0
dXJiZWQgcmVxdWVzdCAKLUZBSUwgSW5wdXQgcmVxdWVzdCB1c2VkIGZvciBjcmVhdGluZyBuZXcg
cmVxdWVzdCBiZWNhbWUgZGlzdHVyYmVkIGFzc2VydF9ub3RfZXF1YWxzOiBib2R5IHNob3VsZCBu
b3QgYmUgdW5kZWZpbmVkIGdvdCBkaXNhbGxvd2VkIHZhbHVlIHVuZGVmaW5lZAorRkFJTCBJbnB1
dCByZXF1ZXN0IHVzZWQgZm9yIGNyZWF0aW5nIG5ldyByZXF1ZXN0IGJlY2FtZSBkaXN0dXJiZWQg
YXNzZXJ0X2VxdWFsczogYm9keSBzaG91bGQgbm90IGNoYW5nZSBleHBlY3RlZCBvYmplY3QgIltv
YmplY3QgUmVhZGFibGVTdHJlYW1dIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBSZWFkYWJsZVN0
cmVhbV0iCiBGQUlMIElucHV0IHJlcXVlc3QgdXNlZCBmb3IgY3JlYXRpbmcgbmV3IHJlcXVlc3Qg
YmVjYW1lIGRpc3R1cmJlZCBldmVuIGlmIGJvZHkgaXMgbm90IHVzZWQgYXNzZXJ0X3RydWU6IGJv
ZHlVc2VkIGlzIHRydWUgd2hlbiByZXF1ZXN0IGlzIGRpc3R1cmJlZCBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQogUEFTUyBDaGVjayBjb25zdW1pbmcgYSBkaXN0dXJiZWQgcmVxdWVzdCAKIFBBU1Mg
UmVxdWVzdCBjb25zdHJ1Y3Rpb24gZmFpbHVyZSBzaG91bGQgbm90IHNldCAiYm9keVVzZWQiIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3Qt
aWRsLWV4cGVjdGVkLnR4dAppbmRleCBmMTY3MmM3MzE5NGI4OWIwZDNmZjVhM2U2ODQwNWYwMTA3
NjcwY2E3Li5iZWM5MmMyMWY1NzA4Mzk4ZDgyNGIxN2JhNWMxMDU5ZTcwZWQ3ZjM3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9yZXF1ZXN0L3JlcXVlc3QtaWRsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3QtaWRs
LWV4cGVjdGVkLnR4dApAQCAtMTgsNyArMTgsNyBAQCBQQVNTIFJlcXVlc3QgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgcmVkaXJlY3QKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBpbnRl
Z3JpdHkgCiBQQVNTIFJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUga2VlcGFsaXZlIAogUEFT
UyBSZXF1ZXN0IGludGVyZmFjZTogb3BlcmF0aW9uIGNsb25lKCkgCi1GQUlMIFJlcXVlc3QgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgYm9keSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3Qg
bXVzdCBoYXZlIGEgcHJvcGVydHkgImJvZHkiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNT
IFJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYm9keSAKIFBBU1MgUmVxdWVzdCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBib2R5VXNlZCAKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6IG9wZXJhdGlv
biBhcnJheUJ1ZmZlcigpIAogUEFTUyBSZXF1ZXN0IGludGVyZmFjZTogb3BlcmF0aW9uIGJsb2Io
KSAKQEAgLTM5LDcgKzM5LDcgQEAgUEFTUyBSZXF1ZXN0IGludGVyZmFjZTogbmV3IFJlcXVlc3Qo
IiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVkaXJlY3QiIHdpdGggdGgKIFBBU1MgUmVxdWVz
dCBpbnRlcmZhY2U6IG5ldyBSZXF1ZXN0KCIiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImludGVn
cml0eSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDExKSAKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6
IG5ldyBSZXF1ZXN0KCIiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImtlZXBhbGl2ZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDEyKSAKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6IG5ldyBSZXF1ZXN0
KCIiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNsb25lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MTMpIAotRkFJTCBSZXF1ZXN0IGludGVyZmFjZTogbmV3IFJlcXVlc3QoIiIpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiYm9keSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDE0KSBhc3NlcnRfaW5oZXJp
dHM6IHByb3BlcnR5ICJib2R5IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIFJl
cXVlc3QgaW50ZXJmYWNlOiBuZXcgUmVxdWVzdCgiIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJi
b2R5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMTQpIAogUEFTUyBSZXF1ZXN0IGludGVyZmFjZTog
bmV3IFJlcXVlc3QoIiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYm9keVVzZWQiIHdpdGggdGhl
IHByb3BlciB0eXBlICgxNSkgCiBQQVNTIFJlcXVlc3QgaW50ZXJmYWNlOiBuZXcgUmVxdWVzdCgi
IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhcnJheUJ1ZmZlciIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgKDE2KSAKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6IG5ldyBSZXF1ZXN0KCIiKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImJsb2IiIHdpdGggdGhlIHByb3BlciB0eXBlICgxNykgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319282</attachid>
            <date>2017-08-29 14:26:54 -0700</date>
            <delta_ts>2017-08-29 21:00:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176066-20170829142653.patch</filename>
            <type>text/plain</type>
            <size>25715</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzMwYmJmOWE0MTI1Zjg4
NTQ4ZmIxMGIyY2NiMjk2ZjQ5NmMwNTUzNS4uMmQ1NGU3YWM3OWEwZDM4M2JhYWU0YTgyNGNkMjA4
ZjY0MThmZTJmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUwIEBACiAyMDE3LTA4LTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
RmV0Y2hSZXF1ZXN0LmJvZHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NjA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgQWRkaW5nIHN1
cHBvcnQgZm9yIGJvZHkgYXR0cmlidXRlIGdldHRlciBmb3IgRmV0Y2hSZXF1ZXN0LgorICAgICAg
ICBUbyBkbyBzbywgRmV0Y2hSZXF1ZXN0IHdpbGwgbmVlZCB0byBjcmVhdGUgYSBSZWFkYWJsZVN0
cmVhbS4KKyAgICAgICAgQWRkaW5nIHN1cHBvcnQgZm9yIERPTSBiYXNlZCBjcmVhdGlvbiBvZiBS
ZWFkYWJsZVN0cmVhbSBhbmQgY29udmVyc2lvbiB0byBKUyB2YWx1ZXMuCisgICAgICAgIFNtYWxs
IHJlZmFjdG9yaW5nIHRvIG1ha2UgbmFtZXMgbW9yZSBjb25zaXN0ZW50LgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yQmVhY29u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckJlYWNvbjo6c2VuZEJlYWNvbik6Cisg
ICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZTo6cHV0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGZXRjaEJvZHk6OmV4dHJhY3QpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gv
RmV0Y2hCb2R5Lmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6Omhhc1JlYWRhYmxlU3Ry
ZWFtIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keTo6cmVhZGFibGVTdHJlYW0p
OgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5OjpzZXRSZWFkYWJsZVN0cmVhbSk6CisgICAg
ICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OkZldGNoQm9keSk6CisgICAgICAgIChXZWJDb3JlOjpG
ZXRjaEJvZHk6OmlzUmVhZGFibGVTdHJlYW0gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hCb2R5OjpzZXRBc1JlYWRhYmxlU3RyZWFtKTogRGVsZXRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5pZGw6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHlPd25lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6cmVh
ZGFibGVTdHJlYW0pOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjpoYXNSZWFkYWJsZVN0cmVhbUJvZHkg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5T3duZXI6OmlzUmVhZGFibGVTdHJl
YW1Cb2R5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVx
dWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlcXVlc3Q6OnNldEJvZHkpOgorICAg
ICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlc3BvbnNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6
OnNldEJvZHlBc1JlYWRhYmxlU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9u
c2U6OmZldGNoKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmlu
ZGluZ3MvanMvUmVhZGFibGVTdHJlYW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ29udmVydGVy
PElETEludGVyZmFjZTxSZWFkYWJsZVN0cmVhbT4+Ojpjb252ZXJ0KToKKworMjAxNy0wOC0yOSAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKICAgICAgICAgW0NhY2hlIEFQSV0g
U3VwcG9ydCBjYWNoZSBuYW1lcyBwZXJzaXN0ZW5jeQogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1OTk1CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
NTNhOWIyOGFhOTlhMTI3MDEyMjhjMzg5YTcwNGMyMzE0N2I4YTQwNC4uNTU4Nzg3MWNlNTA1ZGZm
M2M0NjhkYjczNjk0Yjc3M2ViY2YzMWYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEyNzcs
NiArMTI3Nyw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU1hNTEh0
dHBSZXF1ZXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWFBhdGhOU1Jlc29sdmVyQ3Vz
dG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWFBhdGhSZXN1bHRDdXN0b20uY3BwCisgICAgYmlu
ZGluZ3MvanMvUmVhZGFibGVTdHJlYW0uY3BwCiAgICAgYmluZGluZ3MvanMvUmVhZGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlci5jcHAKICAgICBiaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24u
Y3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yQmVhY29uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYmVhY29uL05hdmlnYXRvckJlYWNvbi5jcHAKaW5kZXggMDA5
MGJkMzhlOWU2NGE1NzkyZmNmMjc1ZjJlOTdiNDczMWFjOTM4ZS4uMTM3MzJlZDc1NGEyMzUyMTc2
MjY5OWRjZTYyNjY5NWJlNzQwYzE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9iZWFjb24vTmF2aWdhdG9yQmVhY29uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2JlYWNvbi9OYXZpZ2F0b3JCZWFjb24uY3BwCkBAIC0xMzAsNyArMTMwLDcgQEAgRXhjZXB0aW9u
T3I8Ym9vbD4gTmF2aWdhdG9yQmVhY29uOjpzZW5kQmVhY29uKERvY3VtZW50JiBkb2N1bWVudCwg
Y29uc3QgU3RyaW5nJgogICAgICAgICBTdHJpbmcgbWltZVR5cGU7CiAgICAgICAgIGF1dG8gZmV0
Y2hCb2R5ID0gRmV0Y2hCb2R5OjpleHRyYWN0KGRvY3VtZW50LCBXVEZNb3ZlKGJvZHkudmFsdWUo
KSksIG1pbWVUeXBlKTsKIAotICAgICAgICBpZiAoZmV0Y2hCb2R5LmlzUmVhZGFibGVTdHJlYW0o
KSkKKyAgICAgICAgaWYgKGZldGNoQm9keS5oYXNSZWFkYWJsZVN0cmVhbSgpKQogICAgICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJCZWFjb25zIGNh
bm5vdCBzZW5kIFJlYWRhYmxlU3RyZWFtIGJvZHkiKSB9OwogCiAgICAgICAgIHJlcXVlc3Quc2V0
SFRUUEJvZHkoZmV0Y2hCb2R5LmJvZHlBc0Zvcm1EYXRhKGRvY3VtZW50KSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4IDM2NmViMzY5ZTVlMmE1NDlhZThkOTQxYTNm
ZDA0MDcyNjFlMjQzNGMuLmJhZDhkNjg0MGFiNzg0MDE3N2ViMmRmY2UzNzMzM2M0ZWE3OWI5Mjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCkBAIC0yOTYsNyArMjk2LDcg
QEAgdm9pZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYgaW5mbywgUmVmPEZldGNoUmVzcG9uc2U+
JiYgcmVzcG9uc2UsIERPTVByb21pc2VEZWYKICAgICB9CiAKICAgICAvLyBGSVhNRTogQWRkIHN1
cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFtLgotICAgIGlmIChyZXNwb25zZS0+aXNSZWFkYWJsZVN0
cmVhbUJvZHkoKSkgeworICAgIGlmIChyZXNwb25zZS0+aGFzUmVhZGFibGVTdHJlYW1Cb2R5KCkp
IHsKICAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3Is
IEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIFJlc3BvbnNlIHdpdGggZGF0YSBzdG9yZWQgaW4gYSBS
ZWFkYWJsZVN0cmVhbSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpIH0pOwogICAgICAgICByZXR1cm47
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJv
ZHkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwCmluZGV4
IGM4Mjk4ODAwNDU4NjE3NTZhNDVmY2ZlNTc4ZmM2NTMyYjNiN2NjMTYuLjhmYjYzYTIwM2NmOTgx
Zjk0ZWVmY2Y1NjhiNGMyZmIwMTc5ZjRiMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keS5jcHAKQEAgLTYxLDEwICs2MSw4IEBAIEZldGNoQm9keSBGZXRjaEJvZHk6
OmV4dHJhY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSW5pdCYmIHZhbHVlLCBT
dHJpCiAgICAgfSwgWyZdKFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiB2YWx1ZSkgbXV0YWJsZSB7
CiAgICAgICAgIFJlZjxjb25zdCBBcnJheUJ1ZmZlclZpZXc+IGJ1ZmZlciA9IHZhbHVlLnJlbGVh
c2VOb25OdWxsKCk7CiAgICAgICAgIHJldHVybiBGZXRjaEJvZHkoV1RGTW92ZShidWZmZXIpKTsK
LSAgICB9LCBbJl0oUmVmUHRyPFJlYWRhYmxlU3RyZWFtPiYpIG11dGFibGUgewotICAgICAgICBG
ZXRjaEJvZHkgYm9keTsKLSAgICAgICAgYm9keS5tX2lzUmVhZGFibGVTdHJlYW0gPSB0cnVlOwot
ICAgICAgICByZXR1cm4gYm9keTsKKyAgICB9LCBbJl0oUmVmUHRyPFJlYWRhYmxlU3RyZWFtPiYg
c3RyZWFtKSBtdXRhYmxlIHsKKyAgICAgICAgcmV0dXJuIEZldGNoQm9keShzdHJlYW0ucmVsZWFz
ZU5vbk51bGwoKSk7CiAgICAgfSwgWyZdKFN0cmluZyYgdmFsdWUpIHsKICAgICAgICAgY29udGVu
dFR5cGUgPSBIVFRQSGVhZGVyVmFsdWVzOjp0ZXh0UGxhaW5Db250ZW50VHlwZSgpOwogICAgICAg
ICByZXR1cm4gRmV0Y2hCb2R5KFdURk1vdmUodmFsdWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IGM1NDFhYmIyZTUxOThmZTVmNzg0NzFhYTdhZmM2NzNk
N2I0OTc0NzIuLmU3ZjQ2YmU4YjQ3OWE5NWFkNTU0NWZlOWNhNDk2NjFiYjlmNGEwZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtNjAsMTMgKzYwLDEyIEBA
IHB1YmxpYzoKICAgICBib29sIGlzQXJyYXlCdWZmZXJWaWV3KCkgY29uc3QgeyByZXR1cm4gV1RG
Ojpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Y29uc3QgQXJyYXlCdWZmZXJWaWV3Pj4obV9kYXRhKTsg
fQogICAgIGJvb2wgaXNVUkxTZWFyY2hQYXJhbXMoKSBjb25zdCB7IHJldHVybiBXVEY6OmhvbGRz
X2FsdGVybmF0aXZlPFJlZjxjb25zdCBVUkxTZWFyY2hQYXJhbXM+PihtX2RhdGEpOyB9CiAgICAg
Ym9vbCBpc1RleHQoKSBjb25zdCB7IHJldHVybiBXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFN0cmlu
Zz4obV9kYXRhKTsgfQotICAgIGJvb2wgaXNSZWFkYWJsZVN0cmVhbSgpIGNvbnN0IHsgcmV0dXJu
IG1faXNSZWFkYWJsZVN0cmVhbTsgfQorICAgIGJvb2wgaGFzUmVhZGFibGVTdHJlYW0oKSBjb25z
dCB7IHJldHVybiAhIW1fcmVhZGFibGVTdHJlYW07IH0KIAogICAgIHVzaW5nIEluaXQgPSBWYXJp
YW50PFJlZlB0cjxCbG9iPiwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4sIFJlZlB0cjxBcnJheUJ1
ZmZlcj4sIFJlZlB0cjxET01Gb3JtRGF0YT4sIFJlZlB0cjxVUkxTZWFyY2hQYXJhbXM+LCBSZWZQ
dHI8UmVhZGFibGVTdHJlYW0+LCBTdHJpbmc+OwogICAgIHN0YXRpYyBGZXRjaEJvZHkgZXh0cmFj
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSW5pdCYmLCBTdHJpbmcmKTsKICAgICBzdGF0aWMg
RmV0Y2hCb2R5IGxvYWRpbmdCb2R5KCkgeyByZXR1cm4geyB9OyB9CiAKLSAgICB2b2lkIHNldEFz
UmVhZGFibGVTdHJlYW0oKSB7IG1faXNSZWFkYWJsZVN0cmVhbSA9IHRydWU7IH0KICAgICB2b2lk
IGxvYWRpbmdGYWlsZWQoKTsKICAgICB2b2lkIGxvYWRpbmdTdWNjZWVkZWQoKTsKIApAQCAtODIs
NiArODEsMTIgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYW5Db25zdW1lUHJvbWlzZSgpIHsgbV9j
b25zdW1lUHJvbWlzZSA9IG51bGxwdHI7IH0KIAogICAgIEZldGNoQm9keSBjbG9uZSgpIGNvbnN0
OworICAgIFJlYWRhYmxlU3RyZWFtKiByZWFkYWJsZVN0cmVhbSgpIHsgcmV0dXJuIG1fcmVhZGFi
bGVTdHJlYW0uZ2V0KCk7IH0KKyAgICB2b2lkIHNldFJlYWRhYmxlU3RyZWFtKFJlZjxSZWFkYWJs
ZVN0cmVhbT4mJiBzdHJlYW0pCisgICAgeworICAgICAgICBBU1NFUlQoIW1fcmVhZGFibGVTdHJl
YW0pOworICAgICAgICBtX3JlYWRhYmxlU3RyZWFtID0gV1RGTW92ZShzdHJlYW0pOworICAgIH0K
IAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBGZXRjaEJvZHkoUmVmPGNvbnN0IEJsb2I+JiYgZGF0
YSkgOiBtX2RhdGEoV1RGTW92ZShkYXRhKSkgeyB9CkBAIC05MSw2ICs5Niw3IEBAIHByaXZhdGU6
CiAgICAgZXhwbGljaXQgRmV0Y2hCb2R5KFN0cmluZyYmIGRhdGEpIDogbV9kYXRhKFdURk1vdmUo
ZGF0YSkpIHsgfQogICAgIGV4cGxpY2l0IEZldGNoQm9keShSZWY8Y29uc3QgVVJMU2VhcmNoUGFy
YW1zPiYmIGRhdGEpIDogbV9kYXRhKFdURk1vdmUoZGF0YSkpIHsgfQogICAgIGV4cGxpY2l0IEZl
dGNoQm9keShjb25zdCBGZXRjaEJvZHlDb25zdW1lciYgY29uc3VtZXIpIDogbV9jb25zdW1lcihj
b25zdW1lcikgeyB9CisgICAgZXhwbGljaXQgRmV0Y2hCb2R5KFJlZjxSZWFkYWJsZVN0cmVhbT4m
JiBzdHJlYW0pIDogbV9yZWFkYWJsZVN0cmVhbShXVEZNb3ZlKHN0cmVhbSkpIHsgfQogICAgIEZl
dGNoQm9keSgpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgY29uc3VtZShGZXRjaEJvZHlPd25lciYs
IFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwpAQCAtMTE0LDkgKzEyMCw3IEBAIHByaXZhdGU6CiAK
ICAgICBGZXRjaEJvZHlDb25zdW1lciBtX2NvbnN1bWVyIHsgRmV0Y2hCb2R5Q29uc3VtZXI6OlR5
cGU6Ok5vbmUgfTsKICAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBtX2NvbnN1bWVQcm9taXNl
OwotCi0gICAgLy8gRklYTUU6IFdlIHByb2JhYmx5IHdhbnQgdG8ga2VlcCB0aGUgc3RyZWFtIGFz
IGEgc3BlY2lmaWMgZmllbGQgaW4gbV9kYXRhIHdoZW4gd2Ugd2lsbCBzdXBwb3J0IHN0cmVhbSBk
YXRhIHVwbG9hZC4KLSAgICBib29sIG1faXNSZWFkYWJsZVN0cmVhbSB7IGZhbHNlIH07CisgICAg
UmVmUHRyPFJlYWRhYmxlU3RyZWFtPiBtX3JlYWRhYmxlU3RyZWFtOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHkuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaWRs
CmluZGV4IDdkMTM2ZTYzZDg1YmYyY2M5NzdkMDM2YjBkZmUyOTQzM2VjZDhjMjUuLjYzYzg0NDhi
MTQ4ZTU1N2ZmYjY3MTRkOGYyYzYzNWEzZDExYjNiZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoQm9keS5pZGwKQEAgLTMzLDcgKzMzLDcgQEAKICAgICBOb0ludGVyZmFj
ZU9iamVjdAogXSBpbnRlcmZhY2UgRmV0Y2hCb2R5IHsKICAgICAvLyBGSU1YRTogQWRkIG1pc3Np
bmcgYm9keSBhdHRyaWJ1dGUuCi0gICAgLy8gcmVhZG9ubHkgYXR0cmlidXRlIFJlYWRhYmxlU3Ry
ZWFtPyBib2R5OworICAgIFtJbXBsZW1lbnRlZEFzPXJlYWRhYmxlU3RyZWFtLCBDYWxsV2l0aD1T
Y3JpcHRTdGF0ZV0gcmVhZG9ubHkgYXR0cmlidXRlIFJlYWRhYmxlU3RyZWFtPyBib2R5OwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGJvZHlVc2VkOwogICAgIFtOZXdPYmplY3RdIFBy
b21pc2U8QXJyYXlCdWZmZXI+IGFycmF5QnVmZmVyKCk7CiAgICAgW05ld09iamVjdF0gUHJvbWlz
ZTxCbG9iPiBibG9iKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoQm9keU93bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hC
b2R5T3duZXIuY3BwCmluZGV4IDZiYzFkOWFiMjYwOWVlODdjN2I1YWQ1NDViMGI0NmYyNDQ4ODQ5
YjEuLjgwMzU1MTVmNzg3ZDYzZGUwOGJlNGY1ZWQ2YjUwMTE2YTQ4ZWI5NmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuY3BwCkBAIC0yODgsNCAr
Mjg4LDE1IEBAIHZvaWQgRmV0Y2hCb2R5T3duZXI6OkJsb2JMb2FkZXI6OmRpZEZhaWwoY29uc3Qg
UmVzb3VyY2VFcnJvciYpCiAgICAgICAgIG93bmVyLmJsb2JMb2FkaW5nRmFpbGVkKCk7CiB9CiAK
K1JlYWRhYmxlU3RyZWFtKiBGZXRjaEJvZHlPd25lcjo6cmVhZGFibGVTdHJlYW0oSlNDOjpFeGVj
U3RhdGUmIHN0YXRlKQoreworICAgIGlmIChpc0JvZHlOdWxsKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgaWYgKCFtX2JvZHktPmhhc1JlYWRhYmxlU3RyZWFtKCkpCisgICAgICAg
IG1fYm9keS0+c2V0UmVhZGFibGVTdHJlYW0oUmVhZGFibGVTdHJlYW06OmNyZWF0ZShzdGF0ZSwg
bV9yZWFkYWJsZVN0cmVhbVNvdXJjZSkpOworCisgICAgcmV0dXJuIG1fYm9keS0+cmVhZGFibGVT
dHJlYW0oKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCmluZGV4IDM0MWYxZmFjNDJmNDYzZmVkZDAx
YmRmOGU1YTdjYTQyZjA2OTM2MDIuLjJlYTQ2NmFiMWNmZmI5NjNhMzJhOTQ0OGQ2M2E1MGI0N2Uz
M2Y0YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
T3duZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVy
LmgKQEAgLTU3LDcgKzU3LDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0
IHsgcmV0dXJuICEhbV9ibG9iTG9hZGVyOyB9CiAKLSAgICBib29sIGlzUmVhZGFibGVTdHJlYW1C
b2R5KCkgY29uc3QgeyByZXR1cm4gbV9ib2R5ICYmIG1fYm9keS0+aXNSZWFkYWJsZVN0cmVhbSgp
OyB9CisgICAgUmVhZGFibGVTdHJlYW0qIHJlYWRhYmxlU3RyZWFtKEpTQzo6RXhlY1N0YXRlJik7
CisgICAgdmlydHVhbCBib29sIGhhc1JlYWRhYmxlU3RyZWFtQm9keSgpIGNvbnN0IHsgcmV0dXJu
IG1fYm9keSAmJiBtX2JvZHktPmhhc1JlYWRhYmxlU3RyZWFtKCk7IH0KIAogcHJvdGVjdGVkOgog
ICAgIGNvbnN0IEZldGNoQm9keSYgYm9keSgpIGNvbnN0IHsgcmV0dXJuICptX2JvZHk7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAppbmRleCAwNzA1
MGNlZjNiOTg2NGI0NzQ5MmFiMzQ3YjRlY2UxMGM3MDg4NWY2Li5hOGI2ZjQ5Nzg0ZDNlNDI3NWIz
YTgzOWEzMWE0MzE4ZmUwOWRlNWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3QuY3BwCkBAIC0yMjUsNiArMjI1LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4g
RmV0Y2hSZXF1ZXN0OjpzZXRCb2R5KEZldGNoUmVxdWVzdCYgcmVxdWVzdCkKICAgICBpZiAoIXJl
cXVlc3QuaXNCb2R5TnVsbCgpKSB7CiAgICAgICAgIGlmICghbWV0aG9kQ2FuSGF2ZUJvZHkobV9p
bnRlcm5hbFJlcXVlc3QpKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciB9OworICAgICAgICAvLyBGSVhNRTogSWYgYm9keSBoYXMgYSByZWFkYWJsZSBzdHJlYW0sIHdl
IHNob3VsZCBwaXBlIGl0IHRvIHRoaXMgbmV3IGJvZHkgc3RyZWFtLgogICAgICAgICBtX2JvZHkg
PSBXVEZNb3ZlKHJlcXVlc3QubV9ib2R5KTsKICAgICAgICAgcmVxdWVzdC5zZXREaXN0dXJiZWQo
KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaApp
bmRleCA1YWQ3NDE0MTM5YTQ3ZmRhNTg0MmJjYmI3NDkxM2MzMjY3M2JkYzdlLi41NzM4YmY2YzM3
NTQxM2JiMjhkNzJjYmQ0ZWQ3YTM1YzRkMjEzYzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKQEAgLTg1LDcgKzg1LDYgQEAgcHVibGljOgogICAgIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgaW50ZXJuYWxSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9p
bnRlcm5hbFJlcXVlc3QucmVxdWVzdDsgfQogICAgIGNvbnN0IFN0cmluZyYgaW50ZXJuYWxSZXF1
ZXN0UmVmZXJyZXIoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdC5yZWZlcnJlcjsg
fQogICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3Qu
cmVxdWVzdC51cmwoKTsgfQotICAgIGJvb2wgaXNCb2R5UmVhZGFibGVTdHJlYW0oKSBjb25zdCB7
IHJldHVybiAhaXNCb2R5TnVsbCgpICYmIGJvZHkoKS5pc1JlYWRhYmxlU3RyZWFtKCk7IH0KIAog
ICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QoKSBjb25zdDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKaW5kZXggNTk5ZjFkM2Jj
NzI2ZGQ5YzFlMzI1YWQ4YWU0YTI3YzY4NzU0YjEwYi4uNzlhOTk3ZjZmMDU4ZGU1YTcyOTRhYzBj
ZmU1M2EzZmIxYTcyYTA5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVzcG9uc2UuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6c2V0
Qm9keUFzUmVhZGFibGVTdHJlYW0oKQogewogICAgIGlmIChpc0JvZHlOdWxsKCkpCiAgICAgICAg
IHNldEJvZHkoRmV0Y2hCb2R5Ojpsb2FkaW5nQm9keSgpKTsKLSAgICBib2R5KCkuc2V0QXNSZWFk
YWJsZVN0cmVhbSgpOworICAgIG1faXNSZWFkYWJsZVN0cmVhbSA9IHRydWU7CiAgICAgdXBkYXRl
Q29udGVudFR5cGUoKTsKIH0KIApAQCAtMTA1LDcgKzEwNSw3IEBAIFJlZjxGZXRjaFJlc3BvbnNl
PiBGZXRjaFJlc3BvbnNlOjpjbG9uZUZvckpTKCkKIAogdm9pZCBGZXRjaFJlc3BvbnNlOjpmZXRj
aChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBGZXRjaFJlcXVlc3QmIHJlcXVlc3Qs
IE5vdGlmaWNhdGlvbkNhbGxiYWNrJiYgcmVzcG9uc2VDYWxsYmFjaykKIHsKLSAgICBpZiAocmVx
dWVzdC5pc0JvZHlSZWFkYWJsZVN0cmVhbSgpKSB7CisgICAgaWYgKHJlcXVlc3QuaGFzUmVhZGFi
bGVTdHJlYW1Cb2R5KCkpIHsKICAgICAgICAgaWYgKHJlc3BvbnNlQ2FsbGJhY2spCiAgICAgICAg
ICAgICByZXNwb25zZUNhbGxiYWNrKEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCAiUmVh
ZGFibGVTdHJlYW0gdXBsb2FkaW5nIGlzIG5vdCBzdXBwb3J0ZWQiIH0pOwogICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9u
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCmluZGV4
IDY2ZTM1OThmN2ViZmRjNWMyMjExOTYxOGE0MTVhN2QxMjdmNGU4NGEuLjFiN2YxNmNmYTM3ODdm
NTU0MDZkMTNiMTBmZTI3NWQ4NjEyM2EzNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCkBAIC0xMDIsNiArMTAyLDkgQEAgcHVibGljOgogCiAgICAg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVzcG9uc2U7IH0KIAorICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBtZXRob2QgYW5kIHVz
ZSBGZXRjaEJvZHlPd25lciBvbmUgb25jZSB3ZSBoYXZlIGZ1bGwgc3VwcG9ydCBpbiBET00gUmVh
ZGFibGVTdHJlYW0uCisgICAgYm9vbCBoYXNSZWFkYWJsZVN0cmVhbUJvZHkoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX2lzUmVhZGFibGVTdHJlYW07IH0KKwogcHJpdmF0ZToKICAgICBGZXRjaFJl
c3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4m
JiwgUmVmPEZldGNoSGVhZGVycz4mJiwgUmVzb3VyY2VSZXNwb25zZSYmKTsKIApAQCAtMTQ0LDYg
KzE0Nyw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjpvcHRpb25hbDxCb2R5TG9hZGVyPiBtX2JvZHlM
b2FkZXI7CiAgICAgbXV0YWJsZSBTdHJpbmcgbV9yZXNwb25zZVVSTDsKICAgICBib29sIG1fc2hv
dWxkRXhwb3NlQm9keSB7IHRydWUgfTsKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoYXQgZmxhZyBv
bmNlIHdlIGhhdmUgZnVsbCBzdXBwb3J0IGluIERPTSBSZWFkYWJsZVN0cmVhbS4KKyAgICBib29s
IG1faXNSZWFkYWJsZVN0cmVhbSB7IGZhbHNlIH07CiAKICAgICBGZXRjaEJvZHlDb25zdW1lciBt
X2NvbnN1bWVyIHsgRmV0Y2hCb2R5Q29uc3VtZXI6OlR5cGU6OkFycmF5QnVmZmVyICB9OwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCAwMmQ3MmE4MzZjMjBlMjgyYjg5N2Y2OTE2YzI1ZWNmYTdiMTQyMDIyLi45NWI3YTYyMzk5
MjU2MTljN2Y4OWZlMmQ5YWNjNzFmNTc4OWM5Y2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzYyLDYgKzE3NjIsNyBAQAog
CQk0MUFCRTY3QzFEMDU4MEUwMDA2RDg2MkQgLyogQ3Jvc3NPcmlnaW5QcmVmbGlnaHRDaGVja2Vy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQUJF
Njc5MUQwNTgwRDUwMDZEODYyRCAvKiBDcm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuY3BwICov
OyB9OwogCQk0MUFENzUzQTFDRUY2QkQxMDBBMzE0ODYgLyogRmV0Y2hPcHRpb25zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUFENzUzOTFDRUY2QkNF
MDBBMzE0ODYgLyogRmV0Y2hPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFCMkE2MjYxRUYxQkY2RDAwMkI5RDdBIC8qIFdlYkF1ZGlv
U291cmNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxQjJBNjI1MUVGMUJGNjAwMDJCOUQ3QSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFC
NDU5RUYxRjU1RUJEMTAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQjQ1OUVEMUY1NUVCQzcwMDAwRjZG
RCAvKiBSZWFkYWJsZVN0cmVhbS5jcHAgKi87IH07CiAJCTQxQkY3MDBDMEZFODZGNDkwMDVFOERF
QyAvKiBNZXNzYWdlUG9ydENoYW5uZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxQkY3MDBBMEZFODZGNDkwMDVFOERFQyAvKiBNZXNzYWdlUG9ydENo
YW5uZWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0MUJGNzAwRjBGRTg2RjYxMDA1RThERUMgLyogUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCRjcw
MEQwRkU4NkY2MTAwNUU4REVDIC8qIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcCAqLzsg
fTsKIAkJNDFCRjcwMTAwRkU4NkY2MTAwNUU4REVDIC8qIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFu
bmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUJG
NzAwRTBGRTg2RjYxMDA1RThERUMgLyogUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuaCAqLzsg
fTsKQEAgLTk0NzUsNiArOTQ3Niw3IEBACiAJCTQxQUQ3NTM5MUNFRjZCQ0UwMEEzMTQ4NiAvKiBG
ZXRjaE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmV0Y2hPcHRp
b25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQjJBNjI1MUVGMUJGNjAwMDJC
OUQ3QSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkF1ZGlv
U291cmNlUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFCNDU5REEx
RjRDQURCOTAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxQjQ1OUVEMUY1NUVCQzcwMDAwRjZGRCAvKiBSZWFkYWJsZVN0cmVhbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWFkYWJsZVN0cmVhbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQkY3MDBBMEZFODZGNDkwMDVFOERFQyAvKiBNZXNz
YWdlUG9ydENoYW5uZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVzc2Fn
ZVBvcnRDaGFubmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQkY3MDBEMEZF
ODZGNjEwMDVFOERFQyAvKiBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5j
cHA7IHBhdGggPSBkZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFCRjcwMEUwRkU4NkY2MTAwNUU4REVDIC8qIFBsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmg7IHBhdGggPSBkZWZhdWx0L1BsYXRmb3JtTWVz
c2FnZVBvcnRDaGFubmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzg0Myw2
ICsyMzg0NSw3IEBACiAJCQkJRTFDMzZEMzIwRUIwQTA5NDAwNzQxMEJDIC8qIEpTV29ya2VyR2xv
YmFsU2NvcGVCYXNlLmNwcCAqLywKIAkJCQlFMUMzNkQzMzBFQjBBMDk0MDA3NDEwQkMgLyogSlNX
b3JrZXJHbG9iYWxTY29wZUJhc2UuaCAqLywKIAkJCQk3MDlBMDFGRDFFM0QwQkNDMDA2QjBENEMg
LyogTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oICovLAorCQkJCTQxQjQ1OUVEMUY1NUVCQzcwMDAw
RjZGRCAvKiBSZWFkYWJsZVN0cmVhbS5jcHAgKi8sCiAJCQkJNDFCNDU5REExRjRDQURCOTAwMDBG
NkZEIC8qIFJlYWRhYmxlU3RyZWFtLmggKi8sCiAJCQkJNDE4QzM5NUUxQzhGMEFBQjAwNTFDOEEz
IC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuY3BwICovLAogCQkJCTQxOEMzOTVG
MUM4RjBBQUIwMDUxQzhBMyAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmggKi8s
CkBAIC0zMzI0OSw2ICszMzI1Miw3IEBACiAJCQkJOTNGMTlBQjkwODI0NUU1OTAwMUU5QUJDIC8q
IFJhbmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzRENEMTI1MUYxMkQwMDNFRjI2OSAv
KiBSYW5nZUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVF
MDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDFCNDU5RUYx
RjU1RUJEMTAwMDBGNkZEIC8qIFJlYWRhYmxlU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTQxOEMzOTYxMUM4RjBBQjEwMDUxQzhBMyAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9s
bGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMzE2MDNCMTJCMDI2NzYwMEMxQTM1OSAvKiBS
ZWFsdGltZUFuYWx5c2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxMTAzQUFFMUUzOTc5MTAw
MDc2OUYwMyAvKiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZGY0MTQxZTkwYjA5NTE3MDFkNGI4OTc5ZWIwMDRkZWNiMjM1ZjU0NwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtLmNwcApA
QCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIENBTk9OIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBDQU5P
TiBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtLmgiCisK
KyNpbmNsdWRlICJKU1JlYWRhYmxlU3RyZWFtU291cmNlLmgiCisjaW5jbHVkZSAiV2ViQ29yZUpT
Q2xpZW50RGF0YS5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK1JlZjxSZWFkYWJsZVN0cmVhbT4gUmVhZGFibGVTdHJlYW06OmNyZWF0ZShKU0M6OkV4
ZWNTdGF0ZSYgZXhlY1N0YXRlLCBSZWZQdHI8UmVhZGFibGVTdHJlYW1Tb3VyY2U+JiYgc291cmNl
KQoreworICAgIFZNJiB2bSA9IGV4ZWNTdGF0ZS52bSgpOworICAgIGF1dG8mIGNsaWVudERhdGEg
PSAqc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsKKyAgICBhdXRv
JiBnbG9iYWxPYmplY3QgPSAqSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjU3Rh
dGUubGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKworICAgIGF1dG8qIGNvbnN0cnVjdG9yID0gSlND
Ojphc09iamVjdChnbG9iYWxPYmplY3QuZ2V0KCZleGVjU3RhdGUsIGNsaWVudERhdGEuYnVpbHRp
bk5hbWVzKCkuUmVhZGFibGVTdHJlYW1Qcml2YXRlTmFtZSgpKSk7CisKKyAgICBDb25zdHJ1Y3RE
YXRhIGNvbnN0cnVjdERhdGE7CisgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gY29u
c3RydWN0b3ItPm1ldGhvZFRhYmxlKHZtKS0+Z2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3Rvciwg
Y29uc3RydWN0RGF0YSk7CisgICAgQVNTRVJUKGNvbnN0cnVjdFR5cGUgIT0gQ29uc3RydWN0VHlw
ZTo6Tm9uZSk7CisKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGFyZ3MuYXBw
ZW5kKHNvdXJjZSA/IHRvSlNOZXdseUNyZWF0ZWQoJmV4ZWNTdGF0ZSwgJmdsb2JhbE9iamVjdCwg
c291cmNlLnJlbGVhc2VOb25OdWxsKCkpIDogSlNDOjpqc1VuZGVmaW5lZCgpKTsKKworICAgIGF1
dG8gbmV3UmVhZGFibGVTdHJlYW0gPSBqc0R5bmFtaWNEb3duY2FzdDxKU1JlYWRhYmxlU3RyZWFt
Kj4odm0sIEpTQzo6Y29uc3RydWN0KCZleGVjU3RhdGUsIGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3RU
eXBlLCBjb25zdHJ1Y3REYXRhLCBhcmdzKSk7CisKKyAgICByZXR1cm4gY3JlYXRlKGdsb2JhbE9i
amVjdCwgKm5ld1JlYWRhYmxlU3RyZWFtKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1JlYWRhYmxlU3RyZWFtLmgKaW5kZXggNTNlOTc1ZjM1M2FiM2I3ZDZiNDZiZTUzYjYy
MjNkYTg4ZGRlYWFkMi4uMzY0YzljNmI2ODVkYjE3OWViNzdlNTAyZmU1NTI0OTMzM2VkZTg3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW0uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbS5oCkBAIC0zMiwx
MCArMzIsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBSZWFkYWJsZVN0cmVh
bVNvdXJjZTsKKwogY2xhc3MgUmVhZGFibGVTdHJlYW0gZmluYWwgOiBwdWJsaWMgRE9NR3VhcmRl
ZDxKU1JlYWRhYmxlU3RyZWFtPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxSZWFkYWJsZVN0
cmVhbT4gY3JlYXRlKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTUmVhZGFibGVT
dHJlYW0mIHJlYWRhYmxlU3RyZWFtKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFJlYWRhYmxlU3Ry
ZWFtKGdsb2JhbE9iamVjdCwgcmVhZGFibGVTdHJlYW0pKTsgfQogCisgICAgc3RhdGljIFJlZjxS
ZWFkYWJsZVN0cmVhbT4gY3JlYXRlKEpTQzo6RXhlY1N0YXRlJiwgUmVmUHRyPFJlYWRhYmxlU3Ry
ZWFtU291cmNlPiYmKTsKKwogICAgIEpTUmVhZGFibGVTdHJlYW0qIHJlYWRhYmxlU3RyZWFtKCkg
eyByZXR1cm4gZ3VhcmRlZCgpOyB9CiAKIHByb3RlY3RlZDoKQEAgLTY0LDQgKzY4LDE2IEBAIHRl
bXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxSZWFkYWJsZVN0cmVh
bT4gewogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBuZWVkc1N0YXRlID0gdHJ1ZTsKIH07CiAK
K3RlbXBsYXRlPD4gc3RydWN0IEpTQ29udmVydGVyPElETEludGVyZmFjZTxSZWFkYWJsZVN0cmVh
bT4+IHsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgbmVlZHNTdGF0ZSA9IGZhbHNlOworICAg
IHN0YXRpYyBjb25zdGV4cHIgYm9vbCBuZWVkc0dsb2JhbE9iamVjdCA9IGZhbHNlOworCisgICAg
c3RhdGljIEpTQzo6SlNWYWx1ZSBjb252ZXJ0KFJlYWRhYmxlU3RyZWFtKiB2YWx1ZSkKKyAgICB7
CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm4gSlNDOjpqc051bGwoKTsK
KyAgICAgICAgcmV0dXJuIHZhbHVlLT5yZWFkYWJsZVN0cmVhbSgpOworICAgIH0KK307CisKIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGQwMjFlZmI4ZGM1YTQxMzllZWE1Njkx
Yjc4OWIxNjBmZWU3MTYxZjIuLmU2NjkyODJlMWU3NzQ1ODlkNjVhNWJjODFiMjQ4M2Y2ODNkNmZi
YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3
LTA4LTI5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
c3VwcG9ydCBmb3IgRmV0Y2hSZXF1ZXN0LmJvZHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1
ZXN0L3JlcXVlc3QtZGlzdHVyYmVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1pZGwtZXhwZWN0ZWQudHh0OgorCiAy
MDE3LTA4LTI1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBX
UFQgc2VydmVyIHNob3VsZCBub3QgbmVlZCB0byBjb3B5IHRlc3QgaGFybmVzcyBmaWxlcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWRpc3R1cmJlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVl
c3QtZGlzdHVyYmVkLWV4cGVjdGVkLnR4dAppbmRleCA1YTZjYjM4ZmJhMWQ1MzJiMzFiN2IxNzkw
MzQ0NDAyY2YxODUwYTVjLi4wZDlkMzMzZWI5M2FiNDFiNDJkZWEwZmZlZGUwNmQwNDExZWMwNWZj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3QtZGlzdHVyYmVkLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1
ZXN0L3JlcXVlc3QtZGlzdHVyYmVkLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKIAotRkFJ
TCBSZXF1ZXN0J3MgYm9keTogaW5pdGlhbCBzdGF0ZSBhc3NlcnRfZXF1YWxzOiBib2R5J3MgZGVm
YXVsdCB2YWx1ZSBpcyBudWxsIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZp
bmVkKSB1bmRlZmluZWQKK1BBU1MgUmVxdWVzdCdzIGJvZHk6IGluaXRpYWwgc3RhdGUgCiBQQVNT
IFJlcXVlc3Qgd2l0aG91dCBib2R5IGNhbm5vdCBiZSBkaXN0dXJiZWQgCiBQQVNTIENoZWNrIGNs
b25pbmcgYSBkaXN0dXJiZWQgcmVxdWVzdCAKIFBBU1MgQ2hlY2sgY3JlYXRpbmcgYSBuZXcgcmVx
dWVzdCBmcm9tIGEgZGlzdHVyYmVkIHJlcXVlc3QgCi1GQUlMIElucHV0IHJlcXVlc3QgdXNlZCBm
b3IgY3JlYXRpbmcgbmV3IHJlcXVlc3QgYmVjYW1lIGRpc3R1cmJlZCBhc3NlcnRfbm90X2VxdWFs
czogYm9keSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSB1bmRl
ZmluZWQKK0ZBSUwgSW5wdXQgcmVxdWVzdCB1c2VkIGZvciBjcmVhdGluZyBuZXcgcmVxdWVzdCBi
ZWNhbWUgZGlzdHVyYmVkIGFzc2VydF9lcXVhbHM6IGJvZHkgc2hvdWxkIG5vdCBjaGFuZ2UgZXhw
ZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IFJlYWRhYmxlU3RyZWFtXSIgYnV0IGdvdCBvYmplY3QgIltv
YmplY3QgUmVhZGFibGVTdHJlYW1dIgogRkFJTCBJbnB1dCByZXF1ZXN0IHVzZWQgZm9yIGNyZWF0
aW5nIG5ldyByZXF1ZXN0IGJlY2FtZSBkaXN0dXJiZWQgZXZlbiBpZiBib2R5IGlzIG5vdCB1c2Vk
IGFzc2VydF90cnVlOiBib2R5VXNlZCBpcyB0cnVlIHdoZW4gcmVxdWVzdCBpcyBkaXN0dXJiZWQg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgQ2hlY2sgY29uc3VtaW5nIGEgZGlzdHVyYmVk
IHJlcXVlc3QgCiBQQVNTIFJlcXVlc3QgY29uc3RydWN0aW9uIGZhaWx1cmUgc2hvdWxkIG5vdCBz
ZXQgImJvZHlVc2VkIiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1pZGwtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkv
cmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50eHQKaW5kZXggZjE2NzJjNzMxOTRiODliMGQz
ZmY1YTNlNjg0MDVmMDEwNzY3MGNhNy4uYmVjOTJjMjFmNTcwODM5OGQ4MjRiMTdiYTVjMTA1OWU3
MGVkN2YzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVx
dWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50eHQKQEAgLTE4LDcgKzE4LDcgQEAgUEFTUyBSZXF1
ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIHJlZGlyZWN0CiBQQVNTIFJlcXVlc3QgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgaW50ZWdyaXR5IAogUEFTUyBSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRl
IGtlZXBhbGl2ZSAKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbG9uZSgpIAot
RkFJTCBSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIGJvZHkgYXNzZXJ0X3RydWU6IFRoZSBw
cm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJib2R5IiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorUEFTUyBSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIGJvZHkgCiBQQVNT
IFJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYm9keVVzZWQgCiBQQVNTIFJlcXVlc3QgaW50
ZXJmYWNlOiBvcGVyYXRpb24gYXJyYXlCdWZmZXIoKSAKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBibG9iKCkgCkBAIC0zOSw3ICszOSw3IEBAIFBBU1MgUmVxdWVzdCBpbnRlcmZh
Y2U6IG5ldyBSZXF1ZXN0KCIiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlZGlyZWN0IiB3aXRo
IHRoCiBQQVNTIFJlcXVlc3QgaW50ZXJmYWNlOiBuZXcgUmVxdWVzdCgiIikgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJpbnRlZ3JpdHkiIHdpdGggdGhlIHByb3BlciB0eXBlICgxMSkgCiBQQVNTIFJl
cXVlc3QgaW50ZXJmYWNlOiBuZXcgUmVxdWVzdCgiIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJr
ZWVwYWxpdmUiIHdpdGggdGhlIHByb3BlciB0eXBlICgxMikgCiBQQVNTIFJlcXVlc3QgaW50ZXJm
YWNlOiBuZXcgUmVxdWVzdCgiIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjbG9uZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDEzKSAKLUZBSUwgUmVxdWVzdCBpbnRlcmZhY2U6IG5ldyBSZXF1ZXN0
KCIiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImJvZHkiIHdpdGggdGhlIHByb3BlciB0eXBlICgx
NCkgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiYm9keSIgbm90IGZvdW5kIGluIHByb3RvdHlw
ZSBjaGFpbgorUEFTUyBSZXF1ZXN0IGludGVyZmFjZTogbmV3IFJlcXVlc3QoIiIpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiYm9keSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDE0KSAKIFBBU1MgUmVx
dWVzdCBpbnRlcmZhY2U6IG5ldyBSZXF1ZXN0KCIiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImJv
ZHlVc2VkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMTUpIAogUEFTUyBSZXF1ZXN0IGludGVyZmFj
ZTogbmV3IFJlcXVlc3QoIiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXJyYXlCdWZmZXIiIHdp
dGggdGhlIHByb3BlciB0eXBlICgxNikgCiBQQVNTIFJlcXVlc3QgaW50ZXJmYWNlOiBuZXcgUmVx
dWVzdCgiIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJibG9iIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMTcpIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319331</attachid>
            <date>2017-08-29 21:00:11 -0700</date>
            <delta_ts>2017-08-30 11:43:09 -0700</delta_ts>
            <desc>Addendum</desc>
            <filename>bug-176066-20170829210010.patch</filename>
            <type>text/plain</type>
            <size>3324</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMzI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjVmYzZkMTBkNGNjYzEy
MjQwMDg0YmMyZWRhZWQ5MWM5YmE5MjlkNS4uZGQxY2Q1NGUzMjc2MmM3MDNmNDc5YTJlMjY3NDg1
ZmI1Yjg4NzhkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDE3LTA4LTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
RmV0Y2hSZXF1ZXN0LmJvZHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NjA2NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzQxNDgzNzM+CisKKyAg
ICAgICAgRm9sbG93LXVwIHRvIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL3IyMjEzMjkgYXMgcGVy
IHBvc3QgbGFuZGluZyBjb21tZW50cy4KKyAgICAgICAgUmV0dXJuaW5nIGEgUmVmUHRyPFJlYWRh
YmxlU3RyZWFtPiBzbyBhcyB0byB0byBub3Qgc3BlY2lhbGl6ZSBSZWFkYWJsZVN0cmVhbSBjb252
ZXJ0ZXIuCisKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjpyZWFkYWJsZVN0cmVhbSk6CisgICAgICAg
ICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1JlYWRhYmxlU3RyZWFtLmg6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTQ29udmVydGVyPElETEludGVyZmFjZTxSZWFkYWJsZVN0cmVhbT4+Ojpjb252ZXJ0
KTogRGVsZXRlZC4KKworMjAxNy0wOC0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKICAgICAgICAgW0ZldGNoIEFQSV0gUmVxdWVzdCBzaG91bGQgdGhyb3cgd2hlbiBrZWVw
IGFsaXZlIGlzIHRydWUgYW5kIGJvZHkgaXMgYSBSZWFkYWJsZVN0cmVhbQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MDgzCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5jcHAKaW5kZXggODAzNTUxNWY3
ODdkNjNkZTA4YmU0ZjVlZDZiNTAxMTZhNDhlYjk2ZC4uNjUwMzU0NTc1MDAyNDI3NjUxOWNhNTU0
ZjgxNDEyYmJjYjg5ZWUxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaEJvZHlPd25lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHlPd25lci5jcHAKQEAgLTI4OCw3ICsyODgsNyBAQCB2b2lkIEZldGNoQm9keU93bmVy
OjpCbG9iTG9hZGVyOjpkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKQogICAgICAgICBvd25l
ci5ibG9iTG9hZGluZ0ZhaWxlZCgpOwogfQogCi1SZWFkYWJsZVN0cmVhbSogRmV0Y2hCb2R5T3du
ZXI6OnJlYWRhYmxlU3RyZWFtKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSkKK1JlZlB0cjxSZWFkYWJs
ZVN0cmVhbT4gRmV0Y2hCb2R5T3duZXI6OnJlYWRhYmxlU3RyZWFtKEpTQzo6RXhlY1N0YXRlJiBz
dGF0ZSkKIHsKICAgICBpZiAoaXNCb2R5TnVsbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaAppbmRleCAy
ZWE0NjZhYjFjZmZiOTYzYTMyYTk0NDhkNjNhNTBiNDdlMzNmNGE3Li5lYWMyMjMyOTdiMjBmZTk1
NTUwMjIwZjIxMTdkOWJkZmVlZjE5M2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaEJvZHlPd25lci5oCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKIAogICAgIGJv
b2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiAhIW1fYmxvYkxvYWRlcjsgfQogCi0gICAgUmVh
ZGFibGVTdHJlYW0qIHJlYWRhYmxlU3RyZWFtKEpTQzo6RXhlY1N0YXRlJik7CisgICAgUmVmUHRy
PFJlYWRhYmxlU3RyZWFtPiByZWFkYWJsZVN0cmVhbShKU0M6OkV4ZWNTdGF0ZSYpOwogICAgIHZp
cnR1YWwgYm9vbCBoYXNSZWFkYWJsZVN0cmVhbUJvZHkoKSBjb25zdCB7IHJldHVybiBtX2JvZHkg
JiYgbV9ib2R5LT5oYXNSZWFkYWJsZVN0cmVhbSgpOyB9CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbS5oCmluZGV4IDM2NGM5YzZiNjg1ZGIx
NzllYjc3ZTUwMmZlNTUyNDkzMzNlZGU4NzMuLmIxYzMyNzlhYWM1ZWRkNzIxYjM2NDFhNzIzMjQ0
ZGU2YWUzZmFiMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRh
YmxlU3RyZWFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJl
YW0uaApAQCAtNjgsMTYgKzY4LDkgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29u
dmVydGVyVHJhaXRzPFJlYWRhYmxlU3RyZWFtPiB7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29s
IG5lZWRzU3RhdGUgPSB0cnVlOwogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgSlNDb252ZXJ0ZXI8
SURMSW50ZXJmYWNlPFJlYWRhYmxlU3RyZWFtPj4gewotICAgIHN0YXRpYyBjb25zdGV4cHIgYm9v
bCBuZWVkc1N0YXRlID0gZmFsc2U7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBib29sIG5lZWRzR2xv
YmFsT2JqZWN0ID0gZmFsc2U7Ci0KLSAgICBzdGF0aWMgSlNDOjpKU1ZhbHVlIGNvbnZlcnQoUmVh
ZGFibGVTdHJlYW0qIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKCF2YWx1ZSkKLSAgICAgICAg
ICAgIHJldHVybiBKU0M6OmpzTnVsbCgpOwotICAgICAgICByZXR1cm4gdmFsdWUtPnJlYWRhYmxl
U3RyZWFtKCk7Ci0gICAgfQotfTsKK2lubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNT
dGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBSZWFkYWJsZVN0cmVhbSogc3RyZWFtKQorewor
ICAgIHJldHVybiBzdHJlYW0gPyBzdHJlYW0tPnJlYWRhYmxlU3RyZWFtKCkgOiBKU0M6OmpzVW5k
ZWZpbmVkKCk7Cit9CiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319384</attachid>
            <date>2017-08-30 11:43:10 -0700</date>
            <delta_ts>2017-08-30 13:19:21 -0700</delta_ts>
            <desc>Addendum</desc>
            <filename>bug-176066-20170830114310.patch</filename>
            <type>text/plain</type>
            <size>3278</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmMyZjE4OGQ5NzRhNTYy
YmU0NmFiNTY3YTkxYzE2NTYwMWRmNWJkNy4uNTVkOGJhZTkxMTVhNmMzYWRjMTViZmNiMDU4ZTE1
NzhlMWZkMmZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTA4LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
RmV0Y2hSZXF1ZXN0LmJvZHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NjA2NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzQxNDgzNzM+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZyBhbmQgQWxleCBDaHJpc3RlbnNlbi4KKworICAg
ICAgICBGb2xsb3ctdXAgdG8gaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvcjIyMTMyOSBhcyBwZXIg
cG9zdCBsYW5kaW5nIGNvbW1lbnRzLgorICAgICAgICBSZXR1cm5pbmcgYSBSZWZQdHI8UmVhZGFi
bGVTdHJlYW0+IHNvIGFzIHRvIHRvIG5vdCBzcGVjaWFsaXplIFJlYWRhYmxlU3RyZWFtIGNvbnZl
cnRlci4KKworICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5T3duZXI6OnJlYWRhYmxlU3RyZWFtKToKKyAgICAgICAg
KiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmg6CisgICAgICAgICogYmluZGluZ3MvanMv
UmVhZGFibGVTdHJlYW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNDb252ZXJ0ZXI8SURMSW50ZXJmYWNlPFJlYWRhYmxlU3RyZWFtPj46OmNvbnZlcnQp
OiBEZWxldGVkLgorCiAyMDE3LTA4LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgU3RyaW5ncyBuZWVkIHRvIGJlIGluIHNvbWUga2luZCBvZiBnaWdhY2FnZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmNwcAppbmRl
eCA4MDM1NTE1Zjc4N2Q2M2RlMDhiZTRmNWVkNmI1MDExNmE0OGViOTZkLi42NTAzNTQ1NzUwMDI0
Mjc2NTE5Y2E1NTRmODE0MTJiYmNiODllZTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmNwcApAQCAtMjg4LDcgKzI4OCw3IEBAIHZvaWQgRmV0
Y2hCb2R5T3duZXI6OkJsb2JMb2FkZXI6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpCiAg
ICAgICAgIG93bmVyLmJsb2JMb2FkaW5nRmFpbGVkKCk7CiB9CiAKLVJlYWRhYmxlU3RyZWFtKiBG
ZXRjaEJvZHlPd25lcjo6cmVhZGFibGVTdHJlYW0oSlNDOjpFeGVjU3RhdGUmIHN0YXRlKQorUmVm
UHRyPFJlYWRhYmxlU3RyZWFtPiBGZXRjaEJvZHlPd25lcjo6cmVhZGFibGVTdHJlYW0oSlNDOjpF
eGVjU3RhdGUmIHN0YXRlKQogewogICAgIGlmIChpc0JvZHlOdWxsKCkpCiAgICAgICAgIHJldHVy
biBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHlPd25lci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25l
ci5oCmluZGV4IDJlYTQ2NmFiMWNmZmI5NjNhMzJhOTQ0OGQ2M2E1MGI0N2UzM2Y0YTcuLmVhYzIy
MzI5N2IyMGZlOTU1NTAyMjBmMjExN2Q5YmRmZWVmMTkzZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKQEAgLTU3LDcgKzU3LDcgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuICEhbV9ibG9iTG9hZGVyOyB9
CiAKLSAgICBSZWFkYWJsZVN0cmVhbSogcmVhZGFibGVTdHJlYW0oSlNDOjpFeGVjU3RhdGUmKTsK
KyAgICBSZWZQdHI8UmVhZGFibGVTdHJlYW0+IHJlYWRhYmxlU3RyZWFtKEpTQzo6RXhlY1N0YXRl
Jik7CiAgICAgdmlydHVhbCBib29sIGhhc1JlYWRhYmxlU3RyZWFtQm9keSgpIGNvbnN0IHsgcmV0
dXJuIG1fYm9keSAmJiBtX2JvZHktPmhhc1JlYWRhYmxlU3RyZWFtKCk7IH0KIAogcHJvdGVjdGVk
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW0u
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtLmgKaW5kZXggMzY0
YzljNmI2ODVkYjE3OWViNzdlNTAyZmU1NTI0OTMzM2VkZTg3My4uYjFjMzI3OWFhYzVlZGQ3MjFi
MzY0MWE3MjMyNDRkZTZhZTNmYWIwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvUmVhZGFibGVTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9S
ZWFkYWJsZVN0cmVhbS5oCkBAIC02OCwxNiArNjgsOSBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RP
TVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8UmVhZGFibGVTdHJlYW0+IHsKICAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgbmVlZHNTdGF0ZSA9IHRydWU7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBK
U0NvbnZlcnRlcjxJRExJbnRlcmZhY2U8UmVhZGFibGVTdHJlYW0+PiB7Ci0gICAgc3RhdGljIGNv
bnN0ZXhwciBib29sIG5lZWRzU3RhdGUgPSBmYWxzZTsKLSAgICBzdGF0aWMgY29uc3RleHByIGJv
b2wgbmVlZHNHbG9iYWxPYmplY3QgPSBmYWxzZTsKLQotICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUg
Y29udmVydChSZWFkYWJsZVN0cmVhbSogdmFsdWUpCi0gICAgewotICAgICAgICBpZiAoIXZhbHVl
KQotICAgICAgICAgICAgcmV0dXJuIEpTQzo6anNOdWxsKCk7Ci0gICAgICAgIHJldHVybiB2YWx1
ZS0+cmVhZGFibGVTdHJlYW0oKTsKLSAgICB9Ci19OworaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pT
KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIFJlYWRhYmxlU3RyZWFtKiBz
dHJlYW0pCit7CisgICAgcmV0dXJuIHN0cmVhbSA/IHN0cmVhbS0+cmVhZGFibGVTdHJlYW0oKSA6
IEpTQzo6anNVbmRlZmluZWQoKTsKK30KIAogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>