<?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>231292</bug_id>
          
          <creation_ts>2021-10-06 08:32:06 -0700</creation_ts>
          <short_desc>Ensure that the top layer is always anchored to the RenderView</short_desc>
          <delta_ts>2022-01-14 00:56:43 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=235063</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>231332</dependson>
    
    <dependson>234984</dependson>
          <blocked>84635</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="Tim Nguyen (:ntim)">ntim</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ntim</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1801092</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-10-06 08:32:06 -0700</bug_when>
    <thetext>see https://fullscreen.spec.whatwg.org/#new-stacking-layer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801098</commentid>
    <comment_count>1</comment_count>
      <attachid>440374</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-06 08:39:00 -0700</bug_when>
    <thetext>Created attachment 440374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801186</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-06 10:55:05 -0700</bug_when>
    <thetext>Committed r283634 (242585@main): &lt;https://commits.webkit.org/242585@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440374.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801188</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-06 10:56:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/83941854&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801370</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-10-06 15:24:19 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 231332</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804971</commentid>
    <comment_count>5</comment_count>
      <attachid>441416</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-15 13:10:19 -0700</bug_when>
    <thetext>Created attachment 441416
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805250</commentid>
    <comment_count>6</comment_count>
      <attachid>441487</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-16 04:47:07 -0700</bug_when>
    <thetext>Created attachment 441487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805576</commentid>
    <comment_count>7</comment_count>
      <attachid>441604</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-18 08:20:42 -0700</bug_when>
    <thetext>Created attachment 441604
Testcase that fails with top layer reparenting patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808439</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-10-25 10:03:36 -0700</bug_when>
    <thetext>This is now being tracked by rdar://84618684.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812488</commentid>
    <comment_count>9</comment_count>
      <attachid>443512</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-11-07 10:15:50 -0800</bug_when>
    <thetext>Created attachment 443512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820626</commentid>
    <comment_count>10</comment_count>
      <attachid>446043</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-12-06 09:12:19 -0800</bug_when>
    <thetext>Created attachment 446043
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820633</commentid>
    <comment_count>11</comment_count>
      <attachid>446044</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-12-06 09:23:03 -0800</bug_when>
    <thetext>Created attachment 446044
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826102</commentid>
    <comment_count>12</comment_count>
      <attachid>447750</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-12-21 13:53:41 -0800</bug_when>
    <thetext>Created attachment 447750
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828503</commentid>
    <comment_count>13</comment_count>
      <attachid>448465</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-01-05 20:18:19 -0800</bug_when>
    <thetext>Created attachment 448465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828578</commentid>
    <comment_count>14</comment_count>
      <attachid>448465</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-01-06 05:44:21 -0800</bug_when>
    <thetext>Comment on attachment 448465
Patch

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

Thanks for taking another look at this!

&gt; Source/WebCore/rendering/RenderObject.cpp:666
&gt; +    auto containingBlockForRenderer = [](const auto&amp; renderer) -&gt; RenderBlock* {
&gt; +        if (isInTopLayerOrBackdrop(renderer.style(), renderer.element()))
&gt; +            return &amp;renderer.view();
&gt;          if (renderer.isAbsolutelyPositioned())
&gt;              return renderer.containingBlockForAbsolutePosition();
&gt;          if (renderer.isFixedPositioned())

containingBlockForAbsolutePosition/containingBlockForFixedPosition is also used in LogicalSelectionOffsetCaches.cpp / LogicalSelectionOffsetCaches.h

Should we adapt those instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828586</commentid>
    <comment_count>15</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-01-06 06:17:45 -0800</bug_when>
    <thetext>(In reply to Tim Nguyen (:ntim) from comment #14)
&gt; Comment on attachment 448465 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=448465&amp;action=review
&gt; 
&gt; Thanks for taking another look at this!
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderObject.cpp:666
&gt; &gt; +    auto containingBlockForRenderer = [](const auto&amp; renderer) -&gt; RenderBlock* {
&gt; &gt; +        if (isInTopLayerOrBackdrop(renderer.style(), renderer.element()))
&gt; &gt; +            return &amp;renderer.view();
&gt; &gt;          if (renderer.isAbsolutelyPositioned())
&gt; &gt;              return renderer.containingBlockForAbsolutePosition();
&gt; &gt;          if (renderer.isFixedPositioned())
&gt; 
&gt; containingBlockForAbsolutePosition/containingBlockForFixedPosition is also
&gt; used in LogicalSelectionOffsetCaches.cpp / LogicalSelectionOffsetCaches.h
&gt; 
&gt; Should we adapt those instead?
will do a bit of a cleanup there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828597</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-06 06:34:35 -0800</bug_when>
    <thetext>Committed r287683 (245779@main): &lt;https://commits.webkit.org/245779@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448465.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440374</attachid>
            <date>2021-10-06 08:39:00 -0700</date>
            <delta_ts>2021-10-15 13:10:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231292-20211006083900.patch</filename>
            <type>text/plain</type>
            <size>2701</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDZmZWY2YTk5ZjZhYzJh
ODk1N2IwNDEzMzI1NTg5OTM0YTZjNTY4NC4uMjE1ODJiYmVhMGUwMjE0ODIyNzZhZTEwM2ZhN2I2
MWIwMzRiMTRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTEwLTA2ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBFbnN1cmUgdGhhdCB0aGUgdG9w
IGxheWVyIGlzIGFsd2F5cyBhbmNob3JlZCB0byB0aGUgUmVuZGVyVmlldworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMjkyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBmaXhlZCBwb3NpdGlvbmVkIGJs
b2NrIGxldmVsIGJveCBpcyBub3QgbmVjZXNzYXJpbHkgYW5jaG9yZWQgdG8gdGhlIFJlbmRlclZp
ZXcgKHNlZSBjYW5Db250YWluRml4ZWRQb3NpdGlvbk9iamVjdHMpLgorICAgICAgICBUaGlzIHBh
dGNoIGVuc3VyZXMgdGhhdCB3ZSBza2lwIHRob3NlIGFuY2VzdG9ycyBhbmQgcmV0dXJuIHRoZSBS
ZW5kZXJWaWV3IGFzIHRoZSBjb250YWluaW5nIGJsb2NrIGZvciB0aGUgdG9wIGxheWVyIGNvbnRl
bnQuIAorCisgICAgICAgIGh0dHBzOi8vZnVsbHNjcmVlbi5zcGVjLndoYXR3Zy5vcmcvI25ldy1z
dGFja2luZy1sYXllcgorICAgICAgICAiSWYgdGhlIHRvcCBsYXllciBwb3NpdGlvbiBwcm9wZXJ0
eSBjb21wdXRlcyB0byBmaXhlZCwgaXRzIGNvbnRhaW5pbmcgYmxvY2sgaXMgdGhlIHZpZXdwb3J0
LCBhbmQgdGhlIGluaXRpYWwgY29udGFpbmluZyBibG9jayBvdGhlcndpc2UuIgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJP
YmplY3Q6OmNvbnRhaW5pbmdCbG9jayBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpjb250YWlu
ZXJGb3JFbGVtZW50KToKKwogMjAyMS0xMC0wNiAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgTWFrZSBjb250YWluZXJGb3JFbGVtZW50IGxvZ2ljIG1vcmUgZXhwbGlj
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggY2I2Y2Vl
MjZmNWQyMmM5OGQ1YjFmNDQ0ODZkNGFkMmMwZjAwNDlmNi4uZjBkMmM4YTEzNGRmMTBkYjRkNzE3
YzE2NWE2MGIyZWM0NTI5MjFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKQEAgLTY1Nyw4ICs2NTcsOSBAQCB2b2lkIFJlbmRlck9iamVjdDo6c2V0TGF5ZXJO
ZWVkc0Z1bGxSZXBhaW50Rm9yUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0KCkKIAogUmVuZGVyQmxv
Y2sqIFJlbmRlck9iamVjdDo6Y29udGFpbmluZ0Jsb2NrKCkgY29uc3QKIHsKLSAgICBhdXRvIGNv
bnRhaW5pbmdCbG9ja0ZvclJlbmRlcmVyID0gW10oY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVy
ZXIpCi0gICAgeworICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrRm9yUmVuZGVyZXIgPSBbXShjb25z
dCBhdXRvJiByZW5kZXJlcikgLT4gUmVuZGVyQmxvY2sqIHsKKyAgICAgICAgaWYgKGlzSW5Ub3BM
YXllck9yQmFja2Ryb3AocmVuZGVyZXIuc3R5bGUoKSwgcmVuZGVyZXIuZWxlbWVudCgpKSkKKyAg
ICAgICAgICAgIHJldHVybiAmcmVuZGVyZXIudmlldygpOwogICAgICAgICBpZiAocmVuZGVyZXIu
aXNBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVyLmNv
bnRhaW5pbmdCbG9ja0ZvckFic29sdXRlUG9zaXRpb24oKTsKICAgICAgICAgaWYgKHJlbmRlcmVy
LmlzRml4ZWRQb3NpdGlvbmVkKCkpCkBAIC0xNDY4LDYgKzE0NjksOCBAQCBzdGF0aWMgaW5saW5l
IFJlbmRlckVsZW1lbnQqIGNvbnRhaW5lckZvckVsZW1lbnQoY29uc3QgUmVuZGVyT2JqZWN0JiBy
ZW5kZXJlciwgYwogICAgIC8vIFRoaXMgZG9lcyBtZWFuIHRoYXQgY29tcHV0ZVBvc2l0aW9uZWRM
b2dpY2FsV2lkdGggYW5kIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodCBoYXZlIHRvIHVz
ZSBjb250YWluZXIoKS4KICAgICBpZiAoIWlzPFJlbmRlckVsZW1lbnQ+KHJlbmRlcmVyKSkKICAg
ICAgICAgcmV0dXJuIHJlbmRlcmVyLnBhcmVudCgpOworICAgIGlmIChpc0luVG9wTGF5ZXJPckJh
Y2tkcm9wKHJlbmRlcmVyLnN0eWxlKCksIGRvd25jYXN0PFJlbmRlckVsZW1lbnQ+KHJlbmRlcmVy
KS5lbGVtZW50KCkpKQorICAgICAgICByZXR1cm4gJnJlbmRlcmVyLnZpZXcoKTsKICAgICBhdXRv
IHBvc2l0aW9uID0gcmVuZGVyZXIuc3R5bGUoKS5wb3NpdGlvbigpOwogICAgIGlmIChwb3NpdGlv
biA9PSBQb3NpdGlvblR5cGU6OlN0YXRpYyB8fCBwb3NpdGlvbiA9PSBQb3NpdGlvblR5cGU6OlJl
bGF0aXZlIHx8IHBvc2l0aW9uID09IFBvc2l0aW9uVHlwZTo6U3RpY2t5KQogICAgICAgICByZXR1
cm4gcmVuZGVyZXIucGFyZW50KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441416</attachid>
            <date>2021-10-15 13:10:19 -0700</date>
            <delta_ts>2021-10-16 04:47:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231292-20211015221017.patch</filename>
            <type>text/plain</type>
            <size>7937</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZhYWRjN2EzYzdmMGYx
YzQyZDU0YzkzOTdhMWY5MWQxMjBkY2M3NS4uZDUwZWRhODY4MmUwM2UxN2Q4NzE3MzAyODZiMTNi
MWI5ZDk2MTIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTEwLTE1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtcGFyZW50IHRvcCBsYXllciBy
ZW5kZXJlcnMgdG8gUmVuZGVyVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxMjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVsZXZhbnQgV1BUcyBlbmFibGVkLgorCisgICAgICAgICogaHRtbC9I
VE1MRGlhbG9nRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxlbWVu
dDo6cnVuRm9jdXNpbmdTdGVwcyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzdGFja2luZ0NvbnRleHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmVuY2xvc2luZ0FuY2VzdG9yRm9yUG9z
aXRpb24gY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlUG9z
aXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVBvc2l0aW9uOjpuZXh0U2li
bGluZ1JlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZVVwZGF0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6OnVw
ZGF0ZVJlbmRlclRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6OmNy
ZWF0ZVJlbmRlcmVyKToKKwogMjAyMS0xMC0xNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjc2MzcwKTogRWxlbWVudHMgd2l0
aCBhbmltYXRlZCB0cmFuc2Zvcm0gcHJvcGVydHkgbWlnaHQgbm90IHByb3Blcmx5IHJlbmRlcmVk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwCmluZGV4IDQ4MzM4NDVi
ODkwNmI4Y2E2ODI3N2IzOGI4YzZhZjQ1NDJhNGFkYWYuLmVhMjI3MGM4OTQyMjA3Yzg1ZTMwN2Qy
OGNkMDVlNTc4ZjA5MTFiMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERp
YWxvZ0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1l
bnQuY3BwCkBAIC0xMjIsOSArMTIyLDggQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6cnVuRm9j
dXNpbmdTdGVwcygpCiAgICAgaWYgKCFpc0Nvbm5lY3RlZCgpKQogICAgICAgICByZXR1cm47CiAK
LSAgICAvLyBFbnN1cmUgcmVuZGVyZXIgYW5kIGluZXJ0IHN0eWxlIGFyZSB1cC10by1kYXRlLgot
ICAgIGRvY3VtZW50KCkudXBkYXRlU3R5bGVJZk5lZWRlZCgpOwotICAgIGlmIChyZW5kZXJlcigp
ICYmIHJlbmRlcmVyKCktPnN0eWxlKCkuZWZmZWN0aXZlSW5lcnQoKSkKKyAgICAvLyBDaGVjayBp
bmVydCBzdGF0ZSB3aXRob3V0IG5lZWRpbmcgYW4gdXAtdG8tZGF0ZSByZW5kZXIgdHJlZQorICAg
IGlmIChjb21wdXRlZFN0eWxlKCkgJiYgY29tcHV0ZWRTdHlsZSgpLT5lZmZlY3RpdmVJbmVydCgp
KQogICAgICAgICByZXR1cm47CiAKICAgICBSZWZQdHI8RWxlbWVudD4gY29udHJvbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDAyYzVjMTVjZjY4NzgxOTBj
NWEyZTIyMjgyMjkzYzRmZWNkOGE4MGMuLjkzNWEwNWI4MTdmZDEyMTMxM2QwN2IyMWU1OGIyNWM5
NzNmNWQxNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAt
NjUwLDkgKzY1MCw2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNldFBhcmVudChSZW5kZXJMYXllciog
cGFyZW50KQogCiBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6OnN0YWNraW5nQ29udGV4dCgpIGNv
bnN0CiB7Ci0gICAgaWYgKGVzdGFibGlzaGVzVG9wTGF5ZXIoKSkKLSAgICAgICAgcmV0dXJuIHJl
bmRlcmVyKCkudmlldygpLmxheWVyKCk7Ci0KICAgICBhdXRvKiBsYXllciA9IHBhcmVudCgpOwog
ICAgIHdoaWxlIChsYXllciAmJiAhbGF5ZXItPmlzU3RhY2tpbmdDb250ZXh0KCkpCiAgICAgICAg
IGxheWVyID0gbGF5ZXItPnBhcmVudCgpOwpAQCAtMTc5OSw5ICsxNzk2LDYgQEAgYm9vbCBSZW5k
ZXJMYXllcjo6YW5jZXN0b3JMYXllcklzSW5Db250YWluaW5nQmxvY2tDaGFpbihjb25zdCBSZW5k
ZXJMYXllciYgYW5jZXMKIAogUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjplbmNsb3NpbmdBbmNl
c3RvckZvclBvc2l0aW9uKFBvc2l0aW9uVHlwZSBwb3NpdGlvbikgY29uc3QKIHsKLSAgICBpZiAo
ZXN0YWJsaXNoZXNUb3BMYXllcigpKQotICAgICAgICByZXR1cm4gcmVuZGVyZXIoKS52aWV3KCku
bGF5ZXIoKTsKLQogICAgIFJlbmRlckxheWVyKiBjdXJyID0gcGFyZW50KCk7CiAgICAgd2hpbGUg
KGN1cnIgJiYgIWlzQ29udGFpbmVyRm9yUG9zaXRpb25lZCgqY3VyciwgcG9zaXRpb24pKQogICAg
ICAgICBjdXJyID0gY3Vyci0+cGFyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVBvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlUG9zaXRpb24uY3BwCmluZGV4IDc2OTI2Njk4
MGQ2YTVlNTk3ZTQ1MWIwMTE4MGJjMTRmNzBlNmQxMjYuLjIwMTZlNDlhYmU4YTRjMjlmMDM0MTdk
ZjA2NmUwNzY4ZWJmOWQ4MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlUG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlUG9zaXRpb24uY3BwCkBAIC01OSw3ICs1OSwxMiBAQCB2
b2lkIFJlbmRlclRyZWVQb3NpdGlvbjo6aW52YWxpZGF0ZU5leHRTaWJsaW5nKGNvbnN0IFJlbmRl
ck9iamVjdCYgc2libGluZ1JlbmRlcgogCiBSZW5kZXJPYmplY3QqIFJlbmRlclRyZWVQb3NpdGlv
bjo6bmV4dFNpYmxpbmdSZW5kZXJlcihjb25zdCBOb2RlJiBub2RlKSBjb25zdAogeworICAgIGF1
dG8gaXNJblRvcExheWVyID0gW10gKGNvbnN0IE5vZGUmIG5vZGUpIC0+IGJvb2wgeworICAgICAg
ICByZXR1cm4gaXM8RWxlbWVudD4obm9kZSkgJiYgZG93bmNhc3Q8RWxlbWVudD4obm9kZSkuaXNJ
blRvcExheWVyKCk7CisgICAgfTsKKwogICAgIEFTU0VSVCghbm9kZS5yZW5kZXJlcigpKTsKKyAg
ICBBU1NFUlQoIWlzSW5Ub3BMYXllcihub2RlKSk7CiAKICAgICBhdXRvKiBwYXJlbnRFbGVtZW50
ID0gbV9wYXJlbnQuZWxlbWVudCgpOwogICAgIGlmICghcGFyZW50RWxlbWVudCkKQEAgLTEyNSw2
ICsxMzAsMTEgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJUcmVlUG9zaXRpb246Om5leHRTaWJsaW5n
UmVuZGVyZXIoY29uc3QgTm9kZSYgbm9kZSkgY29uc3QKICAgICBhdXRvIGVuZCA9IGNvbXBvc2Vk
RGVzY2VuZGFudHMuZW5kKCk7CiAKICAgICB3aGlsZSAoaXQgIT0gZW5kKSB7CisgICAgICAgIGlm
IChpc0luVG9wTGF5ZXIoKml0KSkgeworICAgICAgICAgICAgaXQudHJhdmVyc2VOZXh0U2tpcHBp
bmdDaGlsZHJlbigpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKwogICAgICAg
ICBpZiAoYXV0byogcmVuZGVyZXIgPSBwb3BDaGVja2luZ0ZvckFmdGVyUHNldWRvRWxlbWVudFJl
bmRlcmVycyhpdC5kZXB0aCgpKSkKICAgICAgICAgICAgIHJldHVybiByZW5kZXJlcjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRh
dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBk
YXRlci5jcHAKaW5kZXggZTFiZWEwY2MyZDI3Mzc3YjNlNzFiMzBlYjJjMWY2ZjI4MjdiYjlmZi4u
NDc0Y2IwMjY1ZGJjYzFjZWRkZDc3ZDAwMDRkNzAxMDc5ZjYzNzIyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3Bw
CkBAIC0xNjIsOCArMTYyLDExIEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZVJlbmRl
clRyZWUoQ29udGFpbmVyTm9kZSYgcm9vdCkKIAogICAgICAgICBpZiAoYXV0byogcmVuZGVyZXIg
PSBub2RlLnJlbmRlcmVyKCkpCiAgICAgICAgICAgICByZW5kZXJUcmVlUG9zaXRpb24oKS5pbnZh
bGlkYXRlTmV4dFNpYmxpbmcoKnJlbmRlcmVyKTsKLSAgICAgICAgZWxzZSBpZiAoaXM8RWxlbWVu
dD4obm9kZSkgJiYgZG93bmNhc3Q8RWxlbWVudD4obm9kZSkuaGFzRGlzcGxheUNvbnRlbnRzKCkp
Ci0gICAgICAgICAgICByZW5kZXJUcmVlUG9zaXRpb24oKS5pbnZhbGlkYXRlTmV4dFNpYmxpbmco
KTsKKyAgICAgICAgZWxzZSBpZiAoaXM8RWxlbWVudD4obm9kZSkpIHsKKyAgICAgICAgICAgIGF1
dG8mIGVsZW1lbnQgPSBkb3duY2FzdDxFbGVtZW50Pihub2RlKTsKKyAgICAgICAgICAgIGlmIChl
bGVtZW50Lmhhc0Rpc3BsYXlDb250ZW50cygpIHx8IGVsZW1lbnQuaXNJblRvcExheWVyKCkpCisg
ICAgICAgICAgICAgICAgcmVuZGVyVHJlZVBvc2l0aW9uKCkuaW52YWxpZGF0ZU5leHRTaWJsaW5n
KCk7CisgICAgICAgIH0KIAogICAgICAgICBpZiAoaXM8VGV4dD4obm9kZSkpIHsKICAgICAgICAg
ICAgIGF1dG8mIHRleHQgPSBkb3duY2FzdDxUZXh0Pihub2RlKTsKQEAgLTM3MCw2ICszNzMsOCBA
QCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYg
ZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZQogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6Y3JlYXRl
UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKIHsKICAgICBh
dXRvIGNvbXB1dGVJbnNlcnRpb25Qb3NpdGlvbiA9IFt0aGlzLCAmZWxlbWVudF0gKCkgeworICAg
ICAgICBpZiAoZWxlbWVudC5pc0luVG9wTGF5ZXIoKSkKKyAgICAgICAgICAgIHJldHVybiBSZW5k
ZXJUcmVlUG9zaXRpb24ocmVuZGVyVmlldygpLCBudWxscHRyKTsKICAgICAgICAgcmVuZGVyVHJl
ZVBvc2l0aW9uKCkuY29tcHV0ZU5leHRTaWJsaW5nKGVsZW1lbnQpOwogICAgICAgICByZXR1cm4g
cmVuZGVyVHJlZVBvc2l0aW9uKCk7CiAgICAgfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMDEzYWFkNjZjNTEzMTkxODBl
NGU4ZDcyZjZkNjc0MzdiYzUwM2FmLi44Y2UxMDJhYTZiMGJlOTEyMDFjZWNjYjBmOTM5NjZlNmIz
NmYwNWMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTAtMTUgIFRpbSBOZ3V5ZW4gIDxu
dGltQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1wYXJlbnQgdG9wIGxheWVyIHJlbmRlcmVycyB0
byBSZW5kZXJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzEyOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZWxldmFudCBXUFRzIGVuYWJsZWQuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25z
OgorCiAyMDIxLTEwLTE1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04gKHIyNzYzNzApOiBFbGVtZW50cyB3aXRoIGFuaW1hdGVkIHRy
YW5zZm9ybSBwcm9wZXJ0eSBtaWdodCBub3QgcHJvcGVybHkgcmVuZGVyZWQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDYyOWRlODg3NDZhN2Q3YjI4M2U2YTQyN2QxZDNjMTE0ZThlYThhYTEuLmJkMzhh
NjY3YTE1ZWJhNzMxNWRmYzdhYzQ1ODUwZGNlNjcxMTk4YjggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMjI5MCwxMSArMjI5MCw3IEBAIGZhc3QvbXVsdGljb2wvbXVsdGljb2wtd2l0aC1jaGlsZC1y
ZW5kZXJMYXllci1mb3ItaW5wdXQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUKICMgVG9wIGxheWVy
IHRlc3RzCiB3ZWJraXQub3JnL2IvMjI5MzE1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50
L21vZGFsLWRpYWxvZy1pbi1yZXBsYWNlZC1yZW5kZXJlci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMjI5MzE1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L21v
ZGFsLWRpYWxvZy1pbi10YWJsZS1jb2x1bW4uaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzIzMTI5MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC90b3AtbGF5ZXIt
Y29udGFpbmluZy1ibG9jay5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MjMxMjkyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L3RvcC1sYXllci1zdGFja2luZy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMv
dGhlLWRpYWxvZy1lbGVtZW50L3RvcC1sYXllci1wYXJlbnQtb3ZlcmZsb3ctY2xpcC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L3RvcC1sYXllci1wYXJlbnQtb3ZlcmZsb3ctc2Nyb2xsLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMzEyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9n
LWVsZW1lbnQvdG9wLWxheWVyLXBhcmVudC10cmFuc2Zvcm0uaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogCiAjIEFzc2VydGlvbiBmYWlsdXJlIGluIE1lc3NhZ2VQb3J0Ojpjb250ZXh0RGVzdHJv
eWVkLCB1c3VhbGx5IGF0dHJpYnV0ZWQgdG8gbGF0ZXIgdGVzdHMKIHdlYmtpdC5vcmcvYi85NDQ1
OCBodHRwL3Rlc3RzL3NlY3VyaXR5L01lc3NhZ2VQb3J0L2V2ZW50LWxpc3RlbmVyLWNvbnRleHQu
aHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441487</attachid>
            <date>2021-10-16 04:47:07 -0700</date>
            <delta_ts>2021-11-07 10:15:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231292-20211016134705.patch</filename>
            <type>text/plain</type>
            <size>9853</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2NlMTNjNmFkOGMzZmMz
MzVmNjYzOTljYTU3NmIwZmVjOTUzYTE4YS4uYmRiYmRkNDk2ZmQ4MmFjN2E2OWZhZGFmYzRiNTI5
MTc1YjEwMDZjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTEwLTE1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtcGFyZW50IHRvcCBsYXllciBy
ZW5kZXJlcnMgdG8gUmVuZGVyVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxMjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVsZXZhbnQgV1BUcyBlbmFibGVkLgorCisgICAgICAgICogaHRtbC9I
VE1MRGlhbG9nRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxlbWVu
dDo6cnVuRm9jdXNpbmdTdGVwcyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzdGFja2luZ0NvbnRleHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmVuY2xvc2luZ0FuY2VzdG9yRm9yUG9z
aXRpb24gY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlUG9z
aXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVBvc2l0aW9uOjpjb21wdXRl
TmV4dFNpYmxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVBvc2l0aW9uOjpuZXh0
U2libGluZ1JlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZVBvc2l0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjppc1JlcGFyZW50ZWRSZW5kZXJU
cmVlUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBk
YXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlUmVu
ZGVyVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBkYXRlcjo6Y3JlYXRlUmVu
ZGVyZXIpOgorCiAyMDIxLTEwLTE2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIE1ha2Ugc3VyZSBjaGlsZCBsYXllcnMgb2YgdG9wIGxheWVyIGVsZW1l
bnRzIGFyZSByZW5kZXJlZCBhbmQgY29ycmVjdGx5IHotb3JkZXJlZCAodG9wLWxheWVyLXN0YWNr
aW5nLmh0bWwgZmFpbHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFs
b2dFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3Bw
CmluZGV4IDQ4MzM4NDViODkwNmI4Y2E2ODI3N2IzOGI4YzZhZjQ1NDJhNGFkYWYuLjU3MjBhZDkx
YTE2ZjA5OWI5Zjk0OWNiMzM1M2FiNzViZDk0NWQ4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTERpYWxvZ0VsZW1lbnQuY3BwCkBAIC0xMjIsOSArMTIyLDggQEAgdm9pZCBIVE1MRGlhbG9n
RWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwcygpCiAgICAgaWYgKCFpc0Nvbm5lY3RlZCgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICAvLyBFbnN1cmUgcmVuZGVyZXIgYW5kIGluZXJ0IHN0eWxlIGFy
ZSB1cC10by1kYXRlLgotICAgIGRvY3VtZW50KCkudXBkYXRlU3R5bGVJZk5lZWRlZCgpOwotICAg
IGlmIChyZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPnN0eWxlKCkuZWZmZWN0aXZlSW5lcnQoKSkK
KyAgICAvLyBDaGVjayBpbmVydCBzdGF0ZSB3aXRob3V0IG5lZWRpbmcgYW4gdXAtdG8tZGF0ZSBy
ZW5kZXIgdHJlZS4KKyAgICBpZiAoY29tcHV0ZWRTdHlsZSgpICYmIGNvbXB1dGVkU3R5bGUoKS0+
ZWZmZWN0aXZlSW5lcnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVmUHRyPEVsZW1lbnQ+
IGNvbnRyb2w7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAw
MmM1YzE1Y2Y2ODc4MTkwYzVhMmUyMjI4MjI5M2M0ZmVjZDhhODBjLi45MzVhMDViODE3ZmQxMjEz
MTNkMDdiMjFlNThiMjVjOTczZjVkMTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKQEAgLTY1MCw5ICs2NTAsNiBAQCB2b2lkIFJlbmRlckxheWVyOjpzZXRQYXJl
bnQoUmVuZGVyTGF5ZXIqIHBhcmVudCkKIAogUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpzdGFj
a2luZ0NvbnRleHQoKSBjb25zdAogewotICAgIGlmIChlc3RhYmxpc2hlc1RvcExheWVyKCkpCi0g
ICAgICAgIHJldHVybiByZW5kZXJlcigpLnZpZXcoKS5sYXllcigpOwotCiAgICAgYXV0byogbGF5
ZXIgPSBwYXJlbnQoKTsKICAgICB3aGlsZSAobGF5ZXIgJiYgIWxheWVyLT5pc1N0YWNraW5nQ29u
dGV4dCgpKQogICAgICAgICBsYXllciA9IGxheWVyLT5wYXJlbnQoKTsKQEAgLTE3OTksOSArMTc5
Niw2IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmFuY2VzdG9yTGF5ZXJJc0luQ29udGFpbmluZ0Jsb2Nr
Q2hhaW4oY29uc3QgUmVuZGVyTGF5ZXImIGFuY2VzCiAKIFJlbmRlckxheWVyKiBSZW5kZXJMYXll
cjo6ZW5jbG9zaW5nQW5jZXN0b3JGb3JQb3NpdGlvbihQb3NpdGlvblR5cGUgcG9zaXRpb24pIGNv
bnN0CiB7Ci0gICAgaWYgKGVzdGFibGlzaGVzVG9wTGF5ZXIoKSkKLSAgICAgICAgcmV0dXJuIHJl
bmRlcmVyKCkudmlldygpLmxheWVyKCk7Ci0KICAgICBSZW5kZXJMYXllciogY3VyciA9IHBhcmVu
dCgpOwogICAgIHdoaWxlIChjdXJyICYmICFpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnIs
IHBvc2l0aW9uKSkKICAgICAgICAgY3VyciA9IGN1cnItPnBhcmVudCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVQb3NpdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVBvc2l0aW9uLmNw
cAppbmRleCA3NjkyNjY5ODBkNmE1ZTU5N2U0NTFiMDExODBiYzE0ZjcwZTZkMTI2Li5mYTAxN2Fl
ZDhmZGVhZDMxY2M3Y2RlYTdmNGIzY2JiZjk4MjM3NTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVBvc2l0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVBvc2l0aW9uLmNwcApAQCAt
MzcsNiArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB2b2lkIFJlbmRlclRyZWVQb3NpdGlv
bjo6Y29tcHV0ZU5leHRTaWJsaW5nKGNvbnN0IE5vZGUmIG5vZGUpCiB7CiAgICAgQVNTRVJUKCFu
b2RlLnJlbmRlcmVyKCkpOworICAgIEFTU0VSVCghaXNSZXBhcmVudGVkUmVuZGVyVHJlZVBvc2l0
aW9uKG5vZGUpKTsKKwogICAgIGlmIChtX2hhc1ZhbGlkTmV4dFNpYmxpbmcpIHsKICNpZiBBU1NF
UlRfRU5BQkxFRAogICAgICAgICBjb25zdCB1bnNpZ25lZCBvTlNxdWFyZWRBdm9pZGFuY2VMaW1p
dCA9IDIwOwpAQCAtNjEsNiArNjMsMTAgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJUcmVlUG9zaXRp
b246Om5leHRTaWJsaW5nUmVuZGVyZXIoY29uc3QgTm9kZSYgbm9kZSkgY29uc3QKIHsKICAgICBB
U1NFUlQoIW5vZGUucmVuZGVyZXIoKSk7CiAKKyAgICAvLyBMaWtlIGZvciA6Om1hcmtlci86OmJh
Y2tkcm9wIG9yIG90aGVyIHNpbWlsYXIgbm9uIERPTSB0cmVlIHJlbGF0ZWQgcmVuZGVyZXJzLCBS
ZW5kZXJUcmVlUG9zaXRpb24KKyAgICAvLyB3aWxsIG5vdCBoYW5kbGUgbmV4dCBzaWJsaW5ncyBm
b3IgcmUtcGFyZW50ZWQgcmVuZGVyZXJzLgorICAgIEFTU0VSVCghaXNSZXBhcmVudGVkUmVuZGVy
VHJlZVBvc2l0aW9uKG5vZGUpKTsKKwogICAgIGF1dG8qIHBhcmVudEVsZW1lbnQgPSBtX3BhcmVu
dC5lbGVtZW50KCk7CiAgICAgaWYgKCFwYXJlbnRFbGVtZW50KQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKQEAgLTEyNSw2ICsxMzEsMTEgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJUcmVlUG9zaXRp
b246Om5leHRTaWJsaW5nUmVuZGVyZXIoY29uc3QgTm9kZSYgbm9kZSkgY29uc3QKICAgICBhdXRv
IGVuZCA9IGNvbXBvc2VkRGVzY2VuZGFudHMuZW5kKCk7CiAKICAgICB3aGlsZSAoaXQgIT0gZW5k
KSB7CisgICAgICAgIGlmIChpc1JlcGFyZW50ZWRSZW5kZXJUcmVlUG9zaXRpb24oKml0KSkgewor
ICAgICAgICAgICAgaXQudHJhdmVyc2VOZXh0U2tpcHBpbmdDaGlsZHJlbigpOworICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIH0KKwogICAgICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSBw
b3BDaGVja2luZ0ZvckFmdGVyUHNldWRvRWxlbWVudFJlbmRlcmVycyhpdC5kZXB0aCgpKSkKICAg
ICAgICAgICAgIHJldHVybiByZW5kZXJlcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVQb3NpdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVQb3NpdGlvbi5oCmluZGV4IDdjZTJhOWNiYTFh
OTU4ZGE3ZDg1NTZlMmRhODVlOGQ4ODkxMDBiYTQuLjMyNjM1ODVjNmVlOTk3MzI2NDlhNDlhZTY4
NWNmODhkZmM5OGVmOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlUG9zaXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZVBvc2l0aW9uLmgKQEAgLTY3LDQgKzY3LDkgQEAgaW5saW5lIHZv
aWQgUmVuZGVyVHJlZVBvc2l0aW9uOjptb3ZlVG9MYXN0Q2hpbGQoKQogICAgIG1faGFzVmFsaWRO
ZXh0U2libGluZyA9IHRydWU7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc1JlcGFyZW50ZWRS
ZW5kZXJUcmVlUG9zaXRpb24oY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICByZXR1cm4gaXM8RWxl
bWVudD4obm9kZSkgJiYgZG93bmNhc3Q8RWxlbWVudD4obm9kZSkuaXNJblRvcExheWVyKCk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IGUxYmVhMGNjMmQy
NzM3N2IzZTcxYjMwZWIyYzFmNmYyODI3YmI5ZmYuLjY1OGY1ZGQ5NzJjMDc1NjhjZTNhMWFhMzZj
MDY5NDYyYTY1ZTFjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApAQCAtMTYyLDggKzE2MiwxMSBAQCB2b2lk
IFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJUcmVlKENvbnRhaW5lck5vZGUmIHJvb3Qp
CiAKICAgICAgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gbm9kZS5yZW5kZXJlcigpKQogICAgICAg
ICAgICAgcmVuZGVyVHJlZVBvc2l0aW9uKCkuaW52YWxpZGF0ZU5leHRTaWJsaW5nKCpyZW5kZXJl
cik7Ci0gICAgICAgIGVsc2UgaWYgKGlzPEVsZW1lbnQ+KG5vZGUpICYmIGRvd25jYXN0PEVsZW1l
bnQ+KG5vZGUpLmhhc0Rpc3BsYXlDb250ZW50cygpKQotICAgICAgICAgICAgcmVuZGVyVHJlZVBv
c2l0aW9uKCkuaW52YWxpZGF0ZU5leHRTaWJsaW5nKCk7CisgICAgICAgIGVsc2UgaWYgKGlzPEVs
ZW1lbnQ+KG5vZGUpKSB7CisgICAgICAgICAgICBhdXRvJiBlbGVtZW50ID0gZG93bmNhc3Q8RWxl
bWVudD4obm9kZSk7CisgICAgICAgICAgICBpZiAoZWxlbWVudC5oYXNEaXNwbGF5Q29udGVudHMo
KSB8fCBpc1JlcGFyZW50ZWRSZW5kZXJUcmVlUG9zaXRpb24oZWxlbWVudCkpCisgICAgICAgICAg
ICAgICAgcmVuZGVyVHJlZVBvc2l0aW9uKCkuaW52YWxpZGF0ZU5leHRTaWJsaW5nKCk7CisgICAg
ICAgIH0KIAogICAgICAgICBpZiAoaXM8VGV4dD4obm9kZSkpIHsKICAgICAgICAgICAgIGF1dG8m
IHRleHQgPSBkb3duY2FzdDxUZXh0Pihub2RlKTsKQEAgLTM3MCwxNyArMzczLDIwIEBAIHZvaWQg
UmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50
LCBjb25zdCBTdHlsZTo6RWxlCiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpjcmVhdGVSZW5kZXJl
cihFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogewogICAgIGF1dG8gY29t
cHV0ZUluc2VydGlvblBvc2l0aW9uID0gW3RoaXMsICZlbGVtZW50XSAoKSB7Ci0gICAgICAgIHJl
bmRlclRyZWVQb3NpdGlvbigpLmNvbXB1dGVOZXh0U2libGluZyhlbGVtZW50KTsKKyAgICAgICAg
aWYgKGVsZW1lbnQuaXNJblRvcExheWVyKCkpCisgICAgICAgICAgICByZXR1cm4gUmVuZGVyVHJl
ZVBvc2l0aW9uKHJlbmRlclZpZXcoKSwgbnVsbHB0cik7CisgICAgICAgIGlmICghaXNSZXBhcmVu
dGVkUmVuZGVyVHJlZVBvc2l0aW9uKGVsZW1lbnQpKQorICAgICAgICAgICAgcmVuZGVyVHJlZVBv
c2l0aW9uKCkuY29tcHV0ZU5leHRTaWJsaW5nKGVsZW1lbnQpOwogICAgICAgICByZXR1cm4gcmVu
ZGVyVHJlZVBvc2l0aW9uKCk7CiAgICAgfTsKIAotICAgIGlmICghc2hvdWxkQ3JlYXRlUmVuZGVy
ZXIoZWxlbWVudCwgcmVuZGVyVHJlZVBvc2l0aW9uKCkucGFyZW50KCkpKQorICAgIFJlbmRlclRy
ZWVQb3NpdGlvbiBpbnNlcnRpb25Qb3NpdGlvbiA9IGNvbXB1dGVJbnNlcnRpb25Qb3NpdGlvbigp
OworICAgIGlmICghc2hvdWxkQ3JlYXRlUmVuZGVyZXIoZWxlbWVudCwgaW5zZXJ0aW9uUG9zaXRp
b24ucGFyZW50KCkpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIWVsZW1lbnQucmVuZGVy
ZXJJc05lZWRlZChzdHlsZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlbmRlclRyZWVQb3Np
dGlvbiBpbnNlcnRpb25Qb3NpdGlvbiA9IGNvbXB1dGVJbnNlcnRpb25Qb3NpdGlvbigpOwogICAg
IGF1dG8gbmV3UmVuZGVyZXIgPSBlbGVtZW50LmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihXVEZNb3Zl
KHN0eWxlKSwgaW5zZXJ0aW9uUG9zaXRpb24pOwogICAgIGlmICghbmV3UmVuZGVyZXIpCiAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBlZTVmYmEyZTgxNmJkODEyZTY2MGZkZjFhN2I4NzE1YzEyMmYw
NWE4Li5lYTc3MzdmYWIxN2QzNTk1MWQ4MTNjZjhiYTA1MDM5YjljNTVhY2M5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjEtMTAtMTUgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZS1wYXJlbnQgdG9wIGxheWVyIHJlbmRlcmVycyB0byBSZW5kZXJWaWV3CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEyOTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWxldmFudCBXUFRz
IGVuYWJsZWQuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTEwLTE2ICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ugc3Vy
ZSBjaGlsZCBsYXllcnMgb2YgdG9wIGxheWVyIGVsZW1lbnRzIGFyZSByZW5kZXJlZCBhbmQgY29y
cmVjdGx5IHotb3JkZXJlZCAodG9wLWxheWVyLXN0YWNraW5nLmh0bWwgZmFpbHMpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCA5YzY1NDRiYzUyOWNlZTJkNjY4NDQxYWQ2Zjg2OTZmOGE5MzE5MjkzLi5k
ZmY3MmRkNGZlNWU3NjA4ZDkxYzM4YmU1NDJjZTUyOGM0NDNmNjYyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTIyODgsMTUgKzIyODgsNiBAQCBsb2FkZXIvc3RhdGVvYmplY3RzL3JlcGxhY2VzdGF0
ZS1zaXplLmh0bWwgWyBTbG93IF0KIGltcG9ydGVkL2JsaW5rL2Zhc3QvbXVsdGljb2wvb3V0bGlu
ZXMtYXQtY29sdW1uLWJvdW5kYXJpZXMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogZmFzdC9t
dWx0aWNvbC9tdWx0aWNvbC13aXRoLWNoaWxkLXJlbmRlckxheWVyLWZvci1pbnB1dC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiAKLSMgVG9wIGxheWVyIHRlc3RzCi13ZWJraXQub3JnL2IvMjI5
MzE1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJh
Y3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L21vZGFsLWRpYWxvZy1pbi1yZXBsYWNl
ZC1yZW5kZXJlci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjI5MzE1
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3Rp
dmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L21vZGFsLWRpYWxvZy1pbi10YWJsZS1jb2x1
bW4uaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIzMTI5MiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1l
bnRzL3RoZS1kaWFsb2ctZWxlbWVudC90b3AtbGF5ZXItY29udGFpbmluZy1ibG9jay5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L3RvcC1sYXllci1zdGFja2luZy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L3RvcC1s
YXllci1wYXJlbnQtb3ZlcmZsb3ctY2xpcC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L3RvcC1sYXllci1w
YXJlbnQtb3ZlcmZsb3ctc2Nyb2xsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi8yMzEyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvdG9wLWxheWVyLXBhcmVu
dC10cmFuc2Zvcm0uaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotCiAjIEFzc2VydGlvbiBmYWls
dXJlIGluIE1lc3NhZ2VQb3J0Ojpjb250ZXh0RGVzdHJveWVkLCB1c3VhbGx5IGF0dHJpYnV0ZWQg
dG8gbGF0ZXIgdGVzdHMKIHdlYmtpdC5vcmcvYi85NDQ1OCBodHRwL3Rlc3RzL3NlY3VyaXR5L01l
c3NhZ2VQb3J0L2V2ZW50LWxpc3RlbmVyLWNvbnRleHQuaHRtbCBbIFNraXAgXQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>441604</attachid>
            <date>2021-10-18 08:20:42 -0700</date>
            <delta_ts>2021-10-18 08:20:42 -0700</delta_ts>
            <desc>Testcase that fails with top layer reparenting patch</desc>
            <filename>modal-dialog-always-visible.html</filename>
            <type>text/html</type>
            <size>477</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">Cjx0aXRsZT5kaWFsb2cgc2hvdWxkIGFsd2F5cyBiZSB2aXNpYmxlPC90aXRsZT4KPGxpbmsgcmVs
PSJtYXRjaCIgaHJlZj0ibW9kYWwtZGlhbG9nLWFsd2F5cy12aXNpYmxlLXJlZi5odG1sIj4KPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvZGlhbG9nLmNzcyI+CjxzdHlsZT4K
ZGlhbG9nIHsKICAgIGRpc3BsYXk6IGJsb2NrOwp9Cjwvc3R5bGU+Cgo8cD5QQVNTIGlmIHlvdSBz
ZWUgYSBkaWFsb2c8L3A+CjwhLS0gVXNlIHBzZXVkb2RpYWxvZyBzbyBvcGVuIHN0eWxlIGRvZXNu
J3QgY2hhbmdlIGJlY2F1c2Ugb2YgdGhlIFVBIHN0eWxlc2hlZXQgLS0+CjxkaWFsb2cgY2xhc3M9
InBzZXVkb2RpYWxvZyIgaWQ9ImRpYWxvZyI+CiAgICBEaWFsb2cgY29udGVudHMKPC9kaWFsb2c+
Cgo8c2NyaXB0PgovLyBkaWFsb2cub2Zmc2V0VG9wOyAvLyBGb3JjZSBsYXlvdXQKZGlhbG9nLnNo
b3dNb2RhbCgpOwo8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443512</attachid>
            <date>2021-11-07 10:15:50 -0800</date>
            <delta_ts>2021-12-06 09:12:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231292-20211107181549.patch</filename>
            <type>text/plain</type>
            <size>9759</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAppbmRleCA2MjMzYjVjYzU2ZmI5ODdmNjBkYzY2OWE3ODU0NThlNzI3ZGIyOGY1
Li5iZDIyZDI1N2RmNDQxYWZlMjBkZmJhZDlmNmRkNjliOWNjYTA2NjllIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTk0Niw3ICs5NDYsNyBAQCB2b2lkIFJl
bmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyTGF5b3V0KGJvb2wgaXNSZWxheW91
dGluZ1N1YnRyZWUsIGJvbwogICAgIExPRyhDb21wb3NpdGluZywgIlJlbmRlckxheWVyICVwIHVw
ZGF0ZUxheWVyUG9zaXRpb25zQWZ0ZXJMYXlvdXQiLCB0aGlzKTsKICAgICBSZW5kZXJHZW9tZXRy
eU1hcCBnZW9tZXRyeU1hcChVc2VUcmFuc2Zvcm1zKTsKICAgICBpZiAoIWlzUmVuZGVyVmlld0xh
eWVyKCkpCi0gICAgICAgIGdlb21ldHJ5TWFwLnB1c2hNYXBwaW5nc1RvQW5jZXN0b3IocGFyZW50
KCksIG51bGxwdHIpOworICAgICAgICBnZW9tZXRyeU1hcC5wdXNoTWFwcGluZ3NUb0FuY2VzdG9y
KGVuY2xvc2luZ0xheWVySW5Db250YWluaW5nQmxvY2tPcmRlcigpLCBudWxscHRyKTsKIAogICAg
IHVwZGF0ZUxheWVyUG9zaXRpb25zKCZnZW9tZXRyeU1hcCwgdXBkYXRlTGF5ZXJQb3NpdGlvbkZs
YWdzKGlzUmVsYXlvdXRpbmdTdWJ0cmVlLCBkaWRGdWxsUmVwYWludCkpOwogfQpAQCAtOTU4LDcg
Kzk1OCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb25zKFJlbmRlckdl
b21ldHJ5TWFwKiBnZW9tZXRyeU1hcCwgT3B0aW9uU2V0CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFy
ZWEtPmFwcGx5UG9zdExheW91dFNjcm9sbFBvc2l0aW9uSWZOZWVkZWQoKTsKIAogICAgIGlmIChn
ZW9tZXRyeU1hcCkKLSAgICAgICAgZ2VvbWV0cnlNYXAtPnB1c2hNYXBwaW5nc1RvQW5jZXN0b3Io
dGhpcywgcGFyZW50KCkpOworICAgICAgICBnZW9tZXRyeU1hcC0+cHVzaE1hcHBpbmdzVG9BbmNl
c3Rvcih0aGlzLCBlbmNsb3NpbmdMYXllckluQ29udGFpbmluZ0Jsb2NrT3JkZXIoKSk7CiAKICAg
ICAvLyBDbGVhciBvdXIgY2FjaGVkIGNsaXAgcmVjdCBpbmZvcm1hdGlvbi4KICAgICBjbGVhckNs
aXBSZWN0cygpOwpAQCAtMTE3NSw3ICsxMTc1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRl
TGF5ZXJQb3NpdGlvbnNBZnRlclNjcm9sbChSZW5kZXJHZW9tZXRyeU1hcCogZ2VvbWV0cnlNYXAK
ICAgICBib29sIGlzVmlzdWFsbHlFbXB0eSA9ICFpc1Zpc3VhbGx5Tm9uRW1wdHkoKTsKICAgICBi
b29sIHNob3VsZFB1c2hBbmRQb3BNYXBwaW5ncyA9IGdlb21ldHJ5TWFwICYmICgoc2hvdWxkQ29t
cHV0ZVJlcGFpbnRSZWN0cyAmJiAhaXNWaXN1YWxseUVtcHR5KSB8fCBmaXJzdENoaWxkKCkpOwog
ICAgIGlmIChzaG91bGRQdXNoQW5kUG9wTWFwcGluZ3MpCi0gICAgICAgIGdlb21ldHJ5TWFwLT5w
dXNoTWFwcGluZ3NUb0FuY2VzdG9yKHRoaXMsIHBhcmVudCgpKTsKKyAgICAgICAgZ2VvbWV0cnlN
YXAtPnB1c2hNYXBwaW5nc1RvQW5jZXN0b3IodGhpcywgZW5jbG9zaW5nTGF5ZXJJbkNvbnRhaW5p
bmdCbG9ja09yZGVyKCkpOwogCiAgICAgaWYgKHNob3VsZENvbXB1dGVSZXBhaW50UmVjdHMpIHsK
ICAgICAgICAgLy8gV2hlbiBzY3JvbGxpbmcsIHdlIGRvbid0IGNvbXB1dGUgcmVwYWludCByZWN0
cyBmb3IgdmlzdWFsbHkgbm9uLWVtcHR5IGxheWVycy4KQEAgLTE3NjgsOCArMTc2OCwxMSBAQCBG
bG9hdFBvaW50IFJlbmRlckxheWVyOjpwZXJzcGVjdGl2ZU9yaWdpbigpIGNvbnN0CiAgICAgcmV0
dXJuIGZsb2F0UG9pbnRGb3JMZW5ndGhQb2ludChyZW5kZXJlcigpLnN0eWxlKCkucGVyc3BlY3Rp
dmVPcmlnaW4oKSwgYm9yZGVyQm94LnNpemUoKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBp
c0NvbnRhaW5lckZvclBvc2l0aW9uZWQoUmVuZGVyTGF5ZXImIGxheWVyLCBQb3NpdGlvblR5cGUg
cG9zaXRpb24pCitzdGF0aWMgaW5saW5lIGJvb2wgaXNDb250YWluZXJGb3JQb3NpdGlvbmVkKFJl
bmRlckxheWVyJiBsYXllciwgUG9zaXRpb25UeXBlIHBvc2l0aW9uLCBib29sIGVzdGFibGlzaGVz
VG9wTGF5ZXIpCiB7CisgICAgaWYgKGVzdGFibGlzaGVzVG9wTGF5ZXIpCisgICAgICAgIHJldHVy
biBsYXllci5pc1JlbmRlclZpZXdMYXllcigpOworCiAgICAgc3dpdGNoIChwb3NpdGlvbikgewog
ICAgIGNhc2UgUG9zaXRpb25UeXBlOjpGaXhlZDoKICAgICAgICAgcmV0dXJuIGxheWVyLnJlbmRl
cmVyKCkuY2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCk7CkBAIC0xODA2LDcgKzE4MDks
NyBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6OmVuY2xvc2luZ0FuY2VzdG9yRm9yUG9zaXRp
b24oUG9zaXRpb25UeXBlIHBvc2l0aW9uKSBjbwogICAgICAgICByZXR1cm4gcmVuZGVyZXIoKS52
aWV3KCkubGF5ZXIoKTsKIAogICAgIFJlbmRlckxheWVyKiBjdXJyID0gcGFyZW50KCk7Ci0gICAg
d2hpbGUgKGN1cnIgJiYgIWlzQ29udGFpbmVyRm9yUG9zaXRpb25lZCgqY3VyciwgcG9zaXRpb24p
KQorICAgIHdoaWxlIChjdXJyICYmICFpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnIsIHBv
c2l0aW9uLCBlc3RhYmxpc2hlc1RvcExheWVyKCkpKQogICAgICAgICBjdXJyID0gY3Vyci0+cGFy
ZW50KCk7CiAKICAgICByZXR1cm4gY3VycjsKQEAgLTIyOTYsNyArMjI5OSw3IEBAIHN0YXRpYyBp
bmxpbmUgY29uc3QgUmVuZGVyTGF5ZXIqIGFjY3VtdWxhdGVPZmZzZXRUb3dhcmRzQW5jZXN0b3Io
Y29uc3QgUmVuZGVyTGF5CiAgICAgICAgICAgICBpZiAoY3VyckxheWVyID09IGFuY2VzdG9yTGF5
ZXIpCiAgICAgICAgICAgICAgICAgZm91bmRBbmNlc3RvciA9IHRydWU7CiAKLSAgICAgICAgICAg
IGlmIChpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnJMYXllciwgUG9zaXRpb25UeXBlOjpG
aXhlZCkpIHsKKyAgICAgICAgICAgIGlmIChpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnJM
YXllciwgUG9zaXRpb25UeXBlOjpGaXhlZCwgbGF5ZXItPmVzdGFibGlzaGVzVG9wTGF5ZXIoKSkp
IHsKICAgICAgICAgICAgICAgICBmaXhlZFBvc2l0aW9uQ29udGFpbmVyTGF5ZXIgPSBjdXJyTGF5
ZXI7CiAgICAgICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChmb3VuZEFuY2VzdG9yLCBmb3VuZEFu
Y2VzdG9yKTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTIzMzUsNyArMjMzOCw3IEBAIHN0
YXRpYyBpbmxpbmUgY29uc3QgUmVuZGVyTGF5ZXIqIGFjY3VtdWxhdGVPZmZzZXRUb3dhcmRzQW5j
ZXN0b3IoY29uc3QgUmVuZGVyTGF5CiAgICAgICAgICAgICAvLyBSZW5kZXJGcmFnbWVudGVkRmxv
dyBpcyBhIHBvc2l0aW9uZWQgY29udGFpbmVyLCBjaGlsZCBvZiBSZW5kZXJWaWV3LCBwb3NpdGlv
bmVkIGF0ICgwLDApLgogICAgICAgICAgICAgLy8gVGhpcyBpbXBsaWVzIHRoYXQsIGZvciBvdXQt
b2YtZmxvdyBwb3NpdGlvbmVkIGVsZW1lbnRzIGluc2lkZSBhIFJlbmRlckZyYWdtZW50ZWRGbG93
LAogICAgICAgICAgICAgLy8gd2UgYXJlIGJhaWxpbmcgb3V0IGJlZm9yZSByZWFjaGluZyByb290
IGxheWVyLgotICAgICAgICAgICAgaWYgKGlzQ29udGFpbmVyRm9yUG9zaXRpb25lZCgqcGFyZW50
TGF5ZXIsIHBvc2l0aW9uKSkKKyAgICAgICAgICAgIGlmIChpc0NvbnRhaW5lckZvclBvc2l0aW9u
ZWQoKnBhcmVudExheWVyLCBwb3NpdGlvbiwgbGF5ZXItPmVzdGFibGlzaGVzVG9wTGF5ZXIoKSkp
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgICAgIGlmIChwYXJlbnRMYXllciA9
PSBhbmNlc3RvckxheWVyKSB7CkBAIC00NTA1LDcgKzQ1MDgsNyBAQCB2b2lkIFJlbmRlckxheWVy
OjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29u
dGV4dCwgQwogICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoY2xpcFJlY3RzLm92ZXJm
bG93Q2xpcFJlY3QoKSk7CiAgICAgZWxzZSBpZiAocmVuZGVyZXIoKS5pc0Fic29sdXRlbHlQb3Np
dGlvbmVkKCkpCiAgICAgICAgIGNsaXBSZWN0cy5zZXRPdmVyZmxvd0NsaXBSZWN0KGNsaXBSZWN0
cy5wb3NDbGlwUmVjdCgpKTsKLSAgICAKKwogICAgIC8vIFVwZGF0ZSB0aGUgY2xpcCByZWN0cyB0
aGF0IHdpbGwgYmUgcGFzc2VkIHRvIGNoaWxkIGxheWVycy4KICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogICAgIGlmIChyZW5kZXJlcigpLmhhc0NsaXBPck5vblZpc2libGVPdmVyZmxvdygpICYm
IChjbGlwUmVjdHNDb250ZXh0LnJlc3BlY3RPdmVyZmxvd0NsaXAgPT0gUmVzcGVjdE92ZXJmbG93
Q2xpcCB8fCB0aGlzICE9IGNsaXBSZWN0c0NvbnRleHQucm9vdExheWVyKSkgewpAQCAtNDU0Mywx
MSArNDU0NiwxMyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3Qg
Q2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwogCiBSZWY8Q2xpcFJlY3RzPiBS
ZW5kZXJMYXllcjo6cGFyZW50Q2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBS
ZWN0c0NvbnRleHQpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKHBhcmVudCgpKTsKIAotICAgIGF1dG8g
dGVtcG9yYXJ5UGFyZW50Q2xpcFJlY3RzID0gWyZdKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNs
aXBDb250ZXh0KSB7CisgICAgQVNTRVJUKHBhcmVudCgpIHx8IGVzdGFibGlzaGVzVG9wTGF5ZXIo
KSk7CisKKyAgICBhdXRvIHBhcmVudExheWVyID0gZXN0YWJsaXNoZXNUb3BMYXllcigpID8gcmVu
ZGVyZXIoKS52aWV3KCkubGF5ZXIoKSA6IHBhcmVudCgpOworICAgIGF1dG8gdGVtcG9yYXJ5UGFy
ZW50Q2xpcFJlY3RzID0gWyYsIHBhcmVudExheWVyXShjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBj
bGlwQ29udGV4dCkgewogICAgICAgICBhdXRvIHBhcmVudENsaXBSZWN0cyA9IENsaXBSZWN0czo6
Y3JlYXRlKCk7Ci0gICAgICAgIHBhcmVudCgpLT5jYWxjdWxhdGVDbGlwUmVjdHMoY2xpcENvbnRl
eHQsIHBhcmVudENsaXBSZWN0cyk7CisgICAgICAgIHBhcmVudExheWVyLT5jYWxjdWxhdGVDbGlw
UmVjdHMoY2xpcENvbnRleHQsIHBhcmVudENsaXBSZWN0cyk7CiAgICAgICAgIHJldHVybiBwYXJl
bnRDbGlwUmVjdHM7CiAgICAgfTsKIApAQCAtNDU2MCw3ICs0NTY1LDcgQEAgUmVmPENsaXBSZWN0
cz4gUmVuZGVyTGF5ZXI6OnBhcmVudENsaXBSZWN0cyhjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBj
bGlwUmVjdHNDb24KICAgICAgICAgcmV0dXJuIHRlbXBvcmFyeVBhcmVudENsaXBSZWN0cyh0ZW1w
Q2xpcFJlY3RzQ29udGV4dCk7CiAgICAgfQogCi0gICAgcmV0dXJuIHBhcmVudCgpLT51cGRhdGVD
bGlwUmVjdHMoY2xpcFJlY3RzQ29udGV4dCk7CisgICAgcmV0dXJuIHBhcmVudExheWVyLT51cGRh
dGVDbGlwUmVjdHMoY2xpcFJlY3RzQ29udGV4dCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgQ2xpcFJl
Y3QgYmFja2dyb3VuZENsaXBSZWN0Rm9yUG9zaXRpb24oY29uc3QgQ2xpcFJlY3RzJiBwYXJlbnRS
ZWN0cywgUG9zaXRpb25UeXBlIHBvc2l0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IDFkZDJjN2M0OTYy
NGNlZmMwYTYzNTU2NGM2N2UxOWFhYzZiYzYwNzcuLjI2YTYzNzg1MTYyMTY1OGFmZTM1MGZmNjhm
OGJkZDZiN2Y3OTJhYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTE4MTgsNyArMTgxOCw3IEBAIHZvaWQg
UmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTo6dXBkYXRlTGF5ZXJQb3NpdGlvbnNBZnRlck92ZXJm
bG93U2Nyb2xsKCkKIHsKICAgICBSZW5kZXJHZW9tZXRyeU1hcCBnZW9tZXRyeU1hcChVc2VUcmFu
c2Zvcm1zKTsKICAgICBpZiAoJm1fbGF5ZXIgIT0gbV9sYXllci5yZW5kZXJlcigpLnZpZXcoKS5s
YXllcigpKQotICAgICAgICBnZW9tZXRyeU1hcC5wdXNoTWFwcGluZ3NUb0FuY2VzdG9yKG1fbGF5
ZXIucGFyZW50KCksIG51bGxwdHIpOworICAgICAgICBnZW9tZXRyeU1hcC5wdXNoTWFwcGluZ3NU
b0FuY2VzdG9yKG1fbGF5ZXIuZW5jbG9zaW5nTGF5ZXJJbkNvbnRhaW5pbmdCbG9ja09yZGVyKCks
IG51bGxwdHIpOwogCiAgICAgLy8gRklYTUU6IHdoeSBpcyBpdCBPSyB0byBub3QgY2hlY2sgdGhl
IGFuY2VzdG9ycyBvZiB0aGlzIGxheWVyIGluIG9yZGVyIHRvCiAgICAgLy8gaW5pdGlhbGl6ZSB0
aGUgSGFzU2VlblZpZXdwb3J0Q29uc3RyYWluZWRBbmNlc3RvciBhbmQgSGFzU2VlbkFuY2VzdG9y
V2l0aE92ZXJmbG93Q2xpcCBmbGFncz8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKaW5kZXggZmI5MTkwYWI1YTU3ZGIxNzcxZjBlOTNkMjI1Njg5ZWRiNTFkM2E3Ni4u
MTM5YjY2ZDJmYTg5MGVhNzc3ZWU4MWZlZjRlZjA2NGFiZDM1ZDQ4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTY1OCw4ICs2NTgsOSBAQCB2b2lkIFJl
bmRlck9iamVjdDo6c2V0TGF5ZXJOZWVkc0Z1bGxSZXBhaW50Rm9yUG9zaXRpb25lZE1vdmVtZW50
TGF5b3V0KCkKIAogUmVuZGVyQmxvY2sqIFJlbmRlck9iamVjdDo6Y29udGFpbmluZ0Jsb2NrKCkg
Y29uc3QKIHsKLSAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja0ZvclJlbmRlcmVyID0gW10oY29uc3Qg
UmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCi0gICAgeworICAgIGF1dG8gY29udGFpbmluZ0Jsb2Nr
Rm9yUmVuZGVyZXIgPSBbXShjb25zdCBhdXRvJiByZW5kZXJlcikgLT4gUmVuZGVyQmxvY2sqIHsK
KyAgICAgICAgaWYgKGlzSW5Ub3BMYXllck9yQmFja2Ryb3AocmVuZGVyZXIuc3R5bGUoKSwgcmVu
ZGVyZXIuZWxlbWVudCgpKSkKKyAgICAgICAgICAgIHJldHVybiAmcmVuZGVyZXIudmlldygpOwog
ICAgICAgICBpZiAocmVuZGVyZXIuaXNBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAgICAg
ICAgcmV0dXJuIHJlbmRlcmVyLmNvbnRhaW5pbmdCbG9ja0ZvckFic29sdXRlUG9zaXRpb24oKTsK
ICAgICAgICAgaWYgKHJlbmRlcmVyLmlzRml4ZWRQb3NpdGlvbmVkKCkpCkBAIC0xNDY5LDYgKzE0
NzAsOCBAQCBzdGF0aWMgaW5saW5lIFJlbmRlckVsZW1lbnQqIGNvbnRhaW5lckZvckVsZW1lbnQo
Y29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgYwogICAgIC8vIFRoaXMgZG9lcyBtZWFuIHRo
YXQgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGggYW5kIGNvbXB1dGVQb3NpdGlvbmVkTG9n
aWNhbEhlaWdodCBoYXZlIHRvIHVzZSBjb250YWluZXIoKS4KICAgICBpZiAoIWlzPFJlbmRlckVs
ZW1lbnQ+KHJlbmRlcmVyKSkKICAgICAgICAgcmV0dXJuIHJlbmRlcmVyLnBhcmVudCgpOworICAg
IGlmIChpc0luVG9wTGF5ZXJPckJhY2tkcm9wKHJlbmRlcmVyLnN0eWxlKCksIGRvd25jYXN0PFJl
bmRlckVsZW1lbnQ+KHJlbmRlcmVyKS5lbGVtZW50KCkpKQorICAgICAgICByZXR1cm4gJnJlbmRl
cmVyLnZpZXcoKTsKICAgICBhdXRvIHBvc2l0aW9uID0gcmVuZGVyZXIuc3R5bGUoKS5wb3NpdGlv
bigpOwogICAgIGlmIChwb3NpdGlvbiA9PSBQb3NpdGlvblR5cGU6OlN0YXRpYyB8fCBwb3NpdGlv
biA9PSBQb3NpdGlvblR5cGU6OlJlbGF0aXZlIHx8IHBvc2l0aW9uID09IFBvc2l0aW9uVHlwZTo6
U3RpY2t5KQogICAgICAgICByZXR1cm4gcmVuZGVyZXIucGFyZW50KCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA4YTRjMjU2YzJjMTRmNTNkY2EyZDEwNGIxY2JkY2M5NGVhMjhhMTljLi5mZDUwZDcw
Mzg3OGU3NmUwOThhYmRiZDk5N2Q0MWExY2IxMGQ2YmYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTIzMjEsMTEgKzIzMjEsNiBAQCBmYXN0L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVu
ZGVyTGF5ZXItZm9yLWlucHV0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlCiAjIFRvcCBsYXllciB0
ZXN0cwogd2Via2l0Lm9yZy9iLzIyOTMxNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9t
b2RhbC1kaWFsb2ctaW4tcmVwbGFjZWQtcmVuZGVyZXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIyOTMxNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9tb2Rh
bC1kaWFsb2ctaW4tdGFibGUtY29sdW1uLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi8yMzEyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvdG9wLWxheWVyLWNv
bnRhaW5pbmctYmxvY2suaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIz
MTI5MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVy
YWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC90b3AtbGF5ZXItc3RhY2tpbmcuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIzMTI5MiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3Ro
ZS1kaWFsb2ctZWxlbWVudC90b3AtbGF5ZXItcGFyZW50LW92ZXJmbG93LWNsaXAuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIzMTI5MiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFs
b2ctZWxlbWVudC90b3AtbGF5ZXItcGFyZW50LW92ZXJmbG93LXNjcm9sbC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1l
bGVtZW50L3RvcC1sYXllci1wYXJlbnQtdHJhbnNmb3JtLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIAogIyBBc3NlcnRpb24gZmFpbHVyZSBpbiBNZXNzYWdlUG9ydDo6Y29udGV4dERlc3Ryb3ll
ZCwgdXN1YWxseSBhdHRyaWJ1dGVkIHRvIGxhdGVyIHRlc3RzCiB3ZWJraXQub3JnL2IvOTQ0NTgg
aHR0cC90ZXN0cy9zZWN1cml0eS9NZXNzYWdlUG9ydC9ldmVudC1saXN0ZW5lci1jb250ZXh0Lmh0
bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446043</attachid>
            <date>2021-12-06 09:12:19 -0800</date>
            <delta_ts>2021-12-06 09:31:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231292-20211206181218.patch</filename>
            <type>text/plain</type>
            <size>11947</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAKaW5kZXggNTQ2M2RmNDQzN2E4MTlmNTBkMzE0MjFmYTk5OTJjN2UzOWZh
MGViMy4uNzc1MjZiZmJkOGYxNGM5MDgxNzg4MjNiZDc0N2E5Mzg5MGU4NWU4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtNjQzLDYgKzY0Myw5IEBA
IHN0YXRpYyBpbmxpbmUgUmVuZGVyQmxvY2sqIG5lYXJlc3ROb25Bbm9ueW1vdXNDb250YWluaW5n
QmxvY2tJbmNsdWRpbmdTZWxmKFJlbmRlCiAKIFJlbmRlckJsb2NrKiBSZW5kZXJFbGVtZW50Ojpj
b250YWluaW5nQmxvY2tGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3QKIHsKKyAgICBpZiAoaXNJblRv
cExheWVyT3JCYWNrZHJvcChzdHlsZSgpLCBlbGVtZW50KCkpKQorICAgICAgICByZXR1cm4gJnZp
ZXcoKTsKKwogICAgIGF1dG8qIGFuY2VzdG9yID0gcGFyZW50KCk7CiAgICAgd2hpbGUgKGFuY2Vz
dG9yICYmICFhbmNlc3Rvci0+Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCkpCiAgICAg
ICAgIGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpOwpAQCAtNjUxLDYgKzY1NCw5IEBAIFJl
bmRlckJsb2NrKiBSZW5kZXJFbGVtZW50Ojpjb250YWluaW5nQmxvY2tGb3JGaXhlZFBvc2l0aW9u
KCkgY29uc3QKIAogUmVuZGVyQmxvY2sqIFJlbmRlckVsZW1lbnQ6OmNvbnRhaW5pbmdCbG9ja0Zv
ckFic29sdXRlUG9zaXRpb24oKSBjb25zdAogeworICAgIGlmIChpc0luVG9wTGF5ZXJPckJhY2tk
cm9wKHN0eWxlKCksIGVsZW1lbnQoKSkpCisgICAgICAgIHJldHVybiAmdmlldygpOworCiAgICAg
aWYgKGlzPFJlbmRlcklubGluZT4oKnRoaXMpICYmIHN0eWxlKCkucG9zaXRpb24oKSA9PSBQb3Np
dGlvblR5cGU6OlJlbGF0aXZlKSB7CiAgICAgICAgIC8vIEEgcmVsYXRpdmVseSBwb3NpdGlvbmVk
IFJlbmRlcklubGluZSBmb3J3YXJkcyBpdHMgYWJzb2x1dGUgcG9zaXRpb25lZCBkZXNjZW5kYW50
cyB0bwogICAgICAgICAvLyBpdHMgbmVhcmVzdCBub24tYW5vbnltb3VzIGNvbnRhaW5pbmcgYmxv
Y2sgKHRvIGF2b2lkIGhhdmluZyBwb3NpdGlvbmVkIG9iamVjdHMgbGlzdCBpbiBSZW5kZXJJbmxp
bmVzKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHZW9tZXRy
eU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR2VvbWV0cnlNYXAuY3Bw
CmluZGV4IDIyMThjMGNkNzBkZjUyNjExOWZmYTI5NWU4YmNiNzc3OTQ0Y2Y4ODYuLjIxNGM3Yzhm
MzY4OWY1MTllYWUzZWNiM2YyZGVmY2Q1OTdkYjVhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJHZW9tZXRyeU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdlb21ldHJ5TWFwLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbmRlckdlb21ldHJ5TWFwLmgiCiAKKyNpbmNsdWRl
ICJFbGVtZW50SW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRlckZyYWdtZW50ZWRGbG93LmgiCiAj
aW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCkBAIC0xNTIs
NyArMTUzLDEwIEBAIHN0YXRpYyBib29sIGNhbk1hcEJldHdlZW5SZW5kZXJlcnNWaWFMYXllcnMo
Y29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYgcmVuZGVyCiAKICAgICAgICAgaWYgKGN1cnJl
bnQtPmhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpICYmIChzdHlsZS5oYXNUcmFuc2Zvcm0o
KSB8fCBzdHlsZS50cmFuc2xhdGUoKSB8fCBzdHlsZS5zY2FsZSgpIHx8IHN0eWxlLnJvdGF0ZSgp
IHx8IHN0eWxlLmhhc1BlcnNwZWN0aXZlKCkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICAKKworICAgICAgICBpZiAoaXNJblRvcExheWVyT3JCYWNrZHJvcChzdHlsZSwgY3Vy
cmVudC0+ZWxlbWVudCgpKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBp
ZiAoY3VycmVudC0+aXNSZW5kZXJGcmFnbWVudGVkRmxvdygpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBh
YzZmZTVkYjYyZmIxYTA3YTcyYzZjNWJmMWE2N2Q1OTE3YzY0N2Y5Li5iZTNjMDMzZDViMmIxODIx
ZjI4NzAwNWFmMGQ0Njg5ZTQ3Y2ZlOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKQEAgLTk0Nyw3ICs5NDcsNyBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVM
YXllclBvc2l0aW9uc0FmdGVyTGF5b3V0KGJvb2wgaXNSZWxheW91dGluZ1N1YnRyZWUsIGJvbwog
ICAgIExPRyhDb21wb3NpdGluZywgIlJlbmRlckxheWVyICVwIHVwZGF0ZUxheWVyUG9zaXRpb25z
QWZ0ZXJMYXlvdXQiLCB0aGlzKTsKICAgICBSZW5kZXJHZW9tZXRyeU1hcCBnZW9tZXRyeU1hcChV
c2VUcmFuc2Zvcm1zKTsKICAgICBpZiAoIWlzUmVuZGVyVmlld0xheWVyKCkpCi0gICAgICAgIGdl
b21ldHJ5TWFwLnB1c2hNYXBwaW5nc1RvQW5jZXN0b3IocGFyZW50KCksIG51bGxwdHIpOworICAg
ICAgICBnZW9tZXRyeU1hcC5wdXNoTWFwcGluZ3NUb0FuY2VzdG9yKGVzdGFibGlzaGVzVG9wTGF5
ZXIoKSA/IHJlbmRlcmVyKCkudmlldygpLmxheWVyKCkgOiBwYXJlbnQoKSwgbnVsbHB0cik7CiAK
ICAgICB1cGRhdGVMYXllclBvc2l0aW9ucygmZ2VvbWV0cnlNYXAsIHVwZGF0ZUxheWVyUG9zaXRp
b25GbGFncyhpc1JlbGF5b3V0aW5nU3VidHJlZSwgZGlkRnVsbFJlcGFpbnQpKTsKIH0KQEAgLTk1
OSw3ICs5NTksNyBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9ucyhSZW5k
ZXJHZW9tZXRyeU1hcCogZ2VvbWV0cnlNYXAsIE9wdGlvblNldAogICAgICAgICBtX3Njcm9sbGFi
bGVBcmVhLT5hcHBseVBvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbklmTmVlZGVkKCk7CiAKICAgICBp
ZiAoZ2VvbWV0cnlNYXApCi0gICAgICAgIGdlb21ldHJ5TWFwLT5wdXNoTWFwcGluZ3NUb0FuY2Vz
dG9yKHRoaXMsIHBhcmVudCgpKTsKKyAgICAgICAgZ2VvbWV0cnlNYXAtPnB1c2hNYXBwaW5nc1Rv
QW5jZXN0b3IodGhpcywgZXN0YWJsaXNoZXNUb3BMYXllcigpID8gcmVuZGVyZXIoKS52aWV3KCku
bGF5ZXIoKSA6IHBhcmVudCgpKTsKIAogICAgIC8vIENsZWFyIG91ciBjYWNoZWQgY2xpcCByZWN0
IGluZm9ybWF0aW9uLgogICAgIGNsZWFyQ2xpcFJlY3RzKCk7CkBAIC0xMTgxLDcgKzExODEsNyBA
QCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyU2Nyb2xsKFJlbmRl
ckdlb21ldHJ5TWFwKiBnZW9tZXRyeU1hcAogICAgIGJvb2wgaXNWaXN1YWxseUVtcHR5ID0gIWlz
VmlzdWFsbHlOb25FbXB0eSgpOwogICAgIGJvb2wgc2hvdWxkUHVzaEFuZFBvcE1hcHBpbmdzID0g
Z2VvbWV0cnlNYXAgJiYgKChzaG91bGRDb21wdXRlUmVwYWludFJlY3RzICYmICFpc1Zpc3VhbGx5
RW1wdHkpIHx8IGZpcnN0Q2hpbGQoKSk7CiAgICAgaWYgKHNob3VsZFB1c2hBbmRQb3BNYXBwaW5n
cykKLSAgICAgICAgZ2VvbWV0cnlNYXAtPnB1c2hNYXBwaW5nc1RvQW5jZXN0b3IodGhpcywgcGFy
ZW50KCkpOworICAgICAgICBnZW9tZXRyeU1hcC0+cHVzaE1hcHBpbmdzVG9BbmNlc3Rvcih0aGlz
LCBlc3RhYmxpc2hlc1RvcExheWVyKCkgPyByZW5kZXJlcigpLnZpZXcoKS5sYXllcigpIDogcGFy
ZW50KCkpOwogCiAgICAgaWYgKHNob3VsZENvbXB1dGVSZXBhaW50UmVjdHMpIHsKICAgICAgICAg
Ly8gV2hlbiBzY3JvbGxpbmcsIHdlIGRvbid0IGNvbXB1dGUgcmVwYWludCByZWN0cyBmb3Igdmlz
dWFsbHkgbm9uLWVtcHR5IGxheWVycy4KQEAgLTE3NzksOCArMTc3OSwxMSBAQCBGbG9hdFBvaW50
IFJlbmRlckxheWVyOjpwZXJzcGVjdGl2ZU9yaWdpbigpIGNvbnN0CiAgICAgcmV0dXJuIGZsb2F0
UG9pbnRGb3JMZW5ndGhQb2ludChyZW5kZXJlcigpLnN0eWxlKCkucGVyc3BlY3RpdmVPcmlnaW4o
KSwgYm9yZGVyQm94LnNpemUoKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc0NvbnRhaW5l
ckZvclBvc2l0aW9uZWQoUmVuZGVyTGF5ZXImIGxheWVyLCBQb3NpdGlvblR5cGUgcG9zaXRpb24p
CitzdGF0aWMgaW5saW5lIGJvb2wgaXNDb250YWluZXJGb3JQb3NpdGlvbmVkKFJlbmRlckxheWVy
JiBsYXllciwgUG9zaXRpb25UeXBlIHBvc2l0aW9uLCBib29sIGVzdGFibGlzaGVzVG9wTGF5ZXIp
CiB7CisgICAgaWYgKGVzdGFibGlzaGVzVG9wTGF5ZXIpCisgICAgICAgIHJldHVybiBsYXllci5p
c1JlbmRlclZpZXdMYXllcigpOworCiAgICAgc3dpdGNoIChwb3NpdGlvbikgewogICAgIGNhc2Ug
UG9zaXRpb25UeXBlOjpGaXhlZDoKICAgICAgICAgcmV0dXJuIGxheWVyLnJlbmRlcmVyKCkuY2Fu
Q29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCk7CkBAIC0xODE3LDcgKzE4MjAsNyBAQCBSZW5k
ZXJMYXllciogUmVuZGVyTGF5ZXI6OmVuY2xvc2luZ0FuY2VzdG9yRm9yUG9zaXRpb24oUG9zaXRp
b25UeXBlIHBvc2l0aW9uKSBjbwogICAgICAgICByZXR1cm4gcmVuZGVyZXIoKS52aWV3KCkubGF5
ZXIoKTsKIAogICAgIFJlbmRlckxheWVyKiBjdXJyID0gcGFyZW50KCk7Ci0gICAgd2hpbGUgKGN1
cnIgJiYgIWlzQ29udGFpbmVyRm9yUG9zaXRpb25lZCgqY3VyciwgcG9zaXRpb24pKQorICAgIHdo
aWxlIChjdXJyICYmICFpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnIsIHBvc2l0aW9uLCBl
c3RhYmxpc2hlc1RvcExheWVyKCkpKQogICAgICAgICBjdXJyID0gY3Vyci0+cGFyZW50KCk7CiAK
ICAgICByZXR1cm4gY3VycjsKQEAgLTIzMDcsNyArMjMxMCw3IEBAIHN0YXRpYyBpbmxpbmUgY29u
c3QgUmVuZGVyTGF5ZXIqIGFjY3VtdWxhdGVPZmZzZXRUb3dhcmRzQW5jZXN0b3IoY29uc3QgUmVu
ZGVyTGF5CiAgICAgICAgICAgICBpZiAoY3VyckxheWVyID09IGFuY2VzdG9yTGF5ZXIpCiAgICAg
ICAgICAgICAgICAgZm91bmRBbmNlc3RvciA9IHRydWU7CiAKLSAgICAgICAgICAgIGlmIChpc0Nv
bnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnJMYXllciwgUG9zaXRpb25UeXBlOjpGaXhlZCkpIHsK
KyAgICAgICAgICAgIGlmIChpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnJMYXllciwgUG9z
aXRpb25UeXBlOjpGaXhlZCwgbGF5ZXItPmVzdGFibGlzaGVzVG9wTGF5ZXIoKSkpIHsKICAgICAg
ICAgICAgICAgICBmaXhlZFBvc2l0aW9uQ29udGFpbmVyTGF5ZXIgPSBjdXJyTGF5ZXI7CiAgICAg
ICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChmb3VuZEFuY2VzdG9yLCBmb3VuZEFuY2VzdG9yKTsK
ICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTIzNDYsNyArMjM0OSw3IEBAIHN0YXRpYyBpbmxp
bmUgY29uc3QgUmVuZGVyTGF5ZXIqIGFjY3VtdWxhdGVPZmZzZXRUb3dhcmRzQW5jZXN0b3IoY29u
c3QgUmVuZGVyTGF5CiAgICAgICAgICAgICAvLyBSZW5kZXJGcmFnbWVudGVkRmxvdyBpcyBhIHBv
c2l0aW9uZWQgY29udGFpbmVyLCBjaGlsZCBvZiBSZW5kZXJWaWV3LCBwb3NpdGlvbmVkIGF0ICgw
LDApLgogICAgICAgICAgICAgLy8gVGhpcyBpbXBsaWVzIHRoYXQsIGZvciBvdXQtb2YtZmxvdyBw
b3NpdGlvbmVkIGVsZW1lbnRzIGluc2lkZSBhIFJlbmRlckZyYWdtZW50ZWRGbG93LAogICAgICAg
ICAgICAgLy8gd2UgYXJlIGJhaWxpbmcgb3V0IGJlZm9yZSByZWFjaGluZyByb290IGxheWVyLgot
ICAgICAgICAgICAgaWYgKGlzQ29udGFpbmVyRm9yUG9zaXRpb25lZCgqcGFyZW50TGF5ZXIsIHBv
c2l0aW9uKSkKKyAgICAgICAgICAgIGlmIChpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKnBhcmVu
dExheWVyLCBwb3NpdGlvbiwgbGF5ZXItPmVzdGFibGlzaGVzVG9wTGF5ZXIoKSkpCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgICAgIGlmIChwYXJlbnRMYXllciA9PSBhbmNlc3Rv
ckxheWVyKSB7CkBAIC00NTE3LDcgKzQ1MjAsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxh
dGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwog
ICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoY2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJl
Y3QoKSk7CiAgICAgZWxzZSBpZiAocmVuZGVyZXIoKS5pc0Fic29sdXRlbHlQb3NpdGlvbmVkKCkp
CiAgICAgICAgIGNsaXBSZWN0cy5zZXRPdmVyZmxvd0NsaXBSZWN0KGNsaXBSZWN0cy5wb3NDbGlw
UmVjdCgpKTsKLSAgICAKKwogICAgIC8vIFVwZGF0ZSB0aGUgY2xpcCByZWN0cyB0aGF0IHdpbGwg
YmUgcGFzc2VkIHRvIGNoaWxkIGxheWVycy4KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAg
IGlmIChyZW5kZXJlcigpLmhhc0NsaXBPck5vblZpc2libGVPdmVyZmxvdygpICYmIChjbGlwUmVj
dHNDb250ZXh0LnJlc3BlY3RPdmVyZmxvd0NsaXAgPT0gUmVzcGVjdE92ZXJmbG93Q2xpcCB8fCB0
aGlzICE9IGNsaXBSZWN0c0NvbnRleHQucm9vdExheWVyKSkgewpAQCAtNDU1OSwxMSArNDU2Miwx
MyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3Rz
Q29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwogCiBSZWY8Q2xpcFJlY3RzPiBSZW5kZXJMYXll
cjo6cGFyZW50Q2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRl
eHQpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKHBhcmVudCgpKTsKIAotICAgIGF1dG8gdGVtcG9yYXJ5
UGFyZW50Q2xpcFJlY3RzID0gWyZdKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBDb250ZXh0
KSB7CisgICAgQVNTRVJUKHBhcmVudCgpIHx8IGVzdGFibGlzaGVzVG9wTGF5ZXIoKSk7CisKKyAg
ICBhdXRvIHBhcmVudExheWVyID0gZXN0YWJsaXNoZXNUb3BMYXllcigpID8gcmVuZGVyZXIoKS52
aWV3KCkubGF5ZXIoKSA6IHBhcmVudCgpOworICAgIGF1dG8gdGVtcG9yYXJ5UGFyZW50Q2xpcFJl
Y3RzID0gWyYsIHBhcmVudExheWVyXShjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwQ29udGV4
dCkgewogICAgICAgICBhdXRvIHBhcmVudENsaXBSZWN0cyA9IENsaXBSZWN0czo6Y3JlYXRlKCk7
Ci0gICAgICAgIHBhcmVudCgpLT5jYWxjdWxhdGVDbGlwUmVjdHMoY2xpcENvbnRleHQsIHBhcmVu
dENsaXBSZWN0cyk7CisgICAgICAgIHBhcmVudExheWVyLT5jYWxjdWxhdGVDbGlwUmVjdHMoY2xp
cENvbnRleHQsIHBhcmVudENsaXBSZWN0cyk7CiAgICAgICAgIHJldHVybiBwYXJlbnRDbGlwUmVj
dHM7CiAgICAgfTsKIApAQCAtNDU3Niw3ICs0NTgxLDcgQEAgUmVmPENsaXBSZWN0cz4gUmVuZGVy
TGF5ZXI6OnBhcmVudENsaXBSZWN0cyhjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwUmVjdHND
b24KICAgICAgICAgcmV0dXJuIHRlbXBvcmFyeVBhcmVudENsaXBSZWN0cyh0ZW1wQ2xpcFJlY3Rz
Q29udGV4dCk7CiAgICAgfQogCi0gICAgcmV0dXJuIHBhcmVudCgpLT51cGRhdGVDbGlwUmVjdHMo
Y2xpcFJlY3RzQ29udGV4dCk7CisgICAgcmV0dXJuIHBhcmVudExheWVyLT51cGRhdGVDbGlwUmVj
dHMoY2xpcFJlY3RzQ29udGV4dCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgQ2xpcFJlY3QgYmFja2dy
b3VuZENsaXBSZWN0Rm9yUG9zaXRpb24oY29uc3QgQ2xpcFJlY3RzJiBwYXJlbnRSZWN0cywgUG9z
aXRpb25UeXBlIHBvc2l0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGZhMWFlYTQ0ODA0Y2I1MTkzYTA0
YjllOGVkNWI1MDAyMGMzY2FjZDYuLjRiNzkyN2E3NjA0NDRmNTE2NDg5ZDFlODJiMjU3NDc5NjJk
Y2UwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNj
cm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJTY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTE4MzIsNyArMTgzMiw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXJTY3JvbGxhYmxlQXJlYTo6dXBkYXRlTGF5ZXJQb3NpdGlvbnNBZnRlck92ZXJmbG93U2Nyb2xs
KCkKIHsKICAgICBSZW5kZXJHZW9tZXRyeU1hcCBnZW9tZXRyeU1hcChVc2VUcmFuc2Zvcm1zKTsK
ICAgICBpZiAoJm1fbGF5ZXIgIT0gbV9sYXllci5yZW5kZXJlcigpLnZpZXcoKS5sYXllcigpKQot
ICAgICAgICBnZW9tZXRyeU1hcC5wdXNoTWFwcGluZ3NUb0FuY2VzdG9yKG1fbGF5ZXIucGFyZW50
KCksIG51bGxwdHIpOworICAgICAgICBnZW9tZXRyeU1hcC5wdXNoTWFwcGluZ3NUb0FuY2VzdG9y
KG1fbGF5ZXIuZXN0YWJsaXNoZXNUb3BMYXllcigpID8gbV9sYXllci5yZW5kZXJlcigpLnZpZXco
KSA6IG1fbGF5ZXIucGFyZW50KCksIG51bGxwdHIpOwogCiAgICAgLy8gRklYTUU6IHdoeSBpcyBp
dCBPSyB0byBub3QgY2hlY2sgdGhlIGFuY2VzdG9ycyBvZiB0aGlzIGxheWVyIGluIG9yZGVyIHRv
CiAgICAgLy8gaW5pdGlhbGl6ZSB0aGUgSGFzU2VlblZpZXdwb3J0Q29uc3RyYWluZWRBbmNlc3Rv
ciBhbmQgSGFzU2VlbkFuY2VzdG9yV2l0aE92ZXJmbG93Q2xpcCBmbGFncz8KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggMTY4M2Y4NWM4NzZmY2U5ZjIzNTJh
YTdkYTYyYWY1ZjUxNjkxM2FiMi4uZmRmNmM0NjAxYWE5MTE4MGNiYjFmMzk0MGEwOGM2ZmVmNjU3
OWMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTY1
OCw4ICs2NTgsNyBAQCB2b2lkIFJlbmRlck9iamVjdDo6c2V0TGF5ZXJOZWVkc0Z1bGxSZXBhaW50
Rm9yUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0KCkKIAogUmVuZGVyQmxvY2sqIFJlbmRlck9iamVj
dDo6Y29udGFpbmluZ0Jsb2NrKCkgY29uc3QKIHsKLSAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja0Zv
clJlbmRlcmVyID0gW10oY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCi0gICAgeworICAg
IGF1dG8gY29udGFpbmluZ0Jsb2NrRm9yUmVuZGVyZXIgPSBbXShjb25zdCBhdXRvJiByZW5kZXJl
cikgLT4gUmVuZGVyQmxvY2sqIHsKICAgICAgICAgaWYgKHJlbmRlcmVyLmlzQWJzb2x1dGVseVBv
c2l0aW9uZWQoKSkKICAgICAgICAgICAgIHJldHVybiByZW5kZXJlci5jb250YWluaW5nQmxvY2tG
b3JBYnNvbHV0ZVBvc2l0aW9uKCk7CiAgICAgICAgIGlmIChyZW5kZXJlci5pc0ZpeGVkUG9zaXRp
b25lZCgpKQpAQCAtMTQ2OSw2ICsxNDY4LDggQEAgc3RhdGljIGlubGluZSBSZW5kZXJFbGVtZW50
KiBjb250YWluZXJGb3JFbGVtZW50KGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGMKICAg
ICAvLyBUaGlzIGRvZXMgbWVhbiB0aGF0IGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoIGFu
ZCBjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxIZWlnaHQgaGF2ZSB0byB1c2UgY29udGFpbmVyKCku
CiAgICAgaWYgKCFpczxSZW5kZXJFbGVtZW50PihyZW5kZXJlcikpCiAgICAgICAgIHJldHVybiBy
ZW5kZXJlci5wYXJlbnQoKTsKKyAgICBpZiAoaXNJblRvcExheWVyT3JCYWNrZHJvcChyZW5kZXJl
ci5zdHlsZSgpLCBkb3duY2FzdDxSZW5kZXJFbGVtZW50PihyZW5kZXJlcikuZWxlbWVudCgpKSkK
KyAgICAgICAgcmV0dXJuICZyZW5kZXJlci52aWV3KCk7CiAgICAgYXV0byBwb3NpdGlvbiA9IHJl
bmRlcmVyLnN0eWxlKCkucG9zaXRpb24oKTsKICAgICBpZiAocG9zaXRpb24gPT0gUG9zaXRpb25U
eXBlOjpTdGF0aWMgfHwgcG9zaXRpb24gPT0gUG9zaXRpb25UeXBlOjpSZWxhdGl2ZSB8fCBwb3Np
dGlvbiA9PSBQb3NpdGlvblR5cGU6OlN0aWNreSkKICAgICAgICAgcmV0dXJuIHJlbmRlcmVyLnBh
cmVudCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNjgxZTQ1ZTU0NmE4NzRiZjllNDhkN2JmN2M4
NDZjZDYyZjFmYjJhYS4uZTRjOGQzMzA4OWQ2MDc1ZDE0ZTZkZWRiNjk4ZGE2Y2QyM2RjMzIzMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMzA3LDExICsyMzA3LDYgQEAgZmFzdC9tdWx0aWNvbC9t
dWx0aWNvbC13aXRoLWNoaWxkLXJlbmRlckxheWVyLWZvci1pbnB1dC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZQogIyBUb3AgbGF5ZXIgdGVzdHMKIHdlYmtpdC5vcmcvYi8yMjkzMTUgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50
cy90aGUtZGlhbG9nLWVsZW1lbnQvbW9kYWwtZGlhbG9nLWluLXJlcGxhY2VkLXJlbmRlcmVyLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMjkzMTUgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvbW9kYWwtZGlhbG9nLWluLXRhYmxlLWNvbHVtbi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxv
Zy1lbGVtZW50L3RvcC1sYXllci1jb250YWluaW5nLWJsb2NrLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi8yMzEyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQv
dG9wLWxheWVyLXN0YWNraW5nLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcv
Yi8yMzEyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9p
bnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvdG9wLWxheWVyLXBhcmVudC1v
dmVyZmxvdy1jbGlwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMzEy
OTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvdG9wLWxheWVyLXBhcmVudC1vdmVyZmxv
dy1zY3JvbGwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIzMTI5MiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZl
LWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC90b3AtbGF5ZXItcGFyZW50LXRyYW5zZm9ybS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKICMgQXNzZXJ0aW9uIGZhaWx1cmUgaW4gTWVzc2Fn
ZVBvcnQ6OmNvbnRleHREZXN0cm95ZWQsIHVzdWFsbHkgYXR0cmlidXRlZCB0byBsYXRlciB0ZXN0
cwogd2Via2l0Lm9yZy9iLzk0NDU4IGh0dHAvdGVzdHMvc2VjdXJpdHkvTWVzc2FnZVBvcnQvZXZl
bnQtbGlzdGVuZXItY29udGV4dC5odG1sIFsgU2tpcCBdCg==
</data>
<flag name="commit-queue"
          id="471363"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446044</attachid>
            <date>2021-12-06 09:23:03 -0800</date>
            <delta_ts>2022-01-05 20:18:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231292-20211206182302.patch</filename>
            <type>text/plain</type>
            <size>11955</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAKaW5kZXggNTQ2M2RmNDQzN2E4MTlmNTBkMzE0MjFmYTk5OTJjN2UzOWZh
MGViMy4uNzc1MjZiZmJkOGYxNGM5MDgxNzg4MjNiZDc0N2E5Mzg5MGU4NWU4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtNjQzLDYgKzY0Myw5IEBA
IHN0YXRpYyBpbmxpbmUgUmVuZGVyQmxvY2sqIG5lYXJlc3ROb25Bbm9ueW1vdXNDb250YWluaW5n
QmxvY2tJbmNsdWRpbmdTZWxmKFJlbmRlCiAKIFJlbmRlckJsb2NrKiBSZW5kZXJFbGVtZW50Ojpj
b250YWluaW5nQmxvY2tGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3QKIHsKKyAgICBpZiAoaXNJblRv
cExheWVyT3JCYWNrZHJvcChzdHlsZSgpLCBlbGVtZW50KCkpKQorICAgICAgICByZXR1cm4gJnZp
ZXcoKTsKKwogICAgIGF1dG8qIGFuY2VzdG9yID0gcGFyZW50KCk7CiAgICAgd2hpbGUgKGFuY2Vz
dG9yICYmICFhbmNlc3Rvci0+Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCkpCiAgICAg
ICAgIGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpOwpAQCAtNjUxLDYgKzY1NCw5IEBAIFJl
bmRlckJsb2NrKiBSZW5kZXJFbGVtZW50Ojpjb250YWluaW5nQmxvY2tGb3JGaXhlZFBvc2l0aW9u
KCkgY29uc3QKIAogUmVuZGVyQmxvY2sqIFJlbmRlckVsZW1lbnQ6OmNvbnRhaW5pbmdCbG9ja0Zv
ckFic29sdXRlUG9zaXRpb24oKSBjb25zdAogeworICAgIGlmIChpc0luVG9wTGF5ZXJPckJhY2tk
cm9wKHN0eWxlKCksIGVsZW1lbnQoKSkpCisgICAgICAgIHJldHVybiAmdmlldygpOworCiAgICAg
aWYgKGlzPFJlbmRlcklubGluZT4oKnRoaXMpICYmIHN0eWxlKCkucG9zaXRpb24oKSA9PSBQb3Np
dGlvblR5cGU6OlJlbGF0aXZlKSB7CiAgICAgICAgIC8vIEEgcmVsYXRpdmVseSBwb3NpdGlvbmVk
IFJlbmRlcklubGluZSBmb3J3YXJkcyBpdHMgYWJzb2x1dGUgcG9zaXRpb25lZCBkZXNjZW5kYW50
cyB0bwogICAgICAgICAvLyBpdHMgbmVhcmVzdCBub24tYW5vbnltb3VzIGNvbnRhaW5pbmcgYmxv
Y2sgKHRvIGF2b2lkIGhhdmluZyBwb3NpdGlvbmVkIG9iamVjdHMgbGlzdCBpbiBSZW5kZXJJbmxp
bmVzKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHZW9tZXRy
eU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR2VvbWV0cnlNYXAuY3Bw
CmluZGV4IDIyMThjMGNkNzBkZjUyNjExOWZmYTI5NWU4YmNiNzc3OTQ0Y2Y4ODYuLjIxNGM3Yzhm
MzY4OWY1MTllYWUzZWNiM2YyZGVmY2Q1OTdkYjVhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJHZW9tZXRyeU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdlb21ldHJ5TWFwLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbmRlckdlb21ldHJ5TWFwLmgiCiAKKyNpbmNsdWRl
ICJFbGVtZW50SW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRlckZyYWdtZW50ZWRGbG93LmgiCiAj
aW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCkBAIC0xNTIs
NyArMTUzLDEwIEBAIHN0YXRpYyBib29sIGNhbk1hcEJldHdlZW5SZW5kZXJlcnNWaWFMYXllcnMo
Y29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYgcmVuZGVyCiAKICAgICAgICAgaWYgKGN1cnJl
bnQtPmhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpICYmIChzdHlsZS5oYXNUcmFuc2Zvcm0o
KSB8fCBzdHlsZS50cmFuc2xhdGUoKSB8fCBzdHlsZS5zY2FsZSgpIHx8IHN0eWxlLnJvdGF0ZSgp
IHx8IHN0eWxlLmhhc1BlcnNwZWN0aXZlKCkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICAKKworICAgICAgICBpZiAoaXNJblRvcExheWVyT3JCYWNrZHJvcChzdHlsZSwgY3Vy
cmVudC0+ZWxlbWVudCgpKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBp
ZiAoY3VycmVudC0+aXNSZW5kZXJGcmFnbWVudGVkRmxvdygpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBh
YzZmZTVkYjYyZmIxYTA3YTcyYzZjNWJmMWE2N2Q1OTE3YzY0N2Y5Li5iZTNjMDMzZDViMmIxODIx
ZjI4NzAwNWFmMGQ0Njg5ZTQ3Y2ZlOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKQEAgLTk0Nyw3ICs5NDcsNyBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVM
YXllclBvc2l0aW9uc0FmdGVyTGF5b3V0KGJvb2wgaXNSZWxheW91dGluZ1N1YnRyZWUsIGJvbwog
ICAgIExPRyhDb21wb3NpdGluZywgIlJlbmRlckxheWVyICVwIHVwZGF0ZUxheWVyUG9zaXRpb25z
QWZ0ZXJMYXlvdXQiLCB0aGlzKTsKICAgICBSZW5kZXJHZW9tZXRyeU1hcCBnZW9tZXRyeU1hcChV
c2VUcmFuc2Zvcm1zKTsKICAgICBpZiAoIWlzUmVuZGVyVmlld0xheWVyKCkpCi0gICAgICAgIGdl
b21ldHJ5TWFwLnB1c2hNYXBwaW5nc1RvQW5jZXN0b3IocGFyZW50KCksIG51bGxwdHIpOworICAg
ICAgICBnZW9tZXRyeU1hcC5wdXNoTWFwcGluZ3NUb0FuY2VzdG9yKGVzdGFibGlzaGVzVG9wTGF5
ZXIoKSA/IHJlbmRlcmVyKCkudmlldygpLmxheWVyKCkgOiBwYXJlbnQoKSwgbnVsbHB0cik7CiAK
ICAgICB1cGRhdGVMYXllclBvc2l0aW9ucygmZ2VvbWV0cnlNYXAsIHVwZGF0ZUxheWVyUG9zaXRp
b25GbGFncyhpc1JlbGF5b3V0aW5nU3VidHJlZSwgZGlkRnVsbFJlcGFpbnQpKTsKIH0KQEAgLTk1
OSw3ICs5NTksNyBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9ucyhSZW5k
ZXJHZW9tZXRyeU1hcCogZ2VvbWV0cnlNYXAsIE9wdGlvblNldAogICAgICAgICBtX3Njcm9sbGFi
bGVBcmVhLT5hcHBseVBvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbklmTmVlZGVkKCk7CiAKICAgICBp
ZiAoZ2VvbWV0cnlNYXApCi0gICAgICAgIGdlb21ldHJ5TWFwLT5wdXNoTWFwcGluZ3NUb0FuY2Vz
dG9yKHRoaXMsIHBhcmVudCgpKTsKKyAgICAgICAgZ2VvbWV0cnlNYXAtPnB1c2hNYXBwaW5nc1Rv
QW5jZXN0b3IodGhpcywgZXN0YWJsaXNoZXNUb3BMYXllcigpID8gcmVuZGVyZXIoKS52aWV3KCku
bGF5ZXIoKSA6IHBhcmVudCgpKTsKIAogICAgIC8vIENsZWFyIG91ciBjYWNoZWQgY2xpcCByZWN0
IGluZm9ybWF0aW9uLgogICAgIGNsZWFyQ2xpcFJlY3RzKCk7CkBAIC0xMTgxLDcgKzExODEsNyBA
QCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyU2Nyb2xsKFJlbmRl
ckdlb21ldHJ5TWFwKiBnZW9tZXRyeU1hcAogICAgIGJvb2wgaXNWaXN1YWxseUVtcHR5ID0gIWlz
VmlzdWFsbHlOb25FbXB0eSgpOwogICAgIGJvb2wgc2hvdWxkUHVzaEFuZFBvcE1hcHBpbmdzID0g
Z2VvbWV0cnlNYXAgJiYgKChzaG91bGRDb21wdXRlUmVwYWludFJlY3RzICYmICFpc1Zpc3VhbGx5
RW1wdHkpIHx8IGZpcnN0Q2hpbGQoKSk7CiAgICAgaWYgKHNob3VsZFB1c2hBbmRQb3BNYXBwaW5n
cykKLSAgICAgICAgZ2VvbWV0cnlNYXAtPnB1c2hNYXBwaW5nc1RvQW5jZXN0b3IodGhpcywgcGFy
ZW50KCkpOworICAgICAgICBnZW9tZXRyeU1hcC0+cHVzaE1hcHBpbmdzVG9BbmNlc3Rvcih0aGlz
LCBlc3RhYmxpc2hlc1RvcExheWVyKCkgPyByZW5kZXJlcigpLnZpZXcoKS5sYXllcigpIDogcGFy
ZW50KCkpOwogCiAgICAgaWYgKHNob3VsZENvbXB1dGVSZXBhaW50UmVjdHMpIHsKICAgICAgICAg
Ly8gV2hlbiBzY3JvbGxpbmcsIHdlIGRvbid0IGNvbXB1dGUgcmVwYWludCByZWN0cyBmb3Igdmlz
dWFsbHkgbm9uLWVtcHR5IGxheWVycy4KQEAgLTE3NzksOCArMTc3OSwxMSBAQCBGbG9hdFBvaW50
IFJlbmRlckxheWVyOjpwZXJzcGVjdGl2ZU9yaWdpbigpIGNvbnN0CiAgICAgcmV0dXJuIGZsb2F0
UG9pbnRGb3JMZW5ndGhQb2ludChyZW5kZXJlcigpLnN0eWxlKCkucGVyc3BlY3RpdmVPcmlnaW4o
KSwgYm9yZGVyQm94LnNpemUoKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc0NvbnRhaW5l
ckZvclBvc2l0aW9uZWQoUmVuZGVyTGF5ZXImIGxheWVyLCBQb3NpdGlvblR5cGUgcG9zaXRpb24p
CitzdGF0aWMgaW5saW5lIGJvb2wgaXNDb250YWluZXJGb3JQb3NpdGlvbmVkKFJlbmRlckxheWVy
JiBsYXllciwgUG9zaXRpb25UeXBlIHBvc2l0aW9uLCBib29sIGVzdGFibGlzaGVzVG9wTGF5ZXIp
CiB7CisgICAgaWYgKGVzdGFibGlzaGVzVG9wTGF5ZXIpCisgICAgICAgIHJldHVybiBsYXllci5p
c1JlbmRlclZpZXdMYXllcigpOworCiAgICAgc3dpdGNoIChwb3NpdGlvbikgewogICAgIGNhc2Ug
UG9zaXRpb25UeXBlOjpGaXhlZDoKICAgICAgICAgcmV0dXJuIGxheWVyLnJlbmRlcmVyKCkuY2Fu
Q29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCk7CkBAIC0xODE3LDcgKzE4MjAsNyBAQCBSZW5k
ZXJMYXllciogUmVuZGVyTGF5ZXI6OmVuY2xvc2luZ0FuY2VzdG9yRm9yUG9zaXRpb24oUG9zaXRp
b25UeXBlIHBvc2l0aW9uKSBjbwogICAgICAgICByZXR1cm4gcmVuZGVyZXIoKS52aWV3KCkubGF5
ZXIoKTsKIAogICAgIFJlbmRlckxheWVyKiBjdXJyID0gcGFyZW50KCk7Ci0gICAgd2hpbGUgKGN1
cnIgJiYgIWlzQ29udGFpbmVyRm9yUG9zaXRpb25lZCgqY3VyciwgcG9zaXRpb24pKQorICAgIHdo
aWxlIChjdXJyICYmICFpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnIsIHBvc2l0aW9uLCBl
c3RhYmxpc2hlc1RvcExheWVyKCkpKQogICAgICAgICBjdXJyID0gY3Vyci0+cGFyZW50KCk7CiAK
ICAgICByZXR1cm4gY3VycjsKQEAgLTIzMDcsNyArMjMxMCw3IEBAIHN0YXRpYyBpbmxpbmUgY29u
c3QgUmVuZGVyTGF5ZXIqIGFjY3VtdWxhdGVPZmZzZXRUb3dhcmRzQW5jZXN0b3IoY29uc3QgUmVu
ZGVyTGF5CiAgICAgICAgICAgICBpZiAoY3VyckxheWVyID09IGFuY2VzdG9yTGF5ZXIpCiAgICAg
ICAgICAgICAgICAgZm91bmRBbmNlc3RvciA9IHRydWU7CiAKLSAgICAgICAgICAgIGlmIChpc0Nv
bnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnJMYXllciwgUG9zaXRpb25UeXBlOjpGaXhlZCkpIHsK
KyAgICAgICAgICAgIGlmIChpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnJMYXllciwgUG9z
aXRpb25UeXBlOjpGaXhlZCwgbGF5ZXItPmVzdGFibGlzaGVzVG9wTGF5ZXIoKSkpIHsKICAgICAg
ICAgICAgICAgICBmaXhlZFBvc2l0aW9uQ29udGFpbmVyTGF5ZXIgPSBjdXJyTGF5ZXI7CiAgICAg
ICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChmb3VuZEFuY2VzdG9yLCBmb3VuZEFuY2VzdG9yKTsK
ICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTIzNDYsNyArMjM0OSw3IEBAIHN0YXRpYyBpbmxp
bmUgY29uc3QgUmVuZGVyTGF5ZXIqIGFjY3VtdWxhdGVPZmZzZXRUb3dhcmRzQW5jZXN0b3IoY29u
c3QgUmVuZGVyTGF5CiAgICAgICAgICAgICAvLyBSZW5kZXJGcmFnbWVudGVkRmxvdyBpcyBhIHBv
c2l0aW9uZWQgY29udGFpbmVyLCBjaGlsZCBvZiBSZW5kZXJWaWV3LCBwb3NpdGlvbmVkIGF0ICgw
LDApLgogICAgICAgICAgICAgLy8gVGhpcyBpbXBsaWVzIHRoYXQsIGZvciBvdXQtb2YtZmxvdyBw
b3NpdGlvbmVkIGVsZW1lbnRzIGluc2lkZSBhIFJlbmRlckZyYWdtZW50ZWRGbG93LAogICAgICAg
ICAgICAgLy8gd2UgYXJlIGJhaWxpbmcgb3V0IGJlZm9yZSByZWFjaGluZyByb290IGxheWVyLgot
ICAgICAgICAgICAgaWYgKGlzQ29udGFpbmVyRm9yUG9zaXRpb25lZCgqcGFyZW50TGF5ZXIsIHBv
c2l0aW9uKSkKKyAgICAgICAgICAgIGlmIChpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKnBhcmVu
dExheWVyLCBwb3NpdGlvbiwgbGF5ZXItPmVzdGFibGlzaGVzVG9wTGF5ZXIoKSkpCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgICAgIGlmIChwYXJlbnRMYXllciA9PSBhbmNlc3Rv
ckxheWVyKSB7CkBAIC00NTE3LDcgKzQ1MjAsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxh
dGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwog
ICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoY2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJl
Y3QoKSk7CiAgICAgZWxzZSBpZiAocmVuZGVyZXIoKS5pc0Fic29sdXRlbHlQb3NpdGlvbmVkKCkp
CiAgICAgICAgIGNsaXBSZWN0cy5zZXRPdmVyZmxvd0NsaXBSZWN0KGNsaXBSZWN0cy5wb3NDbGlw
UmVjdCgpKTsKLSAgICAKKwogICAgIC8vIFVwZGF0ZSB0aGUgY2xpcCByZWN0cyB0aGF0IHdpbGwg
YmUgcGFzc2VkIHRvIGNoaWxkIGxheWVycy4KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAg
IGlmIChyZW5kZXJlcigpLmhhc0NsaXBPck5vblZpc2libGVPdmVyZmxvdygpICYmIChjbGlwUmVj
dHNDb250ZXh0LnJlc3BlY3RPdmVyZmxvd0NsaXAgPT0gUmVzcGVjdE92ZXJmbG93Q2xpcCB8fCB0
aGlzICE9IGNsaXBSZWN0c0NvbnRleHQucm9vdExheWVyKSkgewpAQCAtNDU1OSwxMSArNDU2Miwx
MyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3Rz
Q29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwogCiBSZWY8Q2xpcFJlY3RzPiBSZW5kZXJMYXll
cjo6cGFyZW50Q2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRl
eHQpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKHBhcmVudCgpKTsKIAotICAgIGF1dG8gdGVtcG9yYXJ5
UGFyZW50Q2xpcFJlY3RzID0gWyZdKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBDb250ZXh0
KSB7CisgICAgQVNTRVJUKHBhcmVudCgpIHx8IGVzdGFibGlzaGVzVG9wTGF5ZXIoKSk7CisKKyAg
ICBhdXRvIHBhcmVudExheWVyID0gZXN0YWJsaXNoZXNUb3BMYXllcigpID8gcmVuZGVyZXIoKS52
aWV3KCkubGF5ZXIoKSA6IHBhcmVudCgpOworICAgIGF1dG8gdGVtcG9yYXJ5UGFyZW50Q2xpcFJl
Y3RzID0gWyYsIHBhcmVudExheWVyXShjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwQ29udGV4
dCkgewogICAgICAgICBhdXRvIHBhcmVudENsaXBSZWN0cyA9IENsaXBSZWN0czo6Y3JlYXRlKCk7
Ci0gICAgICAgIHBhcmVudCgpLT5jYWxjdWxhdGVDbGlwUmVjdHMoY2xpcENvbnRleHQsIHBhcmVu
dENsaXBSZWN0cyk7CisgICAgICAgIHBhcmVudExheWVyLT5jYWxjdWxhdGVDbGlwUmVjdHMoY2xp
cENvbnRleHQsIHBhcmVudENsaXBSZWN0cyk7CiAgICAgICAgIHJldHVybiBwYXJlbnRDbGlwUmVj
dHM7CiAgICAgfTsKIApAQCAtNDU3Niw3ICs0NTgxLDcgQEAgUmVmPENsaXBSZWN0cz4gUmVuZGVy
TGF5ZXI6OnBhcmVudENsaXBSZWN0cyhjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwUmVjdHND
b24KICAgICAgICAgcmV0dXJuIHRlbXBvcmFyeVBhcmVudENsaXBSZWN0cyh0ZW1wQ2xpcFJlY3Rz
Q29udGV4dCk7CiAgICAgfQogCi0gICAgcmV0dXJuIHBhcmVudCgpLT51cGRhdGVDbGlwUmVjdHMo
Y2xpcFJlY3RzQ29udGV4dCk7CisgICAgcmV0dXJuIHBhcmVudExheWVyLT51cGRhdGVDbGlwUmVj
dHMoY2xpcFJlY3RzQ29udGV4dCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgQ2xpcFJlY3QgYmFja2dy
b3VuZENsaXBSZWN0Rm9yUG9zaXRpb24oY29uc3QgQ2xpcFJlY3RzJiBwYXJlbnRSZWN0cywgUG9z
aXRpb25UeXBlIHBvc2l0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGZhMWFlYTQ0ODA0Y2I1MTkzYTA0
YjllOGVkNWI1MDAyMGMzY2FjZDYuLjk1MWIzZDA5ZjBhNmFlMWE1YzFhYjRjYWE4ZTc4NWMzOGMw
ZDY2NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNj
cm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJTY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTE4MzIsNyArMTgzMiw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXJTY3JvbGxhYmxlQXJlYTo6dXBkYXRlTGF5ZXJQb3NpdGlvbnNBZnRlck92ZXJmbG93U2Nyb2xs
KCkKIHsKICAgICBSZW5kZXJHZW9tZXRyeU1hcCBnZW9tZXRyeU1hcChVc2VUcmFuc2Zvcm1zKTsK
ICAgICBpZiAoJm1fbGF5ZXIgIT0gbV9sYXllci5yZW5kZXJlcigpLnZpZXcoKS5sYXllcigpKQot
ICAgICAgICBnZW9tZXRyeU1hcC5wdXNoTWFwcGluZ3NUb0FuY2VzdG9yKG1fbGF5ZXIucGFyZW50
KCksIG51bGxwdHIpOworICAgICAgICBnZW9tZXRyeU1hcC5wdXNoTWFwcGluZ3NUb0FuY2VzdG9y
KG1fbGF5ZXIuZXN0YWJsaXNoZXNUb3BMYXllcigpID8gbV9sYXllci5yZW5kZXJlcigpLnZpZXco
KS5sYXllcigpIDogbV9sYXllci5wYXJlbnQoKSwgbnVsbHB0cik7CiAKICAgICAvLyBGSVhNRTog
d2h5IGlzIGl0IE9LIHRvIG5vdCBjaGVjayB0aGUgYW5jZXN0b3JzIG9mIHRoaXMgbGF5ZXIgaW4g
b3JkZXIgdG8KICAgICAvLyBpbml0aWFsaXplIHRoZSBIYXNTZWVuVmlld3BvcnRDb25zdHJhaW5l
ZEFuY2VzdG9yIGFuZCBIYXNTZWVuQW5jZXN0b3JXaXRoT3ZlcmZsb3dDbGlwIGZsYWdzPwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAxNjgzZjg1Yzg3NmZj
ZTlmMjM1MmFhN2RhNjJhZjVmNTE2OTEzYWIyLi5mZGY2YzQ2MDFhYTkxMTgwY2JiMWYzOTQwYTA4
YzZmZWY2NTc5YzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cApAQCAtNjU4LDggKzY1OCw3IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXRMYXllck5lZWRzRnVs
bFJlcGFpbnRGb3JQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXQoKQogCiBSZW5kZXJCbG9jayogUmVu
ZGVyT2JqZWN0Ojpjb250YWluaW5nQmxvY2soKSBjb25zdAogewotICAgIGF1dG8gY29udGFpbmlu
Z0Jsb2NrRm9yUmVuZGVyZXIgPSBbXShjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKLSAg
ICB7CisgICAgYXV0byBjb250YWluaW5nQmxvY2tGb3JSZW5kZXJlciA9IFtdKGNvbnN0IGF1dG8m
IHJlbmRlcmVyKSAtPiBSZW5kZXJCbG9jayogewogICAgICAgICBpZiAocmVuZGVyZXIuaXNBYnNv
bHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVyLmNvbnRhaW5p
bmdCbG9ja0ZvckFic29sdXRlUG9zaXRpb24oKTsKICAgICAgICAgaWYgKHJlbmRlcmVyLmlzRml4
ZWRQb3NpdGlvbmVkKCkpCkBAIC0xNDY5LDYgKzE0NjgsOCBAQCBzdGF0aWMgaW5saW5lIFJlbmRl
ckVsZW1lbnQqIGNvbnRhaW5lckZvckVsZW1lbnQoY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJl
ciwgYwogICAgIC8vIFRoaXMgZG9lcyBtZWFuIHRoYXQgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2Fs
V2lkdGggYW5kIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodCBoYXZlIHRvIHVzZSBjb250
YWluZXIoKS4KICAgICBpZiAoIWlzPFJlbmRlckVsZW1lbnQ+KHJlbmRlcmVyKSkKICAgICAgICAg
cmV0dXJuIHJlbmRlcmVyLnBhcmVudCgpOworICAgIGlmIChpc0luVG9wTGF5ZXJPckJhY2tkcm9w
KHJlbmRlcmVyLnN0eWxlKCksIGRvd25jYXN0PFJlbmRlckVsZW1lbnQ+KHJlbmRlcmVyKS5lbGVt
ZW50KCkpKQorICAgICAgICByZXR1cm4gJnJlbmRlcmVyLnZpZXcoKTsKICAgICBhdXRvIHBvc2l0
aW9uID0gcmVuZGVyZXIuc3R5bGUoKS5wb3NpdGlvbigpOwogICAgIGlmIChwb3NpdGlvbiA9PSBQ
b3NpdGlvblR5cGU6OlN0YXRpYyB8fCBwb3NpdGlvbiA9PSBQb3NpdGlvblR5cGU6OlJlbGF0aXZl
IHx8IHBvc2l0aW9uID09IFBvc2l0aW9uVHlwZTo6U3RpY2t5KQogICAgICAgICByZXR1cm4gcmVu
ZGVyZXIucGFyZW50KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2ODFlNDVlNTQ2YTg3NGJmOWU0
OGQ3YmY3Yzg0NmNkNjJmMWZiMmFhLi5lNGM4ZDMzMDg5ZDYwNzVkMTRlNmRlZGI2OThkYTZjZDIz
ZGMzMjMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIzMDcsMTEgKzIzMDcsNiBAQCBmYXN0L211
bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlCiAjIFRvcCBsYXllciB0ZXN0cwogd2Via2l0Lm9yZy9iLzIyOTMxNSBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZl
LWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9tb2RhbC1kaWFsb2ctaW4tcmVwbGFjZWQtcmVu
ZGVyZXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIyOTMxNSBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVs
ZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9tb2RhbC1kaWFsb2ctaW4tdGFibGUtY29sdW1uLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMzEyOTIgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvdG9wLWxheWVyLWNvbnRhaW5pbmctYmxvY2suaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIzMTI5MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ct
ZWxlbWVudC90b3AtbGF5ZXItc3RhY2tpbmcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzIzMTI5MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC90b3AtbGF5ZXIt
cGFyZW50LW92ZXJmbG93LWNsaXAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzIzMTI5MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC90b3AtbGF5ZXItcGFyZW50
LW92ZXJmbG93LXNjcm9sbC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2Iv
MjMxMjkyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L3RvcC1sYXllci1wYXJlbnQtdHJh
bnNmb3JtLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogIyBBc3NlcnRpb24gZmFpbHVyZSBp
biBNZXNzYWdlUG9ydDo6Y29udGV4dERlc3Ryb3llZCwgdXN1YWxseSBhdHRyaWJ1dGVkIHRvIGxh
dGVyIHRlc3RzCiB3ZWJraXQub3JnL2IvOTQ0NTggaHR0cC90ZXN0cy9zZWN1cml0eS9NZXNzYWdl
UG9ydC9ldmVudC1saXN0ZW5lci1jb250ZXh0Lmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447750</attachid>
            <date>2021-12-21 13:53:41 -0800</date>
            <delta_ts>2022-01-05 20:18:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231292-20211221225339.patch</filename>
            <type>text/plain</type>
            <size>10250</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAKaW5kZXggNTQ2M2RmNDQzN2E4MTlmNTBkMzE0MjFmYTk5OTJjN2UzOWZh
MGViMy4uNzc1MjZiZmJkOGYxNGM5MDgxNzg4MjNiZDc0N2E5Mzg5MGU4NWU4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtNjQzLDYgKzY0Myw5IEBA
IHN0YXRpYyBpbmxpbmUgUmVuZGVyQmxvY2sqIG5lYXJlc3ROb25Bbm9ueW1vdXNDb250YWluaW5n
QmxvY2tJbmNsdWRpbmdTZWxmKFJlbmRlCiAKIFJlbmRlckJsb2NrKiBSZW5kZXJFbGVtZW50Ojpj
b250YWluaW5nQmxvY2tGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3QKIHsKKyAgICBpZiAoaXNJblRv
cExheWVyT3JCYWNrZHJvcChzdHlsZSgpLCBlbGVtZW50KCkpKQorICAgICAgICByZXR1cm4gJnZp
ZXcoKTsKKwogICAgIGF1dG8qIGFuY2VzdG9yID0gcGFyZW50KCk7CiAgICAgd2hpbGUgKGFuY2Vz
dG9yICYmICFhbmNlc3Rvci0+Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCkpCiAgICAg
ICAgIGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpOwpAQCAtNjUxLDYgKzY1NCw5IEBAIFJl
bmRlckJsb2NrKiBSZW5kZXJFbGVtZW50Ojpjb250YWluaW5nQmxvY2tGb3JGaXhlZFBvc2l0aW9u
KCkgY29uc3QKIAogUmVuZGVyQmxvY2sqIFJlbmRlckVsZW1lbnQ6OmNvbnRhaW5pbmdCbG9ja0Zv
ckFic29sdXRlUG9zaXRpb24oKSBjb25zdAogeworICAgIGlmIChpc0luVG9wTGF5ZXJPckJhY2tk
cm9wKHN0eWxlKCksIGVsZW1lbnQoKSkpCisgICAgICAgIHJldHVybiAmdmlldygpOworCiAgICAg
aWYgKGlzPFJlbmRlcklubGluZT4oKnRoaXMpICYmIHN0eWxlKCkucG9zaXRpb24oKSA9PSBQb3Np
dGlvblR5cGU6OlJlbGF0aXZlKSB7CiAgICAgICAgIC8vIEEgcmVsYXRpdmVseSBwb3NpdGlvbmVk
IFJlbmRlcklubGluZSBmb3J3YXJkcyBpdHMgYWJzb2x1dGUgcG9zaXRpb25lZCBkZXNjZW5kYW50
cyB0bwogICAgICAgICAvLyBpdHMgbmVhcmVzdCBub24tYW5vbnltb3VzIGNvbnRhaW5pbmcgYmxv
Y2sgKHRvIGF2b2lkIGhhdmluZyBwb3NpdGlvbmVkIG9iamVjdHMgbGlzdCBpbiBSZW5kZXJJbmxp
bmVzKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHZW9tZXRy
eU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR2VvbWV0cnlNYXAuY3Bw
CmluZGV4IDM3ZjYyNGIyZWZhZjk2ZjJjY2U2MjFmMmI1MzI5YjMwYWQ2NWE1YzIuLmFmNDM1N2U1
N2IyZmI0NTNjZmViN2RkYjMxYjc1OTcxN2Q0MTZlZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJHZW9tZXRyeU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdlb21ldHJ5TWFwLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbmRlckdlb21ldHJ5TWFwLmgiCiAKKyNpbmNsdWRl
ICJFbGVtZW50SW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRlckZyYWdtZW50ZWRGbG93LmgiCiAj
aW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCkBAIC0xNTIs
NyArMTUzLDEwIEBAIHN0YXRpYyBib29sIGNhbk1hcEJldHdlZW5SZW5kZXJlcnNWaWFMYXllcnMo
Y29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYgcmVuZGVyCiAKICAgICAgICAgaWYgKGN1cnJl
bnQtPmhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpICYmIChzdHlsZS5oYXNUcmFuc2Zvcm0o
KSB8fCBzdHlsZS50cmFuc2xhdGUoKSB8fCBzdHlsZS5zY2FsZSgpIHx8IHN0eWxlLnJvdGF0ZSgp
IHx8IHN0eWxlLmhhc1BlcnNwZWN0aXZlKCkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICAKKworICAgICAgICBpZiAoaXNJblRvcExheWVyT3JCYWNrZHJvcChzdHlsZSwgY3Vy
cmVudC0+ZWxlbWVudCgpKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBp
ZiAoY3VycmVudC0+aXNSZW5kZXJGcmFnbWVudGVkRmxvdygpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA2
NTA5ZjViZmU1MzJlYzA5YjhmM2Q4YzQ1MmU4YjY5YWY0MWNlOGJiLi41ZDNhODY3MWFjZTA4NmU3
NDQzMmUyNzVmNjdjMjI0MThhZGJkNjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKQEAgLTE3NzksOCArMTc3OSwxMSBAQCBGbG9hdFBvaW50IFJlbmRlckxheWVy
OjpwZXJzcGVjdGl2ZU9yaWdpbigpIGNvbnN0CiAgICAgcmV0dXJuIGZsb2F0UG9pbnRGb3JMZW5n
dGhQb2ludChyZW5kZXJlcigpLnN0eWxlKCkucGVyc3BlY3RpdmVPcmlnaW4oKSwgYm9yZGVyQm94
LnNpemUoKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc0NvbnRhaW5lckZvclBvc2l0aW9u
ZWQoUmVuZGVyTGF5ZXImIGxheWVyLCBQb3NpdGlvblR5cGUgcG9zaXRpb24pCitzdGF0aWMgaW5s
aW5lIGJvb2wgaXNDb250YWluZXJGb3JQb3NpdGlvbmVkKFJlbmRlckxheWVyJiBsYXllciwgUG9z
aXRpb25UeXBlIHBvc2l0aW9uLCBib29sIGVzdGFibGlzaGVzVG9wTGF5ZXIpCiB7CisgICAgaWYg
KGVzdGFibGlzaGVzVG9wTGF5ZXIpCisgICAgICAgIHJldHVybiBsYXllci5pc1JlbmRlclZpZXdM
YXllcigpOworCiAgICAgc3dpdGNoIChwb3NpdGlvbikgewogICAgIGNhc2UgUG9zaXRpb25UeXBl
OjpGaXhlZDoKICAgICAgICAgcmV0dXJuIGxheWVyLnJlbmRlcmVyKCkuY2FuQ29udGFpbkZpeGVk
UG9zaXRpb25PYmplY3RzKCk7CkBAIC0xODE3LDcgKzE4MjAsNyBAQCBSZW5kZXJMYXllciogUmVu
ZGVyTGF5ZXI6OmVuY2xvc2luZ0FuY2VzdG9yRm9yUG9zaXRpb24oUG9zaXRpb25UeXBlIHBvc2l0
aW9uKSBjbwogICAgICAgICByZXR1cm4gcmVuZGVyZXIoKS52aWV3KCkubGF5ZXIoKTsKIAogICAg
IFJlbmRlckxheWVyKiBjdXJyID0gcGFyZW50KCk7Ci0gICAgd2hpbGUgKGN1cnIgJiYgIWlzQ29u
dGFpbmVyRm9yUG9zaXRpb25lZCgqY3VyciwgcG9zaXRpb24pKQorICAgIHdoaWxlIChjdXJyICYm
ICFpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnIsIHBvc2l0aW9uLCBlc3RhYmxpc2hlc1Rv
cExheWVyKCkpKQogICAgICAgICBjdXJyID0gY3Vyci0+cGFyZW50KCk7CiAKICAgICByZXR1cm4g
Y3VycjsKQEAgLTIyOTQsNyArMjI5Nyw3IEBAIHN0YXRpYyBpbmxpbmUgY29uc3QgUmVuZGVyTGF5
ZXIqIGFjY3VtdWxhdGVPZmZzZXRUb3dhcmRzQW5jZXN0b3IoY29uc3QgUmVuZGVyTGF5CiAgICAg
ICAgICAgICBpZiAoY3VyckxheWVyID09IGFuY2VzdG9yTGF5ZXIpCiAgICAgICAgICAgICAgICAg
Zm91bmRBbmNlc3RvciA9IHRydWU7CiAKLSAgICAgICAgICAgIGlmIChpc0NvbnRhaW5lckZvclBv
c2l0aW9uZWQoKmN1cnJMYXllciwgUG9zaXRpb25UeXBlOjpGaXhlZCkpIHsKKyAgICAgICAgICAg
IGlmIChpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKmN1cnJMYXllciwgUG9zaXRpb25UeXBlOjpG
aXhlZCwgbGF5ZXItPmVzdGFibGlzaGVzVG9wTGF5ZXIoKSkpIHsKICAgICAgICAgICAgICAgICBm
aXhlZFBvc2l0aW9uQ29udGFpbmVyTGF5ZXIgPSBjdXJyTGF5ZXI7CiAgICAgICAgICAgICAgICAg
QVNTRVJUX1VOVVNFRChmb3VuZEFuY2VzdG9yLCBmb3VuZEFuY2VzdG9yKTsKICAgICAgICAgICAg
ICAgICBicmVhazsKQEAgLTIzMzMsNyArMjMzNiw3IEBAIHN0YXRpYyBpbmxpbmUgY29uc3QgUmVu
ZGVyTGF5ZXIqIGFjY3VtdWxhdGVPZmZzZXRUb3dhcmRzQW5jZXN0b3IoY29uc3QgUmVuZGVyTGF5
CiAgICAgICAgICAgICAvLyBSZW5kZXJGcmFnbWVudGVkRmxvdyBpcyBhIHBvc2l0aW9uZWQgY29u
dGFpbmVyLCBjaGlsZCBvZiBSZW5kZXJWaWV3LCBwb3NpdGlvbmVkIGF0ICgwLDApLgogICAgICAg
ICAgICAgLy8gVGhpcyBpbXBsaWVzIHRoYXQsIGZvciBvdXQtb2YtZmxvdyBwb3NpdGlvbmVkIGVs
ZW1lbnRzIGluc2lkZSBhIFJlbmRlckZyYWdtZW50ZWRGbG93LAogICAgICAgICAgICAgLy8gd2Ug
YXJlIGJhaWxpbmcgb3V0IGJlZm9yZSByZWFjaGluZyByb290IGxheWVyLgotICAgICAgICAgICAg
aWYgKGlzQ29udGFpbmVyRm9yUG9zaXRpb25lZCgqcGFyZW50TGF5ZXIsIHBvc2l0aW9uKSkKKyAg
ICAgICAgICAgIGlmIChpc0NvbnRhaW5lckZvclBvc2l0aW9uZWQoKnBhcmVudExheWVyLCBwb3Np
dGlvbiwgbGF5ZXItPmVzdGFibGlzaGVzVG9wTGF5ZXIoKSkpCiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAKICAgICAgICAgICAgIGlmIChwYXJlbnRMYXllciA9PSBhbmNlc3RvckxheWVyKSB7CkBA
IC00NTAxLDcgKzQ1MDQsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMo
Y29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwogICAgICAgICBjbGlw
UmVjdHMuc2V0UG9zQ2xpcFJlY3QoY2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJlY3QoKSk7CiAgICAg
ZWxzZSBpZiAocmVuZGVyZXIoKS5pc0Fic29sdXRlbHlQb3NpdGlvbmVkKCkpCiAgICAgICAgIGNs
aXBSZWN0cy5zZXRPdmVyZmxvd0NsaXBSZWN0KGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgpKTsKLSAg
ICAKKwogICAgIC8vIFVwZGF0ZSB0aGUgY2xpcCByZWN0cyB0aGF0IHdpbGwgYmUgcGFzc2VkIHRv
IGNoaWxkIGxheWVycy4KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGlmIChyZW5kZXJl
cigpLmhhc0NsaXBPck5vblZpc2libGVPdmVyZmxvdygpICYmIChjbGlwUmVjdHNDb250ZXh0LnJl
c3BlY3RPdmVyZmxvd0NsaXAgPT0gUmVzcGVjdE92ZXJmbG93Q2xpcCB8fCB0aGlzICE9IGNsaXBS
ZWN0c0NvbnRleHQucm9vdExheWVyKSkgewpAQCAtNDU0MywxMSArNDU0NiwxMyBAQCB2b2lkIFJl
bmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xp
cFJlY3RzQ29udGV4dCwgQwogCiBSZWY8Q2xpcFJlY3RzPiBSZW5kZXJMYXllcjo6cGFyZW50Q2xp
cFJlY3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQpIGNvbnN0CiB7
Ci0gICAgQVNTRVJUKHBhcmVudCgpKTsKIAotICAgIGF1dG8gdGVtcG9yYXJ5UGFyZW50Q2xpcFJl
Y3RzID0gWyZdKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBDb250ZXh0KSB7CisgICAgQVNT
RVJUKHBhcmVudCgpIHx8IGVzdGFibGlzaGVzVG9wTGF5ZXIoKSk7CisKKyAgICBhdXRvIHBhcmVu
dExheWVyID0gZXN0YWJsaXNoZXNUb3BMYXllcigpID8gcmVuZGVyZXIoKS52aWV3KCkubGF5ZXIo
KSA6IHBhcmVudCgpOworICAgIGF1dG8gdGVtcG9yYXJ5UGFyZW50Q2xpcFJlY3RzID0gWyYsIHBh
cmVudExheWVyXShjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwQ29udGV4dCkgewogICAgICAg
ICBhdXRvIHBhcmVudENsaXBSZWN0cyA9IENsaXBSZWN0czo6Y3JlYXRlKCk7Ci0gICAgICAgIHBh
cmVudCgpLT5jYWxjdWxhdGVDbGlwUmVjdHMoY2xpcENvbnRleHQsIHBhcmVudENsaXBSZWN0cyk7
CisgICAgICAgIHBhcmVudExheWVyLT5jYWxjdWxhdGVDbGlwUmVjdHMoY2xpcENvbnRleHQsIHBh
cmVudENsaXBSZWN0cyk7CiAgICAgICAgIHJldHVybiBwYXJlbnRDbGlwUmVjdHM7CiAgICAgfTsK
IApAQCAtNDU2MCw3ICs0NTY1LDcgQEAgUmVmPENsaXBSZWN0cz4gUmVuZGVyTGF5ZXI6OnBhcmVu
dENsaXBSZWN0cyhjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwUmVjdHNDb24KICAgICAgICAg
cmV0dXJuIHRlbXBvcmFyeVBhcmVudENsaXBSZWN0cyh0ZW1wQ2xpcFJlY3RzQ29udGV4dCk7CiAg
ICAgfQogCi0gICAgcmV0dXJuIHBhcmVudCgpLT51cGRhdGVDbGlwUmVjdHMoY2xpcFJlY3RzQ29u
dGV4dCk7CisgICAgcmV0dXJuIHBhcmVudExheWVyLT51cGRhdGVDbGlwUmVjdHMoY2xpcFJlY3Rz
Q29udGV4dCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgQ2xpcFJlY3QgYmFja2dyb3VuZENsaXBSZWN0
Rm9yUG9zaXRpb24oY29uc3QgQ2xpcFJlY3RzJiBwYXJlbnRSZWN0cywgUG9zaXRpb25UeXBlIHBv
c2l0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBi
ZmFmYmU0N2E3OTNkYzRlYzhlNjY4ODIzY2I2NWVjZTM4OGQ3YTY1Li5mMTQ0ZWUxMmRlNDc3Nzli
NGM2NGUwNmNjM2I5MDhjYmFjZWE4NjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcApAQCAtNjU4LDggKzY1OCw3IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXRM
YXllck5lZWRzRnVsbFJlcGFpbnRGb3JQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXQoKQogCiBSZW5k
ZXJCbG9jayogUmVuZGVyT2JqZWN0Ojpjb250YWluaW5nQmxvY2soKSBjb25zdAogewotICAgIGF1
dG8gY29udGFpbmluZ0Jsb2NrRm9yUmVuZGVyZXIgPSBbXShjb25zdCBSZW5kZXJFbGVtZW50JiBy
ZW5kZXJlcikKLSAgICB7CisgICAgYXV0byBjb250YWluaW5nQmxvY2tGb3JSZW5kZXJlciA9IFtd
KGNvbnN0IGF1dG8mIHJlbmRlcmVyKSAtPiBSZW5kZXJCbG9jayogewogICAgICAgICBpZiAocmVu
ZGVyZXIuaXNBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgcmV0dXJuIHJlbmRl
cmVyLmNvbnRhaW5pbmdCbG9ja0ZvckFic29sdXRlUG9zaXRpb24oKTsKICAgICAgICAgaWYgKHJl
bmRlcmVyLmlzRml4ZWRQb3NpdGlvbmVkKCkpCkBAIC0xNDc0LDYgKzE0NzMsOCBAQCBzdGF0aWMg
aW5saW5lIFJlbmRlckVsZW1lbnQqIGNvbnRhaW5lckZvckVsZW1lbnQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiByZW5kZXJlciwgYwogICAgIC8vIFRoaXMgZG9lcyBtZWFuIHRoYXQgY29tcHV0ZVBvc2l0
aW9uZWRMb2dpY2FsV2lkdGggYW5kIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodCBoYXZl
IHRvIHVzZSBjb250YWluZXIoKS4KICAgICBpZiAoIWlzPFJlbmRlckVsZW1lbnQ+KHJlbmRlcmVy
KSkKICAgICAgICAgcmV0dXJuIHJlbmRlcmVyLnBhcmVudCgpOworICAgIGlmIChpc0luVG9wTGF5
ZXJPckJhY2tkcm9wKHJlbmRlcmVyLnN0eWxlKCksIGRvd25jYXN0PFJlbmRlckVsZW1lbnQ+KHJl
bmRlcmVyKS5lbGVtZW50KCkpKQorICAgICAgICByZXR1cm4gJnJlbmRlcmVyLnZpZXcoKTsKICAg
ICBhdXRvIHBvc2l0aW9uID0gcmVuZGVyZXIuc3R5bGUoKS5wb3NpdGlvbigpOwogICAgIGlmIChw
b3NpdGlvbiA9PSBQb3NpdGlvblR5cGU6OlN0YXRpYyB8fCBwb3NpdGlvbiA9PSBQb3NpdGlvblR5
cGU6OlJlbGF0aXZlIHx8IHBvc2l0aW9uID09IFBvc2l0aW9uVHlwZTo6U3RpY2t5KQogICAgICAg
ICByZXR1cm4gcmVuZGVyZXIucGFyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5jcHAKaW5kZXggMTczOGE4YjZlNzU4NTE1ZjUzZDc3YjY2ODQwN2MxNzlkZjVlZDNlZi4u
MzFhNzBmODIyODYyZjYxMGYyMjViOTFjNWFkMjg5OTc2NTM3NjYyYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMjU3LDYgKzI1Nyw4IEBAIHZvaWQgUmVuZGVy
Vmlldzo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBh
bmNlc3RvckNvbnRhCiAKIGNvbnN0IFJlbmRlck9iamVjdCogUmVuZGVyVmlldzo6cHVzaE1hcHBp
bmdUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBhbmNlc3RvclRvU3Rv
cEF0LCBSZW5kZXJHZW9tZXRyeU1hcCYgZ2VvbWV0cnlNYXApIGNvbnN0CiB7CisgICAgaWYgKGFu
Y2VzdG9yVG9TdG9wQXQpCisgICAgICAgIEFMV0FZU19MT0dfV0lUSF9TVFJFQU0oc3RyZWFtIDw8
ICJhbmNlc3RvclRvU3RvcEF0OiAiIDw8ICphbmNlc3RvclRvU3RvcEF0KTsKICAgICAvLyBJZiBh
IGNvbnRhaW5lciB3YXMgc3BlY2lmaWVkLCBhbmQgd2FzIG5vdCBudWxscHRyIG9yIHRoZSBSZW5k
ZXJWaWV3LAogICAgIC8vIHRoZW4gd2Ugc2hvdWxkIGhhdmUgZm91bmQgaXQgYnkgbm93LgogICAg
IEFTU0VSVF9BUkcoYW5jZXN0b3JUb1N0b3BBdCwgIWFuY2VzdG9yVG9TdG9wQXQgfHwgYW5jZXN0
b3JUb1N0b3BBdCA9PSB0aGlzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDUxYWM5MzM2NTNjM2M2
ZmE4M2MzMDk0NjAwZDk3ZjliOTQ0NDZiNjQuLjdhMjRlOWNhZTA3YTU0NjdhNDMzMzBkNGQ4NjMw
NWQ1ZGVhODRlOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjM1MSwxMSArMjM1MSw2IEBAIGZh
c3QvbXVsdGljb2wvbXVsdGljb2wtd2l0aC1jaGlsZC1yZW5kZXJMYXllci1mb3ItaW5wdXQuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUKICMgVG9wIGxheWVyIHRlc3RzCiB3ZWJraXQub3JnL2IvMjI5
MzE1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJh
Y3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L21vZGFsLWRpYWxvZy1pbi1yZXBsYWNl
ZC1yZW5kZXJlci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjI5MzE1
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3Rp
dmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L21vZGFsLWRpYWxvZy1pbi10YWJsZS1jb2x1
bW4uaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIzMTI5MiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1l
bnRzL3RoZS1kaWFsb2ctZWxlbWVudC90b3AtbGF5ZXItY29udGFpbmluZy1ibG9jay5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L3RvcC1sYXllci1zdGFja2luZy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L3RvcC1s
YXllci1wYXJlbnQtb3ZlcmZsb3ctY2xpcC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L3RvcC1sYXllci1w
YXJlbnQtb3ZlcmZsb3ctc2Nyb2xsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi8yMzEyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvdG9wLWxheWVyLXBhcmVu
dC10cmFuc2Zvcm0uaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCiAjIEFzc2VydGlvbiBmYWls
dXJlIGluIE1lc3NhZ2VQb3J0Ojpjb250ZXh0RGVzdHJveWVkLCB1c3VhbGx5IGF0dHJpYnV0ZWQg
dG8gbGF0ZXIgdGVzdHMKIHdlYmtpdC5vcmcvYi85NDQ1OCBodHRwL3Rlc3RzL3NlY3VyaXR5L01l
c3NhZ2VQb3J0L2V2ZW50LWxpc3RlbmVyLWNvbnRleHQuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448465</attachid>
            <date>2022-01-05 20:18:19 -0800</date>
            <delta_ts>2022-01-06 06:34:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231292-20220105201818.patch</filename>
            <type>text/plain</type>
            <size>5528</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M4NDQwODNjMDkzZDE5
NTNmMzdhN2Y3MDc3YjgwNmVkOGVkZmM5NC4uMmY1ZDRmOTU5Njk3Y2U4ZDdiZjZkZWIzMGUxMGIz
YjU1ODUxOWVjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIyLTAxLTA1ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBFbnN1cmUgdGhhdCB0aGUgdG9w
IGxheWVyIGlzIGFsd2F5cyBhbmNob3JlZCB0byB0aGUgUmVuZGVyVmlldworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMjkyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84Mzk0MTg1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBIGZpeGVkIHBvc2l0aW9uZWQgYmxvY2sgbGV2ZWwgYm94IGlzIG5vdCBu
ZWNlc3NhcmlseSBhbmNob3JlZCB0byB0aGUgUmVuZGVyVmlldyAoc2VlIGNhbkNvbnRhaW5GaXhl
ZFBvc2l0aW9uT2JqZWN0cykuCisgICAgICAgIFRoaXMgcGF0Y2ggZW5zdXJlcyB0aGF0IHdlIHNr
aXAgdGhvc2UgYW5jZXN0b3JzIGFuZCByZXR1cm4gdGhlIFJlbmRlclZpZXcgYXMgdGhlIGNvbnRh
aW5pbmcgYmxvY2sgZm9yIHRoZSB0b3AgbGF5ZXIgY29udGVudC4KKworICAgICAgICBodHRwczov
L2Z1bGxzY3JlZW4uc3BlYy53aGF0d2cub3JnLyNuZXctc3RhY2tpbmctbGF5ZXIKKyAgICAgICAg
IklmIHRoZSB0b3AgbGF5ZXIgcG9zaXRpb24gcHJvcGVydHkgY29tcHV0ZXMgdG8gZml4ZWQsIGl0
cyBjb250YWluaW5nIGJsb2NrIGlzIHRoZSB2aWV3cG9ydCwgYW5kIHRoZSBpbml0aWFsIGNvbnRh
aW5pbmcgYmxvY2sgb3RoZXJ3aXNlLiIKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpjb250YWluaW5nQmxvY2sg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Y29udGFpbmVyRm9yRWxlbWVudCk6CisKIDIwMjIt
MDEtMDQgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lG
Q10gZmFzdC90ZXh0L2NvbWJpbmluZy1tYXJrLXBhaW50Lmh0bWwgaXMgZmFpbGluZyAoY29tcGxl
eCB0ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBi
ZmFmYmU0N2E3OTNkYzRlYzhlNjY4ODIzY2I2NWVjZTM4OGQ3YTY1Li5iNzFiODNkZDI0NDVhMjA3
ZmE3YmQzNjI2MWM2YmU4YmY0MzFhNzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcApAQCAtNjU4LDggKzY1OCw5IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXRM
YXllck5lZWRzRnVsbFJlcGFpbnRGb3JQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXQoKQogCiBSZW5k
ZXJCbG9jayogUmVuZGVyT2JqZWN0Ojpjb250YWluaW5nQmxvY2soKSBjb25zdAogewotICAgIGF1
dG8gY29udGFpbmluZ0Jsb2NrRm9yUmVuZGVyZXIgPSBbXShjb25zdCBSZW5kZXJFbGVtZW50JiBy
ZW5kZXJlcikKLSAgICB7CisgICAgYXV0byBjb250YWluaW5nQmxvY2tGb3JSZW5kZXJlciA9IFtd
KGNvbnN0IGF1dG8mIHJlbmRlcmVyKSAtPiBSZW5kZXJCbG9jayogeworICAgICAgICBpZiAoaXNJ
blRvcExheWVyT3JCYWNrZHJvcChyZW5kZXJlci5zdHlsZSgpLCByZW5kZXJlci5lbGVtZW50KCkp
KQorICAgICAgICAgICAgcmV0dXJuICZyZW5kZXJlci52aWV3KCk7CiAgICAgICAgIGlmIChyZW5k
ZXJlci5pc0Fic29sdXRlbHlQb3NpdGlvbmVkKCkpCiAgICAgICAgICAgICByZXR1cm4gcmVuZGVy
ZXIuY29udGFpbmluZ0Jsb2NrRm9yQWJzb2x1dGVQb3NpdGlvbigpOwogICAgICAgICBpZiAocmVu
ZGVyZXIuaXNGaXhlZFBvc2l0aW9uZWQoKSkKQEAgLTE0NzQsNiArMTQ3NSwyMyBAQCBzdGF0aWMg
aW5saW5lIFJlbmRlckVsZW1lbnQqIGNvbnRhaW5lckZvckVsZW1lbnQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiByZW5kZXJlciwgYwogICAgIC8vIFRoaXMgZG9lcyBtZWFuIHRoYXQgY29tcHV0ZVBvc2l0
aW9uZWRMb2dpY2FsV2lkdGggYW5kIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodCBoYXZl
IHRvIHVzZSBjb250YWluZXIoKS4KICAgICBpZiAoIWlzPFJlbmRlckVsZW1lbnQ+KHJlbmRlcmVy
KSkKICAgICAgICAgcmV0dXJuIHJlbmRlcmVyLnBhcmVudCgpOworICAgIGlmIChpc0luVG9wTGF5
ZXJPckJhY2tkcm9wKHJlbmRlcmVyLnN0eWxlKCksIGRvd25jYXN0PFJlbmRlckVsZW1lbnQ+KHJl
bmRlcmVyKS5lbGVtZW50KCkpKSB7CisgICAgICAgIGF1dG8gdXBkYXRlUmVwYWludENvbnRhaW5l
clNraXBwZWRGbGFnSWZBcHBsaWNhYmxlID0gWyZdIHsKKyAgICAgICAgICAgIGlmICghcmVwYWlu
dENvbnRhaW5lclNraXBwZWQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
KnJlcGFpbnRDb250YWluZXJTa2lwcGVkID0gZmFsc2U7CisgICAgICAgICAgICBpZiAocmVwYWlu
dENvbnRhaW5lciA9PSAmcmVuZGVyZXIudmlldygpKQorICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIGZvciAoYXV0byYgYW5jZXN0b3IgOiBhbmNlc3RvcnNPZlR5cGU8UmVuZGVy
RWxlbWVudD4ocmVuZGVyZXIpKSB7CisgICAgICAgICAgICAgICAgaWYgKHJlcGFpbnRDb250YWlu
ZXIgPT0gJmFuY2VzdG9yKSB7CisgICAgICAgICAgICAgICAgICAgICpyZXBhaW50Q29udGFpbmVy
U2tpcHBlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgdXBkYXRlUmVwYWludENv
bnRhaW5lclNraXBwZWRGbGFnSWZBcHBsaWNhYmxlKCk7CisgICAgICAgIHJldHVybiAmcmVuZGVy
ZXIudmlldygpOworICAgIH0KICAgICBhdXRvIHBvc2l0aW9uID0gcmVuZGVyZXIuc3R5bGUoKS5w
b3NpdGlvbigpOwogICAgIGlmIChwb3NpdGlvbiA9PSBQb3NpdGlvblR5cGU6OlN0YXRpYyB8fCBw
b3NpdGlvbiA9PSBQb3NpdGlvblR5cGU6OlJlbGF0aXZlIHx8IHBvc2l0aW9uID09IFBvc2l0aW9u
VHlwZTo6U3RpY2t5KQogICAgICAgICByZXR1cm4gcmVuZGVyZXIucGFyZW50KCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NDdiMjNiN2FkYjE3MTQ2ZjhmNTk3OTcyYjBkY2E4ZThmMTY5MGRlZC4uYTIwZjNlOGUxN2M0MzVm
OTJhMWJhOGFhMmMwMjMzMjAzYTdjNGE1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAx
LTA1ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBFbnN1cmUgdGhh
dCB0aGUgdG9wIGxheWVyIGlzIGFsd2F5cyBhbmNob3JlZCB0byB0aGUgUmVuZGVyVmlldworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMjkyCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS84Mzk0MTg1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6IG9mZnNldEZyb21BbmNl
c3RvckNvbnRhaW5lciBleHBlY3RzIG5vIHRyYW5zZm9ybWVkIHJlbmRlcmVyIGluLWJldHdlZW4g
dGhlCisgICAgICAgIGRpYWxvZyBhbmQgdGhlIFJlbmRlclZpZXcncyBsYXllci4gSXQgd2lsbCBn
byBhd2F5IHdpdGggdGhlIGxheWVyIHJlLXBhcmVudGluZyB3b3JrLgorCiAyMDIyLTAxLTA0ICBE
ZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTb3VyY2VzOiBleHBhbmRpbmcgYSBncm91cGluZyBvZiBibGFja2JveGVkIGNhbGwgZnJhbWVz
IHNob3VsZCBiZSBwZXJzaXN0ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiN2JiYjdjOTIxMGRm
ODhhM2Q1YjQ3NzdmNzVjODk2MmQ5NTVkMTc2Li42YTM4ZWZjNDY4ZGE3YzhlMDU1NzhkYTBkZDc5
NDlkODMxOGYzZTdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIzNTQsNyArMjM1NCw4IEBAIHdl
YmtpdC5vcmcvYi8yMzEyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9pbnRlcmFjdGl2ZS1lCiB3ZWJraXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhl
LWRpYWxvZy1lbGVtZW50L3RvcC1sYXllci1zdGFja2luZy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L3Rv
cC1sYXllci1wYXJlbnQtb3ZlcmZsb3ctY2xpcC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMjMxMjkyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L3RvcC1sYXll
ci1wYXJlbnQtb3ZlcmZsb3ctc2Nyb2xsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi8yMzEyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvdG9wLWxheWVyLXBh
cmVudC10cmFuc2Zvcm0uaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorIyBOZWVkcyBsYXllciBy
ZS1wYXJlbnRpbmcKK3dlYmtpdC5vcmcvYi8yMzEyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVs
ZW1lbnQvdG9wLWxheWVyLXBhcmVudC10cmFuc2Zvcm0uaHRtbCBbIFNraXAgXQogCiAjIEFzc2Vy
dGlvbiBmYWlsdXJlIGluIE1lc3NhZ2VQb3J0Ojpjb250ZXh0RGVzdHJveWVkLCB1c3VhbGx5IGF0
dHJpYnV0ZWQgdG8gbGF0ZXIgdGVzdHMKIHdlYmtpdC5vcmcvYi85NDQ1OCBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L01lc3NhZ2VQb3J0L2V2ZW50LWxpc3RlbmVyLWNvbnRleHQuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>