<?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>185199</bug_id>
          
          <creation_ts>2018-05-02 08:44:55 -0700</creation_ts>
          <short_desc>[iOS] Provide audio route information when invoking AirPlay picker</short_desc>
          <delta_ts>2018-05-03 13:39:41 -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>Media</component>
          <version>Other</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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1419651</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-02 08:44:55 -0700</bug_when>
    <thetext>Provide audio route information when invoking AirPlay picker</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419652</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-02 08:45:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/39853103&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419664</commentid>
    <comment_count>2</comment_count>
      <attachid>339305</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-02 09:06:33 -0700</bug_when>
    <thetext>Created attachment 339305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419665</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-05-02 09:16:11 -0700</bug_when>
    <thetext>Attachment 339305 did not pass style-queue:


ERROR: Source/WebCore/platform/audio/AudioSession.cpp:117:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 1 in 30 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419677</commentid>
    <comment_count>4</comment_count>
      <attachid>339305</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2018-05-02 09:36:19 -0700</bug_when>
    <thetext>Comment on attachment 339305
Patch

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

&gt; Source/WebCore/platform/audio/AudioSession.cpp:116
&gt; +String AudioSession::routingContextUID const

missing ()!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419687</commentid>
    <comment_count>5</comment_count>
      <attachid>339308</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-02 09:45:52 -0700</bug_when>
    <thetext>Created attachment 339308
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419689</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-05-02 09:47:24 -0700</bug_when>
    <thetext>Attachment 339308 did not pass style-queue:


ERROR: Source/WebCore/platform/audio/mac/AudioSessionMac.cpp:135:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/platform/audio/AudioSession.cpp:117:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 2 in 31 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419700</commentid>
    <comment_count>7</comment_count>
      <attachid>339312</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-02 10:05:02 -0700</bug_when>
    <thetext>Created attachment 339312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419732</commentid>
    <comment_count>8</comment_count>
      <attachid>339312</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-02 10:51:51 -0700</bug_when>
    <thetext>Comment on attachment 339312
Patch

Clearing flags on attachment: 339312

Committed r231242: &lt;https://trac.webkit.org/changeset/231242&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419733</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-02 10:51:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419756</commentid>
    <comment_count>10</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-05-02 11:39:16 -0700</bug_when>
    <thetext>This change broke the iOS build:

/Volumes/Data/slave/ios-11-release/build/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm:182:45: error: instance method &apos;-routingContextUID&apos; not found (return type defaults to &apos;id&apos;) [-Werror,-Wobjc-method-access]

https://build.webkit.org/builders/Apple%20iOS%2011%20Release%20%28Build%29/builds/5825</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419795</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-02 12:47:15 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419796</commentid>
    <comment_count>12</comment_count>
      <attachid>339325</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-02 12:47:15 -0700</bug_when>
    <thetext>Created attachment 339325
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419818</commentid>
    <comment_count>13</comment_count>
      <attachid>339325</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-02 13:26:37 -0700</bug_when>
    <thetext>Comment on attachment 339325
Patch

Clearing flags on attachment: 339325

Committed r231258: &lt;https://trac.webkit.org/changeset/231258&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419819</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-02 13:26:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419840</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-02 14:09:37 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419841</commentid>
    <comment_count>16</comment_count>
      <attachid>339336</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-02 14:09:38 -0700</bug_when>
    <thetext>Created attachment 339336
Another attempted build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419845</commentid>
    <comment_count>17</comment_count>
      <attachid>339336</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-02 14:14:00 -0700</bug_when>
    <thetext>Comment on attachment 339336
Another attempted build fix

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

/Volumes/Data/EWS/WebKit/Source/WebCore/PAL/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/7541804</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419861</commentid>
    <comment_count>18</comment_count>
      <attachid>339342</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-02 14:35:40 -0700</bug_when>
    <thetext>Created attachment 339342
Another attempted build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419913</commentid>
    <comment_count>19</comment_count>
      <attachid>339342</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-02 16:08:26 -0700</bug_when>
    <thetext>Comment on attachment 339342
Another attempted build fix

Clearing flags on attachment: 339342

Committed r231278: &lt;https://trac.webkit.org/changeset/231278&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419914</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-02 16:08:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420283</commentid>
    <comment_count>21</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-03 13:20:05 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420284</commentid>
    <comment_count>22</comment_count>
      <attachid>339449</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-03 13:20:05 -0700</bug_when>
    <thetext>Created attachment 339449
Another build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420296</commentid>
    <comment_count>23</comment_count>
      <attachid>339449</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-03 13:39:39 -0700</bug_when>
    <thetext>Comment on attachment 339449
Another build fix

Clearing flags on attachment: 339449

Committed r231324: &lt;https://trac.webkit.org/changeset/231324&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420297</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-03 13:39:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339305</attachid>
            <date>2018-05-02 09:06:33 -0700</date>
            <delta_ts>2018-05-02 09:45:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185199-20180502090632.patch</filename>
            <type>text/plain</type>
            <size>34053</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE1YWI3MzQzMGJlOTk4
MmNlYzNhZGY1ZWZiZTllNDBjNDVkZDgxNi4uZWU0YTg1ZDM5ZTI4OTY4ZDU3MTFkYmQ5ZDMyNDhm
ZDFlZjg2NjBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE4LTA1LTAyICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFByb3Zp
ZGUgYXVkaW8gcm91dGUgaW5mb3JtYXRpb24gd2hlbiBpbnZva2luZyBBaXJQbGF5IHBpY2tlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1MTk5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTg1MzEwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRoaXMgcmVxdWlyZXMgYSBz
cGVjaWZpYyBoYXJkd2FyZSBzZXR1cC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKTogUGFz
cyByb3V0ZSBzaGFyaW5nIHBvbGljeSBhbmQgcm91dGluZyBjb250ZXh0IFVJRC4KKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaDoKKworICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpzaG93UGxheWJhY2tU
YXJnZXRQaWNrZXIpOiBEaXR0by4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoK
KyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCisgICAgICAgICogcGFnZS9QYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcik6IERp
dHRvLgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
QXVkaW9TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6cm91dGVT
aGFyaW5nUG9saWN5IGNvbnN0KTogRW1wdHkgaW1wbGVtZW50YXRpb24gZm9yIG5vbi1pT1MgcG9y
dHMuCisgICAgICAgIChXZWJDb3JlOjpyb3V0aW5nQ29udGV4dFVJRCBjb25zdCk6IERpdHRvLgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oOgorCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vaW9zL0F1ZGlvU2Vzc2lvbklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvU2Vzc2lvbjo6cm91dGVTaGFyaW5nUG9saWN5IGNvbnN0KTogUmV0dXJuIHRoZSByb3V0ZSBz
aGFyaW5nIHBvbGljeS4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6cm91dGluZ0Nv
bnRleHRVSUQgY29uc3QpOiBSZXR1cm4gdGhlIHJvdXRlIGNvbnRleHQgVUlELgorCiAyMDE4LTA1
LTAxICBPbGVrc2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCiAgICAgICAg
IFdlYkFzc2VtYmx5OiBhZGQgc3VwcG9ydCBmb3Igc3RyZWFtIEFQSXMgLSBKYXZhU2NyaXB0IEFQ
SQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggZTY0NzE1OWQ5ZGU3ZTNkMTMxNzg1OWQ5MDFlNTU0MTg2
YzBjYjIwZS4uNDg5MWViZWNiN2JjYjdmODBhZTM4YWIyNjBjYThlODYyYzdhNjc2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMDUtMDIgIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gUHJvdmlkZSBhdWRpbyBy
b3V0ZSBpbmZvcm1hdGlvbiB3aGVuIGludm9raW5nIEFpclBsYXkgcGlja2VyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODUxOTkKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzM5ODUzMTAzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmg6IEFkZCBhZGRp
dGlvbmFsIEFWQXVkaW9TZXNzaW9uIFNQSS4KKwogMjAxOC0wNS0wMSAgT2xla3NhbmRyIFNrYWNo
a292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KIAogICAgICAgICBXZWJBc3NlbWJseTogYWRkIHN1
cHBvcnQgZm9yIHN0cmVhbSBBUElzIC0gSmF2YVNjcmlwdCBBUEkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjc1YmRj
YTk2N2E1MDg0ZWQyNmZlZTAxZDllNzlkNTg3MDg2OTUzMS4uNzE1YWYwN2YzM2ExZDQyYTIwM2Uz
Mzg2ZTkwZGEwYzlmNmY5ODBiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxOC0wNS0w
MiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9T
XSBQcm92aWRlIGF1ZGlvIHJvdXRlIGluZm9ybWF0aW9uIHdoZW4gaW52b2tpbmcgQWlyUGxheSBw
aWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
NTE5OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk4NTMxMDM+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdl
cy5weToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKTogIFBhc3Mg
cm91dGUgc2hhcmluZyBwb2xpY3kgYW5kIHJvdXRpbmcgY29udGV4dCBVSUQuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IF9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6ZnJvbVJlY3Q6cm91dGVTaGFyaW5n
UG9saWN5OnJvdXRpbmdDb250ZXh0VUlEOl0pOiBUYWtlIHNhbWUuCisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgX3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjpmcm9tUmVjdDpdKTogRGVsZXRlZC4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcik6IFBhc3Mgcm91
dGUgc2hhcmluZyBwb2xpY3kgYW5kIHJvdXRpbmcgY29udGV4dCBVSUQuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbToKKyAgICAgICAgKC1bV0tB
aXJQbGF5Um91dGVQaWNrZXIgc2hvd0Zyb21WaWV3OnJvdXRlU2hhcmluZ1BvbGljeTpyb3V0aW5n
Q29udGV4dFVJRDpdKTogVGFrZSBzYW1lLgorICAgICAgICAoLVtXS0FpclBsYXlSb3V0ZVBpY2tl
ciBzaG93RnJvbVZpZXc6XSk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q2hyb21lQ2xpZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIpOgorCiAyMDE4LTA1LTAxICBP
bGVrc2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCiAgICAgICAgIFdlYkFz
c2VtYmx5OiBhZGQgc3VwcG9ydCBmb3Igc3RyZWFtIEFQSXMgLSBKYXZhU2NyaXB0IEFQSQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dExlZ2FjeS9pb3MvQ2hhbmdlTG9nCmluZGV4IGI4ODI3ZTNhNzFiYmE0Y2NhMjQxMjhiNzQ2Yjgz
NDUyNDcwMDg1MzMuLjJhZTQ0MjAxN2M3MjZmZTM3MTFlZWEzNWE2MmI5ZTRiOWMzYWUyZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0wNS0wMiAg
RXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBQ
cm92aWRlIGF1ZGlvIHJvdXRlIGluZm9ybWF0aW9uIHdoZW4gaW52b2tpbmcgQWlyUGxheSBwaWNr
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTE5
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk4NTMxMDM+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnRJT1MuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1Mu
bW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnRJT1M6OnNob3dQbGF5YmFja1RhcmdldFBpY2tl
cik6IFBhc3Mgcm91dGUgc2hhcmluZyBwb2xpY3kgYW5kIHJvdXRpbmcgY29udGV4dCBVSUQuCisK
IDIwMTgtMDQtMDUgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAg
ICAgICAgW1dURl0gUmVtb3ZlIFN0YXRpY0xvY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaAppbmRleCAyM2VkNGUyMGM5NDMxMjgxNjM4ZjE2
YTgyZDczNzMyNDVhZjgyMTRkLi43NjkzYmNkNjY5OWU1NTI4ZjBlMWI4N2FmMjAxN2YwM2Q3MDZk
ZDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0
aW9uU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0FWRm91bmRhdGlv
blNQSS5oCkBAIC0yNzAsNCArMjcwLDE0IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKIE5T
X0FTU1VNRV9OT05OVUxMX0VORAogCisjaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9T
X1NJTVVMQVRPUikgJiYgIUVOQUJMRShNSU5JTUFMX1NJTVVMQVRPUikKK05TX0FTU1VNRV9OT05O
VUxMX0JFR0lOCisKK0BpbnRlcmZhY2UgQVZBdWRpb1Nlc3Npb24gKEFWQXVkaW9TZXNzaW9uUHJp
dmF0ZSkKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIE5TU3RyaW5nKiByb3V0aW5nQ29udGV4dFVJRDsK
K0BlbmQKKworTlNfQVNTVU1FX05PTk5VTExfRU5ECisjZW5kaWYKKwogI2VuZGlmIC8vIF9faGFz
X2luY2x1ZGUoPEFWRm91bmRhdGlvbi9BVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXIuaD4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBhOTk1YWFlNWY4MjFhMzY0Zjc1NjRiMDJjYmViNWFk
NzQ3YzJiYjc1Li42ZjgyZjdiOGM5OTEzYzFhNmU3ZjU1NDMwMTQyNWJjNzU4YTViYzQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTcxODksNyArNzE4OSw3IEBAIHZvaWQgRG9jdW1lbnQ6
OnJlbW92ZVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50KE1lZGlhUGxheWJhY2tUYXJnZXRDbGll
bnQmIGNsaWVuCiAgICAgcGFnZS0+cmVtb3ZlUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQoY2xp
ZW50SWQpOwogfQogCi12b2lkIERvY3VtZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVk
aWFQbGF5YmFja1RhcmdldENsaWVudCYgY2xpZW50LCBib29sIGlzVmlkZW8pCit2b2lkIERvY3Vt
ZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVkaWFQbGF5YmFja1RhcmdldENsaWVudCYg
Y2xpZW50LCBib29sIGlzVmlkZW8sIFJvdXRlU2hhcmluZ1BvbGljeSByb3V0ZVNoYXJpbmdQb2xp
Y3ksIGNvbnN0IFN0cmluZyYgcm91dGluZ0NvbnRleHRVSUQpCiB7CiAgICAgUGFnZSogcGFnZSA9
IHRoaXMtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UpCkBAIC03MTk5LDcgKzcxOTksNyBAQCB2b2lk
IERvY3VtZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVkaWFQbGF5YmFja1RhcmdldENs
aWVudCYgY2xpZW50LCBib29sCiAgICAgaWYgKGl0ID09IG1fY2xpZW50VG9JRE1hcC5lbmQoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgcGFnZS0+c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGl0
LT52YWx1ZSwgdmlldygpLT5sYXN0S25vd25Nb3VzZVBvc2l0aW9uKCksIGlzVmlkZW8pOworICAg
IHBhZ2UtPnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihpdC0+dmFsdWUsIHZpZXcoKS0+bGFzdEtu
b3duTW91c2VQb3NpdGlvbigpLCBpc1ZpZGVvLCByb3V0ZVNoYXJpbmdQb2xpY3ksIHJvdXRpbmdD
b250ZXh0VUlEKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6cGxheWJhY2tUYXJnZXRQaWNrZXJDbGll
bnRTdGF0ZURpZENoYW5nZShNZWRpYVBsYXliYWNrVGFyZ2V0Q2xpZW50JiBjbGllbnQsIE1lZGlh
UHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBzdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
ZGEyZTc0OWVjYzNiNjEwMDUwN2FmYWEyZjZkZmY2NzI1MDRmZmFjNC4uOWM4MzM4ZGEwNmViNTIx
YWFmMjNmNTlmODYzNWI0ZTY5ZjBjZjAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE5Niw2
ICsxOTYsOCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3MgRXhjZXB0aW9uT3I7CiBlbnVtIENv
bGxlY3Rpb25UeXBlOwogZW51bSBjbGFzcyBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5Owog
CitlbnVtIGNsYXNzIFJvdXRlU2hhcmluZ1BvbGljeTsKKwogdXNpbmcgUGxhdGZvcm1EaXNwbGF5
SUQgPSB1aW50MzJfdDsKIAogI2lmIEVOQUJMRShYU0xUKQpAQCAtMTMxNyw3ICsxMzE5LDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgdm9pZCBh
ZGRQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudChNZWRpYVBsYXliYWNrVGFyZ2V0Q2xpZW50Jik7
CiAgICAgdm9pZCByZW1vdmVQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudChNZWRpYVBsYXliYWNr
VGFyZ2V0Q2xpZW50Jik7Ci0gICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVkaWFQ
bGF5YmFja1RhcmdldENsaWVudCYsIGJvb2wpOworICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0
UGlja2VyKE1lZGlhUGxheWJhY2tUYXJnZXRDbGllbnQmLCBib29sLCBSb3V0ZVNoYXJpbmdQb2xp
Y3ksIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRT
dGF0ZURpZENoYW5nZShNZWRpYVBsYXliYWNrVGFyZ2V0Q2xpZW50JiwgTWVkaWFQcm9kdWNlcjo6
TWVkaWFTdGF0ZUZsYWdzKTsKIAogICAgIHZvaWQgc2V0UGxheWJhY2tUYXJnZXQodWludDY0X3Qs
IFJlZjxNZWRpYVBsYXliYWNrVGFyZ2V0PiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDVjZDc5MDU1Njg5ZDVkZTQ4NGMxMGNjYWYxODZkMjBh
NzQ2NTdlYTEuLjY3MjhhZjViYzQyZGQ1ZjIyMjgyNDY4NjIwODI4MzdkZGEyY2FkZTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNDM0LDcgKzQz
NCw4IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2Vy
KCkKICAgICB9CiAjZW5kaWYKIAotICAgIGRvY3VtZW50LnNob3dQbGF5YmFja1RhcmdldFBpY2tl
cigqdGhpcywgaXM8SFRNTFZpZGVvRWxlbWVudD4obV9lbGVtZW50KSk7CisgICAgYXV0byYgYXVk
aW9TZXNzaW9uID0gQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCk7CisgICAgZG9jdW1lbnQu
c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKCp0aGlzLCBpczxIVE1MVmlkZW9FbGVtZW50PihtX2Vs
ZW1lbnQpLCBhdWRpb1Nlc3Npb24ucm91dGVTaGFyaW5nUG9saWN5KCksIGF1ZGlvU2Vzc2lvbi5y
b3V0aW5nQ29udGV4dFVJRCgpKTsKIH0KIAogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpoYXNX
aXJlbGVzc1BsYXliYWNrVGFyZ2V0cygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKaW5kZXggMTg0YTNmYmQwMGI1MjI4YTQxNjc1YmVhOTA4MjczNGYyODI3MmUwYy4uZTI4
NWY2MzllMGQ4N2JkNTg2ZGMzZmZhZGU1ZmNlOWM4N2VmYzBmYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaApAQCAtMTc3LDcgKzE3Nyw3IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xp
ZW50IDogcHVibGljIENocm9tZUNsaWVudCB7CiAgICAgdm9pZCByZW1vdmVTY3JvbGxpbmdMYXll
cihOb2RlKiwgUGxhdGZvcm1MYXllciosIFBsYXRmb3JtTGF5ZXIqKSBmaW5hbCB7IH0KIAogICAg
IHZvaWQgd2ViQXBwT3JpZW50YXRpb25zVXBkYXRlZCgpIGZpbmFsIHsgfTsKLSAgICB2b2lkIHNo
b3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sKSBmaW5hbCB7IH07CisgICAgdm9pZCBzaG93UGxh
eWJhY2tUYXJnZXRQaWNrZXIoYm9vbCwgUm91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBTdHJpbmcm
KSBmaW5hbCB7IH07CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCiAjaWYgRU5BQkxFKE9SSUVO
VEFUSU9OX0VWRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDk4ZmE1OTJi
MmNmNWIzZWFiNTkxNzlhNDA0NzU5MTNlNDA2NDI4NDIuLmYxOTkyN2RjMjFiMjE5YjM5Yzk0MmVi
OTUwYjMzMWY3MmRhZTcyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMTAx
LDYgKzEwMSw4IEBAIHN0cnVjdCBHcmFwaGljc0RldmljZUFkYXB0ZXI7CiBzdHJ1Y3QgVmlld3Bv
cnRBcmd1bWVudHM7CiBzdHJ1Y3QgV2luZG93RmVhdHVyZXM7CiAKK2VudW0gY2xhc3MgUm91dGVT
aGFyaW5nUG9saWN5OworCiBjbGFzcyBXRUJDT1JFX0VYUE9SVCBDaHJvbWVDbGllbnQgewogcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBjaHJvbWVEZXN0cm95ZWQoKSA9IDA7CkBAIC0yNjAsNyAr
MjYyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTY3JvbGxpbmdMYXllcihO
b2RlKiwgUGxhdGZvcm1MYXllciogc2Nyb2xsaW5nTGF5ZXIsIFBsYXRmb3JtTGF5ZXIqIGNvbnRl
bnRzTGF5ZXIpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCB3ZWJBcHBPcmllbnRhdGlvbnNVcGRh
dGVkKCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9v
bCBoYXNWaWRlbykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNr
ZXIoYm9vbCBoYXNWaWRlbywgUm91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBTdHJpbmcmKSA9IDA7
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShPUklFTlRBVElPTl9FVkVOVFMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAppbmRleCBiMzQ1OGY1ZGJlN2FjOWZiNzIyNWM2NWQ0MDdmZGNmZWZmYzA5MmQwLi42MzNlM2I5
N2Y3ZDY1MDM1MTM5MzY1ZDU4ZTJkZjBkNzNiOGQ0Mjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAg
LTIyMDAsMTQgKzIyMDAsMTYgQEAgdm9pZCBQYWdlOjpyZW1vdmVQbGF5YmFja1RhcmdldFBpY2tl
ckNsaWVudCh1aW50NjRfdCBjb250ZXh0SWQpCiAgICAgY2hyb21lKCkuY2xpZW50KCkucmVtb3Zl
UGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQoY29udGV4dElkKTsKIH0KIAotdm9pZCBQYWdlOjpz
aG93UGxheWJhY2tUYXJnZXRQaWNrZXIodWludDY0X3QgY29udGV4dElkLCBjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgbG9jYXRpb24sIGJvb2wgaXNWaWRlbykKK3ZvaWQgUGFnZTo6c2hvd1BsYXli
YWNrVGFyZ2V0UGlja2VyKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIGxvY2F0aW9uLCBib29sIGlzVmlkZW8sIFJvdXRlU2hhcmluZ1BvbGljeSByb3V0ZVNoYXJp
bmdQb2xpY3ksIGNvbnN0IFN0cmluZyYgcm91dGluZ0NvbnRleHRVSUQpCiB7CiAjaWYgUExBVEZP
Uk0oSU9TKQogICAgIC8vIEZJWE1FOiByZWZhY3RvciBpT1MgaW1wbGVtZW50YXRpb24uCiAgICAg
VU5VU0VEX1BBUkFNKGNvbnRleHRJZCk7CiAgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsKLSAg
ICBjaHJvbWUoKS5jbGllbnQoKS5zaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoaXNWaWRlbyk7Cisg
ICAgY2hyb21lKCkuY2xpZW50KCkuc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGlzVmlkZW8sIHJv
dXRlU2hhcmluZ1BvbGljeSwgcm91dGluZ0NvbnRleHRVSUQpOwogI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0ocm91dGVTaGFyaW5nUG9saWN5KTsKKyAgICBVTlVTRURfUEFSQU0ocm91dGluZ0NvbnRl
eHRVSUQpOwogICAgIGNocm9tZSgpLmNsaWVudCgpLnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihj
b250ZXh0SWQsIGxvY2F0aW9uLCBpc1ZpZGVvKTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRl
eCA3NjJmYWE5YTcwZWU1ODk3MjM4Nzg5M2FkZjQyMGNiNGY3N2U0OWNmLi4zZWJkMDQxYjQ3Nzlh
ZjQ1YWU1MDEzMDYzYmI4YTAwZTg4YWM0ODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTU2LDYgKzE1
Niw3IEBAIGVudW0gY2xhc3MgRXZlbnRUaHJvdHRsaW5nQmVoYXZpb3IgewogZW51bSBjbGFzcyBD
YW5XcmFwIDogYm9vbDsKIGVudW0gY2xhc3MgRGlkV3JhcCA6IGJvb2w7CiBlbnVtIGNsYXNzIE5h
dmlnYXRpb25Qb2xpY3lDaGVjazsKK2VudW0gY2xhc3MgUm91dGVTaGFyaW5nUG9saWN5OwogCiBj
bGFzcyBQYWdlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFBhZ2U+IHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQYWdlKTsKQEAgLTU3Myw3ICs1NzQsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxF
KFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICB2b2lkIGFkZFBsYXliYWNrVGFyZ2V0UGlj
a2VyQ2xpZW50KHVpbnQ2NF90KTsKICAgICB2b2lkIHJlbW92ZVBsYXliYWNrVGFyZ2V0UGlja2Vy
Q2xpZW50KHVpbnQ2NF90KTsKLSAgICB2b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcih1aW50
NjRfdCwgY29uc3QgSW50UG9pbnQmLCBib29sKTsKKyAgICB2b2lkIHNob3dQbGF5YmFja1Rhcmdl
dFBpY2tlcih1aW50NjRfdCwgY29uc3QgSW50UG9pbnQmLCBib29sLCBSb3V0ZVNoYXJpbmdQb2xp
Y3ksIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRT
dGF0ZURpZENoYW5nZSh1aW50NjRfdCwgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2Vy
RW5hYmxlZChib29sKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1vY2tNZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyU3RhdGUoY29uc3QgU3RyaW5nJiwgTWVkaWFQbGF5YmFja1RhcmdldENv
bnRleHQ6OlN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nl
c3Npb24uY3BwCmluZGV4IGZjNmEwYTUyY2Q4YTc1ZmE4MDI2NTZiNjg5YjAxZGYyYTE0ZjU3ZDMu
LjNmOTZlMTNlZTU0NTVmY2E1NDYwOWNhZGNlM2Q2NzRlNGYzNjAwMDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcApAQCAtMTA3LDYgKzEwNywx
NyBAQCB2b2lkIEF1ZGlvU2Vzc2lvbjo6c2V0UHJlZmVycmVkQnVmZmVyU2l6ZShzaXplX3QpCiB7
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KKworUm91dGVTaGFyaW5nUG9saWN5IEF1ZGlvU2Vz
c2lvbjo6cm91dGVTaGFyaW5nUG9saWN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gRGVmYXVsdDsK
K30KKworU3RyaW5nIEF1ZGlvU2Vzc2lvbjo6cm91dGluZ0NvbnRleHRVSUQgY29uc3QKK3sKKyAg
ICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKK30KKwogI2VuZGlmIC8vICFQTEFURk9STShDT0NPQSkK
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNz
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaAppbmRl
eCA3YWE3MTcyNzZkZjU0MzZiZmJmNTVkMTZhZDg1NjM1OGQ1ZTVhYTIzLi4yZGYyMDUwOTc2ZWUz
ZjY1NjU0MjY1NGEyZjYzZDJkOGJmOTAyYTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb1Nlc3Npb24uaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTMtMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBVU0UoQVVESU9f
U0VTU0lPTikKIAogI2luY2x1ZGUgPG1lbW9yeT4KKyNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBAIC0zNyw2ICszOCwxMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1ZGlvU2Vzc2lvblByaXZhdGU7CiAKK2VudW0gY2xh
c3MgUm91dGVTaGFyaW5nUG9saWN5IHsKKyAgICBEZWZhdWx0LAorICAgIExvbmdGb3JtLAorICAg
IEluZGVwZW5kZW50LAorfTsKKwogY2xhc3MgQXVkaW9TZXNzaW9uIHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShBdWRpb1Nlc3Npb24pOwogcHVibGljOgpAQCAtNTcsNiArNjQsOSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRDYXRlZ29yeU92ZXJyaWRlKENhdGVnb3J5VHlwZSk7CiAgICAgQ2F0
ZWdvcnlUeXBlIGNhdGVnb3J5T3ZlcnJpZGUoKSBjb25zdDsKIAorICAgIFJvdXRlU2hhcmluZ1Bv
bGljeSByb3V0ZVNoYXJpbmdQb2xpY3koKSBjb25zdDsKKyAgICBTdHJpbmcgcm91dGluZ0NvbnRl
eHRVSUQoKSBjb25zdDsKKwogICAgIGZsb2F0IHNhbXBsZVJhdGUoKSBjb25zdDsKICAgICBzaXpl
X3QgYnVmZmVyU2l6ZSgpIGNvbnN0OwogICAgIHNpemVfdCBudW1iZXJPZk91dHB1dENoYW5uZWxz
KCkgY29uc3Q7CkBAIC05MCw2ICsxMDAsMTcgQEAgcHJpdmF0ZToKIAogfQogCituYW1lc3BhY2Ug
V1RGIHsKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6Um91dGVTaGFyaW5n
UG9saWN5PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICBXZWJDb3JlOjpS
b3V0ZVNoYXJpbmdQb2xpY3ksCisgICAgV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5OjpEZWZh
dWx0LAorICAgIFdlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGljeTo6TG9uZ0Zvcm0sCisgICAgV2Vi
Q29yZTo6Um91dGVTaGFyaW5nUG9saWN5OjpJbmRlcGVuZGVudAorICAgID47Cit9OworfQorCiAj
ZW5kaWYgLy8gVVNFKEFVRElPX1NFU1NJT04pCiAKICNlbmRpZiAvLyBBdWRpb1Nlc3Npb25faApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL0F1ZGlvU2Vzc2lv
bklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9BdWRpb1Nlc3Npb25J
T1MubW0KaW5kZXggMzNiMDRiYmJjNjEwZmU0YzVkN2UxYjFiZThiMjgzMmZhYmQzM2M5My4uMmY4
ZjcyZDQ5Y2VjNDBlODllZjZmOGU5NzYyNTYzODE0MWQ3ODc2MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL0F1ZGlvU2Vzc2lvbklPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvQXVkaW9TZXNzaW9uSU9TLm1tCkBAIC0zMSwx
MSArMzEsMTAgQEAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9B
VkF1ZGlvU2Vzc2lvbi5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CisjaW1wb3J0IDxwYWwv
c3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNp
bXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogCi10eXBlZGVmIEFWQXVkaW9TZXNzaW9uIEFWQXVk
aW9TZXNzaW9uVHlwZTsKLQogU09GVF9MSU5LX0ZSQU1FV09SSyhBVkZvdW5kYXRpb24pCiBTT0ZU
X0xJTktfQ0xBU1MoQVZGb3VuZGF0aW9uLCBBVkF1ZGlvU2Vzc2lvbikKIApAQCAtMTY2LDYgKzE2
NSwyNiBAQCBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBBdWRpb1Nlc3Npb246OmNhdGVnb3J5
KCkgY29uc3QKICAgICByZXR1cm4gTm9uZTsKIH0KIAorUm91dGVTaGFyaW5nUG9saWN5IEF1ZGlv
U2Vzc2lvbjo6cm91dGVTaGFyaW5nUG9saWN5KCkgY29uc3QKK3sKKyAgICBzdGF0aWNfYXNzZXJ0
KHN0YXRpY19jYXN0PHNpemVfdD4oUm91dGVTaGFyaW5nUG9saWN5OjpEZWZhdWx0KSA9PSBzdGF0
aWNfY2FzdDxzaXplX3Q+KEFWQXVkaW9TZXNzaW9uUm91dGVTaGFyaW5nUG9saWN5RGVmYXVsdCks
ICJSb3V0ZVNoYXJpbmdQb2xpY3k6OkRlZmF1bHQgaXMgbm90IEFWQXVkaW9TZXNzaW9uUm91dGVT
aGFyaW5nUG9saWN5RGVmYXVsdCBhcyBleHBlY3RlZCIpOworICAgIHN0YXRpY19hc3NlcnQoc3Rh
dGljX2Nhc3Q8c2l6ZV90PihSb3V0ZVNoYXJpbmdQb2xpY3k6OkxvbmdGb3JtKSA9PSBzdGF0aWNf
Y2FzdDxzaXplX3Q+KEFWQXVkaW9TZXNzaW9uUm91dGVTaGFyaW5nUG9saWN5TG9uZ0Zvcm0pLCAi
Um91dGVTaGFyaW5nUG9saWN5OjpMb25nRm9ybSBpcyBub3QgQVZBdWRpb1Nlc3Npb25Sb3V0ZVNo
YXJpbmdQb2xpY3lMb25nRm9ybSBhcyBleHBlY3RlZCIpOworICAgIHN0YXRpY19hc3NlcnQoc3Rh
dGljX2Nhc3Q8c2l6ZV90PihSb3V0ZVNoYXJpbmdQb2xpY3k6OkluZGVwZW5kZW50KSA9PSBzdGF0
aWNfY2FzdDxzaXplX3Q+KEFWQXVkaW9TZXNzaW9uUm91dGVTaGFyaW5nUG9saWN5SW5kZXBlbmRl
bnQpLCAiUm91dGVTaGFyaW5nUG9saWN5OjpJbmRlcGVuZGVudCBpcyBub3QgQVZBdWRpb1Nlc3Np
b25Sb3V0ZVNoYXJpbmdQb2xpY3lJbmRlcGVuZGVudCBhcyBleHBlY3RlZCIpOworCisgICAgQVZB
dWRpb1Nlc3Npb25Sb3V0ZVNoYXJpbmdQb2xpY3kgcG9saWN5ID0gW1tBVkF1ZGlvU2Vzc2lvbiBz
aGFyZWRJbnN0YW5jZV0gcm91dGVTaGFyaW5nUG9saWN5XTsKKyAgICBBU1NFUlQoc3RhdGljX2Nh
c3Q8Um91dGVTaGFyaW5nUG9saWN5Pihwb2xpY3kpIDw9IFJvdXRlU2hhcmluZ1BvbGljeTo6SW5k
ZXBlbmRlbnQpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxSb3V0ZVNoYXJpbmdQb2xpY3k+KHBv
bGljeSk7Cit9CisKK1N0cmluZyBBdWRpb1Nlc3Npb246OnJvdXRpbmdDb250ZXh0VUlEKCkgY29u
c3QKK3sKKyNpZiAhUExBVEZPUk0oSU9TX1NJTVVMQVRPUikgJiYgIUVOQUJMRShNSU5JTUFMX1NJ
TVVMQVRPUikgJiYgIVBMQVRGT1JNKFdBVENIT1MpCisgICAgcmV0dXJuIFtbQVZBdWRpb1Nlc3Np
b24gc2hhcmVkSW5zdGFuY2VdIHJvdXRpbmdDb250ZXh0VUlEXTsKKyNlbHNlCisgICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7CisjZW5kaWYKK30KKwogdm9pZCBBdWRpb1Nlc3Npb246OnNldENhdGVn
b3J5T3ZlcnJpZGUoQ2F0ZWdvcnlUeXBlIGNhdGVnb3J5KQogewogICAgIGlmIChtX3ByaXZhdGUt
Pm1fY2F0ZWdvcnlPdmVycmlkZSA9PSBjYXRlZ29yeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Vi
a2l0L21lc3NhZ2VzLnB5CmluZGV4IGVhMDY3YzBiZDZhMzBhNmIxMWJlYmRmYjhhMzEyYzM4NTEz
OGJjMGQuLjNjYTFmZjczZjVmNTdlNmE3ODc5NzdjNjI3ZjU0ZDE4MTQyNjcwNzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtMzk0LDYgKzM5NCw3IEBAIGRl
ZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6UGx1Z2luSW5mbyc6
IFsnPFdlYkNvcmUvUGx1Z2luRGF0YS5oPiddLAogICAgICAgICAnV2ViQ29yZTo6UG9saWN5QWN0
aW9uJzogWyc8V2ViQ29yZS9GcmFtZUxvYWRlclR5cGVzLmg+J10sCiAgICAgICAgICdXZWJDb3Jl
OjpSZWNlbnRTZWFyY2gnOiBbJzxXZWJDb3JlL1NlYXJjaFBvcHVwTWVudS5oPiddLAorICAgICAg
ICAnV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5JzogWyc8V2ViQ29yZS9BdWRpb1Nlc3Npb24u
aD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXInOiBb
JzxXZWJDb3JlL1NlcnZpY2VXb3JrZXJUeXBlcy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckpvYklkZW50aWZpZXInOiBbJzxXZWJDb3JlL1NlcnZpY2VXb3JrZXJUeXBlcy5o
PiddLAogICAgICAgICAnV2ViQ29yZTo6U2VydmljZVdvcmtlck9yQ2xpZW50RGF0YSc6IFsnPFdl
YkNvcmUvU2VydmljZVdvcmtlclR5cGVzLmg+JywgJzxXZWJDb3JlL1NlcnZpY2VXb3JrZXJDbGll
bnREYXRhLmg+JywgJzxXZWJDb3JlL1NlcnZpY2VXb3JrZXJEYXRhLmg+J10sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggMjZkNjY2ZDk0ODNmOWJmY2FjMWU2ODM5ZGRhNzk3
MjIyNWM3MzlkYS4uZDdlZjY5N2Q5OThhMTY2Njk3ZjExZGM2ZjllOTFlMWM5NjdlMTgxOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMjk1LDcgKzI5NSw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgaW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5
Ym9hcmRFdmVudCYsIGJvb2wgaXNDaGFyRXZlbnQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9z
aXRpb25JbmZvcm1hdGlvbkRpZENoYW5nZShjb25zdCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQ
b3NpdGlvbiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2F2ZUltYWdlVG9MaWJyYXJ5KFJlZjxX
ZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd1BsYXli
YWNrVGFyZ2V0UGlja2VyKGJvb2wgaGFzVmlkZW8sIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGVs
ZW1lbnRSZWN0KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tl
cihib29sIGhhc1ZpZGVvLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBlbGVtZW50UmVjdCwgV2Vi
Q29yZTo6Um91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGRpc2FibGVEb3VibGVUYXBHZXN0dXJlc0R1cmluZ1RhcElmTmVjZXNzYXJ5KHVpbnQ2
NF90IHJlcXVlc3RJRCkgPSAwOwogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW1ab29tU2NhbGUo
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFJlY3QgZG9jdW1lbnRSZWN0
KCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA5
Yzk0NDI5MDllYmJlMDY5ZWQwNDNkZDcxZWQ0NjRjYzU2Y2I0NWMzLi45ZDEzNTVkMGNkN2M5ZGFl
YmJiODM3MTc2ZDc0N2YzZGY1N2ViYWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaApAQCAtMTU5Nyw3ICsxNTk3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGF1dG9jb3Jy
ZWN0aW9uQ29udGV4dENhbGxiYWNrKGNvbnN0IFN0cmluZyYgYmVmb3JlVGV4dCwgY29uc3QgU3Ry
aW5nJiBtYXJrZWRUZXh0LCBjb25zdCBTdHJpbmcmIHNlbGVjdGVkVGV4dCwgY29uc3QgU3RyaW5n
JiBhZnRlclRleHQsIHVpbnQ2NF90IGxvY2F0aW9uLCB1aW50NjRfdCBsZW5ndGgsIENhbGxiYWNr
SUQpOwogICAgIHZvaWQgc2VsZWN0aW9uQ29udGV4dENhbGxiYWNrKGNvbnN0IFN0cmluZyYgc2Vs
ZWN0ZWRUZXh0LCBjb25zdCBTdHJpbmcmIGJlZm9yZVRleHQsIGNvbnN0IFN0cmluZyYgYWZ0ZXJU
ZXh0LCBDYWxsYmFja0lEKTsKICAgICB2b2lkIGludGVycHJldEtleUV2ZW50KGNvbnN0IEVkaXRv
clN0YXRlJiwgYm9vbCBpc0NoYXJFdmVudCwgYm9vbCYgaGFuZGxlZCk7Ci0gICAgdm9pZCBzaG93
UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYgZWxlbWVudFJlY3QpOworICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wg
aGFzVmlkZW8sIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGVsZW1lbnRSZWN0LCBXZWJDb3JlOjpS
b3V0ZVNoYXJpbmdQb2xpY3ksIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2VsZWN0aW9uUmVj
dHNDYWxsYmFjayhjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VsZWN0aW9uUmVjdD4mLCBDYWxsYmFj
a0lEKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKEdUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA2ZWZkODhlMjdkMjU2MDYwODhi
OGYzMDQ4OGQ4Nzk4ZjIwNGY2ZGE3Li5hYzdhYTc2MDU1NzQ5N2Q0YjZmZjI5OGNlOGQ0ZDQ5ZDRl
ZThjOTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCkBAIC0xODgsNyArMTg4LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsK
ICAgICBJbnRlcnByZXRLZXlFdmVudChzdHJ1Y3QgV2ViS2l0OjpFZGl0b3JTdGF0ZSBzdGF0ZSwg
Ym9vbCBpc0NoYXJFdmVudCkgLT4gKGJvb2wgaGFuZGxlZCkKICAgICBEaWRSZWNlaXZlUG9zaXRp
b25JbmZvcm1hdGlvbihzdHJ1Y3QgV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3Np
dGlvbiBpbmZvcm1hdGlvbikKICAgICBTYXZlSW1hZ2VUb0xpYnJhcnkoV2ViS2l0OjpTaGFyZWRN
ZW1vcnk6OkhhbmRsZSBoYW5kbGUsIHVpbnQ2NF90IHNpemUpCi0gICAgU2hvd1BsYXliYWNrVGFy
Z2V0UGlja2VyKGJvb2wgaGFzVmlkZW8sIFdlYkNvcmU6OkludFJlY3QgZWxlbWVudFJlY3QpCisg
ICAgU2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wgaGFzVmlkZW8sIFdlYkNvcmU6OkludFJl
Y3QgZWxlbWVudFJlY3QsIGVudW0gV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5IHBvbGljeSwg
U3RyaW5nIHJvdXRpbmdDb250ZXh0VUlEKQogICAgIENvbW1pdFBvdGVudGlhbFRhcEZhaWxlZCgp
CiAgICAgRGlkTm90SGFuZGxlVGFwQXNDbGljayhXZWJDb3JlOjpJbnRQb2ludCBwb2ludCkKICAg
ICBEaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggNzEyMTk4NmFkMzJkM2ViYTZmMzEwODU4
OTZmMWYwODc5ZmFlMDIxNS4uOWE3NDY0YmE4YTQ3MDk4YTAyMDVkMWNkNDY4YWMwNjYyZDAyYWM1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
LmgKQEAgLTEzMiw3ICsxMzIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgaW50ZXJwcmV0S2V5RXZl
bnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wgaXNDaGFyRXZlbnQpIG92ZXJy
aWRlOwogICAgIHZvaWQgcG9zaXRpb25JbmZvcm1hdGlvbkRpZENoYW5nZShjb25zdCBJbnRlcmFj
dGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2F2ZUltYWdl
VG9MaWJyYXJ5KFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIG92ZXJyaWRlOwotICAgIHZv
aWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wgaGFzVmlkZW8sIGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIGVsZW1lbnRSZWN0KSBvdmVycmlkZTsKKyAgICB2b2lkIHNob3dQbGF5YmFja1Rh
cmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBlbGVtZW50
UmVjdCwgV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBTdHJpbmcmKSBvdmVycmlk
ZTsKIAogICAgIGJvb2wgaGFuZGxlUnVuT3BlblBhbmVsKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1l
UHJveHkqLCBBUEk6Ok9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0
ZW5lclByb3h5Kikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaXNhYmxlRG91YmxlVGFwR2VzdHVyZXNE
dXJpbmdUYXBJZk5lY2Vzc2FyeSh1aW50NjRfdCByZXF1ZXN0SUQpIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IDVh
MTJiZjdkMTc4N2NmNTQ1ODJlZDRhYjRlMDVjMGQzM2Y3Y2NiMjMuLjY2NzlhNDRiZmU5OWQzMjk4
MThjYjNlMTIwMzFmZTA1YTVkYmM0YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTU2Miw5ICs1NjIsOSBAQCB2b2lkIFBhZ2VD
bGllbnRJbXBsOjpzdG9wQXNzaXN0aW5nTm9kZSgpCiAgICAgW21fY29udGVudFZpZXcgX3N0b3BB
c3Npc3RpbmdOb2RlXTsKIH0KIAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2hvd1BsYXliYWNrVGFy
Z2V0UGlja2VyKGJvb2wgaGFzVmlkZW8sIGNvbnN0IEludFJlY3QmIGVsZW1lbnRSZWN0KQordm9p
ZCBQYWdlQ2xpZW50SW1wbDo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wgaGFzVmlkZW8s
IGNvbnN0IEludFJlY3QmIGVsZW1lbnRSZWN0LCBXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3kg
cG9saWN5LCBjb25zdCBTdHJpbmcmIGNvbnRleHRVSUQpCiB7Ci0gICAgW21fY29udGVudFZpZXcg
X3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjpoYXNWaWRlbyBmcm9tUmVjdDplbGVtZW50UmVjdF07
CisgICAgW21fY29udGVudFZpZXcgX3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjpoYXNWaWRlbyBm
cm9tUmVjdDplbGVtZW50UmVjdCByb3V0ZVNoYXJpbmdQb2xpY3k6cG9saWN5IHJvdXRpbmdDb250
ZXh0VUlEOmNvbnRleHRVSURdOwogfQogCiBib29sIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVSdW5P
cGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIEFQSTo6T3BlblBhbmVsUGFy
YW1ldGVycyogcGFyYW1ldGVycywgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSogbGlz
dGVuZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggM2Y0ZWU5NjdkZDhlZGI2ZjA0ZTkzMWU3NDE3M2IwYTM4
MjNhODQ4MS4uM2U5ZmRhZjY3YTc1NmQ0ODMzOWUzZGM1NmRjMzRlYjg0OWNjMWUyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24uaApAQCAtNjAsNiArNjAsNyBAQCBjbGFzcyBGbG9hdFF1YWQ7CiBjbGFzcyBJbnRTaXpl
OwogY2xhc3MgU2VsZWN0aW9uUmVjdDsKIHN0cnVjdCBQcm9taXNlZEJsb2JJbmZvOworZW51bSBj
bGFzcyBSb3V0ZVNoYXJpbmdQb2xpY3k7CiB9CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpA
QCAtMzE4LDcgKzMxOSw3IEBAIEZPUl9FQUNIX1dLQ09OVEVOVFZJRVdfQUNUSU9OKERFQ0xBUkVf
V0tDT05URU5UVklFV19BQ1RJT05fRk9SX1dFQl9WSUVXKQogLSAodm9pZClfZGlkRW5kU2Nyb2xs
aW5nT3Jab29taW5nOwogLSAodm9pZClfb3ZlcmZsb3dTY3JvbGxpbmdXaWxsQmVnaW47CiAtICh2
b2lkKV9vdmVyZmxvd1Njcm9sbGluZ0RpZEVuZDsKLS0gKHZvaWQpX3Nob3dQbGF5YmFja1Rhcmdl
dFBpY2tlcjooQk9PTCloYXNWaWRlbyBmcm9tUmVjdDooY29uc3QgV2ViQ29yZTo6SW50UmVjdCYp
ZWxlbWVudFJlY3Q7CistICh2b2lkKV9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6KEJPT0wpaGFz
VmlkZW8gZnJvbVJlY3Q6KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKWVsZW1lbnRSZWN0IHJvdXRl
U2hhcmluZ1BvbGljeTooV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5KXBvbGljeSByb3V0aW5n
Q29udGV4dFVJRDooTlNTdHJpbmcgKiljb250ZXh0VUlEOwogLSAodm9pZClfc2hvd1J1bk9wZW5Q
YW5lbDooQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKilwYXJhbWV0ZXJzIHJlc3VsdExpc3RlbmVy
OihXZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKWxpc3RlbmVyOwogLSAo
dm9pZClhY2Nlc3NvcnlEb25lOwogLSAodm9pZClfZGlkSGFuZGxlS2V5RXZlbnQ6KDo6V2ViRXZl
bnQgKilldmVudCBldmVudFdhc0hhbmRsZWQ6KEJPT0wpZXZlbnRXYXNIYW5kbGVkOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KaW5kZXggMGJiOWE3NTc0MmEyZThjZmZkMTk2NmUyMzk0ZjIwNTQ1ZmVhNTg3ZC4uYzJh
M2JhZGUxMTMzMWI4YWYwYWNmNTQwYWNmZDhkMTlhZjZjNTZjNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBA
IC00NTc2LDEzICs0NTc2LDEzIEBAIHN0YXRpYyBib29sIGlzQXNzaXN0YWJsZUlucHV0VHlwZShJ
bnB1dFR5cGUgdHlwZSkKICAgICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IGFjdGl2YXRl
U2VsZWN0aW9uXTsKIH0KIAotLSAodm9pZClfc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyOihCT09M
KWhhc1ZpZGVvIGZyb21SZWN0Oihjb25zdCBJbnRSZWN0JillbGVtZW50UmVjdAorLSAodm9pZClf
c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyOihCT09MKWhhc1ZpZGVvIGZyb21SZWN0Oihjb25zdCBJ
bnRSZWN0JillbGVtZW50UmVjdCByb3V0ZVNoYXJpbmdQb2xpY3k6KFdlYkNvcmU6OlJvdXRlU2hh
cmluZ1BvbGljeSlyb3V0ZVNoYXJpbmdQb2xpY3kgcm91dGluZ0NvbnRleHRVSUQ6KE5TU3RyaW5n
ICopcm91dGluZ0NvbnRleHRVSUQKIHsKICNpZiBFTkFCTEUoQUlSUExBWV9QSUNLRVIpCiAjaWYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwICYmICFQTEFURk9STShX
QVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICAgICBpZiAoIV9haXJQbGF5Um91dGVQaWNr
ZXIpCiAgICAgICAgIF9haXJQbGF5Um91dGVQaWNrZXIgPSBhZG9wdE5TKFtbV0tBaXJQbGF5Um91
dGVQaWNrZXIgYWxsb2NdIGluaXRdKTsKLSAgICBbX2FpclBsYXlSb3V0ZVBpY2tlciBzaG93RnJv
bVZpZXc6c2VsZl07CisgICAgW19haXJQbGF5Um91dGVQaWNrZXIgc2hvd0Zyb21WaWV3OnNlbGYg
cm91dGVTaGFyaW5nUG9saWN5OnJvdXRlU2hhcmluZ1BvbGljeSByb3V0aW5nQ29udGV4dFVJRDpy
b3V0aW5nQ29udGV4dFVJRF07CiAjZWxzZQogICAgIGlmICghX2FpclBsYXlSb3V0ZVBpY2tlcikK
ICAgICAgICAgX2FpclBsYXlSb3V0ZVBpY2tlciA9IGFkb3B0TlMoW1tXS0FpclBsYXlSb3V0ZVBp
Y2tlciBhbGxvY10gaW5pdFdpdGhWaWV3OnNlbGZdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDcxM2IyZjg1ZTM4NzczYWZhZDhmZmE1
MTU3MzgzMjhlY2Q0NjE2MjYuLjcwOThiYjc5NDYyZjNiODA4ZTZmYzEwZjI4N2ZkYzc3NjYyMDM4
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5t
bQpAQCAtMTAzMyw5ICsxMDMzLDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdSb290TGF5ZXIoTGF5ZXJPclZpZXcqIHJvb3RMYXllcikKICAgICBtX3BhZ2VD
bGllbnQuc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jvb3RMYXllcihyb290TGF5ZXIpOwogfQog
Ci12b2lkIFdlYlBhZ2VQcm94eTo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wgaGFzVmlk
ZW8sIGNvbnN0IEludFJlY3QmIGVsZW1lbnRSZWN0KQordm9pZCBXZWJQYWdlUHJveHk6OnNob3dQ
bGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBjb25zdCBJbnRSZWN0JiBlbGVtZW50
UmVjdCwgV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5IHBvbGljeSwgY29uc3QgU3RyaW5nJiBj
b250ZXh0VUlEKQogewotICAgIG1fcGFnZUNsaWVudC5zaG93UGxheWJhY2tUYXJnZXRQaWNrZXIo
aGFzVmlkZW8sIGVsZW1lbnRSZWN0KTsKKyAgICBtX3BhZ2VDbGllbnQuc2hvd1BsYXliYWNrVGFy
Z2V0UGlja2VyKGhhc1ZpZGVvLCBlbGVtZW50UmVjdCwgcG9saWN5LCBjb250ZXh0VUlEKTsKIH0K
IAogdm9pZCBXZWJQYWdlUHJveHk6OmNvbW1pdFBvdGVudGlhbFRhcEZhaWxlZCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNr
ZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBp
Y2tlci5oCmluZGV4IDFmNTE3YmM0OTFiM2NhNGNhOTQzMWVjMjg4MmJlOWQ2YWYyMzlkODcuLjM2
MTM5ZjI1NTg3M2Y2ZmIzYTM3YjYxODkyNDE5OTgwM2NiNGQxNzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5o
CkBAIC0yOSwxMCArMjksMTQgQEAKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+
CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2VudW0gY2xhc3MgUm91dGVTaGFyaW5nUG9saWN5Owor
fQorCiBAY2xhc3MgVUlWaWV3OwogCiBAaW50ZXJmYWNlIFdLQWlyUGxheVJvdXRlUGlja2VyIDog
TlNPYmplY3QKLS0gKHZvaWQpc2hvd0Zyb21WaWV3OihVSVZpZXcgKil2aWV3OworLSAodm9pZClz
aG93RnJvbVZpZXc6KFVJVmlldyAqKXZpZXcgcm91dGVTaGFyaW5nUG9saWN5OihXZWJDb3JlOjpS
b3V0ZVNoYXJpbmdQb2xpY3kpcG9saWN5IHJvdXRpbmdDb250ZXh0VUlEOihOU1N0cmluZyAqKWNv
bnRleHRVSUQ7CiBAZW5kCiAKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0KaW5kZXggZDVmMmIxYTJl
ZTQ1MjkxMDU4MDZhYmQ1NTNmNTkxMzU3OGRlMWNiNi4uNzRiZDIzMmQ2MjJlZTgxZTA3YmY0NDll
MzA4N2EyNTk3ZmM3MjhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbQpAQCAtMjksNiArMjksNyBAQAog
I2lmIFBMQVRGT1JNKElPUykgJiYgRU5BQkxFKEFJUlBMQVlfUElDS0VSKQogCiAjaW1wb3J0ICJV
SUtpdFNQSS5oIgorI2ltcG9ydCA8V2ViQ29yZS9BdWRpb1Nlc3Npb24uaD4KICNpbXBvcnQgPHBh
bC9zcGkvaW9zL01lZGlhUGxheWVyU1BJLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAj
aW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KQEAgLTE2Nyw2ICsxNjgsMTcgQEAgU09GVF9MSU5L
X0ZSQU1FV09SSyhNZWRpYVBsYXllcikKIFNPRlRfTElOS19DTEFTUyhNZWRpYVBsYXllciwgTVBB
VlJvdXRpbmdDb250cm9sbGVyKQogU09GVF9MSU5LX0NMQVNTKE1lZGlhUGxheWVyLCBNUE1lZGlh
Q29udHJvbHNWaWV3Q29udHJvbGxlcikKIAorZW51bSB7CisgICAgV0tBaXJQbGF5Um91dGVQaWNr
ZXJSb3V0ZVNoYXJpbmdQb2xpY3lEZWZhdWx0ID0gMCwKKyAgICBXS0FpclBsYXlSb3V0ZVBpY2tl
clJvdXRlU2hhcmluZ1BvbGljeUxvbmdGb3JtID0gMSwKKyAgICBXS0FpclBsYXlSb3V0ZVBpY2tl
clJvdXRlU2hhcmluZ1BvbGljeUluZGVwZW5kZW50ID0gMiwKK307Cit0eXBlZGVmIE5TSW50ZWdl
ciBXS0FpclBsYXlSb3V0ZVBpY2tlclJvdXRlU2hhcmluZ1BvbGljeTsKKworQGludGVyZmFjZSBN
UE1lZGlhQ29udHJvbHNWaWV3Q29udHJvbGxlciAoV0tNUE1lZGlhQ29udHJvbHNWaWV3Q29udHJv
bGxlclByaXZhdGUpCistICh2b2lkKXNldE92ZXJyaWRlUm91dGVTaGFyaW5nUG9saWN5OihXS0Fp
clBsYXlSb3V0ZVBpY2tlclJvdXRlU2hhcmluZ1BvbGljeSlyb3V0ZVNoYXJpbmdQb2xpY3kgcm91
dGluZ0NvbnRleHRVSUQ6KE5TU3RyaW5nICopcm91dGluZ0NvbnRleHRVSUQ7CitAZW5kCisKIEBp
bXBsZW1lbnRhdGlvbiBXS0FpclBsYXlSb3V0ZVBpY2tlciB7CiAgICAgUmV0YWluUHRyPE1QTWVk
aWFDb250cm9sc1ZpZXdDb250cm9sbGVyPiBfYWN0aW9uU2hlZXQ7CiB9CkBAIC0xNzcsOCArMTg5
LDEyIEBAIFNPRlRfTElOS19DTEFTUyhNZWRpYVBsYXllciwgTVBNZWRpYUNvbnRyb2xzVmlld0Nv
bnRyb2xsZXIpCiAgICAgW3N1cGVyIGRlYWxsb2NdOwogfQogCi0tICh2b2lkKXNob3dGcm9tVmll
dzooVUlWaWV3ICopdmlldworLSAodm9pZClzaG93RnJvbVZpZXc6KFVJVmlldyAqKXZpZXcgcm91
dGVTaGFyaW5nUG9saWN5OihXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3kpcm91dGVTaGFyaW5n
UG9saWN5IHJvdXRpbmdDb250ZXh0VUlEOihOU1N0cmluZyAqKXJvdXRpbmdDb250ZXh0VUlECiB7
CisgICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFdlYkNvcmU6OlJvdXRlU2hh
cmluZ1BvbGljeTo6RGVmYXVsdCkgPT0gc3RhdGljX2Nhc3Q8c2l6ZV90PihXS0FpclBsYXlSb3V0
ZVBpY2tlclJvdXRlU2hhcmluZ1BvbGljeURlZmF1bHQpLCAiUm91dGVTaGFyaW5nUG9saWN5OjpE
ZWZhdWx0IGlzIG5vdCBXS0FpclBsYXlSb3V0ZVBpY2tlclJvdXRlU2hhcmluZ1BvbGljeURlZmF1
bHQgYXMgZXhwZWN0ZWQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4o
V2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5OjpMb25nRm9ybSkgPT0gc3RhdGljX2Nhc3Q8c2l6
ZV90PihXS0FpclBsYXlSb3V0ZVBpY2tlclJvdXRlU2hhcmluZ1BvbGljeUxvbmdGb3JtKSwgIlJv
dXRlU2hhcmluZ1BvbGljeTo6TG9uZ0Zvcm0gaXMgbm90IFdLQWlyUGxheVJvdXRlUGlja2VyUm91
dGVTaGFyaW5nUG9saWN5TG9uZ0Zvcm0gYXMgZXhwZWN0ZWQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0
KHN0YXRpY19jYXN0PHNpemVfdD4oV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5OjpJbmRlcGVu
ZGVudCkgPT0gc3RhdGljX2Nhc3Q8c2l6ZV90PihXS0FpclBsYXlSb3V0ZVBpY2tlclJvdXRlU2hh
cmluZ1BvbGljeUluZGVwZW5kZW50KSwgIlJvdXRlU2hhcmluZ1BvbGljeTo6SW5kZXBlbmRlbnQg
aXMgbm90IFdLQWlyUGxheVJvdXRlUGlja2VyUm91dGVTaGFyaW5nUG9saWN5SW5kZXBlbmRlbnQg
YXMgZXhwZWN0ZWQiKTsKKwogICAgIGlmIChfYWN0aW9uU2hlZXQpCiAgICAgICAgIHJldHVybjsK
IApAQCAtMTg2LDYgKzIwMiwxMCBAQCBTT0ZUX0xJTktfQ0xBU1MoTWVkaWFQbGF5ZXIsIE1QTWVk
aWFDb250cm9sc1ZpZXdDb250cm9sbGVyKQogICAgIFtyb3V0aW5nQ29udHJvbGxlciBzZXREaXNj
b3ZlcnlNb2RlOk1QUm91dGVEaXNjb3ZlcnlNb2RlRGV0YWlsZWRdOwogCiAgICAgX2FjdGlvblNo
ZWV0ID0gYWRvcHROUyhbYWxsb2NNUE1lZGlhQ29udHJvbHNWaWV3Q29udHJvbGxlckluc3RhbmNl
KCkgaW5pdF0pOworCisgICAgaWYgKFtfYWN0aW9uU2hlZXQgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihzZXRPdmVycmlkZVJvdXRlU2hhcmluZ1BvbGljeTpyb3V0aW5nQ29udGV4dFVJRDop
XSkKKyAgICAgICAgW19hY3Rpb25TaGVldCBzZXRPdmVycmlkZVJvdXRlU2hhcmluZ1BvbGljeTpz
dGF0aWNfY2FzdDxXS0FpclBsYXlSb3V0ZVBpY2tlclJvdXRlU2hhcmluZ1BvbGljeT4ocm91dGVT
aGFyaW5nUG9saWN5KSByb3V0aW5nQ29udGV4dFVJRDpyb3V0aW5nQ29udGV4dFVJRF07CisKICAg
ICBfYWN0aW9uU2hlZXQuZ2V0KCkuZGlkRGlzbWlzc0hhbmRsZXIgPSBeIHsKICAgICAgICAgW3Jv
dXRpbmdDb250cm9sbGVyIHNldERpc2NvdmVyeU1vZGU6TVBSb3V0ZURpc2NvdmVyeU1vZGVEaXNh
YmxlZF07CiAgICAgICAgIHJvdXRpbmdDb250cm9sbGVyID0gbmlsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CmluZGV4IDMyMWI1MjJmYjNiZWM4MzUyMmZhM2Y5ZTNkODIwNWI4NmZiYWVhOWYuLjFmNjllNmZi
N2UwNGUyZTcwOTQyNDkyMzRhMGZjOWZiOGEyYWQ1MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAg
LTE3Myw3ICsxNzMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3ZlU2Nyb2xsaW5nTGF5ZXIo
V2ViQ29yZTo6Tm9kZSosIFBsYXRmb3JtTGF5ZXIqIHNjcm9sbGluZ0xheWVyLCBQbGF0Zm9ybUxh
eWVyKiBjb250ZW50c0xheWVyKSBmaW5hbDsKIAogICAgIHZvaWQgd2ViQXBwT3JpZW50YXRpb25z
VXBkYXRlZCgpIGZpbmFsOwotICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wg
aGFzVmlkZW8pIGZpbmFsOworICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wg
aGFzVmlkZW8sIFdlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGljeSwgY29uc3QgU3RyaW5nJikgZmlu
YWw7CiAKICAgICBTZWNvbmRzIGV2ZW50VGhyb3R0bGluZ0RlbGF5KCkgZmluYWw7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3Mv
V2ViQ2hyb21lQ2xpZW50SU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW0KaW5kZXggZjMxYzM2MzdiNzhlYWY0MDUw
ZTllOTA1Y2RhNTNlMDFhNDQyNjhmNy4uY2Q1ZTY0MmU0OWExM2U3MGIyZGMzYzgwZDU5MmFjNjFj
MDRlOGZlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW0KQEAgLTM1LDYgKzM1
LDcgQEAKICNpbXBvcnQgIldlYkljb25VdGlsaXRpZXMuaCIKICNpbXBvcnQgIldlYlBhZ2UuaCIK
ICNpbXBvcnQgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCisjaW1wb3J0IDxXZWJDb3JlL0F1ZGlv
U2Vzc2lvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9JY29uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL05v
dEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDx3dGYvUmVmUHRyLmg+CkBAIC0xMzQsOSArMTM1LDkg
QEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OndlYkFwcE9yaWVudGF0aW9uc1VwZGF0ZWQoKQogICAg
IG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzaG93UGxheWJh
Y2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbykKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzaG93
UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywgV2ViQ29yZTo6Um91dGVTaGFyaW5n
UG9saWN5IHBvbGljeSwgY29uc3QgU3RyaW5nJiByb3V0aW5nQ29udGV4dFVJRCkKIHsKLSAgICBt
X3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93UGxheWJhY2tUYXJnZXRQaWNr
ZXIoaGFzVmlkZW8sIG1fcGFnZS5yZWN0Rm9yRWxlbWVudEF0SW50ZXJhY3Rpb25Mb2NhdGlvbigp
KSk7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd1BsYXliYWNr
VGFyZ2V0UGlja2VyKGhhc1ZpZGVvLCBtX3BhZ2UucmVjdEZvckVsZW1lbnRBdEludGVyYWN0aW9u
TG9jYXRpb24oKSwgcG9saWN5LCByb3V0aW5nQ29udGV4dFVJRCkpOwogfQogCiBTZWNvbmRzIFdl
YkNocm9tZUNsaWVudDo6ZXZlbnRUaHJvdHRsaW5nRGVsYXkoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50SU9TLmggYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1Mu
aAppbmRleCAzY2RjNTk2NmU5ZjVkYjUyZWE1YTBiMjU3NTc1M2ExZGZmNmFhMjQyLi5jN2RiZWRh
MjYxN2NhZDRhYTYzN2E0NjI1ZTllYjM0ZjNkZjJhM2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1MuaAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1Mu
aApAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3ZWJBcHBPcmllbnRhdGlv
bnNVcGRhdGVkKCkgZmluYWw7CiAgICAgdm9pZCBmb2N1c2VkRWxlbWVudENoYW5nZWQoV2ViQ29y
ZTo6RWxlbWVudCopIGZpbmFsOwotICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJv
b2wgaGFzVmlkZW8pIGZpbmFsOworICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJv
b2wgaGFzVmlkZW8sIFdlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGljeSwgY29uc3QgU3RyaW5nJikg
ZmluYWw7CiAgICAgUmVmUHRyPFdlYkNvcmU6Okljb24+IGNyZWF0ZUljb25Gb3JGaWxlcyhjb25z
dCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzKSBmaW5hbDsKIAogI2lmIEVOQUJMRShPUklFTlRB
VElPTl9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1MubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1MubW0KaW5kZXggNjMxZmE2ZmI1YmZjZGMw
YmQ0YjFmNGZkNDdlOGNjNzc5ZjY2MmYxNS4uMGJmMGM5NTE2YzE0MDUwZTg3MjExMzk5MjBiNjUx
NmJhZjY1ZjQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9z
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5tbQpAQCAtMzY3LDcgKzM2Nyw3IEBA
IHZvaWQgV2ViQ2hyb21lQ2xpZW50SU9TOjpmb2N1c2VkRWxlbWVudENoYW5nZWQoRWxlbWVudCog
ZWxlbWVudCkKICAgICBDYWxsRm9ybURlbGVnYXRlKHdlYlZpZXcoKSwgQHNlbGVjdG9yKGRpZEZv
Y3VzVGV4dEZpZWxkOmluRnJhbWU6KSwga2l0KCZpbnB1dEVsZW1lbnQpLCBraXQoaW5wdXRFbGVt
ZW50LmRvY3VtZW50KCkuZnJhbWUoKSkpOwogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudElPUzo6
c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wgaGFzVmlkZW8pCit2b2lkIFdlYkNocm9tZUNs
aWVudElPUzo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wgaGFzVmlkZW8sIFdlYkNvcmU6
OlJvdXRlU2hhcmluZ1BvbGljeSwgY29uc3QgU3RyaW5nJikKIHsKICAgICBDR1BvaW50IHBvaW50
ID0gW1t3ZWJWaWV3KCkgX1VJS2l0RGVsZWdhdGVGb3J3YXJkZXJdIGludGVyYWN0aW9uTG9jYXRp
b25dOwogICAgIENHUmVjdCBlbGVtZW50UmVjdCA9IFtbd2ViVmlldygpIG1haW5GcmFtZV0gZWxl
bWVudFJlY3RBdFBvaW50OnBvaW50XTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339308</attachid>
            <date>2018-05-02 09:45:52 -0700</date>
            <delta_ts>2018-05-02 10:05:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185199-20180502094551.patch</filename>
            <type>text/plain</type>
            <size>34724</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE1YWI3MzQzMGJlOTk4
MmNlYzNhZGY1ZWZiZTllNDBjNDVkZDgxNi4uZWU0YTg1ZDM5ZTI4OTY4ZDU3MTFkYmQ5ZDMyNDhm
ZDFlZjg2NjBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE4LTA1LTAyICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFByb3Zp
ZGUgYXVkaW8gcm91dGUgaW5mb3JtYXRpb24gd2hlbiBpbnZva2luZyBBaXJQbGF5IHBpY2tlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1MTk5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTg1MzEwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRoaXMgcmVxdWlyZXMgYSBz
cGVjaWZpYyBoYXJkd2FyZSBzZXR1cC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKTogUGFz
cyByb3V0ZSBzaGFyaW5nIHBvbGljeSBhbmQgcm91dGluZyBjb250ZXh0IFVJRC4KKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaDoKKworICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpzaG93UGxheWJhY2tU
YXJnZXRQaWNrZXIpOiBEaXR0by4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoK
KyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCisgICAgICAgICogcGFnZS9QYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcik6IERp
dHRvLgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
QXVkaW9TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6cm91dGVT
aGFyaW5nUG9saWN5IGNvbnN0KTogRW1wdHkgaW1wbGVtZW50YXRpb24gZm9yIG5vbi1pT1MgcG9y
dHMuCisgICAgICAgIChXZWJDb3JlOjpyb3V0aW5nQ29udGV4dFVJRCBjb25zdCk6IERpdHRvLgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oOgorCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vaW9zL0F1ZGlvU2Vzc2lvbklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvU2Vzc2lvbjo6cm91dGVTaGFyaW5nUG9saWN5IGNvbnN0KTogUmV0dXJuIHRoZSByb3V0ZSBz
aGFyaW5nIHBvbGljeS4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6cm91dGluZ0Nv
bnRleHRVSUQgY29uc3QpOiBSZXR1cm4gdGhlIHJvdXRlIGNvbnRleHQgVUlELgorCiAyMDE4LTA1
LTAxICBPbGVrc2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCiAgICAgICAg
IFdlYkFzc2VtYmx5OiBhZGQgc3VwcG9ydCBmb3Igc3RyZWFtIEFQSXMgLSBKYXZhU2NyaXB0IEFQ
SQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggZTY0NzE1OWQ5ZGU3ZTNkMTMxNzg1OWQ5MDFlNTU0MTg2
YzBjYjIwZS4uNDg5MWViZWNiN2JjYjdmODBhZTM4YWIyNjBjYThlODYyYzdhNjc2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMDUtMDIgIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gUHJvdmlkZSBhdWRpbyBy
b3V0ZSBpbmZvcm1hdGlvbiB3aGVuIGludm9raW5nIEFpclBsYXkgcGlja2VyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODUxOTkKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzM5ODUzMTAzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmg6IEFkZCBhZGRp
dGlvbmFsIEFWQXVkaW9TZXNzaW9uIFNQSS4KKwogMjAxOC0wNS0wMSAgT2xla3NhbmRyIFNrYWNo
a292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KIAogICAgICAgICBXZWJBc3NlbWJseTogYWRkIHN1
cHBvcnQgZm9yIHN0cmVhbSBBUElzIC0gSmF2YVNjcmlwdCBBUEkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjc1YmRj
YTk2N2E1MDg0ZWQyNmZlZTAxZDllNzlkNTg3MDg2OTUzMS4uNzE1YWYwN2YzM2ExZDQyYTIwM2Uz
Mzg2ZTkwZGEwYzlmNmY5ODBiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxOC0wNS0w
MiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9T
XSBQcm92aWRlIGF1ZGlvIHJvdXRlIGluZm9ybWF0aW9uIHdoZW4gaW52b2tpbmcgQWlyUGxheSBw
aWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
NTE5OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk4NTMxMDM+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdl
cy5weToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKTogIFBhc3Mg
cm91dGUgc2hhcmluZyBwb2xpY3kgYW5kIHJvdXRpbmcgY29udGV4dCBVSUQuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IF9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6ZnJvbVJlY3Q6cm91dGVTaGFyaW5n
UG9saWN5OnJvdXRpbmdDb250ZXh0VUlEOl0pOiBUYWtlIHNhbWUuCisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgX3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjpmcm9tUmVjdDpdKTogRGVsZXRlZC4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcik6IFBhc3Mgcm91
dGUgc2hhcmluZyBwb2xpY3kgYW5kIHJvdXRpbmcgY29udGV4dCBVSUQuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbToKKyAgICAgICAgKC1bV0tB
aXJQbGF5Um91dGVQaWNrZXIgc2hvd0Zyb21WaWV3OnJvdXRlU2hhcmluZ1BvbGljeTpyb3V0aW5n
Q29udGV4dFVJRDpdKTogVGFrZSBzYW1lLgorICAgICAgICAoLVtXS0FpclBsYXlSb3V0ZVBpY2tl
ciBzaG93RnJvbVZpZXc6XSk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q2hyb21lQ2xpZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIpOgorCiAyMDE4LTA1LTAxICBP
bGVrc2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCiAgICAgICAgIFdlYkFz
c2VtYmx5OiBhZGQgc3VwcG9ydCBmb3Igc3RyZWFtIEFQSXMgLSBKYXZhU2NyaXB0IEFQSQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dExlZ2FjeS9pb3MvQ2hhbmdlTG9nCmluZGV4IGI4ODI3ZTNhNzFiYmE0Y2NhMjQxMjhiNzQ2Yjgz
NDUyNDcwMDg1MzMuLjJhZTQ0MjAxN2M3MjZmZTM3MTFlZWEzNWE2MmI5ZTRiOWMzYWUyZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0wNS0wMiAg
RXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBQ
cm92aWRlIGF1ZGlvIHJvdXRlIGluZm9ybWF0aW9uIHdoZW4gaW52b2tpbmcgQWlyUGxheSBwaWNr
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTE5
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk4NTMxMDM+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnRJT1MuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1Mu
bW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnRJT1M6OnNob3dQbGF5YmFja1RhcmdldFBpY2tl
cik6IFBhc3Mgcm91dGUgc2hhcmluZyBwb2xpY3kgYW5kIHJvdXRpbmcgY29udGV4dCBVSUQuCisK
IDIwMTgtMDQtMDUgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAg
ICAgICAgW1dURl0gUmVtb3ZlIFN0YXRpY0xvY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaAppbmRleCAyM2VkNGUyMGM5NDMxMjgxNjM4ZjE2
YTgyZDczNzMyNDVhZjgyMTRkLi43NjkzYmNkNjY5OWU1NTI4ZjBlMWI4N2FmMjAxN2YwM2Q3MDZk
ZDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0
aW9uU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0FWRm91bmRhdGlv
blNQSS5oCkBAIC0yNzAsNCArMjcwLDE0IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKIE5T
X0FTU1VNRV9OT05OVUxMX0VORAogCisjaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9T
X1NJTVVMQVRPUikgJiYgIUVOQUJMRShNSU5JTUFMX1NJTVVMQVRPUikKK05TX0FTU1VNRV9OT05O
VUxMX0JFR0lOCisKK0BpbnRlcmZhY2UgQVZBdWRpb1Nlc3Npb24gKEFWQXVkaW9TZXNzaW9uUHJp
dmF0ZSkKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIE5TU3RyaW5nKiByb3V0aW5nQ29udGV4dFVJRDsK
K0BlbmQKKworTlNfQVNTVU1FX05PTk5VTExfRU5ECisjZW5kaWYKKwogI2VuZGlmIC8vIF9faGFz
X2luY2x1ZGUoPEFWRm91bmRhdGlvbi9BVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXIuaD4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBhOTk1YWFlNWY4MjFhMzY0Zjc1NjRiMDJjYmViNWFk
NzQ3YzJiYjc1Li42ZjgyZjdiOGM5OTEzYzFhNmU3ZjU1NDMwMTQyNWJjNzU4YTViYzQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTcxODksNyArNzE4OSw3IEBAIHZvaWQgRG9jdW1lbnQ6
OnJlbW92ZVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50KE1lZGlhUGxheWJhY2tUYXJnZXRDbGll
bnQmIGNsaWVuCiAgICAgcGFnZS0+cmVtb3ZlUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQoY2xp
ZW50SWQpOwogfQogCi12b2lkIERvY3VtZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVk
aWFQbGF5YmFja1RhcmdldENsaWVudCYgY2xpZW50LCBib29sIGlzVmlkZW8pCit2b2lkIERvY3Vt
ZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVkaWFQbGF5YmFja1RhcmdldENsaWVudCYg
Y2xpZW50LCBib29sIGlzVmlkZW8sIFJvdXRlU2hhcmluZ1BvbGljeSByb3V0ZVNoYXJpbmdQb2xp
Y3ksIGNvbnN0IFN0cmluZyYgcm91dGluZ0NvbnRleHRVSUQpCiB7CiAgICAgUGFnZSogcGFnZSA9
IHRoaXMtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UpCkBAIC03MTk5LDcgKzcxOTksNyBAQCB2b2lk
IERvY3VtZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVkaWFQbGF5YmFja1RhcmdldENs
aWVudCYgY2xpZW50LCBib29sCiAgICAgaWYgKGl0ID09IG1fY2xpZW50VG9JRE1hcC5lbmQoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgcGFnZS0+c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGl0
LT52YWx1ZSwgdmlldygpLT5sYXN0S25vd25Nb3VzZVBvc2l0aW9uKCksIGlzVmlkZW8pOworICAg
IHBhZ2UtPnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihpdC0+dmFsdWUsIHZpZXcoKS0+bGFzdEtu
b3duTW91c2VQb3NpdGlvbigpLCBpc1ZpZGVvLCByb3V0ZVNoYXJpbmdQb2xpY3ksIHJvdXRpbmdD
b250ZXh0VUlEKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6cGxheWJhY2tUYXJnZXRQaWNrZXJDbGll
bnRTdGF0ZURpZENoYW5nZShNZWRpYVBsYXliYWNrVGFyZ2V0Q2xpZW50JiBjbGllbnQsIE1lZGlh
UHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBzdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
ZGEyZTc0OWVjYzNiNjEwMDUwN2FmYWEyZjZkZmY2NzI1MDRmZmFjNC4uOWM4MzM4ZGEwNmViNTIx
YWFmMjNmNTlmODYzNWI0ZTY5ZjBjZjAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE5Niw2
ICsxOTYsOCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3MgRXhjZXB0aW9uT3I7CiBlbnVtIENv
bGxlY3Rpb25UeXBlOwogZW51bSBjbGFzcyBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5Owog
CitlbnVtIGNsYXNzIFJvdXRlU2hhcmluZ1BvbGljeTsKKwogdXNpbmcgUGxhdGZvcm1EaXNwbGF5
SUQgPSB1aW50MzJfdDsKIAogI2lmIEVOQUJMRShYU0xUKQpAQCAtMTMxNyw3ICsxMzE5LDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgdm9pZCBh
ZGRQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudChNZWRpYVBsYXliYWNrVGFyZ2V0Q2xpZW50Jik7
CiAgICAgdm9pZCByZW1vdmVQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudChNZWRpYVBsYXliYWNr
VGFyZ2V0Q2xpZW50Jik7Ci0gICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVkaWFQ
bGF5YmFja1RhcmdldENsaWVudCYsIGJvb2wpOworICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0
UGlja2VyKE1lZGlhUGxheWJhY2tUYXJnZXRDbGllbnQmLCBib29sLCBSb3V0ZVNoYXJpbmdQb2xp
Y3ksIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRT
dGF0ZURpZENoYW5nZShNZWRpYVBsYXliYWNrVGFyZ2V0Q2xpZW50JiwgTWVkaWFQcm9kdWNlcjo6
TWVkaWFTdGF0ZUZsYWdzKTsKIAogICAgIHZvaWQgc2V0UGxheWJhY2tUYXJnZXQodWludDY0X3Qs
IFJlZjxNZWRpYVBsYXliYWNrVGFyZ2V0PiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDVjZDc5MDU1Njg5ZDVkZTQ4NGMxMGNjYWYxODZkMjBh
NzQ2NTdlYTEuLjY3MjhhZjViYzQyZGQ1ZjIyMjgyNDY4NjIwODI4MzdkZGEyY2FkZTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNDM0LDcgKzQz
NCw4IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2Vy
KCkKICAgICB9CiAjZW5kaWYKIAotICAgIGRvY3VtZW50LnNob3dQbGF5YmFja1RhcmdldFBpY2tl
cigqdGhpcywgaXM8SFRNTFZpZGVvRWxlbWVudD4obV9lbGVtZW50KSk7CisgICAgYXV0byYgYXVk
aW9TZXNzaW9uID0gQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCk7CisgICAgZG9jdW1lbnQu
c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKCp0aGlzLCBpczxIVE1MVmlkZW9FbGVtZW50PihtX2Vs
ZW1lbnQpLCBhdWRpb1Nlc3Npb24ucm91dGVTaGFyaW5nUG9saWN5KCksIGF1ZGlvU2Vzc2lvbi5y
b3V0aW5nQ29udGV4dFVJRCgpKTsKIH0KIAogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpoYXNX
aXJlbGVzc1BsYXliYWNrVGFyZ2V0cygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKaW5kZXggMTg0YTNmYmQwMGI1MjI4YTQxNjc1YmVhOTA4MjczNGYyODI3MmUwYy4uZTI4
NWY2MzllMGQ4N2JkNTg2ZGMzZmZhZGU1ZmNlOWM4N2VmYzBmYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaApAQCAtMTc3LDcgKzE3Nyw3IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xp
ZW50IDogcHVibGljIENocm9tZUNsaWVudCB7CiAgICAgdm9pZCByZW1vdmVTY3JvbGxpbmdMYXll
cihOb2RlKiwgUGxhdGZvcm1MYXllciosIFBsYXRmb3JtTGF5ZXIqKSBmaW5hbCB7IH0KIAogICAg
IHZvaWQgd2ViQXBwT3JpZW50YXRpb25zVXBkYXRlZCgpIGZpbmFsIHsgfTsKLSAgICB2b2lkIHNo
b3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sKSBmaW5hbCB7IH07CisgICAgdm9pZCBzaG93UGxh
eWJhY2tUYXJnZXRQaWNrZXIoYm9vbCwgUm91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBTdHJpbmcm
KSBmaW5hbCB7IH07CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCiAjaWYgRU5BQkxFKE9SSUVO
VEFUSU9OX0VWRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDk4ZmE1OTJi
MmNmNWIzZWFiNTkxNzlhNDA0NzU5MTNlNDA2NDI4NDIuLmYxOTkyN2RjMjFiMjE5YjM5Yzk0MmVi
OTUwYjMzMWY3MmRhZTcyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMTAx
LDYgKzEwMSw4IEBAIHN0cnVjdCBHcmFwaGljc0RldmljZUFkYXB0ZXI7CiBzdHJ1Y3QgVmlld3Bv
cnRBcmd1bWVudHM7CiBzdHJ1Y3QgV2luZG93RmVhdHVyZXM7CiAKK2VudW0gY2xhc3MgUm91dGVT
aGFyaW5nUG9saWN5OworCiBjbGFzcyBXRUJDT1JFX0VYUE9SVCBDaHJvbWVDbGllbnQgewogcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBjaHJvbWVEZXN0cm95ZWQoKSA9IDA7CkBAIC0yNjAsNyAr
MjYyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTY3JvbGxpbmdMYXllcihO
b2RlKiwgUGxhdGZvcm1MYXllciogc2Nyb2xsaW5nTGF5ZXIsIFBsYXRmb3JtTGF5ZXIqIGNvbnRl
bnRzTGF5ZXIpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCB3ZWJBcHBPcmllbnRhdGlvbnNVcGRh
dGVkKCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9v
bCBoYXNWaWRlbykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNr
ZXIoYm9vbCBoYXNWaWRlbywgUm91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBTdHJpbmcmKSA9IDA7
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShPUklFTlRBVElPTl9FVkVOVFMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAppbmRleCBiMzQ1OGY1ZGJlN2FjOWZiNzIyNWM2NWQ0MDdmZGNmZWZmYzA5MmQwLi42MzNlM2I5
N2Y3ZDY1MDM1MTM5MzY1ZDU4ZTJkZjBkNzNiOGQ0Mjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAg
LTIyMDAsMTQgKzIyMDAsMTYgQEAgdm9pZCBQYWdlOjpyZW1vdmVQbGF5YmFja1RhcmdldFBpY2tl
ckNsaWVudCh1aW50NjRfdCBjb250ZXh0SWQpCiAgICAgY2hyb21lKCkuY2xpZW50KCkucmVtb3Zl
UGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQoY29udGV4dElkKTsKIH0KIAotdm9pZCBQYWdlOjpz
aG93UGxheWJhY2tUYXJnZXRQaWNrZXIodWludDY0X3QgY29udGV4dElkLCBjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgbG9jYXRpb24sIGJvb2wgaXNWaWRlbykKK3ZvaWQgUGFnZTo6c2hvd1BsYXli
YWNrVGFyZ2V0UGlja2VyKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIGxvY2F0aW9uLCBib29sIGlzVmlkZW8sIFJvdXRlU2hhcmluZ1BvbGljeSByb3V0ZVNoYXJp
bmdQb2xpY3ksIGNvbnN0IFN0cmluZyYgcm91dGluZ0NvbnRleHRVSUQpCiB7CiAjaWYgUExBVEZP
Uk0oSU9TKQogICAgIC8vIEZJWE1FOiByZWZhY3RvciBpT1MgaW1wbGVtZW50YXRpb24uCiAgICAg
VU5VU0VEX1BBUkFNKGNvbnRleHRJZCk7CiAgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsKLSAg
ICBjaHJvbWUoKS5jbGllbnQoKS5zaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoaXNWaWRlbyk7Cisg
ICAgY2hyb21lKCkuY2xpZW50KCkuc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGlzVmlkZW8sIHJv
dXRlU2hhcmluZ1BvbGljeSwgcm91dGluZ0NvbnRleHRVSUQpOwogI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0ocm91dGVTaGFyaW5nUG9saWN5KTsKKyAgICBVTlVTRURfUEFSQU0ocm91dGluZ0NvbnRl
eHRVSUQpOwogICAgIGNocm9tZSgpLmNsaWVudCgpLnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihj
b250ZXh0SWQsIGxvY2F0aW9uLCBpc1ZpZGVvKTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRl
eCA3NjJmYWE5YTcwZWU1ODk3MjM4Nzg5M2FkZjQyMGNiNGY3N2U0OWNmLi4zZWJkMDQxYjQ3Nzlh
ZjQ1YWU1MDEzMDYzYmI4YTAwZTg4YWM0ODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTU2LDYgKzE1
Niw3IEBAIGVudW0gY2xhc3MgRXZlbnRUaHJvdHRsaW5nQmVoYXZpb3IgewogZW51bSBjbGFzcyBD
YW5XcmFwIDogYm9vbDsKIGVudW0gY2xhc3MgRGlkV3JhcCA6IGJvb2w7CiBlbnVtIGNsYXNzIE5h
dmlnYXRpb25Qb2xpY3lDaGVjazsKK2VudW0gY2xhc3MgUm91dGVTaGFyaW5nUG9saWN5OwogCiBj
bGFzcyBQYWdlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFBhZ2U+IHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQYWdlKTsKQEAgLTU3Myw3ICs1NzQsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxF
KFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICB2b2lkIGFkZFBsYXliYWNrVGFyZ2V0UGlj
a2VyQ2xpZW50KHVpbnQ2NF90KTsKICAgICB2b2lkIHJlbW92ZVBsYXliYWNrVGFyZ2V0UGlja2Vy
Q2xpZW50KHVpbnQ2NF90KTsKLSAgICB2b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcih1aW50
NjRfdCwgY29uc3QgSW50UG9pbnQmLCBib29sKTsKKyAgICB2b2lkIHNob3dQbGF5YmFja1Rhcmdl
dFBpY2tlcih1aW50NjRfdCwgY29uc3QgSW50UG9pbnQmLCBib29sLCBSb3V0ZVNoYXJpbmdQb2xp
Y3ksIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRT
dGF0ZURpZENoYW5nZSh1aW50NjRfdCwgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2Vy
RW5hYmxlZChib29sKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1vY2tNZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyU3RhdGUoY29uc3QgU3RyaW5nJiwgTWVkaWFQbGF5YmFja1RhcmdldENv
bnRleHQ6OlN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nl
c3Npb24uY3BwCmluZGV4IGZjNmEwYTUyY2Q4YTc1ZmE4MDI2NTZiNjg5YjAxZGYyYTE0ZjU3ZDMu
LjNmOTZlMTNlZTU0NTVmY2E1NDYwOWNhZGNlM2Q2NzRlNGYzNjAwMDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcApAQCAtMTA3LDYgKzEwNywx
NyBAQCB2b2lkIEF1ZGlvU2Vzc2lvbjo6c2V0UHJlZmVycmVkQnVmZmVyU2l6ZShzaXplX3QpCiB7
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KKworUm91dGVTaGFyaW5nUG9saWN5IEF1ZGlvU2Vz
c2lvbjo6cm91dGVTaGFyaW5nUG9saWN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gRGVmYXVsdDsK
K30KKworU3RyaW5nIEF1ZGlvU2Vzc2lvbjo6cm91dGluZ0NvbnRleHRVSUQgY29uc3QKK3sKKyAg
ICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKK30KKwogI2VuZGlmIC8vICFQTEFURk9STShDT0NPQSkK
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNz
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaAppbmRl
eCA3YWE3MTcyNzZkZjU0MzZiZmJmNTVkMTZhZDg1NjM1OGQ1ZTVhYTIzLi4yZGYyMDUwOTc2ZWUz
ZjY1NjU0MjY1NGEyZjYzZDJkOGJmOTAyYTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb1Nlc3Npb24uaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTMtMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBVU0UoQVVESU9f
U0VTU0lPTikKIAogI2luY2x1ZGUgPG1lbW9yeT4KKyNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBAIC0zNyw2ICszOCwxMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1ZGlvU2Vzc2lvblByaXZhdGU7CiAKK2VudW0gY2xh
c3MgUm91dGVTaGFyaW5nUG9saWN5IHsKKyAgICBEZWZhdWx0LAorICAgIExvbmdGb3JtLAorICAg
IEluZGVwZW5kZW50LAorfTsKKwogY2xhc3MgQXVkaW9TZXNzaW9uIHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShBdWRpb1Nlc3Npb24pOwogcHVibGljOgpAQCAtNTcsNiArNjQsOSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRDYXRlZ29yeU92ZXJyaWRlKENhdGVnb3J5VHlwZSk7CiAgICAgQ2F0
ZWdvcnlUeXBlIGNhdGVnb3J5T3ZlcnJpZGUoKSBjb25zdDsKIAorICAgIFJvdXRlU2hhcmluZ1Bv
bGljeSByb3V0ZVNoYXJpbmdQb2xpY3koKSBjb25zdDsKKyAgICBTdHJpbmcgcm91dGluZ0NvbnRl
eHRVSUQoKSBjb25zdDsKKwogICAgIGZsb2F0IHNhbXBsZVJhdGUoKSBjb25zdDsKICAgICBzaXpl
X3QgYnVmZmVyU2l6ZSgpIGNvbnN0OwogICAgIHNpemVfdCBudW1iZXJPZk91dHB1dENoYW5uZWxz
KCkgY29uc3Q7CkBAIC05MCw2ICsxMDAsMTcgQEAgcHJpdmF0ZToKIAogfQogCituYW1lc3BhY2Ug
V1RGIHsKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6Um91dGVTaGFyaW5n
UG9saWN5PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICBXZWJDb3JlOjpS
b3V0ZVNoYXJpbmdQb2xpY3ksCisgICAgV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5OjpEZWZh
dWx0LAorICAgIFdlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGljeTo6TG9uZ0Zvcm0sCisgICAgV2Vi
Q29yZTo6Um91dGVTaGFyaW5nUG9saWN5OjpJbmRlcGVuZGVudAorICAgID47Cit9OworfQorCiAj
ZW5kaWYgLy8gVVNFKEFVRElPX1NFU1NJT04pCiAKICNlbmRpZiAvLyBBdWRpb1Nlc3Npb25faApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL0F1ZGlvU2Vzc2lv
bklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9BdWRpb1Nlc3Npb25J
T1MubW0KaW5kZXggMzNiMDRiYmJjNjEwZmU0YzVkN2UxYjFiZThiMjgzMmZhYmQzM2M5My4uMmY4
ZjcyZDQ5Y2VjNDBlODllZjZmOGU5NzYyNTYzODE0MWQ3ODc2MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL0F1ZGlvU2Vzc2lvbklPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvQXVkaW9TZXNzaW9uSU9TLm1tCkBAIC0zMSwx
MSArMzEsMTAgQEAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9B
VkF1ZGlvU2Vzc2lvbi5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CisjaW1wb3J0IDxwYWwv
c3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNp
bXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogCi10eXBlZGVmIEFWQXVkaW9TZXNzaW9uIEFWQXVk
aW9TZXNzaW9uVHlwZTsKLQogU09GVF9MSU5LX0ZSQU1FV09SSyhBVkZvdW5kYXRpb24pCiBTT0ZU
X0xJTktfQ0xBU1MoQVZGb3VuZGF0aW9uLCBBVkF1ZGlvU2Vzc2lvbikKIApAQCAtMTY2LDYgKzE2
NSwyNiBAQCBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBBdWRpb1Nlc3Npb246OmNhdGVnb3J5
KCkgY29uc3QKICAgICByZXR1cm4gTm9uZTsKIH0KIAorUm91dGVTaGFyaW5nUG9saWN5IEF1ZGlv
U2Vzc2lvbjo6cm91dGVTaGFyaW5nUG9saWN5KCkgY29uc3QKK3sKKyAgICBzdGF0aWNfYXNzZXJ0
KHN0YXRpY19jYXN0PHNpemVfdD4oUm91dGVTaGFyaW5nUG9saWN5OjpEZWZhdWx0KSA9PSBzdGF0
aWNfY2FzdDxzaXplX3Q+KEFWQXVkaW9TZXNzaW9uUm91dGVTaGFyaW5nUG9saWN5RGVmYXVsdCks
ICJSb3V0ZVNoYXJpbmdQb2xpY3k6OkRlZmF1bHQgaXMgbm90IEFWQXVkaW9TZXNzaW9uUm91dGVT
aGFyaW5nUG9saWN5RGVmYXVsdCBhcyBleHBlY3RlZCIpOworICAgIHN0YXRpY19hc3NlcnQoc3Rh
dGljX2Nhc3Q8c2l6ZV90PihSb3V0ZVNoYXJpbmdQb2xpY3k6OkxvbmdGb3JtKSA9PSBzdGF0aWNf
Y2FzdDxzaXplX3Q+KEFWQXVkaW9TZXNzaW9uUm91dGVTaGFyaW5nUG9saWN5TG9uZ0Zvcm0pLCAi
Um91dGVTaGFyaW5nUG9saWN5OjpMb25nRm9ybSBpcyBub3QgQVZBdWRpb1Nlc3Npb25Sb3V0ZVNo
YXJpbmdQb2xpY3lMb25nRm9ybSBhcyBleHBlY3RlZCIpOworICAgIHN0YXRpY19hc3NlcnQoc3Rh
dGljX2Nhc3Q8c2l6ZV90PihSb3V0ZVNoYXJpbmdQb2xpY3k6OkluZGVwZW5kZW50KSA9PSBzdGF0
aWNfY2FzdDxzaXplX3Q+KEFWQXVkaW9TZXNzaW9uUm91dGVTaGFyaW5nUG9saWN5SW5kZXBlbmRl
bnQpLCAiUm91dGVTaGFyaW5nUG9saWN5OjpJbmRlcGVuZGVudCBpcyBub3QgQVZBdWRpb1Nlc3Np
b25Sb3V0ZVNoYXJpbmdQb2xpY3lJbmRlcGVuZGVudCBhcyBleHBlY3RlZCIpOworCisgICAgQVZB
dWRpb1Nlc3Npb25Sb3V0ZVNoYXJpbmdQb2xpY3kgcG9saWN5ID0gW1tBVkF1ZGlvU2Vzc2lvbiBz
aGFyZWRJbnN0YW5jZV0gcm91dGVTaGFyaW5nUG9saWN5XTsKKyAgICBBU1NFUlQoc3RhdGljX2Nh
c3Q8Um91dGVTaGFyaW5nUG9saWN5Pihwb2xpY3kpIDw9IFJvdXRlU2hhcmluZ1BvbGljeTo6SW5k
ZXBlbmRlbnQpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxSb3V0ZVNoYXJpbmdQb2xpY3k+KHBv
bGljeSk7Cit9CisKK1N0cmluZyBBdWRpb1Nlc3Npb246OnJvdXRpbmdDb250ZXh0VUlEKCkgY29u
c3QKK3sKKyNpZiAhUExBVEZPUk0oSU9TX1NJTVVMQVRPUikgJiYgIUVOQUJMRShNSU5JTUFMX1NJ
TVVMQVRPUikgJiYgIVBMQVRGT1JNKFdBVENIT1MpCisgICAgcmV0dXJuIFtbQVZBdWRpb1Nlc3Np
b24gc2hhcmVkSW5zdGFuY2VdIHJvdXRpbmdDb250ZXh0VUlEXTsKKyNlbHNlCisgICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7CisjZW5kaWYKK30KKwogdm9pZCBBdWRpb1Nlc3Npb246OnNldENhdGVn
b3J5T3ZlcnJpZGUoQ2F0ZWdvcnlUeXBlIGNhdGVnb3J5KQogewogICAgIGlmIChtX3ByaXZhdGUt
Pm1fY2F0ZWdvcnlPdmVycmlkZSA9PSBjYXRlZ29yeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAKaW5kZXggZjk1ZjljZWE3
MDc5MDI3ODVhM2VhZWU3NWMyNTIxZGY0NTUzZGRlMy4uODA2NDVlYWU5NzgwYTMzMjg5Mjc0NGUw
ZWRhNDU1YTIzMTc5N2YwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAKQEAgLTEzMSw2ICsxMzEsMTYgQEAgYm9vbCBB
dWRpb1Nlc3Npb246OnRyeVRvU2V0QWN0aXZlKGJvb2wpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K1N0cmluZyBBdWRpb1Nlc3Npb246OnJvdXRpbmdDb250ZXh0VUlEIGNvbnN0Cit7CisgICAgcmV0
dXJuIGVtcHR5U3RyaW5nKCk7Cit9CisKK1JvdXRlU2hhcmluZ1BvbGljeSBBdWRpb1Nlc3Npb246
OnJvdXRlU2hhcmluZ1BvbGljeSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIERlZmF1bHQ7Cit9CisK
IHNpemVfdCBBdWRpb1Nlc3Npb246OnByZWZlcnJlZEJ1ZmZlclNpemUoKSBjb25zdAogewogICAg
IFVJbnQzMiBidWZmZXJTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMu
cHkKaW5kZXggZWEwNjdjMGJkNmEzMGE2YjExYmViZGZiOGEzMTJjMzg1MTM4YmMwZC4uM2NhMWZm
NzNmNWY1N2U2YTc4Nzk3N2M2MjdmNTRkMTgxNDI2NzA3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0zOTQsNiArMzk0LDcgQEAgZGVmIGhlYWRlcnNfZm9y
X3R5cGUodHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpQbHVnaW5JbmZvJzogWyc8V2ViQ29yZS9Q
bHVnaW5EYXRhLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpQb2xpY3lBY3Rpb24nOiBbJzxXZWJD
b3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlJlY2VudFNlYXJj
aCc6IFsnPFdlYkNvcmUvU2VhcmNoUG9wdXBNZW51Lmg+J10sCisgICAgICAgICdXZWJDb3JlOjpS
b3V0ZVNoYXJpbmdQb2xpY3knOiBbJzxXZWJDb3JlL0F1ZGlvU2Vzc2lvbi5oPiddLAogICAgICAg
ICAnV2ViQ29yZTo6U1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcic6IFsnPFdlYkNvcmUvU2Vy
dmljZVdvcmtlclR5cGVzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpTZXJ2aWNlV29ya2VySm9i
SWRlbnRpZmllcic6IFsnPFdlYkNvcmUvU2VydmljZVdvcmtlclR5cGVzLmg+J10sCiAgICAgICAg
ICdXZWJDb3JlOjpTZXJ2aWNlV29ya2VyT3JDbGllbnREYXRhJzogWyc8V2ViQ29yZS9TZXJ2aWNl
V29ya2VyVHlwZXMuaD4nLCAnPFdlYkNvcmUvU2VydmljZVdvcmtlckNsaWVudERhdGEuaD4nLCAn
PFdlYkNvcmUvU2VydmljZVdvcmtlckRhdGEuaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaAppbmRleCAyNmQ2NjZkOTQ4M2Y5YmZjYWMxZTY4MzlkZGE3OTcyMjI1YzczOWRhLi5k
N2VmNjk3ZDk5OGExNjY2OTdmMTFkYzZmOWU5MWUxYzk2N2UxODE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0yOTUsNyArMjk1LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCBpbnRlcnByZXRLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50Jiwg
Ym9vbCBpc0NoYXJFdmVudCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3NpdGlvbkluZm9ybWF0
aW9uRGlkQ2hhbmdlKGNvbnN0IEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uJikgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBzYXZlSW1hZ2VUb0xpYnJhcnkoUmVmPFdlYkNvcmU6OlNoYXJl
ZEJ1ZmZlcj4mJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNr
ZXIoYm9vbCBoYXNWaWRlbywgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZWxlbWVudFJlY3QpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wgaGFzVmlk
ZW8sIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGVsZW1lbnRSZWN0LCBXZWJDb3JlOjpSb3V0ZVNo
YXJpbmdQb2xpY3ksIGNvbnN0IFN0cmluZyYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJs
ZURvdWJsZVRhcEdlc3R1cmVzRHVyaW5nVGFwSWZOZWNlc3NhcnkodWludDY0X3QgcmVxdWVzdElE
KSA9IDA7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bVpvb21TY2FsZSgpIGNvbnN0ID0gMDsK
ICAgICB2aXJ0dWFsIFdlYkNvcmU6OkZsb2F0UmVjdCBkb2N1bWVudFJlY3QoKSBjb25zdCA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDljOTQ0MjkwOWViYmUw
NjllZDA0M2RkNzFlZDQ2NGNjNTZjYjQ1YzMuLjlkMTM1NWQwY2Q3YzlkYWViYmI4MzcxNzZkNzQ3
ZjNkZjU3ZWJhZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0x
NTk3LDcgKzE1OTcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgYXV0b2NvcnJlY3Rpb25Db250ZXh0
Q2FsbGJhY2soY29uc3QgU3RyaW5nJiBiZWZvcmVUZXh0LCBjb25zdCBTdHJpbmcmIG1hcmtlZFRl
eHQsIGNvbnN0IFN0cmluZyYgc2VsZWN0ZWRUZXh0LCBjb25zdCBTdHJpbmcmIGFmdGVyVGV4dCwg
dWludDY0X3QgbG9jYXRpb24sIHVpbnQ2NF90IGxlbmd0aCwgQ2FsbGJhY2tJRCk7CiAgICAgdm9p
ZCBzZWxlY3Rpb25Db250ZXh0Q2FsbGJhY2soY29uc3QgU3RyaW5nJiBzZWxlY3RlZFRleHQsIGNv
bnN0IFN0cmluZyYgYmVmb3JlVGV4dCwgY29uc3QgU3RyaW5nJiBhZnRlclRleHQsIENhbGxiYWNr
SUQpOwogICAgIHZvaWQgaW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgRWRpdG9yU3RhdGUmLCBib29s
IGlzQ2hhckV2ZW50LCBib29sJiBoYW5kbGVkKTsKLSAgICB2b2lkIHNob3dQbGF5YmFja1Rhcmdl
dFBpY2tlcihib29sIGhhc1ZpZGVvLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBlbGVtZW50UmVj
dCk7CisgICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgZWxlbWVudFJlY3QsIFdlYkNvcmU6OlJvdXRlU2hhcmluZ1Bv
bGljeSwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZWxlY3Rpb25SZWN0c0NhbGxiYWNrKGNv
bnN0IFZlY3RvcjxXZWJDb3JlOjpTZWxlY3Rpb25SZWN0PiYsIENhbGxiYWNrSUQpOwogI2VuZGlm
CiAjaWYgUExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDZlZmQ4OGUyN2QyNTYwNjA4OGI4ZjMwNDg4ZDg3OThm
MjA0ZjZkYTcuLmFjN2FhNzYwNTU3NDk3ZDRiNmZmMjk4Y2U4ZDRkNDlkNGVlOGM5OTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAg
LTE4OCw3ICsxODgsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIEludGVycHJl
dEtleUV2ZW50KHN0cnVjdCBXZWJLaXQ6OkVkaXRvclN0YXRlIHN0YXRlLCBib29sIGlzQ2hhckV2
ZW50KSAtPiAoYm9vbCBoYW5kbGVkKQogICAgIERpZFJlY2VpdmVQb3NpdGlvbkluZm9ybWF0aW9u
KHN0cnVjdCBXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uIGluZm9ybWF0
aW9uKQogICAgIFNhdmVJbWFnZVRvTGlicmFyeShXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxl
IGhhbmRsZSwgdWludDY0X3Qgc2l6ZSkKLSAgICBTaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9v
bCBoYXNWaWRlbywgV2ViQ29yZTo6SW50UmVjdCBlbGVtZW50UmVjdCkKKyAgICBTaG93UGxheWJh
Y2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywgV2ViQ29yZTo6SW50UmVjdCBlbGVtZW50UmVj
dCwgZW51bSBXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3kgcG9saWN5LCBTdHJpbmcgcm91dGlu
Z0NvbnRleHRVSUQpCiAgICAgQ29tbWl0UG90ZW50aWFsVGFwRmFpbGVkKCkKICAgICBEaWROb3RI
YW5kbGVUYXBBc0NsaWNrKFdlYkNvcmU6OkludFBvaW50IHBvaW50KQogICAgIERpZENvbXBsZXRl
U3ludGhldGljQ2xpY2soKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MuaAppbmRleCA3MTIxOTg2YWQzMmQzZWJhNmYzMTA4NTg5NmYxZjA4NzlmYWUw
MjE1Li45YTc0NjRiYThhNDcwOThhMDIwNWQxY2Q0NjhhYzA2NjJkMDJhYzVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMTMyLDcg
KzEzMiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpbnRlcnByZXRLZXlFdmVudChjb25zdCBOYXRp
dmVXZWJLZXlib2FyZEV2ZW50JiwgYm9vbCBpc0NoYXJFdmVudCkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBwb3NpdGlvbkluZm9ybWF0aW9uRGlkQ2hhbmdlKGNvbnN0IEludGVyYWN0aW9uSW5mb3JtYXRp
b25BdFBvc2l0aW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzYXZlSW1hZ2VUb0xpYnJhcnkoUmVm
PFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzaG93UGxheWJh
Y2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZWxl
bWVudFJlY3QpIG92ZXJyaWRlOworICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJv
b2wgaGFzVmlkZW8sIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGVsZW1lbnRSZWN0LCBXZWJDb3Jl
OjpSb3V0ZVNoYXJpbmdQb2xpY3ksIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogCiAgICAgYm9v
bCBoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIEFQSTo6
T3BlblBhbmVsUGFyYW1ldGVycyosIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKSBv
dmVycmlkZTsKICAgICB2b2lkIGRpc2FibGVEb3VibGVUYXBHZXN0dXJlc0R1cmluZ1RhcElmTmVj
ZXNzYXJ5KHVpbnQ2NF90IHJlcXVlc3RJRCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggNWExMmJmN2QxNzg3Y2Y1
NDU4MmVkNGFiNGUwNWMwZDMzZjdjY2IyMy4uNjY3OWE0NGJmZTk5ZDMyOTgxOGNiM2UxMjAzMWZl
MDVhNWRiYzRiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5tbQpAQCAtNTYyLDkgKzU2Miw5IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnN0
b3BBc3Npc3RpbmdOb2RlKCkKICAgICBbbV9jb250ZW50VmlldyBfc3RvcEFzc2lzdGluZ05vZGVd
OwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9v
bCBoYXNWaWRlbywgY29uc3QgSW50UmVjdCYgZWxlbWVudFJlY3QpCit2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywgY29uc3QgSW50UmVj
dCYgZWxlbWVudFJlY3QsIFdlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGljeSBwb2xpY3ksIGNvbnN0
IFN0cmluZyYgY29udGV4dFVJRCkKIHsKLSAgICBbbV9jb250ZW50VmlldyBfc2hvd1BsYXliYWNr
VGFyZ2V0UGlja2VyOmhhc1ZpZGVvIGZyb21SZWN0OmVsZW1lbnRSZWN0XTsKKyAgICBbbV9jb250
ZW50VmlldyBfc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyOmhhc1ZpZGVvIGZyb21SZWN0OmVsZW1l
bnRSZWN0IHJvdXRlU2hhcmluZ1BvbGljeTpwb2xpY3kgcm91dGluZ0NvbnRleHRVSUQ6Y29udGV4
dFVJRF07CiB9CiAKIGJvb2wgUGFnZUNsaWVudEltcGw6OmhhbmRsZVJ1bk9wZW5QYW5lbChXZWJQ
YWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiwgQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKiBwYXJh
bWV0ZXJzLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uaAppbmRleCAzZjRlZTk2N2RkOGVkYjZmMDRlOTMxZTc0MTczYjBhMzgyM2E4NDgxLi4zZTlm
ZGFmNjdhNzU2ZDQ4MzM5ZTNkYzU2ZGMzNGViODQ5Y2MxZTJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC02
MCw2ICs2MCw3IEBAIGNsYXNzIEZsb2F0UXVhZDsKIGNsYXNzIEludFNpemU7CiBjbGFzcyBTZWxl
Y3Rpb25SZWN0Owogc3RydWN0IFByb21pc2VkQmxvYkluZm87CitlbnVtIGNsYXNzIFJvdXRlU2hh
cmluZ1BvbGljeTsKIH0KIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCkBAIC0zMTgsNyArMzE5
LDcgQEAgRk9SX0VBQ0hfV0tDT05URU5UVklFV19BQ1RJT04oREVDTEFSRV9XS0NPTlRFTlRWSUVX
X0FDVElPTl9GT1JfV0VCX1ZJRVcpCiAtICh2b2lkKV9kaWRFbmRTY3JvbGxpbmdPclpvb21pbmc7
CiAtICh2b2lkKV9vdmVyZmxvd1Njcm9sbGluZ1dpbGxCZWdpbjsKIC0gKHZvaWQpX292ZXJmbG93
U2Nyb2xsaW5nRGlkRW5kOwotLSAodm9pZClfc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyOihCT09M
KWhhc1ZpZGVvIGZyb21SZWN0Oihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JillbGVtZW50UmVjdDsK
Ky0gKHZvaWQpX3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjooQk9PTCloYXNWaWRlbyBmcm9tUmVj
dDooY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpZWxlbWVudFJlY3Qgcm91dGVTaGFyaW5nUG9saWN5
OihXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3kpcG9saWN5IHJvdXRpbmdDb250ZXh0VUlEOihO
U1N0cmluZyAqKWNvbnRleHRVSUQ7CiAtICh2b2lkKV9zaG93UnVuT3BlblBhbmVsOihBUEk6Ok9w
ZW5QYW5lbFBhcmFtZXRlcnMqKXBhcmFtZXRlcnMgcmVzdWx0TGlzdGVuZXI6KFdlYktpdDo6V2Vi
T3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSopbGlzdGVuZXI7CiAtICh2b2lkKWFjY2Vzc29y
eURvbmU7CiAtICh2b2lkKV9kaWRIYW5kbGVLZXlFdmVudDooOjpXZWJFdmVudCAqKWV2ZW50IGV2
ZW50V2FzSGFuZGxlZDooQk9PTClldmVudFdhc0hhbmRsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCAw
YmI5YTc1NzQyYTJlOGNmZmQxOTY2ZTIzOTRmMjA1NDVmZWE1ODdkLi5jMmEzYmFkZTExMzMxYjhh
ZjBhY2Y1NDBhY2ZkOGQxOWFmNmM1NmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTQ1NzYsMTMgKzQ1
NzYsMTMgQEAgc3RhdGljIGJvb2wgaXNBc3Npc3RhYmxlSW5wdXRUeXBlKElucHV0VHlwZSB0eXBl
KQogICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgYWN0aXZhdGVTZWxlY3Rpb25dOwog
fQogCi0tICh2b2lkKV9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6KEJPT0wpaGFzVmlkZW8gZnJv
bVJlY3Q6KGNvbnN0IEludFJlY3QmKWVsZW1lbnRSZWN0CistICh2b2lkKV9zaG93UGxheWJhY2tU
YXJnZXRQaWNrZXI6KEJPT0wpaGFzVmlkZW8gZnJvbVJlY3Q6KGNvbnN0IEludFJlY3QmKWVsZW1l
bnRSZWN0IHJvdXRlU2hhcmluZ1BvbGljeTooV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5KXJv
dXRlU2hhcmluZ1BvbGljeSByb3V0aW5nQ29udGV4dFVJRDooTlNTdHJpbmcgKilyb3V0aW5nQ29u
dGV4dFVJRAogewogI2lmIEVOQUJMRShBSVJQTEFZX1BJQ0tFUikKICNpZiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQ
TEFURk9STShBUFBMRVRWKQogICAgIGlmICghX2FpclBsYXlSb3V0ZVBpY2tlcikKICAgICAgICAg
X2FpclBsYXlSb3V0ZVBpY2tlciA9IGFkb3B0TlMoW1tXS0FpclBsYXlSb3V0ZVBpY2tlciBhbGxv
Y10gaW5pdF0pOwotICAgIFtfYWlyUGxheVJvdXRlUGlja2VyIHNob3dGcm9tVmlldzpzZWxmXTsK
KyAgICBbX2FpclBsYXlSb3V0ZVBpY2tlciBzaG93RnJvbVZpZXc6c2VsZiByb3V0ZVNoYXJpbmdQ
b2xpY3k6cm91dGVTaGFyaW5nUG9saWN5IHJvdXRpbmdDb250ZXh0VUlEOnJvdXRpbmdDb250ZXh0
VUlEXTsKICNlbHNlCiAgICAgaWYgKCFfYWlyUGxheVJvdXRlUGlja2VyKQogICAgICAgICBfYWly
UGxheVJvdXRlUGlja2VyID0gYWRvcHROUyhbW1dLQWlyUGxheVJvdXRlUGlja2VyIGFsbG9jXSBp
bml0V2l0aFZpZXc6c2VsZl0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQ
YWdlUHJveHlJT1MubW0KaW5kZXggNzEzYjJmODVlMzg3NzNhZmFkOGZmYTUxNTczODMyOGVjZDQ2
MTYyNi4uNzA5OGJiNzk0NjJmM2I4MDhlNmZjMTBmMjg3ZmRjNzc2NjIwMzg2OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC0xMDMzLDkg
KzEwMzMsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jv
b3RMYXllcihMYXllck9yVmlldyogcm9vdExheWVyKQogICAgIG1fcGFnZUNsaWVudC5zZXRBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nUm9vdExheWVyKHJvb3RMYXllcik7CiB9CiAKLXZvaWQgV2ViUGFn
ZVByb3h5OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywgY29uc3QgSW50
UmVjdCYgZWxlbWVudFJlY3QpCit2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd1BsYXliYWNrVGFyZ2V0
UGlja2VyKGJvb2wgaGFzVmlkZW8sIGNvbnN0IEludFJlY3QmIGVsZW1lbnRSZWN0LCBXZWJDb3Jl
OjpSb3V0ZVNoYXJpbmdQb2xpY3kgcG9saWN5LCBjb25zdCBTdHJpbmcmIGNvbnRleHRVSUQpCiB7
Ci0gICAgbV9wYWdlQ2xpZW50LnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihoYXNWaWRlbywgZWxl
bWVudFJlY3QpOworICAgIG1fcGFnZUNsaWVudC5zaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoaGFz
VmlkZW8sIGVsZW1lbnRSZWN0LCBwb2xpY3ksIGNvbnRleHRVSUQpOwogfQogCiB2b2lkIFdlYlBh
Z2VQcm94eTo6Y29tbWl0UG90ZW50aWFsVGFwRmFpbGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLmgKaW5kZXgg
MWY1MTdiYzQ5MWIzY2E0Y2E5NDMxZWMyODgyYmU5ZDZhZjIzOWQ4Ny4uMzYxMzlmMjU1ODczZjZm
YjNhMzdiNjE4OTI0MTk5ODAzY2I0ZDE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLmgKQEAgLTI5LDEwICsy
OSwxNCBAQAogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KIAorbmFtZXNwYWNl
IFdlYkNvcmUgeworZW51bSBjbGFzcyBSb3V0ZVNoYXJpbmdQb2xpY3k7Cit9CisKIEBjbGFzcyBV
SVZpZXc7CiAKIEBpbnRlcmZhY2UgV0tBaXJQbGF5Um91dGVQaWNrZXIgOiBOU09iamVjdAotLSAo
dm9pZClzaG93RnJvbVZpZXc6KFVJVmlldyAqKXZpZXc7CistICh2b2lkKXNob3dGcm9tVmlldzoo
VUlWaWV3ICopdmlldyByb3V0ZVNoYXJpbmdQb2xpY3k6KFdlYkNvcmU6OlJvdXRlU2hhcmluZ1Bv
bGljeSlwb2xpY3kgcm91dGluZ0NvbnRleHRVSUQ6KE5TU3RyaW5nICopY29udGV4dFVJRDsKIEBl
bmQKIAogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jt
cy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbQppbmRleCBkNWYyYjFhMmVlNDUyOTEwNTgwNmFi
ZDU1M2Y1OTEzNTc4ZGUxY2I2Li43NGJkMjMyZDYyMmVlODFlMDdiZjQ0OWUzMDg3YTI1OTdmYzcy
OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQ
bGF5Um91dGVQaWNrZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1z
L1dLQWlyUGxheVJvdXRlUGlja2VyLm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgUExBVEZPUk0o
SU9TKSAmJiBFTkFCTEUoQUlSUExBWV9QSUNLRVIpCiAKICNpbXBvcnQgIlVJS2l0U1BJLmgiCisj
aW1wb3J0IDxXZWJDb3JlL0F1ZGlvU2Vzc2lvbi5oPgogI2ltcG9ydCA8cGFsL3NwaS9pb3MvTWVk
aWFQbGF5ZXJTUEkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9T
b2Z0TGlua2luZy5oPgpAQCAtMTY3LDYgKzE2OCwxNyBAQCBTT0ZUX0xJTktfRlJBTUVXT1JLKE1l
ZGlhUGxheWVyKQogU09GVF9MSU5LX0NMQVNTKE1lZGlhUGxheWVyLCBNUEFWUm91dGluZ0NvbnRy
b2xsZXIpCiBTT0ZUX0xJTktfQ0xBU1MoTWVkaWFQbGF5ZXIsIE1QTWVkaWFDb250cm9sc1ZpZXdD
b250cm9sbGVyKQogCitlbnVtIHsKKyAgICBXS0FpclBsYXlSb3V0ZVBpY2tlclJvdXRlU2hhcmlu
Z1BvbGljeURlZmF1bHQgPSAwLAorICAgIFdLQWlyUGxheVJvdXRlUGlja2VyUm91dGVTaGFyaW5n
UG9saWN5TG9uZ0Zvcm0gPSAxLAorICAgIFdLQWlyUGxheVJvdXRlUGlja2VyUm91dGVTaGFyaW5n
UG9saWN5SW5kZXBlbmRlbnQgPSAyLAorfTsKK3R5cGVkZWYgTlNJbnRlZ2VyIFdLQWlyUGxheVJv
dXRlUGlja2VyUm91dGVTaGFyaW5nUG9saWN5OworCitAaW50ZXJmYWNlIE1QTWVkaWFDb250cm9s
c1ZpZXdDb250cm9sbGVyIChXS01QTWVkaWFDb250cm9sc1ZpZXdDb250cm9sbGVyUHJpdmF0ZSkK
Ky0gKHZvaWQpc2V0T3ZlcnJpZGVSb3V0ZVNoYXJpbmdQb2xpY3k6KFdLQWlyUGxheVJvdXRlUGlj
a2VyUm91dGVTaGFyaW5nUG9saWN5KXJvdXRlU2hhcmluZ1BvbGljeSByb3V0aW5nQ29udGV4dFVJ
RDooTlNTdHJpbmcgKilyb3V0aW5nQ29udGV4dFVJRDsKK0BlbmQKKwogQGltcGxlbWVudGF0aW9u
IFdLQWlyUGxheVJvdXRlUGlja2VyIHsKICAgICBSZXRhaW5QdHI8TVBNZWRpYUNvbnRyb2xzVmll
d0NvbnRyb2xsZXI+IF9hY3Rpb25TaGVldDsKIH0KQEAgLTE3Nyw4ICsxODksMTIgQEAgU09GVF9M
SU5LX0NMQVNTKE1lZGlhUGxheWVyLCBNUE1lZGlhQ29udHJvbHNWaWV3Q29udHJvbGxlcikKICAg
ICBbc3VwZXIgZGVhbGxvY107CiB9CiAKLS0gKHZvaWQpc2hvd0Zyb21WaWV3OihVSVZpZXcgKil2
aWV3CistICh2b2lkKXNob3dGcm9tVmlldzooVUlWaWV3ICopdmlldyByb3V0ZVNoYXJpbmdQb2xp
Y3k6KFdlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGljeSlyb3V0ZVNoYXJpbmdQb2xpY3kgcm91dGlu
Z0NvbnRleHRVSUQ6KE5TU3RyaW5nICopcm91dGluZ0NvbnRleHRVSUQKIHsKKyAgICBzdGF0aWNf
YXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4oV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5OjpE
ZWZhdWx0KSA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KFdLQWlyUGxheVJvdXRlUGlja2VyUm91dGVT
aGFyaW5nUG9saWN5RGVmYXVsdCksICJSb3V0ZVNoYXJpbmdQb2xpY3k6OkRlZmF1bHQgaXMgbm90
IFdLQWlyUGxheVJvdXRlUGlja2VyUm91dGVTaGFyaW5nUG9saWN5RGVmYXVsdCBhcyBleHBlY3Rl
ZCIpOworICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8c2l6ZV90PihXZWJDb3JlOjpSb3V0
ZVNoYXJpbmdQb2xpY3k6OkxvbmdGb3JtKSA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KFdLQWlyUGxh
eVJvdXRlUGlja2VyUm91dGVTaGFyaW5nUG9saWN5TG9uZ0Zvcm0pLCAiUm91dGVTaGFyaW5nUG9s
aWN5OjpMb25nRm9ybSBpcyBub3QgV0tBaXJQbGF5Um91dGVQaWNrZXJSb3V0ZVNoYXJpbmdQb2xp
Y3lMb25nRm9ybSBhcyBleHBlY3RlZCIpOworICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8
c2l6ZV90PihXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3k6OkluZGVwZW5kZW50KSA9PSBzdGF0
aWNfY2FzdDxzaXplX3Q+KFdLQWlyUGxheVJvdXRlUGlja2VyUm91dGVTaGFyaW5nUG9saWN5SW5k
ZXBlbmRlbnQpLCAiUm91dGVTaGFyaW5nUG9saWN5OjpJbmRlcGVuZGVudCBpcyBub3QgV0tBaXJQ
bGF5Um91dGVQaWNrZXJSb3V0ZVNoYXJpbmdQb2xpY3lJbmRlcGVuZGVudCBhcyBleHBlY3RlZCIp
OworCiAgICAgaWYgKF9hY3Rpb25TaGVldCkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xODYsNiAr
MjAyLDEwIEBAIFNPRlRfTElOS19DTEFTUyhNZWRpYVBsYXllciwgTVBNZWRpYUNvbnRyb2xzVmll
d0NvbnRyb2xsZXIpCiAgICAgW3JvdXRpbmdDb250cm9sbGVyIHNldERpc2NvdmVyeU1vZGU6TVBS
b3V0ZURpc2NvdmVyeU1vZGVEZXRhaWxlZF07CiAKICAgICBfYWN0aW9uU2hlZXQgPSBhZG9wdE5T
KFthbGxvY01QTWVkaWFDb250cm9sc1ZpZXdDb250cm9sbGVySW5zdGFuY2UoKSBpbml0XSk7CisK
KyAgICBpZiAoW19hY3Rpb25TaGVldCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldE92
ZXJyaWRlUm91dGVTaGFyaW5nUG9saWN5OnJvdXRpbmdDb250ZXh0VUlEOildKQorICAgICAgICBb
X2FjdGlvblNoZWV0IHNldE92ZXJyaWRlUm91dGVTaGFyaW5nUG9saWN5OnN0YXRpY19jYXN0PFdL
QWlyUGxheVJvdXRlUGlja2VyUm91dGVTaGFyaW5nUG9saWN5Pihyb3V0ZVNoYXJpbmdQb2xpY3kp
IHJvdXRpbmdDb250ZXh0VUlEOnJvdXRpbmdDb250ZXh0VUlEXTsKKwogICAgIF9hY3Rpb25TaGVl
dC5nZXQoKS5kaWREaXNtaXNzSGFuZGxlciA9IF4gewogICAgICAgICBbcm91dGluZ0NvbnRyb2xs
ZXIgc2V0RGlzY292ZXJ5TW9kZTpNUFJvdXRlRGlzY292ZXJ5TW9kZURpc2FibGVkXTsKICAgICAg
ICAgcm91dGluZ0NvbnRyb2xsZXIgPSBuaWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMzIxYjUy
MmZiM2JlYzgzNTIyZmEzZjllM2Q4MjA1Yjg2ZmJhZWE5Zi4uMWY2OWU2ZmI3ZTA0ZTJlNzA5NDI0
OTIzNGEwZmM5ZmI4YTJhZDUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTczLDcgKzE3Myw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZW1vdmVTY3JvbGxpbmdMYXllcihXZWJDb3JlOjpOb2Rl
KiwgUGxhdGZvcm1MYXllciogc2Nyb2xsaW5nTGF5ZXIsIFBsYXRmb3JtTGF5ZXIqIGNvbnRlbnRz
TGF5ZXIpIGZpbmFsOwogCiAgICAgdm9pZCB3ZWJBcHBPcmllbnRhdGlvbnNVcGRhdGVkKCkgZmlu
YWw7Ci0gICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbykgZmlu
YWw7CisgICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywgV2Vi
Q29yZTo6Um91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBTdHJpbmcmKSBmaW5hbDsKIAogICAgIFNl
Y29uZHMgZXZlbnRUaHJvdHRsaW5nRGVsYXkoKSBmaW5hbDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGll
bnRJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dl
YkNocm9tZUNsaWVudElPUy5tbQppbmRleCBmMzFjMzYzN2I3OGVhZjQwNTBlOWU5MDVjZGE1M2Uw
MWE0NDI2OGY3Li5jZDVlNjQyZTQ5YTEzZTcwYjJkYzNjODBkNTkyYWM2MWMwNGU4ZmU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNo
cm9tZUNsaWVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbQpAQCAtMzUsNiArMzUsNyBAQAogI2ltcG9y
dCAiV2ViSWNvblV0aWxpdGllcy5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9ydCAiV2Vi
UGFnZVByb3h5TWVzc2FnZXMuaCIKKyNpbXBvcnQgPFdlYkNvcmUvQXVkaW9TZXNzaW9uLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0ljb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQu
aD4KICNpbXBvcnQgPHd0Zi9SZWZQdHIuaD4KQEAgLTEzNCw5ICsxMzUsOSBAQCB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6d2ViQXBwT3JpZW50YXRpb25zVXBkYXRlZCgpCiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNob3dQbGF5YmFja1RhcmdldFBpY2tl
cihib29sIGhhc1ZpZGVvKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNob3dQbGF5YmFja1Rhcmdl
dFBpY2tlcihib29sIGhhc1ZpZGVvLCBXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3kgcG9saWN5
LCBjb25zdCBTdHJpbmcmIHJvdXRpbmdDb250ZXh0VUlEKQogewotICAgIG1fcGFnZS5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dQbGF5YmFja1RhcmdldFBpY2tlcihoYXNWaWRlbywg
bV9wYWdlLnJlY3RGb3JFbGVtZW50QXRJbnRlcmFjdGlvbkxvY2F0aW9uKCkpKTsKKyAgICBtX3Bh
Z2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93UGxheWJhY2tUYXJnZXRQaWNrZXIo
aGFzVmlkZW8sIG1fcGFnZS5yZWN0Rm9yRWxlbWVudEF0SW50ZXJhY3Rpb25Mb2NhdGlvbigpLCBw
b2xpY3ksIHJvdXRpbmdDb250ZXh0VUlEKSk7CiB9CiAKIFNlY29uZHMgV2ViQ2hyb21lQ2xpZW50
OjpldmVudFRocm90dGxpbmdEZWxheSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1MuaCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5oCmluZGV4IDNjZGM1
OTY2ZTlmNWRiNTJlYTVhMGIyNTc1NzUzYTFkZmY2YWEyNDIuLmM3ZGJlZGEyNjE3Y2FkNGFhNjM3
YTQ2MjVlOWViMzRmM2RmMmEzZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9z
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5oCkBAIC04OSw3ICs4
OSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdlYkFwcE9yaWVudGF0aW9uc1VwZGF0ZWQoKSBm
aW5hbDsKICAgICB2b2lkIGZvY3VzZWRFbGVtZW50Q2hhbmdlZChXZWJDb3JlOjpFbGVtZW50Kikg
ZmluYWw7Ci0gICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbykg
ZmluYWw7CisgICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywg
V2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBTdHJpbmcmKSBmaW5hbDsKICAgICBS
ZWZQdHI8V2ViQ29yZTo6SWNvbj4gY3JlYXRlSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBmaWxlbmFtZXMpIGZpbmFsOwogCiAjaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudElPUy5tbQppbmRleCA2MzFmYTZmYjViZmNkYzBiZDRiMWY0ZmQ0N2U4
Y2M3NzlmNjYyZjE1Li4wYmYwYzk1MTZjMTQwNTBlODcyMTEzOTkyMGI2NTE2YmFmNjVmNDExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnRJT1MubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50SU9TLm1tCkBAIC0zNjcsNyArMzY3LDcgQEAgdm9pZCBXZWJDaHJv
bWVDbGllbnRJT1M6OmZvY3VzZWRFbGVtZW50Q2hhbmdlZChFbGVtZW50KiBlbGVtZW50KQogICAg
IENhbGxGb3JtRGVsZWdhdGUod2ViVmlldygpLCBAc2VsZWN0b3IoZGlkRm9jdXNUZXh0RmllbGQ6
aW5GcmFtZTopLCBraXQoJmlucHV0RWxlbWVudCksIGtpdChpbnB1dEVsZW1lbnQuZG9jdW1lbnQo
KS5mcmFtZSgpKSk7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50SU9TOjpzaG93UGxheWJhY2tU
YXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbykKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50SU9TOjpzaG93
UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywgV2ViQ29yZTo6Um91dGVTaGFyaW5n
UG9saWN5LCBjb25zdCBTdHJpbmcmKQogewogICAgIENHUG9pbnQgcG9pbnQgPSBbW3dlYlZpZXco
KSBfVUlLaXREZWxlZ2F0ZUZvcndhcmRlcl0gaW50ZXJhY3Rpb25Mb2NhdGlvbl07CiAgICAgQ0dS
ZWN0IGVsZW1lbnRSZWN0ID0gW1t3ZWJWaWV3KCkgbWFpbkZyYW1lXSBlbGVtZW50UmVjdEF0UG9p
bnQ6cG9pbnRdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339312</attachid>
            <date>2018-05-02 10:05:02 -0700</date>
            <delta_ts>2018-05-02 14:36:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185199-20180502100501.patch</filename>
            <type>text/plain</type>
            <size>34768</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE1YWI3MzQzMGJlOTk4
MmNlYzNhZGY1ZWZiZTllNDBjNDVkZDgxNi4uZWU0YTg1ZDM5ZTI4OTY4ZDU3MTFkYmQ5ZDMyNDhm
ZDFlZjg2NjBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE4LTA1LTAyICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFByb3Zp
ZGUgYXVkaW8gcm91dGUgaW5mb3JtYXRpb24gd2hlbiBpbnZva2luZyBBaXJQbGF5IHBpY2tlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1MTk5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTg1MzEwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRoaXMgcmVxdWlyZXMgYSBz
cGVjaWZpYyBoYXJkd2FyZSBzZXR1cC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKTogUGFz
cyByb3V0ZSBzaGFyaW5nIHBvbGljeSBhbmQgcm91dGluZyBjb250ZXh0IFVJRC4KKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaDoKKworICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpzaG93UGxheWJhY2tU
YXJnZXRQaWNrZXIpOiBEaXR0by4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoK
KyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCisgICAgICAgICogcGFnZS9QYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcik6IERp
dHRvLgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
QXVkaW9TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6cm91dGVT
aGFyaW5nUG9saWN5IGNvbnN0KTogRW1wdHkgaW1wbGVtZW50YXRpb24gZm9yIG5vbi1pT1MgcG9y
dHMuCisgICAgICAgIChXZWJDb3JlOjpyb3V0aW5nQ29udGV4dFVJRCBjb25zdCk6IERpdHRvLgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oOgorCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vaW9zL0F1ZGlvU2Vzc2lvbklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvU2Vzc2lvbjo6cm91dGVTaGFyaW5nUG9saWN5IGNvbnN0KTogUmV0dXJuIHRoZSByb3V0ZSBz
aGFyaW5nIHBvbGljeS4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6cm91dGluZ0Nv
bnRleHRVSUQgY29uc3QpOiBSZXR1cm4gdGhlIHJvdXRlIGNvbnRleHQgVUlELgorCiAyMDE4LTA1
LTAxICBPbGVrc2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCiAgICAgICAg
IFdlYkFzc2VtYmx5OiBhZGQgc3VwcG9ydCBmb3Igc3RyZWFtIEFQSXMgLSBKYXZhU2NyaXB0IEFQ
SQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggZTY0NzE1OWQ5ZGU3ZTNkMTMxNzg1OWQ5MDFlNTU0MTg2
YzBjYjIwZS4uNDg5MWViZWNiN2JjYjdmODBhZTM4YWIyNjBjYThlODYyYzdhNjc2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMDUtMDIgIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gUHJvdmlkZSBhdWRpbyBy
b3V0ZSBpbmZvcm1hdGlvbiB3aGVuIGludm9raW5nIEFpclBsYXkgcGlja2VyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODUxOTkKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzM5ODUzMTAzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmg6IEFkZCBhZGRp
dGlvbmFsIEFWQXVkaW9TZXNzaW9uIFNQSS4KKwogMjAxOC0wNS0wMSAgT2xla3NhbmRyIFNrYWNo
a292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KIAogICAgICAgICBXZWJBc3NlbWJseTogYWRkIHN1
cHBvcnQgZm9yIHN0cmVhbSBBUElzIC0gSmF2YVNjcmlwdCBBUEkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjc1YmRj
YTk2N2E1MDg0ZWQyNmZlZTAxZDllNzlkNTg3MDg2OTUzMS4uNzE1YWYwN2YzM2ExZDQyYTIwM2Uz
Mzg2ZTkwZGEwYzlmNmY5ODBiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxOC0wNS0w
MiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9T
XSBQcm92aWRlIGF1ZGlvIHJvdXRlIGluZm9ybWF0aW9uIHdoZW4gaW52b2tpbmcgQWlyUGxheSBw
aWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
NTE5OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk4NTMxMDM+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdl
cy5weToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKTogIFBhc3Mg
cm91dGUgc2hhcmluZyBwb2xpY3kgYW5kIHJvdXRpbmcgY29udGV4dCBVSUQuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IF9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6ZnJvbVJlY3Q6cm91dGVTaGFyaW5n
UG9saWN5OnJvdXRpbmdDb250ZXh0VUlEOl0pOiBUYWtlIHNhbWUuCisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgX3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjpmcm9tUmVjdDpdKTogRGVsZXRlZC4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcik6IFBhc3Mgcm91
dGUgc2hhcmluZyBwb2xpY3kgYW5kIHJvdXRpbmcgY29udGV4dCBVSUQuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbToKKyAgICAgICAgKC1bV0tB
aXJQbGF5Um91dGVQaWNrZXIgc2hvd0Zyb21WaWV3OnJvdXRlU2hhcmluZ1BvbGljeTpyb3V0aW5n
Q29udGV4dFVJRDpdKTogVGFrZSBzYW1lLgorICAgICAgICAoLVtXS0FpclBsYXlSb3V0ZVBpY2tl
ciBzaG93RnJvbVZpZXc6XSk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q2hyb21lQ2xpZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIpOgorCiAyMDE4LTA1LTAxICBP
bGVrc2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCiAgICAgICAgIFdlYkFz
c2VtYmx5OiBhZGQgc3VwcG9ydCBmb3Igc3RyZWFtIEFQSXMgLSBKYXZhU2NyaXB0IEFQSQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dExlZ2FjeS9pb3MvQ2hhbmdlTG9nCmluZGV4IGI4ODI3ZTNhNzFiYmE0Y2NhMjQxMjhiNzQ2Yjgz
NDUyNDcwMDg1MzMuLjJhZTQ0MjAxN2M3MjZmZTM3MTFlZWEzNWE2MmI5ZTRiOWMzYWUyZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0wNS0wMiAg
RXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBQ
cm92aWRlIGF1ZGlvIHJvdXRlIGluZm9ybWF0aW9uIHdoZW4gaW52b2tpbmcgQWlyUGxheSBwaWNr
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTE5
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk4NTMxMDM+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnRJT1MuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1Mu
bW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnRJT1M6OnNob3dQbGF5YmFja1RhcmdldFBpY2tl
cik6IFBhc3Mgcm91dGUgc2hhcmluZyBwb2xpY3kgYW5kIHJvdXRpbmcgY29udGV4dCBVSUQuCisK
IDIwMTgtMDQtMDUgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAg
ICAgICAgW1dURl0gUmVtb3ZlIFN0YXRpY0xvY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaAppbmRleCAyM2VkNGUyMGM5NDMxMjgxNjM4ZjE2
YTgyZDczNzMyNDVhZjgyMTRkLi43NjkzYmNkNjY5OWU1NTI4ZjBlMWI4N2FmMjAxN2YwM2Q3MDZk
ZDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0
aW9uU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0FWRm91bmRhdGlv
blNQSS5oCkBAIC0yNzAsNCArMjcwLDE0IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKIE5T
X0FTU1VNRV9OT05OVUxMX0VORAogCisjaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9T
X1NJTVVMQVRPUikgJiYgIUVOQUJMRShNSU5JTUFMX1NJTVVMQVRPUikKK05TX0FTU1VNRV9OT05O
VUxMX0JFR0lOCisKK0BpbnRlcmZhY2UgQVZBdWRpb1Nlc3Npb24gKEFWQXVkaW9TZXNzaW9uUHJp
dmF0ZSkKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIE5TU3RyaW5nKiByb3V0aW5nQ29udGV4dFVJRDsK
K0BlbmQKKworTlNfQVNTVU1FX05PTk5VTExfRU5ECisjZW5kaWYKKwogI2VuZGlmIC8vIF9faGFz
X2luY2x1ZGUoPEFWRm91bmRhdGlvbi9BVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXIuaD4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBhOTk1YWFlNWY4MjFhMzY0Zjc1NjRiMDJjYmViNWFk
NzQ3YzJiYjc1Li42ZjgyZjdiOGM5OTEzYzFhNmU3ZjU1NDMwMTQyNWJjNzU4YTViYzQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTcxODksNyArNzE4OSw3IEBAIHZvaWQgRG9jdW1lbnQ6
OnJlbW92ZVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50KE1lZGlhUGxheWJhY2tUYXJnZXRDbGll
bnQmIGNsaWVuCiAgICAgcGFnZS0+cmVtb3ZlUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQoY2xp
ZW50SWQpOwogfQogCi12b2lkIERvY3VtZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVk
aWFQbGF5YmFja1RhcmdldENsaWVudCYgY2xpZW50LCBib29sIGlzVmlkZW8pCit2b2lkIERvY3Vt
ZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVkaWFQbGF5YmFja1RhcmdldENsaWVudCYg
Y2xpZW50LCBib29sIGlzVmlkZW8sIFJvdXRlU2hhcmluZ1BvbGljeSByb3V0ZVNoYXJpbmdQb2xp
Y3ksIGNvbnN0IFN0cmluZyYgcm91dGluZ0NvbnRleHRVSUQpCiB7CiAgICAgUGFnZSogcGFnZSA9
IHRoaXMtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UpCkBAIC03MTk5LDcgKzcxOTksNyBAQCB2b2lk
IERvY3VtZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVkaWFQbGF5YmFja1RhcmdldENs
aWVudCYgY2xpZW50LCBib29sCiAgICAgaWYgKGl0ID09IG1fY2xpZW50VG9JRE1hcC5lbmQoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgcGFnZS0+c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGl0
LT52YWx1ZSwgdmlldygpLT5sYXN0S25vd25Nb3VzZVBvc2l0aW9uKCksIGlzVmlkZW8pOworICAg
IHBhZ2UtPnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihpdC0+dmFsdWUsIHZpZXcoKS0+bGFzdEtu
b3duTW91c2VQb3NpdGlvbigpLCBpc1ZpZGVvLCByb3V0ZVNoYXJpbmdQb2xpY3ksIHJvdXRpbmdD
b250ZXh0VUlEKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6cGxheWJhY2tUYXJnZXRQaWNrZXJDbGll
bnRTdGF0ZURpZENoYW5nZShNZWRpYVBsYXliYWNrVGFyZ2V0Q2xpZW50JiBjbGllbnQsIE1lZGlh
UHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBzdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
ZGEyZTc0OWVjYzNiNjEwMDUwN2FmYWEyZjZkZmY2NzI1MDRmZmFjNC4uOWM4MzM4ZGEwNmViNTIx
YWFmMjNmNTlmODYzNWI0ZTY5ZjBjZjAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE5Niw2
ICsxOTYsOCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3MgRXhjZXB0aW9uT3I7CiBlbnVtIENv
bGxlY3Rpb25UeXBlOwogZW51bSBjbGFzcyBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5Owog
CitlbnVtIGNsYXNzIFJvdXRlU2hhcmluZ1BvbGljeTsKKwogdXNpbmcgUGxhdGZvcm1EaXNwbGF5
SUQgPSB1aW50MzJfdDsKIAogI2lmIEVOQUJMRShYU0xUKQpAQCAtMTMxNyw3ICsxMzE5LDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgdm9pZCBh
ZGRQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudChNZWRpYVBsYXliYWNrVGFyZ2V0Q2xpZW50Jik7
CiAgICAgdm9pZCByZW1vdmVQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudChNZWRpYVBsYXliYWNr
VGFyZ2V0Q2xpZW50Jik7Ci0gICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoTWVkaWFQ
bGF5YmFja1RhcmdldENsaWVudCYsIGJvb2wpOworICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0
UGlja2VyKE1lZGlhUGxheWJhY2tUYXJnZXRDbGllbnQmLCBib29sLCBSb3V0ZVNoYXJpbmdQb2xp
Y3ksIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRT
dGF0ZURpZENoYW5nZShNZWRpYVBsYXliYWNrVGFyZ2V0Q2xpZW50JiwgTWVkaWFQcm9kdWNlcjo6
TWVkaWFTdGF0ZUZsYWdzKTsKIAogICAgIHZvaWQgc2V0UGxheWJhY2tUYXJnZXQodWludDY0X3Qs
IFJlZjxNZWRpYVBsYXliYWNrVGFyZ2V0PiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDVjZDc5MDU1Njg5ZDVkZTQ4NGMxMGNjYWYxODZkMjBh
NzQ2NTdlYTEuLjY3MjhhZjViYzQyZGQ1ZjIyMjgyNDY4NjIwODI4MzdkZGEyY2FkZTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNDM0LDcgKzQz
NCw4IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2Vy
KCkKICAgICB9CiAjZW5kaWYKIAotICAgIGRvY3VtZW50LnNob3dQbGF5YmFja1RhcmdldFBpY2tl
cigqdGhpcywgaXM8SFRNTFZpZGVvRWxlbWVudD4obV9lbGVtZW50KSk7CisgICAgYXV0byYgYXVk
aW9TZXNzaW9uID0gQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCk7CisgICAgZG9jdW1lbnQu
c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKCp0aGlzLCBpczxIVE1MVmlkZW9FbGVtZW50PihtX2Vs
ZW1lbnQpLCBhdWRpb1Nlc3Npb24ucm91dGVTaGFyaW5nUG9saWN5KCksIGF1ZGlvU2Vzc2lvbi5y
b3V0aW5nQ29udGV4dFVJRCgpKTsKIH0KIAogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpoYXNX
aXJlbGVzc1BsYXliYWNrVGFyZ2V0cygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKaW5kZXggMTg0YTNmYmQwMGI1MjI4YTQxNjc1YmVhOTA4MjczNGYyODI3MmUwYy4uZTI4
NWY2MzllMGQ4N2JkNTg2ZGMzZmZhZGU1ZmNlOWM4N2VmYzBmYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaApAQCAtMTc3LDcgKzE3Nyw3IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xp
ZW50IDogcHVibGljIENocm9tZUNsaWVudCB7CiAgICAgdm9pZCByZW1vdmVTY3JvbGxpbmdMYXll
cihOb2RlKiwgUGxhdGZvcm1MYXllciosIFBsYXRmb3JtTGF5ZXIqKSBmaW5hbCB7IH0KIAogICAg
IHZvaWQgd2ViQXBwT3JpZW50YXRpb25zVXBkYXRlZCgpIGZpbmFsIHsgfTsKLSAgICB2b2lkIHNo
b3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sKSBmaW5hbCB7IH07CisgICAgdm9pZCBzaG93UGxh
eWJhY2tUYXJnZXRQaWNrZXIoYm9vbCwgUm91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBTdHJpbmcm
KSBmaW5hbCB7IH07CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCiAjaWYgRU5BQkxFKE9SSUVO
VEFUSU9OX0VWRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDk4ZmE1OTJi
MmNmNWIzZWFiNTkxNzlhNDA0NzU5MTNlNDA2NDI4NDIuLmYxOTkyN2RjMjFiMjE5YjM5Yzk0MmVi
OTUwYjMzMWY3MmRhZTcyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMTAx
LDYgKzEwMSw4IEBAIHN0cnVjdCBHcmFwaGljc0RldmljZUFkYXB0ZXI7CiBzdHJ1Y3QgVmlld3Bv
cnRBcmd1bWVudHM7CiBzdHJ1Y3QgV2luZG93RmVhdHVyZXM7CiAKK2VudW0gY2xhc3MgUm91dGVT
aGFyaW5nUG9saWN5OworCiBjbGFzcyBXRUJDT1JFX0VYUE9SVCBDaHJvbWVDbGllbnQgewogcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBjaHJvbWVEZXN0cm95ZWQoKSA9IDA7CkBAIC0yNjAsNyAr
MjYyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTY3JvbGxpbmdMYXllcihO
b2RlKiwgUGxhdGZvcm1MYXllciogc2Nyb2xsaW5nTGF5ZXIsIFBsYXRmb3JtTGF5ZXIqIGNvbnRl
bnRzTGF5ZXIpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCB3ZWJBcHBPcmllbnRhdGlvbnNVcGRh
dGVkKCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9v
bCBoYXNWaWRlbykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNr
ZXIoYm9vbCBoYXNWaWRlbywgUm91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBTdHJpbmcmKSA9IDA7
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShPUklFTlRBVElPTl9FVkVOVFMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAppbmRleCBiMzQ1OGY1ZGJlN2FjOWZiNzIyNWM2NWQ0MDdmZGNmZWZmYzA5MmQwLi42MzNlM2I5
N2Y3ZDY1MDM1MTM5MzY1ZDU4ZTJkZjBkNzNiOGQ0Mjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAg
LTIyMDAsMTQgKzIyMDAsMTYgQEAgdm9pZCBQYWdlOjpyZW1vdmVQbGF5YmFja1RhcmdldFBpY2tl
ckNsaWVudCh1aW50NjRfdCBjb250ZXh0SWQpCiAgICAgY2hyb21lKCkuY2xpZW50KCkucmVtb3Zl
UGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQoY29udGV4dElkKTsKIH0KIAotdm9pZCBQYWdlOjpz
aG93UGxheWJhY2tUYXJnZXRQaWNrZXIodWludDY0X3QgY29udGV4dElkLCBjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgbG9jYXRpb24sIGJvb2wgaXNWaWRlbykKK3ZvaWQgUGFnZTo6c2hvd1BsYXli
YWNrVGFyZ2V0UGlja2VyKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIGxvY2F0aW9uLCBib29sIGlzVmlkZW8sIFJvdXRlU2hhcmluZ1BvbGljeSByb3V0ZVNoYXJp
bmdQb2xpY3ksIGNvbnN0IFN0cmluZyYgcm91dGluZ0NvbnRleHRVSUQpCiB7CiAjaWYgUExBVEZP
Uk0oSU9TKQogICAgIC8vIEZJWE1FOiByZWZhY3RvciBpT1MgaW1wbGVtZW50YXRpb24uCiAgICAg
VU5VU0VEX1BBUkFNKGNvbnRleHRJZCk7CiAgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsKLSAg
ICBjaHJvbWUoKS5jbGllbnQoKS5zaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoaXNWaWRlbyk7Cisg
ICAgY2hyb21lKCkuY2xpZW50KCkuc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGlzVmlkZW8sIHJv
dXRlU2hhcmluZ1BvbGljeSwgcm91dGluZ0NvbnRleHRVSUQpOwogI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0ocm91dGVTaGFyaW5nUG9saWN5KTsKKyAgICBVTlVTRURfUEFSQU0ocm91dGluZ0NvbnRl
eHRVSUQpOwogICAgIGNocm9tZSgpLmNsaWVudCgpLnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihj
b250ZXh0SWQsIGxvY2F0aW9uLCBpc1ZpZGVvKTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRl
eCA3NjJmYWE5YTcwZWU1ODk3MjM4Nzg5M2FkZjQyMGNiNGY3N2U0OWNmLi4zZWJkMDQxYjQ3Nzlh
ZjQ1YWU1MDEzMDYzYmI4YTAwZTg4YWM0ODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTU2LDYgKzE1
Niw3IEBAIGVudW0gY2xhc3MgRXZlbnRUaHJvdHRsaW5nQmVoYXZpb3IgewogZW51bSBjbGFzcyBD
YW5XcmFwIDogYm9vbDsKIGVudW0gY2xhc3MgRGlkV3JhcCA6IGJvb2w7CiBlbnVtIGNsYXNzIE5h
dmlnYXRpb25Qb2xpY3lDaGVjazsKK2VudW0gY2xhc3MgUm91dGVTaGFyaW5nUG9saWN5OwogCiBj
bGFzcyBQYWdlIDogcHVibGljIFN1cHBsZW1lbnRhYmxlPFBhZ2U+IHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQYWdlKTsKQEAgLTU3Myw3ICs1NzQsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxF
KFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICB2b2lkIGFkZFBsYXliYWNrVGFyZ2V0UGlj
a2VyQ2xpZW50KHVpbnQ2NF90KTsKICAgICB2b2lkIHJlbW92ZVBsYXliYWNrVGFyZ2V0UGlja2Vy
Q2xpZW50KHVpbnQ2NF90KTsKLSAgICB2b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcih1aW50
NjRfdCwgY29uc3QgSW50UG9pbnQmLCBib29sKTsKKyAgICB2b2lkIHNob3dQbGF5YmFja1Rhcmdl
dFBpY2tlcih1aW50NjRfdCwgY29uc3QgSW50UG9pbnQmLCBib29sLCBSb3V0ZVNoYXJpbmdQb2xp
Y3ksIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRT
dGF0ZURpZENoYW5nZSh1aW50NjRfdCwgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2Vy
RW5hYmxlZChib29sKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1vY2tNZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyU3RhdGUoY29uc3QgU3RyaW5nJiwgTWVkaWFQbGF5YmFja1RhcmdldENv
bnRleHQ6OlN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nl
c3Npb24uY3BwCmluZGV4IGZjNmEwYTUyY2Q4YTc1ZmE4MDI2NTZiNjg5YjAxZGYyYTE0ZjU3ZDMu
LjJjYzk3OTFkOTY0ZmVlOWM4YmQxNTk3NWM2MmE1NzA4OTMxNjUwMTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcApAQCAtMTA3LDYgKzEwNywx
NyBAQCB2b2lkIEF1ZGlvU2Vzc2lvbjo6c2V0UHJlZmVycmVkQnVmZmVyU2l6ZShzaXplX3QpCiB7
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KKworUm91dGVTaGFyaW5nUG9saWN5IEF1ZGlvU2Vz
c2lvbjo6cm91dGVTaGFyaW5nUG9saWN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gUm91dGVTaGFy
aW5nUG9saWN5OjpEZWZhdWx0OworfQorCitTdHJpbmcgQXVkaW9TZXNzaW9uOjpyb3V0aW5nQ29u
dGV4dFVJRCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CisKICNlbmRp
ZiAvLyAhUExBVEZPUk0oQ09DT0EpCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9TZXNzaW9uLmgKaW5kZXggN2FhNzE3Mjc2ZGY1NDM2YmZiZjU1ZDE2YWQ4NTYzNThk
NWU1YWEyMy4uMmRmMjA1MDk3NmVlM2Y2NTY1NDI2NTRhMmY2M2QyZDhiZjkwMmE5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw2ICsy
OSw3IEBACiAjaWYgVVNFKEFVRElPX1NFU1NJT04pCiAKICNpbmNsdWRlIDxtZW1vcnk+CisjaW5j
bHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpA
QCAtMzcsNiArMzgsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBdWRpb1Nlc3Np
b25Qcml2YXRlOwogCitlbnVtIGNsYXNzIFJvdXRlU2hhcmluZ1BvbGljeSB7CisgICAgRGVmYXVs
dCwKKyAgICBMb25nRm9ybSwKKyAgICBJbmRlcGVuZGVudCwKK307CisKIGNsYXNzIEF1ZGlvU2Vz
c2lvbiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVkaW9TZXNzaW9uKTsKIHB1YmxpYzoK
QEAgLTU3LDYgKzY0LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q2F0ZWdvcnlPdmVycmlkZShD
YXRlZ29yeVR5cGUpOwogICAgIENhdGVnb3J5VHlwZSBjYXRlZ29yeU92ZXJyaWRlKCkgY29uc3Q7
CiAKKyAgICBSb3V0ZVNoYXJpbmdQb2xpY3kgcm91dGVTaGFyaW5nUG9saWN5KCkgY29uc3Q7Cisg
ICAgU3RyaW5nIHJvdXRpbmdDb250ZXh0VUlEKCkgY29uc3Q7CisKICAgICBmbG9hdCBzYW1wbGVS
YXRlKCkgY29uc3Q7CiAgICAgc2l6ZV90IGJ1ZmZlclNpemUoKSBjb25zdDsKICAgICBzaXplX3Qg
bnVtYmVyT2ZPdXRwdXRDaGFubmVscygpIGNvbnN0OwpAQCAtOTAsNiArMTAwLDE3IEBAIHByaXZh
dGU6CiAKIH0KIAorbmFtZXNwYWNlIFdURiB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRz
PFdlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGljeT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1W
YWx1ZXM8CisgICAgV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5LAorICAgIFdlYkNvcmU6OlJv
dXRlU2hhcmluZ1BvbGljeTo6RGVmYXVsdCwKKyAgICBXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xp
Y3k6OkxvbmdGb3JtLAorICAgIFdlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGljeTo6SW5kZXBlbmRl
bnQKKyAgICA+OworfTsKK30KKwogI2VuZGlmIC8vIFVTRShBVURJT19TRVNTSU9OKQogCiAjZW5k
aWYgLy8gQXVkaW9TZXNzaW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2lvcy9BdWRpb1Nlc3Npb25JT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9pb3MvQXVkaW9TZXNzaW9uSU9TLm1tCmluZGV4IDMzYjA0YmJiYzYxMGZlNGM1ZDdlMWIx
YmU4YjI4MzJmYWJkMzNjOTMuLjJmOGY3MmQ0OWNlYzQwZTg5ZWY2ZjhlOTc2MjU2MzgxNDFkNzg3
NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9BdWRpb1Nl
c3Npb25JT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL0F1ZGlv
U2Vzc2lvbklPUy5tbQpAQCAtMzEsMTEgKzMxLDEwIEBACiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAj
aW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBdWRpb1Nlc3Npb24uaD4KICNpbXBvcnQgPG9iamMvcnVu
dGltZS5oPgorI2ltcG9ydCA8cGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmg+CiAjaW1wb3J0
IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KIAotdHlwZWRl
ZiBBVkF1ZGlvU2Vzc2lvbiBBVkF1ZGlvU2Vzc2lvblR5cGU7Ci0KIFNPRlRfTElOS19GUkFNRVdP
UksoQVZGb3VuZGF0aW9uKQogU09GVF9MSU5LX0NMQVNTKEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nl
c3Npb24pCiAKQEAgLTE2Niw2ICsxNjUsMjYgQEAgQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUg
QXVkaW9TZXNzaW9uOjpjYXRlZ29yeSgpIGNvbnN0CiAgICAgcmV0dXJuIE5vbmU7CiB9CiAKK1Jv
dXRlU2hhcmluZ1BvbGljeSBBdWRpb1Nlc3Npb246OnJvdXRlU2hhcmluZ1BvbGljeSgpIGNvbnN0
Cit7CisgICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFJvdXRlU2hhcmluZ1Bv
bGljeTo6RGVmYXVsdCkgPT0gc3RhdGljX2Nhc3Q8c2l6ZV90PihBVkF1ZGlvU2Vzc2lvblJvdXRl
U2hhcmluZ1BvbGljeURlZmF1bHQpLCAiUm91dGVTaGFyaW5nUG9saWN5OjpEZWZhdWx0IGlzIG5v
dCBBVkF1ZGlvU2Vzc2lvblJvdXRlU2hhcmluZ1BvbGljeURlZmF1bHQgYXMgZXhwZWN0ZWQiKTsK
KyAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4oUm91dGVTaGFyaW5nUG9saWN5
OjpMb25nRm9ybSkgPT0gc3RhdGljX2Nhc3Q8c2l6ZV90PihBVkF1ZGlvU2Vzc2lvblJvdXRlU2hh
cmluZ1BvbGljeUxvbmdGb3JtKSwgIlJvdXRlU2hhcmluZ1BvbGljeTo6TG9uZ0Zvcm0gaXMgbm90
IEFWQXVkaW9TZXNzaW9uUm91dGVTaGFyaW5nUG9saWN5TG9uZ0Zvcm0gYXMgZXhwZWN0ZWQiKTsK
KyAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4oUm91dGVTaGFyaW5nUG9saWN5
OjpJbmRlcGVuZGVudCkgPT0gc3RhdGljX2Nhc3Q8c2l6ZV90PihBVkF1ZGlvU2Vzc2lvblJvdXRl
U2hhcmluZ1BvbGljeUluZGVwZW5kZW50KSwgIlJvdXRlU2hhcmluZ1BvbGljeTo6SW5kZXBlbmRl
bnQgaXMgbm90IEFWQXVkaW9TZXNzaW9uUm91dGVTaGFyaW5nUG9saWN5SW5kZXBlbmRlbnQgYXMg
ZXhwZWN0ZWQiKTsKKworICAgIEFWQXVkaW9TZXNzaW9uUm91dGVTaGFyaW5nUG9saWN5IHBvbGlj
eSA9IFtbQVZBdWRpb1Nlc3Npb24gc2hhcmVkSW5zdGFuY2VdIHJvdXRlU2hhcmluZ1BvbGljeV07
CisgICAgQVNTRVJUKHN0YXRpY19jYXN0PFJvdXRlU2hhcmluZ1BvbGljeT4ocG9saWN5KSA8PSBS
b3V0ZVNoYXJpbmdQb2xpY3k6OkluZGVwZW5kZW50KTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
Um91dGVTaGFyaW5nUG9saWN5Pihwb2xpY3kpOworfQorCitTdHJpbmcgQXVkaW9TZXNzaW9uOjpy
b3V0aW5nQ29udGV4dFVJRCgpIGNvbnN0Cit7CisjaWYgIVBMQVRGT1JNKElPU19TSU1VTEFUT1Ip
ICYmICFFTkFCTEUoTUlOSU1BTF9TSU1VTEFUT1IpICYmICFQTEFURk9STShXQVRDSE9TKQorICAg
IHJldHVybiBbW0FWQXVkaW9TZXNzaW9uIHNoYXJlZEluc3RhbmNlXSByb3V0aW5nQ29udGV4dFVJ
RF07CisjZWxzZQorICAgIHJldHVybiBlbXB0eVN0cmluZygpOworI2VuZGlmCit9CisKIHZvaWQg
QXVkaW9TZXNzaW9uOjpzZXRDYXRlZ29yeU92ZXJyaWRlKENhdGVnb3J5VHlwZSBjYXRlZ29yeSkK
IHsKICAgICBpZiAobV9wcml2YXRlLT5tX2NhdGVnb3J5T3ZlcnJpZGUgPT0gY2F0ZWdvcnkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9u
TWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25N
YWMuY3BwCmluZGV4IGY5NWY5Y2VhNzA3OTAyNzg1YTNlYWVlNzVjMjUyMWRmNDU1M2RkZTMuLjZi
NTk1ZWYwOTEyYjhhZmFkNjNjMjY5ZGNhMWNhZTdhNTIzM2Q0YTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCkBAIC0x
MzEsNiArMTMxLDE2IEBAIGJvb2wgQXVkaW9TZXNzaW9uOjp0cnlUb1NldEFjdGl2ZShib29sKQog
ICAgIHJldHVybiB0cnVlOwogfQogCitSb3V0ZVNoYXJpbmdQb2xpY3kgQXVkaW9TZXNzaW9uOjpy
b3V0ZVNoYXJpbmdQb2xpY3koKSBjb25zdAoreworICAgIHJldHVybiBSb3V0ZVNoYXJpbmdQb2xp
Y3k6OkRlZmF1bHQ7Cit9CisKK1N0cmluZyBBdWRpb1Nlc3Npb246OnJvdXRpbmdDb250ZXh0VUlE
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKK30KKwogc2l6ZV90IEF1ZGlv
U2Vzc2lvbjo6cHJlZmVycmVkQnVmZmVyU2l6ZSgpIGNvbnN0CiB7CiAgICAgVUludDMyIGJ1ZmZl
clNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCBlYTA2
N2MwYmQ2YTMwYTZiMTFiZWJkZmI4YTMxMmMzODUxMzhiYzBkLi4zY2ExZmY3M2Y1ZjU3ZTZhNzg3
OTc3YzYyN2Y1NGQxODE0MjY3MDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkKQEAgLTM5NCw2ICszOTQsNyBAQCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToK
ICAgICAgICAgJ1dlYkNvcmU6OlBsdWdpbkluZm8nOiBbJzxXZWJDb3JlL1BsdWdpbkRhdGEuaD4n
XSwKICAgICAgICAgJ1dlYkNvcmU6OlBvbGljeUFjdGlvbic6IFsnPFdlYkNvcmUvRnJhbWVMb2Fk
ZXJUeXBlcy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6UmVjZW50U2VhcmNoJzogWyc8V2ViQ29y
ZS9TZWFyY2hQb3B1cE1lbnUuaD4nXSwKKyAgICAgICAgJ1dlYkNvcmU6OlJvdXRlU2hhcmluZ1Bv
bGljeSc6IFsnPFdlYkNvcmUvQXVkaW9TZXNzaW9uLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpT
V1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyJzogWyc8V2ViQ29yZS9TZXJ2aWNlV29ya2VyVHlw
ZXMuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2JJZGVudGlmaWVyJzog
Wyc8V2ViQ29yZS9TZXJ2aWNlV29ya2VyVHlwZXMuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlNl
cnZpY2VXb3JrZXJPckNsaWVudERhdGEnOiBbJzxXZWJDb3JlL1NlcnZpY2VXb3JrZXJUeXBlcy5o
PicsICc8V2ViQ29yZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5oPicsICc8V2ViQ29yZS9TZXJ2
aWNlV29ya2VyRGF0YS5oPiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4
IDI2ZDY2NmQ5NDgzZjliZmNhYzFlNjgzOWRkYTc5NzIyMjVjNzM5ZGEuLmQ3ZWY2OTdkOTk4YTE2
NjY5N2YxMWRjNmY5ZTkxZTFjOTY3ZTE4MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmgKQEAgLTI5NSw3ICsyOTUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGludGVy
cHJldEtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmLCBib29sIGlzQ2hhckV2
ZW50KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uSW5mb3JtYXRpb25EaWRDaGFuZ2Uo
Y29uc3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24mKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHNhdmVJbWFnZVRvTGlicmFyeShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmKSA9
IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1Zp
ZGVvLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBlbGVtZW50UmVjdCkgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywgY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYgZWxlbWVudFJlY3QsIFdlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGljeSwg
Y29uc3QgU3RyaW5nJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlRG91YmxlVGFwR2Vz
dHVyZXNEdXJpbmdUYXBJZk5lY2Vzc2FyeSh1aW50NjRfdCByZXF1ZXN0SUQpID0gMDsKICAgICB2
aXJ0dWFsIGRvdWJsZSBtaW5pbXVtWm9vbVNjYWxlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
V2ViQ29yZTo6RmxvYXRSZWN0IGRvY3VtZW50UmVjdCgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOWM5NDQyOTA5ZWJiZTA2OWVkMDQzZGQ3MWVk
NDY0Y2M1NmNiNDVjMy4uOWQxMzU1ZDBjZDdjOWRhZWJiYjgzNzE3NmQ3NDdmM2RmNTdlYmFlZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE1OTcsNyArMTU5Nyw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhdXRvY29ycmVjdGlvbkNvbnRleHRDYWxsYmFjayhjb25z
dCBTdHJpbmcmIGJlZm9yZVRleHQsIGNvbnN0IFN0cmluZyYgbWFya2VkVGV4dCwgY29uc3QgU3Ry
aW5nJiBzZWxlY3RlZFRleHQsIGNvbnN0IFN0cmluZyYgYWZ0ZXJUZXh0LCB1aW50NjRfdCBsb2Nh
dGlvbiwgdWludDY0X3QgbGVuZ3RoLCBDYWxsYmFja0lEKTsKICAgICB2b2lkIHNlbGVjdGlvbkNv
bnRleHRDYWxsYmFjayhjb25zdCBTdHJpbmcmIHNlbGVjdGVkVGV4dCwgY29uc3QgU3RyaW5nJiBi
ZWZvcmVUZXh0LCBjb25zdCBTdHJpbmcmIGFmdGVyVGV4dCwgQ2FsbGJhY2tJRCk7CiAgICAgdm9p
ZCBpbnRlcnByZXRLZXlFdmVudChjb25zdCBFZGl0b3JTdGF0ZSYsIGJvb2wgaXNDaGFyRXZlbnQs
IGJvb2wmIGhhbmRsZWQpOwotICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wg
aGFzVmlkZW8sIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGVsZW1lbnRSZWN0KTsKKyAgICB2b2lk
IHNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBlbGVtZW50UmVjdCwgV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIHNlbGVjdGlvblJlY3RzQ2FsbGJhY2soY29uc3QgVmVjdG9yPFdl
YkNvcmU6OlNlbGVjdGlvblJlY3Q+JiwgQ2FsbGJhY2tJRCk7CiAjZW5kaWYKICNpZiBQTEFURk9S
TShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KaW5kZXggNmVmZDg4ZTI3ZDI1NjA2MDg4YjhmMzA0ODhkODc5OGYyMDRmNmRhNy4uYWM3
YWE3NjA1NTc0OTdkNGI2ZmYyOThjZThkNGQ0OWQ0ZWU4Yzk5NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTg4LDcgKzE4OCw3
IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgSW50ZXJwcmV0S2V5RXZlbnQoc3Ry
dWN0IFdlYktpdDo6RWRpdG9yU3RhdGUgc3RhdGUsIGJvb2wgaXNDaGFyRXZlbnQpIC0+IChib29s
IGhhbmRsZWQpCiAgICAgRGlkUmVjZWl2ZVBvc2l0aW9uSW5mb3JtYXRpb24oc3RydWN0IFdlYktp
dDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24gaW5mb3JtYXRpb24pCiAgICAgU2F2
ZUltYWdlVG9MaWJyYXJ5KFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFuZGxlLCB1aW50
NjRfdCBzaXplKQotICAgIFNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBX
ZWJDb3JlOjpJbnRSZWN0IGVsZW1lbnRSZWN0KQorICAgIFNob3dQbGF5YmFja1RhcmdldFBpY2tl
cihib29sIGhhc1ZpZGVvLCBXZWJDb3JlOjpJbnRSZWN0IGVsZW1lbnRSZWN0LCBlbnVtIFdlYkNv
cmU6OlJvdXRlU2hhcmluZ1BvbGljeSBwb2xpY3ksIFN0cmluZyByb3V0aW5nQ29udGV4dFVJRCkK
ICAgICBDb21taXRQb3RlbnRpYWxUYXBGYWlsZWQoKQogICAgIERpZE5vdEhhbmRsZVRhcEFzQ2xp
Y2soV2ViQ29yZTo6SW50UG9pbnQgcG9pbnQpCiAgICAgRGlkQ29tcGxldGVTeW50aGV0aWNDbGlj
aygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5o
CmluZGV4IDcxMjE5ODZhZDMyZDNlYmE2ZjMxMDg1ODk2ZjFmMDg3OWZhZTAyMTUuLjlhNzQ2NGJh
OGE0NzA5OGEwMjA1ZDFjZDQ2OGFjMDY2MmQwMmFjNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0xMzIsNyArMTMyLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIGludGVycHJldEtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJk
RXZlbnQmLCBib29sIGlzQ2hhckV2ZW50KSBvdmVycmlkZTsKICAgICB2b2lkIHBvc2l0aW9uSW5m
b3JtYXRpb25EaWRDaGFuZ2UoY29uc3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24m
KSBvdmVycmlkZTsKICAgICB2b2lkIHNhdmVJbWFnZVRvTGlicmFyeShSZWY8V2ViQ29yZTo6U2hh
cmVkQnVmZmVyPiYmKSBvdmVycmlkZTsKLSAgICB2b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tl
cihib29sIGhhc1ZpZGVvLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBlbGVtZW50UmVjdCkgb3Zl
cnJpZGU7CisgICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNWaWRlbywg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZWxlbWVudFJlY3QsIFdlYkNvcmU6OlJvdXRlU2hhcmlu
Z1BvbGljeSwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAKICAgICBib29sIGhhbmRsZVJ1bk9w
ZW5QYW5lbChXZWJQYWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiwgQVBJOjpPcGVuUGFuZWxQYXJh
bWV0ZXJzKiwgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSopIG92ZXJyaWRlOwogICAg
IHZvaWQgZGlzYWJsZURvdWJsZVRhcEdlc3R1cmVzRHVyaW5nVGFwSWZOZWNlc3NhcnkodWludDY0
X3QgcmVxdWVzdElEKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCA1YTEyYmY3ZDE3ODdjZjU0NTgyZWQ0YWI0ZTA1
YzBkMzNmN2NjYjIzLi42Njc5YTQ0YmZlOTlkMzI5ODE4Y2IzZTEyMDMxZmUwNWE1ZGJjNGIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1t
CkBAIC01NjIsOSArNTYyLDkgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6c3RvcEFzc2lzdGluZ05v
ZGUoKQogICAgIFttX2NvbnRlbnRWaWV3IF9zdG9wQXNzaXN0aW5nTm9kZV07CiB9CiAKLXZvaWQg
UGFnZUNsaWVudEltcGw6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBj
b25zdCBJbnRSZWN0JiBlbGVtZW50UmVjdCkKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnNob3dQbGF5
YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBjb25zdCBJbnRSZWN0JiBlbGVtZW50UmVj
dCwgV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5IHBvbGljeSwgY29uc3QgU3RyaW5nJiBjb250
ZXh0VUlEKQogewotICAgIFttX2NvbnRlbnRWaWV3IF9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6
aGFzVmlkZW8gZnJvbVJlY3Q6ZWxlbWVudFJlY3RdOworICAgIFttX2NvbnRlbnRWaWV3IF9zaG93
UGxheWJhY2tUYXJnZXRQaWNrZXI6aGFzVmlkZW8gZnJvbVJlY3Q6ZWxlbWVudFJlY3Qgcm91dGVT
aGFyaW5nUG9saWN5OnBvbGljeSByb3V0aW5nQ29udGV4dFVJRDpjb250ZXh0VUlEXTsKIH0KIAog
Ym9vbCBQYWdlQ2xpZW50SW1wbDo6aGFuZGxlUnVuT3BlblBhbmVsKFdlYlBhZ2VQcm94eSosIFdl
YkZyYW1lUHJveHkqLCBBUEk6Ok9wZW5QYW5lbFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMsIFdlYk9w
ZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqIGxpc3RlbmVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4IDNm
NGVlOTY3ZGQ4ZWRiNmYwNGU5MzFlNzQxNzNiMGEzODIzYTg0ODEuLjNlOWZkYWY2N2E3NTZkNDgz
MzllM2RjNTZkYzM0ZWI4NDljYzFlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKQEAgLTYwLDYgKzYwLDcgQEAg
Y2xhc3MgRmxvYXRRdWFkOwogY2xhc3MgSW50U2l6ZTsKIGNsYXNzIFNlbGVjdGlvblJlY3Q7CiBz
dHJ1Y3QgUHJvbWlzZWRCbG9iSW5mbzsKK2VudW0gY2xhc3MgUm91dGVTaGFyaW5nUG9saWN5Owog
fQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKQEAgLTMxOCw3ICszMTksNyBAQCBGT1JfRUFD
SF9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZPUl9X
RUJfVklFVykKIC0gKHZvaWQpX2RpZEVuZFNjcm9sbGluZ09yWm9vbWluZzsKIC0gKHZvaWQpX292
ZXJmbG93U2Nyb2xsaW5nV2lsbEJlZ2luOwogLSAodm9pZClfb3ZlcmZsb3dTY3JvbGxpbmdEaWRF
bmQ7Ci0tICh2b2lkKV9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6KEJPT0wpaGFzVmlkZW8gZnJv
bVJlY3Q6KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKWVsZW1lbnRSZWN0OworLSAodm9pZClfc2hv
d1BsYXliYWNrVGFyZ2V0UGlja2VyOihCT09MKWhhc1ZpZGVvIGZyb21SZWN0Oihjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JillbGVtZW50UmVjdCByb3V0ZVNoYXJpbmdQb2xpY3k6KFdlYkNvcmU6OlJv
dXRlU2hhcmluZ1BvbGljeSlwb2xpY3kgcm91dGluZ0NvbnRleHRVSUQ6KE5TU3RyaW5nICopY29u
dGV4dFVJRDsKIC0gKHZvaWQpX3Nob3dSdW5PcGVuUGFuZWw6KEFQSTo6T3BlblBhbmVsUGFyYW1l
dGVycyopcGFyYW1ldGVycyByZXN1bHRMaXN0ZW5lcjooV2ViS2l0OjpXZWJPcGVuUGFuZWxSZXN1
bHRMaXN0ZW5lclByb3h5KilsaXN0ZW5lcjsKIC0gKHZvaWQpYWNjZXNzb3J5RG9uZTsKIC0gKHZv
aWQpX2RpZEhhbmRsZUtleUV2ZW50Oig6OldlYkV2ZW50ICopZXZlbnQgZXZlbnRXYXNIYW5kbGVk
OihCT09MKWV2ZW50V2FzSGFuZGxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDBiYjlhNzU3NDJhMmU4
Y2ZmZDE5NjZlMjM5NGYyMDU0NWZlYTU4N2QuLmMyYTNiYWRlMTEzMzFiOGFmMGFjZjU0MGFjZmQ4
ZDE5YWY2YzU2YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNDU3NiwxMyArNDU3NiwxMyBAQCBzdGF0
aWMgYm9vbCBpc0Fzc2lzdGFibGVJbnB1dFR5cGUoSW5wdXRUeXBlIHR5cGUpCiAgICAgICAgIFtf
dGV4dFNlbGVjdGlvbkFzc2lzdGFudCBhY3RpdmF0ZVNlbGVjdGlvbl07CiB9CiAKLS0gKHZvaWQp
X3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjooQk9PTCloYXNWaWRlbyBmcm9tUmVjdDooY29uc3Qg
SW50UmVjdCYpZWxlbWVudFJlY3QKKy0gKHZvaWQpX3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjoo
Qk9PTCloYXNWaWRlbyBmcm9tUmVjdDooY29uc3QgSW50UmVjdCYpZWxlbWVudFJlY3Qgcm91dGVT
aGFyaW5nUG9saWN5OihXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3kpcm91dGVTaGFyaW5nUG9s
aWN5IHJvdXRpbmdDb250ZXh0VUlEOihOU1N0cmluZyAqKXJvdXRpbmdDb250ZXh0VUlECiB7CiAj
aWYgRU5BQkxFKEFJUlBMQVlfUElDS0VSKQogI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDExMDAwMCAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExF
VFYpCiAgICAgaWYgKCFfYWlyUGxheVJvdXRlUGlja2VyKQogICAgICAgICBfYWlyUGxheVJvdXRl
UGlja2VyID0gYWRvcHROUyhbW1dLQWlyUGxheVJvdXRlUGlja2VyIGFsbG9jXSBpbml0XSk7Ci0g
ICAgW19haXJQbGF5Um91dGVQaWNrZXIgc2hvd0Zyb21WaWV3OnNlbGZdOworICAgIFtfYWlyUGxh
eVJvdXRlUGlja2VyIHNob3dGcm9tVmlldzpzZWxmIHJvdXRlU2hhcmluZ1BvbGljeTpyb3V0ZVNo
YXJpbmdQb2xpY3kgcm91dGluZ0NvbnRleHRVSUQ6cm91dGluZ0NvbnRleHRVSURdOwogI2Vsc2UK
ICAgICBpZiAoIV9haXJQbGF5Um91dGVQaWNrZXIpCiAgICAgICAgIF9haXJQbGF5Um91dGVQaWNr
ZXIgPSBhZG9wdE5TKFtbV0tBaXJQbGF5Um91dGVQaWNrZXIgYWxsb2NdIGluaXRXaXRoVmlldzpz
ZWxmXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVBy
b3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5t
bQppbmRleCA3MTNiMmY4NWUzODc3M2FmYWQ4ZmZhNTE1NzM4MzI4ZWNkNDYxNjI2Li43MDk4YmI3
OTQ2MmYzYjgwOGU2ZmMxMGYyODdmZGM3NzY2MjAzODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAgLTEwMzMsOSArMTAzMyw5IEBAIHZv
aWQgV2ViUGFnZVByb3h5OjpzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nUm9vdExheWVyKExheWVy
T3JWaWV3KiByb290TGF5ZXIpCiAgICAgbV9wYWdlQ2xpZW50LnNldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdSb290TGF5ZXIocm9vdExheWVyKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OnNob3dQ
bGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBjb25zdCBJbnRSZWN0JiBlbGVtZW50
UmVjdCkKK3ZvaWQgV2ViUGFnZVByb3h5OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBo
YXNWaWRlbywgY29uc3QgSW50UmVjdCYgZWxlbWVudFJlY3QsIFdlYkNvcmU6OlJvdXRlU2hhcmlu
Z1BvbGljeSBwb2xpY3ksIGNvbnN0IFN0cmluZyYgY29udGV4dFVJRCkKIHsKLSAgICBtX3BhZ2VD
bGllbnQuc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGhhc1ZpZGVvLCBlbGVtZW50UmVjdCk7Cisg
ICAgbV9wYWdlQ2xpZW50LnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihoYXNWaWRlbywgZWxlbWVu
dFJlY3QsIHBvbGljeSwgY29udGV4dFVJRCk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpjb21t
aXRQb3RlbnRpYWxUYXBGYWlsZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIuaAppbmRleCAxZjUxN2JjNDkxYjNj
YTRjYTk0MzFlYzI4ODJiZTlkNmFmMjM5ZDg3Li4zNjEzOWYyNTU4NzNmNmZiM2EzN2I2MTg5MjQx
OTk4MDNjYjRkMTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9y
bXMvV0tBaXJQbGF5Um91dGVQaWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIuaApAQCAtMjksMTAgKzI5LDE0IEBACiAKICNp
bXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgogCituYW1lc3BhY2UgV2ViQ29yZSB7Citl
bnVtIGNsYXNzIFJvdXRlU2hhcmluZ1BvbGljeTsKK30KKwogQGNsYXNzIFVJVmlldzsKIAogQGlu
dGVyZmFjZSBXS0FpclBsYXlSb3V0ZVBpY2tlciA6IE5TT2JqZWN0Ci0tICh2b2lkKXNob3dGcm9t
VmlldzooVUlWaWV3ICopdmlldzsKKy0gKHZvaWQpc2hvd0Zyb21WaWV3OihVSVZpZXcgKil2aWV3
IHJvdXRlU2hhcmluZ1BvbGljeTooV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5KXBvbGljeSBy
b3V0aW5nQ29udGV4dFVJRDooTlNTdHJpbmcgKiljb250ZXh0VUlEOwogQGVuZAogCiAjZWxzZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJv
dXRlUGlja2VyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxh
eVJvdXRlUGlja2VyLm1tCmluZGV4IGQ1ZjJiMWEyZWU0NTI5MTA1ODA2YWJkNTUzZjU5MTM1Nzhk
ZTFjYjYuLjc0YmQyMzJkNjIyZWU4MWUwN2JmNDQ5ZTMwODdhMjU5N2ZjNzI4ZmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tl
ci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91
dGVQaWNrZXIubW0KQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBQTEFURk9STShJT1MpICYmIEVOQUJM
RShBSVJQTEFZX1BJQ0tFUikKIAogI2ltcG9ydCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgPFdlYkNv
cmUvQXVkaW9TZXNzaW9uLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2lvcy9NZWRpYVBsYXllclNQSS5o
PgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+
CkBAIC0xNjcsNiArMTY4LDE3IEBAIFNPRlRfTElOS19GUkFNRVdPUksoTWVkaWFQbGF5ZXIpCiBT
T0ZUX0xJTktfQ0xBU1MoTWVkaWFQbGF5ZXIsIE1QQVZSb3V0aW5nQ29udHJvbGxlcikKIFNPRlRf
TElOS19DTEFTUyhNZWRpYVBsYXllciwgTVBNZWRpYUNvbnRyb2xzVmlld0NvbnRyb2xsZXIpCiAK
K2VudW0geworICAgIFdLQWlyUGxheVJvdXRlUGlja2VyUm91dGVTaGFyaW5nUG9saWN5RGVmYXVs
dCA9IDAsCisgICAgV0tBaXJQbGF5Um91dGVQaWNrZXJSb3V0ZVNoYXJpbmdQb2xpY3lMb25nRm9y
bSA9IDEsCisgICAgV0tBaXJQbGF5Um91dGVQaWNrZXJSb3V0ZVNoYXJpbmdQb2xpY3lJbmRlcGVu
ZGVudCA9IDIsCit9OwordHlwZWRlZiBOU0ludGVnZXIgV0tBaXJQbGF5Um91dGVQaWNrZXJSb3V0
ZVNoYXJpbmdQb2xpY3k7CisKK0BpbnRlcmZhY2UgTVBNZWRpYUNvbnRyb2xzVmlld0NvbnRyb2xs
ZXIgKFdLTVBNZWRpYUNvbnRyb2xzVmlld0NvbnRyb2xsZXJQcml2YXRlKQorLSAodm9pZClzZXRP
dmVycmlkZVJvdXRlU2hhcmluZ1BvbGljeTooV0tBaXJQbGF5Um91dGVQaWNrZXJSb3V0ZVNoYXJp
bmdQb2xpY3kpcm91dGVTaGFyaW5nUG9saWN5IHJvdXRpbmdDb250ZXh0VUlEOihOU1N0cmluZyAq
KXJvdXRpbmdDb250ZXh0VUlEOworQGVuZAorCiBAaW1wbGVtZW50YXRpb24gV0tBaXJQbGF5Um91
dGVQaWNrZXIgewogICAgIFJldGFpblB0cjxNUE1lZGlhQ29udHJvbHNWaWV3Q29udHJvbGxlcj4g
X2FjdGlvblNoZWV0OwogfQpAQCAtMTc3LDggKzE4OSwxMiBAQCBTT0ZUX0xJTktfQ0xBU1MoTWVk
aWFQbGF5ZXIsIE1QTWVkaWFDb250cm9sc1ZpZXdDb250cm9sbGVyKQogICAgIFtzdXBlciBkZWFs
bG9jXTsKIH0KIAotLSAodm9pZClzaG93RnJvbVZpZXc6KFVJVmlldyAqKXZpZXcKKy0gKHZvaWQp
c2hvd0Zyb21WaWV3OihVSVZpZXcgKil2aWV3IHJvdXRlU2hhcmluZ1BvbGljeTooV2ViQ29yZTo6
Um91dGVTaGFyaW5nUG9saWN5KXJvdXRlU2hhcmluZ1BvbGljeSByb3V0aW5nQ29udGV4dFVJRDoo
TlNTdHJpbmcgKilyb3V0aW5nQ29udGV4dFVJRAogeworICAgIHN0YXRpY19hc3NlcnQoc3RhdGlj
X2Nhc3Q8c2l6ZV90PihXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3k6OkRlZmF1bHQpID09IHN0
YXRpY19jYXN0PHNpemVfdD4oV0tBaXJQbGF5Um91dGVQaWNrZXJSb3V0ZVNoYXJpbmdQb2xpY3lE
ZWZhdWx0KSwgIlJvdXRlU2hhcmluZ1BvbGljeTo6RGVmYXVsdCBpcyBub3QgV0tBaXJQbGF5Um91
dGVQaWNrZXJSb3V0ZVNoYXJpbmdQb2xpY3lEZWZhdWx0IGFzIGV4cGVjdGVkIik7CisgICAgc3Rh
dGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFdlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGlj
eTo6TG9uZ0Zvcm0pID09IHN0YXRpY19jYXN0PHNpemVfdD4oV0tBaXJQbGF5Um91dGVQaWNrZXJS
b3V0ZVNoYXJpbmdQb2xpY3lMb25nRm9ybSksICJSb3V0ZVNoYXJpbmdQb2xpY3k6OkxvbmdGb3Jt
IGlzIG5vdCBXS0FpclBsYXlSb3V0ZVBpY2tlclJvdXRlU2hhcmluZ1BvbGljeUxvbmdGb3JtIGFz
IGV4cGVjdGVkIik7CisgICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFdlYkNv
cmU6OlJvdXRlU2hhcmluZ1BvbGljeTo6SW5kZXBlbmRlbnQpID09IHN0YXRpY19jYXN0PHNpemVf
dD4oV0tBaXJQbGF5Um91dGVQaWNrZXJSb3V0ZVNoYXJpbmdQb2xpY3lJbmRlcGVuZGVudCksICJS
b3V0ZVNoYXJpbmdQb2xpY3k6OkluZGVwZW5kZW50IGlzIG5vdCBXS0FpclBsYXlSb3V0ZVBpY2tl
clJvdXRlU2hhcmluZ1BvbGljeUluZGVwZW5kZW50IGFzIGV4cGVjdGVkIik7CisKICAgICBpZiAo
X2FjdGlvblNoZWV0KQogICAgICAgICByZXR1cm47CiAKQEAgLTE4Niw2ICsyMDIsMTAgQEAgU09G
VF9MSU5LX0NMQVNTKE1lZGlhUGxheWVyLCBNUE1lZGlhQ29udHJvbHNWaWV3Q29udHJvbGxlcikK
ICAgICBbcm91dGluZ0NvbnRyb2xsZXIgc2V0RGlzY292ZXJ5TW9kZTpNUFJvdXRlRGlzY292ZXJ5
TW9kZURldGFpbGVkXTsKIAogICAgIF9hY3Rpb25TaGVldCA9IGFkb3B0TlMoW2FsbG9jTVBNZWRp
YUNvbnRyb2xzVmlld0NvbnRyb2xsZXJJbnN0YW5jZSgpIGluaXRdKTsKKworICAgIGlmIChbX2Fj
dGlvblNoZWV0IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0T3ZlcnJpZGVSb3V0ZVNo
YXJpbmdQb2xpY3k6cm91dGluZ0NvbnRleHRVSUQ6KV0pCisgICAgICAgIFtfYWN0aW9uU2hlZXQg
c2V0T3ZlcnJpZGVSb3V0ZVNoYXJpbmdQb2xpY3k6c3RhdGljX2Nhc3Q8V0tBaXJQbGF5Um91dGVQ
aWNrZXJSb3V0ZVNoYXJpbmdQb2xpY3k+KHJvdXRlU2hhcmluZ1BvbGljeSkgcm91dGluZ0NvbnRl
eHRVSUQ6cm91dGluZ0NvbnRleHRVSURdOworCiAgICAgX2FjdGlvblNoZWV0LmdldCgpLmRpZERp
c21pc3NIYW5kbGVyID0gXiB7CiAgICAgICAgIFtyb3V0aW5nQ29udHJvbGxlciBzZXREaXNjb3Zl
cnlNb2RlOk1QUm91dGVEaXNjb3ZlcnlNb2RlRGlzYWJsZWRdOwogICAgICAgICByb3V0aW5nQ29u
dHJvbGxlciA9IG5pbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAzMjFiNTIyZmIzYmVjODM1MjJm
YTNmOWUzZDgyMDViODZmYmFlYTlmLi4xZjY5ZTZmYjdlMDRlMmU3MDk0MjQ5MjM0YTBmYzlmYjhh
MmFkNTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xNzMsNyArMTczLDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHJlbW92ZVNjcm9sbGluZ0xheWVyKFdlYkNvcmU6Ok5vZGUqLCBQbGF0Zm9ybUxh
eWVyKiBzY3JvbGxpbmdMYXllciwgUGxhdGZvcm1MYXllciogY29udGVudHNMYXllcikgZmluYWw7
CiAKICAgICB2b2lkIHdlYkFwcE9yaWVudGF0aW9uc1VwZGF0ZWQoKSBmaW5hbDsKLSAgICB2b2lk
IHNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvKSBmaW5hbDsKKyAgICB2b2lk
IHNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBXZWJDb3JlOjpSb3V0ZVNo
YXJpbmdQb2xpY3ksIGNvbnN0IFN0cmluZyYpIGZpbmFsOwogCiAgICAgU2Vjb25kcyBldmVudFRo
cm90dGxpbmdEZWxheSgpIGZpbmFsOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbSBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3MvV2ViQ2hyb21lQ2xpZW50
SU9TLm1tCmluZGV4IGYzMWMzNjM3Yjc4ZWFmNDA1MGU5ZTkwNWNkYTUzZTAxYTQ0MjY4ZjcuLmNk
NWU2NDJlNDlhMTNlNzBiMmRjM2M4MGQ1OTJhYzYxYzA0ZThmZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3MvV2ViQ2hyb21lQ2xpZW50SU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3MvV2Vi
Q2hyb21lQ2xpZW50SU9TLm1tCkBAIC0zNSw2ICszNSw3IEBACiAjaW1wb3J0ICJXZWJJY29uVXRp
bGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJQYWdlLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHlNZXNz
YWdlcy5oIgorI2ltcG9ydCA8V2ViQ29yZS9BdWRpb1Nlc3Npb24uaD4KICNpbXBvcnQgPFdlYkNv
cmUvSWNvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8
d3RmL1JlZlB0ci5oPgpAQCAtMTM0LDkgKzEzNSw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojp3
ZWJBcHBPcmllbnRhdGlvbnNVcGRhdGVkKCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12
b2lkIFdlYkNocm9tZUNsaWVudDo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wgaGFzVmlk
ZW8pCit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wg
aGFzVmlkZW8sIFdlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGljeSBwb2xpY3ksIGNvbnN0IFN0cmlu
ZyYgcm91dGluZ0NvbnRleHRVSUQpCiB7Ci0gICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6U2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGhhc1ZpZGVvLCBtX3BhZ2UucmVjdEZv
ckVsZW1lbnRBdEludGVyYWN0aW9uTG9jYXRpb24oKSkpOworICAgIG1fcGFnZS5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OlNob3dQbGF5YmFja1RhcmdldFBpY2tlcihoYXNWaWRlbywgbV9w
YWdlLnJlY3RGb3JFbGVtZW50QXRJbnRlcmFjdGlvbkxvY2F0aW9uKCksIHBvbGljeSwgcm91dGlu
Z0NvbnRleHRVSUQpKTsKIH0KIAogU2Vjb25kcyBXZWJDaHJvbWVDbGllbnQ6OmV2ZW50VGhyb3R0
bGluZ0RlbGF5KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50SU9TLmgKaW5kZXggM2NkYzU5NjZlOWY1ZGI1MmVh
NWEwYjI1NzU3NTNhMWRmZjZhYTI0Mi4uYzdkYmVkYTI2MTdjYWQ0YWE2MzdhNDYyNWU5ZWIzNGYz
ZGYyYTNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50SU9TLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50SU9TLmgKQEAgLTg5LDcgKzg5LDcgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgd2ViQXBwT3JpZW50YXRpb25zVXBkYXRlZCgpIGZpbmFsOwogICAgIHZv
aWQgZm9jdXNlZEVsZW1lbnRDaGFuZ2VkKFdlYkNvcmU6OkVsZW1lbnQqKSBmaW5hbDsKLSAgICB2
b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvKSBmaW5hbDsKKyAgICB2
b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBXZWJDb3JlOjpSb3V0
ZVNoYXJpbmdQb2xpY3ksIGNvbnN0IFN0cmluZyYpIGZpbmFsOwogICAgIFJlZlB0cjxXZWJDb3Jl
OjpJY29uPiBjcmVhdGVJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1l
cykgZmluYWw7CiAKICNpZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50SU9T
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50SU9TLm1tCmluZGV4IDYzMWZhNmZiNWJmY2RjMGJkNGIxZjRmZDQ3ZThjYzc3OWY2NjJmMTUu
LjBiZjBjOTUxNmMxNDA1MGU4NzIxMTM5OTIwYjY1MTZiYWY2NWY0MTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnRJT1MubW0KQEAgLTM2Nyw3ICszNjcsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudElPUzo6
Zm9jdXNlZEVsZW1lbnRDaGFuZ2VkKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgQ2FsbEZvcm1EZWxl
Z2F0ZSh3ZWJWaWV3KCksIEBzZWxlY3RvcihkaWRGb2N1c1RleHRGaWVsZDppbkZyYW1lOiksIGtp
dCgmaW5wdXRFbGVtZW50KSwga2l0KGlucHV0RWxlbWVudC5kb2N1bWVudCgpLmZyYW1lKCkpKTsK
IH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnRJT1M6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihi
b29sIGhhc1ZpZGVvKQordm9pZCBXZWJDaHJvbWVDbGllbnRJT1M6OnNob3dQbGF5YmFja1Rhcmdl
dFBpY2tlcihib29sIGhhc1ZpZGVvLCBXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3ksIGNvbnN0
IFN0cmluZyYpCiB7CiAgICAgQ0dQb2ludCBwb2ludCA9IFtbd2ViVmlldygpIF9VSUtpdERlbGVn
YXRlRm9yd2FyZGVyXSBpbnRlcmFjdGlvbkxvY2F0aW9uXTsKICAgICBDR1JlY3QgZWxlbWVudFJl
Y3QgPSBbW3dlYlZpZXcoKSBtYWluRnJhbWVdIGVsZW1lbnRSZWN0QXRQb2ludDpwb2ludF07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339325</attachid>
            <date>2018-05-02 12:47:15 -0700</date>
            <delta_ts>2018-05-02 14:09:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185199-20180502124715.patch</filename>
            <type>text/plain</type>
            <size>1875</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmMGQ4MjFk
YzU4ZTViZjJjNmEzNGU3NzdkOWE4YmI2YzBlZWNlNjJmLi44MzI1NTE5NTMyNWFmZDVmNWU1ZjQ0
MDk1NmJkNTJhYmZhMGI2NDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxOC0wNS0wMiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBQcm92aWRlIGF1ZGlvIHJvdXRlIGluZm9ybWF0aW9uIHdoZW4gaW52b2tpbmcg
QWlyUGxheSBwaWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4NTE5OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk4NTMxMDM+CisKKyAgICAg
ICAgVW5yZXZpZXdlZCBidWlsZCBmaXguCisKKyAgICAgICAgKiBwYWwvc3BpL21hYy9BVkZvdW5k
YXRpb25TUEkuaDoKKwogMjAxOC0wNS0wMiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFw
cGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBQcm92aWRlIGF1ZGlvIHJvdXRlIGluZm9ybWF0aW9u
IHdoZW4gaW52b2tpbmcgQWlyUGxheSBwaWNrZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaAppbmRleCA3NjkzYmNkNjY5OWU1NTI4ZjBlMWI4
N2FmMjAxN2YwM2Q3MDZkZDZlLi43NzJjODU4MjkwZjYxZDMxM2YzZDg4ZjBmNTViZjc0NzgzMGNi
YjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0
aW9uU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0FWRm91bmRhdGlv
blNQSS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAog
I2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQXNzZXRDYWNoZV9Qcml2YXRlLmg+CisjaW1wb3J0IDxB
VkZvdW5kYXRpb24vQVZBdWRpb1Nlc3Npb25fUHJpdmF0ZS5oPgogI2ltcG9ydCA8QVZGb3VuZGF0
aW9uL0FWT3V0cHV0Q29udGV4dF9Qcml2YXRlLmg+CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQ
bGF5ZXJJdGVtX1ByaXZhdGUuaD4KICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVlBsYXllckxheWVy
X1ByaXZhdGUuaD4KQEAgLTI3MCw3ICsyNzEsOSBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgog
CiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKIAotI2lmIFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JN
KElPU19TSU1VTEFUT1IpICYmICFFTkFCTEUoTUlOSU1BTF9TSU1VTEFUT1IpCisjZW5kaWYgLy8g
X19oYXNfaW5jbHVkZSg8QVZGb3VuZGF0aW9uL0FWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlci5o
PikKKworI2lmICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBQTEFURk9STShJT1MpICYmICFQ
TEFURk9STShJT1NfU0lNVUxBVE9SKSAmJiAhRU5BQkxFKE1JTklNQUxfU0lNVUxBVE9SKQogTlNf
QVNTVU1FX05PTk5VTExfQkVHSU4KIAogQGludGVyZmFjZSBBVkF1ZGlvU2Vzc2lvbiAoQVZBdWRp
b1Nlc3Npb25Qcml2YXRlKQpAQCAtMjgwLDQgKzI4MywzIEBAIE5TX0FTU1VNRV9OT05OVUxMX0JF
R0lOCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKICNlbmRpZgogCi0jZW5kaWYgLy8gX19oYXNfaW5j
bHVkZSg8QVZGb3VuZGF0aW9uL0FWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlci5oPikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339336</attachid>
            <date>2018-05-02 14:09:38 -0700</date>
            <delta_ts>2018-05-02 14:35:38 -0700</delta_ts>
            <desc>Another attempted build fix</desc>
            <filename>bug-185199-20180502140937.patch</filename>
            <type>text/plain</type>
            <size>1381</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA4MzI1NTE5
NTMyNWFmZDVmNWU1ZjQ0MDk1NmJkNTJhYmZhMGI2NDE3Li42M2NjYWUyZWM3MDk5MmMwZmE2ZGZm
OTY2YjA1MzViMTBmODg5NDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxOC0wNS0wMiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBQcm92aWRlIGF1ZGlvIHJvdXRlIGluZm9ybWF0aW9uIHdoZW4gaW52b2tpbmcg
QWlyUGxheSBwaWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4NTE5OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk4NTMxMDM+CisKKyAgICAg
ICAgQW5vdGhlciBhdHRlbXB0ZWQgYnVpbGQgZml4LgorCisgICAgICAgICogcGFsL3NwaS9tYWMv
QVZGb3VuZGF0aW9uU1BJLmg6CisKIDIwMTgtMDUtMDIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2Fy
bHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gUHJvdmlkZSBhdWRpbyByb3V0ZSBpbmZv
cm1hdGlvbiB3aGVuIGludm9raW5nIEFpclBsYXkgcGlja2VyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgKaW5kZXggNzcyYzg1ODI5MGY2MWQz
MTNmM2Q4OGYwZjU1YmY3NDc4MzBjYmI2YS4uMDJlYzFiOWVlOWFhYWUyOGVkNzMwNTNhNzYxMDk2
NGFkMjA3YTdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0FW
Rm91bmRhdGlvblNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9BVkZv
dW5kYXRpb25TUEkuaApAQCAtMjc0LDYgKzI3NCw4IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAog
I2VuZGlmIC8vIF9faGFzX2luY2x1ZGUoPEFWRm91bmRhdGlvbi9BVlNhbXBsZUJ1ZmZlckF1ZGlv
UmVuZGVyZXIuaD4pCiAKICNpZiAhVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYgUExBVEZPUk0o
SU9TKSAmJiAhUExBVEZPUk0oSU9TX1NJTVVMQVRPUikgJiYgIUVOQUJMRShNSU5JTUFMX1NJTVVM
QVRPUikKKyNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkF1ZGlvU2Vzc2lvbi5oPgorCiBOU19BU1NV
TUVfTk9OTlVMTF9CRUdJTgogCiBAaW50ZXJmYWNlIEFWQXVkaW9TZXNzaW9uIChBVkF1ZGlvU2Vz
c2lvblByaXZhdGUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339342</attachid>
            <date>2018-05-02 14:35:40 -0700</date>
            <delta_ts>2018-05-02 16:08:26 -0700</delta_ts>
            <desc>Another attempted build fix</desc>
            <filename>bug-185199-20180502143539.patch</filename>
            <type>text/plain</type>
            <size>1393</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA4MzI1NTE5
NTMyNWFmZDVmNWU1ZjQ0MDk1NmJkNTJhYmZhMGI2NDE3Li5mODY0OWJlNDc3YmQyMWI2NDEwMDVi
ZDMxMDdjOWFiNmUzZWU5MmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxOC0wNS0wMiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBQcm92aWRlIGF1ZGlvIHJvdXRlIGluZm9ybWF0aW9uIHdoZW4gaW52b2tpbmcg
QWlyUGxheSBwaWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4NTE5OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk4NTMxMDM+CisKKyAgICAg
ICAgVW5yZXZpZXdlZCwgYW5vdGhlciBhdHRlbXB0ZWQgYnVpbGQgZml4LgorCisgICAgICAgICog
cGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmg6CisKIDIwMTgtMDUtMDIgIEVyaWMgQ2FybHNv
biAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gUHJvdmlkZSBhdWRp
byByb3V0ZSBpbmZvcm1hdGlvbiB3aGVuIGludm9raW5nIEFpclBsYXkgcGlja2VyCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgKaW5kZXggNzcy
Yzg1ODI5MGY2MWQzMTNmM2Q4OGYwZjU1YmY3NDc4MzBjYmI2YS4uMDJlYzFiOWVlOWFhYWUyOGVk
NzMwNTNhNzYxMDk2NGFkMjA3YTdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaApAQCAtMjc0LDYgKzI3NCw4IEBAIE5TX0FTU1VNRV9O
T05OVUxMX0VORAogI2VuZGlmIC8vIF9faGFzX2luY2x1ZGUoPEFWRm91bmRhdGlvbi9BVlNhbXBs
ZUJ1ZmZlckF1ZGlvUmVuZGVyZXIuaD4pCiAKICNpZiAhVVNFKEFQUExFX0lOVEVSTkFMX1NESykg
JiYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9TX1NJTVVMQVRPUikgJiYgIUVOQUJMRShN
SU5JTUFMX1NJTVVMQVRPUikKKyNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkF1ZGlvU2Vzc2lvbi5o
PgorCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCiBAaW50ZXJmYWNlIEFWQXVkaW9TZXNzaW9u
IChBVkF1ZGlvU2Vzc2lvblByaXZhdGUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339449</attachid>
            <date>2018-05-03 13:20:05 -0700</date>
            <delta_ts>2018-05-03 13:39:39 -0700</delta_ts>
            <desc>Another build fix</desc>
            <filename>bug-185199-20180503132005.patch</filename>
            <type>text/plain</type>
            <size>1533</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBlM2ViOTQ0
ODA1Y2RmYzk5MTViZTdjZTk5YTRiZGMyMzMxN2I5NTA0Li40MjRlNGI0ODY0NjFkOTczMzRhY2Zh
ZGNhM2NiMDlhNDAxODVjOGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxOC0wNS0wMyAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBQcm92aWRlIGF1ZGlvIHJvdXRlIGluZm9ybWF0aW9uIHdoZW4gaW52b2tpbmcg
QWlyUGxheSBwaWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4NTE5OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk4NTMxMDM+CisKKyAgICAg
ICAgQW5vdGhlciBhdHRlbXB0IGF0IGFuIHVucmV2aWV3ZWQgYnVpbGQgZml4LgorCisgICAgICAg
ICogcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmg6CisKIDIwMTgtMDUtMDIgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgV0tXZWJz
aXRlRGF0YVN0b3JlUHJpdmF0ZS5fcHJveHlDb25maWd1cmF0aW9uIFNQSQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oCmluZGV4IDc3MmM4NTgy
OTBmNjFkMzEzZjNkODhmMGY1NWJmNzQ3ODMwY2JiNmEuLjhlMTYwODMwODJlZDYzOWU4ODA3NjE4
NTdlNWVjM2VhNTUzODdjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L21hYy9BVkZvdW5kYXRpb25TUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9t
YWMvQVZGb3VuZGF0aW9uU1BJLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpZiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQogCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBc3NldENhY2hlX1ByaXZhdGUu
aD4KLSNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkF1ZGlvU2Vzc2lvbl9Qcml2YXRlLmg+CiAjaW1w
b3J0IDxBVkZvdW5kYXRpb24vQVZPdXRwdXRDb250ZXh0X1ByaXZhdGUuaD4KICNpbXBvcnQgPEFW
Rm91bmRhdGlvbi9BVlBsYXllckl0ZW1fUHJpdmF0ZS5oPgogI2ltcG9ydCA8QVZGb3VuZGF0aW9u
L0FWUGxheWVyTGF5ZXJfUHJpdmF0ZS5oPgpAQCAtNDUsNiArNDQsMTAgQEAKICNpbXBvcnQgPEFW
Rm91bmRhdGlvbi9BVlN0cmVhbURhdGFQYXJzZXIuaD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0o
SU9TKQorI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQXVkaW9TZXNzaW9uX1ByaXZhdGUuaD4KKyNl
bmRpZgorCiAjZWxzZQogCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQbGF5ZXIuaD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>