<?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>199568</bug_id>
          
          <creation_ts>2019-07-08 01:00:33 -0700</creation_ts>
          <short_desc>Radio button groups are not scoped by shadow boundaries</short_desc>
          <delta_ts>2019-10-14 13:49:47 -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>Forms</component>
          <version>Safari 12</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>macOS 10.14</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=202942</see_also>
          <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>
          
          <blocked>148695</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Lin">jonathan</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hubert.sablonniere</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>mifenton</cc>
    
    <cc>mjs</cc>
    
    <cc>rniwa</cc>
    
    <cc>timothy</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1550768</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Lin">jonathan</who>
    <bug_when>2019-07-08 01:00:33 -0700</bug_when>
    <thetext>I have a web component, &lt;kr-radios&gt;&lt;/kr-radios&gt; that encapsulates a &lt;fieldset&gt;&lt;/fieldset&gt; with multiple &lt;input type=&quot;radio&quot;&gt;. In this bug &lt;fieldset&gt; can be replaced with pretty much anything, e.g. &lt;div&gt; and bug will still hold true.

Say I have a form like the following:

&lt;kr-radios&gt;&lt;/kr-radios&gt; #1
&lt;kr-radios&gt;&lt;/kr-radios&gt; #2

Click a radio in #1 and subsequently in #2 will clear the selection in #1. It appears that Webkit only uses &lt;form&gt;&lt;/form&gt; to scope the radio input, and it does not respect Shadow DOM boundaries. Clicking a radio in another Shadow DOM should not affect the Shadow DOM somewhere else.

The workaround is to replace &lt;fieldset&gt; with &lt;form&gt; in the Shadow DOM of my component.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551083</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-08 18:28:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/52808785&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551749</commentid>
    <comment_count>2</comment_count>
    <who name="Hubert SABLONNIÈRE">hubert.sablonniere</who>
    <bug_when>2019-07-10 11:38:09 -0700</bug_when>
    <thetext>Hi Webkit team,

I may have the same bug.
I created a reduced test case here:

https://jsbin.com/wequqojaca/1/edit?html,css,js,output

The thing is, if I have a custom element with shadow DOM and if this component contains input[type=radio], all the inputs (cross shadow DOM) are in the same group. It is not the case in Chrome and Firefox.

Anyone knows what the spec says and if it&apos;s a bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576691</commentid>
    <comment_count>3</comment_count>
      <attachid>380182</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-03 19:22:44 -0700</bug_when>
    <thetext>Created attachment 380182
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576696</commentid>
    <comment_count>4</comment_count>
      <attachid>380182</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-10-03 20:33:31 -0700</bug_when>
    <thetext>Comment on attachment 380182
Fixes the bug

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

This patch looks good.

&gt; Source/WebCore/dom/RadioButtonGroups.h:34
&gt; +    WTF_MAKE_FAST_ALLOCATED;

Ok as-is, Because of comment below there is no need make this change. No harm in doing so though the optimal
Solution would be to defer making this change until a fix needs it.

&gt; Source/WebCore/dom/TreeScope.h:142
&gt; +    std::unique_ptr&lt;RadioButtonGroups&gt; m_radioButtonGroups;

The optimal solution is to not use a std::unique_ptr and just use the type because:

1. Sizeof(RadioButtonGroups) == sizeof(void*) == &quot;small data type&quot;.
2. Avoids cost of dereference.
3. m_radioButoonGroup is never re-assigned.
4. Makes the code easier to understand since no need to reason about nullptr or lazy alloc strategy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576702</commentid>
    <comment_count>5</comment_count>
      <attachid>380182</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-03 20:54:59 -0700</bug_when>
    <thetext>Comment on attachment 380182
Fixes the bug

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

&gt;&gt; Source/WebCore/dom/TreeScope.h:142
&gt;&gt; +    std::unique_ptr&lt;RadioButtonGroups&gt; m_radioButtonGroups;
&gt; 
&gt; The optimal solution is to not use a std::unique_ptr and just use the type because:
&gt; 
&gt; 1. Sizeof(RadioButtonGroups) == sizeof(void*) == &quot;small data type&quot;.
&gt; 2. Avoids cost of dereference.
&gt; 3. m_radioButoonGroup is never re-assigned.
&gt; 4. Makes the code easier to understand since no need to reason about nullptr or lazy alloc strategy.

Oh, that&apos;s a good point for this patch. My plan is to get rid of unique_ptr in RadioButtonGroups,
and I really don&apos;t want to include RadioButtonGroups.h here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576703</commentid>
    <comment_count>6</comment_count>
      <attachid>380183</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-03 20:56:02 -0700</bug_when>
    <thetext>Created attachment 380183
Fix GTK+/WPT builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576751</commentid>
    <comment_count>7</comment_count>
      <attachid>380183</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-04 00:34:34 -0700</bug_when>
    <thetext>Comment on attachment 380183
Fix GTK+/WPT builds

Clearing flags on attachment: 380183

Committed r250708: &lt;https://trac.webkit.org/changeset/250708&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576752</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-04 00:34:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579096</commentid>
    <comment_count>9</comment_count>
    <who name="Hubert SABLONNIÈRE">hubert.sablonniere</who>
    <bug_when>2019-10-11 07:46:39 -0700</bug_when>
    <thetext>Great news, thanks team!!
I hope my jsbin helped :p</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380182</attachid>
            <date>2019-10-03 19:22:44 -0700</date>
            <delta_ts>2019-10-03 20:56:01 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-199568-20191003192243.patch</filename>
            <type>text/plain</type>
            <size>8505</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MDY5NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE5LTEwLTAzICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJhZGlvIGJ1dHRvbiBncm91cHMg
YXJlIG5vdCBzY29wZWQgYnkgc2hhZG93IGJvdW5kYXJpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTU2OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVkIHRoZSBidWcgdGhhdCByYWRpbyBidXR0
b24gZ3JvdXBzIGFyZSBub3Qgc2NvcGVkIHRvIGVhY2ggc2hhZG93IHRyZWUgYnkgbW92aW5nCisg
ICAgICAgIFJhZGlvQnV0dG9uR3JvdXBzIGZyb20gRm9ybUNvbnRyb2xsZXIsIHdoaWNoIGlzIGEg
cGVyLWRvY3VtZW50IG9iamVjdCwgdG8gVHJlZVNjb3BlLgorCisgICAgICAgIFRlc3Q6IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbnB1dC10eXBlLXJhZGlvLmh0
bWwKKworICAgICAgICAqIGRvbS9SYWRpb0J1dHRvbkdyb3Vwcy5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmFkaW9CdXR0b25Hcm91cHMpOiBNYWRlIHRoaXMgYm1hbGxvYydlZCBub3cgdGhhdCBpdCdz
IGFsbG9jYXRlZCBzdGFuZGFsb25lLgorICAgICAgICAqIGRvbS9UcmVlU2NvcGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VHJlZVNjb3BlOjpyYWRpb0J1dHRvbkdyb3Vwcyk6IEFkZGVkLgorICAg
ICAgICAqIGRvbS9UcmVlU2NvcGUuaDoKKyAgICAgICAgKiBodG1sL0Zvcm1Db250cm9sbGVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpGb3JtQ29udHJvbGxlcjo6cmFkaW9CdXR0b25Hcm91cHMpOiBE
ZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp+SFRNTElucHV0RWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKTogVXBkYXRlIHRo
ZSByYWRpbyBidXR0b24gZ3JvdXAgaGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OmRpZE1vdmVUb05ld0RvY3VtZW50KTogUmVtb3ZlZCB0aGUgY29kZSB0byB1cGRhdGUg
cmFkaW8KKyAgICAgICAgYnV0dG9uIGdyb3VwIGhlcmUgc2luY2UgaXQncyBkb25lIGluIHJlbW92
ZWRGcm9tQW5jZXN0b3Igbm93LiBOb3RlIHRoYXQgaW5zZXJ0aW9uIGNhc2UKKyAgICAgICAgaXMg
YWxyYWR5IHRha2VuIGNhcmUgb2YgYnkgSFRNTElucHV0RWxlbWVudDo6ZGlkRmluaXNoSW5zZXJ0
aW5nTm9kZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnJhZGlvQnV0dG9u
R3JvdXBzIGNvbnN0KTogRGl0dG8uCisKIDIwMTktMTAtMDMgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICBbaU9TXSBXZWJDb250ZW50IHByb2Nlc3MgY2FuIGJlIGludGVy
cnVwdGVkIGR1cmluZyBzdXNwZW5zaW9uOyBsb3NlcyAiTm93IFBsYXlpbmciIHN0YXR1cwpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL1JhZGlvQnV0dG9uR3JvdXBzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL1JhZGlvQnV0dG9uR3JvdXBzLmgJKHJldmlzaW9uIDI1MDY5NikK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9SYWRpb0J1dHRvbkdyb3Vwcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zMSw2ICszMSw3IEBAIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiBjbGFzcyBSYWRpb0J1
dHRvbkdyb3VwOwogCiBjbGFzcyBSYWRpb0J1dHRvbkdyb3VwcyB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmFkaW9CdXR0b25Hcm91cHMoKTsKICAgICB+UmFk
aW9CdXR0b25Hcm91cHMoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwCShyZXZpc2lv
biAyNTA2OTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQb2lu
dGVyTG9ja0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQc2V1ZG9FbGVtZW50LmgiCisjaW5jbHVk
ZSAiUmFkaW9CdXR0b25Hcm91cHMuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVk
ZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCkBAIC01
Myw3ICs1NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBTYW1lU2l6ZUFzVHJl
ZVNjb3BlIHsKLSAgICB2b2lkKiBwb2ludGVyc1s5XTsKKyAgICB2b2lkKiBwb2ludGVyc1sxMF07
CiB9OwogCiBDT01QSUxFX0FTU0VSVChzaXplb2YoVHJlZVNjb3BlKSA9PSBzaXplb2YoU2FtZVNp
emVBc1RyZWVTY29wZSksIHRyZWVzY29wZV9zaG91bGRfc3RheV9zbWFsbCk7CkBAIC01MzksNCAr
NTQwLDExIEBAIFRyZWVTY29wZSogY29tbW9uVHJlZVNjb3BlKE5vZGUqIG5vZGVBLCAKICAgICBy
ZXR1cm4gdHJlZVNjb3Blc0FbaW5kZXhBXSA9PSB0cmVlU2NvcGVzQltpbmRleEJdID8gdHJlZVNj
b3Blc0FbaW5kZXhBXSA6IG51bGxwdHI7CiB9CiAKK1JhZGlvQnV0dG9uR3JvdXBzJiBUcmVlU2Nv
cGU6OnJhZGlvQnV0dG9uR3JvdXBzKCkKK3sKKyAgICBpZiAoIW1fcmFkaW9CdXR0b25Hcm91cHMp
CisgICAgICAgIG1fcmFkaW9CdXR0b25Hcm91cHMgPSBtYWtlVW5pcXVlPFJhZGlvQnV0dG9uR3Jv
dXBzPigpOworICAgIHJldHVybiAqbV9yYWRpb0J1dHRvbkdyb3VwczsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuaAkocmV2aXNpb24gMjUwNjk2
KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
NCw2ICs0NCw3IEBAIGNsYXNzIEhUTUxNYXBFbGVtZW50OwogY2xhc3MgTGF5b3V0UG9pbnQ7CiBj
bGFzcyBJZFRhcmdldE9ic2VydmVyUmVnaXN0cnk7CiBjbGFzcyBOb2RlOworY2xhc3MgUmFkaW9C
dXR0b25Hcm91cHM7CiBjbGFzcyBTaGFkb3dSb290OwogCiBjbGFzcyBUcmVlU2NvcGUgewpAQCAt
MTA5LDYgKzExMCw4IEBAIHB1YmxpYzoKIAogICAgIElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeSYg
aWRUYXJnZXRPYnNlcnZlclJlZ2lzdHJ5KCkgY29uc3QgeyByZXR1cm4gKm1faWRUYXJnZXRPYnNl
cnZlclJlZ2lzdHJ5LmdldCgpOyB9CiAKKyAgICBSYWRpb0J1dHRvbkdyb3VwcyYgcmFkaW9CdXR0
b25Hcm91cHMoKTsKKwogcHJvdGVjdGVkOgogICAgIFRyZWVTY29wZShTaGFkb3dSb290JiwgRG9j
dW1lbnQmKTsKICAgICBleHBsaWNpdCBUcmVlU2NvcGUoRG9jdW1lbnQmKTsKQEAgLTEzNSw2ICsx
MzgsOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxUcmVlU2NvcGVPcmRlcmVkTWFw
PiBtX2xhYmVsc0J5Rm9yQXR0cmlidXRlOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPElkVGFyZ2V0
T2JzZXJ2ZXJSZWdpc3RyeT4gbV9pZFRhcmdldE9ic2VydmVyUmVnaXN0cnk7CisgICAgCisgICAg
c3RkOjp1bmlxdWVfcHRyPFJhZGlvQnV0dG9uR3JvdXBzPiBtX3JhZGlvQnV0dG9uR3JvdXBzOwog
fTsKIAogaW5saW5lIGJvb2wgVHJlZVNjb3BlOjpoYXNFbGVtZW50V2l0aElkKGNvbnN0IEF0b21T
dHJpbmdJbXBsJiBpZCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRy
b2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVy
LmgJKHJldmlzaW9uIDI1MDY5NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRyb2xs
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAot
I2luY2x1ZGUgIlJhZGlvQnV0dG9uR3JvdXBzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBA
IC00Miw4ICs0MSw2IEBAIHB1YmxpYzoKICAgICBGb3JtQ29udHJvbGxlcigpOwogICAgIH5Gb3Jt
Q29udHJvbGxlcigpOwogCi0gICAgUmFkaW9CdXR0b25Hcm91cHMmIHJhZGlvQnV0dG9uR3JvdXBz
KCkgeyByZXR1cm4gbV9yYWRpb0J1dHRvbkdyb3VwczsgfQotCiAgICAgdm9pZCByZWdpc3RlckZv
cm1FbGVtZW50V2l0aFN0YXRlKEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUmKTsKICAg
ICB2b2lkIHVucmVnaXN0ZXJGb3JtRWxlbWVudFdpdGhTdGF0ZShIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50V2l0aFN0YXRlJik7CiAKQEAgLTY3LDcgKzY0LDYgQEAgcHJpdmF0ZToKICAgICBGb3JtQ29u
dHJvbFN0YXRlIHRha2VTdGF0ZUZvckZvcm1FbGVtZW50KGNvbnN0IEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnRXaXRoU3RhdGUmKTsKICAgICBzdGF0aWMgdm9pZCBmb3JtU3RhdGVzRnJvbVN0YXRlVmVj
dG9yKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgU2F2ZWRGb3JtU3RhdGVNYXAmKTsKIAotICAgIFJh
ZGlvQnV0dG9uR3JvdXBzIG1fcmFkaW9CdXR0b25Hcm91cHM7CiAgICAgRm9ybUVsZW1lbnRMaXN0
SGFzaFNldCBtX2Zvcm1FbGVtZW50c1dpdGhTdGF0ZTsKICAgICBTYXZlZEZvcm1TdGF0ZU1hcCBt
X3NhdmVkRm9ybVN0YXRlTWFwOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxGb3JtS2V5R2VuZXJhdG9y
PiBtX2Zvcm1LZXlHZW5lcmF0b3I7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5jcHAJKHJldmlzaW9uIDI1MDY5NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Myw3ICsxNzMsNyBAQCBIVE1M
SW5wdXRFbGVtZW50Ojp+SFRNTElucHV0RWxlbWVudCgpCiAgICAgLy8gYWN0dWFsbHkgYWRkcyB0
aGUgYnV0dG9uIHRvIHRoZSBkb2N1bWVudCBncm91cHMgaW4gdGhlIGxhdHRlciBjYXNlLgogICAg
IC8vIFRoYXQgaXMgaW5lbGVnYW50LCBidXQgaGFybWxlc3Mgc2luY2Ugd2UgcmVtb3ZlIGl0IGhl
cmUuCiAgICAgaWYgKGlzUmFkaW9CdXR0b24oKSkKLSAgICAgICAgZG9jdW1lbnQoKS5mb3JtQ29u
dHJvbGxlcigpLnJhZGlvQnV0dG9uR3JvdXBzKCkucmVtb3ZlQnV0dG9uKCp0aGlzKTsKKyAgICAg
ICAgdHJlZVNjb3BlKCkucmFkaW9CdXR0b25Hcm91cHMoKS5yZW1vdmVCdXR0b24oKnRoaXMpOwog
CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICBpZiAobV9oYXNUb3VjaEV2ZW50SGFuZGxl
cikKQEAgLTE1NTYsNiArMTU1Niw4IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6ZGlkRmluaXNo
SW5zZXJ0aW4KIAogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKFJl
bW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRPZlJlbW92ZWRU
cmVlKQogeworICAgIGlmIChyZW1vdmFsVHlwZS50cmVlU2NvcGVDaGFuZ2VkICYmIGlzUmFkaW9C
dXR0b24oKSkKKyAgICAgICAgb2xkUGFyZW50T2ZSZW1vdmVkVHJlZS50cmVlU2NvcGUoKS5yYWRp
b0J1dHRvbkdyb3VwcygpLnJlbW92ZUJ1dHRvbigqdGhpcyk7CiAgICAgaWYgKHJlbW92YWxUeXBl
LmRpc2Nvbm5lY3RlZEZyb21Eb2N1bWVudCAmJiAhZm9ybSgpKQogICAgICAgICByZW1vdmVGcm9t
UmFkaW9CdXR0b25Hcm91cCgpOwogICAgIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpyZW1v
dmVkRnJvbUFuY2VzdG9yKHJlbW92YWxUeXBlLCBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKTsKQEAg
LTE1NzYsMTEgKzE1NzgsNiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmRpZE1vdmVUb05ld0Rv
Y3VtCiAgICAgICAgIG5ld0RvY3VtZW50LnJlZ2lzdGVyRm9yRG9jdW1lbnRTdXNwZW5zaW9uQ2Fs
bGJhY2tzKCp0aGlzKTsKICAgICB9CiAKLSAgICAvLyBXZSBjYWxsIHRoaXMgZXZlbiBmb3IgcmFk
aW8gYnV0dG9ucyBpbiBmb3JtczsgaXQncyBoYXJtbGVzcyBiZWNhdXNlIHRoZQotICAgIC8vIHJl
bW92ZUJ1dHRvbiBmdW5jdGlvbiBpcyB3cml0dGVuIHRvIGJlIHNhZmUgZm9yIGJ1dHRvbnMgbm90
IGluIGFueSBncm91cC4KLSAgICBpZiAoaXNSYWRpb0J1dHRvbigpKQotICAgICAgICBvbGREb2N1
bWVudC5mb3JtQ29udHJvbGxlcigpLnJhZGlvQnV0dG9uR3JvdXBzKCkucmVtb3ZlQnV0dG9uKCp0
aGlzKTsKLQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgaWYgKG1faGFzVG91Y2hFdmVu
dEhhbmRsZXIpIHsKICAgICAgICAgb2xkRG9jdW1lbnQuZGlkUmVtb3ZlRXZlbnRUYXJnZXROb2Rl
KCp0aGlzKTsKQEAgLTE5MjIsOCArMTkxOSw4IEBAIFJhZGlvQnV0dG9uR3JvdXBzKiBIVE1MSW5w
dXRFbGVtZW50OjpyYWQKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgaWYgKGF1dG8qIGZv
cm1FbGVtZW50ID0gZm9ybSgpKQogICAgICAgICByZXR1cm4gJmZvcm1FbGVtZW50LT5yYWRpb0J1
dHRvbkdyb3VwcygpOwotICAgIGlmIChpc0Nvbm5lY3RlZCgpKQotICAgICAgICByZXR1cm4gJmRv
Y3VtZW50KCkuZm9ybUNvbnRyb2xsZXIoKS5yYWRpb0J1dHRvbkdyb3VwcygpOworICAgIGlmIChp
c0luVHJlZVNjb3BlKCkpCisgICAgICAgIHJldHVybiAmdHJlZVNjb3BlKCkucmFkaW9CdXR0b25H
cm91cHMoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTA2OTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMTAtMDMg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmFkaW8gYnV0dG9u
IGdyb3VwcyBhcmUgbm90IHNjb3BlZCBieSBzaGFkb3cgYm91bmRhcmllcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NTY4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZWQgYSB0ZXN0IG5v
dyB0aGF0IGl0IHBhc3Nlcy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2lucHV0LXR5cGUtcmFkaW8tZXhwZWN0ZWQudHh0OgorCiAyMDE5LTEwLTAzICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlc3luYyBXUFQgc2hhZG93IERP
TSB0ZXN0cwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2lucHV0LXR5cGUtcmFkaW8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9p
bnB1dC10eXBlLXJhZGlvLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUwNjk2KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2lucHV0LXR5
cGUtcmFkaW8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAogIAog
Ci1GQUlMIGlucHV0IHR5cGU9cmFkaW8gZWxlbWVudHMgc2hvdWxkIGZvcm0gYSBncm91cCBpbnNp
ZGUgc2hhZG93IERPTS4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNT
IGlucHV0IHR5cGU9cmFkaW8gZWxlbWVudHMgc2hvdWxkIGZvcm0gYSBncm91cCBpbnNpZGUgc2hh
ZG93IERPTS4gCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380183</attachid>
            <date>2019-10-03 20:56:02 -0700</date>
            <delta_ts>2019-10-04 00:34:34 -0700</delta_ts>
            <desc>Fix GTK+/WPT builds</desc>
            <filename>bug-199568-20191003205601.patch</filename>
            <type>text/plain</type>
            <size>8564</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MDY5NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE5LTEwLTAzICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJhZGlvIGJ1dHRvbiBncm91cHMg
YXJlIG5vdCBzY29wZWQgYnkgc2hhZG93IGJvdW5kYXJpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTU2OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVkIHRoZSBidWcgdGhhdCByYWRpbyBidXR0
b24gZ3JvdXBzIGFyZSBub3Qgc2NvcGVkIHRvIGVhY2ggc2hhZG93IHRyZWUgYnkgbW92aW5nCisg
ICAgICAgIFJhZGlvQnV0dG9uR3JvdXBzIGZyb20gRm9ybUNvbnRyb2xsZXIsIHdoaWNoIGlzIGEg
cGVyLWRvY3VtZW50IG9iamVjdCwgdG8gVHJlZVNjb3BlLgorCisgICAgICAgIFRlc3Q6IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbnB1dC10eXBlLXJhZGlvLmh0
bWwKKworICAgICAgICAqIGRvbS9SYWRpb0J1dHRvbkdyb3Vwcy5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmFkaW9CdXR0b25Hcm91cHMpOiBNYWRlIHRoaXMgYm1hbGxvYydlZCBub3cgdGhhdCBpdCdz
IGFsbG9jYXRlZCBzdGFuZGFsb25lLgorICAgICAgICAqIGRvbS9UcmVlU2NvcGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VHJlZVNjb3BlOjpyYWRpb0J1dHRvbkdyb3Vwcyk6IEFkZGVkLgorICAg
ICAgICAqIGRvbS9UcmVlU2NvcGUuaDoKKyAgICAgICAgKiBodG1sL0Zvcm1Db250cm9sbGVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpGb3JtQ29udHJvbGxlcjo6cmFkaW9CdXR0b25Hcm91cHMpOiBE
ZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp+SFRNTElucHV0RWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKTogVXBkYXRlIHRo
ZSByYWRpbyBidXR0b24gZ3JvdXAgaGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OmRpZE1vdmVUb05ld0RvY3VtZW50KTogUmVtb3ZlZCB0aGUgY29kZSB0byB1cGRhdGUg
cmFkaW8KKyAgICAgICAgYnV0dG9uIGdyb3VwIGhlcmUgc2luY2UgaXQncyBkb25lIGluIHJlbW92
ZWRGcm9tQW5jZXN0b3Igbm93LiBOb3RlIHRoYXQgaW5zZXJ0aW9uIGNhc2UKKyAgICAgICAgaXMg
YWxyYWR5IHRha2VuIGNhcmUgb2YgYnkgSFRNTElucHV0RWxlbWVudDo6ZGlkRmluaXNoSW5zZXJ0
aW5nTm9kZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnJhZGlvQnV0dG9u
R3JvdXBzIGNvbnN0KTogRGl0dG8uCisKIDIwMTktMTAtMDMgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICBbaU9TXSBXZWJDb250ZW50IHByb2Nlc3MgY2FuIGJlIGludGVy
cnVwdGVkIGR1cmluZyBzdXNwZW5zaW9uOyBsb3NlcyAiTm93IFBsYXlpbmciIHN0YXR1cwpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL1JhZGlvQnV0dG9uR3JvdXBzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL1JhZGlvQnV0dG9uR3JvdXBzLmgJKHJldmlzaW9uIDI1MDY5NikK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9SYWRpb0J1dHRvbkdyb3Vwcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zMSw2ICszMSw3IEBAIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiBjbGFzcyBSYWRpb0J1
dHRvbkdyb3VwOwogCiBjbGFzcyBSYWRpb0J1dHRvbkdyb3VwcyB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmFkaW9CdXR0b25Hcm91cHMoKTsKICAgICB+UmFk
aW9CdXR0b25Hcm91cHMoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwCShyZXZpc2lv
biAyNTA2OTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQb2lu
dGVyTG9ja0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQc2V1ZG9FbGVtZW50LmgiCisjaW5jbHVk
ZSAiUmFkaW9CdXR0b25Hcm91cHMuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVk
ZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCkBAIC01
Myw3ICs1NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBTYW1lU2l6ZUFzVHJl
ZVNjb3BlIHsKLSAgICB2b2lkKiBwb2ludGVyc1s5XTsKKyAgICB2b2lkKiBwb2ludGVyc1sxMF07
CiB9OwogCiBDT01QSUxFX0FTU0VSVChzaXplb2YoVHJlZVNjb3BlKSA9PSBzaXplb2YoU2FtZVNp
emVBc1RyZWVTY29wZSksIHRyZWVzY29wZV9zaG91bGRfc3RheV9zbWFsbCk7CkBAIC01MzksNCAr
NTQwLDExIEBAIFRyZWVTY29wZSogY29tbW9uVHJlZVNjb3BlKE5vZGUqIG5vZGVBLCAKICAgICBy
ZXR1cm4gdHJlZVNjb3Blc0FbaW5kZXhBXSA9PSB0cmVlU2NvcGVzQltpbmRleEJdID8gdHJlZVNj
b3Blc0FbaW5kZXhBXSA6IG51bGxwdHI7CiB9CiAKK1JhZGlvQnV0dG9uR3JvdXBzJiBUcmVlU2Nv
cGU6OnJhZGlvQnV0dG9uR3JvdXBzKCkKK3sKKyAgICBpZiAoIW1fcmFkaW9CdXR0b25Hcm91cHMp
CisgICAgICAgIG1fcmFkaW9CdXR0b25Hcm91cHMgPSBtYWtlVW5pcXVlPFJhZGlvQnV0dG9uR3Jv
dXBzPigpOworICAgIHJldHVybiAqbV9yYWRpb0J1dHRvbkdyb3VwczsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuaAkocmV2aXNpb24gMjUwNjk2
KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
NCw2ICs0NCw3IEBAIGNsYXNzIEhUTUxNYXBFbGVtZW50OwogY2xhc3MgTGF5b3V0UG9pbnQ7CiBj
bGFzcyBJZFRhcmdldE9ic2VydmVyUmVnaXN0cnk7CiBjbGFzcyBOb2RlOworY2xhc3MgUmFkaW9C
dXR0b25Hcm91cHM7CiBjbGFzcyBTaGFkb3dSb290OwogCiBjbGFzcyBUcmVlU2NvcGUgewpAQCAt
MTA5LDYgKzExMCw4IEBAIHB1YmxpYzoKIAogICAgIElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeSYg
aWRUYXJnZXRPYnNlcnZlclJlZ2lzdHJ5KCkgY29uc3QgeyByZXR1cm4gKm1faWRUYXJnZXRPYnNl
cnZlclJlZ2lzdHJ5LmdldCgpOyB9CiAKKyAgICBSYWRpb0J1dHRvbkdyb3VwcyYgcmFkaW9CdXR0
b25Hcm91cHMoKTsKKwogcHJvdGVjdGVkOgogICAgIFRyZWVTY29wZShTaGFkb3dSb290JiwgRG9j
dW1lbnQmKTsKICAgICBleHBsaWNpdCBUcmVlU2NvcGUoRG9jdW1lbnQmKTsKQEAgLTEzNSw2ICsx
MzgsOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxUcmVlU2NvcGVPcmRlcmVkTWFw
PiBtX2xhYmVsc0J5Rm9yQXR0cmlidXRlOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPElkVGFyZ2V0
T2JzZXJ2ZXJSZWdpc3RyeT4gbV9pZFRhcmdldE9ic2VydmVyUmVnaXN0cnk7CisgICAgCisgICAg
c3RkOjp1bmlxdWVfcHRyPFJhZGlvQnV0dG9uR3JvdXBzPiBtX3JhZGlvQnV0dG9uR3JvdXBzOwog
fTsKIAogaW5saW5lIGJvb2wgVHJlZVNjb3BlOjpoYXNFbGVtZW50V2l0aElkKGNvbnN0IEF0b21T
dHJpbmdJbXBsJiBpZCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRy
b2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVy
LmgJKHJldmlzaW9uIDI1MDY5NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRyb2xs
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjEsOCArMjEsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAot
I2luY2x1ZGUgIlJhZGlvQnV0dG9uR3JvdXBzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
KyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
QEAgLTQyLDggKzQyLDYgQEAgcHVibGljOgogICAgIEZvcm1Db250cm9sbGVyKCk7CiAgICAgfkZv
cm1Db250cm9sbGVyKCk7CiAKLSAgICBSYWRpb0J1dHRvbkdyb3VwcyYgcmFkaW9CdXR0b25Hcm91
cHMoKSB7IHJldHVybiBtX3JhZGlvQnV0dG9uR3JvdXBzOyB9Ci0KICAgICB2b2lkIHJlZ2lzdGVy
Rm9ybUVsZW1lbnRXaXRoU3RhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSYpOwog
ICAgIHZvaWQgdW5yZWdpc3RlckZvcm1FbGVtZW50V2l0aFN0YXRlKEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnRXaXRoU3RhdGUmKTsKIApAQCAtNjcsNyArNjUsNiBAQCBwcml2YXRlOgogICAgIEZvcm1D
b250cm9sU3RhdGUgdGFrZVN0YXRlRm9yRm9ybUVsZW1lbnQoY29uc3QgSFRNTEZvcm1Db250cm9s
RWxlbWVudFdpdGhTdGF0ZSYpOwogICAgIHN0YXRpYyB2b2lkIGZvcm1TdGF0ZXNGcm9tU3RhdGVW
ZWN0b3IoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBTYXZlZEZvcm1TdGF0ZU1hcCYpOwogCi0gICAg
UmFkaW9CdXR0b25Hcm91cHMgbV9yYWRpb0J1dHRvbkdyb3VwczsKICAgICBGb3JtRWxlbWVudExp
c3RIYXNoU2V0IG1fZm9ybUVsZW1lbnRzV2l0aFN0YXRlOwogICAgIFNhdmVkRm9ybVN0YXRlTWFw
IG1fc2F2ZWRGb3JtU3RhdGVNYXA7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEZvcm1LZXlHZW5lcmF0
b3I+IG1fZm9ybUtleUdlbmVyYXRvcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcAkocmV2aXNpb24gMjUwNjk2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTczLDcgKzE3Myw3IEBAIEhU
TUxJbnB1dEVsZW1lbnQ6On5IVE1MSW5wdXRFbGVtZW50KCkKICAgICAvLyBhY3R1YWxseSBhZGRz
IHRoZSBidXR0b24gdG8gdGhlIGRvY3VtZW50IGdyb3VwcyBpbiB0aGUgbGF0dGVyIGNhc2UuCiAg
ICAgLy8gVGhhdCBpcyBpbmVsZWdhbnQsIGJ1dCBoYXJtbGVzcyBzaW5jZSB3ZSByZW1vdmUgaXQg
aGVyZS4KICAgICBpZiAoaXNSYWRpb0J1dHRvbigpKQotICAgICAgICBkb2N1bWVudCgpLmZvcm1D
b250cm9sbGVyKCkucmFkaW9CdXR0b25Hcm91cHMoKS5yZW1vdmVCdXR0b24oKnRoaXMpOworICAg
ICAgICB0cmVlU2NvcGUoKS5yYWRpb0J1dHRvbkdyb3VwcygpLnJlbW92ZUJ1dHRvbigqdGhpcyk7
CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIGlmIChtX2hhc1RvdWNoRXZlbnRIYW5k
bGVyKQpAQCAtMTU1Niw2ICsxNTU2LDggQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpkaWRGaW5p
c2hJbnNlcnRpbgogCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3Io
UmVtb3ZhbFR5cGUgcmVtb3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmIG9sZFBhcmVudE9mUmVtb3Zl
ZFRyZWUpCiB7CisgICAgaWYgKHJlbW92YWxUeXBlLnRyZWVTY29wZUNoYW5nZWQgJiYgaXNSYWRp
b0J1dHRvbigpKQorICAgICAgICBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlLnRyZWVTY29wZSgpLnJh
ZGlvQnV0dG9uR3JvdXBzKCkucmVtb3ZlQnV0dG9uKCp0aGlzKTsKICAgICBpZiAocmVtb3ZhbFR5
cGUuZGlzY29ubmVjdGVkRnJvbURvY3VtZW50ICYmICFmb3JtKCkpCiAgICAgICAgIHJlbW92ZUZy
b21SYWRpb0J1dHRvbkdyb3VwKCk7CiAgICAgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnJl
bW92ZWRGcm9tQW5jZXN0b3IocmVtb3ZhbFR5cGUsIG9sZFBhcmVudE9mUmVtb3ZlZFRyZWUpOwpA
QCAtMTU3NiwxMSArMTU3OCw2IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6ZGlkTW92ZVRvTmV3
RG9jdW0KICAgICAgICAgbmV3RG9jdW1lbnQucmVnaXN0ZXJGb3JEb2N1bWVudFN1c3BlbnNpb25D
YWxsYmFja3MoKnRoaXMpOwogICAgIH0KIAotICAgIC8vIFdlIGNhbGwgdGhpcyBldmVuIGZvciBy
YWRpbyBidXR0b25zIGluIGZvcm1zOyBpdCdzIGhhcm1sZXNzIGJlY2F1c2UgdGhlCi0gICAgLy8g
cmVtb3ZlQnV0dG9uIGZ1bmN0aW9uIGlzIHdyaXR0ZW4gdG8gYmUgc2FmZSBmb3IgYnV0dG9ucyBu
b3QgaW4gYW55IGdyb3VwLgotICAgIGlmIChpc1JhZGlvQnV0dG9uKCkpCi0gICAgICAgIG9sZERv
Y3VtZW50LmZvcm1Db250cm9sbGVyKCkucmFkaW9CdXR0b25Hcm91cHMoKS5yZW1vdmVCdXR0b24o
KnRoaXMpOwotCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICBpZiAobV9oYXNUb3VjaEV2
ZW50SGFuZGxlcikgewogICAgICAgICBvbGREb2N1bWVudC5kaWRSZW1vdmVFdmVudFRhcmdldE5v
ZGUoKnRoaXMpOwpAQCAtMTkyMiw4ICsxOTE5LDggQEAgUmFkaW9CdXR0b25Hcm91cHMqIEhUTUxJ
bnB1dEVsZW1lbnQ6OnJhZAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoYXV0byog
Zm9ybUVsZW1lbnQgPSBmb3JtKCkpCiAgICAgICAgIHJldHVybiAmZm9ybUVsZW1lbnQtPnJhZGlv
QnV0dG9uR3JvdXBzKCk7Ci0gICAgaWYgKGlzQ29ubmVjdGVkKCkpCi0gICAgICAgIHJldHVybiAm
ZG9jdW1lbnQoKS5mb3JtQ29udHJvbGxlcigpLnJhZGlvQnV0dG9uR3JvdXBzKCk7CisgICAgaWYg
KGlzSW5UcmVlU2NvcGUoKSkKKyAgICAgICAgcmV0dXJuICZ0cmVlU2NvcGUoKS5yYWRpb0J1dHRv
bkdyb3VwcygpOwogICAgIHJldHVybiBudWxscHRyOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MDY5NikKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0xMC0w
MyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSYWRpbyBidXR0
b24gZ3JvdXBzIGFyZSBub3Qgc2NvcGVkIGJ5IHNoYWRvdyBib3VuZGFyaWVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk1NjgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWJhc2VsaW5lZCBhIHRlc3Qg
bm93IHRoYXQgaXQgcGFzc2VzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vaW5wdXQtdHlwZS1yYWRpby1leHBlY3RlZC50eHQ6CisKIDIwMTktMTAtMDMgIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVzeW5jIFdQVCBzaGFkb3cg
RE9NIHRlc3RzCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vaW5wdXQtdHlwZS1yYWRpby1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2lucHV0LXR5cGUtcmFkaW8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTA2OTYpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW5wdXQt
dHlwZS1yYWRpby1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACiAg
CiAKLUZBSUwgaW5wdXQgdHlwZT1yYWRpbyBlbGVtZW50cyBzaG91bGQgZm9ybSBhIGdyb3VwIGlu
c2lkZSBzaGFkb3cgRE9NLiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BB
U1MgaW5wdXQgdHlwZT1yYWRpbyBlbGVtZW50cyBzaG91bGQgZm9ybSBhIGdyb3VwIGluc2lkZSBz
aGFkb3cgRE9NLiAKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>