<?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>238912</bug_id>
          
          <creation_ts>2022-04-06 16:58:51 -0700</creation_ts>
          <short_desc>Adjust and refactor some UA styles and logic for injecting Live Text</short_desc>
          <delta_ts>2022-04-07 11:30:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1859087</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-06 16:58:51 -0700</bug_when>
    <thetext>rdar://91383570</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859107</commentid>
    <comment_count>1</comment_count>
      <attachid>456879</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-06 18:01:25 -0700</bug_when>
    <thetext>Created attachment 456879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859130</commentid>
    <comment_count>2</comment_count>
      <attachid>456879</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2022-04-06 20:30:19 -0700</bug_when>
    <thetext>Comment on attachment 456879
Patch

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

&gt; Source/WebCore/dom/ImageOverlay.cpp:445
&gt; +            if (lines.size() &gt; 2)

Nit: Named constant?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859253</commentid>
    <comment_count>3</comment_count>
      <attachid>456879</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-07 07:52:36 -0700</bug_when>
    <thetext>Comment on attachment 456879
Patch

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

Thanks for the review!

&gt;&gt; Source/WebCore/dom/ImageOverlay.cpp:445
&gt;&gt; +            if (lines.size() &gt; 2)
&gt; 
&gt; Nit: Named constant?

Makes sense — I&apos;ll change this to use `constexpr auto maxLineCountForCenterAlignedText = 2;`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859254</commentid>
    <comment_count>4</comment_count>
      <attachid>456924</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-07 07:53:55 -0700</bug_when>
    <thetext>Created attachment 456924
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859308</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-07 10:23:21 -0700</bug_when>
    <thetext>Committed r292543 (249381@main): &lt;https://commits.webkit.org/249381@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 456924.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456879</attachid>
            <date>2022-04-06 18:01:25 -0700</date>
            <delta_ts>2022-04-07 11:30:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238912-20220406180124.patch</filename>
            <type>text/plain</type>
            <size>13592</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAzYjUzODA2ZGZlZjU0
NTYyNDljNGE4MWFiNmY5NDAzOTUyODE5Ny4uMjlmNDg1YzI4YTU5ODdlY2NhMjQxOWYwNDIzMmUz
NmVlNjJjZWU1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIyLTA0LTA2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkanVzdCBhbmQg
cmVmYWN0b3Igc29tZSBVQSBzdHlsZXMgYW5kIGxvZ2ljIGZvciBpbmplY3RpbmcgTGl2ZSBUZXh0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg5MTIK
KyAgICAgICAgcmRhcjovLzkxMzgzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRqdXN0IHZhcmlvdXMgTGl2ZS1UZXh0LXJlbGF0ZWQgVUEgc3R5
bGVzIGZvciAidGV4dCByZWNvZ25pdGlvbiBibG9ja3MiLCBhbG9uZyB3aXRoIG90aGVyIG1pc2Nl
bGxhbmVvdXMKKyAgICAgICAgYWRqdXN0bWVudHM6CisKKyAgICAgICAgLSAgIENvbXB1dGUgYW5k
IHNldCB0aGUgYm9yZGVyIHJhZGl1cywgYmFzZWQgb24gdGhlIGZvbnQgc2l6ZSBhbmQgb3ZlcmFs
bCBoZWlnaHQgb2YgdGhlIGJsb2NrLgorICAgICAgICAtICAgQWRkIGhvcml6b250YWwvdmVydGlj
YWwgcGFkZGluZyB0byB0ZXh0IHJlY29nbml0aW9uLCBjb21wdXRlZCByZWxhdGl2ZSB0byB0aGUg
Ym9yZGVyIHJhZGl1cy4KKyAgICAgICAgLSAgIEFsbG93IGh5cGhlbmF0aW9uIGluIGJsb2Nrcy4K
KyAgICAgICAgLSAgIE9ubHkgY2VudGVyLWFsaWduIHRleHQgaW4gYmxvY2tzIGlmIHRoZXJlIGFy
ZSBmZXdlciB0aGFuIDMgdGV4dCBydW5zIGluIHRoZSBibG9jay4KKyAgICAgICAgLSAgIEFkanVz
dCBib3ggc2hhZG93cywgYmFja2Ryb3AgZmlsdGVyIGJsdXIgcmFkaXVzIGFuZCBsaW5lIGhlaWdo
dC4KKyAgICAgICAgLSAgIFNwZWNpZnkgYSBgbGluZS1oZWlnaHRgLCBzdWNoIHRoYXQgYGxpbmUt
aGVpZ2h0YCBmcm9tIHRoZSBob3N0IGVsZW1lbnQgZG9lc24ndCBlcnJvbmVvdXNseSBhcHBseSB0
byBibG9ja3MuCisgICAgICAgIC0gICBIYW5kbGUgdGV4dCByZWNvZ25pdGlvbiBibG9ja3Mgd2l0
aCBuZXdsaW5lIGNoYXJhY3RlcnMgKFxuKSBieSBpbmplY3RpbmcgbGluZSBicmVhayBlbGVtZW50
cyBiZXR3ZWVuIHRleHQuCisKKyAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25p
dGlvbi9pbWFnZS1vdmVybGF5LWJsb2NrLXdpdGgtbmV3bGluZXMuaHRtbAorCisgICAgICAgICog
ZG9tL0ltYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZU92ZXJsYXk6OnVw
ZGF0ZVN1YnRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VPdmVybGF5OjpmaXRFbGVtZW50
VG9RdWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlT3ZlcmxheTo6dXBkYXRlV2l0aFRleHRS
ZWNvZ25pdGlvblJlc3VsdCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNz
czoKKyAgICAgICAgKDpob3N0KDpub3QoaW1nKSkgZGl2I2ltYWdlLW92ZXJsYXk6LXdlYmtpdC1m
dWxsLXNjcmVlbi1kb2N1bWVudCk6CisgICAgICAgIChkaXYuaW1hZ2Utb3ZlcmxheS1ibG9jayk6
CisgICAgICAgIChkaXYuaW1hZ2Utb3ZlcmxheS1saW5lLCAuaW1hZ2Utb3ZlcmxheS10ZXh0LCBk
aXYuaW1hZ2Utb3ZlcmxheS1ibG9jayk6CisgICAgICAgIChkaXYuaW1hZ2Utb3ZlcmxheS1saW5l
LCAuaW1hZ2Utb3ZlcmxheS10ZXh0KToKKyAgICAgICAgKC5pbWFnZS1vdmVybGF5LWJsb2NrKToK
KwogMjAyMi0wNC0wNSAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAK
ICAgICAgICAgRWxpbWluYXRlIGRlbGF5cyBmb3IgcHJvY2Vzc2luZyBsaXZlIHJlZ2lvbnMgYW5k
IG1vZGFsIG5vdGlmaWNhdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW1h
Z2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbWFnZU92ZXJsYXkuY3BwCmluZGV4
IDA1N2YyMGY4YmM1OWQzMjNhNGQyYzFmMTViNTc1OGVkOTc2NDYzOWQuLmUzOTk2OWFkOWY2NmQ3
NmU3YjlmYjRhYTg5MjliYWU5NWE2YWM0NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9JbWFnZU92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbWFnZU92ZXJsYXku
Y3BwCkBAIC0zNTgsOCArMzU4LDE1IEBAIHN0YXRpYyBFbGVtZW50cyB1cGRhdGVTdWJ0cmVlKEhU
TUxFbGVtZW50JiBlbGVtZW50LCBjb25zdCBUZXh0UmVjb2duaXRpb25SZXN1bHQmCiAgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCByZXN1
bHQuYmxvY2tzLnNpemUoKTsgKytpbmRleCkgewotICAgICAgICAgICAgICAgIGlmIChyZXN1bHQu
YmxvY2tzW2luZGV4XS50ZXh0ICE9IGVsZW1lbnRzLmJsb2Nrc1tpbmRleF0tPnRleHRDb250ZW50
KCkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICBh
dXRvIHRleHRDb250ZW50QnlMaW5lID0gcmVzdWx0LmJsb2Nrc1tpbmRleF0udGV4dC5zcGxpdChu
ZXdsaW5lQ2hhcmFjdGVyKTsKKyAgICAgICAgICAgICAgICBzaXplX3QgbGluZUluZGV4ID0gMDsK
KyAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIHRleHQgOiBjaGlsZHJlbk9mVHlwZTxUZXh0Pihl
bGVtZW50cy5ibG9ja3NbaW5kZXhdKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAodGV4dENv
bnRlbnRCeUxpbmUuc2l6ZSgpIDw9IGxpbmVJbmRleCkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgICAgICAgICBpZiAodGV4dENvbnRlbnRCeUxp
bmVbbGluZUluZGV4KytdLnN0cmlwV2hpdGVTcGFjZSgpICE9IHRleHQud2hvbGVUZXh0KCkuc3Ry
aXBXaGl0ZVNwYWNlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKQEAgLTQyOCw4ICs0MzUsMTcgQEAgc3RhdGljIEVsZW1lbnRzIHVwZGF0ZVN1YnRyZWUoSFRN
TEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFRleHRSZWNvZ25pdGlvblJlc3VsdCYKICAgICAgICAg
Zm9yIChhdXRvJiBibG9jayA6IHJlc3VsdC5ibG9ja3MpIHsKICAgICAgICAgICAgIGF1dG8gYmxv
Y2tDb250YWluZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LmdldCgpKTsKICAg
ICAgICAgICAgIGJsb2NrQ29udGFpbmVyLT5jbGFzc0xpc3QoKS5hZGQoaW1hZ2VPdmVybGF5Qmxv
Y2tDbGFzcygpKTsKKyAgICAgICAgICAgIGF1dG8gbGluZXMgPSBibG9jay50ZXh0LnNwbGl0KG5l
d2xpbmVDaGFyYWN0ZXIpOworICAgICAgICAgICAgZm9yIChhdXRvJiB0ZXh0Q29udGVudCA6IGxp
bmVzKSB7CisgICAgICAgICAgICAgICAgaWYgKGJsb2NrQ29udGFpbmVyLT5oYXNDaGlsZE5vZGVz
KCkpCisgICAgICAgICAgICAgICAgICAgIGJsb2NrQ29udGFpbmVyLT5hcHBlbmRDaGlsZChIVE1M
QlJFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQuZ2V0KCkpKTsKKyAgICAgICAgICAgICAgICBibG9j
a0NvbnRhaW5lci0+YXBwZW5kQ2hpbGQoVGV4dDo6Y3JlYXRlKGRvY3VtZW50LmdldCgpLCB0ZXh0
Q29udGVudCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAobGluZXMuc2l6ZSgp
ID4gMikKKyAgICAgICAgICAgICAgICBibG9ja0NvbnRhaW5lci0+c2V0SW5saW5lU3R5bGVQcm9w
ZXJ0eShDU1NQcm9wZXJ0eVRleHRBbGlnbiwgQ1NTVmFsdWVTdGFydCk7CisKICAgICAgICAgICAg
IGVsZW1lbnRzLnJvb3QtPmFwcGVuZENoaWxkKGJsb2NrQ29udGFpbmVyKTsKLSAgICAgICAgICAg
IGJsb2NrQ29udGFpbmVyLT5hcHBlbmRDaGlsZChUZXh0OjpjcmVhdGUoZG9jdW1lbnQuZ2V0KCks
IG1ha2VTdHJpbmcoJ1xuJywgYmxvY2sudGV4dCkpKTsKICAgICAgICAgICAgIGVsZW1lbnRzLmJs
b2Nrcy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZShibG9ja0NvbnRhaW5lcikpOwogICAgICAgICB9
CiAKQEAgLTQ0NSwxMSArNDYxLDEzIEBAIHN0YXRpYyBFbGVtZW50cyB1cGRhdGVTdWJ0cmVlKEhU
TUxFbGVtZW50JiBlbGVtZW50LCBjb25zdCBUZXh0UmVjb2duaXRpb25SZXN1bHQmCiAgICAgcmV0
dXJuIGVsZW1lbnRzOwogfQogCi1zdGF0aWMgUm90YXRlZFJlY3QgZml0RWxlbWVudFRvUXVhZChI
VE1MRWxlbWVudCYgY29udGFpbmVyLCBjb25zdCBGbG9hdFF1YWQmIHF1YWQpCitlbnVtIGNsYXNz
IENvbnN0cmFpbkhlaWdodCA6IGJvb2wgeyBObywgWWVzIH07CitzdGF0aWMgUm90YXRlZFJlY3Qg
Zml0RWxlbWVudFRvUXVhZChIVE1MRWxlbWVudCYgY29udGFpbmVyLCBjb25zdCBGbG9hdFF1YWQm
IHF1YWQsIENvbnN0cmFpbkhlaWdodCBjb25zdHJhaW5IZWlnaHQgPSBDb25zdHJhaW5IZWlnaHQ6
OlllcykKIHsKICAgICBhdXRvIGJvdW5kcyA9IHJvdGF0ZWRCb3VuZGluZ1JlY3RXaXRoTWluaW11
bUFuZ2xlT2ZSb3RhdGlvbihxdWFkLCAwLjAxKTsKICAgICBjb250YWluZXIuc2V0SW5saW5lU3R5
bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdpZHRoLCBib3VuZHMuc2l6ZS53aWR0aCgpLCBDU1NVbml0
VHlwZTo6Q1NTX1BYKTsKLSAgICBjb250YWluZXIuc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQ
cm9wZXJ0eUhlaWdodCwgYm91bmRzLnNpemUuaGVpZ2h0KCksIENTU1VuaXRUeXBlOjpDU1NfUFgp
OworICAgIGlmIChjb25zdHJhaW5IZWlnaHQgPT0gQ29uc3RyYWluSGVpZ2h0OjpZZXMpCisgICAg
ICAgIGNvbnRhaW5lci5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5SGVpZ2h0LCBi
b3VuZHMuc2l6ZS5oZWlnaHQoKSwgQ1NTVW5pdFR5cGU6OkNTU19QWCk7CiAgICAgY29udGFpbmVy
LnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2Zvcm0sIG1ha2VTdHJpbmco
CiAgICAgICAgICJ0cmFuc2xhdGUoIl9zLAogICAgICAgICBzdGQ6OnJvdW5kKGJvdW5kcy5jZW50
ZXIueCgpIC0gKGJvdW5kcy5zaXplLndpZHRoKCkgLyAyKSksICJweCwgIl9zLApAQCAtNjA1LDYg
KzYyMywxNyBAQCB2b2lkIHVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQoSFRNTEVsZW1l
bnQmIGVsZW1lbnQsIGNvbnN0IFRleHRSZWNvZ25pdGlvbgogICAgIFZlY3RvcjxGb250U2l6ZUFk
anVzdG1lbnRTdGF0ZT4gZWxlbWVudHNUb0FkanVzdDsKICAgICBlbGVtZW50c1RvQWRqdXN0LnJl
c2VydmVJbml0aWFsQ2FwYWNpdHkocmVzdWx0LmJsb2Nrcy5zaXplKCkpOwogCisgICAgYXV0byBz
ZXRJbmxpbmVTdHlsZXNGb3JCbG9jayA9IFsmXShIVE1MRWxlbWVudCYgYmxvY2ssIGZsb2F0IHNj
YWxlLCBmbG9hdCB0YXJnZXRIZWlnaHQpIHsKKyAgICAgICAgZmxvYXQgZm9udFNpemUgPSBzY2Fs
ZSAqIHRhcmdldEhlaWdodDsKKyAgICAgICAgZmxvYXQgYm9yZGVyUmFkaXVzID0gZm9udFNpemUg
LyA1ICsgKHRhcmdldEhlaWdodCAtIGZvbnRTaXplKSAvIDUwOworICAgICAgICBibG9jay5zZXRJ
bmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFNpemUsIGZvbnRTaXplLCBDU1NVbml0
VHlwZTo6Q1NTX1BYKTsKKyAgICAgICAgYmxvY2suc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQ
cm9wZXJ0eUJvcmRlclJhZGl1cywgbWFrZVN0cmluZyhib3JkZXJSYWRpdXMsICJweCJfcykpOwor
ICAgICAgICBibG9jay5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5UGFkZGluZ0xl
ZnQsIDIgKiBib3JkZXJSYWRpdXMsIENTU1VuaXRUeXBlOjpDU1NfUFgpOworICAgICAgICBibG9j
ay5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5UGFkZGluZ1JpZ2h0LCAyICogYm9y
ZGVyUmFkaXVzLCBDU1NVbml0VHlwZTo6Q1NTX1BYKTsKKyAgICAgICAgYmxvY2suc2V0SW5saW5l
U3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVBhZGRpbmdUb3AsIGJvcmRlclJhZGl1cywgQ1NTVW5p
dFR5cGU6OkNTU19QWCk7CisgICAgICAgIGJsb2NrLnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlQYWRkaW5nQm90dG9tLCBib3JkZXJSYWRpdXMsIENTU1VuaXRUeXBlOjpDU1NfUFgp
OworICAgIH07CisKICAgICBBU1NFUlQocmVzdWx0LmJsb2Nrcy5zaXplKCkgPT0gZWxlbWVudHMu
YmxvY2tzLnNpemUoKSk7CiAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IHJlc3Vs
dC5ibG9ja3Muc2l6ZSgpOyArK2luZGV4KSB7CiAgICAgICAgIGF1dG8mIGJsb2NrID0gcmVzdWx0
LmJsb2Nrc1tpbmRleF07CkBAIC02MTIsOCArNjQxLDggQEAgdm9pZCB1cGRhdGVXaXRoVGV4dFJl
Y29nbml0aW9uUmVzdWx0KEhUTUxFbGVtZW50JiBlbGVtZW50LCBjb25zdCBUZXh0UmVjb2duaXRp
b24KICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGF1dG8gYmxvY2tDb250YWluZXIg
PSBlbGVtZW50cy5ibG9ja3NbaW5kZXhdOwotICAgICAgICBhdXRvIGJvdW5kcyA9IGZpdEVsZW1l
bnRUb1F1YWQoYmxvY2tDb250YWluZXIuZ2V0KCksIGNvbnZlcnRUb0NvbnRhaW5lckNvb3JkaW5h
dGVzKGJsb2NrLm5vcm1hbGl6ZWRRdWFkKSk7Ci0gICAgICAgIGJsb2NrQ29udGFpbmVyLT5zZXRJ
bmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFNpemUsIGluaXRpYWxTY2FsZUZvckZv
bnRTaXplICogYm91bmRzLnNpemUuaGVpZ2h0KCksIENTU1VuaXRUeXBlOjpDU1NfUFgpOworICAg
ICAgICBhdXRvIGJvdW5kcyA9IGZpdEVsZW1lbnRUb1F1YWQoYmxvY2tDb250YWluZXIuZ2V0KCks
IGNvbnZlcnRUb0NvbnRhaW5lckNvb3JkaW5hdGVzKGJsb2NrLm5vcm1hbGl6ZWRRdWFkKSwgQ29u
c3RyYWluSGVpZ2h0OjpObyk7CisgICAgICAgIHNldElubGluZVN0eWxlc0ZvckJsb2NrKGJsb2Nr
Q29udGFpbmVyLmdldCgpLCBpbml0aWFsU2NhbGVGb3JGb250U2l6ZSwgYm91bmRzLnNpemUuaGVp
Z2h0KCkpOwogICAgICAgICBlbGVtZW50c1RvQWRqdXN0LnVuY2hlY2tlZEFwcGVuZCh7IFdURk1v
dmUoYmxvY2tDb250YWluZXIpLCBib3VuZHMuc2l6ZSB9KTsKICAgICB9CiAKQEAgLTYyMiwyNCAr
NjUxLDE2IEBAIHZvaWQgdXBkYXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdChIVE1MRWxlbWVu
dCYgZWxlbWVudCwgY29uc3QgVGV4dFJlY29nbml0aW9uCiAgICAgICAgIGRvY3VtZW50LT51cGRh
dGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIAogICAgICAgICBmb3IgKGF1dG8m
IHN0YXRlIDogZWxlbWVudHNUb0FkanVzdCkgewotICAgICAgICAgICAgUmVmUHRyIHRleHROb2Rl
ID0gc3RhdGUuY29udGFpbmVyLT5maXJzdENoaWxkKCk7Ci0gICAgICAgICAgICBpZiAoIWlzPFRl
eHQ+KHRleHROb2RlKSkgewotICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwot
ICAgICAgICAgICAgICAgIHN0YXRlLm1heVJlcXVpcmVBZGp1c3RtZW50ID0gZmFsc2U7Ci0gICAg
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGF1dG8q
IHRleHRSZW5kZXJlciA9IGRvd25jYXN0PFRleHQ+KCp0ZXh0Tm9kZSkucmVuZGVyZXIoKTsKLSAg
ICAgICAgICAgIGlmICghdGV4dFJlbmRlcmVyKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICAgICAgc3RhdGUubWF5UmVxdWlyZUFkanVzdG1lbnQg
PSBmYWxzZTsKKyAgICAgICAgICAgIGF1dG8qIGJveCA9IHN0YXRlLmNvbnRhaW5lci0+cmVuZGVy
Qm94KCk7CisgICAgICAgICAgICBpZiAoIWJveCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsK
LSAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgYXV0byBjdXJyZW50U2NvcmUgPSAodGV4dFJl
bmRlcmVyLT5saW5lc0JvdW5kaW5nQm94KCkuc2l6ZSgpIC8gc3RhdGUudGFyZ2V0U2l6ZSkubWF4
RGltZW5zaW9uKCk7Ci0gICAgICAgICAgICBpZiAoY3VycmVudFNjb3JlIDwgbWluVGFyZ2V0U2Nv
cmUpCisgICAgICAgICAgICBhdXRvIHRhcmdldEhlaWdodCA9IHN0YXRlLnRhcmdldFNpemUuaGVp
Z2h0KCk7CisgICAgICAgICAgICBhdXRvIGN1cnJlbnRTY29yZSA9IGJveC0+Y29udGVudEhlaWdo
dCgpIC8gdGFyZ2V0SGVpZ2h0OworICAgICAgICAgICAgYm9vbCBoYXNIb3Jpem9udGFsT3ZlcmZs
b3cgPSBib3gtPmhhc0hvcml6b250YWxPdmVyZmxvdygpOworICAgICAgICAgICAgaWYgKGN1cnJl
bnRTY29yZSA8IG1pblRhcmdldFNjb3JlICYmICFoYXNIb3Jpem9udGFsT3ZlcmZsb3cpCiAgICAg
ICAgICAgICAgICAgc3RhdGUubWluU2NhbGUgPSBzdGF0ZS5zY2FsZTsKLSAgICAgICAgICAgIGVs
c2UgaWYgKGN1cnJlbnRTY29yZSA+IG1heFRhcmdldFNjb3JlKQorICAgICAgICAgICAgZWxzZSBp
ZiAoY3VycmVudFNjb3JlID4gbWF4VGFyZ2V0U2NvcmUgfHwgaGFzSG9yaXpvbnRhbE92ZXJmbG93
KQogICAgICAgICAgICAgICAgIHN0YXRlLm1heFNjYWxlID0gc3RhdGUuc2NhbGU7CiAgICAgICAg
ICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBzdGF0ZS5tYXlSZXF1aXJlQWRqdXN0bWVudCA9
IGZhbHNlOwpAQCAtNjQ3LDcgKzY2OCw3IEBAIHZvaWQgdXBkYXRlV2l0aFRleHRSZWNvZ25pdGlv
blJlc3VsdChIVE1MRWxlbWVudCYgZWxlbWVudCwgY29uc3QgVGV4dFJlY29nbml0aW9uCiAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIHN0YXRlLnNjYWxlID0gKHN0YXRlLm1pblNjYWxlICsg
c3RhdGUubWF4U2NhbGUpIC8gMjsKLSAgICAgICAgICAgIHN0YXRlLmNvbnRhaW5lci0+c2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTaXplLCBzdGF0ZS50YXJnZXRTaXplLmhl
aWdodCgpICogc3RhdGUuc2NhbGUsIENTU1VuaXRUeXBlOjpDU1NfUFgpOworICAgICAgICAgICAg
c2V0SW5saW5lU3R5bGVzRm9yQmxvY2soc3RhdGUuY29udGFpbmVyLmdldCgpLCBzdGF0ZS5zY2Fs
ZSwgdGFyZ2V0SGVpZ2h0KTsKICAgICAgICAgfQogCiAgICAgICAgIGVsZW1lbnRzVG9BZGp1c3Qu
cmVtb3ZlQWxsTWF0Y2hpbmcoW10oYXV0byYgc3RhdGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9pbWFnZU92ZXJsYXkuY3NzCmluZGV4IDJlNzZkNmMyZGQyZTk1MmY1ODkyMGEzMWZh
N2FlODAxOTFkOWVmZDYuLjJkMjRmMzA3OTJmNmIwOTM4NzE2MGVmOTE4MzE0YjE0YjJhNWZlNTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcwpAQCAtMzQs
NiArMzQsMTAgQEAgZGl2I2ltYWdlLW92ZXJsYXkgewogICAgIGZvbnQtZmFtaWx5OiBzeXN0ZW0t
dWk7CiB9CiAKKzpob3N0KDpub3QoaW1nKSkgZGl2I2ltYWdlLW92ZXJsYXk6LXdlYmtpdC1mdWxs
LXNjcmVlbi1kb2N1bWVudCB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKwogZGl2LmltYWdlLW92
ZXJsYXktbGluZSB7CiAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICBsaW5lLWhlaWdodDog
MTAwJTsKQEAgLTQ2LDIyICs1MCwzMiBAQCBkaXYuaW1hZ2Utb3ZlcmxheS1saW5lLCBkaXYuaW1h
Z2Utb3ZlcmxheS1ibG9jayB7CiAKIGRpdi5pbWFnZS1vdmVybGF5LWJsb2NrIHsKICAgICBiYWNr
Z3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOwotICAgIGJvcmRlci1yYWRp
dXM6IGNhbGMoY2xhbXAoMnB4LCAwLjFlbSwgMTJweCkpOwotICAgIGJveC1zaGFkb3c6IHJnYmEo
MTAwLCAxMDAsIDEwMCwgMC4yKSAzcHggNHB4IDhweCA0cHg7CisgICAgYm94LXNoYWRvdzogMCA1
cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMyk7
CiAgICAgY29sb3I6IHJnYig5MCwgOTAsIDkwKTsKICAgICBmb250LXdlaWdodDogYm9sZDsKICAg
ICBkaXNwbGF5OiBmbGV4OwogICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgIGFsaWdu
LWNvbnRlbnQ6IGNlbnRlcjsKICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwotICAgIC13ZWJr
aXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7CisgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0
ZXI6IGJsdXIoNDBweCk7CisgICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvOworICAgIGxpbmUtaGVp
Z2h0OiAxLjJlbTsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIHdoaXRlLXNwYWNl
OiBub3JtYWw7CiB9CiAKIGRpdi5pbWFnZS1vdmVybGF5LWxpbmUsIC5pbWFnZS1vdmVybGF5LXRl
eHQsIGRpdi5pbWFnZS1vdmVybGF5LWJsb2NrIHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7Cit9
CisKK2Rpdi5pbWFnZS1vdmVybGF5LWxpbmUsIC5pbWFnZS1vdmVybGF5LXRleHQgewogICAgIG92
ZXJmbG93OiBoaWRkZW47CiB9CiAKKy5pbWFnZS1vdmVybGF5LWJsb2NrIHsKKyAgICBvdmVyZmxv
dy14OiBoaWRkZW47Cit9CisKIC5pbWFnZS1vdmVybGF5LXRleHQ6OnNlbGVjdGlvbiB7CiAgICAg
Y29sb3I6IHRyYW5zcGFyZW50OwogICAgIGJhY2tncm91bmQtY29sb3I6IGhpZ2hsaWdodDsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBlMzI3Yzk1YWIxN2JkYzc3YzdmZjUyMDU0ODlhYzM5ZTcxNzkzNTcwLi44MjgxZmMyZTJi
MTU3NjI3YTc0ODQ1NTNhYzMyMDk1MmM2ZjU2YWRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MjItMDQtMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRqdXN0IGFuZCByZWZhY3RvciBzb21lIFVBIHN0eWxlcyBhbmQgbG9naWMgZm9yIGluamVj
dGluZyBMaXZlIFRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzODkxMgorICAgICAgICByZGFyOi8vOTEzODM1NzAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBsYXlvdXQgdGVzdCB0byBleGVy
Y2lzZSAiYmxvY2siLXN0eWxlIExpdmUgVGV4dCBpbmplY3Rpb24sIGluIHRoZSBjYXNlIHdoZXJl
IHRoZSBpbmplY3RlZCB0ZXh0IGNvbnRhaW5zCisgICAgICAgIG5ld2xpbmVzLiBUaGUgcmVzdWx0
aW5nIHNlbGVjdGVkIHRleHQgc2hvdWxkIHByZXNlcnZlIHRoZSBuZXdsaW5lLgorCisgICAgICAg
ICogZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5LWJsb2NrLXdpdGgt
bmV3bGluZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy90ZXh0
LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2std2l0aC1uZXdsaW5lcy5odG1sOiBBZGRl
ZC4KKwogMjAyMi0wNC0wNSAgTWF0dCBXb29kcm93ICA8bWF0dHdvb2Ryb3dAYXBwbGUuY29tPgog
CiAgICAgICAgIFN1cHBvcnQgdHJhbnNpdGlvbnMvYW5pbWF0aW9ucyBvbiBncmlkLXRlbXBsYXRl
LWNvbHVtbnN8cm93cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvdGV4dC1y
ZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5LWJsb2NrLXdpdGgtbmV3bGluZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5
LWJsb2NrLXdpdGgtbmV3bGluZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhMWJhYThjMTJj
ODFjMWI2ZmVkYTQ1ZjY4YjExOGVjMmE3YzczZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2std2l0
aC1uZXdsaW5lcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitQQVNTIGdldFNlbGVjdGlv
bigpLnRvU3RyaW5nKCkgaXMgIkhlbGxvXG53b3JsZCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2std2l0aC1uZXdsaW5l
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1v
dmVybGF5LWJsb2NrLXdpdGgtbmV3bGluZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzlhYWZlMDU4NDk4
MjUwY2UzMjI4NDMyOTQ5NzY2ZTU0NGI5ZmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5LWJsb2NrLXdpdGgt
bmV3bGluZXMuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorYm9keSwgaHRtbCB7CisgICAgbWFyZ2luOiAwOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9ncmVlbi00MDB4NDAwLnBu
ZyI+PC9pbWc+Cis8c2NyaXB0PgorYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsICgpID0+IHsKKyAg
ICBsZXQgaW1hZ2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbWciKTsKKyAgICBpbnRlcm5h
bHMuaW5zdGFsbEltYWdlT3ZlcmxheShpbWFnZSwgW10sIFsKKyAgICAgICAgeworICAgICAgICAg
ICAgdG9wTGVmdCA6IG5ldyBET01Qb2ludFJlYWRPbmx5KDAuMSwgMC4xKSwKKyAgICAgICAgICAg
IHRvcFJpZ2h0IDogbmV3IERPTVBvaW50UmVhZE9ubHkoMC40LCAwLjEpLAorICAgICAgICAgICAg
Ym90dG9tUmlnaHQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLjQsIDAuNCksCisgICAgICAgICAg
ICBib3R0b21MZWZ0IDogbmV3IERPTVBvaW50UmVhZE9ubHkoMC4xLCAwLjQpLAorICAgICAgICAg
ICAgdGV4dCA6ICJIZWxsb1xud29ybGQiLAorICAgICAgICB9CisgICAgXSk7CisgICAgY29uc3Qg
b3ZlcmxheSA9IGludGVybmFscy5zaGFkb3dSb290KGltYWdlKS5nZXRFbGVtZW50QnlJZCgiaW1h
Z2Utb3ZlcmxheSIpOworICAgIGdldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKG92ZXJs
YXkpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmco
KSIsICJIZWxsb1xud29ybGQiKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="review"
          id="485316"
          type_id="1"
          status="+"
          setter="akeerthi"
    />
    <flag name="commit-queue"
          id="485403"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456924</attachid>
            <date>2022-04-07 07:53:55 -0700</date>
            <delta_ts>2022-04-07 10:23:23 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-238912-20220407075355.patch</filename>
            <type>text/plain</type>
            <size>13689</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAzYjUzODA2ZGZlZjU0
NTYyNDljNGE4MWFiNmY5NDAzOTUyODE5Ny4uYzg0ZDE3ZmRhYzRkODFiZmRhYjk0YzBiMjU4NGU4
YjNlZTY3YjEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIyLTA0LTA2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkanVzdCBhbmQg
cmVmYWN0b3Igc29tZSBVQSBzdHlsZXMgYW5kIGxvZ2ljIGZvciBpbmplY3RpbmcgTGl2ZSBUZXh0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg5MTIK
KyAgICAgICAgcmRhcjovLzkxMzgzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRpdHlhIEtl
ZXJ0aGkuCisKKyAgICAgICAgQWRqdXN0IHZhcmlvdXMgTGl2ZS1UZXh0LXJlbGF0ZWQgVUEgc3R5
bGVzIGZvciAidGV4dCByZWNvZ25pdGlvbiBibG9ja3MiLCBhbG9uZyB3aXRoIG90aGVyIG1pc2Nl
bGxhbmVvdXMKKyAgICAgICAgYWRqdXN0bWVudHM6CisKKyAgICAgICAgLSAgIENvbXB1dGUgYW5k
IHNldCB0aGUgYm9yZGVyIHJhZGl1cywgYmFzZWQgb24gdGhlIGZvbnQgc2l6ZSBhbmQgb3ZlcmFs
bCBoZWlnaHQgb2YgdGhlIGJsb2NrLgorICAgICAgICAtICAgQWRkIGhvcml6b250YWwvdmVydGlj
YWwgcGFkZGluZyB0byB0ZXh0IHJlY29nbml0aW9uLCBjb21wdXRlZCByZWxhdGl2ZSB0byB0aGUg
Ym9yZGVyIHJhZGl1cy4KKyAgICAgICAgLSAgIEFsbG93IGh5cGhlbmF0aW9uIGluIGJsb2Nrcy4K
KyAgICAgICAgLSAgIE9ubHkgY2VudGVyLWFsaWduIHRleHQgaW4gYmxvY2tzIGlmIHRoZXJlIGFy
ZSBmZXdlciB0aGFuIDMgdGV4dCBydW5zIGluIHRoZSBibG9jay4KKyAgICAgICAgLSAgIEFkanVz
dCBib3ggc2hhZG93cywgYmFja2Ryb3AgZmlsdGVyIGJsdXIgcmFkaXVzIGFuZCBsaW5lIGhlaWdo
dC4KKyAgICAgICAgLSAgIFNwZWNpZnkgYSBgbGluZS1oZWlnaHRgLCBzdWNoIHRoYXQgYGxpbmUt
aGVpZ2h0YCBmcm9tIHRoZSBob3N0IGVsZW1lbnQgZG9lc24ndCBlcnJvbmVvdXNseSBhcHBseSB0
byBibG9ja3MuCisgICAgICAgIC0gICBIYW5kbGUgdGV4dCByZWNvZ25pdGlvbiBibG9ja3Mgd2l0
aCBuZXdsaW5lIGNoYXJhY3RlcnMgKFxuKSBieSBpbmplY3RpbmcgbGluZSBicmVhayBlbGVtZW50
cyBiZXR3ZWVuIHRleHQuCisKKyAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25p
dGlvbi9pbWFnZS1vdmVybGF5LWJsb2NrLXdpdGgtbmV3bGluZXMuaHRtbAorCisgICAgICAgICog
ZG9tL0ltYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZU92ZXJsYXk6OnVw
ZGF0ZVN1YnRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VPdmVybGF5OjpmaXRFbGVtZW50
VG9RdWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlT3ZlcmxheTo6dXBkYXRlV2l0aFRleHRS
ZWNvZ25pdGlvblJlc3VsdCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNz
czoKKyAgICAgICAgKDpob3N0KDpub3QoaW1nKSkgZGl2I2ltYWdlLW92ZXJsYXk6LXdlYmtpdC1m
dWxsLXNjcmVlbi1kb2N1bWVudCk6CisgICAgICAgIChkaXYuaW1hZ2Utb3ZlcmxheS1ibG9jayk6
CisgICAgICAgIChkaXYuaW1hZ2Utb3ZlcmxheS1saW5lLCAuaW1hZ2Utb3ZlcmxheS10ZXh0LCBk
aXYuaW1hZ2Utb3ZlcmxheS1ibG9jayk6CisgICAgICAgIChkaXYuaW1hZ2Utb3ZlcmxheS1saW5l
LCAuaW1hZ2Utb3ZlcmxheS10ZXh0KToKKyAgICAgICAgKC5pbWFnZS1vdmVybGF5LWJsb2NrKToK
KwogMjAyMi0wNC0wNSAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAK
ICAgICAgICAgRWxpbWluYXRlIGRlbGF5cyBmb3IgcHJvY2Vzc2luZyBsaXZlIHJlZ2lvbnMgYW5k
IG1vZGFsIG5vdGlmaWNhdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW1h
Z2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbWFnZU92ZXJsYXkuY3BwCmluZGV4
IDA1N2YyMGY4YmM1OWQzMjNhNGQyYzFmMTViNTc1OGVkOTc2NDYzOWQuLmU0ZjZhZWE2NWExM2Fj
YTVlMGE3NjQ5ZWNiYWI5MDU2MjY5MTdiY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9JbWFnZU92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbWFnZU92ZXJsYXku
Y3BwCkBAIC0zNTgsOCArMzU4LDE1IEBAIHN0YXRpYyBFbGVtZW50cyB1cGRhdGVTdWJ0cmVlKEhU
TUxFbGVtZW50JiBlbGVtZW50LCBjb25zdCBUZXh0UmVjb2duaXRpb25SZXN1bHQmCiAgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCByZXN1
bHQuYmxvY2tzLnNpemUoKTsgKytpbmRleCkgewotICAgICAgICAgICAgICAgIGlmIChyZXN1bHQu
YmxvY2tzW2luZGV4XS50ZXh0ICE9IGVsZW1lbnRzLmJsb2Nrc1tpbmRleF0tPnRleHRDb250ZW50
KCkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICBh
dXRvIHRleHRDb250ZW50QnlMaW5lID0gcmVzdWx0LmJsb2Nrc1tpbmRleF0udGV4dC5zcGxpdChu
ZXdsaW5lQ2hhcmFjdGVyKTsKKyAgICAgICAgICAgICAgICBzaXplX3QgbGluZUluZGV4ID0gMDsK
KyAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIHRleHQgOiBjaGlsZHJlbk9mVHlwZTxUZXh0Pihl
bGVtZW50cy5ibG9ja3NbaW5kZXhdKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAodGV4dENv
bnRlbnRCeUxpbmUuc2l6ZSgpIDw9IGxpbmVJbmRleCkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgICAgICAgICBpZiAodGV4dENvbnRlbnRCeUxp
bmVbbGluZUluZGV4KytdLnN0cmlwV2hpdGVTcGFjZSgpICE9IHRleHQud2hvbGVUZXh0KCkuc3Ry
aXBXaGl0ZVNwYWNlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKQEAgLTQyOCw4ICs0MzUsMTggQEAgc3RhdGljIEVsZW1lbnRzIHVwZGF0ZVN1YnRyZWUoSFRN
TEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFRleHRSZWNvZ25pdGlvblJlc3VsdCYKICAgICAgICAg
Zm9yIChhdXRvJiBibG9jayA6IHJlc3VsdC5ibG9ja3MpIHsKICAgICAgICAgICAgIGF1dG8gYmxv
Y2tDb250YWluZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LmdldCgpKTsKICAg
ICAgICAgICAgIGJsb2NrQ29udGFpbmVyLT5jbGFzc0xpc3QoKS5hZGQoaW1hZ2VPdmVybGF5Qmxv
Y2tDbGFzcygpKTsKKyAgICAgICAgICAgIGF1dG8gbGluZXMgPSBibG9jay50ZXh0LnNwbGl0KG5l
d2xpbmVDaGFyYWN0ZXIpOworICAgICAgICAgICAgZm9yIChhdXRvJiB0ZXh0Q29udGVudCA6IGxp
bmVzKSB7CisgICAgICAgICAgICAgICAgaWYgKGJsb2NrQ29udGFpbmVyLT5oYXNDaGlsZE5vZGVz
KCkpCisgICAgICAgICAgICAgICAgICAgIGJsb2NrQ29udGFpbmVyLT5hcHBlbmRDaGlsZChIVE1M
QlJFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQuZ2V0KCkpKTsKKyAgICAgICAgICAgICAgICBibG9j
a0NvbnRhaW5lci0+YXBwZW5kQ2hpbGQoVGV4dDo6Y3JlYXRlKGRvY3VtZW50LmdldCgpLCB0ZXh0
Q29udGVudCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdGV4cHIgYXV0byBt
YXhMaW5lQ291bnRGb3JDZW50ZXJBbGlnbmVkVGV4dCA9IDI7CisgICAgICAgICAgICBpZiAobGlu
ZXMuc2l6ZSgpID4gbWF4TGluZUNvdW50Rm9yQ2VudGVyQWxpZ25lZFRleHQpCisgICAgICAgICAg
ICAgICAgYmxvY2tDb250YWluZXItPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlU
ZXh0QWxpZ24sIENTU1ZhbHVlU3RhcnQpOworCiAgICAgICAgICAgICBlbGVtZW50cy5yb290LT5h
cHBlbmRDaGlsZChibG9ja0NvbnRhaW5lcik7Ci0gICAgICAgICAgICBibG9ja0NvbnRhaW5lci0+
YXBwZW5kQ2hpbGQoVGV4dDo6Y3JlYXRlKGRvY3VtZW50LmdldCgpLCBtYWtlU3RyaW5nKCdcbics
IGJsb2NrLnRleHQpKSk7CiAgICAgICAgICAgICBlbGVtZW50cy5ibG9ja3MudW5jaGVja2VkQXBw
ZW5kKFdURk1vdmUoYmxvY2tDb250YWluZXIpKTsKICAgICAgICAgfQogCkBAIC00NDUsMTEgKzQ2
MiwxMyBAQCBzdGF0aWMgRWxlbWVudHMgdXBkYXRlU3VidHJlZShIVE1MRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgVGV4dFJlY29nbml0aW9uUmVzdWx0JgogICAgIHJldHVybiBlbGVtZW50czsKIH0K
IAotc3RhdGljIFJvdGF0ZWRSZWN0IGZpdEVsZW1lbnRUb1F1YWQoSFRNTEVsZW1lbnQmIGNvbnRh
aW5lciwgY29uc3QgRmxvYXRRdWFkJiBxdWFkKQorZW51bSBjbGFzcyBDb25zdHJhaW5IZWlnaHQg
OiBib29sIHsgTm8sIFllcyB9Oworc3RhdGljIFJvdGF0ZWRSZWN0IGZpdEVsZW1lbnRUb1F1YWQo
SFRNTEVsZW1lbnQmIGNvbnRhaW5lciwgY29uc3QgRmxvYXRRdWFkJiBxdWFkLCBDb25zdHJhaW5I
ZWlnaHQgY29uc3RyYWluSGVpZ2h0ID0gQ29uc3RyYWluSGVpZ2h0OjpZZXMpCiB7CiAgICAgYXV0
byBib3VuZHMgPSByb3RhdGVkQm91bmRpbmdSZWN0V2l0aE1pbmltdW1BbmdsZU9mUm90YXRpb24o
cXVhZCwgMC4wMSk7CiAgICAgY29udGFpbmVyLnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJv
cGVydHlXaWR0aCwgYm91bmRzLnNpemUud2lkdGgoKSwgQ1NTVW5pdFR5cGU6OkNTU19QWCk7Ci0g
ICAgY29udGFpbmVyLnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlIZWlnaHQsIGJv
dW5kcy5zaXplLmhlaWdodCgpLCBDU1NVbml0VHlwZTo6Q1NTX1BYKTsKKyAgICBpZiAoY29uc3Ry
YWluSGVpZ2h0ID09IENvbnN0cmFpbkhlaWdodDo6WWVzKQorICAgICAgICBjb250YWluZXIuc2V0
SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUhlaWdodCwgYm91bmRzLnNpemUuaGVpZ2h0
KCksIENTU1VuaXRUeXBlOjpDU1NfUFgpOwogICAgIGNvbnRhaW5lci5zZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VHJhbnNmb3JtLCBtYWtlU3RyaW5nKAogICAgICAgICAidHJhbnNs
YXRlKCJfcywKICAgICAgICAgc3RkOjpyb3VuZChib3VuZHMuY2VudGVyLngoKSAtIChib3VuZHMu
c2l6ZS53aWR0aCgpIC8gMikpLCAicHgsICJfcywKQEAgLTYwNSw2ICs2MjQsMTcgQEAgdm9pZCB1
cGRhdGVXaXRoVGV4dFJlY29nbml0aW9uUmVzdWx0KEhUTUxFbGVtZW50JiBlbGVtZW50LCBjb25z
dCBUZXh0UmVjb2duaXRpb24KICAgICBWZWN0b3I8Rm9udFNpemVBZGp1c3RtZW50U3RhdGU+IGVs
ZW1lbnRzVG9BZGp1c3Q7CiAgICAgZWxlbWVudHNUb0FkanVzdC5yZXNlcnZlSW5pdGlhbENhcGFj
aXR5KHJlc3VsdC5ibG9ja3Muc2l6ZSgpKTsKIAorICAgIGF1dG8gc2V0SW5saW5lU3R5bGVzRm9y
QmxvY2sgPSBbJl0oSFRNTEVsZW1lbnQmIGJsb2NrLCBmbG9hdCBzY2FsZSwgZmxvYXQgdGFyZ2V0
SGVpZ2h0KSB7CisgICAgICAgIGZsb2F0IGZvbnRTaXplID0gc2NhbGUgKiB0YXJnZXRIZWlnaHQ7
CisgICAgICAgIGZsb2F0IGJvcmRlclJhZGl1cyA9IGZvbnRTaXplIC8gNSArICh0YXJnZXRIZWln
aHQgLSBmb250U2l6ZSkgLyA1MDsKKyAgICAgICAgYmxvY2suc2V0SW5saW5lU3R5bGVQcm9wZXJ0
eShDU1NQcm9wZXJ0eUZvbnRTaXplLCBmb250U2l6ZSwgQ1NTVW5pdFR5cGU6OkNTU19QWCk7Cisg
ICAgICAgIGJsb2NrLnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlCb3JkZXJSYWRp
dXMsIG1ha2VTdHJpbmcoYm9yZGVyUmFkaXVzLCAicHgiX3MpKTsKKyAgICAgICAgYmxvY2suc2V0
SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVBhZGRpbmdMZWZ0LCAyICogYm9yZGVyUmFk
aXVzLCBDU1NVbml0VHlwZTo6Q1NTX1BYKTsKKyAgICAgICAgYmxvY2suc2V0SW5saW5lU3R5bGVQ
cm9wZXJ0eShDU1NQcm9wZXJ0eVBhZGRpbmdSaWdodCwgMiAqIGJvcmRlclJhZGl1cywgQ1NTVW5p
dFR5cGU6OkNTU19QWCk7CisgICAgICAgIGJsb2NrLnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlQYWRkaW5nVG9wLCBib3JkZXJSYWRpdXMsIENTU1VuaXRUeXBlOjpDU1NfUFgpOwor
ICAgICAgICBibG9jay5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5UGFkZGluZ0Jv
dHRvbSwgYm9yZGVyUmFkaXVzLCBDU1NVbml0VHlwZTo6Q1NTX1BYKTsKKyAgICB9OworCiAgICAg
QVNTRVJUKHJlc3VsdC5ibG9ja3Muc2l6ZSgpID09IGVsZW1lbnRzLmJsb2Nrcy5zaXplKCkpOwog
ICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCByZXN1bHQuYmxvY2tzLnNpemUoKTsg
KytpbmRleCkgewogICAgICAgICBhdXRvJiBibG9jayA9IHJlc3VsdC5ibG9ja3NbaW5kZXhdOwpA
QCAtNjEyLDggKzY0Miw4IEBAIHZvaWQgdXBkYXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdChI
VE1MRWxlbWVudCYgZWxlbWVudCwgY29uc3QgVGV4dFJlY29nbml0aW9uCiAgICAgICAgICAgICBj
b250aW51ZTsKIAogICAgICAgICBhdXRvIGJsb2NrQ29udGFpbmVyID0gZWxlbWVudHMuYmxvY2tz
W2luZGV4XTsKLSAgICAgICAgYXV0byBib3VuZHMgPSBmaXRFbGVtZW50VG9RdWFkKGJsb2NrQ29u
dGFpbmVyLmdldCgpLCBjb252ZXJ0VG9Db250YWluZXJDb29yZGluYXRlcyhibG9jay5ub3JtYWxp
emVkUXVhZCkpOwotICAgICAgICBibG9ja0NvbnRhaW5lci0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0
eShDU1NQcm9wZXJ0eUZvbnRTaXplLCBpbml0aWFsU2NhbGVGb3JGb250U2l6ZSAqIGJvdW5kcy5z
aXplLmhlaWdodCgpLCBDU1NVbml0VHlwZTo6Q1NTX1BYKTsKKyAgICAgICAgYXV0byBib3VuZHMg
PSBmaXRFbGVtZW50VG9RdWFkKGJsb2NrQ29udGFpbmVyLmdldCgpLCBjb252ZXJ0VG9Db250YWlu
ZXJDb29yZGluYXRlcyhibG9jay5ub3JtYWxpemVkUXVhZCksIENvbnN0cmFpbkhlaWdodDo6Tm8p
OworICAgICAgICBzZXRJbmxpbmVTdHlsZXNGb3JCbG9jayhibG9ja0NvbnRhaW5lci5nZXQoKSwg
aW5pdGlhbFNjYWxlRm9yRm9udFNpemUsIGJvdW5kcy5zaXplLmhlaWdodCgpKTsKICAgICAgICAg
ZWxlbWVudHNUb0FkanVzdC51bmNoZWNrZWRBcHBlbmQoeyBXVEZNb3ZlKGJsb2NrQ29udGFpbmVy
KSwgYm91bmRzLnNpemUgfSk7CiAgICAgfQogCkBAIC02MjIsMjQgKzY1MiwxNiBAQCB2b2lkIHVw
ZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQoSFRNTEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0
IFRleHRSZWNvZ25pdGlvbgogICAgICAgICBkb2N1bWVudC0+dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKCk7CiAKICAgICAgICAgZm9yIChhdXRvJiBzdGF0ZSA6IGVsZW1lbnRz
VG9BZGp1c3QpIHsKLSAgICAgICAgICAgIFJlZlB0ciB0ZXh0Tm9kZSA9IHN0YXRlLmNvbnRhaW5l
ci0+Zmlyc3RDaGlsZCgpOwotICAgICAgICAgICAgaWYgKCFpczxUZXh0Pih0ZXh0Tm9kZSkpIHsK
LSAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgICAgICBz
dGF0ZS5tYXlSZXF1aXJlQWRqdXN0bWVudCA9IGZhbHNlOwotICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBhdXRvKiB0ZXh0UmVuZGVyZXIgPSBk
b3duY2FzdDxUZXh0PigqdGV4dE5vZGUpLnJlbmRlcmVyKCk7Ci0gICAgICAgICAgICBpZiAoIXRl
eHRSZW5kZXJlcikgewotICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
ICAgICAgICAgICAgIHN0YXRlLm1heVJlcXVpcmVBZGp1c3RtZW50ID0gZmFsc2U7CisgICAgICAg
ICAgICBhdXRvKiBib3ggPSBzdGF0ZS5jb250YWluZXItPnJlbmRlckJveCgpOworICAgICAgICAg
ICAgaWYgKCFib3gpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9CiAK
LSAgICAgICAgICAgIGF1dG8gY3VycmVudFNjb3JlID0gKHRleHRSZW5kZXJlci0+bGluZXNCb3Vu
ZGluZ0JveCgpLnNpemUoKSAvIHN0YXRlLnRhcmdldFNpemUpLm1heERpbWVuc2lvbigpOwotICAg
ICAgICAgICAgaWYgKGN1cnJlbnRTY29yZSA8IG1pblRhcmdldFNjb3JlKQorICAgICAgICAgICAg
YXV0byB0YXJnZXRIZWlnaHQgPSBzdGF0ZS50YXJnZXRTaXplLmhlaWdodCgpOworICAgICAgICAg
ICAgYXV0byBjdXJyZW50U2NvcmUgPSBib3gtPmNvbnRlbnRIZWlnaHQoKSAvIHRhcmdldEhlaWdo
dDsKKyAgICAgICAgICAgIGJvb2wgaGFzSG9yaXpvbnRhbE92ZXJmbG93ID0gYm94LT5oYXNIb3Jp
em9udGFsT3ZlcmZsb3coKTsKKyAgICAgICAgICAgIGlmIChjdXJyZW50U2NvcmUgPCBtaW5UYXJn
ZXRTY29yZSAmJiAhaGFzSG9yaXpvbnRhbE92ZXJmbG93KQogICAgICAgICAgICAgICAgIHN0YXRl
Lm1pblNjYWxlID0gc3RhdGUuc2NhbGU7Ci0gICAgICAgICAgICBlbHNlIGlmIChjdXJyZW50U2Nv
cmUgPiBtYXhUYXJnZXRTY29yZSkKKyAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJlbnRTY29yZSA+
IG1heFRhcmdldFNjb3JlIHx8IGhhc0hvcml6b250YWxPdmVyZmxvdykKICAgICAgICAgICAgICAg
ICBzdGF0ZS5tYXhTY2FsZSA9IHN0YXRlLnNjYWxlOwogICAgICAgICAgICAgZWxzZSB7CiAgICAg
ICAgICAgICAgICAgc3RhdGUubWF5UmVxdWlyZUFkanVzdG1lbnQgPSBmYWxzZTsKQEAgLTY0Nyw3
ICs2NjksNyBAQCB2b2lkIHVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQoSFRNTEVsZW1l
bnQmIGVsZW1lbnQsIGNvbnN0IFRleHRSZWNvZ25pdGlvbgogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBzdGF0ZS5zY2FsZSA9IChzdGF0ZS5taW5TY2FsZSArIHN0YXRlLm1heFNjYWxlKSAv
IDI7Ci0gICAgICAgICAgICBzdGF0ZS5jb250YWluZXItPnNldElubGluZVN0eWxlUHJvcGVydHko
Q1NTUHJvcGVydHlGb250U2l6ZSwgc3RhdGUudGFyZ2V0U2l6ZS5oZWlnaHQoKSAqIHN0YXRlLnNj
YWxlLCBDU1NVbml0VHlwZTo6Q1NTX1BYKTsKKyAgICAgICAgICAgIHNldElubGluZVN0eWxlc0Zv
ckJsb2NrKHN0YXRlLmNvbnRhaW5lci5nZXQoKSwgc3RhdGUuc2NhbGUsIHRhcmdldEhlaWdodCk7
CiAgICAgICAgIH0KIAogICAgICAgICBlbGVtZW50c1RvQWRqdXN0LnJlbW92ZUFsbE1hdGNoaW5n
KFtdKGF1dG8mIHN0YXRlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9pbWFnZU92ZXJsYXkuY3NzIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvaW1hZ2VPdmVy
bGF5LmNzcwppbmRleCAyZTc2ZDZjMmRkMmU5NTJmNTg5MjBhMzFmYTdhZTgwMTkxZDllZmQ2Li4y
ZDI0ZjMwNzkyZjZiMDkzODcxNjBlZjkxODMxNGIxNGIyYTVmZTUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9pbWFnZU92ZXJsYXkuY3NzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKQEAgLTM0LDYgKzM0LDEwIEBAIGRpdiNp
bWFnZS1vdmVybGF5IHsKICAgICBmb250LWZhbWlseTogc3lzdGVtLXVpOwogfQogCis6aG9zdCg6
bm90KGltZykpIGRpdiNpbWFnZS1vdmVybGF5Oi13ZWJraXQtZnVsbC1zY3JlZW4tZG9jdW1lbnQg
eworICAgIGRpc3BsYXk6IG5vbmU7Cit9CisKIGRpdi5pbWFnZS1vdmVybGF5LWxpbmUgewogICAg
IHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgbGluZS1oZWlnaHQ6IDEwMCU7CkBAIC00NiwyMiAr
NTAsMzIgQEAgZGl2LmltYWdlLW92ZXJsYXktbGluZSwgZGl2LmltYWdlLW92ZXJsYXktYmxvY2sg
ewogCiBkaXYuaW1hZ2Utb3ZlcmxheS1ibG9jayB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
YSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsKLSAgICBib3JkZXItcmFkaXVzOiBjYWxjKGNsYW1wKDJw
eCwgMC4xZW0sIDEycHgpKTsKLSAgICBib3gtc2hhZG93OiByZ2JhKDEwMCwgMTAwLCAxMDAsIDAu
MikgM3B4IDRweCA4cHggNHB4OworICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAw
LCAwLCAwLjIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgIGNvbG9yOiByZ2Io
OTAsIDkwLCA5MCk7CiAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgZGlzcGxheTogZmxleDsK
ICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7
CiAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKLSAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRl
cjogYmx1cig4cHgpOworICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDQwcHgpOwor
ICAgIC13ZWJraXQtaHlwaGVuczogYXV0bzsKKyAgICBsaW5lLWhlaWdodDogMS4yZW07CisgICAg
Ym94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogfQogCiBk
aXYuaW1hZ2Utb3ZlcmxheS1saW5lLCAuaW1hZ2Utb3ZlcmxheS10ZXh0LCBkaXYuaW1hZ2Utb3Zl
cmxheS1ibG9jayB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOworfQorCitkaXYuaW1hZ2Utb3Zl
cmxheS1saW5lLCAuaW1hZ2Utb3ZlcmxheS10ZXh0IHsKICAgICBvdmVyZmxvdzogaGlkZGVuOwog
fQogCisuaW1hZ2Utb3ZlcmxheS1ibG9jayB7CisgICAgb3ZlcmZsb3cteDogaGlkZGVuOworfQor
CiAuaW1hZ2Utb3ZlcmxheS10ZXh0OjpzZWxlY3Rpb24gewogICAgIGNvbG9yOiB0cmFuc3BhcmVu
dDsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoaWdobGlnaHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTMyN2M5NWFiMTdi
ZGM3N2M3ZmY1MjA1NDg5YWMzOWU3MTc5MzU3MC4uOTQwZDg5MWE5NDViOTU4NDFhZjdhNzRhMzlk
ZWM4MGM3ZDc0M2FlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTA0LTA2ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkanVzdCBhbmQgcmVm
YWN0b3Igc29tZSBVQSBzdHlsZXMgYW5kIGxvZ2ljIGZvciBpbmplY3RpbmcgTGl2ZSBUZXh0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg5MTIKKyAg
ICAgICAgcmRhcjovLzkxMzgzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRpdHlhIEtlZXJ0
aGkuCisKKyAgICAgICAgQWRkIGEgbGF5b3V0IHRlc3QgdG8gZXhlcmNpc2UgImJsb2NrIi1zdHls
ZSBMaXZlIFRleHQgaW5qZWN0aW9uLCBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgaW5qZWN0ZWQgdGV4
dCBjb250YWlucworICAgICAgICBuZXdsaW5lcy4gVGhlIHJlc3VsdGluZyBzZWxlY3RlZCB0ZXh0
IHNob3VsZCBwcmVzZXJ2ZSB0aGUgbmV3bGluZS4KKworICAgICAgICAqIGZhc3QvaW1hZ2VzL3Rl
eHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9jay13aXRoLW5ld2xpbmVzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFn
ZS1vdmVybGF5LWJsb2NrLXdpdGgtbmV3bGluZXMuaHRtbDogQWRkZWQuCisKIDIwMjItMDQtMDUg
IE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0
IHRyYW5zaXRpb25zL2FuaW1hdGlvbnMgb24gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zfHJvd3MKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Ut
b3ZlcmxheS1ibG9jay13aXRoLW5ld2xpbmVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9jay13aXRoLW5ld2xp
bmVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTFiYWE4YzEyYzgxYzFiNmZlZGE0NWY2OGIx
MThlYzJhN2M3M2U0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
dGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5LWJsb2NrLXdpdGgtbmV3bGluZXMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorUEFTUyBnZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlz
ICJIZWxsb1xud29ybGQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvdGV4dC1yZWNv
Z25pdGlvbi9pbWFnZS1vdmVybGF5LWJsb2NrLXdpdGgtbmV3bGluZXMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9jay13aXRo
LW5ld2xpbmVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM5YWFmZTA1ODQ5ODI1MGNlMzIyODQzMjk0OTc2
NmU1NDRiOWZkNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Rl
eHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9jay13aXRoLW5ld2xpbmVzLmh0bWwKQEAg
LTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK2Jv
ZHksIGh0bWwgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvZ3JlZW4tNDAweDQwMC5wbmciPjwvaW1nPgorPHNjcmlw
dD4KK2FkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCAoKSA9PiB7CisgICAgbGV0IGltYWdlID0gZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiaW1nIik7CisgICAgaW50ZXJuYWxzLmluc3RhbGxJbWFnZU92
ZXJsYXkoaW1hZ2UsIFtdLCBbCisgICAgICAgIHsKKyAgICAgICAgICAgIHRvcExlZnQgOiBuZXcg
RE9NUG9pbnRSZWFkT25seSgwLjEsIDAuMSksCisgICAgICAgICAgICB0b3BSaWdodCA6IG5ldyBE
T01Qb2ludFJlYWRPbmx5KDAuNCwgMC4xKSwKKyAgICAgICAgICAgIGJvdHRvbVJpZ2h0IDogbmV3
IERPTVBvaW50UmVhZE9ubHkoMC40LCAwLjQpLAorICAgICAgICAgICAgYm90dG9tTGVmdCA6IG5l
dyBET01Qb2ludFJlYWRPbmx5KDAuMSwgMC40KSwKKyAgICAgICAgICAgIHRleHQgOiAiSGVsbG9c
bndvcmxkIiwKKyAgICAgICAgfQorICAgIF0pOworICAgIGNvbnN0IG92ZXJsYXkgPSBpbnRlcm5h
bHMuc2hhZG93Um9vdChpbWFnZSkuZ2V0RWxlbWVudEJ5SWQoImltYWdlLW92ZXJsYXkiKTsKKyAg
ICBnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihvdmVybGF5KTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAiSGVsbG9cbndvcmxk
Iik7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>