<?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>233850</bug_id>
          
          <creation_ts>2021-12-03 19:12:39 -0800</creation_ts>
          <short_desc>[LFC][IFC] Compute isFirstBox/isLastBox for text content</short_desc>
          <delta_ts>2021-12-04 08:52:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820403</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-12-03 19:12:39 -0800</bug_when>
    <thetext>Iterators use these bits to figure out renderer boundaries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820406</commentid>
    <comment_count>1</comment_count>
      <attachid>445937</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-03 19:27:37 -0800</bug_when>
    <thetext>Created attachment 445937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820426</commentid>
    <comment_count>2</comment_count>
      <attachid>445955</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-03 21:09:56 -0800</bug_when>
    <thetext>Created attachment 445955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820427</commentid>
    <comment_count>3</comment_count>
      <attachid>445956</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-03 22:00:21 -0800</bug_when>
    <thetext>Created attachment 445956
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820450</commentid>
    <comment_count>4</comment_count>
      <attachid>445956</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-04 05:37:09 -0800</bug_when>
    <thetext>Comment on attachment 445956
Patch

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

&gt; Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:394
&gt; +        enum class LineHasFirstLastRunForTextBox { No, FirstOnly, LastOnly, Both };

Don&apos;t you have a few types for this already like IsFirstLastBox and OptionSet&lt;InlineDisplay::Box::PositionWithinInlineLevelBox&gt;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820454</commentid>
    <comment_count>5</comment_count>
      <attachid>445970</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-04 06:46:43 -0800</bug_when>
    <thetext>Created attachment 445970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820461</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-04 08:51:46 -0800</bug_when>
    <thetext>Committed r286534 (244866@main): &lt;https://commits.webkit.org/244866@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445970.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820462</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-04 08:52:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/86053206&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445937</attachid>
            <date>2021-12-03 19:27:37 -0800</date>
            <delta_ts>2021-12-03 21:09:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233850-20211203192736.patch</filename>
            <type>text/plain</type>
            <size>11904</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRjN2NjZTg0NWFiYTJh
ZWZhZDAyMGVlOTQzZjcwZjA3YjJiMjJjNy4uZWM0YjJlOTU2NDY3MWRiMzg2NTdiNDI1OWU1Mzk1
M2UzOTg1YjBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTEyLTAzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIENvbXB1dGUg
aXNGaXJzdEJveC9pc0xhc3RCb3ggZm9yIHRleHQgY29udGVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Ig
aGVscGluZyB0aGUgaXRlcmF0b3IgaW50ZXJmYWNlIHRvIGNvbXB1dGUgcmVuZGVyZXIgKGxheW91
dCBib3gpIGJvdW5kYXJpZXMgZm9yIHRleHQgY29udGVudC4KKworICAgICAgICBGb3IgY29udGVu
dCB3aGVyZSB0aGUgdmlzdWFsIG9yZGVyID09IGxvZ2ljYWwgb3JkZXIsIGl0J3Mgb2theSB0byBk
aXJlY3RseSBtYXAgdGhlIHJ1bidzIGJpdCB0byB0aGUgZGlzcGxheSBib3gncyBmaXJzdC9sYXN0
IGZsYWcsCisgICAgICAgIHdoaWxlIGZvciBjb250ZW50IHdpdGggdmlzdWFsIHJlb3JkZXJpbmcs
IHRoZSBJbmxpbmVUZXh0Qm94J3MgZmlyc3QgcnVuIG1heSB2aXN1YWxseSB2ZXJ5IHdlbGwgYmUg
dGhlIGxhc3QgcnVuIG9uIHRoZSBsaW5lLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRUZXh0
RGlzcGxheUJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250
ZW50QnVpbGRlcjo6cHJvY2Vzc05vbkJpZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQpOiBG
aW5kIG91dCBmaXJzdCBpZiBhIHBhcnRpY3VsYXIgbGF5b3V0IGJveAorICAgICAgICBoYXMgaXRz
IGZpcnN0L2xhc3QgcnVuIG9uIHRoZSBjdXJyZW50IGxpbmUgYW5kIHVzZSB0aGlzIGluZm9ybWF0
aW9uIHRvIGNvbXB1dGUgaWYgdGhlIGN1cnJlbnQgcnVuIGNhbiBiZSBmaXJzdCwgbGFzdCwgYm90
aCBvciBub25lLgorICAgICAgICBlLmcgV2hlbiBhIGxheW91dCBib3ggaGFzIG5vIGZpcnN0IHJ1
biBvbiB0aGUgbGluZSwgbm9uZSBvZiB0aGUgcnVucyBjYW4gYmUgZmlyc3QgKHNhbWUgd2l0aCBs
YXN0IGV0YykuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmg6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oOgorCiAyMDIxLTEyLTAxICBBbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIFNldCBCb3hHZW9tZXRyeSBm
b3IgYmlkaSBpbmxpbmUgYm94ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDFiNDhjNTlmYzJjYTBlNmQ4M2Q4NmYzZTA0
MmFiOTYzOTdmZTk3MDEuLjZmNzE5ZjQ0YjY1MmZlZDc3M2JiZWFmZDg2NzFhNzk0ODkzNGExNjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmNwcApAQCAtOTAsNyArOTAsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYWRkQm94U2hhZG93
SW5rT3ZlcmZsb3coY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBJbmxpbmVSZWN0JgogICAgIGlu
a092ZXJmbG93LmluZmxhdGUoSW5saW5lTGF5b3V0VW5pdCB7IHRvcEJveFNoYWRvdyB9LCBJbmxp
bmVMYXlvdXRVbml0IHsgcmlnaHRCb3hTaGFkb3cgfSwgSW5saW5lTGF5b3V0VW5pdCB7IGJvdHRv
bUJveFNoYWRvdyB9LCBJbmxpbmVMYXlvdXRVbml0IHsgbGVmdEJveFNoYWRvdyB9KTsKIH0KIAot
dm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFwcGVuZFRleHREaXNwbGF5Qm94KGNv
bnN0IExpbmU6OlJ1biYgbGluZVJ1biwgY29uc3QgSW5saW5lUmVjdCYgdGV4dFJ1blJlY3QsIERp
c3BsYXlCb3hlcyYgYm94ZXMpCit2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YXBw
ZW5kVGV4dERpc3BsYXlCb3goY29uc3QgTGluZTo6UnVuJiBsaW5lUnVuLCBjb25zdCBJbmxpbmVS
ZWN0JiB0ZXh0UnVuUmVjdCwgSXNGaXJzdExhc3RCb3ggaXNGaXJzdExhc3RCb3gsIERpc3BsYXlC
b3hlcyYgYm94ZXMpCiB7CiAgICAgQVNTRVJUKGxpbmVSdW4udGV4dENvbnRlbnQoKSAmJiBpczxJ
bmxpbmVUZXh0Qm94PihsaW5lUnVuLmxheW91dEJveCgpKSk7CiAKQEAgLTExNiw2ICsxMTYsMTYg
QEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFwcGVuZFRleHREaXNwbGF5Qm94
KGNvbnN0IExpbmU6OlJ1biYgbGluZVJ1biwKICAgICBhdXRvIGFkanVzdGVkQ29udGVudFRvUmVu
ZGVyID0gWyZdIHsKICAgICAgICAgcmV0dXJuIHRleHQtPm5lZWRzSHlwaGVuID8gbWFrZVN0cmlu
Zyhjb250ZW50LnN1YnN0cmluZyh0ZXh0LT5zdGFydCwgdGV4dC0+bGVuZ3RoKSwgc3R5bGUuaHlw
aGVuU3RyaW5nKCkpIDogU3RyaW5nKCk7CiAgICAgfTsKKworICAgIGF1dG8gaXNGaXJzdExhc3RU
ZXh0Qm94ID0gWyZdIHsKKyAgICAgICAgYXV0byBwb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94
ID0gT3B0aW9uU2V0PElubGluZURpc3BsYXk6OkJveDo6UG9zaXRpb25XaXRoaW5JbmxpbmVMZXZl
bEJveD4geyB9OworICAgICAgICBpZiAoaXNGaXJzdExhc3RCb3ggPT0gSXNGaXJzdExhc3RCb3g6
OkZpcnN0IHx8IGlzRmlyc3RMYXN0Qm94ID09IElzRmlyc3RMYXN0Qm94OjpCb3RoKQorICAgICAg
ICAgICAgcG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveC5hZGQoSW5saW5lRGlzcGxheTo6Qm94
OjpQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94OjpGaXJzdCk7CisgICAgICAgIGlmIChpc0Zp
cnN0TGFzdEJveCA9PSBJc0ZpcnN0TGFzdEJveDo6TGFzdCB8fCBpc0ZpcnN0TGFzdEJveCA9PSBJ
c0ZpcnN0TGFzdEJveDo6Qm90aCkKKyAgICAgICAgICAgIHBvc2l0aW9uV2l0aGluSW5saW5lTGV2
ZWxCb3guYWRkKElubGluZURpc3BsYXk6OkJveDo6UG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJv
eDo6TGFzdCk7CisgICAgICAgIHJldHVybiBwb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94Owor
ICAgIH07CisKICAgICBib3hlcy5hcHBlbmQoeyBtX2xpbmVJbmRleAogICAgICAgICAsIElubGlu
ZURpc3BsYXk6OkJveDo6VHlwZTo6VGV4dAogICAgICAgICAsIGxheW91dEJveApAQCAtMTIzLDcg
KzEzMyw5IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRUZXh0RGlz
cGxheUJveChjb25zdCBMaW5lOjpSdW4mIGxpbmVSdW4sCiAgICAgICAgICwgdGV4dFJ1blJlY3QK
ICAgICAgICAgLCBpbmtPdmVyZmxvdygpCiAgICAgICAgICwgbGluZVJ1bi5leHBhbnNpb24oKQot
ICAgICAgICAsIElubGluZURpc3BsYXk6OkJveDo6VGV4dCB7IHRleHQtPnN0YXJ0LCB0ZXh0LT5s
ZW5ndGgsIGNvbnRlbnQsIGFkanVzdGVkQ29udGVudFRvUmVuZGVyKCksIHRleHQtPm5lZWRzSHlw
aGVuIH0gfSk7CisgICAgICAgICwgSW5saW5lRGlzcGxheTo6Qm94OjpUZXh0IHsgdGV4dC0+c3Rh
cnQsIHRleHQtPmxlbmd0aCwgY29udGVudCwgYWRqdXN0ZWRDb250ZW50VG9SZW5kZXIoKSwgdGV4
dC0+bmVlZHNIeXBoZW4gfQorICAgICAgICAsIHRydWUKKyAgICAgICAgLCBpc0ZpcnN0TGFzdFRl
eHRCb3goKSB9KTsKIH0KIAogdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFwcGVu
ZFNvZnRMaW5lQnJlYWtEaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYgbGluZVJ1biwgY29uc3Qg
SW5saW5lUmVjdCYgc29mdExpbmVCcmVha1J1blJlY3QsIERpc3BsYXlCb3hlcyYgYm94ZXMpCkBA
IC0zMTQsNyArMzI2LDEzIEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9j
ZXNzTm9uQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDCiAgICAgICAgIH07CiAK
ICAgICAgICAgaWYgKGxpbmVSdW4uaXNUZXh0KCkpIHsKLSAgICAgICAgICAgIGFwcGVuZFRleHRE
aXNwbGF5Qm94KGxpbmVSdW4sIGxvZ2ljYWxSZWN0UmVsYXRpdmVUb1Jvb3QobGluZUJveC5sb2dp
Y2FsUmVjdEZvclRleHRSdW4obGluZVJ1bikpLCBib3hlcyk7CisgICAgICAgICAgICBhdXRvIHRl
eHRDb250ZW50ID0gbGluZVJ1bi50ZXh0Q29udGVudCgpOworICAgICAgICAgICAgYXV0byBpc0Zp
cnN0TGFzdEJveCA9IFsmXSB7CisgICAgICAgICAgICAgICAgaWYgKHRleHRDb250ZW50LT5pc0Zp
cnN0UnVuICYmIHRleHRDb250ZW50LT5pc0xhc3RSdW4pCisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBJc0ZpcnN0TGFzdEJveDo6Qm90aDsKKyAgICAgICAgICAgICAgICByZXR1cm4gdGV4dENv
bnRlbnQtPmlzRmlyc3RSdW4gPyBJc0ZpcnN0TGFzdEJveDo6Rmlyc3QgOiB0ZXh0Q29udGVudC0+
aXNMYXN0UnVuID8gSXNGaXJzdExhc3RCb3g6Okxhc3QgOiBJc0ZpcnN0TGFzdEJveDo6Tm9uZTsK
KyAgICAgICAgICAgIH07CisgICAgICAgICAgICBhcHBlbmRUZXh0RGlzcGxheUJveChsaW5lUnVu
LCBsb2dpY2FsUmVjdFJlbGF0aXZlVG9Sb290KGxpbmVCb3gubG9naWNhbFJlY3RGb3JUZXh0UnVu
KGxpbmVSdW4pKSwgaXNGaXJzdExhc3RCb3goKSwgYm94ZXMpOwogICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGxpbmVSdW4uaXNTb2Z0TGluZUJyZWFrKCkpIHsK
QEAgLTM3Myw2ICszOTEsMzQgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnBy
b2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnQKICAgICAgICAgLy8g
QWRqdXN0IHRoZSBjb250ZW50IHN0YXJ0IHBvc2l0aW9uIHdpdGggdGhlICh0ZXh0KWFsaWdubWVu
dCBvZmZzZXQgKHJvb3QgaW5saW5lIGJveCBoYXMgdGhlIGFsaWdubWVudCBvZmZzZXQgYW5kIG5v
dCB0aGUgaW5kaXZpZHVhbCBydW5zKS4KICAgICAgICAgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRl
ciArPSByb290SW5saW5lQm94UmVjdC5sZWZ0KCk7CiAKKyAgICAgICAgZW51bSBjbGFzcyBMaW5l
SGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveCB7IE5vLCBGaXJzdE9ubHksIExhc3RPbmx5LCBCb3Ro
IH07CisgICAgICAgIEhhc2hNYXA8Y29uc3QgQm94KiwgTGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRl
eHRCb3g+IGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94TWFwOworICAgICAgICBhdXRvIGNv
bXB1dGVJc0ZpcnN0SXNMYXN0Qm94Rm9yVGV4dFJ1bnNJbkxvZ2ljYWxPcmRlciA9IFsmXSB7Cisg
ICAgICAgICAgICAvLyBIZXJlIHdlIGNvbXB1dGUgaWYgdGhlIGxpbmUgaGFzIHRoZSBmaXJzdC9s
YXN0IHJ1biB3aXRoaW4gYSBwYXJ0aWN1bGFyIElubGluZVRleHRCb3guCisgICAgICAgICAgICAv
LyBlLmcgPGRpdiBzdHlsZT0id2hpdGUtc3BhY2U6IHByZSI+Zmlyc3QgcnVuICYjMTA7IGxhc3Qg
cnVuPC9kaXY+CisgICAgICAgICAgICAvLyBmaXJzdCBsaW5lIG9ubHkgaGFzIHRoZSBmaXJzdCBi
b3ggd2hpbGUgdGhlIHNlY29uZCBsaW5lIG9ubHkgaGFzIHRoZSBsYXN0IGJveCBvZiB0aGUgSW5s
aW5lVGV4dEJveCBvZiAiZmlyc3QgcnVuICYjMTA7IGxhc3QgcnVuIi4KKyAgICAgICAgICAgIGZv
ciAoYXV0byYgbGluZVJ1biA6IGxpbmVDb250ZW50LnJ1bnMpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoIWxpbmVSdW4uaXNUZXh0KCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGxpbmVSdW4ubGF5b3V0Qm94KCk7CisgICAg
ICAgICAgICAgICAgYXV0byB0ZXh0Q29udGVudCA9IGxpbmVSdW4udGV4dENvbnRlbnQoKTsKKyAg
ICAgICAgICAgICAgICBpZiAodGV4dENvbnRlbnQtPmlzRmlyc3RSdW4pIHsKKyAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUKCFsaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveE1hcC5jb250YWlu
cygmbGF5b3V0Qm94KSk7CisgICAgICAgICAgICAgICAgICAgIGxpbmVIYXNGaXJzdExhc3RSdW5G
b3JUZXh0Qm94TWFwLnNldCgmbGF5b3V0Qm94LCB0ZXh0Q29udGVudC0+aXNMYXN0UnVuID8gTGlu
ZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3g6OkJvdGggOiBMaW5lSGFzRmlyc3RMYXN0UnVuRm9y
VGV4dEJveDo6Rmlyc3RPbmx5KTsKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICh0ZXh0Q29udGVudC0+aXNMYXN0UnVu
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChsaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJv
eE1hcC5jb250YWlucygmbGF5b3V0Qm94KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgQVNT
RVJUKGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94TWFwLmdldCgmbGF5b3V0Qm94KSA9PSBM
aW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6Rmlyc3RPbmx5KTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94TWFwLnNldCgmbGF5b3V0Qm94
LCBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6Qm90aCk7CisgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhhc0ZpcnN0TGFzdFJ1bkZv
clRleHRCb3hNYXAuc2V0KCZsYXlvdXRCb3gsIExpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94
OjpMYXN0T25seSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9
OworICAgICAgICBjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvclRleHRSdW5zSW5Mb2dpY2FsT3Jk
ZXIoKTsKKworICAgICAgICBIYXNoTWFwPGNvbnN0IEJveCosIHNpemVfdD4gaW5saW5lVGV4dEJv
eERpc3BsYXlCb3hNYXA7CiAgICAgICAgIGF1dG8mIHJ1bnMgPSBsaW5lQ29udGVudC5ydW5zOwog
ICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJ1bnMuc2l6ZSgpOyArK2kpIHsKICAgICAg
ICAgICAgIGF1dG8gdmlzdWFsSW5kZXggPSBsaW5lQ29udGVudC52aXN1YWxPcmRlckxpc3RbaV07
CkBAIC0zOTIsNyArNDM4LDMwIEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpw
cm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAKICAgICAgICAg
ICAgIGlmIChsaW5lUnVuLmlzVGV4dCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byB2aXN1YWxS
ZWN0ID0gdmlzdWFsUmVjdFJlbGF0aXZlVG9Sb290KGxpbmVCb3gubG9naWNhbFJlY3RGb3JUZXh0
UnVuKGxpbmVSdW4pKTsKLSAgICAgICAgICAgICAgICBhcHBlbmRUZXh0RGlzcGxheUJveChsaW5l
UnVuLCB2aXN1YWxSZWN0LCBib3hlcyk7CisgICAgICAgICAgICAgICAgYXV0byBjb21wdXRlSXNG
aXJzdExhc3RCb3ggPSBbJl0geworICAgICAgICAgICAgICAgICAgICBhdXRvJiBsYXlvdXRCb3gg
PSBsaW5lUnVuLmxheW91dEJveCgpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGxpbmVIYXNG
aXJzdExhc3RSdW5Gb3JUZXh0Qm94ID0gbGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3hNYXAu
Z2V0KCZsYXlvdXRCb3gpOworICAgICAgICAgICAgICAgICAgICBpZiAobGluZUhhc0ZpcnN0TGFz
dFJ1bkZvclRleHRCb3ggPT0gTGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3g6Ok5vKQorICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElzRmlyc3RMYXN0Qm94OjpOb25lOworICAgICAg
ICAgICAgICAgICAgICBpZiAobGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3ggPT0gTGluZUhh
c0ZpcnN0TGFzdFJ1bkZvclRleHRCb3g6OkZpcnN0T25seSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKCFpbmxpbmVUZXh0Qm94RGlzcGxheUJveE1hcC5jb250YWlucygmbGF5b3V0Qm94
KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZVRleHRCb3hEaXNwbGF5Qm94
TWFwLnNldCgmbGF5b3V0Qm94LCBib3hlcy5zaXplKCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBJc0ZpcnN0TGFzdEJveDo6Rmlyc3Q7CisgICAgICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBhbHJlYWR5IGhhdmUgYSB2aXN1
YWxseSBmaXJzdCBydW4gb24gdGhpcyBsaW5lLgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIElzRmlyc3RMYXN0Qm94OjpOb25lOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIEFTU0VSVChsaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveCA9PSBMaW5l
SGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6TGFzdE9ubHkgfHwgbGluZUhhc0ZpcnN0TGFzdFJ1
bkZvclRleHRCb3ggPT0gTGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3g6OkJvdGgpOworICAg
ICAgICAgICAgICAgICAgICBhdXRvIGxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4
ID0gaW5saW5lVGV4dEJveERpc3BsYXlCb3hNYXAudGFrZSgmbGF5b3V0Qm94KTsKKyAgICAgICAg
ICAgICAgICAgICAgQVNTRVJUKCFsYXN0RGlzcGxheUJveEZvcklubGluZVRleHRCb3hJbmRleCB8
fCBib3hlc1tsYXN0RGlzcGxheUJveEZvcklubGluZVRleHRCb3hJbmRleF0uaXNUZXh0KCkpOwor
ICAgICAgICAgICAgICAgICAgICBpZiAobGFzdERpc3BsYXlCb3hGb3JJbmxpbmVUZXh0Qm94SW5k
ZXgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwcmV2aW91cyBkaXNwbGF5IGJv
eCBpcyBzdXJlbHkgbm90IHRoZSBsYXN0IG9uZS4KKyAgICAgICAgICAgICAgICAgICAgICAgIGJv
eGVzW2xhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4XS5zZXRJc0xhc3RCb3goZmFs
c2UpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBs
aW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveCA9PSBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4
dEJveDo6Qm90aCAmJiAhbGFzdERpc3BsYXlCb3hGb3JJbmxpbmVUZXh0Qm94SW5kZXgKKyAgICAg
ICAgICAgICAgICAgICAgICAgID8gSXNGaXJzdExhc3RCb3g6OkJvdGggOiBJc0ZpcnN0TGFzdEJv
eDo6TGFzdDsKKyAgICAgICAgICAgICAgICB9OworICAgICAgICAgICAgICAgIGFwcGVuZFRleHRE
aXNwbGF5Qm94KGxpbmVSdW4sIHZpc3VhbFJlY3QsIGNvbXB1dGVJc0ZpcnN0TGFzdEJveCgpLCBi
b3hlcyk7CiAgICAgICAgICAgICAgICAgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciArPSB2aXN1
YWxSZWN0LndpZHRoKCk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5o
CmluZGV4IDkxNjZhN2RhNTc4YzE3ZGZhM2QwNjhmOTUwZjVlZGQwZGE4YTM1YmYuLmQwNWFkOTg2
NWQ0NTc4OGE3Yjk1NGMzYWY3NjZjYjkxNmFhNzE1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50
QnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oCkBAIC00OSw3ICs0OSw4IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBwcm9jZXNzT3ZlcmZsb3duUnVuc0ZvckVsbGlwc2lzKERpc3BsYXlC
b3hlcyYsIElubGluZUxheW91dFVuaXQgbGluZUJveExvZ2ljYWxSaWdodCk7CiAgICAgdm9pZCBj
b2xsZWN0SW5rT3ZlcmZsb3dGb3JJbmxpbmVCb3hlcyhjb25zdCBMaW5lQm94JiwgRGlzcGxheUJv
eGVzJik7CiAKLSAgICB2b2lkIGFwcGVuZFRleHREaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYs
IGNvbnN0IElubGluZVJlY3QmLCBEaXNwbGF5Qm94ZXMmKTsKKyAgICBlbnVtIGNsYXNzIElzRmly
c3RMYXN0Qm94IHsgTm9uZSwgRmlyc3QsIExhc3QsIEJvdGggfTsKKyAgICB2b2lkIGFwcGVuZFRl
eHREaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYsIGNvbnN0IElubGluZVJlY3QmLCBJc0ZpcnN0
TGFzdEJveCwgRGlzcGxheUJveGVzJik7CiAgICAgdm9pZCBhcHBlbmRTb2Z0TGluZUJyZWFrRGlz
cGxheUJveChjb25zdCBMaW5lOjpSdW4mLCBjb25zdCBJbmxpbmVSZWN0JiwgRGlzcGxheUJveGVz
Jik7CiAgICAgdm9pZCBhcHBlbmRIYXJkTGluZUJyZWFrRGlzcGxheUJveChjb25zdCBMaW5lOjpS
dW4mLCBjb25zdCBJbmxpbmVSZWN0JiwgRGlzcGxheUJveGVzJik7CiAgICAgdm9pZCBhcHBlbmRB
dG9taWNJbmxpbmVMZXZlbERpc3BsYXlCb3goY29uc3QgTGluZTo6UnVuJiwgY29uc3QgSW5saW5l
UmVjdCYgLCBEaXNwbGF5Qm94ZXMmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaAppbmRleCBkNDA3
Yjk0NTc4M2MxMDQxOTU4NzkyNmRkYjgzZTc1ZTRjZDFjMTgzLi5lMmFlNmRlNDU0N2JiMjJjN2Y0
ZWIwOTg2YzkwYzk1MGJhZjg4ZDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oCkBAIC05Niw2
ICs5NiwxMCBAQCBwdWJsaWM6CiAgICAgICAgICAgICBzaXplX3Qgc3RhcnQgeyAwIH07CiAgICAg
ICAgICAgICBzaXplX3QgbGVuZ3RoIHsgMCB9OwogICAgICAgICAgICAgYm9vbCBuZWVkc0h5cGhl
biB7IGZhbHNlIH07CisgICAgICAgICAgICAvLyBGSVhNRTogQ29tcHV0ZSB0aGVzZSB2YWx1ZXMg
YXMgcnVucyBnZXQgYXBwZW5kZWQuCisgICAgICAgICAgICAvLyBGaXJzdC9sYXN0IHJ1biBpbnNp
ZGUgdGhlIGFzc29jaWF0ZWQgbGF5b3V0IGJveCAoSW5saW5lVGV4dEJveCkuCisgICAgICAgICAg
ICBib29sIGlzRmlyc3RSdW4geyB0cnVlIH07CisgICAgICAgICAgICBib29sIGlzTGFzdFJ1biB7
IHRydWUgfTsKICAgICAgICAgfTsKICAgICAgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxUZXh0PiYg
dGV4dENvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX3RleHRDb250ZW50OyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445955</attachid>
            <date>2021-12-03 21:09:56 -0800</date>
            <delta_ts>2021-12-03 22:00:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233850-20211203210955.patch</filename>
            <type>text/plain</type>
            <size>13127</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRjN2NjZTg0NWFiYTJh
ZWZhZDAyMGVlOTQzZjcwZjA3YjJiMjJjNy4uZWM0YjJlOTU2NDY3MWRiMzg2NTdiNDI1OWU1Mzk1
M2UzOTg1YjBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTEyLTAzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIENvbXB1dGUg
aXNGaXJzdEJveC9pc0xhc3RCb3ggZm9yIHRleHQgY29udGVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Ig
aGVscGluZyB0aGUgaXRlcmF0b3IgaW50ZXJmYWNlIHRvIGNvbXB1dGUgcmVuZGVyZXIgKGxheW91
dCBib3gpIGJvdW5kYXJpZXMgZm9yIHRleHQgY29udGVudC4KKworICAgICAgICBGb3IgY29udGVu
dCB3aGVyZSB0aGUgdmlzdWFsIG9yZGVyID09IGxvZ2ljYWwgb3JkZXIsIGl0J3Mgb2theSB0byBk
aXJlY3RseSBtYXAgdGhlIHJ1bidzIGJpdCB0byB0aGUgZGlzcGxheSBib3gncyBmaXJzdC9sYXN0
IGZsYWcsCisgICAgICAgIHdoaWxlIGZvciBjb250ZW50IHdpdGggdmlzdWFsIHJlb3JkZXJpbmcs
IHRoZSBJbmxpbmVUZXh0Qm94J3MgZmlyc3QgcnVuIG1heSB2aXN1YWxseSB2ZXJ5IHdlbGwgYmUg
dGhlIGxhc3QgcnVuIG9uIHRoZSBsaW5lLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRUZXh0
RGlzcGxheUJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250
ZW50QnVpbGRlcjo6cHJvY2Vzc05vbkJpZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQpOiBG
aW5kIG91dCBmaXJzdCBpZiBhIHBhcnRpY3VsYXIgbGF5b3V0IGJveAorICAgICAgICBoYXMgaXRz
IGZpcnN0L2xhc3QgcnVuIG9uIHRoZSBjdXJyZW50IGxpbmUgYW5kIHVzZSB0aGlzIGluZm9ybWF0
aW9uIHRvIGNvbXB1dGUgaWYgdGhlIGN1cnJlbnQgcnVuIGNhbiBiZSBmaXJzdCwgbGFzdCwgYm90
aCBvciBub25lLgorICAgICAgICBlLmcgV2hlbiBhIGxheW91dCBib3ggaGFzIG5vIGZpcnN0IHJ1
biBvbiB0aGUgbGluZSwgbm9uZSBvZiB0aGUgcnVucyBjYW4gYmUgZmlyc3QgKHNhbWUgd2l0aCBs
YXN0IGV0YykuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmg6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oOgorCiAyMDIxLTEyLTAxICBBbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIFNldCBCb3hHZW9tZXRyeSBm
b3IgYmlkaSBpbmxpbmUgYm94ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDFiNDhjNTlmYzJjYTBlNmQ4M2Q4NmYzZTA0
MmFiOTYzOTdmZTk3MDEuLmVkNzIwODg5NjZlMWQ3MzViYmFhOGQ4ZjVhYmJkMTIzNTIxNWZiZGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmNwcApAQCAtNDEsNyArNDEsNyBAQCB1c2luZyBXVEY6OlJhbmdlOwogbmFtZXNwYWNlIFdl
YkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLXN0YXRpYyBpbmxpbmUgT3B0aW9uU2V0PElu
bGluZURpc3BsYXk6OkJveDo6UG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveD4gaXNGaXJzdExh
c3RCb3goY29uc3QgSW5saW5lTGV2ZWxCb3gmIGlubGluZUJveCkKK3N0YXRpYyBpbmxpbmUgT3B0
aW9uU2V0PElubGluZURpc3BsYXk6OkJveDo6UG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveD4g
aXNGaXJzdExhc3RCb3hGb3JJbmxpbmVCb3goY29uc3QgSW5saW5lTGV2ZWxCb3gmIGlubGluZUJv
eCkKIHsKICAgICBhdXRvIHBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3ggPSBPcHRpb25TZXQ8
SW5saW5lRGlzcGxheTo6Qm94OjpQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94PiB7IH07CiAg
ICAgaWYgKGlubGluZUJveC5pc0ZpcnN0Qm94KCkpCkBAIC05MCw3ICs5MCw3IEBAIHN0YXRpYyBp
bmxpbmUgdm9pZCBhZGRCb3hTaGFkb3dJbmtPdmVyZmxvdyhjb25zdCBSZW5kZXJTdHlsZSYgc3R5
bGUsIElubGluZVJlY3QmCiAgICAgaW5rT3ZlcmZsb3cuaW5mbGF0ZShJbmxpbmVMYXlvdXRVbml0
IHsgdG9wQm94U2hhZG93IH0sIElubGluZUxheW91dFVuaXQgeyByaWdodEJveFNoYWRvdyB9LCBJ
bmxpbmVMYXlvdXRVbml0IHsgYm90dG9tQm94U2hhZG93IH0sIElubGluZUxheW91dFVuaXQgeyBs
ZWZ0Qm94U2hhZG93IH0pOwogfQogCi12b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
YXBwZW5kVGV4dERpc3BsYXlCb3goY29uc3QgTGluZTo6UnVuJiBsaW5lUnVuLCBjb25zdCBJbmxp
bmVSZWN0JiB0ZXh0UnVuUmVjdCwgRGlzcGxheUJveGVzJiBib3hlcykKK3ZvaWQgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRUZXh0RGlzcGxheUJveChjb25zdCBMaW5lOjpSdW4m
IGxpbmVSdW4sIGNvbnN0IElubGluZVJlY3QmIHRleHRSdW5SZWN0LCBJc0ZpcnN0TGFzdEJveCBp
c0ZpcnN0TGFzdEJveCwgRGlzcGxheUJveGVzJiBib3hlcykKIHsKICAgICBBU1NFUlQobGluZVJ1
bi50ZXh0Q29udGVudCgpICYmIGlzPElubGluZVRleHRCb3g+KGxpbmVSdW4ubGF5b3V0Qm94KCkp
KTsKIApAQCAtMTE2LDYgKzExNiwxNiBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRl
cjo6YXBwZW5kVGV4dERpc3BsYXlCb3goY29uc3QgTGluZTo6UnVuJiBsaW5lUnVuLAogICAgIGF1
dG8gYWRqdXN0ZWRDb250ZW50VG9SZW5kZXIgPSBbJl0gewogICAgICAgICByZXR1cm4gdGV4dC0+
bmVlZHNIeXBoZW4gPyBtYWtlU3RyaW5nKGNvbnRlbnQuc3Vic3RyaW5nKHRleHQtPnN0YXJ0LCB0
ZXh0LT5sZW5ndGgpLCBzdHlsZS5oeXBoZW5TdHJpbmcoKSkgOiBTdHJpbmcoKTsKICAgICB9Owor
CisgICAgYXV0byBpc0ZpcnN0TGFzdFRleHRCb3ggPSBbJl0geworICAgICAgICBhdXRvIHBvc2l0
aW9uV2l0aGluSW5saW5lTGV2ZWxCb3ggPSBPcHRpb25TZXQ8SW5saW5lRGlzcGxheTo6Qm94OjpQ
b3NpdGlvbldpdGhpbklubGluZUxldmVsQm94PiB7IH07CisgICAgICAgIGlmIChpc0ZpcnN0TGFz
dEJveCA9PSBJc0ZpcnN0TGFzdEJveDo6Rmlyc3QgfHwgaXNGaXJzdExhc3RCb3ggPT0gSXNGaXJz
dExhc3RCb3g6OkJvdGgpCisgICAgICAgICAgICBwb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94
LmFkZChJbmxpbmVEaXNwbGF5OjpCb3g6OlBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3g6OkZp
cnN0KTsKKyAgICAgICAgaWYgKGlzRmlyc3RMYXN0Qm94ID09IElzRmlyc3RMYXN0Qm94OjpMYXN0
IHx8IGlzRmlyc3RMYXN0Qm94ID09IElzRmlyc3RMYXN0Qm94OjpCb3RoKQorICAgICAgICAgICAg
cG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveC5hZGQoSW5saW5lRGlzcGxheTo6Qm94OjpQb3Np
dGlvbldpdGhpbklubGluZUxldmVsQm94OjpMYXN0KTsKKyAgICAgICAgcmV0dXJuIHBvc2l0aW9u
V2l0aGluSW5saW5lTGV2ZWxCb3g7CisgICAgfTsKKwogICAgIGJveGVzLmFwcGVuZCh7IG1fbGlu
ZUluZGV4CiAgICAgICAgICwgSW5saW5lRGlzcGxheTo6Qm94OjpUeXBlOjpUZXh0CiAgICAgICAg
ICwgbGF5b3V0Qm94CkBAIC0xMjMsNyArMTMzLDkgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVu
dEJ1aWxkZXI6OmFwcGVuZFRleHREaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYgbGluZVJ1biwK
ICAgICAgICAgLCB0ZXh0UnVuUmVjdAogICAgICAgICAsIGlua092ZXJmbG93KCkKICAgICAgICAg
LCBsaW5lUnVuLmV4cGFuc2lvbigpCi0gICAgICAgICwgSW5saW5lRGlzcGxheTo6Qm94OjpUZXh0
IHsgdGV4dC0+c3RhcnQsIHRleHQtPmxlbmd0aCwgY29udGVudCwgYWRqdXN0ZWRDb250ZW50VG9S
ZW5kZXIoKSwgdGV4dC0+bmVlZHNIeXBoZW4gfSB9KTsKKyAgICAgICAgLCBJbmxpbmVEaXNwbGF5
OjpCb3g6OlRleHQgeyB0ZXh0LT5zdGFydCwgdGV4dC0+bGVuZ3RoLCBjb250ZW50LCBhZGp1c3Rl
ZENvbnRlbnRUb1JlbmRlcigpLCB0ZXh0LT5uZWVkc0h5cGhlbiB9CisgICAgICAgICwgdHJ1ZQor
ICAgICAgICAsIGlzRmlyc3RMYXN0VGV4dEJveCgpIH0pOwogfQogCiB2b2lkIElubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlcjo6YXBwZW5kU29mdExpbmVCcmVha0Rpc3BsYXlCb3goY29uc3QgTGlu
ZTo6UnVuJiBsaW5lUnVuLCBjb25zdCBJbmxpbmVSZWN0JiBzb2Z0TGluZUJyZWFrUnVuUmVjdCwg
RGlzcGxheUJveGVzJiBib3hlcykKQEAgLTIzOCw3ICsyNTAsNyBAQCB2b2lkIElubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlcjo6YXBwZW5kSW5saW5lQm94RGlzcGxheUJveChjb25zdCBMaW5lOjpS
dW4mIGxpbgogICAgICAgICAgICAgLCB7IH0KICAgICAgICAgICAgICwgeyB9CiAgICAgICAgICAg
ICAsIGlubGluZUJveC5oYXNDb250ZW50KCkKLSAgICAgICAgICAgICwgaXNGaXJzdExhc3RCb3go
aW5saW5lQm94KSB9KTsKKyAgICAgICAgICAgICwgaXNGaXJzdExhc3RCb3hGb3JJbmxpbmVCb3go
aW5saW5lQm94KSB9KTsKICAgICB9CiAKICAgICAvLyBUaGlzIGlubGluZSBib3ggc2hvd2VkIHVw
IGZpcnN0IG9uIHRoaXMgbGluZS4KQEAgLTI2Nyw3ICsyNzksNyBAQCB2b2lkIElubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlcjo6YXBwZW5kU3Bhbm5pbmdJbmxpbmVCb3hEaXNwbGF5Qm94KGNvbnN0
IExpbmU6OgogICAgICAgICAsIHsgfQogICAgICAgICAsIHsgfQogICAgICAgICAsIGlubGluZUJv
eC5oYXNDb250ZW50KCkKLSAgICAgICAgLCBpc0ZpcnN0TGFzdEJveChpbmxpbmVCb3gpIH0pOwor
ICAgICAgICAsIGlzRmlyc3RMYXN0Qm94Rm9ySW5saW5lQm94KGlubGluZUJveCkgfSk7CiAKICAg
ICAvLyBNaWRkbGUgb3IgZW5kIG9mIHRoZSBpbmxpbmUgYm94LiBMZXQncyBzdHJldGNoIHRoZSBi
b3ggYXMgbmVlZGVkLgogICAgIHNldElubGluZUJveEdlb21ldHJ5KGxheW91dEJveCwgaW5saW5l
Qm94Qm9yZGVyQm94LCBmYWxzZSk7CkBAIC0zMTQsNyArMzI2LDEzIEBAIHZvaWQgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzTm9uQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxk
ZXI6OkxpbmVDCiAgICAgICAgIH07CiAKICAgICAgICAgaWYgKGxpbmVSdW4uaXNUZXh0KCkpIHsK
LSAgICAgICAgICAgIGFwcGVuZFRleHREaXNwbGF5Qm94KGxpbmVSdW4sIGxvZ2ljYWxSZWN0UmVs
YXRpdmVUb1Jvb3QobGluZUJveC5sb2dpY2FsUmVjdEZvclRleHRSdW4obGluZVJ1bikpLCBib3hl
cyk7CisgICAgICAgICAgICBhdXRvIHRleHRDb250ZW50ID0gbGluZVJ1bi50ZXh0Q29udGVudCgp
OworICAgICAgICAgICAgYXV0byBpc0ZpcnN0TGFzdEJveCA9IFsmXSB7CisgICAgICAgICAgICAg
ICAgaWYgKHRleHRDb250ZW50LT5pc0ZpcnN0UnVuICYmIHRleHRDb250ZW50LT5pc0xhc3RSdW4p
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBJc0ZpcnN0TGFzdEJveDo6Qm90aDsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gdGV4dENvbnRlbnQtPmlzRmlyc3RSdW4gPyBJc0ZpcnN0TGFzdEJv
eDo6Rmlyc3QgOiB0ZXh0Q29udGVudC0+aXNMYXN0UnVuID8gSXNGaXJzdExhc3RCb3g6Okxhc3Qg
OiBJc0ZpcnN0TGFzdEJveDo6Tm9uZTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBhcHBl
bmRUZXh0RGlzcGxheUJveChsaW5lUnVuLCBsb2dpY2FsUmVjdFJlbGF0aXZlVG9Sb290KGxpbmVC
b3gubG9naWNhbFJlY3RGb3JUZXh0UnVuKGxpbmVSdW4pKSwgaXNGaXJzdExhc3RCb3goKSwgYm94
ZXMpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGxpbmVS
dW4uaXNTb2Z0TGluZUJyZWFrKCkpIHsKQEAgLTM3Myw2ICszOTEsMzQgQEAgdm9pZCBJbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRl
cjo6TGluZUNvbnQKICAgICAgICAgLy8gQWRqdXN0IHRoZSBjb250ZW50IHN0YXJ0IHBvc2l0aW9u
IHdpdGggdGhlICh0ZXh0KWFsaWdubWVudCBvZmZzZXQgKHJvb3QgaW5saW5lIGJveCBoYXMgdGhl
IGFsaWdubWVudCBvZmZzZXQgYW5kIG5vdCB0aGUgaW5kaXZpZHVhbCBydW5zKS4KICAgICAgICAg
Y29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciArPSByb290SW5saW5lQm94UmVjdC5sZWZ0KCk7CiAK
KyAgICAgICAgZW51bSBjbGFzcyBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveCB7IE5vLCBG
aXJzdE9ubHksIExhc3RPbmx5LCBCb3RoIH07CisgICAgICAgIEhhc2hNYXA8Y29uc3QgQm94Kiwg
TGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3g+IGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0
Qm94TWFwOworICAgICAgICBhdXRvIGNvbXB1dGVJc0ZpcnN0SXNMYXN0Qm94Rm9yVGV4dFJ1bnNJ
bkxvZ2ljYWxPcmRlciA9IFsmXSB7CisgICAgICAgICAgICAvLyBIZXJlIHdlIGNvbXB1dGUgaWYg
dGhlIGxpbmUgaGFzIHRoZSBmaXJzdC9sYXN0IHJ1biB3aXRoaW4gYSBwYXJ0aWN1bGFyIElubGlu
ZVRleHRCb3guCisgICAgICAgICAgICAvLyBlLmcgPGRpdiBzdHlsZT0id2hpdGUtc3BhY2U6IHBy
ZSI+Zmlyc3QgcnVuICYjMTA7IGxhc3QgcnVuPC9kaXY+CisgICAgICAgICAgICAvLyBmaXJzdCBs
aW5lIG9ubHkgaGFzIHRoZSBmaXJzdCBib3ggd2hpbGUgdGhlIHNlY29uZCBsaW5lIG9ubHkgaGFz
IHRoZSBsYXN0IGJveCBvZiB0aGUgSW5saW5lVGV4dEJveCBvZiAiZmlyc3QgcnVuICYjMTA7IGxh
c3QgcnVuIi4KKyAgICAgICAgICAgIGZvciAoYXV0byYgbGluZVJ1biA6IGxpbmVDb250ZW50LnJ1
bnMpIHsKKyAgICAgICAgICAgICAgICBpZiAoIWxpbmVSdW4uaXNUZXh0KCkpCisgICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGxp
bmVSdW4ubGF5b3V0Qm94KCk7CisgICAgICAgICAgICAgICAgYXV0byB0ZXh0Q29udGVudCA9IGxp
bmVSdW4udGV4dENvbnRlbnQoKTsKKyAgICAgICAgICAgICAgICBpZiAodGV4dENvbnRlbnQtPmlz
Rmlyc3RSdW4pIHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKCFsaW5lSGFzRmlyc3RMYXN0
UnVuRm9yVGV4dEJveE1hcC5jb250YWlucygmbGF5b3V0Qm94KSk7CisgICAgICAgICAgICAgICAg
ICAgIGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94TWFwLnNldCgmbGF5b3V0Qm94LCB0ZXh0
Q29udGVudC0+aXNMYXN0UnVuID8gTGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3g6OkJvdGgg
OiBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6Rmlyc3RPbmx5KTsKKyAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlm
ICh0ZXh0Q29udGVudC0+aXNMYXN0UnVuKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChsaW5l
SGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveE1hcC5jb250YWlucygmbGF5b3V0Qm94KSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94
TWFwLmdldCgmbGF5b3V0Qm94KSA9PSBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6Rmly
c3RPbmx5KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JU
ZXh0Qm94TWFwLnNldCgmbGF5b3V0Qm94LCBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6
Qm90aCk7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAg
ICAgbGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3hNYXAuc2V0KCZsYXlvdXRCb3gsIExpbmVI
YXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94OjpMYXN0T25seSk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAgICBjb21wdXRlSXNGaXJzdElzTGFzdEJv
eEZvclRleHRSdW5zSW5Mb2dpY2FsT3JkZXIoKTsKKworICAgICAgICBIYXNoTWFwPGNvbnN0IEJv
eCosIHNpemVfdD4gaW5saW5lVGV4dEJveERpc3BsYXlCb3hNYXA7CiAgICAgICAgIGF1dG8mIHJ1
bnMgPSBsaW5lQ29udGVudC5ydW5zOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJ1
bnMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGF1dG8gdmlzdWFsSW5kZXggPSBsaW5lQ29u
dGVudC52aXN1YWxPcmRlckxpc3RbaV07CkBAIC0zOTIsNyArNDM4LDMwIEBAIHZvaWQgSW5saW5l
RGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxk
ZXI6OkxpbmVDb250CiAKICAgICAgICAgICAgIGlmIChsaW5lUnVuLmlzVGV4dCgpKSB7CiAgICAg
ICAgICAgICAgICAgYXV0byB2aXN1YWxSZWN0ID0gdmlzdWFsUmVjdFJlbGF0aXZlVG9Sb290KGxp
bmVCb3gubG9naWNhbFJlY3RGb3JUZXh0UnVuKGxpbmVSdW4pKTsKLSAgICAgICAgICAgICAgICBh
cHBlbmRUZXh0RGlzcGxheUJveChsaW5lUnVuLCB2aXN1YWxSZWN0LCBib3hlcyk7CisgICAgICAg
ICAgICAgICAgYXV0byBjb21wdXRlSXNGaXJzdExhc3RCb3ggPSBbJl0geworICAgICAgICAgICAg
ICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBsaW5lUnVuLmxheW91dEJveCgpOworICAgICAgICAg
ICAgICAgICAgICBhdXRvIGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94ID0gbGluZUhhc0Zp
cnN0TGFzdFJ1bkZvclRleHRCb3hNYXAuZ2V0KCZsYXlvdXRCb3gpOworICAgICAgICAgICAgICAg
ICAgICBpZiAobGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3ggPT0gTGluZUhhc0ZpcnN0TGFz
dFJ1bkZvclRleHRCb3g6Ok5vKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElzRmly
c3RMYXN0Qm94OjpOb25lOworICAgICAgICAgICAgICAgICAgICBpZiAobGluZUhhc0ZpcnN0TGFz
dFJ1bkZvclRleHRCb3ggPT0gTGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3g6OkZpcnN0T25s
eSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpbmxpbmVUZXh0Qm94RGlzcGxheUJv
eE1hcC5jb250YWlucygmbGF5b3V0Qm94KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlubGluZVRleHRCb3hEaXNwbGF5Qm94TWFwLnNldCgmbGF5b3V0Qm94LCBib3hlcy5zaXplKCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBJc0ZpcnN0TGFzdEJveDo6Rmly
c3Q7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAv
LyBXZSBhbHJlYWR5IGhhdmUgYSB2aXN1YWxseSBmaXJzdCBydW4gb24gdGhpcyBsaW5lLgorICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElzRmlyc3RMYXN0Qm94OjpOb25lOworICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChsaW5lSGFzRmlyc3RM
YXN0UnVuRm9yVGV4dEJveCA9PSBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6TGFzdE9u
bHkgfHwgbGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3ggPT0gTGluZUhhc0ZpcnN0TGFzdFJ1
bkZvclRleHRCb3g6OkJvdGgpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGxhc3REaXNwbGF5
Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ID0gaW5saW5lVGV4dEJveERpc3BsYXlCb3hNYXAudGFr
ZSgmbGF5b3V0Qm94KTsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKCFsYXN0RGlzcGxheUJv
eEZvcklubGluZVRleHRCb3hJbmRleCB8fCBib3hlc1tsYXN0RGlzcGxheUJveEZvcklubGluZVRl
eHRCb3hJbmRleF0uaXNUZXh0KCkpOworICAgICAgICAgICAgICAgICAgICBpZiAobGFzdERpc3Bs
YXlCb3hGb3JJbmxpbmVUZXh0Qm94SW5kZXgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8v
IFRoZSBwcmV2aW91cyBkaXNwbGF5IGJveCBpcyBzdXJlbHkgbm90IHRoZSBsYXN0IG9uZS4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIGJveGVzW2xhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJv
eEluZGV4XS5zZXRJc0xhc3RCb3goZmFsc2UpOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBsaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveCA9PSBM
aW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6Qm90aCAmJiAhbGFzdERpc3BsYXlCb3hGb3JJ
bmxpbmVUZXh0Qm94SW5kZXgKKyAgICAgICAgICAgICAgICAgICAgICAgID8gSXNGaXJzdExhc3RC
b3g6OkJvdGggOiBJc0ZpcnN0TGFzdEJveDo6TGFzdDsKKyAgICAgICAgICAgICAgICB9OworICAg
ICAgICAgICAgICAgIGFwcGVuZFRleHREaXNwbGF5Qm94KGxpbmVSdW4sIHZpc3VhbFJlY3QsIGNv
bXB1dGVJc0ZpcnN0TGFzdEJveCgpLCBib3hlcyk7CiAgICAgICAgICAgICAgICAgY29udGVudFJp
Z2h0SW5WaXN1YWxPcmRlciArPSB2aXN1YWxSZWN0LndpZHRoKCk7CiAgICAgICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZURpc3BsYXlDb250ZW50QnVpbGRlci5oCmluZGV4IDkxNjZhN2RhNTc4YzE3ZGZhM2QwNjhmOTUw
ZjVlZGQwZGE4YTM1YmYuLmQwNWFkOTg2NWQ0NTc4OGE3Yjk1NGMzYWY3NjZjYjkxNmFhNzE1OWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ci5oCkBAIC00OSw3ICs0OSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcm9jZXNzT3ZlcmZsb3du
UnVuc0ZvckVsbGlwc2lzKERpc3BsYXlCb3hlcyYsIElubGluZUxheW91dFVuaXQgbGluZUJveExv
Z2ljYWxSaWdodCk7CiAgICAgdm9pZCBjb2xsZWN0SW5rT3ZlcmZsb3dGb3JJbmxpbmVCb3hlcyhj
b25zdCBMaW5lQm94JiwgRGlzcGxheUJveGVzJik7CiAKLSAgICB2b2lkIGFwcGVuZFRleHREaXNw
bGF5Qm94KGNvbnN0IExpbmU6OlJ1biYsIGNvbnN0IElubGluZVJlY3QmLCBEaXNwbGF5Qm94ZXMm
KTsKKyAgICBlbnVtIGNsYXNzIElzRmlyc3RMYXN0Qm94IHsgTm9uZSwgRmlyc3QsIExhc3QsIEJv
dGggfTsKKyAgICB2b2lkIGFwcGVuZFRleHREaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYsIGNv
bnN0IElubGluZVJlY3QmLCBJc0ZpcnN0TGFzdEJveCwgRGlzcGxheUJveGVzJik7CiAgICAgdm9p
ZCBhcHBlbmRTb2Z0TGluZUJyZWFrRGlzcGxheUJveChjb25zdCBMaW5lOjpSdW4mLCBjb25zdCBJ
bmxpbmVSZWN0JiwgRGlzcGxheUJveGVzJik7CiAgICAgdm9pZCBhcHBlbmRIYXJkTGluZUJyZWFr
RGlzcGxheUJveChjb25zdCBMaW5lOjpSdW4mLCBjb25zdCBJbmxpbmVSZWN0JiwgRGlzcGxheUJv
eGVzJik7CiAgICAgdm9pZCBhcHBlbmRBdG9taWNJbmxpbmVMZXZlbERpc3BsYXlCb3goY29uc3Qg
TGluZTo6UnVuJiwgY29uc3QgSW5saW5lUmVjdCYgLCBEaXNwbGF5Qm94ZXMmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUxpbmUuaAppbmRleCBkNDA3Yjk0NTc4M2MxMDQxOTU4NzkyNmRkYjgzZTc1ZTRjZDFj
MTgzLi42ZTk3ODAzOTljMjRiZmY5ZGM4NzQ1ZmFlMDdkYmU2MTUwYzU1ODhkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lTGluZS5oCkBAIC05Niw2ICs5NiwxMCBAQCBwdWJsaWM6CiAgICAgICAgICAgICBz
aXplX3Qgc3RhcnQgeyAwIH07CiAgICAgICAgICAgICBzaXplX3QgbGVuZ3RoIHsgMCB9OwogICAg
ICAgICAgICAgYm9vbCBuZWVkc0h5cGhlbiB7IGZhbHNlIH07CisgICAgICAgICAgICAvLyBGSVhN
RTogQ29tcHV0ZSB0aGVzZSB2YWx1ZXMgYXMgcnVucyBnZXQgYXBwZW5kZWQuCisgICAgICAgICAg
ICAvLyBGaXJzdC9sYXN0IHJ1biBpbnNpZGUgdGhlIGFzc29jaWF0ZWQgbGF5b3V0IGJveCAoSW5s
aW5lVGV4dEJveCkuCisgICAgICAgICAgICBib29sIGlzRmlyc3RSdW4geyBmYWxzZSB9OworICAg
ICAgICAgICAgYm9vbCBpc0xhc3RSdW4geyBmYWxzZSB9OwogICAgICAgICB9OwogICAgICAgICBj
b25zdCBzdGQ6Om9wdGlvbmFsPFRleHQ+JiB0ZXh0Q29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
dGV4dENvbnRlbnQ7IH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445956</attachid>
            <date>2021-12-03 22:00:21 -0800</date>
            <delta_ts>2021-12-04 06:46:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233850-20211203220020.patch</filename>
            <type>text/plain</type>
            <size>13206</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRjN2NjZTg0NWFiYTJh
ZWZhZDAyMGVlOTQzZjcwZjA3YjJiMjJjNy4uZWM0YjJlOTU2NDY3MWRiMzg2NTdiNDI1OWU1Mzk1
M2UzOTg1YjBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTEyLTAzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIENvbXB1dGUg
aXNGaXJzdEJveC9pc0xhc3RCb3ggZm9yIHRleHQgY29udGVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Ig
aGVscGluZyB0aGUgaXRlcmF0b3IgaW50ZXJmYWNlIHRvIGNvbXB1dGUgcmVuZGVyZXIgKGxheW91
dCBib3gpIGJvdW5kYXJpZXMgZm9yIHRleHQgY29udGVudC4KKworICAgICAgICBGb3IgY29udGVu
dCB3aGVyZSB0aGUgdmlzdWFsIG9yZGVyID09IGxvZ2ljYWwgb3JkZXIsIGl0J3Mgb2theSB0byBk
aXJlY3RseSBtYXAgdGhlIHJ1bidzIGJpdCB0byB0aGUgZGlzcGxheSBib3gncyBmaXJzdC9sYXN0
IGZsYWcsCisgICAgICAgIHdoaWxlIGZvciBjb250ZW50IHdpdGggdmlzdWFsIHJlb3JkZXJpbmcs
IHRoZSBJbmxpbmVUZXh0Qm94J3MgZmlyc3QgcnVuIG1heSB2aXN1YWxseSB2ZXJ5IHdlbGwgYmUg
dGhlIGxhc3QgcnVuIG9uIHRoZSBsaW5lLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRUZXh0
RGlzcGxheUJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250
ZW50QnVpbGRlcjo6cHJvY2Vzc05vbkJpZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQpOiBG
aW5kIG91dCBmaXJzdCBpZiBhIHBhcnRpY3VsYXIgbGF5b3V0IGJveAorICAgICAgICBoYXMgaXRz
IGZpcnN0L2xhc3QgcnVuIG9uIHRoZSBjdXJyZW50IGxpbmUgYW5kIHVzZSB0aGlzIGluZm9ybWF0
aW9uIHRvIGNvbXB1dGUgaWYgdGhlIGN1cnJlbnQgcnVuIGNhbiBiZSBmaXJzdCwgbGFzdCwgYm90
aCBvciBub25lLgorICAgICAgICBlLmcgV2hlbiBhIGxheW91dCBib3ggaGFzIG5vIGZpcnN0IHJ1
biBvbiB0aGUgbGluZSwgbm9uZSBvZiB0aGUgcnVucyBjYW4gYmUgZmlyc3QgKHNhbWUgd2l0aCBs
YXN0IGV0YykuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmg6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oOgorCiAyMDIxLTEyLTAxICBBbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIFNldCBCb3hHZW9tZXRyeSBm
b3IgYmlkaSBpbmxpbmUgYm94ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDFiNDhjNTlmYzJjYTBlNmQ4M2Q4NmYzZTA0
MmFiOTYzOTdmZTk3MDEuLmQ3ZTlkNmEyNGM0YThiNzZiNGE0MzRlMDVjNzZkNzgxZDg3ZTM1OTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmNwcApAQCAtNDEsNyArNDEsNyBAQCB1c2luZyBXVEY6OlJhbmdlOwogbmFtZXNwYWNlIFdl
YkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLXN0YXRpYyBpbmxpbmUgT3B0aW9uU2V0PElu
bGluZURpc3BsYXk6OkJveDo6UG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveD4gaXNGaXJzdExh
c3RCb3goY29uc3QgSW5saW5lTGV2ZWxCb3gmIGlubGluZUJveCkKK3N0YXRpYyBpbmxpbmUgT3B0
aW9uU2V0PElubGluZURpc3BsYXk6OkJveDo6UG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveD4g
aXNGaXJzdExhc3RCb3hGb3JJbmxpbmVCb3goY29uc3QgSW5saW5lTGV2ZWxCb3gmIGlubGluZUJv
eCkKIHsKICAgICBhdXRvIHBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3ggPSBPcHRpb25TZXQ8
SW5saW5lRGlzcGxheTo6Qm94OjpQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94PiB7IH07CiAg
ICAgaWYgKGlubGluZUJveC5pc0ZpcnN0Qm94KCkpCkBAIC05MCw3ICs5MCw3IEBAIHN0YXRpYyBp
bmxpbmUgdm9pZCBhZGRCb3hTaGFkb3dJbmtPdmVyZmxvdyhjb25zdCBSZW5kZXJTdHlsZSYgc3R5
bGUsIElubGluZVJlY3QmCiAgICAgaW5rT3ZlcmZsb3cuaW5mbGF0ZShJbmxpbmVMYXlvdXRVbml0
IHsgdG9wQm94U2hhZG93IH0sIElubGluZUxheW91dFVuaXQgeyByaWdodEJveFNoYWRvdyB9LCBJ
bmxpbmVMYXlvdXRVbml0IHsgYm90dG9tQm94U2hhZG93IH0sIElubGluZUxheW91dFVuaXQgeyBs
ZWZ0Qm94U2hhZG93IH0pOwogfQogCi12b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
YXBwZW5kVGV4dERpc3BsYXlCb3goY29uc3QgTGluZTo6UnVuJiBsaW5lUnVuLCBjb25zdCBJbmxp
bmVSZWN0JiB0ZXh0UnVuUmVjdCwgRGlzcGxheUJveGVzJiBib3hlcykKK3ZvaWQgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRUZXh0RGlzcGxheUJveChjb25zdCBMaW5lOjpSdW4m
IGxpbmVSdW4sIGNvbnN0IElubGluZVJlY3QmIHRleHRSdW5SZWN0LCBJc0ZpcnN0TGFzdEJveCBp
c0ZpcnN0TGFzdEJveCwgRGlzcGxheUJveGVzJiBib3hlcykKIHsKICAgICBBU1NFUlQobGluZVJ1
bi50ZXh0Q29udGVudCgpICYmIGlzPElubGluZVRleHRCb3g+KGxpbmVSdW4ubGF5b3V0Qm94KCkp
KTsKIApAQCAtMTE2LDYgKzExNiwxNiBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRl
cjo6YXBwZW5kVGV4dERpc3BsYXlCb3goY29uc3QgTGluZTo6UnVuJiBsaW5lUnVuLAogICAgIGF1
dG8gYWRqdXN0ZWRDb250ZW50VG9SZW5kZXIgPSBbJl0gewogICAgICAgICByZXR1cm4gdGV4dC0+
bmVlZHNIeXBoZW4gPyBtYWtlU3RyaW5nKGNvbnRlbnQuc3Vic3RyaW5nKHRleHQtPnN0YXJ0LCB0
ZXh0LT5sZW5ndGgpLCBzdHlsZS5oeXBoZW5TdHJpbmcoKSkgOiBTdHJpbmcoKTsKICAgICB9Owor
CisgICAgYXV0byBpc0ZpcnN0TGFzdFRleHRCb3ggPSBbJl0geworICAgICAgICBhdXRvIHBvc2l0
aW9uV2l0aGluSW5saW5lTGV2ZWxCb3ggPSBPcHRpb25TZXQ8SW5saW5lRGlzcGxheTo6Qm94OjpQ
b3NpdGlvbldpdGhpbklubGluZUxldmVsQm94PiB7IH07CisgICAgICAgIGlmIChpc0ZpcnN0TGFz
dEJveCA9PSBJc0ZpcnN0TGFzdEJveDo6Rmlyc3QgfHwgaXNGaXJzdExhc3RCb3ggPT0gSXNGaXJz
dExhc3RCb3g6OkJvdGgpCisgICAgICAgICAgICBwb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94
LmFkZChJbmxpbmVEaXNwbGF5OjpCb3g6OlBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3g6OkZp
cnN0KTsKKyAgICAgICAgaWYgKGlzRmlyc3RMYXN0Qm94ID09IElzRmlyc3RMYXN0Qm94OjpMYXN0
IHx8IGlzRmlyc3RMYXN0Qm94ID09IElzRmlyc3RMYXN0Qm94OjpCb3RoKQorICAgICAgICAgICAg
cG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveC5hZGQoSW5saW5lRGlzcGxheTo6Qm94OjpQb3Np
dGlvbldpdGhpbklubGluZUxldmVsQm94OjpMYXN0KTsKKyAgICAgICAgcmV0dXJuIHBvc2l0aW9u
V2l0aGluSW5saW5lTGV2ZWxCb3g7CisgICAgfTsKKwogICAgIGJveGVzLmFwcGVuZCh7IG1fbGlu
ZUluZGV4CiAgICAgICAgICwgSW5saW5lRGlzcGxheTo6Qm94OjpUeXBlOjpUZXh0CiAgICAgICAg
ICwgbGF5b3V0Qm94CkBAIC0xMjMsNyArMTMzLDkgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVu
dEJ1aWxkZXI6OmFwcGVuZFRleHREaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYgbGluZVJ1biwK
ICAgICAgICAgLCB0ZXh0UnVuUmVjdAogICAgICAgICAsIGlua092ZXJmbG93KCkKICAgICAgICAg
LCBsaW5lUnVuLmV4cGFuc2lvbigpCi0gICAgICAgICwgSW5saW5lRGlzcGxheTo6Qm94OjpUZXh0
IHsgdGV4dC0+c3RhcnQsIHRleHQtPmxlbmd0aCwgY29udGVudCwgYWRqdXN0ZWRDb250ZW50VG9S
ZW5kZXIoKSwgdGV4dC0+bmVlZHNIeXBoZW4gfSB9KTsKKyAgICAgICAgLCBJbmxpbmVEaXNwbGF5
OjpCb3g6OlRleHQgeyB0ZXh0LT5zdGFydCwgdGV4dC0+bGVuZ3RoLCBjb250ZW50LCBhZGp1c3Rl
ZENvbnRlbnRUb1JlbmRlcigpLCB0ZXh0LT5uZWVkc0h5cGhlbiB9CisgICAgICAgICwgdHJ1ZQor
ICAgICAgICAsIGlzRmlyc3RMYXN0VGV4dEJveCgpIH0pOwogfQogCiB2b2lkIElubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlcjo6YXBwZW5kU29mdExpbmVCcmVha0Rpc3BsYXlCb3goY29uc3QgTGlu
ZTo6UnVuJiBsaW5lUnVuLCBjb25zdCBJbmxpbmVSZWN0JiBzb2Z0TGluZUJyZWFrUnVuUmVjdCwg
RGlzcGxheUJveGVzJiBib3hlcykKQEAgLTIzOCw3ICsyNTAsNyBAQCB2b2lkIElubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlcjo6YXBwZW5kSW5saW5lQm94RGlzcGxheUJveChjb25zdCBMaW5lOjpS
dW4mIGxpbgogICAgICAgICAgICAgLCB7IH0KICAgICAgICAgICAgICwgeyB9CiAgICAgICAgICAg
ICAsIGlubGluZUJveC5oYXNDb250ZW50KCkKLSAgICAgICAgICAgICwgaXNGaXJzdExhc3RCb3go
aW5saW5lQm94KSB9KTsKKyAgICAgICAgICAgICwgaXNGaXJzdExhc3RCb3hGb3JJbmxpbmVCb3go
aW5saW5lQm94KSB9KTsKICAgICB9CiAKICAgICAvLyBUaGlzIGlubGluZSBib3ggc2hvd2VkIHVw
IGZpcnN0IG9uIHRoaXMgbGluZS4KQEAgLTI2Nyw3ICsyNzksNyBAQCB2b2lkIElubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlcjo6YXBwZW5kU3Bhbm5pbmdJbmxpbmVCb3hEaXNwbGF5Qm94KGNvbnN0
IExpbmU6OgogICAgICAgICAsIHsgfQogICAgICAgICAsIHsgfQogICAgICAgICAsIGlubGluZUJv
eC5oYXNDb250ZW50KCkKLSAgICAgICAgLCBpc0ZpcnN0TGFzdEJveChpbmxpbmVCb3gpIH0pOwor
ICAgICAgICAsIGlzRmlyc3RMYXN0Qm94Rm9ySW5saW5lQm94KGlubGluZUJveCkgfSk7CiAKICAg
ICAvLyBNaWRkbGUgb3IgZW5kIG9mIHRoZSBpbmxpbmUgYm94LiBMZXQncyBzdHJldGNoIHRoZSBi
b3ggYXMgbmVlZGVkLgogICAgIHNldElubGluZUJveEdlb21ldHJ5KGxheW91dEJveCwgaW5saW5l
Qm94Qm9yZGVyQm94LCBmYWxzZSk7CkBAIC0zMTQsNyArMzI2LDEzIEBAIHZvaWQgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzTm9uQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxk
ZXI6OkxpbmVDCiAgICAgICAgIH07CiAKICAgICAgICAgaWYgKGxpbmVSdW4uaXNUZXh0KCkpIHsK
LSAgICAgICAgICAgIGFwcGVuZFRleHREaXNwbGF5Qm94KGxpbmVSdW4sIGxvZ2ljYWxSZWN0UmVs
YXRpdmVUb1Jvb3QobGluZUJveC5sb2dpY2FsUmVjdEZvclRleHRSdW4obGluZVJ1bikpLCBib3hl
cyk7CisgICAgICAgICAgICBhdXRvIHRleHRDb250ZW50ID0gbGluZVJ1bi50ZXh0Q29udGVudCgp
OworICAgICAgICAgICAgYXV0byBpc0ZpcnN0TGFzdEJveCA9IFsmXSB7CisgICAgICAgICAgICAg
ICAgaWYgKHRleHRDb250ZW50LT5pc0ZpcnN0UnVuICYmIHRleHRDb250ZW50LT5pc0xhc3RSdW4p
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBJc0ZpcnN0TGFzdEJveDo6Qm90aDsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gdGV4dENvbnRlbnQtPmlzRmlyc3RSdW4gPyBJc0ZpcnN0TGFzdEJv
eDo6Rmlyc3QgOiB0ZXh0Q29udGVudC0+aXNMYXN0UnVuID8gSXNGaXJzdExhc3RCb3g6Okxhc3Qg
OiBJc0ZpcnN0TGFzdEJveDo6Tm9uZTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBhcHBl
bmRUZXh0RGlzcGxheUJveChsaW5lUnVuLCBsb2dpY2FsUmVjdFJlbGF0aXZlVG9Sb290KGxpbmVC
b3gubG9naWNhbFJlY3RGb3JUZXh0UnVuKGxpbmVSdW4pKSwgaXNGaXJzdExhc3RCb3goKSwgYm94
ZXMpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGxpbmVS
dW4uaXNTb2Z0TGluZUJyZWFrKCkpIHsKQEAgLTM3Myw2ICszOTEsMzQgQEAgdm9pZCBJbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRl
cjo6TGluZUNvbnQKICAgICAgICAgLy8gQWRqdXN0IHRoZSBjb250ZW50IHN0YXJ0IHBvc2l0aW9u
IHdpdGggdGhlICh0ZXh0KWFsaWdubWVudCBvZmZzZXQgKHJvb3QgaW5saW5lIGJveCBoYXMgdGhl
IGFsaWdubWVudCBvZmZzZXQgYW5kIG5vdCB0aGUgaW5kaXZpZHVhbCBydW5zKS4KICAgICAgICAg
Y29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciArPSByb290SW5saW5lQm94UmVjdC5sZWZ0KCk7CiAK
KyAgICAgICAgZW51bSBjbGFzcyBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveCB7IE5vLCBG
aXJzdE9ubHksIExhc3RPbmx5LCBCb3RoIH07CisgICAgICAgIEhhc2hNYXA8Y29uc3QgQm94Kiwg
TGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3g+IGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0
Qm94TWFwOworICAgICAgICBhdXRvIGNvbXB1dGVJc0ZpcnN0SXNMYXN0Qm94Rm9yVGV4dFJ1bnNJ
bkxvZ2ljYWxPcmRlciA9IFsmXSB7CisgICAgICAgICAgICAvLyBIZXJlIHdlIGNvbXB1dGUgaWYg
dGhlIGxpbmUgaGFzIHRoZSBmaXJzdC9sYXN0IHJ1biB3aXRoaW4gYSBwYXJ0aWN1bGFyIElubGlu
ZVRleHRCb3guCisgICAgICAgICAgICAvLyBlLmcgPGRpdiBzdHlsZT0id2hpdGUtc3BhY2U6IHBy
ZSI+Zmlyc3QgcnVuICYjMTA7IGxhc3QgcnVuPC9kaXY+CisgICAgICAgICAgICAvLyBmaXJzdCBs
aW5lIG9ubHkgaGFzIHRoZSBmaXJzdCBib3ggd2hpbGUgdGhlIHNlY29uZCBsaW5lIG9ubHkgaGFz
IHRoZSBsYXN0IGJveCBvZiB0aGUgSW5saW5lVGV4dEJveCBvZiAiZmlyc3QgcnVuICYjMTA7IGxh
c3QgcnVuIi4KKyAgICAgICAgICAgIGZvciAoYXV0byYgbGluZVJ1biA6IGxpbmVDb250ZW50LnJ1
bnMpIHsKKyAgICAgICAgICAgICAgICBpZiAoIWxpbmVSdW4uaXNUZXh0KCkpCisgICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGxp
bmVSdW4ubGF5b3V0Qm94KCk7CisgICAgICAgICAgICAgICAgYXV0byB0ZXh0Q29udGVudCA9IGxp
bmVSdW4udGV4dENvbnRlbnQoKTsKKyAgICAgICAgICAgICAgICBpZiAodGV4dENvbnRlbnQtPmlz
Rmlyc3RSdW4pIHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKCFsaW5lSGFzRmlyc3RMYXN0
UnVuRm9yVGV4dEJveE1hcC5jb250YWlucygmbGF5b3V0Qm94KSk7CisgICAgICAgICAgICAgICAg
ICAgIGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94TWFwLnNldCgmbGF5b3V0Qm94LCB0ZXh0
Q29udGVudC0+aXNMYXN0UnVuID8gTGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3g6OkJvdGgg
OiBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6Rmlyc3RPbmx5KTsKKyAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlm
ICh0ZXh0Q29udGVudC0+aXNMYXN0UnVuKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChsaW5l
SGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveE1hcC5jb250YWlucygmbGF5b3V0Qm94KSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94
TWFwLmdldCgmbGF5b3V0Qm94KSA9PSBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6Rmly
c3RPbmx5KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JU
ZXh0Qm94TWFwLnNldCgmbGF5b3V0Qm94LCBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6
Qm90aCk7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAg
ICAgbGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3hNYXAuc2V0KCZsYXlvdXRCb3gsIExpbmVI
YXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94OjpMYXN0T25seSk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAgICBjb21wdXRlSXNGaXJzdElzTGFzdEJv
eEZvclRleHRSdW5zSW5Mb2dpY2FsT3JkZXIoKTsKKworICAgICAgICBIYXNoTWFwPGNvbnN0IEJv
eCosIHNpemVfdD4gaW5saW5lVGV4dEJveERpc3BsYXlCb3hNYXA7CiAgICAgICAgIGF1dG8mIHJ1
bnMgPSBsaW5lQ29udGVudC5ydW5zOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJ1
bnMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGF1dG8gdmlzdWFsSW5kZXggPSBsaW5lQ29u
dGVudC52aXN1YWxPcmRlckxpc3RbaV07CkBAIC0zOTIsNyArNDM4LDMxIEBAIHZvaWQgSW5saW5l
RGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxk
ZXI6OkxpbmVDb250CiAKICAgICAgICAgICAgIGlmIChsaW5lUnVuLmlzVGV4dCgpKSB7CiAgICAg
ICAgICAgICAgICAgYXV0byB2aXN1YWxSZWN0ID0gdmlzdWFsUmVjdFJlbGF0aXZlVG9Sb290KGxp
bmVCb3gubG9naWNhbFJlY3RGb3JUZXh0UnVuKGxpbmVSdW4pKTsKLSAgICAgICAgICAgICAgICBh
cHBlbmRUZXh0RGlzcGxheUJveChsaW5lUnVuLCB2aXN1YWxSZWN0LCBib3hlcyk7CisgICAgICAg
ICAgICAgICAgYXV0byBjb21wdXRlSXNGaXJzdExhc3RCb3ggPSBbJl0geworICAgICAgICAgICAg
ICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBsaW5lUnVuLmxheW91dEJveCgpOworICAgICAgICAg
ICAgICAgICAgICBhdXRvIGxpbmVIYXNGaXJzdExhc3RSdW5Gb3JUZXh0Qm94ID0gbGluZUhhc0Zp
cnN0TGFzdFJ1bkZvclRleHRCb3hNYXAuZ2V0KCZsYXlvdXRCb3gpOworICAgICAgICAgICAgICAg
ICAgICBpZiAobGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3ggPT0gTGluZUhhc0ZpcnN0TGFz
dFJ1bkZvclRleHRCb3g6Ok5vKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElzRmly
c3RMYXN0Qm94OjpOb25lOworICAgICAgICAgICAgICAgICAgICBpZiAobGluZUhhc0ZpcnN0TGFz
dFJ1bkZvclRleHRCb3ggPT0gTGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3g6OkZpcnN0T25s
eSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpbmxpbmVUZXh0Qm94RGlzcGxheUJv
eE1hcC5jb250YWlucygmbGF5b3V0Qm94KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlubGluZVRleHRCb3hEaXNwbGF5Qm94TWFwLnNldCgmbGF5b3V0Qm94LCBib3hlcy5zaXplKCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBJc0ZpcnN0TGFzdEJveDo6Rmly
c3Q7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAv
LyBXZSBhbHJlYWR5IGhhdmUgYSB2aXN1YWxseSBmaXJzdCBydW4gb24gdGhpcyBsaW5lLgorICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElzRmlyc3RMYXN0Qm94OjpOb25lOworICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChsaW5lSGFzRmlyc3RM
YXN0UnVuRm9yVGV4dEJveCA9PSBMaW5lSGFzRmlyc3RMYXN0UnVuRm9yVGV4dEJveDo6TGFzdE9u
bHkgfHwgbGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3ggPT0gTGluZUhhc0ZpcnN0TGFzdFJ1
bkZvclRleHRCb3g6OkJvdGgpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGxhc3REaXNwbGF5
Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ID0gaW5saW5lVGV4dEJveERpc3BsYXlCb3hNYXAudGFr
ZSgmbGF5b3V0Qm94KTsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKCFsYXN0RGlzcGxheUJv
eEZvcklubGluZVRleHRCb3hJbmRleCB8fCBib3hlc1tsYXN0RGlzcGxheUJveEZvcklubGluZVRl
eHRCb3hJbmRleF0uaXNUZXh0KCkpOworICAgICAgICAgICAgICAgICAgICBpZiAobGFzdERpc3Bs
YXlCb3hGb3JJbmxpbmVUZXh0Qm94SW5kZXgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8v
IFRoZSBwcmV2aW91cyBkaXNwbGF5IGJveCBpcyBzdXJlbHkgbm90IHRoZSBsYXN0IG9uZS4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIGJveGVzW2xhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJv
eEluZGV4XS5zZXRJc0xhc3RCb3goZmFsc2UpOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgICAgIGlubGluZVRleHRCb3hEaXNwbGF5Qm94TWFwLnNldCgmbGF5b3V0Qm94
LCBib3hlcy5zaXplKCkpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGluZUhhc0ZpcnN0
TGFzdFJ1bkZvclRleHRCb3ggPT0gTGluZUhhc0ZpcnN0TGFzdFJ1bkZvclRleHRCb3g6OkJvdGgg
JiYgIWxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4CisgICAgICAgICAgICAgICAg
ICAgICAgICA/IElzRmlyc3RMYXN0Qm94OjpCb3RoIDogSXNGaXJzdExhc3RCb3g6Okxhc3Q7Cisg
ICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICBhcHBlbmRUZXh0RGlzcGxheUJveChs
aW5lUnVuLCB2aXN1YWxSZWN0LCBjb21wdXRlSXNGaXJzdExhc3RCb3goKSwgYm94ZXMpOwogICAg
ICAgICAgICAgICAgIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIgKz0gdmlzdWFsUmVjdC53aWR0
aCgpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
RGlzcGxheUNvbnRlbnRCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaAppbmRleCA5MTY2
YTdkYTU3OGMxN2RmYTNkMDY4Zjk1MGY1ZWRkMGRhOGEzNWJmLi5kMDVhZDk4NjVkNDU3ODhhN2I5
NTRjM2FmNzY2Y2I5MTZhYTcxNTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaApAQCAtNDksNyArNDksOCBAQCBwcml2YXRlOgogICAg
IHZvaWQgcHJvY2Vzc092ZXJmbG93blJ1bnNGb3JFbGxpcHNpcyhEaXNwbGF5Qm94ZXMmLCBJbmxp
bmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsUmlnaHQpOwogICAgIHZvaWQgY29sbGVjdElua092
ZXJmbG93Rm9ySW5saW5lQm94ZXMoY29uc3QgTGluZUJveCYsIERpc3BsYXlCb3hlcyYpOwogCi0g
ICAgdm9pZCBhcHBlbmRUZXh0RGlzcGxheUJveChjb25zdCBMaW5lOjpSdW4mLCBjb25zdCBJbmxp
bmVSZWN0JiwgRGlzcGxheUJveGVzJik7CisgICAgZW51bSBjbGFzcyBJc0ZpcnN0TGFzdEJveCB7
IE5vbmUsIEZpcnN0LCBMYXN0LCBCb3RoIH07CisgICAgdm9pZCBhcHBlbmRUZXh0RGlzcGxheUJv
eChjb25zdCBMaW5lOjpSdW4mLCBjb25zdCBJbmxpbmVSZWN0JiwgSXNGaXJzdExhc3RCb3gsIERp
c3BsYXlCb3hlcyYpOwogICAgIHZvaWQgYXBwZW5kU29mdExpbmVCcmVha0Rpc3BsYXlCb3goY29u
c3QgTGluZTo6UnVuJiwgY29uc3QgSW5saW5lUmVjdCYsIERpc3BsYXlCb3hlcyYpOwogICAgIHZv
aWQgYXBwZW5kSGFyZExpbmVCcmVha0Rpc3BsYXlCb3goY29uc3QgTGluZTo6UnVuJiwgY29uc3Qg
SW5saW5lUmVjdCYsIERpc3BsYXlCb3hlcyYpOwogICAgIHZvaWQgYXBwZW5kQXRvbWljSW5saW5l
TGV2ZWxEaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYsIGNvbnN0IElubGluZVJlY3QmICwgRGlz
cGxheUJveGVzJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmgKaW5kZXggZDQwN2I5NDU3ODNjMTA0
MTk1ODc5MjZkZGI4M2U3NWU0Y2QxYzE4My4uNmU5NzgwMzk5YzI0YmZmOWRjODc0NWZhZTA3ZGJl
NjE1MGM1NTg4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaApAQCAtOTYsNiArOTYsMTAgQEAg
cHVibGljOgogICAgICAgICAgICAgc2l6ZV90IHN0YXJ0IHsgMCB9OwogICAgICAgICAgICAgc2l6
ZV90IGxlbmd0aCB7IDAgfTsKICAgICAgICAgICAgIGJvb2wgbmVlZHNIeXBoZW4geyBmYWxzZSB9
OworICAgICAgICAgICAgLy8gRklYTUU6IENvbXB1dGUgdGhlc2UgdmFsdWVzIGFzIHJ1bnMgZ2V0
IGFwcGVuZGVkLgorICAgICAgICAgICAgLy8gRmlyc3QvbGFzdCBydW4gaW5zaWRlIHRoZSBhc3Nv
Y2lhdGVkIGxheW91dCBib3ggKElubGluZVRleHRCb3gpLgorICAgICAgICAgICAgYm9vbCBpc0Zp
cnN0UnVuIHsgZmFsc2UgfTsKKyAgICAgICAgICAgIGJvb2wgaXNMYXN0UnVuIHsgZmFsc2UgfTsK
ICAgICAgICAgfTsKICAgICAgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxUZXh0PiYgdGV4dENvbnRl
bnQoKSBjb25zdCB7IHJldHVybiBtX3RleHRDb250ZW50OyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445970</attachid>
            <date>2021-12-04 06:46:43 -0800</date>
            <delta_ts>2021-12-04 08:51:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233850-20211204064642.patch</filename>
            <type>text/plain</type>
            <size>6685</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGVmM2RlZmQ0NTg1MjU3
ZDJlMDk0ZjJiYzdhYmZiOTlkMTk4Zjk3Zi4uMWJlNTQxYmQ0MmRlNDY2ODQyYjJhYjViMjEwN2Yy
ZTc3YmFjMDJlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEyLTA0ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIENvbXB1dGUg
aXNGaXJzdEJveC9pc0xhc3RCb3ggZm9yIHRleHQgY29udGVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Ig
aGVscGluZyB0aGUgaXRlcmF0b3IgaW50ZXJmYWNlIHRvIGNvbXB1dGUgcmVuZGVyZXIgKGxheW91
dCBib3gpIGJvdW5kYXJpZXMgZm9yIHRleHQgY29udGVudC4KKworICAgICAgICAqIGxheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
YXBwZW5kVGV4dERpc3BsYXlCb3gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXI6OmNvbXB1dGVJc0ZpcnN0SXNMYXN0Qm94Rm9ySW5saW5lQ29u
dGVudCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
RGlzcGxheUNvbnRlbnRCdWlsZGVyLmg6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5l
TGF5b3V0Rm9ySW50ZXJncmF0aW9uKToKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZURpc3BsYXk6OkJveDo6c2V0SXNGaXJzdEJveCk6CisKIDIwMjEtMTItMDQgIEFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gU2V0IEJveEdl
b21ldHJ5IGZvciBiaWRpIGlubGluZSBib3hlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggMWI0OGM1OWZjMmNhMGU2ZDgz
ZDg2ZjNlMDQyYWI5NjM5N2ZlOTcwMS4uNzk3YWMwMzE4MTg5ZTJkNTQxMmFjNmIwYTE2OTFlZmQy
ZGNlZmY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXIuY3BwCkBAIC0xMjMsNyArMTIzLDkgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OmFwcGVuZFRleHREaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYgbGluZVJ1
biwKICAgICAgICAgLCB0ZXh0UnVuUmVjdAogICAgICAgICAsIGlua092ZXJmbG93KCkKICAgICAg
ICAgLCBsaW5lUnVuLmV4cGFuc2lvbigpCi0gICAgICAgICwgSW5saW5lRGlzcGxheTo6Qm94OjpU
ZXh0IHsgdGV4dC0+c3RhcnQsIHRleHQtPmxlbmd0aCwgY29udGVudCwgYWRqdXN0ZWRDb250ZW50
VG9SZW5kZXIoKSwgdGV4dC0+bmVlZHNIeXBoZW4gfSB9KTsKKyAgICAgICAgLCBJbmxpbmVEaXNw
bGF5OjpCb3g6OlRleHQgeyB0ZXh0LT5zdGFydCwgdGV4dC0+bGVuZ3RoLCBjb250ZW50LCBhZGp1
c3RlZENvbnRlbnRUb1JlbmRlcigpLCB0ZXh0LT5uZWVkc0h5cGhlbiB9CisgICAgICAgICwgdHJ1
ZQorICAgICAgICAsIHsgfSB9KTsKIH0KIAogdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxk
ZXI6OmFwcGVuZFNvZnRMaW5lQnJlYWtEaXNwbGF5Qm94KGNvbnN0IExpbmU6OlJ1biYgbGluZVJ1
biwgY29uc3QgSW5saW5lUmVjdCYgc29mdExpbmVCcmVha1J1blJlY3QsIERpc3BsYXlCb3hlcyYg
Ym94ZXMpCkBAIC02NDksNiArNjUxLDI0IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyOjpjb2xsZWN0SW5rT3ZlcmZsb3dGb3JJbmxpbmVCb3hlcyhjb25zdCBMaW5lQm94CiAgICAg
fQogfQogCit2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUlzRmlyc3RJ
c0xhc3RCb3hGb3JJbmxpbmVDb250ZW50KERpc3BsYXlCb3hlcyYgYm94ZXMpCit7CisgICAgSGFz
aE1hcDxjb25zdCBCb3gqLCBzaXplX3Q+IGxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveElu
ZGV4ZXM7CisgICAgQVNTRVJUKGJveGVzWzBdLmlzUm9vdElubGluZUJveCgpKTsKKyAgICBmb3Ig
KHNpemVfdCBpbmRleCA9IDE7IGluZGV4IDwgYm94ZXMuc2l6ZSgpOyArK2luZGV4KSB7CisgICAg
ICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBib3hlc1tpbmRleF07CisgICAgICAgIC8vIEZJWE1FOiBU
cmFuc2l0aW9uIHRoZSBpbmxpbmUgYm94IGlzRmlyc3QvaXNMYXN0IGNvbXB1dGF0aW9uIGhlcmUg
YXMgd2VsbC4KKyAgICAgICAgaWYgKCFkaXNwbGF5Qm94LmlzVGV4dCgpKQorICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGRpc3BsYXlCb3gubGF5b3V0Qm94
KCk7CisgICAgICAgIGlmICghbGFzdERpc3BsYXlCb3hGb3JJbmxpbmVUZXh0Qm94SW5kZXhlcy5j
b250YWlucygmbGF5b3V0Qm94KSkKKyAgICAgICAgICAgIGRpc3BsYXlCb3guc2V0SXNGaXJzdEJv
eCh0cnVlKTsKKyAgICAgICAgbGFzdERpc3BsYXlCb3hGb3JJbmxpbmVUZXh0Qm94SW5kZXhlcy5z
ZXQoJmxheW91dEJveCwgaW5kZXgpOworICAgIH0KKyAgICBmb3IgKGF1dG8gbGFzdERpc3BsYXlC
b3hGb3JJbmxpbmVUZXh0Qm94SW5kZXggOiBsYXN0RGlzcGxheUJveEZvcklubGluZVRleHRCb3hJ
bmRleGVzKQorICAgICAgICBib3hlc1tsYXN0RGlzcGxheUJveEZvcklubGluZVRleHRCb3hJbmRl
eC52YWx1ZV0uc2V0SXNMYXN0Qm94KHRydWUpOworfQorCiB9CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgKaW5kZXggOTE2NmE3ZGE1
NzhjMTdkZmEzZDA2OGY5NTBmNWVkZDBkYThhMzViZi4uODg5NDk0ZDNiNzg5OTllZGRkYTk5YWRk
ZTNhYTVlNTVjZjM1YzcxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyLmgKQEAgLTQzLDYgKzQzLDggQEAgcHVibGljOgogCiAgICAgRGlz
cGxheUJveGVzIGJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYsIGNvbnN0IExp
bmVCb3gmLCBjb25zdCBJbmxpbmVSZWN0JiBsaW5lQm94TG9naWNhbFJlY3QsIGNvbnN0IHNpemVf
dCBsaW5lSW5kZXgpOwogCisgICAgc3RhdGljIHZvaWQgY29tcHV0ZUlzRmlyc3RJc0xhc3RCb3hG
b3JJbmxpbmVDb250ZW50KERpc3BsYXlCb3hlcyYpOworCiBwcml2YXRlOgogICAgIHZvaWQgcHJv
Y2Vzc05vbkJpZGlDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYsIGNvbnN0
IExpbmVCb3gmLCBjb25zdCBJbmxpbmVMYXlvdXRQb2ludCYgbGluZUJveExvZ2ljYWxUb3BMZWZ0
LCBEaXNwbGF5Qm94ZXMmKTsKICAgICB2b2lkIHByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5l
QnVpbGRlcjo6TGluZUNvbnRlbnQmLCBjb25zdCBMaW5lQm94JiwgY29uc3QgSW5saW5lTGF5b3V0
UG9pbnQmIGxpbmVCb3hMb2dpY2FsVG9wTGVmdCwgRGlzcGxheUJveGVzJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggZGQyNDliNjdk
MTQwNjA5Njc0ODg2ZWE1OGEwZDcxMmYxZmU0YjhjMS4uY2U0NDhkNTUyMjI1ODc0ZjM2OTk0ZDE1
OGMxYjQwOWFiMWJhM2Q1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmNwcApAQCAtMTQ1LDYgKzE0NSw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmxheW91dEluRmxvd0NvbnRlbnQoY29uc3QgQ29uc3RyYWludHNGb3JJbkZsb3dD
b250CiAgICAgYXV0byYgaW5saW5lSXRlbXMgPSBmb3JtYXR0aW5nU3RhdGUoKS5pbmxpbmVJdGVt
cygpOwogICAgIGxpbmVMYXlvdXQoaW5saW5lSXRlbXMsIHsgMCwgaW5saW5lSXRlbXMuc2l6ZSgp
IH0sIGNvbnN0cmFpbnRzKTsKICAgICBjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dD
b250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLm91dE9mRmxvd0JveGVzKCkpOworICAgIElubGluZURp
c3BsYXlDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUlzRmlyc3RJc0xhc3RCb3hGb3JJbmxpbmVDb250
ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLmJveGVzKCkpOwogICAgIExPR19XSVRIX1NUUkVBTShGb3Jt
YXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJbRW5kXSAtPiBpbmxpbmUgZm9ybWF0dGlu
ZyBjb250ZXh0IC0+IGZvcm1hdHRpbmcgcm9vdCgiIDw8ICZyb290KCkgPDwgIikiKTsKIH0KIApA
QCAtMTU1LDYgKzE1Niw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlv
dXRGb3JJbnRlcmdyYXRpb24oY29uc3QgQ29uc3RyYWludHNGb3JJbkZsCiAgICAgYXV0byYgaW5s
aW5lSXRlbXMgPSBmb3JtYXR0aW5nU3RhdGUoKS5pbmxpbmVJdGVtcygpOwogICAgIGxpbmVMYXlv
dXQoaW5saW5lSXRlbXMsIHsgMCwgaW5saW5lSXRlbXMuc2l6ZSgpIH0sIGNvbnN0cmFpbnRzKTsK
ICAgICBjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dDb250ZW50KGZvcm1hdHRpbmdT
dGF0ZSgpLm91dE9mRmxvd0JveGVzKCkpOworICAgIElubGluZURpc3BsYXlDb250ZW50QnVpbGRl
cjo6Y29tcHV0ZUlzRmlyc3RJc0xhc3RCb3hGb3JJbmxpbmVDb250ZW50KGZvcm1hdHRpbmdTdGF0
ZSgpLmJveGVzKCkpOwogfQogCiBJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIElubGluZUZvcm1h
dHRpbmdDb250ZXh0Ojpjb21wdXRlZEludHJpbnNpY1dpZHRoQ29uc3RyYWludHNGb3JJbnRlZ3Jh
dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUJveC5o
CmluZGV4IDRlNWE5MTQ5ZmY2YjcyYjk2MWUzM2E0YTNlMzFiOWQzYjYyNWM5NTQuLjcyZTMzYTJl
ZDI0MTE3ZDNmMmJjMTkwMWFjYzUyYWI5NTRlZTBkZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxh
eUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUJveC5oCkBAIC0xMzAsNiArMTMwLDcgQEAgc3RydWN0
IEJveCB7CiAgICAgYm9vbCBpc0xhc3RCb3goKSBjb25zdCB7IHJldHVybiBtX2lzTGFzdFdpdGhp
bklubGluZUxldmVsQm94OyB9CiAKICAgICB2b2lkIHNldElzTGFzdEJveChib29sIGlzTGFzdEJv
eCkgeyBtX2lzTGFzdFdpdGhpbklubGluZUxldmVsQm94ID0gaXNMYXN0Qm94OyB9CisgICAgdm9p
ZCBzZXRJc0ZpcnN0Qm94KGJvb2wgaXNGaXJzdEJveCkgeyBtX2lzRmlyc3RXaXRoaW5JbmxpbmVM
ZXZlbEJveCA9IGlzRmlyc3RCb3g7IH0KIAogcHJpdmF0ZToKICAgICBjb25zdCBzaXplX3QgbV9s
aW5lSW5kZXggeyAwIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>