<?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>199110</bug_id>
          
          <creation_ts>2019-06-21 10:08:39 -0700</creation_ts>
          <short_desc>PWA in iOS use old assets after publish new servicerWorker/assets</short_desc>
          <delta_ts>2025-01-30 13:22:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 12</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>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Marlon Maxwel">marlonmleite</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>chrisheaththomas</cc>
    
    <cc>etienne.maheu</cc>
    
    <cc>hearcomestreble</cc>
    
    <cc>ik</cc>
    
    <cc>jorgen</cc>
    
    <cc>nicolas</cc>
    
    <cc>rniwa</cc>
    
    <cc>tiago.wippel</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit</cc>
    
    <cc>w.kujawski1</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1546903</commentid>
    <comment_count>0</comment_count>
    <who name="Marlon Maxwel">marlonmleite</who>
    <bug_when>2019-06-21 10:08:39 -0700</bug_when>
    <thetext>This bug is being reported from the bug fix: https://bugs.webkit.org/show_bug.cgi?id=190269


We are currently using iOS 12.3.1 and the new changes in app/.js are publish, but the PWA in iOS load the old assets present in precache.

In Safari it works correctly, but when you&apos;re using PWA it does not work. There are behavioral differences between Safari and PWA on iOS.

Our scenario:
- Open the application in Safari;
- We installed PWA on iOS;
- We close the Safari;
- We release a new version of the application;
- PWA continues to use old asset cache - precache (apparently the serviceWorker flow in PWA is different from normal);
- PWA is obsolete and does not update to the new assets in any way;
- We reboot the Iphone and PWA works with the new assets;


This stream works properly on Chrome, Firefox, Android, Safari, but the PWA installed on iOS does not work at all.



My Expectation with PWA in IOS:
Publish a new version of my application and these changes arrive in serviceWorker so that it&apos;s possible for my app to force the app to reload to take on new modifications as the behavior it&apos;s ok in Android, Chrome, Firefox and so on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546908</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-21 10:23:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/51992077&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546912</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-06-21 10:27:50 -0700</bug_when>
    <thetext>Thanks for the report.
IIUC, the PWA is running (Safari is not) while a new version of the application is being released.
The expected behavior is for the PWA service worker to update itself and its cache assets as well. This only happens when relaunching the PWA after reboot.
If you do the same flow with Safari, the service worker and its cache assets are updated as expected.
Is that correct?

If you have a live repro case that you can share (either privately or publicly) that may help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546972</commentid>
    <comment_count>3</comment_count>
    <who name="Marlon Maxwel">marlonmleite</who>
    <bug_when>2019-06-21 13:41:24 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #2)
&gt; Thanks for the report.
&gt; IIUC, the PWA is running (Safari is not) while a new version of the
&gt; application is being released.
&gt; The expected behavior is for the PWA service worker to update itself and its
&gt; cache assets as well. This only happens when relaunching the PWA after
&gt; reboot.
&gt; If you do the same flow with Safari, the service worker and its cache assets
&gt; are updated as expected.
&gt; Is that correct?
&gt; 
&gt; If you have a live repro case that you can share (either privately or
&gt; publicly) that may help.

Yes correct, in Safari the service worker and its cache assets are updated as expected.

In Android, the PWA don&apos;t require a phone reboot to apply new release/assets. This is good for user receive new released version/assets with more frequency. And this is good idea for iOS users with PWA.

I will recreate this scenario as soon as possible and publish it here. Because my app it&apos;s in homologation and not available for the public access in the moment, only in my company.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546993</commentid>
    <comment_count>4</comment_count>
    <who name="Etienne Maheu">etienne.maheu</who>
    <bug_when>2019-06-21 14:27:00 -0700</bug_when>
    <thetext>Let us continue this discussion in this thread instead.

=================================================================

&gt; Yes, I understand this problem.
&gt;
&gt; The problem you mentioned that you discussed in the communiques, I also encountered these discussions but don&apos;t work.
&gt;
&gt; The skipWaiting function does not work on iOS equal it works correctly on all. Were you able to make updates work correctly on iOS only with skipWaiting?
&gt;
&gt; We applied the solution using skipWaiting combining with the worker&apos;s controllerchange to update, but it does not work in any way on iOS and so we opened the BUG I mentioned above.
&gt;
&gt; I would be happy to see 1 example of everything working on iOS, but using the implementations of workbox, create-react-app, vue-cli, google... none worked.

I think I understand your problem better now. What you are describing happens because iOS will never unload the PWA, so even with &quot;skipWaiting&quot; set, which will refresh the cache properly, the app itself never gets to restart.

Assuming that you are using the &quot;skipWaiting&quot; trick, you will also want to implement this code in your head html tag: https://gist.github.com/kawazoe/fa3b5a3c998d16871ffb9e2fd721cb4b

The gist contain a minified and unminified version of a script that will detect application version changes and automatically trigger a page refresh when they happen.

This code parses the content of the &quot;service-worker.js&quot; file that is generated by Google Workbox to look for a file called &quot;precache-manifest.*.js&quot;. The star here correspond to a unique hash that will change every time your app updates. This script uses this hash as a site version and stores it as &quot;pmv&quot; in local storage. If the version is different from the version stored in localstorage, this script will refresh the page. This works because the &quot;service-worker.js&quot; file is requested in a way that will always bypass caches.

This is truly a hack, a workaround, to get this working on iOS. Unfortunately, it can make the app &quot;blink&quot; once after an update since your PWA will not wait for this call to finish before loading. Also, you will need to either reboot (if you find it to work) or clear the safari cache after you make this change to ensure that the html file that your device cached include the fix.

I am running this in production on one of my apps and it has been working fine for over 6 months now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547318</commentid>
    <comment_count>5</comment_count>
    <who name="Marlon Maxwel">marlonmleite</who>
    <bug_when>2019-06-24 07:00:04 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #2)
&gt; Thanks for the report.
&gt; IIUC, the PWA is running (Safari is not) while a new version of the
&gt; application is being released.
&gt; The expected behavior is for the PWA service worker to update itself and its
&gt; cache assets as well. This only happens when relaunching the PWA after
&gt; reboot.
&gt; If you do the same flow with Safari, the service worker and its cache assets
&gt; are updated as expected.
&gt; Is that correct?
&gt; 
&gt; If you have a live repro case that you can share (either privately or
&gt; publicly) that may help.

I have made available the repository with demo and instructions for deployment and simulation of the bug.

I tested the demo code and it has the bug as reported.

See: https://github.com/marlonmleite/bug-ios-sw</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548030</commentid>
    <comment_count>6</comment_count>
    <who name="Jan Nowak">w.kujawski1</who>
    <bug_when>2019-06-26 08:39:35 -0700</bug_when>
    <thetext>I have the same problem with cache in my PWA app. When new content is available app doesn&apos;t refresh even with &quot;networkFirst&quot; option set in workbox (I use Vue CLI with PWA add-on). Only restarting iOS makes app to refresh the cache. It was working previously but for some time it isn&apos;t. 

iOS 12.3.1, iPhone 8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548037</commentid>
    <comment_count>7</comment_count>
    <who name="Marlon Maxwel">marlonmleite</who>
    <bug_when>2019-06-26 09:00:30 -0700</bug_when>
    <thetext>(In reply to Jan Nowak from comment #6)
&gt; I have the same problem with cache in my PWA app. When new content is
&gt; available app doesn&apos;t refresh even with &quot;networkFirst&quot; option set in workbox
&gt; (I use Vue CLI with PWA add-on). Only restarting iOS makes app to refresh
&gt; the cache. It was working previously but for some time it isn&apos;t. 
&gt; 
&gt; iOS 12.3.1, iPhone 8

While this issue isn&apos;t solved I created a workround with the solution, see more:  https://gist.github.com/kawazoe/fa3b5a3c998d16871ffb9e2fd721cb4b#gistcomment-2953706</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723321</commentid>
    <comment_count>8</comment_count>
    <who name="">ik</who>
    <bug_when>2021-01-28 01:23:27 -0800</bug_when>
    <thetext>Any news on this? iPadOS 14.4 seems to have made this on issue in Safari, Chrome and web apps. I need to reboot to force new files to come in. My headers:

```
&lt;filesMatch &quot;\.(html|htm|js|css|less|json)$&quot;&gt;
  FileETag None
  &lt;ifModule mod_headers.c&gt;
    Header unset ETag
    Header set Cache-Control &quot;max-age=0, no-cache, no-store, must-revalidate&quot;
    Header set Pragma &quot;no-cache&quot;
    Header set Expires &quot;Wed, 3 Oct 1983 06:00:00 GMT&quot;
    Header set Vary: *
  &lt;/ifModule&gt;
&lt;/filesMatch&gt;
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723362</commentid>
    <comment_count>9</comment_count>
    <who name="">ik</who>
    <bug_when>2021-01-28 06:28:26 -0800</bug_when>
    <thetext>Nevermind my previous comment. I had some css that wasn&apos;t being picked up and it turns out that Safari on iPad Mini&apos;s doesn&apos;t act like it&apos;s a desktop browser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865389</commentid>
    <comment_count>10</comment_count>
    <who name="Chris">chrisheaththomas</who>
    <bug_when>2022-04-29 03:17:47 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #2)
&gt; Thanks for the report.
&gt; IIUC, the PWA is running (Safari is not) while a new version of the
&gt; application is being released.
&gt; The expected behavior is for the PWA service worker to update itself and its
&gt; cache assets as well. This only happens when relaunching the PWA after
&gt; reboot.
&gt; If you do the same flow with Safari, the service worker and its cache assets
&gt; are updated as expected.
&gt; Is that correct?
&gt; 
&gt; If you have a live repro case that you can share (either privately or
&gt; publicly) that may help.

The PWA does not have to be &quot;running while a new version of the application is being released&quot; for this bug to manifest. The PWA just needs to be have been installed (added to the Homescreen). 

Without the workarounds linked by others in the comments, this bug is a blocker to deploying a PWA on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865410</commentid>
    <comment_count>11</comment_count>
      <attachid>458585</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-29 05:59:36 -0700</bug_when>
    <thetext>Created attachment 458585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865813</commentid>
    <comment_count>12</comment_count>
      <attachid>458677</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-02 07:01:38 -0700</bug_when>
    <thetext>Created attachment 458677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865814</commentid>
    <comment_count>13</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-02 07:06:11 -0700</bug_when>
    <thetext>I tried reproing the issue locally and the case where things go bad is when network process is stopped between two runs of the application. In that case, the waiting service worker never gets to activating/activated and we do not update the service worker scripts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865920</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-02 12:47:52 -0700</bug_when>
    <thetext>Committed r293676 (250178@main): &lt;https://commits.webkit.org/250178@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 458677.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2090813</commentid>
    <comment_count>16</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2025-01-30 13:22:32 -0800</bug_when>
    <thetext>These fixes shipped in October 2022:
iOS 16.0
macOS 13.0 Ventura</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458585</attachid>
            <date>2022-04-29 05:59:36 -0700</date>
            <delta_ts>2022-05-02 07:01:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199110-20220429145934.patch</filename>
            <type>text/plain</type>
            <size>9275</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRkMzkzNzAxZWJkNWY5
MzcyMjE2ZDkxYzMzZTk0YmYxNmMzNjEzYS4uN2FiZDgyZjYzNWE3Zjg1NDI0OGYwODEzMGRmMGE2
YzAzOTkyOGU2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTA0LTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQV0EgaW4gaU9TIHVzZSBv
bGQgYXNzZXRzIGFmdGVyIHB1Ymxpc2ggbmV3IHNlcnZpY2VyV29ya2VyL2Fzc2V0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MTEwCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81MTk5MjA3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbiBjYXNlIGEgc2VydmljZSB3b3JrZXIgaXMgdXBkYXRlZCwg
aXQgd2lsbCBiZSBrZXB0IGluIHdhaXRpbmcgdW50aWwgYWN0aXZhdGVkLgorICAgICAgICBJbiBj
YXNlIHdlIHN1c3BlbmQgY2xpZW50cyBhbmQgbmV0d29yayBwcm9jZXNzLCB0aGUgbmV3bHkgaW5z
dGFsbGVkIHNlcnZpY2Ugd29ya2VyIHdpbCByZW1haW4gd2FpdGluZy4KKyAgICAgICAgSWYgbGF0
ZXIgb24sIG9uIHVuc3VzcGVuc2lvbiwgd2UgY2xvc2UgdGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nl
c3MsIHdlIHdpbGwgbm90IHVwZGF0ZSB0aGUgc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uLgor
ICAgICAgICBUbyBwcmV2ZW50IHRoaXMsIHdlIG5vdyB1cGRhdGUgdGhlIHNlcnZpY2Ugd29ya2Vy
IHJlZ2lzdHJhdGlvbiBhcyBzb29uIGFzIHRoZSBzZXJ2aWNlIHdvcmtlciBpbnN0YWxsIGpvYiBp
cyBmaW5pc2hlZC4KKyAgICAgICAgQ292ZXJlZCBieSBuZXcgQVBJIHRlc3QuCisKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcDoKKwogMjAyMi0wNC0yOCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBzdXJlIHRvIGZh
aWwgaW1wb3J0U2NyaXB0cyBhcyBwZXIgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3Jr
ZXIvI2ltcG9ydHNjcmlwdHMgc3RlcCA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCmluZGV4IDYwZDJhYjgzZTE1YmJlOTI0OGQ3NWVl
ZjM3MDI5ZjE2NGE1OTAwMTcuLmE2OGEwNDU0NDg1MjViZDkwOTRhMDAwNWE1MjY2Yjg2N2VhMGI3
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwCkBAIC02NzYsNiArNjc2LDkgQEAgdm9pZCBTV1NlcnZlcjo6ZGlkRmluaXNoSW5z
dGFsbChjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmkKICAg
ICBpZiAoIWpvYkRhdGFJZGVudGlmaWVyKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAod2Fz
U3VjY2Vzc2Z1bCkKKyAgICAgICAgc3RvcmVSZWdpc3RyYXRpb25Gb3JXb3JrZXIod29ya2VyKTsK
KwogICAgIGlmIChhdXRvKiBqb2JRdWV1ZSA9IG1fam9iUXVldWVzLmdldCh3b3JrZXIucmVnaXN0
cmF0aW9uS2V5KCkpKQogICAgICAgICBqb2JRdWV1ZS0+ZGlkRmluaXNoSW5zdGFsbCgqam9iRGF0
YUlkZW50aWZpZXIsIHdvcmtlciwgd2FzU3VjY2Vzc2Z1bCk7CiB9CkBAIC02ODgsOCArNjkxLDYg
QEAgdm9pZCBTV1NlcnZlcjo6ZGlkRmluaXNoQWN0aXZhdGlvbihTV1NlcnZlcldvcmtlciYgd29y
a2VyKQogICAgIGlmICghcmVnaXN0cmF0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBzdG9y
ZVJlZ2lzdHJhdGlvbkZvcldvcmtlcih3b3JrZXIpOwotCiAgICAgcmVnaXN0cmF0aW9uLT5kaWRG
aW5pc2hBY3RpdmF0aW9uKHdvcmtlci5pZGVudGlmaWVyKCkpOwogfQogCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDZkYjQwMTQ4ZjRkYTlhMWU4
OGZmNjQ1MDMyNjNjNzZmNjI2NTZhMS4uNTgyNjIxNWY1OWI0NjZmNTJhOTRmY2YzNmFlYmI4OWEx
OTczMzc5YiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTA0LTI5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBQV0EgaW4gaU9TIHVzZSBvbGQgYXNzZXRzIGFmdGVyIHB1Ymxp
c2ggbmV3IHNlcnZpY2VyV29ya2VyL2Fzc2V0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MTEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MTk5
MjA3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5oOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5tbToKKwogMjAyMi0wNC0yNyAgU2lodWkgTGl1
ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBbIGlPUyBdIFRlc3RXZWJLaXRBUEku
SW5kZXhlZERCLkluZGV4ZWREQlN1c3BlbmRJbW1pbmVudGx5IGlzIGEgY29uc3RhbnQgdGltZW91
dApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2
aWNlV29ya2VyQmFzaWMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1NlcnZpY2VXb3JrZXJCYXNpYy5tbQppbmRleCBmNDcwZTZlY2E2Yzg0YzcwMDY5ZTZhNTU5MGJj
NzAxYWU5YmMwMDBhLi4zMjQyMTQzY2ZiOTAwNjI3OTA4NjY4NTUyZmY5MWU2OTBmNjQ0NjcwIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VX
b3JrZXJCYXNpYy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1NlcnZpY2VXb3JrZXJCYXNpYy5tbQpAQCAtMzM4MSwzICszMzgxLDEzMiBAQCBURVNUKFNlcnZp
Y2VXb3JrZXIsIE9wZW5XaW5kb3dDT09QKQogICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlw
dDpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIm9wZW5XaW5kb3dUb1VSTCgnJUA/c3dhcCcp
IiwgW1tzZXJ2ZXIucmVxdWVzdCgpIFVSTF0gYWJzb2x1dGVTdHJpbmddXSBjb21wbGV0aW9uSGFu
ZGxlcjogbmlsXTsKICAgICBFWFBFQ1RfV0tfU1RSRVEoW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckFs
ZXJ0XSwgImNsaWVudCIpOwogfQorCisKK3N0YXRpYyBjb25zdGV4cHIgYXV0byBzZXJ2aWNlV29y
a2VyU3RvcmFnZVRpbWluZ01haW5CeXRlcyA9IFIiU1dSRVNPVVJDRSgKKzxzY3JpcHQ+CitmdW5j
dGlvbiBsb2cobXNnKQoreworICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnN3LnBv
c3RNZXNzYWdlKG1zZyk7Cit9CisKK25hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlz
dGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihldmVudCkgeworICAgIGxvZygiTWVzc2FnZSBmcm9t
IHdvcmtlcjogIiArIGV2ZW50LmRhdGEpOworfSk7CisKK2xldCByZWdpc3RyYXRpb247Cit0cnkg
eworbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoJy9zdy5qcycpLnRoZW4oZnVuY3Rp
b24ocmVnKSB7CisgICAgcmVnaXN0cmF0aW9uID0gcmVnOworICAgIHdvcmtlciA9IHJlZy5pbnN0
YWxsaW5nID8gcmVnLmluc3RhbGxpbmcgOiByZWcuYWN0aXZlOworICAgIHdvcmtlci5wb3N0TWVz
c2FnZSgiSGVsbG8gZnJvbSB0aGUgd2ViIHBhZ2UiKTsKK30pLmNhdGNoKGZ1bmN0aW9uKGVycm9y
KSB7CisgICAgbG9nKCJSZWdpc3RyYXRpb24gZmFpbGVkIHdpdGg6ICIgKyBlcnJvcik7Cit9KTsK
K30gY2F0Y2goZSkgeworICAgIGxvZygiRXhjZXB0aW9uOiAiICsgZSk7Cit9CisKK2Z1bmN0aW9u
IHN0b3JlUmVnaXN0cmF0aW9uKCkKK3sKKyAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICAgICAgYWxlcnQoIm5vIGludGVybmFscyIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IGludGVybmFscy5zdG9yZVJlZ2lzdHJhdGlvbnNPbkRpc2soKS50aGVuKCgpID0+IHsKKyAgICAg
ICAgYWxlcnQoIm9rIik7CisgICAgfSwgKCkgPT4geworICAgICAgICBhbGVydCgia28iKTsKKyAg
ICB9KTsKK30KKworZnVuY3Rpb24gd2FpdEZvcldhaXRpbmdXb3JrZXIoY291bnRlcikKK3sKKyAg
ICB0cnkgeworICAgICAgICBpZiAocmVnaXN0cmF0aW9uLndhaXRpbmcpIHsKKyAgICAgICAgICAg
IGFsZXJ0KCJvayIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGlm
ICghY291bnRlcikKKyAgICAgICAgICAgIGNvdW50ZXIgPSAwOworICAgICAgICBlbHNlIGlmIChj
b3VudGVyID4gMTAwKSB7CisgICAgICAgICAgICBhbGVydCgia28iKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHdhaXRGb3JXYWl0aW5n
V29ya2VyKCsrY291bnRlciksIDUwKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGFsZXJ0
KCJlcnJvcjogIiArIGUpOworICAgICAgICByZXR1cm47CisgICAgfQorfQorCis8L3NjcmlwdD4K
KylTV1JFU09VUkNFIl9zOworCitzdGF0aWMgY29uc3RleHByIGF1dG8gc2VydmljZVdvcmtlclN0
b3JhZ2VUaW1pbmdTY3JpcHRCeXRlc1YxID0gUiJTV1JFU09VUkNFKAorc2VsZi5hZGRFdmVudExp
c3RlbmVyKCJtZXNzYWdlIiwgKGV2ZW50KSA9PiB7CisgICAgZXZlbnQuc291cmNlLnBvc3RNZXNz
YWdlKCJWMSIpOworfSk7CispU1dSRVNPVVJDRSJfczsKKworc3RhdGljIGNvbnN0ZXhwciBhdXRv
IHNlcnZpY2VXb3JrZXJTdG9yYWdlVGltaW5nU2NyaXB0Qnl0ZXNWMiA9IFIiU1dSRVNPVVJDRSgK
K3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4geworICAgIGV2ZW50
LnNvdXJjZS5wb3N0TWVzc2FnZSgiVjIiKTsKK30pOworKVNXUkVTT1VSQ0UiX3M7CisKK1RFU1Qo
U2VydmljZVdvcmtlcnMsIFNlcnZpY2VXb3JrZXJTdG9yYWdlVGltaW5nKQoreworICAgIFtXS1dl
YnNpdGVEYXRhU3RvcmUgX2FsbG93V2Vic2l0ZURhdGFSZWNvcmRzRm9yQWxsT3JpZ2luc107CisK
KyAgICAvLyBTdGFydCB3aXRoIGEgY2xlYW4gc2xhdGUgZGF0YSBzdG9yZQorICAgIFtbV0tXZWJz
aXRlRGF0YVN0b3JlIGRlZmF1bHREYXRhU3RvcmVdIHJlbW92ZURhdGFPZlR5cGVzOltXS1dlYnNp
dGVEYXRhU3RvcmUgYWxsV2Vic2l0ZURhdGFUeXBlc10gbW9kaWZpZWRTaW5jZTpbTlNEYXRlIGRp
c3RhbnRQYXN0XSBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAgICBkb25lID0gdHJ1ZTsK
KyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUg
PSBmYWxzZTsKKworICAgIGF1dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbU1dNZXNzYWdl
SGFuZGxlcldpdGhFeHBlY3RlZE1lc3NhZ2UgYWxsb2NdIGluaXRdKTsKKworICAgIFRlc3RXZWJL
aXRBUEk6OkhUVFBTZXJ2ZXIgc2VydmVyKHsKKyAgICAgICAgeyAiLyJfcywgeyB7IHsgIkNhY2hl
LUNvbnRyb2wiX3MsICJuby1jYWNoZSJfcyB9IH0sIHNlcnZpY2VXb3JrZXJTdG9yYWdlVGltaW5n
TWFpbkJ5dGVzIH0gfSwKKyAgICAgICAgeyAiL3N3LmpzIl9zLCB7IHsgeyAiQ29udGVudC1UeXBl
Il9zLCAiYXBwbGljYXRpb24vamF2YXNjcmlwdCJfcyB9IH0sIHNlcnZpY2VXb3JrZXJTdG9yYWdl
VGltaW5nU2NyaXB0Qnl0ZXNWMSB9IH0sCisgICAgfSk7CisKKyAgICBhdXRvIGNvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAg
IHNldENvbmZpZ3VyYXRpb25JbmplY3RlZEJ1bmRsZVBhdGgoY29uZmlndXJhdGlvbi5nZXQoKSk7
CisgICAgW1tjb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVz
c2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInN3Il07CisKKyAgICBkb25l
ID0gZmFsc2U7CisgICAgZXhwZWN0ZWRNZXNzYWdlID0gIk1lc3NhZ2UgZnJvbSB3b3JrZXI6IFYx
Il9zOworICAgIGF1dG8gd2ViVmlldzEgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNv
bmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6IFlFU10pOworICAgIFt3ZWJWaWV3MSBsb2Fk
UmVxdWVzdDpzZXJ2ZXIucmVxdWVzdCgpXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
JmRvbmUpOworCisgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gc291cmNlSGVhZGVyczsKKyAg
ICBzb3VyY2VIZWFkZXJzLmFkZCgiQ2FjaGUtQ29udHJvbCJfcywgIm5vLWNhY2hlIl9zKTsKKyAg
ICBzb3VyY2VIZWFkZXJzLmFkZCgiQ29udGVudC1UeXBlIl9zLCAiYXBwbGljYXRpb24vamF2YXNj
cmlwdCJfcyk7CisgICAgc2VydmVyLnNldFJlc3BvbnNlKCIvc3cuanMiX3MsIFRlc3RXZWJLaXRB
UEk6OkhUVFBSZXNwb25zZSB7IFdURk1vdmUoc291cmNlSGVhZGVycyksIHNlcnZpY2VXb3JrZXJT
dG9yYWdlVGltaW5nU2NyaXB0Qnl0ZXNWMiB9KTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBl
eHBlY3RlZE1lc3NhZ2UgPSAiTWVzc2FnZSBmcm9tIHdvcmtlcjogVjEiX3M7CisgICAgYXV0byB3
ZWJWaWV3MiA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtl
UmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7
CisgICAgW3dlYlZpZXcyIGxvYWRSZXF1ZXN0OnNlcnZlci5yZXF1ZXN0KCldOworICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICAvLyBMZXQncyB3YWl0IGZvciBhIFYy
IHNlcnZpY2Ugd29ya2VyLgorICAgIFt3ZWJWaWV3MSBldmFsdWF0ZUphdmFTY3JpcHQ6QCJ3YWl0
Rm9yV2FpdGluZ1dvcmtlcigpIiBjb21wbGV0aW9uSGFuZGxlcjogbmlsXTsKKyAgICBFWFBFQ1Rf
V0tfU1RSRVEoW3dlYlZpZXcxIF90ZXN0X3dhaXRGb3JBbGVydF0sICJvayIpOworCisgICAgLy8g
TGV0J3MgZW5zdXJlIHdlIHN0b3JlIGl0IG9uIGRpc2suCisgICAgW3dlYlZpZXcxIGV2YWx1YXRl
SmF2YVNjcmlwdDpAInN0b3JlUmVnaXN0cmF0aW9uKCkiIGNvbXBsZXRpb25IYW5kbGVyOiBuaWxd
OworICAgIEVYUEVDVF9XS19TVFJFUShbd2ViVmlldzEgX3Rlc3Rfd2FpdEZvckFsZXJ0XSwgIm9r
Iik7CisKKyAgICBbW3dlYlZpZXcxIGNvbmZpZ3VyYXRpb25dLndlYnNpdGVEYXRhU3RvcmUgX3Rl
cm1pbmF0ZU5ldHdvcmtQcm9jZXNzXTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBleHBlY3Rl
ZE1lc3NhZ2UgPSAiTWVzc2FnZSBmcm9tIHdvcmtlcjogVjIiX3M7CisgICAgYXV0byB3ZWJWaWV3
MyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgw
LCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAg
W3dlYlZpZXczIGxvYWRSZXF1ZXN0OnNlcnZlci5yZXF1ZXN0KCldOworICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmZG9uZSk7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L2NvY29hL0hUVFBTZXJ2ZXIuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZl
ci5oCmluZGV4IDJhNzY4MTE2N2ZkMTQ2YWVjM2IyYjMzYjEzOGNlZTUwYmFiMzA4YzAuLjlmOWQy
NzI1OGMyZTU0NmM1NDZiNDJhNjBmYTNiZTkzNzUxNWFkODAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Y29jb2EvSFRUUFNlcnZlci5oCkBAIC01Nyw2ICs1Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNh
bmNlbCgpOwogCiAgICAgdm9pZCBhZGRSZXNwb25zZShTdHJpbmcmJiBwYXRoLCBIVFRQUmVzcG9u
c2UmJik7CisgICAgdm9pZCBzZXRSZXNwb25zZShTdHJpbmcmJiBwYXRoLCBIVFRQUmVzcG9uc2Um
Jik7CiAKICAgICBzdGF0aWMgdm9pZCByZXNwb25kV2l0aE9LKENvbm5lY3Rpb24pOwogICAgIHN0
YXRpYyB2b2lkIHJlc3BvbmRXaXRoQ2hhbGxlbmdlVGhlbk9LKENvbm5lY3Rpb24pOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tCmluZGV4IDBmMmE3YzdkMzhiMzZlZDdhNTI3
MTlmMDYzMDUxNGMxM2QyZDc1NGYuLjc3YzBmNzM2OWFhNGE5YWJlNmJiMWY5NjI1ZjA4OGJjNzk2
MzMzNmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5t
bQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIubW0KQEAgLTIyMiw2
ICsyMjIsMTIgQEAgdm9pZCBIVFRQU2VydmVyOjphZGRSZXNwb25zZShTdHJpbmcmJiBwYXRoLCBI
VFRQUmVzcG9uc2UmJiByZXNwb25zZSkKICAgICBtX3JlcXVlc3REYXRhLT5yZXF1ZXN0TWFwLmFk
ZChXVEZNb3ZlKHBhdGgpLCBXVEZNb3ZlKHJlc3BvbnNlKSk7CiB9CiAKK3ZvaWQgSFRUUFNlcnZl
cjo6c2V0UmVzcG9uc2UoU3RyaW5nJiYgcGF0aCwgSFRUUFJlc3BvbnNlJiYgcmVzcG9uc2UpCit7
CisgICAgQVNTRVJUKG1fcmVxdWVzdERhdGEtPnJlcXVlc3RNYXAuY29udGFpbnMocGF0aCkpOwor
ICAgIG1fcmVxdWVzdERhdGEtPnJlcXVlc3RNYXAuc2V0KFdURk1vdmUocGF0aCksIFdURk1vdmUo
cmVzcG9uc2UpKTsKK30KKwogdm9pZCBIVFRQU2VydmVyOjpyZXNwb25kV2l0aENoYWxsZW5nZVRo
ZW5PSyhDb25uZWN0aW9uIGNvbm5lY3Rpb24pCiB7CiAgICAgY29ubmVjdGlvbi5yZWNlaXZlSFRU
UFJlcXVlc3QoW2Nvbm5lY3Rpb25dIChWZWN0b3I8Y2hhcj4mJikgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458677</attachid>
            <date>2022-05-02 07:01:38 -0700</date>
            <delta_ts>2022-05-02 12:47:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199110-20220502160136.patch</filename>
            <type>text/plain</type>
            <size>9683</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRkMzkzNzAxZWJkNWY5
MzcyMjE2ZDkxYzMzZTk0YmYxNmMzNjEzYS4uOWJlZTU5Yjk5N2FjYzIzN2M5ODFmM2FlNmJjNWJh
M2M3YTEyNWMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTA0LTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQV0EgaW4gaU9TIHVzZSBv
bGQgYXNzZXRzIGFmdGVyIHB1Ymxpc2ggbmV3IHNlcnZpY2VyV29ya2VyL2Fzc2V0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MTEwCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81MTk5MjA3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbiBjYXNlIGEgc2VydmljZSB3b3JrZXIgaXMgdXBkYXRlZCwg
aXRzIHN0YXRlIHdpbGwgYmUgd2FpdGluZyB1bnRpbCBhY3RpdmF0ZWQuCisgICAgICAgIEluIGNh
c2Ugd2Ugc3VzcGVuZCBjbGllbnRzIGFuZCBuZXR3b3JrIHByb2Nlc3MsIHRoZSBuZXdseSBpbnN0
YWxsZWQgc2VydmljZSB3b3JrZXIgd2lsIHJlbWFpbiB3YWl0aW5nLgorICAgICAgICBXZSB3aWxs
IHdhaXQgZm9yIHRoZSBzZXJ2aWNlIHdvcmtlciB0byBnZXQgYWN0aXZhdGVkIHdoZW4gbmV0d29y
ayBwcm9jZXNzIGdldHMgdW5zdXNwZW5kZWQsIHdoaWNoIG1pZ2h0IG5vdCBoYXBwZW4gaWYgdGhl
IG5ldHdvcmsgcHJvY2VzcyBnZXRzIHN0b3BwZWQgYnkgdGhlIE9TLgorICAgICAgICBUbyBwcmV2
ZW50IHRoaXMsIHdlIG5vdyB1cGRhdGUgdGhlIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBh
cyBzb29uIGFzIHRoZSBzZXJ2aWNlIHdvcmtlciBpbnN0YWxsIGpvYiBpcyBmaW5pc2hlZC4KKyAg
ICAgICAgVGhlIG1pZ3JhdGlvbiBmcm9tIHdhaXRpbmcgdG8gYWN0aXZhdGVkIHVwb24gbmV0d29y
ayBwcm9jZXNzIGNyYXNoIGlzIG5vdCBpZGVhbDogaW4gdGhlb3J5IHdlIHNob3VsZCBmaXJlIGFu
IGFjdGl2YXRlIGV2ZW50IG9uIHRoZSB3YWl0aW5nIHNlcnZpY2Ugd29ya2VyLgorICAgICAgICBU
aGF0IHNhaWQsIHRoaXMgaXMgc3RpbGwgc29tZWhvdyBhbGxvd2VkLCBhcyBmYWlsaW5nIHRvIGFj
dGl2YXRlIChzYXkgaWYgc2VydmljZSB3b3JrZXIgcHJvY2VzcyBpcyBjcmFzaGluZyB3aGVuIGhh
bmRsaW5nIHRoZSBldmVudCkgaXMgYWxsb3dlZC4KKworICAgICAgICBDb3ZlcmVkIGJ5IG5ldyBB
UEkgdGVzdC4KKworICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
OgorCiAyMDIyLTA0LTI4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYWtlIHN1cmUgdG8gZmFpbCBpbXBvcnRTY3JpcHRzIGFzIHBlciBodHRwczovL3czYy5n
aXRodWIuaW8vU2VydmljZVdvcmtlci8jaW1wb3J0c2NyaXB0cyBzdGVwIDQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggNjBk
MmFiODNlMTViYmU5MjQ4ZDc1ZWVmMzcwMjlmMTY0YTU5MDAxNy4uYTY4YTA0NTQ0ODUyNWJkOTA5
NGEwMDA1YTUyNjZiODY3ZWEwYjcxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKQEAgLTY3Niw2ICs2NzYsOSBAQCB2b2lkIFNX
U2VydmVyOjpkaWRGaW5pc2hJbnN0YWxsKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtl
ckpvYkRhdGFJZGVudGlmaQogICAgIGlmICgham9iRGF0YUlkZW50aWZpZXIpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIGlmICh3YXNTdWNjZXNzZnVsKQorICAgICAgICBzdG9yZVJlZ2lzdHJhdGlv
bkZvcldvcmtlcih3b3JrZXIpOworCiAgICAgaWYgKGF1dG8qIGpvYlF1ZXVlID0gbV9qb2JRdWV1
ZXMuZ2V0KHdvcmtlci5yZWdpc3RyYXRpb25LZXkoKSkpCiAgICAgICAgIGpvYlF1ZXVlLT5kaWRG
aW5pc2hJbnN0YWxsKCpqb2JEYXRhSWRlbnRpZmllciwgd29ya2VyLCB3YXNTdWNjZXNzZnVsKTsK
IH0KQEAgLTY4OCw4ICs2OTEsNiBAQCB2b2lkIFNXU2VydmVyOjpkaWRGaW5pc2hBY3RpdmF0aW9u
KFNXU2VydmVyV29ya2VyJiB3b3JrZXIpCiAgICAgaWYgKCFyZWdpc3RyYXRpb24pCiAgICAgICAg
IHJldHVybjsKIAotICAgIHN0b3JlUmVnaXN0cmF0aW9uRm9yV29ya2VyKHdvcmtlcik7Ci0KICAg
ICByZWdpc3RyYXRpb24tPmRpZEZpbmlzaEFjdGl2YXRpb24od29ya2VyLmlkZW50aWZpZXIoKSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCA0NmRiNDAxNDhmNGRhOWExZTg4ZmY2NDUwMzI2M2M3NmY2MjY1NmExLi41ODI2MjE1ZjU5YjQ2
NmY1MmE5NGZjZjM2YWViYjg5YTE5NzMzNzliIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDQtMjkgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFBXQSBpbiBpT1MgdXNlIG9s
ZCBhc3NldHMgYWZ0ZXIgcHVibGlzaCBuZXcgc2VydmljZXJXb3JrZXIvYXNzZXRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTkxMTAKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzUxOTkyMDc3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2
aWNlV29ya2VyQmFzaWMubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2Vy
dmVyLmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tOgorCiAy
MDIyLTA0LTI3ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIFsg
aU9TIF0gVGVzdFdlYktpdEFQSS5JbmRleGVkREIuSW5kZXhlZERCU3VzcGVuZEltbWluZW50bHkg
aXMgYSBjb25zdGFudCB0aW1lb3V0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCmluZGV4IGY0NzBlNmVj
YTZjODRjNzAwNjllNmE1NTkwYmM3MDFhZTliYzAwMGEuLjBiMjcwODM5MzBjODY5OTU4MGI1ZGMx
MjRjZThmNDNmYWIxOWU4MGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCkBAIC0zMzgxLDMgKzMz
ODEsMTM1IEBAIFRFU1QoU2VydmljZVdvcmtlciwgT3BlbldpbmRvd0NPT1ApCiAgICAgW3dlYlZp
ZXcgZXZhbHVhdGVKYXZhU2NyaXB0OltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAib3Blbldp
bmRvd1RvVVJMKCclQD9zd2FwJykiLCBbW3NlcnZlci5yZXF1ZXN0KCkgVVJMXSBhYnNvbHV0ZVN0
cmluZ11dIGNvbXBsZXRpb25IYW5kbGVyOiBuaWxdOwogICAgIEVYUEVDVF9XS19TVFJFUShbd2Vi
VmlldyBfdGVzdF93YWl0Rm9yQWxlcnRdLCAiY2xpZW50Iik7CiB9CisKKyNpZiBXS19IQVZFX0Nf
U1BJCisKK3N0YXRpYyBjb25zdGV4cHIgYXV0byBzZXJ2aWNlV29ya2VyU3RvcmFnZVRpbWluZ01h
aW5CeXRlcyA9IFIiU1dSRVNPVVJDRSgKKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobXNnKQorewor
ICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnN3LnBvc3RNZXNzYWdlKG1zZyk7Cit9
CisKK25hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBm
dW5jdGlvbihldmVudCkgeworICAgIGxvZygiTWVzc2FnZSBmcm9tIHdvcmtlcjogIiArIGV2ZW50
LmRhdGEpOworfSk7CisKK2xldCByZWdpc3RyYXRpb247Cit0cnkgeworbmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIucmVnaXN0ZXIoJy9zdy5qcycpLnRoZW4oZnVuY3Rpb24ocmVnKSB7CisgICAgcmVn
aXN0cmF0aW9uID0gcmVnOworICAgIHdvcmtlciA9IHJlZy5pbnN0YWxsaW5nID8gcmVnLmluc3Rh
bGxpbmcgOiByZWcuYWN0aXZlOworICAgIHdvcmtlci5wb3N0TWVzc2FnZSgiSGVsbG8gZnJvbSB0
aGUgd2ViIHBhZ2UiKTsKK30pLmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7CisgICAgbG9nKCJSZWdp
c3RyYXRpb24gZmFpbGVkIHdpdGg6ICIgKyBlcnJvcik7Cit9KTsKK30gY2F0Y2goZSkgeworICAg
IGxvZygiRXhjZXB0aW9uOiAiICsgZSk7Cit9CisKK2Z1bmN0aW9uIHN0b3JlUmVnaXN0cmF0aW9u
KCkKK3sKKyAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgYWxlcnQoIm5vIGlu
dGVybmFscyIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGludGVybmFscy5zdG9yZVJl
Z2lzdHJhdGlvbnNPbkRpc2soKS50aGVuKCgpID0+IHsKKyAgICAgICAgYWxlcnQoIm9rIik7Cisg
ICAgfSwgKCkgPT4geworICAgICAgICBhbGVydCgia28iKTsKKyAgICB9KTsKK30KKworZnVuY3Rp
b24gd2FpdEZvcldhaXRpbmdXb3JrZXIoY291bnRlcikKK3sKKyAgICB0cnkgeworICAgICAgICBp
ZiAocmVnaXN0cmF0aW9uLndhaXRpbmcpIHsKKyAgICAgICAgICAgIGFsZXJ0KCJvayIpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGlmICghY291bnRlcikKKyAgICAg
ICAgICAgIGNvdW50ZXIgPSAwOworICAgICAgICBlbHNlIGlmIChjb3VudGVyID4gMTAwKSB7Cisg
ICAgICAgICAgICBhbGVydCgia28iKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHdhaXRGb3JXYWl0aW5nV29ya2VyKCsrY291bnRlciks
IDUwKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGFsZXJ0KCJlcnJvcjogIiArIGUpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorfQorCis8L3NjcmlwdD4KKylTV1JFU09VUkNFIl9zOwor
CitzdGF0aWMgY29uc3RleHByIGF1dG8gc2VydmljZVdvcmtlclN0b3JhZ2VUaW1pbmdTY3JpcHRC
eXRlc1YxID0gUiJTV1JFU09VUkNFKAorc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwg
KGV2ZW50KSA9PiB7CisgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJWMSIpOworfSk7Cisp
U1dSRVNPVVJDRSJfczsKKworc3RhdGljIGNvbnN0ZXhwciBhdXRvIHNlcnZpY2VXb3JrZXJTdG9y
YWdlVGltaW5nU2NyaXB0Qnl0ZXNWMiA9IFIiU1dSRVNPVVJDRSgKK3NlbGYuYWRkRXZlbnRMaXN0
ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4geworICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2Fn
ZSgiVjIiKTsKK30pOworKVNXUkVTT1VSQ0UiX3M7CisKK1RFU1QoU2VydmljZVdvcmtlcnMsIFNl
cnZpY2VXb3JrZXJTdG9yYWdlVGltaW5nKQoreworICAgIFtXS1dlYnNpdGVEYXRhU3RvcmUgX2Fs
bG93V2Vic2l0ZURhdGFSZWNvcmRzRm9yQWxsT3JpZ2luc107CisKKyAgICAvLyBTdGFydCB3aXRo
IGEgY2xlYW4gc2xhdGUgZGF0YSBzdG9yZQorICAgIFtbV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1
bHREYXRhU3RvcmVdIHJlbW92ZURhdGFPZlR5cGVzOltXS1dlYnNpdGVEYXRhU3RvcmUgYWxsV2Vi
c2l0ZURhdGFUeXBlc10gbW9kaWZpZWRTaW5jZTpbTlNEYXRlIGRpc3RhbnRQYXN0XSBjb21wbGV0
aW9uSGFuZGxlcjpeKCkgeworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIGF1
dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbU1dNZXNzYWdlSGFuZGxlcldpdGhFeHBlY3Rl
ZE1lc3NhZ2UgYWxsb2NdIGluaXRdKTsKKworICAgIFRlc3RXZWJLaXRBUEk6OkhUVFBTZXJ2ZXIg
c2VydmVyKHsKKyAgICAgICAgeyAiLyJfcywgeyB7IHsgIkNhY2hlLUNvbnRyb2wiX3MsICJuby1j
YWNoZSJfcyB9IH0sIHNlcnZpY2VXb3JrZXJTdG9yYWdlVGltaW5nTWFpbkJ5dGVzIH0gfSwKKyAg
ICAgICAgeyAiL3N3LmpzIl9zLCB7IHsgeyAiQ29udGVudC1UeXBlIl9zLCAiYXBwbGljYXRpb24v
amF2YXNjcmlwdCJfcyB9IH0sIHNlcnZpY2VXb3JrZXJTdG9yYWdlVGltaW5nU2NyaXB0Qnl0ZXNW
MSB9IH0sCisgICAgfSk7CisKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIHNldENvbmZpZ3VyYXRpb25J
bmplY3RlZEJ1bmRsZVBhdGgoY29uZmlndXJhdGlvbi5nZXQoKSk7CisgICAgW1tjb25maWd1cmF0
aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6bWVzc2Fn
ZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInN3Il07CisKKyAgICBkb25lID0gZmFsc2U7CisgICAgZXhw
ZWN0ZWRNZXNzYWdlID0gIk1lc3NhZ2UgZnJvbSB3b3JrZXI6IFYxIl9zOworICAgIGF1dG8gd2Vi
VmlldzEgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01h
a2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkg
YWRkVG9XaW5kb3c6IFlFU10pOworICAgIFt3ZWJWaWV3MSBsb2FkUmVxdWVzdDpzZXJ2ZXIucmVx
dWVzdCgpXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworCisgICAgSGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4gc291cmNlSGVhZGVyczsKKyAgICBzb3VyY2VIZWFkZXJzLmFk
ZCgiQ2FjaGUtQ29udHJvbCJfcywgIm5vLWNhY2hlIl9zKTsKKyAgICBzb3VyY2VIZWFkZXJzLmFk
ZCgiQ29udGVudC1UeXBlIl9zLCAiYXBwbGljYXRpb24vamF2YXNjcmlwdCJfcyk7CisgICAgc2Vy
dmVyLnNldFJlc3BvbnNlKCIvc3cuanMiX3MsIFRlc3RXZWJLaXRBUEk6OkhUVFBSZXNwb25zZSB7
IFdURk1vdmUoc291cmNlSGVhZGVycyksIHNlcnZpY2VXb3JrZXJTdG9yYWdlVGltaW5nU2NyaXB0
Qnl0ZXNWMiB9KTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBleHBlY3RlZE1lc3NhZ2UgPSAi
TWVzc2FnZSBmcm9tIHdvcmtlcjogVjEiX3M7CisgICAgYXV0byB3ZWJWaWV3MiA9IGFkb3B0TlMo
W1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYw
MCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgW3dlYlZpZXcyIGxv
YWRSZXF1ZXN0OnNlcnZlci5yZXF1ZXN0KCldOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmZG9uZSk7CisKKyAgICAvLyBMZXQncyB3YWl0IGZvciBhIFYyIHNlcnZpY2Ugd29ya2VyLgor
ICAgIFt3ZWJWaWV3MSBldmFsdWF0ZUphdmFTY3JpcHQ6QCJ3YWl0Rm9yV2FpdGluZ1dvcmtlcigp
IiBjb21wbGV0aW9uSGFuZGxlcjogbmlsXTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoW3dlYlZpZXcx
IF90ZXN0X3dhaXRGb3JBbGVydF0sICJvayIpOworCisgICAgLy8gTGV0J3MgZW5zdXJlIHdlIHN0
b3JlIGl0IG9uIGRpc2suCisgICAgW3dlYlZpZXcxIGV2YWx1YXRlSmF2YVNjcmlwdDpAInN0b3Jl
UmVnaXN0cmF0aW9uKCkiIGNvbXBsZXRpb25IYW5kbGVyOiBuaWxdOworICAgIEVYUEVDVF9XS19T
VFJFUShbd2ViVmlldzEgX3Rlc3Rfd2FpdEZvckFsZXJ0XSwgIm9rIik7CisKKyAgICBbW3dlYlZp
ZXcxIGNvbmZpZ3VyYXRpb25dLndlYnNpdGVEYXRhU3RvcmUgX3Rlcm1pbmF0ZU5ldHdvcmtQcm9j
ZXNzXTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBleHBlY3RlZE1lc3NhZ2UgPSAiTWVzc2Fn
ZSBmcm9tIHdvcmtlcjogVjIiX3M7CisgICAgYXV0byB3ZWJWaWV3MyA9IGFkb3B0TlMoW1tXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29u
ZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgW3dlYlZpZXczIGxvYWRSZXF1
ZXN0OnNlcnZlci5yZXF1ZXN0KCldOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9u
ZSk7Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2Ev
SFRUUFNlcnZlci5oCmluZGV4IDJhNzY4MTE2N2ZkMTQ2YWVjM2IyYjMzYjEzOGNlZTUwYmFiMzA4
YzAuLjlmOWQyNzI1OGMyZTU0NmM1NDZiNDJhNjBmYTNiZTkzNzUxNWFkODAgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5oCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5oCkBAIC01Nyw2ICs1Nyw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGNhbmNlbCgpOwogCiAgICAgdm9pZCBhZGRSZXNwb25zZShTdHJpbmcmJiBwYXRoLCBI
VFRQUmVzcG9uc2UmJik7CisgICAgdm9pZCBzZXRSZXNwb25zZShTdHJpbmcmJiBwYXRoLCBIVFRQ
UmVzcG9uc2UmJik7CiAKICAgICBzdGF0aWMgdm9pZCByZXNwb25kV2l0aE9LKENvbm5lY3Rpb24p
OwogICAgIHN0YXRpYyB2b2lkIHJlc3BvbmRXaXRoQ2hhbGxlbmdlVGhlbk9LKENvbm5lY3Rpb24p
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tCmluZGV4IDBmMmE3YzdkMzhi
MzZlZDdhNTI3MTlmMDYzMDUxNGMxM2QyZDc1NGYuLjc3YzBmNzM2OWFhNGE5YWJlNmJiMWY5NjI1
ZjA4OGJjNzk2MzMzNmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRU
UFNlcnZlci5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIubW0K
QEAgLTIyMiw2ICsyMjIsMTIgQEAgdm9pZCBIVFRQU2VydmVyOjphZGRSZXNwb25zZShTdHJpbmcm
JiBwYXRoLCBIVFRQUmVzcG9uc2UmJiByZXNwb25zZSkKICAgICBtX3JlcXVlc3REYXRhLT5yZXF1
ZXN0TWFwLmFkZChXVEZNb3ZlKHBhdGgpLCBXVEZNb3ZlKHJlc3BvbnNlKSk7CiB9CiAKK3ZvaWQg
SFRUUFNlcnZlcjo6c2V0UmVzcG9uc2UoU3RyaW5nJiYgcGF0aCwgSFRUUFJlc3BvbnNlJiYgcmVz
cG9uc2UpCit7CisgICAgQVNTRVJUKG1fcmVxdWVzdERhdGEtPnJlcXVlc3RNYXAuY29udGFpbnMo
cGF0aCkpOworICAgIG1fcmVxdWVzdERhdGEtPnJlcXVlc3RNYXAuc2V0KFdURk1vdmUocGF0aCks
IFdURk1vdmUocmVzcG9uc2UpKTsKK30KKwogdm9pZCBIVFRQU2VydmVyOjpyZXNwb25kV2l0aENo
YWxsZW5nZVRoZW5PSyhDb25uZWN0aW9uIGNvbm5lY3Rpb24pCiB7CiAgICAgY29ubmVjdGlvbi5y
ZWNlaXZlSFRUUFJlcXVlc3QoW2Nvbm5lY3Rpb25dIChWZWN0b3I8Y2hhcj4mJikgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>