<?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>208190</bug_id>
          
          <creation_ts>2020-02-25 04:16:27 -0800</creation_ts>
          <short_desc>Use 1000-based units for file sizes, per HIG</short_desc>
          <delta_ts>2021-03-18 15:59:11 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mathias Bynens">mathias</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>mathias</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>paulirish</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1622570</commentid>
    <comment_count>0</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2020-02-25 04:16:27 -0800</bug_when>
    <thetext>https://developer.apple.com/design/human-interface-guidelines/macos/system-capabilities/finder/ says:

&quot;Report disk usage and file sizes accurately and consistently. Provide values that are consistent with values reported by the Finder and utilities like Activity Monitor. It’s confusing when an app and the system report different values for the same measurement.&quot;

Yet, Safari DevTools currently uses &quot;1 KB&quot; to mean 1024 bytes. This can easily be tested by creating a 1024-byte file as follows:

    python -c &apos;print(&quot;x&quot;*1024)&apos; &gt; foo.txt

Then loading that over HTTP and using the Network panel to inspect its size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654411</commentid>
    <comment_count>1</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2020-05-20 07:18:12 -0700</bug_when>
    <thetext>You can use these files to test:

- https://mathiasbynens.github.io/css-dbg-stories/1000.txt
- https://mathiasbynens.github.io/css-dbg-stories/1024.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656670</commentid>
    <comment_count>2</comment_count>
    <who name="Paul Irish">paulirish</who>
    <bug_when>2020-05-27 16:34:45 -0700</bug_when>
    <thetext>Would Safari DevTools be willing to make this change if you know that Chromium and Firefox are also making it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660392</commentid>
    <comment_count>3</comment_count>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2020-06-08 14:31:26 -0700</bug_when>
    <thetext>My understanding is that treating 1 KB as 1024 bytes was intentional decision as this what majority web developers expected. 

From a web developer perspective, first and foremost, I&apos;d like to see the same units in all DevTools (Safari, Chrome, and Firefox).

https://docs.google.com/document/d/1TWn4kpXlN-W_LmuZGQ9Iv7pmK4R7zgmhKkZ9gF2CsrE/edit
It looks like you&apos;re going with base-1024 and KiB/MiB labels in Chrome DevTools. I personally think this is fine and Safari DevTools should do the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660666</commentid>
    <comment_count>4</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2020-06-09 05:23:20 -0700</bug_when>
    <thetext>&gt; From a web developer perspective, first and foremost, I&apos;d like to see the same units in all DevTools (Safari, Chrome, and Firefox).

Strong +1 to that!

FWIW, Chrome 81 (stable since April) uses the 1000-based SI units (which happens to match the Apple HIG), and we haven&apos;t heard any complaints. It seems like we could choose whatever option here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703456</commentid>
    <comment_count>5</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2020-11-02 00:25:45 -0800</bug_when>
    <thetext>Chrome DevTools now consistently uses 1000-based units with the proper SI labels, matching the Apple HIG: https://bugs.chromium.org/p/chromium/issues/detail?id=1035309

It would be great if the Web Inspector did the same, especially given comment #3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704543</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-04 11:49:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/71045696&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704846</commentid>
    <comment_count>7</comment_count>
      <attachid>413294</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2020-11-05 07:12:11 -0800</bug_when>
    <thetext>Created attachment 413294
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704911</commentid>
    <comment_count>8</comment_count>
      <attachid>413316</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2020-11-05 10:00:40 -0800</bug_when>
    <thetext>Created attachment 413316
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705900</commentid>
    <comment_count>9</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-11-09 14:59:23 -0800</bug_when>
    <thetext>(In reply to Mathias Bynens from comment #5)
&gt; Chrome DevTools now consistently uses 1000-based units with the proper SI
&gt; labels, matching the Apple HIG:
&gt; https://bugs.chromium.org/p/chromium/issues/detail?id=1035309
&gt; 
&gt; It would be great if the Web Inspector did the same, especially given
&gt; comment #3.

Somehow, I don&apos;t think that section of the HIG was written for developer tools that need to examine network traffic. In fact, the section you linked is specifically about Finder, which is consumer facing.

This change makes Web Inspector report values different from many other developer tools which report bits in sizes based on powers of two. I don&apos;t think it&apos;s an improvement to what already exists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706003</commentid>
    <comment_count>10</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2020-11-09 23:48:57 -0800</bug_when>
    <thetext>(In reply to Brian Burg from comment #9)
&gt; (In reply to Mathias Bynens from comment #5)
&gt; &gt; Chrome DevTools now consistently uses 1000-based units with the proper SI
&gt; &gt; labels, matching the Apple HIG:
&gt; &gt; https://bugs.chromium.org/p/chromium/issues/detail?id=1035309
&gt; &gt; 
&gt; &gt; It would be great if the Web Inspector did the same, especially given
&gt; &gt; comment #3.
&gt; 
&gt; Somehow, I don&apos;t think that section of the HIG was written for developer
&gt; tools that need to examine network traffic. In fact, the section you linked
&gt; is specifically about Finder, which is consumer facing.

The relevant text is:

&gt; Provide values that are consistent with values reported by the Finder and
&gt; utilities like Activity Monitor. It’s confusing when an app and the system
&gt; report different values for the same measurement.

This is unambiguously not just about Finder. It says all apps must match how Finder reports file sizes. The HIG is clear and precise in this regard, and doesn’t include any exceptions or special cases for developer-facing apps.

&gt; This change makes Web Inspector report values different from many other
&gt; developer tools which report bits in sizes based on powers of two.

Which examples are you thinking of? Note that when we looked into this (https://goo.gle/devtools-si), Firefox DevTools were on board with making the change. We’ve already made the change in Chrome DevTools.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706005</commentid>
    <comment_count>11</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2020-11-09 23:54:01 -0800</bug_when>
    <thetext>(In reply to Brian Burg from comment #9)
&gt; (In reply to Mathias Bynens from comment #5)
&gt; &gt; Chrome DevTools now consistently uses 1000-based units with the proper SI
&gt; &gt; labels, matching the Apple HIG:
&gt; &gt; https://bugs.chromium.org/p/chromium/issues/detail?id=1035309
&gt; &gt; 
&gt; &gt; It would be great if the Web Inspector did the same, especially given
&gt; &gt; comment #3.
&gt; 
&gt; Somehow, I don&apos;t think that section of the HIG was written for developer
&gt; tools that need to examine network traffic.

Note the explicit HIG mention of Activity Monitor, which specifically includes “tools to examine network traffic”. I don’t understand your interpretation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706579</commentid>
    <comment_count>12</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-11-11 12:40:17 -0800</bug_when>
    <thetext>We can haggle all day about the HIG, but the reality is that the rest of Apple&apos;s development toolchain still uses KB = 1024 bytes. As do most other developer tools that I&apos;m familiar with. Your own feature document shows skepticism about this change, noting that the authoritative references are simply Wikipedia articles and the Apple HIG. Not exactly a compelling argument to me, but to each their own. Other attempts to use SI units in web standards (i.e., to add to TC39) and tooling also haven&apos;t gone anywhere. It seems like a Chrome bug about inconsistent unit labels has developed a life of its own.

I also take issue with how this was proposed in the first place. You invited one WebKit committer to the feature document some number of months ago, and made a bug in Bugzilla without providing further context (yknow, like the big feature document with alternatives spelled out). Please email webkit-dev if you&apos;d like opinions that represent the entire WebKit community.

It would be great to bring this topic to the Browser Tools and Testing working group, which includes a wider set of perspectives than people cc&apos;d to this bug. Perhaps a colleague could introduce and discuss a resolution regarding SI units. I&apos;d love to see it. I&apos;m not going to spend any more time arguing in Bugzilla about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706624</commentid>
    <comment_count>13</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2020-11-11 14:16:07 -0800</bug_when>
    <thetext>(In reply to Brian Burg from comment #12)
&gt; Your own feature document shows
&gt; skepticism about this change, noting that the authoritative references are
&gt; simply Wikipedia articles and the Apple HIG. Not exactly a compelling
&gt; argument to me, but to each their own.

It sounds like we’re conflating two different things here. In Chrome we wanted to unify the way we represented units, since we were mixing 1024 and 1000 with incorrect labels. The doc outlines the two ways to go about fixing this: either use 1024 consistently with correct labels, or use 1000 consistently with correct labels. The labels and their meanings are well-defined and aren’t controversial.

The controversy seems to be about the choice between 1024 vs 1000-based units, which is understandable (because of personal preferences). It’s interesting to me that one of the reasons we went with 1000-based units is Apple’s HIG, yet here we find Apple engineers arguing against the HIG — definitely not what we expected.

&gt; Other attempts to use SI units in web
&gt; standards (i.e., to add to TC39) and tooling also haven&apos;t gone anywhere.

Could you elaborate? The opposite is true for e.g. Intl.NumberFormat (TC39), which supports 1000-based units, but doesn’t support 1024-based units: https://github.com/tc39/ecma402/issues/449 The same is true for the Unicode CLDR where locale data for these various units is defined. Did you get that backwards or were you thinking of a different example that goes the other direction (I don’t know of any)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707397</commentid>
    <comment_count>14</comment_count>
    <who name="Paul Irish">paulirish</who>
    <bug_when>2020-11-13 14:41:38 -0800</bug_when>
    <thetext>(I&apos;m mostly uninvolved with DevTools stuff these days, but I&apos;ve been involved in this discussion as Lighthouse TL)

Back in June when this conversation really started getting going, I emphasized the ecosystem impact. Because, of course, it&apos;s not desirable to make a change that creates inconsistent measurements across tools. 

There&apos;s really three options in handling this:

Option A) Use 1000 and label as KB
Option B) Use 1024 and label as KiB
Option C) Use 1024 and label as KB

I initially thought &quot;Is Option C really that bad?&quot; but later realized that approaches violates all relevant Standards of units (since ~1998). https://en.wikipedia.org/wiki/Binary_prefix

The general consensus is that A and B are fine, but C should be avoided.

( There&apos;s also a great document where Ubuntu did this same soul searching: https://wiki.ubuntu.com/UnitsPolicy )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738152</commentid>
    <comment_count>15</comment_count>
      <attachid>422852</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2021-03-10 11:42:47 -0800</bug_when>
    <thetext>Created attachment 422852
Patch

Rebaselined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740947</commentid>
    <comment_count>16</comment_count>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2021-03-17 16:20:27 -0700</bug_when>
    <thetext>(In reply to Paul Irish from comment #14)
&gt; Option A) Use 1000 and label as KB

Did you mean kB (lowercase &quot;k&quot;)? SI Units have the lowercase k and this&apos;s what Chrome DevTools are using.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740967</commentid>
    <comment_count>17</comment_count>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2021-03-17 17:33:21 -0700</bug_when>
    <thetext>I was reminded that macOS uses KB (uppercase K) so I&apos;m going to use that. I know it contradicts SI Units.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740971</commentid>
    <comment_count>18</comment_count>
      <attachid>423543</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2021-03-17 17:37:57 -0700</bug_when>
    <thetext>Created attachment 423543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741450</commentid>
    <comment_count>19</comment_count>
      <attachid>423543</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-03-18 15:02:50 -0700</bug_when>
    <thetext>Comment on attachment 423543
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741453</commentid>
    <comment_count>20</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-18 15:14:22 -0700</bug_when>
    <thetext>commit-queue failed to commit attachment 423543 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741473</commentid>
    <comment_count>21</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-18 15:59:09 -0700</bug_when>
    <thetext>Committed r274680: &lt;https://commits.webkit.org/r274680&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423543.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413294</attachid>
            <date>2020-11-05 07:12:11 -0800</date>
            <delta_ts>2020-11-05 10:00:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>4730</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDFlMmZjNDNkNjMzMC4uNmVkMDEzMjllODdiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0xMS0wNCAgTmlr
aXRhIFZhc2lseWV2ICA8bnZhc2lseWV2QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgU0kgVW5p
dHMgKGJhc2VkIG9uIDEwMDAsIG5vdCAxMDI0KSBmb3IgZmlsZSBzaXplcywgcGVyIEhJRworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MTkwCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS83MTA0NTY5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanM6
CisKIDIwMjAtMTAtMjAgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFJFR1JFU1NJT04ocjI2NjA3NCk6IFVuY2F1Z2h0IEV4Y2VwdGlv
bjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuX2FsbExpc3Rl
bmVyc0JyZWFrcG9pbnQuZGlzYWJsZWQnKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMK
aW5kZXggZDZjODdkOWQxYzIzLi4zMTFmZWMwYTIzZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qcwpAQCAtNiw5ICs2LDkgQEAgbG9jYWxpemVkU3RyaW5nc1siJHtleHByfSA9IGV4
cHJlc3Npb24iXSA9ICIke2V4cHJ9ID0gZXhwcmVzc2lvbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIl
LjBmIEIiXSA9ICIlLjBmIEIiOwogbG9jYWxpemVkU3RyaW5nc1siJS4wZm1zIl0gPSAiJS4wZm1z
IjsKIGxvY2FsaXplZFN0cmluZ3NbIiUuMWYgR0IiXSA9ICIlLjFmIEdCIjsKLWxvY2FsaXplZFN0
cmluZ3NbIiUuMWYgS0IiXSA9ICIlLjFmIEtCIjsKIGxvY2FsaXplZFN0cmluZ3NbIiUuMWYgTUIi
XSA9ICIlLjFmIE1CIjsKIGxvY2FsaXplZFN0cmluZ3NbIiUuMWYgZGF5cyJdID0gIiUuMWYgZGF5
cyI7Citsb2NhbGl6ZWRTdHJpbmdzWyIlLjFmIGtCIl0gPSAiJS4xZiBrQiI7CiBsb2NhbGl6ZWRT
dHJpbmdzWyIlLjFmQiJdID0gIiUuMWZCIjsKIGxvY2FsaXplZFN0cmluZ3NbIiUuMWZLIl0gPSAi
JS4xZksiOwogbG9jYWxpemVkU3RyaW5nc1siJS4xZk0iXSA9ICIlLjFmTSI7CkBAIC0xNiw4ICsx
Niw4IEBAIGxvY2FsaXplZFN0cmluZ3NbIiUuMWZocnMiXSA9ICIlLjFmaHJzIjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIiUuMWZtaW4iXSA9ICIlLjFmbWluIjsKIGxvY2FsaXplZFN0cmluZ3NbIiUuMWZt
cyJdID0gIiUuMWZtcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlLjJmIEdCIl0gPSAiJS4yZiBHQiI7
Ci1sb2NhbGl6ZWRTdHJpbmdzWyIlLjJmIEtCIl0gPSAiJS4yZiBLQiI7CiBsb2NhbGl6ZWRTdHJp
bmdzWyIlLjJmIE1CIl0gPSAiJS4yZiBNQiI7Citsb2NhbGl6ZWRTdHJpbmdzWyIlLjJmIGtCIl0g
PSAiJS4yZiBrQiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlLjJmXHUwMGQ3Il0gPSAiJS4yZlx1MDBk
NyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlLjJmbXMiXSA9ICIlLjJmbXMiOwogbG9jYWxpemVkU3Ry
aW5nc1siJS4yZnMiXSA9ICIlLjJmcyI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzCmluZGV4IGNjMGM5MDExMWVmOC4uZjc2
M2FhNmM5OTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL1V0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9CYXNlL1V0aWxpdGllcy5qcwpAQCAtMTM1NywyNiArMTM1NywyNiBAQCBPYmplY3QuZGVm
aW5lUHJvcGVydHkoTnVtYmVyLCAiYnl0ZXNUb1N0cmluZyIsCiAgICAgdmFsdWUoYnl0ZXMsIGhp
Z2hlclJlc29sdXRpb24sIGJ5dGVzVGhyZXNob2xkKQogICAgIHsKICAgICAgICAgaGlnaGVyUmVz
b2x1dGlvbiA/Pz0gdHJ1ZTsKLSAgICAgICAgYnl0ZXNUaHJlc2hvbGQgPz89IDEwMjQ7CisgICAg
ICAgIGJ5dGVzVGhyZXNob2xkID8/PSAxMDAwOwogCiAgICAgICAgIGlmIChNYXRoLmFicyhieXRl
cykgPCBieXRlc1RocmVzaG9sZCkKICAgICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiJS4w
ZiBCIikuZm9ybWF0KGJ5dGVzKTsKIAotICAgICAgICBsZXQga2lsb2J5dGVzID0gYnl0ZXMgLyAx
MDI0OwotICAgICAgICBpZiAoTWF0aC5hYnMoa2lsb2J5dGVzKSA8IDEwMjQpIHsKKyAgICAgICAg
bGV0IGtpbG9ieXRlcyA9IGJ5dGVzIC8gMTAwMDsKKyAgICAgICAgaWYgKE1hdGguYWJzKGtpbG9i
eXRlcykgPCAxMDAwKSB7CiAgICAgICAgICAgICBpZiAoaGlnaGVyUmVzb2x1dGlvbiB8fCBNYXRo
LmFicyhraWxvYnl0ZXMpIDwgMTApCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5n
KCIlLjJmIEtCIikuZm9ybWF0KGtpbG9ieXRlcyk7Ci0gICAgICAgICAgICByZXR1cm4gV0kuVUlT
dHJpbmcoIiUuMWYgS0IiKS5mb3JtYXQoa2lsb2J5dGVzKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gV0kuVUlTdHJpbmcoIiUuMmYga0IiKS5mb3JtYXQoa2lsb2J5dGVzKTsKKyAgICAgICAgICAg
IHJldHVybiBXSS5VSVN0cmluZygiJS4xZiBrQiIpLmZvcm1hdChraWxvYnl0ZXMpOwogICAgICAg
ICB9CiAKLSAgICAgICAgbGV0IG1lZ2FieXRlcyA9IGtpbG9ieXRlcyAvIDEwMjQ7Ci0gICAgICAg
IGlmIChNYXRoLmFicyhtZWdhYnl0ZXMpIDwgMTAyNCkgeworICAgICAgICBsZXQgbWVnYWJ5dGVz
ID0ga2lsb2J5dGVzIC8gMTAwMDsKKyAgICAgICAgaWYgKE1hdGguYWJzKG1lZ2FieXRlcykgPCAx
MDAwKSB7CiAgICAgICAgICAgICBpZiAoaGlnaGVyUmVzb2x1dGlvbiB8fCBNYXRoLmFicyhtZWdh
Ynl0ZXMpIDwgMTApCiAgICAgICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlLjJmIE1C
IikuZm9ybWF0KG1lZ2FieXRlcyk7CiAgICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIiUu
MWYgTUIiKS5mb3JtYXQobWVnYWJ5dGVzKTsKICAgICAgICAgfQogCi0gICAgICAgIGxldCBnaWdh
Ynl0ZXMgPSBtZWdhYnl0ZXMgLyAxMDI0OworICAgICAgICBsZXQgZ2lnYWJ5dGVzID0gbWVnYWJ5
dGVzIC8gMTAwMDsKICAgICAgICAgaWYgKGhpZ2hlclJlc29sdXRpb24gfHwgTWF0aC5hYnMoZ2ln
YWJ5dGVzKSA8IDEwKQogICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlLjJmIEdCIiku
Zm9ybWF0KGdpZ2FieXRlcyk7CiAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiJS4xZiBHQiIp
LmZvcm1hdChnaWdhYnl0ZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3
LmpzCmluZGV4IDNlYzYwZmE2N2JhMy4uMDE5YjhlNGIwZTdjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpemVzQ29udGVudFZp
ZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVz
b3VyY2VTaXplc0NvbnRlbnRWaWV3LmpzCkBAIC0xNjUsMTAgKzE2NSwxMCBAQCBXSS5SZXNvdXJj
ZVNpemVzQ29udGVudFZpZXcgPSBjbGFzcyBSZXNvdXJjZVNpemVzQ29udGVudFZpZXcgZXh0ZW5k
cyBXSS5Db250ZW50VgogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQoYnl0ZXMgPj0gMCk7
CiAKLSAgICAgICAgLy8gUHJlZmVyIEtCIG92ZXIgQi4gQW5kIHByZWZlciAxIGRlY2ltYWwgcG9p
bnQgdG8ga2VlcCBzaXplcyBzaW1wbGUKLSAgICAgICAgLy8gYnV0IHdlIHdpbGwgc3RpbGwgbmVl
ZCBCIGlmIGJ5dGVzIGlzIGxlc3MgdGhhbiAwLjEgS0IgKDEwMyBCKS4KKyAgICAgICAgLy8gUHJl
ZmVyIGtCIG92ZXIgQi4gQW5kIHByZWZlciAxIGRlY2ltYWwgcG9pbnQgdG8ga2VlcCBzaXplcyBz
aW1wbGUKKyAgICAgICAgLy8gYnV0IHdlIHdpbGwgc3RpbGwgbmVlZCBCIGlmIGJ5dGVzIGlzIGxl
c3MgdGhhbiAwLjEga0IgKDEwMCBCKS4KICAgICAgICAgY29uc3QgaGlnaGVyUmVzb2x1dGlvbiA9
IGZhbHNlOwotICAgICAgICBjb25zdCBieXRlc1RocmVzaG9sZCA9IDEwMzsKKyAgICAgICAgY29u
c3QgYnl0ZXNUaHJlc2hvbGQgPSAxMDA7CiAgICAgICAgIHJldHVybiBOdW1iZXIuYnl0ZXNUb1N0
cmluZyhieXRlcywgaGlnaGVyUmVzb2x1dGlvbiwgYnl0ZXNUaHJlc2hvbGQpOwogICAgIH0KIAo=
</data>
<flag name="commit-queue"
          id="429858"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413316</attachid>
            <date>2020-11-05 10:00:40 -0800</date>
            <delta_ts>2021-03-10 11:42:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8127</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMGUyZWMyNTRiMGQuLjBmZTVhNDNlNzE0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIwLTExLTA1ICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgorCisg
ICAgICAgIFVzZSBTSSBVbml0cyAoYmFzZWQgb24gMTAwMCwgbm90IDEwMjQpIGZvciBmaWxlIHNp
emVzLCBwZXIgSElHCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDgxOTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMDQ1Njk2PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQt
dGVzdHMvbnVtYmVyLXV0aWxpdGllcy5odG1sOgorCiAyMDIwLTEwLTIxICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTWVzc2FnZVBvcnQgJiBNZXNzYWdlRXZlbnQg
c2hvdWxkIGJlIGV4cG9zZWQgdG8gQXVkaW9Xb3JrbGV0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvbnVtYmVyLXV0aWxpdGllcy5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvbnVtYmVyLXV0aWxpdGllcy5odG1sCmluZGV4IGFjM2Zj
YjFjNTk5MS4uOTZmYjRjYjU0M2M4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dW5pdC10ZXN0cy9udW1iZXItdXRpbGl0aWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3VuaXQtdGVzdHMvbnVtYmVyLXV0aWxpdGllcy5odG1sCkBAIC02OCwyMCArNjgsMjAgQEAg
ZnVuY3Rpb24gdGVzdCgpCiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICBuYW1lOiAi
TnVtYmVyLmJ5dGVzVG9TdHJpbmciLAogICAgICAgICB0ZXN0KCkgewotICAgICAgICAgICAgY29u
c3Qga2IgPSAxMDI0OwotICAgICAgICAgICAgY29uc3QgbWIgPSBrYiAqIDEwMjQ7CisgICAgICAg
ICAgICBjb25zdCBrYiA9IDEwMDA7CisgICAgICAgICAgICBjb25zdCBtYiA9IGtiICogMTAwMDsK
IAogICAgICAgICAgICAgLy8gTm9ybWFsIHJlc29sdXRpb24uCiAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdEVxdWFsKE51bWJlci5ieXRlc1RvU3RyaW5nKDEyMywgZmFsc2UpLCAiMTIz
IEIiLCAibm9ybWFsIHJlc29sdXRpb24gb2Ygc3ViIDFrIHNob3VsZCBiZSBieXRlcyIpOwotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChOdW1iZXIuYnl0ZXNUb1N0cmluZygx
LjIzICoga2IsIGZhbHNlKSwgIjEuMjMgS0IiLCAibm9ybWFsIHJlc29sdXRpb24gb2Ygc3ViIDEw
ayBzaG91bGQgYmUga2lsb2J5dGVzIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEVxdWFsKE51bWJlci5ieXRlc1RvU3RyaW5nKDEwLjEyMyAqIGtiLCBmYWxzZSksICIxMC4xIEtC
IiwgIm5vcm1hbCByZXNvbHV0aW9uIG9mIHN1YiAxMGsgc2hvdWxkIGJlIGtpbG9ieXRlcyIpOwor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChOdW1iZXIuYnl0ZXNUb1N0cmlu
ZygxLjIzICoga2IsIGZhbHNlKSwgIjEuMjMga0IiLCAibm9ybWFsIHJlc29sdXRpb24gb2Ygc3Vi
IDEwayBzaG91bGQgYmUga2lsb2J5dGVzIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdEVxdWFsKE51bWJlci5ieXRlc1RvU3RyaW5nKDEwLjEyMyAqIGtiLCBmYWxzZSksICIxMC4x
IGtCIiwgIm5vcm1hbCByZXNvbHV0aW9uIG9mIHN1YiAxMGsgc2hvdWxkIGJlIGtpbG9ieXRlcyIp
OwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChOdW1iZXIuYnl0ZXNUb1N0
cmluZygxLjEyMyAqIG1iLCBmYWxzZSksICIxLjEyIE1CIiwgIm5vcm1hbCByZXNvbHV0aW9uIG9m
IHN1YiAxMG1iIHNob3VsZCBiZSBtZWdhYnl0ZXMiKTsKICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0RXF1YWwoTnVtYmVyLmJ5dGVzVG9TdHJpbmcoMTAuMTIzICogbWIsIGZhbHNlKSwg
IjEwLjEgTUIiLCAibm9ybWFsIHJlc29sdXRpb24gb2YgZ3JlYXRlciB0aGFuIDEwbWIgc2hvdWxk
IGJlIG1lZ2FieXRlcyIpOwogCiAgICAgICAgICAgICAvLyBIaWdoIHJlc29sdXRpb24uCiAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKE51bWJlci5ieXRlc1RvU3RyaW5nKDEy
MywgdHJ1ZSksICIxMjMgQiIsICJoaWdoIHJlc29sdXRpb24gb2Ygc3ViIDFrIHNob3VsZCBiZSBi
eXRlcyIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChOdW1iZXIuYnl0
ZXNUb1N0cmluZygxLjIzICoga2IsIHRydWUpLCAiMS4yMyBLQiIsICJoaWdoIHJlc29sdXRpb24g
b2Ygc3ViIDEwayBzaG91bGQgYmUga2lsb2J5dGVzIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdEVxdWFsKE51bWJlci5ieXRlc1RvU3RyaW5nKDEwLjEyMyAqIGtiLCB0cnVlKSwg
IjEwLjEyIEtCIiwgImhpZ2ggcmVzb2x1dGlvbiBvZiBzdWIgMTBrIHNob3VsZCBiZSBraWxvYnl0
ZXMiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoTnVtYmVyLmJ5dGVz
VG9TdHJpbmcoMS4yMyAqIGtiLCB0cnVlKSwgIjEuMjMga0IiLCAiaGlnaCByZXNvbHV0aW9uIG9m
IHN1YiAxMGsgc2hvdWxkIGJlIGtpbG9ieXRlcyIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RFcXVhbChOdW1iZXIuYnl0ZXNUb1N0cmluZygxMC4xMjMgKiBrYiwgdHJ1ZSksICIx
MC4xMiBrQiIsICJoaWdoIHJlc29sdXRpb24gb2Ygc3ViIDEwayBzaG91bGQgYmUga2lsb2J5dGVz
Iik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKE51bWJlci5ieXRlc1Rv
U3RyaW5nKDEuMTIzICogbWIsIHRydWUpLCAiMS4xMiBNQiIsICJoaWdoIHJlc29sdXRpb24gb2Yg
c3ViIDEwbWIgc2hvdWxkIGJlIG1lZ2FieXRlcyIpOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RFcXVhbChOdW1iZXIuYnl0ZXNUb1N0cmluZygxMC4xMjMgKiBtYiwgdHJ1ZSksICIx
MC4xMiBNQiIsICJoaWdoIHJlc29sdXRpb24gb2YgZ3JlYXRlciB0aGFuIDEwbWIgc2hvdWxkIGJl
IG1lZ2FieXRlcyIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAxZTJmYzQzZDYzMzAu
LjZjYzMwNGM1ZjczZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMjAtMTEtMDUgIE5pa2l0YSBWYXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CisKKyAg
ICAgICAgVXNlIFNJIFVuaXRzIChiYXNlZCBvbiAxMDAwLCBub3QgMTAyNCkgZm9yIGZpbGUgc2l6
ZXMsIHBlciBISUcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODE5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEwNDU2OTY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2Vu
Lmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNl
L1V0aWxpdGllcy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2l6
ZXNDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlJlc291cmNlU2l6ZXNDb250ZW50Vmlldy5w
cm90b3R5cGUuX2Zvcm1hdHRlZFNpemVDb21wb25lbnQpOgorCiAyMDIwLTEwLTIwICBEZXZpbiBS
b3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSRUdS
RVNTSU9OKHIyNjYwNzQpOiBVbmNhdWdodCBFeGNlcHRpb246IHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICd0aGlzLl9hbGxMaXN0ZW5lcnNCcmVha3BvaW50LmRpc2FibGVk
JykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0
aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGQ2Yzg3ZDlkMWMyMy4uMzEx
ZmVjMGEyM2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9u
cy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTYsOSArNiw5
IEBAIGxvY2FsaXplZFN0cmluZ3NbIiR7ZXhwcn0gPSBleHByZXNzaW9uIl0gPSAiJHtleHByfSA9
IGV4cHJlc3Npb24iOwogbG9jYWxpemVkU3RyaW5nc1siJS4wZiBCIl0gPSAiJS4wZiBCIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIiUuMGZtcyJdID0gIiUuMGZtcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIl
LjFmIEdCIl0gPSAiJS4xZiBHQiI7Ci1sb2NhbGl6ZWRTdHJpbmdzWyIlLjFmIEtCIl0gPSAiJS4x
ZiBLQiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlLjFmIE1CIl0gPSAiJS4xZiBNQiI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyIlLjFmIGRheXMiXSA9ICIlLjFmIGRheXMiOworbG9jYWxpemVkU3RyaW5nc1si
JS4xZiBrQiJdID0gIiUuMWYga0IiOwogbG9jYWxpemVkU3RyaW5nc1siJS4xZkIiXSA9ICIlLjFm
QiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlLjFmSyJdID0gIiUuMWZLIjsKIGxvY2FsaXplZFN0cmlu
Z3NbIiUuMWZNIl0gPSAiJS4xZk0iOwpAQCAtMTYsOCArMTYsOCBAQCBsb2NhbGl6ZWRTdHJpbmdz
WyIlLjFmaHJzIl0gPSAiJS4xZmhycyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlLjFmbWluIl0gPSAi
JS4xZm1pbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlLjFmbXMiXSA9ICIlLjFmbXMiOwogbG9jYWxp
emVkU3RyaW5nc1siJS4yZiBHQiJdID0gIiUuMmYgR0IiOwotbG9jYWxpemVkU3RyaW5nc1siJS4y
ZiBLQiJdID0gIiUuMmYgS0IiOwogbG9jYWxpemVkU3RyaW5nc1siJS4yZiBNQiJdID0gIiUuMmYg
TUIiOworbG9jYWxpemVkU3RyaW5nc1siJS4yZiBrQiJdID0gIiUuMmYga0IiOwogbG9jYWxpemVk
U3RyaW5nc1siJS4yZlx1MDBkNyJdID0gIiUuMmZcdTAwZDciOwogbG9jYWxpemVkU3RyaW5nc1si
JS4yZm1zIl0gPSAiJS4yZm1zIjsKIGxvY2FsaXplZFN0cmluZ3NbIiUuMmZzIl0gPSAiJS4yZnMi
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9V
dGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1V0
aWxpdGllcy5qcwppbmRleCBjYzBjOTAxMTFlZjguLmY3NjNhYTZjOTk2ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMK
QEAgLTEzNTcsMjYgKzEzNTcsMjYgQEAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE51bWJlciwgImJ5
dGVzVG9TdHJpbmciLAogICAgIHZhbHVlKGJ5dGVzLCBoaWdoZXJSZXNvbHV0aW9uLCBieXRlc1Ro
cmVzaG9sZCkKICAgICB7CiAgICAgICAgIGhpZ2hlclJlc29sdXRpb24gPz89IHRydWU7Ci0gICAg
ICAgIGJ5dGVzVGhyZXNob2xkID8/PSAxMDI0OworICAgICAgICBieXRlc1RocmVzaG9sZCA/Pz0g
MTAwMDsKIAogICAgICAgICBpZiAoTWF0aC5hYnMoYnl0ZXMpIDwgYnl0ZXNUaHJlc2hvbGQpCiAg
ICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIiUuMGYgQiIpLmZvcm1hdChieXRlcyk7CiAK
LSAgICAgICAgbGV0IGtpbG9ieXRlcyA9IGJ5dGVzIC8gMTAyNDsKLSAgICAgICAgaWYgKE1hdGgu
YWJzKGtpbG9ieXRlcykgPCAxMDI0KSB7CisgICAgICAgIGxldCBraWxvYnl0ZXMgPSBieXRlcyAv
IDEwMDA7CisgICAgICAgIGlmIChNYXRoLmFicyhraWxvYnl0ZXMpIDwgMTAwMCkgewogICAgICAg
ICAgICAgaWYgKGhpZ2hlclJlc29sdXRpb24gfHwgTWF0aC5hYnMoa2lsb2J5dGVzKSA8IDEwKQot
ICAgICAgICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiJS4yZiBLQiIpLmZvcm1hdChraWxv
Ynl0ZXMpOwotICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlLjFmIEtCIikuZm9ybWF0
KGtpbG9ieXRlcyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlLjJmIGtC
IikuZm9ybWF0KGtpbG9ieXRlcyk7CisgICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIiUu
MWYga0IiKS5mb3JtYXQoa2lsb2J5dGVzKTsKICAgICAgICAgfQogCi0gICAgICAgIGxldCBtZWdh
Ynl0ZXMgPSBraWxvYnl0ZXMgLyAxMDI0OwotICAgICAgICBpZiAoTWF0aC5hYnMobWVnYWJ5dGVz
KSA8IDEwMjQpIHsKKyAgICAgICAgbGV0IG1lZ2FieXRlcyA9IGtpbG9ieXRlcyAvIDEwMDA7Cisg
ICAgICAgIGlmIChNYXRoLmFicyhtZWdhYnl0ZXMpIDwgMTAwMCkgewogICAgICAgICAgICAgaWYg
KGhpZ2hlclJlc29sdXRpb24gfHwgTWF0aC5hYnMobWVnYWJ5dGVzKSA8IDEwKQogICAgICAgICAg
ICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiJS4yZiBNQiIpLmZvcm1hdChtZWdhYnl0ZXMpOwog
ICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlLjFmIE1CIikuZm9ybWF0KG1lZ2FieXRl
cyk7CiAgICAgICAgIH0KIAotICAgICAgICBsZXQgZ2lnYWJ5dGVzID0gbWVnYWJ5dGVzIC8gMTAy
NDsKKyAgICAgICAgbGV0IGdpZ2FieXRlcyA9IG1lZ2FieXRlcyAvIDEwMDA7CiAgICAgICAgIGlm
IChoaWdoZXJSZXNvbHV0aW9uIHx8IE1hdGguYWJzKGdpZ2FieXRlcykgPCAxMCkKICAgICAgICAg
ICAgIHJldHVybiBXSS5VSVN0cmluZygiJS4yZiBHQiIpLmZvcm1hdChnaWdhYnl0ZXMpOwogICAg
ICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIiUuMWYgR0IiKS5mb3JtYXQoZ2lnYWJ5dGVzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291
cmNlU2l6ZXNDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1Jlc291cmNlU2l6ZXNDb250ZW50Vmlldy5qcwppbmRleCAzZWM2MGZhNjdiYTMu
LjAxOWI4ZTRiMGU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2l6ZXNDb250ZW50Vmlldy5q
cwpAQCAtMTY1LDEwICsxNjUsMTAgQEAgV0kuUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3ID0gY2xh
c3MgUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFYKICAgICB7CiAg
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KGJ5dGVzID49IDApOwogCi0gICAgICAgIC8vIFByZWZlciBL
QiBvdmVyIEIuIEFuZCBwcmVmZXIgMSBkZWNpbWFsIHBvaW50IHRvIGtlZXAgc2l6ZXMgc2ltcGxl
Ci0gICAgICAgIC8vIGJ1dCB3ZSB3aWxsIHN0aWxsIG5lZWQgQiBpZiBieXRlcyBpcyBsZXNzIHRo
YW4gMC4xIEtCICgxMDMgQikuCisgICAgICAgIC8vIFByZWZlciBrQiBvdmVyIEIuIEFuZCBwcmVm
ZXIgMSBkZWNpbWFsIHBvaW50IHRvIGtlZXAgc2l6ZXMgc2ltcGxlCisgICAgICAgIC8vIGJ1dCB3
ZSB3aWxsIHN0aWxsIG5lZWQgQiBpZiBieXRlcyBpcyBsZXNzIHRoYW4gMC4xIGtCICgxMDAgQiku
CiAgICAgICAgIGNvbnN0IGhpZ2hlclJlc29sdXRpb24gPSBmYWxzZTsKLSAgICAgICAgY29uc3Qg
Ynl0ZXNUaHJlc2hvbGQgPSAxMDM7CisgICAgICAgIGNvbnN0IGJ5dGVzVGhyZXNob2xkID0gMTAw
OwogICAgICAgICByZXR1cm4gTnVtYmVyLmJ5dGVzVG9TdHJpbmcoYnl0ZXMsIGhpZ2hlclJlc29s
dXRpb24sIGJ5dGVzVGhyZXNob2xkKTsKICAgICB9CiAK
</data>
<flag name="review"
          id="429880"
          type_id="1"
          status="-"
          setter="bburg"
    />
    <flag name="commit-queue"
          id="429881"
          type_id="3"
          status="-"
          setter="bburg"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422852</attachid>
            <date>2021-03-10 11:42:47 -0800</date>
            <delta_ts>2021-03-17 17:37:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8141</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhNWE0MDAyYTdiMjcuLjMzYWRlNTE0NTZmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIxLTAzLTEwICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgorCisg
ICAgICAgIFVzZSBTSSBVbml0cyAoYmFzZWQgb24gMTAwMCwgbm90IDEwMjQpIGZvciBmaWxlIHNp
emVzLCBwZXIgSElHCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDgxOTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMDQ1Njk2PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQt
dGVzdHMvbnVtYmVyLXV0aWxpdGllcy5odG1sOgorCiAyMDIxLTAzLTEwICBSb2JlcnQgSmVubmVy
ICA8amVubmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbIG1hY09TIHdrMiBdIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRp
YS1lbGVtZW50cy9tZWRpYV9mcmFnbWVudF9zZWVrLmh0bWwgaXMgYSBmbGFrZXkgdGV4dCBmYWls
dXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9udW1iZXIt
dXRpbGl0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9udW1iZXIt
dXRpbGl0aWVzLmh0bWwKaW5kZXggYWMzZmNiMWM1OTkxLi45NmZiNGNiNTQzYzggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL251bWJlci11dGlsaXRpZXMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9udW1iZXItdXRpbGl0aWVz
Lmh0bWwKQEAgLTY4LDIwICs2OCwyMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRU
ZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJOdW1iZXIuYnl0ZXNUb1N0cmluZyIsCiAgICAgICAg
IHRlc3QoKSB7Ci0gICAgICAgICAgICBjb25zdCBrYiA9IDEwMjQ7Ci0gICAgICAgICAgICBjb25z
dCBtYiA9IGtiICogMTAyNDsKKyAgICAgICAgICAgIGNvbnN0IGtiID0gMTAwMDsKKyAgICAgICAg
ICAgIGNvbnN0IG1iID0ga2IgKiAxMDAwOwogCiAgICAgICAgICAgICAvLyBOb3JtYWwgcmVzb2x1
dGlvbi4KICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoTnVtYmVyLmJ5dGVz
VG9TdHJpbmcoMTIzLCBmYWxzZSksICIxMjMgQiIsICJub3JtYWwgcmVzb2x1dGlvbiBvZiBzdWIg
MWsgc2hvdWxkIGJlIGJ5dGVzIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKE51bWJlci5ieXRlc1RvU3RyaW5nKDEuMjMgKiBrYiwgZmFsc2UpLCAiMS4yMyBLQiIsICJu
b3JtYWwgcmVzb2x1dGlvbiBvZiBzdWIgMTBrIHNob3VsZCBiZSBraWxvYnl0ZXMiKTsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoTnVtYmVyLmJ5dGVzVG9TdHJpbmcoMTAu
MTIzICoga2IsIGZhbHNlKSwgIjEwLjEgS0IiLCAibm9ybWFsIHJlc29sdXRpb24gb2Ygc3ViIDEw
ayBzaG91bGQgYmUga2lsb2J5dGVzIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEVxdWFsKE51bWJlci5ieXRlc1RvU3RyaW5nKDEuMjMgKiBrYiwgZmFsc2UpLCAiMS4yMyBrQiIs
ICJub3JtYWwgcmVzb2x1dGlvbiBvZiBzdWIgMTBrIHNob3VsZCBiZSBraWxvYnl0ZXMiKTsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoTnVtYmVyLmJ5dGVzVG9TdHJpbmco
MTAuMTIzICoga2IsIGZhbHNlKSwgIjEwLjEga0IiLCAibm9ybWFsIHJlc29sdXRpb24gb2Ygc3Vi
IDEwayBzaG91bGQgYmUga2lsb2J5dGVzIik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdEVxdWFsKE51bWJlci5ieXRlc1RvU3RyaW5nKDEuMTIzICogbWIsIGZhbHNlKSwgIjEuMTIg
TUIiLCAibm9ybWFsIHJlc29sdXRpb24gb2Ygc3ViIDEwbWIgc2hvdWxkIGJlIG1lZ2FieXRlcyIp
OwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChOdW1iZXIuYnl0ZXNUb1N0
cmluZygxMC4xMjMgKiBtYiwgZmFsc2UpLCAiMTAuMSBNQiIsICJub3JtYWwgcmVzb2x1dGlvbiBv
ZiBncmVhdGVyIHRoYW4gMTBtYiBzaG91bGQgYmUgbWVnYWJ5dGVzIik7CiAKICAgICAgICAgICAg
IC8vIEhpZ2ggcmVzb2x1dGlvbi4KICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1
YWwoTnVtYmVyLmJ5dGVzVG9TdHJpbmcoMTIzLCB0cnVlKSwgIjEyMyBCIiwgImhpZ2ggcmVzb2x1
dGlvbiBvZiBzdWIgMWsgc2hvdWxkIGJlIGJ5dGVzIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdEVxdWFsKE51bWJlci5ieXRlc1RvU3RyaW5nKDEuMjMgKiBrYiwgdHJ1ZSksICIx
LjIzIEtCIiwgImhpZ2ggcmVzb2x1dGlvbiBvZiBzdWIgMTBrIHNob3VsZCBiZSBraWxvYnl0ZXMi
KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoTnVtYmVyLmJ5dGVzVG9T
dHJpbmcoMTAuMTIzICoga2IsIHRydWUpLCAiMTAuMTIgS0IiLCAiaGlnaCByZXNvbHV0aW9uIG9m
IHN1YiAxMGsgc2hvdWxkIGJlIGtpbG9ieXRlcyIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RFcXVhbChOdW1iZXIuYnl0ZXNUb1N0cmluZygxLjIzICoga2IsIHRydWUpLCAiMS4y
MyBrQiIsICJoaWdoIHJlc29sdXRpb24gb2Ygc3ViIDEwayBzaG91bGQgYmUga2lsb2J5dGVzIik7
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKE51bWJlci5ieXRlc1RvU3Ry
aW5nKDEwLjEyMyAqIGtiLCB0cnVlKSwgIjEwLjEyIGtCIiwgImhpZ2ggcmVzb2x1dGlvbiBvZiBz
dWIgMTBrIHNob3VsZCBiZSBraWxvYnl0ZXMiKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RXF1YWwoTnVtYmVyLmJ5dGVzVG9TdHJpbmcoMS4xMjMgKiBtYiwgdHJ1ZSksICIxLjEy
IE1CIiwgImhpZ2ggcmVzb2x1dGlvbiBvZiBzdWIgMTBtYiBzaG91bGQgYmUgbWVnYWJ5dGVzIik7
CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKE51bWJlci5ieXRlc1RvU3Ry
aW5nKDEwLjEyMyAqIG1iLCB0cnVlKSwgIjEwLjEyIE1CIiwgImhpZ2ggcmVzb2x1dGlvbiBvZiBn
cmVhdGVyIHRoYW4gMTBtYiBzaG91bGQgYmUgbWVnYWJ5dGVzIik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCmluZGV4IDAwNjc3YjhhMDkyZi4uYzFjMzhhOGY2MDQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wMy0xMCAgTmlraXRhIFZhc2lseWV2ICA8
bnZhc2lseWV2QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgU0kgVW5pdHMgKGJhc2VkIG9uIDEw
MDAsIG5vdCAxMDI0KSBmb3IgZmlsZSBzaXplcywgcGVyIEhJRworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MTkwCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83MTA0NTY5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0ku
UmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fZm9ybWF0dGVkU2l6ZUNvbXBvbmVu
dCk6CisKIDIwMjEtMDMtMDkgIFJhenZhbiBDYWxpbWFuICA8cmNhbGltYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEp1bXAgZnJvbSBMYXlvdXQgcGFuZWwgdG8gZ3JpZCBj
b250YWluZXIgZWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2Fs
aXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggNDZm
NTMyMmVmNmZjLi42ODUwNjA5MzNkNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5q
cwpAQCAtOCw5ICs4LDkgQEAgbG9jYWxpemVkU3RyaW5nc1siJHtleHByfSA9IGV4cHJlc3Npb24i
XSA9ICIke2V4cHJ9ID0gZXhwcmVzc2lvbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlLjBmIEIiXSA9
ICIlLjBmIEIiOwogbG9jYWxpemVkU3RyaW5nc1siJS4wZm1zIl0gPSAiJS4wZm1zIjsKIGxvY2Fs
aXplZFN0cmluZ3NbIiUuMWYgR0IiXSA9ICIlLjFmIEdCIjsKLWxvY2FsaXplZFN0cmluZ3NbIiUu
MWYgS0IiXSA9ICIlLjFmIEtCIjsKIGxvY2FsaXplZFN0cmluZ3NbIiUuMWYgTUIiXSA9ICIlLjFm
IE1CIjsKIGxvY2FsaXplZFN0cmluZ3NbIiUuMWYgZGF5cyJdID0gIiUuMWYgZGF5cyI7Citsb2Nh
bGl6ZWRTdHJpbmdzWyIlLjFmIGtCIl0gPSAiJS4xZiBrQiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIl
LjFmQiJdID0gIiUuMWZCIjsKIGxvY2FsaXplZFN0cmluZ3NbIiUuMWZLIl0gPSAiJS4xZksiOwog
bG9jYWxpemVkU3RyaW5nc1siJS4xZk0iXSA9ICIlLjFmTSI7CkBAIC0xOCw4ICsxOCw4IEBAIGxv
Y2FsaXplZFN0cmluZ3NbIiUuMWZocnMiXSA9ICIlLjFmaHJzIjsKIGxvY2FsaXplZFN0cmluZ3Nb
IiUuMWZtaW4iXSA9ICIlLjFmbWluIjsKIGxvY2FsaXplZFN0cmluZ3NbIiUuMWZtcyJdID0gIiUu
MWZtcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlLjJmIEdCIl0gPSAiJS4yZiBHQiI7Ci1sb2NhbGl6
ZWRTdHJpbmdzWyIlLjJmIEtCIl0gPSAiJS4yZiBLQiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlLjJm
IE1CIl0gPSAiJS4yZiBNQiI7Citsb2NhbGl6ZWRTdHJpbmdzWyIlLjJmIGtCIl0gPSAiJS4yZiBr
QiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlLjJmXHUwMGQ3Il0gPSAiJS4yZlx1MDBkNyI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyIlLjJmbXMiXSA9ICIlLjJmbXMiOwogbG9jYWxpemVkU3RyaW5nc1siJS4y
ZnMiXSA9ICIlLjJmcyI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzCmluZGV4IDIyMGU5M2M1MDhkMi4uY2Q5MmRjMjBjMDJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1V0
aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNl
L1V0aWxpdGllcy5qcwpAQCAtMTM1OSwyNiArMTM1OSwyNiBAQCBPYmplY3QuZGVmaW5lUHJvcGVy
dHkoTnVtYmVyLCAiYnl0ZXNUb1N0cmluZyIsCiAgICAgdmFsdWUoYnl0ZXMsIGhpZ2hlclJlc29s
dXRpb24sIGJ5dGVzVGhyZXNob2xkKQogICAgIHsKICAgICAgICAgaGlnaGVyUmVzb2x1dGlvbiA/
Pz0gdHJ1ZTsKLSAgICAgICAgYnl0ZXNUaHJlc2hvbGQgPz89IDEwMjQ7CisgICAgICAgIGJ5dGVz
VGhyZXNob2xkID8/PSAxMDAwOwogCiAgICAgICAgIGlmIChNYXRoLmFicyhieXRlcykgPCBieXRl
c1RocmVzaG9sZCkKICAgICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiJS4wZiBCIikuZm9y
bWF0KGJ5dGVzKTsKIAotICAgICAgICBsZXQga2lsb2J5dGVzID0gYnl0ZXMgLyAxMDI0OwotICAg
ICAgICBpZiAoTWF0aC5hYnMoa2lsb2J5dGVzKSA8IDEwMjQpIHsKKyAgICAgICAgbGV0IGtpbG9i
eXRlcyA9IGJ5dGVzIC8gMTAwMDsKKyAgICAgICAgaWYgKE1hdGguYWJzKGtpbG9ieXRlcykgPCAx
MDAwKSB7CiAgICAgICAgICAgICBpZiAoaGlnaGVyUmVzb2x1dGlvbiB8fCBNYXRoLmFicyhraWxv
Ynl0ZXMpIDwgMTApCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlLjJmIEtC
IikuZm9ybWF0KGtpbG9ieXRlcyk7Ci0gICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIiUu
MWYgS0IiKS5mb3JtYXQoa2lsb2J5dGVzKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gV0kuVUlT
dHJpbmcoIiUuMmYga0IiKS5mb3JtYXQoa2lsb2J5dGVzKTsKKyAgICAgICAgICAgIHJldHVybiBX
SS5VSVN0cmluZygiJS4xZiBrQiIpLmZvcm1hdChraWxvYnl0ZXMpOwogICAgICAgICB9CiAKLSAg
ICAgICAgbGV0IG1lZ2FieXRlcyA9IGtpbG9ieXRlcyAvIDEwMjQ7Ci0gICAgICAgIGlmIChNYXRo
LmFicyhtZWdhYnl0ZXMpIDwgMTAyNCkgeworICAgICAgICBsZXQgbWVnYWJ5dGVzID0ga2lsb2J5
dGVzIC8gMTAwMDsKKyAgICAgICAgaWYgKE1hdGguYWJzKG1lZ2FieXRlcykgPCAxMDAwKSB7CiAg
ICAgICAgICAgICBpZiAoaGlnaGVyUmVzb2x1dGlvbiB8fCBNYXRoLmFicyhtZWdhYnl0ZXMpIDwg
MTApCiAgICAgICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlLjJmIE1CIikuZm9ybWF0
KG1lZ2FieXRlcyk7CiAgICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIiUuMWYgTUIiKS5m
b3JtYXQobWVnYWJ5dGVzKTsKICAgICAgICAgfQogCi0gICAgICAgIGxldCBnaWdhYnl0ZXMgPSBt
ZWdhYnl0ZXMgLyAxMDI0OworICAgICAgICBsZXQgZ2lnYWJ5dGVzID0gbWVnYWJ5dGVzIC8gMTAw
MDsKICAgICAgICAgaWYgKGhpZ2hlclJlc29sdXRpb24gfHwgTWF0aC5hYnMoZ2lnYWJ5dGVzKSA8
IDEwKQogICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlLjJmIEdCIikuZm9ybWF0KGdp
Z2FieXRlcyk7CiAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiJS4xZiBHQiIpLmZvcm1hdChn
aWdhYnl0ZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3LmpzCmluZGV4
IDk4YTc5NTVmOGRmYS4uM2M2MDM0NTVhZTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpemVzQ29udGVudFZpZXcuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaXpl
c0NvbnRlbnRWaWV3LmpzCkBAIC0xNjcsMTAgKzE2NywxMCBAQCBXSS5SZXNvdXJjZVNpemVzQ29u
dGVudFZpZXcgPSBjbGFzcyBSZXNvdXJjZVNpemVzQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250
ZW50VgogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQoYnl0ZXMgPj0gMCk7CiAKLSAgICAg
ICAgLy8gUHJlZmVyIEtCIG92ZXIgQi4gQW5kIHByZWZlciAxIGRlY2ltYWwgcG9pbnQgdG8ga2Vl
cCBzaXplcyBzaW1wbGUKLSAgICAgICAgLy8gYnV0IHdlIHdpbGwgc3RpbGwgbmVlZCBCIGlmIGJ5
dGVzIGlzIGxlc3MgdGhhbiAwLjEgS0IgKDEwMyBCKS4KKyAgICAgICAgLy8gUHJlZmVyIGtCIG92
ZXIgQi4gQW5kIHByZWZlciAxIGRlY2ltYWwgcG9pbnQgdG8ga2VlcCBzaXplcyBzaW1wbGUKKyAg
ICAgICAgLy8gYnV0IHdlIHdpbGwgc3RpbGwgbmVlZCBCIGlmIGJ5dGVzIGlzIGxlc3MgdGhhbiAw
LjEga0IgKDEwMCBCKS4KICAgICAgICAgY29uc3QgaGlnaGVyUmVzb2x1dGlvbiA9IGZhbHNlOwot
ICAgICAgICBjb25zdCBieXRlc1RocmVzaG9sZCA9IDEwMzsKKyAgICAgICAgY29uc3QgYnl0ZXNU
aHJlc2hvbGQgPSAxMDA7CiAgICAgICAgIHJldHVybiBOdW1iZXIuYnl0ZXNUb1N0cmluZyhieXRl
cywgaGlnaGVyUmVzb2x1dGlvbiwgYnl0ZXNUaHJlc2hvbGQpOwogICAgIH0KIAo=
</data>
<flag name="commit-queue"
          id="442050"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423543</attachid>
            <date>2021-03-17 17:37:57 -0700</date>
            <delta_ts>2021-03-18 15:59:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>4619</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjMzQyZGM0N2NlZWYuLjY1MTFjMzZjMjA5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIxLTAzLTE3ICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgorCisg
ICAgICAgIFVzZSAxMDAwLWJhc2VkIHVuaXRzIGZvciBmaWxlIHNpemVzLCBwZXIgSElHCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDgxOTAKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzcxMDQ1Njk2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvbnVtYmVyLXV0aWxp
dGllcy5odG1sOgorCiAyMDIxLTAzLTE3ICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXVtGQ1JdIFVzZSBzeXN0ZW0gY29sb3JzIGZvciB0aGUgbmV3
IGFwcGVhcmFuY2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3Rz
L251bWJlci11dGlsaXRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3Rz
L251bWJlci11dGlsaXRpZXMuaHRtbAppbmRleCBhYzNmY2IxYzU5OTEuLjJlNmRkZWZiN2U4OCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvbnVtYmVyLXV0aWxp
dGllcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL251bWJlci11
dGlsaXRpZXMuaHRtbApAQCAtNjgsOCArNjgsOCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0
ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJOdW1iZXIuYnl0ZXNUb1N0cmluZyIsCiAg
ICAgICAgIHRlc3QoKSB7Ci0gICAgICAgICAgICBjb25zdCBrYiA9IDEwMjQ7Ci0gICAgICAgICAg
ICBjb25zdCBtYiA9IGtiICogMTAyNDsKKyAgICAgICAgICAgIGNvbnN0IGtiID0gMTAwMDsKKyAg
ICAgICAgICAgIGNvbnN0IG1iID0ga2IgKiAxMDAwOwogCiAgICAgICAgICAgICAvLyBOb3JtYWwg
cmVzb2x1dGlvbi4KICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoTnVtYmVy
LmJ5dGVzVG9TdHJpbmcoMTIzLCBmYWxzZSksICIxMjMgQiIsICJub3JtYWwgcmVzb2x1dGlvbiBv
ZiBzdWIgMWsgc2hvdWxkIGJlIGJ5dGVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBm
ZDU0MmRiMGEyNjEuLmIzNzE0YWNlMDJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMjEtMDMtMTcgIE5pa2l0YSBWYXNpbHlldiAgPG52YXNpbHlldkBhcHBs
ZS5jb20+CisKKyAgICAgICAgVXNlIDEwMDAtYmFzZWQgdW5pdHMgZm9yIGZpbGUgc2l6ZXMsIHBl
ciBISUcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODE5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEwNDU2OTY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvVXRp
bGl0aWVzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaXplc0Nv
bnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3LnByb3Rv
dHlwZS5fZm9ybWF0dGVkU2l6ZUNvbXBvbmVudCk6CisKIDIwMjEtMDMtMTcgIERldmluIFJvdXNz
byAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHVzZSBuYXRp
dmUgZGF0ZXRpbWUtbG9jYWwgcGlja2VyIGZvciBjaGFuZ2luZyBgZXhwaXJlc2AgdmFsdWUgaW4g
Y29va2llIHBvcG92ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQmFzZS9VdGlsaXRpZXMuanMKaW5kZXggMjIwZTkzYzUwOGQyLi4xYjU2ZWYzY2NmOTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvVXRp
bGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2Uv
VXRpbGl0aWVzLmpzCkBAIC0xMzU5LDI2ICsxMzU5LDI2IEBAIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eShOdW1iZXIsICJieXRlc1RvU3RyaW5nIiwKICAgICB2YWx1ZShieXRlcywgaGlnaGVyUmVzb2x1
dGlvbiwgYnl0ZXNUaHJlc2hvbGQpCiAgICAgewogICAgICAgICBoaWdoZXJSZXNvbHV0aW9uID8/
PSB0cnVlOwotICAgICAgICBieXRlc1RocmVzaG9sZCA/Pz0gMTAyNDsKKyAgICAgICAgYnl0ZXNU
aHJlc2hvbGQgPz89IDEwMDA7CiAKICAgICAgICAgaWYgKE1hdGguYWJzKGJ5dGVzKSA8IGJ5dGVz
VGhyZXNob2xkKQogICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlLjBmIEIiKS5mb3Jt
YXQoYnl0ZXMpOwogCi0gICAgICAgIGxldCBraWxvYnl0ZXMgPSBieXRlcyAvIDEwMjQ7Ci0gICAg
ICAgIGlmIChNYXRoLmFicyhraWxvYnl0ZXMpIDwgMTAyNCkgeworICAgICAgICBsZXQga2lsb2J5
dGVzID0gYnl0ZXMgLyAxMDAwOworICAgICAgICBpZiAoTWF0aC5hYnMoa2lsb2J5dGVzKSA8IDEw
MDApIHsKICAgICAgICAgICAgIGlmIChoaWdoZXJSZXNvbHV0aW9uIHx8IE1hdGguYWJzKGtpbG9i
eXRlcykgPCAxMCkKICAgICAgICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIiUuMmYgS0Ii
KS5mb3JtYXQoa2lsb2J5dGVzKTsKICAgICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiJS4x
ZiBLQiIpLmZvcm1hdChraWxvYnl0ZXMpOwogICAgICAgICB9CiAKLSAgICAgICAgbGV0IG1lZ2Fi
eXRlcyA9IGtpbG9ieXRlcyAvIDEwMjQ7Ci0gICAgICAgIGlmIChNYXRoLmFicyhtZWdhYnl0ZXMp
IDwgMTAyNCkgeworICAgICAgICBsZXQgbWVnYWJ5dGVzID0ga2lsb2J5dGVzIC8gMTAwMDsKKyAg
ICAgICAgaWYgKE1hdGguYWJzKG1lZ2FieXRlcykgPCAxMDAwKSB7CiAgICAgICAgICAgICBpZiAo
aGlnaGVyUmVzb2x1dGlvbiB8fCBNYXRoLmFicyhtZWdhYnl0ZXMpIDwgMTApCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlLjJmIE1CIikuZm9ybWF0KG1lZ2FieXRlcyk7CiAg
ICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIiUuMWYgTUIiKS5mb3JtYXQobWVnYWJ5dGVz
KTsKICAgICAgICAgfQogCi0gICAgICAgIGxldCBnaWdhYnl0ZXMgPSBtZWdhYnl0ZXMgLyAxMDI0
OworICAgICAgICBsZXQgZ2lnYWJ5dGVzID0gbWVnYWJ5dGVzIC8gMTAwMDsKICAgICAgICAgaWYg
KGhpZ2hlclJlc29sdXRpb24gfHwgTWF0aC5hYnMoZ2lnYWJ5dGVzKSA8IDEwKQogICAgICAgICAg
ICAgcmV0dXJuIFdJLlVJU3RyaW5nKCIlLjJmIEdCIikuZm9ybWF0KGdpZ2FieXRlcyk7CiAgICAg
ICAgIHJldHVybiBXSS5VSVN0cmluZygiJS4xZiBHQiIpLmZvcm1hdChnaWdhYnl0ZXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3Vy
Y2VTaXplc0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3LmpzCmluZGV4IDk4YTc5NTVmOGRmYS4u
NjQxNjEwM2NjMjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9SZXNvdXJjZVNpemVzQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3Lmpz
CkBAIC0xNjgsOSArMTY4LDkgQEAgV0kuUmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3ID0gY2xhc3Mg
UmVzb3VyY2VTaXplc0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFYKICAgICAgICAgY29u
c29sZS5hc3NlcnQoYnl0ZXMgPj0gMCk7CiAKICAgICAgICAgLy8gUHJlZmVyIEtCIG92ZXIgQi4g
QW5kIHByZWZlciAxIGRlY2ltYWwgcG9pbnQgdG8ga2VlcCBzaXplcyBzaW1wbGUKLSAgICAgICAg
Ly8gYnV0IHdlIHdpbGwgc3RpbGwgbmVlZCBCIGlmIGJ5dGVzIGlzIGxlc3MgdGhhbiAwLjEgS0Ig
KDEwMyBCKS4KKyAgICAgICAgLy8gYnV0IHdlIHdpbGwgc3RpbGwgbmVlZCBCIGlmIGJ5dGVzIGlz
IGxlc3MgdGhhbiAwLjEgS0IgKDEwMCBCKS4KICAgICAgICAgY29uc3QgaGlnaGVyUmVzb2x1dGlv
biA9IGZhbHNlOwotICAgICAgICBjb25zdCBieXRlc1RocmVzaG9sZCA9IDEwMzsKKyAgICAgICAg
Y29uc3QgYnl0ZXNUaHJlc2hvbGQgPSAxMDA7CiAgICAgICAgIHJldHVybiBOdW1iZXIuYnl0ZXNU
b1N0cmluZyhieXRlcywgaGlnaGVyUmVzb2x1dGlvbiwgYnl0ZXNUaHJlc2hvbGQpOwogICAgIH0K
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>