<?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>221357</bug_id>
          
          <creation_ts>2021-02-03 13:28:19 -0800</creation_ts>
          <short_desc>Avoid an ancestor walk in HTMLFormControlElement::computeWillValidate()</short_desc>
          <delta_ts>2021-02-03 21:22:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mifenton</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1725318</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-02-03 13:28:19 -0800</bug_when>
    <thetext>Avoid an ancestor walk in HTMLFormControlElement::computeWillValidate()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725319</commentid>
    <comment_count>1</comment_count>
      <attachid>419180</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-02-03 13:29:35 -0800</bug_when>
    <thetext>Created attachment 419180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725334</commentid>
    <comment_count>2</comment_count>
      <attachid>419180</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-03 14:01:20 -0800</bug_when>
    <thetext>Comment on attachment 419180
Patch

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

This is fine but another approach is to create a new node flag like we do for SelfOrAncestorHasDirAuto and set this bit whenever an ancestor has datalist.

&gt; Source/WebCore/dom/Document.h:1331
&gt; +    void addDisabledFieldsetElement() { ++m_disabledFieldsetElementsCount; }

Can we avoid changing the unrelated code?

&gt; Source/WebCore/dom/Document.h:1334
&gt; +    bool hasDataListElements() const { return m_dataListElementCount; }

We should have this in TreeScope instead.
Otherwise, we&apos;re gonna have a bad time inside a ShadowRoot.

&gt; Source/WebCore/dom/Element.cpp:2220
&gt; +    auto* page = document().page();
&gt; +    if (page) {

Please define page inside if.

&gt; Source/WebCore/html/HTMLDataListElement.cpp:61
&gt; +    if (parentOfInsertedTree.isInTreeScope())

This isn&apos;t right. We&apos;re checking that the inserted ancestor&apos;s new parent is in a tree scope.
It doesn&apos;t mean it&apos;s in the document.

Make the change above to move the function to TreeScope and this will be correct
but it&apos;s better to check insertionType.treeScopeChanged instead even in that case.

&gt; Source/WebCore/html/HTMLDataListElement.cpp:70
&gt; +    if (oldParentOfRemovedTree.isInTreeScope())
&gt; +        document().decrementDataListElementCount();

Ditto.

&gt; Source/WebCore/html/HTMLDataListElement.cpp:76
&gt; +void HTMLDataListElement::didMoveToNewDocument(Document&amp; oldDocument, Document&amp; newDocument)
&gt; +{

This function override won&apos;t be needed once we made all the changes I suggest above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725424</commentid>
    <comment_count>3</comment_count>
      <attachid>419212</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-02-03 17:56:19 -0800</bug_when>
    <thetext>Created attachment 419212
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725437</commentid>
    <comment_count>4</comment_count>
      <attachid>419212</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-03 18:37:21 -0800</bug_when>
    <thetext>Comment on attachment 419212
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        * dom/Document.h:
&gt; +        (WebCore::Document::addDisabledFieldsetElement):

Update these change log entries?

&gt; Source/WebCore/html/HTMLDataListElement.cpp:64
&gt; +    if (insertionType.treeScopeChanged)
&gt; +        treeScope().incrementDataListElementCount();

We can do this before calling HTMLElement::insertedIntoAncestor.

&gt; Source/WebCore/page/PointerLockController.cpp:106
&gt; -void PointerLockController::elementRemoved(Element&amp; element)
&gt; +void PointerLockController::elementWasRemoved(Element&amp; element)

Or maybe didRemoveElement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725472</commentid>
    <comment_count>5</comment_count>
      <attachid>419225</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-02-03 20:54:30 -0800</bug_when>
    <thetext>Created attachment 419225
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725480</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-02-03 21:21:32 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/272358/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725481</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-03 21:22:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/73964453&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419180</attachid>
            <date>2021-02-03 13:29:35 -0800</date>
            <delta_ts>2021-02-03 17:56:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221357-20210203132934.patch</filename>
            <type>text/plain</type>
            <size>8836</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWIyYmYwNTRmOWM1YzRm
NTc4ODU1ZDJlMTgxZmYyMTA4NmY4M2RkNC4uMGMxYmIyZjA5ZTcyYTI5NzJmYWFhZTZmMjMzNzM1
NTQ1NTNjNDZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTAyLTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIGFuIGFu
Y2VzdG9yIHdhbGsgaW4gSFRNTEZvcm1Db250cm9sRWxlbWVudDo6Y29tcHV0ZVdpbGxWYWxpZGF0
ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEz
NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50Ojpjb21wdXRlV2lsbFZhbGlkYXRlKCkgZG9lcyBhbiBhbmNlc3Rv
ciBET00gd2FsayB0byBsb29rCisgICAgICAgIGZvciBlbmNsb3NpbmcgZGF0YSBsaXN0IGVsZW1l
bnRzLCBidXQgdGhlc2UgYXJlIGZhaXJseSB1bmNvbW1vbiBzbyB3ZSBjYW4gYXZvaWQKKyAgICAg
ICAgdGhpcyB3b3JrIGlmIHdlIGtub3cgdGhlIERvY3VtZW50IGhhcyBub25lLgorCisgICAgICAg
ICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YWRkRGlzYWJs
ZWRGaWVsZHNldEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlbW92ZURp
c2FibGVkRmllbGRzZXRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpoYXNE
YXRhTGlzdEVsZW1lbnRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbmNy
ZW1lbnREYXRhTGlzdEVsZW1lbnRDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
ZGVjcmVtZW50RGF0YUxpc3RFbGVtZW50Q291bnQpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IpOiBBdm9p
ZCBmZXRjaGluZyB0aGUgUGFnZSB0d2ljZS4KKyAgICAgICAgKiBodG1sL0hUTUxEYXRhTGlzdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERhdGFMaXN0RWxlbWVudDo6aW5zZXJ0
ZWRJbnRvQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERhdGFMaXN0RWxlbWVudDo6
cmVtb3ZlZEZyb21BbmNlc3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGF0YUxpc3RFbGVt
ZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRGF0YUxpc3RF
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmNvbXB1dGVXaWxsVmFsaWRh
dGUgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBvaW50ZXJMb2NrQ29udHJvbGxlcjo6ZWxlbWVudFdhc1JlbW92ZWQp
OiBSZW5hbWVkIGZvciBjb25zaXN0ZW5jeS4KKyAgICAgICAgKFdlYkNvcmU6OlBvaW50ZXJMb2Nr
Q29udHJvbGxlcjo6ZWxlbWVudFJlbW92ZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUG9p
bnRlckxvY2tDb250cm9sbGVyLmg6CisKIDIwMjEtMDItMDMgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgT3B0aW1pemUgUG9pbnRlckNhcHR1cmVDb250
cm9sbGVyOjplbGVtZW50V2FzUmVtb3ZlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDA2YWRh
MWI2NDgxZDllOTgzM2NlNGExM2FlZDExOWNkZGU0ODIzYzcuLjZmN2UxNzNlZmJkNGIwZjEwMzM2
NWU1N2FhN2YxOTM2MjY1NjA1MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzI4LDggKzEz
MjgsMTIgQEAgcHVibGljOgogCiAgICAgdm9pZCBkaWRBc3NvY2lhdGVGb3JtQ29udHJvbChFbGVt
ZW50Jik7CiAgICAgYm9vbCBoYXNEaXNhYmxlZEZpZWxkc2V0RWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIG1fZGlzYWJsZWRGaWVsZHNldEVsZW1lbnRzQ291bnQ7IH0KLSAgICB2b2lkIGFkZERpc2Fi
bGVkRmllbGRzZXRFbGVtZW50KCkgeyBtX2Rpc2FibGVkRmllbGRzZXRFbGVtZW50c0NvdW50Kys7
IH0KLSAgICB2b2lkIHJlbW92ZURpc2FibGVkRmllbGRzZXRFbGVtZW50KCkgeyBBU1NFUlQobV9k
aXNhYmxlZEZpZWxkc2V0RWxlbWVudHNDb3VudCk7IG1fZGlzYWJsZWRGaWVsZHNldEVsZW1lbnRz
Q291bnQtLTsgfQorICAgIHZvaWQgYWRkRGlzYWJsZWRGaWVsZHNldEVsZW1lbnQoKSB7ICsrbV9k
aXNhYmxlZEZpZWxkc2V0RWxlbWVudHNDb3VudDsgfQorICAgIHZvaWQgcmVtb3ZlRGlzYWJsZWRG
aWVsZHNldEVsZW1lbnQoKSB7IEFTU0VSVChtX2Rpc2FibGVkRmllbGRzZXRFbGVtZW50c0NvdW50
KTsgLS1tX2Rpc2FibGVkRmllbGRzZXRFbGVtZW50c0NvdW50OyB9CisKKyAgICBib29sIGhhc0Rh
dGFMaXN0RWxlbWVudHMoKSBjb25zdCB7IHJldHVybiBtX2RhdGFMaXN0RWxlbWVudENvdW50OyB9
CisgICAgdm9pZCBpbmNyZW1lbnREYXRhTGlzdEVsZW1lbnRDb3VudCgpIHsgKyttX2RhdGFMaXN0
RWxlbWVudENvdW50OyB9CisgICAgdm9pZCBkZWNyZW1lbnREYXRhTGlzdEVsZW1lbnRDb3VudCgp
IHsgQVNTRVJUKG1fZGF0YUxpc3RFbGVtZW50Q291bnQpOyAtLW1fZGF0YUxpc3RFbGVtZW50Q291
bnQ7IH0KIAogICAgIHZvaWQgZ2V0UGFyc2VyTG9jYXRpb24oU3RyaW5nJiB1cmwsIHVuc2lnbmVk
JiBsaW5lLCB1bnNpZ25lZCYgY29sdW1uKSBjb25zdDsKIApAQCAtMTk5OSw2ICsyMDAzLDggQEAg
cHJpdmF0ZToKICAgICBIYXNoU2V0PFJlZlB0cjxFbGVtZW50Pj4gbV9hc3NvY2lhdGVkRm9ybUNv
bnRyb2xzOwogICAgIHVuc2lnbmVkIG1fZGlzYWJsZWRGaWVsZHNldEVsZW1lbnRzQ291bnQgeyAw
IH07CiAKKyAgICB1bnNpZ25lZCBtX2RhdGFMaXN0RWxlbWVudENvdW50IHsgMCB9OworCiAgICAg
dW5zaWduZWQgbV9saXN0ZW5lclR5cGVzIHsgMCB9OwogICAgIHVuc2lnbmVkIG1fcmVmZXJlbmNp
bmdOb2RlQ291bnQgeyAwIH07CiAgICAgaW50IG1fbG9hZEV2ZW50RGVsYXlDb3VudCB7IDAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA0ZGVmZWUyZDlhYWEzYjhhMDEwMzc3ZjllZTc0NDM4
OWFiZTAzM2Y4Li5hZjhlZmU1ZmNjNDViZTJjOTUwZjZjMjUwOTE0YjdhNzdiM2YxZjFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0yMjE1LDEyICsyMjE1LDE0IEBAIHZvaWQgRWxlbWVudDo6
cmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSByZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9k
ZSYgb2xkUGFyCiAgICAgaWYgKGNvbnRhaW5zRnVsbFNjcmVlbkVsZW1lbnQoKSkKICAgICAgICAg
c2V0Q29udGFpbnNGdWxsU2NyZWVuRWxlbWVudE9uQW5jZXN0b3JzQ3Jvc3NpbmdGcmFtZUJvdW5k
YXJpZXMoZmFsc2UpOwogI2VuZGlmCisgICAgCisgICAgYXV0byogcGFnZSA9IGRvY3VtZW50KCku
cGFnZSgpOworICAgIGlmIChwYWdlKSB7CiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKLSAgICBp
ZiAoZG9jdW1lbnQoKS5wYWdlKCkpCi0gICAgICAgIGRvY3VtZW50KCkucGFnZSgpLT5wb2ludGVy
TG9ja0NvbnRyb2xsZXIoKS5lbGVtZW50UmVtb3ZlZCgqdGhpcyk7CisgICAgICAgIHBhZ2UtPnBv
aW50ZXJMb2NrQ29udHJvbGxlcigpLmVsZW1lbnRXYXNSZW1vdmVkKCp0aGlzKTsKICNlbmRpZgot
ICAgIGlmIChkb2N1bWVudCgpLnBhZ2UoKSkKLSAgICAgICAgZG9jdW1lbnQoKS5wYWdlKCktPnBv
aW50ZXJDYXB0dXJlQ29udHJvbGxlcigpLmVsZW1lbnRXYXNSZW1vdmVkKCp0aGlzKTsKKyAgICAg
ICAgcGFnZS0+cG9pbnRlckNhcHR1cmVDb250cm9sbGVyKCkuZWxlbWVudFdhc1JlbW92ZWQoKnRo
aXMpOworICAgIH0KIAogICAgIHNldFNhdmVkTGF5ZXJTY3JvbGxQb3NpdGlvbihTY3JvbGxQb3Np
dGlvbigpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGF0YUxpc3RF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERhdGFMaXN0RWxlbWVudC5jcHAK
aW5kZXggODI2YzJjNTQ5MzUyZTU1N2E1YmI4OTU0Zjc2YTYxZjA1MmY5NzUxZC4uZWQyMDg1Njk3
NzM5NmYyMDZhYWUxZmI0ZjlhMmE3YWY5NTE2Y2RkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwCkBAIC01Niw2ICs1NiwyOSBAQCBSZWY8SFRNTERhdGFM
aXN0RWxlbWVudD4gSFRNTERhdGFMaXN0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhUTUxEYXRhTGlzdEVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQpKTsKIH0KIAorTm9kZTo6SW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1
bHQgSFRNTERhdGFMaXN0RWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IoSW5zZXJ0aW9uVHlw
ZSBpbnNlcnRpb25UeXBlLCBDb250YWluZXJOb2RlJiBwYXJlbnRPZkluc2VydGVkVHJlZSkKK3sK
KyAgICBpZiAocGFyZW50T2ZJbnNlcnRlZFRyZWUuaXNJblRyZWVTY29wZSgpKQorICAgICAgICBk
b2N1bWVudCgpLmluY3JlbWVudERhdGFMaXN0RWxlbWVudENvdW50KCk7CisKKyAgICByZXR1cm4g
SFRNTEVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKGluc2VydGlvblR5cGUsIHBhcmVudE9m
SW5zZXJ0ZWRUcmVlKTsKK30KKwordm9pZCBIVE1MRGF0YUxpc3RFbGVtZW50OjpyZW1vdmVkRnJv
bUFuY2VzdG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJl
bnRPZlJlbW92ZWRUcmVlKQoreworICAgIGlmIChvbGRQYXJlbnRPZlJlbW92ZWRUcmVlLmlzSW5U
cmVlU2NvcGUoKSkKKyAgICAgICAgZG9jdW1lbnQoKS5kZWNyZW1lbnREYXRhTGlzdEVsZW1lbnRD
b3VudCgpOworCisgICAgSFRNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IocmVtb3ZhbFR5
cGUsIG9sZFBhcmVudE9mUmVtb3ZlZFRyZWUpOworfQorCit2b2lkIEhUTUxEYXRhTGlzdEVsZW1l
bnQ6OmRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50JiBvbGREb2N1bWVudCwgRG9jdW1lbnQm
IG5ld0RvY3VtZW50KQoreworICAgIG9sZERvY3VtZW50LmRlY3JlbWVudERhdGFMaXN0RWxlbWVu
dENvdW50KCk7CisgICAgbmV3RG9jdW1lbnQuaW5jcmVtZW50RGF0YUxpc3RFbGVtZW50Q291bnQo
KTsKKyAgICBIVE1MRWxlbWVudDo6ZGlkTW92ZVRvTmV3RG9jdW1lbnQob2xkRG9jdW1lbnQsIG5l
d0RvY3VtZW50KTsKK30KKwogUmVmPEhUTUxDb2xsZWN0aW9uPiBIVE1MRGF0YUxpc3RFbGVtZW50
OjpvcHRpb25zKCkKIHsKICAgICByZXR1cm4gZW5zdXJlUmFyZURhdGEoKS5lbnN1cmVOb2RlTGlz
dHMoKS5hZGRDYWNoZWRDb2xsZWN0aW9uPEdlbmVyaWNDYWNoZWRIVE1MQ29sbGVjdGlvbjxDb2xs
ZWN0aW9uVHlwZVRyYWl0czxEYXRhTGlzdE9wdGlvbnM+Ojp0cmF2ZXJzYWxUeXBlPj4oKnRoaXMs
IERhdGFMaXN0T3B0aW9ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
YXRhTGlzdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERhdGFMaXN0RWxlbWVu
dC5oCmluZGV4IDlmYzU2MmI0MWFmNDQyZjUwMzJhYTgzZGI5OGY2ZWU2OTQ1M2M2OGMuLmU0OWJh
NGZhNzk0MDZkZGRjMzBiZDI0ZTVkYmNiNzYzMGYxNDQ5ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTERhdGFMaXN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTERhdGFMaXN0RWxlbWVudC5oCkBAIC01Myw2ICs1MywxMCBAQCBwdWJsaWM6CiAgICAg
YXV0byBzdWdnZXN0aW9ucygpIGNvbnN0IHsgcmV0dXJuIGZpbHRlcmVkRGVzY2VuZGFudHM8SFRN
TE9wdGlvbkVsZW1lbnQsIGlzU3VnZ2VzdGlvbj4oKnRoaXMpOyB9CiAKIHByaXZhdGU6CisgICAg
dm9pZCBkaWRNb3ZlVG9OZXdEb2N1bWVudChEb2N1bWVudCYgb2xkRG9jdW1lbnQsIERvY3VtZW50
JiBuZXdEb2N1bWVudCkgZmluYWw7CisgICAgSW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQgaW5z
ZXJ0ZWRJbnRvQW5jZXN0b3IoSW5zZXJ0aW9uVHlwZSwgQ29udGFpbmVyTm9kZSYpIGZpbmFsOwor
ICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYp
IGZpbmFsOworCiAgICAgSFRNTERhdGFMaXN0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwCmluZGV4IDE5ZGQ5NzZiMTliZjYzZTE4YzFjNDMwY2I0ZjJiOWYyMmExNGIz
NjMuLmNiOTcwNmVmMzRmODU0M2I5YjU4NTgwNzViZDI4NmNhYmVhOGQ5MWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtNDE0LDggKzQx
NCw3IEBAIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6Y29tcHV0ZVdpbGxWYWxpZGF0ZSgp
IGNvbnN0CiB7CiAgICAgaWYgKG1fZGF0YUxpc3RBbmNlc3RvclN0YXRlID09IFVua25vd24pIHsK
ICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKLSAgICAgICAgbV9kYXRhTGlzdEFuY2VzdG9y
U3RhdGUgPSBhbmNlc3RvcnNPZlR5cGU8SFRNTERhdGFMaXN0RWxlbWVudD4oKnRoaXMpLmZpcnN0
KCkKLSAgICAgICAgICAgID8gSW5zaWRlRGF0YUxpc3QgOiBOb3RJbnNpZGVEYXRhTGlzdDsKKyAg
ICAgICAgbV9kYXRhTGlzdEFuY2VzdG9yU3RhdGUgPSAoZG9jdW1lbnQoKS5oYXNEYXRhTGlzdEVs
ZW1lbnRzKCkgJiYgYW5jZXN0b3JzT2ZUeXBlPEhUTUxEYXRhTGlzdEVsZW1lbnQ+KCp0aGlzKS5m
aXJzdCgpKSA/IEluc2lkZURhdGFMaXN0IDogTm90SW5zaWRlRGF0YUxpc3Q7CiAjZWxzZQogICAg
ICAgICBtX2RhdGFMaXN0QW5jZXN0b3JTdGF0ZSA9IE5vdEluc2lkZURhdGFMaXN0OwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXgg
Y2YxYWM1ZDBhMjM4YjQ1MzgxNWVjZGRhODIxMjcyN2ExMmQ4ZWE3MC4uODczMWRhZGI4MGE5ZTgz
MzI2ZGRjZGNjMjgzOTcwMDIwYWNlOGQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9p
bnRlckxvY2tDb250cm9sbGVyLmNwcApAQCAtMTAzLDcgKzEwMyw3IEBAIHZvaWQgUG9pbnRlckxv
Y2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRlclVubG9ja0FuZEZvcmNlQ3Vyc29yVmlzaWJsZSgp
CiAgICAgbV9mb3JjZUN1cnNvclZpc2libGVVcG9uVW5sb2NrID0gdHJ1ZTsKIH0KIAotdm9pZCBQ
b2ludGVyTG9ja0NvbnRyb2xsZXI6OmVsZW1lbnRSZW1vdmVkKEVsZW1lbnQmIGVsZW1lbnQpCit2
b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6ZWxlbWVudFdhc1JlbW92ZWQoRWxlbWVudCYgZWxl
bWVudCkKIHsKICAgICBpZiAobV9lbGVtZW50ID09ICZlbGVtZW50KSB7CiAgICAgICAgIG1fZG9j
dW1lbnRPZlJlbW92ZWRFbGVtZW50V2hpbGVXYWl0aW5nRm9yVW5sb2NrID0gbWFrZVdlYWtQdHIo
bV9lbGVtZW50LT5kb2N1bWVudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UG9pbnRlckxvY2tDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2Nr
Q29udHJvbGxlci5oCmluZGV4IGZkMWJjNWEzNmE5OTk4MTk3MTYzZDA4MzIwNzE4MjgwNDMxYjhk
NWMuLmE3ZTUzZDBhOTVlZmUwMmYyNjFiNGMzMTliYzI4NDc5NTUwMzRiNmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuaApAQCAtNDgsNyArNDgsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHJlcXVlc3RQb2ludGVyVW5sb2NrKCk7CiAgICAgdm9pZCByZXF1
ZXN0UG9pbnRlclVubG9ja0FuZEZvcmNlQ3Vyc29yVmlzaWJsZSgpOwotICAgIHZvaWQgZWxlbWVu
dFJlbW92ZWQoRWxlbWVudCYpOworICAgIHZvaWQgZWxlbWVudFdhc1JlbW92ZWQoRWxlbWVudCYp
OwogICAgIHZvaWQgZG9jdW1lbnREZXRhY2hlZChEb2N1bWVudCYpOwogICAgIGJvb2wgaXNMb2Nr
ZWQoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGxvY2tQZW5kaW5nKCkgY29uc3Q7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419212</attachid>
            <date>2021-02-03 17:56:19 -0800</date>
            <delta_ts>2021-02-03 20:54:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221357-20210203175618.patch</filename>
            <type>text/plain</type>
            <size>8621</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWIyYmYwNTRmOWM1YzRm
NTc4ODU1ZDJlMTgxZmYyMTA4NmY4M2RkNC4uYmJmNjhkYzgwNzdkODk2MmUwZTQ4ZTg3M2I1ZDNl
NmJlYTcwODFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTAyLTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIGFuIGFu
Y2VzdG9yIHdhbGsgaW4gSFRNTEZvcm1Db250cm9sRWxlbWVudDo6Y29tcHV0ZVdpbGxWYWxpZGF0
ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEz
NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50Ojpjb21wdXRlV2lsbFZhbGlkYXRlKCkgZG9lcyBhbiBhbmNlc3Rv
ciBET00gd2FsayB0byBsb29rCisgICAgICAgIGZvciBlbmNsb3NpbmcgZGF0YSBsaXN0IGVsZW1l
bnRzLCBidXQgdGhlc2UgYXJlIGZhaXJseSB1bmNvbW1vbiBzbyB3ZSBjYW4gYXZvaWQKKyAgICAg
ICAgdGhpcyB3b3JrIGlmIHdlIGtub3cgdGhlIERvY3VtZW50IGhhcyBub25lLgorCisgICAgICAg
ICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YWRkRGlzYWJs
ZWRGaWVsZHNldEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlbW92ZURp
c2FibGVkRmllbGRzZXRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpoYXNE
YXRhTGlzdEVsZW1lbnRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbmNy
ZW1lbnREYXRhTGlzdEVsZW1lbnRDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
ZGVjcmVtZW50RGF0YUxpc3RFbGVtZW50Q291bnQpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IpOiBBdm9p
ZCBmZXRjaGluZyB0aGUgUGFnZSB0d2ljZS4KKyAgICAgICAgKiBodG1sL0hUTUxEYXRhTGlzdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERhdGFMaXN0RWxlbWVudDo6aW5zZXJ0
ZWRJbnRvQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERhdGFMaXN0RWxlbWVudDo6
cmVtb3ZlZEZyb21BbmNlc3Rvcik6CisgICAgICAgICogaHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmNvbXB1dGVXaWxsVmFsaWRhdGUgY29u
c3QpOgorICAgICAgICAqIHBhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBvaW50ZXJMb2NrQ29udHJvbGxlcjo6ZWxlbWVudFdhc1JlbW92ZWQpOiBSZW5h
bWVkIGZvciBjb25zaXN0ZW5jeS4KKyAgICAgICAgKFdlYkNvcmU6OlBvaW50ZXJMb2NrQ29udHJv
bGxlcjo6ZWxlbWVudFJlbW92ZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUG9pbnRlckxv
Y2tDb250cm9sbGVyLmg6CisKIDIwMjEtMDItMDMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgT3B0aW1pemUgUG9pbnRlckNhcHR1cmVDb250cm9sbGVy
OjplbGVtZW50V2FzUmVtb3ZlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggNGRlZmVlMmQ5
YWFhM2I4YTAxMDM3N2Y5ZWU3NDQzODlhYmUwMzNmOC4uMzlkMTFiNGU3YzM5MTdmNDU5YzU3MDc5
NWFkZjJmZDQxYWFmOWI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMjIxNSwxMiArMjIx
NSwxMyBAQCB2b2lkIEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUgcmVt
b3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmIG9sZFBhcgogICAgIGlmIChjb250YWluc0Z1bGxTY3Jl
ZW5FbGVtZW50KCkpCiAgICAgICAgIHNldENvbnRhaW5zRnVsbFNjcmVlbkVsZW1lbnRPbkFuY2Vz
dG9yc0Nyb3NzaW5nRnJhbWVCb3VuZGFyaWVzKGZhbHNlKTsKICNlbmRpZgorCisgICAgaWYgKGF1
dG8qIHBhZ2UgPSBkb2N1bWVudCgpLnBhZ2UoKSkgewogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0sp
Ci0gICAgaWYgKGRvY3VtZW50KCkucGFnZSgpKQotICAgICAgICBkb2N1bWVudCgpLnBhZ2UoKS0+
cG9pbnRlckxvY2tDb250cm9sbGVyKCkuZWxlbWVudFJlbW92ZWQoKnRoaXMpOworICAgICAgICBw
YWdlLT5wb2ludGVyTG9ja0NvbnRyb2xsZXIoKS5lbGVtZW50V2FzUmVtb3ZlZCgqdGhpcyk7CiAj
ZW5kaWYKLSAgICBpZiAoZG9jdW1lbnQoKS5wYWdlKCkpCi0gICAgICAgIGRvY3VtZW50KCkucGFn
ZSgpLT5wb2ludGVyQ2FwdHVyZUNvbnRyb2xsZXIoKS5lbGVtZW50V2FzUmVtb3ZlZCgqdGhpcyk7
CisgICAgICAgIHBhZ2UtPnBvaW50ZXJDYXB0dXJlQ29udHJvbGxlcigpLmVsZW1lbnRXYXNSZW1v
dmVkKCp0aGlzKTsKKyAgICB9CiAKICAgICBzZXRTYXZlZExheWVyU2Nyb2xsUG9zaXRpb24oU2Ny
b2xsUG9zaXRpb24oKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2Nv
cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAKaW5kZXggMDhjNWYzNjcz
ODcyNmE0N2RjOTk3MzEyZjkyNGJmMzMyYjQ4ODYyYy4uMGE3MTU0OThmODk3NmQ4Y2QzMTUyYjY0
NWU5OWM4MTFjNmQwZTNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29w
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAKQEAgLTU0LDYgKzU0
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgU2FtZVNpemVBc1RyZWVTY29wZSB7
CiAgICAgdm9pZCogcG9pbnRlcnNbMTBdOworICAgIHVuc2lnbmVkIGRhdGFMaXN0Q291bnRlcjsK
IH07CiAKIENPTVBJTEVfQVNTRVJUKHNpemVvZihUcmVlU2NvcGUpID09IHNpemVvZihTYW1lU2l6
ZUFzVHJlZVNjb3BlKSwgdHJlZXNjb3BlX3Nob3VsZF9zdGF5X3NtYWxsKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVl
U2NvcGUuaAppbmRleCA5MmIyYzQ4NmQ5YWNjZTI1MzZkY2JhZmE0Y2RmNTAwMTBmNDcxMzZlLi5k
NTEyZTc2NjU3YjJhZmIxODg4MGQwNDJiODUxY2E5OTdkM2IzYTBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVT
Y29wZS5oCkBAIC04OSw2ICs4OSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVJbWFnZUVs
ZW1lbnRCeVVzZW1hcChjb25zdCBBdG9tU3RyaW5nSW1wbCYsIEhUTUxJbWFnZUVsZW1lbnQmKTsK
ICAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZUVsZW1lbnRCeVVzZW1hcChjb25zdCBBdG9tU3Ry
aW5nSW1wbCYpIGNvbnN0OwogCisgICAgYm9vbCBoYXNEYXRhTGlzdEVsZW1lbnRzKCkgY29uc3Qg
eyByZXR1cm4gbV9kYXRhTGlzdEVsZW1lbnRDb3VudDsgfQorICAgIHZvaWQgaW5jcmVtZW50RGF0
YUxpc3RFbGVtZW50Q291bnQoKSB7ICsrbV9kYXRhTGlzdEVsZW1lbnRDb3VudDsgfQorICAgIHZv
aWQgZGVjcmVtZW50RGF0YUxpc3RFbGVtZW50Q291bnQoKSB7IEFTU0VSVChtX2RhdGFMaXN0RWxl
bWVudENvdW50KTsgLS1tX2RhdGFMaXN0RWxlbWVudENvdW50OyB9CisKICAgICAvLyBGb3IgYWNj
ZXNzaWJpbGl0eS4KICAgICBib29sIHNob3VsZENhY2hlTGFiZWxzQnlGb3JBdHRyaWJ1dGUoKSBj
b25zdCB7IHJldHVybiAhIW1fbGFiZWxzQnlGb3JBdHRyaWJ1dGU7IH0KICAgICB2b2lkIGFkZExh
YmVsKGNvbnN0IEF0b21TdHJpbmdJbXBsJiBmb3JBdHRyaWJ1dGVWYWx1ZSwgSFRNTExhYmVsRWxl
bWVudCYpOwpAQCAtMTQwLDYgKzE0NCw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRy
PElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeT4gbV9pZFRhcmdldE9ic2VydmVyUmVnaXN0cnk7CiAg
ICAgCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJhZGlvQnV0dG9uR3JvdXBzPiBtX3JhZGlvQnV0dG9u
R3JvdXBzOworCisgICAgdW5zaWduZWQgbV9kYXRhTGlzdEVsZW1lbnRDb3VudCB7IDAgfTsKIH07
CiAKIGlubGluZSBib29sIFRyZWVTY29wZTo6aGFzRWxlbWVudFdpdGhJZChjb25zdCBBdG9tU3Ry
aW5nSW1wbCYgaWQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
YXRhTGlzdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGF0YUxpc3RFbGVt
ZW50LmNwcAppbmRleCA4MjZjMmM1NDkzNTJlNTU3YTViYjg5NTRmNzZhNjFmMDUyZjk3NTFkLi5i
YjIyMTY1Y2JiY2FhZjk5NmVmNjBiYTZhY2Q4NTg1MDVjN2NmMDM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERhdGFMaXN0RWxlbWVudC5jcHAKQEAgLTU2LDYgKzU2LDI0IEBAIFJlZjxI
VE1MRGF0YUxpc3RFbGVtZW50PiBIVE1MRGF0YUxpc3RFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSFRNTERhdGFMaXN0
RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwogfQogCitOb2RlOjpJbnNlcnRlZEludG9BbmNl
c3RvclJlc3VsdCBIVE1MRGF0YUxpc3RFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihJbnNl
cnRpb25UeXBlIGluc2VydGlvblR5cGUsIENvbnRhaW5lck5vZGUmIHBhcmVudE9mSW5zZXJ0ZWRU
cmVlKQoreworICAgIGF1dG8gcmVzdWx0ID0gSFRNTEVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2Vz
dG9yKGluc2VydGlvblR5cGUsIHBhcmVudE9mSW5zZXJ0ZWRUcmVlKTsKKworICAgIGlmIChpbnNl
cnRpb25UeXBlLnRyZWVTY29wZUNoYW5nZWQpCisgICAgICAgIHRyZWVTY29wZSgpLmluY3JlbWVu
dERhdGFMaXN0RWxlbWVudENvdW50KCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lk
IEhUTUxEYXRhTGlzdEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUgcmVt
b3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmIG9sZFBhcmVudE9mUmVtb3ZlZFRyZWUpCit7CisgICAg
SFRNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IocmVtb3ZhbFR5cGUsIG9sZFBhcmVudE9m
UmVtb3ZlZFRyZWUpOworCisgICAgaWYgKHJlbW92YWxUeXBlLnRyZWVTY29wZUNoYW5nZWQpCisg
ICAgICAgIHRyZWVTY29wZSgpLmRlY3JlbWVudERhdGFMaXN0RWxlbWVudENvdW50KCk7Cit9CisK
IFJlZjxIVE1MQ29sbGVjdGlvbj4gSFRNTERhdGFMaXN0RWxlbWVudDo6b3B0aW9ucygpCiB7CiAg
ICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCkuZW5zdXJlTm9kZUxpc3RzKCkuYWRkQ2FjaGVkQ29s
bGVjdGlvbjxHZW5lcmljQ2FjaGVkSFRNTENvbGxlY3Rpb248Q29sbGVjdGlvblR5cGVUcmFpdHM8
RGF0YUxpc3RPcHRpb25zPjo6dHJhdmVyc2FsVHlwZT4+KCp0aGlzLCBEYXRhTGlzdE9wdGlvbnMp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuaAppbmRleCA5ZmM1NjJi
NDFhZjQ0MmY1MDMyYWE4M2RiOThmNmVlNjk0NTNjNjhjLi44ZWU0YjAyM2YxYWY3NjIwMDhiYThi
NzEyOTlmM2FkMTNmYjI5NmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
YXRhTGlzdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEYXRhTGlzdEVs
ZW1lbnQuaApAQCAtNTMsNiArNTMsOSBAQCBwdWJsaWM6CiAgICAgYXV0byBzdWdnZXN0aW9ucygp
IGNvbnN0IHsgcmV0dXJuIGZpbHRlcmVkRGVzY2VuZGFudHM8SFRNTE9wdGlvbkVsZW1lbnQsIGlz
U3VnZ2VzdGlvbj4oKnRoaXMpOyB9CiAKIHByaXZhdGU6CisgICAgSW5zZXJ0ZWRJbnRvQW5jZXN0
b3JSZXN1bHQgaW5zZXJ0ZWRJbnRvQW5jZXN0b3IoSW5zZXJ0aW9uVHlwZSwgQ29udGFpbmVyTm9k
ZSYpIGZpbmFsOworICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSwgQ29u
dGFpbmVyTm9kZSYpIGZpbmFsOworCiAgICAgSFRNTERhdGFMaXN0RWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IDE5ZGQ5NzZiMTliZjYzZTE4YzFjNDMwY2I0
ZjJiOWYyMmExNGIzNjMuLjJmODY4NGZiNWVmMGZlYThmMDdiMDkwNDc2M2VkMWFkOTBhYzcwMDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApA
QCAtNDE0LDggKzQxNCw3IEBAIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6Y29tcHV0ZVdp
bGxWYWxpZGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYgKG1fZGF0YUxpc3RBbmNlc3RvclN0YXRlID09
IFVua25vd24pIHsKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKLSAgICAgICAgbV9kYXRh
TGlzdEFuY2VzdG9yU3RhdGUgPSBhbmNlc3RvcnNPZlR5cGU8SFRNTERhdGFMaXN0RWxlbWVudD4o
KnRoaXMpLmZpcnN0KCkKLSAgICAgICAgICAgID8gSW5zaWRlRGF0YUxpc3QgOiBOb3RJbnNpZGVE
YXRhTGlzdDsKKyAgICAgICAgbV9kYXRhTGlzdEFuY2VzdG9yU3RhdGUgPSAodHJlZVNjb3BlKCku
aGFzRGF0YUxpc3RFbGVtZW50cygpICYmIGFuY2VzdG9yc09mVHlwZTxIVE1MRGF0YUxpc3RFbGVt
ZW50PigqdGhpcykuZmlyc3QoKSkgPyBJbnNpZGVEYXRhTGlzdCA6IE5vdEluc2lkZURhdGFMaXN0
OwogI2Vsc2UKICAgICAgICAgbV9kYXRhTGlzdEFuY2VzdG9yU3RhdGUgPSBOb3RJbnNpZGVEYXRh
TGlzdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9j
a0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xs
ZXIuY3BwCmluZGV4IGNmMWFjNWQwYTIzOGI0NTM4MTVlY2RkYTgyMTI3MjdhMTJkOGVhNzAuLjg3
MzFkYWRiODBhOWU4MzMyNmRkY2RjYzI4Mzk3MDAyMGFjZThkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKQEAgLTEwMyw3ICsxMDMsNyBAQCB2
b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJVbmxvY2tBbmRGb3JjZUN1
cnNvclZpc2libGUoKQogICAgIG1fZm9yY2VDdXJzb3JWaXNpYmxlVXBvblVubG9jayA9IHRydWU7
CiB9CiAKLXZvaWQgUG9pbnRlckxvY2tDb250cm9sbGVyOjplbGVtZW50UmVtb3ZlZChFbGVtZW50
JiBlbGVtZW50KQordm9pZCBQb2ludGVyTG9ja0NvbnRyb2xsZXI6OmVsZW1lbnRXYXNSZW1vdmVk
KEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgaWYgKG1fZWxlbWVudCA9PSAmZWxlbWVudCkgewog
ICAgICAgICBtX2RvY3VtZW50T2ZSZW1vdmVkRWxlbWVudFdoaWxlV2FpdGluZ0ZvclVubG9jayA9
IG1ha2VXZWFrUHRyKG1fZWxlbWVudC0+ZG9jdW1lbnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuaAppbmRleCBmZDFiYzVhMzZhOTk5ODE5NzE2M2QwODMy
MDcxODI4MDQzMWI4ZDVjLi5hN2U1M2QwYTk1ZWZlMDJmMjYxYjRjMzE5YmMyODQ3OTU1MDM0YjZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmgKQEAgLTQ4
LDcgKzQ4LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXF1ZXN0UG9pbnRlclVubG9jaygpOwog
ICAgIHZvaWQgcmVxdWVzdFBvaW50ZXJVbmxvY2tBbmRGb3JjZUN1cnNvclZpc2libGUoKTsKLSAg
ICB2b2lkIGVsZW1lbnRSZW1vdmVkKEVsZW1lbnQmKTsKKyAgICB2b2lkIGVsZW1lbnRXYXNSZW1v
dmVkKEVsZW1lbnQmKTsKICAgICB2b2lkIGRvY3VtZW50RGV0YWNoZWQoRG9jdW1lbnQmKTsKICAg
ICBib29sIGlzTG9ja2VkKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBsb2NrUGVu
ZGluZygpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419225</attachid>
            <date>2021-02-03 20:54:30 -0800</date>
            <delta_ts>2021-02-03 20:56:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221357-20210203205429.patch</filename>
            <type>text/plain</type>
            <size>8419</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWIyYmYwNTRmOWM1YzRm
NTc4ODU1ZDJlMTgxZmYyMTA4NmY4M2RkNC4uOGFiZDFmYmFlYjFhMjFiMDIzODUyNDAwNWVlMjU4
MTIxOGY4YjFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAyLTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIGFuIGFu
Y2VzdG9yIHdhbGsgaW4gSFRNTEZvcm1Db250cm9sRWxlbWVudDo6Y29tcHV0ZVdpbGxWYWxpZGF0
ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEz
NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50Ojpjb21wdXRlV2lsbFZhbGlkYXRlKCkgZG9lcyBhbiBhbmNlc3Rv
ciBET00gd2FsayB0byBsb29rCisgICAgICAgIGZvciBlbmNsb3NpbmcgZGF0YSBsaXN0IGVsZW1l
bnRzLCBidXQgdGhlc2UgYXJlIGZhaXJseSB1bmNvbW1vbiBzbyB3ZSBjYW4gYXZvaWQKKyAgICAg
ICAgdGhpcyB3b3JrIGlmIHdlIGtub3cgdGhlIERvY3VtZW50IGhhcyBub25lLgorCisgICAgICAg
ICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aGFzRGF0YUxp
c3RFbGVtZW50cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW5jcmVtZW50
RGF0YUxpc3RFbGVtZW50Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRlY3Jl
bWVudERhdGFMaXN0RWxlbWVudENvdW50KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKTogQXZvaWQgZmV0
Y2hpbmcgdGhlIHBhZ2UgdHdpY2UuCisgICAgICAgICogaHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEYXRhTGlzdEVsZW1lbnQ6OkhUTUxEYXRhTGlz
dEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERhdGFMaXN0RWxlbWVudDo6fkhUTUxE
YXRhTGlzdEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERhdGFMaXN0RWxlbWVudDo6
ZGlkTW92ZVRvTmV3RG9jdW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTERhdGFMaXN0RWxlbWVu
dC5oOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojpjb21wdXRlV2lsbFZhbGlkYXRlIGNv
bnN0KToKKyAgICAgICAgKiBwYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQb2ludGVyTG9ja0NvbnRyb2xsZXI6OmVsZW1lbnRXYXNSZW1vdmVkKTogUmVu
YW1lZCBmb3IgY29uc2lzdGVuY3kuCisgICAgICAgIChXZWJDb3JlOjpQb2ludGVyTG9ja0NvbnRy
b2xsZXI6OmVsZW1lbnRSZW1vdmVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1BvaW50ZXJM
b2NrQ29udHJvbGxlci5oOgorCiAyMDIxLTAyLTAzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE9wdGltaXplIFBvaW50ZXJDYXB0dXJlQ29udHJvbGxl
cjo6ZWxlbWVudFdhc1JlbW92ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAwNmFkYTFiNjQ4
MWQ5ZTk4MzNjZTRhMTNhZWQxMTljZGRlNDgyM2M3Li5lMDFhZDUwMDU1OWU1Mzk3YzBkZDQ5ZGU2
M2E1MGM1YTI3MzRmZWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTMzMSw2ICsxMzMxLDEw
IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZERpc2FibGVkRmllbGRzZXRFbGVtZW50KCkgeyBtX2Rp
c2FibGVkRmllbGRzZXRFbGVtZW50c0NvdW50Kys7IH0KICAgICB2b2lkIHJlbW92ZURpc2FibGVk
RmllbGRzZXRFbGVtZW50KCkgeyBBU1NFUlQobV9kaXNhYmxlZEZpZWxkc2V0RWxlbWVudHNDb3Vu
dCk7IG1fZGlzYWJsZWRGaWVsZHNldEVsZW1lbnRzQ291bnQtLTsgfQogCisgICAgYm9vbCBoYXNE
YXRhTGlzdEVsZW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhTGlzdEVsZW1lbnRDb3VudDsg
fQorICAgIHZvaWQgaW5jcmVtZW50RGF0YUxpc3RFbGVtZW50Q291bnQoKSB7ICsrbV9kYXRhTGlz
dEVsZW1lbnRDb3VudDsgfQorICAgIHZvaWQgZGVjcmVtZW50RGF0YUxpc3RFbGVtZW50Q291bnQo
KSB7IEFTU0VSVChtX2RhdGFMaXN0RWxlbWVudENvdW50KTsgLS1tX2RhdGFMaXN0RWxlbWVudENv
dW50OyB9CisKICAgICB2b2lkIGdldFBhcnNlckxvY2F0aW9uKFN0cmluZyYgdXJsLCB1bnNpZ25l
ZCYgbGluZSwgdW5zaWduZWQmIGNvbHVtbikgY29uc3Q7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIGFkZENvbnNvbGVNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3I6OkNvbnNvbGVN
ZXNzYWdlPiYmKSBmaW5hbDsKQEAgLTE5OTksNiArMjAwMyw4IEBAIHByaXZhdGU6CiAgICAgSGFz
aFNldDxSZWZQdHI8RWxlbWVudD4+IG1fYXNzb2NpYXRlZEZvcm1Db250cm9sczsKICAgICB1bnNp
Z25lZCBtX2Rpc2FibGVkRmllbGRzZXRFbGVtZW50c0NvdW50IHsgMCB9OwogCisgICAgdW5zaWdu
ZWQgbV9kYXRhTGlzdEVsZW1lbnRDb3VudCB7IDAgfTsKKwogICAgIHVuc2lnbmVkIG1fbGlzdGVu
ZXJUeXBlcyB7IDAgfTsKICAgICB1bnNpZ25lZCBtX3JlZmVyZW5jaW5nTm9kZUNvdW50IHsgMCB9
OwogICAgIGludCBtX2xvYWRFdmVudERlbGF5Q291bnQgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKaW5kZXggNGRlZmVlMmQ5YWFhM2I4YTAxMDM3N2Y5ZWU3NDQzODlhYmUwMzNmOC4uYjM0ZDJj
YTRhMmIxYTU2ZjBjNzk5ZDdjYTU5MjcwZTU0YmY5OGMzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cApAQCAtMjIxNSwxMiArMjIxNSwxMyBAQCB2b2lkIEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0
b3IoUmVtb3ZhbFR5cGUgcmVtb3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmIG9sZFBhcgogICAgIGlm
IChjb250YWluc0Z1bGxTY3JlZW5FbGVtZW50KCkpCiAgICAgICAgIHNldENvbnRhaW5zRnVsbFNj
cmVlbkVsZW1lbnRPbkFuY2VzdG9yc0Nyb3NzaW5nRnJhbWVCb3VuZGFyaWVzKGZhbHNlKTsKICNl
bmRpZgorICAgIAorICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCkpIHsKICNp
ZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQotICAgIGlmIChkb2N1bWVudCgpLnBhZ2UoKSkKLSAgICAg
ICAgZG9jdW1lbnQoKS5wYWdlKCktPnBvaW50ZXJMb2NrQ29udHJvbGxlcigpLmVsZW1lbnRSZW1v
dmVkKCp0aGlzKTsKKyAgICAgICAgcGFnZS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkuZWxlbWVu
dFdhc1JlbW92ZWQoKnRoaXMpOwogI2VuZGlmCi0gICAgaWYgKGRvY3VtZW50KCkucGFnZSgpKQot
ICAgICAgICBkb2N1bWVudCgpLnBhZ2UoKS0+cG9pbnRlckNhcHR1cmVDb250cm9sbGVyKCkuZWxl
bWVudFdhc1JlbW92ZWQoKnRoaXMpOworICAgICAgICBwYWdlLT5wb2ludGVyQ2FwdHVyZUNvbnRy
b2xsZXIoKS5lbGVtZW50V2FzUmVtb3ZlZCgqdGhpcyk7CisgICAgfQogCiAgICAgc2V0U2F2ZWRM
YXllclNjcm9sbFBvc2l0aW9uKFNjcm9sbFBvc2l0aW9uKCkpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50LmNwcAppbmRleCA4MjZjMmM1NDkzNTJlNTU3YTViYjg5
NTRmNzZhNjFmMDUyZjk3NTFkLi40OTU5YWQ2NjY4Y2I3ZjRiMjRlZWQwNDFmOTU2YzA4MDI4ODYw
Y2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERhdGFMaXN0RWxlbWVudC5jcHAKQEAg
LTQ5LDYgKzQ5LDEyIEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChIVE1MRGF0YUxpc3RF
bGVtZW50KTsKIGlubGluZSBIVE1MRGF0YUxpc3RFbGVtZW50OjpIVE1MRGF0YUxpc3RFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKICAgICA6
IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogeworICAgIGRvY3VtZW50LmluY3JlbWVu
dERhdGFMaXN0RWxlbWVudENvdW50KCk7Cit9CisKK0hUTUxEYXRhTGlzdEVsZW1lbnQ6On5IVE1M
RGF0YUxpc3RFbGVtZW50KCkKK3sKKyAgICBkb2N1bWVudCgpLmRlY3JlbWVudERhdGFMaXN0RWxl
bWVudENvdW50KCk7CiB9CiAKIFJlZjxIVE1MRGF0YUxpc3RFbGVtZW50PiBIVE1MRGF0YUxpc3RF
bGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRv
Y3VtZW50KQpAQCAtNTYsNiArNjIsMTMgQEAgUmVmPEhUTUxEYXRhTGlzdEVsZW1lbnQ+IEhUTUxE
YXRhTGlzdEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW0KICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBIVE1MRGF0YUxpc3RFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KSk7CiB9CiAKK3ZvaWQgSFRNTERhdGFMaXN0RWxlbWVudDo6ZGlkTW92ZVRvTmV3RG9jdW1lbnQo
RG9jdW1lbnQmIG9sZERvY3VtZW50LCBEb2N1bWVudCYgbmV3RG9jdW1lbnQpCit7CisgICAgb2xk
RG9jdW1lbnQuZGVjcmVtZW50RGF0YUxpc3RFbGVtZW50Q291bnQoKTsKKyAgICBuZXdEb2N1bWVu
dC5pbmNyZW1lbnREYXRhTGlzdEVsZW1lbnRDb3VudCgpOworICAgIEhUTUxFbGVtZW50OjpkaWRN
b3ZlVG9OZXdEb2N1bWVudChvbGREb2N1bWVudCwgbmV3RG9jdW1lbnQpOworfQorCiBSZWY8SFRN
TENvbGxlY3Rpb24+IEhUTUxEYXRhTGlzdEVsZW1lbnQ6Om9wdGlvbnMoKQogewogICAgIHJldHVy
biBlbnN1cmVSYXJlRGF0YSgpLmVuc3VyZU5vZGVMaXN0cygpLmFkZENhY2hlZENvbGxlY3Rpb248
R2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0aW9uPENvbGxlY3Rpb25UeXBlVHJhaXRzPERhdGFMaXN0
T3B0aW9ucz46OnRyYXZlcnNhbFR5cGU+PigqdGhpcywgRGF0YUxpc3RPcHRpb25zKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERhdGFMaXN0RWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50LmgKaW5kZXggOWZjNTYyYjQxYWY0NDJm
NTAzMmFhODNkYjk4ZjZlZTY5NDUzYzY4Yy4uMTYxNDliOWY4ZjVlNDRjYzBmMTY5NjE4YTY5MDA0
ZjJiMjhmNTBmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGF0YUxpc3RF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50LmgK
QEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgSFRNTERhdGFMaXN0RWxlbWVudCBmaW5hbCA6IHB1Ymxp
YyBIVE1MRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChIVE1MRGF0YUxpc3RF
bGVtZW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhUTUxEYXRhTGlzdEVsZW1lbnQ+IGNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKKyAgICB+SFRNTERhdGFMaXN0
RWxlbWVudCgpOwogCiAgICAgUmVmPEhUTUxDb2xsZWN0aW9uPiBvcHRpb25zKCk7CiAKQEAgLTUz
LDYgKzU0LDggQEAgcHVibGljOgogICAgIGF1dG8gc3VnZ2VzdGlvbnMoKSBjb25zdCB7IHJldHVy
biBmaWx0ZXJlZERlc2NlbmRhbnRzPEhUTUxPcHRpb25FbGVtZW50LCBpc1N1Z2dlc3Rpb24+KCp0
aGlzKTsgfQogCiBwcml2YXRlOgorICAgIHZvaWQgZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9jdW1l
bnQmIG9sZERvY3VtZW50LCBEb2N1bWVudCYgbmV3RG9jdW1lbnQpIGZpbmFsOworCiAgICAgSFRN
TERhdGFMaXN0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4
IDE5ZGQ5NzZiMTliZjYzZTE4YzFjNDMwY2I0ZjJiOWYyMmExNGIzNjMuLmNiOTcwNmVmMzRmODU0
M2I5YjU4NTgwNzViZDI4NmNhYmVhOGQ5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtNDE0LDggKzQxNCw3IEBAIGJvb2wgSFRNTEZv
cm1Db250cm9sRWxlbWVudDo6Y29tcHV0ZVdpbGxWYWxpZGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYg
KG1fZGF0YUxpc3RBbmNlc3RvclN0YXRlID09IFVua25vd24pIHsKICNpZiBFTkFCTEUoREFUQUxJ
U1RfRUxFTUVOVCkKLSAgICAgICAgbV9kYXRhTGlzdEFuY2VzdG9yU3RhdGUgPSBhbmNlc3RvcnNP
ZlR5cGU8SFRNTERhdGFMaXN0RWxlbWVudD4oKnRoaXMpLmZpcnN0KCkKLSAgICAgICAgICAgID8g
SW5zaWRlRGF0YUxpc3QgOiBOb3RJbnNpZGVEYXRhTGlzdDsKKyAgICAgICAgbV9kYXRhTGlzdEFu
Y2VzdG9yU3RhdGUgPSAoZG9jdW1lbnQoKS5oYXNEYXRhTGlzdEVsZW1lbnRzKCkgJiYgYW5jZXN0
b3JzT2ZUeXBlPEhUTUxEYXRhTGlzdEVsZW1lbnQ+KCp0aGlzKS5maXJzdCgpKSA/IEluc2lkZURh
dGFMaXN0IDogTm90SW5zaWRlRGF0YUxpc3Q7CiAjZWxzZQogICAgICAgICBtX2RhdGFMaXN0QW5j
ZXN0b3JTdGF0ZSA9IE5vdEluc2lkZURhdGFMaXN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXggY2YxYWM1ZDBhMjM4YjQ1Mzgx
NWVjZGRhODIxMjcyN2ExMmQ4ZWE3MC4uODczMWRhZGI4MGE5ZTgzMzI2ZGRjZGNjMjgzOTcwMDIw
YWNlOGQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVy
LmNwcApAQCAtMTAzLDcgKzEwMyw3IEBAIHZvaWQgUG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1
ZXN0UG9pbnRlclVubG9ja0FuZEZvcmNlQ3Vyc29yVmlzaWJsZSgpCiAgICAgbV9mb3JjZUN1cnNv
clZpc2libGVVcG9uVW5sb2NrID0gdHJ1ZTsKIH0KIAotdm9pZCBQb2ludGVyTG9ja0NvbnRyb2xs
ZXI6OmVsZW1lbnRSZW1vdmVkKEVsZW1lbnQmIGVsZW1lbnQpCit2b2lkIFBvaW50ZXJMb2NrQ29u
dHJvbGxlcjo6ZWxlbWVudFdhc1JlbW92ZWQoRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBpZiAo
bV9lbGVtZW50ID09ICZlbGVtZW50KSB7CiAgICAgICAgIG1fZG9jdW1lbnRPZlJlbW92ZWRFbGVt
ZW50V2hpbGVXYWl0aW5nRm9yVW5sb2NrID0gbWFrZVdlYWtQdHIobV9lbGVtZW50LT5kb2N1bWVu
dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5oCmluZGV4
IGZkMWJjNWEzNmE5OTk4MTk3MTYzZDA4MzIwNzE4MjgwNDMxYjhkNWMuLmE3ZTUzZDBhOTVlZmUw
MmYyNjFiNGMzMTliYzI4NDc5NTUwMzRiNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2lu
dGVyTG9ja0NvbnRyb2xsZXIuaApAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IHJlcXVlc3RQb2ludGVyVW5sb2NrKCk7CiAgICAgdm9pZCByZXF1ZXN0UG9pbnRlclVubG9ja0Fu
ZEZvcmNlQ3Vyc29yVmlzaWJsZSgpOwotICAgIHZvaWQgZWxlbWVudFJlbW92ZWQoRWxlbWVudCYp
OworICAgIHZvaWQgZWxlbWVudFdhc1JlbW92ZWQoRWxlbWVudCYpOwogICAgIHZvaWQgZG9jdW1l
bnREZXRhY2hlZChEb2N1bWVudCYpOwogICAgIGJvb2wgaXNMb2NrZWQoKSBjb25zdDsKICAgICBX
RUJDT1JFX0VYUE9SVCBib29sIGxvY2tQZW5kaW5nKCkgY29uc3Q7Cg==
</data>
<flag name="review"
          id="437412"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>