<?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>178082</bug_id>
          
          <creation_ts>2017-10-09 08:44:42 -0700</creation_ts>
          <short_desc>[Readable Streams API] Align queue with spec for ReadableStreamDefaultController</short_desc>
          <delta_ts>2017-10-13 02:23:57 -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="Romain Bellessort">romain.wkt</reporter>
          <assigned_to name="Romain Bellessort">romain.wkt</assigned_to>
          <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1358237</commentid>
    <comment_count>0</comment_count>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2017-10-09 08:44:42 -0700</bug_when>
    <thetext>Align ReadableStreamDefaultController handling of queue with latest spec. This will in particular fix some consistency issues, especially with rounding errors. Also applies to WritableStream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358245</commentid>
    <comment_count>1</comment_count>
      <attachid>323178</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2017-10-09 09:17:16 -0700</bug_when>
    <thetext>Created attachment 323178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358663</commentid>
    <comment_count>2</comment_count>
      <attachid>323178</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-10-10 00:51:59 -0700</bug_when>
    <thetext>Comment on attachment 323178
Patch

Why did you decide to remove the queue object and subtitute it with two attributes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358691</commentid>
    <comment_count>3</comment_count>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2017-10-10 03:04:00 -0700</bug_when>
    <thetext>(In reply to Xabier Rodríguez Calvar from comment #2)
&gt; Comment on attachment 323178 [details]
&gt; Patch
&gt; 
&gt; Why did you decide to remove the queue object and subtitute it with two
&gt; attributes?


I thought current implementation was based on a previous version of the spec and that, while implementing latest behavior for queue, it would be better to align the whole implementation (this in particular makes it easier to compare spec and implementation). 

Are there any drawbacks to replacing the queue object (with two attributes) by two attributes directly owned by the controller? (the need to define both attributes in WebCoreBuiltinNames.h is a significant drawback?) Of course if it is more appropriate, I can prepare a patch that preserves the queue object and only aligns with new behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358727</commentid>
    <comment_count>4</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-10-10 05:05:47 -0700</bug_when>
    <thetext>(In reply to Romain Bellessort from comment #3)
&gt; I thought current implementation was based on a previous version of the spec
&gt; and that, while implementing latest behavior for queue, it would be better
&gt; to align the whole implementation (this in particular makes it easier to
&gt; compare spec and implementation). 
&gt; 
&gt; Are there any drawbacks to replacing the queue object (with two attributes)
&gt; by two attributes directly owned by the controller? (the need to define both
&gt; attributes in WebCoreBuiltinNames.h is a significant drawback?) Of course if
&gt; it is more appropriate, I can prepare a patch that preserves the queue
&gt; object and only aligns with new behavior.

There are any drawbacks in changing that. Af the moment Youenn and I decided that we preferred this implementation because it does not make too much sense having a queue with two attributes in the original object instead of having just a queue object with those two attributes.

This said, IMHO, I think the implementation would be clearer if you kept it as you could call @newQueue or make @resetQueue create a object with the right reset attributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358746</commentid>
    <comment_count>5</comment_count>
      <attachid>323301</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2017-10-10 06:33:52 -0700</bug_when>
    <thetext>Created attachment 323301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358747</commentid>
    <comment_count>6</comment_count>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2017-10-10 06:36:25 -0700</bug_when>
    <thetext>(In reply to Xabier Rodríguez Calvar from comment #4)
&gt; (In reply to Romain Bellessort from comment #3)
&gt; &gt; I thought current implementation was based on a previous version of the spec
&gt; &gt; and that, while implementing latest behavior for queue, it would be better
&gt; &gt; to align the whole implementation (this in particular makes it easier to
&gt; &gt; compare spec and implementation). 
&gt; &gt; 
&gt; &gt; Are there any drawbacks to replacing the queue object (with two attributes)
&gt; &gt; by two attributes directly owned by the controller? (the need to define both
&gt; &gt; attributes in WebCoreBuiltinNames.h is a significant drawback?) Of course if
&gt; &gt; it is more appropriate, I can prepare a patch that preserves the queue
&gt; &gt; object and only aligns with new behavior.
&gt; 
&gt; There are any drawbacks in changing that. Af the moment Youenn and I decided
&gt; that we preferred this implementation because it does not make too much
&gt; sense having a queue with two attributes in the original object instead of
&gt; having just a queue object with those two attributes.
&gt; 
&gt; This said, IMHO, I think the implementation would be clearer if you kept it
&gt; as you could call @newQueue or make @resetQueue create a object with the
&gt; right reset attributes.

Ok I see the point. I&apos;ve uploaded a new patch which keeps queue as an object but implements the new behavior. In addition, I&apos;ve refactored queue for ReadableByteStreamController, so that both queues are implemented in the same way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359097</commentid>
    <comment_count>7</comment_count>
      <attachid>323301</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-11 02:24:28 -0700</bug_when>
    <thetext>Comment on attachment 323301
Patch

Rejecting attachment 323301 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-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 323301, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
ayoutTests/imported/w3c/ChangeLog
error: Error building trees

Failed to run &quot;[&apos;git&apos;, &apos;commit&apos;, &apos;--all&apos;, &apos;-F&apos;, &apos;-&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

You have both LayoutTests/imported/w3c and LayoutTests/imported/w3c/ChangeLog
You have both LayoutTests/imported/w3c and LayoutTests/imported/w3c/ChangeLog
error: Error building trees

Failed to run &quot;[&apos;git&apos;, &apos;commit&apos;, &apos;--all&apos;, &apos;-F&apos;, &apos;-&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
Current branch master is up to date.

Full output: http://webkit-queues.webkit.org/results/4822078</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359103</commentid>
    <comment_count>8</comment_count>
      <attachid>323402</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2017-10-11 03:24:09 -0700</bug_when>
    <thetext>Created attachment 323402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359132</commentid>
    <comment_count>9</comment_count>
      <attachid>323402</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-11 05:26:36 -0700</bug_when>
    <thetext>Comment on attachment 323402
Patch

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

Xabier Rodriguez Calvar found in /Volumes/Data/EWS/WebKit/LayoutTests/imported/w3c/ChangeLog does not appear to be a valid reviewer according to contributors.json.
/Volumes/Data/EWS/WebKit/LayoutTests/imported/w3c/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/4823306</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359141</commentid>
    <comment_count>10</comment_count>
      <attachid>323413</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2017-10-11 05:32:01 -0700</bug_when>
    <thetext>Created attachment 323413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359159</commentid>
    <comment_count>11</comment_count>
      <attachid>323413</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-11 07:01:38 -0700</bug_when>
    <thetext>Comment on attachment 323413
Patch

Rejecting attachment 323413 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;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 323413, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
    -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 223175 = f5e3797fe588fd54021993c447e477c2fc70ed4b
r223176 = 283af2e6841e7767eabb507a2b77271755074c16
r223177 = 35546d106cccda22c9f65cb741526f2e3674b1e9
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.webkit.org/results/4823931</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359546</commentid>
    <comment_count>12</comment_count>
      <attachid>323515</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2017-10-12 01:10:38 -0700</bug_when>
    <thetext>Created attachment 323515
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359613</commentid>
    <comment_count>13</comment_count>
      <attachid>323530</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2017-10-12 09:12:47 -0700</bug_when>
    <thetext>Created attachment 323530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359942</commentid>
    <comment_count>14</comment_count>
      <attachid>323530</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-13 00:14:35 -0700</bug_when>
    <thetext>Comment on attachment 323530
Patch

Rejecting attachment 323530 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-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 323530, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
LayoutTests
:040000 040000 9dd96414628e6f08c6f8af5fb8a68f48513d96fb ad6233fe766704b81d65aac6b91abb82de0aa53b M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
Current branch master is up to date.

Full output: http://webkit-queues.webkit.org/results/4842589</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359946</commentid>
    <comment_count>15</comment_count>
      <attachid>323646</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2017-10-13 01:00:01 -0700</bug_when>
    <thetext>Created attachment 323646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359958</commentid>
    <comment_count>16</comment_count>
      <attachid>323646</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-13 02:22:52 -0700</bug_when>
    <thetext>Comment on attachment 323646
Patch

Clearing flags on attachment: 323646

Committed r223279: &lt;https://trac.webkit.org/changeset/223279&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359959</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-13 02:22:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359960</commentid>
    <comment_count>18</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-13 02:23:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/34973793&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323178</attachid>
            <date>2017-10-09 09:17:16 -0700</date>
            <delta_ts>2017-10-10 06:33:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178082-20171009181714.patch</filename>
            <type>text/plain</type>
            <size>16640</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTE5YmQyZWI3NmU3MDc0
NmViMzdjZTAzMjYwYTU1MmUzNTU5NTI1NC4uZjNiZDllYjA3Y2ExOTJlMzE0ZWM3ZGQwYmU4ZjVm
NmI0ZmZkMmU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQxIEBACiAyMDE3LTEwLTA5ICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KIAorICAgICAg
ICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEFsaWduIHF1ZXVlIHdpdGggc3BlYyBmb3IgUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDgyCisKKyAgICAgICAgVXBkYXRlZCBxdWV1ZWluZyBmb3Ig
UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciBiYXNlZCBvbiBsYXRlc3Qgc3BlYy4gQWxz
byAKKyAgICAgICAgYWxpZ25lZCBpbXBsZW1lbnRhdGlvbiBmb3IgV3JpdGFibGUgU3RyZWFtIGFz
IHF1ZXVlIG1hbmFnZW1lbnQgY29kZSBpcyBzaGFyZWQgd2l0aAorICAgICAgICBSZWFkYWJsZSBT
dHJlYW0uIFVwZGF0ZWQgaW1wbGVtZW50YXRpb24gZW5hYmxlcyBhIG1vcmUgY29uc2lzdGVudCBi
ZWhhdmlvciwgCisgICAgICAgIGVzcGVjaWFsbHkgcmVnYXJkaW5nIHBvdGVudGlhbCByb3VuZGlu
ZyBlcnJvcnMuIE1vc3QgZGV0YWlscyBhYm91dCB0aGlzIHNwZWMgY2hhbmdlCisgICAgICAgIGNh
biBiZSBmb3VuZCBhdCB0aGUgZm9sbG93aW5nIFVSTDogaHR0cHM6Ly9naXRodWIuY29tL3doYXR3
Zy9zdHJlYW1zL3B1bGwvNjYxIC4KKyAgICAgICAgCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoY292ZXJlZCBieSBleGlzdGluZyB0
ZXN0cywgZXNwZWNpYWxseSBXUFQgdGVzdHMgdGhhdCBub3cgcGFzcykuCisKKyAgICAgICAgKiBN
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanM6CisgICAgICAgIChwcml2
YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIpOiBVcGRhdGVkIHF1
ZXVlIG1hbmFnZW1lbnQuCisgICAgICAgIChyZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
RXJyb3IpOiBVcGRhdGVkIHF1ZXVlIG1hbmFnZW1lbnQuCisgICAgICAgIChyZWFkYWJsZVN0cmVh
bURlZmF1bHRDb250cm9sbGVyR2V0RGVzaXJlZFNpemUpOiBVcGRhdGVkIHF1ZXVlIG1hbmFnZW1l
bnQuCisgICAgICAgIChyZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2FuY2VsKTogVXBk
YXRlZCBxdWV1ZSBtYW5hZ2VtZW50LgorICAgICAgICAocmVhZGFibGVTdHJlYW1EZWZhdWx0Q29u
dHJvbGxlclB1bGwpOiBVcGRhdGVkIHF1ZXVlIG1hbmFnZW1lbnQuCisgICAgICAgIChyZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xvc2UpOiBVcGRhdGVkIHF1ZXVlIG1hbmFnZW1lbnQu
CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qczoKKyAgICAgICAg
KGRlcXVldWVWYWx1ZSk6IFVwZGF0ZWQgcXVldWUgbWFuYWdlbWVudC4KKyAgICAgICAgKGVucXVl
dWVWYWx1ZVdpdGhTaXplKTogVXBkYXRlZCBxdWV1ZSBtYW5hZ2VtZW50LgorICAgICAgICAocGVl
a1F1ZXVlVmFsdWUpOiBVcGRhdGVkIHF1ZXVlIG1hbmFnZW1lbnQuCisgICAgICAgIChyZXNldFF1
ZXVlKTogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmpz
OgorICAgICAgICAoaW5pdGlhbGl6ZVdyaXRhYmxlU3RyZWFtKTogVXBkYXRlZCBxdWV1ZSBtYW5h
Z2VtZW50LgorICAgICAgICAoY2xvc2UpOiBVcGRhdGVkIHF1ZXVlIG1hbmFnZW1lbnQuCisgICAg
ICAgICh3cml0ZSk6IFVwZGF0ZWQgcXVldWUgbWFuYWdlbWVudC4KKyAgICAgICAgKiBNb2R1bGVz
L3N0cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanM6CisgICAgICAgIChzeW5jV3JpdGFi
bGVTdHJlYW1TdGF0ZVdpdGhRdWV1ZSk6IFVwZGF0ZWQgcXVldWUgbWFuYWdlbWVudC4KKyAgICAg
ICAgKGVycm9yV3JpdGFibGVTdHJlYW0pOiBVcGRhdGVkIHF1ZXVlIG1hbmFnZW1lbnQuCisgICAg
ICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOiBBZGRlZCBuZXcgcGFyYW1l
dGVyIHF1ZXVlVG90YWxTaXplLgorCisyMDE3LTEwLTA5ICBSb21haW4gQmVsbGVzc29ydCAgPHJv
bWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKwogICAgICAgICBbUmVhZGFibGUgU3RyZWFt
cyBBUEldIEltcGxlbWVudCBjYW5DbG9zZU9yRW5xdWV1ZQogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDA1CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwppbmRl
eCA4NjlmNDE2NGYwY2Y5ZmI4ZDQ2NjExODM4MDllYTlkMjk1NWUyYTg2Li5iMGIzZjM3MDA5NWYy
OGZmMmZmNTEzZTFmYjQ1N2M4N2Y2YTU2MjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCkBAIC03MSw3
ICs3MSwxMSBAQCBmdW5jdGlvbiBwcml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtRGVmYXVs
dENvbnRyb2xsZXIoc3RyZWFtLCB1bmRlcmx5aW5nU291cgogCiAgICAgdGhpcy5AY29udHJvbGxl
ZFJlYWRhYmxlU3RyZWFtID0gc3RyZWFtOwogICAgIHRoaXMuQHVuZGVybHlpbmdTb3VyY2UgPSB1
bmRlcmx5aW5nU291cmNlOwotICAgIHRoaXMuQHF1ZXVlID0gQG5ld1F1ZXVlKCk7CisgICAgLy8g
U3BlYyBkZXNjcmliZXMgdGhhdCByZXNldFF1ZXVlIG9wZXJhdGlvbiBzaG91bGQgYmUgY2FsbGVk
LCBidXQgYXQgdGhpcyBzdGVwLAorICAgIC8vIHF1ZXVlIGFuZCBxdWV1ZVRvdGFsU2l6ZSBoYXZl
IG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZC4gVGhlcmVmb3JlLCBpbnN0ZWFkCisgICAgLy8gb2Yg
Y2FsbGluZyByZXNldFF1ZXVlLCB3ZSBzZXQgdGhlbSBkaXJlY3RseSB3aXRoIGNvcnJlc3BvbmRp
bmcgdmFsdWVzLgorICAgIHRoaXMuQHF1ZXVlID0gW107CisgICAgdGhpcy5AcXVldWVUb3RhbFNp
emUgPSAwOwogICAgIHRoaXMuQHN0YXJ0ZWQgPSBmYWxzZTsKICAgICB0aGlzLkBjbG9zZVJlcXVl
c3RlZCA9IGZhbHNlOwogICAgIHRoaXMuQHB1bGxBZ2FpbiA9IGZhbHNlOwpAQCAtMTAyLDcgKzEw
Niw3IEBAIGZ1bmN0aW9uIHJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvcihjb250
cm9sbGVyLCBlcnJvcikKIAogICAgIGNvbnN0IHN0cmVhbSA9IGNvbnRyb2xsZXIuQGNvbnRyb2xs
ZWRSZWFkYWJsZVN0cmVhbTsKICAgICBAYXNzZXJ0KHN0cmVhbS5Ac3RhdGUgPT09IEBzdHJlYW1S
ZWFkYWJsZSk7Ci0gICAgY29udHJvbGxlci5AcXVldWUgPSBAbmV3UXVldWUoKTsKKyAgICBAcmVz
ZXRRdWV1ZShjb250cm9sbGVyKTsKICAgICBAcmVhZGFibGVTdHJlYW1FcnJvcihzdHJlYW0sIGVy
cm9yKTsKIH0KIApAQCAtMzY1LDcgKzM2OSw3IEBAIGZ1bmN0aW9uIHJlYWRhYmxlU3RyZWFtRGVm
YXVsdENvbnRyb2xsZXJHZXREZXNpcmVkU2l6ZShjb250cm9sbGVyKQogICAgaWYgKHN0cmVhbS5A
c3RhdGUgPT09IEBzdHJlYW1DbG9zZWQpCiAgICAgICAgcmV0dXJuIDA7CiAKLSAgIHJldHVybiBj
b250cm9sbGVyLkBzdHJhdGVneS5oaWdoV2F0ZXJNYXJrIC0gY29udHJvbGxlci5AcXVldWUuc2l6
ZTsKKyAgIHJldHVybiBjb250cm9sbGVyLkBzdHJhdGVneS5oaWdoV2F0ZXJNYXJrIC0gY29udHJv
bGxlci5AcXVldWVUb3RhbFNpemU7CiB9CiAKIApAQCAtMzk1LDcgKzM5OSw3IEBAIGZ1bmN0aW9u
IHJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDYW5jZWwoY29udHJvbGxlciwgcmVhc29u
KQogewogICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgIGNvbnRyb2xsZXIuQHF1ZXVlID0gQG5ld1F1
ZXVlKCk7CisgICAgQHJlc2V0UXVldWUoY29udHJvbGxlcik7CiAgICAgcmV0dXJuIEBwcm9taXNl
SW52b2tlT3JOb29wKGNvbnRyb2xsZXIuQHVuZGVybHlpbmdTb3VyY2UsICJjYW5jZWwiLCBbcmVh
c29uXSk7CiB9CiAKQEAgLTQwNCw5ICs0MDgsOSBAQCBmdW5jdGlvbiByZWFkYWJsZVN0cmVhbURl
ZmF1bHRDb250cm9sbGVyUHVsbChjb250cm9sbGVyKQogICAgICJ1c2Ugc3RyaWN0IjsKIAogICAg
IGNvbnN0IHN0cmVhbSA9IGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbTsKLSAg
ICBpZiAoY29udHJvbGxlci5AcXVldWUuY29udGVudC5sZW5ndGgpIHsKLSAgICAgICAgY29uc3Qg
Y2h1bmsgPSBAZGVxdWV1ZVZhbHVlKGNvbnRyb2xsZXIuQHF1ZXVlKTsKLSAgICAgICAgaWYgKGNv
bnRyb2xsZXIuQGNsb3NlUmVxdWVzdGVkICYmIGNvbnRyb2xsZXIuQHF1ZXVlLmNvbnRlbnQubGVu
Z3RoID09PSAwKQorICAgIGlmIChjb250cm9sbGVyLkBxdWV1ZS5sZW5ndGgpIHsKKyAgICAgICAg
Y29uc3QgY2h1bmsgPSBAZGVxdWV1ZVZhbHVlKGNvbnRyb2xsZXIpOworICAgICAgICBpZiAoY29u
dHJvbGxlci5AY2xvc2VSZXF1ZXN0ZWQgJiYgY29udHJvbGxlci5AcXVldWUubGVuZ3RoID09PSAw
KQogICAgICAgICAgICAgQHJlYWRhYmxlU3RyZWFtQ2xvc2Uoc3RyZWFtKTsKICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgQHJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDYWxsUHVsbElm
TmVlZGVkKGNvbnRyb2xsZXIpOwpAQCAtNDIzLDcgKzQyNyw3IEBAIGZ1bmN0aW9uIHJlYWRhYmxl
U3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDbG9zZShjb250cm9sbGVyKQogCiAgICAgQGFzc2VydChA
cmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNhbkNsb3NlT3JFbnF1ZXVlKGNvbnRyb2xs
ZXIpKTsKICAgICBjb250cm9sbGVyLkBjbG9zZVJlcXVlc3RlZCA9IHRydWU7Ci0gICAgaWYgKGNv
bnRyb2xsZXIuQHF1ZXVlLmNvbnRlbnQubGVuZ3RoID09PSAwKQorICAgIGlmIChjb250cm9sbGVy
LkBxdWV1ZS5sZW5ndGggPT09IDApCiAgICAgICAgIEByZWFkYWJsZVN0cmVhbUNsb3NlKGNvbnRy
b2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbSk7CiB9CiAKQEAgLTQ3Miw3ICs0NzYsNyBA
QCBmdW5jdGlvbiByZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRW5xdWV1ZShjb250cm9s
bGVyLCBjaHVuaykKICAgICAgICAgbGV0IGNodW5rU2l6ZSA9IDE7CiAgICAgICAgIGlmIChjb250
cm9sbGVyLkBzdHJhdGVneS5zaXplICE9PSBAdW5kZWZpbmVkKQogICAgICAgICAgICAgY2h1bmtT
aXplID0gY29udHJvbGxlci5Ac3RyYXRlZ3kuc2l6ZShjaHVuayk7Ci0gICAgICAgIEBlbnF1ZXVl
VmFsdWVXaXRoU2l6ZShjb250cm9sbGVyLkBxdWV1ZSwgY2h1bmssIGNodW5rU2l6ZSk7CisgICAg
ICAgIEBlbnF1ZXVlVmFsdWVXaXRoU2l6ZShjb250cm9sbGVyLCBjaHVuaywgY2h1bmtTaXplKTsK
ICAgICB9CiAgICAgY2F0Y2goZXJyb3IpIHsKICAgICAgICAgaWYgKHN0cmVhbS5Ac3RhdGUgPT09
IEBzdHJlYW1SZWFkYWJsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
U3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4IGMyYTI5NjU0NGQ1MmYyNTJhNjk5MzY4M2NlZDlkYzZl
YjRlMDVhZjUuLjkzNmYxNmMzYTkxZjk3MDRjNGUwYTQ2Mjk4OTJlMzQ3ZWI0NTZmNzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcwpA
QCAtOTIsMzggKzkyLDQ3IEBAIGZ1bmN0aW9uIHZhbGlkYXRlQW5kTm9ybWFsaXplUXVldWluZ1N0
cmF0ZWd5KHNpemUsIGhpZ2hXYXRlck1hcmspCiAgICAgcmV0dXJuIG5vcm1hbGl6ZWRTdHJhdGVn
eTsKIH0KIAotZnVuY3Rpb24gbmV3UXVldWUoKQorZnVuY3Rpb24gZGVxdWV1ZVZhbHVlKGNvbnRh
aW5lcikKIHsKICAgICAidXNlIHN0cmljdCI7CiAKLSAgICByZXR1cm4geyBjb250ZW50OiBbXSwg
c2l6ZTogMCB9OworICAgIEBhc3NlcnQoY29udGFpbmVyLkBxdWV1ZSAhPT0gQHVuZGVmaW5lZCAm
JiBjb250YWluZXIuQHF1ZXVlVG90YWxTaXplICE9PSBAdW5kZWZpbmVkKTsKKyAgICBAYXNzZXJ0
KGNvbnRhaW5lci5AcXVldWUubGVuZ3RoID4gMCk7CisgICAgY29uc3QgcGFpciA9IGNvbnRhaW5l
ci5AcXVldWUuQHNoaWZ0KCk7CisgICAgY29udGFpbmVyLkBxdWV1ZVRvdGFsU2l6ZSAtPSBwYWly
LnNpemU7CisgICAgLy8gQXMgZGVzY3JpYmVkIGJ5IHNwZWMsIGJlbG93IGNhc2UgbWF5IGhhcHBl
biBkdWUgdG8gcm91bmRpbmcgZXJyb3JzLgorICAgIGlmIChjb250YWluZXIuQHF1ZXVlVG90YWxT
aXplIDwgMCkKKyAgICAgICAgY29udGFpbmVyLkBxdWV1ZVRvdGFsU2l6ZSA9IDA7CisgICAgcmV0
dXJuIHBhaXIudmFsdWU7CiB9CiAKLWZ1bmN0aW9uIGRlcXVldWVWYWx1ZShxdWV1ZSkKK2Z1bmN0
aW9uIGVucXVldWVWYWx1ZVdpdGhTaXplKGNvbnRhaW5lciwgdmFsdWUsIHNpemUpCiB7CiAgICAg
InVzZSBzdHJpY3QiOwogCi0gICAgY29uc3QgcmVjb3JkID0gcXVldWUuY29udGVudC5Ac2hpZnQo
KTsKLSAgICBxdWV1ZS5zaXplIC09IHJlY29yZC5zaXplOwotICAgIHJldHVybiByZWNvcmQudmFs
dWU7CisgICAgQGFzc2VydChjb250YWluZXIuQHF1ZXVlICE9PSBAdW5kZWZpbmVkICYmIGNvbnRh
aW5lci5AcXVldWVUb3RhbFNpemUgIT09IEB1bmRlZmluZWQpOworICAgIHNpemUgPSBAdG9OdW1i
ZXIoc2l6ZSk7CisgICAgaWYgKCFAaXNGaW5pdGUoc2l6ZSkgfHwgc2l6ZSA8IDApCisgICAgICAg
IEB0aHJvd1JhbmdlRXJyb3IoInNpemUgaGFzIGFuIGluY29ycmVjdCB2YWx1ZSIpOworICAgIGNv
bnRhaW5lci5AcXVldWUuQHB1c2goeyB2YWx1ZTogdmFsdWUsIHNpemU6IHNpemUgfSk7CisgICAg
Y29udGFpbmVyLkBxdWV1ZVRvdGFsU2l6ZSArPSBzaXplOwogfQogCi1mdW5jdGlvbiBlbnF1ZXVl
VmFsdWVXaXRoU2l6ZShxdWV1ZSwgdmFsdWUsIHNpemUpCitmdW5jdGlvbiBwZWVrUXVldWVWYWx1
ZShjb250YWluZXIpCiB7CiAgICAgInVzZSBzdHJpY3QiOwogCi0gICAgc2l6ZSA9IEB0b051bWJl
cihzaXplKTsKLSAgICBpZiAoIUBpc0Zpbml0ZShzaXplKSB8fCBzaXplIDwgMCkKLSAgICAgICAg
QHRocm93UmFuZ2VFcnJvcigic2l6ZSBoYXMgYW4gaW5jb3JyZWN0IHZhbHVlIik7Ci0gICAgcXVl
dWUuY29udGVudC5AcHVzaCh7IHZhbHVlOiB2YWx1ZSwgc2l6ZTogc2l6ZSB9KTsKLSAgICBxdWV1
ZS5zaXplICs9IHNpemU7CisgICAgQGFzc2VydChjb250YWluZXIuQHF1ZXVlICE9PSBAdW5kZWZp
bmVkICYmIGNvbnRhaW5lci5AcXVldWVUb3RhbFNpemUgIT09IEB1bmRlZmluZWQpOworICAgIEBh
c3NlcnQoY29udGFpbmVyLkBxdWV1ZS5sZW5ndGggPiAwKTsKKworICAgIHJldHVybiBjb250YWlu
ZXIuQHF1ZXVlWzBdLnZhbHVlOwogfQogCi1mdW5jdGlvbiBwZWVrUXVldWVWYWx1ZShxdWV1ZSkK
K2Z1bmN0aW9uIHJlc2V0UXVldWUoY29udGFpbmVyKQogewogICAgICJ1c2Ugc3RyaWN0IjsKIAot
ICAgIEBhc3NlcnQocXVldWUuY29udGVudC5sZW5ndGggPiAwKTsKLQotICAgIHJldHVybiBxdWV1
ZS5jb250ZW50WzBdLnZhbHVlOworICAgIEBhc3NlcnQoY29udGFpbmVyLkBxdWV1ZSAhPT0gQHVu
ZGVmaW5lZCAmJiBjb250YWluZXIuQHF1ZXVlVG90YWxTaXplICE9PSBAdW5kZWZpbmVkKTsKKyAg
ICBjb250YWluZXIuQHF1ZXVlID0gW107CisgICAgY29udGFpbmVyLkBxdWV1ZVRvdGFsU2l6ZSA9
IDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFi
bGVTdHJlYW0uanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJl
YW0uanMKaW5kZXggMzQ4ZGExMjRkZDM5Nzc5YmFkYTlhMzhlMmQxOGEwY2FmNzlmMmQyNC4uODc5
OTdlMThmNzI1MDg3YjY1NTNjNmQ1NmVjZmNmOGRmZjg2Y2U0ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5qcwpAQCAtNDQsNyArNDQsMTEg
QEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVdyaXRhYmxlU3RyZWFtKHVuZGVybHlpbmdTaW5rLCBzdHJh
dGVneSkKICAgICB0aGlzLkB1bmRlcmx5aW5nU2luayA9IHVuZGVybHlpbmdTaW5rOwogICAgIHRo
aXMuQGNsb3NlZFByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBhYmlsaXR5KEBQcm9t
aXNlKTsKICAgICB0aGlzLkByZWFkeVByb21pc2VDYXBhYmlsaXR5ID0geyBAcHJvbWlzZTogQFBy
b21pc2UuQHJlc29sdmUoKSB9OwotICAgIHRoaXMuQHF1ZXVlID0gQG5ld1F1ZXVlKCk7CisgICAg
Ly8gU3BlYyBkZXNjcmliZXMgdGhhdCByZXNldFF1ZXVlIG9wZXJhdGlvbiBzaG91bGQgYmUgY2Fs
bGVkLCBidXQgYXQgdGhpcyBzdGVwLAorICAgIC8vIHF1ZXVlIGFuZCBxdWV1ZVRvdGFsU2l6ZSBo
YXZlIG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZC4gVGhlcmVmb3JlLCBpbnN0ZWFkCisgICAgLy8g
b2YgY2FsbGluZyByZXNldFF1ZXVlLCB3ZSBzZXQgdGhlbSBkaXJlY3RseSB3aXRoIGNvcnJlc3Bv
bmRpbmcgdmFsdWVzLgorICAgIHRoaXMuQHF1ZXVlID0gW107CisgICAgdGhpcy5AcXVldWVUb3Rh
bFNpemUgPSAwOwogICAgIHRoaXMuQHN0YXRlID0gQHN0cmVhbVdyaXRhYmxlOwogICAgIHRoaXMu
QHN0YXJ0ZWQgPSBmYWxzZTsKICAgICB0aGlzLkB3cml0aW5nID0gZmFsc2U7CkBAIC0xMDAsNyAr
MTA0LDcgQEAgZnVuY3Rpb24gY2xvc2UoKQogICAgICAgICB0aGlzLkByZWFkeVByb21pc2VDYXBh
YmlsaXR5LkByZXNvbHZlLkBjYWxsKCk7CiAKICAgICB0aGlzLkBzdGF0ZSA9IEBzdHJlYW1DbG9z
aW5nOwotICAgIEBlbnF1ZXVlVmFsdWVXaXRoU2l6ZSh0aGlzLkBxdWV1ZSwgImNsb3NlIiwgMCk7
CisgICAgQGVucXVldWVWYWx1ZVdpdGhTaXplKHRoaXMsICJjbG9zZSIsIDApOwogICAgIEBjYWxs
T3JTY2hlZHVsZVdyaXRhYmxlU3RyZWFtQWR2YW5jZVF1ZXVlKHRoaXMpOwogCiAgICAgcmV0dXJu
IHRoaXMuQGNsb3NlZFByb21pc2VDYXBhYmlsaXR5LkBwcm9taXNlOwpAQCAtMTMzLDcgKzEzNyw3
IEBAIGZ1bmN0aW9uIHdyaXRlKGNodW5rKQogCiAgICAgY29uc3QgcHJvbWlzZUNhcGFiaWxpdHkg
PSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoQFByb21pc2UpOwogICAgIHRyeSB7Ci0gICAgICAgIEBl
bnF1ZXVlVmFsdWVXaXRoU2l6ZSh0aGlzLkBxdWV1ZSwgeyBwcm9taXNlQ2FwYWJpbGl0eTogcHJv
bWlzZUNhcGFiaWxpdHksIGNodW5rOiBjaHVuayB9LCBjaHVua1NpemUpOworICAgICAgICBAZW5x
dWV1ZVZhbHVlV2l0aFNpemUodGhpcywgeyBwcm9taXNlQ2FwYWJpbGl0eTogcHJvbWlzZUNhcGFi
aWxpdHksIGNodW5rOiBjaHVuayB9LCBjaHVua1NpemUpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAg
ICAgICAgQGVycm9yV3JpdGFibGVTdHJlYW0odGhpcywgZSk7CiAgICAgICAgIHJldHVybiBAUHJv
bWlzZS5AcmVqZWN0KGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJl
YW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4IDE4MDYwNjU5NjI2NDFiNzZi
ZjgxNGY4ZTI0MjllNDZkNzdjYWU3ODEuLmI1OWYxNmFmMmQyNGRlODYwMjU5MDc1ZDEzZjhmYzg0
NGExODZmNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0
YWJsZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTQzLDcgKzQzLDcgQEAgZnVuY3Rpb24g
c3luY1dyaXRhYmxlU3RyZWFtU3RhdGVXaXRoUXVldWUoc3RyZWFtKQogCiAgICAgQGFzc2VydChz
dHJlYW0uQHN0YXRlID09PSBAc3RyZWFtV3JpdGFibGUgfHwgc3RyZWFtLkBzdGF0ZSA9PT0gQHN0
cmVhbVdhaXRpbmcpOwogCi0gICAgY29uc3Qgc2hvdWxkQXBwbHlCYWNrcHJlc3N1cmUgPSBzdHJl
YW0uQHF1ZXVlLnNpemUgPiBzdHJlYW0uQHN0cmF0ZWd5LmhpZ2hXYXRlck1hcms7CisgICAgY29u
c3Qgc2hvdWxkQXBwbHlCYWNrcHJlc3N1cmUgPSBzdHJlYW0uQHF1ZXVlVG90YWxTaXplID4gc3Ry
ZWFtLkBzdHJhdGVneS5oaWdoV2F0ZXJNYXJrOwogICAgIGlmIChzaG91bGRBcHBseUJhY2twcmVz
c3VyZSAmJiBzdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtV3JpdGFibGUpIHsKICAgICAgICAgc3Ry
ZWFtLkBzdGF0ZSA9IEBzdHJlYW1XYWl0aW5nOwogICAgICAgICBzdHJlYW0uQHJlYWR5UHJvbWlz
ZUNhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoQFByb21pc2UpOwpAQCAtNjAsOCAr
NjAsOCBAQCBmdW5jdGlvbiBlcnJvcldyaXRhYmxlU3RyZWFtKHN0cmVhbSwgZSkKIAogICAgIGlm
IChzdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtQ2xvc2VkIHx8IHN0cmVhbS5Ac3RhdGUgPT09IEBz
dHJlYW1FcnJvcmVkKQogICAgICAgICByZXR1cm47Ci0gICAgd2hpbGUgKHN0cmVhbS5AcXVldWUu
Y29udGVudC5sZW5ndGggPiAwKSB7Ci0gICAgICAgIGNvbnN0IHdyaXRlUmVjb3JkID0gQGRlcXVl
dWVWYWx1ZShzdHJlYW0uQHF1ZXVlKTsKKyAgICB3aGlsZSAoc3RyZWFtLkBxdWV1ZS5sZW5ndGgg
PiAwKSB7CisgICAgICAgIGNvbnN0IHdyaXRlUmVjb3JkID0gQGRlcXVldWVWYWx1ZShzdHJlYW0p
OwogICAgICAgICBpZiAod3JpdGVSZWNvcmQgIT09ICJjbG9zZSIpCiAgICAgICAgICAgICB3cml0
ZVJlY29yZC5wcm9taXNlQ2FwYWJpbGl0eS5AcmVqZWN0LkBjYWxsKEB1bmRlZmluZWQsIGUpOwog
ICAgIH0KQEAgLTg2LDE0ICs4NiwxNCBAQCBmdW5jdGlvbiB3cml0YWJsZVN0cmVhbUFkdmFuY2VR
dWV1ZShzdHJlYW0pCiB7CiAgICAgInVzZSBzdHJpY3QiOwogCi0gICAgaWYgKHN0cmVhbS5AcXVl
dWUuY29udGVudC5sZW5ndGggPT09IDAgfHwgc3RyZWFtLkB3cml0aW5nKQorICAgIGlmIChzdHJl
YW0uQHF1ZXVlLmxlbmd0aCA9PT0gMCB8fCBzdHJlYW0uQHdyaXRpbmcpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGNvbnN0IHdyaXRlUmVjb3JkID0gQHBlZWtRdWV1ZVZhbHVlKHN0cmVhbS5AcXVl
dWUpOworICAgIGNvbnN0IHdyaXRlUmVjb3JkID0gQHBlZWtRdWV1ZVZhbHVlKHN0cmVhbSk7CiAg
ICAgaWYgKHdyaXRlUmVjb3JkID09PSAiY2xvc2UiKSB7CiAgICAgICAgIEBhc3NlcnQoc3RyZWFt
LkBzdGF0ZSA9PT0gQHN0cmVhbUNsb3NpbmcpOwotICAgICAgICBAZGVxdWV1ZVZhbHVlKHN0cmVh
bS5AcXVldWUpOwotICAgICAgICBAYXNzZXJ0KHN0cmVhbS5AcXVldWUuY29udGVudC5sZW5ndGgg
PT09IDApOworICAgICAgICBAZGVxdWV1ZVZhbHVlKHN0cmVhbSk7CisgICAgICAgIEBhc3NlcnQo
c3RyZWFtLkBxdWV1ZS5sZW5ndGggPT09IDApOwogICAgICAgICBAY2xvc2VXcml0YWJsZVN0cmVh
bShzdHJlYW0pOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTA1LDcgKzEwNSw3IEBAIGZ1
bmN0aW9uIHdyaXRhYmxlU3RyZWFtQWR2YW5jZVF1ZXVlKHN0cmVhbSkKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgICAgICBzdHJlYW0uQHdyaXRpbmcgPSBmYWxzZTsKICAgICAgICAg
ICAgIHdyaXRlUmVjb3JkLnByb21pc2VDYXBhYmlsaXR5LkByZXNvbHZlLkBjYWxsKCk7Ci0gICAg
ICAgICAgICBAZGVxdWV1ZVZhbHVlKHN0cmVhbS5AcXVldWUpOworICAgICAgICAgICAgQGRlcXVl
dWVWYWx1ZShzdHJlYW0pOwogICAgICAgICAgICAgQHN5bmNXcml0YWJsZVN0cmVhbVN0YXRlV2l0
aFF1ZXVlKHN0cmVhbSk7CiAgICAgICAgICAgICBAd3JpdGFibGVTdHJlYW1BZHZhbmNlUXVldWUo
c3RyZWFtKTsKICAgICAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCA2ZjA4MWY4MjRiNmY2MWE1YjA2NjNkZWQ2MjU0MGZl
MmU3MzE5OGViLi44MTY1ZjA0ZTg2NmUyZjI2NTUyMTQ0ZjIzYjNiYzhmZDdhYjA2ODlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBA
IC0yMzUsNiArMjM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHF1ZXVlZENy
ZWF0ZU9mZmVyKSBcCiAgICAgbWFjcm8ocXVldWVkU2V0TG9jYWxEZXNjcmlwdGlvbikgXAogICAg
IG1hY3JvKHF1ZXVlZFNldFJlbW90ZURlc2NyaXB0aW9uKSBcCisgICAgbWFjcm8ocXVldWVUb3Rh
bFNpemUpIFwKICAgICBtYWNybyhyZWFkSW50b1JlcXVlc3RzKSBcCiAgICAgbWFjcm8ocmVhZFJl
cXVlc3RzKSBcCiAgICAgbWFjcm8ocmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZCkgXApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMWEwNDBkYTVjODYzM2FlMzJmMGM5OTE3Y2Iy
MTMwZjRkZTg1NWEzZS4uMGFhYjg2MzIyYzVmN2MxZmJhMjNlNjIwNDBhMGI0MzI0YzJhYjAwZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMTAt
MDkgIFJvbWFpbiBCZWxsZXNzb3J0ICA8cm9tYWluLmJlbGxlc3NvcnRAY3JmLmNhbm9uLmZyPgor
CisgICAgICAgIFtSZWFkYWJsZSBTdHJlYW1zIEFQSV0gQWxpZ24gcXVldWUgd2l0aCBzcGVjIGZv
ciBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgwODIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIHRlc3QgZXhwZWN0YXRpb25zIGZvciB0
ZXN0cyB0aGF0IHdlcmUgcHJldmlvdXNseSBmYWlsaW5nIGJ1dCBub3cgcGFzcy4KKworICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmct
cG9pbnQtdG90YWwtcXVldWUtc2l6ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1x
dWV1ZS1zaXplLmRlZGljYXRlZHdvcmtlci1leHBlY3RlZC50eHQ6CisKIDIwMTctMTAtMDcgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBIVE1MT0xpc3RF
bGVtZW50LnN0YXJ0IHRvIGJlaGF2aW9yIGZyb20gbGF0ZXN0IEhUTUwgc3BlY2lmaWNhdGlvbgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
dHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXpl
LWV4cGVjdGVkLnR4dAppbmRleCBkMDU3YWY3MTFkMjUyM2I0NWFmZWY4OGMxOWE4M2I3MWQzM2Zh
M2Y4Li5hN2YxOTdlNjBjMDk4Y2Q5MWJjNDdmNDRiODhmZWU4MDZhMTAyMjc0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVh
ZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVj
dGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBGbG9hdGluZyBwb2ludCBhcml0aG1ldGlj
IG11c3QgbWFuaWZlc3QgbmVhciBOVU1CRVIuTUFYX1NBRkVfSU5URUdFUiAodG90YWwgZW5kcyB1
cCBwb3NpdGl2ZSkgYXNzZXJ0X2VxdWFsczogW1txdWV1ZVRvdGFsU2l6ZV1dIG11c3QgY2xhbXAg
dG8gMCBpZiBpdCBiZWNvbWVzIG5lZ2F0aXZlIGV4cGVjdGVkIDAgYnV0IGdvdCAxCi1GQUlMIEZs
b2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVuZHMg
dXAgcG9zaXRpdmUsIGJ1dCBjbGFtcGVkKSBhc3NlcnRfZXF1YWxzOiBbW3F1ZXVlVG90YWxTaXpl
XV0gbXVzdCBjbGFtcCB0byAwIGlmIGl0IGJlY29tZXMgbmVnYXRpdmUgZXhwZWN0ZWQgMCBidXQg
Z290IDEuMTEwMjIzMDI0NjI1MTU2NWUtMTYKK1BBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRp
YyBtdXN0IG1hbmlmZXN0IG5lYXIgTlVNQkVSLk1BWF9TQUZFX0lOVEVHRVIgKHRvdGFsIGVuZHMg
dXAgcG9zaXRpdmUpIAorUEFTUyBGbG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZl
c3QgbmVhciAwICh0b3RhbCBlbmRzIHVwIHBvc2l0aXZlLCBidXQgY2xhbXBlZCkgCiBQQVNTIEZs
b2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVuZHMg
dXAgcG9zaXRpdmUsIGFuZCBub3QgY2xhbXBlZCkgCiBQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRo
bWV0aWMgbXVzdCBtYW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVuZHMgdXAgemVybykgCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFt
cy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUuZGVkaWNh
dGVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFs
LXF1ZXVlLXNpemUuZGVkaWNhdGVkd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBkMDU3YWY3MTFk
MjUyM2I0NWFmZWY4OGMxOWE4M2I3MWQzM2ZhM2Y4Li5hN2YxOTdlNjBjMDk4Y2Q5MWJjNDdmNDRi
ODhmZWU4MDZhMTAyMjc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10
b3RhbC1xdWV1ZS1zaXplLmRlZGljYXRlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0
cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS5kZWRpY2F0ZWR3b3JrZXItZXhw
ZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0
aWMgbXVzdCBtYW5pZmVzdCBuZWFyIE5VTUJFUi5NQVhfU0FGRV9JTlRFR0VSICh0b3RhbCBlbmRz
IHVwIHBvc2l0aXZlKSBhc3NlcnRfZXF1YWxzOiBbW3F1ZXVlVG90YWxTaXplXV0gbXVzdCBjbGFt
cCB0byAwIGlmIGl0IGJlY29tZXMgbmVnYXRpdmUgZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwg
RmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5k
cyB1cCBwb3NpdGl2ZSwgYnV0IGNsYW1wZWQpIGFzc2VydF9lcXVhbHM6IFtbcXVldWVUb3RhbFNp
emVdXSBtdXN0IGNsYW1wIHRvIDAgaWYgaXQgYmVjb21lcyBuZWdhdGl2ZSBleHBlY3RlZCAwIGJ1
dCBnb3QgMS4xMTAyMjMwMjQ2MjUxNTY1ZS0xNgorUEFTUyBGbG9hdGluZyBwb2ludCBhcml0aG1l
dGljIG11c3QgbWFuaWZlc3QgbmVhciBOVU1CRVIuTUFYX1NBRkVfSU5URUdFUiAodG90YWwgZW5k
cyB1cCBwb3NpdGl2ZSkgCitQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5p
ZmVzdCBuZWFyIDAgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUsIGJ1dCBjbGFtcGVkKSAKIFBBU1Mg
RmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5k
cyB1cCBwb3NpdGl2ZSwgYW5kIG5vdCBjbGFtcGVkKSAKIFBBU1MgRmxvYXRpbmcgcG9pbnQgYXJp
dGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCB6ZXJvKSAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323301</attachid>
            <date>2017-10-10 06:33:52 -0700</date>
            <delta_ts>2017-10-11 03:24:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178082-20171010153351.patch</filename>
            <type>text/plain</type>
            <size>15078</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTE5YmQyZWI3NmU3MDc0
NmViMzdjZTAzMjYwYTU1MmUzNTU5NTI1NC4uNzM5NTU4YTllYzdlNzgxNDI1NmFhYWUxNzY1NzY4
YTA1YWY5MmE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE3LTEwLTEwICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEFsaWduIHF1ZXVlIHdpdGggc3BlYyBmb3IgUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgbmV3IHF1ZXVlIGJlaGF2aW9yIGZvciBkZXF1
ZXVlVmFsdWUgKHVzZWQgYnkgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciksIAorICAg
ICAgICB3aGljaCBmaXhlcyByb3VuZGluZyBlcnJvcnMgKGFzIGRlc2NyaWJlZCBpbiBodHRwczov
L2dpdGh1Yi5jb20vd2hhdHdnL3N0cmVhbXMvcHVsbC82NjEpLgorICAgICAgICBBbHNvIGFsaWdu
ZWQgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciBxdWV1ZSBzbyB0aGF0IGJvdGggcXVldWVz
IGFyZSBpbXBsZW1lbnRlZCBpbgorICAgICAgICB0aGUgc2FtZSB3YXkuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIChjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLCBlc3BlY2lhbGx5IFdQVCB0ZXN0
cyB0aGF0IG5vdyBwYXNzKS4KKworICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5
dGVTdHJlYW1JbnRlcm5hbHMuanM6CisgICAgICAgIChwcml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxl
Qnl0ZVN0cmVhbUNvbnRyb2xsZXIpOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAg
KHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYW5jZWwpOiBBbGlnbmVkIHF1ZXVlIHdpdGgg
UlNEQy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJvcik6IEFsaWdu
ZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
ckNsb3NlKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVySGFuZGxlUXVldWVEcmFpbik6IEFsaWduZWQgcXVldWUgd2l0aCBSU0RD
LgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclB1bGwpOiBBbGlnbmVkIHF1
ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1
ZXVlKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyRW5xdWV1ZUNodW5rKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAg
ICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJvY2Vzc1B1bGxEZXNjcmlwdG9ycyk6
IEFsaWduZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29u
dHJvbGxlckZpbGxEZXNjcmlwdG9yRnJvbVF1ZXVlKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMu
CisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHVsbEludG8pOiBBbGlnbmVk
IHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvU3RyZWFtSW50ZXJu
YWxzLmpzOgorICAgICAgICAoZGVxdWV1ZVZhbHVlKTogVXBkYXRlZCB0byBtYXRjaCBzcGVjLgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDogUmVtb3ZlZCBub3cg
dXNlbGVzcyAidG90YWxRdWV1ZWRCeXRlcyIuCisKIDIwMTctMTAtMDkgIFJvbWFpbiBCZWxsZXNz
b3J0ICA8cm9tYWluLmJlbGxlc3NvcnRAY3JmLmNhbm9uLmZyPgogCiAgICAgICAgIFtSZWFkYWJs
ZSBTdHJlYW1zIEFQSV0gSW1wbGVtZW50IGNhbkNsb3NlT3JFbnF1ZXVlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxz
LmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUlu
dGVybmFscy5qcwppbmRleCBkYzQ1MjQ3NGZlNzJmZWQ2MzU5YWVhYTAzMTNjYjRmNTQ1Y2U1ODEx
Li4xNmNhNTcyZmFiZDhmZDczOWFkZWUwZjVmNzgyYjg0ZDJkNjA3ZmU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxz
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJl
YW1JbnRlcm5hbHMuanMKQEAgLTU5LDggKzU5LDcgQEAgZnVuY3Rpb24gcHJpdmF0ZUluaXRpYWxp
emVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHN0cmVhbSwgdW5kZXJseWluZ0J5dGVTb3UK
ICAgICB0aGlzLkBwdWxsQWdhaW4gPSBmYWxzZTsKICAgICB0aGlzLkBwdWxsaW5nID0gZmFsc2U7
CiAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbGVhclBlbmRpbmdQdWxsSW50b3Mo
dGhpcyk7Ci0gICAgdGhpcy5AcXVldWUgPSBbXTsKLSAgICB0aGlzLkB0b3RhbFF1ZXVlZEJ5dGVz
ID0gMDsKKyAgICB0aGlzLkBxdWV1ZSA9IEBuZXdRdWV1ZSgpOwogICAgIHRoaXMuQHN0YXJ0ZWQg
PSBmYWxzZTsKICAgICB0aGlzLkBjbG9zZVJlcXVlc3RlZCA9IGZhbHNlOwogCkBAIC0xMzcsOCAr
MTM2LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbmNlbChjb250
cm9sbGVyLCByZWFzb24pCiAKICAgICBpZiAoY29udHJvbGxlci5AcGVuZGluZ1B1bGxJbnRvcy5s
ZW5ndGggPiAwKQogICAgICAgICBjb250cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zWzBdLmJ5dGVz
RmlsbGVkID0gMDsKLSAgICBjb250cm9sbGVyLkBxdWV1ZSA9IFtdOwotICAgIGNvbnRyb2xsZXIu
QHRvdGFsUXVldWVkQnl0ZXMgPSAwOworICAgIGNvbnRyb2xsZXIuQHF1ZXVlID0gQG5ld1F1ZXVl
KCk7CiAgICAgcmV0dXJuIEBwcm9taXNlSW52b2tlT3JOb29wKGNvbnRyb2xsZXIuQHVuZGVybHlp
bmdCeXRlU291cmNlLCAiY2FuY2VsIiwgW3JlYXNvbl0pOwogfQogCkBAIC0xNDgsNyArMTQ2LDcg
QEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9yKGNvbnRyb2xsZXIs
IGUpCiAKICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbS5A
c3RhdGUgPT09IEBzdHJlYW1SZWFkYWJsZSk7CiAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXJDbGVhclBlbmRpbmdQdWxsSW50b3MoY29udHJvbGxlcik7Ci0gICAgY29udHJvbGxlci5A
cXVldWUgPSBbXTsKKyAgICBjb250cm9sbGVyLkBxdWV1ZSA9IEBuZXdRdWV1ZSgpOwogICAgIEBy
ZWFkYWJsZVN0cmVhbUVycm9yKGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbSwg
ZSk7CiB9CiAKQEAgLTE1OSw3ICsxNTcsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1D
b250cm9sbGVyQ2xvc2UoY29udHJvbGxlcikKICAgICBAYXNzZXJ0KCFjb250cm9sbGVyLkBjbG9z
ZVJlcXVlc3RlZCk7CiAgICAgQGFzc2VydChjb250cm9sbGVyLkBjb250cm9sbGVkUmVhZGFibGVT
dHJlYW0uQHN0YXRlID09PSBAc3RyZWFtUmVhZGFibGUpOwogCi0gICAgaWYgKGNvbnRyb2xsZXIu
QHRvdGFsUXVldWVkQnl0ZXMgPiAwKSB7CisgICAgaWYgKGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUg
PiAwKSB7CiAgICAgICAgIGNvbnRyb2xsZXIuQGNsb3NlUmVxdWVzdGVkID0gdHJ1ZTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KQEAgLTE5NCw3ICsxOTIsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVyR2V0RGVzaXJlZFNpemUoY29udHJvbGxlcikKICAgIGlmIChzdHJl
YW0uQHN0YXRlID09PSBAc3RyZWFtQ2xvc2VkKQogICAgICAgIHJldHVybiAwOwogCi0gICByZXR1
cm4gY29udHJvbGxlci5Ac3RyYXRlZ3lIV00gLSBjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVz
OworICAgcmV0dXJuIGNvbnRyb2xsZXIuQHN0cmF0ZWd5SFdNIC0gY29udHJvbGxlci5AcXVldWUu
c2l6ZTsKIH0KIAogZnVuY3Rpb24gcmVhZGFibGVTdHJlYW1IYXNCWU9CUmVhZGVyKHN0cmVhbSkK
QEAgLTIxNiw3ICsyMTQsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVy
SGFuZGxlUXVldWVEcmFpbihjb250cm9sbGVyKSB7CiAgICAgInVzZSBzdHJpY3QiOwogCiAgICAg
QGFzc2VydChjb250cm9sbGVyLkBjb250cm9sbGVkUmVhZGFibGVTdHJlYW0uQHN0YXRlID09PSBA
c3RyZWFtUmVhZGFibGUpOwotICAgIGlmICghY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyAm
JiBjb250cm9sbGVyLkBjbG9zZVJlcXVlc3RlZCkKKyAgICBpZiAoIWNvbnRyb2xsZXIuQHF1ZXVl
LnNpemUgJiYgY29udHJvbGxlci5AY2xvc2VSZXF1ZXN0ZWQpCiAgICAgICAgIEByZWFkYWJsZVN0
cmVhbUNsb3NlKGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbSk7CiAgICAgZWxz
ZQogICAgICAgICBAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbGxQdWxsSWZOZWVkZWQo
Y29udHJvbGxlcik7CkBAIC0yMjksMTAgKzIyNywxMCBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyUHVsbChjb250cm9sbGVyKQogICAgIGNvbnN0IHN0cmVhbSA9IGNvbnRy
b2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbTsKICAgICBAYXNzZXJ0KEByZWFkYWJsZVN0
cmVhbUhhc0RlZmF1bHRSZWFkZXIoc3RyZWFtKSk7CiAKLSAgICBpZiAoY29udHJvbGxlci5AdG90
YWxRdWV1ZWRCeXRlcyA+IDApIHsKKyAgICBpZiAoY29udHJvbGxlci5AcXVldWUuc2l6ZSA+IDAp
IHsKICAgICAgICAgQGFzc2VydChzdHJlYW0uQHJlYWRlci5AcmVhZFJlcXVlc3RzLmxlbmd0aCA9
PT0gMCk7Ci0gICAgICAgIGNvbnN0IGVudHJ5ID0gY29udHJvbGxlci5AcXVldWUuQHNoaWZ0KCk7
Ci0gICAgICAgIGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgLT0gZW50cnkuYnl0ZUxlbmd0
aDsKKyAgICAgICAgY29uc3QgZW50cnkgPSBjb250cm9sbGVyLkBxdWV1ZS5jb250ZW50LkBzaGlm
dCgpOworICAgICAgICBjb250cm9sbGVyLkBxdWV1ZS5zaXplIC09IGVudHJ5LmJ5dGVMZW5ndGg7
CiAgICAgICAgIEByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVySGFuZGxlUXVldWVEcmFpbihj
b250cm9sbGVyKTsKICAgICAgICAgbGV0IHZpZXc7CiAgICAgICAgIHRyeSB7CkBAIC0zNDEsNyAr
MzM5LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWUoY29u
dHJvbGxlciwgY2h1bmspCiAgICAgICAgIGlmICghc3RyZWFtLkByZWFkZXIuQHJlYWRSZXF1ZXN0
cy5sZW5ndGgpCiAgICAgICAgICAgICBAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVl
dWVDaHVuayhjb250cm9sbGVyLCB0cmFuc2ZlcnJlZEJ1ZmZlciwgYnl0ZU9mZnNldCwgYnl0ZUxl
bmd0aCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQGFzc2VydCghY29udHJvbGxlci5A
cXVldWUubGVuZ3RoKTsKKyAgICAgICAgICAgIEBhc3NlcnQoIWNvbnRyb2xsZXIuQHF1ZXVlLmNv
bnRlbnQubGVuZ3RoKTsKICAgICAgICAgICAgIGxldCB0cmFuc2ZlcnJlZFZpZXcgPSBuZXcgQFVp
bnQ4QXJyYXkodHJhbnNmZXJyZWRCdWZmZXIsIGJ5dGVPZmZzZXQsIGJ5dGVMZW5ndGgpOwogICAg
ICAgICAgICAgQHJlYWRhYmxlU3RyZWFtRnVsZmlsbFJlYWRSZXF1ZXN0KHN0cmVhbSwgdHJhbnNm
ZXJyZWRWaWV3LCBmYWxzZSk7CiAgICAgICAgIH0KQEAgLTM2MywxMiArMzYxLDEyIEBAIGZ1bmN0
aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlQ2h1bmsoY29udHJvbGxlciwg
YnVmZmVyLCBieXRlT2Zmc2V0CiB7CiAgICAgInVzZSBzdHJpY3QiOwogCi0gICAgY29udHJvbGxl
ci5AcXVldWUuQHB1c2goeworICAgIGNvbnRyb2xsZXIuQHF1ZXVlLmNvbnRlbnQuQHB1c2goewog
ICAgICAgICBidWZmZXI6IGJ1ZmZlciwKICAgICAgICAgYnl0ZU9mZnNldDogYnl0ZU9mZnNldCwK
ICAgICAgICAgYnl0ZUxlbmd0aDogYnl0ZUxlbmd0aAogICAgIH0pOwotICAgIGNvbnRyb2xsZXIu
QHRvdGFsUXVldWVkQnl0ZXMgKz0gYnl0ZUxlbmd0aDsKKyAgICBjb250cm9sbGVyLkBxdWV1ZS5z
aXplICs9IGJ5dGVMZW5ndGg7CiB9CiAKIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXJSZXNwb25kV2l0aE5ld1ZpZXcoY29udHJvbGxlciwgdmlldykKQEAgLTQ3MSw3ICs0Njks
NyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJvY2Vzc1B1bGxEZXNj
cmlwdG9ycyhjb250cm9sbGVyKQogCiAgICAgQGFzc2VydCghY29udHJvbGxlci5AY2xvc2VSZXF1
ZXN0ZWQpOwogICAgIHdoaWxlIChjb250cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zLmxlbmd0aCA+
IDApIHsKLSAgICAgICAgaWYgKGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgPT09IDApCisg
ICAgICAgIGlmIChjb250cm9sbGVyLkBxdWV1ZS5zaXplID09PSAwKQogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICBsZXQgcHVsbEludG9EZXNjcmlwdG9yID0gY29udHJvbGxlci5AcGVuZGlu
Z1B1bGxJbnRvc1swXTsKICAgICAgICAgaWYgKEByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVy
RmlsbERlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbEludG9EZXNjcmlwdG9yKSkg
ewpAQCAtNDg3LDggKzQ4NSw4IEBAIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXJGaWxsRGVzY3JpcHRvckZyb21RdWV1ZShjb250cm9sbGVyLCBwdWxsSW50CiAgICAgInVzZSBz
dHJpY3QiOwogCiAgICAgY29uc3QgY3VycmVudEFsaWduZWRCeXRlcyA9IHB1bGxJbnRvRGVzY3Jp
cHRvci5ieXRlc0ZpbGxlZCAtIChwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgJSBwdWxs
SW50b0Rlc2NyaXB0b3IuZWxlbWVudFNpemUpOwotICAgIGNvbnN0IG1heEJ5dGVzVG9Db3B5ID0g
Y29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyA8IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlTGVu
Z3RoIC0gcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkID8KLSAgICAgICAgICAgICAgICBj
b250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzIDogcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVMZW5n
dGggLSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQ7CisgICAgY29uc3QgbWF4Qnl0ZXNU
b0NvcHkgPSBjb250cm9sbGVyLkBxdWV1ZS5zaXplIDwgcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVM
ZW5ndGggLSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgPworICAgICAgICAgICAgICAg
IGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUgOiBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZUxlbmd0aCAt
IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZDsKICAgICBjb25zdCBtYXhCeXRlc0ZpbGxl
ZCA9IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCArIG1heEJ5dGVzVG9Db3B5OwogICAg
IGNvbnN0IG1heEFsaWduZWRCeXRlcyA9IG1heEJ5dGVzRmlsbGVkIC0gKG1heEJ5dGVzRmlsbGVk
ICUgcHVsbEludG9EZXNjcmlwdG9yLmVsZW1lbnRTaXplKTsKICAgICBsZXQgdG90YWxCeXRlc1Rv
Q29weVJlbWFpbmluZyA9IG1heEJ5dGVzVG9Db3B5OwpAQCAtNTAwLDcgKzQ5OCw3IEBAIGZ1bmN0
aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsRGVzY3JpcHRvckZyb21RdWV1ZShj
b250cm9sbGVyLCBwdWxsSW50CiAgICAgfQogCiAgICAgd2hpbGUgKHRvdGFsQnl0ZXNUb0NvcHlS
ZW1haW5pbmcgPiAwKSB7Ci0gICAgICAgIGxldCBoZWFkT2ZRdWV1ZSA9IGNvbnRyb2xsZXIuQHF1
ZXVlWzBdOworICAgICAgICBsZXQgaGVhZE9mUXVldWUgPSBjb250cm9sbGVyLkBxdWV1ZS5jb250
ZW50WzBdOwogICAgICAgICBjb25zdCBieXRlc1RvQ29weSA9IHRvdGFsQnl0ZXNUb0NvcHlSZW1h
aW5pbmcgPCBoZWFkT2ZRdWV1ZS5ieXRlTGVuZ3RoID8gdG90YWxCeXRlc1RvQ29weVJlbWFpbmlu
ZyA6IGhlYWRPZlF1ZXVlLmJ5dGVMZW5ndGg7CiAgICAgICAgIC8vIENvcHkgYXBwcm9wcmlhdGUg
cGFydCBvZiBwdWxsSW50b0Rlc2NyaXB0b3IuYnVmZmVyIHRvIGhlYWRPZlF1ZXVlLmJ1ZmZlci4K
ICAgICAgICAgLy8gUmVtYXJrOiB0aGlzIGltcGxlbWVudGF0aW9uIGlzIG5vdCBjb21wbGV0ZWx5
IGFsaWduZWQgb24gdGhlIGRlZmluaXRpb24gb2YgQ29weURhdGFCbG9ja0J5dGVzCkBAIC01MTYs
MTMgKzUxNCwxMyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRmlsbERl
c2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbEludAogICAgICAgICB9CiAKICAgICAg
ICAgaWYgKGhlYWRPZlF1ZXVlLmJ5dGVMZW5ndGggPT09IGJ5dGVzVG9Db3B5KQotICAgICAgICAg
ICAgY29udHJvbGxlci5AcXVldWUuQHNoaWZ0KCk7CisgICAgICAgICAgICBjb250cm9sbGVyLkBx
dWV1ZS5jb250ZW50LkBzaGlmdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGhlYWRP
ZlF1ZXVlLmJ5dGVPZmZzZXQgKz0gYnl0ZXNUb0NvcHk7CiAgICAgICAgICAgICBoZWFkT2ZRdWV1
ZS5ieXRlTGVuZ3RoIC09IGJ5dGVzVG9Db3B5OwogICAgICAgICB9CiAKLSAgICAgICAgY29udHJv
bGxlci5AdG90YWxRdWV1ZWRCeXRlcyAtPSBieXRlc1RvQ29weTsKKyAgICAgICAgY29udHJvbGxl
ci5AcXVldWUuc2l6ZSAtPSBieXRlc1RvQ29weTsKICAgICAgICAgQGFzc2VydChjb250cm9sbGVy
LkBwZW5kaW5nUHVsbEludG9zLmxlbmd0aCA9PT0gMCB8fCBjb250cm9sbGVyLkBwZW5kaW5nUHVs
bEludG9zWzBdID09PSBwdWxsSW50b0Rlc2NyaXB0b3IpOwogICAgICAgICBAcmVhZGFibGVCeXRl
U3RyZWFtQ29udHJvbGxlckludmFsaWRhdGVCWU9CUmVxdWVzdChjb250cm9sbGVyKTsKICAgICAg
ICAgcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkICs9IGJ5dGVzVG9Db3B5OwpAQCAtNTMw
LDcgKzUyOCw3IEBAIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsRGVz
Y3JpcHRvckZyb21RdWV1ZShjb250cm9sbGVyLCBwdWxsSW50CiAgICAgfQogCiAgICAgaWYgKCFy
ZWFkeSkgewotICAgICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgPT09
IDApOworICAgICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUgPT09IDApOwogICAg
ICAgICBAYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCA+IDApOwogICAgICAg
ICBAYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCA8IHB1bGxJbnRvRGVzY3Jp
cHRvci5lbGVtZW50U2l6ZSk7CiAgICAgfQpAQCAtNjU5LDcgKzY1Nyw3IEBAIGZ1bmN0aW9uIHJl
YWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQdWxsSW50byhjb250cm9sbGVyLCB2aWV3KQogICAg
ICAgICByZXR1cm4gQFByb21pc2UuQHJlc29sdmUoeyB2YWx1ZTogZW1wdHlWaWV3LCBkb25lOiB0
cnVlIH0pOwogICAgIH0KIAotICAgIGlmIChjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzID4g
MCkgeworICAgIGlmIChjb250cm9sbGVyLkBxdWV1ZS5zaXplID4gMCkgewogICAgICAgICBpZiAo
QHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsRGVzY3JpcHRvckZyb21RdWV1ZShjb250
cm9sbGVyLCBwdWxsSW50b0Rlc2NyaXB0b3IpKSB7CiAgICAgICAgICAgICBjb25zdCBmaWxsZWRW
aWV3ID0gQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDb252ZXJ0RGVzY3JpcHRvcihwdWxs
SW50b0Rlc2NyaXB0b3IpOwogICAgICAgICAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXJIYW5kbGVRdWV1ZURyYWluKGNvbnRyb2xsZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMKaW5kZXggYzJhMjk2NTQ0ZDUyZjI1MmE2
OTkzNjgzY2VkOWRjNmViNGUwNWFmNS4uYTYwY2Y4ODZiM2U3YWZhZGU1NGQ2MDhmNzFmODQxMjdk
MmQ0YzY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVh
bUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvU3RyZWFt
SW50ZXJuYWxzLmpzCkBAIC0xMDUsNiArMTA1LDkgQEAgZnVuY3Rpb24gZGVxdWV1ZVZhbHVlKHF1
ZXVlKQogCiAgICAgY29uc3QgcmVjb3JkID0gcXVldWUuY29udGVudC5Ac2hpZnQoKTsKICAgICBx
dWV1ZS5zaXplIC09IHJlY29yZC5zaXplOworICAgIC8vIEFzIGRlc2NyaWJlZCBieSBzcGVjLCBi
ZWxvdyBjYXNlIG1heSBvY2N1ciBkdWUgdG8gcm91bmRpbmcgZXJyb3JzLgorICAgIGlmIChxdWV1
ZS5zaXplIDwgMCkKKyAgICAgICAgcXVldWUuc2l6ZSA9IDA7CiAgICAgcmV0dXJuIHJlY29yZC52
YWx1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oCmluZGV4IDZmMDgxZjgyNGI2ZjYxYTViMDY2M2RlZDYyNTQwZmUyZTczMTk4ZWIu
LmY2MGY2NGFmYmY2NjRmNTViMzQ1MDY5OWMyNTgzYTYwZDM5MDE0ZjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTI2Niw3ICsy
NjYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oc3RydWN0dXJlZENsb25lQXJy
YXlCdWZmZXIpIFwKICAgICBtYWNybyhzdHJ1Y3R1cmVkQ2xvbmVBcnJheUJ1ZmZlclZpZXcpIFwK
ICAgICBtYWNybyh0b3ApIFwKLSAgICBtYWNybyh0b3RhbFF1ZXVlZEJ5dGVzKSBcCiAgICAgbWFj
cm8odW5kZXJseWluZ0J5dGVTb3VyY2UpIFwKICAgICBtYWNybyh1bmRlcmx5aW5nU2luaykgXAog
ICAgIG1hY3JvKHVuZGVybHlpbmdTb3VyY2UpIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IDFhMDQwZGE1Yzg2MzNhZTMyZjBjOTkxN2NiMjEzMGY0ZGU4NTVhM2UuLjA5OWI0NDQ5
NWVkNWNmMGI4MDU3NzM3MWZhNDZiMmZmYTg3Zjk3YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTEwLTEwICBSb21haW4gQmVsbGVzc29ydCAg
PHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbUmVhZGFibGUgU3Ry
ZWFtcyBBUEldIEFsaWduIHF1ZXVlIHdpdGggc3BlYyBmb3IgUmVhZGFibGVTdHJlYW1EZWZhdWx0
Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc4MDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXBkYXRlZCB0ZXN0IGV4cGVjdGF0aW9ucyBmb3IgdGVzdHMgdGhhdCB3ZXJlIHByZXZpb3Vz
bHkgZmFpbGluZyBidXQgbm93IHBhc3MuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRh
YmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS5kZWRpY2F0ZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0OgorCiAyMDE3LTEwLTA3ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KIAogICAgICAgICBVcGRhdGUgSFRNTE9MaXN0RWxlbWVudC5zdGFydCB0byBiZWhhdmlv
ciBmcm9tIGxhdGVzdCBIVE1MIHNwZWNpZmljYXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1z
L2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVh
bXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS1leHBlY3RlZC50eHQKaW5kZXggZDA1
N2FmNzExZDI1MjNiNDVhZmVmODhjMTlhODNiNzFkMzNmYTNmOC4uYTdmMTk3ZTYwYzA5OGNkOTFi
YzQ3ZjQ0Yjg4ZmVlODA2YTEwMjI3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmct
cG9pbnQtdG90YWwtcXVldWUtc2l6ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxv
YXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBA
CiAKLUZBSUwgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgTlVN
QkVSLk1BWF9TQUZFX0lOVEVHRVIgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUpIGFzc2VydF9lcXVh
bHM6IFtbcXVldWVUb3RhbFNpemVdXSBtdXN0IGNsYW1wIHRvIDAgaWYgaXQgYmVjb21lcyBuZWdh
dGl2ZSBleHBlY3RlZCAwIGJ1dCBnb3QgMQotRkFJTCBGbG9hdGluZyBwb2ludCBhcml0aG1ldGlj
IG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRzIHVwIHBvc2l0aXZlLCBidXQgY2xhbXBl
ZCkgYXNzZXJ0X2VxdWFsczogW1txdWV1ZVRvdGFsU2l6ZV1dIG11c3QgY2xhbXAgdG8gMCBpZiBp
dCBiZWNvbWVzIG5lZ2F0aXZlIGV4cGVjdGVkIDAgYnV0IGdvdCAxLjExMDIyMzAyNDYyNTE1NjVl
LTE2CitQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBuZWFyIE5V
TUJFUi5NQVhfU0FGRV9JTlRFR0VSICh0b3RhbCBlbmRzIHVwIHBvc2l0aXZlKSAKK1BBU1MgRmxv
YXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1
cCBwb3NpdGl2ZSwgYnV0IGNsYW1wZWQpIAogUEFTUyBGbG9hdGluZyBwb2ludCBhcml0aG1ldGlj
IG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRzIHVwIHBvc2l0aXZlLCBhbmQgbm90IGNs
YW1wZWQpIAogUEFTUyBGbG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVh
ciAwICh0b3RhbCBlbmRzIHVwIHplcm8pIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9mbG9h
dGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLmRlZGljYXRlZHdvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVh
ZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLmRlZGljYXRlZHdv
cmtlci1leHBlY3RlZC50eHQKaW5kZXggZDA1N2FmNzExZDI1MjNiNDVhZmVmODhjMTlhODNiNzFk
MzNmYTNmOC4uYTdmMTk3ZTYwYzA5OGNkOTFiYzQ3ZjQ0Yjg4ZmVlODA2YTEwMjI3NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1z
L3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS5kZWRpY2F0
ZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRv
dGFsLXF1ZXVlLXNpemUuZGVkaWNhdGVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYg
QEAKIAotRkFJTCBGbG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciBO
VU1CRVIuTUFYX1NBRkVfSU5URUdFUiAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSkgYXNzZXJ0X2Vx
dWFsczogW1txdWV1ZVRvdGFsU2l6ZV1dIG11c3QgY2xhbXAgdG8gMCBpZiBpdCBiZWNvbWVzIG5l
Z2F0aXZlIGV4cGVjdGVkIDAgYnV0IGdvdCAxCi1GQUlMIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0
aWMgbXVzdCBtYW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUsIGJ1dCBjbGFt
cGVkKSBhc3NlcnRfZXF1YWxzOiBbW3F1ZXVlVG90YWxTaXplXV0gbXVzdCBjbGFtcCB0byAwIGlm
IGl0IGJlY29tZXMgbmVnYXRpdmUgZXhwZWN0ZWQgMCBidXQgZ290IDEuMTEwMjIzMDI0NjI1MTU2
NWUtMTYKK1BBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIg
TlVNQkVSLk1BWF9TQUZFX0lOVEVHRVIgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUpIAorUEFTUyBG
bG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRz
IHVwIHBvc2l0aXZlLCBidXQgY2xhbXBlZCkgCiBQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0
aWMgbXVzdCBtYW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUsIGFuZCBub3Qg
Y2xhbXBlZCkgCiBQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBu
ZWFyIDAgKHRvdGFsIGVuZHMgdXAgemVybykgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323402</attachid>
            <date>2017-10-11 03:24:09 -0700</date>
            <delta_ts>2017-10-11 05:31:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178082-20171011122407.patch</filename>
            <type>text/plain</type>
            <size>15080</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjM1Y2Y5NzczNGUzZjEz
YTA2MWExZDFmYmI2NzdjY2QwNmY5MWRlMi4uYjg4ZTc4YmZkNWQ3ZDNiZDE2NTg4MmU4NjVkY2Iz
Y2U2MTAyYjM5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE3LTEwLTExICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEFsaWduIHF1ZXVlIHdpdGggc3BlYyBmb3IgUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJv
ZHJpZ3VleiBDYWx2YXIuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgbmV3IHF1ZXVlIGJlaGF2aW9y
IGZvciBkZXF1ZXVlVmFsdWUgKHVzZWQgYnkgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
ciksIAorICAgICAgICB3aGljaCBmaXhlcyByb3VuZGluZyBlcnJvcnMgKGFzIGRlc2NyaWJlZCBp
biBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL3N0cmVhbXMvcHVsbC82NjEpLgorICAgICAgICBB
bHNvIGFsaWduZWQgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciBxdWV1ZSBzbyB0aGF0IGJv
dGggcXVldWVzIGFyZSBpbXBsZW1lbnRlZCBpbgorICAgICAgICB0aGUgc2FtZSB3YXkuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIChjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLCBlc3BlY2lhbGx5
IFdQVCB0ZXN0cyB0aGF0IG5vdyBwYXNzKS4KKworICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9S
ZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHMuanM6CisgICAgICAgIChwcml2YXRlSW5pdGlhbGl6
ZVJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIpOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4K
KyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYW5jZWwpOiBBbGlnbmVkIHF1
ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJv
cik6IEFsaWduZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFt
Q29udHJvbGxlckNsb3NlKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFk
YWJsZUJ5dGVTdHJlYW1Db250cm9sbGVySGFuZGxlUXVldWVEcmFpbik6IEFsaWduZWQgcXVldWUg
d2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclB1bGwpOiBB
bGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXJFbnF1ZXVlKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyRW5xdWV1ZUNodW5rKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJT
REMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJvY2Vzc1B1bGxEZXNj
cmlwdG9ycyk6IEFsaWduZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRl
U3RyZWFtQ29udHJvbGxlckZpbGxEZXNjcmlwdG9yRnJvbVF1ZXVlKTogQWxpZ25lZCBxdWV1ZSB3
aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHVsbEludG8p
OiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvU3Ry
ZWFtSW50ZXJuYWxzLmpzOgorICAgICAgICAoZGVxdWV1ZVZhbHVlKTogVXBkYXRlZCB0byBtYXRj
aCBzcGVjLgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDogUmVt
b3ZlZCBub3cgdXNlbGVzcyAidG90YWxRdWV1ZWRCeXRlcyIuCisKIDIwMTctMDktMjcgIEZyZWRl
cmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtpT1NdIERvIG5vdCBmbGF0
dGVuIGZyYW1lcyB3aGVuIGFzeW5jIGZyYW1lIHNjcm9sbGluZyBpcyBlbmFibGVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50
ZXJuYWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0
cmVhbUludGVybmFscy5qcwppbmRleCBkYzQ1MjQ3NGZlNzJmZWQ2MzU5YWVhYTAzMTNjYjRmNTQ1
Y2U1ODExLi4xNmNhNTcyZmFiZDhmZDczOWFkZWUwZjVmNzgyYjg0ZDJkNjA3ZmU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50
ZXJuYWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5
dGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTU5LDggKzU5LDcgQEAgZnVuY3Rpb24gcHJpdmF0ZUlu
aXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHN0cmVhbSwgdW5kZXJseWluZ0J5
dGVTb3UKICAgICB0aGlzLkBwdWxsQWdhaW4gPSBmYWxzZTsKICAgICB0aGlzLkBwdWxsaW5nID0g
ZmFsc2U7CiAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbGVhclBlbmRpbmdQdWxs
SW50b3ModGhpcyk7Ci0gICAgdGhpcy5AcXVldWUgPSBbXTsKLSAgICB0aGlzLkB0b3RhbFF1ZXVl
ZEJ5dGVzID0gMDsKKyAgICB0aGlzLkBxdWV1ZSA9IEBuZXdRdWV1ZSgpOwogICAgIHRoaXMuQHN0
YXJ0ZWQgPSBmYWxzZTsKICAgICB0aGlzLkBjbG9zZVJlcXVlc3RlZCA9IGZhbHNlOwogCkBAIC0x
MzcsOCArMTM2LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbmNl
bChjb250cm9sbGVyLCByZWFzb24pCiAKICAgICBpZiAoY29udHJvbGxlci5AcGVuZGluZ1B1bGxJ
bnRvcy5sZW5ndGggPiAwKQogICAgICAgICBjb250cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zWzBd
LmJ5dGVzRmlsbGVkID0gMDsKLSAgICBjb250cm9sbGVyLkBxdWV1ZSA9IFtdOwotICAgIGNvbnRy
b2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgPSAwOworICAgIGNvbnRyb2xsZXIuQHF1ZXVlID0gQG5l
d1F1ZXVlKCk7CiAgICAgcmV0dXJuIEBwcm9taXNlSW52b2tlT3JOb29wKGNvbnRyb2xsZXIuQHVu
ZGVybHlpbmdCeXRlU291cmNlLCAiY2FuY2VsIiwgW3JlYXNvbl0pOwogfQogCkBAIC0xNDgsNyAr
MTQ2LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9yKGNvbnRy
b2xsZXIsIGUpCiAKICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0
cmVhbS5Ac3RhdGUgPT09IEBzdHJlYW1SZWFkYWJsZSk7CiAgICAgQHJlYWRhYmxlQnl0ZVN0cmVh
bUNvbnRyb2xsZXJDbGVhclBlbmRpbmdQdWxsSW50b3MoY29udHJvbGxlcik7Ci0gICAgY29udHJv
bGxlci5AcXVldWUgPSBbXTsKKyAgICBjb250cm9sbGVyLkBxdWV1ZSA9IEBuZXdRdWV1ZSgpOwog
ICAgIEByZWFkYWJsZVN0cmVhbUVycm9yKGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0
cmVhbSwgZSk7CiB9CiAKQEAgLTE1OSw3ICsxNTcsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyQ2xvc2UoY29udHJvbGxlcikKICAgICBAYXNzZXJ0KCFjb250cm9sbGVy
LkBjbG9zZVJlcXVlc3RlZCk7CiAgICAgQGFzc2VydChjb250cm9sbGVyLkBjb250cm9sbGVkUmVh
ZGFibGVTdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtUmVhZGFibGUpOwogCi0gICAgaWYgKGNvbnRy
b2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgPiAwKSB7CisgICAgaWYgKGNvbnRyb2xsZXIuQHF1ZXVl
LnNpemUgPiAwKSB7CiAgICAgICAgIGNvbnRyb2xsZXIuQGNsb3NlUmVxdWVzdGVkID0gdHJ1ZTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTE5NCw3ICsxOTIsNyBAQCBmdW5jdGlvbiByZWFk
YWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyR2V0RGVzaXJlZFNpemUoY29udHJvbGxlcikKICAgIGlm
IChzdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtQ2xvc2VkKQogICAgICAgIHJldHVybiAwOwogCi0g
ICByZXR1cm4gY29udHJvbGxlci5Ac3RyYXRlZ3lIV00gLSBjb250cm9sbGVyLkB0b3RhbFF1ZXVl
ZEJ5dGVzOworICAgcmV0dXJuIGNvbnRyb2xsZXIuQHN0cmF0ZWd5SFdNIC0gY29udHJvbGxlci5A
cXVldWUuc2l6ZTsKIH0KIAogZnVuY3Rpb24gcmVhZGFibGVTdHJlYW1IYXNCWU9CUmVhZGVyKHN0
cmVhbSkKQEAgLTIxNiw3ICsyMTQsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVySGFuZGxlUXVldWVEcmFpbihjb250cm9sbGVyKSB7CiAgICAgInVzZSBzdHJpY3QiOwog
CiAgICAgQGFzc2VydChjb250cm9sbGVyLkBjb250cm9sbGVkUmVhZGFibGVTdHJlYW0uQHN0YXRl
ID09PSBAc3RyZWFtUmVhZGFibGUpOwotICAgIGlmICghY29udHJvbGxlci5AdG90YWxRdWV1ZWRC
eXRlcyAmJiBjb250cm9sbGVyLkBjbG9zZVJlcXVlc3RlZCkKKyAgICBpZiAoIWNvbnRyb2xsZXIu
QHF1ZXVlLnNpemUgJiYgY29udHJvbGxlci5AY2xvc2VSZXF1ZXN0ZWQpCiAgICAgICAgIEByZWFk
YWJsZVN0cmVhbUNsb3NlKGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbSk7CiAg
ICAgZWxzZQogICAgICAgICBAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbGxQdWxsSWZO
ZWVkZWQoY29udHJvbGxlcik7CkBAIC0yMjksMTAgKzIyNywxMCBAQCBmdW5jdGlvbiByZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyUHVsbChjb250cm9sbGVyKQogICAgIGNvbnN0IHN0cmVhbSA9
IGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbTsKICAgICBAYXNzZXJ0KEByZWFk
YWJsZVN0cmVhbUhhc0RlZmF1bHRSZWFkZXIoc3RyZWFtKSk7CiAKLSAgICBpZiAoY29udHJvbGxl
ci5AdG90YWxRdWV1ZWRCeXRlcyA+IDApIHsKKyAgICBpZiAoY29udHJvbGxlci5AcXVldWUuc2l6
ZSA+IDApIHsKICAgICAgICAgQGFzc2VydChzdHJlYW0uQHJlYWRlci5AcmVhZFJlcXVlc3RzLmxl
bmd0aCA9PT0gMCk7Ci0gICAgICAgIGNvbnN0IGVudHJ5ID0gY29udHJvbGxlci5AcXVldWUuQHNo
aWZ0KCk7Ci0gICAgICAgIGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgLT0gZW50cnkuYnl0
ZUxlbmd0aDsKKyAgICAgICAgY29uc3QgZW50cnkgPSBjb250cm9sbGVyLkBxdWV1ZS5jb250ZW50
LkBzaGlmdCgpOworICAgICAgICBjb250cm9sbGVyLkBxdWV1ZS5zaXplIC09IGVudHJ5LmJ5dGVM
ZW5ndGg7CiAgICAgICAgIEByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVySGFuZGxlUXVldWVE
cmFpbihjb250cm9sbGVyKTsKICAgICAgICAgbGV0IHZpZXc7CiAgICAgICAgIHRyeSB7CkBAIC0z
NDEsNyArMzM5LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVl
dWUoY29udHJvbGxlciwgY2h1bmspCiAgICAgICAgIGlmICghc3RyZWFtLkByZWFkZXIuQHJlYWRS
ZXF1ZXN0cy5sZW5ndGgpCiAgICAgICAgICAgICBAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
ckVucXVldWVDaHVuayhjb250cm9sbGVyLCB0cmFuc2ZlcnJlZEJ1ZmZlciwgYnl0ZU9mZnNldCwg
Ynl0ZUxlbmd0aCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQGFzc2VydCghY29udHJv
bGxlci5AcXVldWUubGVuZ3RoKTsKKyAgICAgICAgICAgIEBhc3NlcnQoIWNvbnRyb2xsZXIuQHF1
ZXVlLmNvbnRlbnQubGVuZ3RoKTsKICAgICAgICAgICAgIGxldCB0cmFuc2ZlcnJlZFZpZXcgPSBu
ZXcgQFVpbnQ4QXJyYXkodHJhbnNmZXJyZWRCdWZmZXIsIGJ5dGVPZmZzZXQsIGJ5dGVMZW5ndGgp
OwogICAgICAgICAgICAgQHJlYWRhYmxlU3RyZWFtRnVsZmlsbFJlYWRSZXF1ZXN0KHN0cmVhbSwg
dHJhbnNmZXJyZWRWaWV3LCBmYWxzZSk7CiAgICAgICAgIH0KQEAgLTM2MywxMiArMzYxLDEyIEBA
IGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlQ2h1bmsoY29udHJv
bGxlciwgYnVmZmVyLCBieXRlT2Zmc2V0CiB7CiAgICAgInVzZSBzdHJpY3QiOwogCi0gICAgY29u
dHJvbGxlci5AcXVldWUuQHB1c2goeworICAgIGNvbnRyb2xsZXIuQHF1ZXVlLmNvbnRlbnQuQHB1
c2goewogICAgICAgICBidWZmZXI6IGJ1ZmZlciwKICAgICAgICAgYnl0ZU9mZnNldDogYnl0ZU9m
ZnNldCwKICAgICAgICAgYnl0ZUxlbmd0aDogYnl0ZUxlbmd0aAogICAgIH0pOwotICAgIGNvbnRy
b2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgKz0gYnl0ZUxlbmd0aDsKKyAgICBjb250cm9sbGVyLkBx
dWV1ZS5zaXplICs9IGJ5dGVMZW5ndGg7CiB9CiAKIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVh
bUNvbnRyb2xsZXJSZXNwb25kV2l0aE5ld1ZpZXcoY29udHJvbGxlciwgdmlldykKQEAgLTQ3MSw3
ICs0NjksNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJvY2Vzc1B1
bGxEZXNjcmlwdG9ycyhjb250cm9sbGVyKQogCiAgICAgQGFzc2VydCghY29udHJvbGxlci5AY2xv
c2VSZXF1ZXN0ZWQpOwogICAgIHdoaWxlIChjb250cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zLmxl
bmd0aCA+IDApIHsKLSAgICAgICAgaWYgKGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgPT09
IDApCisgICAgICAgIGlmIChjb250cm9sbGVyLkBxdWV1ZS5zaXplID09PSAwKQogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICBsZXQgcHVsbEludG9EZXNjcmlwdG9yID0gY29udHJvbGxlci5A
cGVuZGluZ1B1bGxJbnRvc1swXTsKICAgICAgICAgaWYgKEByZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbEludG9EZXNjcmlw
dG9yKSkgewpAQCAtNDg3LDggKzQ4NSw4IEBAIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNv
bnRyb2xsZXJGaWxsRGVzY3JpcHRvckZyb21RdWV1ZShjb250cm9sbGVyLCBwdWxsSW50CiAgICAg
InVzZSBzdHJpY3QiOwogCiAgICAgY29uc3QgY3VycmVudEFsaWduZWRCeXRlcyA9IHB1bGxJbnRv
RGVzY3JpcHRvci5ieXRlc0ZpbGxlZCAtIChwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQg
JSBwdWxsSW50b0Rlc2NyaXB0b3IuZWxlbWVudFNpemUpOwotICAgIGNvbnN0IG1heEJ5dGVzVG9D
b3B5ID0gY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyA8IHB1bGxJbnRvRGVzY3JpcHRvci5i
eXRlTGVuZ3RoIC0gcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkID8KLSAgICAgICAgICAg
ICAgICBjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzIDogcHVsbEludG9EZXNjcmlwdG9yLmJ5
dGVMZW5ndGggLSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQ7CisgICAgY29uc3QgbWF4
Qnl0ZXNUb0NvcHkgPSBjb250cm9sbGVyLkBxdWV1ZS5zaXplIDwgcHVsbEludG9EZXNjcmlwdG9y
LmJ5dGVMZW5ndGggLSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgPworICAgICAgICAg
ICAgICAgIGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUgOiBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZUxl
bmd0aCAtIHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZDsKICAgICBjb25zdCBtYXhCeXRl
c0ZpbGxlZCA9IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCArIG1heEJ5dGVzVG9Db3B5
OwogICAgIGNvbnN0IG1heEFsaWduZWRCeXRlcyA9IG1heEJ5dGVzRmlsbGVkIC0gKG1heEJ5dGVz
RmlsbGVkICUgcHVsbEludG9EZXNjcmlwdG9yLmVsZW1lbnRTaXplKTsKICAgICBsZXQgdG90YWxC
eXRlc1RvQ29weVJlbWFpbmluZyA9IG1heEJ5dGVzVG9Db3B5OwpAQCAtNTAwLDcgKzQ5OCw3IEBA
IGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsRGVzY3JpcHRvckZyb21R
dWV1ZShjb250cm9sbGVyLCBwdWxsSW50CiAgICAgfQogCiAgICAgd2hpbGUgKHRvdGFsQnl0ZXNU
b0NvcHlSZW1haW5pbmcgPiAwKSB7Ci0gICAgICAgIGxldCBoZWFkT2ZRdWV1ZSA9IGNvbnRyb2xs
ZXIuQHF1ZXVlWzBdOworICAgICAgICBsZXQgaGVhZE9mUXVldWUgPSBjb250cm9sbGVyLkBxdWV1
ZS5jb250ZW50WzBdOwogICAgICAgICBjb25zdCBieXRlc1RvQ29weSA9IHRvdGFsQnl0ZXNUb0Nv
cHlSZW1haW5pbmcgPCBoZWFkT2ZRdWV1ZS5ieXRlTGVuZ3RoID8gdG90YWxCeXRlc1RvQ29weVJl
bWFpbmluZyA6IGhlYWRPZlF1ZXVlLmJ5dGVMZW5ndGg7CiAgICAgICAgIC8vIENvcHkgYXBwcm9w
cmlhdGUgcGFydCBvZiBwdWxsSW50b0Rlc2NyaXB0b3IuYnVmZmVyIHRvIGhlYWRPZlF1ZXVlLmJ1
ZmZlci4KICAgICAgICAgLy8gUmVtYXJrOiB0aGlzIGltcGxlbWVudGF0aW9uIGlzIG5vdCBjb21w
bGV0ZWx5IGFsaWduZWQgb24gdGhlIGRlZmluaXRpb24gb2YgQ29weURhdGFCbG9ja0J5dGVzCkBA
IC01MTYsMTMgKzUxNCwxMyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVy
RmlsbERlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbEludAogICAgICAgICB9CiAK
ICAgICAgICAgaWYgKGhlYWRPZlF1ZXVlLmJ5dGVMZW5ndGggPT09IGJ5dGVzVG9Db3B5KQotICAg
ICAgICAgICAgY29udHJvbGxlci5AcXVldWUuQHNoaWZ0KCk7CisgICAgICAgICAgICBjb250cm9s
bGVyLkBxdWV1ZS5jb250ZW50LkBzaGlmdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAg
IGhlYWRPZlF1ZXVlLmJ5dGVPZmZzZXQgKz0gYnl0ZXNUb0NvcHk7CiAgICAgICAgICAgICBoZWFk
T2ZRdWV1ZS5ieXRlTGVuZ3RoIC09IGJ5dGVzVG9Db3B5OwogICAgICAgICB9CiAKLSAgICAgICAg
Y29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyAtPSBieXRlc1RvQ29weTsKKyAgICAgICAgY29u
dHJvbGxlci5AcXVldWUuc2l6ZSAtPSBieXRlc1RvQ29weTsKICAgICAgICAgQGFzc2VydChjb250
cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zLmxlbmd0aCA9PT0gMCB8fCBjb250cm9sbGVyLkBwZW5k
aW5nUHVsbEludG9zWzBdID09PSBwdWxsSW50b0Rlc2NyaXB0b3IpOwogICAgICAgICBAcmVhZGFi
bGVCeXRlU3RyZWFtQ29udHJvbGxlckludmFsaWRhdGVCWU9CUmVxdWVzdChjb250cm9sbGVyKTsK
ICAgICAgICAgcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkICs9IGJ5dGVzVG9Db3B5OwpA
QCAtNTMwLDcgKzUyOCw3IEBAIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJG
aWxsRGVzY3JpcHRvckZyb21RdWV1ZShjb250cm9sbGVyLCBwdWxsSW50CiAgICAgfQogCiAgICAg
aWYgKCFyZWFkeSkgewotICAgICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0
ZXMgPT09IDApOworICAgICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUgPT09IDAp
OwogICAgICAgICBAYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCA+IDApOwog
ICAgICAgICBAYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCA8IHB1bGxJbnRv
RGVzY3JpcHRvci5lbGVtZW50U2l6ZSk7CiAgICAgfQpAQCAtNjU5LDcgKzY1Nyw3IEBAIGZ1bmN0
aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQdWxsSW50byhjb250cm9sbGVyLCB2aWV3
KQogICAgICAgICByZXR1cm4gQFByb21pc2UuQHJlc29sdmUoeyB2YWx1ZTogZW1wdHlWaWV3LCBk
b25lOiB0cnVlIH0pOwogICAgIH0KIAotICAgIGlmIChjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5
dGVzID4gMCkgeworICAgIGlmIChjb250cm9sbGVyLkBxdWV1ZS5zaXplID4gMCkgewogICAgICAg
ICBpZiAoQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsRGVzY3JpcHRvckZyb21RdWV1
ZShjb250cm9sbGVyLCBwdWxsSW50b0Rlc2NyaXB0b3IpKSB7CiAgICAgICAgICAgICBjb25zdCBm
aWxsZWRWaWV3ID0gQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDb252ZXJ0RGVzY3JpcHRv
cihwdWxsSW50b0Rlc2NyaXB0b3IpOwogICAgICAgICAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNv
bnRyb2xsZXJIYW5kbGVRdWV1ZURyYWluKGNvbnRyb2xsZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMKaW5kZXggYzJhMjk2NTQ0ZDUy
ZjI1MmE2OTkzNjgzY2VkOWRjNmViNGUwNWFmNS4uYTYwY2Y4ODZiM2U3YWZhZGU1NGQ2MDhmNzFm
ODQxMjdkMmQ0YzY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1N0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
U3RyZWFtSW50ZXJuYWxzLmpzCkBAIC0xMDUsNiArMTA1LDkgQEAgZnVuY3Rpb24gZGVxdWV1ZVZh
bHVlKHF1ZXVlKQogCiAgICAgY29uc3QgcmVjb3JkID0gcXVldWUuY29udGVudC5Ac2hpZnQoKTsK
ICAgICBxdWV1ZS5zaXplIC09IHJlY29yZC5zaXplOworICAgIC8vIEFzIGRlc2NyaWJlZCBieSBz
cGVjLCBiZWxvdyBjYXNlIG1heSBvY2N1ciBkdWUgdG8gcm91bmRpbmcgZXJyb3JzLgorICAgIGlm
IChxdWV1ZS5zaXplIDwgMCkKKyAgICAgICAgcXVldWUuc2l6ZSA9IDA7CiAgICAgcmV0dXJuIHJl
Y29yZC52YWx1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDZmMDgxZjgyNGI2ZjYxYTViMDY2M2RlZDYyNTQwZmUyZTcz
MTk4ZWIuLmY2MGY2NGFmYmY2NjRmNTViMzQ1MDY5OWMyNTgzYTYwZDM5MDE0ZjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTI2
Niw3ICsyNjYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oc3RydWN0dXJlZENs
b25lQXJyYXlCdWZmZXIpIFwKICAgICBtYWNybyhzdHJ1Y3R1cmVkQ2xvbmVBcnJheUJ1ZmZlclZp
ZXcpIFwKICAgICBtYWNybyh0b3ApIFwKLSAgICBtYWNybyh0b3RhbFF1ZXVlZEJ5dGVzKSBcCiAg
ICAgbWFjcm8odW5kZXJseWluZ0J5dGVTb3VyY2UpIFwKICAgICBtYWNybyh1bmRlcmx5aW5nU2lu
aykgXAogICAgIG1hY3JvKHVuZGVybHlpbmdTb3VyY2UpIFwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IGI4NTY3YWE3YzAxODQ5NzQ2Yjc1MzBjMTM5YzI4ZjZhYTY3ZTNhOWUuLjk2
YTNmYmQ3Mzc3MDNhNjY3MjVhODc1ZjZhMzk1MDk5MjA4MmRjMDUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTEwLTExICBSb21haW4gQmVsbGVz
c29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbUmVhZGFi
bGUgU3RyZWFtcyBBUEldIEFsaWduIHF1ZXVlIHdpdGggc3BlYyBmb3IgUmVhZGFibGVTdHJlYW1E
ZWZhdWx0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc4MDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJvZHJpZ3VleiBD
YWx2YXIuCisKKyAgICAgICAgVXBkYXRlZCB0ZXN0IGV4cGVjdGF0aW9ucyBmb3IgdGVzdHMgdGhh
dCB3ZXJlIHByZXZpb3VzbHkgZmFpbGluZyBidXQgbm93IHBhc3MuCisKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRv
dGFsLXF1ZXVlLXNpemUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6
ZS5kZWRpY2F0ZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDE3LTEwLTEwICBBbmR5IEVzdGVz
ICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJbXBsZW1l
bnQgUGF5bWVudFJlcXVlc3QuY2FuTWFrZVBheW1lbnQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVh
bXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3Ry
ZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVjdGVkLnR4dAppbmRleCBk
MDU3YWY3MTFkMjUyM2I0NWFmZWY4OGMxOWE4M2I3MWQzM2ZhM2Y4Li5hN2YxOTdlNjBjMDk4Y2Q5
MWJjNDdmNDRiODhmZWU4MDZhMTAyMjc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGlu
Zy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9m
bG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYg
QEAKIAotRkFJTCBGbG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciBO
VU1CRVIuTUFYX1NBRkVfSU5URUdFUiAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSkgYXNzZXJ0X2Vx
dWFsczogW1txdWV1ZVRvdGFsU2l6ZV1dIG11c3QgY2xhbXAgdG8gMCBpZiBpdCBiZWNvbWVzIG5l
Z2F0aXZlIGV4cGVjdGVkIDAgYnV0IGdvdCAxCi1GQUlMIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0
aWMgbXVzdCBtYW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUsIGJ1dCBjbGFt
cGVkKSBhc3NlcnRfZXF1YWxzOiBbW3F1ZXVlVG90YWxTaXplXV0gbXVzdCBjbGFtcCB0byAwIGlm
IGl0IGJlY29tZXMgbmVnYXRpdmUgZXhwZWN0ZWQgMCBidXQgZ290IDEuMTEwMjIzMDI0NjI1MTU2
NWUtMTYKK1BBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIg
TlVNQkVSLk1BWF9TQUZFX0lOVEVHRVIgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUpIAorUEFTUyBG
bG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRz
IHVwIHBvc2l0aXZlLCBidXQgY2xhbXBlZCkgCiBQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0
aWMgbXVzdCBtYW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUsIGFuZCBub3Qg
Y2xhbXBlZCkgCiBQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBu
ZWFyIDAgKHRvdGFsIGVuZHMgdXAgemVybykgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zs
b2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUuZGVkaWNhdGVkd29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9y
ZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUuZGVkaWNhdGVk
d29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBkMDU3YWY3MTFkMjUyM2I0NWFmZWY4OGMxOWE4M2I3
MWQzM2ZhM2Y4Li5hN2YxOTdlNjBjMDk4Y2Q5MWJjNDdmNDRiODhmZWU4MDZhMTAyMjc0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLmRlZGlj
YXRlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQt
dG90YWwtcXVldWUtc2l6ZS5kZWRpY2F0ZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEs
NiBAQAogCi1GQUlMIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBuZWFy
IE5VTUJFUi5NQVhfU0FGRV9JTlRFR0VSICh0b3RhbCBlbmRzIHVwIHBvc2l0aXZlKSBhc3NlcnRf
ZXF1YWxzOiBbW3F1ZXVlVG90YWxTaXplXV0gbXVzdCBjbGFtcCB0byAwIGlmIGl0IGJlY29tZXMg
bmVnYXRpdmUgZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwgRmxvYXRpbmcgcG9pbnQgYXJpdGht
ZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSwgYnV0IGNs
YW1wZWQpIGFzc2VydF9lcXVhbHM6IFtbcXVldWVUb3RhbFNpemVdXSBtdXN0IGNsYW1wIHRvIDAg
aWYgaXQgYmVjb21lcyBuZWdhdGl2ZSBleHBlY3RlZCAwIGJ1dCBnb3QgMS4xMTAyMjMwMjQ2MjUx
NTY1ZS0xNgorUEFTUyBGbG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVh
ciBOVU1CRVIuTUFYX1NBRkVfSU5URUdFUiAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSkgCitQQVNT
IEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVu
ZHMgdXAgcG9zaXRpdmUsIGJ1dCBjbGFtcGVkKSAKIFBBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGht
ZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSwgYW5kIG5v
dCBjbGFtcGVkKSAKIFBBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0
IG5lYXIgMCAodG90YWwgZW5kcyB1cCB6ZXJvKSAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323413</attachid>
            <date>2017-10-11 05:32:01 -0700</date>
            <delta_ts>2017-10-12 01:10:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178082-20171011143200.patch</filename>
            <type>text/plain</type>
            <size>15080</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjM1Y2Y5NzczNGUzZjEz
YTA2MWExZDFmYmI2NzdjY2QwNmY5MWRlMi4uYzlkYjYxMmZmYjY4MDVhMGJlNDRlMGEyNDI3NDIx
MmQyNWQ1NDliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE3LTEwLTExICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEFsaWduIHF1ZXVlIHdpdGggc3BlYyBmb3IgUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJv
ZHJpZ3Vlei1DYWx2YXIuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgbmV3IHF1ZXVlIGJlaGF2aW9y
IGZvciBkZXF1ZXVlVmFsdWUgKHVzZWQgYnkgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
ciksIAorICAgICAgICB3aGljaCBmaXhlcyByb3VuZGluZyBlcnJvcnMgKGFzIGRlc2NyaWJlZCBp
biBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL3N0cmVhbXMvcHVsbC82NjEpLgorICAgICAgICBB
bHNvIGFsaWduZWQgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciBxdWV1ZSBzbyB0aGF0IGJv
dGggcXVldWVzIGFyZSBpbXBsZW1lbnRlZCBpbgorICAgICAgICB0aGUgc2FtZSB3YXkuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIChjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLCBlc3BlY2lhbGx5
IFdQVCB0ZXN0cyB0aGF0IG5vdyBwYXNzKS4KKworICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9S
ZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHMuanM6CisgICAgICAgIChwcml2YXRlSW5pdGlhbGl6
ZVJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIpOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4K
KyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYW5jZWwpOiBBbGlnbmVkIHF1
ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJv
cik6IEFsaWduZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFt
Q29udHJvbGxlckNsb3NlKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFk
YWJsZUJ5dGVTdHJlYW1Db250cm9sbGVySGFuZGxlUXVldWVEcmFpbik6IEFsaWduZWQgcXVldWUg
d2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclB1bGwpOiBB
bGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXJFbnF1ZXVlKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyRW5xdWV1ZUNodW5rKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJT
REMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJvY2Vzc1B1bGxEZXNj
cmlwdG9ycyk6IEFsaWduZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRl
U3RyZWFtQ29udHJvbGxlckZpbGxEZXNjcmlwdG9yRnJvbVF1ZXVlKTogQWxpZ25lZCBxdWV1ZSB3
aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHVsbEludG8p
OiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvU3Ry
ZWFtSW50ZXJuYWxzLmpzOgorICAgICAgICAoZGVxdWV1ZVZhbHVlKTogVXBkYXRlZCB0byBtYXRj
aCBzcGVjLgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDogUmVt
b3ZlZCBub3cgdXNlbGVzcyAidG90YWxRdWV1ZWRCeXRlcyIuCisKIDIwMTctMDktMjcgIEZyZWRl
cmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtpT1NdIERvIG5vdCBmbGF0
dGVuIGZyYW1lcyB3aGVuIGFzeW5jIGZyYW1lIHNjcm9sbGluZyBpcyBlbmFibGVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50
ZXJuYWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0
cmVhbUludGVybmFscy5qcwppbmRleCBkYzQ1MjQ3NGZlNzJmZWQ2MzU5YWVhYTAzMTNjYjRmNTQ1
Y2U1ODExLi4xNmNhNTcyZmFiZDhmZDczOWFkZWUwZjVmNzgyYjg0ZDJkNjA3ZmU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50
ZXJuYWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5
dGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTU5LDggKzU5LDcgQEAgZnVuY3Rpb24gcHJpdmF0ZUlu
aXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHN0cmVhbSwgdW5kZXJseWluZ0J5
dGVTb3UKICAgICB0aGlzLkBwdWxsQWdhaW4gPSBmYWxzZTsKICAgICB0aGlzLkBwdWxsaW5nID0g
ZmFsc2U7CiAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbGVhclBlbmRpbmdQdWxs
SW50b3ModGhpcyk7Ci0gICAgdGhpcy5AcXVldWUgPSBbXTsKLSAgICB0aGlzLkB0b3RhbFF1ZXVl
ZEJ5dGVzID0gMDsKKyAgICB0aGlzLkBxdWV1ZSA9IEBuZXdRdWV1ZSgpOwogICAgIHRoaXMuQHN0
YXJ0ZWQgPSBmYWxzZTsKICAgICB0aGlzLkBjbG9zZVJlcXVlc3RlZCA9IGZhbHNlOwogCkBAIC0x
MzcsOCArMTM2LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbmNl
bChjb250cm9sbGVyLCByZWFzb24pCiAKICAgICBpZiAoY29udHJvbGxlci5AcGVuZGluZ1B1bGxJ
bnRvcy5sZW5ndGggPiAwKQogICAgICAgICBjb250cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zWzBd
LmJ5dGVzRmlsbGVkID0gMDsKLSAgICBjb250cm9sbGVyLkBxdWV1ZSA9IFtdOwotICAgIGNvbnRy
b2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgPSAwOworICAgIGNvbnRyb2xsZXIuQHF1ZXVlID0gQG5l
d1F1ZXVlKCk7CiAgICAgcmV0dXJuIEBwcm9taXNlSW52b2tlT3JOb29wKGNvbnRyb2xsZXIuQHVu
ZGVybHlpbmdCeXRlU291cmNlLCAiY2FuY2VsIiwgW3JlYXNvbl0pOwogfQogCkBAIC0xNDgsNyAr
MTQ2LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9yKGNvbnRy
b2xsZXIsIGUpCiAKICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0
cmVhbS5Ac3RhdGUgPT09IEBzdHJlYW1SZWFkYWJsZSk7CiAgICAgQHJlYWRhYmxlQnl0ZVN0cmVh
bUNvbnRyb2xsZXJDbGVhclBlbmRpbmdQdWxsSW50b3MoY29udHJvbGxlcik7Ci0gICAgY29udHJv
bGxlci5AcXVldWUgPSBbXTsKKyAgICBjb250cm9sbGVyLkBxdWV1ZSA9IEBuZXdRdWV1ZSgpOwog
ICAgIEByZWFkYWJsZVN0cmVhbUVycm9yKGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0
cmVhbSwgZSk7CiB9CiAKQEAgLTE1OSw3ICsxNTcsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyQ2xvc2UoY29udHJvbGxlcikKICAgICBAYXNzZXJ0KCFjb250cm9sbGVy
LkBjbG9zZVJlcXVlc3RlZCk7CiAgICAgQGFzc2VydChjb250cm9sbGVyLkBjb250cm9sbGVkUmVh
ZGFibGVTdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtUmVhZGFibGUpOwogCi0gICAgaWYgKGNvbnRy
b2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgPiAwKSB7CisgICAgaWYgKGNvbnRyb2xsZXIuQHF1ZXVl
LnNpemUgPiAwKSB7CiAgICAgICAgIGNvbnRyb2xsZXIuQGNsb3NlUmVxdWVzdGVkID0gdHJ1ZTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTE5NCw3ICsxOTIsNyBAQCBmdW5jdGlvbiByZWFk
YWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyR2V0RGVzaXJlZFNpemUoY29udHJvbGxlcikKICAgIGlm
IChzdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtQ2xvc2VkKQogICAgICAgIHJldHVybiAwOwogCi0g
ICByZXR1cm4gY29udHJvbGxlci5Ac3RyYXRlZ3lIV00gLSBjb250cm9sbGVyLkB0b3RhbFF1ZXVl
ZEJ5dGVzOworICAgcmV0dXJuIGNvbnRyb2xsZXIuQHN0cmF0ZWd5SFdNIC0gY29udHJvbGxlci5A
cXVldWUuc2l6ZTsKIH0KIAogZnVuY3Rpb24gcmVhZGFibGVTdHJlYW1IYXNCWU9CUmVhZGVyKHN0
cmVhbSkKQEAgLTIxNiw3ICsyMTQsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVySGFuZGxlUXVldWVEcmFpbihjb250cm9sbGVyKSB7CiAgICAgInVzZSBzdHJpY3QiOwog
CiAgICAgQGFzc2VydChjb250cm9sbGVyLkBjb250cm9sbGVkUmVhZGFibGVTdHJlYW0uQHN0YXRl
ID09PSBAc3RyZWFtUmVhZGFibGUpOwotICAgIGlmICghY29udHJvbGxlci5AdG90YWxRdWV1ZWRC
eXRlcyAmJiBjb250cm9sbGVyLkBjbG9zZVJlcXVlc3RlZCkKKyAgICBpZiAoIWNvbnRyb2xsZXIu
QHF1ZXVlLnNpemUgJiYgY29udHJvbGxlci5AY2xvc2VSZXF1ZXN0ZWQpCiAgICAgICAgIEByZWFk
YWJsZVN0cmVhbUNsb3NlKGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbSk7CiAg
ICAgZWxzZQogICAgICAgICBAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbGxQdWxsSWZO
ZWVkZWQoY29udHJvbGxlcik7CkBAIC0yMjksMTAgKzIyNywxMCBAQCBmdW5jdGlvbiByZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyUHVsbChjb250cm9sbGVyKQogICAgIGNvbnN0IHN0cmVhbSA9
IGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbTsKICAgICBAYXNzZXJ0KEByZWFk
YWJsZVN0cmVhbUhhc0RlZmF1bHRSZWFkZXIoc3RyZWFtKSk7CiAKLSAgICBpZiAoY29udHJvbGxl
ci5AdG90YWxRdWV1ZWRCeXRlcyA+IDApIHsKKyAgICBpZiAoY29udHJvbGxlci5AcXVldWUuc2l6
ZSA+IDApIHsKICAgICAgICAgQGFzc2VydChzdHJlYW0uQHJlYWRlci5AcmVhZFJlcXVlc3RzLmxl
bmd0aCA9PT0gMCk7Ci0gICAgICAgIGNvbnN0IGVudHJ5ID0gY29udHJvbGxlci5AcXVldWUuQHNo
aWZ0KCk7Ci0gICAgICAgIGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgLT0gZW50cnkuYnl0
ZUxlbmd0aDsKKyAgICAgICAgY29uc3QgZW50cnkgPSBjb250cm9sbGVyLkBxdWV1ZS5jb250ZW50
LkBzaGlmdCgpOworICAgICAgICBjb250cm9sbGVyLkBxdWV1ZS5zaXplIC09IGVudHJ5LmJ5dGVM
ZW5ndGg7CiAgICAgICAgIEByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVySGFuZGxlUXVldWVE
cmFpbihjb250cm9sbGVyKTsKICAgICAgICAgbGV0IHZpZXc7CiAgICAgICAgIHRyeSB7CkBAIC0z
NDEsNyArMzM5LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVl
dWUoY29udHJvbGxlciwgY2h1bmspCiAgICAgICAgIGlmICghc3RyZWFtLkByZWFkZXIuQHJlYWRS
ZXF1ZXN0cy5sZW5ndGgpCiAgICAgICAgICAgICBAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
ckVucXVldWVDaHVuayhjb250cm9sbGVyLCB0cmFuc2ZlcnJlZEJ1ZmZlciwgYnl0ZU9mZnNldCwg
Ynl0ZUxlbmd0aCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQGFzc2VydCghY29udHJv
bGxlci5AcXVldWUubGVuZ3RoKTsKKyAgICAgICAgICAgIEBhc3NlcnQoIWNvbnRyb2xsZXIuQHF1
ZXVlLmNvbnRlbnQubGVuZ3RoKTsKICAgICAgICAgICAgIGxldCB0cmFuc2ZlcnJlZFZpZXcgPSBu
ZXcgQFVpbnQ4QXJyYXkodHJhbnNmZXJyZWRCdWZmZXIsIGJ5dGVPZmZzZXQsIGJ5dGVMZW5ndGgp
OwogICAgICAgICAgICAgQHJlYWRhYmxlU3RyZWFtRnVsZmlsbFJlYWRSZXF1ZXN0KHN0cmVhbSwg
dHJhbnNmZXJyZWRWaWV3LCBmYWxzZSk7CiAgICAgICAgIH0KQEAgLTM2MywxMiArMzYxLDEyIEBA
IGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlQ2h1bmsoY29udHJv
bGxlciwgYnVmZmVyLCBieXRlT2Zmc2V0CiB7CiAgICAgInVzZSBzdHJpY3QiOwogCi0gICAgY29u
dHJvbGxlci5AcXVldWUuQHB1c2goeworICAgIGNvbnRyb2xsZXIuQHF1ZXVlLmNvbnRlbnQuQHB1
c2goewogICAgICAgICBidWZmZXI6IGJ1ZmZlciwKICAgICAgICAgYnl0ZU9mZnNldDogYnl0ZU9m
ZnNldCwKICAgICAgICAgYnl0ZUxlbmd0aDogYnl0ZUxlbmd0aAogICAgIH0pOwotICAgIGNvbnRy
b2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgKz0gYnl0ZUxlbmd0aDsKKyAgICBjb250cm9sbGVyLkBx
dWV1ZS5zaXplICs9IGJ5dGVMZW5ndGg7CiB9CiAKIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVh
bUNvbnRyb2xsZXJSZXNwb25kV2l0aE5ld1ZpZXcoY29udHJvbGxlciwgdmlldykKQEAgLTQ3MSw3
ICs0NjksNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJvY2Vzc1B1
bGxEZXNjcmlwdG9ycyhjb250cm9sbGVyKQogCiAgICAgQGFzc2VydCghY29udHJvbGxlci5AY2xv
c2VSZXF1ZXN0ZWQpOwogICAgIHdoaWxlIChjb250cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zLmxl
bmd0aCA+IDApIHsKLSAgICAgICAgaWYgKGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgPT09
IDApCisgICAgICAgIGlmIChjb250cm9sbGVyLkBxdWV1ZS5zaXplID09PSAwKQogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICBsZXQgcHVsbEludG9EZXNjcmlwdG9yID0gY29udHJvbGxlci5A
cGVuZGluZ1B1bGxJbnRvc1swXTsKICAgICAgICAgaWYgKEByZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbEludG9EZXNjcmlw
dG9yKSkgewpAQCAtNDg3LDggKzQ4NSw4IEBAIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNv
bnRyb2xsZXJGaWxsRGVzY3JpcHRvckZyb21RdWV1ZShjb250cm9sbGVyLCBwdWxsSW50CiAgICAg
InVzZSBzdHJpY3QiOwogCiAgICAgY29uc3QgY3VycmVudEFsaWduZWRCeXRlcyA9IHB1bGxJbnRv
RGVzY3JpcHRvci5ieXRlc0ZpbGxlZCAtIChwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQg
JSBwdWxsSW50b0Rlc2NyaXB0b3IuZWxlbWVudFNpemUpOwotICAgIGNvbnN0IG1heEJ5dGVzVG9D
b3B5ID0gY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyA8IHB1bGxJbnRvRGVzY3JpcHRvci5i
eXRlTGVuZ3RoIC0gcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkID8KLSAgICAgICAgICAg
ICAgICBjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzIDogcHVsbEludG9EZXNjcmlwdG9yLmJ5
dGVMZW5ndGggLSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQ7CisgICAgY29uc3QgbWF4
Qnl0ZXNUb0NvcHkgPSBjb250cm9sbGVyLkBxdWV1ZS5zaXplIDwgcHVsbEludG9EZXNjcmlwdG9y
LmJ5dGVMZW5ndGggLSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgPworICAgICAgICAg
ICAgICAgIGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUgOiBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZUxl
bmd0aCAtIHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZDsKICAgICBjb25zdCBtYXhCeXRl
c0ZpbGxlZCA9IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCArIG1heEJ5dGVzVG9Db3B5
OwogICAgIGNvbnN0IG1heEFsaWduZWRCeXRlcyA9IG1heEJ5dGVzRmlsbGVkIC0gKG1heEJ5dGVz
RmlsbGVkICUgcHVsbEludG9EZXNjcmlwdG9yLmVsZW1lbnRTaXplKTsKICAgICBsZXQgdG90YWxC
eXRlc1RvQ29weVJlbWFpbmluZyA9IG1heEJ5dGVzVG9Db3B5OwpAQCAtNTAwLDcgKzQ5OCw3IEBA
IGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsRGVzY3JpcHRvckZyb21R
dWV1ZShjb250cm9sbGVyLCBwdWxsSW50CiAgICAgfQogCiAgICAgd2hpbGUgKHRvdGFsQnl0ZXNU
b0NvcHlSZW1haW5pbmcgPiAwKSB7Ci0gICAgICAgIGxldCBoZWFkT2ZRdWV1ZSA9IGNvbnRyb2xs
ZXIuQHF1ZXVlWzBdOworICAgICAgICBsZXQgaGVhZE9mUXVldWUgPSBjb250cm9sbGVyLkBxdWV1
ZS5jb250ZW50WzBdOwogICAgICAgICBjb25zdCBieXRlc1RvQ29weSA9IHRvdGFsQnl0ZXNUb0Nv
cHlSZW1haW5pbmcgPCBoZWFkT2ZRdWV1ZS5ieXRlTGVuZ3RoID8gdG90YWxCeXRlc1RvQ29weVJl
bWFpbmluZyA6IGhlYWRPZlF1ZXVlLmJ5dGVMZW5ndGg7CiAgICAgICAgIC8vIENvcHkgYXBwcm9w
cmlhdGUgcGFydCBvZiBwdWxsSW50b0Rlc2NyaXB0b3IuYnVmZmVyIHRvIGhlYWRPZlF1ZXVlLmJ1
ZmZlci4KICAgICAgICAgLy8gUmVtYXJrOiB0aGlzIGltcGxlbWVudGF0aW9uIGlzIG5vdCBjb21w
bGV0ZWx5IGFsaWduZWQgb24gdGhlIGRlZmluaXRpb24gb2YgQ29weURhdGFCbG9ja0J5dGVzCkBA
IC01MTYsMTMgKzUxNCwxMyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVy
RmlsbERlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbEludAogICAgICAgICB9CiAK
ICAgICAgICAgaWYgKGhlYWRPZlF1ZXVlLmJ5dGVMZW5ndGggPT09IGJ5dGVzVG9Db3B5KQotICAg
ICAgICAgICAgY29udHJvbGxlci5AcXVldWUuQHNoaWZ0KCk7CisgICAgICAgICAgICBjb250cm9s
bGVyLkBxdWV1ZS5jb250ZW50LkBzaGlmdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAg
IGhlYWRPZlF1ZXVlLmJ5dGVPZmZzZXQgKz0gYnl0ZXNUb0NvcHk7CiAgICAgICAgICAgICBoZWFk
T2ZRdWV1ZS5ieXRlTGVuZ3RoIC09IGJ5dGVzVG9Db3B5OwogICAgICAgICB9CiAKLSAgICAgICAg
Y29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyAtPSBieXRlc1RvQ29weTsKKyAgICAgICAgY29u
dHJvbGxlci5AcXVldWUuc2l6ZSAtPSBieXRlc1RvQ29weTsKICAgICAgICAgQGFzc2VydChjb250
cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zLmxlbmd0aCA9PT0gMCB8fCBjb250cm9sbGVyLkBwZW5k
aW5nUHVsbEludG9zWzBdID09PSBwdWxsSW50b0Rlc2NyaXB0b3IpOwogICAgICAgICBAcmVhZGFi
bGVCeXRlU3RyZWFtQ29udHJvbGxlckludmFsaWRhdGVCWU9CUmVxdWVzdChjb250cm9sbGVyKTsK
ICAgICAgICAgcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkICs9IGJ5dGVzVG9Db3B5OwpA
QCAtNTMwLDcgKzUyOCw3IEBAIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJG
aWxsRGVzY3JpcHRvckZyb21RdWV1ZShjb250cm9sbGVyLCBwdWxsSW50CiAgICAgfQogCiAgICAg
aWYgKCFyZWFkeSkgewotICAgICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0
ZXMgPT09IDApOworICAgICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUgPT09IDAp
OwogICAgICAgICBAYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCA+IDApOwog
ICAgICAgICBAYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCA8IHB1bGxJbnRv
RGVzY3JpcHRvci5lbGVtZW50U2l6ZSk7CiAgICAgfQpAQCAtNjU5LDcgKzY1Nyw3IEBAIGZ1bmN0
aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQdWxsSW50byhjb250cm9sbGVyLCB2aWV3
KQogICAgICAgICByZXR1cm4gQFByb21pc2UuQHJlc29sdmUoeyB2YWx1ZTogZW1wdHlWaWV3LCBk
b25lOiB0cnVlIH0pOwogICAgIH0KIAotICAgIGlmIChjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5
dGVzID4gMCkgeworICAgIGlmIChjb250cm9sbGVyLkBxdWV1ZS5zaXplID4gMCkgewogICAgICAg
ICBpZiAoQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsRGVzY3JpcHRvckZyb21RdWV1
ZShjb250cm9sbGVyLCBwdWxsSW50b0Rlc2NyaXB0b3IpKSB7CiAgICAgICAgICAgICBjb25zdCBm
aWxsZWRWaWV3ID0gQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDb252ZXJ0RGVzY3JpcHRv
cihwdWxsSW50b0Rlc2NyaXB0b3IpOwogICAgICAgICAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNv
bnRyb2xsZXJIYW5kbGVRdWV1ZURyYWluKGNvbnRyb2xsZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMKaW5kZXggYzJhMjk2NTQ0ZDUy
ZjI1MmE2OTkzNjgzY2VkOWRjNmViNGUwNWFmNS4uYTYwY2Y4ODZiM2U3YWZhZGU1NGQ2MDhmNzFm
ODQxMjdkMmQ0YzY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1N0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
U3RyZWFtSW50ZXJuYWxzLmpzCkBAIC0xMDUsNiArMTA1LDkgQEAgZnVuY3Rpb24gZGVxdWV1ZVZh
bHVlKHF1ZXVlKQogCiAgICAgY29uc3QgcmVjb3JkID0gcXVldWUuY29udGVudC5Ac2hpZnQoKTsK
ICAgICBxdWV1ZS5zaXplIC09IHJlY29yZC5zaXplOworICAgIC8vIEFzIGRlc2NyaWJlZCBieSBz
cGVjLCBiZWxvdyBjYXNlIG1heSBvY2N1ciBkdWUgdG8gcm91bmRpbmcgZXJyb3JzLgorICAgIGlm
IChxdWV1ZS5zaXplIDwgMCkKKyAgICAgICAgcXVldWUuc2l6ZSA9IDA7CiAgICAgcmV0dXJuIHJl
Y29yZC52YWx1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDZmMDgxZjgyNGI2ZjYxYTViMDY2M2RlZDYyNTQwZmUyZTcz
MTk4ZWIuLmY2MGY2NGFmYmY2NjRmNTViMzQ1MDY5OWMyNTgzYTYwZDM5MDE0ZjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTI2
Niw3ICsyNjYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oc3RydWN0dXJlZENs
b25lQXJyYXlCdWZmZXIpIFwKICAgICBtYWNybyhzdHJ1Y3R1cmVkQ2xvbmVBcnJheUJ1ZmZlclZp
ZXcpIFwKICAgICBtYWNybyh0b3ApIFwKLSAgICBtYWNybyh0b3RhbFF1ZXVlZEJ5dGVzKSBcCiAg
ICAgbWFjcm8odW5kZXJseWluZ0J5dGVTb3VyY2UpIFwKICAgICBtYWNybyh1bmRlcmx5aW5nU2lu
aykgXAogICAgIG1hY3JvKHVuZGVybHlpbmdTb3VyY2UpIFwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IGI4NTY3YWE3YzAxODQ5NzQ2Yjc1MzBjMTM5YzI4ZjZhYTY3ZTNhOWUuLmZl
OGIxOTU2ZTNhNDg1MGJhMDE2NDk3M2IyMmMyMWU1YjNkN2VkYWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTEwLTExICBSb21haW4gQmVsbGVz
c29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbUmVhZGFi
bGUgU3RyZWFtcyBBUEldIEFsaWduIHF1ZXVlIHdpdGggc3BlYyBmb3IgUmVhZGFibGVTdHJlYW1E
ZWZhdWx0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc4MDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJvZHJpZ3Vlei1D
YWx2YXIuCisKKyAgICAgICAgVXBkYXRlZCB0ZXN0IGV4cGVjdGF0aW9ucyBmb3IgdGVzdHMgdGhh
dCB3ZXJlIHByZXZpb3VzbHkgZmFpbGluZyBidXQgbm93IHBhc3MuCisKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRv
dGFsLXF1ZXVlLXNpemUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6
ZS5kZWRpY2F0ZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDE3LTEwLTEwICBBbmR5IEVzdGVz
ICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJbXBsZW1l
bnQgUGF5bWVudFJlcXVlc3QuY2FuTWFrZVBheW1lbnQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVh
bXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3Ry
ZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVjdGVkLnR4dAppbmRleCBk
MDU3YWY3MTFkMjUyM2I0NWFmZWY4OGMxOWE4M2I3MWQzM2ZhM2Y4Li5hN2YxOTdlNjBjMDk4Y2Q5
MWJjNDdmNDRiODhmZWU4MDZhMTAyMjc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGlu
Zy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9m
bG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYg
QEAKIAotRkFJTCBGbG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciBO
VU1CRVIuTUFYX1NBRkVfSU5URUdFUiAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSkgYXNzZXJ0X2Vx
dWFsczogW1txdWV1ZVRvdGFsU2l6ZV1dIG11c3QgY2xhbXAgdG8gMCBpZiBpdCBiZWNvbWVzIG5l
Z2F0aXZlIGV4cGVjdGVkIDAgYnV0IGdvdCAxCi1GQUlMIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0
aWMgbXVzdCBtYW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUsIGJ1dCBjbGFt
cGVkKSBhc3NlcnRfZXF1YWxzOiBbW3F1ZXVlVG90YWxTaXplXV0gbXVzdCBjbGFtcCB0byAwIGlm
IGl0IGJlY29tZXMgbmVnYXRpdmUgZXhwZWN0ZWQgMCBidXQgZ290IDEuMTEwMjIzMDI0NjI1MTU2
NWUtMTYKK1BBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIg
TlVNQkVSLk1BWF9TQUZFX0lOVEVHRVIgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUpIAorUEFTUyBG
bG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRz
IHVwIHBvc2l0aXZlLCBidXQgY2xhbXBlZCkgCiBQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0
aWMgbXVzdCBtYW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUsIGFuZCBub3Qg
Y2xhbXBlZCkgCiBQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBu
ZWFyIDAgKHRvdGFsIGVuZHMgdXAgemVybykgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zs
b2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUuZGVkaWNhdGVkd29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9y
ZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUuZGVkaWNhdGVk
d29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBkMDU3YWY3MTFkMjUyM2I0NWFmZWY4OGMxOWE4M2I3
MWQzM2ZhM2Y4Li5hN2YxOTdlNjBjMDk4Y2Q5MWJjNDdmNDRiODhmZWU4MDZhMTAyMjc0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLmRlZGlj
YXRlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQt
dG90YWwtcXVldWUtc2l6ZS5kZWRpY2F0ZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEs
NiBAQAogCi1GQUlMIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBuZWFy
IE5VTUJFUi5NQVhfU0FGRV9JTlRFR0VSICh0b3RhbCBlbmRzIHVwIHBvc2l0aXZlKSBhc3NlcnRf
ZXF1YWxzOiBbW3F1ZXVlVG90YWxTaXplXV0gbXVzdCBjbGFtcCB0byAwIGlmIGl0IGJlY29tZXMg
bmVnYXRpdmUgZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwgRmxvYXRpbmcgcG9pbnQgYXJpdGht
ZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSwgYnV0IGNs
YW1wZWQpIGFzc2VydF9lcXVhbHM6IFtbcXVldWVUb3RhbFNpemVdXSBtdXN0IGNsYW1wIHRvIDAg
aWYgaXQgYmVjb21lcyBuZWdhdGl2ZSBleHBlY3RlZCAwIGJ1dCBnb3QgMS4xMTAyMjMwMjQ2MjUx
NTY1ZS0xNgorUEFTUyBGbG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVh
ciBOVU1CRVIuTUFYX1NBRkVfSU5URUdFUiAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSkgCitQQVNT
IEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVu
ZHMgdXAgcG9zaXRpdmUsIGJ1dCBjbGFtcGVkKSAKIFBBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGht
ZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSwgYW5kIG5v
dCBjbGFtcGVkKSAKIFBBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0
IG5lYXIgMCAodG90YWwgZW5kcyB1cCB6ZXJvKSAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323515</attachid>
            <date>2017-10-12 01:10:38 -0700</date>
            <delta_ts>2017-10-12 09:12:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178082-20171012101036.patch</filename>
            <type>text/plain</type>
            <size>15097</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTY1YTI2MWMzZWFmOGFm
NGY0YjhjNzk3ZTk4MjNjNTAzMzBmMTBjYy4uYTEwNTU0YmIzODMyNjViNjUwNDhjOGNjNzk3ZDVj
NWIxODNmMDk2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE3LTEwLTEyICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEFsaWduIHF1ZXVlIHdpdGggc3BlYyBmb3IgUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJv
ZHJpZ3Vlei1DYWx2YXIuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgbmV3IHF1ZXVlIGJlaGF2aW9y
IGZvciBkZXF1ZXVlVmFsdWUgKHVzZWQgYnkgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
ciksCisgICAgICAgIHdoaWNoIGZpeGVzIHJvdW5kaW5nIGVycm9ycyAoYXMgZGVzY3JpYmVkIGlu
IGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvc3RyZWFtcy9wdWxsLzY2MSkuCisgICAgICAgIEFs
c28gYWxpZ25lZCBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIHF1ZXVlIHNvIHRoYXQgYm90
aCBxdWV1ZXMgYXJlIGltcGxlbWVudGVkIGluCisgICAgICAgIHRoZSBzYW1lIHdheS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgKGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMsIGVzcGVjaWFsbHkg
V1BUIHRlc3RzIHRoYXQgbm93IHBhc3MpLgorCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qczoKKyAgICAgICAgKHByaXZhdGVJbml0aWFsaXpl
UmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcik6IEFsaWduZWQgcXVldWUgd2l0aCBSU0RDLgor
ICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbmNlbCk6IEFsaWduZWQgcXVl
dWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9y
KTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1D
b250cm9sbGVyQ2xvc2UpOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKHJlYWRh
YmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJIYW5kbGVRdWV1ZURyYWluKTogQWxpZ25lZCBxdWV1ZSB3
aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHVsbCk6IEFs
aWduZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJv
bGxlckVucXVldWUpOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKHJlYWRhYmxl
Qnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlQ2h1bmspOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNE
Qy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQcm9jZXNzUHVsbERlc2Ny
aXB0b3JzKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVldWUpOiBBbGlnbmVkIHF1ZXVlIHdp
dGggUlNEQy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQdWxsSW50byk6
IEFsaWduZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9TdHJl
YW1JbnRlcm5hbHMuanM6CisgICAgICAgIChkZXF1ZXVlVmFsdWUpOiBVcGRhdGVkIHRvIG1hdGNo
IHNwZWMuCisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOiBSZW1v
dmVkIG5vdyB1c2VsZXNzICJ0b3RhbFF1ZXVlZEJ5dGVzIi4KKwogMjAxNy0xMC0xMSAgQnJlbnQg
RnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0IG51bGxwdHIg
ZGVyZWYgaW4gc2VsZWN0aW9uIGhhbmRsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHMuanMKaW5k
ZXggZGM0NTI0NzRmZTcyZmVkNjM1OWFlYWEwMzEzY2I0ZjU0NWNlNTgxMS4uMTZjYTU3MmZhYmQ4
ZmQ3MzlhZGVlMGY1Zjc4MmI4NGQyZDYwN2ZlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpz
CkBAIC01OSw4ICs1OSw3IEBAIGZ1bmN0aW9uIHByaXZhdGVJbml0aWFsaXplUmVhZGFibGVCeXRl
U3RyZWFtQ29udHJvbGxlcihzdHJlYW0sIHVuZGVybHlpbmdCeXRlU291CiAgICAgdGhpcy5AcHVs
bEFnYWluID0gZmFsc2U7CiAgICAgdGhpcy5AcHVsbGluZyA9IGZhbHNlOwogICAgIEByZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xlYXJQZW5kaW5nUHVsbEludG9zKHRoaXMpOwotICAgIHRo
aXMuQHF1ZXVlID0gW107Ci0gICAgdGhpcy5AdG90YWxRdWV1ZWRCeXRlcyA9IDA7CisgICAgdGhp
cy5AcXVldWUgPSBAbmV3UXVldWUoKTsKICAgICB0aGlzLkBzdGFydGVkID0gZmFsc2U7CiAgICAg
dGhpcy5AY2xvc2VSZXF1ZXN0ZWQgPSBmYWxzZTsKIApAQCAtMTM3LDggKzEzNiw3IEBAIGZ1bmN0
aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYW5jZWwoY29udHJvbGxlciwgcmVhc29u
KQogCiAgICAgaWYgKGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3MubGVuZ3RoID4gMCkKICAg
ICAgICAgY29udHJvbGxlci5AcGVuZGluZ1B1bGxJbnRvc1swXS5ieXRlc0ZpbGxlZCA9IDA7Ci0g
ICAgY29udHJvbGxlci5AcXVldWUgPSBbXTsKLSAgICBjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5
dGVzID0gMDsKKyAgICBjb250cm9sbGVyLkBxdWV1ZSA9IEBuZXdRdWV1ZSgpOwogICAgIHJldHVy
biBAcHJvbWlzZUludm9rZU9yTm9vcChjb250cm9sbGVyLkB1bmRlcmx5aW5nQnl0ZVNvdXJjZSwg
ImNhbmNlbCIsIFtyZWFzb25dKTsKIH0KIApAQCAtMTQ4LDcgKzE0Niw3IEBAIGZ1bmN0aW9uIHJl
YWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJvcihjb250cm9sbGVyLCBlKQogCiAgICAgQGFz
c2VydChjb250cm9sbGVyLkBjb250cm9sbGVkUmVhZGFibGVTdHJlYW0uQHN0YXRlID09PSBAc3Ry
ZWFtUmVhZGFibGUpOwogICAgIEByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xlYXJQZW5k
aW5nUHVsbEludG9zKGNvbnRyb2xsZXIpOwotICAgIGNvbnRyb2xsZXIuQHF1ZXVlID0gW107Cisg
ICAgY29udHJvbGxlci5AcXVldWUgPSBAbmV3UXVldWUoKTsKICAgICBAcmVhZGFibGVTdHJlYW1F
cnJvcihjb250cm9sbGVyLkBjb250cm9sbGVkUmVhZGFibGVTdHJlYW0sIGUpOwogfQogCkBAIC0x
NTksNyArMTU3LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsb3Nl
KGNvbnRyb2xsZXIpCiAgICAgQGFzc2VydCghY29udHJvbGxlci5AY2xvc2VSZXF1ZXN0ZWQpOwog
ICAgIEBhc3NlcnQoY29udHJvbGxlci5AY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtLkBzdGF0ZSA9
PT0gQHN0cmVhbVJlYWRhYmxlKTsKIAotICAgIGlmIChjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5
dGVzID4gMCkgeworICAgIGlmIChjb250cm9sbGVyLkBxdWV1ZS5zaXplID4gMCkgewogICAgICAg
ICBjb250cm9sbGVyLkBjbG9zZVJlcXVlc3RlZCA9IHRydWU7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CkBAIC0xOTQsNyArMTkyLDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJv
bGxlckdldERlc2lyZWRTaXplKGNvbnRyb2xsZXIpCiAgICBpZiAoc3RyZWFtLkBzdGF0ZSA9PT0g
QHN0cmVhbUNsb3NlZCkKICAgICAgICByZXR1cm4gMDsKIAotICAgcmV0dXJuIGNvbnRyb2xsZXIu
QHN0cmF0ZWd5SFdNIC0gY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlczsKKyAgIHJldHVybiBj
b250cm9sbGVyLkBzdHJhdGVneUhXTSAtIGNvbnRyb2xsZXIuQHF1ZXVlLnNpemU7CiB9CiAKIGZ1
bmN0aW9uIHJlYWRhYmxlU3RyZWFtSGFzQllPQlJlYWRlcihzdHJlYW0pCkBAIC0yMTYsNyArMjE0
LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckhhbmRsZVF1ZXVlRHJh
aW4oY29udHJvbGxlcikgewogICAgICJ1c2Ugc3RyaWN0IjsKIAogICAgIEBhc3NlcnQoY29udHJv
bGxlci5AY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtLkBzdGF0ZSA9PT0gQHN0cmVhbVJlYWRhYmxl
KTsKLSAgICBpZiAoIWNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgJiYgY29udHJvbGxlci5A
Y2xvc2VSZXF1ZXN0ZWQpCisgICAgaWYgKCFjb250cm9sbGVyLkBxdWV1ZS5zaXplICYmIGNvbnRy
b2xsZXIuQGNsb3NlUmVxdWVzdGVkKQogICAgICAgICBAcmVhZGFibGVTdHJlYW1DbG9zZShjb250
cm9sbGVyLkBjb250cm9sbGVkUmVhZGFibGVTdHJlYW0pOwogICAgIGVsc2UKICAgICAgICAgQHJl
YWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKGNvbnRyb2xsZXIpOwpA
QCAtMjI5LDEwICsyMjcsMTAgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
clB1bGwoY29udHJvbGxlcikKICAgICBjb25zdCBzdHJlYW0gPSBjb250cm9sbGVyLkBjb250cm9s
bGVkUmVhZGFibGVTdHJlYW07CiAgICAgQGFzc2VydChAcmVhZGFibGVTdHJlYW1IYXNEZWZhdWx0
UmVhZGVyKHN0cmVhbSkpOwogCi0gICAgaWYgKGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMg
PiAwKSB7CisgICAgaWYgKGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUgPiAwKSB7CiAgICAgICAgIEBh
c3NlcnQoc3RyZWFtLkByZWFkZXIuQHJlYWRSZXF1ZXN0cy5sZW5ndGggPT09IDApOwotICAgICAg
ICBjb25zdCBlbnRyeSA9IGNvbnRyb2xsZXIuQHF1ZXVlLkBzaGlmdCgpOwotICAgICAgICBjb250
cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzIC09IGVudHJ5LmJ5dGVMZW5ndGg7CisgICAgICAgIGNv
bnN0IGVudHJ5ID0gY29udHJvbGxlci5AcXVldWUuY29udGVudC5Ac2hpZnQoKTsKKyAgICAgICAg
Y29udHJvbGxlci5AcXVldWUuc2l6ZSAtPSBlbnRyeS5ieXRlTGVuZ3RoOwogICAgICAgICBAcmVh
ZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckhhbmRsZVF1ZXVlRHJhaW4oY29udHJvbGxlcik7CiAg
ICAgICAgIGxldCB2aWV3OwogICAgICAgICB0cnkgewpAQCAtMzQxLDcgKzMzOSw3IEBAIGZ1bmN0
aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlKGNvbnRyb2xsZXIsIGNodW5r
KQogICAgICAgICBpZiAoIXN0cmVhbS5AcmVhZGVyLkByZWFkUmVxdWVzdHMubGVuZ3RoKQogICAg
ICAgICAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlQ2h1bmsoY29udHJv
bGxlciwgdHJhbnNmZXJyZWRCdWZmZXIsIGJ5dGVPZmZzZXQsIGJ5dGVMZW5ndGgpOwogICAgICAg
ICBlbHNlIHsKLSAgICAgICAgICAgIEBhc3NlcnQoIWNvbnRyb2xsZXIuQHF1ZXVlLmxlbmd0aCk7
CisgICAgICAgICAgICBAYXNzZXJ0KCFjb250cm9sbGVyLkBxdWV1ZS5jb250ZW50Lmxlbmd0aCk7
CiAgICAgICAgICAgICBsZXQgdHJhbnNmZXJyZWRWaWV3ID0gbmV3IEBVaW50OEFycmF5KHRyYW5z
ZmVycmVkQnVmZmVyLCBieXRlT2Zmc2V0LCBieXRlTGVuZ3RoKTsKICAgICAgICAgICAgIEByZWFk
YWJsZVN0cmVhbUZ1bGZpbGxSZWFkUmVxdWVzdChzdHJlYW0sIHRyYW5zZmVycmVkVmlldywgZmFs
c2UpOwogICAgICAgICB9CkBAIC0zNjMsMTIgKzM2MSwxMiBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVyRW5xdWV1ZUNodW5rKGNvbnRyb2xsZXIsIGJ1ZmZlciwgYnl0ZU9m
ZnNldAogewogICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgIGNvbnRyb2xsZXIuQHF1ZXVlLkBwdXNo
KHsKKyAgICBjb250cm9sbGVyLkBxdWV1ZS5jb250ZW50LkBwdXNoKHsKICAgICAgICAgYnVmZmVy
OiBidWZmZXIsCiAgICAgICAgIGJ5dGVPZmZzZXQ6IGJ5dGVPZmZzZXQsCiAgICAgICAgIGJ5dGVM
ZW5ndGg6IGJ5dGVMZW5ndGgKICAgICB9KTsKLSAgICBjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5
dGVzICs9IGJ5dGVMZW5ndGg7CisgICAgY29udHJvbGxlci5AcXVldWUuc2l6ZSArPSBieXRlTGVu
Z3RoOwogfQogCiBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUmVzcG9uZFdp
dGhOZXdWaWV3KGNvbnRyb2xsZXIsIHZpZXcpCkBAIC00NzEsNyArNDY5LDcgQEAgZnVuY3Rpb24g
cmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclByb2Nlc3NQdWxsRGVzY3JpcHRvcnMoY29udHJv
bGxlcikKIAogICAgIEBhc3NlcnQoIWNvbnRyb2xsZXIuQGNsb3NlUmVxdWVzdGVkKTsKICAgICB3
aGlsZSAoY29udHJvbGxlci5AcGVuZGluZ1B1bGxJbnRvcy5sZW5ndGggPiAwKSB7Ci0gICAgICAg
IGlmIChjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzID09PSAwKQorICAgICAgICBpZiAoY29u
dHJvbGxlci5AcXVldWUuc2l6ZSA9PT0gMCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
bGV0IHB1bGxJbnRvRGVzY3JpcHRvciA9IGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3NbMF07
CiAgICAgICAgIGlmIChAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckZpbGxEZXNjcmlwdG9y
RnJvbVF1ZXVlKGNvbnRyb2xsZXIsIHB1bGxJbnRvRGVzY3JpcHRvcikpIHsKQEAgLTQ4Nyw4ICs0
ODUsOCBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0
b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbEludAogICAgICJ1c2Ugc3RyaWN0IjsKIAogICAg
IGNvbnN0IGN1cnJlbnRBbGlnbmVkQnl0ZXMgPSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxs
ZWQgLSAocHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkICUgcHVsbEludG9EZXNjcmlwdG9y
LmVsZW1lbnRTaXplKTsKLSAgICBjb25zdCBtYXhCeXRlc1RvQ29weSA9IGNvbnRyb2xsZXIuQHRv
dGFsUXVldWVkQnl0ZXMgPCBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZUxlbmd0aCAtIHB1bGxJbnRv
RGVzY3JpcHRvci5ieXRlc0ZpbGxlZCA/Ci0gICAgICAgICAgICAgICAgY29udHJvbGxlci5AdG90
YWxRdWV1ZWRCeXRlcyA6IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlTGVuZ3RoIC0gcHVsbEludG9E
ZXNjcmlwdG9yLmJ5dGVzRmlsbGVkOworICAgIGNvbnN0IG1heEJ5dGVzVG9Db3B5ID0gY29udHJv
bGxlci5AcXVldWUuc2l6ZSA8IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlTGVuZ3RoIC0gcHVsbElu
dG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkID8KKyAgICAgICAgICAgICAgICBjb250cm9sbGVyLkBx
dWV1ZS5zaXplIDogcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVMZW5ndGggLSBwdWxsSW50b0Rlc2Ny
aXB0b3IuYnl0ZXNGaWxsZWQ7CiAgICAgY29uc3QgbWF4Qnl0ZXNGaWxsZWQgPSBwdWxsSW50b0Rl
c2NyaXB0b3IuYnl0ZXNGaWxsZWQgKyBtYXhCeXRlc1RvQ29weTsKICAgICBjb25zdCBtYXhBbGln
bmVkQnl0ZXMgPSBtYXhCeXRlc0ZpbGxlZCAtIChtYXhCeXRlc0ZpbGxlZCAlIHB1bGxJbnRvRGVz
Y3JpcHRvci5lbGVtZW50U2l6ZSk7CiAgICAgbGV0IHRvdGFsQnl0ZXNUb0NvcHlSZW1haW5pbmcg
PSBtYXhCeXRlc1RvQ29weTsKQEAgLTUwMCw3ICs0OTgsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVs
bEludAogICAgIH0KIAogICAgIHdoaWxlICh0b3RhbEJ5dGVzVG9Db3B5UmVtYWluaW5nID4gMCkg
ewotICAgICAgICBsZXQgaGVhZE9mUXVldWUgPSBjb250cm9sbGVyLkBxdWV1ZVswXTsKKyAgICAg
ICAgbGV0IGhlYWRPZlF1ZXVlID0gY29udHJvbGxlci5AcXVldWUuY29udGVudFswXTsKICAgICAg
ICAgY29uc3QgYnl0ZXNUb0NvcHkgPSB0b3RhbEJ5dGVzVG9Db3B5UmVtYWluaW5nIDwgaGVhZE9m
UXVldWUuYnl0ZUxlbmd0aCA/IHRvdGFsQnl0ZXNUb0NvcHlSZW1haW5pbmcgOiBoZWFkT2ZRdWV1
ZS5ieXRlTGVuZ3RoOwogICAgICAgICAvLyBDb3B5IGFwcHJvcHJpYXRlIHBhcnQgb2YgcHVsbElu
dG9EZXNjcmlwdG9yLmJ1ZmZlciB0byBoZWFkT2ZRdWV1ZS5idWZmZXIuCiAgICAgICAgIC8vIFJl
bWFyazogdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgY29tcGxldGVseSBhbGlnbmVkIG9uIHRo
ZSBkZWZpbml0aW9uIG9mIENvcHlEYXRhQmxvY2tCeXRlcwpAQCAtNTE2LDEzICs1MTQsMTMgQEAg
ZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckZpbGxEZXNjcmlwdG9yRnJvbVF1
ZXVlKGNvbnRyb2xsZXIsIHB1bGxJbnQKICAgICAgICAgfQogCiAgICAgICAgIGlmIChoZWFkT2ZR
dWV1ZS5ieXRlTGVuZ3RoID09PSBieXRlc1RvQ29weSkKLSAgICAgICAgICAgIGNvbnRyb2xsZXIu
QHF1ZXVlLkBzaGlmdCgpOworICAgICAgICAgICAgY29udHJvbGxlci5AcXVldWUuY29udGVudC5A
c2hpZnQoKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBoZWFkT2ZRdWV1ZS5ieXRlT2Zm
c2V0ICs9IGJ5dGVzVG9Db3B5OwogICAgICAgICAgICAgaGVhZE9mUXVldWUuYnl0ZUxlbmd0aCAt
PSBieXRlc1RvQ29weTsKICAgICAgICAgfQogCi0gICAgICAgIGNvbnRyb2xsZXIuQHRvdGFsUXVl
dWVkQnl0ZXMgLT0gYnl0ZXNUb0NvcHk7CisgICAgICAgIGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUg
LT0gYnl0ZXNUb0NvcHk7CiAgICAgICAgIEBhc3NlcnQoY29udHJvbGxlci5AcGVuZGluZ1B1bGxJ
bnRvcy5sZW5ndGggPT09IDAgfHwgY29udHJvbGxlci5AcGVuZGluZ1B1bGxJbnRvc1swXSA9PT0g
cHVsbEludG9EZXNjcmlwdG9yKTsKICAgICAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXJJbnZhbGlkYXRlQllPQlJlcXVlc3QoY29udHJvbGxlcik7CiAgICAgICAgIHB1bGxJbnRvRGVz
Y3JpcHRvci5ieXRlc0ZpbGxlZCArPSBieXRlc1RvQ29weTsKQEAgLTUzMCw3ICs1MjgsNyBAQCBm
dW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVl
dWUoY29udHJvbGxlciwgcHVsbEludAogICAgIH0KIAogICAgIGlmICghcmVhZHkpIHsKLSAgICAg
ICAgQGFzc2VydChjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzID09PSAwKTsKKyAgICAgICAg
QGFzc2VydChjb250cm9sbGVyLkBxdWV1ZS5zaXplID09PSAwKTsKICAgICAgICAgQGFzc2VydChw
dWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgPiAwKTsKICAgICAgICAgQGFzc2VydChwdWxs
SW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgPCBwdWxsSW50b0Rlc2NyaXB0b3IuZWxlbWVudFNp
emUpOwogICAgIH0KQEAgLTY1OSw3ICs2NTcsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyUHVsbEludG8oY29udHJvbGxlciwgdmlldykKICAgICAgICAgcmV0dXJuIEBQ
cm9taXNlLkByZXNvbHZlKHsgdmFsdWU6IGVtcHR5VmlldywgZG9uZTogdHJ1ZSB9KTsKICAgICB9
CiAKLSAgICBpZiAoY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyA+IDApIHsKKyAgICBpZiAo
Y29udHJvbGxlci5AcXVldWUuc2l6ZSA+IDApIHsKICAgICAgICAgaWYgKEByZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbElu
dG9EZXNjcmlwdG9yKSkgewogICAgICAgICAgICAgY29uc3QgZmlsbGVkVmlldyA9IEByZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyQ29udmVydERlc2NyaXB0b3IocHVsbEludG9EZXNjcmlwdG9y
KTsKICAgICAgICAgICAgIEByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVySGFuZGxlUXVldWVE
cmFpbihjb250cm9sbGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
U3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4IGMyYTI5NjU0NGQ1MmYyNTJhNjk5MzY4M2NlZDlkYzZl
YjRlMDVhZjUuLmE2MGNmODg2YjNlN2FmYWRlNTRkNjA4ZjcxZjg0MTI3ZDJkNGM2NDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcwpA
QCAtMTA1LDYgKzEwNSw5IEBAIGZ1bmN0aW9uIGRlcXVldWVWYWx1ZShxdWV1ZSkKIAogICAgIGNv
bnN0IHJlY29yZCA9IHF1ZXVlLmNvbnRlbnQuQHNoaWZ0KCk7CiAgICAgcXVldWUuc2l6ZSAtPSBy
ZWNvcmQuc2l6ZTsKKyAgICAvLyBBcyBkZXNjcmliZWQgYnkgc3BlYywgYmVsb3cgY2FzZSBtYXkg
b2NjdXIgZHVlIHRvIHJvdW5kaW5nIGVycm9ycy4KKyAgICBpZiAocXVldWUuc2l6ZSA8IDApCisg
ICAgICAgIHF1ZXVlLnNpemUgPSAwOwogICAgIHJldHVybiByZWNvcmQudmFsdWU7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRl
eCA2ZjA4MWY4MjRiNmY2MWE1YjA2NjNkZWQ2MjU0MGZlMmU3MzE5OGViLi5mNjBmNjRhZmJmNjY0
ZjU1YjM0NTA2OTljMjU4M2E2MGQzOTAxNGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0yNjYsNyArMjY2LDYgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHN0cnVjdHVyZWRDbG9uZUFycmF5QnVmZmVyKSBcCiAg
ICAgbWFjcm8oc3RydWN0dXJlZENsb25lQXJyYXlCdWZmZXJWaWV3KSBcCiAgICAgbWFjcm8odG9w
KSBcCi0gICAgbWFjcm8odG90YWxRdWV1ZWRCeXRlcykgXAogICAgIG1hY3JvKHVuZGVybHlpbmdC
eXRlU291cmNlKSBcCiAgICAgbWFjcm8odW5kZXJseWluZ1NpbmspIFwKICAgICBtYWNybyh1bmRl
cmx5aW5nU291cmNlKSBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAzMThjYTli
MTU1ZWM5YWEwZmYxNjEyOGJjMWRkNWM4NGQ1MGY1NWQ2Li5kNTE2YzhlNmUyN2VlOWEwNDNjNjQ2
NGYxNzRhOTNiMDFjMDAwOThkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNy0xMC0xMiAgUm9tYWluIEJlbGxlc3NvcnQgIDxyb21haW4uYmVsbGVz
c29ydEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW1JlYWRhYmxlIFN0cmVhbXMgQVBJXSBBbGln
biBxdWV1ZSB3aXRoIHNwZWMgZm9yIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODA4MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFhhYmllciBSb2RyaWd1ZXotQ2FsdmFyLgorCisgICAgICAgIFVw
ZGF0ZWQgdGVzdCBleHBlY3RhdGlvbnMgZm9yIHRlc3RzIHRoYXQgd2VyZSBwcmV2aW91c2x5IGZh
aWxpbmcgYnV0IG5vdyBwYXNzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1z
dHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUuZGVkaWNhdGVkd29ya2VyLWV4
cGVjdGVkLnR4dDoKKwogMjAxNy0xMC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgogCiAgICAgICAgIFhNTEh0dHBSZXF1ZXN0OiBkbyBub3Qgc25pZmYgdGV4dC9odG1sLCBhbmQg
ZG8gbm90IHNuaWZmIFhNTCB3aGVuIHJlc3BvbnNlVHlwZSBpcyBzZXQgdG8gInRleHQiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3Ry
ZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUtZXhw
ZWN0ZWQudHh0CmluZGV4IGQwNTdhZjcxMWQyNTIzYjQ1YWZlZjg4YzE5YTgzYjcxZDMzZmEzZjgu
LmE3ZjE5N2U2MGMwOThjZDkxYmM0N2Y0NGI4OGZlZTgwNmExMDIyNzQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9y
ZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUtZXhwZWN0ZWQu
dHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVz
dCBtYW5pZmVzdCBuZWFyIE5VTUJFUi5NQVhfU0FGRV9JTlRFR0VSICh0b3RhbCBlbmRzIHVwIHBv
c2l0aXZlKSBhc3NlcnRfZXF1YWxzOiBbW3F1ZXVlVG90YWxTaXplXV0gbXVzdCBjbGFtcCB0byAw
IGlmIGl0IGJlY29tZXMgbmVnYXRpdmUgZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwgRmxvYXRp
bmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCBw
b3NpdGl2ZSwgYnV0IGNsYW1wZWQpIGFzc2VydF9lcXVhbHM6IFtbcXVldWVUb3RhbFNpemVdXSBt
dXN0IGNsYW1wIHRvIDAgaWYgaXQgYmVjb21lcyBuZWdhdGl2ZSBleHBlY3RlZCAwIGJ1dCBnb3Qg
MS4xMTAyMjMwMjQ2MjUxNTY1ZS0xNgorUEFTUyBGbG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11
c3QgbWFuaWZlc3QgbmVhciBOVU1CRVIuTUFYX1NBRkVfSU5URUdFUiAodG90YWwgZW5kcyB1cCBw
b3NpdGl2ZSkgCitQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBu
ZWFyIDAgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUsIGJ1dCBjbGFtcGVkKSAKIFBBU1MgRmxvYXRp
bmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCBw
b3NpdGl2ZSwgYW5kIG5vdCBjbGFtcGVkKSAKIFBBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRp
YyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCB6ZXJvKSAKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3Jl
YWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS5kZWRpY2F0ZWR3
b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVl
dWUtc2l6ZS5kZWRpY2F0ZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGQwNTdhZjcxMWQyNTIz
YjQ1YWZlZjg4YzE5YTgzYjcxZDMzZmEzZjguLmE3ZjE5N2U2MGMwOThjZDkxYmM0N2Y0NGI4OGZl
ZTgwNmExMDIyNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFs
LXF1ZXVlLXNpemUuZGVkaWNhdGVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFt
cy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLmRlZGljYXRlZHdvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBt
dXN0IG1hbmlmZXN0IG5lYXIgTlVNQkVSLk1BWF9TQUZFX0lOVEVHRVIgKHRvdGFsIGVuZHMgdXAg
cG9zaXRpdmUpIGFzc2VydF9lcXVhbHM6IFtbcXVldWVUb3RhbFNpemVdXSBtdXN0IGNsYW1wIHRv
IDAgaWYgaXQgYmVjb21lcyBuZWdhdGl2ZSBleHBlY3RlZCAwIGJ1dCBnb3QgMQotRkFJTCBGbG9h
dGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRzIHVw
IHBvc2l0aXZlLCBidXQgY2xhbXBlZCkgYXNzZXJ0X2VxdWFsczogW1txdWV1ZVRvdGFsU2l6ZV1d
IG11c3QgY2xhbXAgdG8gMCBpZiBpdCBiZWNvbWVzIG5lZ2F0aXZlIGV4cGVjdGVkIDAgYnV0IGdv
dCAxLjExMDIyMzAyNDYyNTE1NjVlLTE2CitQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMg
bXVzdCBtYW5pZmVzdCBuZWFyIE5VTUJFUi5NQVhfU0FGRV9JTlRFR0VSICh0b3RhbCBlbmRzIHVw
IHBvc2l0aXZlKSAKK1BBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0
IG5lYXIgMCAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSwgYnV0IGNsYW1wZWQpIAogUEFTUyBGbG9h
dGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRzIHVw
IHBvc2l0aXZlLCBhbmQgbm90IGNsYW1wZWQpIAogUEFTUyBGbG9hdGluZyBwb2ludCBhcml0aG1l
dGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRzIHVwIHplcm8pIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323530</attachid>
            <date>2017-10-12 09:12:47 -0700</date>
            <delta_ts>2017-10-13 00:59:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178082-20171012181246.patch</filename>
            <type>text/plain</type>
            <size>15097</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTY1YTI2MWMzZWFmOGFm
NGY0YjhjNzk3ZTk4MjNjNTAzMzBmMTBjYy4uYTEwNTU0YmIzODMyNjViNjUwNDhjOGNjNzk3ZDVj
NWIxODNmMDk2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE3LTEwLTEyICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEFsaWduIHF1ZXVlIHdpdGggc3BlYyBmb3IgUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJv
ZHJpZ3Vlei1DYWx2YXIuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgbmV3IHF1ZXVlIGJlaGF2aW9y
IGZvciBkZXF1ZXVlVmFsdWUgKHVzZWQgYnkgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
ciksCisgICAgICAgIHdoaWNoIGZpeGVzIHJvdW5kaW5nIGVycm9ycyAoYXMgZGVzY3JpYmVkIGlu
IGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvc3RyZWFtcy9wdWxsLzY2MSkuCisgICAgICAgIEFs
c28gYWxpZ25lZCBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIHF1ZXVlIHNvIHRoYXQgYm90
aCBxdWV1ZXMgYXJlIGltcGxlbWVudGVkIGluCisgICAgICAgIHRoZSBzYW1lIHdheS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgKGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMsIGVzcGVjaWFsbHkg
V1BUIHRlc3RzIHRoYXQgbm93IHBhc3MpLgorCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qczoKKyAgICAgICAgKHByaXZhdGVJbml0aWFsaXpl
UmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcik6IEFsaWduZWQgcXVldWUgd2l0aCBSU0RDLgor
ICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbmNlbCk6IEFsaWduZWQgcXVl
dWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9y
KTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1D
b250cm9sbGVyQ2xvc2UpOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKHJlYWRh
YmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJIYW5kbGVRdWV1ZURyYWluKTogQWxpZ25lZCBxdWV1ZSB3
aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHVsbCk6IEFs
aWduZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJv
bGxlckVucXVldWUpOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKHJlYWRhYmxl
Qnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlQ2h1bmspOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNE
Qy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQcm9jZXNzUHVsbERlc2Ny
aXB0b3JzKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVldWUpOiBBbGlnbmVkIHF1ZXVlIHdp
dGggUlNEQy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQdWxsSW50byk6
IEFsaWduZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9TdHJl
YW1JbnRlcm5hbHMuanM6CisgICAgICAgIChkZXF1ZXVlVmFsdWUpOiBVcGRhdGVkIHRvIG1hdGNo
IHNwZWMuCisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOiBSZW1v
dmVkIG5vdyB1c2VsZXNzICJ0b3RhbFF1ZXVlZEJ5dGVzIi4KKwogMjAxNy0xMC0xMSAgQnJlbnQg
RnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0IG51bGxwdHIg
ZGVyZWYgaW4gc2VsZWN0aW9uIGhhbmRsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHMuanMKaW5k
ZXggZGM0NTI0NzRmZTcyZmVkNjM1OWFlYWEwMzEzY2I0ZjU0NWNlNTgxMS4uMTZjYTU3MmZhYmQ4
ZmQ3MzlhZGVlMGY1Zjc4MmI4NGQyZDYwN2ZlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpz
CkBAIC01OSw4ICs1OSw3IEBAIGZ1bmN0aW9uIHByaXZhdGVJbml0aWFsaXplUmVhZGFibGVCeXRl
U3RyZWFtQ29udHJvbGxlcihzdHJlYW0sIHVuZGVybHlpbmdCeXRlU291CiAgICAgdGhpcy5AcHVs
bEFnYWluID0gZmFsc2U7CiAgICAgdGhpcy5AcHVsbGluZyA9IGZhbHNlOwogICAgIEByZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xlYXJQZW5kaW5nUHVsbEludG9zKHRoaXMpOwotICAgIHRo
aXMuQHF1ZXVlID0gW107Ci0gICAgdGhpcy5AdG90YWxRdWV1ZWRCeXRlcyA9IDA7CisgICAgdGhp
cy5AcXVldWUgPSBAbmV3UXVldWUoKTsKICAgICB0aGlzLkBzdGFydGVkID0gZmFsc2U7CiAgICAg
dGhpcy5AY2xvc2VSZXF1ZXN0ZWQgPSBmYWxzZTsKIApAQCAtMTM3LDggKzEzNiw3IEBAIGZ1bmN0
aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYW5jZWwoY29udHJvbGxlciwgcmVhc29u
KQogCiAgICAgaWYgKGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3MubGVuZ3RoID4gMCkKICAg
ICAgICAgY29udHJvbGxlci5AcGVuZGluZ1B1bGxJbnRvc1swXS5ieXRlc0ZpbGxlZCA9IDA7Ci0g
ICAgY29udHJvbGxlci5AcXVldWUgPSBbXTsKLSAgICBjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5
dGVzID0gMDsKKyAgICBjb250cm9sbGVyLkBxdWV1ZSA9IEBuZXdRdWV1ZSgpOwogICAgIHJldHVy
biBAcHJvbWlzZUludm9rZU9yTm9vcChjb250cm9sbGVyLkB1bmRlcmx5aW5nQnl0ZVNvdXJjZSwg
ImNhbmNlbCIsIFtyZWFzb25dKTsKIH0KIApAQCAtMTQ4LDcgKzE0Niw3IEBAIGZ1bmN0aW9uIHJl
YWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJvcihjb250cm9sbGVyLCBlKQogCiAgICAgQGFz
c2VydChjb250cm9sbGVyLkBjb250cm9sbGVkUmVhZGFibGVTdHJlYW0uQHN0YXRlID09PSBAc3Ry
ZWFtUmVhZGFibGUpOwogICAgIEByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xlYXJQZW5k
aW5nUHVsbEludG9zKGNvbnRyb2xsZXIpOwotICAgIGNvbnRyb2xsZXIuQHF1ZXVlID0gW107Cisg
ICAgY29udHJvbGxlci5AcXVldWUgPSBAbmV3UXVldWUoKTsKICAgICBAcmVhZGFibGVTdHJlYW1F
cnJvcihjb250cm9sbGVyLkBjb250cm9sbGVkUmVhZGFibGVTdHJlYW0sIGUpOwogfQogCkBAIC0x
NTksNyArMTU3LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsb3Nl
KGNvbnRyb2xsZXIpCiAgICAgQGFzc2VydCghY29udHJvbGxlci5AY2xvc2VSZXF1ZXN0ZWQpOwog
ICAgIEBhc3NlcnQoY29udHJvbGxlci5AY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtLkBzdGF0ZSA9
PT0gQHN0cmVhbVJlYWRhYmxlKTsKIAotICAgIGlmIChjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5
dGVzID4gMCkgeworICAgIGlmIChjb250cm9sbGVyLkBxdWV1ZS5zaXplID4gMCkgewogICAgICAg
ICBjb250cm9sbGVyLkBjbG9zZVJlcXVlc3RlZCA9IHRydWU7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CkBAIC0xOTQsNyArMTkyLDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJv
bGxlckdldERlc2lyZWRTaXplKGNvbnRyb2xsZXIpCiAgICBpZiAoc3RyZWFtLkBzdGF0ZSA9PT0g
QHN0cmVhbUNsb3NlZCkKICAgICAgICByZXR1cm4gMDsKIAotICAgcmV0dXJuIGNvbnRyb2xsZXIu
QHN0cmF0ZWd5SFdNIC0gY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlczsKKyAgIHJldHVybiBj
b250cm9sbGVyLkBzdHJhdGVneUhXTSAtIGNvbnRyb2xsZXIuQHF1ZXVlLnNpemU7CiB9CiAKIGZ1
bmN0aW9uIHJlYWRhYmxlU3RyZWFtSGFzQllPQlJlYWRlcihzdHJlYW0pCkBAIC0yMTYsNyArMjE0
LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckhhbmRsZVF1ZXVlRHJh
aW4oY29udHJvbGxlcikgewogICAgICJ1c2Ugc3RyaWN0IjsKIAogICAgIEBhc3NlcnQoY29udHJv
bGxlci5AY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtLkBzdGF0ZSA9PT0gQHN0cmVhbVJlYWRhYmxl
KTsKLSAgICBpZiAoIWNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgJiYgY29udHJvbGxlci5A
Y2xvc2VSZXF1ZXN0ZWQpCisgICAgaWYgKCFjb250cm9sbGVyLkBxdWV1ZS5zaXplICYmIGNvbnRy
b2xsZXIuQGNsb3NlUmVxdWVzdGVkKQogICAgICAgICBAcmVhZGFibGVTdHJlYW1DbG9zZShjb250
cm9sbGVyLkBjb250cm9sbGVkUmVhZGFibGVTdHJlYW0pOwogICAgIGVsc2UKICAgICAgICAgQHJl
YWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKGNvbnRyb2xsZXIpOwpA
QCAtMjI5LDEwICsyMjcsMTAgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
clB1bGwoY29udHJvbGxlcikKICAgICBjb25zdCBzdHJlYW0gPSBjb250cm9sbGVyLkBjb250cm9s
bGVkUmVhZGFibGVTdHJlYW07CiAgICAgQGFzc2VydChAcmVhZGFibGVTdHJlYW1IYXNEZWZhdWx0
UmVhZGVyKHN0cmVhbSkpOwogCi0gICAgaWYgKGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMg
PiAwKSB7CisgICAgaWYgKGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUgPiAwKSB7CiAgICAgICAgIEBh
c3NlcnQoc3RyZWFtLkByZWFkZXIuQHJlYWRSZXF1ZXN0cy5sZW5ndGggPT09IDApOwotICAgICAg
ICBjb25zdCBlbnRyeSA9IGNvbnRyb2xsZXIuQHF1ZXVlLkBzaGlmdCgpOwotICAgICAgICBjb250
cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzIC09IGVudHJ5LmJ5dGVMZW5ndGg7CisgICAgICAgIGNv
bnN0IGVudHJ5ID0gY29udHJvbGxlci5AcXVldWUuY29udGVudC5Ac2hpZnQoKTsKKyAgICAgICAg
Y29udHJvbGxlci5AcXVldWUuc2l6ZSAtPSBlbnRyeS5ieXRlTGVuZ3RoOwogICAgICAgICBAcmVh
ZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckhhbmRsZVF1ZXVlRHJhaW4oY29udHJvbGxlcik7CiAg
ICAgICAgIGxldCB2aWV3OwogICAgICAgICB0cnkgewpAQCAtMzQxLDcgKzMzOSw3IEBAIGZ1bmN0
aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlKGNvbnRyb2xsZXIsIGNodW5r
KQogICAgICAgICBpZiAoIXN0cmVhbS5AcmVhZGVyLkByZWFkUmVxdWVzdHMubGVuZ3RoKQogICAg
ICAgICAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlQ2h1bmsoY29udHJv
bGxlciwgdHJhbnNmZXJyZWRCdWZmZXIsIGJ5dGVPZmZzZXQsIGJ5dGVMZW5ndGgpOwogICAgICAg
ICBlbHNlIHsKLSAgICAgICAgICAgIEBhc3NlcnQoIWNvbnRyb2xsZXIuQHF1ZXVlLmxlbmd0aCk7
CisgICAgICAgICAgICBAYXNzZXJ0KCFjb250cm9sbGVyLkBxdWV1ZS5jb250ZW50Lmxlbmd0aCk7
CiAgICAgICAgICAgICBsZXQgdHJhbnNmZXJyZWRWaWV3ID0gbmV3IEBVaW50OEFycmF5KHRyYW5z
ZmVycmVkQnVmZmVyLCBieXRlT2Zmc2V0LCBieXRlTGVuZ3RoKTsKICAgICAgICAgICAgIEByZWFk
YWJsZVN0cmVhbUZ1bGZpbGxSZWFkUmVxdWVzdChzdHJlYW0sIHRyYW5zZmVycmVkVmlldywgZmFs
c2UpOwogICAgICAgICB9CkBAIC0zNjMsMTIgKzM2MSwxMiBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVyRW5xdWV1ZUNodW5rKGNvbnRyb2xsZXIsIGJ1ZmZlciwgYnl0ZU9m
ZnNldAogewogICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgIGNvbnRyb2xsZXIuQHF1ZXVlLkBwdXNo
KHsKKyAgICBjb250cm9sbGVyLkBxdWV1ZS5jb250ZW50LkBwdXNoKHsKICAgICAgICAgYnVmZmVy
OiBidWZmZXIsCiAgICAgICAgIGJ5dGVPZmZzZXQ6IGJ5dGVPZmZzZXQsCiAgICAgICAgIGJ5dGVM
ZW5ndGg6IGJ5dGVMZW5ndGgKICAgICB9KTsKLSAgICBjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5
dGVzICs9IGJ5dGVMZW5ndGg7CisgICAgY29udHJvbGxlci5AcXVldWUuc2l6ZSArPSBieXRlTGVu
Z3RoOwogfQogCiBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUmVzcG9uZFdp
dGhOZXdWaWV3KGNvbnRyb2xsZXIsIHZpZXcpCkBAIC00NzEsNyArNDY5LDcgQEAgZnVuY3Rpb24g
cmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclByb2Nlc3NQdWxsRGVzY3JpcHRvcnMoY29udHJv
bGxlcikKIAogICAgIEBhc3NlcnQoIWNvbnRyb2xsZXIuQGNsb3NlUmVxdWVzdGVkKTsKICAgICB3
aGlsZSAoY29udHJvbGxlci5AcGVuZGluZ1B1bGxJbnRvcy5sZW5ndGggPiAwKSB7Ci0gICAgICAg
IGlmIChjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzID09PSAwKQorICAgICAgICBpZiAoY29u
dHJvbGxlci5AcXVldWUuc2l6ZSA9PT0gMCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
bGV0IHB1bGxJbnRvRGVzY3JpcHRvciA9IGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3NbMF07
CiAgICAgICAgIGlmIChAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckZpbGxEZXNjcmlwdG9y
RnJvbVF1ZXVlKGNvbnRyb2xsZXIsIHB1bGxJbnRvRGVzY3JpcHRvcikpIHsKQEAgLTQ4Nyw4ICs0
ODUsOCBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0
b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbEludAogICAgICJ1c2Ugc3RyaWN0IjsKIAogICAg
IGNvbnN0IGN1cnJlbnRBbGlnbmVkQnl0ZXMgPSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxs
ZWQgLSAocHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkICUgcHVsbEludG9EZXNjcmlwdG9y
LmVsZW1lbnRTaXplKTsKLSAgICBjb25zdCBtYXhCeXRlc1RvQ29weSA9IGNvbnRyb2xsZXIuQHRv
dGFsUXVldWVkQnl0ZXMgPCBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZUxlbmd0aCAtIHB1bGxJbnRv
RGVzY3JpcHRvci5ieXRlc0ZpbGxlZCA/Ci0gICAgICAgICAgICAgICAgY29udHJvbGxlci5AdG90
YWxRdWV1ZWRCeXRlcyA6IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlTGVuZ3RoIC0gcHVsbEludG9E
ZXNjcmlwdG9yLmJ5dGVzRmlsbGVkOworICAgIGNvbnN0IG1heEJ5dGVzVG9Db3B5ID0gY29udHJv
bGxlci5AcXVldWUuc2l6ZSA8IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlTGVuZ3RoIC0gcHVsbElu
dG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkID8KKyAgICAgICAgICAgICAgICBjb250cm9sbGVyLkBx
dWV1ZS5zaXplIDogcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVMZW5ndGggLSBwdWxsSW50b0Rlc2Ny
aXB0b3IuYnl0ZXNGaWxsZWQ7CiAgICAgY29uc3QgbWF4Qnl0ZXNGaWxsZWQgPSBwdWxsSW50b0Rl
c2NyaXB0b3IuYnl0ZXNGaWxsZWQgKyBtYXhCeXRlc1RvQ29weTsKICAgICBjb25zdCBtYXhBbGln
bmVkQnl0ZXMgPSBtYXhCeXRlc0ZpbGxlZCAtIChtYXhCeXRlc0ZpbGxlZCAlIHB1bGxJbnRvRGVz
Y3JpcHRvci5lbGVtZW50U2l6ZSk7CiAgICAgbGV0IHRvdGFsQnl0ZXNUb0NvcHlSZW1haW5pbmcg
PSBtYXhCeXRlc1RvQ29weTsKQEAgLTUwMCw3ICs0OTgsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVs
bEludAogICAgIH0KIAogICAgIHdoaWxlICh0b3RhbEJ5dGVzVG9Db3B5UmVtYWluaW5nID4gMCkg
ewotICAgICAgICBsZXQgaGVhZE9mUXVldWUgPSBjb250cm9sbGVyLkBxdWV1ZVswXTsKKyAgICAg
ICAgbGV0IGhlYWRPZlF1ZXVlID0gY29udHJvbGxlci5AcXVldWUuY29udGVudFswXTsKICAgICAg
ICAgY29uc3QgYnl0ZXNUb0NvcHkgPSB0b3RhbEJ5dGVzVG9Db3B5UmVtYWluaW5nIDwgaGVhZE9m
UXVldWUuYnl0ZUxlbmd0aCA/IHRvdGFsQnl0ZXNUb0NvcHlSZW1haW5pbmcgOiBoZWFkT2ZRdWV1
ZS5ieXRlTGVuZ3RoOwogICAgICAgICAvLyBDb3B5IGFwcHJvcHJpYXRlIHBhcnQgb2YgcHVsbElu
dG9EZXNjcmlwdG9yLmJ1ZmZlciB0byBoZWFkT2ZRdWV1ZS5idWZmZXIuCiAgICAgICAgIC8vIFJl
bWFyazogdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgY29tcGxldGVseSBhbGlnbmVkIG9uIHRo
ZSBkZWZpbml0aW9uIG9mIENvcHlEYXRhQmxvY2tCeXRlcwpAQCAtNTE2LDEzICs1MTQsMTMgQEAg
ZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckZpbGxEZXNjcmlwdG9yRnJvbVF1
ZXVlKGNvbnRyb2xsZXIsIHB1bGxJbnQKICAgICAgICAgfQogCiAgICAgICAgIGlmIChoZWFkT2ZR
dWV1ZS5ieXRlTGVuZ3RoID09PSBieXRlc1RvQ29weSkKLSAgICAgICAgICAgIGNvbnRyb2xsZXIu
QHF1ZXVlLkBzaGlmdCgpOworICAgICAgICAgICAgY29udHJvbGxlci5AcXVldWUuY29udGVudC5A
c2hpZnQoKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBoZWFkT2ZRdWV1ZS5ieXRlT2Zm
c2V0ICs9IGJ5dGVzVG9Db3B5OwogICAgICAgICAgICAgaGVhZE9mUXVldWUuYnl0ZUxlbmd0aCAt
PSBieXRlc1RvQ29weTsKICAgICAgICAgfQogCi0gICAgICAgIGNvbnRyb2xsZXIuQHRvdGFsUXVl
dWVkQnl0ZXMgLT0gYnl0ZXNUb0NvcHk7CisgICAgICAgIGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUg
LT0gYnl0ZXNUb0NvcHk7CiAgICAgICAgIEBhc3NlcnQoY29udHJvbGxlci5AcGVuZGluZ1B1bGxJ
bnRvcy5sZW5ndGggPT09IDAgfHwgY29udHJvbGxlci5AcGVuZGluZ1B1bGxJbnRvc1swXSA9PT0g
cHVsbEludG9EZXNjcmlwdG9yKTsKICAgICAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXJJbnZhbGlkYXRlQllPQlJlcXVlc3QoY29udHJvbGxlcik7CiAgICAgICAgIHB1bGxJbnRvRGVz
Y3JpcHRvci5ieXRlc0ZpbGxlZCArPSBieXRlc1RvQ29weTsKQEAgLTUzMCw3ICs1MjgsNyBAQCBm
dW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVl
dWUoY29udHJvbGxlciwgcHVsbEludAogICAgIH0KIAogICAgIGlmICghcmVhZHkpIHsKLSAgICAg
ICAgQGFzc2VydChjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzID09PSAwKTsKKyAgICAgICAg
QGFzc2VydChjb250cm9sbGVyLkBxdWV1ZS5zaXplID09PSAwKTsKICAgICAgICAgQGFzc2VydChw
dWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgPiAwKTsKICAgICAgICAgQGFzc2VydChwdWxs
SW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgPCBwdWxsSW50b0Rlc2NyaXB0b3IuZWxlbWVudFNp
emUpOwogICAgIH0KQEAgLTY1OSw3ICs2NTcsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyUHVsbEludG8oY29udHJvbGxlciwgdmlldykKICAgICAgICAgcmV0dXJuIEBQ
cm9taXNlLkByZXNvbHZlKHsgdmFsdWU6IGVtcHR5VmlldywgZG9uZTogdHJ1ZSB9KTsKICAgICB9
CiAKLSAgICBpZiAoY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyA+IDApIHsKKyAgICBpZiAo
Y29udHJvbGxlci5AcXVldWUuc2l6ZSA+IDApIHsKICAgICAgICAgaWYgKEByZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbElu
dG9EZXNjcmlwdG9yKSkgewogICAgICAgICAgICAgY29uc3QgZmlsbGVkVmlldyA9IEByZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyQ29udmVydERlc2NyaXB0b3IocHVsbEludG9EZXNjcmlwdG9y
KTsKICAgICAgICAgICAgIEByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVySGFuZGxlUXVldWVE
cmFpbihjb250cm9sbGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
U3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4IGMyYTI5NjU0NGQ1MmYyNTJhNjk5MzY4M2NlZDlkYzZl
YjRlMDVhZjUuLmE2MGNmODg2YjNlN2FmYWRlNTRkNjA4ZjcxZjg0MTI3ZDJkNGM2NDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcwpA
QCAtMTA1LDYgKzEwNSw5IEBAIGZ1bmN0aW9uIGRlcXVldWVWYWx1ZShxdWV1ZSkKIAogICAgIGNv
bnN0IHJlY29yZCA9IHF1ZXVlLmNvbnRlbnQuQHNoaWZ0KCk7CiAgICAgcXVldWUuc2l6ZSAtPSBy
ZWNvcmQuc2l6ZTsKKyAgICAvLyBBcyBkZXNjcmliZWQgYnkgc3BlYywgYmVsb3cgY2FzZSBtYXkg
b2NjdXIgZHVlIHRvIHJvdW5kaW5nIGVycm9ycy4KKyAgICBpZiAocXVldWUuc2l6ZSA8IDApCisg
ICAgICAgIHF1ZXVlLnNpemUgPSAwOwogICAgIHJldHVybiByZWNvcmQudmFsdWU7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRl
eCA2ZjA4MWY4MjRiNmY2MWE1YjA2NjNkZWQ2MjU0MGZlMmU3MzE5OGViLi5mNjBmNjRhZmJmNjY0
ZjU1YjM0NTA2OTljMjU4M2E2MGQzOTAxNGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0yNjYsNyArMjY2LDYgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHN0cnVjdHVyZWRDbG9uZUFycmF5QnVmZmVyKSBcCiAg
ICAgbWFjcm8oc3RydWN0dXJlZENsb25lQXJyYXlCdWZmZXJWaWV3KSBcCiAgICAgbWFjcm8odG9w
KSBcCi0gICAgbWFjcm8odG90YWxRdWV1ZWRCeXRlcykgXAogICAgIG1hY3JvKHVuZGVybHlpbmdC
eXRlU291cmNlKSBcCiAgICAgbWFjcm8odW5kZXJseWluZ1NpbmspIFwKICAgICBtYWNybyh1bmRl
cmx5aW5nU291cmNlKSBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAzMThjYTli
MTU1ZWM5YWEwZmYxNjEyOGJjMWRkNWM4NGQ1MGY1NWQ2Li5kNTE2YzhlNmUyN2VlOWEwNDNjNjQ2
NGYxNzRhOTNiMDFjMDAwOThkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNy0xMC0xMiAgUm9tYWluIEJlbGxlc3NvcnQgIDxyb21haW4uYmVsbGVz
c29ydEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW1JlYWRhYmxlIFN0cmVhbXMgQVBJXSBBbGln
biBxdWV1ZSB3aXRoIHNwZWMgZm9yIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODA4MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFhhYmllciBSb2RyaWd1ZXotQ2FsdmFyLgorCisgICAgICAgIFVw
ZGF0ZWQgdGVzdCBleHBlY3RhdGlvbnMgZm9yIHRlc3RzIHRoYXQgd2VyZSBwcmV2aW91c2x5IGZh
aWxpbmcgYnV0IG5vdyBwYXNzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1z
dHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUuZGVkaWNhdGVkd29ya2VyLWV4
cGVjdGVkLnR4dDoKKwogMjAxNy0xMC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgogCiAgICAgICAgIFhNTEh0dHBSZXF1ZXN0OiBkbyBub3Qgc25pZmYgdGV4dC9odG1sLCBhbmQg
ZG8gbm90IHNuaWZmIFhNTCB3aGVuIHJlc3BvbnNlVHlwZSBpcyBzZXQgdG8gInRleHQiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3Ry
ZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUtZXhw
ZWN0ZWQudHh0CmluZGV4IGQwNTdhZjcxMWQyNTIzYjQ1YWZlZjg4YzE5YTgzYjcxZDMzZmEzZjgu
LmE3ZjE5N2U2MGMwOThjZDkxYmM0N2Y0NGI4OGZlZTgwNmExMDIyNzQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9y
ZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUtZXhwZWN0ZWQu
dHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVz
dCBtYW5pZmVzdCBuZWFyIE5VTUJFUi5NQVhfU0FGRV9JTlRFR0VSICh0b3RhbCBlbmRzIHVwIHBv
c2l0aXZlKSBhc3NlcnRfZXF1YWxzOiBbW3F1ZXVlVG90YWxTaXplXV0gbXVzdCBjbGFtcCB0byAw
IGlmIGl0IGJlY29tZXMgbmVnYXRpdmUgZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwgRmxvYXRp
bmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCBw
b3NpdGl2ZSwgYnV0IGNsYW1wZWQpIGFzc2VydF9lcXVhbHM6IFtbcXVldWVUb3RhbFNpemVdXSBt
dXN0IGNsYW1wIHRvIDAgaWYgaXQgYmVjb21lcyBuZWdhdGl2ZSBleHBlY3RlZCAwIGJ1dCBnb3Qg
MS4xMTAyMjMwMjQ2MjUxNTY1ZS0xNgorUEFTUyBGbG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11
c3QgbWFuaWZlc3QgbmVhciBOVU1CRVIuTUFYX1NBRkVfSU5URUdFUiAodG90YWwgZW5kcyB1cCBw
b3NpdGl2ZSkgCitQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBtYW5pZmVzdCBu
ZWFyIDAgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUsIGJ1dCBjbGFtcGVkKSAKIFBBU1MgRmxvYXRp
bmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCBw
b3NpdGl2ZSwgYW5kIG5vdCBjbGFtcGVkKSAKIFBBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRp
YyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCB6ZXJvKSAKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3Jl
YWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS5kZWRpY2F0ZWR3
b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVl
dWUtc2l6ZS5kZWRpY2F0ZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGQwNTdhZjcxMWQyNTIz
YjQ1YWZlZjg4YzE5YTgzYjcxZDMzZmEzZjguLmE3ZjE5N2U2MGMwOThjZDkxYmM0N2Y0NGI4OGZl
ZTgwNmExMDIyNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFs
LXF1ZXVlLXNpemUuZGVkaWNhdGVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFt
cy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLmRlZGljYXRlZHdvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBt
dXN0IG1hbmlmZXN0IG5lYXIgTlVNQkVSLk1BWF9TQUZFX0lOVEVHRVIgKHRvdGFsIGVuZHMgdXAg
cG9zaXRpdmUpIGFzc2VydF9lcXVhbHM6IFtbcXVldWVUb3RhbFNpemVdXSBtdXN0IGNsYW1wIHRv
IDAgaWYgaXQgYmVjb21lcyBuZWdhdGl2ZSBleHBlY3RlZCAwIGJ1dCBnb3QgMQotRkFJTCBGbG9h
dGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRzIHVw
IHBvc2l0aXZlLCBidXQgY2xhbXBlZCkgYXNzZXJ0X2VxdWFsczogW1txdWV1ZVRvdGFsU2l6ZV1d
IG11c3QgY2xhbXAgdG8gMCBpZiBpdCBiZWNvbWVzIG5lZ2F0aXZlIGV4cGVjdGVkIDAgYnV0IGdv
dCAxLjExMDIyMzAyNDYyNTE1NjVlLTE2CitQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMg
bXVzdCBtYW5pZmVzdCBuZWFyIE5VTUJFUi5NQVhfU0FGRV9JTlRFR0VSICh0b3RhbCBlbmRzIHVw
IHBvc2l0aXZlKSAKK1BBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0
IG5lYXIgMCAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSwgYnV0IGNsYW1wZWQpIAogUEFTUyBGbG9h
dGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRzIHVw
IHBvc2l0aXZlLCBhbmQgbm90IGNsYW1wZWQpIAogUEFTUyBGbG9hdGluZyBwb2ludCBhcml0aG1l
dGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRzIHVwIHplcm8pIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323646</attachid>
            <date>2017-10-13 01:00:01 -0700</date>
            <delta_ts>2017-10-13 02:22:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178082-20171013100000.patch</filename>
            <type>text/plain</type>
            <size>15106</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMjc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGQwNWEwMzkxOTIxYzA5
ODAwYzU4NTRiNjkxZmVmMGRhNGI3MzA3OC4uZjA0YjY1YzQyMWI5ZTBkYWFlODRiMjI4M2I3OWM2
ZTUxNDRmNmEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE3LTEwLTEzICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEFsaWduIHF1ZXVlIHdpdGggc3BlYyBmb3IgUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJv
ZHJpZ3Vlei1DYWx2YXIuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgbmV3IHF1ZXVlIGJlaGF2aW9y
IGZvciBkZXF1ZXVlVmFsdWUgKHVzZWQgYnkgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
ciksCisgICAgICAgIHdoaWNoIGZpeGVzIHJvdW5kaW5nIGVycm9ycyAoYXMgZGVzY3JpYmVkIGlu
IGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvc3RyZWFtcy9wdWxsLzY2MSkuCisgICAgICAgIEFs
c28gYWxpZ25lZCBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIHF1ZXVlIHNvIHRoYXQgYm90
aCBxdWV1ZXMgYXJlIGltcGxlbWVudGVkIGluCisgICAgICAgIHRoZSBzYW1lIHdheS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgKGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMsIGVzcGVjaWFsbHkg
V1BUIHRlc3RzIHRoYXQgbm93IHBhc3MpLgorCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qczoKKyAgICAgICAgKHByaXZhdGVJbml0aWFsaXpl
UmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcik6IEFsaWduZWQgcXVldWUgd2l0aCBSU0RDLgor
ICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbmNlbCk6IEFsaWduZWQgcXVl
dWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9y
KTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1D
b250cm9sbGVyQ2xvc2UpOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKHJlYWRh
YmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJIYW5kbGVRdWV1ZURyYWluKTogQWxpZ25lZCBxdWV1ZSB3
aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHVsbCk6IEFs
aWduZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJv
bGxlckVucXVldWUpOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNEQy4KKyAgICAgICAgKHJlYWRhYmxl
Qnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlQ2h1bmspOiBBbGlnbmVkIHF1ZXVlIHdpdGggUlNE
Qy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQcm9jZXNzUHVsbERlc2Ny
aXB0b3JzKTogQWxpZ25lZCBxdWV1ZSB3aXRoIFJTREMuCisgICAgICAgIChyZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVldWUpOiBBbGlnbmVkIHF1ZXVlIHdp
dGggUlNEQy4KKyAgICAgICAgKHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQdWxsSW50byk6
IEFsaWduZWQgcXVldWUgd2l0aCBSU0RDLgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9TdHJl
YW1JbnRlcm5hbHMuanM6CisgICAgICAgIChkZXF1ZXVlVmFsdWUpOiBVcGRhdGVkIHRvIG1hdGNo
IHNwZWMuCisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOiBSZW1v
dmVkIG5vdyB1c2VsZXNzICJ0b3RhbFF1ZXVlZEJ5dGVzIi4KKwogMjAxNy0xMC0xMyAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICAidGV4dC9odG1sIiBk
YXRhIGlzIG5vdCBleHBvc2VkIHdoZW4gZHJhZ2dpbmcgYW5kIGRyb3BwaW5nIGFjcm9zcyBvcmln
aW5zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVC
eXRlU3RyZWFtSW50ZXJuYWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcwppbmRleCBkYzQ1MjQ3NGZlNzJmZWQ2MzU5YWVh
YTAzMTNjYjRmNTQ1Y2U1ODExLi4xNmNhNTcyZmFiZDhmZDczOWFkZWUwZjVmNzgyYjg0ZDJkNjA3
ZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVC
eXRlU3RyZWFtSW50ZXJuYWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFt
cy9SZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTU5LDggKzU5LDcgQEAgZnVuY3Rp
b24gcHJpdmF0ZUluaXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHN0cmVhbSwg
dW5kZXJseWluZ0J5dGVTb3UKICAgICB0aGlzLkBwdWxsQWdhaW4gPSBmYWxzZTsKICAgICB0aGlz
LkBwdWxsaW5nID0gZmFsc2U7CiAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbGVh
clBlbmRpbmdQdWxsSW50b3ModGhpcyk7Ci0gICAgdGhpcy5AcXVldWUgPSBbXTsKLSAgICB0aGlz
LkB0b3RhbFF1ZXVlZEJ5dGVzID0gMDsKKyAgICB0aGlzLkBxdWV1ZSA9IEBuZXdRdWV1ZSgpOwog
ICAgIHRoaXMuQHN0YXJ0ZWQgPSBmYWxzZTsKICAgICB0aGlzLkBjbG9zZVJlcXVlc3RlZCA9IGZh
bHNlOwogCkBAIC0xMzcsOCArMTM2LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29u
dHJvbGxlckNhbmNlbChjb250cm9sbGVyLCByZWFzb24pCiAKICAgICBpZiAoY29udHJvbGxlci5A
cGVuZGluZ1B1bGxJbnRvcy5sZW5ndGggPiAwKQogICAgICAgICBjb250cm9sbGVyLkBwZW5kaW5n
UHVsbEludG9zWzBdLmJ5dGVzRmlsbGVkID0gMDsKLSAgICBjb250cm9sbGVyLkBxdWV1ZSA9IFtd
OwotICAgIGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgPSAwOworICAgIGNvbnRyb2xsZXIu
QHF1ZXVlID0gQG5ld1F1ZXVlKCk7CiAgICAgcmV0dXJuIEBwcm9taXNlSW52b2tlT3JOb29wKGNv
bnRyb2xsZXIuQHVuZGVybHlpbmdCeXRlU291cmNlLCAiY2FuY2VsIiwgW3JlYXNvbl0pOwogfQog
CkBAIC0xNDgsNyArMTQ2LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
ckVycm9yKGNvbnRyb2xsZXIsIGUpCiAKICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQGNvbnRyb2xs
ZWRSZWFkYWJsZVN0cmVhbS5Ac3RhdGUgPT09IEBzdHJlYW1SZWFkYWJsZSk7CiAgICAgQHJlYWRh
YmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbGVhclBlbmRpbmdQdWxsSW50b3MoY29udHJvbGxlcik7
Ci0gICAgY29udHJvbGxlci5AcXVldWUgPSBbXTsKKyAgICBjb250cm9sbGVyLkBxdWV1ZSA9IEBu
ZXdRdWV1ZSgpOwogICAgIEByZWFkYWJsZVN0cmVhbUVycm9yKGNvbnRyb2xsZXIuQGNvbnRyb2xs
ZWRSZWFkYWJsZVN0cmVhbSwgZSk7CiB9CiAKQEAgLTE1OSw3ICsxNTcsNyBAQCBmdW5jdGlvbiBy
ZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xvc2UoY29udHJvbGxlcikKICAgICBAYXNzZXJ0
KCFjb250cm9sbGVyLkBjbG9zZVJlcXVlc3RlZCk7CiAgICAgQGFzc2VydChjb250cm9sbGVyLkBj
b250cm9sbGVkUmVhZGFibGVTdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtUmVhZGFibGUpOwogCi0g
ICAgaWYgKGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgPiAwKSB7CisgICAgaWYgKGNvbnRy
b2xsZXIuQHF1ZXVlLnNpemUgPiAwKSB7CiAgICAgICAgIGNvbnRyb2xsZXIuQGNsb3NlUmVxdWVz
dGVkID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTE5NCw3ICsxOTIsNyBAQCBm
dW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyR2V0RGVzaXJlZFNpemUoY29udHJv
bGxlcikKICAgIGlmIChzdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtQ2xvc2VkKQogICAgICAgIHJl
dHVybiAwOwogCi0gICByZXR1cm4gY29udHJvbGxlci5Ac3RyYXRlZ3lIV00gLSBjb250cm9sbGVy
LkB0b3RhbFF1ZXVlZEJ5dGVzOworICAgcmV0dXJuIGNvbnRyb2xsZXIuQHN0cmF0ZWd5SFdNIC0g
Y29udHJvbGxlci5AcXVldWUuc2l6ZTsKIH0KIAogZnVuY3Rpb24gcmVhZGFibGVTdHJlYW1IYXNC
WU9CUmVhZGVyKHN0cmVhbSkKQEAgLTIxNiw3ICsyMTQsNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVySGFuZGxlUXVldWVEcmFpbihjb250cm9sbGVyKSB7CiAgICAgInVz
ZSBzdHJpY3QiOwogCiAgICAgQGFzc2VydChjb250cm9sbGVyLkBjb250cm9sbGVkUmVhZGFibGVT
dHJlYW0uQHN0YXRlID09PSBAc3RyZWFtUmVhZGFibGUpOwotICAgIGlmICghY29udHJvbGxlci5A
dG90YWxRdWV1ZWRCeXRlcyAmJiBjb250cm9sbGVyLkBjbG9zZVJlcXVlc3RlZCkKKyAgICBpZiAo
IWNvbnRyb2xsZXIuQHF1ZXVlLnNpemUgJiYgY29udHJvbGxlci5AY2xvc2VSZXF1ZXN0ZWQpCiAg
ICAgICAgIEByZWFkYWJsZVN0cmVhbUNsb3NlKGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJs
ZVN0cmVhbSk7CiAgICAgZWxzZQogICAgICAgICBAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
ckNhbGxQdWxsSWZOZWVkZWQoY29udHJvbGxlcik7CkBAIC0yMjksMTAgKzIyNywxMCBAQCBmdW5j
dGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHVsbChjb250cm9sbGVyKQogICAgIGNv
bnN0IHN0cmVhbSA9IGNvbnRyb2xsZXIuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbTsKICAgICBA
YXNzZXJ0KEByZWFkYWJsZVN0cmVhbUhhc0RlZmF1bHRSZWFkZXIoc3RyZWFtKSk7CiAKLSAgICBp
ZiAoY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyA+IDApIHsKKyAgICBpZiAoY29udHJvbGxl
ci5AcXVldWUuc2l6ZSA+IDApIHsKICAgICAgICAgQGFzc2VydChzdHJlYW0uQHJlYWRlci5AcmVh
ZFJlcXVlc3RzLmxlbmd0aCA9PT0gMCk7Ci0gICAgICAgIGNvbnN0IGVudHJ5ID0gY29udHJvbGxl
ci5AcXVldWUuQHNoaWZ0KCk7Ci0gICAgICAgIGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMg
LT0gZW50cnkuYnl0ZUxlbmd0aDsKKyAgICAgICAgY29uc3QgZW50cnkgPSBjb250cm9sbGVyLkBx
dWV1ZS5jb250ZW50LkBzaGlmdCgpOworICAgICAgICBjb250cm9sbGVyLkBxdWV1ZS5zaXplIC09
IGVudHJ5LmJ5dGVMZW5ndGg7CiAgICAgICAgIEByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVy
SGFuZGxlUXVldWVEcmFpbihjb250cm9sbGVyKTsKICAgICAgICAgbGV0IHZpZXc7CiAgICAgICAg
IHRyeSB7CkBAIC0zNDEsNyArMzM5LDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29u
dHJvbGxlckVucXVldWUoY29udHJvbGxlciwgY2h1bmspCiAgICAgICAgIGlmICghc3RyZWFtLkBy
ZWFkZXIuQHJlYWRSZXF1ZXN0cy5sZW5ndGgpCiAgICAgICAgICAgICBAcmVhZGFibGVCeXRlU3Ry
ZWFtQ29udHJvbGxlckVucXVldWVDaHVuayhjb250cm9sbGVyLCB0cmFuc2ZlcnJlZEJ1ZmZlciwg
Ynl0ZU9mZnNldCwgYnl0ZUxlbmd0aCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQGFz
c2VydCghY29udHJvbGxlci5AcXVldWUubGVuZ3RoKTsKKyAgICAgICAgICAgIEBhc3NlcnQoIWNv
bnRyb2xsZXIuQHF1ZXVlLmNvbnRlbnQubGVuZ3RoKTsKICAgICAgICAgICAgIGxldCB0cmFuc2Zl
cnJlZFZpZXcgPSBuZXcgQFVpbnQ4QXJyYXkodHJhbnNmZXJyZWRCdWZmZXIsIGJ5dGVPZmZzZXQs
IGJ5dGVMZW5ndGgpOwogICAgICAgICAgICAgQHJlYWRhYmxlU3RyZWFtRnVsZmlsbFJlYWRSZXF1
ZXN0KHN0cmVhbSwgdHJhbnNmZXJyZWRWaWV3LCBmYWxzZSk7CiAgICAgICAgIH0KQEAgLTM2Mywx
MiArMzYxLDEyIEBAIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVl
Q2h1bmsoY29udHJvbGxlciwgYnVmZmVyLCBieXRlT2Zmc2V0CiB7CiAgICAgInVzZSBzdHJpY3Qi
OwogCi0gICAgY29udHJvbGxlci5AcXVldWUuQHB1c2goeworICAgIGNvbnRyb2xsZXIuQHF1ZXVl
LmNvbnRlbnQuQHB1c2goewogICAgICAgICBidWZmZXI6IGJ1ZmZlciwKICAgICAgICAgYnl0ZU9m
ZnNldDogYnl0ZU9mZnNldCwKICAgICAgICAgYnl0ZUxlbmd0aDogYnl0ZUxlbmd0aAogICAgIH0p
OwotICAgIGNvbnRyb2xsZXIuQHRvdGFsUXVldWVkQnl0ZXMgKz0gYnl0ZUxlbmd0aDsKKyAgICBj
b250cm9sbGVyLkBxdWV1ZS5zaXplICs9IGJ5dGVMZW5ndGg7CiB9CiAKIGZ1bmN0aW9uIHJlYWRh
YmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJSZXNwb25kV2l0aE5ld1ZpZXcoY29udHJvbGxlciwgdmll
dykKQEAgLTQ3MSw3ICs0NjksNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9s
bGVyUHJvY2Vzc1B1bGxEZXNjcmlwdG9ycyhjb250cm9sbGVyKQogCiAgICAgQGFzc2VydCghY29u
dHJvbGxlci5AY2xvc2VSZXF1ZXN0ZWQpOwogICAgIHdoaWxlIChjb250cm9sbGVyLkBwZW5kaW5n
UHVsbEludG9zLmxlbmd0aCA+IDApIHsKLSAgICAgICAgaWYgKGNvbnRyb2xsZXIuQHRvdGFsUXVl
dWVkQnl0ZXMgPT09IDApCisgICAgICAgIGlmIChjb250cm9sbGVyLkBxdWV1ZS5zaXplID09PSAw
KQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBsZXQgcHVsbEludG9EZXNjcmlwdG9yID0g
Y29udHJvbGxlci5AcGVuZGluZ1B1bGxJbnRvc1swXTsKICAgICAgICAgaWYgKEByZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVs
bEludG9EZXNjcmlwdG9yKSkgewpAQCAtNDg3LDggKzQ4NSw4IEBAIGZ1bmN0aW9uIHJlYWRhYmxl
Qnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsRGVzY3JpcHRvckZyb21RdWV1ZShjb250cm9sbGVyLCBw
dWxsSW50CiAgICAgInVzZSBzdHJpY3QiOwogCiAgICAgY29uc3QgY3VycmVudEFsaWduZWRCeXRl
cyA9IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCAtIChwdWxsSW50b0Rlc2NyaXB0b3Iu
Ynl0ZXNGaWxsZWQgJSBwdWxsSW50b0Rlc2NyaXB0b3IuZWxlbWVudFNpemUpOwotICAgIGNvbnN0
IG1heEJ5dGVzVG9Db3B5ID0gY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyA8IHB1bGxJbnRv
RGVzY3JpcHRvci5ieXRlTGVuZ3RoIC0gcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkID8K
LSAgICAgICAgICAgICAgICBjb250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzIDogcHVsbEludG9E
ZXNjcmlwdG9yLmJ5dGVMZW5ndGggLSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQ7Cisg
ICAgY29uc3QgbWF4Qnl0ZXNUb0NvcHkgPSBjb250cm9sbGVyLkBxdWV1ZS5zaXplIDwgcHVsbElu
dG9EZXNjcmlwdG9yLmJ5dGVMZW5ndGggLSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQg
PworICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuQHF1ZXVlLnNpemUgOiBwdWxsSW50b0Rlc2Ny
aXB0b3IuYnl0ZUxlbmd0aCAtIHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZDsKICAgICBj
b25zdCBtYXhCeXRlc0ZpbGxlZCA9IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCArIG1h
eEJ5dGVzVG9Db3B5OwogICAgIGNvbnN0IG1heEFsaWduZWRCeXRlcyA9IG1heEJ5dGVzRmlsbGVk
IC0gKG1heEJ5dGVzRmlsbGVkICUgcHVsbEludG9EZXNjcmlwdG9yLmVsZW1lbnRTaXplKTsKICAg
ICBsZXQgdG90YWxCeXRlc1RvQ29weVJlbWFpbmluZyA9IG1heEJ5dGVzVG9Db3B5OwpAQCAtNTAw
LDcgKzQ5OCw3IEBAIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsRGVz
Y3JpcHRvckZyb21RdWV1ZShjb250cm9sbGVyLCBwdWxsSW50CiAgICAgfQogCiAgICAgd2hpbGUg
KHRvdGFsQnl0ZXNUb0NvcHlSZW1haW5pbmcgPiAwKSB7Ci0gICAgICAgIGxldCBoZWFkT2ZRdWV1
ZSA9IGNvbnRyb2xsZXIuQHF1ZXVlWzBdOworICAgICAgICBsZXQgaGVhZE9mUXVldWUgPSBjb250
cm9sbGVyLkBxdWV1ZS5jb250ZW50WzBdOwogICAgICAgICBjb25zdCBieXRlc1RvQ29weSA9IHRv
dGFsQnl0ZXNUb0NvcHlSZW1haW5pbmcgPCBoZWFkT2ZRdWV1ZS5ieXRlTGVuZ3RoID8gdG90YWxC
eXRlc1RvQ29weVJlbWFpbmluZyA6IGhlYWRPZlF1ZXVlLmJ5dGVMZW5ndGg7CiAgICAgICAgIC8v
IENvcHkgYXBwcm9wcmlhdGUgcGFydCBvZiBwdWxsSW50b0Rlc2NyaXB0b3IuYnVmZmVyIHRvIGhl
YWRPZlF1ZXVlLmJ1ZmZlci4KICAgICAgICAgLy8gUmVtYXJrOiB0aGlzIGltcGxlbWVudGF0aW9u
IGlzIG5vdCBjb21wbGV0ZWx5IGFsaWduZWQgb24gdGhlIGRlZmluaXRpb24gb2YgQ29weURhdGFC
bG9ja0J5dGVzCkBAIC01MTYsMTMgKzUxNCwxMyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyRmlsbERlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbEludAog
ICAgICAgICB9CiAKICAgICAgICAgaWYgKGhlYWRPZlF1ZXVlLmJ5dGVMZW5ndGggPT09IGJ5dGVz
VG9Db3B5KQotICAgICAgICAgICAgY29udHJvbGxlci5AcXVldWUuQHNoaWZ0KCk7CisgICAgICAg
ICAgICBjb250cm9sbGVyLkBxdWV1ZS5jb250ZW50LkBzaGlmdCgpOwogICAgICAgICBlbHNlIHsK
ICAgICAgICAgICAgIGhlYWRPZlF1ZXVlLmJ5dGVPZmZzZXQgKz0gYnl0ZXNUb0NvcHk7CiAgICAg
ICAgICAgICBoZWFkT2ZRdWV1ZS5ieXRlTGVuZ3RoIC09IGJ5dGVzVG9Db3B5OwogICAgICAgICB9
CiAKLSAgICAgICAgY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyAtPSBieXRlc1RvQ29weTsK
KyAgICAgICAgY29udHJvbGxlci5AcXVldWUuc2l6ZSAtPSBieXRlc1RvQ29weTsKICAgICAgICAg
QGFzc2VydChjb250cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zLmxlbmd0aCA9PT0gMCB8fCBjb250
cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zWzBdID09PSBwdWxsSW50b0Rlc2NyaXB0b3IpOwogICAg
ICAgICBAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckludmFsaWRhdGVCWU9CUmVxdWVzdChj
b250cm9sbGVyKTsKICAgICAgICAgcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkICs9IGJ5
dGVzVG9Db3B5OwpAQCAtNTMwLDcgKzUyOCw3IEBAIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVh
bUNvbnRyb2xsZXJGaWxsRGVzY3JpcHRvckZyb21RdWV1ZShjb250cm9sbGVyLCBwdWxsSW50CiAg
ICAgfQogCiAgICAgaWYgKCFyZWFkeSkgewotICAgICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQHRv
dGFsUXVldWVkQnl0ZXMgPT09IDApOworICAgICAgICBAYXNzZXJ0KGNvbnRyb2xsZXIuQHF1ZXVl
LnNpemUgPT09IDApOwogICAgICAgICBAYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0Zp
bGxlZCA+IDApOwogICAgICAgICBAYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxl
ZCA8IHB1bGxJbnRvRGVzY3JpcHRvci5lbGVtZW50U2l6ZSk7CiAgICAgfQpAQCAtNjU5LDcgKzY1
Nyw3IEBAIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQdWxsSW50byhjb250
cm9sbGVyLCB2aWV3KQogICAgICAgICByZXR1cm4gQFByb21pc2UuQHJlc29sdmUoeyB2YWx1ZTog
ZW1wdHlWaWV3LCBkb25lOiB0cnVlIH0pOwogICAgIH0KIAotICAgIGlmIChjb250cm9sbGVyLkB0
b3RhbFF1ZXVlZEJ5dGVzID4gMCkgeworICAgIGlmIChjb250cm9sbGVyLkBxdWV1ZS5zaXplID4g
MCkgewogICAgICAgICBpZiAoQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsRGVzY3Jp
cHRvckZyb21RdWV1ZShjb250cm9sbGVyLCBwdWxsSW50b0Rlc2NyaXB0b3IpKSB7CiAgICAgICAg
ICAgICBjb25zdCBmaWxsZWRWaWV3ID0gQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDb252
ZXJ0RGVzY3JpcHRvcihwdWxsSW50b0Rlc2NyaXB0b3IpOwogICAgICAgICAgICAgQHJlYWRhYmxl
Qnl0ZVN0cmVhbUNvbnRyb2xsZXJIYW5kbGVRdWV1ZURyYWluKGNvbnRyb2xsZXIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMKaW5kZXgg
YzJhMjk2NTQ0ZDUyZjI1MmE2OTkzNjgzY2VkOWRjNmViNGUwNWFmNS4uYTYwY2Y4ODZiM2U3YWZh
ZGU1NGQ2MDhmNzFmODQxMjdkMmQ0YzY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvU3RyZWFtSW50ZXJuYWxzLmpzCkBAIC0xMDUsNiArMTA1LDkgQEAgZnVuY3Rp
b24gZGVxdWV1ZVZhbHVlKHF1ZXVlKQogCiAgICAgY29uc3QgcmVjb3JkID0gcXVldWUuY29udGVu
dC5Ac2hpZnQoKTsKICAgICBxdWV1ZS5zaXplIC09IHJlY29yZC5zaXplOworICAgIC8vIEFzIGRl
c2NyaWJlZCBieSBzcGVjLCBiZWxvdyBjYXNlIG1heSBvY2N1ciBkdWUgdG8gcm91bmRpbmcgZXJy
b3JzLgorICAgIGlmIChxdWV1ZS5zaXplIDwgMCkKKyAgICAgICAgcXVldWUuc2l6ZSA9IDA7CiAg
ICAgcmV0dXJuIHJlY29yZC52YWx1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDZmMDgxZjgyNGI2ZjYxYTViMDY2M2Rl
ZDYyNTQwZmUyZTczMTk4ZWIuLmY2MGY2NGFmYmY2NjRmNTViMzQ1MDY5OWMyNTgzYTYwZDM5MDE0
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmgKQEAgLTI2Niw3ICsyNjYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
c3RydWN0dXJlZENsb25lQXJyYXlCdWZmZXIpIFwKICAgICBtYWNybyhzdHJ1Y3R1cmVkQ2xvbmVB
cnJheUJ1ZmZlclZpZXcpIFwKICAgICBtYWNybyh0b3ApIFwKLSAgICBtYWNybyh0b3RhbFF1ZXVl
ZEJ5dGVzKSBcCiAgICAgbWFjcm8odW5kZXJseWluZ0J5dGVTb3VyY2UpIFwKICAgICBtYWNybyh1
bmRlcmx5aW5nU2luaykgXAogICAgIG1hY3JvKHVuZGVybHlpbmdTb3VyY2UpIFwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGQ1MTA5NDZkZGU0ZTE4OWQxYmMyNzViOWQ1ZGZkZjVi
MDcyMTBjNjEuLjI4OTZlMzFiNDZkZDYyOTc3ZDVmZjRkMTg2OGJiODkxYzk4NTIyNjcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTEwLTEzICBS
b21haW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAg
ICAgICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEFsaWduIHF1ZXVlIHdpdGggc3BlYyBmb3IgUmVh
ZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWGFiaWVy
IFJvZHJpZ3Vlei1DYWx2YXIuCisKKyAgICAgICAgVXBkYXRlZCB0ZXN0IGV4cGVjdGF0aW9ucyBm
b3IgdGVzdHMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgZmFpbGluZyBidXQgbm93IHBhc3MuCisKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0
aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90
YWwtcXVldWUtc2l6ZS5kZWRpY2F0ZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDE3LTEwLTEy
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgaW1wb3J0LXczYy10
ZXN0cyBtb2RpZmllcyB0ZXN0IHNvdXJjZXMgYW5kIHNvbWV0aW1lcyBjYXVzZXMgdGhlbSB0byBm
YWlsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1z
aXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVl
LXNpemUtZXhwZWN0ZWQudHh0CmluZGV4IGQwNTdhZjcxMWQyNTIzYjQ1YWZlZjg4YzE5YTgzYjcx
ZDMzZmEzZjguLmE3ZjE5N2U2MGMwOThjZDkxYmM0N2Y0NGI4OGZlZTgwNmExMDIyNzQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFt
cy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUt
ZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIEZsb2F0aW5nIHBvaW50IGFyaXRo
bWV0aWMgbXVzdCBtYW5pZmVzdCBuZWFyIE5VTUJFUi5NQVhfU0FGRV9JTlRFR0VSICh0b3RhbCBl
bmRzIHVwIHBvc2l0aXZlKSBhc3NlcnRfZXF1YWxzOiBbW3F1ZXVlVG90YWxTaXplXV0gbXVzdCBj
bGFtcCB0byAwIGlmIGl0IGJlY29tZXMgbmVnYXRpdmUgZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZB
SUwgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwg
ZW5kcyB1cCBwb3NpdGl2ZSwgYnV0IGNsYW1wZWQpIGFzc2VydF9lcXVhbHM6IFtbcXVldWVUb3Rh
bFNpemVdXSBtdXN0IGNsYW1wIHRvIDAgaWYgaXQgYmVjb21lcyBuZWdhdGl2ZSBleHBlY3RlZCAw
IGJ1dCBnb3QgMS4xMTAyMjMwMjQ2MjUxNTY1ZS0xNgorUEFTUyBGbG9hdGluZyBwb2ludCBhcml0
aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciBOVU1CRVIuTUFYX1NBRkVfSU5URUdFUiAodG90YWwg
ZW5kcyB1cCBwb3NpdGl2ZSkgCitQQVNTIEZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgbXVzdCBt
YW5pZmVzdCBuZWFyIDAgKHRvdGFsIGVuZHMgdXAgcG9zaXRpdmUsIGJ1dCBjbGFtcGVkKSAKIFBB
U1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwg
ZW5kcyB1cCBwb3NpdGl2ZSwgYW5kIG5vdCBjbGFtcGVkKSAKIFBBU1MgRmxvYXRpbmcgcG9pbnQg
YXJpdGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCB6ZXJvKSAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
dHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS5k
ZWRpY2F0ZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQt
dG90YWwtcXVldWUtc2l6ZS5kZWRpY2F0ZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGQwNTdh
ZjcxMWQyNTIzYjQ1YWZlZjg4YzE5YTgzYjcxZDMzZmEzZjguLmE3ZjE5N2U2MGMwOThjZDkxYmM0
N2Y0NGI4OGZlZTgwNmExMDIyNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBv
aW50LXRvdGFsLXF1ZXVlLXNpemUuZGVkaWNhdGVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFi
bGUtc3RyZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLmRlZGljYXRlZHdvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgRmxvYXRpbmcgcG9pbnQgYXJp
dGhtZXRpYyBtdXN0IG1hbmlmZXN0IG5lYXIgTlVNQkVSLk1BWF9TQUZFX0lOVEVHRVIgKHRvdGFs
IGVuZHMgdXAgcG9zaXRpdmUpIGFzc2VydF9lcXVhbHM6IFtbcXVldWVUb3RhbFNpemVdXSBtdXN0
IGNsYW1wIHRvIDAgaWYgaXQgYmVjb21lcyBuZWdhdGl2ZSBleHBlY3RlZCAwIGJ1dCBnb3QgMQot
RkFJTCBGbG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3Rh
bCBlbmRzIHVwIHBvc2l0aXZlLCBidXQgY2xhbXBlZCkgYXNzZXJ0X2VxdWFsczogW1txdWV1ZVRv
dGFsU2l6ZV1dIG11c3QgY2xhbXAgdG8gMCBpZiBpdCBiZWNvbWVzIG5lZ2F0aXZlIGV4cGVjdGVk
IDAgYnV0IGdvdCAxLjExMDIyMzAyNDYyNTE1NjVlLTE2CitQQVNTIEZsb2F0aW5nIHBvaW50IGFy
aXRobWV0aWMgbXVzdCBtYW5pZmVzdCBuZWFyIE5VTUJFUi5NQVhfU0FGRV9JTlRFR0VSICh0b3Rh
bCBlbmRzIHVwIHBvc2l0aXZlKSAKK1BBU1MgRmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBtdXN0
IG1hbmlmZXN0IG5lYXIgMCAodG90YWwgZW5kcyB1cCBwb3NpdGl2ZSwgYnV0IGNsYW1wZWQpIAog
UEFTUyBGbG9hdGluZyBwb2ludCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3Rh
bCBlbmRzIHVwIHBvc2l0aXZlLCBhbmQgbm90IGNsYW1wZWQpIAogUEFTUyBGbG9hdGluZyBwb2lu
dCBhcml0aG1ldGljIG11c3QgbWFuaWZlc3QgbmVhciAwICh0b3RhbCBlbmRzIHVwIHplcm8pIAog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>