<?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>224900</bug_id>
          
          <creation_ts>2021-04-21 15:32:37 -0700</creation_ts>
          <short_desc>Web Inspector: Network: rename &quot;XHR&quot; to &quot;XHR/Fetch&quot;</short_desc>
          <delta_ts>2021-05-10 13:35:20 -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>All</rep_platform>
          <op_sys>All</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="Maximiliano Firtman">firtman</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>pangle</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1752950</commentid>
    <comment_count>0</comment_count>
    <who name="Maximiliano Firtman">firtman</who>
    <bug_when>2021-04-21 15:32:37 -0700</bug_when>
    <thetext>When you want to filter network requests in the Network panel and see only requests done by the fetch API you have to select the filter &quot;XHR&quot;

While XMLHttpRequest is a big part of front-end history and it&apos;s still available, the Fetch API is now replacing it. In my experience as a trainer, I&apos;ve found lately that many web developers with 2 years of experience in the field don&apos;t recognize XHR as something they understand as they&apos;ve never dealt with XHR requests using that API.

It may be a good time to rename the filter to &quot;Fetch&quot; or at least something like &quot;XHR/Fetch&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753441</commentid>
    <comment_count>1</comment_count>
      <attachid>426883</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-04-22 20:00:12 -0700</bug_when>
    <thetext>Created attachment 426883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755190</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-28 15:33:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/77288691&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755194</commentid>
    <comment_count>3</comment_count>
      <attachid>426883</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-04-28 15:42:37 -0700</bug_when>
    <thetext>Comment on attachment 426883
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:66
&gt; +        function createScopeBarItem(id, label, checker) {

I think `pushScopeBarItem` or `addScopeBarItem` would be a more accurate name for this function. `create...` makes me think it&apos;s going to only create the item, not also add it to the scope bar.

&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:76
&gt; +        createScopeBarItem(&quot;xhr-fetch&quot;, WI.UIString(&quot;%s/Fetch&quot;, &quot;%s/Fetch @ Network Tab Table Filter&quot;, &quot;Scope bar button that filter for dynamic resource loads, like from the &apos;fetch&apos; method.&quot;).format(WI.unlocalizedString(&quot;XHR&quot;)), (type) =&gt; type === WI.Resource.Type.XHR || type === WI.Resource.Type.Fetch);

Should `Fetch` really be localized since it&apos;s the name of an API?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755207</commentid>
    <comment_count>4</comment_count>
      <attachid>426883</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-04-28 16:01:17 -0700</bug_when>
    <thetext>Comment on attachment 426883
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:76
&gt;&gt; +        createScopeBarItem(&quot;xhr-fetch&quot;, WI.UIString(&quot;%s/Fetch&quot;, &quot;%s/Fetch @ Network Tab Table Filter&quot;, &quot;Scope bar button that filter for dynamic resource loads, like from the &apos;fetch&apos; method.&quot;).format(WI.unlocalizedString(&quot;XHR&quot;)), (type) =&gt; type === WI.Resource.Type.XHR || type === WI.Resource.Type.Fetch);
&gt; 
&gt; Should `Fetch` really be localized since it&apos;s the name of an API?

I realize my question here is slightly ambiguous... Rather, shouldn&apos;t we not localize `fetch` because it is API, similar to `XHR`? It seems odd to localize one and not the other given how much they have in common.

&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:221
&gt; +            return WI.UIString(&quot;fetch&quot;, &quot;fetch @ Network Tab Resource Type Column Value&quot;, &quot;Shown in the &apos;Type&apos; column of the Network Table for resources loaded via the &apos;fetch&apos; method.&quot;);

Ditto :76</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756416</commentid>
    <comment_count>5</comment_count>
      <attachid>426883</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-03 19:24:45 -0700</bug_when>
    <thetext>Comment on attachment 426883
Patch

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:76
&gt;&gt;&gt; +        createScopeBarItem(&quot;xhr-fetch&quot;, WI.UIString(&quot;%s/Fetch&quot;, &quot;%s/Fetch @ Network Tab Table Filter&quot;, &quot;Scope bar button that filter for dynamic resource loads, like from the &apos;fetch&apos; method.&quot;).format(WI.unlocalizedString(&quot;XHR&quot;)), (type) =&gt; type === WI.Resource.Type.XHR || type === WI.Resource.Type.Fetch);
&gt;&gt; 
&gt;&gt; Should `Fetch` really be localized since it&apos;s the name of an API?
&gt; 
&gt; I realize my question here is slightly ambiguous... Rather, shouldn&apos;t we not localize `fetch` because it is API, similar to `XHR`? It seems odd to localize one and not the other given how much they have in common.

Hmm, that&apos;s a valid question.  I&apos;d personally rather change that in a separate patch tho, as there&apos;s probably similar things like this elsewhere in Web Inspector that we could/should localize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756418</commentid>
    <comment_count>6</comment_count>
      <attachid>427631</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-03 19:26:19 -0700</bug_when>
    <thetext>Created attachment 427631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756425</commentid>
    <comment_count>7</comment_count>
      <attachid>427631</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-05-03 20:17:51 -0700</bug_when>
    <thetext>Comment on attachment 427631
Patch

LGTM, provisional r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758567</commentid>
    <comment_count>8</comment_count>
      <attachid>427631</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2021-05-10 11:33:21 -0700</bug_when>
    <thetext>Comment on attachment 427631
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:206
&gt; +            return WI.unlocalizedString(&quot;css&quot;);

Why lowercase on all these? I wouldn&apos;t change the case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758569</commentid>
    <comment_count>9</comment_count>
      <attachid>427631</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-10 11:34:55 -0700</bug_when>
    <thetext>Comment on attachment 427631
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:206
&gt;&gt; +            return WI.unlocalizedString(&quot;css&quot;);
&gt; 
&gt; Why lowercase on all these? I wouldn&apos;t change the case.

These we&apos;re all made lowercase at the callsite (old line 204).  I feel like it&apos;s safer to have localizers do a translation of the lowercase value rather than rely on JavaScript to do it for us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758572</commentid>
    <comment_count>10</comment_count>
      <attachid>427631</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2021-05-10 11:36:32 -0700</bug_when>
    <thetext>Comment on attachment 427631
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:76
&gt; +        addScopeBarItem(&quot;xhr-fetch&quot;, WI.UIString(&quot;%s/Fetch&quot;, &quot;%s/Fetch @ Network Tab Table Filter&quot;, &quot;Scope bar button that filter for dynamic resource loads, like from the &apos;fetch&apos; method.&quot;).format(WI.unlocalizedString(&quot;XHR&quot;)), (type) =&gt; type === WI.Resource.Type.XHR || type === WI.Resource.Type.Fetch);

Localization would just prefer this to not be a format string, I think. Why not just make this &quot;XHR/Fetch&quot; in the loc?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758573</commentid>
    <comment_count>11</comment_count>
      <attachid>427631</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2021-05-10 11:37:28 -0700</bug_when>
    <thetext>Comment on attachment 427631
Patch

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:206
&gt;&gt;&gt; +            return WI.unlocalizedString(&quot;css&quot;);
&gt;&gt; 
&gt;&gt; Why lowercase on all these? I wouldn&apos;t change the case.
&gt; 
&gt; These we&apos;re all made lowercase at the callsite (old line 204).  I feel like it&apos;s safer to have localizers do a translation of the lowercase value rather than rely on JavaScript to do it for us.

Ah, eww.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758575</commentid>
    <comment_count>12</comment_count>
      <attachid>427631</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-10 11:38:30 -0700</bug_when>
    <thetext>Comment on attachment 427631
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:76
&gt;&gt; +        addScopeBarItem(&quot;xhr-fetch&quot;, WI.UIString(&quot;%s/Fetch&quot;, &quot;%s/Fetch @ Network Tab Table Filter&quot;, &quot;Scope bar button that filter for dynamic resource loads, like from the &apos;fetch&apos; method.&quot;).format(WI.unlocalizedString(&quot;XHR&quot;)), (type) =&gt; type === WI.Resource.Type.XHR || type === WI.Resource.Type.Fetch);
&gt; 
&gt; Localization would just prefer this to not be a format string, I think. Why not just make this &quot;XHR/Fetch&quot; in the loc?

I was trying to match the existing behavior of &quot;XHR&quot; not being localized.  I&apos;m fine to change this, but I&apos;d personally rather have that be a followup as I&apos;m sure there&apos;s other places this (or things like it) are used that we may want to localize as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758576</commentid>
    <comment_count>13</comment_count>
      <attachid>427631</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2021-05-10 11:38:41 -0700</bug_when>
    <thetext>Comment on attachment 427631
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:76
&gt;&gt; +        addScopeBarItem(&quot;xhr-fetch&quot;, WI.UIString(&quot;%s/Fetch&quot;, &quot;%s/Fetch @ Network Tab Table Filter&quot;, &quot;Scope bar button that filter for dynamic resource loads, like from the &apos;fetch&apos; method.&quot;).format(WI.unlocalizedString(&quot;XHR&quot;)), (type) =&gt; type === WI.Resource.Type.XHR || type === WI.Resource.Type.Fetch);
&gt; 
&gt; Localization would just prefer this to not be a format string, I think. Why not just make this &quot;XHR/Fetch&quot; in the loc?

If the reason is to not localize XHR and allow Fetch to be localized, Fetch is a technical term too, and likely would be unlocalized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758615</commentid>
    <comment_count>14</comment_count>
      <attachid>427631</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-10 13:31:34 -0700</bug_when>
    <thetext>Comment on attachment 427631
Patch

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

&gt;&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:76
&gt;&gt;&gt;&gt; +        addScopeBarItem(&quot;xhr-fetch&quot;, WI.UIString(&quot;%s/Fetch&quot;, &quot;%s/Fetch @ Network Tab Table Filter&quot;, &quot;Scope bar button that filter for dynamic resource loads, like from the &apos;fetch&apos; method.&quot;).format(WI.unlocalizedString(&quot;XHR&quot;)), (type) =&gt; type === WI.Resource.Type.XHR || type === WI.Resource.Type.Fetch);
&gt;&gt;&gt; 
&gt;&gt;&gt; Localization would just prefer this to not be a format string, I think. Why not just make this &quot;XHR/Fetch&quot; in the loc?
&gt;&gt; 
&gt;&gt; I was trying to match the existing behavior of &quot;XHR&quot; not being localized.  I&apos;m fine to change this, but I&apos;d personally rather have that be a followup as I&apos;m sure there&apos;s other places this (or things like it) are used that we may want to localize as well.
&gt; 
&gt; If the reason is to not localize XHR and allow Fetch to be localized, Fetch is a technical term too, and likely would be unlocalized.

We localize &quot;Fetch&quot; elsewhere in Web Inspector (e.g. `WI.repeatedUIString.fetch`).  I was trying to preserve that behavior too.  tbh all of the situations like this probably need to be reexamined &lt;https://webkit.org/b/225608&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758618</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-10 13:35:18 -0700</bug_when>
    <thetext>Committed r277289 (237552@main): &lt;https://commits.webkit.org/237552@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427631.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426883</attachid>
            <date>2021-04-22 20:00:12 -0700</date>
            <delta_ts>2021-05-03 19:26:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224900-20210422210011.patch</filename>
            <type>text/plain</type>
            <size>12430</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDdlMjg1ZWFkY2M1NGE5ZWJhNGZmODMwZjI0Y2I2
MjYxY2FhMjdhNDguLjc4YzQwZDZkNWMyZjljOWZlNjU3ODdmMDE1ZjU0NTc2YTU5MzdiZWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA0LTIyICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBO
ZXR3b3JrOiByZW5hbWUgIlhIUiIgdG8gIlhIUi9GZXRjaCIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDkwMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3Jr
VGFibGVDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3
KToKKyAgICAgICAgKFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LmNyZWF0ZVNjb3BlQmFySXRl
bSk6IEFkZGVkLgorICAgICAgICAoV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcuZGlzcGxheU5h
bWVGb3JSZXNvdXJjZSk6CisgICAgICAgIChXSS5OZXR3b3JrVGFibGVDb250ZW50Vmlldy5zaG9y
dERpc3BsYXlOYW1lRm9yUmVzb3VyY2VUeXBlKTogRGVsZXRlZC4KKworICAgICAgICAqIExvY2Fs
aXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKwogMjAyMS0wNC0yMiAgQkog
QnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIHJlLWVuYWJsZSB0ZXN0
IGNhc2UgV0tJbnNwZWN0b3JEZWxlZ2F0ZS5JbnNwZWN0b3JDb25maWd1cmF0aW9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHBy
b2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCBmZDJkZmQzOTQ2NWJlOGU1MGZlMmFmYzc3ZTVm
MmZlOWViM2MyNzU3Li5kYzJiMDM4MTg3NTNlYjVlZjg4YTYwOWM2YTdhMDQxZTRhYWFkMGU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTc3LDYgKzc3LDggQEAgbG9jYWxp
emVkU3RyaW5nc1siJXMgdG90YWwiXSA9ICIlcyB0b3RhbCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIl
cyB0cmFuc2ZlcnJlZCJdID0gIiVzIHRyYW5zZmVycmVkIjsKIC8qIEEgc2luZ2xlIHZhbHVlIGV4
cHJlc3NlZCBhcyBhIHBlcmNlbnRhZ2Ugd2hlcmUgdGhlIHZhbHVlIGhhcyBhbHJlYWR5IGJlZW4g
Y29udmVydGVkIGZyb20gYSBudW1iZXIgdG8gYSBzdHJpbmcuICovCiBsb2NhbGl6ZWRTdHJpbmdz
WyIlcyUlIEAgRm9udCBEZXRhaWxzIFNpZGViYXIiXSA9ICIlcyUlIjsKKy8qIFNjb3BlIGJhciBi
dXR0b24gdGhhdCBmaWx0ZXIgZm9yIGR5bmFtaWMgcmVzb3VyY2UgbG9hZHMsIGxpa2UgZnJvbSB0
aGUgJ2ZldGNoJyBtZXRob2QuICovCitsb2NhbGl6ZWRTdHJpbmdzWyIlcy9GZXRjaCBAIE5ldHdv
cmsgVGFiIFRhYmxlIEZpbHRlciJdID0gIiVzL0ZldGNoIjsKIGxvY2FsaXplZFN0cmluZ3NbIiVz
OiJdID0gIiVzOiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIoJXMpIl0gPSAiKCVzKSI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyIoQWN0aW9uICVzKSJdID0gIihBY3Rpb24gJXMpIjsKQEAgLTE3MTcsNiArMTcx
OSw4IEBAIGxvY2FsaXplZFN0cmluZ3NbIlx1MDAyMiVzXHUwMDIyIG11c3QgYmUgYW4gJXMiXSA9
ICJcdTAwMjIlc1x1MDAyMiBtdXN0IGJlIGFuICVzCiBsb2NhbGl6ZWRTdHJpbmdzWyJcdTAwMjIl
c1x1MDAyMiB0aHJldyBhbiBlcnJvciJdID0gIlx1MDAyMiVzXHUwMDIyIHRocmV3IGFuIGVycm9y
IjsKIGxvY2FsaXplZFN0cmluZ3NbIlx1MjAxQyVzXHUyMDFEIEV2ZW50IEZpcmVkIl0gPSAiXHUy
MDFDJXNcdTIwMUQgRXZlbnQgRmlyZWQiOwogbG9jYWxpemVkU3RyaW5nc1siXHUyMDFDJXNcdTIw
MUQgUHJvZmlsZSBSZWNvcmRlZCJdID0gIlx1MjAxQyVzXHUyMDFEIFByb2ZpbGUgUmVjb3JkZWQi
OworLyogU2hvd24gaW4gdGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUgZm9y
IHJlc291cmNlcyBsb2FkZWQgdmlhIHRoZSBCZWFjb24gQVBJLiAqLworbG9jYWxpemVkU3RyaW5n
c1siYmVhY29uIEAgTmV0d29yayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9ICJi
ZWFjb24iOwogLyogUGFydCBvZiB0aGUgJ0JsYWNrYm94ZWQgLSAlZCBjYWxsIGZyYW1lJyBsYWJl
bCBzaG93biBpbiB0aGUgZGVidWdnZXIgY2FsbCBzdGFjayB3aGVuIHBhdXNlZCBpbnN0ZWFkIG9m
IHN1YnNlcXVlbnQgY2FsbCBmcmFtZXMgdGhhdCBoYXZlIGJlZW4gYmxhY2tib3hlZC4gKi8KIGxv
Y2FsaXplZFN0cmluZ3NbImNhbGwgZnJhbWUgQCBEZWJ1Z2dlciBDYWxsIFN0YWNrIl0gPSAiJWQg
Y2FsbCBmcmFtZSI7CiAvKiBQYXJ0IG9mIHRoZSAnQmxhY2tib3hlZCAtICVkIGNhbGwgZnJhbWVz
JyBsYWJlbCBzaG93biBpbiB0aGUgZGVidWdnZXIgY2FsbCBzdGFjayB3aGVuIHBhdXNlZCBpbnN0
ZWFkIG9mIHN1YnNlcXVlbnQgY2FsbCBmcmFtZXMgdGhhdCBoYXZlIGJlZW4gYmxhY2tib3hlZC4g
Ki8KQEAgLTE3MjQsOCArMTcyOCwxNiBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJjYWxsIGZyYW1lcyBA
IERlYnVnZ2VyIENhbGwgU3RhY2siXSA9ICIlZCBjYWxsIGZyYW1lcyI7CiBsb2NhbGl6ZWRTdHJp
bmdzWyJjb21wdXRlZCJdID0gImNvbXB1dGVkIjsKIGxvY2FsaXplZFN0cmluZ3NbImRlZmF1bHQi
XSA9ICJkZWZhdWx0IjsKIGxvY2FsaXplZFN0cmluZ3NbImRlZmF1bHQgcHJldmVudGVkIl0gPSAi
ZGVmYXVsdCBwcmV2ZW50ZWQiOworLyogU2hvd24gaW4gdGhlICdUeXBlJyBjb2x1bW4gb2YgdGhl
IE5ldHdvcmsgVGFibGUgZm9yIGRvY3VtZW50IHJlc291cmNlcy4gKi8KK2xvY2FsaXplZFN0cmlu
Z3NbImRvY3VtZW50IEAgTmV0d29yayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9
ICJkb2N1bWVudCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJlbnN1cmluZyB0aGF0IGNvbW1vbiBkZWJ1
Z2dpbmcgZnVuY3Rpb25zIGFyZSBhdmFpbGFibGUgb24gZXZlcnkgcGFnZSB2aWEgdGhlIENvbnNv
bGUiXSA9ICJlbnN1cmluZyB0aGF0IGNvbW1vbiBkZWJ1Z2dpbmcgZnVuY3Rpb25zIGFyZSBhdmFp
bGFibGUgb24gZXZlcnkgcGFnZSB2aWEgdGhlIENvbnNvbGUiOworLyogU2hvd24gaW4gdGhlICdU
eXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUgZm9yIHJlc291cmNlcyBsb2FkZWQgdmlh
IHRoZSAnZmV0Y2gnIG1ldGhvZC4gKi8KK2xvY2FsaXplZFN0cmluZ3NbImZldGNoIEAgTmV0d29y
ayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9ICJmZXRjaCI7CisvKiBTaG93biBp
biB0aGUgJ1R5cGUnIGNvbHVtbiBvZiB0aGUgTmV0d29yayBUYWJsZSBmb3IgZm9udCByZXNvdXJj
ZXMuICovCitsb2NhbGl6ZWRTdHJpbmdzWyJmb250IEAgTmV0d29yayBUYWIgUmVzb3VyY2UgVHlw
ZSBDb2x1bW4gVmFsdWUiXSA9ICJmb250IjsKIGxvY2FsaXplZFN0cmluZ3NbImZvciBjaGFuZ2Vz
IHRvIHRha2UgZWZmZWN0Il0gPSAiZm9yIGNoYW5nZXMgdG8gdGFrZSBlZmZlY3QiOworLyogU2hv
d24gaW4gdGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUgZm9yIGltYWdlIHJl
c291cmNlcy4gKi8KK2xvY2FsaXplZFN0cmluZ3NbImltYWdlIEAgTmV0d29yayBUYWIgUmVzb3Vy
Y2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9ICJpbWFnZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJpbnZh
bGlkIEhBUiJdID0gImludmFsaWQgSEFSIjsKIGxvY2FsaXplZFN0cmluZ3NbImludmFsaWQgSlNP
TiJdID0gImludmFsaWQgSlNPTiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJrZXkiXSA9ICJrZXkiOwpA
QCAtMTczNiwxMiArMTc0OCwxOCBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJub24tbnVtYmVyICVzIl0g
PSAibm9uLW51bWJlciAlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJub24tb2JqZWN0ICVzIl0gPSAi
bm9uLW9iamVjdCAlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJub24tc3RyaW5nICVzIl0gPSAibm9u
LXN0cmluZyAlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJvcmlnaW5hbGx5ICVzIl0gPSAib3JpZ2lu
YWxseSAlcyI7CisvKiBTaG93biBpbiB0aGUgJ1R5cGUnIGNvbHVtbiBvZiB0aGUgTmV0d29yayBU
YWJsZSBmb3IgcmVzb3VyY2VzIHRoYXQgZG9uJ3QgZmFsbCBpbnRvIGFueSBvZiB0aGUgb3RoZXIg
a25vd24gdHlwZXMvY2F0ZWdvcmllcy4gKi8KK2xvY2FsaXplZFN0cmluZ3NbIm90aGVyIEAgTmV0
d29yayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9ICJvdGhlciI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJvdmVycmlkaW5nIGJ1aWx0LWluIGZ1bmN0aW9ucyB0byBsb2cgY2FsbCB0cmFj
ZXMgb3IgYWRkICVzIHN0YXRlbWVudHMiXSA9ICJvdmVycmlkaW5nIGJ1aWx0LWluIGZ1bmN0aW9u
cyB0byBsb2cgY2FsbCB0cmFjZXMgb3IgYWRkICVzIHN0YXRlbWVudHMiOworLyogU2hvd24gaW4g
dGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUgZm9yIHJlc291cmNlcyBsb2Fk
ZWQgdmlhICc8YSBwaW5nPicgZWxlbWVudHMuICovCitsb2NhbGl6ZWRTdHJpbmdzWyJwaW5nIEAg
TmV0d29yayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9ICJwaW5nIjsKIGxvY2Fs
aXplZFN0cmluZ3NbInBvcHVwIl0gPSAicG9wdXAiOwogbG9jYWxpemVkU3RyaW5nc1sicG9wdXAs
IHRvZ2dsZSJdID0gInBvcHVwLCB0b2dnbGUiOwogbG9jYWxpemVkU3RyaW5nc1sicmVxdWVzdEFu
aW1hdGlvbkZyYW1lIEZpcmVkIl0gPSAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIEZpcmVkIjsKIGxv
Y2FsaXplZFN0cmluZ3NbInNldEludGVydmFsIEZpcmVkIl0gPSAic2V0SW50ZXJ2YWwgRmlyZWQi
OwogbG9jYWxpemVkU3RyaW5nc1sic2V0VGltZW91dCBGaXJlZCJdID0gInNldFRpbWVvdXQgRmly
ZWQiOworLyogU2hvd24gaW4gdGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUg
Zm9yIFdlYlNvY2tldCByZXNvdXJjZXMuICovCitsb2NhbGl6ZWRTdHJpbmdzWyJzb2NrZXQgQCBO
ZXR3b3JrIFRhYiBSZXNvdXJjZSBUeXBlIENvbHVtbiBWYWx1ZSJdID0gInNvY2tldCI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJzcGFjZSJdID0gInNwYWNlIjsKIGxvY2FsaXplZFN0cmluZ3NbInNwYWNl
cyJdID0gInNwYWNlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJ0aW1lIGJlZm9yZSBzdG9wcGluZyJd
ID0gInRpbWUgYmVmb3JlIHN0b3BwaW5nIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYmxlQ29udGVu
dFZpZXcuanMKaW5kZXggZGQ2MGViYjA2NDJhNDc3MTA2MmRjZjRhMjQzYjVmN2JmYzEzNjFmOS4u
YmJhNWU5Yzk3MThjODU3ZTliZDVlMmMxM2NjMmE0Njg0YmZjMDRkYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYmxlQ29udGVu
dFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
TmV0d29ya1RhYmxlQ29udGVudFZpZXcuanMKQEAgLTYzLDI5ICs2MywyNiBAQCBXSS5OZXR3b3Jr
VGFibGVDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuQ29udGVudFZpZQogICAgICAgICB0aGlzLl90eXBlRmlsdGVyU2NvcGVCYXJJdGVtQWxsID0g
bmV3IFdJLlNjb3BlQmFySXRlbSgibmV0d29yay10eXBlLWZpbHRlci1hbGwiLCBXSS5VSVN0cmlu
ZygiQWxsIiksIHtleGNsdXNpdmU6IHRydWV9KTsKICAgICAgICAgbGV0IHR5cGVGaWx0ZXJTY29w
ZUJhckl0ZW1zID0gW3RoaXMuX3R5cGVGaWx0ZXJTY29wZUJhckl0ZW1BbGxdOwogCi0gICAgICAg
IGxldCB1bmlxdWVUeXBlcyA9IFsKLSAgICAgICAgICAgIFsiRG9jdW1lbnQiLCAodHlwZSkgPT4g
dHlwZSA9PT0gV0kuUmVzb3VyY2UuVHlwZS5Eb2N1bWVudF0sCi0gICAgICAgICAgICBbIlN0eWxl
U2hlZXQiLCAodHlwZSkgPT4gdHlwZSA9PT0gV0kuUmVzb3VyY2UuVHlwZS5TdHlsZVNoZWV0XSwK
LSAgICAgICAgICAgIFsiSW1hZ2UiLCAodHlwZSkgPT4gdHlwZSA9PT0gV0kuUmVzb3VyY2UuVHlw
ZS5JbWFnZV0sCi0gICAgICAgICAgICBbIkZvbnQiLCAodHlwZSkgPT4gdHlwZSA9PT0gV0kuUmVz
b3VyY2UuVHlwZS5Gb250XSwKLSAgICAgICAgICAgIFsiU2NyaXB0IiwgKHR5cGUpID0+IHR5cGUg
PT09IFdJLlJlc291cmNlLlR5cGUuU2NyaXB0XSwKLSAgICAgICAgICAgIFsiWEhSIiwgKHR5cGUp
ID0+IHR5cGUgPT09IFdJLlJlc291cmNlLlR5cGUuWEhSIHx8IHR5cGUgPT09IFdJLlJlc291cmNl
LlR5cGUuRmV0Y2hdLAotICAgICAgICAgICAgWyJPdGhlciIsICh0eXBlKSA9PiB7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuRG9jdW1lbnQKLSAgICAg
ICAgICAgICAgICAgICAgJiYgdHlwZSAhPT0gV0kuUmVzb3VyY2UuVHlwZS5TdHlsZVNoZWV0Ci0g
ICAgICAgICAgICAgICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuSW1hZ2UKLSAg
ICAgICAgICAgICAgICAgICAgJiYgdHlwZSAhPT0gV0kuUmVzb3VyY2UuVHlwZS5Gb250Ci0gICAg
ICAgICAgICAgICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuU2NyaXB0Ci0gICAg
ICAgICAgICAgICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuWEhSCi0gICAgICAg
ICAgICAgICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuRmV0Y2g7Ci0gICAgICAg
ICAgICB9XSwKLSAgICAgICAgXTsKLSAgICAgICAgZm9yIChsZXQgW2tleSwgY2hlY2tlcl0gb2Yg
dW5pcXVlVHlwZXMpIHsKLSAgICAgICAgICAgIGxldCB0eXBlID0gV0kuUmVzb3VyY2UuVHlwZVtr
ZXldOwotICAgICAgICAgICAgbGV0IHNjb3BlQmFySXRlbSA9IG5ldyBXSS5TY29wZUJhckl0ZW0o
Im5ldHdvcmstdHlwZS1maWx0ZXItIiArIGtleSwgV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcu
c2hvcnREaXNwbGF5TmFtZUZvclJlc291cmNlVHlwZSh0eXBlKSk7CisgICAgICAgIGZ1bmN0aW9u
IGNyZWF0ZVNjb3BlQmFySXRlbShpZCwgbGFiZWwsIGNoZWNrZXIpIHsKKyAgICAgICAgICAgIGxl
dCBzY29wZUJhckl0ZW0gPSBuZXcgV0kuU2NvcGVCYXJJdGVtKCJuZXR3b3JrLXR5cGUtZmlsdGVy
LSIgKyBpZCwgbGFiZWwpOwogICAgICAgICAgICAgc2NvcGVCYXJJdGVtLl9fY2hlY2tlciA9IGNo
ZWNrZXI7CiAgICAgICAgICAgICB0eXBlRmlsdGVyU2NvcGVCYXJJdGVtcy5wdXNoKHNjb3BlQmFy
SXRlbSk7CiAgICAgICAgIH0KKyAgICAgICAgY3JlYXRlU2NvcGVCYXJJdGVtKCJkb2N1bWVudCIs
IFdJLlVJU3RyaW5nKCJEb2N1bWVudCIpLCAodHlwZSkgPT4gdHlwZSA9PT0gV0kuUmVzb3VyY2Uu
VHlwZS5Eb2N1bWVudCk7CisgICAgICAgIGNyZWF0ZVNjb3BlQmFySXRlbSgic3R5bGVTaGVldCIs
IFdJLnVubG9jYWxpemVkU3RyaW5nKCJDU1MiKSwgKHR5cGUpID0+IHR5cGUgPT09IFdJLlJlc291
cmNlLlR5cGUuU3R5bGVTaGVldCk7CisgICAgICAgIGNyZWF0ZVNjb3BlQmFySXRlbSgiaW1hZ2Ui
LCBXSS5VSVN0cmluZygiSW1hZ2UiKSwgKHR5cGUpID0+IHR5cGUgPT09IFdJLlJlc291cmNlLlR5
cGUuSW1hZ2UpOworICAgICAgICBjcmVhdGVTY29wZUJhckl0ZW0oImZvbnQiLCBXSS5VSVN0cmlu
ZygiRm9udCIpLCAodHlwZSkgPT4gdHlwZSA9PT0gV0kuUmVzb3VyY2UuVHlwZS5Gb250KTsKKyAg
ICAgICAgY3JlYXRlU2NvcGVCYXJJdGVtKCJzY3JpcHQiLCBXSS51bmxvY2FsaXplZFN0cmluZygi
SlMiKSwgKHR5cGUpID0+IHR5cGUgPT09IFdJLlJlc291cmNlLlR5cGUuU2NyaXB0KTsKKyAgICAg
ICAgY3JlYXRlU2NvcGVCYXJJdGVtKCJ4aHItZmV0Y2giLCBXSS5VSVN0cmluZygiJXMvRmV0Y2gi
LCAiJXMvRmV0Y2ggQCBOZXR3b3JrIFRhYiBUYWJsZSBGaWx0ZXIiLCAiU2NvcGUgYmFyIGJ1dHRv
biB0aGF0IGZpbHRlciBmb3IgZHluYW1pYyByZXNvdXJjZSBsb2FkcywgbGlrZSBmcm9tIHRoZSAn
ZmV0Y2gnIG1ldGhvZC4iKS5mb3JtYXQoV0kudW5sb2NhbGl6ZWRTdHJpbmcoIlhIUiIpKSwgKHR5
cGUpID0+IHR5cGUgPT09IFdJLlJlc291cmNlLlR5cGUuWEhSIHx8IHR5cGUgPT09IFdJLlJlc291
cmNlLlR5cGUuRmV0Y2gpOworICAgICAgICBjcmVhdGVTY29wZUJhckl0ZW0oIm90aGVyIiwgV0ku
VUlTdHJpbmcoIk90aGVyIiksICh0eXBlKSA9PiB7CisgICAgICAgICAgICByZXR1cm4gdHlwZSAh
PT0gV0kuUmVzb3VyY2UuVHlwZS5Eb2N1bWVudAorICAgICAgICAgICAgICAgICYmIHR5cGUgIT09
IFdJLlJlc291cmNlLlR5cGUuU3R5bGVTaGVldAorICAgICAgICAgICAgICAgICYmIHR5cGUgIT09
IFdJLlJlc291cmNlLlR5cGUuSW1hZ2UKKyAgICAgICAgICAgICAgICAmJiB0eXBlICE9PSBXSS5S
ZXNvdXJjZS5UeXBlLkZvbnQKKyAgICAgICAgICAgICAgICAmJiB0eXBlICE9PSBXSS5SZXNvdXJj
ZS5UeXBlLlNjcmlwdAorICAgICAgICAgICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5
cGUuWEhSCisgICAgICAgICAgICAgICAgJiYgdHlwZSAhPT0gV0kuUmVzb3VyY2UuVHlwZS5GZXRj
aDsKKyAgICAgICAgfSk7CiAKICAgICAgICAgdGhpcy5fdHlwZUZpbHRlclNjb3BlQmFyID0gbmV3
IFdJLlNjb3BlQmFyKCJuZXR3b3JrLXR5cGUtZmlsdGVyLXNjb3BlLWJhciIsIHR5cGVGaWx0ZXJT
Y29wZUJhckl0ZW1zLCB0eXBlRmlsdGVyU2NvcGVCYXJJdGVtc1swXSk7CiAgICAgICAgIHRoaXMu
X3R5cGVGaWx0ZXJTY29wZUJhci52aXNpYmlsaXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRl
bS5WaXNpYmlsaXR5UHJpb3JpdHkuSGlnaDsKQEAgLTIwMSwzOCArMTk4LDQzIEBAIFdJLk5ldHdv
cmtUYWJsZUNvbnRlbnRWaWV3ID0gY2xhc3MgTmV0d29ya1RhYmxlQ29udGVudFZpZXcgZXh0ZW5k
cyBXSS5Db250ZW50VmllCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbGVFeHRlbnNpb247CiAg
ICAgICAgIH0KIAotICAgICAgICByZXR1cm4gV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcuc2hv
cnREaXNwbGF5TmFtZUZvclJlc291cmNlVHlwZShyZXNvdXJjZS50eXBlKS50b0xvd2VyQ2FzZSgp
OwotICAgIH0KLQotICAgIHN0YXRpYyBzaG9ydERpc3BsYXlOYW1lRm9yUmVzb3VyY2VUeXBlKHR5
cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgc3dpdGNoIChyZXNv
dXJjZS50eXBlKSB7CiAgICAgICAgIGNhc2UgV0kuUmVzb3VyY2UuVHlwZS5Eb2N1bWVudDoKLSAg
ICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiRG9jdW1lbnQiKTsKKyAgICAgICAgICAgIHJl
dHVybiBXSS5VSVN0cmluZygiZG9jdW1lbnQiLCAiZG9jdW1lbnQgQCBOZXR3b3JrIFRhYiBSZXNv
dXJjZSBUeXBlIENvbHVtbiBWYWx1ZSIsICJTaG93biBpbiB0aGUgJ1R5cGUnIGNvbHVtbiBvZiB0
aGUgTmV0d29yayBUYWJsZSBmb3IgZG9jdW1lbnQgcmVzb3VyY2VzLiIpOworCiAgICAgICAgIGNh
c2UgV0kuUmVzb3VyY2UuVHlwZS5TdHlsZVNoZWV0OgotICAgICAgICAgICAgcmV0dXJuIFdJLnVu
bG9jYWxpemVkU3RyaW5nKCJDU1MiKTsKKyAgICAgICAgICAgIHJldHVybiBXSS51bmxvY2FsaXpl
ZFN0cmluZygiY3NzIik7CisKICAgICAgICAgY2FzZSBXSS5SZXNvdXJjZS5UeXBlLkltYWdlOgot
ICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCJJbWFnZSIpOworICAgICAgICAgICAgcmV0
dXJuIFdJLlVJU3RyaW5nKCJpbWFnZSIsICJpbWFnZSBAIE5ldHdvcmsgVGFiIFJlc291cmNlIFR5
cGUgQ29sdW1uIFZhbHVlIiwgIlNob3duIGluIHRoZSAnVHlwZScgY29sdW1uIG9mIHRoZSBOZXR3
b3JrIFRhYmxlIGZvciBpbWFnZSByZXNvdXJjZXMuIik7CisKICAgICAgICAgY2FzZSBXSS5SZXNv
dXJjZS5UeXBlLkZvbnQ6Ci0gICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIkZvbnQiKTsK
KyAgICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiZm9udCIsICJmb250IEAgTmV0d29yayBU
YWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiLCAiU2hvd24gaW4gdGhlICdUeXBlJyBjb2x1
bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUgZm9yIGZvbnQgcmVzb3VyY2VzLiIpOworCiAgICAgICAg
IGNhc2UgV0kuUmVzb3VyY2UuVHlwZS5TY3JpcHQ6Ci0gICAgICAgICAgICByZXR1cm4gV0kudW5s
b2NhbGl6ZWRTdHJpbmcoIkpTIik7CisgICAgICAgICAgICByZXR1cm4gV0kudW5sb2NhbGl6ZWRT
dHJpbmcoImpzIik7CisKICAgICAgICAgY2FzZSBXSS5SZXNvdXJjZS5UeXBlLlhIUjoKLSAgICAg
ICAgICAgIHJldHVybiBXSS51bmxvY2FsaXplZFN0cmluZygiWEhSIik7CisgICAgICAgICAgICBy
ZXR1cm4gV0kudW5sb2NhbGl6ZWRTdHJpbmcoInhociIpOworCiAgICAgICAgIGNhc2UgV0kuUmVz
b3VyY2UuVHlwZS5GZXRjaDoKLSAgICAgICAgICAgIHJldHVybiBXSS5yZXBlYXRlZFVJU3RyaW5n
LmZldGNoKCk7CisgICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoImZldGNoIiwgImZldGNo
IEAgTmV0d29yayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiLCAiU2hvd24gaW4gdGhl
ICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUgZm9yIHJlc291cmNlcyBsb2FkZWQg
dmlhIHRoZSAnZmV0Y2gnIG1ldGhvZC4iKTsKKwogICAgICAgICBjYXNlIFdJLlJlc291cmNlLlR5
cGUuUGluZzoKLSAgICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiUGluZyIpOworICAgICAg
ICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCJwaW5nIiwgInBpbmcgQCBOZXR3b3JrIFRhYiBSZXNv
dXJjZSBUeXBlIENvbHVtbiBWYWx1ZSIsICJTaG93biBpbiB0aGUgJ1R5cGUnIGNvbHVtbiBvZiB0
aGUgTmV0d29yayBUYWJsZSBmb3IgcmVzb3VyY2VzIGxvYWRlZCB2aWEgJzxhIHBpbmc+JyBlbGVt
ZW50cy4iKTsKKwogICAgICAgICBjYXNlIFdJLlJlc291cmNlLlR5cGUuQmVhY29uOgotICAgICAg
ICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCJCZWFjb24iKTsKKyAgICAgICAgICAgIHJldHVybiBX
SS5VSVN0cmluZygiYmVhY29uIiwgImJlYWNvbiBAIE5ldHdvcmsgVGFiIFJlc291cmNlIFR5cGUg
Q29sdW1uIFZhbHVlIiwgIlNob3duIGluIHRoZSAnVHlwZScgY29sdW1uIG9mIHRoZSBOZXR3b3Jr
IFRhYmxlIGZvciByZXNvdXJjZXMgbG9hZGVkIHZpYSB0aGUgQmVhY29uIEFQSS4iKTsKKwogICAg
ICAgICBjYXNlIFdJLlJlc291cmNlLlR5cGUuV2ViU29ja2V0OgotICAgICAgICAgICAgcmV0dXJu
IFdJLlVJU3RyaW5nKCJTb2NrZXQiKTsKKyAgICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygi
c29ja2V0IiwgInNvY2tldCBAIE5ldHdvcmsgVGFiIFJlc291cmNlIFR5cGUgQ29sdW1uIFZhbHVl
IiwgIlNob3duIGluIHRoZSAnVHlwZScgY29sdW1uIG9mIHRoZSBOZXR3b3JrIFRhYmxlIGZvciBX
ZWJTb2NrZXQgcmVzb3VyY2VzLiIpOworCiAgICAgICAgIGNhc2UgV0kuUmVzb3VyY2UuVHlwZS5P
dGhlcjoKLSAgICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiT3RoZXIiKTsKLSAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIlVua25vd24gcmVzb3VyY2UgdHlw
ZSIsIHR5cGUpOwotICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgICAgICByZXR1cm4g
V0kuVUlTdHJpbmcoIm90aGVyIiwgIm90aGVyIEAgTmV0d29yayBUYWIgUmVzb3VyY2UgVHlwZSBD
b2x1bW4gVmFsdWUiLCAiU2hvd24gaW4gdGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsg
VGFibGUgZm9yIHJlc291cmNlcyB0aGF0IGRvbid0IGZhbGwgaW50byBhbnkgb2YgdGhlIG90aGVy
IGtub3duIHR5cGVzL2NhdGVnb3JpZXMuIik7CiAgICAgICAgIH0KKworICAgICAgICBjb25zb2xl
LmFzc2VydChmYWxzZSwgcmVzb3VyY2UudHlwZSk7CisgICAgICAgIHJldHVybiAiIjsKICAgICB9
CiAKICAgICBzdGF0aWMgZ2V0IG5vZGVXYXRlcmZhbGxET01FdmVudFNpemUoKSB7IHJldHVybiA4
OyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427631</attachid>
            <date>2021-05-03 19:26:19 -0700</date>
            <delta_ts>2021-05-10 13:35:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224900-20210503202619.patch</filename>
            <type>text/plain</type>
            <size>12406</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDZiNWNjY2Y2YWU5YTdmYzJkMTIwODY5ZWY0YTMx
OWZiZGRiNjU4ZDUuLjU3MjY0YTYwYmJjNGM3MzYyOTBmOTE4MzBhZTUxOTRiZTFlNjQ1NzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA1LTAzICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBO
ZXR3b3JrOiByZW5hbWUgIlhIUiIgdG8gIlhIUi9GZXRjaCIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDkwMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3Jr
VGFibGVDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3
KToKKyAgICAgICAgKFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LmFkZFNjb3BlQmFySXRlbSk6
IEFkZGVkLgorICAgICAgICAoV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcuZGlzcGxheU5hbWVG
b3JSZXNvdXJjZSk6CisgICAgICAgIChXSS5OZXR3b3JrVGFibGVDb250ZW50Vmlldy5zaG9ydERp
c3BsYXlOYW1lRm9yUmVzb3VyY2VUeXBlKTogRGVsZXRlZC4KKworICAgICAgICAqIExvY2FsaXph
dGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKwogMjAyMS0wNC0yOCAgUmF6dmFu
IENhbGltYW4gIDxyY2FsaW1hbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
Q1NTIEdyaWQgLSBtZWFzdXJlIHVzYWdlIG9mIGdyaWQgb3ZlcmxheSBvcHRpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHBy
b2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCAwNjZlOTkzNTczYzk1OThiY2EzNWY5NjNhZDFi
OTc0ZTkzNTE1NGFjLi5jY2U0YmZlMzU3MmI0ZTE1NmJiNmI5OWVkZGIwMjE2ODI5NGEyNmU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTc3LDYgKzc3LDggQEAgbG9jYWxp
emVkU3RyaW5nc1siJXMgdG90YWwiXSA9ICIlcyB0b3RhbCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIl
cyB0cmFuc2ZlcnJlZCJdID0gIiVzIHRyYW5zZmVycmVkIjsKIC8qIEEgc2luZ2xlIHZhbHVlIGV4
cHJlc3NlZCBhcyBhIHBlcmNlbnRhZ2Ugd2hlcmUgdGhlIHZhbHVlIGhhcyBhbHJlYWR5IGJlZW4g
Y29udmVydGVkIGZyb20gYSBudW1iZXIgdG8gYSBzdHJpbmcuICovCiBsb2NhbGl6ZWRTdHJpbmdz
WyIlcyUlIEAgRm9udCBEZXRhaWxzIFNpZGViYXIiXSA9ICIlcyUlIjsKKy8qIFNjb3BlIGJhciBi
dXR0b24gdGhhdCBmaWx0ZXIgZm9yIGR5bmFtaWMgcmVzb3VyY2UgbG9hZHMsIGxpa2UgZnJvbSB0
aGUgJ2ZldGNoJyBtZXRob2QuICovCitsb2NhbGl6ZWRTdHJpbmdzWyIlcy9GZXRjaCBAIE5ldHdv
cmsgVGFiIFRhYmxlIEZpbHRlciJdID0gIiVzL0ZldGNoIjsKIGxvY2FsaXplZFN0cmluZ3NbIiVz
OiJdID0gIiVzOiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIoJXMpIl0gPSAiKCVzKSI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyIoQWN0aW9uICVzKSJdID0gIihBY3Rpb24gJXMpIjsKQEAgLTE3MTgsNiArMTcy
MCw4IEBAIGxvY2FsaXplZFN0cmluZ3NbIlx1MDAyMiVzXHUwMDIyIG11c3QgYmUgYW4gJXMiXSA9
ICJcdTAwMjIlc1x1MDAyMiBtdXN0IGJlIGFuICVzCiBsb2NhbGl6ZWRTdHJpbmdzWyJcdTAwMjIl
c1x1MDAyMiB0aHJldyBhbiBlcnJvciJdID0gIlx1MDAyMiVzXHUwMDIyIHRocmV3IGFuIGVycm9y
IjsKIGxvY2FsaXplZFN0cmluZ3NbIlx1MjAxQyVzXHUyMDFEIEV2ZW50IEZpcmVkIl0gPSAiXHUy
MDFDJXNcdTIwMUQgRXZlbnQgRmlyZWQiOwogbG9jYWxpemVkU3RyaW5nc1siXHUyMDFDJXNcdTIw
MUQgUHJvZmlsZSBSZWNvcmRlZCJdID0gIlx1MjAxQyVzXHUyMDFEIFByb2ZpbGUgUmVjb3JkZWQi
OworLyogU2hvd24gaW4gdGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUgZm9y
IHJlc291cmNlcyBsb2FkZWQgdmlhIHRoZSBCZWFjb24gQVBJLiAqLworbG9jYWxpemVkU3RyaW5n
c1siYmVhY29uIEAgTmV0d29yayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9ICJi
ZWFjb24iOwogLyogUGFydCBvZiB0aGUgJ0JsYWNrYm94ZWQgLSAlZCBjYWxsIGZyYW1lJyBsYWJl
bCBzaG93biBpbiB0aGUgZGVidWdnZXIgY2FsbCBzdGFjayB3aGVuIHBhdXNlZCBpbnN0ZWFkIG9m
IHN1YnNlcXVlbnQgY2FsbCBmcmFtZXMgdGhhdCBoYXZlIGJlZW4gYmxhY2tib3hlZC4gKi8KIGxv
Y2FsaXplZFN0cmluZ3NbImNhbGwgZnJhbWUgQCBEZWJ1Z2dlciBDYWxsIFN0YWNrIl0gPSAiJWQg
Y2FsbCBmcmFtZSI7CiAvKiBQYXJ0IG9mIHRoZSAnQmxhY2tib3hlZCAtICVkIGNhbGwgZnJhbWVz
JyBsYWJlbCBzaG93biBpbiB0aGUgZGVidWdnZXIgY2FsbCBzdGFjayB3aGVuIHBhdXNlZCBpbnN0
ZWFkIG9mIHN1YnNlcXVlbnQgY2FsbCBmcmFtZXMgdGhhdCBoYXZlIGJlZW4gYmxhY2tib3hlZC4g
Ki8KQEAgLTE3MjUsOCArMTcyOSwxNiBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJjYWxsIGZyYW1lcyBA
IERlYnVnZ2VyIENhbGwgU3RhY2siXSA9ICIlZCBjYWxsIGZyYW1lcyI7CiBsb2NhbGl6ZWRTdHJp
bmdzWyJjb21wdXRlZCJdID0gImNvbXB1dGVkIjsKIGxvY2FsaXplZFN0cmluZ3NbImRlZmF1bHQi
XSA9ICJkZWZhdWx0IjsKIGxvY2FsaXplZFN0cmluZ3NbImRlZmF1bHQgcHJldmVudGVkIl0gPSAi
ZGVmYXVsdCBwcmV2ZW50ZWQiOworLyogU2hvd24gaW4gdGhlICdUeXBlJyBjb2x1bW4gb2YgdGhl
IE5ldHdvcmsgVGFibGUgZm9yIGRvY3VtZW50IHJlc291cmNlcy4gKi8KK2xvY2FsaXplZFN0cmlu
Z3NbImRvY3VtZW50IEAgTmV0d29yayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9
ICJkb2N1bWVudCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJlbnN1cmluZyB0aGF0IGNvbW1vbiBkZWJ1
Z2dpbmcgZnVuY3Rpb25zIGFyZSBhdmFpbGFibGUgb24gZXZlcnkgcGFnZSB2aWEgdGhlIENvbnNv
bGUiXSA9ICJlbnN1cmluZyB0aGF0IGNvbW1vbiBkZWJ1Z2dpbmcgZnVuY3Rpb25zIGFyZSBhdmFp
bGFibGUgb24gZXZlcnkgcGFnZSB2aWEgdGhlIENvbnNvbGUiOworLyogU2hvd24gaW4gdGhlICdU
eXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUgZm9yIHJlc291cmNlcyBsb2FkZWQgdmlh
IHRoZSAnZmV0Y2gnIG1ldGhvZC4gKi8KK2xvY2FsaXplZFN0cmluZ3NbImZldGNoIEAgTmV0d29y
ayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9ICJmZXRjaCI7CisvKiBTaG93biBp
biB0aGUgJ1R5cGUnIGNvbHVtbiBvZiB0aGUgTmV0d29yayBUYWJsZSBmb3IgZm9udCByZXNvdXJj
ZXMuICovCitsb2NhbGl6ZWRTdHJpbmdzWyJmb250IEAgTmV0d29yayBUYWIgUmVzb3VyY2UgVHlw
ZSBDb2x1bW4gVmFsdWUiXSA9ICJmb250IjsKIGxvY2FsaXplZFN0cmluZ3NbImZvciBjaGFuZ2Vz
IHRvIHRha2UgZWZmZWN0Il0gPSAiZm9yIGNoYW5nZXMgdG8gdGFrZSBlZmZlY3QiOworLyogU2hv
d24gaW4gdGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUgZm9yIGltYWdlIHJl
c291cmNlcy4gKi8KK2xvY2FsaXplZFN0cmluZ3NbImltYWdlIEAgTmV0d29yayBUYWIgUmVzb3Vy
Y2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9ICJpbWFnZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJpbnZh
bGlkIEhBUiJdID0gImludmFsaWQgSEFSIjsKIGxvY2FsaXplZFN0cmluZ3NbImludmFsaWQgSlNP
TiJdID0gImludmFsaWQgSlNPTiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJrZXkiXSA9ICJrZXkiOwpA
QCAtMTczNywxMiArMTc0OSwxOCBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJub24tbnVtYmVyICVzIl0g
PSAibm9uLW51bWJlciAlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJub24tb2JqZWN0ICVzIl0gPSAi
bm9uLW9iamVjdCAlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJub24tc3RyaW5nICVzIl0gPSAibm9u
LXN0cmluZyAlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJvcmlnaW5hbGx5ICVzIl0gPSAib3JpZ2lu
YWxseSAlcyI7CisvKiBTaG93biBpbiB0aGUgJ1R5cGUnIGNvbHVtbiBvZiB0aGUgTmV0d29yayBU
YWJsZSBmb3IgcmVzb3VyY2VzIHRoYXQgZG9uJ3QgZmFsbCBpbnRvIGFueSBvZiB0aGUgb3RoZXIg
a25vd24gdHlwZXMvY2F0ZWdvcmllcy4gKi8KK2xvY2FsaXplZFN0cmluZ3NbIm90aGVyIEAgTmV0
d29yayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9ICJvdGhlciI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJvdmVycmlkaW5nIGJ1aWx0LWluIGZ1bmN0aW9ucyB0byBsb2cgY2FsbCB0cmFj
ZXMgb3IgYWRkICVzIHN0YXRlbWVudHMiXSA9ICJvdmVycmlkaW5nIGJ1aWx0LWluIGZ1bmN0aW9u
cyB0byBsb2cgY2FsbCB0cmFjZXMgb3IgYWRkICVzIHN0YXRlbWVudHMiOworLyogU2hvd24gaW4g
dGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUgZm9yIHJlc291cmNlcyBsb2Fk
ZWQgdmlhICc8YSBwaW5nPicgZWxlbWVudHMuICovCitsb2NhbGl6ZWRTdHJpbmdzWyJwaW5nIEAg
TmV0d29yayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiXSA9ICJwaW5nIjsKIGxvY2Fs
aXplZFN0cmluZ3NbInBvcHVwIl0gPSAicG9wdXAiOwogbG9jYWxpemVkU3RyaW5nc1sicG9wdXAs
IHRvZ2dsZSJdID0gInBvcHVwLCB0b2dnbGUiOwogbG9jYWxpemVkU3RyaW5nc1sicmVxdWVzdEFu
aW1hdGlvbkZyYW1lIEZpcmVkIl0gPSAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIEZpcmVkIjsKIGxv
Y2FsaXplZFN0cmluZ3NbInNldEludGVydmFsIEZpcmVkIl0gPSAic2V0SW50ZXJ2YWwgRmlyZWQi
OwogbG9jYWxpemVkU3RyaW5nc1sic2V0VGltZW91dCBGaXJlZCJdID0gInNldFRpbWVvdXQgRmly
ZWQiOworLyogU2hvd24gaW4gdGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUg
Zm9yIFdlYlNvY2tldCByZXNvdXJjZXMuICovCitsb2NhbGl6ZWRTdHJpbmdzWyJzb2NrZXQgQCBO
ZXR3b3JrIFRhYiBSZXNvdXJjZSBUeXBlIENvbHVtbiBWYWx1ZSJdID0gInNvY2tldCI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJzcGFjZSJdID0gInNwYWNlIjsKIGxvY2FsaXplZFN0cmluZ3NbInNwYWNl
cyJdID0gInNwYWNlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJ0aW1lIGJlZm9yZSBzdG9wcGluZyJd
ID0gInRpbWUgYmVmb3JlIHN0b3BwaW5nIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYmxlQ29udGVu
dFZpZXcuanMKaW5kZXggZGQ2MGViYjA2NDJhNDc3MTA2MmRjZjRhMjQzYjVmN2JmYzEzNjFmOS4u
ODIzODFhNjBkZGFjMDE1ZDA2OWJkNTQzNTNmMTYwODA3YzNmZDY0NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYmxlQ29udGVu
dFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
TmV0d29ya1RhYmxlQ29udGVudFZpZXcuanMKQEAgLTYzLDI5ICs2MywyNiBAQCBXSS5OZXR3b3Jr
VGFibGVDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuQ29udGVudFZpZQogICAgICAgICB0aGlzLl90eXBlRmlsdGVyU2NvcGVCYXJJdGVtQWxsID0g
bmV3IFdJLlNjb3BlQmFySXRlbSgibmV0d29yay10eXBlLWZpbHRlci1hbGwiLCBXSS5VSVN0cmlu
ZygiQWxsIiksIHtleGNsdXNpdmU6IHRydWV9KTsKICAgICAgICAgbGV0IHR5cGVGaWx0ZXJTY29w
ZUJhckl0ZW1zID0gW3RoaXMuX3R5cGVGaWx0ZXJTY29wZUJhckl0ZW1BbGxdOwogCi0gICAgICAg
IGxldCB1bmlxdWVUeXBlcyA9IFsKLSAgICAgICAgICAgIFsiRG9jdW1lbnQiLCAodHlwZSkgPT4g
dHlwZSA9PT0gV0kuUmVzb3VyY2UuVHlwZS5Eb2N1bWVudF0sCi0gICAgICAgICAgICBbIlN0eWxl
U2hlZXQiLCAodHlwZSkgPT4gdHlwZSA9PT0gV0kuUmVzb3VyY2UuVHlwZS5TdHlsZVNoZWV0XSwK
LSAgICAgICAgICAgIFsiSW1hZ2UiLCAodHlwZSkgPT4gdHlwZSA9PT0gV0kuUmVzb3VyY2UuVHlw
ZS5JbWFnZV0sCi0gICAgICAgICAgICBbIkZvbnQiLCAodHlwZSkgPT4gdHlwZSA9PT0gV0kuUmVz
b3VyY2UuVHlwZS5Gb250XSwKLSAgICAgICAgICAgIFsiU2NyaXB0IiwgKHR5cGUpID0+IHR5cGUg
PT09IFdJLlJlc291cmNlLlR5cGUuU2NyaXB0XSwKLSAgICAgICAgICAgIFsiWEhSIiwgKHR5cGUp
ID0+IHR5cGUgPT09IFdJLlJlc291cmNlLlR5cGUuWEhSIHx8IHR5cGUgPT09IFdJLlJlc291cmNl
LlR5cGUuRmV0Y2hdLAotICAgICAgICAgICAgWyJPdGhlciIsICh0eXBlKSA9PiB7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuRG9jdW1lbnQKLSAgICAg
ICAgICAgICAgICAgICAgJiYgdHlwZSAhPT0gV0kuUmVzb3VyY2UuVHlwZS5TdHlsZVNoZWV0Ci0g
ICAgICAgICAgICAgICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuSW1hZ2UKLSAg
ICAgICAgICAgICAgICAgICAgJiYgdHlwZSAhPT0gV0kuUmVzb3VyY2UuVHlwZS5Gb250Ci0gICAg
ICAgICAgICAgICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuU2NyaXB0Ci0gICAg
ICAgICAgICAgICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuWEhSCi0gICAgICAg
ICAgICAgICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuRmV0Y2g7Ci0gICAgICAg
ICAgICB9XSwKLSAgICAgICAgXTsKLSAgICAgICAgZm9yIChsZXQgW2tleSwgY2hlY2tlcl0gb2Yg
dW5pcXVlVHlwZXMpIHsKLSAgICAgICAgICAgIGxldCB0eXBlID0gV0kuUmVzb3VyY2UuVHlwZVtr
ZXldOwotICAgICAgICAgICAgbGV0IHNjb3BlQmFySXRlbSA9IG5ldyBXSS5TY29wZUJhckl0ZW0o
Im5ldHdvcmstdHlwZS1maWx0ZXItIiArIGtleSwgV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcu
c2hvcnREaXNwbGF5TmFtZUZvclJlc291cmNlVHlwZSh0eXBlKSk7CisgICAgICAgIGZ1bmN0aW9u
IGFkZFNjb3BlQmFySXRlbShpZCwgbGFiZWwsIGNoZWNrZXIpIHsKKyAgICAgICAgICAgIGxldCBz
Y29wZUJhckl0ZW0gPSBuZXcgV0kuU2NvcGVCYXJJdGVtKCJuZXR3b3JrLXR5cGUtZmlsdGVyLSIg
KyBpZCwgbGFiZWwpOwogICAgICAgICAgICAgc2NvcGVCYXJJdGVtLl9fY2hlY2tlciA9IGNoZWNr
ZXI7CiAgICAgICAgICAgICB0eXBlRmlsdGVyU2NvcGVCYXJJdGVtcy5wdXNoKHNjb3BlQmFySXRl
bSk7CiAgICAgICAgIH0KKyAgICAgICAgYWRkU2NvcGVCYXJJdGVtKCJkb2N1bWVudCIsIFdJLlVJ
U3RyaW5nKCJEb2N1bWVudCIpLCAodHlwZSkgPT4gdHlwZSA9PT0gV0kuUmVzb3VyY2UuVHlwZS5E
b2N1bWVudCk7CisgICAgICAgIGFkZFNjb3BlQmFySXRlbSgic3R5bGVTaGVldCIsIFdJLnVubG9j
YWxpemVkU3RyaW5nKCJDU1MiKSwgKHR5cGUpID0+IHR5cGUgPT09IFdJLlJlc291cmNlLlR5cGUu
U3R5bGVTaGVldCk7CisgICAgICAgIGFkZFNjb3BlQmFySXRlbSgiaW1hZ2UiLCBXSS5VSVN0cmlu
ZygiSW1hZ2UiKSwgKHR5cGUpID0+IHR5cGUgPT09IFdJLlJlc291cmNlLlR5cGUuSW1hZ2UpOwor
ICAgICAgICBhZGRTY29wZUJhckl0ZW0oImZvbnQiLCBXSS5VSVN0cmluZygiRm9udCIpLCAodHlw
ZSkgPT4gdHlwZSA9PT0gV0kuUmVzb3VyY2UuVHlwZS5Gb250KTsKKyAgICAgICAgYWRkU2NvcGVC
YXJJdGVtKCJzY3JpcHQiLCBXSS51bmxvY2FsaXplZFN0cmluZygiSlMiKSwgKHR5cGUpID0+IHR5
cGUgPT09IFdJLlJlc291cmNlLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgYWRkU2NvcGVCYXJJdGVt
KCJ4aHItZmV0Y2giLCBXSS5VSVN0cmluZygiJXMvRmV0Y2giLCAiJXMvRmV0Y2ggQCBOZXR3b3Jr
IFRhYiBUYWJsZSBGaWx0ZXIiLCAiU2NvcGUgYmFyIGJ1dHRvbiB0aGF0IGZpbHRlciBmb3IgZHlu
YW1pYyByZXNvdXJjZSBsb2FkcywgbGlrZSBmcm9tIHRoZSAnZmV0Y2gnIG1ldGhvZC4iKS5mb3Jt
YXQoV0kudW5sb2NhbGl6ZWRTdHJpbmcoIlhIUiIpKSwgKHR5cGUpID0+IHR5cGUgPT09IFdJLlJl
c291cmNlLlR5cGUuWEhSIHx8IHR5cGUgPT09IFdJLlJlc291cmNlLlR5cGUuRmV0Y2gpOworICAg
ICAgICBhZGRTY29wZUJhckl0ZW0oIm90aGVyIiwgV0kuVUlTdHJpbmcoIk90aGVyIiksICh0eXBl
KSA9PiB7CisgICAgICAgICAgICByZXR1cm4gdHlwZSAhPT0gV0kuUmVzb3VyY2UuVHlwZS5Eb2N1
bWVudAorICAgICAgICAgICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuU3R5bGVT
aGVldAorICAgICAgICAgICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuSW1hZ2UK
KyAgICAgICAgICAgICAgICAmJiB0eXBlICE9PSBXSS5SZXNvdXJjZS5UeXBlLkZvbnQKKyAgICAg
ICAgICAgICAgICAmJiB0eXBlICE9PSBXSS5SZXNvdXJjZS5UeXBlLlNjcmlwdAorICAgICAgICAg
ICAgICAgICYmIHR5cGUgIT09IFdJLlJlc291cmNlLlR5cGUuWEhSCisgICAgICAgICAgICAgICAg
JiYgdHlwZSAhPT0gV0kuUmVzb3VyY2UuVHlwZS5GZXRjaDsKKyAgICAgICAgfSk7CiAKICAgICAg
ICAgdGhpcy5fdHlwZUZpbHRlclNjb3BlQmFyID0gbmV3IFdJLlNjb3BlQmFyKCJuZXR3b3JrLXR5
cGUtZmlsdGVyLXNjb3BlLWJhciIsIHR5cGVGaWx0ZXJTY29wZUJhckl0ZW1zLCB0eXBlRmlsdGVy
U2NvcGVCYXJJdGVtc1swXSk7CiAgICAgICAgIHRoaXMuX3R5cGVGaWx0ZXJTY29wZUJhci52aXNp
YmlsaXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHkuSGln
aDsKQEAgLTIwMSwzOCArMTk4LDQzIEBAIFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3ID0gY2xh
c3MgTmV0d29ya1RhYmxlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmllCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZpbGVFeHRlbnNpb247CiAgICAgICAgIH0KIAotICAgICAgICByZXR1
cm4gV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcuc2hvcnREaXNwbGF5TmFtZUZvclJlc291cmNl
VHlwZShyZXNvdXJjZS50eXBlKS50b0xvd2VyQ2FzZSgpOwotICAgIH0KLQotICAgIHN0YXRpYyBz
aG9ydERpc3BsYXlOYW1lRm9yUmVzb3VyY2VUeXBlKHR5cGUpCi0gICAgewotICAgICAgICBzd2l0
Y2ggKHR5cGUpIHsKKyAgICAgICAgc3dpdGNoIChyZXNvdXJjZS50eXBlKSB7CiAgICAgICAgIGNh
c2UgV0kuUmVzb3VyY2UuVHlwZS5Eb2N1bWVudDoKLSAgICAgICAgICAgIHJldHVybiBXSS5VSVN0
cmluZygiRG9jdW1lbnQiKTsKKyAgICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiZG9jdW1l
bnQiLCAiZG9jdW1lbnQgQCBOZXR3b3JrIFRhYiBSZXNvdXJjZSBUeXBlIENvbHVtbiBWYWx1ZSIs
ICJTaG93biBpbiB0aGUgJ1R5cGUnIGNvbHVtbiBvZiB0aGUgTmV0d29yayBUYWJsZSBmb3IgZG9j
dW1lbnQgcmVzb3VyY2VzLiIpOworCiAgICAgICAgIGNhc2UgV0kuUmVzb3VyY2UuVHlwZS5TdHls
ZVNoZWV0OgotICAgICAgICAgICAgcmV0dXJuIFdJLnVubG9jYWxpemVkU3RyaW5nKCJDU1MiKTsK
KyAgICAgICAgICAgIHJldHVybiBXSS51bmxvY2FsaXplZFN0cmluZygiY3NzIik7CisKICAgICAg
ICAgY2FzZSBXSS5SZXNvdXJjZS5UeXBlLkltYWdlOgotICAgICAgICAgICAgcmV0dXJuIFdJLlVJ
U3RyaW5nKCJJbWFnZSIpOworICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCJpbWFnZSIs
ICJpbWFnZSBAIE5ldHdvcmsgVGFiIFJlc291cmNlIFR5cGUgQ29sdW1uIFZhbHVlIiwgIlNob3du
IGluIHRoZSAnVHlwZScgY29sdW1uIG9mIHRoZSBOZXR3b3JrIFRhYmxlIGZvciBpbWFnZSByZXNv
dXJjZXMuIik7CisKICAgICAgICAgY2FzZSBXSS5SZXNvdXJjZS5UeXBlLkZvbnQ6Ci0gICAgICAg
ICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIkZvbnQiKTsKKyAgICAgICAgICAgIHJldHVybiBXSS5V
SVN0cmluZygiZm9udCIsICJmb250IEAgTmV0d29yayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4g
VmFsdWUiLCAiU2hvd24gaW4gdGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUg
Zm9yIGZvbnQgcmVzb3VyY2VzLiIpOworCiAgICAgICAgIGNhc2UgV0kuUmVzb3VyY2UuVHlwZS5T
Y3JpcHQ6Ci0gICAgICAgICAgICByZXR1cm4gV0kudW5sb2NhbGl6ZWRTdHJpbmcoIkpTIik7Cisg
ICAgICAgICAgICByZXR1cm4gV0kudW5sb2NhbGl6ZWRTdHJpbmcoImpzIik7CisKICAgICAgICAg
Y2FzZSBXSS5SZXNvdXJjZS5UeXBlLlhIUjoKLSAgICAgICAgICAgIHJldHVybiBXSS51bmxvY2Fs
aXplZFN0cmluZygiWEhSIik7CisgICAgICAgICAgICByZXR1cm4gV0kudW5sb2NhbGl6ZWRTdHJp
bmcoInhociIpOworCiAgICAgICAgIGNhc2UgV0kuUmVzb3VyY2UuVHlwZS5GZXRjaDoKLSAgICAg
ICAgICAgIHJldHVybiBXSS5yZXBlYXRlZFVJU3RyaW5nLmZldGNoKCk7CisgICAgICAgICAgICBy
ZXR1cm4gV0kuVUlTdHJpbmcoImZldGNoIiwgImZldGNoIEAgTmV0d29yayBUYWIgUmVzb3VyY2Ug
VHlwZSBDb2x1bW4gVmFsdWUiLCAiU2hvd24gaW4gdGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5l
dHdvcmsgVGFibGUgZm9yIHJlc291cmNlcyBsb2FkZWQgdmlhIHRoZSAnZmV0Y2gnIG1ldGhvZC4i
KTsKKwogICAgICAgICBjYXNlIFdJLlJlc291cmNlLlR5cGUuUGluZzoKLSAgICAgICAgICAgIHJl
dHVybiBXSS5VSVN0cmluZygiUGluZyIpOworICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5n
KCJwaW5nIiwgInBpbmcgQCBOZXR3b3JrIFRhYiBSZXNvdXJjZSBUeXBlIENvbHVtbiBWYWx1ZSIs
ICJTaG93biBpbiB0aGUgJ1R5cGUnIGNvbHVtbiBvZiB0aGUgTmV0d29yayBUYWJsZSBmb3IgcmVz
b3VyY2VzIGxvYWRlZCB2aWEgJzxhIHBpbmc+JyBlbGVtZW50cy4iKTsKKwogICAgICAgICBjYXNl
IFdJLlJlc291cmNlLlR5cGUuQmVhY29uOgotICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5n
KCJCZWFjb24iKTsKKyAgICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiYmVhY29uIiwgImJl
YWNvbiBAIE5ldHdvcmsgVGFiIFJlc291cmNlIFR5cGUgQ29sdW1uIFZhbHVlIiwgIlNob3duIGlu
IHRoZSAnVHlwZScgY29sdW1uIG9mIHRoZSBOZXR3b3JrIFRhYmxlIGZvciByZXNvdXJjZXMgbG9h
ZGVkIHZpYSB0aGUgQmVhY29uIEFQSS4iKTsKKwogICAgICAgICBjYXNlIFdJLlJlc291cmNlLlR5
cGUuV2ViU29ja2V0OgotICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCJTb2NrZXQiKTsK
KyAgICAgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygic29ja2V0IiwgInNvY2tldCBAIE5ldHdv
cmsgVGFiIFJlc291cmNlIFR5cGUgQ29sdW1uIFZhbHVlIiwgIlNob3duIGluIHRoZSAnVHlwZScg
Y29sdW1uIG9mIHRoZSBOZXR3b3JrIFRhYmxlIGZvciBXZWJTb2NrZXQgcmVzb3VyY2VzLiIpOwor
CiAgICAgICAgIGNhc2UgV0kuUmVzb3VyY2UuVHlwZS5PdGhlcjoKLSAgICAgICAgICAgIHJldHVy
biBXSS5VSVN0cmluZygiT3RoZXIiKTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGNv
bnNvbGUuZXJyb3IoIlVua25vd24gcmVzb3VyY2UgdHlwZSIsIHR5cGUpOwotICAgICAgICAgICAg
cmV0dXJuIG51bGw7CisgICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIm90aGVyIiwgIm90
aGVyIEAgTmV0d29yayBUYWIgUmVzb3VyY2UgVHlwZSBDb2x1bW4gVmFsdWUiLCAiU2hvd24gaW4g
dGhlICdUeXBlJyBjb2x1bW4gb2YgdGhlIE5ldHdvcmsgVGFibGUgZm9yIHJlc291cmNlcyB0aGF0
IGRvbid0IGZhbGwgaW50byBhbnkgb2YgdGhlIG90aGVyIGtub3duIHR5cGVzL2NhdGVnb3JpZXMu
Iik7CiAgICAgICAgIH0KKworICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgcmVzb3VyY2Uu
dHlwZSk7CisgICAgICAgIHJldHVybiAiIjsKICAgICB9CiAKICAgICBzdGF0aWMgZ2V0IG5vZGVX
YXRlcmZhbGxET01FdmVudFNpemUoKSB7IHJldHVybiA4OyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>