<?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>234578</bug_id>
          
          <creation_ts>2021-12-21 15:36:27 -0800</creation_ts>
          <short_desc>Grid may be empty in certain scenarios</short_desc>
          <delta_ts>2022-02-08 14:52:46 -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>WebCore Misc.</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brandon">brandonstewart</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>msaboff</cc>
    
    <cc>pdr</cc>
    
    <cc>rego</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1826140</commentid>
    <comment_count>0</comment_count>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-12-21 15:36:27 -0800</bug_when>
    <thetext>Grid may be empty in certain scenarios</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826141</commentid>
    <comment_count>1</comment_count>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-12-21 15:38:04 -0800</bug_when>
    <thetext>&lt;rdar://86153015&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826151</commentid>
    <comment_count>2</comment_count>
      <attachid>447760</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-12-21 15:59:57 -0800</bug_when>
    <thetext>Created attachment 447760
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826258</commentid>
    <comment_count>3</comment_count>
      <attachid>447760</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-12-22 02:36:41 -0800</bug_when>
    <thetext>Comment on attachment 447760
Patch

This is not correct as this should never happen. If there are no grid items then we cannot have items in the asepectRatioBlockSizeDependentGridItems Vector. If you&apos;re hitting this scenario then we are not properly handling some weird scenario. You have to look for the root of the cause.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826260</commentid>
    <comment_count>4</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-12-22 02:38:57 -0800</bug_when>
    <thetext>(In reply to Sergio Villar Senin from comment #3)
&gt; Comment on attachment 447760 [details]
&gt; Patch
&gt; 
&gt; This is not correct as this should never happen. If there are no grid items
&gt; then we cannot have items in the asepectRatioBlockSizeDependentGridItems
&gt; Vector. If you&apos;re hitting this scenario then we are not properly handling
&gt; some weird scenario. You have to look for the root of the cause.

For the *root cause of the issue* I meant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831850</commentid>
    <comment_count>5</comment_count>
      <attachid>449432</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-01-18 15:21:31 -0800</bug_when>
    <thetext>Created attachment 449432
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831962</commentid>
    <comment_count>6</comment_count>
      <attachid>449432</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2022-01-19 01:18:14 -0800</bug_when>
    <thetext>Comment on attachment 449432
patch

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

There is one test failing. Check it out.

&gt; Source/WebCore/rendering/RenderGrid.cpp:178
&gt;  

Perhaps add a comment here explaining that this must be run after calling updateLogicalWidth() otherwise the shouldSkipChild() won&apos;t properly work. It&apos;d be better to have an ASSERT for it, but I don&apos;t think it&apos;d be easy to come up with any.

&gt; Source/WebCore/rendering/RenderGrid.cpp:179
&gt; +void RenderGrid::computeAspectRatioDependantAndBaselineItems(Vector&lt;RenderBox*&gt; &amp;aspectRatioBlockSizeDependentGridItems)

Nit: the &amp; should be placed right next to the type not the variable name

&gt; Source/WebCore/rendering/RenderGrid.h:194
&gt; +    void computeAspectRatioDependantAndBaselineItems(Vector&lt;RenderBox*&gt; &amp;aspectRatioBlockSizeDependentGridItems);

Nit: the &amp; should be right next to the type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832299</commentid>
    <comment_count>7</comment_count>
      <attachid>449536</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-01-19 17:37:35 -0800</bug_when>
    <thetext>Created attachment 449536
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832300</commentid>
    <comment_count>8</comment_count>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-01-19 17:38:32 -0800</bug_when>
    <thetext>(In reply to Sergio Villar Senin from comment #6)
&gt; Comment on attachment 449432 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449432&amp;action=review
&gt; 
&gt; There is one test failing. Check it out.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderGrid.cpp:178
&gt; &gt;  
&gt; 
&gt; Perhaps add a comment here explaining that this must be run after calling
&gt; updateLogicalWidth() otherwise the shouldSkipChild() won&apos;t properly work.
&gt; It&apos;d be better to have an ASSERT for it, but I don&apos;t think it&apos;d be easy to
&gt; come up with any.


added a comment here

&gt; 
&gt; &gt; Source/WebCore/rendering/RenderGrid.cpp:179
&gt; &gt; +void RenderGrid::computeAspectRatioDependantAndBaselineItems(Vector&lt;RenderBox*&gt; &amp;aspectRatioBlockSizeDependentGridItems)
&gt; 
&gt; Nit: the &amp; should be placed right next to the type not the variable name

fixed

&gt; 
&gt; &gt; Source/WebCore/rendering/RenderGrid.h:194
&gt; &gt; +    void computeAspectRatioDependantAndBaselineItems(Vector&lt;RenderBox*&gt; &amp;aspectRatioBlockSizeDependentGridItems);
&gt; 
&gt; Nit: the &amp; should be right next to the type.

fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832376</commentid>
    <comment_count>9</comment_count>
      <attachid>449536</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2022-01-20 01:46:42 -0800</bug_when>
    <thetext>Comment on attachment 449536
patch

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

It&apos;s unfortunate that we need to add an extra loop to the layout phase which could potentially worsen the performance. I&apos;d like to know about the weird interaction between setting the height and clearing the overriding sizes before approving this.

&gt; Source/WebCore/rendering/RenderGrid.cpp:179
&gt; +void RenderGrid::clearChildrenOverridingLogicialHeight()

Logicial -&gt; Logical

&gt; Source/WebCore/rendering/RenderGrid.cpp:182
&gt; +    // The clearOverridingLogicalHeight() affects the behavior of resetLogicalHeightBeforeLayoutIfNeeded().

That seems weird. The resetLogical... only sets the height to 0. How that could interact with clearing the overriding sizes is not clear to me...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836046</commentid>
    <comment_count>10</comment_count>
      <attachid>450546</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-01 10:26:42 -0800</bug_when>
    <thetext>Created attachment 450546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836101</commentid>
    <comment_count>11</comment_count>
      <attachid>450557</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-01 12:33:44 -0800</bug_when>
    <thetext>Created attachment 450557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836612</commentid>
    <comment_count>12</comment_count>
      <attachid>450557</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2022-02-02 13:27:38 -0800</bug_when>
    <thetext>Comment on attachment 450557
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Include check if a child should be excluded from the layout.

Let&apos;s improve this message. I&apos;d write something like &quot;Use OrderIterator&apos;s shouldSkipChild() to filter out items that should not be included in the aspect ratio dependant nor in the baseline lists. Just using isOutOfFlowPositioned() is not enough as there are some other cases of direct child of a grid element that are not grid items.&quot;. Feel free to use your own words and/or improve the grammar.

&gt; Source/WebCore/rendering/RenderGrid.cpp:189
&gt; +void RenderGrid::clearChildrenOverridingLogicalHeight()

Nit: since we&apos;re filtering out non-grid items (like OOF children) I&apos;d call this clearGridItemsOverriding...

&gt; Source/WebCore/rendering/RenderGrid.cpp:223
&gt; +        child-&gt;clearOverridingLogicalHeight();

This block is duplicated

&gt; Source/WebCore/rendering/RenderGrid.cpp:240
&gt; +        // context during the track sizing algorithm.

I know this comes from the original code, but let&apos;s use longer lines instead of wrapping text so many times. I think we can use 3 lines instead of the current 6.

&gt; Source/WebCore/rendering/RenderGrid.cpp:270
&gt; +        // instead of here.

Perhaps append &quot;to save an extra loop over all grid items&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836681</commentid>
    <comment_count>13</comment_count>
      <attachid>450557</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-02 16:10:03 -0800</bug_when>
    <thetext>Comment on attachment 450557
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        Include check if a child should be excluded from the layout.
&gt; 
&gt; Let&apos;s improve this message. I&apos;d write something like &quot;Use OrderIterator&apos;s shouldSkipChild() to filter out items that should not be included in the aspect ratio dependant nor in the baseline lists. Just using isOutOfFlowPositioned() is not enough as there are some other cases of direct child of a grid element that are not grid items.&quot;. Feel free to use your own words and/or improve the grammar.

Updated the description.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:189
&gt;&gt; +void RenderGrid::clearChildrenOverridingLogicalHeight()
&gt; 
&gt; Nit: since we&apos;re filtering out non-grid items (like OOF children) I&apos;d call this clearGridItemsOverriding...

Updated.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:223
&gt;&gt; +        child-&gt;clearOverridingLogicalHeight();
&gt; 
&gt; This block is duplicated

Removed. Thanks for catching this.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:240
&gt;&gt; +        // context during the track sizing algorithm.
&gt; 
&gt; I know this comes from the original code, but let&apos;s use longer lines instead of wrapping text so many times. I think we can use 3 lines instead of the current 6.

Reduced it down to 4 lines. 120 character line lengths.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:270
&gt;&gt; +        // instead of here.
&gt; 
&gt; Perhaps append &quot;to save an extra loop over all grid items&quot;.

Updated comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836686</commentid>
    <comment_count>14</comment_count>
      <attachid>450712</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-02 16:11:20 -0800</bug_when>
    <thetext>Created attachment 450712
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836849</commentid>
    <comment_count>15</comment_count>
      <attachid>450712</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-03 03:47:23 -0800</bug_when>
    <thetext>Comment on attachment 450712
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Grid may be empty in certain scenarios

Why no new tests and no change in test results?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836878</commentid>
    <comment_count>16</comment_count>
      <attachid>450712</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-03 04:57:57 -0800</bug_when>
    <thetext>Comment on attachment 450712
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        Grid may be empty in certain scenarios
&gt; 
&gt; Why no new tests and no change in test results?

Let me say this more clearly.:WebKit patches that change behavior must include regression tests covering the improvement. Please submit a new patch that includes a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837156</commentid>
    <comment_count>17</comment_count>
      <attachid>450834</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-03 15:57:01 -0800</bug_when>
    <thetext>Created attachment 450834
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837166</commentid>
    <comment_count>18</comment_count>
      <attachid>450834</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-03 16:38:42 -0800</bug_when>
    <thetext>Comment on attachment 450834
Patch

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

&gt; Source/WebCore/rendering/RenderGrid.h:194
&gt; +    void computeAspectRatioDependantAndBaselineItems(Vector&lt;RenderBox*&gt;&amp; aspectRatioBlockSizeDependentGridItems);

This should use a return value rather than an out argument.

Also, &quot;dependent&quot; is misspelled here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837167</commentid>
    <comment_count>19</comment_count>
      <attachid>450834</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-03 16:39:17 -0800</bug_when>
    <thetext>Comment on attachment 450834
Patch

Still no test. Need to include a test demonstrating what this fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837566</commentid>
    <comment_count>20</comment_count>
      <attachid>450932</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-04 12:56:14 -0800</bug_when>
    <thetext>Created attachment 450932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837567</commentid>
    <comment_count>21</comment_count>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-04 12:58:20 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #18)
&gt; Comment on attachment 450834 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=450834&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderGrid.h:194
&gt; &gt; +    void computeAspectRatioDependantAndBaselineItems(Vector&lt;RenderBox*&gt;&amp; aspectRatioBlockSizeDependentGridItems);
&gt; 
&gt; This should use a return value rather than an out argument.
&gt; 
&gt; Also, &quot;dependent&quot; is misspelled here.

Updated the function to return the grid items and addressed the spelling mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837611</commentid>
    <comment_count>22</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-04 15:19:44 -0800</bug_when>
    <thetext>Still no test. Need to include a test demonstrating what this fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837612</commentid>
    <comment_count>23</comment_count>
      <attachid>450932</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-04 15:20:53 -0800</bug_when>
    <thetext>Comment on attachment 450932
Patch

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

&gt; Source/WebCore/rendering/RenderGrid.cpp:191
&gt; +    Vector&lt;RenderBox*&gt; aspectRatioBlockSizeDependentGridItems;

I don’t think our local vector needs such a long name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838819</commentid>
    <comment_count>24</comment_count>
      <attachid>451288</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-08 12:04:21 -0800</bug_when>
    <thetext>Created attachment 451288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838820</commentid>
    <comment_count>25</comment_count>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-08 12:04:48 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #23)
&gt; Comment on attachment 450932 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=450932&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderGrid.cpp:191
&gt; &gt; +    Vector&lt;RenderBox*&gt; aspectRatioBlockSizeDependentGridItems;
&gt; 
&gt; I don’t think our local vector needs such a long name.

Shortened the local vector name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838840</commentid>
    <comment_count>26</comment_count>
      <attachid>451295</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-08 12:56:33 -0800</bug_when>
    <thetext>Created attachment 451295
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838851</commentid>
    <comment_count>27</comment_count>
      <attachid>451295</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-08 13:13:03 -0800</bug_when>
    <thetext>Comment on attachment 451295
Patch for landing

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        Reviewed by NOBODY (OOPS!).

You need to put the reviewer name here, otherwise commit-queue will not land it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838866</commentid>
    <comment_count>28</comment_count>
      <attachid>451302</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-08 13:50:56 -0800</bug_when>
    <thetext>Created attachment 451302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838896</commentid>
    <comment_count>29</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-08 14:52:41 -0800</bug_when>
    <thetext>Committed r289437 (246990@main): &lt;https://commits.webkit.org/246990@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451302.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447760</attachid>
            <date>2021-12-21 15:59:57 -0800</date>
            <delta_ts>2022-01-18 15:21:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>1501</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1MmUyZGJlNWVjY2YuLjAxNTZkMjQyYWU4YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDIxLTEyLTIxICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2Fy
dEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JpZCBtYXkgYmUgZW1wdHkgaW4gY2VydGFpbiBzY2Vu
YXJpb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdy
aWQgbWF5IGJlIGVtcHR5IGR1ZSB0byBzcGVjaWFsIGhhbmRsaW5nIG9mIGNlcnRhaW4gRE9NIGVs
ZW1lbnRzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2spOgorCiAyMDIxLTEyLTE1ICBBbGV4ZXkg
U2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBSZW1vdmUg
dGhlIG5vdy11bnVzZWQgW0RvY3VtZW50RXZlbnRIYW5kbGVyXSBleHRlbmRlZCBhdHRyaWJ1dGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCAzMTc5ZGVmMDI5OWUu
LjgyMjdmOTA4YzdlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApA
QCAtMjg4LDcgKzI4OCw3IEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0QmxvY2soYm9vbCByZWxh
eW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogICAgICAgICAvLyAyLjUtIENvbXB1dGUgQ29udGVu
dCBEaXN0cmlidXRpb24gb2Zmc2V0cyBmb3Igcm93cyB0cmFja3MKICAgICAgICAgY29tcHV0ZUNv
bnRlbnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9mZnNldChGb3JSb3dzLCBtX3RyYWNrU2l6aW5n
QWxnb3JpdGhtLmZyZWVTcGFjZShGb3JSb3dzKS52YWx1ZSgpLCBub25Db2xsYXBzZWRUcmFja3Mo
Rm9yUm93cykpOwogCi0gICAgICAgIGlmICghYXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRH
cmlkSXRlbXMuaXNFbXB0eSgpKSB7CisgICAgICAgIGlmICghYXNwZWN0UmF0aW9CbG9ja1NpemVE
ZXBlbmRlbnRHcmlkSXRlbXMuaXNFbXB0eSgpICYmIG1fZ3JpZC5oYXNHcmlkSXRlbXMoKSkgewog
ICAgICAgICAgICAgdXBkYXRlR3JpZEFyZWFGb3JBc3BlY3RSYXRpb0l0ZW1zKGFzcGVjdFJhdGlv
QmxvY2tTaXplRGVwZW5kZW50R3JpZEl0ZW1zKTsKICAgICAgICAgICAgIHVwZGF0ZUxvZ2ljYWxX
aWR0aCgpOwogICAgICAgICB9Cg==
</data>
<flag name="review"
          id="473471"
          type_id="1"
          status="-"
          setter="svillar"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449432</attachid>
            <date>2022-01-18 15:21:31 -0800</date>
            <delta_ts>2022-01-19 17:37:35 -0800</delta_ts>
            <desc>patch</desc>
            <filename>234578_2.patch</filename>
            <type>text/plain</type>
            <size>7383</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlMTE0YWY0Yzk1Y2YuLjE5YmVkNDc5MTI1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE4IEBACisyMDIyLTAxLTE4ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2Fy
dEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JpZCBtYXkgYmUgZW1wdHkgaW4gY2VydGFpbiBzY2Vu
YXJpb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
Y2x1ZGUgY2hlY2sgaWYgYSBjaGlsZCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0aGUgbGF5b3V0
LgorICAgICAgICBSZWZhY3RvciBsYXlvdXRCbG9jayB0byBtb3ZlIHNldmVyYWwgc3RlcHMgdG8g
dGhlaXIgb3duIGZ1bmN0aW9uLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5k
YW50QW5kQmFzZWxpbmVJdGVtcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpsYXlv
dXRCbG9jayk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuaDoKKwogMjAyMi0wMS0x
OCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAg
IFVzZSBjKysyYSBpbnN0ZWFkIG9mIGdudSsrMmEgZm9yIENvY29hIGJ1aWxkcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IDI2ZjhmY2JjMGFiMi4uMmFlOWRjMzMz
Y2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0xNzYsNiAr
MTc2LDQ0IEBAIHZvaWQgUmVuZGVyR3JpZDo6cmVwZWF0VHJhY2tzU2l6aW5nSWZOZWVkZWQoTGF5
b3V0VW5pdCBhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMsCiAgICAgfQogfQogCit2b2lkIFJlbmRl
ckdyaWQ6OmNvbXB1dGVBc3BlY3RSYXRpb0RlcGVuZGFudEFuZEJhc2VsaW5lSXRlbXMoVmVjdG9y
PFJlbmRlckJveCo+ICZhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtcykKK3sK
KyAgICBtX2Jhc2VsaW5lSXRlbXNDYWNoZWQgPSB0cnVlOworICAgIG1faGFzQW55T3J0aG9nb25h
bEl0ZW0gPSBmYWxzZTsKKyAgICBtX2hhc0FzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50SXRl
bSA9IGZhbHNlOworCisgICAgZm9yIChhdXRvKiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hp
bGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgaWYgKG1fZ3Jp
ZC5vcmRlckl0ZXJhdG9yKCkuc2hvdWxkU2tpcENoaWxkKCpjaGlsZCkpCisgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICAvLyBHcmlkJ3MgbGF5b3V0IGxvZ2ljIGNvbnRyb2xzIHRoZSBn
cmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQsIGhlbmNlIHdlIG5lZWQgdG8KKyAgICAgICAgLy8g
Y2xlYXIgYW55IG92ZXJyaWRlIGhlaWdodCBzZXQgcHJldmlvdXNseSwgc28gaXQgZG9lc24ndCBp
bnRlcmZlcmUgaW4gY3VycmVudCBsYXlvdXQKKyAgICAgICAgLy8gZXhlY3V0aW9uLiBHcmlkIG5l
dmVyIHVzZXMgdGhlIG92ZXJyaWRlIHdpZHRoLCB0aGF0J3Mgd2h5IHdlIGRvbid0IG5lZWQgdG8g
Y2xlYXIgIGl0LgorICAgICAgICBjaGlsZC0+Y2xlYXJPdmVycmlkaW5nTG9naWNhbEhlaWdodCgp
OworCisgICAgICAgIC8vIFdlIG1heSBuZWVkIHRvIHJlcGVhdCB0aGUgdHJhY2sgc2l6aW5nIGlu
IGNhc2Ugb2YgYW55IGdyaWQgaXRlbSB3YXMgb3J0aG9nb25hbC4KKyAgICAgICAgaWYgKEdyaWRM
YXlvdXRGdW5jdGlvbnM6OmlzT3J0aG9nb25hbENoaWxkKCp0aGlzLCAqY2hpbGQpKQorICAgICAg
ICAgICAgbV9oYXNBbnlPcnRob2dvbmFsSXRlbSA9IHRydWU7CisgICAgICAgIAorICAgICAgICAv
LyBGb3IgYSBncmlkIGl0ZW0gdGhhdCBoYXMgYW4gYXNwZWN0LXJhdGlvIGFuZCBibG9jay1jb25z
dHJhaW50cyBzdWNoIGFzIHRoZSByZWxhdGl2ZSBsb2dpY2FsIGhlaWdodCwKKyAgICAgICAgLy8g
d2hlbiB0aGUgZ3JpZCB3aWR0aCBpcyBhdXRvLCB3ZSBtYXkgbmVlZCBnZXQgdGhlIHJlYWwgZ3Jp
ZCB3aWR0aCBiZWZvcmUgbGF5aW5nIG91dCB0aGUgaXRlbS4KKyAgICAgICAgaWYgKEdyaWRMYXlv
dXRGdW5jdGlvbnM6OmlzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRDaGlsZCgqY2hpbGQp
ICYmIChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0eWxlKCkubG9naWNhbFdp
ZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc01heENvbnRl
bnQoKSkpIHsKKyAgICAgICAgICAgIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50R3JpZEl0
ZW1zLmFwcGVuZChjaGlsZCk7CisgICAgICAgICAgICBtX2hhc0FzcGVjdFJhdGlvQmxvY2tTaXpl
RGVwZW5kZW50SXRlbSA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBrZWVwIGEg
Y2FjaGUgb2YgaXRlbXMgd2l0aCBiYXNlbGluZSBhcyBhbGlnbm1lbnQgdmFsdWVzIHNvCisgICAg
ICAgIC8vIHRoYXQgd2Ugb25seSBjb21wdXRlIHRoZSBiYXNlbGluZSBzaGltcyBmb3Igc3VjaCBp
dGVtcy4gVGhpcworICAgICAgICAvLyBjYWNoZSBpcyBuZWVkZWQgZm9yIHBlcmZvcm1hbmNlIHJl
bGF0ZWQgcmVhc29ucyBkdWUgdG8gdGhlCisgICAgICAgIC8vIGNvc3Qgb2YgZXZhbHVhdGluZyB0
aGUgaXRlbSdzIHBhcnRpY2lwYXRpb24gaW4gYSBiYXNlbGluZQorICAgICAgICAvLyBjb250ZXh0
IGR1cmluZyB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobS4KKyAgICAgICAgaWYgKGlzQmFzZWxp
bmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKSkKKyAgICAgICAgICAg
IG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwg
R3JpZENvbHVtbkF4aXMpOworICAgICAgICBpZiAoaXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxk
KCpjaGlsZCwgR3JpZFJvd0F4aXMpKQorICAgICAgICAgICAgbV90cmFja1NpemluZ0FsZ29yaXRo
bS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBHcmlkUm93QXhpcyk7CisgICAgfQor
fQorCiBib29sIFJlbmRlckdyaWQ6OmNhblBlcmZvcm1TaW1wbGlmaWVkTGF5b3V0KCkgY29uc3QK
IHsKICAgICAvLyBXZSBjYW5ub3QgcGVyZm9ybSBhIHNpbXBsaWZpZWQgbGF5b3V0IGlmIHdlIG5l
ZWQgdG8gcG9zaXRpb24gdGhlIGl0ZW1zIGFuZCB3ZSBoYXZlIHNvbWUKQEAgLTIwNSw0MSArMjQz
LDEzIEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVu
LCBMYXlvdXRVbml0KQogICAgICAgICAvLyBGSVhNRTogQ29uc2lkZXIgY2FjaGluZyB0aGUgaGFz
RGVmaW5pdGVMb2dpY2FsSGVpZ2h0IHZhbHVlIHRocm91Z2hvdXQgdGhlIGxheW91dC4KICAgICAg
ICAgLy8gRklYTUU6IFdlIG1pZ2h0IG5lZWQgdG8gY2FjaGUgdGhlIGhhc0RlZmluaXRlTG9naWNh
bEhlaWdodCBpZiB0aGUgY2FsbCBvZiBSZW5kZXJCbG9jazo6aGFzRGVmaW5pdGVMb2dpY2FsSGVp
Z2h0KCkgY2F1c2VzIGEgcmVsZXZhbnQgcGVyZm9ybWFuY2UgcmVncmVzc2lvbi4KICAgICAgICAg
Ym9vbCBoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQgPSBSZW5kZXJCbG9jazo6aGFzRGVmaW5pdGVM
b2dpY2FsSGVpZ2h0KCkgfHwgaGFzT3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQoKSB8fCBjb21wdXRl
Q29udGVudExvZ2ljYWxIZWlnaHQoTWFpbk9yUHJlZmVycmVkU2l6ZSwgc3R5bGUoKS5sb2dpY2Fs
SGVpZ2h0KCksIHN0ZDo6bnVsbG9wdCk7Ci0gICAgICAgIG1faGFzQW55T3J0aG9nb25hbEl0ZW0g
PSBmYWxzZTsKLSAgICAgICAgbV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0ZW0g
PSBmYWxzZTsKLSAgICAgICAgVmVjdG9yPFJlbmRlckJveCo+IGFzcGVjdFJhdGlvQmxvY2tTaXpl
RGVwZW5kZW50R3JpZEl0ZW1zOwotICAgICAgICBmb3IgKGF1dG8qIGNoaWxkID0gZmlyc3RDaGls
ZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAg
ICAgICAgaWYgKGNoaWxkLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLSAgICAgICAgICAgIC8vIEdyaWQncyBsYXlvdXQgbG9naWMgY29udHJvbHMg
dGhlIGdyaWQgaXRlbSdzIG92ZXJyaWRlIGhlaWdodCwgaGVuY2Ugd2UgbmVlZCB0bwotICAgICAg
ICAgICAgLy8gY2xlYXIgYW55IG92ZXJyaWRlIGhlaWdodCBzZXQgcHJldmlvdXNseSwgc28gaXQg
ZG9lc24ndCBpbnRlcmZlcmUgaW4gY3VycmVudCBsYXlvdXQKLSAgICAgICAgICAgIC8vIGV4ZWN1
dGlvbi4gR3JpZCBuZXZlciB1c2VzIHRoZSBvdmVycmlkZSB3aWR0aCwgdGhhdCdzIHdoeSB3ZSBk
b24ndCBuZWVkIHRvIGNsZWFyICBpdC4KLSAgICAgICAgICAgIGNoaWxkLT5jbGVhck92ZXJyaWRp
bmdMb2dpY2FsSGVpZ2h0KCk7Ci0KLSAgICAgICAgICAgIC8vIFdlIG1heSBuZWVkIHRvIHJlcGVh
dCB0aGUgdHJhY2sgc2l6aW5nIGluIGNhc2Ugb2YgYW55IGdyaWQgaXRlbSB3YXMgb3J0aG9nb25h
bC4KLSAgICAgICAgICAgIGlmIChHcmlkTGF5b3V0RnVuY3Rpb25zOjppc09ydGhvZ29uYWxDaGls
ZCgqdGhpcywgKmNoaWxkKSkKLSAgICAgICAgICAgICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVt
ID0gdHJ1ZTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gRm9yIGEgZ3JpZCBpdGVtIHRo
YXQgaGFzIGFuIGFzcGVjdC1yYXRpbyBhbmQgYmxvY2stY29uc3RyYWludHMgc3VjaCBhcyB0aGUg
cmVsYXRpdmUgbG9naWNhbCBoZWlnaHQsCi0gICAgICAgICAgICAvLyB3aGVuIHRoZSBncmlkIHdp
ZHRoIGlzIGF1dG8sIHdlIG1heSBuZWVkIGdldCB0aGUgcmVhbCBncmlkIHdpZHRoIGJlZm9yZSBs
YXlpbmcgb3V0IHRoZSBpdGVtLiAKLSAgICAgICAgICAgIGlmIChHcmlkTGF5b3V0RnVuY3Rpb25z
Ojppc0FzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50Q2hpbGQoKmNoaWxkKSAmJiAoc3R5bGUo
KS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzTWlu
Q29udGVudCgpIHx8IHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNNYXhDb250ZW50KCkpKSB7Ci0g
ICAgICAgICAgICAgICAgYXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRHcmlkSXRlbXMuYXBw
ZW5kKGNoaWxkKTsKLSAgICAgICAgICAgICAgICBtX2hhc0FzcGVjdFJhdGlvQmxvY2tTaXplRGVw
ZW5kZW50SXRlbSA9IHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvLyBXZSBrZWVw
IGEgY2FjaGUgb2YgaXRlbXMgd2l0aCBiYXNlbGluZSBhcyBhbGlnbm1lbnQgdmFsdWVzIHNvCi0g
ICAgICAgICAgICAvLyB0aGF0IHdlIG9ubHkgY29tcHV0ZSB0aGUgYmFzZWxpbmUgc2hpbXMgZm9y
IHN1Y2ggaXRlbXMuIFRoaXMKLSAgICAgICAgICAgIC8vIGNhY2hlIGlzIG5lZWRlZCBmb3IgcGVy
Zm9ybWFuY2UgcmVsYXRlZCByZWFzb25zIGR1ZSB0byB0aGUKLSAgICAgICAgICAgIC8vIGNvc3Qg
b2YgZXZhbHVhdGluZyB0aGUgaXRlbSdzIHBhcnRpY2lwYXRpb24gaW4gYSBiYXNlbGluZQotICAg
ICAgICAgICAgLy8gY29udGV4dCBkdXJpbmcgdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0uCi0g
ICAgICAgICAgICBpZiAoaXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3JpZENv
bHVtbkF4aXMpKQotICAgICAgICAgICAgICAgIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY2FjaGVC
YXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3JpZENvbHVtbkF4aXMpOwotICAgICAgICAgICAg
aWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRSb3dBeGlzKSkKLSAg
ICAgICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNhY2hlQmFzZWxpbmVBbGlnbmVk
SXRlbSgqY2hpbGQsIEdyaWRSb3dBeGlzKTsKLSAgICAgICAgfQotICAgICAgICBtX2Jhc2VsaW5l
SXRlbXNDYWNoZWQgPSB0cnVlOworCiAgICAgICAgIHJlc2V0TG9naWNhbEhlaWdodEJlZm9yZUxh
eW91dElmTmVlZGVkKCk7CiAgICAgICAgIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpOwogCisgICAgICAg
IFZlY3RvcjxSZW5kZXJCb3gqPiBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJdGVt
czsKKyAgICAgICAgY29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kYW50QW5kQmFzZWxpbmVJdGVtcyhh
c3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtcyk7CisKICAgICAgICAgLy8gRmll
bGRzZXRzIG5lZWQgdG8gZmluZCB0aGVpciBsZWdlbmQgYW5kIHBvc2l0aW9uIGl0IGluc2lkZSB0
aGUgYm9yZGVyIG9mIHRoZSBvYmplY3QuCiAgICAgICAgIC8vIFRoZSBsZWdlbmQgdGhlbiBnZXRz
IHNraXBwZWQgZHVyaW5nIG5vcm1hbCBsYXlvdXQuIFRoZSBzYW1lIGlzIHRydWUgZm9yIHJ1Ynkg
dGV4dC4KICAgICAgICAgLy8gSXQgZG9lc24ndCBnZXQgaW5jbHVkZWQgaW4gdGhlIG5vcm1hbCBs
YXlvdXQgcHJvY2VzcyBidXQgaXMgaW5zdGVhZCBza2lwcGVkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJHcmlkLmgKaW5kZXggMjlhZTU5NDgwMDNlLi5mYTA1MTYwMDFlYTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaApAQCAtMTkwLDYgKzE5MCw4IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBzaG91bGRSZXNldExvZ2ljYWxIZWlnaHRCZWZvcmVMYXlvdXQoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKICAgICBib29sIGFzcGVjdFJhdGlvUHJlZmVyc0lu
bGluZShjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBib29sIGJsb2NrRmxvd0lzQ29sdW1uQXhpcyk7
CisgICAgCisgICAgdm9pZCBjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRhbnRBbmRCYXNlbGluZUl0
ZW1zKFZlY3RvcjxSZW5kZXJCb3gqPiAmYXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRHcmlk
SXRlbXMpOwogCiAgICAgR3JpZCBtX2dyaWQ7CiAK
</data>
<flag name="commit-queue"
          id="475501"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449536</attachid>
            <date>2022-01-19 17:37:35 -0800</date>
            <delta_ts>2022-02-01 10:26:39 -0800</delta_ts>
            <desc>patch</desc>
            <filename>234578_3.patch</filename>
            <type>text/plain</type>
            <size>8234</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlMTE0YWY0Yzk1Y2YuLmZiMzNkMDEzNDdmNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDIyLTAxLTE5ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2Fy
dEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JpZCBtYXkgYmUgZW1wdHkgaW4gY2VydGFpbiBzY2Vu
YXJpb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
Y2x1ZGUgY2hlY2sgaWYgYSBjaGlsZCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0aGUgbGF5b3V0
LgorICAgICAgICBSZWZhY3RvciBsYXlvdXRCbG9jayB0byBtb3ZlIHNldmVyYWwgc3RlcHMgdG8g
dGhlaXIgb3duIGZ1bmN0aW9uLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y2xlYXJDaGlsZHJlbk92ZXJyaWRpbmdM
b2dpY2lhbEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpjb21wdXRlQXNw
ZWN0UmF0aW9EZXBlbmRhbnRBbmRCYXNlbGluZUl0ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckdyaWQ6OmxheW91dEJsb2NrKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5o
OgorCiAyMDIyLTAxLTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVXNlIGMrKzJhIGluc3RlYWQgb2YgZ251KysyYSBmb3IgQ29jb2EgYnVp
bGRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKaW5kZXggMjZmOGZjYmMw
YWIyLi44MGNkZTgzZmUxMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5j
cHAKQEAgLTE3Niw2ICsxNzYsNTkgQEAgdm9pZCBSZW5kZXJHcmlkOjpyZXBlYXRUcmFja3NTaXpp
bmdJZk5lZWRlZChMYXlvdXRVbml0IGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucywKICAgICB9CiB9
CiAKK3ZvaWQgUmVuZGVyR3JpZDo6Y2xlYXJDaGlsZHJlbk92ZXJyaWRpbmdMb2dpY2lhbEhlaWdo
dCgpCit7CisgICAgLy8gVGhpcyBzaGFsbCBiZSBjYWxsZWQgYmVmb3JlIHJlc2V0TG9naWNhbEhl
aWdodEJlZm9yZUxheW91dElmTmVlZGVkKCkuCisgICAgLy8gVGhlIGNsZWFyT3ZlcnJpZGluZ0xv
Z2ljYWxIZWlnaHQoKSBhZmZlY3RzIHRoZSBiZWhhdmlvciBvZiByZXNldExvZ2ljYWxIZWlnaHRC
ZWZvcmVMYXlvdXRJZk5lZWRlZCgpLgorICAgIAorICAgIGZvciAoYXV0byogY2hpbGQgPSBmaXJz
dENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7Cisg
ICAgICAgIGlmIChtX2dyaWQub3JkZXJJdGVyYXRvcigpLnNob3VsZFNraXBDaGlsZCgqY2hpbGQp
KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIAorICAgICAgICAvLyBHcmlkJ3MgbGF5
b3V0IGxvZ2ljIGNvbnRyb2xzIHRoZSBncmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQsIGhlbmNl
IHdlIG5lZWQgdG8KKyAgICAgICAgLy8gY2xlYXIgYW55IG92ZXJyaWRlIGhlaWdodCBzZXQgcHJl
dmlvdXNseSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4gY3VycmVudCBsYXlvdXQKKyAgICAg
ICAgLy8gZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92ZXJyaWRlIHdpZHRoLCB0aGF0
J3Mgd2h5IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0LgorICAgICAgICBjaGlsZC0+Y2xlYXJP
dmVycmlkaW5nTG9naWNhbEhlaWdodCgpOworICAgIH0KK30KKwordm9pZCBSZW5kZXJHcmlkOjpj
b21wdXRlQXNwZWN0UmF0aW9EZXBlbmRhbnRBbmRCYXNlbGluZUl0ZW1zKFZlY3RvcjxSZW5kZXJC
b3gqPiYgYXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRHcmlkSXRlbXMpCit7CisgICAgLy8g
VGhpcyBmdW5jdGlvbiBzaGFsbCBiZSBjYWxsZWQgZm9sbG93aW5nIHVwZGF0ZUxvZ2ljYWxXaWR0
aCgpLgorICAgIC8vIFRoZSBiZWhhdmlvciBvZiBzaG91bGRTa2lwQ2hpbGQoKSBpcyBtb2RpZmll
ZCBieSB0aGUgdXBkYXRlTG9naWNhbFdpZHRoKCkgYW5kIHdpbGwKKyAgICAvLyByZXN1bHQgaW4g
dW5uZWNlc3NhcnkgaXRlbXMgYmVpbmcgYWRkZWQgaWYgY2FsbGVkIHByaW9yLgorCisgICAgbV9i
YXNlbGluZUl0ZW1zQ2FjaGVkID0gdHJ1ZTsKKyAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0g
ZmFsc2U7CisgICAgbV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0ZW0gPSBmYWxz
ZTsKKworICAgIGZvciAoYXV0byogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGls
ZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7CisgICAgICAgIGlmIChtX2dyaWQub3JkZXJJ
dGVyYXRvcigpLnNob3VsZFNraXBDaGlsZCgqY2hpbGQpKQorICAgICAgICAgICAgY29udGludWU7
CisKKyAgICAgICAgLy8gV2UgbWF5IG5lZWQgdG8gcmVwZWF0IHRoZSB0cmFjayBzaXppbmcgaW4g
Y2FzZSBvZiBhbnkgZ3JpZCBpdGVtIHdhcyBvcnRob2dvbmFsLgorICAgICAgICBpZiAoR3JpZExh
eW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQoKnRoaXMsICpjaGlsZCkpCisgICAgICAg
ICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gdHJ1ZTsKKyAgICAgICAgCisgICAgICAgIC8v
IEZvciBhIGdyaWQgaXRlbSB0aGF0IGhhcyBhbiBhc3BlY3QtcmF0aW8gYW5kIGJsb2NrLWNvbnN0
cmFpbnRzIHN1Y2ggYXMgdGhlIHJlbGF0aXZlIGxvZ2ljYWwgaGVpZ2h0LAorICAgICAgICAvLyB3
aGVuIHRoZSBncmlkIHdpZHRoIGlzIGF1dG8sIHdlIG1heSBuZWVkIGdldCB0aGUgcmVhbCBncmlk
IHdpZHRoIGJlZm9yZSBsYXlpbmcgb3V0IHRoZSBpdGVtLgorICAgICAgICBpZiAoR3JpZExheW91
dEZ1bmN0aW9uczo6aXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudENoaWxkKCpjaGlsZCkg
JiYgKHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lk
dGgoKS5pc01pbkNvbnRlbnQoKSB8fCBzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVu
dCgpKSkgeworICAgICAgICAgICAgYXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRHcmlkSXRl
bXMuYXBwZW5kKGNoaWxkKTsKKyAgICAgICAgICAgIG1faGFzQXNwZWN0UmF0aW9CbG9ja1NpemVE
ZXBlbmRlbnRJdGVtID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdlIGtlZXAgYSBj
YWNoZSBvZiBpdGVtcyB3aXRoIGJhc2VsaW5lIGFzIGFsaWdubWVudCB2YWx1ZXMgc28KKyAgICAg
ICAgLy8gdGhhdCB3ZSBvbmx5IGNvbXB1dGUgdGhlIGJhc2VsaW5lIHNoaW1zIGZvciBzdWNoIGl0
ZW1zLiBUaGlzCisgICAgICAgIC8vIGNhY2hlIGlzIG5lZWRlZCBmb3IgcGVyZm9ybWFuY2UgcmVs
YXRlZCByZWFzb25zIGR1ZSB0byB0aGUKKyAgICAgICAgLy8gY29zdCBvZiBldmFsdWF0aW5nIHRo
ZSBpdGVtJ3MgcGFydGljaXBhdGlvbiBpbiBhIGJhc2VsaW5lCisgICAgICAgIC8vIGNvbnRleHQg
ZHVyaW5nIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtLgorICAgICAgICBpZiAoaXNCYXNlbGlu
ZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3JpZENvbHVtbkF4aXMpKQorICAgICAgICAgICAg
bV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBH
cmlkQ29sdW1uQXhpcyk7CisgICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQo
KmNoaWxkLCBHcmlkUm93QXhpcykpCisgICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGht
LmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRSb3dBeGlzKTsKKyAgICB9Cit9
CisKIGJvb2wgUmVuZGVyR3JpZDo6Y2FuUGVyZm9ybVNpbXBsaWZpZWRMYXlvdXQoKSBjb25zdAog
ewogICAgIC8vIFdlIGNhbm5vdCBwZXJmb3JtIGEgc2ltcGxpZmllZCBsYXlvdXQgaWYgd2UgbmVl
ZCB0byBwb3NpdGlvbiB0aGUgaXRlbXMgYW5kIHdlIGhhdmUgc29tZQpAQCAtMjA1LDQxICsyNTgs
MTUgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4s
IExheW91dFVuaXQpCiAgICAgICAgIC8vIEZJWE1FOiBDb25zaWRlciBjYWNoaW5nIHRoZSBoYXNE
ZWZpbml0ZUxvZ2ljYWxIZWlnaHQgdmFsdWUgdGhyb3VnaG91dCB0aGUgbGF5b3V0LgogICAgICAg
ICAvLyBGSVhNRTogV2UgbWlnaHQgbmVlZCB0byBjYWNoZSB0aGUgaGFzRGVmaW5pdGVMb2dpY2Fs
SGVpZ2h0IGlmIHRoZSBjYWxsIG9mIFJlbmRlckJsb2NrOjpoYXNEZWZpbml0ZUxvZ2ljYWxIZWln
aHQoKSBjYXVzZXMgYSByZWxldmFudCBwZXJmb3JtYW5jZSByZWdyZXNzaW9uLgogICAgICAgICBi
b29sIGhhc0RlZmluaXRlTG9naWNhbEhlaWdodCA9IFJlbmRlckJsb2NrOjpoYXNEZWZpbml0ZUxv
Z2ljYWxIZWlnaHQoKSB8fCBoYXNPdmVycmlkaW5nTG9naWNhbEhlaWdodCgpIHx8IGNvbXB1dGVD
b250ZW50TG9naWNhbEhlaWdodChNYWluT3JQcmVmZXJyZWRTaXplLCBzdHlsZSgpLmxvZ2ljYWxI
ZWlnaHQoKSwgc3RkOjpudWxsb3B0KTsKLSAgICAgICAgbV9oYXNBbnlPcnRob2dvbmFsSXRlbSA9
IGZhbHNlOwotICAgICAgICBtX2hhc0FzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50SXRlbSA9
IGZhbHNlOwotICAgICAgICBWZWN0b3I8UmVuZGVyQm94Kj4gYXNwZWN0UmF0aW9CbG9ja1NpemVE
ZXBlbmRlbnRHcmlkSXRlbXM7Ci0gICAgICAgIGZvciAoYXV0byogY2hpbGQgPSBmaXJzdENoaWxk
Qm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAg
ICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKQotICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICAgICAgLy8gR3JpZCdzIGxheW91dCBsb2dpYyBjb250cm9scyB0
aGUgZ3JpZCBpdGVtJ3Mgb3ZlcnJpZGUgaGVpZ2h0LCBoZW5jZSB3ZSBuZWVkIHRvCi0gICAgICAg
ICAgICAvLyBjbGVhciBhbnkgb3ZlcnJpZGUgaGVpZ2h0IHNldCBwcmV2aW91c2x5LCBzbyBpdCBk
b2Vzbid0IGludGVyZmVyZSBpbiBjdXJyZW50IGxheW91dAotICAgICAgICAgICAgLy8gZXhlY3V0
aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92ZXJyaWRlIHdpZHRoLCB0aGF0J3Mgd2h5IHdlIGRv
bid0IG5lZWQgdG8gY2xlYXIgIGl0LgotICAgICAgICAgICAgY2hpbGQtPmNsZWFyT3ZlcnJpZGlu
Z0xvZ2ljYWxIZWlnaHQoKTsKLQotICAgICAgICAgICAgLy8gV2UgbWF5IG5lZWQgdG8gcmVwZWF0
IHRoZSB0cmFjayBzaXppbmcgaW4gY2FzZSBvZiBhbnkgZ3JpZCBpdGVtIHdhcyBvcnRob2dvbmFs
LgotICAgICAgICAgICAgaWYgKEdyaWRMYXlvdXRGdW5jdGlvbnM6OmlzT3J0aG9nb25hbENoaWxk
KCp0aGlzLCAqY2hpbGQpKQotICAgICAgICAgICAgICAgIG1faGFzQW55T3J0aG9nb25hbEl0ZW0g
PSB0cnVlOwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBGb3IgYSBncmlkIGl0ZW0gdGhh
dCBoYXMgYW4gYXNwZWN0LXJhdGlvIGFuZCBibG9jay1jb25zdHJhaW50cyBzdWNoIGFzIHRoZSBy
ZWxhdGl2ZSBsb2dpY2FsIGhlaWdodCwKLSAgICAgICAgICAgIC8vIHdoZW4gdGhlIGdyaWQgd2lk
dGggaXMgYXV0bywgd2UgbWF5IG5lZWQgZ2V0IHRoZSByZWFsIGdyaWQgd2lkdGggYmVmb3JlIGxh
eWluZyBvdXQgdGhlIGl0ZW0uIAotICAgICAgICAgICAgaWYgKEdyaWRMYXlvdXRGdW5jdGlvbnM6
OmlzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRDaGlsZCgqY2hpbGQpICYmIChzdHlsZSgp
LmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNNaW5D
b250ZW50KCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc01heENvbnRlbnQoKSkpIHsKLSAg
ICAgICAgICAgICAgICBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtcy5hcHBl
bmQoY2hpbGQpOwotICAgICAgICAgICAgICAgIG1faGFzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBl
bmRlbnRJdGVtID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8vIFdlIGtlZXAg
YSBjYWNoZSBvZiBpdGVtcyB3aXRoIGJhc2VsaW5lIGFzIGFsaWdubWVudCB2YWx1ZXMgc28KLSAg
ICAgICAgICAgIC8vIHRoYXQgd2Ugb25seSBjb21wdXRlIHRoZSBiYXNlbGluZSBzaGltcyBmb3Ig
c3VjaCBpdGVtcy4gVGhpcwotICAgICAgICAgICAgLy8gY2FjaGUgaXMgbmVlZGVkIGZvciBwZXJm
b3JtYW5jZSByZWxhdGVkIHJlYXNvbnMgZHVlIHRvIHRoZQotICAgICAgICAgICAgLy8gY29zdCBv
ZiBldmFsdWF0aW5nIHRoZSBpdGVtJ3MgcGFydGljaXBhdGlvbiBpbiBhIGJhc2VsaW5lCi0gICAg
ICAgICAgICAvLyBjb250ZXh0IGR1cmluZyB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobS4KLSAg
ICAgICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkQ29s
dW1uQXhpcykpCi0gICAgICAgICAgICAgICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJh
c2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBHcmlkQ29sdW1uQXhpcyk7Ci0gICAgICAgICAgICBp
ZiAoaXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3JpZFJvd0F4aXMpKQotICAg
ICAgICAgICAgICAgIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJ
dGVtKCpjaGlsZCwgR3JpZFJvd0F4aXMpOwotICAgICAgICB9Ci0gICAgICAgIG1fYmFzZWxpbmVJ
dGVtc0NhY2hlZCA9IHRydWU7CisKKyAgICAgICAgY2xlYXJDaGlsZHJlbk92ZXJyaWRpbmdMb2dp
Y2lhbEhlaWdodCgpOwogICAgICAgICByZXNldExvZ2ljYWxIZWlnaHRCZWZvcmVMYXlvdXRJZk5l
ZWRlZCgpOworCiAgICAgICAgIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpOwogCisgICAgICAgIFZlY3Rv
cjxSZW5kZXJCb3gqPiBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtczsKKyAg
ICAgICAgY29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kYW50QW5kQmFzZWxpbmVJdGVtcyhhc3BlY3RS
YXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtcyk7CisgICAgICAgIAogICAgICAgICAvLyBG
aWVsZHNldHMgbmVlZCB0byBmaW5kIHRoZWlyIGxlZ2VuZCBhbmQgcG9zaXRpb24gaXQgaW5zaWRl
IHRoZSBib3JkZXIgb2YgdGhlIG9iamVjdC4KICAgICAgICAgLy8gVGhlIGxlZ2VuZCB0aGVuIGdl
dHMgc2tpcHBlZCBkdXJpbmcgbm9ybWFsIGxheW91dC4gVGhlIHNhbWUgaXMgdHJ1ZSBmb3IgcnVi
eSB0ZXh0LgogICAgICAgICAvLyBJdCBkb2Vzbid0IGdldCBpbmNsdWRlZCBpbiB0aGUgbm9ybWFs
IGxheW91dCBwcm9jZXNzIGJ1dCBpcyBpbnN0ZWFkIHNraXBwZWQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckdyaWQuaAppbmRleCAyOWFlNTk0ODAwM2UuLjExMTE0YWY4Y2ZhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCkBAIC0xOTAsNiArMTkwLDkgQEAgcHJpdmF0
ZToKICAgICBib29sIHNob3VsZFJlc2V0TG9naWNhbEhlaWdodEJlZm9yZUxheW91dCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIGJvb2wgYXNwZWN0UmF0aW9QcmVmZXJz
SW5saW5lKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIGJvb2wgYmxvY2tGbG93SXNDb2x1bW5BeGlz
KTsKKyAgICAKKyAgICB2b2lkIGNvbXB1dGVBc3BlY3RSYXRpb0RlcGVuZGFudEFuZEJhc2VsaW5l
SXRlbXMoVmVjdG9yPFJlbmRlckJveCo+JiBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdy
aWRJdGVtcyk7CisgICAgdm9pZCBjbGVhckNoaWxkcmVuT3ZlcnJpZGluZ0xvZ2ljaWFsSGVpZ2h0
KCk7CiAKICAgICBHcmlkIG1fZ3JpZDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450546</attachid>
            <date>2022-02-01 10:26:42 -0800</date>
            <delta_ts>2022-02-01 12:33:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234578-20220201102641.patch</filename>
            <type>text/plain</type>
            <size>8858</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4ODE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhMTAzODE0OTVhNjVi
NTkwZWMwNDVkNTcyOTlhNWIxY2M2NzRiOS4uZDJmYWI0ZTMyYzMyZjg0OWYyZDg3YTZmM2U1MDg0
NjMxNjFjZmMzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAyLTAxICBCcmFu
ZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JpZCBt
YXkgYmUgZW1wdHkgaW4gY2VydGFpbiBzY2VuYXJpb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY2x1ZGUgY2hlY2sgaWYgYSBjaGlsZCBzaG91bGQg
YmUgZXhjbHVkZWQgZnJvbSB0aGUgbGF5b3V0LgorICAgICAgICBSZWZhY3RvciBsYXlvdXRCbG9j
ayB0byBtb3ZlIHNldmVyYWwgc3RlcHMgdG8gdGhlaXIgb3duIGZ1bmN0aW9uLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3Jp
ZDo6Y2xlYXJDaGlsZHJlbk92ZXJyaWRpbmdMb2dpY2lhbEhlaWdodCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJHcmlkOjpjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRhbnRBbmRCYXNlbGluZUl0
ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmxheW91dEJsb2NrKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5oOgorCiAyMDIyLTAxLTMxICBKIFBhc2NvZSAgPGpf
cGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIFByb3ZpZGUgU1BJIHRvIGV4
cG9ydC9pbXBvcnQgbG9jYWwgY3JlZGVudGlhbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJHcmlkLmNwcAppbmRleCAyNmY4ZmNiYzBhYjI3OTYwYzQ5MzkyMjNlNzQ4ZDkzYzNiODNjOTlh
Li40MDkxYTZlOThhM2RmNDUzOWUwNzIxYjEwZDlkYWMwNjc0N2ZmMGZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0xODYsNiArMTg2LDY2IEBAIGJvb2wgUmVu
ZGVyR3JpZDo6Y2FuUGVyZm9ybVNpbXBsaWZpZWRMYXlvdXQoKSBjb25zdAogICAgIHJldHVybiBS
ZW5kZXJCbG9jazo6Y2FuUGVyZm9ybVNpbXBsaWZpZWRMYXlvdXQoKTsKIH0KIAordm9pZCBSZW5k
ZXJHcmlkOjpjbGVhckNoaWxkcmVuT3ZlcnJpZGluZ0xvZ2ljaWFsSGVpZ2h0KCkKK3sKKyAgICAv
LyBUaGlzIHNoYWxsIGJlIGNhbGxlZCBiZWZvcmUgcmVzZXRMb2dpY2FsSGVpZ2h0QmVmb3JlTGF5
b3V0SWZOZWVkZWQoKS4KKyAgICAvLyBUaGUgY2xlYXJPdmVycmlkaW5nTG9naWNhbEhlaWdodCgp
IGFmZmVjdHMgdGhlIGJlaGF2aW9yIG9mIHJlc2V0TG9naWNhbEhlaWdodEJlZm9yZUxheW91dElm
TmVlZGVkKCkuCisgICAgCisgICAgZm9yIChhdXRvKiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsg
Y2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgaWYgKGNo
aWxkLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAKKyAgICAgICAgLy8gR3JpZCdzIGxheW91dCBsb2dpYyBjb250cm9scyB0aGUgZ3JpZCBp
dGVtJ3Mgb3ZlcnJpZGUgaGVpZ2h0LCBoZW5jZSB3ZSBuZWVkIHRvCisgICAgICAgIC8vIGNsZWFy
IGFueSBvdmVycmlkZSBoZWlnaHQgc2V0IHByZXZpb3VzbHksIHNvIGl0IGRvZXNuJ3QgaW50ZXJm
ZXJlIGluIGN1cnJlbnQgbGF5b3V0CisgICAgICAgIC8vIGV4ZWN1dGlvbi4gR3JpZCBuZXZlciB1
c2VzIHRoZSBvdmVycmlkZSB3aWR0aCwgdGhhdCdzIHdoeSB3ZSBkb24ndCBuZWVkIHRvIGNsZWFy
ICBpdC4KKyAgICAgICAgY2hpbGQtPmNsZWFyT3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQoKTsKKyAg
ICB9Cit9CisKKwordm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRhbnRB
bmRCYXNlbGluZUl0ZW1zKFZlY3RvcjxSZW5kZXJCb3gqPiYgYXNwZWN0UmF0aW9CbG9ja1NpemVE
ZXBlbmRlbnRHcmlkSXRlbXMpCit7CisgICAgLy8gVGhpcyBmdW5jdGlvbiBzaGFsbCBiZSBjYWxs
ZWQgZm9sbG93aW5nIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpLgorICAgIC8vIFRoZSBiZWhhdmlvciBv
ZiBzaG91bGRTa2lwQ2hpbGQoKSBpcyBtb2RpZmllZCBieSB0aGUgdXBkYXRlTG9naWNhbFdpZHRo
KCkgYW5kIHdpbGwKKyAgICAvLyByZXN1bHQgaW4gdW5uZWNlc3NhcnkgaXRlbXMgYmVpbmcgYWRk
ZWQgaWYgY2FsbGVkIHByaW9yLgorICAgIAorICAgIG1fYmFzZWxpbmVJdGVtc0NhY2hlZCA9IHRy
dWU7CisgICAgbV9oYXNBbnlPcnRob2dvbmFsSXRlbSA9IGZhbHNlOworICAgIG1faGFzQXNwZWN0
UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRJdGVtID0gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8qIGNo
aWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdC
b3goKSkgeworICAgICAgICBpZiAobV9ncmlkLm9yZGVySXRlcmF0b3IoKS5zaG91bGRTa2lwQ2hp
bGQoKmNoaWxkKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIC8vIEdyaWQncyBs
YXlvdXQgbG9naWMgY29udHJvbHMgdGhlIGdyaWQgaXRlbSdzIG92ZXJyaWRlIGhlaWdodCwgaGVu
Y2Ugd2UgbmVlZCB0bworICAgICAgICAvLyBjbGVhciBhbnkgb3ZlcnJpZGUgaGVpZ2h0IHNldCBw
cmV2aW91c2x5LCBzbyBpdCBkb2Vzbid0IGludGVyZmVyZSBpbiBjdXJyZW50IGxheW91dAorICAg
ICAgICAvLyBleGVjdXRpb24uIEdyaWQgbmV2ZXIgdXNlcyB0aGUgb3ZlcnJpZGUgd2lkdGgsIHRo
YXQncyB3aHkgd2UgZG9uJ3QgbmVlZCB0byBjbGVhciAgaXQuCisgICAgICAgIGNoaWxkLT5jbGVh
ck92ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KCk7CisKKyAgICAgICAgLy8gV2UgbWF5IG5lZWQgdG8g
cmVwZWF0IHRoZSB0cmFjayBzaXppbmcgaW4gY2FzZSBvZiBhbnkgZ3JpZCBpdGVtIHdhcyBvcnRo
b2dvbmFsLgorICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hp
bGQoKnRoaXMsICpjaGlsZCkpCisgICAgICAgICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0g
dHJ1ZTsKKyAgICAgICAgCisgICAgICAgIC8vIEZvciBhIGdyaWQgaXRlbSB0aGF0IGhhcyBhbiBh
c3BlY3QtcmF0aW8gYW5kIGJsb2NrLWNvbnN0cmFpbnRzIHN1Y2ggYXMgdGhlIHJlbGF0aXZlIGxv
Z2ljYWwgaGVpZ2h0LAorICAgICAgICAvLyB3aGVuIHRoZSBncmlkIHdpZHRoIGlzIGF1dG8sIHdl
IG1heSBuZWVkIGdldCB0aGUgcmVhbCBncmlkIHdpZHRoIGJlZm9yZSBsYXlpbmcgb3V0IHRoZSBp
dGVtLgorICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNBc3BlY3RSYXRpb0Jsb2Nr
U2l6ZURlcGVuZGVudENoaWxkKCpjaGlsZCkgJiYgKHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNB
dXRvKCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc01pbkNvbnRlbnQoKSB8fCBzdHlsZSgp
LmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSkgeworICAgICAgICAgICAgYXNwZWN0UmF0
aW9CbG9ja1NpemVEZXBlbmRlbnRHcmlkSXRlbXMuYXBwZW5kKGNoaWxkKTsKKyAgICAgICAgICAg
IG1faGFzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRJdGVtID0gdHJ1ZTsKKyAgICAgICAg
fQorCisgICAgICAgIC8vIFdlIGtlZXAgYSBjYWNoZSBvZiBpdGVtcyB3aXRoIGJhc2VsaW5lIGFz
IGFsaWdubWVudCB2YWx1ZXMgc28KKyAgICAgICAgLy8gdGhhdCB3ZSBvbmx5IGNvbXB1dGUgdGhl
IGJhc2VsaW5lIHNoaW1zIGZvciBzdWNoIGl0ZW1zLiBUaGlzCisgICAgICAgIC8vIGNhY2hlIGlz
IG5lZWRlZCBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCByZWFzb25zIGR1ZSB0byB0aGUKKyAgICAg
ICAgLy8gY29zdCBvZiBldmFsdWF0aW5nIHRoZSBpdGVtJ3MgcGFydGljaXBhdGlvbiBpbiBhIGJh
c2VsaW5lCisgICAgICAgIC8vIGNvbnRleHQgZHVyaW5nIHRoZSB0cmFjayBzaXppbmcgYWxnb3Jp
dGhtLgorICAgICAgICBpZiAoaXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3Jp
ZENvbHVtbkF4aXMpKQorICAgICAgICAgICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJh
c2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBHcmlkQ29sdW1uQXhpcyk7CisgICAgICAgIGlmIChp
c0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkUm93QXhpcykpCisgICAgICAg
ICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbSgqY2hp
bGQsIEdyaWRSb3dBeGlzKTsKKyAgICB9Cit9CisKKwogdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRC
bG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQpCiB7CiAgICAgQVNTRVJUKG5l
ZWRzTGF5b3V0KCkpOwpAQCAtMjA1LDQxICsyNjUsMTcgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlv
dXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQpCiAgICAgICAgIC8vIEZJ
WE1FOiBDb25zaWRlciBjYWNoaW5nIHRoZSBoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQgdmFsdWUg
dGhyb3VnaG91dCB0aGUgbGF5b3V0LgogICAgICAgICAvLyBGSVhNRTogV2UgbWlnaHQgbmVlZCB0
byBjYWNoZSB0aGUgaGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0IGlmIHRoZSBjYWxsIG9mIFJlbmRl
ckJsb2NrOjpoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQoKSBjYXVzZXMgYSByZWxldmFudCBwZXJm
b3JtYW5jZSByZWdyZXNzaW9uLgogICAgICAgICBib29sIGhhc0RlZmluaXRlTG9naWNhbEhlaWdo
dCA9IFJlbmRlckJsb2NrOjpoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQoKSB8fCBoYXNPdmVycmlk
aW5nTG9naWNhbEhlaWdodCgpIHx8IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChNYWluT3JQ
cmVmZXJyZWRTaXplLCBzdHlsZSgpLmxvZ2ljYWxIZWlnaHQoKSwgc3RkOjpudWxsb3B0KTsKLSAg
ICAgICAgbV9oYXNBbnlPcnRob2dvbmFsSXRlbSA9IGZhbHNlOwotICAgICAgICBtX2hhc0FzcGVj
dFJhdGlvQmxvY2tTaXplRGVwZW5kZW50SXRlbSA9IGZhbHNlOwotICAgICAgICBWZWN0b3I8UmVu
ZGVyQm94Kj4gYXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRHcmlkSXRlbXM7Ci0gICAgICAg
IGZvciAoYXV0byogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxk
LT5uZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93
UG9zaXRpb25lZCgpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgLy8g
R3JpZCdzIGxheW91dCBsb2dpYyBjb250cm9scyB0aGUgZ3JpZCBpdGVtJ3Mgb3ZlcnJpZGUgaGVp
Z2h0LCBoZW5jZSB3ZSBuZWVkIHRvCi0gICAgICAgICAgICAvLyBjbGVhciBhbnkgb3ZlcnJpZGUg
aGVpZ2h0IHNldCBwcmV2aW91c2x5LCBzbyBpdCBkb2Vzbid0IGludGVyZmVyZSBpbiBjdXJyZW50
IGxheW91dAotICAgICAgICAgICAgLy8gZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92
ZXJyaWRlIHdpZHRoLCB0aGF0J3Mgd2h5IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0LgotICAg
ICAgICAgICAgY2hpbGQtPmNsZWFyT3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQoKTsKLQotICAgICAg
ICAgICAgLy8gV2UgbWF5IG5lZWQgdG8gcmVwZWF0IHRoZSB0cmFjayBzaXppbmcgaW4gY2FzZSBv
ZiBhbnkgZ3JpZCBpdGVtIHdhcyBvcnRob2dvbmFsLgotICAgICAgICAgICAgaWYgKEdyaWRMYXlv
dXRGdW5jdGlvbnM6OmlzT3J0aG9nb25hbENoaWxkKCp0aGlzLCAqY2hpbGQpKQotICAgICAgICAg
ICAgICAgIG1faGFzQW55T3J0aG9nb25hbEl0ZW0gPSB0cnVlOwotICAgICAgICAgICAgCi0gICAg
ICAgICAgICAvLyBGb3IgYSBncmlkIGl0ZW0gdGhhdCBoYXMgYW4gYXNwZWN0LXJhdGlvIGFuZCBi
bG9jay1jb25zdHJhaW50cyBzdWNoIGFzIHRoZSByZWxhdGl2ZSBsb2dpY2FsIGhlaWdodCwKLSAg
ICAgICAgICAgIC8vIHdoZW4gdGhlIGdyaWQgd2lkdGggaXMgYXV0bywgd2UgbWF5IG5lZWQgZ2V0
IHRoZSByZWFsIGdyaWQgd2lkdGggYmVmb3JlIGxheWluZyBvdXQgdGhlIGl0ZW0uIAotICAgICAg
ICAgICAgaWYgKEdyaWRMYXlvdXRGdW5jdGlvbnM6OmlzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBl
bmRlbnRDaGlsZCgqY2hpbGQpICYmIChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8
IHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGUoKS5sb2dpY2Fs
V2lkdGgoKS5pc01heENvbnRlbnQoKSkpIHsKLSAgICAgICAgICAgICAgICBhc3BlY3RSYXRpb0Js
b2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtcy5hcHBlbmQoY2hpbGQpOwotICAgICAgICAgICAgICAg
IG1faGFzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRJdGVtID0gdHJ1ZTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIC8vIFdlIGtlZXAgYSBjYWNoZSBvZiBpdGVtcyB3aXRoIGJhc2Vs
aW5lIGFzIGFsaWdubWVudCB2YWx1ZXMgc28KLSAgICAgICAgICAgIC8vIHRoYXQgd2Ugb25seSBj
b21wdXRlIHRoZSBiYXNlbGluZSBzaGltcyBmb3Igc3VjaCBpdGVtcy4gVGhpcwotICAgICAgICAg
ICAgLy8gY2FjaGUgaXMgbmVlZGVkIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIHJlYXNvbnMgZHVl
IHRvIHRoZQotICAgICAgICAgICAgLy8gY29zdCBvZiBldmFsdWF0aW5nIHRoZSBpdGVtJ3MgcGFy
dGljaXBhdGlvbiBpbiBhIGJhc2VsaW5lCi0gICAgICAgICAgICAvLyBjb250ZXh0IGR1cmluZyB0
aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobS4KLSAgICAgICAgICAgIGlmIChpc0Jhc2VsaW5lQWxp
Z25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkQ29sdW1uQXhpcykpCi0gICAgICAgICAgICAgICAg
bV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBH
cmlkQ29sdW1uQXhpcyk7Ci0gICAgICAgICAgICBpZiAoaXNCYXNlbGluZUFsaWdubWVudEZvckNo
aWxkKCpjaGlsZCwgR3JpZFJvd0F4aXMpKQotICAgICAgICAgICAgICAgIG1fdHJhY2tTaXppbmdB
bGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3JpZFJvd0F4aXMpOwot
ICAgICAgICB9Ci0gICAgICAgIG1fYmFzZWxpbmVJdGVtc0NhY2hlZCA9IHRydWU7CisKKyAgICAg
ICAgLy8gRklYTUU6IEludmVzdGlnYXRlIGNsZWFyaW5nIGxvZ2ljaWFsIGhlaWdodHMgbGF0ZXIg
aW4gY29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kYW50QW5kQmFzZWxpbmVJdGVtcworICAgICAgICAv
LyBpbnN0ZWFkIG9mIGhlcmUuCisgICAgICAgIGNsZWFyQ2hpbGRyZW5PdmVycmlkaW5nTG9naWNp
YWxIZWlnaHQoKTsKICAgICAgICAgcmVzZXRMb2dpY2FsSGVpZ2h0QmVmb3JlTGF5b3V0SWZOZWVk
ZWQoKTsKKwogICAgICAgICB1cGRhdGVMb2dpY2FsV2lkdGgoKTsKIAorICAgICAgICBWZWN0b3I8
UmVuZGVyQm94Kj4gYXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRHcmlkSXRlbXM7CisgICAg
ICAgIGNvbXB1dGVBc3BlY3RSYXRpb0RlcGVuZGFudEFuZEJhc2VsaW5lSXRlbXMoYXNwZWN0UmF0
aW9CbG9ja1NpemVEZXBlbmRlbnRHcmlkSXRlbXMpOworICAgICAgICAKICAgICAgICAgLy8gRmll
bGRzZXRzIG5lZWQgdG8gZmluZCB0aGVpciBsZWdlbmQgYW5kIHBvc2l0aW9uIGl0IGluc2lkZSB0
aGUgYm9yZGVyIG9mIHRoZSBvYmplY3QuCiAgICAgICAgIC8vIFRoZSBsZWdlbmQgdGhlbiBnZXRz
IHNraXBwZWQgZHVyaW5nIG5vcm1hbCBsYXlvdXQuIFRoZSBzYW1lIGlzIHRydWUgZm9yIHJ1Ynkg
dGV4dC4KICAgICAgICAgLy8gSXQgZG9lc24ndCBnZXQgaW5jbHVkZWQgaW4gdGhlIG5vcm1hbCBs
YXlvdXQgcHJvY2VzcyBidXQgaXMgaW5zdGVhZCBza2lwcGVkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJHcmlkLmgKaW5kZXggMjlhZTU5NDgwMDNlZTZkMmRkNDQzYjU2OTlkY2IyZDdjMTdi
OTYyNi4uMTExMTRhZjhjZmEyNjI4OGQ0ZTJjM2IxZmNmZmIzNWEzNzQ0NzcxOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCkBAIC0xOTAsNiArMTkwLDkgQEAgcHJpdmF0ZToK
ICAgICBib29sIHNob3VsZFJlc2V0TG9naWNhbEhlaWdodEJlZm9yZUxheW91dCgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIGJvb2wgYXNwZWN0UmF0aW9QcmVmZXJzSW5s
aW5lKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIGJvb2wgYmxvY2tGbG93SXNDb2x1bW5BeGlzKTsK
KyAgICAKKyAgICB2b2lkIGNvbXB1dGVBc3BlY3RSYXRpb0RlcGVuZGFudEFuZEJhc2VsaW5lSXRl
bXMoVmVjdG9yPFJlbmRlckJveCo+JiBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJ
dGVtcyk7CisgICAgdm9pZCBjbGVhckNoaWxkcmVuT3ZlcnJpZGluZ0xvZ2ljaWFsSGVpZ2h0KCk7
CiAKICAgICBHcmlkIG1fZ3JpZDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450557</attachid>
            <date>2022-02-01 12:33:44 -0800</date>
            <delta_ts>2022-02-02 16:11:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234578-20220201123343.patch</filename>
            <type>text/plain</type>
            <size>8853</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4ODE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhMTAzODE0OTVhNjVi
NTkwZWMwNDVkNTcyOTlhNWIxY2M2NzRiOS4uN2EyOTVlN2Y0Mjk1MzgyNWRlMGE3M2FkNzBlYTg3
NzQwMTViNzk0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAyLTAxICBCcmFu
ZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JpZCBt
YXkgYmUgZW1wdHkgaW4gY2VydGFpbiBzY2VuYXJpb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY2x1ZGUgY2hlY2sgaWYgYSBjaGlsZCBzaG91bGQg
YmUgZXhjbHVkZWQgZnJvbSB0aGUgbGF5b3V0LgorICAgICAgICBSZWZhY3RvciBsYXlvdXRCbG9j
ayB0byBtb3ZlIHNldmVyYWwgc3RlcHMgdG8gdGhlaXIgb3duIGZ1bmN0aW9uLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3Jp
ZDo6Y2xlYXJDaGlsZHJlbk92ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVBc3BlY3RSYXRpb0RlcGVuZGFudEFuZEJhc2VsaW5lSXRl
bXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2spOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmg6CisKIDIwMjItMDEtMzEgIEogUGFzY29lICA8al9w
YXNjb2VAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJBdXRobl0gUHJvdmlkZSBTUEkgdG8gZXhw
b3J0L2ltcG9ydCBsb2NhbCBjcmVkZW50aWFscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckdyaWQuY3BwCmluZGV4IDI2ZjhmY2JjMGFiMjc5NjBjNDkzOTIyM2U3NDhkOTNjM2I4M2M5OWEu
LjA1NGUzMDA0NWI1NzFmZDQ1MDU2NWY5OTVmODAwZDMwZmE3MDVhZDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTE4Niw2ICsxODYsNjYgQEAgYm9vbCBSZW5k
ZXJHcmlkOjpjYW5QZXJmb3JtU2ltcGxpZmllZExheW91dCgpIGNvbnN0CiAgICAgcmV0dXJuIFJl
bmRlckJsb2NrOjpjYW5QZXJmb3JtU2ltcGxpZmllZExheW91dCgpOwogfQogCit2b2lkIFJlbmRl
ckdyaWQ6OmNsZWFyQ2hpbGRyZW5PdmVycmlkaW5nTG9naWNhbEhlaWdodCgpCit7CisgICAgLy8g
VGhpcyBzaGFsbCBiZSBjYWxsZWQgYmVmb3JlIHJlc2V0TG9naWNhbEhlaWdodEJlZm9yZUxheW91
dElmTmVlZGVkKCkuCisgICAgLy8gVGhlIGNsZWFyT3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQoKSBh
ZmZlY3RzIHRoZSBiZWhhdmlvciBvZiByZXNldExvZ2ljYWxIZWlnaHRCZWZvcmVMYXlvdXRJZk5l
ZWRlZCgpLgorICAgIAorICAgIGZvciAoYXV0byogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNo
aWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7CisgICAgICAgIGlmIChjaGls
ZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgCisgICAgICAgIC8vIEdyaWQncyBsYXlvdXQgbG9naWMgY29udHJvbHMgdGhlIGdyaWQgaXRl
bSdzIG92ZXJyaWRlIGhlaWdodCwgaGVuY2Ugd2UgbmVlZCB0bworICAgICAgICAvLyBjbGVhciBh
bnkgb3ZlcnJpZGUgaGVpZ2h0IHNldCBwcmV2aW91c2x5LCBzbyBpdCBkb2Vzbid0IGludGVyZmVy
ZSBpbiBjdXJyZW50IGxheW91dAorICAgICAgICAvLyBleGVjdXRpb24uIEdyaWQgbmV2ZXIgdXNl
cyB0aGUgb3ZlcnJpZGUgd2lkdGgsIHRoYXQncyB3aHkgd2UgZG9uJ3QgbmVlZCB0byBjbGVhciAg
aXQuCisgICAgICAgIGNoaWxkLT5jbGVhck92ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KCk7CisgICAg
fQorfQorCisKK3ZvaWQgUmVuZGVyR3JpZDo6Y29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kYW50QW5k
QmFzZWxpbmVJdGVtcyhWZWN0b3I8UmVuZGVyQm94Kj4mIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVw
ZW5kZW50R3JpZEl0ZW1zKQoreworICAgIC8vIFRoaXMgZnVuY3Rpb24gc2hhbGwgYmUgY2FsbGVk
IGZvbGxvd2luZyB1cGRhdGVMb2dpY2FsV2lkdGgoKS4KKyAgICAvLyBUaGUgYmVoYXZpb3Igb2Yg
c2hvdWxkU2tpcENoaWxkKCkgaXMgbW9kaWZpZWQgYnkgdGhlIHVwZGF0ZUxvZ2ljYWxXaWR0aCgp
IGFuZCB3aWxsCisgICAgLy8gcmVzdWx0IGluIHVubmVjZXNzYXJ5IGl0ZW1zIGJlaW5nIGFkZGVk
IGlmIGNhbGxlZCBwcmlvci4KKyAgICAKKyAgICBtX2Jhc2VsaW5lSXRlbXNDYWNoZWQgPSB0cnVl
OworICAgIG1faGFzQW55T3J0aG9nb25hbEl0ZW0gPSBmYWxzZTsKKyAgICBtX2hhc0FzcGVjdFJh
dGlvQmxvY2tTaXplRGVwZW5kZW50SXRlbSA9IGZhbHNlOworCisgICAgZm9yIChhdXRvKiBjaGls
ZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94
KCkpIHsKKyAgICAgICAgaWYgKG1fZ3JpZC5vcmRlckl0ZXJhdG9yKCkuc2hvdWxkU2tpcENoaWxk
KCpjaGlsZCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAvLyBHcmlkJ3MgbGF5
b3V0IGxvZ2ljIGNvbnRyb2xzIHRoZSBncmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQsIGhlbmNl
IHdlIG5lZWQgdG8KKyAgICAgICAgLy8gY2xlYXIgYW55IG92ZXJyaWRlIGhlaWdodCBzZXQgcHJl
dmlvdXNseSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4gY3VycmVudCBsYXlvdXQKKyAgICAg
ICAgLy8gZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92ZXJyaWRlIHdpZHRoLCB0aGF0
J3Mgd2h5IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0LgorICAgICAgICBjaGlsZC0+Y2xlYXJP
dmVycmlkaW5nTG9naWNhbEhlaWdodCgpOworCisgICAgICAgIC8vIFdlIG1heSBuZWVkIHRvIHJl
cGVhdCB0aGUgdHJhY2sgc2l6aW5nIGluIGNhc2Ugb2YgYW55IGdyaWQgaXRlbSB3YXMgb3J0aG9n
b25hbC4KKyAgICAgICAgaWYgKEdyaWRMYXlvdXRGdW5jdGlvbnM6OmlzT3J0aG9nb25hbENoaWxk
KCp0aGlzLCAqY2hpbGQpKQorICAgICAgICAgICAgbV9oYXNBbnlPcnRob2dvbmFsSXRlbSA9IHRy
dWU7CisgICAgICAgIAorICAgICAgICAvLyBGb3IgYSBncmlkIGl0ZW0gdGhhdCBoYXMgYW4gYXNw
ZWN0LXJhdGlvIGFuZCBibG9jay1jb25zdHJhaW50cyBzdWNoIGFzIHRoZSByZWxhdGl2ZSBsb2dp
Y2FsIGhlaWdodCwKKyAgICAgICAgLy8gd2hlbiB0aGUgZ3JpZCB3aWR0aCBpcyBhdXRvLCB3ZSBt
YXkgbmVlZCBnZXQgdGhlIHJlYWwgZ3JpZCB3aWR0aCBiZWZvcmUgbGF5aW5nIG91dCB0aGUgaXRl
bS4KKyAgICAgICAgaWYgKEdyaWRMYXlvdXRGdW5jdGlvbnM6OmlzQXNwZWN0UmF0aW9CbG9ja1Np
emVEZXBlbmRlbnRDaGlsZCgqY2hpbGQpICYmIChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0
bygpIHx8IHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGUoKS5s
b2dpY2FsV2lkdGgoKS5pc01heENvbnRlbnQoKSkpIHsKKyAgICAgICAgICAgIGFzcGVjdFJhdGlv
QmxvY2tTaXplRGVwZW5kZW50R3JpZEl0ZW1zLmFwcGVuZChjaGlsZCk7CisgICAgICAgICAgICBt
X2hhc0FzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50SXRlbSA9IHRydWU7CisgICAgICAgIH0K
KworICAgICAgICAvLyBXZSBrZWVwIGEgY2FjaGUgb2YgaXRlbXMgd2l0aCBiYXNlbGluZSBhcyBh
bGlnbm1lbnQgdmFsdWVzIHNvCisgICAgICAgIC8vIHRoYXQgd2Ugb25seSBjb21wdXRlIHRoZSBi
YXNlbGluZSBzaGltcyBmb3Igc3VjaCBpdGVtcy4gVGhpcworICAgICAgICAvLyBjYWNoZSBpcyBu
ZWVkZWQgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgcmVhc29ucyBkdWUgdG8gdGhlCisgICAgICAg
IC8vIGNvc3Qgb2YgZXZhbHVhdGluZyB0aGUgaXRlbSdzIHBhcnRpY2lwYXRpb24gaW4gYSBiYXNl
bGluZQorICAgICAgICAvLyBjb250ZXh0IGR1cmluZyB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRo
bS4KKyAgICAgICAgaWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRD
b2x1bW5BeGlzKSkKKyAgICAgICAgICAgIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY2FjaGVCYXNl
bGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3JpZENvbHVtbkF4aXMpOworICAgICAgICBpZiAoaXNC
YXNlbGluZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3JpZFJvd0F4aXMpKQorICAgICAgICAg
ICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxk
LCBHcmlkUm93QXhpcyk7CisgICAgfQorfQorCisKIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0Qmxv
Y2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogewogICAgIEFTU0VSVChuZWVk
c0xheW91dCgpKTsKQEAgLTIwNSw0MSArMjY1LDE3IEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0
QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogICAgICAgICAvLyBGSVhN
RTogQ29uc2lkZXIgY2FjaGluZyB0aGUgaGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0IHZhbHVlIHRo
cm91Z2hvdXQgdGhlIGxheW91dC4KICAgICAgICAgLy8gRklYTUU6IFdlIG1pZ2h0IG5lZWQgdG8g
Y2FjaGUgdGhlIGhhc0RlZmluaXRlTG9naWNhbEhlaWdodCBpZiB0aGUgY2FsbCBvZiBSZW5kZXJC
bG9jazo6aGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0KCkgY2F1c2VzIGEgcmVsZXZhbnQgcGVyZm9y
bWFuY2UgcmVncmVzc2lvbi4KICAgICAgICAgYm9vbCBoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQg
PSBSZW5kZXJCbG9jazo6aGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0KCkgfHwgaGFzT3ZlcnJpZGlu
Z0xvZ2ljYWxIZWlnaHQoKSB8fCBjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoTWFpbk9yUHJl
ZmVycmVkU2l6ZSwgc3R5bGUoKS5sb2dpY2FsSGVpZ2h0KCksIHN0ZDo6bnVsbG9wdCk7Ci0gICAg
ICAgIG1faGFzQW55T3J0aG9nb25hbEl0ZW0gPSBmYWxzZTsKLSAgICAgICAgbV9oYXNBc3BlY3RS
YXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0ZW0gPSBmYWxzZTsKLSAgICAgICAgVmVjdG9yPFJlbmRl
ckJveCo+IGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50R3JpZEl0ZW1zOwotICAgICAgICBm
b3IgKGF1dG8qIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+
bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAgICAgICAgaWYgKGNoaWxkLT5pc091dE9mRmxvd1Bv
c2l0aW9uZWQoKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIC8vIEdy
aWQncyBsYXlvdXQgbG9naWMgY29udHJvbHMgdGhlIGdyaWQgaXRlbSdzIG92ZXJyaWRlIGhlaWdo
dCwgaGVuY2Ugd2UgbmVlZCB0bwotICAgICAgICAgICAgLy8gY2xlYXIgYW55IG92ZXJyaWRlIGhl
aWdodCBzZXQgcHJldmlvdXNseSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4gY3VycmVudCBs
YXlvdXQKLSAgICAgICAgICAgIC8vIGV4ZWN1dGlvbi4gR3JpZCBuZXZlciB1c2VzIHRoZSBvdmVy
cmlkZSB3aWR0aCwgdGhhdCdzIHdoeSB3ZSBkb24ndCBuZWVkIHRvIGNsZWFyICBpdC4KLSAgICAg
ICAgICAgIGNoaWxkLT5jbGVhck92ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KCk7Ci0KLSAgICAgICAg
ICAgIC8vIFdlIG1heSBuZWVkIHRvIHJlcGVhdCB0aGUgdHJhY2sgc2l6aW5nIGluIGNhc2Ugb2Yg
YW55IGdyaWQgaXRlbSB3YXMgb3J0aG9nb25hbC4KLSAgICAgICAgICAgIGlmIChHcmlkTGF5b3V0
RnVuY3Rpb25zOjppc09ydGhvZ29uYWxDaGlsZCgqdGhpcywgKmNoaWxkKSkKLSAgICAgICAgICAg
ICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gdHJ1ZTsKLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgLy8gRm9yIGEgZ3JpZCBpdGVtIHRoYXQgaGFzIGFuIGFzcGVjdC1yYXRpbyBhbmQgYmxv
Y2stY29uc3RyYWludHMgc3VjaCBhcyB0aGUgcmVsYXRpdmUgbG9naWNhbCBoZWlnaHQsCi0gICAg
ICAgICAgICAvLyB3aGVuIHRoZSBncmlkIHdpZHRoIGlzIGF1dG8sIHdlIG1heSBuZWVkIGdldCB0
aGUgcmVhbCBncmlkIHdpZHRoIGJlZm9yZSBsYXlpbmcgb3V0IHRoZSBpdGVtLiAKLSAgICAgICAg
ICAgIGlmIChHcmlkTGF5b3V0RnVuY3Rpb25zOjppc0FzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5k
ZW50Q2hpbGQoKmNoaWxkKSAmJiAoc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBz
dHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzTWluQ29udGVudCgpIHx8IHN0eWxlKCkubG9naWNhbFdp
ZHRoKCkuaXNNYXhDb250ZW50KCkpKSB7Ci0gICAgICAgICAgICAgICAgYXNwZWN0UmF0aW9CbG9j
a1NpemVEZXBlbmRlbnRHcmlkSXRlbXMuYXBwZW5kKGNoaWxkKTsKLSAgICAgICAgICAgICAgICBt
X2hhc0FzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50SXRlbSA9IHRydWU7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAvLyBXZSBrZWVwIGEgY2FjaGUgb2YgaXRlbXMgd2l0aCBiYXNlbGlu
ZSBhcyBhbGlnbm1lbnQgdmFsdWVzIHNvCi0gICAgICAgICAgICAvLyB0aGF0IHdlIG9ubHkgY29t
cHV0ZSB0aGUgYmFzZWxpbmUgc2hpbXMgZm9yIHN1Y2ggaXRlbXMuIFRoaXMKLSAgICAgICAgICAg
IC8vIGNhY2hlIGlzIG5lZWRlZCBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCByZWFzb25zIGR1ZSB0
byB0aGUKLSAgICAgICAgICAgIC8vIGNvc3Qgb2YgZXZhbHVhdGluZyB0aGUgaXRlbSdzIHBhcnRp
Y2lwYXRpb24gaW4gYSBiYXNlbGluZQotICAgICAgICAgICAgLy8gY29udGV4dCBkdXJpbmcgdGhl
IHRyYWNrIHNpemluZyBhbGdvcml0aG0uCi0gICAgICAgICAgICBpZiAoaXNCYXNlbGluZUFsaWdu
bWVudEZvckNoaWxkKCpjaGlsZCwgR3JpZENvbHVtbkF4aXMpKQotICAgICAgICAgICAgICAgIG1f
dHJhY2tTaXppbmdBbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3Jp
ZENvbHVtbkF4aXMpOwotICAgICAgICAgICAgaWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGls
ZCgqY2hpbGQsIEdyaWRSb3dBeGlzKSkKLSAgICAgICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxn
b3JpdGhtLmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRSb3dBeGlzKTsKLSAg
ICAgICAgfQotICAgICAgICBtX2Jhc2VsaW5lSXRlbXNDYWNoZWQgPSB0cnVlOworCisgICAgICAg
IC8vIEZJWE1FOiBJbnZlc3RpZ2F0ZSBjbGVhcmluZyBsb2dpY2FsIGhlaWdodHMgbGF0ZXIgaW4g
Y29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kYW50QW5kQmFzZWxpbmVJdGVtcworICAgICAgICAvLyBp
bnN0ZWFkIG9mIGhlcmUuCisgICAgICAgIGNsZWFyQ2hpbGRyZW5PdmVycmlkaW5nTG9naWNhbEhl
aWdodCgpOwogICAgICAgICByZXNldExvZ2ljYWxIZWlnaHRCZWZvcmVMYXlvdXRJZk5lZWRlZCgp
OworCiAgICAgICAgIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpOwogCisgICAgICAgIFZlY3RvcjxSZW5k
ZXJCb3gqPiBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtczsKKyAgICAgICAg
Y29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kYW50QW5kQmFzZWxpbmVJdGVtcyhhc3BlY3RSYXRpb0Js
b2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtcyk7CisgICAgICAgIAogICAgICAgICAvLyBGaWVsZHNl
dHMgbmVlZCB0byBmaW5kIHRoZWlyIGxlZ2VuZCBhbmQgcG9zaXRpb24gaXQgaW5zaWRlIHRoZSBi
b3JkZXIgb2YgdGhlIG9iamVjdC4KICAgICAgICAgLy8gVGhlIGxlZ2VuZCB0aGVuIGdldHMgc2tp
cHBlZCBkdXJpbmcgbm9ybWFsIGxheW91dC4gVGhlIHNhbWUgaXMgdHJ1ZSBmb3IgcnVieSB0ZXh0
LgogICAgICAgICAvLyBJdCBkb2Vzbid0IGdldCBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGxheW91
dCBwcm9jZXNzIGJ1dCBpcyBpbnN0ZWFkIHNraXBwZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuaAppbmRleCAyOWFlNTk0ODAwM2VlNmQyZGQ0NDNiNTY5OWRjYjJkN2MxN2I5NjI2
Li41OGRjN2M2YmIyMWFjMTE1NGE0NGZjODEyYzc2ZDA3ZmQ0MzQ5OTEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKQEAgLTE5MCw2ICsxOTAsOSBAQCBwcml2YXRlOgogICAg
IGJvb2wgc2hvdWxkUmVzZXRMb2dpY2FsSGVpZ2h0QmVmb3JlTGF5b3V0KCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgYm9vbCBhc3BlY3RSYXRpb1ByZWZlcnNJbmxpbmUo
Y29uc3QgUmVuZGVyQm94JiBjaGlsZCwgYm9vbCBibG9ja0Zsb3dJc0NvbHVtbkF4aXMpOworICAg
IAorICAgIHZvaWQgY2xlYXJDaGlsZHJlbk92ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KCk7CisgICAg
dm9pZCBjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRhbnRBbmRCYXNlbGluZUl0ZW1zKFZlY3RvcjxS
ZW5kZXJCb3gqPiYgYXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRHcmlkSXRlbXMpOwogCiAg
ICAgR3JpZCBtX2dyaWQ7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450712</attachid>
            <date>2022-02-02 16:11:20 -0800</date>
            <delta_ts>2022-02-03 15:56:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234578-20220202161119.patch</filename>
            <type>text/plain</type>
            <size>10242</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFiY2JlZGQ2NzJkOTll
ODhhY2M2Mzg1NmIzMmZmOTEyMmIyM2I4MS4uM2JmY2I1NDQ1NGE1MGY3NTE2ZmQ0ZDE2ZjE2ZjJk
Y2E5NDk5NTU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIyLTAyLTAyICBCcmFu
ZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JpZCBt
YXkgYmUgZW1wdHkgaW4gY2VydGFpbiBzY2VuYXJpb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBPcmRlckl0ZXJhdG9yJ3Mgc2hvdWxkU2tpcENo
aWxkKCkgdG8gZmlsdGVyIG91dCBpdGVtcyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4g
dGhlIGFzcGVjdCByYXRpbyBkZXBlbmRlbnQgbm9yIAorICAgICAgICBpbiB0aGUgYmFzZWxpbmUg
bGlzdHMuIFVzaW5nIGlzT3V0T2ZGbG93UG9zaXRpb25lZCgpIGlzIG5vdCBzdWZmaWNpZW50IGFz
IHRoZXJlIGFyZSBlZGdlIGNhc2VzIHdoZXJlIHRoZSBkaXJlY3QgY2hpbGQgb2YgCisgICAgICAg
IGEgZ3JpZCBlbGVtZW50IGlzIG5vdCBhIGdyaWQgaXRlbS4KKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJHcmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNsZWFyR3Jp
ZEl0ZW1zT3ZlcnJpZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpjb21wdXRl
QXNwZWN0UmF0aW9EZXBlbmRhbnRBbmRCYXNlbGluZUl0ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckdyaWQ6OmxheW91dEJsb2NrKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyR3Jp
ZC5oOgorCiAyMDIyLTAyLTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBUcmFuc2ZlcnJlZE1lc3NhZ2VQb3J0IHRvIGl0cyBvd24gaGVhZGVyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKaW5kZXggMjZmOGZjYmMwYWIyNzk2MGM0
OTM5MjIzZTc0OGQ5M2MzYjgzYzk5YS4uODhlM2ZhNTYyYjhmYjY3ZTI2YzVhOWJiOTY1OTY4ZGUz
NzJjNmI0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAtMTg2
LDYgKzE4Niw2MSBAQCBib29sIFJlbmRlckdyaWQ6OmNhblBlcmZvcm1TaW1wbGlmaWVkTGF5b3V0
KCkgY29uc3QKICAgICByZXR1cm4gUmVuZGVyQmxvY2s6OmNhblBlcmZvcm1TaW1wbGlmaWVkTGF5
b3V0KCk7CiB9CiAKK3ZvaWQgUmVuZGVyR3JpZDo6Y2xlYXJHcmlkSXRlbXNPdmVycmlkaW5nKCkK
K3sKKyAgICAvLyBUaGlzIHNoYWxsIGJlIGNhbGxlZCBiZWZvcmUgcmVzZXRMb2dpY2FsSGVpZ2h0
QmVmb3JlTGF5b3V0SWZOZWVkZWQoKS4KKyAgICAvLyBUaGUgY2xlYXJPdmVycmlkaW5nTG9naWNh
bEhlaWdodCgpIGFmZmVjdHMgdGhlIGJlaGF2aW9yIG9mIHJlc2V0TG9naWNhbEhlaWdodEJlZm9y
ZUxheW91dElmTmVlZGVkKCkuCisKKyAgICBmb3IgKGF1dG8qIGNoaWxkID0gZmlyc3RDaGlsZEJv
eCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICBp
ZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKQorICAgICAgICAgICAgY29udGludWU7
CisKKyAgICAgICAgLy8gR3JpZCdzIGxheW91dCBsb2dpYyBjb250cm9scyB0aGUgZ3JpZCBpdGVt
J3Mgb3ZlcnJpZGUgaGVpZ2h0LCBoZW5jZSB3ZSBuZWVkIHRvCisgICAgICAgIC8vIGNsZWFyIGFu
eSBvdmVycmlkZSBoZWlnaHQgc2V0IHByZXZpb3VzbHksIHNvIGl0IGRvZXNuJ3QgaW50ZXJmZXJl
IGluIGN1cnJlbnQgbGF5b3V0CisgICAgICAgIC8vIGV4ZWN1dGlvbi4gR3JpZCBuZXZlciB1c2Vz
IHRoZSBvdmVycmlkZSB3aWR0aCwgdGhhdCdzIHdoeSB3ZSBkb24ndCBuZWVkIHRvIGNsZWFyICBp
dC4KKyAgICAgICAgY2hpbGQtPmNsZWFyT3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQoKTsKKyAgICB9
Cit9CisKKwordm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRhbnRBbmRC
YXNlbGluZUl0ZW1zKFZlY3RvcjxSZW5kZXJCb3gqPiYgYXNwZWN0UmF0aW9CbG9ja1NpemVEZXBl
bmRlbnRHcmlkSXRlbXMpCit7CisgICAgLy8gVGhpcyBmdW5jdGlvbiBzaGFsbCBiZSBjYWxsZWQg
Zm9sbG93aW5nIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpLgorICAgIC8vIFRoZSBiZWhhdmlvciBvZiBz
aG91bGRTa2lwQ2hpbGQoKSBpcyBtb2RpZmllZCBieSB0aGUgdXBkYXRlTG9naWNhbFdpZHRoKCkg
YW5kIHdpbGwKKyAgICAvLyByZXN1bHQgaW4gdW5uZWNlc3NhcnkgaXRlbXMgYmVpbmcgYWRkZWQg
aWYgY2FsbGVkIHByaW9yLgorCisgICAgbV9iYXNlbGluZUl0ZW1zQ2FjaGVkID0gdHJ1ZTsKKyAg
ICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gZmFsc2U7CisgICAgbV9oYXNBc3BlY3RSYXRpb0Js
b2NrU2l6ZURlcGVuZGVudEl0ZW0gPSBmYWxzZTsKKworICAgIGZvciAoYXV0byogY2hpbGQgPSBm
aXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7
CisgICAgICAgIGlmIChtX2dyaWQub3JkZXJJdGVyYXRvcigpLnNob3VsZFNraXBDaGlsZCgqY2hp
bGQpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgLy8gV2UgbWF5IG5lZWQgdG8g
cmVwZWF0IHRoZSB0cmFjayBzaXppbmcgaW4gY2FzZSBvZiBhbnkgZ3JpZCBpdGVtIHdhcyBvcnRo
b2dvbmFsLgorICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hp
bGQoKnRoaXMsICpjaGlsZCkpCisgICAgICAgICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0g
dHJ1ZTsKKworICAgICAgICAvLyBGb3IgYSBncmlkIGl0ZW0gdGhhdCBoYXMgYW4gYXNwZWN0LXJh
dGlvIGFuZCBibG9jay1jb25zdHJhaW50cyBzdWNoIGFzIHRoZSByZWxhdGl2ZSBsb2dpY2FsIGhl
aWdodCwKKyAgICAgICAgLy8gd2hlbiB0aGUgZ3JpZCB3aWR0aCBpcyBhdXRvLCB3ZSBtYXkgbmVl
ZCBnZXQgdGhlIHJlYWwgZ3JpZCB3aWR0aCBiZWZvcmUgbGF5aW5nIG91dCB0aGUgaXRlbS4KKyAg
ICAgICAgaWYgKEdyaWRMYXlvdXRGdW5jdGlvbnM6OmlzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBl
bmRlbnRDaGlsZCgqY2hpbGQpICYmIChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8
IHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGUoKS5sb2dpY2Fs
V2lkdGgoKS5pc01heENvbnRlbnQoKSkpIHsKKyAgICAgICAgICAgIGFzcGVjdFJhdGlvQmxvY2tT
aXplRGVwZW5kZW50R3JpZEl0ZW1zLmFwcGVuZChjaGlsZCk7CisgICAgICAgICAgICBtX2hhc0Fz
cGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50SXRlbSA9IHRydWU7CisgICAgICAgIH0KKworICAg
ICAgICAvLyBXZSBrZWVwIGEgY2FjaGUgb2YgaXRlbXMgd2l0aCBiYXNlbGluZSBhcyBhbGlnbm1l
bnQgdmFsdWVzIHNvCisgICAgICAgIC8vIHRoYXQgd2Ugb25seSBjb21wdXRlIHRoZSBiYXNlbGlu
ZSBzaGltcyBmb3Igc3VjaCBpdGVtcy4gVGhpcworICAgICAgICAvLyBjYWNoZSBpcyBuZWVkZWQg
Zm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgcmVhc29ucyBkdWUgdG8gdGhlCisgICAgICAgIC8vIGNv
c3Qgb2YgZXZhbHVhdGluZyB0aGUgaXRlbSdzIHBhcnRpY2lwYXRpb24gaW4gYSBiYXNlbGluZQor
ICAgICAgICAvLyBjb250ZXh0IGR1cmluZyB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobS4KKyAg
ICAgICAgaWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRDb2x1bW5B
eGlzKSkKKyAgICAgICAgICAgIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY2FjaGVCYXNlbGluZUFs
aWduZWRJdGVtKCpjaGlsZCwgR3JpZENvbHVtbkF4aXMpOworICAgICAgICBpZiAoaXNCYXNlbGlu
ZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3JpZFJvd0F4aXMpKQorICAgICAgICAgICAgbV90
cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBHcmlk
Um93QXhpcyk7CisgICAgfQorfQorCisKIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0QmxvY2soYm9v
bCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogewogICAgIEFTU0VSVChuZWVkc0xheW91
dCgpKTsKQEAgLTIwMSw0NSArMjU2LDIyIEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0QmxvY2so
Ym9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogICAgICAgICBiZWdpblVwZGF0ZVNj
cm9sbEluZm9BZnRlckxheW91dFRyYW5zYWN0aW9uKCk7CiAKICAgICAgICAgTGF5b3V0U2l6ZSBw
cmV2aW91c1NpemUgPSBzaXplKCk7CisKICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB1c2Ug
UmVuZGVyQmxvY2s6Omhhc0RlZmluaXRlTG9naWNhbEhlaWdodCgpIG9ubHkgYnV0IGl0IGRvZXMg
bm90IHdvcmsgZm9yIHBvc2l0aW9uZWQgc3R1ZmYuCiAgICAgICAgIC8vIEZJWE1FOiBDb25zaWRl
ciBjYWNoaW5nIHRoZSBoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQgdmFsdWUgdGhyb3VnaG91dCB0
aGUgbGF5b3V0LgogICAgICAgICAvLyBGSVhNRTogV2UgbWlnaHQgbmVlZCB0byBjYWNoZSB0aGUg
aGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0IGlmIHRoZSBjYWxsIG9mIFJlbmRlckJsb2NrOjpoYXNE
ZWZpbml0ZUxvZ2ljYWxIZWlnaHQoKSBjYXVzZXMgYSByZWxldmFudCBwZXJmb3JtYW5jZSByZWdy
ZXNzaW9uLgogICAgICAgICBib29sIGhhc0RlZmluaXRlTG9naWNhbEhlaWdodCA9IFJlbmRlckJs
b2NrOjpoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQoKSB8fCBoYXNPdmVycmlkaW5nTG9naWNhbEhl
aWdodCgpIHx8IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChNYWluT3JQcmVmZXJyZWRTaXpl
LCBzdHlsZSgpLmxvZ2ljYWxIZWlnaHQoKSwgc3RkOjpudWxsb3B0KTsKLSAgICAgICAgbV9oYXNB
bnlPcnRob2dvbmFsSXRlbSA9IGZhbHNlOwotICAgICAgICBtX2hhc0FzcGVjdFJhdGlvQmxvY2tT
aXplRGVwZW5kZW50SXRlbSA9IGZhbHNlOwotICAgICAgICBWZWN0b3I8UmVuZGVyQm94Kj4gYXNw
ZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRHcmlkSXRlbXM7Ci0gICAgICAgIGZvciAoYXV0byog
Y2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGlu
Z0JveCgpKSB7Ci0gICAgICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgp
KQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgLy8gR3JpZCdzIGxheW91
dCBsb2dpYyBjb250cm9scyB0aGUgZ3JpZCBpdGVtJ3Mgb3ZlcnJpZGUgaGVpZ2h0LCBoZW5jZSB3
ZSBuZWVkIHRvCi0gICAgICAgICAgICAvLyBjbGVhciBhbnkgb3ZlcnJpZGUgaGVpZ2h0IHNldCBw
cmV2aW91c2x5LCBzbyBpdCBkb2Vzbid0IGludGVyZmVyZSBpbiBjdXJyZW50IGxheW91dAotICAg
ICAgICAgICAgLy8gZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92ZXJyaWRlIHdpZHRo
LCB0aGF0J3Mgd2h5IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0LgotICAgICAgICAgICAgY2hp
bGQtPmNsZWFyT3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQoKTsKLQotICAgICAgICAgICAgLy8gV2Ug
bWF5IG5lZWQgdG8gcmVwZWF0IHRoZSB0cmFjayBzaXppbmcgaW4gY2FzZSBvZiBhbnkgZ3JpZCBp
dGVtIHdhcyBvcnRob2dvbmFsLgotICAgICAgICAgICAgaWYgKEdyaWRMYXlvdXRGdW5jdGlvbnM6
OmlzT3J0aG9nb25hbENoaWxkKCp0aGlzLCAqY2hpbGQpKQotICAgICAgICAgICAgICAgIG1faGFz
QW55T3J0aG9nb25hbEl0ZW0gPSB0cnVlOwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBG
b3IgYSBncmlkIGl0ZW0gdGhhdCBoYXMgYW4gYXNwZWN0LXJhdGlvIGFuZCBibG9jay1jb25zdHJh
aW50cyBzdWNoIGFzIHRoZSByZWxhdGl2ZSBsb2dpY2FsIGhlaWdodCwKLSAgICAgICAgICAgIC8v
IHdoZW4gdGhlIGdyaWQgd2lkdGggaXMgYXV0bywgd2UgbWF5IG5lZWQgZ2V0IHRoZSByZWFsIGdy
aWQgd2lkdGggYmVmb3JlIGxheWluZyBvdXQgdGhlIGl0ZW0uIAotICAgICAgICAgICAgaWYgKEdy
aWRMYXlvdXRGdW5jdGlvbnM6OmlzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRDaGlsZCgq
Y2hpbGQpICYmIChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0eWxlKCkubG9n
aWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc01h
eENvbnRlbnQoKSkpIHsKLSAgICAgICAgICAgICAgICBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVu
ZGVudEdyaWRJdGVtcy5hcHBlbmQoY2hpbGQpOwotICAgICAgICAgICAgICAgIG1faGFzQXNwZWN0
UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRJdGVtID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIC8vIFdlIGtlZXAgYSBjYWNoZSBvZiBpdGVtcyB3aXRoIGJhc2VsaW5lIGFzIGFsaWdu
bWVudCB2YWx1ZXMgc28KLSAgICAgICAgICAgIC8vIHRoYXQgd2Ugb25seSBjb21wdXRlIHRoZSBi
YXNlbGluZSBzaGltcyBmb3Igc3VjaCBpdGVtcy4gVGhpcwotICAgICAgICAgICAgLy8gY2FjaGUg
aXMgbmVlZGVkIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIHJlYXNvbnMgZHVlIHRvIHRoZQotICAg
ICAgICAgICAgLy8gY29zdCBvZiBldmFsdWF0aW5nIHRoZSBpdGVtJ3MgcGFydGljaXBhdGlvbiBp
biBhIGJhc2VsaW5lCi0gICAgICAgICAgICAvLyBjb250ZXh0IGR1cmluZyB0aGUgdHJhY2sgc2l6
aW5nIGFsZ29yaXRobS4KLSAgICAgICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hp
bGQoKmNoaWxkLCBHcmlkQ29sdW1uQXhpcykpCi0gICAgICAgICAgICAgICAgbV90cmFja1Npemlu
Z0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBHcmlkQ29sdW1uQXhp
cyk7Ci0gICAgICAgICAgICBpZiAoaXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwg
R3JpZFJvd0F4aXMpKQotICAgICAgICAgICAgICAgIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY2Fj
aGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3JpZFJvd0F4aXMpOwotICAgICAgICB9Ci0g
ICAgICAgIG1fYmFzZWxpbmVJdGVtc0NhY2hlZCA9IHRydWU7CisKKyAgICAgICAgLy8gRklYTUU6
IEludmVzdGlnYXRlIGNsZWFyaW5nIGxvZ2ljYWwgaGVpZ2h0cyBsYXRlciBpbiBjb21wdXRlQXNw
ZWN0UmF0aW9EZXBlbmRhbnRBbmRCYXNlbGluZUl0ZW1zCisgICAgICAgIC8vIGluc3RlYWQgb2Yg
aGVyZSB0byBlbGltaW5hdGUgbG9vcGluZyBvdmVyIGFsbCB0aGUgZ3JpZCBpdGVtcyB0d2ljZS4K
KyAgICAgICAgY2xlYXJHcmlkSXRlbXNPdmVycmlkaW5nKCk7CiAgICAgICAgIHJlc2V0TG9naWNh
bEhlaWdodEJlZm9yZUxheW91dElmTmVlZGVkKCk7CisKICAgICAgICAgdXBkYXRlTG9naWNhbFdp
ZHRoKCk7CiAKKyAgICAgICAgVmVjdG9yPFJlbmRlckJveCo+IGFzcGVjdFJhdGlvQmxvY2tTaXpl
RGVwZW5kZW50R3JpZEl0ZW1zOworICAgICAgICBjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRhbnRB
bmRCYXNlbGluZUl0ZW1zKGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50R3JpZEl0ZW1zKTsK
KyAgICAgICAgCiAgICAgICAgIC8vIEZpZWxkc2V0cyBuZWVkIHRvIGZpbmQgdGhlaXIgbGVnZW5k
IGFuZCBwb3NpdGlvbiBpdCBpbnNpZGUgdGhlIGJvcmRlciBvZiB0aGUgb2JqZWN0LgogICAgICAg
ICAvLyBUaGUgbGVnZW5kIHRoZW4gZ2V0cyBza2lwcGVkIGR1cmluZyBub3JtYWwgbGF5b3V0LiBU
aGUgc2FtZSBpcyB0cnVlIGZvciBydWJ5IHRleHQuCiAgICAgICAgIC8vIEl0IGRvZXNuJ3QgZ2V0
IGluY2x1ZGVkIGluIHRoZSBub3JtYWwgbGF5b3V0IHByb2Nlc3MgYnV0IGlzIGluc3RlYWQgc2tp
cHBlZC4KQEAgLTI1MSwxMyArMjgzLDEwIEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0QmxvY2so
Ym9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogICAgICAgICBtX3RyYWNrU2l6aW5n
QWxnb3JpdGhtLnNldEF2YWlsYWJsZVNwYWNlKEZvckNvbHVtbnMsIGF2YWlsYWJsZVNwYWNlRm9y
Q29sdW1ucyk7CiAgICAgICAgIHBlcmZvcm1HcmlkSXRlbXNQcmVMYXlvdXQobV90cmFja1Npemlu
Z0FsZ29yaXRobSk7CiAKLSAgICAgICAgLy8gMS0gRmlyc3QsIHRoZSB0cmFjayBzaXppbmcgYWxn
b3JpdGhtIGlzIHVzZWQgdG8gcmVzb2x2ZSB0aGUgc2l6ZXMgb2YgdGhlCi0gICAgICAgIC8vIGdy
aWQgY29sdW1ucy4KLSAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB0aGUgbG9naWNhbCB3aWR0aCBp
cyBhbHdheXMgZGVmaW5pdGUgYXMgdGhlIGFib3ZlIGNhbGwgdG8KLSAgICAgICAgLy8gdXBkYXRl
TG9naWNhbFdpZHRoKCkgcHJvcGVybHkgcmVzb2x2ZXMgaW50cmluc2ljIHNpemVzLiBXZSBjYW5u
b3QgZG8gdGhlCi0gICAgICAgIC8vIHNhbWUgZm9yIGhlaWdodHMgdGhvdWdoIGJlY2F1c2UgbWFu
eSBjb2RlIHBhdGhzIGluc2lkZQotICAgICAgICAvLyB1cGRhdGVMb2dpY2FsSGVpZ2h0KCkgcmVx
dWlyZSBhIHByZXZpb3VzIGNhbGwgdG8gc2V0TG9naWNhbEhlaWdodCgpIHRvCi0gICAgICAgIC8v
IHJlc29sdmUgaGVpZ2h0cyBwcm9wZXJseSAobGlrZSBmb3IgcG9zaXRpb25lZCBpdGVtcyBmb3Ig
ZXhhbXBsZSkuCisgICAgICAgIC8vIDEtIEZpcnN0LCB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRo
bSBpcyB1c2VkIHRvIHJlc29sdmUgdGhlIHNpemVzIG9mIHRoZSBncmlkIGNvbHVtbnMuIEF0IHRo
aXMgcG9pbnQgdGhlCisgICAgICAgIC8vIGxvZ2ljYWwgd2lkdGggaXMgYWx3YXlzIGRlZmluaXRl
IGFzIHRoZSBhYm92ZSBjYWxsIHRvIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpIHByb3Blcmx5IHJlc29s
dmVzIGludHJpbnNpYworICAgICAgICAvLyBzaXplcy4gV2UgY2Fubm90IGRvIHRoZSBzYW1lIGZv
ciBoZWlnaHRzIHRob3VnaCBiZWNhdXNlIG1hbnkgY29kZSBwYXRocyBpbnNpZGUgdXBkYXRlTG9n
aWNhbEhlaWdodCgpIHJlcXVpcmUKKyAgICAgICAgLy8gYSBwcmV2aW91cyBjYWxsIHRvIHNldExv
Z2ljYWxIZWlnaHQoKSB0byByZXNvbHZlIGhlaWdodHMgcHJvcGVybHkgKGxpa2UgZm9yIHBvc2l0
aW9uZWQgaXRlbXMgZm9yIGV4YW1wbGUpLgogICAgICAgICBjb21wdXRlVHJhY2tTaXplc0ZvckRl
ZmluaXRlU2l6ZShGb3JDb2x1bW5zLCBhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMpOwogCiAgICAg
ICAgIC8vIDEuNS0gQ29tcHV0ZSBDb250ZW50IERpc3RyaWJ1dGlvbiBvZmZzZXRzIGZvciBjb2x1
bW4gdHJhY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3Jp
ZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAppbmRleCAyOWFlNTk0
ODAwM2VlNmQyZGQ0NDNiNTY5OWRjYjJkN2MxN2I5NjI2Li44ODhmOTQ2Yjc5ZGQ0MTAxZWQ4MjQ0
NDM2MjUzNjRiMDI5M2ZkMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgK
QEAgLTE5MCw2ICsxOTAsOSBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxkUmVzZXRMb2dpY2Fs
SGVpZ2h0QmVmb3JlTGF5b3V0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCiAg
ICAgYm9vbCBhc3BlY3RSYXRpb1ByZWZlcnNJbmxpbmUoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwg
Ym9vbCBibG9ja0Zsb3dJc0NvbHVtbkF4aXMpOworICAgIAorICAgIHZvaWQgY2xlYXJHcmlkSXRl
bXNPdmVycmlkaW5nKCk7CisgICAgdm9pZCBjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRhbnRBbmRC
YXNlbGluZUl0ZW1zKFZlY3RvcjxSZW5kZXJCb3gqPiYgYXNwZWN0UmF0aW9CbG9ja1NpemVEZXBl
bmRlbnRHcmlkSXRlbXMpOwogCiAgICAgR3JpZCBtX2dyaWQ7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450834</attachid>
            <date>2022-02-03 15:57:01 -0800</date>
            <delta_ts>2022-02-04 12:56:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234578-20220203155700.patch</filename>
            <type>text/plain</type>
            <size>9710</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4ODE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhMTAzODE0OTVhNjVi
NTkwZWMwNDVkNTcyOTlhNWIxY2M2NzRiOS4uMGJjOGI2ZTY3YmY5ZjY1MmU4ZTBkYTkwODdhYmYz
OTgwNjU1MmE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAyLTAzICBCcmFu
ZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JpZCBt
YXkgYmUgZW1wdHkgaW4gY2VydGFpbiBzY2VuYXJpb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBjaGVjayB0byBoYW5kbGUgbGVnZW5kIGVsZW1l
bnRzIHdoZW4gaW5zaWRlIGEgQ1NTIEdyaWQuIFRoZSBsZWdlbmQgZWxlbWVudCBzaG91bGQgbm90
IGJlCisgICAgICAgIGFkZGVkIHRvIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50R3JpZEl0
ZW1zLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kYW50QW5kQmFzZWxpbmVJ
dGVtcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpsYXlvdXRCbG9jayk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuaDoKKwogMjAyMi0wMS0zMSAgSiBQYXNjb2UgIDxq
X3Bhc2NvZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkF1dGhuXSBQcm92aWRlIFNQSSB0byBl
eHBvcnQvaW1wb3J0IGxvY2FsIGNyZWRlbnRpYWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyR3JpZC5jcHAKaW5kZXggMjZmOGZjYmMwYWIyNzk2MGM0OTM5MjIzZTc0OGQ5M2MzYjgzYzk5
YS4uYzVhZGYyMTNiNzgzNWExMjk0ZTFiNTg1ZmQwZWE5ZDY1NTY0NWNlNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDExLCAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAxMy0yMDE3IElnYWxpYSBTLkwuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0x
ODYsNiArMTg2LDUwIEBAIGJvb2wgUmVuZGVyR3JpZDo6Y2FuUGVyZm9ybVNpbXBsaWZpZWRMYXlv
dXQoKSBjb25zdAogICAgIHJldHVybiBSZW5kZXJCbG9jazo6Y2FuUGVyZm9ybVNpbXBsaWZpZWRM
YXlvdXQoKTsKIH0KIAordm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRh
bnRBbmRCYXNlbGluZUl0ZW1zKFZlY3RvcjxSZW5kZXJCb3gqPiYgYXNwZWN0UmF0aW9CbG9ja1Np
emVEZXBlbmRlbnRHcmlkSXRlbXMpCit7CisgICAgbV9iYXNlbGluZUl0ZW1zQ2FjaGVkID0gdHJ1
ZTsKKyAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gZmFsc2U7CisgICAgbV9oYXNBc3BlY3RS
YXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0ZW0gPSBmYWxzZTsKKworICAgIGZvciAoYXV0byogY2hp
bGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0Jv
eCgpKSB7CisgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgY2hp
bGQtPmlzTGVnZW5kKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAvLyBHcmlk
J3MgbGF5b3V0IGxvZ2ljIGNvbnRyb2xzIHRoZSBncmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQs
IGhlbmNlIHdlIG5lZWQgdG8KKyAgICAgICAgLy8gY2xlYXIgYW55IG92ZXJyaWRlIGhlaWdodCBz
ZXQgcHJldmlvdXNseSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4gY3VycmVudCBsYXlvdXQK
KyAgICAgICAgLy8gZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92ZXJyaWRlIHdpZHRo
LCB0aGF0J3Mgd2h5IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0LgorICAgICAgICBjaGlsZC0+
Y2xlYXJPdmVycmlkaW5nTG9naWNhbEhlaWdodCgpOworCisgICAgICAgIC8vIEdyaWQncyBsYXlv
dXQgbG9naWMgY29udHJvbHMgdGhlIGdyaWQgaXRlbSdzIG92ZXJyaWRlIGhlaWdodCwgaGVuY2Ug
d2UgbmVlZCB0bworICAgICAgICAvLyBjbGVhciBhbnkgb3ZlcnJpZGUgaGVpZ2h0IHNldCBwcmV2
aW91c2x5LCBzbyBpdCBkb2Vzbid0IGludGVyZmVyZSBpbiBjdXJyZW50IGxheW91dAorICAgICAg
ICAvLyBleGVjdXRpb24uIEdyaWQgbmV2ZXIgdXNlcyB0aGUgb3ZlcnJpZGUgd2lkdGgsIHRoYXQn
cyB3aHkgd2UgZG9uJ3QgbmVlZCB0byBjbGVhciAgaXQuCisgICAgICAgIGNoaWxkLT5jbGVhck92
ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KCk7CisKKyAgICAgICAgLy8gV2UgbWF5IG5lZWQgdG8gcmVw
ZWF0IHRoZSB0cmFjayBzaXppbmcgaW4gY2FzZSBvZiBhbnkgZ3JpZCBpdGVtIHdhcyBvcnRob2dv
bmFsLgorICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQo
KnRoaXMsICpjaGlsZCkpCisgICAgICAgICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gdHJ1
ZTsKKworICAgICAgICAvLyBGb3IgYSBncmlkIGl0ZW0gdGhhdCBoYXMgYW4gYXNwZWN0LXJhdGlv
IGFuZCBibG9jay1jb25zdHJhaW50cyBzdWNoIGFzIHRoZSByZWxhdGl2ZSBsb2dpY2FsIGhlaWdo
dCwKKyAgICAgICAgLy8gd2hlbiB0aGUgZ3JpZCB3aWR0aCBpcyBhdXRvLCB3ZSBtYXkgbmVlZCBn
ZXQgdGhlIHJlYWwgZ3JpZCB3aWR0aCBiZWZvcmUgbGF5aW5nIG91dCB0aGUgaXRlbS4KKyAgICAg
ICAgaWYgKEdyaWRMYXlvdXRGdW5jdGlvbnM6OmlzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRl
bnRDaGlsZCgqY2hpbGQpICYmIChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0
eWxlKCkubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lk
dGgoKS5pc01heENvbnRlbnQoKSkpIHsKKyAgICAgICAgICAgIGFzcGVjdFJhdGlvQmxvY2tTaXpl
RGVwZW5kZW50R3JpZEl0ZW1zLmFwcGVuZChjaGlsZCk7CisgICAgICAgICAgICBtX2hhc0FzcGVj
dFJhdGlvQmxvY2tTaXplRGVwZW5kZW50SXRlbSA9IHRydWU7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBXZSBrZWVwIGEgY2FjaGUgb2YgaXRlbXMgd2l0aCBiYXNlbGluZSBhcyBhbGlnbm1lbnQg
dmFsdWVzIHNvCisgICAgICAgIC8vIHRoYXQgd2Ugb25seSBjb21wdXRlIHRoZSBiYXNlbGluZSBz
aGltcyBmb3Igc3VjaCBpdGVtcy4gVGhpcworICAgICAgICAvLyBjYWNoZSBpcyBuZWVkZWQgZm9y
IHBlcmZvcm1hbmNlIHJlbGF0ZWQgcmVhc29ucyBkdWUgdG8gdGhlCisgICAgICAgIC8vIGNvc3Qg
b2YgZXZhbHVhdGluZyB0aGUgaXRlbSdzIHBhcnRpY2lwYXRpb24gaW4gYSBiYXNlbGluZQorICAg
ICAgICAvLyBjb250ZXh0IGR1cmluZyB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobS4KKyAgICAg
ICAgaWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRDb2x1bW5BeGlz
KSkKKyAgICAgICAgICAgIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWdu
ZWRJdGVtKCpjaGlsZCwgR3JpZENvbHVtbkF4aXMpOworICAgICAgICBpZiAoaXNCYXNlbGluZUFs
aWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3JpZFJvd0F4aXMpKQorICAgICAgICAgICAgbV90cmFj
a1NpemluZ0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBHcmlkUm93
QXhpcyk7CisgICAgfQorfQorCisKIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0QmxvY2soYm9vbCBy
ZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogewogICAgIEFTU0VSVChuZWVkc0xheW91dCgp
KTsKQEAgLTIwMSw0MyArMjQ1LDE3IEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0QmxvY2soYm9v
bCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogICAgICAgICBiZWdpblVwZGF0ZVNjcm9s
bEluZm9BZnRlckxheW91dFRyYW5zYWN0aW9uKCk7CiAKICAgICAgICAgTGF5b3V0U2l6ZSBwcmV2
aW91c1NpemUgPSBzaXplKCk7CisKICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB1c2UgUmVu
ZGVyQmxvY2s6Omhhc0RlZmluaXRlTG9naWNhbEhlaWdodCgpIG9ubHkgYnV0IGl0IGRvZXMgbm90
IHdvcmsgZm9yIHBvc2l0aW9uZWQgc3R1ZmYuCiAgICAgICAgIC8vIEZJWE1FOiBDb25zaWRlciBj
YWNoaW5nIHRoZSBoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQgdmFsdWUgdGhyb3VnaG91dCB0aGUg
bGF5b3V0LgogICAgICAgICAvLyBGSVhNRTogV2UgbWlnaHQgbmVlZCB0byBjYWNoZSB0aGUgaGFz
RGVmaW5pdGVMb2dpY2FsSGVpZ2h0IGlmIHRoZSBjYWxsIG9mIFJlbmRlckJsb2NrOjpoYXNEZWZp
bml0ZUxvZ2ljYWxIZWlnaHQoKSBjYXVzZXMgYSByZWxldmFudCBwZXJmb3JtYW5jZSByZWdyZXNz
aW9uLgogICAgICAgICBib29sIGhhc0RlZmluaXRlTG9naWNhbEhlaWdodCA9IFJlbmRlckJsb2Nr
OjpoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQoKSB8fCBoYXNPdmVycmlkaW5nTG9naWNhbEhlaWdo
dCgpIHx8IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChNYWluT3JQcmVmZXJyZWRTaXplLCBz
dHlsZSgpLmxvZ2ljYWxIZWlnaHQoKSwgc3RkOjpudWxsb3B0KTsKLSAgICAgICAgbV9oYXNBbnlP
cnRob2dvbmFsSXRlbSA9IGZhbHNlOwotICAgICAgICBtX2hhc0FzcGVjdFJhdGlvQmxvY2tTaXpl
RGVwZW5kZW50SXRlbSA9IGZhbHNlOworCiAgICAgICAgIFZlY3RvcjxSZW5kZXJCb3gqPiBhc3Bl
Y3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtczsKLSAgICAgICAgZm9yIChhdXRvKiBj
aGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5n
Qm94KCkpIHsKLSAgICAgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkp
Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAvLyBHcmlkJ3MgbGF5b3V0
IGxvZ2ljIGNvbnRyb2xzIHRoZSBncmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQsIGhlbmNlIHdl
IG5lZWQgdG8KLSAgICAgICAgICAgIC8vIGNsZWFyIGFueSBvdmVycmlkZSBoZWlnaHQgc2V0IHBy
ZXZpb3VzbHksIHNvIGl0IGRvZXNuJ3QgaW50ZXJmZXJlIGluIGN1cnJlbnQgbGF5b3V0Ci0gICAg
ICAgICAgICAvLyBleGVjdXRpb24uIEdyaWQgbmV2ZXIgdXNlcyB0aGUgb3ZlcnJpZGUgd2lkdGgs
IHRoYXQncyB3aHkgd2UgZG9uJ3QgbmVlZCB0byBjbGVhciAgaXQuCi0gICAgICAgICAgICBjaGls
ZC0+Y2xlYXJPdmVycmlkaW5nTG9naWNhbEhlaWdodCgpOwotCi0gICAgICAgICAgICAvLyBXZSBt
YXkgbmVlZCB0byByZXBlYXQgdGhlIHRyYWNrIHNpemluZyBpbiBjYXNlIG9mIGFueSBncmlkIGl0
ZW0gd2FzIG9ydGhvZ29uYWwuCi0gICAgICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6
aXNPcnRob2dvbmFsQ2hpbGQoKnRoaXMsICpjaGlsZCkpCi0gICAgICAgICAgICAgICAgbV9oYXNB
bnlPcnRob2dvbmFsSXRlbSA9IHRydWU7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIEZv
ciBhIGdyaWQgaXRlbSB0aGF0IGhhcyBhbiBhc3BlY3QtcmF0aW8gYW5kIGJsb2NrLWNvbnN0cmFp
bnRzIHN1Y2ggYXMgdGhlIHJlbGF0aXZlIGxvZ2ljYWwgaGVpZ2h0LAotICAgICAgICAgICAgLy8g
d2hlbiB0aGUgZ3JpZCB3aWR0aCBpcyBhdXRvLCB3ZSBtYXkgbmVlZCBnZXQgdGhlIHJlYWwgZ3Jp
ZCB3aWR0aCBiZWZvcmUgbGF5aW5nIG91dCB0aGUgaXRlbS4gCi0gICAgICAgICAgICBpZiAoR3Jp
ZExheW91dEZ1bmN0aW9uczo6aXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudENoaWxkKCpj
aGlsZCkgJiYgKHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGUoKS5sb2dp
Y2FsV2lkdGgoKS5pc01pbkNvbnRlbnQoKSB8fCBzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzTWF4
Q29udGVudCgpKSkgewotICAgICAgICAgICAgICAgIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5k
ZW50R3JpZEl0ZW1zLmFwcGVuZChjaGlsZCk7Ci0gICAgICAgICAgICAgICAgbV9oYXNBc3BlY3RS
YXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0ZW0gPSB0cnVlOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgLy8gV2Uga2VlcCBhIGNhY2hlIG9mIGl0ZW1zIHdpdGggYmFzZWxpbmUgYXMgYWxpZ25t
ZW50IHZhbHVlcyBzbwotICAgICAgICAgICAgLy8gdGhhdCB3ZSBvbmx5IGNvbXB1dGUgdGhlIGJh
c2VsaW5lIHNoaW1zIGZvciBzdWNoIGl0ZW1zLiBUaGlzCi0gICAgICAgICAgICAvLyBjYWNoZSBp
cyBuZWVkZWQgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgcmVhc29ucyBkdWUgdG8gdGhlCi0gICAg
ICAgICAgICAvLyBjb3N0IG9mIGV2YWx1YXRpbmcgdGhlIGl0ZW0ncyBwYXJ0aWNpcGF0aW9uIGlu
IGEgYmFzZWxpbmUKLSAgICAgICAgICAgIC8vIGNvbnRleHQgZHVyaW5nIHRoZSB0cmFjayBzaXpp
bmcgYWxnb3JpdGhtLgotICAgICAgICAgICAgaWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGls
ZCgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKSkKLSAgICAgICAgICAgICAgICBtX3RyYWNrU2l6aW5n
QWxnb3JpdGhtLmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRDb2x1bW5BeGlz
KTsKLSAgICAgICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBH
cmlkUm93QXhpcykpCi0gICAgICAgICAgICAgICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNo
ZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBHcmlkUm93QXhpcyk7Ci0gICAgICAgIH0KLSAg
ICAgICAgbV9iYXNlbGluZUl0ZW1zQ2FjaGVkID0gdHJ1ZTsKKyAgICAgICAgY29tcHV0ZUFzcGVj
dFJhdGlvRGVwZW5kYW50QW5kQmFzZWxpbmVJdGVtcyhhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVu
ZGVudEdyaWRJdGVtcyk7CisKICAgICAgICAgcmVzZXRMb2dpY2FsSGVpZ2h0QmVmb3JlTGF5b3V0
SWZOZWVkZWQoKTsKKwogICAgICAgICB1cGRhdGVMb2dpY2FsV2lkdGgoKTsKIAogICAgICAgICAv
LyBGaWVsZHNldHMgbmVlZCB0byBmaW5kIHRoZWlyIGxlZ2VuZCBhbmQgcG9zaXRpb24gaXQgaW5z
aWRlIHRoZSBib3JkZXIgb2YgdGhlIG9iamVjdC4KQEAgLTI1MSwxMyArMjY5LDEwIEBAIHZvaWQg
UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0
KQogICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLnNldEF2YWlsYWJsZVNwYWNlKEZvckNv
bHVtbnMsIGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyk7CiAgICAgICAgIHBlcmZvcm1HcmlkSXRl
bXNQcmVMYXlvdXQobV90cmFja1NpemluZ0FsZ29yaXRobSk7CiAKLSAgICAgICAgLy8gMS0gRmly
c3QsIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtIGlzIHVzZWQgdG8gcmVzb2x2ZSB0aGUgc2l6
ZXMgb2YgdGhlCi0gICAgICAgIC8vIGdyaWQgY29sdW1ucy4KLSAgICAgICAgLy8gQXQgdGhpcyBw
b2ludCB0aGUgbG9naWNhbCB3aWR0aCBpcyBhbHdheXMgZGVmaW5pdGUgYXMgdGhlIGFib3ZlIGNh
bGwgdG8KLSAgICAgICAgLy8gdXBkYXRlTG9naWNhbFdpZHRoKCkgcHJvcGVybHkgcmVzb2x2ZXMg
aW50cmluc2ljIHNpemVzLiBXZSBjYW5ub3QgZG8gdGhlCi0gICAgICAgIC8vIHNhbWUgZm9yIGhl
aWdodHMgdGhvdWdoIGJlY2F1c2UgbWFueSBjb2RlIHBhdGhzIGluc2lkZQotICAgICAgICAvLyB1
cGRhdGVMb2dpY2FsSGVpZ2h0KCkgcmVxdWlyZSBhIHByZXZpb3VzIGNhbGwgdG8gc2V0TG9naWNh
bEhlaWdodCgpIHRvCi0gICAgICAgIC8vIHJlc29sdmUgaGVpZ2h0cyBwcm9wZXJseSAobGlrZSBm
b3IgcG9zaXRpb25lZCBpdGVtcyBmb3IgZXhhbXBsZSkuCisgICAgICAgIC8vIDEtIEZpcnN0LCB0
aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobSBpcyB1c2VkIHRvIHJlc29sdmUgdGhlIHNpemVzIG9m
IHRoZSBncmlkIGNvbHVtbnMuIEF0IHRoaXMgcG9pbnQgdGhlIAorICAgICAgICAvLyBsb2dpY2Fs
IHdpZHRoIGlzIGFsd2F5cyBkZWZpbml0ZSBhcyB0aGUgYWJvdmUgY2FsbCB0byB1cGRhdGVMb2dp
Y2FsV2lkdGgoKSBwcm9wZXJseSByZXNvbHZlcyBpbnRyaW5zaWMgCisgICAgICAgIC8vIHNpemVz
LiBXZSBjYW5ub3QgZG8gdGhlIHNhbWUgZm9yIGhlaWdodHMgdGhvdWdoIGJlY2F1c2UgbWFueSBj
b2RlIHBhdGhzIGluc2lkZSB1cGRhdGVMb2dpY2FsSGVpZ2h0KCkgcmVxdWlyZSAKKyAgICAgICAg
Ly8gYSBwcmV2aW91cyBjYWxsIHRvIHNldExvZ2ljYWxIZWlnaHQoKSB0byByZXNvbHZlIGhlaWdo
dHMgcHJvcGVybHkgKGxpa2UgZm9yIHBvc2l0aW9uZWQgaXRlbXMgZm9yIGV4YW1wbGUpLgogICAg
ICAgICBjb21wdXRlVHJhY2tTaXplc0ZvckRlZmluaXRlU2l6ZShGb3JDb2x1bW5zLCBhdmFpbGFi
bGVTcGFjZUZvckNvbHVtbnMpOwogCiAgICAgICAgIC8vIDEuNS0gQ29tcHV0ZSBDb250ZW50IERp
c3RyaWJ1dGlvbiBvZmZzZXRzIGZvciBjb2x1bW4gdHJhY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckdyaWQuaAppbmRleCAyOWFlNTk0ODAwM2VlNmQyZGQ0NDNiNTY5OWRjYjJkN2MxN2I5
NjI2Li4xMDBjMDUzNmY5OThiNjM0MjMxNmFhZTA5YTJlNmY4OGQ0OTdiZGNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMSwgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTMtMjAxNyBJZ2FsaWEgUy5MLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMTkx
LDYgKzE5MSw4IEBAIHByaXZhdGU6CiAKICAgICBib29sIGFzcGVjdFJhdGlvUHJlZmVyc0lubGlu
ZShjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBib29sIGJsb2NrRmxvd0lzQ29sdW1uQXhpcyk7CiAK
KyAgICB2b2lkIGNvbXB1dGVBc3BlY3RSYXRpb0RlcGVuZGFudEFuZEJhc2VsaW5lSXRlbXMoVmVj
dG9yPFJlbmRlckJveCo+JiBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtcyk7
CisKICAgICBHcmlkIG1fZ3JpZDsKIAogICAgIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobSBtX3Ry
YWNrU2l6aW5nQWxnb3JpdGhtOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450932</attachid>
            <date>2022-02-04 12:56:14 -0800</date>
            <delta_ts>2022-02-08 12:04:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234578-20220204125613.patch</filename>
            <type>text/plain</type>
            <size>9669</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTNmM2FiNzNjMzM1YTUz
OWQ5NjAzYmFmYmY5ZmVlNmEwZDdlZGEwYS4uNWM1Njc0NzM4MjU1ODdjYTcyMmY2YjU5OThiMTk0
NjM2OGRhOWE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAyLTA0ICBCcmFu
ZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JpZCBt
YXkgYmUgZW1wdHkgaW4gY2VydGFpbiBzY2VuYXJpb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBjaGVjayB0byBoYW5kbGUgbGVnZW5kIGVsZW1l
bnRzIHdoZW4gaW5zaWRlIGEgQ1NTIEdyaWQuIFRoZSBsZWdlbmQgZWxlbWVudCBzaG91bGQgbm90
IGJlCisgICAgICAgIGFkZGVkIHRvIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50R3JpZEl0
ZW1zLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJHcmlkLmg6CisKIDIwMjItMDItMDQgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgog
CiAgICAgICAgIEdyYWRpZW50cyBkb24ndCBjb3JyZWN0bHkgaW50ZXJwb2xhdGUgbWlzc2luZy9u
b25lIGNvbG9yIGNvbXBvbmVudHMgY29ycmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyR3JpZC5jcHAKaW5kZXggMjZmOGZjYmMwYWIyNzk2MGM0OTM5MjIzZTc0OGQ5M2MzYjgzYzk5
YS4uMzc0YzBmNmMzOWM1NDg3ODk3OTMyMzZhNjI4ZDZkMzg0ZjA5NDI5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDExLCAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAxMy0yMDE3IElnYWxpYSBTLkwuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0x
ODYsNiArMTg2LDUyIEBAIGJvb2wgUmVuZGVyR3JpZDo6Y2FuUGVyZm9ybVNpbXBsaWZpZWRMYXlv
dXQoKSBjb25zdAogICAgIHJldHVybiBSZW5kZXJCbG9jazo6Y2FuUGVyZm9ybVNpbXBsaWZpZWRM
YXlvdXQoKTsKIH0KIAorVmVjdG9yPFJlbmRlckJveCo+IFJlbmRlckdyaWQ6OmNvbXB1dGVBc3Bl
Y3RSYXRpb0RlcGVuZGVudEFuZEJhc2VsaW5lSXRlbXMoKQoreworICAgIFZlY3RvcjxSZW5kZXJC
b3gqPiBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtczsKKworICAgIG1fYmFz
ZWxpbmVJdGVtc0NhY2hlZCA9IHRydWU7CisgICAgbV9oYXNBbnlPcnRob2dvbmFsSXRlbSA9IGZh
bHNlOworICAgIG1faGFzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRJdGVtID0gZmFsc2U7
CisKKyAgICBmb3IgKGF1dG8qIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQg
PSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZG
bG93UG9zaXRpb25lZCgpIHx8IGNoaWxkLT5pc0xlZ2VuZCgpKQorICAgICAgICAgICAgY29udGlu
dWU7CisKKyAgICAgICAgLy8gR3JpZCdzIGxheW91dCBsb2dpYyBjb250cm9scyB0aGUgZ3JpZCBp
dGVtJ3Mgb3ZlcnJpZGUgaGVpZ2h0LCBoZW5jZSB3ZSBuZWVkIHRvCisgICAgICAgIC8vIGNsZWFy
IGFueSBvdmVycmlkZSBoZWlnaHQgc2V0IHByZXZpb3VzbHksIHNvIGl0IGRvZXNuJ3QgaW50ZXJm
ZXJlIGluIGN1cnJlbnQgbGF5b3V0CisgICAgICAgIC8vIGV4ZWN1dGlvbi4gR3JpZCBuZXZlciB1
c2VzIHRoZSBvdmVycmlkZSB3aWR0aCwgdGhhdCdzIHdoeSB3ZSBkb24ndCBuZWVkIHRvIGNsZWFy
ICBpdC4KKyAgICAgICAgY2hpbGQtPmNsZWFyT3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQoKTsKKwor
ICAgICAgICAvLyBHcmlkJ3MgbGF5b3V0IGxvZ2ljIGNvbnRyb2xzIHRoZSBncmlkIGl0ZW0ncyBv
dmVycmlkZSBoZWlnaHQsIGhlbmNlIHdlIG5lZWQgdG8KKyAgICAgICAgLy8gY2xlYXIgYW55IG92
ZXJyaWRlIGhlaWdodCBzZXQgcHJldmlvdXNseSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4g
Y3VycmVudCBsYXlvdXQKKyAgICAgICAgLy8gZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhl
IG92ZXJyaWRlIHdpZHRoLCB0aGF0J3Mgd2h5IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0Lgor
ICAgICAgICBjaGlsZC0+Y2xlYXJPdmVycmlkaW5nTG9naWNhbEhlaWdodCgpOworCisgICAgICAg
IC8vIFdlIG1heSBuZWVkIHRvIHJlcGVhdCB0aGUgdHJhY2sgc2l6aW5nIGluIGNhc2Ugb2YgYW55
IGdyaWQgaXRlbSB3YXMgb3J0aG9nb25hbC4KKyAgICAgICAgaWYgKEdyaWRMYXlvdXRGdW5jdGlv
bnM6OmlzT3J0aG9nb25hbENoaWxkKCp0aGlzLCAqY2hpbGQpKQorICAgICAgICAgICAgbV9oYXNB
bnlPcnRob2dvbmFsSXRlbSA9IHRydWU7CisKKyAgICAgICAgLy8gRm9yIGEgZ3JpZCBpdGVtIHRo
YXQgaGFzIGFuIGFzcGVjdC1yYXRpbyBhbmQgYmxvY2stY29uc3RyYWludHMgc3VjaCBhcyB0aGUg
cmVsYXRpdmUgbG9naWNhbCBoZWlnaHQsCisgICAgICAgIC8vIHdoZW4gdGhlIGdyaWQgd2lkdGgg
aXMgYXV0bywgd2UgbWF5IG5lZWQgZ2V0IHRoZSByZWFsIGdyaWQgd2lkdGggYmVmb3JlIGxheWlu
ZyBvdXQgdGhlIGl0ZW0uCisgICAgICAgIGlmIChHcmlkTGF5b3V0RnVuY3Rpb25zOjppc0FzcGVj
dFJhdGlvQmxvY2tTaXplRGVwZW5kZW50Q2hpbGQoKmNoaWxkKSAmJiAoc3R5bGUoKS5sb2dpY2Fs
V2lkdGgoKS5pc0F1dG8oKSB8fCBzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzTWluQ29udGVudCgp
IHx8IHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNNYXhDb250ZW50KCkpKSB7CisgICAgICAgICAg
ICBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdyaWRJdGVtcy5hcHBlbmQoY2hpbGQpOwor
ICAgICAgICAgICAgbV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0ZW0gPSB0cnVl
OworICAgICAgICB9CisKKyAgICAgICAgLy8gV2Uga2VlcCBhIGNhY2hlIG9mIGl0ZW1zIHdpdGgg
YmFzZWxpbmUgYXMgYWxpZ25tZW50IHZhbHVlcyBzbyB0aGF0IHdlIG9ubHkgY29tcHV0ZSB0aGUg
YmFzZWxpbmUgc2hpbXMgZm9yCisgICAgICAgIC8vIHN1Y2ggaXRlbXMuIFRoaXMgY2FjaGUgaXMg
bmVlZGVkIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIHJlYXNvbnMgZHVlIHRvIHRoZSBjb3N0IG9m
IGV2YWx1YXRpbmcgdGhlIGl0ZW0ncworICAgICAgICAvLyBwYXJ0aWNpcGF0aW9uIGluIGEgYmFz
ZWxpbmUgY29udGV4dCBkdXJpbmcgdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0uCisgICAgICAg
IGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkQ29sdW1uQXhpcykp
CisgICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNhY2hlQmFzZWxpbmVBbGlnbmVk
SXRlbSgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKTsKKyAgICAgICAgaWYgKGlzQmFzZWxpbmVBbGln
bm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRSb3dBeGlzKSkKKyAgICAgICAgICAgIG1fdHJhY2tT
aXppbmdBbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3JpZFJvd0F4
aXMpOworICAgIH0KKworICAgIHJldHVybiBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEdy
aWRJdGVtczsKK30KKworCiB2b2lkIFJlbmRlckdyaWQ6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlv
dXRDaGlsZHJlbiwgTGF5b3V0VW5pdCkKIHsKICAgICBBU1NFUlQobmVlZHNMYXlvdXQoKSk7CkBA
IC0yMDEsNDMgKzI0NywxNiBAQCB2b2lkIFJlbmRlckdyaWQ6OmxheW91dEJsb2NrKGJvb2wgcmVs
YXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCkKICAgICAgICAgYmVnaW5VcGRhdGVTY3JvbGxJbmZv
QWZ0ZXJMYXlvdXRUcmFuc2FjdGlvbigpOwogCiAgICAgICAgIExheW91dFNpemUgcHJldmlvdXNT
aXplID0gc2l6ZSgpOworCiAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIFJlbmRlckJs
b2NrOjpoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQoKSBvbmx5IGJ1dCBpdCBkb2VzIG5vdCB3b3Jr
IGZvciBwb3NpdGlvbmVkIHN0dWZmLgogICAgICAgICAvLyBGSVhNRTogQ29uc2lkZXIgY2FjaGlu
ZyB0aGUgaGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0IHZhbHVlIHRocm91Z2hvdXQgdGhlIGxheW91
dC4KICAgICAgICAgLy8gRklYTUU6IFdlIG1pZ2h0IG5lZWQgdG8gY2FjaGUgdGhlIGhhc0RlZmlu
aXRlTG9naWNhbEhlaWdodCBpZiB0aGUgY2FsbCBvZiBSZW5kZXJCbG9jazo6aGFzRGVmaW5pdGVM
b2dpY2FsSGVpZ2h0KCkgY2F1c2VzIGEgcmVsZXZhbnQgcGVyZm9ybWFuY2UgcmVncmVzc2lvbi4K
ICAgICAgICAgYm9vbCBoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQgPSBSZW5kZXJCbG9jazo6aGFz
RGVmaW5pdGVMb2dpY2FsSGVpZ2h0KCkgfHwgaGFzT3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQoKSB8
fCBjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoTWFpbk9yUHJlZmVycmVkU2l6ZSwgc3R5bGUo
KS5sb2dpY2FsSGVpZ2h0KCksIHN0ZDo6bnVsbG9wdCk7Ci0gICAgICAgIG1faGFzQW55T3J0aG9n
b25hbEl0ZW0gPSBmYWxzZTsKLSAgICAgICAgbV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVu
ZGVudEl0ZW0gPSBmYWxzZTsKLSAgICAgICAgVmVjdG9yPFJlbmRlckJveCo+IGFzcGVjdFJhdGlv
QmxvY2tTaXplRGVwZW5kZW50R3JpZEl0ZW1zOwotICAgICAgICBmb3IgKGF1dG8qIGNoaWxkID0g
Zmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkg
ewotICAgICAgICAgICAgaWYgKGNoaWxkLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkKLSAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIC8vIEdyaWQncyBsYXlvdXQgbG9naWMg
Y29udHJvbHMgdGhlIGdyaWQgaXRlbSdzIG92ZXJyaWRlIGhlaWdodCwgaGVuY2Ugd2UgbmVlZCB0
bwotICAgICAgICAgICAgLy8gY2xlYXIgYW55IG92ZXJyaWRlIGhlaWdodCBzZXQgcHJldmlvdXNs
eSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4gY3VycmVudCBsYXlvdXQKLSAgICAgICAgICAg
IC8vIGV4ZWN1dGlvbi4gR3JpZCBuZXZlciB1c2VzIHRoZSBvdmVycmlkZSB3aWR0aCwgdGhhdCdz
IHdoeSB3ZSBkb24ndCBuZWVkIHRvIGNsZWFyICBpdC4KLSAgICAgICAgICAgIGNoaWxkLT5jbGVh
ck92ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KCk7Ci0KLSAgICAgICAgICAgIC8vIFdlIG1heSBuZWVk
IHRvIHJlcGVhdCB0aGUgdHJhY2sgc2l6aW5nIGluIGNhc2Ugb2YgYW55IGdyaWQgaXRlbSB3YXMg
b3J0aG9nb25hbC4KLSAgICAgICAgICAgIGlmIChHcmlkTGF5b3V0RnVuY3Rpb25zOjppc09ydGhv
Z29uYWxDaGlsZCgqdGhpcywgKmNoaWxkKSkKLSAgICAgICAgICAgICAgICBtX2hhc0FueU9ydGhv
Z29uYWxJdGVtID0gdHJ1ZTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gRm9yIGEgZ3Jp
ZCBpdGVtIHRoYXQgaGFzIGFuIGFzcGVjdC1yYXRpbyBhbmQgYmxvY2stY29uc3RyYWludHMgc3Vj
aCBhcyB0aGUgcmVsYXRpdmUgbG9naWNhbCBoZWlnaHQsCi0gICAgICAgICAgICAvLyB3aGVuIHRo
ZSBncmlkIHdpZHRoIGlzIGF1dG8sIHdlIG1heSBuZWVkIGdldCB0aGUgcmVhbCBncmlkIHdpZHRo
IGJlZm9yZSBsYXlpbmcgb3V0IHRoZSBpdGVtLiAKLSAgICAgICAgICAgIGlmIChHcmlkTGF5b3V0
RnVuY3Rpb25zOjppc0FzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50Q2hpbGQoKmNoaWxkKSAm
JiAoc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBzdHlsZSgpLmxvZ2ljYWxXaWR0
aCgpLmlzTWluQ29udGVudCgpIHx8IHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNNYXhDb250ZW50
KCkpKSB7Ci0gICAgICAgICAgICAgICAgYXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRHcmlk
SXRlbXMuYXBwZW5kKGNoaWxkKTsKLSAgICAgICAgICAgICAgICBtX2hhc0FzcGVjdFJhdGlvQmxv
Y2tTaXplRGVwZW5kZW50SXRlbSA9IHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAv
LyBXZSBrZWVwIGEgY2FjaGUgb2YgaXRlbXMgd2l0aCBiYXNlbGluZSBhcyBhbGlnbm1lbnQgdmFs
dWVzIHNvCi0gICAgICAgICAgICAvLyB0aGF0IHdlIG9ubHkgY29tcHV0ZSB0aGUgYmFzZWxpbmUg
c2hpbXMgZm9yIHN1Y2ggaXRlbXMuIFRoaXMKLSAgICAgICAgICAgIC8vIGNhY2hlIGlzIG5lZWRl
ZCBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCByZWFzb25zIGR1ZSB0byB0aGUKLSAgICAgICAgICAg
IC8vIGNvc3Qgb2YgZXZhbHVhdGluZyB0aGUgaXRlbSdzIHBhcnRpY2lwYXRpb24gaW4gYSBiYXNl
bGluZQotICAgICAgICAgICAgLy8gY29udGV4dCBkdXJpbmcgdGhlIHRyYWNrIHNpemluZyBhbGdv
cml0aG0uCi0gICAgICAgICAgICBpZiAoaXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKCpjaGls
ZCwgR3JpZENvbHVtbkF4aXMpKQotICAgICAgICAgICAgICAgIG1fdHJhY2tTaXppbmdBbGdvcml0
aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3JpZENvbHVtbkF4aXMpOwotICAg
ICAgICAgICAgaWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRSb3dB
eGlzKSkKLSAgICAgICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNhY2hlQmFzZWxp
bmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRSb3dBeGlzKTsKLSAgICAgICAgfQotICAgICAgICBt
X2Jhc2VsaW5lSXRlbXNDYWNoZWQgPSB0cnVlOworCisgICAgICAgIGF1dG8gYXNwZWN0UmF0aW9C
bG9ja1NpemVEZXBlbmRlbnRHcmlkSXRlbXMgPSBjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRlbnRB
bmRCYXNlbGluZUl0ZW1zKCk7CisKICAgICAgICAgcmVzZXRMb2dpY2FsSGVpZ2h0QmVmb3JlTGF5
b3V0SWZOZWVkZWQoKTsKKwogICAgICAgICB1cGRhdGVMb2dpY2FsV2lkdGgoKTsKIAogICAgICAg
ICAvLyBGaWVsZHNldHMgbmVlZCB0byBmaW5kIHRoZWlyIGxlZ2VuZCBhbmQgcG9zaXRpb24gaXQg
aW5zaWRlIHRoZSBib3JkZXIgb2YgdGhlIG9iamVjdC4KQEAgLTI1MSwxMyArMjcwLDEwIEBAIHZv
aWQgUmVuZGVyR3JpZDo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRV
bml0KQogICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLnNldEF2YWlsYWJsZVNwYWNlKEZv
ckNvbHVtbnMsIGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyk7CiAgICAgICAgIHBlcmZvcm1Hcmlk
SXRlbXNQcmVMYXlvdXQobV90cmFja1NpemluZ0FsZ29yaXRobSk7CiAKLSAgICAgICAgLy8gMS0g
Rmlyc3QsIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtIGlzIHVzZWQgdG8gcmVzb2x2ZSB0aGUg
c2l6ZXMgb2YgdGhlCi0gICAgICAgIC8vIGdyaWQgY29sdW1ucy4KLSAgICAgICAgLy8gQXQgdGhp
cyBwb2ludCB0aGUgbG9naWNhbCB3aWR0aCBpcyBhbHdheXMgZGVmaW5pdGUgYXMgdGhlIGFib3Zl
IGNhbGwgdG8KLSAgICAgICAgLy8gdXBkYXRlTG9naWNhbFdpZHRoKCkgcHJvcGVybHkgcmVzb2x2
ZXMgaW50cmluc2ljIHNpemVzLiBXZSBjYW5ub3QgZG8gdGhlCi0gICAgICAgIC8vIHNhbWUgZm9y
IGhlaWdodHMgdGhvdWdoIGJlY2F1c2UgbWFueSBjb2RlIHBhdGhzIGluc2lkZQotICAgICAgICAv
LyB1cGRhdGVMb2dpY2FsSGVpZ2h0KCkgcmVxdWlyZSBhIHByZXZpb3VzIGNhbGwgdG8gc2V0TG9n
aWNhbEhlaWdodCgpIHRvCi0gICAgICAgIC8vIHJlc29sdmUgaGVpZ2h0cyBwcm9wZXJseSAobGlr
ZSBmb3IgcG9zaXRpb25lZCBpdGVtcyBmb3IgZXhhbXBsZSkuCisgICAgICAgIC8vIDEtIEZpcnN0
LCB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobSBpcyB1c2VkIHRvIHJlc29sdmUgdGhlIHNpemVz
IG9mIHRoZSBncmlkIGNvbHVtbnMuIEF0IHRoaXMgcG9pbnQgdGhlIAorICAgICAgICAvLyBsb2dp
Y2FsIHdpZHRoIGlzIGFsd2F5cyBkZWZpbml0ZSBhcyB0aGUgYWJvdmUgY2FsbCB0byB1cGRhdGVM
b2dpY2FsV2lkdGgoKSBwcm9wZXJseSByZXNvbHZlcyBpbnRyaW5zaWMgCisgICAgICAgIC8vIHNp
emVzLiBXZSBjYW5ub3QgZG8gdGhlIHNhbWUgZm9yIGhlaWdodHMgdGhvdWdoIGJlY2F1c2UgbWFu
eSBjb2RlIHBhdGhzIGluc2lkZSB1cGRhdGVMb2dpY2FsSGVpZ2h0KCkgcmVxdWlyZSAKKyAgICAg
ICAgLy8gYSBwcmV2aW91cyBjYWxsIHRvIHNldExvZ2ljYWxIZWlnaHQoKSB0byByZXNvbHZlIGhl
aWdodHMgcHJvcGVybHkgKGxpa2UgZm9yIHBvc2l0aW9uZWQgaXRlbXMgZm9yIGV4YW1wbGUpLgog
ICAgICAgICBjb21wdXRlVHJhY2tTaXplc0ZvckRlZmluaXRlU2l6ZShGb3JDb2x1bW5zLCBhdmFp
bGFibGVTcGFjZUZvckNvbHVtbnMpOwogCiAgICAgICAgIC8vIDEuNS0gQ29tcHV0ZSBDb250ZW50
IERpc3RyaWJ1dGlvbiBvZmZzZXRzIGZvciBjb2x1bW4gdHJhY2tzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckdyaWQuaAppbmRleCAyOWFlNTk0ODAwM2VlNmQyZGQ0NDNiNTY5OWRjYjJkN2Mx
N2I5NjI2Li5lMjMwYjEzZGE4YTJkY2VlOTRhOTcxNmQ0MTBkODYxNDlhZWQ5YWI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMSwgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTMtMjAxNyBJZ2FsaWEgUy5MLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAt
MTkxLDYgKzE5MSw4IEBAIHByaXZhdGU6CiAKICAgICBib29sIGFzcGVjdFJhdGlvUHJlZmVyc0lu
bGluZShjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBib29sIGJsb2NrRmxvd0lzQ29sdW1uQXhpcyk7
CiAKKyAgICBWZWN0b3I8UmVuZGVyQm94Kj4gY29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kZW50QW5k
QmFzZWxpbmVJdGVtcygpOworCiAgICAgR3JpZCBtX2dyaWQ7CiAKICAgICBHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG0gbV90cmFja1NpemluZ0FsZ29yaXRobTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451288</attachid>
            <date>2022-02-08 12:04:21 -0800</date>
            <delta_ts>2022-02-08 12:56:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234578-20220208120420.patch</filename>
            <type>text/plain</type>
            <size>9601</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5Mzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E0ODRiZTkzODBhOWNm
ZDhkODU4ZGFmZmI0NzZjYTAwZGQ4YmMwYy4uNzM4NjY5YThjMmMyYjk0MzkxM2QwMjIxYmQzY2E2
NTRkMTJkNjkzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAyLTA4ICBCcmFu
ZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JpZCBt
YXkgYmUgZW1wdHkgaW4gY2VydGFpbiBzY2VuYXJpb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBjaGVjayB0byBoYW5kbGUgbGVnZW5kIGVsZW1l
bnRzIHdoZW4gaW5zaWRlIGEgQ1NTIEdyaWQuIFRoZSBsZWdlbmQgZWxlbWVudCBzaG91bGQgbm90
IGJlCisgICAgICAgIGFkZGVkIHRvIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50R3JpZEl0
ZW1zLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJHcmlkLmg6CisKIDIwMjItMDItMDcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KIAogICAgICAgICBbV2ViQ29yZV0gSlNWYWx1ZUluV3JhcHBlZE9iamVjdCBpcyBub3QgY29y
cmVjdCBmb3IgY29uY3VycmVudCBHQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
Y3BwCmluZGV4IDI2ZjhmY2JjMGFiMjc5NjBjNDkzOTIyM2U3NDhkOTNjM2I4M2M5OWEuLjdmZmI2
MjM3NDhmMDBmNjZmYjdiZTg1ZmI5ZTk1MzNlNTc0MTFlZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMSwgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTMtMjAxNyBJZ2FsaWEgUy5MLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMTg2LDYgKzE4
Niw1MiBAQCBib29sIFJlbmRlckdyaWQ6OmNhblBlcmZvcm1TaW1wbGlmaWVkTGF5b3V0KCkgY29u
c3QKICAgICByZXR1cm4gUmVuZGVyQmxvY2s6OmNhblBlcmZvcm1TaW1wbGlmaWVkTGF5b3V0KCk7
CiB9CiAKK1ZlY3RvcjxSZW5kZXJCb3gqPiBSZW5kZXJHcmlkOjpjb21wdXRlQXNwZWN0UmF0aW9E
ZXBlbmRlbnRBbmRCYXNlbGluZUl0ZW1zKCkKK3sKKyAgICBWZWN0b3I8UmVuZGVyQm94Kj4gZGVw
ZW5kZW50R3JpZEl0ZW1zOworCisgICAgbV9iYXNlbGluZUl0ZW1zQ2FjaGVkID0gdHJ1ZTsKKyAg
ICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gZmFsc2U7CisgICAgbV9oYXNBc3BlY3RSYXRpb0Js
b2NrU2l6ZURlcGVuZGVudEl0ZW0gPSBmYWxzZTsKKworICAgIGZvciAoYXV0byogY2hpbGQgPSBm
aXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7
CisgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgY2hpbGQtPmlz
TGVnZW5kKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAvLyBHcmlkJ3MgbGF5
b3V0IGxvZ2ljIGNvbnRyb2xzIHRoZSBncmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQsIGhlbmNl
IHdlIG5lZWQgdG8KKyAgICAgICAgLy8gY2xlYXIgYW55IG92ZXJyaWRlIGhlaWdodCBzZXQgcHJl
dmlvdXNseSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4gY3VycmVudCBsYXlvdXQKKyAgICAg
ICAgLy8gZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92ZXJyaWRlIHdpZHRoLCB0aGF0
J3Mgd2h5IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0LgorICAgICAgICBjaGlsZC0+Y2xlYXJP
dmVycmlkaW5nTG9naWNhbEhlaWdodCgpOworCisgICAgICAgIC8vIEdyaWQncyBsYXlvdXQgbG9n
aWMgY29udHJvbHMgdGhlIGdyaWQgaXRlbSdzIG92ZXJyaWRlIGhlaWdodCwgaGVuY2Ugd2UgbmVl
ZCB0bworICAgICAgICAvLyBjbGVhciBhbnkgb3ZlcnJpZGUgaGVpZ2h0IHNldCBwcmV2aW91c2x5
LCBzbyBpdCBkb2Vzbid0IGludGVyZmVyZSBpbiBjdXJyZW50IGxheW91dAorICAgICAgICAvLyBl
eGVjdXRpb24uIEdyaWQgbmV2ZXIgdXNlcyB0aGUgb3ZlcnJpZGUgd2lkdGgsIHRoYXQncyB3aHkg
d2UgZG9uJ3QgbmVlZCB0byBjbGVhciAgaXQuCisgICAgICAgIGNoaWxkLT5jbGVhck92ZXJyaWRp
bmdMb2dpY2FsSGVpZ2h0KCk7CisKKyAgICAgICAgLy8gV2UgbWF5IG5lZWQgdG8gcmVwZWF0IHRo
ZSB0cmFjayBzaXppbmcgaW4gY2FzZSBvZiBhbnkgZ3JpZCBpdGVtIHdhcyBvcnRob2dvbmFsLgor
ICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQoKnRoaXMs
ICpjaGlsZCkpCisgICAgICAgICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gdHJ1ZTsKKwor
ICAgICAgICAvLyBGb3IgYSBncmlkIGl0ZW0gdGhhdCBoYXMgYW4gYXNwZWN0LXJhdGlvIGFuZCBi
bG9jay1jb25zdHJhaW50cyBzdWNoIGFzIHRoZSByZWxhdGl2ZSBsb2dpY2FsIGhlaWdodCwKKyAg
ICAgICAgLy8gd2hlbiB0aGUgZ3JpZCB3aWR0aCBpcyBhdXRvLCB3ZSBtYXkgbmVlZCBnZXQgdGhl
IHJlYWwgZ3JpZCB3aWR0aCBiZWZvcmUgbGF5aW5nIG91dCB0aGUgaXRlbS4KKyAgICAgICAgaWYg
KEdyaWRMYXlvdXRGdW5jdGlvbnM6OmlzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRDaGls
ZCgqY2hpbGQpICYmIChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0eWxlKCku
bG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5p
c01heENvbnRlbnQoKSkpIHsKKyAgICAgICAgICAgIGRlcGVuZGVudEdyaWRJdGVtcy5hcHBlbmQo
Y2hpbGQpOworICAgICAgICAgICAgbV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0
ZW0gPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgLy8gV2Uga2VlcCBhIGNhY2hlIG9mIGl0
ZW1zIHdpdGggYmFzZWxpbmUgYXMgYWxpZ25tZW50IHZhbHVlcyBzbyB0aGF0IHdlIG9ubHkgY29t
cHV0ZSB0aGUgYmFzZWxpbmUgc2hpbXMgZm9yCisgICAgICAgIC8vIHN1Y2ggaXRlbXMuIFRoaXMg
Y2FjaGUgaXMgbmVlZGVkIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIHJlYXNvbnMgZHVlIHRvIHRo
ZSBjb3N0IG9mIGV2YWx1YXRpbmcgdGhlIGl0ZW0ncworICAgICAgICAvLyBwYXJ0aWNpcGF0aW9u
IGluIGEgYmFzZWxpbmUgY29udGV4dCBkdXJpbmcgdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0u
CisgICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkQ29s
dW1uQXhpcykpCisgICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNhY2hlQmFzZWxp
bmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKTsKKyAgICAgICAgaWYgKGlzQmFz
ZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRSb3dBeGlzKSkKKyAgICAgICAgICAg
IG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwg
R3JpZFJvd0F4aXMpOworICAgIH0KKworICAgIHJldHVybiBkZXBlbmRlbnRHcmlkSXRlbXM7Cit9
CisKKwogdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4s
IExheW91dFVuaXQpCiB7CiAgICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkpOwpAQCAtMjAxLDQzICsy
NDcsMTYgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRy
ZW4sIExheW91dFVuaXQpCiAgICAgICAgIGJlZ2luVXBkYXRlU2Nyb2xsSW5mb0FmdGVyTGF5b3V0
VHJhbnNhY3Rpb24oKTsKIAogICAgICAgICBMYXlvdXRTaXplIHByZXZpb3VzU2l6ZSA9IHNpemUo
KTsKKwogICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBSZW5kZXJCbG9jazo6aGFzRGVm
aW5pdGVMb2dpY2FsSGVpZ2h0KCkgb25seSBidXQgaXQgZG9lcyBub3Qgd29yayBmb3IgcG9zaXRp
b25lZCBzdHVmZi4KICAgICAgICAgLy8gRklYTUU6IENvbnNpZGVyIGNhY2hpbmcgdGhlIGhhc0Rl
ZmluaXRlTG9naWNhbEhlaWdodCB2YWx1ZSB0aHJvdWdob3V0IHRoZSBsYXlvdXQuCiAgICAgICAg
IC8vIEZJWE1FOiBXZSBtaWdodCBuZWVkIHRvIGNhY2hlIHRoZSBoYXNEZWZpbml0ZUxvZ2ljYWxI
ZWlnaHQgaWYgdGhlIGNhbGwgb2YgUmVuZGVyQmxvY2s6Omhhc0RlZmluaXRlTG9naWNhbEhlaWdo
dCgpIGNhdXNlcyBhIHJlbGV2YW50IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGJv
b2wgaGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0ID0gUmVuZGVyQmxvY2s6Omhhc0RlZmluaXRlTG9n
aWNhbEhlaWdodCgpIHx8IGhhc092ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KCkgfHwgY29tcHV0ZUNv
bnRlbnRMb2dpY2FsSGVpZ2h0KE1haW5PclByZWZlcnJlZFNpemUsIHN0eWxlKCkubG9naWNhbEhl
aWdodCgpLCBzdGQ6Om51bGxvcHQpOwotICAgICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0g
ZmFsc2U7Ci0gICAgICAgIG1faGFzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRJdGVtID0g
ZmFsc2U7Ci0gICAgICAgIFZlY3RvcjxSZW5kZXJCb3gqPiBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURl
cGVuZGVudEdyaWRJdGVtczsKLSAgICAgICAgZm9yIChhdXRvKiBjaGlsZCA9IGZpcnN0Q2hpbGRC
b3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKLSAgICAgICAg
ICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCi0gICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICAvLyBHcmlkJ3MgbGF5b3V0IGxvZ2ljIGNvbnRyb2xzIHRo
ZSBncmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQsIGhlbmNlIHdlIG5lZWQgdG8KLSAgICAgICAg
ICAgIC8vIGNsZWFyIGFueSBvdmVycmlkZSBoZWlnaHQgc2V0IHByZXZpb3VzbHksIHNvIGl0IGRv
ZXNuJ3QgaW50ZXJmZXJlIGluIGN1cnJlbnQgbGF5b3V0Ci0gICAgICAgICAgICAvLyBleGVjdXRp
b24uIEdyaWQgbmV2ZXIgdXNlcyB0aGUgb3ZlcnJpZGUgd2lkdGgsIHRoYXQncyB3aHkgd2UgZG9u
J3QgbmVlZCB0byBjbGVhciAgaXQuCi0gICAgICAgICAgICBjaGlsZC0+Y2xlYXJPdmVycmlkaW5n
TG9naWNhbEhlaWdodCgpOwotCi0gICAgICAgICAgICAvLyBXZSBtYXkgbmVlZCB0byByZXBlYXQg
dGhlIHRyYWNrIHNpemluZyBpbiBjYXNlIG9mIGFueSBncmlkIGl0ZW0gd2FzIG9ydGhvZ29uYWwu
Ci0gICAgICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQo
KnRoaXMsICpjaGlsZCkpCi0gICAgICAgICAgICAgICAgbV9oYXNBbnlPcnRob2dvbmFsSXRlbSA9
IHRydWU7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIEZvciBhIGdyaWQgaXRlbSB0aGF0
IGhhcyBhbiBhc3BlY3QtcmF0aW8gYW5kIGJsb2NrLWNvbnN0cmFpbnRzIHN1Y2ggYXMgdGhlIHJl
bGF0aXZlIGxvZ2ljYWwgaGVpZ2h0LAotICAgICAgICAgICAgLy8gd2hlbiB0aGUgZ3JpZCB3aWR0
aCBpcyBhdXRvLCB3ZSBtYXkgbmVlZCBnZXQgdGhlIHJlYWwgZ3JpZCB3aWR0aCBiZWZvcmUgbGF5
aW5nIG91dCB0aGUgaXRlbS4gCi0gICAgICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6
aXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudENoaWxkKCpjaGlsZCkgJiYgKHN0eWxlKCku
bG9naWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc01pbkNv
bnRlbnQoKSB8fCBzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSkgewotICAg
ICAgICAgICAgICAgIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50R3JpZEl0ZW1zLmFwcGVu
ZChjaGlsZCk7Ci0gICAgICAgICAgICAgICAgbV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVu
ZGVudEl0ZW0gPSB0cnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLy8gV2Uga2VlcCBh
IGNhY2hlIG9mIGl0ZW1zIHdpdGggYmFzZWxpbmUgYXMgYWxpZ25tZW50IHZhbHVlcyBzbwotICAg
ICAgICAgICAgLy8gdGhhdCB3ZSBvbmx5IGNvbXB1dGUgdGhlIGJhc2VsaW5lIHNoaW1zIGZvciBz
dWNoIGl0ZW1zLiBUaGlzCi0gICAgICAgICAgICAvLyBjYWNoZSBpcyBuZWVkZWQgZm9yIHBlcmZv
cm1hbmNlIHJlbGF0ZWQgcmVhc29ucyBkdWUgdG8gdGhlCi0gICAgICAgICAgICAvLyBjb3N0IG9m
IGV2YWx1YXRpbmcgdGhlIGl0ZW0ncyBwYXJ0aWNpcGF0aW9uIGluIGEgYmFzZWxpbmUKLSAgICAg
ICAgICAgIC8vIGNvbnRleHQgZHVyaW5nIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtLgotICAg
ICAgICAgICAgaWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRDb2x1
bW5BeGlzKSkKLSAgICAgICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNhY2hlQmFz
ZWxpbmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKTsKLSAgICAgICAgICAgIGlm
IChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkUm93QXhpcykpCi0gICAg
ICAgICAgICAgICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0
ZW0oKmNoaWxkLCBHcmlkUm93QXhpcyk7Ci0gICAgICAgIH0KLSAgICAgICAgbV9iYXNlbGluZUl0
ZW1zQ2FjaGVkID0gdHJ1ZTsKKworICAgICAgICBhdXRvIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVw
ZW5kZW50R3JpZEl0ZW1zID0gY29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kZW50QW5kQmFzZWxpbmVJ
dGVtcygpOworCiAgICAgICAgIHJlc2V0TG9naWNhbEhlaWdodEJlZm9yZUxheW91dElmTmVlZGVk
KCk7CisKICAgICAgICAgdXBkYXRlTG9naWNhbFdpZHRoKCk7CiAKICAgICAgICAgLy8gRmllbGRz
ZXRzIG5lZWQgdG8gZmluZCB0aGVpciBsZWdlbmQgYW5kIHBvc2l0aW9uIGl0IGluc2lkZSB0aGUg
Ym9yZGVyIG9mIHRoZSBvYmplY3QuCkBAIC0yNTEsMTMgKzI3MCwxMCBAQCB2b2lkIFJlbmRlckdy
aWQ6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCkKICAgICAg
ICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5zZXRBdmFpbGFibGVTcGFjZShGb3JDb2x1bW5zLCBh
dmFpbGFibGVTcGFjZUZvckNvbHVtbnMpOwogICAgICAgICBwZXJmb3JtR3JpZEl0ZW1zUHJlTGF5
b3V0KG1fdHJhY2tTaXppbmdBbGdvcml0aG0pOwogCi0gICAgICAgIC8vIDEtIEZpcnN0LCB0aGUg
dHJhY2sgc2l6aW5nIGFsZ29yaXRobSBpcyB1c2VkIHRvIHJlc29sdmUgdGhlIHNpemVzIG9mIHRo
ZQotICAgICAgICAvLyBncmlkIGNvbHVtbnMuCi0gICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgdGhl
IGxvZ2ljYWwgd2lkdGggaXMgYWx3YXlzIGRlZmluaXRlIGFzIHRoZSBhYm92ZSBjYWxsIHRvCi0g
ICAgICAgIC8vIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpIHByb3Blcmx5IHJlc29sdmVzIGludHJpbnNp
YyBzaXplcy4gV2UgY2Fubm90IGRvIHRoZQotICAgICAgICAvLyBzYW1lIGZvciBoZWlnaHRzIHRo
b3VnaCBiZWNhdXNlIG1hbnkgY29kZSBwYXRocyBpbnNpZGUKLSAgICAgICAgLy8gdXBkYXRlTG9n
aWNhbEhlaWdodCgpIHJlcXVpcmUgYSBwcmV2aW91cyBjYWxsIHRvIHNldExvZ2ljYWxIZWlnaHQo
KSB0bwotICAgICAgICAvLyByZXNvbHZlIGhlaWdodHMgcHJvcGVybHkgKGxpa2UgZm9yIHBvc2l0
aW9uZWQgaXRlbXMgZm9yIGV4YW1wbGUpLgorICAgICAgICAvLyAxLSBGaXJzdCwgdGhlIHRyYWNr
IHNpemluZyBhbGdvcml0aG0gaXMgdXNlZCB0byByZXNvbHZlIHRoZSBzaXplcyBvZiB0aGUgZ3Jp
ZCBjb2x1bW5zLiBBdCB0aGlzIHBvaW50IHRoZSAKKyAgICAgICAgLy8gbG9naWNhbCB3aWR0aCBp
cyBhbHdheXMgZGVmaW5pdGUgYXMgdGhlIGFib3ZlIGNhbGwgdG8gdXBkYXRlTG9naWNhbFdpZHRo
KCkgcHJvcGVybHkgcmVzb2x2ZXMgaW50cmluc2ljIAorICAgICAgICAvLyBzaXplcy4gV2UgY2Fu
bm90IGRvIHRoZSBzYW1lIGZvciBoZWlnaHRzIHRob3VnaCBiZWNhdXNlIG1hbnkgY29kZSBwYXRo
cyBpbnNpZGUgdXBkYXRlTG9naWNhbEhlaWdodCgpIHJlcXVpcmUgCisgICAgICAgIC8vIGEgcHJl
dmlvdXMgY2FsbCB0byBzZXRMb2dpY2FsSGVpZ2h0KCkgdG8gcmVzb2x2ZSBoZWlnaHRzIHByb3Bl
cmx5IChsaWtlIGZvciBwb3NpdGlvbmVkIGl0ZW1zIGZvciBleGFtcGxlKS4KICAgICAgICAgY29t
cHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoRm9yQ29sdW1ucywgYXZhaWxhYmxlU3BhY2VG
b3JDb2x1bW5zKTsKIAogICAgICAgICAvLyAxLjUtIENvbXB1dGUgQ29udGVudCBEaXN0cmlidXRp
b24gb2Zmc2V0cyBmb3IgY29sdW1uIHRyYWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJH
cmlkLmgKaW5kZXggMjlhZTU5NDgwMDNlZTZkMmRkNDQzYjU2OTlkY2IyZDdjMTdiOTYyNi4uZTIz
MGIxM2RhOGEyZGNlZTk0YTk3MTZkNDEwZDg2MTQ5YWVkOWFiNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEsIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDEzLTIwMTcgSWdhbGlhIFMuTC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTE5MSw2ICsxOTEs
OCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBhc3BlY3RSYXRpb1ByZWZlcnNJbmxpbmUoY29uc3Qg
UmVuZGVyQm94JiBjaGlsZCwgYm9vbCBibG9ja0Zsb3dJc0NvbHVtbkF4aXMpOwogCisgICAgVmVj
dG9yPFJlbmRlckJveCo+IGNvbXB1dGVBc3BlY3RSYXRpb0RlcGVuZGVudEFuZEJhc2VsaW5lSXRl
bXMoKTsKKwogICAgIEdyaWQgbV9ncmlkOwogCiAgICAgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGht
IG1fdHJhY2tTaXppbmdBbGdvcml0aG07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451295</attachid>
            <date>2022-02-08 12:56:33 -0800</date>
            <delta_ts>2022-02-08 13:50:53 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234578-20220208125632.patch</filename>
            <type>text/plain</type>
            <size>9601</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5Mzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E0ODRiZTkzODBhOWNm
ZDhkODU4ZGFmZmI0NzZjYTAwZGQ4YmMwYy4uNzM4NjY5YThjMmMyYjk0MzkxM2QwMjIxYmQzY2E2
NTRkMTJkNjkzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAyLTA4ICBCcmFu
ZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JpZCBt
YXkgYmUgZW1wdHkgaW4gY2VydGFpbiBzY2VuYXJpb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBjaGVjayB0byBoYW5kbGUgbGVnZW5kIGVsZW1l
bnRzIHdoZW4gaW5zaWRlIGEgQ1NTIEdyaWQuIFRoZSBsZWdlbmQgZWxlbWVudCBzaG91bGQgbm90
IGJlCisgICAgICAgIGFkZGVkIHRvIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50R3JpZEl0
ZW1zLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJHcmlkLmg6CisKIDIwMjItMDItMDcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KIAogICAgICAgICBbV2ViQ29yZV0gSlNWYWx1ZUluV3JhcHBlZE9iamVjdCBpcyBub3QgY29y
cmVjdCBmb3IgY29uY3VycmVudCBHQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
Y3BwCmluZGV4IDI2ZjhmY2JjMGFiMjc5NjBjNDkzOTIyM2U3NDhkOTNjM2I4M2M5OWEuLjdmZmI2
MjM3NDhmMDBmNjZmYjdiZTg1ZmI5ZTk1MzNlNTc0MTFlZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMSwgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTMtMjAxNyBJZ2FsaWEgUy5MLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMTg2LDYgKzE4
Niw1MiBAQCBib29sIFJlbmRlckdyaWQ6OmNhblBlcmZvcm1TaW1wbGlmaWVkTGF5b3V0KCkgY29u
c3QKICAgICByZXR1cm4gUmVuZGVyQmxvY2s6OmNhblBlcmZvcm1TaW1wbGlmaWVkTGF5b3V0KCk7
CiB9CiAKK1ZlY3RvcjxSZW5kZXJCb3gqPiBSZW5kZXJHcmlkOjpjb21wdXRlQXNwZWN0UmF0aW9E
ZXBlbmRlbnRBbmRCYXNlbGluZUl0ZW1zKCkKK3sKKyAgICBWZWN0b3I8UmVuZGVyQm94Kj4gZGVw
ZW5kZW50R3JpZEl0ZW1zOworCisgICAgbV9iYXNlbGluZUl0ZW1zQ2FjaGVkID0gdHJ1ZTsKKyAg
ICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gZmFsc2U7CisgICAgbV9oYXNBc3BlY3RSYXRpb0Js
b2NrU2l6ZURlcGVuZGVudEl0ZW0gPSBmYWxzZTsKKworICAgIGZvciAoYXV0byogY2hpbGQgPSBm
aXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7
CisgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgY2hpbGQtPmlz
TGVnZW5kKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAvLyBHcmlkJ3MgbGF5
b3V0IGxvZ2ljIGNvbnRyb2xzIHRoZSBncmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQsIGhlbmNl
IHdlIG5lZWQgdG8KKyAgICAgICAgLy8gY2xlYXIgYW55IG92ZXJyaWRlIGhlaWdodCBzZXQgcHJl
dmlvdXNseSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4gY3VycmVudCBsYXlvdXQKKyAgICAg
ICAgLy8gZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92ZXJyaWRlIHdpZHRoLCB0aGF0
J3Mgd2h5IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0LgorICAgICAgICBjaGlsZC0+Y2xlYXJP
dmVycmlkaW5nTG9naWNhbEhlaWdodCgpOworCisgICAgICAgIC8vIEdyaWQncyBsYXlvdXQgbG9n
aWMgY29udHJvbHMgdGhlIGdyaWQgaXRlbSdzIG92ZXJyaWRlIGhlaWdodCwgaGVuY2Ugd2UgbmVl
ZCB0bworICAgICAgICAvLyBjbGVhciBhbnkgb3ZlcnJpZGUgaGVpZ2h0IHNldCBwcmV2aW91c2x5
LCBzbyBpdCBkb2Vzbid0IGludGVyZmVyZSBpbiBjdXJyZW50IGxheW91dAorICAgICAgICAvLyBl
eGVjdXRpb24uIEdyaWQgbmV2ZXIgdXNlcyB0aGUgb3ZlcnJpZGUgd2lkdGgsIHRoYXQncyB3aHkg
d2UgZG9uJ3QgbmVlZCB0byBjbGVhciAgaXQuCisgICAgICAgIGNoaWxkLT5jbGVhck92ZXJyaWRp
bmdMb2dpY2FsSGVpZ2h0KCk7CisKKyAgICAgICAgLy8gV2UgbWF5IG5lZWQgdG8gcmVwZWF0IHRo
ZSB0cmFjayBzaXppbmcgaW4gY2FzZSBvZiBhbnkgZ3JpZCBpdGVtIHdhcyBvcnRob2dvbmFsLgor
ICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQoKnRoaXMs
ICpjaGlsZCkpCisgICAgICAgICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gdHJ1ZTsKKwor
ICAgICAgICAvLyBGb3IgYSBncmlkIGl0ZW0gdGhhdCBoYXMgYW4gYXNwZWN0LXJhdGlvIGFuZCBi
bG9jay1jb25zdHJhaW50cyBzdWNoIGFzIHRoZSByZWxhdGl2ZSBsb2dpY2FsIGhlaWdodCwKKyAg
ICAgICAgLy8gd2hlbiB0aGUgZ3JpZCB3aWR0aCBpcyBhdXRvLCB3ZSBtYXkgbmVlZCBnZXQgdGhl
IHJlYWwgZ3JpZCB3aWR0aCBiZWZvcmUgbGF5aW5nIG91dCB0aGUgaXRlbS4KKyAgICAgICAgaWYg
KEdyaWRMYXlvdXRGdW5jdGlvbnM6OmlzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRDaGls
ZCgqY2hpbGQpICYmIChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0eWxlKCku
bG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5p
c01heENvbnRlbnQoKSkpIHsKKyAgICAgICAgICAgIGRlcGVuZGVudEdyaWRJdGVtcy5hcHBlbmQo
Y2hpbGQpOworICAgICAgICAgICAgbV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0
ZW0gPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgLy8gV2Uga2VlcCBhIGNhY2hlIG9mIGl0
ZW1zIHdpdGggYmFzZWxpbmUgYXMgYWxpZ25tZW50IHZhbHVlcyBzbyB0aGF0IHdlIG9ubHkgY29t
cHV0ZSB0aGUgYmFzZWxpbmUgc2hpbXMgZm9yCisgICAgICAgIC8vIHN1Y2ggaXRlbXMuIFRoaXMg
Y2FjaGUgaXMgbmVlZGVkIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIHJlYXNvbnMgZHVlIHRvIHRo
ZSBjb3N0IG9mIGV2YWx1YXRpbmcgdGhlIGl0ZW0ncworICAgICAgICAvLyBwYXJ0aWNpcGF0aW9u
IGluIGEgYmFzZWxpbmUgY29udGV4dCBkdXJpbmcgdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0u
CisgICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkQ29s
dW1uQXhpcykpCisgICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNhY2hlQmFzZWxp
bmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKTsKKyAgICAgICAgaWYgKGlzQmFz
ZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRSb3dBeGlzKSkKKyAgICAgICAgICAg
IG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwg
R3JpZFJvd0F4aXMpOworICAgIH0KKworICAgIHJldHVybiBkZXBlbmRlbnRHcmlkSXRlbXM7Cit9
CisKKwogdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4s
IExheW91dFVuaXQpCiB7CiAgICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkpOwpAQCAtMjAxLDQzICsy
NDcsMTYgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRy
ZW4sIExheW91dFVuaXQpCiAgICAgICAgIGJlZ2luVXBkYXRlU2Nyb2xsSW5mb0FmdGVyTGF5b3V0
VHJhbnNhY3Rpb24oKTsKIAogICAgICAgICBMYXlvdXRTaXplIHByZXZpb3VzU2l6ZSA9IHNpemUo
KTsKKwogICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBSZW5kZXJCbG9jazo6aGFzRGVm
aW5pdGVMb2dpY2FsSGVpZ2h0KCkgb25seSBidXQgaXQgZG9lcyBub3Qgd29yayBmb3IgcG9zaXRp
b25lZCBzdHVmZi4KICAgICAgICAgLy8gRklYTUU6IENvbnNpZGVyIGNhY2hpbmcgdGhlIGhhc0Rl
ZmluaXRlTG9naWNhbEhlaWdodCB2YWx1ZSB0aHJvdWdob3V0IHRoZSBsYXlvdXQuCiAgICAgICAg
IC8vIEZJWE1FOiBXZSBtaWdodCBuZWVkIHRvIGNhY2hlIHRoZSBoYXNEZWZpbml0ZUxvZ2ljYWxI
ZWlnaHQgaWYgdGhlIGNhbGwgb2YgUmVuZGVyQmxvY2s6Omhhc0RlZmluaXRlTG9naWNhbEhlaWdo
dCgpIGNhdXNlcyBhIHJlbGV2YW50IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGJv
b2wgaGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0ID0gUmVuZGVyQmxvY2s6Omhhc0RlZmluaXRlTG9n
aWNhbEhlaWdodCgpIHx8IGhhc092ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KCkgfHwgY29tcHV0ZUNv
bnRlbnRMb2dpY2FsSGVpZ2h0KE1haW5PclByZWZlcnJlZFNpemUsIHN0eWxlKCkubG9naWNhbEhl
aWdodCgpLCBzdGQ6Om51bGxvcHQpOwotICAgICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0g
ZmFsc2U7Ci0gICAgICAgIG1faGFzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRJdGVtID0g
ZmFsc2U7Ci0gICAgICAgIFZlY3RvcjxSZW5kZXJCb3gqPiBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURl
cGVuZGVudEdyaWRJdGVtczsKLSAgICAgICAgZm9yIChhdXRvKiBjaGlsZCA9IGZpcnN0Q2hpbGRC
b3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKLSAgICAgICAg
ICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCi0gICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICAvLyBHcmlkJ3MgbGF5b3V0IGxvZ2ljIGNvbnRyb2xzIHRo
ZSBncmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQsIGhlbmNlIHdlIG5lZWQgdG8KLSAgICAgICAg
ICAgIC8vIGNsZWFyIGFueSBvdmVycmlkZSBoZWlnaHQgc2V0IHByZXZpb3VzbHksIHNvIGl0IGRv
ZXNuJ3QgaW50ZXJmZXJlIGluIGN1cnJlbnQgbGF5b3V0Ci0gICAgICAgICAgICAvLyBleGVjdXRp
b24uIEdyaWQgbmV2ZXIgdXNlcyB0aGUgb3ZlcnJpZGUgd2lkdGgsIHRoYXQncyB3aHkgd2UgZG9u
J3QgbmVlZCB0byBjbGVhciAgaXQuCi0gICAgICAgICAgICBjaGlsZC0+Y2xlYXJPdmVycmlkaW5n
TG9naWNhbEhlaWdodCgpOwotCi0gICAgICAgICAgICAvLyBXZSBtYXkgbmVlZCB0byByZXBlYXQg
dGhlIHRyYWNrIHNpemluZyBpbiBjYXNlIG9mIGFueSBncmlkIGl0ZW0gd2FzIG9ydGhvZ29uYWwu
Ci0gICAgICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQo
KnRoaXMsICpjaGlsZCkpCi0gICAgICAgICAgICAgICAgbV9oYXNBbnlPcnRob2dvbmFsSXRlbSA9
IHRydWU7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIEZvciBhIGdyaWQgaXRlbSB0aGF0
IGhhcyBhbiBhc3BlY3QtcmF0aW8gYW5kIGJsb2NrLWNvbnN0cmFpbnRzIHN1Y2ggYXMgdGhlIHJl
bGF0aXZlIGxvZ2ljYWwgaGVpZ2h0LAotICAgICAgICAgICAgLy8gd2hlbiB0aGUgZ3JpZCB3aWR0
aCBpcyBhdXRvLCB3ZSBtYXkgbmVlZCBnZXQgdGhlIHJlYWwgZ3JpZCB3aWR0aCBiZWZvcmUgbGF5
aW5nIG91dCB0aGUgaXRlbS4gCi0gICAgICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6
aXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudENoaWxkKCpjaGlsZCkgJiYgKHN0eWxlKCku
bG9naWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc01pbkNv
bnRlbnQoKSB8fCBzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSkgewotICAg
ICAgICAgICAgICAgIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50R3JpZEl0ZW1zLmFwcGVu
ZChjaGlsZCk7Ci0gICAgICAgICAgICAgICAgbV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVu
ZGVudEl0ZW0gPSB0cnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLy8gV2Uga2VlcCBh
IGNhY2hlIG9mIGl0ZW1zIHdpdGggYmFzZWxpbmUgYXMgYWxpZ25tZW50IHZhbHVlcyBzbwotICAg
ICAgICAgICAgLy8gdGhhdCB3ZSBvbmx5IGNvbXB1dGUgdGhlIGJhc2VsaW5lIHNoaW1zIGZvciBz
dWNoIGl0ZW1zLiBUaGlzCi0gICAgICAgICAgICAvLyBjYWNoZSBpcyBuZWVkZWQgZm9yIHBlcmZv
cm1hbmNlIHJlbGF0ZWQgcmVhc29ucyBkdWUgdG8gdGhlCi0gICAgICAgICAgICAvLyBjb3N0IG9m
IGV2YWx1YXRpbmcgdGhlIGl0ZW0ncyBwYXJ0aWNpcGF0aW9uIGluIGEgYmFzZWxpbmUKLSAgICAg
ICAgICAgIC8vIGNvbnRleHQgZHVyaW5nIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtLgotICAg
ICAgICAgICAgaWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRDb2x1
bW5BeGlzKSkKLSAgICAgICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNhY2hlQmFz
ZWxpbmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKTsKLSAgICAgICAgICAgIGlm
IChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkUm93QXhpcykpCi0gICAg
ICAgICAgICAgICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0
ZW0oKmNoaWxkLCBHcmlkUm93QXhpcyk7Ci0gICAgICAgIH0KLSAgICAgICAgbV9iYXNlbGluZUl0
ZW1zQ2FjaGVkID0gdHJ1ZTsKKworICAgICAgICBhdXRvIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVw
ZW5kZW50R3JpZEl0ZW1zID0gY29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kZW50QW5kQmFzZWxpbmVJ
dGVtcygpOworCiAgICAgICAgIHJlc2V0TG9naWNhbEhlaWdodEJlZm9yZUxheW91dElmTmVlZGVk
KCk7CisKICAgICAgICAgdXBkYXRlTG9naWNhbFdpZHRoKCk7CiAKICAgICAgICAgLy8gRmllbGRz
ZXRzIG5lZWQgdG8gZmluZCB0aGVpciBsZWdlbmQgYW5kIHBvc2l0aW9uIGl0IGluc2lkZSB0aGUg
Ym9yZGVyIG9mIHRoZSBvYmplY3QuCkBAIC0yNTEsMTMgKzI3MCwxMCBAQCB2b2lkIFJlbmRlckdy
aWQ6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCkKICAgICAg
ICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5zZXRBdmFpbGFibGVTcGFjZShGb3JDb2x1bW5zLCBh
dmFpbGFibGVTcGFjZUZvckNvbHVtbnMpOwogICAgICAgICBwZXJmb3JtR3JpZEl0ZW1zUHJlTGF5
b3V0KG1fdHJhY2tTaXppbmdBbGdvcml0aG0pOwogCi0gICAgICAgIC8vIDEtIEZpcnN0LCB0aGUg
dHJhY2sgc2l6aW5nIGFsZ29yaXRobSBpcyB1c2VkIHRvIHJlc29sdmUgdGhlIHNpemVzIG9mIHRo
ZQotICAgICAgICAvLyBncmlkIGNvbHVtbnMuCi0gICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgdGhl
IGxvZ2ljYWwgd2lkdGggaXMgYWx3YXlzIGRlZmluaXRlIGFzIHRoZSBhYm92ZSBjYWxsIHRvCi0g
ICAgICAgIC8vIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpIHByb3Blcmx5IHJlc29sdmVzIGludHJpbnNp
YyBzaXplcy4gV2UgY2Fubm90IGRvIHRoZQotICAgICAgICAvLyBzYW1lIGZvciBoZWlnaHRzIHRo
b3VnaCBiZWNhdXNlIG1hbnkgY29kZSBwYXRocyBpbnNpZGUKLSAgICAgICAgLy8gdXBkYXRlTG9n
aWNhbEhlaWdodCgpIHJlcXVpcmUgYSBwcmV2aW91cyBjYWxsIHRvIHNldExvZ2ljYWxIZWlnaHQo
KSB0bwotICAgICAgICAvLyByZXNvbHZlIGhlaWdodHMgcHJvcGVybHkgKGxpa2UgZm9yIHBvc2l0
aW9uZWQgaXRlbXMgZm9yIGV4YW1wbGUpLgorICAgICAgICAvLyAxLSBGaXJzdCwgdGhlIHRyYWNr
IHNpemluZyBhbGdvcml0aG0gaXMgdXNlZCB0byByZXNvbHZlIHRoZSBzaXplcyBvZiB0aGUgZ3Jp
ZCBjb2x1bW5zLiBBdCB0aGlzIHBvaW50IHRoZSAKKyAgICAgICAgLy8gbG9naWNhbCB3aWR0aCBp
cyBhbHdheXMgZGVmaW5pdGUgYXMgdGhlIGFib3ZlIGNhbGwgdG8gdXBkYXRlTG9naWNhbFdpZHRo
KCkgcHJvcGVybHkgcmVzb2x2ZXMgaW50cmluc2ljIAorICAgICAgICAvLyBzaXplcy4gV2UgY2Fu
bm90IGRvIHRoZSBzYW1lIGZvciBoZWlnaHRzIHRob3VnaCBiZWNhdXNlIG1hbnkgY29kZSBwYXRo
cyBpbnNpZGUgdXBkYXRlTG9naWNhbEhlaWdodCgpIHJlcXVpcmUgCisgICAgICAgIC8vIGEgcHJl
dmlvdXMgY2FsbCB0byBzZXRMb2dpY2FsSGVpZ2h0KCkgdG8gcmVzb2x2ZSBoZWlnaHRzIHByb3Bl
cmx5IChsaWtlIGZvciBwb3NpdGlvbmVkIGl0ZW1zIGZvciBleGFtcGxlKS4KICAgICAgICAgY29t
cHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoRm9yQ29sdW1ucywgYXZhaWxhYmxlU3BhY2VG
b3JDb2x1bW5zKTsKIAogICAgICAgICAvLyAxLjUtIENvbXB1dGUgQ29udGVudCBEaXN0cmlidXRp
b24gb2Zmc2V0cyBmb3IgY29sdW1uIHRyYWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJH
cmlkLmgKaW5kZXggMjlhZTU5NDgwMDNlZTZkMmRkNDQzYjU2OTlkY2IyZDdjMTdiOTYyNi4uZTIz
MGIxM2RhOGEyZGNlZTk0YTk3MTZkNDEwZDg2MTQ5YWVkOWFiNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEsIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDEzLTIwMTcgSWdhbGlhIFMuTC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTE5MSw2ICsxOTEs
OCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBhc3BlY3RSYXRpb1ByZWZlcnNJbmxpbmUoY29uc3Qg
UmVuZGVyQm94JiBjaGlsZCwgYm9vbCBibG9ja0Zsb3dJc0NvbHVtbkF4aXMpOwogCisgICAgVmVj
dG9yPFJlbmRlckJveCo+IGNvbXB1dGVBc3BlY3RSYXRpb0RlcGVuZGVudEFuZEJhc2VsaW5lSXRl
bXMoKTsKKwogICAgIEdyaWQgbV9ncmlkOwogCiAgICAgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGht
IG1fdHJhY2tTaXppbmdBbGdvcml0aG07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451302</attachid>
            <date>2022-02-08 13:50:56 -0800</date>
            <delta_ts>2022-02-08 14:52:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234578-20220208135055.patch</filename>
            <type>text/plain</type>
            <size>9598</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5Mzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E0ODRiZTkzODBhOWNm
ZDhkODU4ZGFmZmI0NzZjYTAwZGQ4YmMwYy4uNTkwNmQ0OTM4MWRhYmEyNmJhMjU1MGJmYmNlMGIy
MGM2ZWI2YzM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAyLTA4ICBCcmFu
ZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JpZCBt
YXkgYmUgZW1wdHkgaW4gY2VydGFpbiBzY2VuYXJpb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgIEFkZCBjaGVjayB0byBoYW5kbGUgbGVnZW5kIGVsZW1lbnRz
IHdoZW4gaW5zaWRlIGEgQ1NTIEdyaWQuIFRoZSBsZWdlbmQgZWxlbWVudCBzaG91bGQgbm90IGJl
CisgICAgICAgIGFkZGVkIHRvIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50R3JpZEl0ZW1z
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJH
cmlkLmg6CisKIDIwMjItMDItMDcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4K
IAogICAgICAgICBbV2ViQ29yZV0gSlNWYWx1ZUluV3JhcHBlZE9iamVjdCBpcyBub3QgY29ycmVj
dCBmb3IgY29uY3VycmVudCBHQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
CmluZGV4IDI2ZjhmY2JjMGFiMjc5NjBjNDkzOTIyM2U3NDhkOTNjM2I4M2M5OWEuLjdmZmI2MjM3
NDhmMDBmNjZmYjdiZTg1ZmI5ZTk1MzNlNTc0MTFlZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyR3JpZC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MSwgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTMtMjAxNyBJZ2FsaWEgUy5MLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMTg2LDYgKzE4Niw1
MiBAQCBib29sIFJlbmRlckdyaWQ6OmNhblBlcmZvcm1TaW1wbGlmaWVkTGF5b3V0KCkgY29uc3QK
ICAgICByZXR1cm4gUmVuZGVyQmxvY2s6OmNhblBlcmZvcm1TaW1wbGlmaWVkTGF5b3V0KCk7CiB9
CiAKK1ZlY3RvcjxSZW5kZXJCb3gqPiBSZW5kZXJHcmlkOjpjb21wdXRlQXNwZWN0UmF0aW9EZXBl
bmRlbnRBbmRCYXNlbGluZUl0ZW1zKCkKK3sKKyAgICBWZWN0b3I8UmVuZGVyQm94Kj4gZGVwZW5k
ZW50R3JpZEl0ZW1zOworCisgICAgbV9iYXNlbGluZUl0ZW1zQ2FjaGVkID0gdHJ1ZTsKKyAgICBt
X2hhc0FueU9ydGhvZ29uYWxJdGVtID0gZmFsc2U7CisgICAgbV9oYXNBc3BlY3RSYXRpb0Jsb2Nr
U2l6ZURlcGVuZGVudEl0ZW0gPSBmYWxzZTsKKworICAgIGZvciAoYXV0byogY2hpbGQgPSBmaXJz
dENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7Cisg
ICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgY2hpbGQtPmlzTGVn
ZW5kKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAvLyBHcmlkJ3MgbGF5b3V0
IGxvZ2ljIGNvbnRyb2xzIHRoZSBncmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQsIGhlbmNlIHdl
IG5lZWQgdG8KKyAgICAgICAgLy8gY2xlYXIgYW55IG92ZXJyaWRlIGhlaWdodCBzZXQgcHJldmlv
dXNseSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4gY3VycmVudCBsYXlvdXQKKyAgICAgICAg
Ly8gZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92ZXJyaWRlIHdpZHRoLCB0aGF0J3Mg
d2h5IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0LgorICAgICAgICBjaGlsZC0+Y2xlYXJPdmVy
cmlkaW5nTG9naWNhbEhlaWdodCgpOworCisgICAgICAgIC8vIEdyaWQncyBsYXlvdXQgbG9naWMg
Y29udHJvbHMgdGhlIGdyaWQgaXRlbSdzIG92ZXJyaWRlIGhlaWdodCwgaGVuY2Ugd2UgbmVlZCB0
bworICAgICAgICAvLyBjbGVhciBhbnkgb3ZlcnJpZGUgaGVpZ2h0IHNldCBwcmV2aW91c2x5LCBz
byBpdCBkb2Vzbid0IGludGVyZmVyZSBpbiBjdXJyZW50IGxheW91dAorICAgICAgICAvLyBleGVj
dXRpb24uIEdyaWQgbmV2ZXIgdXNlcyB0aGUgb3ZlcnJpZGUgd2lkdGgsIHRoYXQncyB3aHkgd2Ug
ZG9uJ3QgbmVlZCB0byBjbGVhciAgaXQuCisgICAgICAgIGNoaWxkLT5jbGVhck92ZXJyaWRpbmdM
b2dpY2FsSGVpZ2h0KCk7CisKKyAgICAgICAgLy8gV2UgbWF5IG5lZWQgdG8gcmVwZWF0IHRoZSB0
cmFjayBzaXppbmcgaW4gY2FzZSBvZiBhbnkgZ3JpZCBpdGVtIHdhcyBvcnRob2dvbmFsLgorICAg
ICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQoKnRoaXMsICpj
aGlsZCkpCisgICAgICAgICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gdHJ1ZTsKKworICAg
ICAgICAvLyBGb3IgYSBncmlkIGl0ZW0gdGhhdCBoYXMgYW4gYXNwZWN0LXJhdGlvIGFuZCBibG9j
ay1jb25zdHJhaW50cyBzdWNoIGFzIHRoZSByZWxhdGl2ZSBsb2dpY2FsIGhlaWdodCwKKyAgICAg
ICAgLy8gd2hlbiB0aGUgZ3JpZCB3aWR0aCBpcyBhdXRvLCB3ZSBtYXkgbmVlZCBnZXQgdGhlIHJl
YWwgZ3JpZCB3aWR0aCBiZWZvcmUgbGF5aW5nIG91dCB0aGUgaXRlbS4KKyAgICAgICAgaWYgKEdy
aWRMYXlvdXRGdW5jdGlvbnM6OmlzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRDaGlsZCgq
Y2hpbGQpICYmIChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0eWxlKCkubG9n
aWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc01h
eENvbnRlbnQoKSkpIHsKKyAgICAgICAgICAgIGRlcGVuZGVudEdyaWRJdGVtcy5hcHBlbmQoY2hp
bGQpOworICAgICAgICAgICAgbV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0ZW0g
PSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgLy8gV2Uga2VlcCBhIGNhY2hlIG9mIGl0ZW1z
IHdpdGggYmFzZWxpbmUgYXMgYWxpZ25tZW50IHZhbHVlcyBzbyB0aGF0IHdlIG9ubHkgY29tcHV0
ZSB0aGUgYmFzZWxpbmUgc2hpbXMgZm9yCisgICAgICAgIC8vIHN1Y2ggaXRlbXMuIFRoaXMgY2Fj
aGUgaXMgbmVlZGVkIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIHJlYXNvbnMgZHVlIHRvIHRoZSBj
b3N0IG9mIGV2YWx1YXRpbmcgdGhlIGl0ZW0ncworICAgICAgICAvLyBwYXJ0aWNpcGF0aW9uIGlu
IGEgYmFzZWxpbmUgY29udGV4dCBkdXJpbmcgdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0uCisg
ICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkQ29sdW1u
QXhpcykpCisgICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNhY2hlQmFzZWxpbmVB
bGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKTsKKyAgICAgICAgaWYgKGlzQmFzZWxp
bmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRSb3dBeGlzKSkKKyAgICAgICAgICAgIG1f
dHJhY2tTaXppbmdBbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3Jp
ZFJvd0F4aXMpOworICAgIH0KKworICAgIHJldHVybiBkZXBlbmRlbnRHcmlkSXRlbXM7Cit9CisK
Kwogdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExh
eW91dFVuaXQpCiB7CiAgICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkpOwpAQCAtMjAxLDQzICsyNDcs
MTYgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4s
IExheW91dFVuaXQpCiAgICAgICAgIGJlZ2luVXBkYXRlU2Nyb2xsSW5mb0FmdGVyTGF5b3V0VHJh
bnNhY3Rpb24oKTsKIAogICAgICAgICBMYXlvdXRTaXplIHByZXZpb3VzU2l6ZSA9IHNpemUoKTsK
KwogICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBSZW5kZXJCbG9jazo6aGFzRGVmaW5p
dGVMb2dpY2FsSGVpZ2h0KCkgb25seSBidXQgaXQgZG9lcyBub3Qgd29yayBmb3IgcG9zaXRpb25l
ZCBzdHVmZi4KICAgICAgICAgLy8gRklYTUU6IENvbnNpZGVyIGNhY2hpbmcgdGhlIGhhc0RlZmlu
aXRlTG9naWNhbEhlaWdodCB2YWx1ZSB0aHJvdWdob3V0IHRoZSBsYXlvdXQuCiAgICAgICAgIC8v
IEZJWE1FOiBXZSBtaWdodCBuZWVkIHRvIGNhY2hlIHRoZSBoYXNEZWZpbml0ZUxvZ2ljYWxIZWln
aHQgaWYgdGhlIGNhbGwgb2YgUmVuZGVyQmxvY2s6Omhhc0RlZmluaXRlTG9naWNhbEhlaWdodCgp
IGNhdXNlcyBhIHJlbGV2YW50IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGJvb2wg
aGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0ID0gUmVuZGVyQmxvY2s6Omhhc0RlZmluaXRlTG9naWNh
bEhlaWdodCgpIHx8IGhhc092ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KCkgfHwgY29tcHV0ZUNvbnRl
bnRMb2dpY2FsSGVpZ2h0KE1haW5PclByZWZlcnJlZFNpemUsIHN0eWxlKCkubG9naWNhbEhlaWdo
dCgpLCBzdGQ6Om51bGxvcHQpOwotICAgICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gZmFs
c2U7Ci0gICAgICAgIG1faGFzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRJdGVtID0gZmFs
c2U7Ci0gICAgICAgIFZlY3RvcjxSZW5kZXJCb3gqPiBhc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVu
ZGVudEdyaWRJdGVtczsKLSAgICAgICAgZm9yIChhdXRvKiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3go
KTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKLSAgICAgICAgICAg
IGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCi0gICAgICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgICAgICAvLyBHcmlkJ3MgbGF5b3V0IGxvZ2ljIGNvbnRyb2xzIHRoZSBn
cmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQsIGhlbmNlIHdlIG5lZWQgdG8KLSAgICAgICAgICAg
IC8vIGNsZWFyIGFueSBvdmVycmlkZSBoZWlnaHQgc2V0IHByZXZpb3VzbHksIHNvIGl0IGRvZXNu
J3QgaW50ZXJmZXJlIGluIGN1cnJlbnQgbGF5b3V0Ci0gICAgICAgICAgICAvLyBleGVjdXRpb24u
IEdyaWQgbmV2ZXIgdXNlcyB0aGUgb3ZlcnJpZGUgd2lkdGgsIHRoYXQncyB3aHkgd2UgZG9uJ3Qg
bmVlZCB0byBjbGVhciAgaXQuCi0gICAgICAgICAgICBjaGlsZC0+Y2xlYXJPdmVycmlkaW5nTG9n
aWNhbEhlaWdodCgpOwotCi0gICAgICAgICAgICAvLyBXZSBtYXkgbmVlZCB0byByZXBlYXQgdGhl
IHRyYWNrIHNpemluZyBpbiBjYXNlIG9mIGFueSBncmlkIGl0ZW0gd2FzIG9ydGhvZ29uYWwuCi0g
ICAgICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQoKnRo
aXMsICpjaGlsZCkpCi0gICAgICAgICAgICAgICAgbV9oYXNBbnlPcnRob2dvbmFsSXRlbSA9IHRy
dWU7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIEZvciBhIGdyaWQgaXRlbSB0aGF0IGhh
cyBhbiBhc3BlY3QtcmF0aW8gYW5kIGJsb2NrLWNvbnN0cmFpbnRzIHN1Y2ggYXMgdGhlIHJlbGF0
aXZlIGxvZ2ljYWwgaGVpZ2h0LAotICAgICAgICAgICAgLy8gd2hlbiB0aGUgZ3JpZCB3aWR0aCBp
cyBhdXRvLCB3ZSBtYXkgbmVlZCBnZXQgdGhlIHJlYWwgZ3JpZCB3aWR0aCBiZWZvcmUgbGF5aW5n
IG91dCB0aGUgaXRlbS4gCi0gICAgICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNB
c3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudENoaWxkKCpjaGlsZCkgJiYgKHN0eWxlKCkubG9n
aWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc01pbkNvbnRl
bnQoKSB8fCBzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSkgewotICAgICAg
ICAgICAgICAgIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5kZW50R3JpZEl0ZW1zLmFwcGVuZChj
aGlsZCk7Ci0gICAgICAgICAgICAgICAgbV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVu
dEl0ZW0gPSB0cnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLy8gV2Uga2VlcCBhIGNh
Y2hlIG9mIGl0ZW1zIHdpdGggYmFzZWxpbmUgYXMgYWxpZ25tZW50IHZhbHVlcyBzbwotICAgICAg
ICAgICAgLy8gdGhhdCB3ZSBvbmx5IGNvbXB1dGUgdGhlIGJhc2VsaW5lIHNoaW1zIGZvciBzdWNo
IGl0ZW1zLiBUaGlzCi0gICAgICAgICAgICAvLyBjYWNoZSBpcyBuZWVkZWQgZm9yIHBlcmZvcm1h
bmNlIHJlbGF0ZWQgcmVhc29ucyBkdWUgdG8gdGhlCi0gICAgICAgICAgICAvLyBjb3N0IG9mIGV2
YWx1YXRpbmcgdGhlIGl0ZW0ncyBwYXJ0aWNpcGF0aW9uIGluIGEgYmFzZWxpbmUKLSAgICAgICAg
ICAgIC8vIGNvbnRleHQgZHVyaW5nIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtLgotICAgICAg
ICAgICAgaWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRDb2x1bW5B
eGlzKSkKLSAgICAgICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNhY2hlQmFzZWxp
bmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKTsKLSAgICAgICAgICAgIGlmIChp
c0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkUm93QXhpcykpCi0gICAgICAg
ICAgICAgICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0o
KmNoaWxkLCBHcmlkUm93QXhpcyk7Ci0gICAgICAgIH0KLSAgICAgICAgbV9iYXNlbGluZUl0ZW1z
Q2FjaGVkID0gdHJ1ZTsKKworICAgICAgICBhdXRvIGFzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5k
ZW50R3JpZEl0ZW1zID0gY29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kZW50QW5kQmFzZWxpbmVJdGVt
cygpOworCiAgICAgICAgIHJlc2V0TG9naWNhbEhlaWdodEJlZm9yZUxheW91dElmTmVlZGVkKCk7
CisKICAgICAgICAgdXBkYXRlTG9naWNhbFdpZHRoKCk7CiAKICAgICAgICAgLy8gRmllbGRzZXRz
IG5lZWQgdG8gZmluZCB0aGVpciBsZWdlbmQgYW5kIHBvc2l0aW9uIGl0IGluc2lkZSB0aGUgYm9y
ZGVyIG9mIHRoZSBvYmplY3QuCkBAIC0yNTEsMTMgKzI3MCwxMCBAQCB2b2lkIFJlbmRlckdyaWQ6
OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCkKICAgICAgICAg
bV90cmFja1NpemluZ0FsZ29yaXRobS5zZXRBdmFpbGFibGVTcGFjZShGb3JDb2x1bW5zLCBhdmFp
bGFibGVTcGFjZUZvckNvbHVtbnMpOwogICAgICAgICBwZXJmb3JtR3JpZEl0ZW1zUHJlTGF5b3V0
KG1fdHJhY2tTaXppbmdBbGdvcml0aG0pOwogCi0gICAgICAgIC8vIDEtIEZpcnN0LCB0aGUgdHJh
Y2sgc2l6aW5nIGFsZ29yaXRobSBpcyB1c2VkIHRvIHJlc29sdmUgdGhlIHNpemVzIG9mIHRoZQot
ICAgICAgICAvLyBncmlkIGNvbHVtbnMuCi0gICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgdGhlIGxv
Z2ljYWwgd2lkdGggaXMgYWx3YXlzIGRlZmluaXRlIGFzIHRoZSBhYm92ZSBjYWxsIHRvCi0gICAg
ICAgIC8vIHVwZGF0ZUxvZ2ljYWxXaWR0aCgpIHByb3Blcmx5IHJlc29sdmVzIGludHJpbnNpYyBz
aXplcy4gV2UgY2Fubm90IGRvIHRoZQotICAgICAgICAvLyBzYW1lIGZvciBoZWlnaHRzIHRob3Vn
aCBiZWNhdXNlIG1hbnkgY29kZSBwYXRocyBpbnNpZGUKLSAgICAgICAgLy8gdXBkYXRlTG9naWNh
bEhlaWdodCgpIHJlcXVpcmUgYSBwcmV2aW91cyBjYWxsIHRvIHNldExvZ2ljYWxIZWlnaHQoKSB0
bwotICAgICAgICAvLyByZXNvbHZlIGhlaWdodHMgcHJvcGVybHkgKGxpa2UgZm9yIHBvc2l0aW9u
ZWQgaXRlbXMgZm9yIGV4YW1wbGUpLgorICAgICAgICAvLyAxLSBGaXJzdCwgdGhlIHRyYWNrIHNp
emluZyBhbGdvcml0aG0gaXMgdXNlZCB0byByZXNvbHZlIHRoZSBzaXplcyBvZiB0aGUgZ3JpZCBj
b2x1bW5zLiBBdCB0aGlzIHBvaW50IHRoZSAKKyAgICAgICAgLy8gbG9naWNhbCB3aWR0aCBpcyBh
bHdheXMgZGVmaW5pdGUgYXMgdGhlIGFib3ZlIGNhbGwgdG8gdXBkYXRlTG9naWNhbFdpZHRoKCkg
cHJvcGVybHkgcmVzb2x2ZXMgaW50cmluc2ljIAorICAgICAgICAvLyBzaXplcy4gV2UgY2Fubm90
IGRvIHRoZSBzYW1lIGZvciBoZWlnaHRzIHRob3VnaCBiZWNhdXNlIG1hbnkgY29kZSBwYXRocyBp
bnNpZGUgdXBkYXRlTG9naWNhbEhlaWdodCgpIHJlcXVpcmUgCisgICAgICAgIC8vIGEgcHJldmlv
dXMgY2FsbCB0byBzZXRMb2dpY2FsSGVpZ2h0KCkgdG8gcmVzb2x2ZSBoZWlnaHRzIHByb3Blcmx5
IChsaWtlIGZvciBwb3NpdGlvbmVkIGl0ZW1zIGZvciBleGFtcGxlKS4KICAgICAgICAgY29tcHV0
ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoRm9yQ29sdW1ucywgYXZhaWxhYmxlU3BhY2VGb3JD
b2x1bW5zKTsKIAogICAgICAgICAvLyAxLjUtIENvbXB1dGUgQ29udGVudCBEaXN0cmlidXRpb24g
b2Zmc2V0cyBmb3IgY29sdW1uIHRyYWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlk
LmgKaW5kZXggMjlhZTU5NDgwMDNlZTZkMmRkNDQzYjU2OTlkY2IyZDdjMTdiOTYyNi4uZTIzMGIx
M2RhOGEyZGNlZTk0YTk3MTZkNDEwZDg2MTQ5YWVkOWFiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyR3JpZC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEs
IDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAy
MDEzLTIwMTcgSWdhbGlhIFMuTC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTE5MSw2ICsxOTEsOCBA
QCBwcml2YXRlOgogCiAgICAgYm9vbCBhc3BlY3RSYXRpb1ByZWZlcnNJbmxpbmUoY29uc3QgUmVu
ZGVyQm94JiBjaGlsZCwgYm9vbCBibG9ja0Zsb3dJc0NvbHVtbkF4aXMpOwogCisgICAgVmVjdG9y
PFJlbmRlckJveCo+IGNvbXB1dGVBc3BlY3RSYXRpb0RlcGVuZGVudEFuZEJhc2VsaW5lSXRlbXMo
KTsKKwogICAgIEdyaWQgbV9ncmlkOwogCiAgICAgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtIG1f
dHJhY2tTaXppbmdBbGdvcml0aG07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>