<?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>218340</bug_id>
          
          <creation_ts>2020-10-29 07:54:36 -0700</creation_ts>
          <short_desc>[LFC][Integration] Rename top/bottomWithLeading to lineBoxTop/Bottom</short_desc>
          <delta_ts>2020-10-29 08:52:21 -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>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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1702723</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-10-29 07:54:36 -0700</bug_when>
    <thetext>These match the spec concept of line box.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702724</commentid>
    <comment_count>1</comment_count>
      <attachid>412648</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-10-29 07:58:16 -0700</bug_when>
    <thetext>Created attachment 412648
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702728</commentid>
    <comment_count>2</comment_count>
      <attachid>412648</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-10-29 08:13:45 -0700</bug_when>
    <thetext>Comment on attachment 412648
patch

v.nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702737</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-29 08:51:13 -0700</bug_when>
    <thetext>Committed r269149: &lt;https://trac.webkit.org/changeset/269149&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412648.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702738</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-29 08:52:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/70810936&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412648</attachid>
            <date>2020-10-29 07:58:16 -0700</date>
            <delta_ts>2020-10-29 08:51:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>linebox-rename.patch</filename>
            <type>text/plain</type>
            <size>28718</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4YzY3NWY0Y2QzMzcuLjQ1M2QzZTkzNzBjZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDYzIEBACisyMDIwLTEwLTI5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gUmVuYW1lIHRvcC9ib3R0b21XaXRoTGVh
ZGluZyB0byBsaW5lQm94VG9wL0JvdHRvbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MzQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlc2UgbWF0Y2ggdGhlIHNwZWMgY29uY2VwdCBvZiBsaW5lIGJv
eC4KKyAgICAgICAgRm9yIGNsYXJpdHkgcmVuYW1lIHRoZSBsZWdhY3kgZmllbGRzIGFuZCBmdW5j
dGlvbnMgaW4gUm9vdElubGluZUJveCB0b28uCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dEludGVncmF0aW9uOjpQYXRoTGluZTo6bGluZUJveFRvcCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aExpbmU6OmxpbmVCb3hCb3R0b20gY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OlBhdGhMaW5lOjp0b3BXaXRo
TGVhZGluZyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3Jh
dGlvbjo6UGF0aExpbmU6OmJvdHRvbVdpdGhMZWFkaW5nIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JMZWdh
Y3lQYXRoLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJh
dG9yTGVnYWN5UGF0aDo6bGluZUJveFRvcCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yTGVnYWN5UGF0aDo6bGluZUJveEJvdHRvbSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yTGVn
YWN5UGF0aDo6dG9wV2l0aExlYWRpbmcgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVJdGVyYXRvckxlZ2FjeVBhdGg6OmJvdHRvbVdpdGhM
ZWFkaW5nIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmg6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yTW9kZXJuUGF0aDo6bGluZUJveFRvcCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9y
TW9kZXJuUGF0aDo6bGluZUJveEJvdHRvbSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yTW9kZXJuUGF0aDo6dG9wV2l0aExlYWRpbmcgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVJ
dGVyYXRvck1vZGVyblBhdGg6OmJvdHRvbVdpdGhMZWFkaW5nIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiByZW5kZXJpbmcvQ29tcGxleExpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q29tcGxleExpbmVMYXlvdXQ6OmxheW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbXBsZXhMaW5lTGF5b3V0OjpsaW5rVG9FbmRMaW5lSWZOZWVkZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29tcGxleExpbmVMYXlvdXQ6OmNoZWNrRmxvYXRJbkNsZWFuTGlu
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4TGluZUxheW91dDo6ZGV0ZXJtaW5lU3RhcnRQ
b3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4TGluZUxheW91dDo6ZGV0ZXJtaW5l
RW5kUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleExpbmVMYXlvdXQ6OmNoZWNr
UGFnaW5hdGlvbkFuZEZsb2F0c0F0RW5kTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4
TGluZUxheW91dDo6bGluZVdpZHRoRm9yUGFnaW5hdGVkTGluZUNoYW5nZWQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29tcGxleExpbmVMYXlvdXQ6Om1hdGNoZWRFbmRMaW5lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbXBsZXhMaW5lTGF5b3V0Ojp1cGRhdGVGcmFnbWVudEZvckxpbmUgY29u
c3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y2FsY3VsYXRlTWluaW11bVBhZ2VIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2tGbG93OjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bWFya0xpbmVzRGlydHlJbkJsb2NrUmFuZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93Ojpwb3NpdGlvbkZvclBvaW50V2l0
aElubGluZUNoaWxkcmVuKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6cG9zaXRpb25MaW5lQm94KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5b3V0U3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5b3V0U3RhdGU6OmNvbXB1dGVMaW5lR3JpZFBhZ2luYXRpb25PcmlnaW4pOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGluZUJyZWFrOjpjb2xsZWN0U2VsZWN0aW9uUmVjdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmNvbGxlY3RTZWxl
Y3Rpb25SZWN0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Um9vdElubGluZUJveDo6YWRqdXN0UG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6Um9vdElubGluZUJveDo6YWxpZ25Cb3hlc0luQmxvY2tEaXJlY3Rpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6Um9vdElubGluZUJveDo6bGluZVNuYXBBZGp1c3RtZW50IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6Om91dHB1dExpbmVCb3ggY29uc3QpOgor
ICAgICAgICAqIHJlbmRlcmluZy9Sb290SW5saW5lQm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpS
b290SW5saW5lQm94OjpsaW5lQm94VG9wIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJvb3RJ
bmxpbmVCb3g6OmxpbmVCb3hCb3R0b20gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Um9vdElu
bGluZUJveDo6c2V0TGluZVRvcEJvdHRvbVBvc2l0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpS
b290SW5saW5lQm94OjpsaW5lVG9wV2l0aExlYWRpbmcgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Um9vdElubGluZUJveDo6bGluZUJvdHRvbVdpdGhMZWFkaW5nIGNvbnN0KTog
RGVsZXRlZC4KKwogMjAyMC0xMC0yOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIFJlbmRlckJsb2NrRmxvdzo6cG9zaXRpb25G
b3JQb2ludFdpdGhJbmxpbmVDaGlsZHJlbiBzaG91bGQgdXNlIGl0ZXJhdG9yCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5l
SXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkxpbmVJdGVyYXRvci5oCmluZGV4IDI2YmNiM2QzYzY5YS4uZTQ4NzQ0MTYxYWIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25MaW5lSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaApAQCAtNTUsOCArNTUsOCBAQCBwdWJs
aWM6CiAgICAgTGF5b3V0VW5pdCBzZWxlY3Rpb25Ub3AoKSBjb25zdDsKICAgICBMYXlvdXRVbml0
IHNlbGVjdGlvblRvcEZvckhpdFRlc3RpbmcoKSBjb25zdDsKICAgICBMYXlvdXRVbml0IHNlbGVj
dGlvbkJvdHRvbSgpIGNvbnN0OwotICAgIExheW91dFVuaXQgdG9wV2l0aExlYWRpbmcoKSBjb25z
dDsKLSAgICBMYXlvdXRVbml0IGJvdHRvbVdpdGhMZWFkaW5nKCkgY29uc3Q7CisgICAgTGF5b3V0
VW5pdCBsaW5lQm94VG9wKCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBsaW5lQm94Qm90dG9tKCkg
Y29uc3Q7CiAKICAgICBmbG9hdCB5KCkgY29uc3Q7CiAgICAgZmxvYXQgbG9naWNhbEhlaWdodCgp
IGNvbnN0OwpAQCAtMTU2LDE3ICsxNTYsMTcgQEAgaW5saW5lIExheW91dFVuaXQgUGF0aExpbmU6
OnNlbGVjdGlvbkJvdHRvbSgpIGNvbnN0CiAgICAgfSk7CiB9CiAKLWlubGluZSBMYXlvdXRVbml0
IFBhdGhMaW5lOjp0b3BXaXRoTGVhZGluZygpIGNvbnN0CitpbmxpbmUgTGF5b3V0VW5pdCBQYXRo
TGluZTo6bGluZUJveFRvcCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIFdURjo6c3dpdGNoT24obV9w
YXRoVmFyaWFudCwgW10oY29uc3QgYXV0byYgcGF0aCkgewotICAgICAgICByZXR1cm4gcGF0aC50
b3BXaXRoTGVhZGluZygpOworICAgICAgICByZXR1cm4gcGF0aC5saW5lQm94VG9wKCk7CiAgICAg
fSk7CiB9CiAKLWlubGluZSBMYXlvdXRVbml0IFBhdGhMaW5lOjpib3R0b21XaXRoTGVhZGluZygp
IGNvbnN0CitpbmxpbmUgTGF5b3V0VW5pdCBQYXRoTGluZTo6bGluZUJveEJvdHRvbSgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIFdURjo6c3dpdGNoT24obV9wYXRoVmFyaWFudCwgW10oY29uc3QgYXV0
byYgcGF0aCkgewotICAgICAgICByZXR1cm4gcGF0aC5ib3R0b21XaXRoTGVhZGluZygpOworICAg
ICAgICByZXR1cm4gcGF0aC5saW5lQm94Qm90dG9tKCk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmVJdGVyYXRvckxlZ2FjeVBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaAppbmRleCBjOGI2ZGIz
NzU5ODcuLjZjMjljYzNmMGRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJ
dGVyYXRvckxlZ2FjeVBhdGguaApAQCAtNDksOCArNDksOCBAQCBwdWJsaWM6CiAgICAgTGF5b3V0
VW5pdCBzZWxlY3Rpb25Ub3AoKSBjb25zdCB7IHJldHVybiBtX3Jvb3RJbmxpbmVCb3gtPnNlbGVj
dGlvblRvcCgpOyB9CiAgICAgTGF5b3V0VW5pdCBzZWxlY3Rpb25Ub3BGb3JIaXRUZXN0aW5nKCkg
Y29uc3QgeyByZXR1cm4gbV9yb290SW5saW5lQm94LT5zZWxlY3Rpb25Ub3AoUm9vdElubGluZUJv
eDo6Rm9ySGl0VGVzdGluZzo6WWVzKTsgfQogICAgIExheW91dFVuaXQgc2VsZWN0aW9uQm90dG9t
KCkgY29uc3QgeyByZXR1cm4gbV9yb290SW5saW5lQm94LT5zZWxlY3Rpb25Cb3R0b20oKTsgfQot
ICAgIExheW91dFVuaXQgdG9wV2l0aExlYWRpbmcoKSBjb25zdCB7IHJldHVybiBtX3Jvb3RJbmxp
bmVCb3gtPmxpbmVUb3BXaXRoTGVhZGluZygpOyB9Ci0gICAgTGF5b3V0VW5pdCBib3R0b21XaXRo
TGVhZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdElubGluZUJveC0+bGluZUJvdHRvbVdpdGhM
ZWFkaW5nKCk7IH0KKyAgICBMYXlvdXRVbml0IGxpbmVCb3hUb3AoKSBjb25zdCB7IHJldHVybiBt
X3Jvb3RJbmxpbmVCb3gtPmxpbmVCb3hUb3AoKTsgfQorICAgIExheW91dFVuaXQgbGluZUJveEJv
dHRvbSgpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdElubGluZUJveC0+bGluZUJveEJvdHRvbSgpOyB9
CiAKICAgICBmbG9hdCB5KCkgY29uc3QgeyByZXR1cm4gbV9yb290SW5saW5lQm94LT55KCk7IH0K
ICAgICBmbG9hdCBsb2dpY2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9yb290SW5saW5lQm94
LT5sb2dpY2FsSGVpZ2h0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVy
YXRvck1vZGVyblBhdGguaAppbmRleCBiNGViMTI3MzM1Y2UuLjk3N2UwMWZlNjlhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
TGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaApAQCAtNTUs
OCArNTUsOCBAQCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCBzZWxlY3Rpb25Ub3AoKSBjb25zdCB7
IHJldHVybiB0b3AoKTsgfQogICAgIExheW91dFVuaXQgc2VsZWN0aW9uVG9wRm9ySGl0VGVzdGlu
ZygpIGNvbnN0IHsgcmV0dXJuIHRvcCgpOyB9CiAgICAgTGF5b3V0VW5pdCBzZWxlY3Rpb25Cb3R0
b20oKSBjb25zdCB7IHJldHVybiBib3R0b20oKTsgfQotICAgIExheW91dFVuaXQgdG9wV2l0aExl
YWRpbmcoKSBjb25zdCB7IHJldHVybiB0b3AoKTsgfQotICAgIExheW91dFVuaXQgYm90dG9tV2l0
aExlYWRpbmcoKSBjb25zdCB7IHJldHVybiBib3R0b20oKTsgfQorICAgIExheW91dFVuaXQgbGlu
ZUJveFRvcCgpIGNvbnN0IHsgcmV0dXJuIHRvcCgpOyB9CisgICAgTGF5b3V0VW5pdCBsaW5lQm94
Qm90dG9tKCkgY29uc3QgeyByZXR1cm4gYm90dG9tKCk7IH0KIAogICAgIGZsb2F0IHkoKSBjb25z
dCB7IHJldHVybiB0b3AoKTsgfQogICAgIGZsb2F0IGxvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJl
dHVybiBsaW5lKCkucmVjdCgpLmhlaWdodCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQ29tcGxleExpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NvbXBsZXhMaW5lTGF5b3V0LmNwcAppbmRleCBmY2ZhZjQyN2QxZWMuLjRhYzYzMjcyZjk1
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbXBsZXhMaW5lTGF5b3V0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29tcGxleExpbmVMYXlvdXQuY3Bw
CkBAIC0xNDk4LDcgKzE0OTgsNyBAQCB2b2lkIENvbXBsZXhMaW5lTGF5b3V0OjpsYXlvdXRSdW5z
QW5kRmxvYXRzSW5SYW5nZShMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgIH0KIAotICAgICAg
ICAgICAgICAgICAgICBtX2Zsb3cuc2V0TG9naWNhbEhlaWdodChsaW5lQm94LT5saW5lQm90dG9t
V2l0aExlYWRpbmcoKSk7CisgICAgICAgICAgICAgICAgICAgIG1fZmxvdy5zZXRMb2dpY2FsSGVp
Z2h0KGxpbmVCb3gtPmxpbmVCb3hCb3R0b20oKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBpZiAocGFnaW5hdGVkKSB7CkBAIC0xNTk3
LDcgKzE1OTcsNyBAQCB2b2lkIENvbXBsZXhMaW5lTGF5b3V0OjpsYXlvdXRSdW5zQW5kRmxvYXRz
SW5SYW5nZShMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLAogCiAgICAgICAgICAgICAvLyBX
ZSBub3cgd2FudCB0byBicmVhayBhdCB0aGlzIGxpbmUuIFJlbWVtYmVyIGZvciBuZXh0IGxheW91
dCBhbmQgdHJpZ2dlciByZWxheW91dC4KICAgICAgICAgICAgIG1fZmxvdy5zZXRCcmVha0F0TGlu
ZVRvQXZvaWRXaWRvdyhsaW5lQ291bnRVbnRpbChsaW5lQm94KSk7Ci0gICAgICAgICAgICBtX2Zs
b3cubWFya0xpbmVzRGlydHlJbkJsb2NrUmFuZ2UobGFzdFJvb3RCb3goKS0+bGluZUJvdHRvbVdp
dGhMZWFkaW5nKCksIGxpbmVCb3gtPmxpbmVCb3R0b21XaXRoTGVhZGluZygpLCBsaW5lQm94KTsK
KyAgICAgICAgICAgIG1fZmxvdy5tYXJrTGluZXNEaXJ0eUluQmxvY2tSYW5nZShsYXN0Um9vdEJv
eCgpLT5saW5lQm94Qm90dG9tKCksIGxpbmVCb3gtPmxpbmVCb3hCb3R0b20oKSwgbGluZUJveCk7
CiAgICAgICAgIH0KICAgICB9CiAgICAgbV9mbG93LmNsZWFyRGlkQnJlYWtBdExpbmVUb0F2b2lk
V2lkb3coKTsKQEAgLTE2NDksNyArMTY0OSw3IEBAIHZvaWQgQ29tcGxleExpbmVMYXlvdXQ6Omxp
bmtUb0VuZExpbmVJZk5lZWRlZChMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlKQogICAgICAg
ICAgICAgICAgICAgICB1cGRhdGVGcmFnbWVudEZvckxpbmUobGluZSk7CiAgICAgICAgICAgICAg
ICAgcmVhdHRhY2hDbGVhbkxpbmVGbG9hdHMoKmxpbmUsIGRlbHRhLCBsaW5lID09IGZpcnN0Q2xl
YW5MaW5lKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG1fZmxvdy5zZXRMb2dpY2FsSGVp
Z2h0KGxhc3RSb290Qm94KCktPmxpbmVCb3R0b21XaXRoTGVhZGluZygpKTsKKyAgICAgICAgICAg
IG1fZmxvdy5zZXRMb2dpY2FsSGVpZ2h0KGxhc3RSb290Qm94KCktPmxpbmVCb3hCb3R0b20oKSk7
CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBEZWxldGUgYWxsIHRoZSByZW1haW5p
bmcgbGluZXMuCiAgICAgICAgICAgICBkZWxldGVMaW5lUmFuZ2UobGF5b3V0U3RhdGUsIGxheW91
dFN0YXRlLmVuZExpbmUoKSk7CkBAIC0xODM0LDcgKzE4MzQsNyBAQCB2b2lkIENvbXBsZXhMaW5l
TGF5b3V0OjpjaGVja0Zsb2F0SW5DbGVhbkxpbmUoUm9vdElubGluZUJveCYgY2xlYW5MaW5lLCBS
ZW5kZXJCbwogICAgICAgICA6IHN0ZDo6bWF4KG9yaWdpbmFsRmxvYXRSZWN0LndpZHRoKCksIG5l
d1NpemUud2lkdGgoKSk7CiAgICAgZmxvYXRIZWlnaHQgPSBzdGQ6Om1pbihmbG9hdEhlaWdodCwg
TGF5b3V0VW5pdDo6bWF4KCkgLSBmbG9hdFRvcCk7CiAgICAgY2xlYW5MaW5lLm1hcmtEaXJ0eSgp
OwotICAgIG1fZmxvdy5tYXJrTGluZXNEaXJ0eUluQmxvY2tSYW5nZShjbGVhbkxpbmUubGluZUJv
dHRvbVdpdGhMZWFkaW5nKCksIGZsb2F0VG9wICsgZmxvYXRIZWlnaHQsICZjbGVhbkxpbmUpOwor
ICAgIG1fZmxvdy5tYXJrTGluZXNEaXJ0eUluQmxvY2tSYW5nZShjbGVhbkxpbmUubGluZUJveEJv
dHRvbSgpLCBmbG9hdFRvcCArIGZsb2F0SGVpZ2h0LCAmY2xlYW5MaW5lKTsKICAgICBMYXlvdXRS
ZWN0IG5ld0Zsb2F0UmVjdCA9IG9yaWdpbmFsRmxvYXRSZWN0OwogICAgIG5ld0Zsb2F0UmVjdC5z
ZXRTaXplKG5ld1NpemUpOwogICAgIG1hdGNoaW5nRmxvYXRXaXRoUmVjdC5hZGp1c3RSZWN0KG5l
d0Zsb2F0UmVjdCk7CkBAIC0xOTYxLDcgKzE5NjEsNyBAQCBSb290SW5saW5lQm94KiBDb21wbGV4
TGluZUxheW91dDo6ZGV0ZXJtaW5lU3RhcnRQb3NpdGlvbihMaW5lTGF5b3V0U3RhdGUmIGxheW91
dAogICAgIGxheW91dFN0YXRlLmxpbmVJbmZvKCkuc2V0UHJldmlvdXNMaW5lQnJva2VDbGVhbmx5
KCFsYXN0TGluZSB8fCBsYXN0TGluZS0+ZW5kc1dpdGhCcmVhaygpKTsKIAogICAgIGlmIChsYXN0
TGluZSkgewotICAgICAgICBtX2Zsb3cuc2V0TG9naWNhbEhlaWdodChsYXN0TGluZS0+bGluZUJv
dHRvbVdpdGhMZWFkaW5nKCkpOworICAgICAgICBtX2Zsb3cuc2V0TG9naWNhbEhlaWdodChsYXN0
TGluZS0+bGluZUJveEJvdHRvbSgpKTsKICAgICAgICAgSW5saW5lSXRlcmF0b3IgaXRlciA9IElu
bGluZUl0ZXJhdG9yKCZtX2Zsb3csIGxhc3RMaW5lLT5saW5lQnJlYWtPYmooKSwgbGFzdExpbmUt
PmxpbmVCcmVha1BvcygpKTsKICAgICAgICAgcmVzb2x2ZXIuc2V0UG9zaXRpb24oaXRlciwgbnVt
YmVyT2ZJc29sYXRlQW5jZXN0b3JzKGl0ZXIpKTsKICAgICAgICAgcmVzb2x2ZXIuc2V0U3RhdHVz
KGxhc3RMaW5lLT5saW5lQnJlYWtCaWRpU3RhdHVzKCkpOwpAQCAtMjAyMSw3ICsyMDIxLDcgQEAg
dm9pZCBDb21wbGV4TGluZUxheW91dDo6ZGV0ZXJtaW5lRW5kUG9zaXRpb24oTGluZUxheW91dFN0
YXRlJiBsYXlvdXRTdGF0ZSwgUm9vdEkKICAgICBSb290SW5saW5lQm94KiBwcmV2aW91c0xpbmUg
PSBsYXN0TGluZS0+cHJldlJvb3RCb3goKTsKICAgICBjbGVhbkxpbmVTdGFydCA9IElubGluZUl0
ZXJhdG9yKCZtX2Zsb3csIHByZXZpb3VzTGluZS0+bGluZUJyZWFrT2JqKCksIHByZXZpb3VzTGlu
ZS0+bGluZUJyZWFrUG9zKCkpOwogICAgIGNsZWFuTGluZUJpZGlTdGF0dXMgPSBwcmV2aW91c0xp
bmUtPmxpbmVCcmVha0JpZGlTdGF0dXMoKTsKLSAgICBsYXlvdXRTdGF0ZS5zZXRFbmRMaW5lTG9n
aWNhbFRvcChwcmV2aW91c0xpbmUtPmxpbmVCb3R0b21XaXRoTGVhZGluZygpKTsKKyAgICBsYXlv
dXRTdGF0ZS5zZXRFbmRMaW5lTG9naWNhbFRvcChwcmV2aW91c0xpbmUtPmxpbmVCb3hCb3R0b20o
KSk7CiAKICAgICBmb3IgKFJvb3RJbmxpbmVCb3gqIGxpbmUgPSBsYXN0TGluZTsgbGluZTsgbGlu
ZSA9IGxpbmUtPm5leHRSb290Qm94KCkpIHsKICAgICAgICAgLy8gRGlzY29ubmVjdCBhbGwgbGlu
ZSBib3hlcyBmcm9tIHRoZWlyIHJlbmRlciBvYmplY3RzIHdoaWxlIHByZXNlcnZpbmcgdGhlaXIg
Y29ubmVjdGlvbnMgdG8gb25lIGFub3RoZXIuCkBAIC0yMDYzLDcgKzIwNjMsNyBAQCBib29sIENv
bXBsZXhMaW5lTGF5b3V0OjpjaGVja1BhZ2luYXRpb25BbmRGbG9hdHNBdEVuZExpbmUoTGluZUxh
eW91dFN0YXRlJiBsYXlvdQogICAgIHdoaWxlIChSb290SW5saW5lQm94KiBuZXh0TGluZSA9IGxh
c3RMaW5lLT5uZXh0Um9vdEJveCgpKQogICAgICAgICBsYXN0TGluZSA9IG5leHRMaW5lOwogCi0g
ICAgTGF5b3V0VW5pdCBsb2dpY2FsQm90dG9tID0gbGFzdExpbmUtPmxpbmVCb3R0b21XaXRoTGVh
ZGluZygpICsgYWJzb2x1dGVWYWx1ZShsaW5lRGVsdGEpOworICAgIExheW91dFVuaXQgbG9naWNh
bEJvdHRvbSA9IGxhc3RMaW5lLT5saW5lQm94Qm90dG9tKCkgKyBhYnNvbHV0ZVZhbHVlKGxpbmVE
ZWx0YSk7CiAKICAgICBjb25zdCBGbG9hdGluZ09iamVjdFNldCYgZmxvYXRpbmdPYmplY3RTZXQg
PSBtX2Zsb3cuZmxvYXRpbmdPYmplY3RzKCktPnNldCgpOwogICAgIGF1dG8gZW5kID0gZmxvYXRp
bmdPYmplY3RTZXQuZW5kKCk7CkBAIC0yMDgxLDcgKzIwODEsNyBAQCBib29sIENvbXBsZXhMaW5l
TGF5b3V0OjpsaW5lV2lkdGhGb3JQYWdpbmF0ZWRMaW5lQ2hhbmdlZChSb290SW5saW5lQm94KiBy
b290Qm94LAogICAgIGlmICghZnJhZ21lbnRlZEZsb3cpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiBjdXJyZW50RnJhZ21lbnQgPSBtX2Zsb3cu
ZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KHJvb3RCb3gtPmxpbmVUb3BXaXRoTGVhZGluZygpICsgbGlu
ZURlbHRhKTsKKyAgICBSZW5kZXJGcmFnbWVudENvbnRhaW5lciogY3VycmVudEZyYWdtZW50ID0g
bV9mbG93LmZyYWdtZW50QXRCbG9ja09mZnNldChyb290Qm94LT5saW5lQm94VG9wKCkgKyBsaW5l
RGVsdGEpOwogICAgIC8vIEp1c3QgYmFpbCBpZiB0aGUgZnJhZ21lbnQgZGlkbid0IGNoYW5nZS4K
ICAgICBpZiAocm9vdEJveC0+Y29udGFpbmluZ0ZyYWdtZW50KCkgPT0gY3VycmVudEZyYWdtZW50
KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTExLDcgKzIxMTEsNyBAQCBib29sIENvbXBs
ZXhMaW5lTGF5b3V0OjptYXRjaGVkRW5kTGluZShMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRl
LCBjb25zdCBJbmxpbgogICAgICAgICAgICAgUm9vdElubGluZUJveCogcmVzdWx0ID0gbGluZS0+
bmV4dFJvb3RCb3goKTsKICAgICAgICAgICAgIGxheW91dFN0YXRlLnNldEVuZExpbmUocmVzdWx0
KTsKICAgICAgICAgICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgICAgICAgICBsYXlvdXRTdGF0
ZS5zZXRFbmRMaW5lTG9naWNhbFRvcChsaW5lLT5saW5lQm90dG9tV2l0aExlYWRpbmcoKSk7Cisg
ICAgICAgICAgICAgICAgbGF5b3V0U3RhdGUuc2V0RW5kTGluZUxvZ2ljYWxUb3AobGluZS0+bGlu
ZUJveEJvdHRvbSgpKTsKICAgICAgICAgICAgICAgICBtYXRjaGVkID0gY2hlY2tQYWdpbmF0aW9u
QW5kRmxvYXRzQXRFbmRMaW5lKGxheW91dFN0YXRlKTsKICAgICAgICAgICAgIH0KIApAQCAtMjI5
OSw3ICsyMjk5LDcgQEAgdm9pZCBDb21wbGV4TGluZUxheW91dDo6dXBkYXRlRnJhZ21lbnRGb3JM
aW5lKFJvb3RJbmxpbmVCb3gqIGxpbmVCb3gpIGNvbnN0CiAgICAgaWYgKCFtX2Zsb3cuaGFzRnJh
Z21lbnRSYW5nZUluRnJhZ21lbnRlZEZsb3coKSkKICAgICAgICAgbGluZUJveC0+Y2xlYXJDb250
YWluaW5nRnJhZ21lbnQoKTsKICAgICBlbHNlIHsKLSAgICAgICAgaWYgKGF1dG8gY29udGFpbmlu
Z0ZyYWdtZW50ID0gbV9mbG93LmZyYWdtZW50QXRCbG9ja09mZnNldChsaW5lQm94LT5saW5lVG9w
V2l0aExlYWRpbmcoKSkpCisgICAgICAgIGlmIChhdXRvIGNvbnRhaW5pbmdGcmFnbWVudCA9IG1f
Zmxvdy5mcmFnbWVudEF0QmxvY2tPZmZzZXQobGluZUJveC0+bGluZUJveFRvcCgpKSkKICAgICAg
ICAgICAgIGxpbmVCb3gtPnNldENvbnRhaW5pbmdGcmFnbWVudCgqY29udGFpbmluZ0ZyYWdtZW50
KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbGluZUJveC0+Y2xlYXJDb250YWluaW5nRnJh
Z21lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAK
aW5kZXggYWNhNWFiMDM2NzMyLi42MzA0Mzk3OGE0NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC0xNjkzLDcgKzE2OTMsNyBAQCBzdGF0aWMg
aW5saW5lIExheW91dFVuaXQgY2FsY3VsYXRlTWluaW11bVBhZ2VIZWlnaHQoY29uc3QgUmVuZGVy
U3R5bGUmIHJlbmRlclN0eQogICAgICAgICAvLyBGSVhNRTogUGFnaW5hdGluZyB1c2luZyBsaW5l
IG92ZXJmbG93IGlzbid0IGFsbCBmaW5lLiBTZWUgRklYTUUgaW4KICAgICAgICAgLy8gYWRqdXN0
TGluZVBvc2l0aW9uRm9yUGFnaW5hdGlvbigpIGZvciBtb3JlIGRldGFpbHMuCiAgICAgICAgIExh
eW91dFJlY3Qgb3ZlcmZsb3cgPSBsaW5lLT5sb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0KGxpbmUt
PmxpbmVUb3AoKSwgbGluZS0+bGluZUJvdHRvbSgpKTsKLSAgICAgICAgbGluZVRvcCA9IHN0ZDo6
bWluKGxpbmUtPmxpbmVUb3BXaXRoTGVhZGluZygpLCBvdmVyZmxvdy55KCkpOworICAgICAgICBs
aW5lVG9wID0gc3RkOjptaW4obGluZS0+bGluZUJveFRvcCgpLCBvdmVyZmxvdy55KCkpOwogICAg
IH0KICAgICByZXR1cm4gbGluZUJvdHRvbSAtIGxpbmVUb3A7CiB9CkBAIC0xNzQyLDggKzE3NDIs
OCBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6YWRqdXN0TGluZVBvc2l0aW9uRm9yUGFnaW5hdGlv
bihSb290SW5saW5lQm94KiBsaW5lQm94LCBMYQogICAgIC8vIGxpbmUgYW5kIGFsbCBmb2xsb3dp
bmcgbGluZXMuCiAgICAgb3ZlcmZsb3dzRnJhZ21lbnQgPSBmYWxzZTsKICAgICBMYXlvdXRSZWN0
IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IGxpbmVCb3gtPmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1Jl
Y3QobGluZUJveC0+bGluZVRvcCgpLCBsaW5lQm94LT5saW5lQm90dG9tKCkpOwotICAgIExheW91
dFVuaXQgbG9naWNhbE9mZnNldCA9IHN0ZDo6bWluKGxpbmVCb3gtPmxpbmVUb3BXaXRoTGVhZGlu
ZygpLCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueSgpKTsKLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxC
b3R0b20gPSBzdGQ6Om1heChsaW5lQm94LT5saW5lQm90dG9tV2l0aExlYWRpbmcoKSwgbG9naWNh
bFZpc3VhbE92ZXJmbG93Lm1heFkoKSk7CisgICAgTGF5b3V0VW5pdCBsb2dpY2FsT2Zmc2V0ID0g
c3RkOjptaW4obGluZUJveC0+bGluZUJveFRvcCgpLCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueSgp
KTsKKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxCb3R0b20gPSBzdGQ6Om1heChsaW5lQm94LT5saW5l
Qm94Qm90dG9tKCksIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhZKCkpOwogICAgIExheW91dFVu
aXQgbGluZUhlaWdodCA9IGxvZ2ljYWxCb3R0b20gLSBsb2dpY2FsT2Zmc2V0OwogICAgIHVwZGF0
ZU1pbmltdW1QYWdlSGVpZ2h0KGxvZ2ljYWxPZmZzZXQsIGNhbGN1bGF0ZU1pbmltdW1QYWdlSGVp
Z2h0KHN0eWxlKCksICpsaW5lQm94LCBsb2dpY2FsT2Zmc2V0LCBsb2dpY2FsQm90dG9tKSk7CiAg
ICAgbG9naWNhbE9mZnNldCArPSBkZWx0YTsKQEAgLTE3OTIsNyArMTc5Miw3IEBAIHZvaWQgUmVu
ZGVyQmxvY2tGbG93OjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9uKFJvb3RJbmxpbmVC
b3gqIGxpbmVCb3gsIExhCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlmIChsaW5lSGVp
Z2h0ID4gcGFnZUxvZ2ljYWxIZWlnaHQpIHsKICAgICAgICAgICAgIC8vIFNwbGl0IHRoZSB0b3Ag
bWFyZ2luIGluIG9yZGVyIHRvIGF2b2lkIHNwbGl0dGluZyB0aGUgdmlzaWJsZSBwYXJ0IG9mIHRo
ZSBsaW5lLgotICAgICAgICAgICAgcmVtYWluaW5nTG9naWNhbEhlaWdodCAtPSBzdGQ6Om1pbihs
aW5lSGVpZ2h0IC0gcGFnZUxvZ2ljYWxIZWlnaHQsIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIGxv
Z2ljYWxWaXN1YWxPdmVyZmxvdy55KCkgLSBsaW5lQm94LT5saW5lVG9wV2l0aExlYWRpbmcoKSkp
OworICAgICAgICAgICAgcmVtYWluaW5nTG9naWNhbEhlaWdodCAtPSBzdGQ6Om1pbihsaW5lSGVp
Z2h0IC0gcGFnZUxvZ2ljYWxIZWlnaHQsIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdy55KCkgLSBsaW5lQm94LT5saW5lQm94VG9wKCkpKTsKICAgICAgICAgfQog
ICAgICAgICBMYXlvdXRVbml0IHJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRBdE5ld09mZnNldCA9IHBh
Z2VSZW1haW5pbmdMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KGxvZ2ljYWxPZmZzZXQgKyByZW1haW5p
bmdMb2dpY2FsSGVpZ2h0LCBFeGNsdWRlUGFnZUJvdW5kYXJ5KTsKICAgICAgICAgb3ZlcmZsb3dz
RnJhZ21lbnQgPSAobGluZUhlaWdodCA+IHJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRBdE5ld09mZnNl
dCk7CkBAIC0zMDg1LDEyICszMDg1LDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjptYXJrTGlu
ZXNEaXJ0eUluQmxvY2tSYW5nZShMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVuCiAKICAg
ICBSb290SW5saW5lQm94KiBsb3dlc3REaXJ0eUxpbmUgPSBsYXN0Um9vdEJveCgpOwogICAgIFJv
b3RJbmxpbmVCb3gqIGFmdGVyTG93ZXN0ID0gbG93ZXN0RGlydHlMaW5lOwotICAgIHdoaWxlIChs
b3dlc3REaXJ0eUxpbmUgJiYgbG93ZXN0RGlydHlMaW5lLT5saW5lQm90dG9tV2l0aExlYWRpbmco
KSA+PSBsb2dpY2FsQm90dG9tICYmIGxvZ2ljYWxCb3R0b20gPCBMYXlvdXRVbml0OjptYXgoKSkg
eworICAgIHdoaWxlIChsb3dlc3REaXJ0eUxpbmUgJiYgbG93ZXN0RGlydHlMaW5lLT5saW5lQm94
Qm90dG9tKCkgPj0gbG9naWNhbEJvdHRvbSAmJiBsb2dpY2FsQm90dG9tIDwgTGF5b3V0VW5pdDo6
bWF4KCkpIHsKICAgICAgICAgYWZ0ZXJMb3dlc3QgPSBsb3dlc3REaXJ0eUxpbmU7CiAgICAgICAg
IGxvd2VzdERpcnR5TGluZSA9IGxvd2VzdERpcnR5TGluZS0+cHJldlJvb3RCb3goKTsKICAgICB9
CiAKLSAgICB3aGlsZSAoYWZ0ZXJMb3dlc3QgJiYgYWZ0ZXJMb3dlc3QgIT0gaGlnaGVzdCAmJiAo
YWZ0ZXJMb3dlc3QtPmxpbmVCb3R0b21XaXRoTGVhZGluZygpID49IGxvZ2ljYWxUb3AgfHwgYWZ0
ZXJMb3dlc3QtPmxpbmVCb3R0b21XaXRoTGVhZGluZygpIDwgMCkpIHsKKyAgICB3aGlsZSAoYWZ0
ZXJMb3dlc3QgJiYgYWZ0ZXJMb3dlc3QgIT0gaGlnaGVzdCAmJiAoYWZ0ZXJMb3dlc3QtPmxpbmVC
b3hCb3R0b20oKSA+PSBsb2dpY2FsVG9wIHx8IGFmdGVyTG93ZXN0LT5saW5lQm94Qm90dG9tKCkg
PCAwKSkgewogICAgICAgICBhZnRlckxvd2VzdC0+bWFya0RpcnR5KCk7CiAgICAgICAgIGFmdGVy
TG93ZXN0ID0gYWZ0ZXJMb3dlc3QtPnByZXZSb290Qm94KCk7CiAgICAgfQpAQCAtMzQxMiw3ICsz
NDEyLDcgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRlckJsb2NrRmxvdzo6cG9zaXRpb25Gb3JQb2lu
dFdpdGhJbmxpbmVDaGlsZHJlbihjb25zdCBMYXlvdXQKICAgICAgICAgICAgIGZpcnN0TGluZVdp
dGhDaGlsZHJlbiA9IGxpbmU7CiAKICAgICAgICAgaWYgKCFsaW5lc0FyZUZsaXBwZWQgJiYgbGlu
ZS0+bGVnYWN5Um9vdElubGluZUJveCgpICYmIGxpbmUtPmxlZ2FjeVJvb3RJbmxpbmVCb3goKS0+
aXNGaXJzdEFmdGVyUGFnZUJyZWFrKCkKLSAgICAgICAgICAgICYmIChwb2ludEluTG9naWNhbENv
bnRlbnRzLnkoKSA8IGxpbmUtPnRvcFdpdGhMZWFkaW5nKCkgfHwgKGJsb2Nrc0FyZUZsaXBwZWQg
JiYgcG9pbnRJbkxvZ2ljYWxDb250ZW50cy55KCkgPT0gbGluZS0+dG9wV2l0aExlYWRpbmcoKSkp
KQorICAgICAgICAgICAgJiYgKHBvaW50SW5Mb2dpY2FsQ29udGVudHMueSgpIDwgbGluZS0+bGlu
ZUJveFRvcCgpIHx8IChibG9ja3NBcmVGbGlwcGVkICYmIHBvaW50SW5Mb2dpY2FsQ29udGVudHMu
eSgpID09IGxpbmUtPmxpbmVCb3hUb3AoKSkpKQogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAg
ICAgbGFzdExpbmVXaXRoQ2hpbGRyZW4gPSBsaW5lOwpAQCAtMzQyNSw3ICszNDI1LDcgQEAgVmlz
aWJsZVBvc2l0aW9uIFJlbmRlckJsb2NrRmxvdzo6cG9zaXRpb25Gb3JQb2ludFdpdGhJbmxpbmVD
aGlsZHJlbihjb25zdCBMYXlvdXQKICAgICAgICAgICAgICAgICAgICAgbmV4dExpbmVXaXRoQ2hp
bGRyZW4udHJhdmVyc2VOZXh0KCk7CiAKICAgICAgICAgICAgICAgICBpZiAobmV4dExpbmVXaXRo
Q2hpbGRyZW4gJiYgbmV4dExpbmVXaXRoQ2hpbGRyZW4tPmxlZ2FjeVJvb3RJbmxpbmVCb3goKSAm
JiBuZXh0TGluZVdpdGhDaGlsZHJlbi0+bGVnYWN5Um9vdElubGluZUJveCgpLT5pc0ZpcnN0QWZ0
ZXJQYWdlQnJlYWsoKQotICAgICAgICAgICAgICAgICAgICAmJiAocG9pbnRJbkxvZ2ljYWxDb250
ZW50cy55KCkgPiBuZXh0TGluZVdpdGhDaGlsZHJlbi0+dG9wV2l0aExlYWRpbmcoKSB8fCAoIWJs
b2Nrc0FyZUZsaXBwZWQgJiYgcG9pbnRJbkxvZ2ljYWxDb250ZW50cy55KCkgPT0gbmV4dExpbmVX
aXRoQ2hpbGRyZW4tPnRvcFdpdGhMZWFkaW5nKCkpKSkKKyAgICAgICAgICAgICAgICAgICAgJiYg
KHBvaW50SW5Mb2dpY2FsQ29udGVudHMueSgpID4gbmV4dExpbmVXaXRoQ2hpbGRyZW4tPmxpbmVC
b3hUb3AoKSB8fCAoIWJsb2Nrc0FyZUZsaXBwZWQgJiYgcG9pbnRJbkxvZ2ljYWxDb250ZW50cy55
KCkgPT0gbmV4dExpbmVXaXRoQ2hpbGRyZW4tPmxpbmVCb3hUb3AoKSkpKQogICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNsb3Nlc3RSdW4g
PSBsaW5lLmNsb3Nlc3RSdW5Gb3JMb2dpY2FsTGVmdFBvc2l0aW9uKHBvaW50SW5Mb2dpY2FsQ29u
dGVudHMueCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggODdk
NTlkM2RkODJlLi42Mzk1MmQwZWExODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCkBAIC0yMjAzLDcgKzIyMDMsNyBAQCB2b2lkIFJlbmRlckJveDo6cG9zaXRpb25MaW5l
Qm94KElubGluZUVsZW1lbnRCb3gmIGJveCkKICAgICAgICAgICAgIC8vIG91ciBvYmplY3Qgd2Fz
IGlubGluZSBvcmlnaW5hbGx5LCBzaW5jZSBvdGhlcndpc2UgaXQgd291bGQgaGF2ZSBlbmRlZCB1
cCB1bmRlcm5lYXRoCiAgICAgICAgICAgICAvLyB0aGUgaW5saW5lcy4KICAgICAgICAgICAgIFJv
b3RJbmxpbmVCb3gmIHJvb3RCb3ggPSBib3gucm9vdCgpOwotICAgICAgICAgICAgcm9vdEJveC5i
bG9ja0Zsb3coKS5zZXRTdGF0aWNJbmxpbmVQb3NpdGlvbkZvckNoaWxkKCp0aGlzLCByb290Qm94
LmxpbmVUb3BXaXRoTGVhZGluZygpLCBMYXlvdXRVbml0Ojpmcm9tRmxvYXRSb3VuZChib3gubG9n
aWNhbExlZnQoKSkpOworICAgICAgICAgICAgcm9vdEJveC5ibG9ja0Zsb3coKS5zZXRTdGF0aWNJ
bmxpbmVQb3NpdGlvbkZvckNoaWxkKCp0aGlzLCByb290Qm94LmxpbmVCb3hUb3AoKSwgTGF5b3V0
VW5pdDo6ZnJvbUZsb2F0Um91bmQoYm94LmxvZ2ljYWxMZWZ0KCkpKTsKICAgICAgICAgICAgIGlm
IChzdHlsZSgpLmhhc1N0YXRpY0lubGluZVBvc2l0aW9uKGJveC5pc0hvcml6b250YWwoKSkpCiAg
ICAgICAgICAgICAgICAgc2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOyAvLyBKdXN0
IG1hcmsgdGhlIHBvc2l0aW9uZWQgb2JqZWN0IGFzIG5lZWRpbmcgbGF5b3V0LCBzbyBpdCB3aWxs
IHVwZGF0ZSBpdHMgcG9zaXRpb24gcHJvcGVybHkuCiAgICAgICAgIH0gZWxzZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5b3V0U3RhdGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheW91dFN0YXRlLmNwcAppbmRleCBlMzU1NmMx
Yjg5NTEuLjZmNTI2Y2VjYTY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheW91dFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5b3V0U3RhdGUuY3BwCkBAIC0xOTMsMTMgKzE5MywxMyBAQCB2b2lkIFJlbmRlckxheW91
dFN0YXRlOjpjb21wdXRlTGluZUdyaWRQYWdpbmF0aW9uT3JpZ2luKGNvbnN0IFJlbmRlck11bHRp
Q29sdW1uRgogICAgIC8vIGFzIGVzdGFibGlzaGVkIGJ5IHRoZSBsaW5lIGJveC4KICAgICAvLyBG
SVhNRTogTmVlZCB0byBoYW5kbGUgY3JhenkgbGluZS1ib3gtY29udGFpbiB2YWx1ZXMgdGhhdCBj
YXVzZSB0aGUgcm9vdCBsaW5lIGJveCB0byBub3QgYmUgY29uc2lkZXJlZC4gSSBhc3N1bWUKICAg
ICAvLyB0aGUgZ3JpZCBzaG91bGQgaG9ub3IgbGluZS1ib3gtY29udGFpbi4KLSAgICBMYXlvdXRV
bml0IGdyaWRMaW5lSGVpZ2h0ID0gbGluZUdyaWRCb3gtPmxpbmVCb3R0b21XaXRoTGVhZGluZygp
IC0gbGluZUdyaWRCb3gtPmxpbmVUb3BXaXRoTGVhZGluZygpOworICAgIExheW91dFVuaXQgZ3Jp
ZExpbmVIZWlnaHQgPSBsaW5lR3JpZEJveC0+bGluZUJveEJvdHRvbSgpIC0gbGluZUdyaWRCb3gt
PmxpbmVCb3hUb3AoKTsKICAgICBpZiAoIWdyaWRMaW5lSGVpZ2h0KQogICAgICAgICByZXR1cm47
CiAKICAgICBib29sIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlID0gbV9saW5lR3JpZC0+aXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKTsKICAgICBMYXlvdXRVbml0IGxpbmVHcmlkQmxvY2tPZmZzZXQg
PSBpc0hvcml6b250YWxXcml0aW5nTW9kZSA/IG1fbGluZUdyaWRPZmZzZXQuaGVpZ2h0KCkgOiBt
X2xpbmVHcmlkT2Zmc2V0LndpZHRoKCk7Ci0gICAgTGF5b3V0VW5pdCBmaXJzdExpbmVUb3BXaXRo
TGVhZGluZyA9IGxpbmVHcmlkQmxvY2tPZmZzZXQgKyBsaW5lR3JpZEJveC0+bGluZVRvcFdpdGhM
ZWFkaW5nKCk7CisgICAgTGF5b3V0VW5pdCBmaXJzdExpbmVUb3BXaXRoTGVhZGluZyA9IGxpbmVH
cmlkQmxvY2tPZmZzZXQgKyBsaW5lR3JpZEJveC0+bGluZUJveFRvcCgpOwogICAgIExheW91dFVu
aXQgcGFnZUxvZ2ljYWxUb3AgPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSA/IG1fcGFnZU9mZnNl
dC5oZWlnaHQoKSA6IG1fcGFnZU9mZnNldC53aWR0aCgpOwogICAgIGlmIChwYWdlTG9naWNhbFRv
cCA8PSBmaXJzdExpbmVUb3BXaXRoTGVhZGluZykKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNwcAppbmRleCA4YWQ3OGQyNWQwMWEu
LjMwZWNjNTM0OWJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpbmVCcmVhay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVC
cmVhay5jcHAKQEAgLTIxMiw5ICsyMTIsOSBAQCB2b2lkIFJlbmRlckxpbmVCcmVhazo6Y29sbGVj
dFNlbGVjdGlvblJlY3RzKFZlY3RvcjxTZWxlY3Rpb25SZWN0PiYgcmVjdHMsIHVuc2lnbgogICAg
IExheW91dFJlY3QgcmVjdCA9IHJvb3RCb3guY29tcHV0ZUNhcmV0UmVjdChib3gtPmxvZ2ljYWxM
ZWZ0KCksIDAsIG51bGxwdHIpOwogICAgIGlmIChyb290Qm94LmlzRmlyc3RBZnRlclBhZ2VCcmVh
aygpKSB7CiAgICAgICAgIGlmIChib3gtPmlzSG9yaXpvbnRhbCgpKQotICAgICAgICAgICAgcmVj
dC5zaGlmdFlFZGdlVG8ocm9vdEJveC5saW5lVG9wV2l0aExlYWRpbmcoKSk7CisgICAgICAgICAg
ICByZWN0LnNoaWZ0WUVkZ2VUbyhyb290Qm94LmxpbmVCb3hUb3AoKSk7CiAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgIHJlY3Quc2hpZnRYRWRnZVRvKHJvb3RCb3gubGluZVRvcFdpdGhMZWFkaW5n
KCkpOworICAgICAgICAgICAgcmVjdC5zaGlmdFhFZGdlVG8ocm9vdEJveC5saW5lQm94VG9wKCkp
OwogICAgIH0KIAogICAgIGF1dG8qIGNvbnRhaW5pbmdCbG9jayA9IGNvbnRhaW5pbmdCbG9ja0Zv
ck9iamVjdEluRmxvdygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCmlu
ZGV4IDNlN2EzYjcwOGIzMC4uNjliZWU4YTkwZmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCkBAIC0zNTcsOSArMzU3LDkgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb2xs
ZWN0U2VsZWN0aW9uUmVjdHMoVmVjdG9yPFNlbGVjdGlvblJlY3Q+JiByZWN0cywgdW5zaWduZWQg
c3QKIAogICAgICAgICBpZiAoYm94LT5yb290KCkuaXNGaXJzdEFmdGVyUGFnZUJyZWFrKCkpIHsK
ICAgICAgICAgICAgIGlmIChib3gtPmlzSG9yaXpvbnRhbCgpKQotICAgICAgICAgICAgICAgIHJl
Y3Quc2hpZnRZRWRnZVRvKGJveC0+cm9vdCgpLmxpbmVUb3BXaXRoTGVhZGluZygpKTsKKyAgICAg
ICAgICAgICAgICByZWN0LnNoaWZ0WUVkZ2VUbyhib3gtPnJvb3QoKS5saW5lQm94VG9wKCkpOwog
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJlY3Quc2hpZnRYRWRnZVRvKGJveC0+
cm9vdCgpLmxpbmVUb3BXaXRoTGVhZGluZygpKTsKKyAgICAgICAgICAgICAgICByZWN0LnNoaWZ0
WEVkZ2VUbyhib3gtPnJvb3QoKS5saW5lQm94VG9wKCkpOwogICAgICAgICB9CiAKICAgICAgICAg
UmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNvbnRhaW5pbmdCbG9jaygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCmluZGV4IDQ1YTQyYmJk
NzI5OC4uMWI1MDdlY2RjYTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Um9vdElubGluZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxp
bmVCb3guY3BwCkBAIC0xODYsOCArMTg2LDggQEAgdm9pZCBSb290SW5saW5lQm94OjphZGp1c3RQ
b3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkpCiAgICAgTGF5b3V0VW5pdCBibG9ja0RpcmVjdGlv
bkRlbHRhIHsgaXNIb3Jpem9udGFsKCkgPyBkeSA6IGR4IH07IC8vIFRoZSBibG9jayBkaXJlY3Rp
b24gZGVsdGEgaXMgYSBMYXlvdXRVbml0LgogICAgIG1fbGluZVRvcCArPSBibG9ja0RpcmVjdGlv
bkRlbHRhOwogICAgIG1fbGluZUJvdHRvbSArPSBibG9ja0RpcmVjdGlvbkRlbHRhOwotICAgIG1f
bGluZVRvcFdpdGhMZWFkaW5nICs9IGJsb2NrRGlyZWN0aW9uRGVsdGE7Ci0gICAgbV9saW5lQm90
dG9tV2l0aExlYWRpbmcgKz0gYmxvY2tEaXJlY3Rpb25EZWx0YTsKKyAgICBtX2xpbmVCb3hUb3Ag
Kz0gYmxvY2tEaXJlY3Rpb25EZWx0YTsKKyAgICBtX2xpbmVCb3hCb3R0b20gKz0gYmxvY2tEaXJl
Y3Rpb25EZWx0YTsKICAgICBpZiAoaGFzRWxsaXBzaXNCb3goKSkKICAgICAgICAgZWxsaXBzaXNC
b3goKS0+YWRqdXN0UG9zaXRpb24oZHgsIGR5KTsKIH0KQEAgLTI3Niw5ICsyNzYsOSBAQCBMYXlv
dXRVbml0IFJvb3RJbmxpbmVCb3g6OmFsaWduQm94ZXNJbkJsb2NrRGlyZWN0aW9uKExheW91dFVu
aXQgaGVpZ2h0T2ZCbG9jaywgRwogICAgIAogICAgIG1heEhlaWdodCA9IHN0ZDo6bWF4PExheW91
dFVuaXQ+KDAsIG1heEhlaWdodCk7IC8vIEZJWE1FOiBJcyB0aGlzIHJlYWxseSBuZWNlc3Nhcnk/
CiAKLSAgICBMYXlvdXRVbml0IGxpbmVUb3BXaXRoTGVhZGluZyA9IGhlaWdodE9mQmxvY2s7Ci0g
ICAgTGF5b3V0VW5pdCBsaW5lQm90dG9tV2l0aExlYWRpbmcgPSBoZWlnaHRPZkJsb2NrICsgbWF4
SGVpZ2h0OwotICAgIHNldExpbmVUb3BCb3R0b21Qb3NpdGlvbnMobGluZVRvcCwgbGluZUJvdHRv
bSwgbGluZVRvcFdpdGhMZWFkaW5nLCBsaW5lQm90dG9tV2l0aExlYWRpbmcpOworICAgIExheW91
dFVuaXQgbGluZUJveFRvcCA9IGhlaWdodE9mQmxvY2s7CisgICAgTGF5b3V0VW5pdCBsaW5lQm94
Qm90dG9tID0gaGVpZ2h0T2ZCbG9jayArIG1heEhlaWdodDsKKyAgICBzZXRMaW5lVG9wQm90dG9t
UG9zaXRpb25zKGxpbmVUb3AsIGxpbmVCb3R0b20sIGxpbmVCb3hUb3AsIGxpbmVCb3hCb3R0b20p
OwogICAgIHNldFBhZ2luYXRlZExpbmVXaWR0aChibG9ja0Zsb3coKS5hdmFpbGFibGVMb2dpY2Fs
V2lkdGhGb3JDb250ZW50KGhlaWdodE9mQmxvY2spKTsKIAogICAgIExheW91dFVuaXQgYW5ub3Rh
dGlvbnNBZGp1c3RtZW50ID0gYmVmb3JlQW5ub3RhdGlvbnNBZGp1c3RtZW50KCk7CkBAIC0zNTUs
MTQgKzM1NSwxNCBAQCBMYXlvdXRVbml0IFJvb3RJbmxpbmVCb3g6OmxpbmVTbmFwQWRqdXN0bWVu
dChMYXlvdXRVbml0IGRlbHRhKSBjb25zdAogICAgIC8vIGFzIGVzdGFibGlzaGVkIGJ5IHRoZSBs
aW5lIGJveC4KICAgICAvLyBGSVhNRTogTmVlZCB0byBoYW5kbGUgY3JhenkgbGluZS1ib3gtY29u
dGFpbiB2YWx1ZXMgdGhhdCBjYXVzZSB0aGUgcm9vdCBsaW5lIGJveCB0byBub3QgYmUgY29uc2lk
ZXJlZC4gSSBhc3N1bWUKICAgICAvLyB0aGUgZ3JpZCBzaG91bGQgaG9ub3IgbGluZS1ib3gtY29u
dGFpbi4KLSAgICBMYXlvdXRVbml0IGdyaWRMaW5lSGVpZ2h0ID0gbGluZUdyaWRCb3gtPmxpbmVC
b3R0b21XaXRoTGVhZGluZygpIC0gbGluZUdyaWRCb3gtPmxpbmVUb3BXaXRoTGVhZGluZygpOwor
ICAgIExheW91dFVuaXQgZ3JpZExpbmVIZWlnaHQgPSBsaW5lR3JpZEJveC0+bGluZUJveEJvdHRv
bSgpIC0gbGluZUdyaWRCb3gtPmxpbmVCb3hUb3AoKTsKICAgICBpZiAoIWdyaWRMaW5lSGVpZ2h0
KQogICAgICAgICByZXR1cm4gMDsKIAogICAgIExheW91dFVuaXQgbGluZUdyaWRGb250QXNjZW50
ID0gbGluZUdyaWQtPnN0eWxlKCkuZm9udE1ldHJpY3MoKS5hc2NlbnQoYmFzZWxpbmVUeXBlKCkp
OwogICAgIExheW91dFVuaXQgbGluZUdyaWRGb250SGVpZ2h0IHsgbGluZUdyaWRCb3gtPmxvZ2lj
YWxIZWlnaHQoKSB9OwogICAgIExheW91dFVuaXQgZmlyc3RUZXh0VG9wIHsgbGluZUdyaWRCbG9j
a09mZnNldCArIGxpbmVHcmlkQm94LT5sb2dpY2FsVG9wKCkgfTsKLSAgICBMYXlvdXRVbml0IGZp
cnN0TGluZVRvcFdpdGhMZWFkaW5nID0gbGluZUdyaWRCbG9ja09mZnNldCArIGxpbmVHcmlkQm94
LT5saW5lVG9wV2l0aExlYWRpbmcoKTsKKyAgICBMYXlvdXRVbml0IGZpcnN0TGluZVRvcFdpdGhM
ZWFkaW5nID0gbGluZUdyaWRCbG9ja09mZnNldCArIGxpbmVHcmlkQm94LT5saW5lQm94VG9wKCk7
CiAgICAgTGF5b3V0VW5pdCBmaXJzdEJhc2VsaW5lUG9zaXRpb24gPSBmaXJzdFRleHRUb3AgKyBs
aW5lR3JpZEZvbnRBc2NlbnQ7CiAKICAgICBMYXlvdXRVbml0IGN1cnJlbnRUZXh0VG9wIHsgYmxv
Y2tPZmZzZXQgKyBsb2dpY2FsVG9wKCkgKyBkZWx0YSB9OwpAQCAtMzc1LDcgKzM3NSw3IEBAIExh
eW91dFVuaXQgUm9vdElubGluZUJveDo6bGluZVNuYXBBZGp1c3RtZW50KExheW91dFVuaXQgZGVs
dGEpIGNvbnN0CiAgICAgLy8gRklYTUU6IElmIHRoZSBncmlkIGlzIGFuIGFuY2VzdG9yIG9mIHRo
ZSBwYWdpbmF0aW9uIGVzdGFibGlzaGVyLCB0aGVuIHRoaXMgaXMgaW5jb3JyZWN0LgogICAgIExh
eW91dFVuaXQgcGFnZUxvZ2ljYWxUb3A7CiAgICAgaWYgKGxheW91dFN0YXRlLT5pc1BhZ2luYXRl
ZCgpICYmIGxheW91dFN0YXRlLT5wYWdlTG9naWNhbEhlaWdodCgpKSB7Ci0gICAgICAgIHBhZ2VM
b2dpY2FsVG9wID0gYmxvY2tGbG93KCkucGFnZUxvZ2ljYWxUb3BGb3JPZmZzZXQobGluZVRvcFdp
dGhMZWFkaW5nKCkgKyBkZWx0YSk7CisgICAgICAgIHBhZ2VMb2dpY2FsVG9wID0gYmxvY2tGbG93
KCkucGFnZUxvZ2ljYWxUb3BGb3JPZmZzZXQobGluZUJveFRvcCgpICsgZGVsdGEpOwogICAgICAg
ICBpZiAocGFnZUxvZ2ljYWxUb3AgPiBmaXJzdExpbmVUb3BXaXRoTGVhZGluZykKICAgICAgICAg
ICAgIGZpcnN0VGV4dFRvcCA9IHBhZ2VMb2dpY2FsVG9wICsgbGluZUdyaWRCb3gtPmxvZ2ljYWxU
b3AoKSAtIGxpbmVHcmlkLT5ib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCkgKyBsaW5lR3JpZFBhZ2lu
YXRpb25PcmlnaW47CiAgICAgfQpAQCAtNDEyLDEyICs0MTIsMTIgQEAgTGF5b3V0VW5pdCBSb290
SW5saW5lQm94OjpsaW5lU25hcEFkanVzdG1lbnQoTGF5b3V0VW5pdCBkZWx0YSkgY29uc3QKICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAKICAgICAvLyBXZSBtYXkgZW5kIHVwIHNoaWZ0ZWQg
dG8gYSBuZXcgcGFnZS4gV2UgbmVlZCB0byBkbyBhIHJlLXNuYXAgd2hlbiB0aGF0IGhhcHBlbnMu
Ci0gICAgTGF5b3V0VW5pdCBuZXdQYWdlTG9naWNhbFRvcCA9IGJsb2NrRmxvdygpLnBhZ2VMb2dp
Y2FsVG9wRm9yT2Zmc2V0KGxpbmVCb3R0b21XaXRoTGVhZGluZygpICsgcmVzdWx0KTsKKyAgICBM
YXlvdXRVbml0IG5ld1BhZ2VMb2dpY2FsVG9wID0gYmxvY2tGbG93KCkucGFnZUxvZ2ljYWxUb3BG
b3JPZmZzZXQobGluZUJveEJvdHRvbSgpICsgcmVzdWx0KTsKICAgICBpZiAobmV3UGFnZUxvZ2lj
YWxUb3AgPT0gcGFnZUxvZ2ljYWxUb3ApCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgCiAg
ICAgLy8gUHV0IG91cnNlbHZlcyBhdCB0aGUgdG9wIG9mIHRoZSBuZXh0IHBhZ2UgdG8gZm9yY2Ug
YSBzbmFwIG9udG8gdGhlIG5ldyBncmlkIGVzdGFibGlzaGVkIGJ5IHRoYXQgcGFnZS4KLSAgICBy
ZXR1cm4gbGluZVNuYXBBZGp1c3RtZW50KG5ld1BhZ2VMb2dpY2FsVG9wIC0gKGJsb2NrT2Zmc2V0
ICsgbGluZVRvcFdpdGhMZWFkaW5nKCkpKTsKKyAgICByZXR1cm4gbGluZVNuYXBBZGp1c3RtZW50
KG5ld1BhZ2VMb2dpY2FsVG9wIC0gKGJsb2NrT2Zmc2V0ICsgbGluZUJveFRvcCgpKSk7CiB9CiAK
IEdhcFJlY3RzIFJvb3RJbmxpbmVCb3g6OmxpbmVTZWxlY3Rpb25HYXAoUmVuZGVyQmxvY2smIHJv
b3RCbG9jaywgY29uc3QgTGF5b3V0UG9pbnQmIHJvb3RCbG9ja1BoeXNpY2FsUG9zaXRpb24sIGNv
bnN0IExheW91dFNpemUmIG9mZnNldEZyb21Sb290QmxvY2ssCkBAIC0xMTEyLDcgKzExMTIsNyBA
QCB2b2lkIFJvb3RJbmxpbmVCb3g6Om91dHB1dExpbmVCb3goV1RGOjpUZXh0U3RyZWFtJiBzdHJl
YW0sIGJvb2wgbWFyaywgaW50IGRlcHRoKQogICAgIGludCBwcmludGVkQ2hhcmFjdGVycyA9IDA7
CiAgICAgd2hpbGUgKCsrcHJpbnRlZENoYXJhY3RlcnMgPD0gZGVwdGggKiAyKQogICAgICAgICBz
dHJlYW0gPDwgIiAiOwotICAgIHN0cmVhbSA8PCAiTGluZTogKHRvcDogIiA8PCBsaW5lVG9wKCkg
PDwgIiBib3R0b206ICIgPDwgbGluZUJvdHRvbSgpIDw8ICIpIHdpdGggbGVhZGluZyAodG9wOiAi
IDw8IGxpbmVUb3BXaXRoTGVhZGluZygpIDw8ICIgYm90dG9tOiAiIDw8IGxpbmVCb3R0b21XaXRo
TGVhZGluZygpIDw8ICIpIjsKKyAgICBzdHJlYW0gPDwgIkxpbmU6ICh0b3A6ICIgPDwgbGluZVRv
cCgpIDw8ICIgYm90dG9tOiAiIDw8IGxpbmVCb3R0b20oKSA8PCAiKSB3aXRoIGxlYWRpbmcgKHRv
cDogIiA8PCBsaW5lQm94VG9wKCkgPDwgIiBib3R0b206ICIgPDwgbGluZUJveEJvdHRvbSgpIDw8
ICIpIjsKICAgICBzdHJlYW0ubmV4dExpbmUoKTsKICAgICBJbmxpbmVCb3g6Om91dHB1dExpbmVC
b3goc3RyZWFtLCBtYXJrLCBkZXB0aCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUm9vdElubGluZUJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJ
bmxpbmVCb3guaAppbmRleCA5ZTA2YTQzMDI1NDYuLmU0ODI5MmY3YWMzYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCkBAIC01NCw4ICs1NCw4IEBAIHB1YmxpYzoK
ICAgICBMYXlvdXRVbml0IGxpbmVUb3AoKSBjb25zdCB7IHJldHVybiBtX2xpbmVUb3A7IH0KICAg
ICBMYXlvdXRVbml0IGxpbmVCb3R0b20oKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3R0b207IH0K
IAotICAgIExheW91dFVuaXQgbGluZVRvcFdpdGhMZWFkaW5nKCkgY29uc3QgeyByZXR1cm4gbV9s
aW5lVG9wV2l0aExlYWRpbmc7IH0KLSAgICBMYXlvdXRVbml0IGxpbmVCb3R0b21XaXRoTGVhZGlu
ZygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJvdHRvbVdpdGhMZWFkaW5nOyB9CisgICAgTGF5b3V0
VW5pdCBsaW5lQm94VG9wKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94VG9wOyB9CisgICAgTGF5
b3V0VW5pdCBsaW5lQm94Qm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94Qm90dG9tOyB9
CiAgICAgCiAgICAgTGF5b3V0VW5pdCBwYWdpbmF0aW9uU3RydXQoKSBjb25zdCB7IHJldHVybiBt
X3BhZ2luYXRpb25TdHJ1dDsgfQogICAgIHZvaWQgc2V0UGFnaW5hdGlvblN0cnV0KExheW91dFVu
aXQgc3RydXQpIHsgbV9wYWdpbmF0aW9uU3RydXQgPSBzdHJ1dDsgfQpAQCAtODEsMTIgKzgxLDEy
IEBAIHB1YmxpYzoKICAgICBMYXlvdXRVbml0IHNlbGVjdGlvbkhlaWdodEFkanVzdGVkRm9yUHJl
Y2VkaW5nQmxvY2soKSBjb25zdCB7IHJldHVybiBzdGQ6Om1heDxMYXlvdXRVbml0PigwLCBzZWxl
Y3Rpb25Cb3R0b20oKSAtIHNlbGVjdGlvblRvcEFkanVzdGVkRm9yUHJlY2VkaW5nQmxvY2soKSk7
IH0KIAogICAgIExheW91dFVuaXQgYWxpZ25Cb3hlc0luQmxvY2tEaXJlY3Rpb24oTGF5b3V0VW5p
dCBoZWlnaHRPZkJsb2NrLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYsIFZlcnRp
Y2FsUG9zaXRpb25DYWNoZSYpOwotICAgIHZvaWQgc2V0TGluZVRvcEJvdHRvbVBvc2l0aW9ucyhM
YXlvdXRVbml0IHRvcCwgTGF5b3V0VW5pdCBib3R0b20sIExheW91dFVuaXQgdG9wV2l0aExlYWRp
bmcsIExheW91dFVuaXQgYm90dG9tV2l0aExlYWRpbmcpCisgICAgdm9pZCBzZXRMaW5lVG9wQm90
dG9tUG9zaXRpb25zKExheW91dFVuaXQgdG9wLCBMYXlvdXRVbml0IGJvdHRvbSwgTGF5b3V0VW5p
dCBsaW5lQm94VG9wLCBMYXlvdXRVbml0IGxpbmVCb3hCb3R0b20pCiAgICAgeyAKICAgICAgICAg
bV9saW5lVG9wID0gdG9wOyAKICAgICAgICAgbV9saW5lQm90dG9tID0gYm90dG9tOwotICAgICAg
ICBtX2xpbmVUb3BXaXRoTGVhZGluZyA9IHRvcFdpdGhMZWFkaW5nOwotICAgICAgICBtX2xpbmVC
b3R0b21XaXRoTGVhZGluZyA9IGJvdHRvbVdpdGhMZWFkaW5nOworICAgICAgICBtX2xpbmVCb3hU
b3AgPSBsaW5lQm94VG9wOworICAgICAgICBtX2xpbmVCb3hCb3R0b20gPSBsaW5lQm94Qm90dG9t
OwogICAgIH0KIAogICAgIFJlbmRlck9iamVjdCogbGluZUJyZWFrT2JqKCkgY29uc3QgeyByZXR1
cm4gbV9saW5lQnJlYWtPYmouZ2V0KCk7IH0KQEAgLTIxNiw4ICsyMTYsOCBAQCBwcml2YXRlOgog
ICAgIExheW91dFVuaXQgbV9saW5lVG9wOwogICAgIExheW91dFVuaXQgbV9saW5lQm90dG9tOwog
Ci0gICAgTGF5b3V0VW5pdCBtX2xpbmVUb3BXaXRoTGVhZGluZzsKLSAgICBMYXlvdXRVbml0IG1f
bGluZUJvdHRvbVdpdGhMZWFkaW5nOworICAgIExheW91dFVuaXQgbV9saW5lQm94VG9wOworICAg
IExheW91dFVuaXQgbV9saW5lQm94Qm90dG9tOwogCiAgICAgTGF5b3V0VW5pdCBtX3BhZ2luYXRp
b25TdHJ1dDsKICAgICBMYXlvdXRVbml0IG1fcGFnaW5hdGVkTGluZVdpZHRoOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>