<?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>239453</bug_id>
          
          <creation_ts>2022-04-18 09:58:50 -0700</creation_ts>
          <short_desc>Use convertToASCIILowercase() less and more SortedArrayMap / SortedArraySet</short_desc>
          <delta_ts>2022-04-19 12:34:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1862247</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-18 09:58:50 -0700</bug_when>
    <thetext>Use convertToASCIILowercase() less and more SortedArrayMap / SortedArraySet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862248</commentid>
    <comment_count>1</comment_count>
      <attachid>457807</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-18 10:00:25 -0700</bug_when>
    <thetext>Created attachment 457807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862256</commentid>
    <comment_count>2</comment_count>
      <attachid>457809</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-18 10:25:24 -0700</bug_when>
    <thetext>Created attachment 457809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862335</commentid>
    <comment_count>3</comment_count>
      <attachid>457809</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-04-18 15:13:56 -0700</bug_when>
    <thetext>Comment on attachment 457809
Patch

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

&gt; Source/WebCore/Modules/applicationmanifest/ApplicationManifestParser.cpp:157
&gt; +    if (auto* displayValue = displayValues.tryGet(StringView(stringValue).stripWhiteSpace()))

Not changing in this patch: Seems like this should be stripping leading and trailing *HTML* whitespace, probably a subtle and unimportant that it strips all *ASCII* whitespace, which includes one character that HTML does not. I also think it’s a little strange that the StringView function is named stripWhiteSpace, because we normally say ASCIISpace or HTMLSpace or HTTPSpace and just &quot;space&quot; typically means some kind of Unicode space.

&gt; Source/WebDriver/WebDriverService.cpp:232
&gt; +    if (auto* methodValue = httpMethods.tryGet(method))
&gt; +        return *methodValue;
&gt;      return std::nullopt;

Makes me wish we had a &quot;convert pointer to optional&quot; function you could have used here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862339</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-18 15:25:34 -0700</bug_when>
    <thetext>Committed r292976 (249739@main): &lt;https://commits.webkit.org/249739@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457809.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862340</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-18 15:26:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/91921586&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862683</commentid>
    <comment_count>6</comment_count>
      <attachid>457809</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2022-04-19 12:34:59 -0700</bug_when>
    <thetext>Comment on attachment 457809
Patch

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

&gt; Source/WebCore/platform/graphics/MediaPlayer.cpp:1116
&gt; +    if (!containerType.startsWithIgnoringASCIICase(&quot;video/&quot;) &amp;&amp; !containerType.startsWithIgnoringASCIICase(&quot;audio/&quot;) &amp;&amp; !containerType.startsWithIgnoringASCIICase(&quot;application/&quot;))

Hm, if this is common (I am not sure it is), it makes me wonder if there is a variant of SortedArrayMap to be made that does startsWith() rather than ==.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457807</attachid>
            <date>2022-04-18 10:00:25 -0700</date>
            <delta_ts>2022-04-18 10:27:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239453-20220418100024.patch</filename>
            <type>text/plain</type>
            <size>9220</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyOTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTc3Yzk1Y2RmNjg0MjVl
N2E2MzNmZWMxMzYwZWE5NTYxMTk3Y2QyZC4uOTEzZDNiY2FkMTYyNmRkZDEyMTY4MjljZGU4NWQ3
NjllMDkwYTdlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTA0LTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGNvbnZlcnRUb0FTQ0lJ
TG93ZXJjYXNlKCkgbGVzcyBhbmQgbW9yZSBTb3J0ZWRBcnJheU1hcCAvIFNvcnRlZEFycmF5U2V0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0NTMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVs
ZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXI6OnBhcnNlRGlzcGxheSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnN1cHBvcnRzVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmlzVW5z
dXBwb3J0ZWRNSU1FVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvQVZBc3NldE1JTUVUeXBlQ2FjaGUubW06CisgICAgICAgIChXZWJDb3JlOjpBVkFz
c2V0TUlNRVR5cGVDYWNoZTo6aXNVbnN1cHBvcnRlZENvbnRhaW5lclR5cGUpOgorCiAyMDIyLTA0
LTE4ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbSUZDXVtJbnRl
Z3JhdGlvbl0gTW92ZSBpbmxpbmUgaW50ZWdyYXRpb24gdW5kZXIgbGF5b3V0L2ludGVncmF0aW9u
L2lubGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkRyaXZlci9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViRHJpdmVyL0NoYW5nZUxvZwppbmRleCAxNDFhZjllNDMzZWNlZjIxNThlN2M4ODZiOGIyMmYw
ZGQ2ZGM0NWY0Li5mY2RkNzdjZDMwYzllNTY1M2VjOGI1MmQzOWJhZjQzMTQxOGZiYjMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViRHJpdmVy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIyLTA0LTE4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCkg
bGVzcyBhbmQgbW9yZSBTb3J0ZWRBcnJheU1hcCAvIFNvcnRlZEFycmF5U2V0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0NTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkRyaXZlclNlcnZpY2Uu
Y3BwOgorICAgICAgICAoV2ViRHJpdmVyOjpXZWJEcml2ZXJTZXJ2aWNlOjp0b0NvbW1hbmRIVFRQ
TWV0aG9kKToKKwogMjAyMi0wNC0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlcGxhY2UgY2FsbHMgdG8gc3Vic3RyaW5nKDAsIHgpIHdpdGggdGhlIG1vcmUg
Y29uY2lzZSBsZWZ0KHgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxp
Y2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNl
ci5jcHAKaW5kZXggMWRlYzhmYWQyZmJhZGI2MTdlYTFkM2RmYzg2MDA5YjNiMDJjZjZmOS4uNzJj
YjI4YzQzMjhkNGU3NjNjMTcxY2ZkYTQzZmM5ZTdiY2EyNmI0OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3RQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVz
dC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9Db25zb2xlTWVzc2FnZS5oPgorI2luY2x1ZGUgPHd0Zi9Tb3J0ZWRBcnJh
eU1hcC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE0NSwxNiArMTQ2LDE2IEBAIEFw
cGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXkgQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFy
c2VEaXNwbGF5KGNvbnN0IEpTT046CiAgICAgICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0
OjpEaXNwbGF5OjpCcm93c2VyOwogICAgIH0KIAotICAgIHN0cmluZ1ZhbHVlID0gU3RyaW5nVmll
dyhzdHJpbmdWYWx1ZSkuc3RyaXBXaGl0ZVNwYWNlKCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2Uo
KTsKKyAgICBzdGF0aWMgY29uc3RleHByIHN0ZDo6cGFpcjxDb21wYXJhYmxlTGV0dGVyc0xpdGVy
YWwsIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk+IGRpc3BsYXlWYWx1ZU1hcHBpbmdzW10g
PSB7CisgICAgICAgIHsgImJyb3dzZXIiLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpC
cm93c2VyIH0sCisgICAgICAgIHsgImZ1bGxzY3JlZW4iLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpE
aXNwbGF5OjpGdWxsc2NyZWVuIH0sCisgICAgICAgIHsgIm1pbmltYWwtdWkiLCBBcHBsaWNhdGlv
bk1hbmlmZXN0OjpEaXNwbGF5OjpNaW5pbWFsVUkgfSwKKyAgICAgICAgeyAic3RhbmRhbG9uZSIs
IEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OlN0YW5kYWxvbmUgfSwKKyAgICB9OworICAg
IHN0YXRpYyBjb25zdGV4cHIgU29ydGVkQXJyYXlNYXAgZGlzcGxheVZhbHVlcyB7IGRpc3BsYXlW
YWx1ZU1hcHBpbmdzIH07CiAKLSAgICBpZiAoc3RyaW5nVmFsdWUgPT0gImZ1bGxzY3JlZW4iKQot
ICAgICAgICByZXR1cm4gQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6RnVsbHNjcmVlbjsK
LSAgICBpZiAoc3RyaW5nVmFsdWUgPT0gInN0YW5kYWxvbmUiKQotICAgICAgICByZXR1cm4gQXBw
bGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRhbG9uZTsKLSAgICBpZiAoc3RyaW5nVmFs
dWUgPT0gIm1pbmltYWwtdWkiKQotICAgICAgICByZXR1cm4gQXBwbGljYXRpb25NYW5pZmVzdDo6
RGlzcGxheTo6TWluaW1hbFVJOwotICAgIGlmIChzdHJpbmdWYWx1ZSA9PSAiYnJvd3NlciIpCi0g
ICAgICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyOworICAg
IGlmIChhdXRvKiBkaXNwbGF5VmFsdWUgPSBkaXNwbGF5VmFsdWVzLnRyeUdldChTdHJpbmdWaWV3
KHN0cmluZ1ZhbHVlKS5zdHJpcFdoaXRlU3BhY2UoKSkpCisgICAgICAgIHJldHVybiAqZGlzcGxh
eVZhbHVlOwogCiAgICAgbG9nRGV2ZWxvcGVyV2FybmluZyhtYWtlU3RyaW5nKCJcIiJfcywgc3Ry
aW5nVmFsdWUsICJcIiBpcyBub3QgYSB2YWxpZCBkaXNwbGF5IG1vZGUuIl9zKSk7CiAgICAgcmV0
dXJuIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggZGJiODBjYTY0
MzhjOTAzODU5YTdmOTkwMTg4NTRhZjYwYjcxZWU5YS4uZTQ4ZmFkNGEwMTAxNTQxNTE4ZTVjMWMw
NDgzNjNhODgzYTZmMDU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTExMyw4ICsxMTEzLDcgQEAgTWVkaWFQbGF5ZXI6OlN1
cHBvcnRzVHlwZSBNZWRpYVBsYXllcjo6c3VwcG9ydHNUeXBlKGNvbnN0IE1lZGlhRW5naW5lU3Vw
cG9ydFBhcmEKICAgICBpZiAoY29udGFpbmVyVHlwZSA9PSBhcHBsaWNhdGlvbk9jdGV0U3RyZWFt
KCkpCiAgICAgICAgIHJldHVybiBTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkOwogCi0gICAg
YXV0byBsb3dlcmNhc2VUeXBlID0gY29udGFpbmVyVHlwZS5jb252ZXJ0VG9BU0NJSUxvd2VyY2Fz
ZSgpOwotICAgIGlmICghbG93ZXJjYXNlVHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKSAmJiAhbG93
ZXJjYXNlVHlwZS5zdGFydHNXaXRoKCJhdWRpby8iKSAmJiAhbG93ZXJjYXNlVHlwZS5zdGFydHNX
aXRoKCJhcHBsaWNhdGlvbi8iKSkKKyAgICBpZiAoIWNvbnRhaW5lclR5cGUuc3RhcnRzV2l0aEln
bm9yaW5nQVNDSUlDYXNlKCJ2aWRlby8iKSAmJiAhY29udGFpbmVyVHlwZS5zdGFydHNXaXRoSWdu
b3JpbmdBU0NJSUNhc2UoImF1ZGlvLyIpICYmICFjb250YWluZXJUeXBlLnN0YXJ0c1dpdGhJZ25v
cmluZ0FTQ0lJQ2FzZSgiYXBwbGljYXRpb24vIikpCiAgICAgICAgIHJldHVybiBTdXBwb3J0c1R5
cGU6OklzTm90U3VwcG9ydGVkOwogCiAgICAgY29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBlbmdp
bmUgPSBiZXN0TWVkaWFFbmdpbmVGb3JTdXBwb3J0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5j
cHAKaW5kZXggMjE2N2ZkMGYwOGU5MTAzZjM4NzA5ZTE4ODRmNjM2NDlkNDhjNGI1YS4uOTlkYmYw
Y2Y3YTY5ZDM0NTM5ZDViYTJkOWJiMzA3MWJkOGJmYzg4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAgLTQ4LDYgKzQ4
LDcgQEAKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9Tb2Z0TGlua2luZy5oPgorI2luY2x1ZGUgPHd0Zi9T
b3J0ZWRBcnJheU1hcC5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2lu
Y2x1ZGUgPHd0Zi9VUkwuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMDcw
LDE5ICsxMDcxLDkgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmlzVW5z
dXBwb3J0ZWRNSU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCiAgICAgLy8gUmVqZWN0IHR5cGVzIHdlIGtub3cgQVZGb3VuZGF0aW9uIGRvZXMgbm90IHN1
cHBvcnQgdGhhdCBzaXRlcyBjb21tb25seSBhc2sgYWJvdXQuCi0gICAgaWYgKGxvd2VyQ2FzZVR5
cGUgPT0gInZpZGVvL3dlYm0iIHx8IGxvd2VyQ2FzZVR5cGUgPT0gImF1ZGlvL3dlYm0iIHx8IGxv
d2VyQ2FzZVR5cGUgPT0gInZpZGVvL3gtd2VibSIpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgaWYgKGxvd2VyQ2FzZVR5cGUgPT0gInZpZGVvL3gtZmx2IikKLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0KLSAgICBpZiAobG93ZXJDYXNlVHlwZSA9PSAiYXVkaW8vb2dnIiB8fCBsb3dlckNhc2VU
eXBlID09ICJ2aWRlby9vZ2ciIHx8IGxvd2VyQ2FzZVR5cGUgPT0gImFwcGxpY2F0aW9uL29nZyIp
Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKGxvd2VyQ2FzZVR5cGUgPT0gInZpZGVv
L2gyNjQiKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIHJldHVybiBmYWxzZTsKKyAgICBz
dGF0aWMgY29uc3RleHByIENvbXBhcmFibGVBU0NJSUxpdGVyYWwgdW5zdXBwb3J0ZWRUeXBlc0Fy
cmF5W10gPSB7ICJhcHBsaWNhdGlvbi9vZ2ciLCAiYXVkaW8vb2dnIiwgImF1ZGlvL3dlYm0iLCAi
dmlkZW8vaDI2NCIsICJ2aWRlby9vZ2ciLCAidmlkZW8vd2VibSIsICJ2aWRlby94LWZsdiIsICJ2
aWRlby94LXdlYm0iIH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBTb3J0ZWRBcnJheVNldCB1bnN1
cHBvcnRlZFR5cGVzU2V0IHsgdW5zdXBwb3J0ZWRUeXBlc0FycmF5IH07CisgICAgcmV0dXJuIHVu
c3VwcG9ydGVkVHlwZXNTZXQuY29udGFpbnMobG93ZXJDYXNlVHlwZSk7CiB9CiAKIGJvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpzaG91bGRFbmFibGVJbmhlcml0VVJJUXVlcnlD
b21wb25lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQVZBc3NldE1JTUVUeXBlQ2FjaGUubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9BVkFzc2V0TUlNRVR5
cGVDYWNoZS5tbQppbmRleCBkODQ4MDVmMjM1MWViMWQzNjM4Mzc4OTlhODZjNjA4OGVjNDM3MTE4
Li41ODM2MDE3MDFkZjk2ODY5MzE2ZGNkM2NmOWUxZjg5NGI5ZGZiYWRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9BVkFzc2V0
TUlNRVR5cGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9BVkFzc2V0TUlNRVR5cGVDYWNoZS5tbQpAQCAtODIsMTYgKzgyLDkg
QEAgYm9vbCBBVkFzc2V0TUlNRVR5cGVDYWNoZTo6aXNVbnN1cHBvcnRlZENvbnRhaW5lclR5cGUo
Y29uc3QgU3RyaW5nJiB0eXBlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIC8vIFJlamVj
dCB0eXBlcyB3ZSBrbm93IEFWRm91bmRhdGlvbiBkb2VzIG5vdCBzdXBwb3J0IHRoYXQgc2l0ZXMg
Y29tbW9ubHkgYXNrIGFib3V0LgotICAgIGlmIChsb3dlckNhc2VUeXBlID09ICJ2aWRlby94LWZs
diIpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKGxvd2VyQ2FzZVR5cGUgPT0gImF1
ZGlvL29nZyIgfHwgbG93ZXJDYXNlVHlwZSA9PSAidmlkZW8vb2dnIiB8fCBsb3dlckNhc2VUeXBl
ID09ICJhcHBsaWNhdGlvbi9vZ2ciKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChs
b3dlckNhc2VUeXBlID09ICJ2aWRlby9oMjY0IikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAg
ICByZXR1cm4gZmFsc2U7CisgICAgc3RhdGljIGNvbnN0ZXhwciBDb21wYXJhYmxlQVNDSUlMaXRl
cmFsIHVuc3VwcG9ydGVkVHlwZXNBcnJheVtdID0geyAiYXBwbGljYXRpb24vb2dnIiwgImF1ZGlv
L29nZyIsICJ2aWRlby9oMjY0IiwgInZpZGVvL29nZyIsICJ2aWRlby94LWZsdiIgfTsKKyAgICBz
dGF0aWMgY29uc3RleHByIFNvcnRlZEFycmF5U2V0IHVuc3VwcG9ydGVkVHlwZXNTZXQgeyB1bnN1
cHBvcnRlZFR5cGVzQXJyYXkgfTsKKyAgICByZXR1cm4gdW5zdXBwb3J0ZWRUeXBlc1NldC5jb250
YWlucyhsb3dlckNhc2VUeXBlKTsKIH0KIAogYm9vbCBBVkFzc2V0TUlNRVR5cGVDYWNoZTo6aXNT
dGF0aWNDb250YWluZXJUeXBlKFN0cmluZ1ZpZXcgdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJEcml2ZXIvV2ViRHJpdmVyU2VydmljZS5jcHAgYi9Tb3VyY2UvV2ViRHJpdmVyL1dlYkRyaXZl
clNlcnZpY2UuY3BwCmluZGV4IDg4NmU3NjM0NDg3YTkwNmNjOTc2NjcwYTc3NDg0NDgxOTk4YWYy
ZjUuLmExMjczMzI5ZGNkNWMzOGI4ZWY5YTQyZTc1NjdhN2I5MjYwMzM3YjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJEcml2ZXIvV2ViRHJpdmVyU2VydmljZS5jcHAKKysrIGIvU291cmNlL1dlYkRy
aXZlci9XZWJEcml2ZXJTZXJ2aWNlLmNwcApAQCAtMjE4LDE0ICsyMTgsMTYgQEAgY29uc3QgV2Vi
RHJpdmVyU2VydmljZTo6Q29tbWFuZCBXZWJEcml2ZXJTZXJ2aWNlOjpzX2NvbW1hbmRzW10gPSB7
CiAKIHN0ZDo6b3B0aW9uYWw8V2ViRHJpdmVyU2VydmljZTo6SFRUUE1ldGhvZD4gV2ViRHJpdmVy
U2VydmljZTo6dG9Db21tYW5kSFRUUE1ldGhvZChjb25zdCBTdHJpbmcmIG1ldGhvZCkKIHsKLSAg
ICBhdXRvIGxvd2VyQ2FzZU1ldGhvZCA9IG1ldGhvZC5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgp
OwotICAgIGlmIChsb3dlckNhc2VNZXRob2QgPT0gImdldCIpCi0gICAgICAgIHJldHVybiBXZWJE
cml2ZXJTZXJ2aWNlOjpIVFRQTWV0aG9kOjpHZXQ7Ci0gICAgaWYgKGxvd2VyQ2FzZU1ldGhvZCA9
PSAicG9zdCIgfHwgbG93ZXJDYXNlTWV0aG9kID09ICJwdXQiKQotICAgICAgICByZXR1cm4gV2Vi
RHJpdmVyU2VydmljZTo6SFRUUE1ldGhvZDo6UG9zdDsKLSAgICBpZiAobG93ZXJDYXNlTWV0aG9k
ID09ICJkZWxldGUiKQotICAgICAgICByZXR1cm4gV2ViRHJpdmVyU2VydmljZTo6SFRUUE1ldGhv
ZDo6RGVsZXRlOwotCisgICAgc3RhdGljIGNvbnN0ZXhwciBzdGQ6OnBhaXI8Q29tcGFyYWJsZUxl
dHRlcnNMaXRlcmFsLCBXZWJEcml2ZXJTZXJ2aWNlOjpIVFRQTWV0aG9kPiBodHRwTWV0aG9kTWFw
cGluZ3NbXSA9IHsKKyAgICAgICAgeyAiZGVsZXRlIiwgV2ViRHJpdmVyU2VydmljZTo6SFRUUE1l
dGhvZDo6RGVsZXRlIH0sCisgICAgICAgIHsgImdldCIsIFdlYkRyaXZlclNlcnZpY2U6OkhUVFBN
ZXRob2Q6OkdldCB9LAorICAgICAgICB7ICJwb3N0IiwgV2ViRHJpdmVyU2VydmljZTo6SFRUUE1l
dGhvZDo6UG9zdCB9LAorICAgICAgICB7ICJwdXQiLCBXZWJEcml2ZXJTZXJ2aWNlOjpIVFRQTWV0
aG9kOjpQb3N0IH0sCisgICAgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIFNvcnRlZEFycmF5TWFw
IGh0dHBNZXRob2RzIHsgaHR0cE1ldGhvZE1hcHBpbmdzIH07CisKKyAgICBpZiAoYXV0byogbWV0
aG9kVmFsdWUgPSBodHRwTWV0aG9kcy50cnlHZXQobWV0aG9kKSkKKyAgICAgICAgcmV0dXJuICpt
ZXRob2RWYWx1ZTsKICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogfQogCg==
</data>
<flag name="commit-queue"
          id="486500"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457809</attachid>
            <date>2022-04-18 10:25:24 -0700</date>
            <delta_ts>2022-04-18 15:25:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239453-20220418102523.patch</filename>
            <type>text/plain</type>
            <size>9433</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyOTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTc3Yzk1Y2RmNjg0MjVl
N2E2MzNmZWMxMzYwZWE5NTYxMTk3Y2QyZC4uOTEzZDNiY2FkMTYyNmRkZDEyMTY4MjljZGU4NWQ3
NjllMDkwYTdlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTA0LTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGNvbnZlcnRUb0FTQ0lJ
TG93ZXJjYXNlKCkgbGVzcyBhbmQgbW9yZSBTb3J0ZWRBcnJheU1hcCAvIFNvcnRlZEFycmF5U2V0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0NTMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVs
ZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXI6OnBhcnNlRGlzcGxheSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnN1cHBvcnRzVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmlzVW5z
dXBwb3J0ZWRNSU1FVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvQVZBc3NldE1JTUVUeXBlQ2FjaGUubW06CisgICAgICAgIChXZWJDb3JlOjpBVkFz
c2V0TUlNRVR5cGVDYWNoZTo6aXNVbnN1cHBvcnRlZENvbnRhaW5lclR5cGUpOgorCiAyMDIyLTA0
LTE4ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbSUZDXVtJbnRl
Z3JhdGlvbl0gTW92ZSBpbmxpbmUgaW50ZWdyYXRpb24gdW5kZXIgbGF5b3V0L2ludGVncmF0aW9u
L2lubGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkRyaXZlci9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViRHJpdmVyL0NoYW5nZUxvZwppbmRleCAxNDFhZjllNDMzZWNlZjIxNThlN2M4ODZiOGIyMmYw
ZGQ2ZGM0NWY0Li5mY2RkNzdjZDMwYzllNTY1M2VjOGI1MmQzOWJhZjQzMTQxOGZiYjMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViRHJpdmVy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIyLTA0LTE4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCkg
bGVzcyBhbmQgbW9yZSBTb3J0ZWRBcnJheU1hcCAvIFNvcnRlZEFycmF5U2V0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0NTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkRyaXZlclNlcnZpY2Uu
Y3BwOgorICAgICAgICAoV2ViRHJpdmVyOjpXZWJEcml2ZXJTZXJ2aWNlOjp0b0NvbW1hbmRIVFRQ
TWV0aG9kKToKKwogMjAyMi0wNC0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlcGxhY2UgY2FsbHMgdG8gc3Vic3RyaW5nKDAsIHgpIHdpdGggdGhlIG1vcmUg
Y29uY2lzZSBsZWZ0KHgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxp
Y2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNl
ci5jcHAKaW5kZXggMWRlYzhmYWQyZmJhZGI2MTdlYTFkM2RmYzg2MDA5YjNiMDJjZjZmOS4uNzJj
YjI4YzQzMjhkNGU3NjNjMTcxY2ZkYTQzZmM5ZTdiY2EyNmI0OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3RQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVz
dC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9Db25zb2xlTWVzc2FnZS5oPgorI2luY2x1ZGUgPHd0Zi9Tb3J0ZWRBcnJh
eU1hcC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE0NSwxNiArMTQ2LDE2IEBAIEFw
cGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXkgQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFy
c2VEaXNwbGF5KGNvbnN0IEpTT046CiAgICAgICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0
OjpEaXNwbGF5OjpCcm93c2VyOwogICAgIH0KIAotICAgIHN0cmluZ1ZhbHVlID0gU3RyaW5nVmll
dyhzdHJpbmdWYWx1ZSkuc3RyaXBXaGl0ZVNwYWNlKCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2Uo
KTsKKyAgICBzdGF0aWMgY29uc3RleHByIHN0ZDo6cGFpcjxDb21wYXJhYmxlTGV0dGVyc0xpdGVy
YWwsIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk+IGRpc3BsYXlWYWx1ZU1hcHBpbmdzW10g
PSB7CisgICAgICAgIHsgImJyb3dzZXIiLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpC
cm93c2VyIH0sCisgICAgICAgIHsgImZ1bGxzY3JlZW4iLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpE
aXNwbGF5OjpGdWxsc2NyZWVuIH0sCisgICAgICAgIHsgIm1pbmltYWwtdWkiLCBBcHBsaWNhdGlv
bk1hbmlmZXN0OjpEaXNwbGF5OjpNaW5pbWFsVUkgfSwKKyAgICAgICAgeyAic3RhbmRhbG9uZSIs
IEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OlN0YW5kYWxvbmUgfSwKKyAgICB9OworICAg
IHN0YXRpYyBjb25zdGV4cHIgU29ydGVkQXJyYXlNYXAgZGlzcGxheVZhbHVlcyB7IGRpc3BsYXlW
YWx1ZU1hcHBpbmdzIH07CiAKLSAgICBpZiAoc3RyaW5nVmFsdWUgPT0gImZ1bGxzY3JlZW4iKQot
ICAgICAgICByZXR1cm4gQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6RnVsbHNjcmVlbjsK
LSAgICBpZiAoc3RyaW5nVmFsdWUgPT0gInN0YW5kYWxvbmUiKQotICAgICAgICByZXR1cm4gQXBw
bGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRhbG9uZTsKLSAgICBpZiAoc3RyaW5nVmFs
dWUgPT0gIm1pbmltYWwtdWkiKQotICAgICAgICByZXR1cm4gQXBwbGljYXRpb25NYW5pZmVzdDo6
RGlzcGxheTo6TWluaW1hbFVJOwotICAgIGlmIChzdHJpbmdWYWx1ZSA9PSAiYnJvd3NlciIpCi0g
ICAgICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyOworICAg
IGlmIChhdXRvKiBkaXNwbGF5VmFsdWUgPSBkaXNwbGF5VmFsdWVzLnRyeUdldChTdHJpbmdWaWV3
KHN0cmluZ1ZhbHVlKS5zdHJpcFdoaXRlU3BhY2UoKSkpCisgICAgICAgIHJldHVybiAqZGlzcGxh
eVZhbHVlOwogCiAgICAgbG9nRGV2ZWxvcGVyV2FybmluZyhtYWtlU3RyaW5nKCJcIiJfcywgc3Ry
aW5nVmFsdWUsICJcIiBpcyBub3QgYSB2YWxpZCBkaXNwbGF5IG1vZGUuIl9zKSk7CiAgICAgcmV0
dXJuIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggZGJiODBjYTY0
MzhjOTAzODU5YTdmOTkwMTg4NTRhZjYwYjcxZWU5YS4uZTQ4ZmFkNGEwMTAxNTQxNTE4ZTVjMWMw
NDgzNjNhODgzYTZmMDU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTExMyw4ICsxMTEzLDcgQEAgTWVkaWFQbGF5ZXI6OlN1
cHBvcnRzVHlwZSBNZWRpYVBsYXllcjo6c3VwcG9ydHNUeXBlKGNvbnN0IE1lZGlhRW5naW5lU3Vw
cG9ydFBhcmEKICAgICBpZiAoY29udGFpbmVyVHlwZSA9PSBhcHBsaWNhdGlvbk9jdGV0U3RyZWFt
KCkpCiAgICAgICAgIHJldHVybiBTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkOwogCi0gICAg
YXV0byBsb3dlcmNhc2VUeXBlID0gY29udGFpbmVyVHlwZS5jb252ZXJ0VG9BU0NJSUxvd2VyY2Fz
ZSgpOwotICAgIGlmICghbG93ZXJjYXNlVHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKSAmJiAhbG93
ZXJjYXNlVHlwZS5zdGFydHNXaXRoKCJhdWRpby8iKSAmJiAhbG93ZXJjYXNlVHlwZS5zdGFydHNX
aXRoKCJhcHBsaWNhdGlvbi8iKSkKKyAgICBpZiAoIWNvbnRhaW5lclR5cGUuc3RhcnRzV2l0aEln
bm9yaW5nQVNDSUlDYXNlKCJ2aWRlby8iKSAmJiAhY29udGFpbmVyVHlwZS5zdGFydHNXaXRoSWdu
b3JpbmdBU0NJSUNhc2UoImF1ZGlvLyIpICYmICFjb250YWluZXJUeXBlLnN0YXJ0c1dpdGhJZ25v
cmluZ0FTQ0lJQ2FzZSgiYXBwbGljYXRpb24vIikpCiAgICAgICAgIHJldHVybiBTdXBwb3J0c1R5
cGU6OklzTm90U3VwcG9ydGVkOwogCiAgICAgY29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBlbmdp
bmUgPSBiZXN0TWVkaWFFbmdpbmVGb3JTdXBwb3J0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5j
cHAKaW5kZXggMjE2N2ZkMGYwOGU5MTAzZjM4NzA5ZTE4ODRmNjM2NDlkNDhjNGI1YS4uOTlkYmYw
Y2Y3YTY5ZDM0NTM5ZDViYTJkOWJiMzA3MWJkOGJmYzg4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAgLTQ4LDYgKzQ4
LDcgQEAKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9Tb2Z0TGlua2luZy5oPgorI2luY2x1ZGUgPHd0Zi9T
b3J0ZWRBcnJheU1hcC5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2lu
Y2x1ZGUgPHd0Zi9VUkwuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMDcw
LDE5ICsxMDcxLDkgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmlzVW5z
dXBwb3J0ZWRNSU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCiAgICAgLy8gUmVqZWN0IHR5cGVzIHdlIGtub3cgQVZGb3VuZGF0aW9uIGRvZXMgbm90IHN1
cHBvcnQgdGhhdCBzaXRlcyBjb21tb25seSBhc2sgYWJvdXQuCi0gICAgaWYgKGxvd2VyQ2FzZVR5
cGUgPT0gInZpZGVvL3dlYm0iIHx8IGxvd2VyQ2FzZVR5cGUgPT0gImF1ZGlvL3dlYm0iIHx8IGxv
d2VyQ2FzZVR5cGUgPT0gInZpZGVvL3gtd2VibSIpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgaWYgKGxvd2VyQ2FzZVR5cGUgPT0gInZpZGVvL3gtZmx2IikKLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0KLSAgICBpZiAobG93ZXJDYXNlVHlwZSA9PSAiYXVkaW8vb2dnIiB8fCBsb3dlckNhc2VU
eXBlID09ICJ2aWRlby9vZ2ciIHx8IGxvd2VyQ2FzZVR5cGUgPT0gImFwcGxpY2F0aW9uL29nZyIp
Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKGxvd2VyQ2FzZVR5cGUgPT0gInZpZGVv
L2gyNjQiKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIHJldHVybiBmYWxzZTsKKyAgICBz
dGF0aWMgY29uc3RleHByIENvbXBhcmFibGVBU0NJSUxpdGVyYWwgdW5zdXBwb3J0ZWRUeXBlc0Fy
cmF5W10gPSB7ICJhcHBsaWNhdGlvbi9vZ2ciLCAiYXVkaW8vb2dnIiwgImF1ZGlvL3dlYm0iLCAi
dmlkZW8vaDI2NCIsICJ2aWRlby9vZ2ciLCAidmlkZW8vd2VibSIsICJ2aWRlby94LWZsdiIsICJ2
aWRlby94LXdlYm0iIH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBTb3J0ZWRBcnJheVNldCB1bnN1
cHBvcnRlZFR5cGVzU2V0IHsgdW5zdXBwb3J0ZWRUeXBlc0FycmF5IH07CisgICAgcmV0dXJuIHVu
c3VwcG9ydGVkVHlwZXNTZXQuY29udGFpbnMobG93ZXJDYXNlVHlwZSk7CiB9CiAKIGJvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpzaG91bGRFbmFibGVJbmhlcml0VVJJUXVlcnlD
b21wb25lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQVZBc3NldE1JTUVUeXBlQ2FjaGUubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9BVkFzc2V0TUlNRVR5
cGVDYWNoZS5tbQppbmRleCBkODQ4MDVmMjM1MWViMWQzNjM4Mzc4OTlhODZjNjA4OGVjNDM3MTE4
Li41ODM2MDE3MDFkZjk2ODY5MzE2ZGNkM2NmOWUxZjg5NGI5ZGZiYWRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9BVkFzc2V0
TUlNRVR5cGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9BVkFzc2V0TUlNRVR5cGVDYWNoZS5tbQpAQCAtODIsMTYgKzgyLDkg
QEAgYm9vbCBBVkFzc2V0TUlNRVR5cGVDYWNoZTo6aXNVbnN1cHBvcnRlZENvbnRhaW5lclR5cGUo
Y29uc3QgU3RyaW5nJiB0eXBlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIC8vIFJlamVj
dCB0eXBlcyB3ZSBrbm93IEFWRm91bmRhdGlvbiBkb2VzIG5vdCBzdXBwb3J0IHRoYXQgc2l0ZXMg
Y29tbW9ubHkgYXNrIGFib3V0LgotICAgIGlmIChsb3dlckNhc2VUeXBlID09ICJ2aWRlby94LWZs
diIpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKGxvd2VyQ2FzZVR5cGUgPT0gImF1
ZGlvL29nZyIgfHwgbG93ZXJDYXNlVHlwZSA9PSAidmlkZW8vb2dnIiB8fCBsb3dlckNhc2VUeXBl
ID09ICJhcHBsaWNhdGlvbi9vZ2ciKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChs
b3dlckNhc2VUeXBlID09ICJ2aWRlby9oMjY0IikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAg
ICByZXR1cm4gZmFsc2U7CisgICAgc3RhdGljIGNvbnN0ZXhwciBDb21wYXJhYmxlQVNDSUlMaXRl
cmFsIHVuc3VwcG9ydGVkVHlwZXNBcnJheVtdID0geyAiYXBwbGljYXRpb24vb2dnIiwgImF1ZGlv
L29nZyIsICJ2aWRlby9oMjY0IiwgInZpZGVvL29nZyIsICJ2aWRlby94LWZsdiIgfTsKKyAgICBz
dGF0aWMgY29uc3RleHByIFNvcnRlZEFycmF5U2V0IHVuc3VwcG9ydGVkVHlwZXNTZXQgeyB1bnN1
cHBvcnRlZFR5cGVzQXJyYXkgfTsKKyAgICByZXR1cm4gdW5zdXBwb3J0ZWRUeXBlc1NldC5jb250
YWlucyhsb3dlckNhc2VUeXBlKTsKIH0KIAogYm9vbCBBVkFzc2V0TUlNRVR5cGVDYWNoZTo6aXNT
dGF0aWNDb250YWluZXJUeXBlKFN0cmluZ1ZpZXcgdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJEcml2ZXIvV2ViRHJpdmVyU2VydmljZS5jcHAgYi9Tb3VyY2UvV2ViRHJpdmVyL1dlYkRyaXZl
clNlcnZpY2UuY3BwCmluZGV4IDg4NmU3NjM0NDg3YTkwNmNjOTc2NjcwYTc3NDg0NDgxOTk4YWYy
ZjUuLjkyNDFiYjJhZDE2OWIyNTdiNjE4NWZlZDJiZjhkNmYxYWY2Y2QzMzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJEcml2ZXIvV2ViRHJpdmVyU2VydmljZS5jcHAKKysrIGIvU291cmNlL1dlYkRy
aXZlci9XZWJEcml2ZXJTZXJ2aWNlLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNv
bW1hbmRSZXN1bHQuaCIKICNpbmNsdWRlICJTZXNzaW9uSG9zdC5oIgogI2luY2x1ZGUgPHd0Zi9S
dW5Mb29wLmg+CisjaW5jbHVkZSA8d3RmL1NvcnRlZEFycmF5TWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nVG9JbnRlZ2VyQ29udmVyc2lvbi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCkBAIC0yMTgsMTQgKzIxOSwxNiBAQCBjb25zdCBXZWJEcml2ZXJTZXJ2aWNl
OjpDb21tYW5kIFdlYkRyaXZlclNlcnZpY2U6OnNfY29tbWFuZHNbXSA9IHsKIAogc3RkOjpvcHRp
b25hbDxXZWJEcml2ZXJTZXJ2aWNlOjpIVFRQTWV0aG9kPiBXZWJEcml2ZXJTZXJ2aWNlOjp0b0Nv
bW1hbmRIVFRQTWV0aG9kKGNvbnN0IFN0cmluZyYgbWV0aG9kKQogewotICAgIGF1dG8gbG93ZXJD
YXNlTWV0aG9kID0gbWV0aG9kLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7Ci0gICAgaWYgKGxv
d2VyQ2FzZU1ldGhvZCA9PSAiZ2V0IikKLSAgICAgICAgcmV0dXJuIFdlYkRyaXZlclNlcnZpY2U6
OkhUVFBNZXRob2Q6OkdldDsKLSAgICBpZiAobG93ZXJDYXNlTWV0aG9kID09ICJwb3N0IiB8fCBs
b3dlckNhc2VNZXRob2QgPT0gInB1dCIpCi0gICAgICAgIHJldHVybiBXZWJEcml2ZXJTZXJ2aWNl
OjpIVFRQTWV0aG9kOjpQb3N0OwotICAgIGlmIChsb3dlckNhc2VNZXRob2QgPT0gImRlbGV0ZSIp
Ci0gICAgICAgIHJldHVybiBXZWJEcml2ZXJTZXJ2aWNlOjpIVFRQTWV0aG9kOjpEZWxldGU7Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBzdGQ6OnBhaXI8Q29tcGFyYWJsZUxldHRlcnNMaXRlcmFsLCBX
ZWJEcml2ZXJTZXJ2aWNlOjpIVFRQTWV0aG9kPiBodHRwTWV0aG9kTWFwcGluZ3NbXSA9IHsKKyAg
ICAgICAgeyAiZGVsZXRlIiwgV2ViRHJpdmVyU2VydmljZTo6SFRUUE1ldGhvZDo6RGVsZXRlIH0s
CisgICAgICAgIHsgImdldCIsIFdlYkRyaXZlclNlcnZpY2U6OkhUVFBNZXRob2Q6OkdldCB9LAor
ICAgICAgICB7ICJwb3N0IiwgV2ViRHJpdmVyU2VydmljZTo6SFRUUE1ldGhvZDo6UG9zdCB9LAor
ICAgICAgICB7ICJwdXQiLCBXZWJEcml2ZXJTZXJ2aWNlOjpIVFRQTWV0aG9kOjpQb3N0IH0sCisg
ICAgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIFNvcnRlZEFycmF5TWFwIGh0dHBNZXRob2RzIHsg
aHR0cE1ldGhvZE1hcHBpbmdzIH07CiAKKyAgICBpZiAoYXV0byogbWV0aG9kVmFsdWUgPSBodHRw
TWV0aG9kcy50cnlHZXQobWV0aG9kKSkKKyAgICAgICAgcmV0dXJuICptZXRob2RWYWx1ZTsKICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>