<?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>239129</bug_id>
          
          <creation_ts>2022-04-12 09:25:33 -0700</creation_ts>
          <short_desc>Web Inspector: Clean up `WI.DOMNode` to no longer require the shared `WI.DOMManager` be passed during construction</short_desc>
          <delta_ts>2022-05-22 11:13:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></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>
          <dependson>189687</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick Angle">pangle</reporter>
          <assigned_to name="Patrick Angle">pangle</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1860693</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2022-04-12 09:25:33 -0700</bug_when>
    <thetext>Followup from review on bug 189687.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860694</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-12 09:25:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/91630867&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860707</commentid>
    <comment_count>2</comment_count>
      <attachid>457339</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2022-04-12 09:58:18 -0700</bug_when>
    <thetext>Created attachment 457339
Patch v1.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860769</commentid>
    <comment_count>3</comment_count>
      <attachid>457339</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-04-12 12:35:59 -0700</bug_when>
    <thetext>Comment on attachment 457339
Patch v1.0

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

I actually had something similar I was working on last night :P

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMManager.js:191
&gt; +    setNodeForId(nodeId, node)

NIT: It&apos;s probably not necessary to path both the `nodeId` and `node` given that the `node.id` should match the `nodeId`, so we could just use `node.id` instead.

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMManager.js:195
&gt; +        this._idToDOMNode[nodeId] = node;

IMO the fact that this is only used in one spot makes me think that having a method for it is maybe overkill.  Yes it&apos;s not our usual style to allow for private members to be accessed outside of that class, but perhaps for a one-off like this that&apos;s somewhat OK (especially since we don&apos;t want this to be used by anyone else).

&gt; Source/WebInspectorUI/UserInterface/Models/DOMNode.js:35
&gt; +    constructor(doc, isInShadowTree, payload)

While we&apos;re at it, I think we could/should adjust this to be more in line with modern Web Inspector style:
- rename `doc` to `ownerDocument`
- have `payload` as the first parameter as that&apos;s really the only one that&apos;s required (yes technically `ownerDocument` is normally expected, but the fact that there&apos;s a codepath where it&apos;s not used (when `this._nodeType === Node.DOCUMENT_NODE`) in my mind means it&apos;s not required)
- move `ownerDocument` and `isInShadowTree` to an `options = {}` parameter
resulting in something like `constructor(payload, {ownerDocument, isInShadowTree} = {})`, which should let us get rid of all the `null` provided when creating any `WI.DOMNode`.

And I&apos;d also make these changes to `WI.DOMNode.newOrExistingFromPayload` so that they match :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860871</commentid>
    <comment_count>4</comment_count>
      <attachid>457411</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2022-04-12 13:46:05 -0700</bug_when>
    <thetext>Created attachment 457411
Patch v1.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860875</commentid>
    <comment_count>5</comment_count>
      <attachid>457411</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-04-12 13:53:03 -0700</bug_when>
    <thetext>Comment on attachment 457411
Patch v1.1

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

r=me, nice!  Thanks for iterating :)

&gt; Source/WebInspectorUI/UserInterface/Models/DOMNode.js:60
&gt; +        this.ownerDocument = this._nodeType === Node.DOCUMENT_NODE ? this : ownerDocument;

NIT: probably could/should have a `console.assert(this.ownerDocument, this);` right after :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860878</commentid>
    <comment_count>6</comment_count>
      <attachid>457443</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2022-04-12 14:00:04 -0700</bug_when>
    <thetext>Created attachment 457443
Patch v1.2 - Review nit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860941</commentid>
    <comment_count>7</comment_count>
      <attachid>457484</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2022-04-12 15:38:55 -0700</bug_when>
    <thetext>Created attachment 457484
Patch v1.2 - Correct typos in for loops</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861187</commentid>
    <comment_count>8</comment_count>
      <attachid>457551</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2022-04-13 11:31:26 -0700</bug_when>
    <thetext>Created attachment 457551
[fast-cq] Patch v1.3 - Add reviewer to changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861195</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-13 11:54:26 -0700</bug_when>
    <thetext>Committed r292818 (249598@main): &lt;https://commits.webkit.org/249598@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457551.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1871016</commentid>
    <comment_count>10</comment_count>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2022-05-22 11:13:05 -0700</bug_when>
    <thetext>Reverted in https://commits.webkit.org/250847@main due to issues between frontend and backend representation of DOM tree.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457339</attachid>
            <date>2022-04-12 09:58:18 -0700</date>
            <delta_ts>2022-04-12 13:46:03 -0700</delta_ts>
            <desc>Patch v1.0</desc>
            <filename>bug-239129-20220412095817.patch</filename>
            <type>text/plain</type>
            <size>8271</size>
            <attacher name="Patrick Angle">pangle</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA0
ZmE0ZmY0NDc2OGI4NTc4YTllMjFjZTg2ZTQzMGIyM2M3NTVlN2FhLi5iMjkzNGY2M2Q4NTVmMGY1
NjU1MTk2NjEzZjFjY2FkYzdkYTI0MjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAyMi0wNC0xMiAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ2xlYW4gdXAgYFdJLkRPTU5vZGVgIHRvIG5vIGxv
bmdlciByZXF1aXJlIHRoZSBzaGFyZWQgYFdJLkRPTU1hbmFnZXJgIGJlIHBhc3NlZCBkdXJpbmcg
Y29uc3RydWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkxMjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NTWFuYWdlci5qczoKKyAgICAgICAg
KFdJLkRPTU1hbmFnZXIucHJvdG90eXBlLm5vZGVGb3JJZCk6CisgICAgICAgIChXSS5ET01NYW5h
Z2VyLnByb3RvdHlwZS5zZXROb2RlRm9ySWQpOgorICAgICAgICAtIEFkZGVkIHRvIGZhY2lsaXRh
dGUgV0kuRE9NTm9kZSBtYXBwaW5nIG5vZGUgaWRzIHdpdGhvdXQgZGlyZWN0bHkgdG91Y2hpbmcg
YSBwcml2YXRlIG1lbWJlciB2YXJpYWJsZS4KKyAgICAgICAgQWRkaXRpb25hbGx5LCB3ZSBub3cg
YXNzZXJ0IHRoYXQgd2UgYXJlIG5vdCBvdmVyd3JpdGluZyB0aGUgc2FtZSBub2RlIElELgorCisg
ICAgICAgIChXSS5ET01NYW5hZ2VyLnByb3RvdHlwZS5fc2V0RG9jdW1lbnQpOgorICAgICAgICAo
V0kuRE9NTWFuYWdlci5wcm90b3R5cGUuX3NldENoaWxkTm9kZXMpOgorICAgICAgICAoV0kuRE9N
TWFuYWdlci5wcm90b3R5cGUuX3NldERldGFjaGVkUm9vdCk6IERlbGV0ZWQuCisgICAgICAgIC0g
SW5saW5lIF9zZXREZXRhY2hlZFJvb3Qgd2l0aCBhIGNvbW1lbnQgaW5zdGVhZCBhbmQgdXBkYXRl
IHRoZXNlIGNhbGwgc2l0ZXMgdG8gdXNlCisgICAgICAgIGBXSS5ET01Ob2RlLm5ld09yRXhpc3Rp
bmdGcm9tUGF5bG9hZCBgaW5zdGVhZCBvZiBhbHdheXMgY3JlYXRpbmcgYSBuZXcgbm9kZS4KKwor
ICAgICAgICAoV0kuRE9NTWFuYWdlci5wcm90b3R5cGUuX2NoaWxkTm9kZUluc2VydGVkKToKKyAg
ICAgICAgKFdJLkRPTU1hbmFnZXIucHJvdG90eXBlLl9wc2V1ZG9FbGVtZW50QWRkZWQpOgorICAg
ICAgICAtIFdJLkRPTU5vZGUgYWxyZWFkeSBtYXBzIG5vZGUgaWRzIHRvIG5vZGVzLCBzbyB0aGVy
ZSBpcyBubyByZWFzb24gdG8gZG8gc28gYWdhaW4uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L01vZGVscy9ET01Ob2RlLmpzOgorICAgICAgICAoV0kuRE9NTm9kZSk6CisgICAgICAgIChXSS5E
T01Ob2RlLnByb3RvdHlwZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQpOgorICAgICAgICAtIFJl
bW92ZSB0aGUgX2RvbU1hbmFnZXIgcHJvcGVydHkgc2luY2UgaXQgd2lsbCBhbHdheXMgYmUgYFdJ
LmRvbU1hbmFnZXJgLCB0aGUgc2hhcmVkIHNpbmdsZXRvbi4KKwogMjAyMi0wNC0xMSAgUGF0cmlj
ayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogcHJl
c2VydmUgRE9NLk5vZGVJZCBpZiBhIG5vZGUgaXMgcmVtb3ZlZCBhbmQgcmUtYWRkZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RP
TU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9ET01NYW5hZ2VyLmpzCmluZGV4IDBjNjc2MzhmZDA5MGNkNGU0MzNiZDk0NTVmMTUzYjI0
MTRiMzE2MTAuLjY2YTdiNzY4MjlkMDIyYTQ1MGM3NjkyZmNiYmFjMWQyMDk0YWU5NzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RP
TU1hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29u
dHJvbGxlcnMvRE9NTWFuYWdlci5qcwpAQCAtMTgzLDYgKzE4MywxOCBAQCBXSS5ET01NYW5hZ2Vy
ID0gY2xhc3MgRE9NTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB9LCBjYWxsYmFj
ayk7CiAgICAgfQogCisgICAgbm9kZUZvcklkKG5vZGVJZCkKKyAgICB7CisgICAgICAgIHJldHVy
biB0aGlzLl9pZFRvRE9NTm9kZVtub2RlSWRdIHx8IG51bGw7CisgICAgfQorCisgICAgc2V0Tm9k
ZUZvcklkKG5vZGVJZCwgbm9kZSkKKyAgICB7CisgICAgICAgIC8vIFRoaXMgc2hvdWxkIG9ubHkg
YmUgY2FsbGVkIGJ5IGBXSS5ET01Ob2RlYCdzIGNvbnN0cnVjdG9yLgorICAgICAgICBjb25zb2xl
LmFzc2VydCghKG5vZGVJZCBpbiB0aGlzLl9pZFRvRE9NTm9kZSksIG5vZGVJZCwgbm9kZSk7Cisg
ICAgICAgIHRoaXMuX2lkVG9ET01Ob2RlW25vZGVJZF0gPSBub2RlOworICAgIH0KKwogICAgIC8v
IERPTU9ic2VydmVyCiAKICAgICB3aWxsRGVzdHJveURPTU5vZGUobm9kZUlkKQpAQCAtMzgzLDEx
ICszOTUsNiBAQCBXSS5ET01NYW5hZ2VyID0gY2xhc3MgRE9NTWFuYWdlciBleHRlbmRzIFdJLk9i
amVjdAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5ET01NYW5hZ2Vy
LkV2ZW50LkNoYXJhY3RlckRhdGFNb2RpZmllZCwge25vZGV9KTsKICAgICB9CiAKLSAgICBub2Rl
Rm9ySWQobm9kZUlkKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2lkVG9ET01Ob2RlW25v
ZGVJZF0gfHwgbnVsbDsKLSAgICB9Ci0KICAgICBfZG9jdW1lbnRVcGRhdGVkKCkKICAgICB7CiAg
ICAgICAgIHRoaXMuX3NldERvY3VtZW50KG51bGwpOwpAQCAtNDA2LDcgKzQxMyw3IEBAIFdJLkRP
TU1hbmFnZXIgPSBjbGFzcyBET01NYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAgICAg
bGV0IG5ld0RvY3VtZW50ID0gbnVsbDsKICAgICAgICAgaWYgKHBheWxvYWQgJiYgIm5vZGVJZCIg
aW4gcGF5bG9hZCkKLSAgICAgICAgICAgIG5ld0RvY3VtZW50ID0gbmV3IFdJLkRPTU5vZGUodGhp
cywgbnVsbCwgZmFsc2UsIHBheWxvYWQpOworICAgICAgICAgICAgbmV3RG9jdW1lbnQgPSBuZXcg
V0kuRE9NTm9kZShudWxsLCBmYWxzZSwgcGF5bG9hZCk7CiAKICAgICAgICAgaWYgKHRoaXMuX2Rv
Y3VtZW50ID09PSBuZXdEb2N1bWVudCkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTQyMiwxNSAr
NDI5LDEyIEBAIFdJLkRPTU1hbmFnZXIgPSBjbGFzcyBET01NYW5hZ2VyIGV4dGVuZHMgV0kuT2Jq
ZWN0CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkRPTU1hbmFnZXIu
RXZlbnQuRG9jdW1lbnRVcGRhdGVkLCB7ZG9jdW1lbnQ6IHRoaXMuX2RvY3VtZW50fSk7CiAgICAg
fQogCi0gICAgX3NldERldGFjaGVkUm9vdChwYXlsb2FkKQotICAgIHsKLSAgICAgICAgbmV3IFdJ
LkRPTU5vZGUodGhpcywgbnVsbCwgZmFsc2UsIHBheWxvYWQpOwotICAgIH0KLQogICAgIF9zZXRD
aGlsZE5vZGVzKHBhcmVudElkLCBwYXlsb2FkcykKICAgICB7CiAgICAgICAgIGlmICghcGFyZW50
SWQgJiYgcGF5bG9hZHMubGVuZ3RoKSB7Ci0gICAgICAgICAgICB0aGlzLl9zZXREZXRhY2hlZFJv
b3QocGF5bG9hZHNbMF0pOworICAgICAgICAgICAgLy8gYEluc3BlY3RvckRPTUFnZW50OjpwdXNo
Tm9kZVBhdGhUb0Zyb250ZW5kYCBjYW4gcHJvdmlkZSBhIHNpbmdsZSBjaGlsZCBhcyBhIGRldGFj
aGVkIHJvb3Qgbm9kZS4KKyAgICAgICAgICAgIGxldCBub2RlID0gV0kuRE9NTm9kZS5uZXdPckV4
aXN0aW5nRnJvbVBheWxvYWQobnVsbCwgcGF5bG9hZHNbMF0pOworICAgICAgICAgICAgY29uc29s
ZS5hc3NlcnQoIW5vZGUucGFyZW50Tm9kZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KIApAQCAtNDU5LDcgKzQ2Myw2IEBAIFdJLkRPTU1hbmFnZXIgPSBjbGFzcyBET01NYW5hZ2Vy
IGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHZhciBwYXJlbnQgPSB0aGlzLl9pZFRvRE9NTm9k
ZVtwYXJlbnRJZF07CiAgICAgICAgIHZhciBwcmV2ID0gdGhpcy5faWRUb0RPTU5vZGVbcHJldklk
XTsKICAgICAgICAgdmFyIG5vZGUgPSBwYXJlbnQuX2luc2VydENoaWxkKHByZXYsIHBheWxvYWQp
OwotICAgICAgICB0aGlzLl9pZFRvRE9NTm9kZVtub2RlLmlkXSA9IG5vZGU7CiAgICAgICAgIHRo
aXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkRPTU1hbmFnZXIuRXZlbnQuTm9kZUluc2Vy
dGVkLCB7bm9kZSwgcGFyZW50fSk7CiAgICAgfQogCkBAIC00ODcsNyArNDkwLDYgQEAgV0kuRE9N
TWFuYWdlciA9IGNsYXNzIERPTU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgICAgICBs
ZXQgbm9kZSA9IFdJLkRPTU5vZGUubmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHBhcmVudC5vd25l
ckRvY3VtZW50LCBwc2V1ZG9FbGVtZW50KTsKICAgICAgICAgbm9kZS5wYXJlbnROb2RlID0gcGFy
ZW50OwotICAgICAgICB0aGlzLl9pZFRvRE9NTm9kZVtub2RlLmlkXSA9IG5vZGU7CiAgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KCFwYXJlbnQucHNldWRvRWxlbWVudHMoKS5nZXQobm9kZS5wc2V1ZG9U
eXBlKCkpKTsKICAgICAgICAgcGFyZW50LnBzZXVkb0VsZW1lbnRzKCkuc2V0KG5vZGUucHNldWRv
VHlwZSgpLCBub2RlKTsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0ku
RE9NTWFuYWdlci5FdmVudC5Ob2RlSW5zZXJ0ZWQsIHtub2RlLCBwYXJlbnR9KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMK
aW5kZXggYzMxZGVhNjkxYzFkYjNjZTk4MzJhOGU2YjdiNGU2NzNhZGE4MGQ2Ny4uZGFiZjExNjU1
MWM4MjhjN2Y5MGI2YTk3YTgzZjUwOWE4ZmFiYWQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKQEAgLTMyLDE3ICsz
MiwxNiBAQAogCiBXSS5ET01Ob2RlID0gY2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJLk9iamVjdAog
ewotICAgIGNvbnN0cnVjdG9yKGRvbU1hbmFnZXIsIGRvYywgaXNJblNoYWRvd1RyZWUsIHBheWxv
YWQpCisgICAgY29uc3RydWN0b3IoZG9jLCBpc0luU2hhZG93VHJlZSwgcGF5bG9hZCkKICAgICB7
CiAgICAgICAgIHN1cGVyKCk7CiAKICAgICAgICAgdGhpcy5fZGVzdHJveWVkID0gZmFsc2U7CiAK
LSAgICAgICAgdGhpcy5fZG9tTWFuYWdlciA9IGRvbU1hbmFnZXI7CiAgICAgICAgIHRoaXMuX2lz
SW5TaGFkb3dUcmVlID0gaXNJblNoYWRvd1RyZWU7CiAKICAgICAgICAgdGhpcy5pZCA9IHBheWxv
YWQubm9kZUlkOwotICAgICAgICB0aGlzLl9kb21NYW5hZ2VyLl9pZFRvRE9NTm9kZVt0aGlzLmlk
XSA9IHRoaXM7CisgICAgICAgIFdJLmRvbU1hbmFnZXIuc2V0Tm9kZUZvcklkKHRoaXMuaWQsIHRo
aXMpOwogCiAgICAgICAgIHRoaXMuX25vZGVUeXBlID0gcGF5bG9hZC5ub2RlVHlwZTsKICAgICAg
ICAgdGhpcy5fbm9kZU5hbWUgPSBwYXlsb2FkLm5vZGVOYW1lOwpAQCAtOTYsNyArOTUsNyBAQCBX
SS5ET01Ob2RlID0gY2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICBpZiAo
cGF5bG9hZC5zaGFkb3dSb290cykgewogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBw
YXlsb2FkLnNoYWRvd1Jvb3RzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICAgICAgdmFyIHJv
b3QgPSBwYXlsb2FkLnNoYWRvd1Jvb3RzW2ldOwotICAgICAgICAgICAgICAgIHZhciBub2RlID0g
bmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdlciwgdGhpcy5vd25lckRvY3VtZW50LCB0cnVl
LCByb290KTsKKyAgICAgICAgICAgICAgICBsZXQgbm9kZSA9IFdJLkRPTU5vZGUubmV3T3JFeGlz
dGluZ0Zyb21QYXlsb2FkKHRoaXMub3duZXJEb2N1bWVudCwgcm9vdCwge2lzSW5TaGFkb3dUcmVl
OiB0cnVlfSk7CiAgICAgICAgICAgICAgICAgbm9kZS5wYXJlbnROb2RlID0gdGhpczsKICAgICAg
ICAgICAgICAgICB0aGlzLl9zaGFkb3dSb290cy5wdXNoKG5vZGUpOwogICAgICAgICAgICAgfQpA
QCAtMTEzLDIxICsxMTIsMjEgQEAgV0kuRE9NTm9kZSA9IGNsYXNzIERPTU5vZGUgZXh0ZW5kcyBX
SS5PYmplY3QKICAgICAgICAgICAgIHRoaXMuX2N1c3RvbUVsZW1lbnRTdGF0ZSA9IG51bGw7CiAK
ICAgICAgICAgaWYgKHBheWxvYWQudGVtcGxhdGVDb250ZW50KSB7Ci0gICAgICAgICAgICB0aGlz
Ll90ZW1wbGF0ZUNvbnRlbnQgPSBuZXcgV0kuRE9NTm9kZSh0aGlzLl9kb21NYW5hZ2VyLCB0aGlz
Lm93bmVyRG9jdW1lbnQsIGZhbHNlLCBwYXlsb2FkLnRlbXBsYXRlQ29udGVudCk7CisgICAgICAg
ICAgICB0aGlzLl90ZW1wbGF0ZUNvbnRlbnQgPSBXSS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9t
UGF5bG9hZCh0aGlzLm93bmVyRG9jdW1lbnQsIHBheWxvYWQudGVtcGxhdGVDb250ZW50KTsKICAg
ICAgICAgICAgIHRoaXMuX3RlbXBsYXRlQ29udGVudC5wYXJlbnROb2RlID0gdGhpczsKICAgICAg
ICAgfQogCiAgICAgICAgIHRoaXMuX3BzZXVkb0VsZW1lbnRzID0gbmV3IE1hcDsKICAgICAgICAg
aWYgKHBheWxvYWQucHNldWRvRWxlbWVudHMpIHsKICAgICAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgcGF5bG9hZC5wc2V1ZG9FbGVtZW50cy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAg
ICAgIHZhciBub2RlID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdlciwgdGhpcy5vd25l
ckRvY3VtZW50LCB0aGlzLl9pc0luU2hhZG93VHJlZSwgcGF5bG9hZC5wc2V1ZG9FbGVtZW50c1tp
XSk7CisgICAgICAgICAgICAgICAgbGV0IG5vZGUgPSBXSS5ET01Ob2RlLm5ld09yRXhpc3RpbmdG
cm9tUGF5bG9hZCh0aGlzLm93bmVyRG9jdW1lbnQsIHBheWxvYWQucHNldWRvRWxlbWVudHNbaV0s
IHtpc0luU2hhZG93VHJlZTogdGhpcy5faXNJblNoYWRvd1RyZWV9KTsKICAgICAgICAgICAgICAg
ICBub2RlLnBhcmVudE5vZGUgPSB0aGlzOwogICAgICAgICAgICAgICAgIHRoaXMuX3BzZXVkb0Vs
ZW1lbnRzLnNldChub2RlLnBzZXVkb1R5cGUoKSwgbm9kZSk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIAogICAgICAgICBpZiAocGF5bG9hZC5jb250ZW50RG9jdW1lbnQpIHsKLSAgICAgICAg
ICAgIHRoaXMuX2NvbnRlbnREb2N1bWVudCA9IG5ldyBXSS5ET01Ob2RlKHRoaXMuX2RvbU1hbmFn
ZXIsIG51bGwsIGZhbHNlLCBwYXlsb2FkLmNvbnRlbnREb2N1bWVudCk7CisgICAgICAgICAgICB0
aGlzLl9jb250ZW50RG9jdW1lbnQgPSBXSS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9h
ZChudWxsLCBwYXlsb2FkLmNvbnRlbnREb2N1bWVudCk7CiAgICAgICAgICAgICB0aGlzLl9jaGls
ZHJlbiA9IFt0aGlzLl9jb250ZW50RG9jdW1lbnRdOwogICAgICAgICAgICAgdGhpcy5fcmVudW1i
ZXIoKTsKICAgICAgICAgfQpAQCAtMTY2LDcgKzE2NSw3IEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBE
T01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgc3RhdGljIG5ld09yRXhpc3RpbmdGcm9tUGF5
bG9hZChkb2N1bWVudCwgcGF5bG9hZCwge2lzSW5TaGFkb3dUcmVlfSA9IHt9KQogICAgIHsKICAg
ICAgICAgLy8gRklYTUU6IDx3ZWJraXQub3JnL2IvMjM4OTQ3PiBEb24ndCBzZW5kIG5vZGUgcGF5
bG9hZHMgdG8gdGhlIGZyb250ZW5kIGZvciBhbHJlYWR5LWJvdW5kIG5vZGVzLgotICAgICAgICBy
ZXR1cm4gV0kuZG9tTWFuYWdlci5ub2RlRm9ySWQocGF5bG9hZC5ub2RlSWQpIHx8IG5ldyBXSS5E
T01Ob2RlKFdJLmRvbU1hbmFnZXIsIGRvY3VtZW50LCAhIWlzSW5TaGFkb3dUcmVlLCBwYXlsb2Fk
KTsKKyAgICAgICAgcmV0dXJuIFdJLmRvbU1hbmFnZXIubm9kZUZvcklkKHBheWxvYWQubm9kZUlk
KSB8fCBuZXcgV0kuRE9NTm9kZShkb2N1bWVudCwgISFpc0luU2hhZG93VHJlZSwgcGF5bG9hZCk7
CiAgICAgfQogCiAgICAgc3RhdGljIHJlc2V0RGVmYXVsdExheW91dE92ZXJsYXlDb25maWd1cmF0
aW9uKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457411</attachid>
            <date>2022-04-12 13:46:05 -0700</date>
            <delta_ts>2022-04-12 14:00:02 -0700</delta_ts>
            <desc>Patch v1.1</desc>
            <filename>bug-239129-20220412134604.patch</filename>
            <type>text/plain</type>
            <size>9657</size>
            <attacher name="Patrick Angle">pangle</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBh
M2QwZTU4ODlhOWVkOWQ2YTc1NDc2ODRjMTE3MTg0NDBlNTJmYWQzLi45YTExODhjOTMzYmEzZDJj
NjY2YzZlZjA1ODIzMzhlOGQyNGNjMGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMi0wNC0xMiAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ2xlYW4gdXAgYFdJLkRPTU5vZGVgIHRvIG5vIGxv
bmdlciByZXF1aXJlIHRoZSBzaGFyZWQgYFdJLkRPTU1hbmFnZXJgIGJlIHBhc3NlZCBkdXJpbmcg
Y29uc3RydWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkxMjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NTWFuYWdlci5qczoKKyAgICAgICAg
KFdJLkRPTU1hbmFnZXIucHJvdG90eXBlLl9zZXREb2N1bWVudCk6CisgICAgICAgIChXSS5ET01N
YW5hZ2VyLnByb3RvdHlwZS5fY2hpbGROb2RlSW5zZXJ0ZWQpOgorICAgICAgICAoV0kuRE9NTWFu
YWdlci5wcm90b3R5cGUuX3BzZXVkb0VsZW1lbnRBZGRlZCk6CisgICAgICAgIC0gVXBkYXRlIHRv
IHVzZSBuZXcgc3ludGF4IGZvciBgV0kuRE9NTm9kZWAgY29uc3RydWN0b3IvYG5ld09yRXhpc3Rp
bmdGcm9tUGF5bG9hZGAuIEFkZGl0aW9uYWxseSwgdGhlcmUgaXMgbm8KKyAgICAgICAgbmVlZCB0
byBleHBsaWNpdGx5IG1hcCBub2RlIGlkcyB0byBub2RlcyBoZXJlIHNpbmNlIGBXSS5ET01Ob2Rl
YCdzIGNvbnN0cnVjdG9yIGRvZXMgdGhpcy4KKyAgICAgICAgCisgICAgICAgIChXSS5ET01NYW5h
Z2VyLnByb3RvdHlwZS5fc2V0Q2hpbGROb2Rlcyk6CisgICAgICAgIChXSS5ET01NYW5hZ2VyLnBy
b3RvdHlwZS5fc2V0RGV0YWNoZWRSb290KTogRGVsZXRlZC4KKyAgICAgICAgLSBJbmxpbmUgX3Nl
dERldGFjaGVkUm9vdCB3aXRoIGEgY29tbWVudCBpbnN0ZWFkIGFuZCB1cGRhdGUgdG8gdXNlIGBX
SS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZGAgaW5zdGVhZAorICAgICAgICBvZiBh
bHdheXMgY3JlYXRpbmcgYSBuZXcgbm9kZS4KKyAgICAgICAgCisgICAgICAgICogVXNlckludGVy
ZmFjZS9Nb2RlbHMvRE9NTm9kZS5qczoKKyAgICAgICAgKFdJLkRPTU5vZGUpOgorICAgICAgICAt
IFJlbW92ZSB0aGUgX2RvbU1hbmFnZXIgcHJvcGVydHkgc2luY2UgaXQgd2lsbCBhbHdheXMgYmUg
YFdJLmRvbU1hbmFnZXJgLCB0aGUgc2hhcmVkIHNpbmdsZXRvbiBhbmQgdXBkYXRlIHRoZQorICAg
ICAgICByZXF1aXJlZCBhcmd1bWVudHMgdG8gdXNlIGFuIG9wdGlvbnMgb2JqZWN0IGZvciBub24t
cmVxdWlyZWQgcGFyYW1ldGVycy4KKworICAgICAgICAoV0kuRE9NTm9kZS5wcm90b3R5cGUubmV3
T3JFeGlzdGluZ0Zyb21QYXlsb2FkKToKKyAgICAgICAgKFdJLkRPTU5vZGUucHJvdG90eXBlLl9p
bnNlcnRDaGlsZCk6CisgICAgICAgIChXSS5ET01Ob2RlLnByb3RvdHlwZS5fc2V0Q2hpbGRyZW5Q
YXlsb2FkKToKKyAgICAgICAgLSBVcGRhdGUgdG8gdXNlIG5ldyBjb25zdHJ1Y3RvciBzeW50YXgu
CisgICAgICAgIAorCiAyMDIyLTA0LTEyICBQYXRyaWNrIEFuZ2xlICA8cGFuZ2xlQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgZW5naW5lZXJpbmctYnVpbGQtb25seSBh
YmlsaXR5IHRvIGR1bXAgdGhlIGN1cnJlbnQga25vd24gYm91bmQgbm9kZXMgdHJlZSBpbiBJbnNw
ZWN0b3JeMiBvciBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01NYW5hZ2VyLmpzCmluZGV4IDBj
Njc2MzhmZDA5MGNkNGU0MzNiZDk0NTVmMTUzYjI0MTRiMzE2MTAuLjU3OGJmMTljYzI1OTM4OGNk
NDE0ZDAxMTkzOTcxZDdjYzJjMzgwNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTU1hbmFnZXIuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NTWFuYWdlci5qcwpAQCAt
NDA2LDcgKzQwNiw3IEBAIFdJLkRPTU1hbmFnZXIgPSBjbGFzcyBET01NYW5hZ2VyIGV4dGVuZHMg
V0kuT2JqZWN0CiAKICAgICAgICAgbGV0IG5ld0RvY3VtZW50ID0gbnVsbDsKICAgICAgICAgaWYg
KHBheWxvYWQgJiYgIm5vZGVJZCIgaW4gcGF5bG9hZCkKLSAgICAgICAgICAgIG5ld0RvY3VtZW50
ID0gbmV3IFdJLkRPTU5vZGUodGhpcywgbnVsbCwgZmFsc2UsIHBheWxvYWQpOworICAgICAgICAg
ICAgbmV3RG9jdW1lbnQgPSBuZXcgV0kuRE9NTm9kZShwYXlsb2FkKTsKIAogICAgICAgICBpZiAo
dGhpcy5fZG9jdW1lbnQgPT09IG5ld0RvY3VtZW50KQogICAgICAgICAgICAgcmV0dXJuOwpAQCAt
NDIyLDE1ICs0MjIsMTIgQEAgV0kuRE9NTWFuYWdlciA9IGNsYXNzIERPTU1hbmFnZXIgZXh0ZW5k
cyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9N
TWFuYWdlci5FdmVudC5Eb2N1bWVudFVwZGF0ZWQsIHtkb2N1bWVudDogdGhpcy5fZG9jdW1lbnR9
KTsKICAgICB9CiAKLSAgICBfc2V0RGV0YWNoZWRSb290KHBheWxvYWQpCi0gICAgewotICAgICAg
ICBuZXcgV0kuRE9NTm9kZSh0aGlzLCBudWxsLCBmYWxzZSwgcGF5bG9hZCk7Ci0gICAgfQotCiAg
ICAgX3NldENoaWxkTm9kZXMocGFyZW50SWQsIHBheWxvYWRzKQogICAgIHsKICAgICAgICAgaWYg
KCFwYXJlbnRJZCAmJiBwYXlsb2Fkcy5sZW5ndGgpIHsKLSAgICAgICAgICAgIHRoaXMuX3NldERl
dGFjaGVkUm9vdChwYXlsb2Fkc1swXSk7CisgICAgICAgICAgICAvLyBgSW5zcGVjdG9yRE9NQWdl
bnQ6OnB1c2hOb2RlUGF0aFRvRnJvbnRlbmRgIGNhbiBwcm92aWRlIGEgc2luZ2xlIGNoaWxkIGFz
IGEgZGV0YWNoZWQgcm9vdCBub2RlLgorICAgICAgICAgICAgbGV0IG5vZGUgPSBXSS5ET01Ob2Rl
Lm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZChwYXlsb2Fkc1swXSk7CisgICAgICAgICAgICBjb25z
b2xlLmFzc2VydCghbm9kZS5wYXJlbnROb2RlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCkBAIC00NTksNyArNDU2LDYgQEAgV0kuRE9NTWFuYWdlciA9IGNsYXNzIERPTU1hbmFn
ZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdmFyIHBhcmVudCA9IHRoaXMuX2lkVG9ET01O
b2RlW3BhcmVudElkXTsKICAgICAgICAgdmFyIHByZXYgPSB0aGlzLl9pZFRvRE9NTm9kZVtwcmV2
SWRdOwogICAgICAgICB2YXIgbm9kZSA9IHBhcmVudC5faW5zZXJ0Q2hpbGQocHJldiwgcGF5bG9h
ZCk7Ci0gICAgICAgIHRoaXMuX2lkVG9ET01Ob2RlW25vZGUuaWRdID0gbm9kZTsKICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9NTWFuYWdlci5FdmVudC5Ob2RlSW5z
ZXJ0ZWQsIHtub2RlLCBwYXJlbnR9KTsKICAgICB9CiAKQEAgLTQ4NSw5ICs0ODEsOCBAQCBXSS5E
T01NYW5hZ2VyID0gY2xhc3MgRE9NTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICBp
ZiAoIXBhcmVudCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBsZXQgbm9kZSA9IFdJ
LkRPTU5vZGUubmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHBhcmVudC5vd25lckRvY3VtZW50LCBw
c2V1ZG9FbGVtZW50KTsKKyAgICAgICAgbGV0IG5vZGUgPSBXSS5ET01Ob2RlLm5ld09yRXhpc3Rp
bmdGcm9tUGF5bG9hZChwc2V1ZG9FbGVtZW50LCB7b3duZXJEb2N1bWVudDogcGFyZW50Lm93bmVy
RG9jdW1lbnR9KTsKICAgICAgICAgbm9kZS5wYXJlbnROb2RlID0gcGFyZW50OwotICAgICAgICB0
aGlzLl9pZFRvRE9NTm9kZVtub2RlLmlkXSA9IG5vZGU7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KCFwYXJlbnQucHNldWRvRWxlbWVudHMoKS5nZXQobm9kZS5wc2V1ZG9UeXBlKCkpKTsKICAgICAg
ICAgcGFyZW50LnBzZXVkb0VsZW1lbnRzKCkuc2V0KG5vZGUucHNldWRvVHlwZSgpLCBub2RlKTsK
ICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9NTWFuYWdlci5FdmVu
dC5Ob2RlSW5zZXJ0ZWQsIHtub2RlLCBwYXJlbnR9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKaW5kZXggYzMxZGVhNjkx
YzFkYjNjZTk4MzJhOGU2YjdiNGU2NzNhZGE4MGQ2Ny4uNmI2ZDk3NTgwMDEyMDVlNDZkMGUxNWRm
NjUyZDU2OTA0NDE4MmU0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKQEAgLTMyLDE3ICszMiwxOCBAQAogCiBXSS5E
T01Ob2RlID0gY2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJLk9iamVjdAogewotICAgIGNvbnN0cnVj
dG9yKGRvbU1hbmFnZXIsIGRvYywgaXNJblNoYWRvd1RyZWUsIHBheWxvYWQpCisgICAgY29uc3Ry
dWN0b3IocGF5bG9hZCwge293bmVyRG9jdW1lbnQsIGlzSW5TaGFkb3dUcmVlfSA9IHt9KQogICAg
IHsKICAgICAgICAgc3VwZXIoKTsKIAogICAgICAgICB0aGlzLl9kZXN0cm95ZWQgPSBmYWxzZTsK
IAotICAgICAgICB0aGlzLl9kb21NYW5hZ2VyID0gZG9tTWFuYWdlcjsKLSAgICAgICAgdGhpcy5f
aXNJblNoYWRvd1RyZWUgPSBpc0luU2hhZG93VHJlZTsKKyAgICAgICAgdGhpcy5faXNJblNoYWRv
d1RyZWUgPSAhIWlzSW5TaGFkb3dUcmVlOwogCiAgICAgICAgIHRoaXMuaWQgPSBwYXlsb2FkLm5v
ZGVJZDsKLSAgICAgICAgdGhpcy5fZG9tTWFuYWdlci5faWRUb0RPTU5vZGVbdGhpcy5pZF0gPSB0
aGlzOworCisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCEodGhpcy5pZCBpbiBXSS5kb21NYW5hZ2Vy
Ll9pZFRvRE9NTm9kZSksIHRoaXMpOworICAgICAgICBXSS5kb21NYW5hZ2VyLl9pZFRvRE9NTm9k
ZVt0aGlzLmlkXSA9IHRoaXM7CiAKICAgICAgICAgdGhpcy5fbm9kZVR5cGUgPSBwYXlsb2FkLm5v
ZGVUeXBlOwogICAgICAgICB0aGlzLl9ub2RlTmFtZSA9IHBheWxvYWQubm9kZU5hbWU7CkBAIC01
NiwxMCArNTcsNyBAQCBXSS5ET01Ob2RlID0gY2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJLk9iamVj
dAogICAgICAgICB0aGlzLl9sYXlvdXRPdmVybGF5U2hvd2luZyA9IGZhbHNlOwogICAgICAgICB0
aGlzLl9sYXlvdXRPdmVybGF5Q29sb3JTZXR0aW5nID0gbnVsbDsKIAotICAgICAgICBpZiAodGhp
cy5fbm9kZVR5cGUgPT09IE5vZGUuRE9DVU1FTlRfTk9ERSkKLSAgICAgICAgICAgIHRoaXMub3du
ZXJEb2N1bWVudCA9IHRoaXM7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMub3duZXJE
b2N1bWVudCA9IGRvYzsKKyAgICAgICAgdGhpcy5vd25lckRvY3VtZW50ID0gdGhpcy5fbm9kZVR5
cGUgPT09IE5vZGUuRE9DVU1FTlRfTk9ERSA/IHRoaXMgOiBvd25lckRvY3VtZW50OwogCiAgICAg
ICAgIHRoaXMuX2ZyYW1lID0gbnVsbDsKIApAQCAtOTQsOSArOTIsOCBAQCBXSS5ET01Ob2RlID0g
Y2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAvLyB3ZSBoYXZlIGJvdGgg
c2hhZG93Um9vdHMgYW5kIGNoaWxkIG5vZGVzLgogICAgICAgICB0aGlzLl9zaGFkb3dSb290cyA9
IFtdOwogICAgICAgICBpZiAocGF5bG9hZC5zaGFkb3dSb290cykgewotICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBwYXlsb2FkLnNoYWRvd1Jvb3RzLmxlbmd0aDsgKytpKSB7Ci0gICAg
ICAgICAgICAgICAgdmFyIHJvb3QgPSBwYXlsb2FkLnNoYWRvd1Jvb3RzW2ldOwotICAgICAgICAg
ICAgICAgIHZhciBub2RlID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdlciwgdGhpcy5v
d25lckRvY3VtZW50LCB0cnVlLCByb290KTsKKyAgICAgICAgICAgIGZvciAobGV0IHNoYWRvd1Jv
b3RQYXlsb2FkIGluIHBheWxvYWQuc2hhZG93Um9vdHMpIHsKKyAgICAgICAgICAgICAgICBsZXQg
bm9kZSA9IFdJLkRPTU5vZGUubmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHNoYWRvd1Jvb3RQYXls
b2FkLCB7b3duZXJEb2N1bWVudDogdGhpcy5vd25lckRvY3VtZW50LCBpc0luU2hhZG93VHJlZTog
dHJ1ZX0pOwogICAgICAgICAgICAgICAgIG5vZGUucGFyZW50Tm9kZSA9IHRoaXM7CiAgICAgICAg
ICAgICAgICAgdGhpcy5fc2hhZG93Um9vdHMucHVzaChub2RlKTsKICAgICAgICAgICAgIH0KQEAg
LTExMywyMSArMTEwLDIxIEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0ku
T2JqZWN0CiAgICAgICAgICAgICB0aGlzLl9jdXN0b21FbGVtZW50U3RhdGUgPSBudWxsOwogCiAg
ICAgICAgIGlmIChwYXlsb2FkLnRlbXBsYXRlQ29udGVudCkgewotICAgICAgICAgICAgdGhpcy5f
dGVtcGxhdGVDb250ZW50ID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdlciwgdGhpcy5v
d25lckRvY3VtZW50LCBmYWxzZSwgcGF5bG9hZC50ZW1wbGF0ZUNvbnRlbnQpOworICAgICAgICAg
ICAgdGhpcy5fdGVtcGxhdGVDb250ZW50ID0gV0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBh
eWxvYWQocGF5bG9hZC50ZW1wbGF0ZUNvbnRlbnQsIHtvd25lckRvY3VtZW50OiB0aGlzLm93bmVy
RG9jdW1lbnR9KTsKICAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlQ29udGVudC5wYXJlbnROb2Rl
ID0gdGhpczsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3BzZXVkb0VsZW1lbnRzID0gbmV3
IE1hcDsKICAgICAgICAgaWYgKHBheWxvYWQucHNldWRvRWxlbWVudHMpIHsKLSAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgcGF5bG9hZC5wc2V1ZG9FbGVtZW50cy5sZW5ndGg7ICsraSkg
ewotICAgICAgICAgICAgICAgIHZhciBub2RlID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFu
YWdlciwgdGhpcy5vd25lckRvY3VtZW50LCB0aGlzLl9pc0luU2hhZG93VHJlZSwgcGF5bG9hZC5w
c2V1ZG9FbGVtZW50c1tpXSk7CisgICAgICAgICAgICBmb3IgKGxldCBwc2V1ZG9FbGVtZW50UGF5
bG9hZCBpbiBwYXlsb2FkLnBzZXVkb0VsZW1lbnRzKSB7CisgICAgICAgICAgICAgICAgbGV0IG5v
ZGUgPSBXSS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZChwc2V1ZG9FbGVtZW50UGF5
bG9hZCwge293bmVyRG9jdW1lbnQ6IHRoaXMub3duZXJEb2N1bWVudCwgaXNJblNoYWRvd1RyZWU6
IHRoaXMuX2lzSW5TaGFkb3dUcmVlfSk7CiAgICAgICAgICAgICAgICAgbm9kZS5wYXJlbnROb2Rl
ID0gdGhpczsKICAgICAgICAgICAgICAgICB0aGlzLl9wc2V1ZG9FbGVtZW50cy5zZXQobm9kZS5w
c2V1ZG9UeXBlKCksIG5vZGUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAg
aWYgKHBheWxvYWQuY29udGVudERvY3VtZW50KSB7Ci0gICAgICAgICAgICB0aGlzLl9jb250ZW50
RG9jdW1lbnQgPSBuZXcgV0kuRE9NTm9kZSh0aGlzLl9kb21NYW5hZ2VyLCBudWxsLCBmYWxzZSwg
cGF5bG9hZC5jb250ZW50RG9jdW1lbnQpOworICAgICAgICAgICAgdGhpcy5fY29udGVudERvY3Vt
ZW50ID0gV0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQocGF5bG9hZC5jb250ZW50
RG9jdW1lbnQpOwogICAgICAgICAgICAgdGhpcy5fY2hpbGRyZW4gPSBbdGhpcy5fY29udGVudERv
Y3VtZW50XTsKICAgICAgICAgICAgIHRoaXMuX3JlbnVtYmVyKCk7CiAgICAgICAgIH0KQEAgLTE2
MywxMCArMTYwLDEwIEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2Jq
ZWN0CiAKICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBuZXdPckV4aXN0aW5nRnJvbVBheWxv
YWQoZG9jdW1lbnQsIHBheWxvYWQsIHtpc0luU2hhZG93VHJlZX0gPSB7fSkKKyAgICBzdGF0aWMg
bmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHBheWxvYWQsIHtvd25lckRvY3VtZW50LCBpc0luU2hh
ZG93VHJlZX0gPSB7fSkKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiA8d2Via2l0Lm9yZy9iLzIz
ODk0Nz4gRG9uJ3Qgc2VuZCBub2RlIHBheWxvYWRzIHRvIHRoZSBmcm9udGVuZCBmb3IgYWxyZWFk
eS1ib3VuZCBub2Rlcy4KLSAgICAgICAgcmV0dXJuIFdJLmRvbU1hbmFnZXIubm9kZUZvcklkKHBh
eWxvYWQubm9kZUlkKSB8fCBuZXcgV0kuRE9NTm9kZShXSS5kb21NYW5hZ2VyLCBkb2N1bWVudCwg
ISFpc0luU2hhZG93VHJlZSwgcGF5bG9hZCk7CisgICAgICAgIHJldHVybiBXSS5kb21NYW5hZ2Vy
Lm5vZGVGb3JJZChwYXlsb2FkLm5vZGVJZCkgfHwgbmV3IFdJLkRPTU5vZGUocGF5bG9hZCwge293
bmVyRG9jdW1lbnQsIGlzSW5TaGFkb3dUcmVlfSk7CiAgICAgfQogCiAgICAgc3RhdGljIHJlc2V0
RGVmYXVsdExheW91dE92ZXJsYXlDb25maWd1cmF0aW9uKCkKQEAgLTEwNzQsNyArMTA3MSw3IEBA
IFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICBfaW5z
ZXJ0Q2hpbGQocHJldiwgcGF5bG9hZCkKICAgICB7Ci0gICAgICAgIGxldCBub2RlID0gV0kuRE9N
Tm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQodGhpcy5vd25lckRvY3VtZW50LCBwYXlsb2Fk
LCB7aXNJblNoYWRvd1RyZWU6IHRoaXMuX2lzSW5TaGFkb3dUcmVlfSk7CisgICAgICAgIGxldCBu
b2RlID0gV0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQocGF5bG9hZCwge293bmVy
RG9jdW1lbnQ6IHRoaXMub3duZXJEb2N1bWVudCwgaXNJblNoYWRvd1RyZWU6IHRoaXMuX2lzSW5T
aGFkb3dUcmVlfSk7CiAgICAgICAgIGlmICghcHJldikgewogICAgICAgICAgICAgaWYgKCF0aGlz
Ll9jaGlsZHJlbikgewogICAgICAgICAgICAgICAgIC8vIEZpcnN0IG5vZGUKQEAgLTExMDgsNyAr
MTEwNSw3IEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0CiAK
ICAgICAgICAgdGhpcy5fY2hpbGRyZW4gPSB0aGlzLl9zaGFkb3dSb290cy5zbGljZSgpOwogICAg
ICAgICBmb3IgKGxldCBwYXlsb2FkIG9mIHBheWxvYWRzKQotICAgICAgICAgICAgdGhpcy5fY2hp
bGRyZW4ucHVzaChXSS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZCh0aGlzLm93bmVy
RG9jdW1lbnQsIHBheWxvYWQsIHtpc0luU2hhZG93VHJlZTogdGhpcy5faXNJblNoYWRvd1RyZWV9
KSk7CisgICAgICAgICAgICB0aGlzLl9jaGlsZHJlbi5wdXNoKFdJLkRPTU5vZGUubmV3T3JFeGlz
dGluZ0Zyb21QYXlsb2FkKHBheWxvYWQsIHtvd25lckRvY3VtZW50OiB0aGlzLm93bmVyRG9jdW1l
bnQsIGlzSW5TaGFkb3dUcmVlOiB0aGlzLl9pc0luU2hhZG93VHJlZX0pKTsKIAogICAgICAgICB0
aGlzLl9yZW51bWJlcigpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457443</attachid>
            <date>2022-04-12 14:00:04 -0700</date>
            <delta_ts>2022-04-12 15:38:53 -0700</delta_ts>
            <desc>Patch v1.2 - Review nit</desc>
            <filename>bug-239129-20220412140003.patch</filename>
            <type>text/plain</type>
            <size>9708</size>
            <attacher name="Patrick Angle">pangle</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBh
M2QwZTU4ODlhOWVkOWQ2YTc1NDc2ODRjMTE3MTg0NDBlNTJmYWQzLi45YTExODhjOTMzYmEzZDJj
NjY2YzZlZjA1ODIzMzhlOGQyNGNjMGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMi0wNC0xMiAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ2xlYW4gdXAgYFdJLkRPTU5vZGVgIHRvIG5vIGxv
bmdlciByZXF1aXJlIHRoZSBzaGFyZWQgYFdJLkRPTU1hbmFnZXJgIGJlIHBhc3NlZCBkdXJpbmcg
Y29uc3RydWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkxMjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NTWFuYWdlci5qczoKKyAgICAgICAg
KFdJLkRPTU1hbmFnZXIucHJvdG90eXBlLl9zZXREb2N1bWVudCk6CisgICAgICAgIChXSS5ET01N
YW5hZ2VyLnByb3RvdHlwZS5fY2hpbGROb2RlSW5zZXJ0ZWQpOgorICAgICAgICAoV0kuRE9NTWFu
YWdlci5wcm90b3R5cGUuX3BzZXVkb0VsZW1lbnRBZGRlZCk6CisgICAgICAgIC0gVXBkYXRlIHRv
IHVzZSBuZXcgc3ludGF4IGZvciBgV0kuRE9NTm9kZWAgY29uc3RydWN0b3IvYG5ld09yRXhpc3Rp
bmdGcm9tUGF5bG9hZGAuIEFkZGl0aW9uYWxseSwgdGhlcmUgaXMgbm8KKyAgICAgICAgbmVlZCB0
byBleHBsaWNpdGx5IG1hcCBub2RlIGlkcyB0byBub2RlcyBoZXJlIHNpbmNlIGBXSS5ET01Ob2Rl
YCdzIGNvbnN0cnVjdG9yIGRvZXMgdGhpcy4KKyAgICAgICAgCisgICAgICAgIChXSS5ET01NYW5h
Z2VyLnByb3RvdHlwZS5fc2V0Q2hpbGROb2Rlcyk6CisgICAgICAgIChXSS5ET01NYW5hZ2VyLnBy
b3RvdHlwZS5fc2V0RGV0YWNoZWRSb290KTogRGVsZXRlZC4KKyAgICAgICAgLSBJbmxpbmUgX3Nl
dERldGFjaGVkUm9vdCB3aXRoIGEgY29tbWVudCBpbnN0ZWFkIGFuZCB1cGRhdGUgdG8gdXNlIGBX
SS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZGAgaW5zdGVhZAorICAgICAgICBvZiBh
bHdheXMgY3JlYXRpbmcgYSBuZXcgbm9kZS4KKyAgICAgICAgCisgICAgICAgICogVXNlckludGVy
ZmFjZS9Nb2RlbHMvRE9NTm9kZS5qczoKKyAgICAgICAgKFdJLkRPTU5vZGUpOgorICAgICAgICAt
IFJlbW92ZSB0aGUgX2RvbU1hbmFnZXIgcHJvcGVydHkgc2luY2UgaXQgd2lsbCBhbHdheXMgYmUg
YFdJLmRvbU1hbmFnZXJgLCB0aGUgc2hhcmVkIHNpbmdsZXRvbiBhbmQgdXBkYXRlIHRoZQorICAg
ICAgICByZXF1aXJlZCBhcmd1bWVudHMgdG8gdXNlIGFuIG9wdGlvbnMgb2JqZWN0IGZvciBub24t
cmVxdWlyZWQgcGFyYW1ldGVycy4KKworICAgICAgICAoV0kuRE9NTm9kZS5wcm90b3R5cGUubmV3
T3JFeGlzdGluZ0Zyb21QYXlsb2FkKToKKyAgICAgICAgKFdJLkRPTU5vZGUucHJvdG90eXBlLl9p
bnNlcnRDaGlsZCk6CisgICAgICAgIChXSS5ET01Ob2RlLnByb3RvdHlwZS5fc2V0Q2hpbGRyZW5Q
YXlsb2FkKToKKyAgICAgICAgLSBVcGRhdGUgdG8gdXNlIG5ldyBjb25zdHJ1Y3RvciBzeW50YXgu
CisgICAgICAgIAorCiAyMDIyLTA0LTEyICBQYXRyaWNrIEFuZ2xlICA8cGFuZ2xlQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgZW5naW5lZXJpbmctYnVpbGQtb25seSBh
YmlsaXR5IHRvIGR1bXAgdGhlIGN1cnJlbnQga25vd24gYm91bmQgbm9kZXMgdHJlZSBpbiBJbnNw
ZWN0b3JeMiBvciBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01NYW5hZ2VyLmpzCmluZGV4IDBj
Njc2MzhmZDA5MGNkNGU0MzNiZDk0NTVmMTUzYjI0MTRiMzE2MTAuLjU3OGJmMTljYzI1OTM4OGNk
NDE0ZDAxMTkzOTcxZDdjYzJjMzgwNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTU1hbmFnZXIuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NTWFuYWdlci5qcwpAQCAt
NDA2LDcgKzQwNiw3IEBAIFdJLkRPTU1hbmFnZXIgPSBjbGFzcyBET01NYW5hZ2VyIGV4dGVuZHMg
V0kuT2JqZWN0CiAKICAgICAgICAgbGV0IG5ld0RvY3VtZW50ID0gbnVsbDsKICAgICAgICAgaWYg
KHBheWxvYWQgJiYgIm5vZGVJZCIgaW4gcGF5bG9hZCkKLSAgICAgICAgICAgIG5ld0RvY3VtZW50
ID0gbmV3IFdJLkRPTU5vZGUodGhpcywgbnVsbCwgZmFsc2UsIHBheWxvYWQpOworICAgICAgICAg
ICAgbmV3RG9jdW1lbnQgPSBuZXcgV0kuRE9NTm9kZShwYXlsb2FkKTsKIAogICAgICAgICBpZiAo
dGhpcy5fZG9jdW1lbnQgPT09IG5ld0RvY3VtZW50KQogICAgICAgICAgICAgcmV0dXJuOwpAQCAt
NDIyLDE1ICs0MjIsMTIgQEAgV0kuRE9NTWFuYWdlciA9IGNsYXNzIERPTU1hbmFnZXIgZXh0ZW5k
cyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9N
TWFuYWdlci5FdmVudC5Eb2N1bWVudFVwZGF0ZWQsIHtkb2N1bWVudDogdGhpcy5fZG9jdW1lbnR9
KTsKICAgICB9CiAKLSAgICBfc2V0RGV0YWNoZWRSb290KHBheWxvYWQpCi0gICAgewotICAgICAg
ICBuZXcgV0kuRE9NTm9kZSh0aGlzLCBudWxsLCBmYWxzZSwgcGF5bG9hZCk7Ci0gICAgfQotCiAg
ICAgX3NldENoaWxkTm9kZXMocGFyZW50SWQsIHBheWxvYWRzKQogICAgIHsKICAgICAgICAgaWYg
KCFwYXJlbnRJZCAmJiBwYXlsb2Fkcy5sZW5ndGgpIHsKLSAgICAgICAgICAgIHRoaXMuX3NldERl
dGFjaGVkUm9vdChwYXlsb2Fkc1swXSk7CisgICAgICAgICAgICAvLyBgSW5zcGVjdG9yRE9NQWdl
bnQ6OnB1c2hOb2RlUGF0aFRvRnJvbnRlbmRgIGNhbiBwcm92aWRlIGEgc2luZ2xlIGNoaWxkIGFz
IGEgZGV0YWNoZWQgcm9vdCBub2RlLgorICAgICAgICAgICAgbGV0IG5vZGUgPSBXSS5ET01Ob2Rl
Lm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZChwYXlsb2Fkc1swXSk7CisgICAgICAgICAgICBjb25z
b2xlLmFzc2VydCghbm9kZS5wYXJlbnROb2RlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCkBAIC00NTksNyArNDU2LDYgQEAgV0kuRE9NTWFuYWdlciA9IGNsYXNzIERPTU1hbmFn
ZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdmFyIHBhcmVudCA9IHRoaXMuX2lkVG9ET01O
b2RlW3BhcmVudElkXTsKICAgICAgICAgdmFyIHByZXYgPSB0aGlzLl9pZFRvRE9NTm9kZVtwcmV2
SWRdOwogICAgICAgICB2YXIgbm9kZSA9IHBhcmVudC5faW5zZXJ0Q2hpbGQocHJldiwgcGF5bG9h
ZCk7Ci0gICAgICAgIHRoaXMuX2lkVG9ET01Ob2RlW25vZGUuaWRdID0gbm9kZTsKICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9NTWFuYWdlci5FdmVudC5Ob2RlSW5z
ZXJ0ZWQsIHtub2RlLCBwYXJlbnR9KTsKICAgICB9CiAKQEAgLTQ4NSw5ICs0ODEsOCBAQCBXSS5E
T01NYW5hZ2VyID0gY2xhc3MgRE9NTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICBp
ZiAoIXBhcmVudCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBsZXQgbm9kZSA9IFdJ
LkRPTU5vZGUubmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHBhcmVudC5vd25lckRvY3VtZW50LCBw
c2V1ZG9FbGVtZW50KTsKKyAgICAgICAgbGV0IG5vZGUgPSBXSS5ET01Ob2RlLm5ld09yRXhpc3Rp
bmdGcm9tUGF5bG9hZChwc2V1ZG9FbGVtZW50LCB7b3duZXJEb2N1bWVudDogcGFyZW50Lm93bmVy
RG9jdW1lbnR9KTsKICAgICAgICAgbm9kZS5wYXJlbnROb2RlID0gcGFyZW50OwotICAgICAgICB0
aGlzLl9pZFRvRE9NTm9kZVtub2RlLmlkXSA9IG5vZGU7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KCFwYXJlbnQucHNldWRvRWxlbWVudHMoKS5nZXQobm9kZS5wc2V1ZG9UeXBlKCkpKTsKICAgICAg
ICAgcGFyZW50LnBzZXVkb0VsZW1lbnRzKCkuc2V0KG5vZGUucHNldWRvVHlwZSgpLCBub2RlKTsK
ICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9NTWFuYWdlci5FdmVu
dC5Ob2RlSW5zZXJ0ZWQsIHtub2RlLCBwYXJlbnR9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKaW5kZXggYzMxZGVhNjkx
YzFkYjNjZTk4MzJhOGU2YjdiNGU2NzNhZGE4MGQ2Ny4uYzMyNDAzZTNlNDQ3OTBmOTVmMWVjZTQ0
ZGYyYTI1MDlkMDAyOTQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKQEAgLTMyLDE3ICszMiwxOCBAQAogCiBXSS5E
T01Ob2RlID0gY2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJLk9iamVjdAogewotICAgIGNvbnN0cnVj
dG9yKGRvbU1hbmFnZXIsIGRvYywgaXNJblNoYWRvd1RyZWUsIHBheWxvYWQpCisgICAgY29uc3Ry
dWN0b3IocGF5bG9hZCwge293bmVyRG9jdW1lbnQsIGlzSW5TaGFkb3dUcmVlfSA9IHt9KQogICAg
IHsKICAgICAgICAgc3VwZXIoKTsKIAogICAgICAgICB0aGlzLl9kZXN0cm95ZWQgPSBmYWxzZTsK
IAotICAgICAgICB0aGlzLl9kb21NYW5hZ2VyID0gZG9tTWFuYWdlcjsKLSAgICAgICAgdGhpcy5f
aXNJblNoYWRvd1RyZWUgPSBpc0luU2hhZG93VHJlZTsKKyAgICAgICAgdGhpcy5faXNJblNoYWRv
d1RyZWUgPSAhIWlzSW5TaGFkb3dUcmVlOwogCiAgICAgICAgIHRoaXMuaWQgPSBwYXlsb2FkLm5v
ZGVJZDsKLSAgICAgICAgdGhpcy5fZG9tTWFuYWdlci5faWRUb0RPTU5vZGVbdGhpcy5pZF0gPSB0
aGlzOworCisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCEodGhpcy5pZCBpbiBXSS5kb21NYW5hZ2Vy
Ll9pZFRvRE9NTm9kZSksIHRoaXMpOworICAgICAgICBXSS5kb21NYW5hZ2VyLl9pZFRvRE9NTm9k
ZVt0aGlzLmlkXSA9IHRoaXM7CiAKICAgICAgICAgdGhpcy5fbm9kZVR5cGUgPSBwYXlsb2FkLm5v
ZGVUeXBlOwogICAgICAgICB0aGlzLl9ub2RlTmFtZSA9IHBheWxvYWQubm9kZU5hbWU7CkBAIC01
NiwxMCArNTcsOCBAQCBXSS5ET01Ob2RlID0gY2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJLk9iamVj
dAogICAgICAgICB0aGlzLl9sYXlvdXRPdmVybGF5U2hvd2luZyA9IGZhbHNlOwogICAgICAgICB0
aGlzLl9sYXlvdXRPdmVybGF5Q29sb3JTZXR0aW5nID0gbnVsbDsKIAotICAgICAgICBpZiAodGhp
cy5fbm9kZVR5cGUgPT09IE5vZGUuRE9DVU1FTlRfTk9ERSkKLSAgICAgICAgICAgIHRoaXMub3du
ZXJEb2N1bWVudCA9IHRoaXM7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMub3duZXJE
b2N1bWVudCA9IGRvYzsKKyAgICAgICAgdGhpcy5vd25lckRvY3VtZW50ID0gdGhpcy5fbm9kZVR5
cGUgPT09IE5vZGUuRE9DVU1FTlRfTk9ERSA/IHRoaXMgOiBvd25lckRvY3VtZW50OworICAgICAg
ICBjb25zb2xlLmFzc2VydCh0aGlzLm93bmVyRG9jdW1lbnQsIHRoaXMpOwogCiAgICAgICAgIHRo
aXMuX2ZyYW1lID0gbnVsbDsKIApAQCAtOTQsOSArOTMsOCBAQCBXSS5ET01Ob2RlID0gY2xhc3Mg
RE9NTm9kZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAvLyB3ZSBoYXZlIGJvdGggc2hhZG93
Um9vdHMgYW5kIGNoaWxkIG5vZGVzLgogICAgICAgICB0aGlzLl9zaGFkb3dSb290cyA9IFtdOwog
ICAgICAgICBpZiAocGF5bG9hZC5zaGFkb3dSb290cykgewotICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBwYXlsb2FkLnNoYWRvd1Jvb3RzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAg
ICAgICAgdmFyIHJvb3QgPSBwYXlsb2FkLnNoYWRvd1Jvb3RzW2ldOwotICAgICAgICAgICAgICAg
IHZhciBub2RlID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdlciwgdGhpcy5vd25lckRv
Y3VtZW50LCB0cnVlLCByb290KTsKKyAgICAgICAgICAgIGZvciAobGV0IHNoYWRvd1Jvb3RQYXls
b2FkIGluIHBheWxvYWQuc2hhZG93Um9vdHMpIHsKKyAgICAgICAgICAgICAgICBsZXQgbm9kZSA9
IFdJLkRPTU5vZGUubmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHNoYWRvd1Jvb3RQYXlsb2FkLCB7
b3duZXJEb2N1bWVudDogdGhpcy5vd25lckRvY3VtZW50LCBpc0luU2hhZG93VHJlZTogdHJ1ZX0p
OwogICAgICAgICAgICAgICAgIG5vZGUucGFyZW50Tm9kZSA9IHRoaXM7CiAgICAgICAgICAgICAg
ICAgdGhpcy5fc2hhZG93Um9vdHMucHVzaChub2RlKTsKICAgICAgICAgICAgIH0KQEAgLTExMywy
MSArMTExLDIxIEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0
CiAgICAgICAgICAgICB0aGlzLl9jdXN0b21FbGVtZW50U3RhdGUgPSBudWxsOwogCiAgICAgICAg
IGlmIChwYXlsb2FkLnRlbXBsYXRlQ29udGVudCkgewotICAgICAgICAgICAgdGhpcy5fdGVtcGxh
dGVDb250ZW50ID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdlciwgdGhpcy5vd25lckRv
Y3VtZW50LCBmYWxzZSwgcGF5bG9hZC50ZW1wbGF0ZUNvbnRlbnQpOworICAgICAgICAgICAgdGhp
cy5fdGVtcGxhdGVDb250ZW50ID0gV0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQo
cGF5bG9hZC50ZW1wbGF0ZUNvbnRlbnQsIHtvd25lckRvY3VtZW50OiB0aGlzLm93bmVyRG9jdW1l
bnR9KTsKICAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlQ29udGVudC5wYXJlbnROb2RlID0gdGhp
czsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3BzZXVkb0VsZW1lbnRzID0gbmV3IE1hcDsK
ICAgICAgICAgaWYgKHBheWxvYWQucHNldWRvRWxlbWVudHMpIHsKLSAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgcGF5bG9hZC5wc2V1ZG9FbGVtZW50cy5sZW5ndGg7ICsraSkgewotICAg
ICAgICAgICAgICAgIHZhciBub2RlID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdlciwg
dGhpcy5vd25lckRvY3VtZW50LCB0aGlzLl9pc0luU2hhZG93VHJlZSwgcGF5bG9hZC5wc2V1ZG9F
bGVtZW50c1tpXSk7CisgICAgICAgICAgICBmb3IgKGxldCBwc2V1ZG9FbGVtZW50UGF5bG9hZCBp
biBwYXlsb2FkLnBzZXVkb0VsZW1lbnRzKSB7CisgICAgICAgICAgICAgICAgbGV0IG5vZGUgPSBX
SS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZChwc2V1ZG9FbGVtZW50UGF5bG9hZCwg
e293bmVyRG9jdW1lbnQ6IHRoaXMub3duZXJEb2N1bWVudCwgaXNJblNoYWRvd1RyZWU6IHRoaXMu
X2lzSW5TaGFkb3dUcmVlfSk7CiAgICAgICAgICAgICAgICAgbm9kZS5wYXJlbnROb2RlID0gdGhp
czsKICAgICAgICAgICAgICAgICB0aGlzLl9wc2V1ZG9FbGVtZW50cy5zZXQobm9kZS5wc2V1ZG9U
eXBlKCksIG5vZGUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgaWYgKHBh
eWxvYWQuY29udGVudERvY3VtZW50KSB7Ci0gICAgICAgICAgICB0aGlzLl9jb250ZW50RG9jdW1l
bnQgPSBuZXcgV0kuRE9NTm9kZSh0aGlzLl9kb21NYW5hZ2VyLCBudWxsLCBmYWxzZSwgcGF5bG9h
ZC5jb250ZW50RG9jdW1lbnQpOworICAgICAgICAgICAgdGhpcy5fY29udGVudERvY3VtZW50ID0g
V0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQocGF5bG9hZC5jb250ZW50RG9jdW1l
bnQpOwogICAgICAgICAgICAgdGhpcy5fY2hpbGRyZW4gPSBbdGhpcy5fY29udGVudERvY3VtZW50
XTsKICAgICAgICAgICAgIHRoaXMuX3JlbnVtYmVyKCk7CiAgICAgICAgIH0KQEAgLTE2MywxMCAr
MTYxLDEwIEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0CiAK
ICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBuZXdPckV4aXN0aW5nRnJvbVBheWxvYWQoZG9j
dW1lbnQsIHBheWxvYWQsIHtpc0luU2hhZG93VHJlZX0gPSB7fSkKKyAgICBzdGF0aWMgbmV3T3JF
eGlzdGluZ0Zyb21QYXlsb2FkKHBheWxvYWQsIHtvd25lckRvY3VtZW50LCBpc0luU2hhZG93VHJl
ZX0gPSB7fSkKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiA8d2Via2l0Lm9yZy9iLzIzODk0Nz4g
RG9uJ3Qgc2VuZCBub2RlIHBheWxvYWRzIHRvIHRoZSBmcm9udGVuZCBmb3IgYWxyZWFkeS1ib3Vu
ZCBub2Rlcy4KLSAgICAgICAgcmV0dXJuIFdJLmRvbU1hbmFnZXIubm9kZUZvcklkKHBheWxvYWQu
bm9kZUlkKSB8fCBuZXcgV0kuRE9NTm9kZShXSS5kb21NYW5hZ2VyLCBkb2N1bWVudCwgISFpc0lu
U2hhZG93VHJlZSwgcGF5bG9hZCk7CisgICAgICAgIHJldHVybiBXSS5kb21NYW5hZ2VyLm5vZGVG
b3JJZChwYXlsb2FkLm5vZGVJZCkgfHwgbmV3IFdJLkRPTU5vZGUocGF5bG9hZCwge293bmVyRG9j
dW1lbnQsIGlzSW5TaGFkb3dUcmVlfSk7CiAgICAgfQogCiAgICAgc3RhdGljIHJlc2V0RGVmYXVs
dExheW91dE92ZXJsYXlDb25maWd1cmF0aW9uKCkKQEAgLTEwNzQsNyArMTA3Miw3IEBAIFdJLkRP
TU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICBfaW5zZXJ0Q2hp
bGQocHJldiwgcGF5bG9hZCkKICAgICB7Ci0gICAgICAgIGxldCBub2RlID0gV0kuRE9NTm9kZS5u
ZXdPckV4aXN0aW5nRnJvbVBheWxvYWQodGhpcy5vd25lckRvY3VtZW50LCBwYXlsb2FkLCB7aXNJ
blNoYWRvd1RyZWU6IHRoaXMuX2lzSW5TaGFkb3dUcmVlfSk7CisgICAgICAgIGxldCBub2RlID0g
V0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQocGF5bG9hZCwge293bmVyRG9jdW1l
bnQ6IHRoaXMub3duZXJEb2N1bWVudCwgaXNJblNoYWRvd1RyZWU6IHRoaXMuX2lzSW5TaGFkb3dU
cmVlfSk7CiAgICAgICAgIGlmICghcHJldikgewogICAgICAgICAgICAgaWYgKCF0aGlzLl9jaGls
ZHJlbikgewogICAgICAgICAgICAgICAgIC8vIEZpcnN0IG5vZGUKQEAgLTExMDgsNyArMTEwNiw3
IEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAg
ICAgdGhpcy5fY2hpbGRyZW4gPSB0aGlzLl9zaGFkb3dSb290cy5zbGljZSgpOwogICAgICAgICBm
b3IgKGxldCBwYXlsb2FkIG9mIHBheWxvYWRzKQotICAgICAgICAgICAgdGhpcy5fY2hpbGRyZW4u
cHVzaChXSS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZCh0aGlzLm93bmVyRG9jdW1l
bnQsIHBheWxvYWQsIHtpc0luU2hhZG93VHJlZTogdGhpcy5faXNJblNoYWRvd1RyZWV9KSk7Cisg
ICAgICAgICAgICB0aGlzLl9jaGlsZHJlbi5wdXNoKFdJLkRPTU5vZGUubmV3T3JFeGlzdGluZ0Zy
b21QYXlsb2FkKHBheWxvYWQsIHtvd25lckRvY3VtZW50OiB0aGlzLm93bmVyRG9jdW1lbnQsIGlz
SW5TaGFkb3dUcmVlOiB0aGlzLl9pc0luU2hhZG93VHJlZX0pKTsKIAogICAgICAgICB0aGlzLl9y
ZW51bWJlcigpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457484</attachid>
            <date>2022-04-12 15:38:55 -0700</date>
            <delta_ts>2022-04-13 11:31:25 -0700</delta_ts>
            <desc>Patch v1.2 - Correct typos in for loops</desc>
            <filename>bug-239129-20220412153854.patch</filename>
            <type>text/plain</type>
            <size>9708</size>
            <attacher name="Patrick Angle">pangle</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBh
M2QwZTU4ODlhOWVkOWQ2YTc1NDc2ODRjMTE3MTg0NDBlNTJmYWQzLi45YTExODhjOTMzYmEzZDJj
NjY2YzZlZjA1ODIzMzhlOGQyNGNjMGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMi0wNC0xMiAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ2xlYW4gdXAgYFdJLkRPTU5vZGVgIHRvIG5vIGxv
bmdlciByZXF1aXJlIHRoZSBzaGFyZWQgYFdJLkRPTU1hbmFnZXJgIGJlIHBhc3NlZCBkdXJpbmcg
Y29uc3RydWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkxMjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NTWFuYWdlci5qczoKKyAgICAgICAg
KFdJLkRPTU1hbmFnZXIucHJvdG90eXBlLl9zZXREb2N1bWVudCk6CisgICAgICAgIChXSS5ET01N
YW5hZ2VyLnByb3RvdHlwZS5fY2hpbGROb2RlSW5zZXJ0ZWQpOgorICAgICAgICAoV0kuRE9NTWFu
YWdlci5wcm90b3R5cGUuX3BzZXVkb0VsZW1lbnRBZGRlZCk6CisgICAgICAgIC0gVXBkYXRlIHRv
IHVzZSBuZXcgc3ludGF4IGZvciBgV0kuRE9NTm9kZWAgY29uc3RydWN0b3IvYG5ld09yRXhpc3Rp
bmdGcm9tUGF5bG9hZGAuIEFkZGl0aW9uYWxseSwgdGhlcmUgaXMgbm8KKyAgICAgICAgbmVlZCB0
byBleHBsaWNpdGx5IG1hcCBub2RlIGlkcyB0byBub2RlcyBoZXJlIHNpbmNlIGBXSS5ET01Ob2Rl
YCdzIGNvbnN0cnVjdG9yIGRvZXMgdGhpcy4KKyAgICAgICAgCisgICAgICAgIChXSS5ET01NYW5h
Z2VyLnByb3RvdHlwZS5fc2V0Q2hpbGROb2Rlcyk6CisgICAgICAgIChXSS5ET01NYW5hZ2VyLnBy
b3RvdHlwZS5fc2V0RGV0YWNoZWRSb290KTogRGVsZXRlZC4KKyAgICAgICAgLSBJbmxpbmUgX3Nl
dERldGFjaGVkUm9vdCB3aXRoIGEgY29tbWVudCBpbnN0ZWFkIGFuZCB1cGRhdGUgdG8gdXNlIGBX
SS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZGAgaW5zdGVhZAorICAgICAgICBvZiBh
bHdheXMgY3JlYXRpbmcgYSBuZXcgbm9kZS4KKyAgICAgICAgCisgICAgICAgICogVXNlckludGVy
ZmFjZS9Nb2RlbHMvRE9NTm9kZS5qczoKKyAgICAgICAgKFdJLkRPTU5vZGUpOgorICAgICAgICAt
IFJlbW92ZSB0aGUgX2RvbU1hbmFnZXIgcHJvcGVydHkgc2luY2UgaXQgd2lsbCBhbHdheXMgYmUg
YFdJLmRvbU1hbmFnZXJgLCB0aGUgc2hhcmVkIHNpbmdsZXRvbiBhbmQgdXBkYXRlIHRoZQorICAg
ICAgICByZXF1aXJlZCBhcmd1bWVudHMgdG8gdXNlIGFuIG9wdGlvbnMgb2JqZWN0IGZvciBub24t
cmVxdWlyZWQgcGFyYW1ldGVycy4KKworICAgICAgICAoV0kuRE9NTm9kZS5wcm90b3R5cGUubmV3
T3JFeGlzdGluZ0Zyb21QYXlsb2FkKToKKyAgICAgICAgKFdJLkRPTU5vZGUucHJvdG90eXBlLl9p
bnNlcnRDaGlsZCk6CisgICAgICAgIChXSS5ET01Ob2RlLnByb3RvdHlwZS5fc2V0Q2hpbGRyZW5Q
YXlsb2FkKToKKyAgICAgICAgLSBVcGRhdGUgdG8gdXNlIG5ldyBjb25zdHJ1Y3RvciBzeW50YXgu
CisgICAgICAgIAorCiAyMDIyLTA0LTEyICBQYXRyaWNrIEFuZ2xlICA8cGFuZ2xlQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgZW5naW5lZXJpbmctYnVpbGQtb25seSBh
YmlsaXR5IHRvIGR1bXAgdGhlIGN1cnJlbnQga25vd24gYm91bmQgbm9kZXMgdHJlZSBpbiBJbnNw
ZWN0b3JeMiBvciBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01NYW5hZ2VyLmpzCmluZGV4IDBj
Njc2MzhmZDA5MGNkNGU0MzNiZDk0NTVmMTUzYjI0MTRiMzE2MTAuLjU3OGJmMTljYzI1OTM4OGNk
NDE0ZDAxMTkzOTcxZDdjYzJjMzgwNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTU1hbmFnZXIuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NTWFuYWdlci5qcwpAQCAt
NDA2LDcgKzQwNiw3IEBAIFdJLkRPTU1hbmFnZXIgPSBjbGFzcyBET01NYW5hZ2VyIGV4dGVuZHMg
V0kuT2JqZWN0CiAKICAgICAgICAgbGV0IG5ld0RvY3VtZW50ID0gbnVsbDsKICAgICAgICAgaWYg
KHBheWxvYWQgJiYgIm5vZGVJZCIgaW4gcGF5bG9hZCkKLSAgICAgICAgICAgIG5ld0RvY3VtZW50
ID0gbmV3IFdJLkRPTU5vZGUodGhpcywgbnVsbCwgZmFsc2UsIHBheWxvYWQpOworICAgICAgICAg
ICAgbmV3RG9jdW1lbnQgPSBuZXcgV0kuRE9NTm9kZShwYXlsb2FkKTsKIAogICAgICAgICBpZiAo
dGhpcy5fZG9jdW1lbnQgPT09IG5ld0RvY3VtZW50KQogICAgICAgICAgICAgcmV0dXJuOwpAQCAt
NDIyLDE1ICs0MjIsMTIgQEAgV0kuRE9NTWFuYWdlciA9IGNsYXNzIERPTU1hbmFnZXIgZXh0ZW5k
cyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9N
TWFuYWdlci5FdmVudC5Eb2N1bWVudFVwZGF0ZWQsIHtkb2N1bWVudDogdGhpcy5fZG9jdW1lbnR9
KTsKICAgICB9CiAKLSAgICBfc2V0RGV0YWNoZWRSb290KHBheWxvYWQpCi0gICAgewotICAgICAg
ICBuZXcgV0kuRE9NTm9kZSh0aGlzLCBudWxsLCBmYWxzZSwgcGF5bG9hZCk7Ci0gICAgfQotCiAg
ICAgX3NldENoaWxkTm9kZXMocGFyZW50SWQsIHBheWxvYWRzKQogICAgIHsKICAgICAgICAgaWYg
KCFwYXJlbnRJZCAmJiBwYXlsb2Fkcy5sZW5ndGgpIHsKLSAgICAgICAgICAgIHRoaXMuX3NldERl
dGFjaGVkUm9vdChwYXlsb2Fkc1swXSk7CisgICAgICAgICAgICAvLyBgSW5zcGVjdG9yRE9NQWdl
bnQ6OnB1c2hOb2RlUGF0aFRvRnJvbnRlbmRgIGNhbiBwcm92aWRlIGEgc2luZ2xlIGNoaWxkIGFz
IGEgZGV0YWNoZWQgcm9vdCBub2RlLgorICAgICAgICAgICAgbGV0IG5vZGUgPSBXSS5ET01Ob2Rl
Lm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZChwYXlsb2Fkc1swXSk7CisgICAgICAgICAgICBjb25z
b2xlLmFzc2VydCghbm9kZS5wYXJlbnROb2RlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCkBAIC00NTksNyArNDU2LDYgQEAgV0kuRE9NTWFuYWdlciA9IGNsYXNzIERPTU1hbmFn
ZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdmFyIHBhcmVudCA9IHRoaXMuX2lkVG9ET01O
b2RlW3BhcmVudElkXTsKICAgICAgICAgdmFyIHByZXYgPSB0aGlzLl9pZFRvRE9NTm9kZVtwcmV2
SWRdOwogICAgICAgICB2YXIgbm9kZSA9IHBhcmVudC5faW5zZXJ0Q2hpbGQocHJldiwgcGF5bG9h
ZCk7Ci0gICAgICAgIHRoaXMuX2lkVG9ET01Ob2RlW25vZGUuaWRdID0gbm9kZTsKICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9NTWFuYWdlci5FdmVudC5Ob2RlSW5z
ZXJ0ZWQsIHtub2RlLCBwYXJlbnR9KTsKICAgICB9CiAKQEAgLTQ4NSw5ICs0ODEsOCBAQCBXSS5E
T01NYW5hZ2VyID0gY2xhc3MgRE9NTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICBp
ZiAoIXBhcmVudCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBsZXQgbm9kZSA9IFdJ
LkRPTU5vZGUubmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHBhcmVudC5vd25lckRvY3VtZW50LCBw
c2V1ZG9FbGVtZW50KTsKKyAgICAgICAgbGV0IG5vZGUgPSBXSS5ET01Ob2RlLm5ld09yRXhpc3Rp
bmdGcm9tUGF5bG9hZChwc2V1ZG9FbGVtZW50LCB7b3duZXJEb2N1bWVudDogcGFyZW50Lm93bmVy
RG9jdW1lbnR9KTsKICAgICAgICAgbm9kZS5wYXJlbnROb2RlID0gcGFyZW50OwotICAgICAgICB0
aGlzLl9pZFRvRE9NTm9kZVtub2RlLmlkXSA9IG5vZGU7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KCFwYXJlbnQucHNldWRvRWxlbWVudHMoKS5nZXQobm9kZS5wc2V1ZG9UeXBlKCkpKTsKICAgICAg
ICAgcGFyZW50LnBzZXVkb0VsZW1lbnRzKCkuc2V0KG5vZGUucHNldWRvVHlwZSgpLCBub2RlKTsK
ICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9NTWFuYWdlci5FdmVu
dC5Ob2RlSW5zZXJ0ZWQsIHtub2RlLCBwYXJlbnR9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKaW5kZXggYzMxZGVhNjkx
YzFkYjNjZTk4MzJhOGU2YjdiNGU2NzNhZGE4MGQ2Ny4uZDA5NmU5YjM3ODVhODVlYmYxMTY1OGEy
MTY1M2U4YTg5MDg3YWQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKQEAgLTMyLDE3ICszMiwxOCBAQAogCiBXSS5E
T01Ob2RlID0gY2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJLk9iamVjdAogewotICAgIGNvbnN0cnVj
dG9yKGRvbU1hbmFnZXIsIGRvYywgaXNJblNoYWRvd1RyZWUsIHBheWxvYWQpCisgICAgY29uc3Ry
dWN0b3IocGF5bG9hZCwge293bmVyRG9jdW1lbnQsIGlzSW5TaGFkb3dUcmVlfSA9IHt9KQogICAg
IHsKICAgICAgICAgc3VwZXIoKTsKIAogICAgICAgICB0aGlzLl9kZXN0cm95ZWQgPSBmYWxzZTsK
IAotICAgICAgICB0aGlzLl9kb21NYW5hZ2VyID0gZG9tTWFuYWdlcjsKLSAgICAgICAgdGhpcy5f
aXNJblNoYWRvd1RyZWUgPSBpc0luU2hhZG93VHJlZTsKKyAgICAgICAgdGhpcy5faXNJblNoYWRv
d1RyZWUgPSAhIWlzSW5TaGFkb3dUcmVlOwogCiAgICAgICAgIHRoaXMuaWQgPSBwYXlsb2FkLm5v
ZGVJZDsKLSAgICAgICAgdGhpcy5fZG9tTWFuYWdlci5faWRUb0RPTU5vZGVbdGhpcy5pZF0gPSB0
aGlzOworCisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCEodGhpcy5pZCBpbiBXSS5kb21NYW5hZ2Vy
Ll9pZFRvRE9NTm9kZSksIHRoaXMpOworICAgICAgICBXSS5kb21NYW5hZ2VyLl9pZFRvRE9NTm9k
ZVt0aGlzLmlkXSA9IHRoaXM7CiAKICAgICAgICAgdGhpcy5fbm9kZVR5cGUgPSBwYXlsb2FkLm5v
ZGVUeXBlOwogICAgICAgICB0aGlzLl9ub2RlTmFtZSA9IHBheWxvYWQubm9kZU5hbWU7CkBAIC01
NiwxMCArNTcsOCBAQCBXSS5ET01Ob2RlID0gY2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJLk9iamVj
dAogICAgICAgICB0aGlzLl9sYXlvdXRPdmVybGF5U2hvd2luZyA9IGZhbHNlOwogICAgICAgICB0
aGlzLl9sYXlvdXRPdmVybGF5Q29sb3JTZXR0aW5nID0gbnVsbDsKIAotICAgICAgICBpZiAodGhp
cy5fbm9kZVR5cGUgPT09IE5vZGUuRE9DVU1FTlRfTk9ERSkKLSAgICAgICAgICAgIHRoaXMub3du
ZXJEb2N1bWVudCA9IHRoaXM7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMub3duZXJE
b2N1bWVudCA9IGRvYzsKKyAgICAgICAgdGhpcy5vd25lckRvY3VtZW50ID0gdGhpcy5fbm9kZVR5
cGUgPT09IE5vZGUuRE9DVU1FTlRfTk9ERSA/IHRoaXMgOiBvd25lckRvY3VtZW50OworICAgICAg
ICBjb25zb2xlLmFzc2VydCh0aGlzLm93bmVyRG9jdW1lbnQsIHRoaXMpOwogCiAgICAgICAgIHRo
aXMuX2ZyYW1lID0gbnVsbDsKIApAQCAtOTQsOSArOTMsOCBAQCBXSS5ET01Ob2RlID0gY2xhc3Mg
RE9NTm9kZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAvLyB3ZSBoYXZlIGJvdGggc2hhZG93
Um9vdHMgYW5kIGNoaWxkIG5vZGVzLgogICAgICAgICB0aGlzLl9zaGFkb3dSb290cyA9IFtdOwog
ICAgICAgICBpZiAocGF5bG9hZC5zaGFkb3dSb290cykgewotICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBwYXlsb2FkLnNoYWRvd1Jvb3RzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAg
ICAgICAgdmFyIHJvb3QgPSBwYXlsb2FkLnNoYWRvd1Jvb3RzW2ldOwotICAgICAgICAgICAgICAg
IHZhciBub2RlID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdlciwgdGhpcy5vd25lckRv
Y3VtZW50LCB0cnVlLCByb290KTsKKyAgICAgICAgICAgIGZvciAobGV0IHNoYWRvd1Jvb3RQYXls
b2FkIG9mIHBheWxvYWQuc2hhZG93Um9vdHMpIHsKKyAgICAgICAgICAgICAgICBsZXQgbm9kZSA9
IFdJLkRPTU5vZGUubmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHNoYWRvd1Jvb3RQYXlsb2FkLCB7
b3duZXJEb2N1bWVudDogdGhpcy5vd25lckRvY3VtZW50LCBpc0luU2hhZG93VHJlZTogdHJ1ZX0p
OwogICAgICAgICAgICAgICAgIG5vZGUucGFyZW50Tm9kZSA9IHRoaXM7CiAgICAgICAgICAgICAg
ICAgdGhpcy5fc2hhZG93Um9vdHMucHVzaChub2RlKTsKICAgICAgICAgICAgIH0KQEAgLTExMywy
MSArMTExLDIxIEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0
CiAgICAgICAgICAgICB0aGlzLl9jdXN0b21FbGVtZW50U3RhdGUgPSBudWxsOwogCiAgICAgICAg
IGlmIChwYXlsb2FkLnRlbXBsYXRlQ29udGVudCkgewotICAgICAgICAgICAgdGhpcy5fdGVtcGxh
dGVDb250ZW50ID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdlciwgdGhpcy5vd25lckRv
Y3VtZW50LCBmYWxzZSwgcGF5bG9hZC50ZW1wbGF0ZUNvbnRlbnQpOworICAgICAgICAgICAgdGhp
cy5fdGVtcGxhdGVDb250ZW50ID0gV0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQo
cGF5bG9hZC50ZW1wbGF0ZUNvbnRlbnQsIHtvd25lckRvY3VtZW50OiB0aGlzLm93bmVyRG9jdW1l
bnR9KTsKICAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlQ29udGVudC5wYXJlbnROb2RlID0gdGhp
czsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3BzZXVkb0VsZW1lbnRzID0gbmV3IE1hcDsK
ICAgICAgICAgaWYgKHBheWxvYWQucHNldWRvRWxlbWVudHMpIHsKLSAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgcGF5bG9hZC5wc2V1ZG9FbGVtZW50cy5sZW5ndGg7ICsraSkgewotICAg
ICAgICAgICAgICAgIHZhciBub2RlID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdlciwg
dGhpcy5vd25lckRvY3VtZW50LCB0aGlzLl9pc0luU2hhZG93VHJlZSwgcGF5bG9hZC5wc2V1ZG9F
bGVtZW50c1tpXSk7CisgICAgICAgICAgICBmb3IgKGxldCBwc2V1ZG9FbGVtZW50UGF5bG9hZCBv
ZiBwYXlsb2FkLnBzZXVkb0VsZW1lbnRzKSB7CisgICAgICAgICAgICAgICAgbGV0IG5vZGUgPSBX
SS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZChwc2V1ZG9FbGVtZW50UGF5bG9hZCwg
e293bmVyRG9jdW1lbnQ6IHRoaXMub3duZXJEb2N1bWVudCwgaXNJblNoYWRvd1RyZWU6IHRoaXMu
X2lzSW5TaGFkb3dUcmVlfSk7CiAgICAgICAgICAgICAgICAgbm9kZS5wYXJlbnROb2RlID0gdGhp
czsKICAgICAgICAgICAgICAgICB0aGlzLl9wc2V1ZG9FbGVtZW50cy5zZXQobm9kZS5wc2V1ZG9U
eXBlKCksIG5vZGUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgaWYgKHBh
eWxvYWQuY29udGVudERvY3VtZW50KSB7Ci0gICAgICAgICAgICB0aGlzLl9jb250ZW50RG9jdW1l
bnQgPSBuZXcgV0kuRE9NTm9kZSh0aGlzLl9kb21NYW5hZ2VyLCBudWxsLCBmYWxzZSwgcGF5bG9h
ZC5jb250ZW50RG9jdW1lbnQpOworICAgICAgICAgICAgdGhpcy5fY29udGVudERvY3VtZW50ID0g
V0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQocGF5bG9hZC5jb250ZW50RG9jdW1l
bnQpOwogICAgICAgICAgICAgdGhpcy5fY2hpbGRyZW4gPSBbdGhpcy5fY29udGVudERvY3VtZW50
XTsKICAgICAgICAgICAgIHRoaXMuX3JlbnVtYmVyKCk7CiAgICAgICAgIH0KQEAgLTE2MywxMCAr
MTYxLDEwIEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0CiAK
ICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBuZXdPckV4aXN0aW5nRnJvbVBheWxvYWQoZG9j
dW1lbnQsIHBheWxvYWQsIHtpc0luU2hhZG93VHJlZX0gPSB7fSkKKyAgICBzdGF0aWMgbmV3T3JF
eGlzdGluZ0Zyb21QYXlsb2FkKHBheWxvYWQsIHtvd25lckRvY3VtZW50LCBpc0luU2hhZG93VHJl
ZX0gPSB7fSkKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiA8d2Via2l0Lm9yZy9iLzIzODk0Nz4g
RG9uJ3Qgc2VuZCBub2RlIHBheWxvYWRzIHRvIHRoZSBmcm9udGVuZCBmb3IgYWxyZWFkeS1ib3Vu
ZCBub2Rlcy4KLSAgICAgICAgcmV0dXJuIFdJLmRvbU1hbmFnZXIubm9kZUZvcklkKHBheWxvYWQu
bm9kZUlkKSB8fCBuZXcgV0kuRE9NTm9kZShXSS5kb21NYW5hZ2VyLCBkb2N1bWVudCwgISFpc0lu
U2hhZG93VHJlZSwgcGF5bG9hZCk7CisgICAgICAgIHJldHVybiBXSS5kb21NYW5hZ2VyLm5vZGVG
b3JJZChwYXlsb2FkLm5vZGVJZCkgfHwgbmV3IFdJLkRPTU5vZGUocGF5bG9hZCwge293bmVyRG9j
dW1lbnQsIGlzSW5TaGFkb3dUcmVlfSk7CiAgICAgfQogCiAgICAgc3RhdGljIHJlc2V0RGVmYXVs
dExheW91dE92ZXJsYXlDb25maWd1cmF0aW9uKCkKQEAgLTEwNzQsNyArMTA3Miw3IEBAIFdJLkRP
TU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICBfaW5zZXJ0Q2hp
bGQocHJldiwgcGF5bG9hZCkKICAgICB7Ci0gICAgICAgIGxldCBub2RlID0gV0kuRE9NTm9kZS5u
ZXdPckV4aXN0aW5nRnJvbVBheWxvYWQodGhpcy5vd25lckRvY3VtZW50LCBwYXlsb2FkLCB7aXNJ
blNoYWRvd1RyZWU6IHRoaXMuX2lzSW5TaGFkb3dUcmVlfSk7CisgICAgICAgIGxldCBub2RlID0g
V0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQocGF5bG9hZCwge293bmVyRG9jdW1l
bnQ6IHRoaXMub3duZXJEb2N1bWVudCwgaXNJblNoYWRvd1RyZWU6IHRoaXMuX2lzSW5TaGFkb3dU
cmVlfSk7CiAgICAgICAgIGlmICghcHJldikgewogICAgICAgICAgICAgaWYgKCF0aGlzLl9jaGls
ZHJlbikgewogICAgICAgICAgICAgICAgIC8vIEZpcnN0IG5vZGUKQEAgLTExMDgsNyArMTEwNiw3
IEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAg
ICAgdGhpcy5fY2hpbGRyZW4gPSB0aGlzLl9zaGFkb3dSb290cy5zbGljZSgpOwogICAgICAgICBm
b3IgKGxldCBwYXlsb2FkIG9mIHBheWxvYWRzKQotICAgICAgICAgICAgdGhpcy5fY2hpbGRyZW4u
cHVzaChXSS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZCh0aGlzLm93bmVyRG9jdW1l
bnQsIHBheWxvYWQsIHtpc0luU2hhZG93VHJlZTogdGhpcy5faXNJblNoYWRvd1RyZWV9KSk7Cisg
ICAgICAgICAgICB0aGlzLl9jaGlsZHJlbi5wdXNoKFdJLkRPTU5vZGUubmV3T3JFeGlzdGluZ0Zy
b21QYXlsb2FkKHBheWxvYWQsIHtvd25lckRvY3VtZW50OiB0aGlzLm93bmVyRG9jdW1lbnQsIGlz
SW5TaGFkb3dUcmVlOiB0aGlzLl9pc0luU2hhZG93VHJlZX0pKTsKIAogICAgICAgICB0aGlzLl9y
ZW51bWJlcigpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457551</attachid>
            <date>2022-04-13 11:31:26 -0700</date>
            <delta_ts>2022-04-13 11:54:27 -0700</delta_ts>
            <desc>[fast-cq] Patch v1.3 - Add reviewer to changelog</desc>
            <filename>bug-239129-20220413113126.patch</filename>
            <type>text/plain</type>
            <size>9666</size>
            <attacher name="Patrick Angle">pangle</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA0
NDViNDFkNzVjYzNlNDM4MGQyYzhlNDc3M2M1OWM0MzFkZjA4ODdkLi5iYTk4Yzk1ZWE4MjNiYzlj
OTc4YWEyZGEyM2IxNzVmNDg5NTY2MGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMi0wNC0xMyAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ2xlYW4gdXAgYFdJLkRPTU5vZGVgIHRvIG5vIGxv
bmdlciByZXF1aXJlIHRoZSBzaGFyZWQgYFdJLkRPTU1hbmFnZXJgIGJlIHBhc3NlZCBkdXJpbmcg
Y29uc3RydWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkxMjkKKworICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTU1hbmFnZXIuanM6CisgICAgICAgIChX
SS5ET01NYW5hZ2VyLnByb3RvdHlwZS5fc2V0RG9jdW1lbnQpOgorICAgICAgICAoV0kuRE9NTWFu
YWdlci5wcm90b3R5cGUuX2NoaWxkTm9kZUluc2VydGVkKToKKyAgICAgICAgKFdJLkRPTU1hbmFn
ZXIucHJvdG90eXBlLl9wc2V1ZG9FbGVtZW50QWRkZWQpOgorICAgICAgICAtIFVwZGF0ZSB0byB1
c2UgbmV3IHN5bnRheCBmb3IgYFdJLkRPTU5vZGVgIGNvbnN0cnVjdG9yL2BuZXdPckV4aXN0aW5n
RnJvbVBheWxvYWRgLiBBZGRpdGlvbmFsbHksIHRoZXJlIGlzIG5vCisgICAgICAgIG5lZWQgdG8g
ZXhwbGljaXRseSBtYXAgbm9kZSBpZHMgdG8gbm9kZXMgaGVyZSBzaW5jZSBgV0kuRE9NTm9kZWAn
cyBjb25zdHJ1Y3RvciBkb2VzIHRoaXMuCisgICAgICAgIAorICAgICAgICAoV0kuRE9NTWFuYWdl
ci5wcm90b3R5cGUuX3NldENoaWxkTm9kZXMpOgorICAgICAgICAoV0kuRE9NTWFuYWdlci5wcm90
b3R5cGUuX3NldERldGFjaGVkUm9vdCk6IERlbGV0ZWQuCisgICAgICAgIC0gSW5saW5lIF9zZXRE
ZXRhY2hlZFJvb3Qgd2l0aCBhIGNvbW1lbnQgaW5zdGVhZCBhbmQgdXBkYXRlIHRvIHVzZSBgV0ku
RE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWRgIGluc3RlYWQKKyAgICAgICAgb2YgYWx3
YXlzIGNyZWF0aW5nIGEgbmV3IG5vZGUuCisgICAgICAgIAorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvTW9kZWxzL0RPTU5vZGUuanM6CisgICAgICAgIChXSS5ET01Ob2RlKToKKyAgICAgICAgLSBS
ZW1vdmUgdGhlIF9kb21NYW5hZ2VyIHByb3BlcnR5IHNpbmNlIGl0IHdpbGwgYWx3YXlzIGJlIGBX
SS5kb21NYW5hZ2VyYCwgdGhlIHNoYXJlZCBzaW5nbGV0b24gYW5kIHVwZGF0ZSB0aGUKKyAgICAg
ICAgcmVxdWlyZWQgYXJndW1lbnRzIHRvIHVzZSBhbiBvcHRpb25zIG9iamVjdCBmb3Igbm9uLXJl
cXVpcmVkIHBhcmFtZXRlcnMuCisKKyAgICAgICAgKFdJLkRPTU5vZGUucHJvdG90eXBlLm5ld09y
RXhpc3RpbmdGcm9tUGF5bG9hZCk6CisgICAgICAgIChXSS5ET01Ob2RlLnByb3RvdHlwZS5faW5z
ZXJ0Q2hpbGQpOgorICAgICAgICAoV0kuRE9NTm9kZS5wcm90b3R5cGUuX3NldENoaWxkcmVuUGF5
bG9hZCk6CisgICAgICAgIC0gVXBkYXRlIHRvIHVzZSBuZXcgY29uc3RydWN0b3Igc3ludGF4Lgor
ICAgICAgICAKKwogMjAyMi0wNC0xMiAgRWxsaW90dCBXaWxsaWFtcyAgPGVtd0BhcHBsZS5jb20+
CiAKICAgICAgICAgW1hjb2RlXSBJbiBvcGVuLXNvdXJjZSBidWlsZHMsIGRpc2FibGUgYml0Y29k
ZSBpbiB4Y2NvbmZpZ3MgaW5zdGVhZCBvZiBidWlsZC13ZWJraXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTU1hbmFnZXIuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01NYW5h
Z2VyLmpzCmluZGV4IDBjNjc2MzhmZDA5MGNkNGU0MzNiZDk0NTVmMTUzYjI0MTRiMzE2MTAuLjU3
OGJmMTljYzI1OTM4OGNkNDE0ZDAxMTkzOTcxZDdjYzJjMzgwNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTU1hbmFnZXIuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9N
TWFuYWdlci5qcwpAQCAtNDA2LDcgKzQwNiw3IEBAIFdJLkRPTU1hbmFnZXIgPSBjbGFzcyBET01N
YW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAgICAgbGV0IG5ld0RvY3VtZW50ID0gbnVs
bDsKICAgICAgICAgaWYgKHBheWxvYWQgJiYgIm5vZGVJZCIgaW4gcGF5bG9hZCkKLSAgICAgICAg
ICAgIG5ld0RvY3VtZW50ID0gbmV3IFdJLkRPTU5vZGUodGhpcywgbnVsbCwgZmFsc2UsIHBheWxv
YWQpOworICAgICAgICAgICAgbmV3RG9jdW1lbnQgPSBuZXcgV0kuRE9NTm9kZShwYXlsb2FkKTsK
IAogICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnQgPT09IG5ld0RvY3VtZW50KQogICAgICAgICAg
ICAgcmV0dXJuOwpAQCAtNDIyLDE1ICs0MjIsMTIgQEAgV0kuRE9NTWFuYWdlciA9IGNsYXNzIERP
TU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9M
aXN0ZW5lcnMoV0kuRE9NTWFuYWdlci5FdmVudC5Eb2N1bWVudFVwZGF0ZWQsIHtkb2N1bWVudDog
dGhpcy5fZG9jdW1lbnR9KTsKICAgICB9CiAKLSAgICBfc2V0RGV0YWNoZWRSb290KHBheWxvYWQp
Ci0gICAgewotICAgICAgICBuZXcgV0kuRE9NTm9kZSh0aGlzLCBudWxsLCBmYWxzZSwgcGF5bG9h
ZCk7Ci0gICAgfQotCiAgICAgX3NldENoaWxkTm9kZXMocGFyZW50SWQsIHBheWxvYWRzKQogICAg
IHsKICAgICAgICAgaWYgKCFwYXJlbnRJZCAmJiBwYXlsb2Fkcy5sZW5ndGgpIHsKLSAgICAgICAg
ICAgIHRoaXMuX3NldERldGFjaGVkUm9vdChwYXlsb2Fkc1swXSk7CisgICAgICAgICAgICAvLyBg
SW5zcGVjdG9yRE9NQWdlbnQ6OnB1c2hOb2RlUGF0aFRvRnJvbnRlbmRgIGNhbiBwcm92aWRlIGEg
c2luZ2xlIGNoaWxkIGFzIGEgZGV0YWNoZWQgcm9vdCBub2RlLgorICAgICAgICAgICAgbGV0IG5v
ZGUgPSBXSS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZChwYXlsb2Fkc1swXSk7Cisg
ICAgICAgICAgICBjb25zb2xlLmFzc2VydCghbm9kZS5wYXJlbnROb2RlKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogCkBAIC00NTksNyArNDU2LDYgQEAgV0kuRE9NTWFuYWdlciA9
IGNsYXNzIERPTU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdmFyIHBhcmVudCA9
IHRoaXMuX2lkVG9ET01Ob2RlW3BhcmVudElkXTsKICAgICAgICAgdmFyIHByZXYgPSB0aGlzLl9p
ZFRvRE9NTm9kZVtwcmV2SWRdOwogICAgICAgICB2YXIgbm9kZSA9IHBhcmVudC5faW5zZXJ0Q2hp
bGQocHJldiwgcGF5bG9hZCk7Ci0gICAgICAgIHRoaXMuX2lkVG9ET01Ob2RlW25vZGUuaWRdID0g
bm9kZTsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9NTWFuYWdl
ci5FdmVudC5Ob2RlSW5zZXJ0ZWQsIHtub2RlLCBwYXJlbnR9KTsKICAgICB9CiAKQEAgLTQ4NSw5
ICs0ODEsOCBAQCBXSS5ET01NYW5hZ2VyID0gY2xhc3MgRE9NTWFuYWdlciBleHRlbmRzIFdJLk9i
amVjdAogICAgICAgICBpZiAoIXBhcmVudCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICBsZXQgbm9kZSA9IFdJLkRPTU5vZGUubmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHBhcmVudC5v
d25lckRvY3VtZW50LCBwc2V1ZG9FbGVtZW50KTsKKyAgICAgICAgbGV0IG5vZGUgPSBXSS5ET01O
b2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZChwc2V1ZG9FbGVtZW50LCB7b3duZXJEb2N1bWVu
dDogcGFyZW50Lm93bmVyRG9jdW1lbnR9KTsKICAgICAgICAgbm9kZS5wYXJlbnROb2RlID0gcGFy
ZW50OwotICAgICAgICB0aGlzLl9pZFRvRE9NTm9kZVtub2RlLmlkXSA9IG5vZGU7CiAgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KCFwYXJlbnQucHNldWRvRWxlbWVudHMoKS5nZXQobm9kZS5wc2V1ZG9U
eXBlKCkpKTsKICAgICAgICAgcGFyZW50LnBzZXVkb0VsZW1lbnRzKCkuc2V0KG5vZGUucHNldWRv
VHlwZSgpLCBub2RlKTsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0ku
RE9NTWFuYWdlci5FdmVudC5Ob2RlSW5zZXJ0ZWQsIHtub2RlLCBwYXJlbnR9KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMK
aW5kZXggYzMxZGVhNjkxYzFkYjNjZTk4MzJhOGU2YjdiNGU2NzNhZGE4MGQ2Ny4uZDA5NmU5YjM3
ODVhODVlYmYxMTY1OGEyMTY1M2U4YTg5MDg3YWQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKQEAgLTMyLDE3ICsz
MiwxOCBAQAogCiBXSS5ET01Ob2RlID0gY2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJLk9iamVjdAog
ewotICAgIGNvbnN0cnVjdG9yKGRvbU1hbmFnZXIsIGRvYywgaXNJblNoYWRvd1RyZWUsIHBheWxv
YWQpCisgICAgY29uc3RydWN0b3IocGF5bG9hZCwge293bmVyRG9jdW1lbnQsIGlzSW5TaGFkb3dU
cmVlfSA9IHt9KQogICAgIHsKICAgICAgICAgc3VwZXIoKTsKIAogICAgICAgICB0aGlzLl9kZXN0
cm95ZWQgPSBmYWxzZTsKIAotICAgICAgICB0aGlzLl9kb21NYW5hZ2VyID0gZG9tTWFuYWdlcjsK
LSAgICAgICAgdGhpcy5faXNJblNoYWRvd1RyZWUgPSBpc0luU2hhZG93VHJlZTsKKyAgICAgICAg
dGhpcy5faXNJblNoYWRvd1RyZWUgPSAhIWlzSW5TaGFkb3dUcmVlOwogCiAgICAgICAgIHRoaXMu
aWQgPSBwYXlsb2FkLm5vZGVJZDsKLSAgICAgICAgdGhpcy5fZG9tTWFuYWdlci5faWRUb0RPTU5v
ZGVbdGhpcy5pZF0gPSB0aGlzOworCisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCEodGhpcy5pZCBp
biBXSS5kb21NYW5hZ2VyLl9pZFRvRE9NTm9kZSksIHRoaXMpOworICAgICAgICBXSS5kb21NYW5h
Z2VyLl9pZFRvRE9NTm9kZVt0aGlzLmlkXSA9IHRoaXM7CiAKICAgICAgICAgdGhpcy5fbm9kZVR5
cGUgPSBwYXlsb2FkLm5vZGVUeXBlOwogICAgICAgICB0aGlzLl9ub2RlTmFtZSA9IHBheWxvYWQu
bm9kZU5hbWU7CkBAIC01NiwxMCArNTcsOCBAQCBXSS5ET01Ob2RlID0gY2xhc3MgRE9NTm9kZSBl
eHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl9sYXlvdXRPdmVybGF5U2hvd2luZyA9IGZh
bHNlOwogICAgICAgICB0aGlzLl9sYXlvdXRPdmVybGF5Q29sb3JTZXR0aW5nID0gbnVsbDsKIAot
ICAgICAgICBpZiAodGhpcy5fbm9kZVR5cGUgPT09IE5vZGUuRE9DVU1FTlRfTk9ERSkKLSAgICAg
ICAgICAgIHRoaXMub3duZXJEb2N1bWVudCA9IHRoaXM7Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIHRoaXMub3duZXJEb2N1bWVudCA9IGRvYzsKKyAgICAgICAgdGhpcy5vd25lckRvY3VtZW50
ID0gdGhpcy5fbm9kZVR5cGUgPT09IE5vZGUuRE9DVU1FTlRfTk9ERSA/IHRoaXMgOiBvd25lckRv
Y3VtZW50OworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLm93bmVyRG9jdW1lbnQsIHRoaXMp
OwogCiAgICAgICAgIHRoaXMuX2ZyYW1lID0gbnVsbDsKIApAQCAtOTQsOSArOTMsOCBAQCBXSS5E
T01Ob2RlID0gY2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAvLyB3ZSBo
YXZlIGJvdGggc2hhZG93Um9vdHMgYW5kIGNoaWxkIG5vZGVzLgogICAgICAgICB0aGlzLl9zaGFk
b3dSb290cyA9IFtdOwogICAgICAgICBpZiAocGF5bG9hZC5zaGFkb3dSb290cykgewotICAgICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXlsb2FkLnNoYWRvd1Jvb3RzLmxlbmd0aDsgKytp
KSB7Ci0gICAgICAgICAgICAgICAgdmFyIHJvb3QgPSBwYXlsb2FkLnNoYWRvd1Jvb3RzW2ldOwot
ICAgICAgICAgICAgICAgIHZhciBub2RlID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdl
ciwgdGhpcy5vd25lckRvY3VtZW50LCB0cnVlLCByb290KTsKKyAgICAgICAgICAgIGZvciAobGV0
IHNoYWRvd1Jvb3RQYXlsb2FkIG9mIHBheWxvYWQuc2hhZG93Um9vdHMpIHsKKyAgICAgICAgICAg
ICAgICBsZXQgbm9kZSA9IFdJLkRPTU5vZGUubmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHNoYWRv
d1Jvb3RQYXlsb2FkLCB7b3duZXJEb2N1bWVudDogdGhpcy5vd25lckRvY3VtZW50LCBpc0luU2hh
ZG93VHJlZTogdHJ1ZX0pOwogICAgICAgICAgICAgICAgIG5vZGUucGFyZW50Tm9kZSA9IHRoaXM7
CiAgICAgICAgICAgICAgICAgdGhpcy5fc2hhZG93Um9vdHMucHVzaChub2RlKTsKICAgICAgICAg
ICAgIH0KQEAgLTExMywyMSArMTExLDIxIEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4
dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICB0aGlzLl9jdXN0b21FbGVtZW50U3RhdGUgPSBu
dWxsOwogCiAgICAgICAgIGlmIChwYXlsb2FkLnRlbXBsYXRlQ29udGVudCkgewotICAgICAgICAg
ICAgdGhpcy5fdGVtcGxhdGVDb250ZW50ID0gbmV3IFdJLkRPTU5vZGUodGhpcy5fZG9tTWFuYWdl
ciwgdGhpcy5vd25lckRvY3VtZW50LCBmYWxzZSwgcGF5bG9hZC50ZW1wbGF0ZUNvbnRlbnQpOwor
ICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVDb250ZW50ID0gV0kuRE9NTm9kZS5uZXdPckV4aXN0
aW5nRnJvbVBheWxvYWQocGF5bG9hZC50ZW1wbGF0ZUNvbnRlbnQsIHtvd25lckRvY3VtZW50OiB0
aGlzLm93bmVyRG9jdW1lbnR9KTsKICAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlQ29udGVudC5w
YXJlbnROb2RlID0gdGhpczsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3BzZXVkb0VsZW1l
bnRzID0gbmV3IE1hcDsKICAgICAgICAgaWYgKHBheWxvYWQucHNldWRvRWxlbWVudHMpIHsKLSAg
ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGF5bG9hZC5wc2V1ZG9FbGVtZW50cy5sZW5n
dGg7ICsraSkgewotICAgICAgICAgICAgICAgIHZhciBub2RlID0gbmV3IFdJLkRPTU5vZGUodGhp
cy5fZG9tTWFuYWdlciwgdGhpcy5vd25lckRvY3VtZW50LCB0aGlzLl9pc0luU2hhZG93VHJlZSwg
cGF5bG9hZC5wc2V1ZG9FbGVtZW50c1tpXSk7CisgICAgICAgICAgICBmb3IgKGxldCBwc2V1ZG9F
bGVtZW50UGF5bG9hZCBvZiBwYXlsb2FkLnBzZXVkb0VsZW1lbnRzKSB7CisgICAgICAgICAgICAg
ICAgbGV0IG5vZGUgPSBXSS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZChwc2V1ZG9F
bGVtZW50UGF5bG9hZCwge293bmVyRG9jdW1lbnQ6IHRoaXMub3duZXJEb2N1bWVudCwgaXNJblNo
YWRvd1RyZWU6IHRoaXMuX2lzSW5TaGFkb3dUcmVlfSk7CiAgICAgICAgICAgICAgICAgbm9kZS5w
YXJlbnROb2RlID0gdGhpczsKICAgICAgICAgICAgICAgICB0aGlzLl9wc2V1ZG9FbGVtZW50cy5z
ZXQobm9kZS5wc2V1ZG9UeXBlKCksIG5vZGUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
ICAgICAgICAgaWYgKHBheWxvYWQuY29udGVudERvY3VtZW50KSB7Ci0gICAgICAgICAgICB0aGlz
Ll9jb250ZW50RG9jdW1lbnQgPSBuZXcgV0kuRE9NTm9kZSh0aGlzLl9kb21NYW5hZ2VyLCBudWxs
LCBmYWxzZSwgcGF5bG9hZC5jb250ZW50RG9jdW1lbnQpOworICAgICAgICAgICAgdGhpcy5fY29u
dGVudERvY3VtZW50ID0gV0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQocGF5bG9h
ZC5jb250ZW50RG9jdW1lbnQpOwogICAgICAgICAgICAgdGhpcy5fY2hpbGRyZW4gPSBbdGhpcy5f
Y29udGVudERvY3VtZW50XTsKICAgICAgICAgICAgIHRoaXMuX3JlbnVtYmVyKCk7CiAgICAgICAg
IH0KQEAgLTE2MywxMCArMTYxLDEwIEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVu
ZHMgV0kuT2JqZWN0CiAKICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBuZXdPckV4aXN0aW5n
RnJvbVBheWxvYWQoZG9jdW1lbnQsIHBheWxvYWQsIHtpc0luU2hhZG93VHJlZX0gPSB7fSkKKyAg
ICBzdGF0aWMgbmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHBheWxvYWQsIHtvd25lckRvY3VtZW50
LCBpc0luU2hhZG93VHJlZX0gPSB7fSkKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiA8d2Via2l0
Lm9yZy9iLzIzODk0Nz4gRG9uJ3Qgc2VuZCBub2RlIHBheWxvYWRzIHRvIHRoZSBmcm9udGVuZCBm
b3IgYWxyZWFkeS1ib3VuZCBub2Rlcy4KLSAgICAgICAgcmV0dXJuIFdJLmRvbU1hbmFnZXIubm9k
ZUZvcklkKHBheWxvYWQubm9kZUlkKSB8fCBuZXcgV0kuRE9NTm9kZShXSS5kb21NYW5hZ2VyLCBk
b2N1bWVudCwgISFpc0luU2hhZG93VHJlZSwgcGF5bG9hZCk7CisgICAgICAgIHJldHVybiBXSS5k
b21NYW5hZ2VyLm5vZGVGb3JJZChwYXlsb2FkLm5vZGVJZCkgfHwgbmV3IFdJLkRPTU5vZGUocGF5
bG9hZCwge293bmVyRG9jdW1lbnQsIGlzSW5TaGFkb3dUcmVlfSk7CiAgICAgfQogCiAgICAgc3Rh
dGljIHJlc2V0RGVmYXVsdExheW91dE92ZXJsYXlDb25maWd1cmF0aW9uKCkKQEAgLTEwNzQsNyAr
MTA3Miw3IEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0CiAK
ICAgICBfaW5zZXJ0Q2hpbGQocHJldiwgcGF5bG9hZCkKICAgICB7Ci0gICAgICAgIGxldCBub2Rl
ID0gV0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQodGhpcy5vd25lckRvY3VtZW50
LCBwYXlsb2FkLCB7aXNJblNoYWRvd1RyZWU6IHRoaXMuX2lzSW5TaGFkb3dUcmVlfSk7CisgICAg
ICAgIGxldCBub2RlID0gV0kuRE9NTm9kZS5uZXdPckV4aXN0aW5nRnJvbVBheWxvYWQocGF5bG9h
ZCwge293bmVyRG9jdW1lbnQ6IHRoaXMub3duZXJEb2N1bWVudCwgaXNJblNoYWRvd1RyZWU6IHRo
aXMuX2lzSW5TaGFkb3dUcmVlfSk7CiAgICAgICAgIGlmICghcHJldikgewogICAgICAgICAgICAg
aWYgKCF0aGlzLl9jaGlsZHJlbikgewogICAgICAgICAgICAgICAgIC8vIEZpcnN0IG5vZGUKQEAg
LTExMDgsNyArMTEwNiw3IEBAIFdJLkRPTU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0ku
T2JqZWN0CiAKICAgICAgICAgdGhpcy5fY2hpbGRyZW4gPSB0aGlzLl9zaGFkb3dSb290cy5zbGlj
ZSgpOwogICAgICAgICBmb3IgKGxldCBwYXlsb2FkIG9mIHBheWxvYWRzKQotICAgICAgICAgICAg
dGhpcy5fY2hpbGRyZW4ucHVzaChXSS5ET01Ob2RlLm5ld09yRXhpc3RpbmdGcm9tUGF5bG9hZCh0
aGlzLm93bmVyRG9jdW1lbnQsIHBheWxvYWQsIHtpc0luU2hhZG93VHJlZTogdGhpcy5faXNJblNo
YWRvd1RyZWV9KSk7CisgICAgICAgICAgICB0aGlzLl9jaGlsZHJlbi5wdXNoKFdJLkRPTU5vZGUu
bmV3T3JFeGlzdGluZ0Zyb21QYXlsb2FkKHBheWxvYWQsIHtvd25lckRvY3VtZW50OiB0aGlzLm93
bmVyRG9jdW1lbnQsIGlzSW5TaGFkb3dUcmVlOiB0aGlzLl9pc0luU2hhZG93VHJlZX0pKTsKIAog
ICAgICAgICB0aGlzLl9yZW51bWJlcigpOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>