<?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>299226</bug_id>
          
          <creation_ts>2025-09-19 19:27:46 -0700</creation_ts>
          <short_desc>[text shaping] Shaped content may break at arbitrary position causing incorrect resolved width</short_desc>
          <delta_ts>2025-09-22 05:19:28 -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>New Bugs</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>
          
          <blocked>6148</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2144592</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-09-19 19:27:46 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2144594</commentid>
    <comment_count>1</comment_count>
      <attachid>476810</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-09-19 19:36:53 -0700</bug_when>
    <thetext>Created attachment 476810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2144640</commentid>
    <comment_count>2</comment_count>
      <attachid>476816</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-09-20 06:08:37 -0700</bug_when>
    <thetext>Created attachment 476816
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2144827</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-09-22 05:18:19 -0700</bug_when>
    <thetext>Committed 300317@main (13f7dd108d91): &lt;https://commits.webkit.org/300317@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 476816.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2144828</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-09-22 05:19:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/161088179&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476810</attachid>
            <date>2025-09-19 19:36:53 -0700</date>
            <delta_ts>2025-09-20 06:07:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-299226-20250919193653.patch</filename>
            <type>text/plain</type>
            <size>13070</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAwODUwYjliMDQwZTQ2ZDEwZWQxNDUxMjZjNTYxMDUyMzAzZTAzMDI1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IEZyaSwgMTkgU2VwIDIwMjUgMTk6Mjg6MDMgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbdGV4dCBz
aGFwaW5nXSBTaGFwZWQgY29udGVudCBtYXkgYnJlYWsgYXQgYXJiaXRyYXJ5IHBvc2l0aW9uCiBj
YXVzaW5nIGluY29ycmVjdCByZXNvbHZlZCB3aWR0aAogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTI5OTIyNgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpMZXQn
cyByZXNoYXBlIGxpbmUgY2FuZGlkYXRlIGNvbnRlbnQgd2hlbiB3ZSBuZWVkIHRvIGJyZWFrIGl0
IHVwIGF0IGFyYml0cmFyeSBwb3NpdGlvbi4KCjEuIEZpbmQgc2hhcGluZyBib3VuZGFyeSBlbmQg
YWZ0ZXIgdHJhaWxpbmcgcnVuIChpZiB0aGVyZSdzIG9uZSkKMi4gV2FsayBiYWNrIGZyb20gdHJh
aWxpbmcgcnVuIHRvIGZpbmQgYm91bmRhcnkgc3RhcnQuCjMuIFJlc2hhcGUgZnJvbSBzdGFydCB1
bnRpbCB0aGUgbGFzdCB0ZXh0IGNvbnRlbnQgKHRyYWlsaW5nIHJ1biBtYXkgYmUgaW5saW5lIGJv
eCkKKGluIHNvbWUgY2FzZXMgdGhlIHRyYWlsaW5nIGNvbnRlbnQgaXMgdGhlIHNoYXBpbmcgc3Rh
cnQgaW4gd2hpY2ggY2FzZSB3ZSBkb24ndCBoYXZlIHRvIHNoYXBlIGl0IGFueW1vcmUgLWF0IGxl
YXN0IG5vdCBpbiB0aGUgc2Vuc2Ugb2YgYWNyb3NzIGJveGVzKQoKKiBTb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5jcHA6
CihXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVu
dDo6cmVzZXQpOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmg6CihXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRl
bnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6c2V0SGFzU2hhcGVkQ29udGVudCk6CihXZWJD
b3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6aGFz
U2hhcGVkQ29udGVudCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpM
aW5lQnVpbGRlcjo6Y29sbGVjdFNoYXBlUmFuZ2VzIGNvbnN0KToKKFdlYkNvcmU6OkxheW91dDo6
TGluZUJ1aWxkZXI6OmFwcGx5U2hhcGluZ09uUnVuUmFuZ2UgY29uc3QpOgooV2ViQ29yZTo6TGF5
b3V0OjpMaW5lQnVpbGRlcjo6YXBwbHlTaGFwaW5nSWZOZWVkZWQpOgooV2ViQ29yZTo6TGF5b3V0
OjpMaW5lQnVpbGRlcjo6c2hhcGVQYXJ0aWFsTGluZUNhbmRpZGF0ZSBjb25zdCk6CihXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpoYW5kbGVJbmxpbmVDb250ZW50KToKKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJ1aWxkZXI6OmNvbW1pdENhbmRpZGF0ZUNvbnRlbnQpOgooV2ViQ29yZTo6TGF5
b3V0OjpMaW5lQnVpbGRlcjo6cHJvY2Vzc0xpbmVCcmVha2luZ1Jlc3VsdCk6CihXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCdWlsZGVyOjpjb2xsZWN0U2hhcGluZ1JhbmdlcyBjb25zdCk6IERlbGV0ZWQu
CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
TGluZUJ1aWxkZXIuaDoKLS0tCiAuLi4vaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmNwcCAg
ICAgICAgICAgfCAgMSArCiAuLi4vaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmggICAgICAg
ICAgICAgfCAgMyArCiAuLi4vaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcCAgICAgICAgICAg
ICAgfCA2OCArKysrKysrKysrKysrKysrKy0tCiAuLi4vaW5saW5lL0lubGluZUxpbmVCdWlsZGVy
LmggICAgICAgICAgICAgICAgfCAgOSArLS0KIDQgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9u
cygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50
QnJlYWtlci5jcHAKaW5kZXggMTdmNzVlYjNjNjA5Li41NGU5MmVjZGE0ZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNv
bnRlbnRCcmVha2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5jcHAKQEAgLTk4MSw2ICs5ODEsNyBA
QCB2b2lkIElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6cmVzZXQoKQog
ICAgIG1faXNGdWxseVRyaW1tYWJsZSA9IGZhbHNlOwogICAgIG1faGFzVHJhaWxpbmdXb3JkU2Vw
YXJhdG9yID0gZmFsc2U7CiAgICAgbV9oYXNUcmFpbGluZ1NvZnRIeXBoZW4gPSBmYWxzZTsKKyAg
ICBtX2hhc1NoYXBlZENvbnRlbnQgPSB0cnVlOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJl
YWtlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lQ29udGVudEJyZWFrZXIuaAppbmRleCBkOTc0MGIyNjg2ZTMuLjE0YzQ5Y2JlMjBlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lQ29udGVudEJyZWFrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5oCkBAIC05OSw2ICs5
OSw4IEBAIHB1YmxpYzoKICAgICAgICAgdm9pZCBzZXRIYW5naW5nQ29udGVudFdpZHRoKElubGlu
ZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKSB7IG1faGFuZ2luZ0NvbnRlbnRXaWR0aCA9IGxvZ2lj
YWxXaWR0aDsgfQogICAgICAgICB2b2lkIHNldFRyYWlsaW5nU29mdEh5cGhlbldpZHRoKElubGlu
ZUxheW91dFVuaXQpOwogICAgICAgICB2b2lkIHNldE1pbmltdW1SZXF1aXJlZFdpZHRoKElubGlu
ZUxheW91dFVuaXQgbWluaW11bVJlcXVpcmVkV2lkdGgpIHsgbV9taW5pbXVtUmVxdWlyZWRXaWR0
aCA9IG1pbmltdW1SZXF1aXJlZFdpZHRoOyB9CisgICAgICAgIHZvaWQgc2V0SGFzU2hhcGVkQ29u
dGVudCgpIHsgbV9oYXNTaGFwZWRDb250ZW50ID0gdHJ1ZTsgfQorICAgICAgICBib29sIGhhc1No
YXBlZENvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc1NoYXBlZENvbnRlbnQ7IH0KICAgICAg
ICAgdm9pZCByZXNldCgpOwogCiAgICAgICAgIHN0cnVjdCBSdW4gewpAQCAtMTM5LDYgKzE0MSw3
IEBAIHB1YmxpYzoKICAgICAgICAgYm9vbCBtX2lzRnVsbHlUcmltbWFibGUgeyBmYWxzZSB9Owog
ICAgICAgICBib29sIG1faGFzVHJhaWxpbmdXb3JkU2VwYXJhdG9yIHsgZmFsc2UgfTsKICAgICAg
ICAgYm9vbCBtX2hhc1RyYWlsaW5nU29mdEh5cGhlbiB7IGZhbHNlIH07CisgICAgICAgIGJvb2wg
bV9oYXNTaGFwZWRDb250ZW50IHsgZmFsc2UgfTsKICAgICB9OwogCiAgICAgc3RydWN0IExpbmVT
dGF0dXMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCmluZGV4IDkx
ZmFjYjA4Nzc2Mi4uNmU2YzJjNzVmOGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJ1aWxkZXIuY3BwCkBAIC03MDUsNyArNzA1LDcgQEAgSW5saW5lTGF5b3V0VW5pdCBMaW5lQnVp
bGRlcjo6dHJhaWxpbmdQdW5jdHVhdGlvbk9yU3RvcE9yQ29tbWFXaWR0aEZvckxpbmVDYW5kaWEK
ICAgICByZXR1cm4geyB9OwogfQogCi1WZWN0b3I8c3RkOjpwYWlyPHNpemVfdCwgc2l6ZV90Pj4g
TGluZUJ1aWxkZXI6OmNvbGxlY3RTaGFwaW5nUmFuZ2VzKGNvbnN0IExpbmVDYW5kaWRhdGUmIGxp
bmVDYW5kaWRhdGUpIGNvbnN0CitWZWN0b3I8c3RkOjpwYWlyPHNpemVfdCwgc2l6ZV90Pj4gTGlu
ZUJ1aWxkZXI6OmNvbGxlY3RTaGFwZVJhbmdlcyhjb25zdCBMaW5lQ2FuZGlkYXRlJiBsaW5lQ2Fu
ZGlkYXRlKSBjb25zdAogewogICAgIC8vIE5vcm1hbGx5IGNhbmRpZGF0ZSBjb250ZW50IGlzIGlu
bGluZSBpdGVtcyBiZXR3ZWVuIDIgc29mdCB3cmFwaW5nIG9wcG9ydHVuaXRpZXMgZS5nLgogICAg
IC8vIDxkaXY+c29tZSB0ZXh0PHNwYW4+bW9yZSB0ZXh0PC9zcGFuPjwvZGl2PgpAQCAtODg3LDYg
Kzg4Nyw3IEBAIHZvaWQgTGluZUJ1aWxkZXI6OmFwcGx5U2hhcGluZ09uUnVuUmFuZ2UoTGluZUNh
bmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgc3RkOjpwYWlyCiAgICAgICAgIHNoYXBlZENvbnRlbnRX
aWR0aCArPSBydW5XaWR0aDsKICAgICB9CiAgICAgaW5saW5lQ29udGVudC5jb250aW51b3VzQ29u
dGVudCgpLmFkanVzdExvZ2ljYWxXaWR0aChzaGFwZWRDb250ZW50V2lkdGgpOworICAgIGlubGlu
ZUNvbnRlbnQuY29udGludW91c0NvbnRlbnQoKS5zZXRIYXNTaGFwZWRDb250ZW50KCk7CiB9CiAK
IHZvaWQgTGluZUJ1aWxkZXI6OmFwcGx5U2hhcGluZ0lmTmVlZGVkKExpbmVDYW5kaWRhdGUmIGxp
bmVDYW5kaWRhdGUpCkBAIC04OTcsMTAgKzg5OCw2NCBAQCB2b2lkIExpbmVCdWlsZGVyOjphcHBs
eVNoYXBpbmdJZk5lZWRlZChMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlKQogICAgIGlmICgh
bGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmlzU2hhcGluZ0NhbmRpZGF0ZUJ5Q29udGVudCgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBmb3IgKGF1dG8gcmFuZ2UgOiBjb2xsZWN0U2hhcGlu
Z1JhbmdlcyhsaW5lQ2FuZGlkYXRlKSkKKyAgICBmb3IgKGF1dG8gcmFuZ2UgOiBjb2xsZWN0U2hh
cGVSYW5nZXMobGluZUNhbmRpZGF0ZSkpCiAgICAgICAgIGFwcGx5U2hhcGluZ09uUnVuUmFuZ2Uo
bGluZUNhbmRpZGF0ZSwgcmFuZ2UpOwogfQogCit2b2lkIExpbmVCdWlsZGVyOjpzaGFwZVBhcnRp
YWxMaW5lQ2FuZGlkYXRlKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCB0cmFp
bGluZ1J1bkluZGV4KSBjb25zdAoreworICAgIGlmICghdHJhaWxpbmdSdW5JbmRleCkgeworICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lQ2FuZGlkYXRlLmlubGluZUNvbnRlbnQ7CisgICAg
YXV0byYgcnVucyA9IGlubGluZUNvbnRlbnQuY29udGludW91c0NvbnRlbnQoKS5ydW5zKCk7CisK
KyAgICBpZiAodHJhaWxpbmdSdW5JbmRleCA+PSBydW5zLnNpemUoKSkgeworICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIEZpbmQg
dGhlIHNoYXBpbmcgYm91bmRhcnkgZW5kIHRvIHNlZSBpZiB3ZSBuZWVkIHRvIHJlc2hhcGUgdGhl
IGNhbmRpZGF0ZSB0ZXh0LgorICAgIGZvciAoYXV0byBpbmRleCA9IHRyYWlsaW5nUnVuSW5kZXgg
KyAxOyBpbmRleCA8IHJ1bnMuc2l6ZSgpOyArK2luZGV4KSB7CisgICAgICAgIGF1dG8gc2hhcGlu
Z0JvdW5kYXJ5ID0gcnVuc1tpbmRleF0uc2hhcGluZ0JvdW5kYXJ5OworICAgICAgICBpZiAoIXNo
YXBpbmdCb3VuZGFyeSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoKnNoYXBp
bmdCb3VuZGFyeSA9PSBJbmxpbmVDb250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OlJ1
bjo6U2hhcGluZ0JvdW5kYXJ5OjpTdGFydCkgeworICAgICAgICAgICAgLy8gVHJhaWxpbmcgY29u
dGVudCBpcyBhIG5ldyBzaGFwaW5nIGJvdW5kYXJ5LCBubyBuZWVkIHRvIHJlc2hhcGUgbGVhZGlu
ZyBjb250ZW50LgorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIEFTU0VS
VCgqc2hhcGluZ0JvdW5kYXJ5ID09IElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29u
dGVudDo6UnVuOjpTaGFwaW5nQm91bmRhcnk6OkVuZCk7CisgICAgICAgIGF1dG8gZW5kUG9zaXRp
b24gPSBzdGQ6Om9wdGlvbmFsPHNpemVfdD4geyB9OworICAgICAgICBmb3IgKGF1dG8gaSA9IHRy
YWlsaW5nUnVuSW5kZXggKyAxOyBpLS07KSB7CisgICAgICAgICAgICBhdXRvJiBydW4gPSBydW5z
W2ldOworICAgICAgICAgICAgaWYgKCFlbmRQb3NpdGlvbiAmJiBydW4uaW5saW5lSXRlbS5pc1Rl
eHQoKSkKKyAgICAgICAgICAgICAgICBlbmRQb3NpdGlvbiA9IGk7CisKKyAgICAgICAgICAgIGF1
dG8gc2hhcGluZ0JvdW5kYXJ5ID0gcnVuLnNoYXBpbmdCb3VuZGFyeTsKKyAgICAgICAgICAgIGlm
IChzaGFwaW5nQm91bmRhcnkgJiYgKnNoYXBpbmdCb3VuZGFyeSA9PSBJbmxpbmVDb250ZW50QnJl
YWtlcjo6Q29udGludW91c0NvbnRlbnQ6OlJ1bjo6U2hhcGluZ0JvdW5kYXJ5OjpTdGFydCkgewor
ICAgICAgICAgICAgICAgIGlmICghZW5kUG9zaXRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKCplbmRQb3NpdGlvbiA9PSBpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIC8vIE5vIHNoYXBpbmcgaXMgbmVlZGVkIHdoZW4gY29udGVudCBk
b2VzIG5vdCBjcm9zcyBtdWx0aXBsZSBib3hlcy4KKyAgICAgICAgICAgICAgICAgICAgcnVuLnNo
YXBpbmdCb3VuZGFyeSA9IHsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGkgPCB0cmFpbGlu
Z1J1bkluZGV4KQorICAgICAgICAgICAgICAgICAgICAgICAgcnVuLmFkanVzdENvbnRlbnRXaWR0
aChmb3JtYXR0aW5nQ29udGV4dCgpLmZvcm1hdHRpbmdVdGlscygpLmlubGluZUl0ZW1XaWR0aChy
dW4uaW5saW5lSXRlbSwgeyB9LCBpc0ZpcnN0Rm9ybWF0dGVkTGluZUNhbmRpZGF0ZSgpKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICBhcHBseVNoYXBpbmdPblJ1blJhbmdlKGxpbmVDYW5kaWRhdGUsIHsgaSwgKmVuZFBv
c2l0aW9uIH0pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICAvLyBXZSBzaG91bGQgYWx3YXlzIGZpbmQgYSBzdGFydCB3aGVuIHRoZXJl
J3MgYW4gZW5kLgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9Cit9CisKIHZv
aWQgTGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxp
bmVDYW5kaWRhdGUsIHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4gc3RhcnRFbmRJbmRleCwgY29u
c3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgSW5saW5lTGF5b3V0VW5pdCBjdXJyZW50
TG9naWNhbFJpZ2h0LCBTa2lwRmxvYXRzIHNraXBGbG9hdHMpCiB7CiAgICAgQVNTRVJUKHN0YXJ0
RW5kSW5kZXguZmlyc3QgPCBsYXlvdXRSYW5nZS5lbmRJbmRleCgpKTsKQEAgLTEyNjIsNyArMTMx
Nyw3IEBAIGJvb2wgTGluZUJ1aWxkZXI6OnRyeVBsYWNpbmdGbG9hdEJveChjb25zdCBCb3gmIGZs
b2F0Qm94LCBNYXlPdmVyQ29uc3RyYWluTGluZSBtCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUxp
bmVCdWlsZGVyOjpSZXN1bHQgTGluZUJ1aWxkZXI6OmhhbmRsZUlubGluZUNvbnRlbnQoY29uc3Qg
SW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgY29uc3QgTGluZUNhbmRpZGF0ZSYgbGluZUNh
bmRpZGF0ZSkKK0xpbmVCdWlsZGVyOjpSZXN1bHQgTGluZUJ1aWxkZXI6OmhhbmRsZUlubGluZUNv
bnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgTGluZUNhbmRpZGF0ZSYg
bGluZUNhbmRpZGF0ZSkKIHsKICAgICBhdXRvIHJlc3VsdCA9IExpbmVCdWlsZGVyOjpSZXN1bHQg
eyB9OwogICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lQ2FuZGlkYXRlLmlubGluZUNvbnRl
bnQ7CkBAIC0xNDQwLDcgKzE0OTUsNyBAQCBJbmxpbmVDb250ZW50QnJlYWtlcjo6UmVzdWx0IExp
bmVCdWlsZGVyOjpoYW5kbGVJbmxpbmVDb250ZW50V2l0aENsb25lZERlY29yYXRpbwogICAgIHJl
dHVybiBpbmxpbmVDb250ZW50QnJlYWtlcigpLnByb2Nlc3NJbmxpbmVDb250ZW50KGNvbnRpbnVv
dXNJbmxpbmVDb250ZW50LCBsaW5lU3RhdHVzKTsKIH0KIAotdm9pZCBMaW5lQnVpbGRlcjo6Y29t
bWl0Q2FuZGlkYXRlQ29udGVudChjb25zdCBMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBz
dGQ6Om9wdGlvbmFsPElubGluZUNvbnRlbnRCcmVha2VyOjpSZXN1bHQ6OlBhcnRpYWxUcmFpbGlu
Z0NvbnRlbnQ+IHBhcnRpYWxUcmFpbGluZ0NvbnRlbnQpCit2b2lkIExpbmVCdWlsZGVyOjpjb21t
aXRDYW5kaWRhdGVDb250ZW50KExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHN0ZDo6b3B0
aW9uYWw8SW5saW5lQ29udGVudEJyZWFrZXI6OlJlc3VsdDo6UGFydGlhbFRyYWlsaW5nQ29udGVu
dD4gcGFydGlhbFRyYWlsaW5nQ29udGVudCkKIHsKICAgICBhdXRvJiBpbmxpbmVDb250ZW50ID0g
bGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50OwogICAgIGF1dG8mIHJ1bnMgPSBpbmxpbmVDb250
ZW50LmNvbnRpbnVvdXNDb250ZW50KCkucnVucygpOwpAQCAtMTUyMSw2ICsxNTc2LDkgQEAgdm9p
ZCBMaW5lQnVpbGRlcjo6Y29tbWl0Q2FuZGlkYXRlQ29udGVudChjb25zdCBMaW5lQ2FuZGlkYXRl
JiBsaW5lQ2FuZGlkYXRlLCBzdGQKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
fTsKIAorICAgIGlmIChwYXJ0aWFsVHJhaWxpbmdDb250ZW50ICYmIGlubGluZUNvbnRlbnQuY29u
dGludW91c0NvbnRlbnQoKS5oYXNTaGFwZWRDb250ZW50KCkpCisgICAgICAgIHNoYXBlUGFydGlh
bExpbmVDYW5kaWRhdGUobGluZUNhbmRpZGF0ZSwgcGFydGlhbFRyYWlsaW5nQ29udGVudC0+dHJh
aWxpbmdSdW5JbmRleCk7CisKICAgICBBU1NFUlQoIXBhcnRpYWxUcmFpbGluZ0NvbnRlbnQgfHwg
cGFydGlhbFRyYWlsaW5nQ29udGVudC0+dHJhaWxpbmdSdW5JbmRleCA8PSBydW5zLnNpemUoKSk7
CiAgICAgYXV0byBlbmRPZk5vblBhcnRpYWxDb250ZW50ID0gKHBhcnRpYWxUcmFpbGluZ0NvbnRl
bnQgPyBzdGQ6Om1pbihwYXJ0aWFsVHJhaWxpbmdDb250ZW50LT50cmFpbGluZ1J1bkluZGV4LCBy
dW5zLnNpemUoKSkgOiBydW5zLnNpemUoKSk7CiAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBp
bmRleCA8IGVuZE9mTm9uUGFydGlhbENvbnRlbnQ7ICsraW5kZXgpCkBAIC0xNTUzLDcgKzE2MTEs
NyBAQCB2b2lkIExpbmVCdWlsZGVyOjpjb21taXRDYW5kaWRhdGVDb250ZW50KGNvbnN0IExpbmVD
YW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHN0ZAogICAgIH0KIH0KIAotTGluZUJ1aWxkZXI6OlJl
c3VsdCBMaW5lQnVpbGRlcjo6cHJvY2Vzc0xpbmVCcmVha2luZ1Jlc3VsdChjb25zdCBMaW5lQ2Fu
ZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdl
LCBjb25zdCBJbmxpbmVDb250ZW50QnJlYWtlcjo6UmVzdWx0JiBsaW5lQnJlYWtpbmdSZXN1bHQp
CitMaW5lQnVpbGRlcjo6UmVzdWx0IExpbmVCdWlsZGVyOjpwcm9jZXNzTGluZUJyZWFraW5nUmVz
dWx0KExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYg
bGF5b3V0UmFuZ2UsIGNvbnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpSZXN1bHQmIGxpbmVCcmVh
a2luZ1Jlc3VsdCkKIHsKICAgICBhdXRvJiBjYW5kaWRhdGVSdW5zID0gbGluZUNhbmRpZGF0ZS5p
bmxpbmVDb250ZW50LmNvbnRpbnVvdXNDb250ZW50KCkucnVucygpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5l
QnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lTGluZUJ1aWxkZXIuaAppbmRleCBmZDQ3YTUyMzJmYmIuLjZkZWM2Zjc2YmFlYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lTGluZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oCkBAIC00NSw4ICs0NSw5IEBA
IHByaXZhdGU6CiAgICAgZW51bSBjbGFzcyBTa2lwRmxvYXRzIDogYm9vbCB7IE5vLCBZZXMgfTsK
ICAgICB2b2lkIGNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmLCBzdGQ6OnBh
aXI8c2l6ZV90LCBzaXplX3Q+IHN0YXJ0RW5kSW5kZXgsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYg
bmVlZHNMYXlvdXRSYW5nZSwgSW5saW5lTGF5b3V0VW5pdCBjdXJyZW50TG9naWNhbFJpZ2h0LCBT
a2lwRmxvYXRzID0gU2tpcEZsb2F0czo6Tm8pOwogICAgIHZvaWQgYXBwbHlTaGFwaW5nSWZOZWVk
ZWQoTGluZUNhbmRpZGF0ZSYpOwotICAgIFZlY3RvcjxzdGQ6OnBhaXI8c2l6ZV90LCBzaXplX3Q+
PiBjb2xsZWN0U2hhcGluZ1Jhbmdlcyhjb25zdCBMaW5lQ2FuZGlkYXRlJikgY29uc3Q7CisgICAg
VmVjdG9yPHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4+IGNvbGxlY3RTaGFwZVJhbmdlcyhjb25z
dCBMaW5lQ2FuZGlkYXRlJikgY29uc3Q7CiAgICAgdm9pZCBhcHBseVNoYXBpbmdPblJ1blJhbmdl
KExpbmVDYW5kaWRhdGUmLCBzdGQ6OnBhaXI8c2l6ZV90LCBzaXplX3Q+IHJhbmdlKSBjb25zdDsK
KyAgICB2b2lkIHNoYXBlUGFydGlhbExpbmVDYW5kaWRhdGUoTGluZUNhbmRpZGF0ZSYsIHNpemVf
dCB0cmFpbGluZ1J1bkluZGV4KSBjb25zdDsKICAgICBJbmxpbmVMYXlvdXRVbml0IGxlYWRpbmdQ
dW5jdHVhdGlvbldpZHRoRm9yTGluZUNhbmRpYXRlKGNvbnN0IExpbmVDYW5kaWRhdGUmKSBjb25z
dDsKICAgICBJbmxpbmVMYXlvdXRVbml0IHRyYWlsaW5nUHVuY3R1YXRpb25PclN0b3BPckNvbW1h
V2lkdGhGb3JMaW5lQ2FuZGlhdGUoY29uc3QgTGluZUNhbmRpZGF0ZSYsIHNpemVfdCBzdGFydElu
ZGV4QWZ0ZXJDYW5kaWRhdGVDb250ZW50LCAgc2l6ZV90IGxheW91dFJhbmdlRW5kKSBjb25zdDsK
IApAQCAtNjIsMTUgKzYzLDE1IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICBlbnVtIE1heU92ZXJD
b25zdHJhaW5MaW5lIDogdWludDhfdCB7IE5vLCBZZXMsIE9ubHlXaGVuRmlyc3RGbG9hdE9uTGlu
ZSB9OwogICAgIGJvb2wgdHJ5UGxhY2luZ0Zsb2F0Qm94KGNvbnN0IEJveCYsIE1heU92ZXJDb25z
dHJhaW5MaW5lKTsKLSAgICBSZXN1bHQgaGFuZGxlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJ
dGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IExpbmVDYW5kaWRhdGUmKTsKLSAgICBS
ZXN1bHQgcHJvY2Vzc0xpbmVCcmVha2luZ1Jlc3VsdChjb25zdCBMaW5lQ2FuZGlkYXRlJiwgY29u
c3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgY29uc3QgSW5saW5lQ29udGVudEJyZWFr
ZXI6OlJlc3VsdCYpOworICAgIFJlc3VsdCBoYW5kbGVJbmxpbmVDb250ZW50KGNvbnN0IElubGlu
ZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgTGluZUNhbmRpZGF0ZSYpOworICAgIFJlc3Vs
dCBwcm9jZXNzTGluZUJyZWFraW5nUmVzdWx0KExpbmVDYW5kaWRhdGUmLCBjb25zdCBJbmxpbmVJ
dGVtUmFuZ2UmIGxheW91dFJhbmdlLCBjb25zdCBJbmxpbmVDb250ZW50QnJlYWtlcjo6UmVzdWx0
Jik7CiAgICAgc3RydWN0IFJlY3RBbmRGbG9hdENvbnN0cmFpbnRzIHsKICAgICAgICAgSW5saW5l
UmVjdCBsb2dpY2FsUmVjdDsKICAgICAgICAgT3B0aW9uU2V0PFVzZWRGbG9hdD4gY29uc3RyYWlu
ZWRTaWRlU2V0IHsgfTsKICAgICB9OwogICAgIFJlY3RBbmRGbG9hdENvbnN0cmFpbnRzIGZsb2F0
QXZvaWRpbmdSZWN0KGNvbnN0IElubGluZVJlY3QmIGxpbmVMb2dpY2FsUmVjdCwgSW5saW5lTGF5
b3V0VW5pdCBsaW5lTWFyZ2luU3RhcnQpIGNvbnN0OwogICAgIFJlY3RBbmRGbG9hdENvbnN0cmFp
bnRzIGFkanVzdGVkTGluZVJlY3RXaXRoQ2FuZGlkYXRlSW5saW5lQ29udGVudChjb25zdCBMaW5l
Q2FuZGlkYXRlJikgY29uc3Q7Ci0gICAgdm9pZCBjb21taXRDYW5kaWRhdGVDb250ZW50KGNvbnN0
IExpbmVDYW5kaWRhdGUmLCBzdGQ6Om9wdGlvbmFsPElubGluZUNvbnRlbnRCcmVha2VyOjpSZXN1
bHQ6OlBhcnRpYWxUcmFpbGluZ0NvbnRlbnQ+KTsKKyAgICB2b2lkIGNvbW1pdENhbmRpZGF0ZUNv
bnRlbnQoTGluZUNhbmRpZGF0ZSYsIHN0ZDo6b3B0aW9uYWw8SW5saW5lQ29udGVudEJyZWFrZXI6
OlJlc3VsdDo6UGFydGlhbFRyYWlsaW5nQ29udGVudD4pOwogICAgIHNpemVfdCByZWJ1aWxkTGlu
ZVdpdGhJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5n
ZSwgY29uc3QgSW5saW5lSXRlbSYgbGFzdElubGluZUl0ZW1Ub0FkZCk7CiAgICAgc2l6ZV90IHJl
YnVpbGRMaW5lRm9yVHJhaWxpbmdTb2Z0SHlwaGVuKGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5
b3V0UmFuZ2UpOwogICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBJbmxpbmVSZWN0JiBpbml0aWFs
TGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2Us
IGNvbnN0IHN0ZDo6b3B0aW9uYWw8UHJldmlvdXNMaW5lPiYsIGJvb2wgaXNGaXJzdEZvcm1hdHRl
ZExpbmVDYW5kaWRhdGUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476816</attachid>
            <date>2025-09-20 06:08:37 -0700</date>
            <delta_ts>2025-09-22 05:18:21 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-299226-20250920060837.patch</filename>
            <type>text/plain</type>
            <size>12984</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBkY2JkYTZhMjk4YjZlZTViNmRlOTg4NTkyZGNhOTlhNGFmZDlmMDU0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IEZyaSwgMTkgU2VwIDIwMjUgMTk6Mjg6MDMgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbdGV4dCBz
aGFwaW5nXSBTaGFwZWQgY29udGVudCBtYXkgYnJlYWsgYXQgYXJiaXRyYXJ5IHBvc2l0aW9uCiBj
YXVzaW5nIGluY29ycmVjdCByZXNvbHZlZCB3aWR0aAogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTI5OTIyNgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpMZXQn
cyByZXNoYXBlIGxpbmUgY2FuZGlkYXRlIGNvbnRlbnQgd2hlbiB3ZSBuZWVkIHRvIGJyZWFrIGl0
IHVwIGF0IGFyYml0cmFyeSBwb3NpdGlvbi4KCjEuIEZpbmQgc2hhcGluZyBib3VuZGFyeSBlbmQg
YWZ0ZXIgdHJhaWxpbmcgcnVuIChpZiB0aGVyZSdzIG9uZSkKMi4gV2FsayBiYWNrIGZyb20gdHJh
aWxpbmcgcnVuIHRvIGZpbmQgYm91bmRhcnkgc3RhcnQuCjMuIFJlc2hhcGUgZnJvbSBzdGFydCB1
bnRpbCB0aGUgbGFzdCB0ZXh0IGNvbnRlbnQgKHRyYWlsaW5nIHJ1biBtYXkgYmUgaW5saW5lIGJv
eCkKKGluIHNvbWUgY2FzZXMgdGhlIHRyYWlsaW5nIGNvbnRlbnQgaXMgdGhlIHNoYXBpbmcgc3Rh
cnQgaW4gd2hpY2ggY2FzZSB3ZSBkb24ndCBoYXZlIHRvIHNoYXBlIGl0IGFueW1vcmUgLWF0IGxl
YXN0IG5vdCBpbiB0aGUgc2Vuc2Ugb2YgYWNyb3NzIGJveGVzKQoKKiBTb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5jcHA6
CihXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVu
dDo6cmVzZXQpOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmg6CihXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRl
bnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6c2V0SGFzU2hhcGVkQ29udGVudCk6CihXZWJD
b3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6aGFz
U2hhcGVkQ29udGVudCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpM
aW5lQnVpbGRlcjo6Y29sbGVjdFNoYXBlUmFuZ2VzIGNvbnN0KToKKFdlYkNvcmU6OkxheW91dDo6
TGluZUJ1aWxkZXI6OmFwcGx5U2hhcGluZ09uUnVuUmFuZ2UgY29uc3QpOgooV2ViQ29yZTo6TGF5
b3V0OjpMaW5lQnVpbGRlcjo6YXBwbHlTaGFwaW5nSWZOZWVkZWQpOgooV2ViQ29yZTo6TGF5b3V0
OjpMaW5lQnVpbGRlcjo6c2hhcGVQYXJ0aWFsTGluZUNhbmRpZGF0ZSBjb25zdCk6CihXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpoYW5kbGVJbmxpbmVDb250ZW50KToKKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJ1aWxkZXI6OmNvbW1pdENhbmRpZGF0ZUNvbnRlbnQpOgooV2ViQ29yZTo6TGF5
b3V0OjpMaW5lQnVpbGRlcjo6cHJvY2Vzc0xpbmVCcmVha2luZ1Jlc3VsdCk6CihXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCdWlsZGVyOjpjb2xsZWN0U2hhcGluZ1JhbmdlcyBjb25zdCk6IERlbGV0ZWQu
CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
TGluZUJ1aWxkZXIuaDoKLS0tCiAuLi4vaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmNwcCAg
ICAgICAgICAgfCAgMSArCiAuLi4vaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmggICAgICAg
ICAgICAgfCAgMyArCiAuLi4vaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcCAgICAgICAgICAg
ICAgfCA2MyArKysrKysrKysrKysrKysrKy0tCiAuLi4vaW5saW5lL0lubGluZUxpbmVCdWlsZGVy
LmggICAgICAgICAgICAgICAgfCAgOSArLS0KIDQgZmlsZXMgY2hhbmdlZCwgNjcgaW5zZXJ0aW9u
cygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50
QnJlYWtlci5jcHAKaW5kZXggMTdmNzVlYjNjNjA5Li5iNTE2ZGYzNjc2OGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNv
bnRlbnRCcmVha2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5jcHAKQEAgLTk4MSw2ICs5ODEsNyBA
QCB2b2lkIElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6cmVzZXQoKQog
ICAgIG1faXNGdWxseVRyaW1tYWJsZSA9IGZhbHNlOwogICAgIG1faGFzVHJhaWxpbmdXb3JkU2Vw
YXJhdG9yID0gZmFsc2U7CiAgICAgbV9oYXNUcmFpbGluZ1NvZnRIeXBoZW4gPSBmYWxzZTsKKyAg
ICBtX2hhc1NoYXBlZENvbnRlbnQgPSBmYWxzZTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVudEJy
ZWFrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUNvbnRlbnRCcmVha2VyLmgKaW5kZXggZDk3NDBiMjY4NmUzLi4xNGM0OWNiZTIwZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVudEJyZWFrZXIuaApAQCAtOTksNiAr
OTksOCBAQCBwdWJsaWM6CiAgICAgICAgIHZvaWQgc2V0SGFuZ2luZ0NvbnRlbnRXaWR0aChJbmxp
bmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkgeyBtX2hhbmdpbmdDb250ZW50V2lkdGggPSBsb2dp
Y2FsV2lkdGg7IH0KICAgICAgICAgdm9pZCBzZXRUcmFpbGluZ1NvZnRIeXBoZW5XaWR0aChJbmxp
bmVMYXlvdXRVbml0KTsKICAgICAgICAgdm9pZCBzZXRNaW5pbXVtUmVxdWlyZWRXaWR0aChJbmxp
bmVMYXlvdXRVbml0IG1pbmltdW1SZXF1aXJlZFdpZHRoKSB7IG1fbWluaW11bVJlcXVpcmVkV2lk
dGggPSBtaW5pbXVtUmVxdWlyZWRXaWR0aDsgfQorICAgICAgICB2b2lkIHNldEhhc1NoYXBlZENv
bnRlbnQoKSB7IG1faGFzU2hhcGVkQ29udGVudCA9IHRydWU7IH0KKyAgICAgICAgYm9vbCBoYXNT
aGFwZWRDb250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNTaGFwZWRDb250ZW50OyB9CiAgICAg
ICAgIHZvaWQgcmVzZXQoKTsKIAogICAgICAgICBzdHJ1Y3QgUnVuIHsKQEAgLTEzOSw2ICsxNDEs
NyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgbV9pc0Z1bGx5VHJpbW1hYmxlIHsgZmFsc2UgfTsK
ICAgICAgICAgYm9vbCBtX2hhc1RyYWlsaW5nV29yZFNlcGFyYXRvciB7IGZhbHNlIH07CiAgICAg
ICAgIGJvb2wgbV9oYXNUcmFpbGluZ1NvZnRIeXBoZW4geyBmYWxzZSB9OworICAgICAgICBib29s
IG1faGFzU2hhcGVkQ29udGVudCB7IGZhbHNlIH07CiAgICAgfTsKIAogICAgIHN0cnVjdCBMaW5l
U3RhdHVzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCA5
MWZhY2IwODc3NjIuLmRkMDI4OThlN2Y2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxp
bmVCdWlsZGVyLmNwcApAQCAtNzA1LDcgKzcwNSw3IEBAIElubGluZUxheW91dFVuaXQgTGluZUJ1
aWxkZXI6OnRyYWlsaW5nUHVuY3R1YXRpb25PclN0b3BPckNvbW1hV2lkdGhGb3JMaW5lQ2FuZGlh
CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotVmVjdG9yPHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4+
IExpbmVCdWlsZGVyOjpjb2xsZWN0U2hhcGluZ1Jhbmdlcyhjb25zdCBMaW5lQ2FuZGlkYXRlJiBs
aW5lQ2FuZGlkYXRlKSBjb25zdAorVmVjdG9yPHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4+IExp
bmVCdWlsZGVyOjpjb2xsZWN0U2hhcGVSYW5nZXMoY29uc3QgTGluZUNhbmRpZGF0ZSYgbGluZUNh
bmRpZGF0ZSkgY29uc3QKIHsKICAgICAvLyBOb3JtYWxseSBjYW5kaWRhdGUgY29udGVudCBpcyBp
bmxpbmUgaXRlbXMgYmV0d2VlbiAyIHNvZnQgd3JhcGluZyBvcHBvcnR1bml0aWVzIGUuZy4KICAg
ICAvLyA8ZGl2PnNvbWUgdGV4dDxzcGFuPm1vcmUgdGV4dDwvc3Bhbj48L2Rpdj4KQEAgLTg4Nyw2
ICs4ODcsNyBAQCB2b2lkIExpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdPblJ1blJhbmdlKExpbmVD
YW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHN0ZDo6cGFpcgogICAgICAgICBzaGFwZWRDb250ZW50
V2lkdGggKz0gcnVuV2lkdGg7CiAgICAgfQogICAgIGlubGluZUNvbnRlbnQuY29udGludW91c0Nv
bnRlbnQoKS5hZGp1c3RMb2dpY2FsV2lkdGgoc2hhcGVkQ29udGVudFdpZHRoKTsKKyAgICBpbmxp
bmVDb250ZW50LmNvbnRpbnVvdXNDb250ZW50KCkuc2V0SGFzU2hhcGVkQ29udGVudCgpOwogfQog
CiB2b2lkIExpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdJZk5lZWRlZChMaW5lQ2FuZGlkYXRlJiBs
aW5lQ2FuZGlkYXRlKQpAQCAtODk3LDEwICs4OTgsNTkgQEAgdm9pZCBMaW5lQnVpbGRlcjo6YXBw
bHlTaGFwaW5nSWZOZWVkZWQoTGluZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSkKICAgICBpZiAo
IWxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5pc1NoYXBpbmdDYW5kaWRhdGVCeUNvbnRlbnQo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9yIChhdXRvIHJhbmdlIDogY29sbGVjdFNoYXBp
bmdSYW5nZXMobGluZUNhbmRpZGF0ZSkpCisgICAgZm9yIChhdXRvIHJhbmdlIDogY29sbGVjdFNo
YXBlUmFuZ2VzKGxpbmVDYW5kaWRhdGUpKQogICAgICAgICBhcHBseVNoYXBpbmdPblJ1blJhbmdl
KGxpbmVDYW5kaWRhdGUsIHJhbmdlKTsKIH0KIAordm9pZCBMaW5lQnVpbGRlcjo6c2hhcGVQYXJ0
aWFsTGluZUNhbmRpZGF0ZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzaXplX3QgdHJh
aWxpbmdSdW5JbmRleCkgY29uc3QKK3sKKyAgICBhdXRvJiBpbmxpbmVDb250ZW50ID0gbGluZUNh
bmRpZGF0ZS5pbmxpbmVDb250ZW50OworICAgIGF1dG8mIHJ1bnMgPSBpbmxpbmVDb250ZW50LmNv
bnRpbnVvdXNDb250ZW50KCkucnVucygpOworCisgICAgaWYgKHRyYWlsaW5nUnVuSW5kZXggPj0g
cnVucy5zaXplKCkpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICAvLyBGaW5kIHRoZSBzaGFwaW5nIGJvdW5kYXJ5IGVuZCB0byBz
ZWUgaWYgd2UgbmVlZCB0byByZXNoYXBlIHRoZSBjYW5kaWRhdGUgdGV4dC4KKyAgICBmb3IgKGF1
dG8gaW5kZXggPSB0cmFpbGluZ1J1bkluZGV4ICsgMTsgaW5kZXggPCBydW5zLnNpemUoKTsgKytp
bmRleCkgeworICAgICAgICBhdXRvIHNoYXBpbmdCb3VuZGFyeSA9IHJ1bnNbaW5kZXhdLnNoYXBp
bmdCb3VuZGFyeTsKKyAgICAgICAgaWYgKCFzaGFwaW5nQm91bmRhcnkpCisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgaWYgKCpzaGFwaW5nQm91bmRhcnkgPT0gSW5saW5lQ29udGVudEJy
ZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpSdW46OlNoYXBpbmdCb3VuZGFyeTo6U3RhcnQpIHsK
KyAgICAgICAgICAgIC8vIFRyYWlsaW5nIGNvbnRlbnQgaXMgYSBuZXcgc2hhcGluZyBib3VuZGFy
eSwgbm8gbmVlZCB0byByZXNoYXBlIGxlYWRpbmcgY29udGVudC4KKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgICAgICBBU1NFUlQoKnNoYXBpbmdCb3VuZGFyeSA9PSBJbmxpbmVD
b250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OlJ1bjo6U2hhcGluZ0JvdW5kYXJ5OjpF
bmQpOworICAgICAgICBhdXRvIGVuZFBvc2l0aW9uID0gc3RkOjpvcHRpb25hbDxzaXplX3Q+IHsg
fTsKKyAgICAgICAgZm9yIChhdXRvIGkgPSB0cmFpbGluZ1J1bkluZGV4ICsgMTsgaS0tOykgewor
ICAgICAgICAgICAgYXV0byYgcnVuID0gcnVuc1tpXTsKKyAgICAgICAgICAgIGlmICghZW5kUG9z
aXRpb24gJiYgcnVuLmlubGluZUl0ZW0uaXNUZXh0KCkpCisgICAgICAgICAgICAgICAgZW5kUG9z
aXRpb24gPSBpOworCisgICAgICAgICAgICBhdXRvIHNoYXBpbmdCb3VuZGFyeSA9IHJ1bi5zaGFw
aW5nQm91bmRhcnk7CisgICAgICAgICAgICBpZiAoc2hhcGluZ0JvdW5kYXJ5ICYmICpzaGFwaW5n
Qm91bmRhcnkgPT0gSW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpSdW46
OlNoYXBpbmdCb3VuZGFyeTo6U3RhcnQpIHsKKyAgICAgICAgICAgICAgICBpZiAoIWVuZFBvc2l0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGlmICgqZW5kUG9zaXRpb24gPT0gaSkgeworICAgICAgICAgICAgICAgICAgICAvLyBObyBzaGFw
aW5nIGlzIG5lZWRlZCB3aGVuIGNvbnRlbnQgZG9lcyBub3QgY3Jvc3MgbXVsdGlwbGUgYm94ZXMu
CisgICAgICAgICAgICAgICAgICAgIHJ1bi5zaGFwaW5nQm91bmRhcnkgPSB7IH07CisgICAgICAg
ICAgICAgICAgICAgIGlmIChpIDwgdHJhaWxpbmdSdW5JbmRleCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJ1bi5hZGp1c3RDb250ZW50V2lkdGgoZm9ybWF0dGluZ0NvbnRleHQoKS5mb3JtYXR0
aW5nVXRpbHMoKS5pbmxpbmVJdGVtV2lkdGgocnVuLmlubGluZUl0ZW0sIHsgfSwgaXNGaXJzdEZv
cm1hdHRlZExpbmVDYW5kaWRhdGUoKSkpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgYXBwbHlTaGFwaW5nT25SdW5SYW5n
ZShsaW5lQ2FuZGlkYXRlLCB7IGksICplbmRQb3NpdGlvbiB9KTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgLy8gV2Ugc2hvdWxkIGFs
d2F5cyBmaW5kIGEgc3RhcnQgd2hlbiB0aGVyZSdzIGFuIGVuZC4KKyAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgfQorfQorCiB2b2lkIExpbmVCdWlsZGVyOjpjYW5kaWRhdGVDb250
ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzdGQ6OnBhaXI8c2l6ZV90
LCBzaXplX3Q+IHN0YXJ0RW5kSW5kZXgsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5b3V0UmFu
Z2UsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCwgU2tpcEZsb2F0cyBza2lw
RmxvYXRzKQogewogICAgIEFTU0VSVChzdGFydEVuZEluZGV4LmZpcnN0IDwgbGF5b3V0UmFuZ2Uu
ZW5kSW5kZXgoKSk7CkBAIC0xMjYyLDcgKzEzMTIsNyBAQCBib29sIExpbmVCdWlsZGVyOjp0cnlQ
bGFjaW5nRmxvYXRCb3goY29uc3QgQm94JiBmbG9hdEJveCwgTWF5T3ZlckNvbnN0cmFpbkxpbmUg
bQogICAgIHJldHVybiB0cnVlOwogfQogCi1MaW5lQnVpbGRlcjo6UmVzdWx0IExpbmVCdWlsZGVy
OjpoYW5kbGVJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5b3V0UmFuZ2Us
IGNvbnN0IExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUpCitMaW5lQnVpbGRlcjo6UmVzdWx0
IExpbmVCdWlsZGVyOjpoYW5kbGVJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYg
bGF5b3V0UmFuZ2UsIExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUpCiB7CiAgICAgYXV0byBy
ZXN1bHQgPSBMaW5lQnVpbGRlcjo6UmVzdWx0IHsgfTsKICAgICBhdXRvJiBpbmxpbmVDb250ZW50
ID0gbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50OwpAQCAtMTQ0MCw3ICsxNDkwLDcgQEAgSW5s
aW5lQ29udGVudEJyZWFrZXI6OlJlc3VsdCBMaW5lQnVpbGRlcjo6aGFuZGxlSW5saW5lQ29udGVu
dFdpdGhDbG9uZWREZWNvcmF0aW8KICAgICByZXR1cm4gaW5saW5lQ29udGVudEJyZWFrZXIoKS5w
cm9jZXNzSW5saW5lQ29udGVudChjb250aW51b3VzSW5saW5lQ29udGVudCwgbGluZVN0YXR1cyk7
CiB9CiAKLXZvaWQgTGluZUJ1aWxkZXI6OmNvbW1pdENhbmRpZGF0ZUNvbnRlbnQoY29uc3QgTGlu
ZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgc3RkOjpvcHRpb25hbDxJbmxpbmVDb250ZW50QnJl
YWtlcjo6UmVzdWx0OjpQYXJ0aWFsVHJhaWxpbmdDb250ZW50PiBwYXJ0aWFsVHJhaWxpbmdDb250
ZW50KQordm9pZCBMaW5lQnVpbGRlcjo6Y29tbWl0Q2FuZGlkYXRlQ29udGVudChMaW5lQ2FuZGlk
YXRlJiBsaW5lQ2FuZGlkYXRlLCBzdGQ6Om9wdGlvbmFsPElubGluZUNvbnRlbnRCcmVha2VyOjpS
ZXN1bHQ6OlBhcnRpYWxUcmFpbGluZ0NvbnRlbnQ+IHBhcnRpYWxUcmFpbGluZ0NvbnRlbnQpCiB7
CiAgICAgYXV0byYgaW5saW5lQ29udGVudCA9IGxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudDsK
ICAgICBhdXRvJiBydW5zID0gaW5saW5lQ29udGVudC5jb250aW51b3VzQ29udGVudCgpLnJ1bnMo
KTsKQEAgLTE1MjEsNiArMTU3MSw5IEBAIHZvaWQgTGluZUJ1aWxkZXI6OmNvbW1pdENhbmRpZGF0
ZUNvbnRlbnQoY29uc3QgTGluZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgc3RkCiAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKKyAgICBpZiAocGFydGlhbFRyYWlsaW5n
Q29udGVudCAmJiBpbmxpbmVDb250ZW50LmNvbnRpbnVvdXNDb250ZW50KCkuaGFzU2hhcGVkQ29u
dGVudCgpKQorICAgICAgICBzaGFwZVBhcnRpYWxMaW5lQ2FuZGlkYXRlKGxpbmVDYW5kaWRhdGUs
IHBhcnRpYWxUcmFpbGluZ0NvbnRlbnQtPnRyYWlsaW5nUnVuSW5kZXgpOworCiAgICAgQVNTRVJU
KCFwYXJ0aWFsVHJhaWxpbmdDb250ZW50IHx8IHBhcnRpYWxUcmFpbGluZ0NvbnRlbnQtPnRyYWls
aW5nUnVuSW5kZXggPD0gcnVucy5zaXplKCkpOwogICAgIGF1dG8gZW5kT2ZOb25QYXJ0aWFsQ29u
dGVudCA9IChwYXJ0aWFsVHJhaWxpbmdDb250ZW50ID8gc3RkOjptaW4ocGFydGlhbFRyYWlsaW5n
Q29udGVudC0+dHJhaWxpbmdSdW5JbmRleCwgcnVucy5zaXplKCkpIDogcnVucy5zaXplKCkpOwog
ICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBlbmRPZk5vblBhcnRpYWxDb250ZW50
OyArK2luZGV4KQpAQCAtMTU1Myw3ICsxNjA2LDcgQEAgdm9pZCBMaW5lQnVpbGRlcjo6Y29tbWl0
Q2FuZGlkYXRlQ29udGVudChjb25zdCBMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzdGQK
ICAgICB9CiB9CiAKLUxpbmVCdWlsZGVyOjpSZXN1bHQgTGluZUJ1aWxkZXI6OnByb2Nlc3NMaW5l
QnJlYWtpbmdSZXN1bHQoY29uc3QgTGluZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgY29uc3Qg
SW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgY29uc3QgSW5saW5lQ29udGVudEJyZWFrZXI6
OlJlc3VsdCYgbGluZUJyZWFraW5nUmVzdWx0KQorTGluZUJ1aWxkZXI6OlJlc3VsdCBMaW5lQnVp
bGRlcjo6cHJvY2Vzc0xpbmVCcmVha2luZ1Jlc3VsdChMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlk
YXRlLCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBjb25zdCBJbmxpbmVDb250
ZW50QnJlYWtlcjo6UmVzdWx0JiBsaW5lQnJlYWtpbmdSZXN1bHQpCiB7CiAgICAgYXV0byYgY2Fu
ZGlkYXRlUnVucyA9IGxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5jb250aW51b3VzQ29udGVu
dCgpLnJ1bnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKaW5kZXgg
ZmQ0N2E1MjMyZmJiLi42ZGVjNmY3NmJhZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJ1aWxkZXIuaApAQCAtNDUsOCArNDUsOSBAQCBwcml2YXRlOgogICAgIGVudW0gY2xhc3MgU2tp
cEZsb2F0cyA6IGJvb2wgeyBObywgWWVzIH07CiAgICAgdm9pZCBjYW5kaWRhdGVDb250ZW50Rm9y
TGluZShMaW5lQ2FuZGlkYXRlJiwgc3RkOjpwYWlyPHNpemVfdCwgc2l6ZV90PiBzdGFydEVuZElu
ZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIElubGluZUxheW91
dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCwgU2tpcEZsb2F0cyA9IFNraXBGbG9hdHM6Ok5vKTsK
ICAgICB2b2lkIGFwcGx5U2hhcGluZ0lmTmVlZGVkKExpbmVDYW5kaWRhdGUmKTsKLSAgICBWZWN0
b3I8c3RkOjpwYWlyPHNpemVfdCwgc2l6ZV90Pj4gY29sbGVjdFNoYXBpbmdSYW5nZXMoY29uc3Qg
TGluZUNhbmRpZGF0ZSYpIGNvbnN0OworICAgIFZlY3RvcjxzdGQ6OnBhaXI8c2l6ZV90LCBzaXpl
X3Q+PiBjb2xsZWN0U2hhcGVSYW5nZXMoY29uc3QgTGluZUNhbmRpZGF0ZSYpIGNvbnN0OwogICAg
IHZvaWQgYXBwbHlTaGFwaW5nT25SdW5SYW5nZShMaW5lQ2FuZGlkYXRlJiwgc3RkOjpwYWlyPHNp
emVfdCwgc2l6ZV90PiByYW5nZSkgY29uc3Q7CisgICAgdm9pZCBzaGFwZVBhcnRpYWxMaW5lQ2Fu
ZGlkYXRlKExpbmVDYW5kaWRhdGUmLCBzaXplX3QgdHJhaWxpbmdSdW5JbmRleCkgY29uc3Q7CiAg
ICAgSW5saW5lTGF5b3V0VW5pdCBsZWFkaW5nUHVuY3R1YXRpb25XaWR0aEZvckxpbmVDYW5kaWF0
ZShjb25zdCBMaW5lQ2FuZGlkYXRlJikgY29uc3Q7CiAgICAgSW5saW5lTGF5b3V0VW5pdCB0cmFp
bGluZ1B1bmN0dWF0aW9uT3JTdG9wT3JDb21tYVdpZHRoRm9yTGluZUNhbmRpYXRlKGNvbnN0IExp
bmVDYW5kaWRhdGUmLCBzaXplX3Qgc3RhcnRJbmRleEFmdGVyQ2FuZGlkYXRlQ29udGVudCwgIHNp
emVfdCBsYXlvdXRSYW5nZUVuZCkgY29uc3Q7CiAKQEAgLTYyLDE1ICs2MywxNSBAQCBwcml2YXRl
OgogICAgIH07CiAgICAgZW51bSBNYXlPdmVyQ29uc3RyYWluTGluZSA6IHVpbnQ4X3QgeyBObywg
WWVzLCBPbmx5V2hlbkZpcnN0RmxvYXRPbkxpbmUgfTsKICAgICBib29sIHRyeVBsYWNpbmdGbG9h
dEJveChjb25zdCBCb3gmLCBNYXlPdmVyQ29uc3RyYWluTGluZSk7Ci0gICAgUmVzdWx0IGhhbmRs
ZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBj
b25zdCBMaW5lQ2FuZGlkYXRlJik7Ci0gICAgUmVzdWx0IHByb2Nlc3NMaW5lQnJlYWtpbmdSZXN1
bHQoY29uc3QgTGluZUNhbmRpZGF0ZSYsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5b3V0UmFu
Z2UsIGNvbnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpSZXN1bHQmKTsKKyAgICBSZXN1bHQgaGFu
ZGxlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2Us
IExpbmVDYW5kaWRhdGUmKTsKKyAgICBSZXN1bHQgcHJvY2Vzc0xpbmVCcmVha2luZ1Jlc3VsdChM
aW5lQ2FuZGlkYXRlJiwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgY29uc3Qg
SW5saW5lQ29udGVudEJyZWFrZXI6OlJlc3VsdCYpOwogICAgIHN0cnVjdCBSZWN0QW5kRmxvYXRD
b25zdHJhaW50cyB7CiAgICAgICAgIElubGluZVJlY3QgbG9naWNhbFJlY3Q7CiAgICAgICAgIE9w
dGlvblNldDxVc2VkRmxvYXQ+IGNvbnN0cmFpbmVkU2lkZVNldCB7IH07CiAgICAgfTsKICAgICBS
ZWN0QW5kRmxvYXRDb25zdHJhaW50cyBmbG9hdEF2b2lkaW5nUmVjdChjb25zdCBJbmxpbmVSZWN0
JiBsaW5lTG9naWNhbFJlY3QsIElubGluZUxheW91dFVuaXQgbGluZU1hcmdpblN0YXJ0KSBjb25z
dDsKICAgICBSZWN0QW5kRmxvYXRDb25zdHJhaW50cyBhZGp1c3RlZExpbmVSZWN0V2l0aENhbmRp
ZGF0ZUlubGluZUNvbnRlbnQoY29uc3QgTGluZUNhbmRpZGF0ZSYpIGNvbnN0OwotICAgIHZvaWQg
Y29tbWl0Q2FuZGlkYXRlQ29udGVudChjb25zdCBMaW5lQ2FuZGlkYXRlJiwgc3RkOjpvcHRpb25h
bDxJbmxpbmVDb250ZW50QnJlYWtlcjo6UmVzdWx0OjpQYXJ0aWFsVHJhaWxpbmdDb250ZW50Pik7
CisgICAgdm9pZCBjb21taXRDYW5kaWRhdGVDb250ZW50KExpbmVDYW5kaWRhdGUmLCBzdGQ6Om9w
dGlvbmFsPElubGluZUNvbnRlbnRCcmVha2VyOjpSZXN1bHQ6OlBhcnRpYWxUcmFpbGluZ0NvbnRl
bnQ+KTsKICAgICBzaXplX3QgcmVidWlsZExpbmVXaXRoSW5saW5lQ29udGVudChjb25zdCBJbmxp
bmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IElubGluZUl0ZW0mIGxhc3RJbmxp
bmVJdGVtVG9BZGQpOwogICAgIHNpemVfdCByZWJ1aWxkTGluZUZvclRyYWlsaW5nU29mdEh5cGhl
bihjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlKTsKICAgICB2b2lkIGluaXRpYWxp
emUoY29uc3QgSW5saW5lUmVjdCYgaW5pdGlhbExpbmVMb2dpY2FsUmVjdCwgY29uc3QgSW5saW5l
SXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFByZXZpb3Vz
TGluZT4mLCBib29sIGlzRmlyc3RGb3JtYXR0ZWRMaW5lQ2FuZGlkYXRlKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>