<?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>237909</bug_id>
          
          <creation_ts>2022-03-15 10:52:39 -0700</creation_ts>
          <short_desc>[IFC][Integration] Rename selection* to enclosing* in InlineIterator::Line</short_desc>
          <delta_ts>2022-03-15 14:19:18 -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>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</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>1851384</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-03-15 10:52:39 -0700</bug_when>
    <thetext>selection wat</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851390</commentid>
    <comment_count>1</comment_count>
      <attachid>454731</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-03-15 11:01:33 -0700</bug_when>
    <thetext>Created attachment 454731
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851494</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-15 14:18:45 -0700</bug_when>
    <thetext>Committed r291312 (248451@main): &lt;https://commits.webkit.org/248451@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454731.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851495</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-15 14:19:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/90330144&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454731</attachid>
            <date>2022-03-15 11:01:33 -0700</date>
            <delta_ts>2022-03-15 14:18:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237909-20220315110132.patch</filename>
            <type>text/plain</type>
            <size>24501</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQwZjU1MDI1MDJmMTY1
YzI1MmI1NWQ3NWZhNDY2MzkwNjgwNzg5My4uNjNkYTQ4NWJmZGY1NGEyNTIyNWVkNzI1NTU4MzJm
Y2RmNjY4ZDhiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIyLTAzLTE1ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbSUZDXVtJbnRlZ3JhdGlvbl0g
UmVuYW1lIHNlbGVjdGlvbiogdG8gZW5jbG9zaW5nKiBpbiBJbmxpbmVJdGVyYXRvcjo6TGluZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3OTA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2UgZnVu
Y3Rpb25zIHJldHVybiBlbmNsb3NpbmcgKGxpbmUgYm94IGFuZCBjb250ZW50KSBnZW9tZXRyaWVz
IHdoaWNoIHdlIGhhcHBlbiB0byB1c2UgdG8gY29tcHV0ZSBzZWxlY3Rpb24gYm91bmRhcmllcyAo
YW1vbmcgb3RoZXIgdGhpbmdzKS4KKworICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVBvc2l0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVQb3NpdGlvbjo6YWJzb2x1dGVTZWxlY3Rp
b25Cb3VuZHNGb3JMaW5lIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vSW5s
aW5lSXRlcmF0b3JMaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpM
aW5lOjpibG9ja0RpcmVjdGlvblBvaW50SW5MaW5lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUl0ZXJhdG9yOjpMaW5lOjplbmNsb3NpbmdUb3BBZGp1c3RlZEZvclByZWNlZGluZ0Js
b2NrIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpMaW5lOjplbmNs
b3NpbmdIZWlnaHRBZGp1c3RlZEZvclByZWNlZGluZ0Jsb2NrIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZUl0ZXJhdG9yOjpMaW5lOjpzZWxlY3Rpb25Ub3BBZGp1c3RlZEZvclByZWNl
ZGluZ0Jsb2NrIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJh
dG9yOjpMaW5lOjpzZWxlY3Rpb25IZWlnaHRBZGp1c3RlZEZvclByZWNlZGluZ0Jsb2NrIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JM
aW5lLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6TGluZTo6ZW5jbG9zaW5n
VG9wIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpMaW5lOjplbmNs
b3NpbmdUb3BGb3JIaXRUZXN0aW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0
ZXJhdG9yOjpMaW5lOjplbmNsb3NpbmdCb3R0b20gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lSXRlcmF0b3I6OkxpbmU6OmVuY2xvc2luZ0hlaWdodCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6TGluZTo6ZW5jbG9zaW5nTG9naWNhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OkxpbmU6OmVuY2xvc2luZ1BoeXNp
Y2FsUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6TGluZTo6
c2VsZWN0aW9uVG9wIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0
ZXJhdG9yOjpMaW5lOjpzZWxlY3Rpb25Ub3BGb3JIaXRUZXN0aW5nIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpMaW5lOjpzZWxlY3Rpb25Cb3R0b20g
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OkxpbmU6
OnNlbGVjdGlvbkhlaWdodCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVJdGVyYXRvcjo6TGluZTo6c2VsZWN0aW9uTG9naWNhbFJlY3QgY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OkxpbmU6OnNlbGVjdGlvblBoeXNpY2Fs
UmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0lubGlu
ZUl0ZXJhdG9yVGV4dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6
VGV4dEJveDo6c2VsZWN0aW9uUmVjdCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL0NhcmV0
UmVjdENvbXB1dGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVDYXJldFJlY3RG
b3JMaW5lUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9MZWdhY3lSb290SW5saW5lQm94
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVJvb3RJbmxpbmVCb3g6OnNlbGVjdGlvblRv
cEFkanVzdGVkRm9yUHJlY2VkaW5nQmxvY2sgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93Ojph
ZGp1c3RFbmNsb3NpbmdUb3BGb3JQcmVjZWRpbmdCbG9jayBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmlubGluZVNlbGVjdGlvbkdhcHMpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2tGbG93Ojpwb3NpdGlvbkZvclBvaW50V2l0aElubGluZUNoaWxkcmVu
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YWRqdXN0U2VsZWN0aW9uVG9w
Rm9yUHJlY2VkaW5nQmxvY2sgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVz
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxpbmVCcmVhazo6Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJpZXMpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJSZXBsYWNlZDo6cG9zaXRpb25Gb3JQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6cG9zaXRpb25Gb3JQ
b2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpwYWludEJhY2tncm91bmQpOgorCiAyMDIyLTAzLTE1
ICBKb3NlcGggR3JpZWdvICA8amdyaWVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEV4cG9zZSBz
b21lIHdlYiBBUElzIG9uIFNoYWRvdyBSZWFsbXMgYW5kIFdvcmtsZXRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKaW5kZXggYjk5N2NlNzYxY2Q4OWJmNjM0Y2Qw
Nzc1NjNkYWIxNzI4YmRlMjNjNy4uZDAzOTE0ZmI3NzYyYmRmN2I0ODBjNWI0OTBhZWEwMjVlY2Iy
YWQ0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcApAQCAt
NjY5LDcgKzY2OSw3IEBAIEZsb2F0UmVjdCBWaXNpYmxlUG9zaXRpb246OmFic29sdXRlU2VsZWN0
aW9uQm91bmRzRm9yTGluZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICBhdXRv
IGxpbmUgPSBydW4tPmxpbmUoKTsKLSAgICByZXR1cm4gbGluZS0+Y29udGFpbmluZ0Jsb2NrKCku
bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFJlY3QgeyBsaW5lLT5zZWxlY3Rpb25QaHlzaWNhbFJl
Y3QoKSB9KS5ib3VuZGluZ0JveCgpOworICAgIHJldHVybiBsaW5lLT5jb250YWluaW5nQmxvY2so
KS5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UmVjdCB7IGxpbmUtPmVuY2xvc2luZ1BoeXNpY2Fs
UmVjdCgpIH0pLmJvdW5kaW5nQm94KCk7CiB9CiAKIGludCBWaXNpYmxlUG9zaXRpb246OmxpbmVE
aXJlY3Rpb25Qb2ludEZvckJsb2NrRGlyZWN0aW9uTmF2aWdhdGlvbigpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JMaW5l
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckxp
bmUuY3BwCmluZGV4IDdkMWZkNTZlNTRmMGI3YWY1NTczY2Y0NzFiZGU1NThjMTkyMTE5MGQuLjc0
MmJiMTgxOWU0MTlkNmM3OWYzODA1YmYwMGRkYjhjMzU5YjQ0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckxpbmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckxpbmUuY3Bw
CkBAIC0xNTksMTcgKzE1OSwxNyBAQCBMZWFmQm94SXRlcmF0b3IgTGluZTo6Y2xvc2VzdFJ1bkZv
ckxvZ2ljYWxMZWZ0UG9zaXRpb24oaW50IGxlZnRQb3NpdGlvbiwgYm9vbCBlZAogCiBpbnQgTGlu
ZTo6YmxvY2tEaXJlY3Rpb25Qb2ludEluTGluZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFjb250
YWluaW5nQmxvY2soKS5zdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkgPyBzdGQ6
Om1heCh0b3AoKSwgc2VsZWN0aW9uVG9wRm9ySGl0VGVzdGluZygpKSA6IHN0ZDo6bWluKGJvdHRv
bSgpLCBzZWxlY3Rpb25Cb3R0b20oKSk7CisgICAgcmV0dXJuICFjb250YWluaW5nQmxvY2soKS5z
dHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkgPyBzdGQ6Om1heCh0b3AoKSwgZW5j
bG9zaW5nVG9wRm9ySGl0VGVzdGluZygpKSA6IHN0ZDo6bWluKGJvdHRvbSgpLCBlbmNsb3NpbmdC
b3R0b20oKSk7CiB9CiAKLUxheW91dFVuaXQgTGluZTo6c2VsZWN0aW9uVG9wQWRqdXN0ZWRGb3JQ
cmVjZWRpbmdCbG9jaygpIGNvbnN0CitMYXlvdXRVbml0IExpbmU6OmVuY2xvc2luZ1RvcEFkanVz
dGVkRm9yUHJlY2VkaW5nQmxvY2soKSBjb25zdAogewotICAgIHJldHVybiBjb250YWluaW5nQmxv
Y2soKS5hZGp1c3RTZWxlY3Rpb25Ub3BGb3JQcmVjZWRpbmdCbG9jayhzZWxlY3Rpb25Ub3AoKSk7
CisgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9jaygpLmFkanVzdEVuY2xvc2luZ1RvcEZvclByZWNl
ZGluZ0Jsb2NrKGVuY2xvc2luZ1RvcCgpKTsKIH0KIAotTGF5b3V0VW5pdCBMaW5lOjpzZWxlY3Rp
b25IZWlnaHRBZGp1c3RlZEZvclByZWNlZGluZ0Jsb2NrKCkgY29uc3QKK0xheW91dFVuaXQgTGlu
ZTo6ZW5jbG9zaW5nSGVpZ2h0QWRqdXN0ZWRGb3JQcmVjZWRpbmdCbG9jaygpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHNlbGVjdGlvbkJvdHRvbSgpIC0gc2Vs
ZWN0aW9uVG9wQWRqdXN0ZWRGb3JQcmVjZWRpbmdCbG9jaygpKTsKKyAgICByZXR1cm4gc3RkOjpt
YXg8TGF5b3V0VW5pdD4oMCwgZW5jbG9zaW5nQm90dG9tKCkgLSBlbmNsb3NpbmdUb3BBZGp1c3Rl
ZEZvclByZWNlZGluZ0Jsb2NrKCkpOwogfQogCiBSZW5kZXJPYmplY3Q6OkhpZ2hsaWdodFN0YXRl
IExpbmU6OnNlbGVjdGlvblN0YXRlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckxpbmUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckxpbmUuaAppbmRleCBhZDJhNDRlM2Rm
NmI4ZDU3ZDQwZThkYmNjYzI4NjdiOGZlYTM1YmIwLi5jZjAyYTA1OTYyMGMyOTFiNzY3ZWRhMTJj
YWNkMWE3NzY0MGQxNWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vSW5saW5lSXRlcmF0b3JMaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0lubGluZUl0ZXJhdG9yTGluZS5oCkBAIC01OCwxNiArNTgsMTYgQEAgcHVibGlj
OgogICAgIExheW91dFVuaXQgbGluZUJveEJvdHRvbSgpIGNvbnN0OwogICAgIExheW91dFVuaXQg
bGluZUJveEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGxpbmVCb3hCb3R0b20oKSAtIGxpbmVCb3hU
b3AoKTsgfQogCi0gICAgTGF5b3V0VW5pdCBzZWxlY3Rpb25Ub3AoKSBjb25zdDsKLSAgICBMYXlv
dXRVbml0IHNlbGVjdGlvblRvcEZvckhpdFRlc3RpbmcoKSBjb25zdDsKLSAgICBMYXlvdXRVbml0
IHNlbGVjdGlvbkJvdHRvbSgpIGNvbnN0OwotICAgIExheW91dFVuaXQgc2VsZWN0aW9uSGVpZ2h0
KCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBlbmNsb3NpbmdUb3AoKSBjb25zdDsKKyAgICBMYXlv
dXRVbml0IGVuY2xvc2luZ0JvdHRvbSgpIGNvbnN0OworICAgIExheW91dFVuaXQgZW5jbG9zaW5n
SGVpZ2h0KCkgY29uc3Q7CiAKLSAgICBMYXlvdXRSZWN0IHNlbGVjdGlvbkxvZ2ljYWxSZWN0KCkg
Y29uc3Q7Ci0gICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25QaHlzaWNhbFJlY3QoKSBjb25zdDsKKyAg
ICBMYXlvdXRSZWN0IGVuY2xvc2luZ0xvZ2ljYWxSZWN0KCkgY29uc3Q7CisgICAgTGF5b3V0UmVj
dCBlbmNsb3NpbmdQaHlzaWNhbFJlY3QoKSBjb25zdDsKIAotICAgIExheW91dFVuaXQgc2VsZWN0
aW9uVG9wQWRqdXN0ZWRGb3JQcmVjZWRpbmdCbG9jaygpIGNvbnN0OwotICAgIExheW91dFVuaXQg
c2VsZWN0aW9uSGVpZ2h0QWRqdXN0ZWRGb3JQcmVjZWRpbmdCbG9jaygpIGNvbnN0OworICAgIExh
eW91dFVuaXQgZW5jbG9zaW5nVG9wRm9ySGl0VGVzdGluZygpIGNvbnN0OworICAgIExheW91dFVu
aXQgZW5jbG9zaW5nVG9wQWRqdXN0ZWRGb3JQcmVjZWRpbmdCbG9jaygpIGNvbnN0OworICAgIExh
eW91dFVuaXQgZW5jbG9zaW5nSGVpZ2h0QWRqdXN0ZWRGb3JQcmVjZWRpbmdCbG9jaygpIGNvbnN0
OwogCiAgICAgUmVuZGVyT2JqZWN0OjpIaWdobGlnaHRTdGF0ZSBzZWxlY3Rpb25TdGF0ZSgpIGNv
bnN0OwogCkBAIC0xNTksMzAgKzE1OSwzMCBAQCBpbmxpbmUgTGF5b3V0VW5pdCBMaW5lOjpib3R0
b20oKSBjb25zdAogICAgIH0pOwogfQogCi1pbmxpbmUgTGF5b3V0VW5pdCBMaW5lOjpzZWxlY3Rp
b25Ub3AoKSBjb25zdAoraW5saW5lIExheW91dFVuaXQgTGluZTo6ZW5jbG9zaW5nVG9wKCkgY29u
c3QKIHsKICAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihtX3BhdGhWYXJpYW50LCBbXShjb25zdCBh
dXRvJiBwYXRoKSB7Ci0gICAgICAgIHJldHVybiBwYXRoLnNlbGVjdGlvblRvcCgpOworICAgICAg
ICByZXR1cm4gcGF0aC5lbmNsb3NpbmdUb3AoKTsKICAgICB9KTsKIH0KIAotaW5saW5lIExheW91
dFVuaXQgTGluZTo6c2VsZWN0aW9uVG9wRm9ySGl0VGVzdGluZygpIGNvbnN0CitpbmxpbmUgTGF5
b3V0VW5pdCBMaW5lOjplbmNsb3NpbmdUb3BGb3JIaXRUZXN0aW5nKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gV1RGOjpzd2l0Y2hPbihtX3BhdGhWYXJpYW50LCBbXShjb25zdCBhdXRvJiBwYXRoKSB7
Ci0gICAgICAgIHJldHVybiBwYXRoLnNlbGVjdGlvblRvcEZvckhpdFRlc3RpbmcoKTsKKyAgICAg
ICAgcmV0dXJuIHBhdGguZW5jbG9zaW5nVG9wRm9ySGl0VGVzdGluZygpOwogICAgIH0pOwogfQog
Ci1pbmxpbmUgTGF5b3V0VW5pdCBMaW5lOjpzZWxlY3Rpb25Cb3R0b20oKSBjb25zdAoraW5saW5l
IExheW91dFVuaXQgTGluZTo6ZW5jbG9zaW5nQm90dG9tKCkgY29uc3QKIHsKICAgICByZXR1cm4g
V1RGOjpzd2l0Y2hPbihtX3BhdGhWYXJpYW50LCBbXShjb25zdCBhdXRvJiBwYXRoKSB7Ci0gICAg
ICAgIHJldHVybiBwYXRoLnNlbGVjdGlvbkJvdHRvbSgpOworICAgICAgICByZXR1cm4gcGF0aC5l
bmNsb3NpbmdCb3R0b20oKTsKICAgICB9KTsKIH0KIAotaW5saW5lIExheW91dFVuaXQgTGluZTo6
c2VsZWN0aW9uSGVpZ2h0KCkgY29uc3QKK2lubGluZSBMYXlvdXRVbml0IExpbmU6OmVuY2xvc2lu
Z0hlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHNlbGVjdGlvbkJvdHRvbSgpIC0gc2VsZWN0
aW9uVG9wKCk7CisgICAgcmV0dXJuIGVuY2xvc2luZ0JvdHRvbSgpIC0gZW5jbG9zaW5nVG9wKCk7
CiB9CiAKIGlubGluZSBMYXlvdXRVbml0IExpbmU6OmxpbmVCb3hUb3AoKSBjb25zdApAQCAtMTk5
LDE0ICsxOTksMTQgQEAgaW5saW5lIExheW91dFVuaXQgTGluZTo6bGluZUJveEJvdHRvbSgpIGNv
bnN0CiAgICAgfSk7CiB9CiAKLWlubGluZSBMYXlvdXRSZWN0IExpbmU6OnNlbGVjdGlvbkxvZ2lj
YWxSZWN0KCkgY29uc3QKK2lubGluZSBMYXlvdXRSZWN0IExpbmU6OmVuY2xvc2luZ0xvZ2ljYWxS
ZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4geyBMYXlvdXRQb2ludCB7IGNvbnRlbnRMb2dpY2Fs
TGVmdCgpLCBzZWxlY3Rpb25Ub3AoKSB9LCBMYXlvdXRQb2ludCB7IGNvbnRlbnRMb2dpY2FsUmln
aHQoKSwgc2VsZWN0aW9uQm90dG9tKCkgfSB9OworICAgIHJldHVybiB7IExheW91dFBvaW50IHsg
Y29udGVudExvZ2ljYWxMZWZ0KCksIGVuY2xvc2luZ1RvcCgpIH0sIExheW91dFBvaW50IHsgY29u
dGVudExvZ2ljYWxSaWdodCgpLCBlbmNsb3NpbmdCb3R0b20oKSB9IH07CiB9CiAKLWlubGluZSBM
YXlvdXRSZWN0IExpbmU6OnNlbGVjdGlvblBoeXNpY2FsUmVjdCgpIGNvbnN0CitpbmxpbmUgTGF5
b3V0UmVjdCBMaW5lOjplbmNsb3NpbmdQaHlzaWNhbFJlY3QoKSBjb25zdAogewotICAgIGF1dG8g
cGh5c2ljYWxSZWN0ID0gc2VsZWN0aW9uTG9naWNhbFJlY3QoKTsKKyAgICBhdXRvIHBoeXNpY2Fs
UmVjdCA9IGVuY2xvc2luZ0xvZ2ljYWxSZWN0KCk7CiAgICAgaWYgKCFpc0hvcml6b250YWwoKSkK
ICAgICAgICAgcGh5c2ljYWxSZWN0ID0gcGh5c2ljYWxSZWN0LnRyYW5zcG9zZWRSZWN0KCk7CiAg
ICAgY29udGFpbmluZ0Jsb2NrKCkuZmxpcEZvcldyaXRpbmdNb2RlKHBoeXNpY2FsUmVjdCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0
b3JMaW5lTGVnYWN5UGF0aC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lu
bGluZUl0ZXJhdG9yTGluZUxlZ2FjeVBhdGguaAppbmRleCA3ZTE0ODYwYThmMzA1MzIxMDI3N2Ew
MmE2OTA0MDlhNjhhNTM2OWMyLi4zMzQ5MmQ2N2NjNGM0MTVlYzU1M2Y4ZTM5YTMzMjJlN2I5YjBj
ZjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5l
SXRlcmF0b3JMaW5lTGVnYWN5UGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9JbmxpbmVJdGVyYXRvckxpbmVMZWdhY3lQYXRoLmgKQEAgLTQ1LDkgKzQ1LDkgQEAg
cHVibGljOgogCiAgICAgTGF5b3V0VW5pdCB0b3AoKSBjb25zdCB7IHJldHVybiBtX3Jvb3RJbmxp
bmVCb3gtPmxpbmVUb3AoKTsgfQogICAgIExheW91dFVuaXQgYm90dG9tKCkgY29uc3QgeyByZXR1
cm4gbV9yb290SW5saW5lQm94LT5saW5lQm90dG9tKCk7IH0KLSAgICBMYXlvdXRVbml0IHNlbGVj
dGlvblRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdElubGluZUJveC0+c2VsZWN0aW9uVG9wKCk7
IH0KLSAgICBMYXlvdXRVbml0IHNlbGVjdGlvblRvcEZvckhpdFRlc3RpbmcoKSBjb25zdCB7IHJl
dHVybiBtX3Jvb3RJbmxpbmVCb3gtPnNlbGVjdGlvblRvcChMZWdhY3lSb290SW5saW5lQm94OjpG
b3JIaXRUZXN0aW5nOjpZZXMpOyB9Ci0gICAgTGF5b3V0VW5pdCBzZWxlY3Rpb25Cb3R0b20oKSBj
b25zdCB7IHJldHVybiBtX3Jvb3RJbmxpbmVCb3gtPnNlbGVjdGlvbkJvdHRvbSgpOyB9CisgICAg
TGF5b3V0VW5pdCBlbmNsb3NpbmdUb3AoKSBjb25zdCB7IHJldHVybiBtX3Jvb3RJbmxpbmVCb3gt
PnNlbGVjdGlvblRvcCgpOyB9CisgICAgTGF5b3V0VW5pdCBlbmNsb3NpbmdUb3BGb3JIaXRUZXN0
aW5nKCkgY29uc3QgeyByZXR1cm4gbV9yb290SW5saW5lQm94LT5zZWxlY3Rpb25Ub3AoTGVnYWN5
Um9vdElubGluZUJveDo6Rm9ySGl0VGVzdGluZzo6WWVzKTsgfQorICAgIExheW91dFVuaXQgZW5j
bG9zaW5nQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9yb290SW5saW5lQm94LT5zZWxlY3Rpb25C
b3R0b20oKTsgfQogICAgIExheW91dFVuaXQgbGluZUJveFRvcCgpIGNvbnN0IHsgcmV0dXJuIG1f
cm9vdElubGluZUJveC0+bGluZUJveFRvcCgpOyB9CiAgICAgTGF5b3V0VW5pdCBsaW5lQm94Qm90
dG9tKCkgY29uc3QgeyByZXR1cm4gbV9yb290SW5saW5lQm94LT5saW5lQm94Qm90dG9tKCk7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0
ZXJhdG9yTGluZU1vZGVyblBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9JbmxpbmVJdGVyYXRvckxpbmVNb2Rlcm5QYXRoLmgKaW5kZXggYTZjNDdmNWU1NGFjYmFmZDE2
MjhhOTJkOGFiNTk0ZmY3ODdmNWRjYS4uZjNkODRkMmQzNTMyODRmYTI5MmRiZmEyZmYzN2JkZWE3
MWQ0NzA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lu
bGluZUl0ZXJhdG9yTGluZU1vZGVyblBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JMaW5lTW9kZXJuUGF0aC5oCkBAIC01NCwxMyArNTQs
MTMgQEAgcHVibGljOgogICAgIExheW91dFVuaXQgbGluZUJveFRvcCgpIGNvbnN0IHsgcmV0dXJu
IExheW91dFVuaXQ6OmZyb21GbG9hdFJvdW5kKGxpbmUoKS5saW5lQm94VG9wKCkpOyB9CiAgICAg
TGF5b3V0VW5pdCBsaW5lQm94Qm90dG9tKCkgY29uc3QgeyByZXR1cm4gTGF5b3V0VW5pdDo6ZnJv
bUZsb2F0Um91bmQobGluZSgpLmxpbmVCb3hCb3R0b20oKSk7IH0KIAotICAgIExheW91dFVuaXQg
c2VsZWN0aW9uVG9wKCkgY29uc3QgeyByZXR1cm4gIW1fbGluZUluZGV4ID8gdG9wKCkgOiBMaW5l
SXRlcmF0b3JNb2Rlcm5QYXRoKCptX2lubGluZUNvbnRlbnQsIG1fbGluZUluZGV4IC0gMSkuc2Vs
ZWN0aW9uQm90dG9tKCk7IH0KKyAgICBMYXlvdXRVbml0IGVuY2xvc2luZ1RvcCgpIGNvbnN0IHsg
cmV0dXJuICFtX2xpbmVJbmRleCA/IHRvcCgpIDogTGluZUl0ZXJhdG9yTW9kZXJuUGF0aCgqbV9p
bmxpbmVDb250ZW50LCBtX2xpbmVJbmRleCAtIDEpLmVuY2xvc2luZ0JvdHRvbSgpOyB9CiAgICAg
Ly8gRklYTUU6IFJlbW92ZSB0aGUgY29udGFpbmluZ0Jsb2NrKCkuYm9yZGVyQW5kUGFkZGluZ0Jl
Zm9yZSgpIG9mZnNldCBhZnRlciByZXRpcmluZyBsZWdhY3kgbGluZSBsYXlvdXQuIEl0IGFsc28g
cmVxdWlyZXMgY2hhbmdlcyBpbiBSZW5kZXJUZXh0Ojpwb3NpdGlvbkZvclBvaW50IHRvIGZpbmQg
dGhlIGZpcnN0IGxpbmUgd2l0aCBvZmZzZXQuCiAgICAgLy8gLSB0aGUgImJlZm9yZSIgdmFsdWUg
aXMgYWxyZWFkeSBmYWN0b3JlZCBpbiB0byB0aGUgbGluZSBvZmZzZXQKICAgICAvLyAtIHRoaXMg
bG9naWMgbmVnYXRlcyB0aGUgZmlyc3QgbGluZSdzIG5hdHVyYWwgb2Zmc2V0IChlLmcuIGJsb2Nr
IGhhcyBubyBib3JkZXIvcGFkZGluZyBidXQgdGhlIGZpcnN0IGxpbmUgaGFzIGEgY29tcHV0ZWQg
b2Zmc2V0KS4KLSAgICBMYXlvdXRVbml0IHNlbGVjdGlvblRvcEZvckhpdFRlc3RpbmcoKSBjb25z
dCB7IHJldHVybiAhbV9saW5lSW5kZXggPyBjb250YWluaW5nQmxvY2soKS5ib3JkZXJBbmRQYWRk
aW5nQmVmb3JlKCkgOiBzZWxlY3Rpb25Ub3AoKTsgfTsKKyAgICBMYXlvdXRVbml0IGVuY2xvc2lu
Z1RvcEZvckhpdFRlc3RpbmcoKSBjb25zdCB7IHJldHVybiAhbV9saW5lSW5kZXggPyBjb250YWlu
aW5nQmxvY2soKS5ib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCkgOiBlbmNsb3NpbmdUb3AoKTsgfTsK
ICAgICAvLyBGSVhNRTogSW1wbGVtZW50IG9yIHJlcGxhY2UuCi0gICAgTGF5b3V0VW5pdCBzZWxl
Y3Rpb25Cb3R0b20oKSBjb25zdCB7IHJldHVybiBib3R0b20oKTsgfQorICAgIExheW91dFVuaXQg
ZW5jbG9zaW5nQm90dG9tKCkgY29uc3QgeyByZXR1cm4gYm90dG9tKCk7IH0KIAogICAgIGZsb2F0
IGNvbnRlbnRMb2dpY2FsTGVmdCgpIGNvbnN0IHsgcmV0dXJuIGxpbmUoKS5saW5lQm94TGVmdCgp
ICsgbGluZSgpLmNvbnRlbnRMb2dpY2FsT2Zmc2V0KCk7IH0KICAgICBmbG9hdCBjb250ZW50TG9n
aWNhbFJpZ2h0KCkgY29uc3QgeyByZXR1cm4gY29udGVudExvZ2ljYWxMZWZ0KCkgKyBsaW5lKCku
Y29udGVudExvZ2ljYWxXaWR0aCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvclRleHRCb3guY3BwCmluZGV4IDI2MGNk
OTk4ZDUyZDJhYWY0ZDkyNTUyZjBjMmU2ZDIyYTYxNDc4MDAuLjUwNDQyMWIyMGIxYTlhY2RkYzM2
ZGNmYmNiZjMwMmJhOGZhZDVmNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvclRleHRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvclRleHRCb3guY3BwCkBAIC00NSw4ICs0
NSw4IEBAIExheW91dFJlY3QgVGV4dEJveDo6c2VsZWN0aW9uUmVjdCh1bnNpZ25lZCByYW5nZVN0
YXJ0LCB1bnNpZ25lZCByYW5nZUVuZCkgY29uc3QKICAgICBpZiAoY2xhbXBlZFN0YXJ0ID49IGNs
YW1wZWRFbmQgJiYgIShyYW5nZVN0YXJ0ID09IHJhbmdlRW5kICYmIHJhbmdlU3RhcnQgPj0gc3Rh
cnQoKSAmJiByYW5nZVN0YXJ0IDw9IGVuZCgpKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAg
IGF1dG8gc2VsZWN0aW9uVG9wID0gbGluZSgpLT5zZWxlY3Rpb25Ub3AoKTsKLSAgICBhdXRvIHNl
bGVjdGlvbkhlaWdodCA9IGxpbmUoKS0+c2VsZWN0aW9uSGVpZ2h0KCk7CisgICAgYXV0byBzZWxl
Y3Rpb25Ub3AgPSBsaW5lKCktPmVuY2xvc2luZ1RvcCgpOworICAgIGF1dG8gc2VsZWN0aW9uSGVp
Z2h0ID0gbGluZSgpLT5lbmNsb3NpbmdIZWlnaHQoKTsKIAogICAgIExheW91dFJlY3Qgc2VsZWN0
aW9uUmVjdCB7IGxvZ2ljYWxMZWZ0KCksIHNlbGVjdGlvblRvcCwgbG9naWNhbFdpZHRoKCksIHNl
bGVjdGlvbkhlaWdodCB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Q2FyZXRSZWN0Q29tcHV0YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NhcmV0
UmVjdENvbXB1dGF0aW9uLmNwcAppbmRleCAxZTcyNjE3YThmNjcyMzM0ZmU1YWExMGQwNjkzNTVi
MjlkZjJmZGFkLi40NTRhZTRhOTkzZDI1M2YzZDc5NzBjM2RkYmE3YWJiNDM2M2Y3YWQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2FyZXRSZWN0Q29tcHV0YXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DYXJldFJlY3RDb21wdXRhdGlvbi5jcHAK
QEAgLTExMiw3ICsxMTIsNyBAQCBzdGF0aWMgTGF5b3V0UmVjdCBjb21wdXRlQ2FyZXRSZWN0Rm9y
RW1wdHlFbGVtZW50KGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0JiByZQogc3RhdGljIExheW91
dFJlY3QgY29tcHV0ZUNhcmV0UmVjdEZvckxpbmVQb3NpdGlvbihjb25zdCBJbmxpbmVJdGVyYXRv
cjo6TGluZUl0ZXJhdG9yJiBsaW5lLCBmbG9hdCBsb2dpY2FsTGVmdFBvc2l0aW9uLCBDYXJldFJl
Y3RNb2RlIGNhcmV0UmVjdE1vZGUpCiB7CiAgICAgYXV0byYgY29udGFpbmluZ0Jsb2NrID0gbGlu
ZS0+Y29udGFpbmluZ0Jsb2NrKCk7Ci0gICAgYXV0byBsaW5lU2VsZWN0aW9uUmVjdCA9IGxpbmUt
PnNlbGVjdGlvbkxvZ2ljYWxSZWN0KCk7CisgICAgYXV0byBsaW5lU2VsZWN0aW9uUmVjdCA9IGxp
bmUtPmVuY2xvc2luZ0xvZ2ljYWxSZWN0KCk7CiAKICAgICBpbnQgaGVpZ2h0ID0gbGluZVNlbGVj
dGlvblJlY3QuaGVpZ2h0KCk7CiAgICAgaW50IHRvcCA9IGxpbmVTZWxlY3Rpb25SZWN0LnkoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MZWdhY3lSb290SW5saW5lQm94
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MZWdhY3lSb290SW5saW5lQm94LmNwcApp
bmRleCA1M2QyNTFmZjFjMjQzZmU3NDc3OTdkYTRhYWYxMTFkYmRmZGFhMjY0Li5jNjY2ZjA4YmI5
ZjE5NmE3ZmUxNTQwZjZjMTNkM2Q4OTlhZGJmMjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvTGVnYWN5Um9vdElubGluZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0xlZ2FjeVJvb3RJbmxpbmVCb3guY3BwCkBAIC01MzMsNyArNTMzLDcgQEAgTGF5
b3V0VW5pdCBMZWdhY3lSb290SW5saW5lQm94OjpzZWxlY3Rpb25Ub3AoRm9ySGl0VGVzdGluZyBm
b3JIaXRUZXN0aW5nKSBjb25zdAogCiBMYXlvdXRVbml0IExlZ2FjeVJvb3RJbmxpbmVCb3g6OnNl
bGVjdGlvblRvcEFkanVzdGVkRm9yUHJlY2VkaW5nQmxvY2soKSBjb25zdAogewotICAgIHJldHVy
biBibG9ja0Zsb3coKS5hZGp1c3RTZWxlY3Rpb25Ub3BGb3JQcmVjZWRpbmdCbG9jayhzZWxlY3Rp
b25Ub3AoKSk7CisgICAgcmV0dXJuIGJsb2NrRmxvdygpLmFkanVzdEVuY2xvc2luZ1RvcEZvclBy
ZWNlZGluZ0Jsb2NrKHNlbGVjdGlvblRvcCgpKTsKIH0KIAogTGF5b3V0VW5pdCBMZWdhY3lSb290
SW5saW5lQm94OjpzZWxlY3Rpb25Cb3R0b20oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA4YTdmYzM4MjM5NGQ0MjYzYmViM2M3ZmMw
MDk0NTUzNzNmYzNjYTIzLi5hYjZiYTE4YWQ2YTA2ODhmNDMwNWUyMjdjOTllYTUyOTE2MzdhNDQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAt
MzAxNCw3ICszMDE0LDcgQEAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJCbG9ja0Zs
b3c6OmlubGluZUJsb2NrQmFzZWxpbmUoTGluZURpcmVjdGlvbk1vZGUKICAgICByZXR1cm4gTGF5
b3V0VW5pdCB7IHN0eWxlKCkub3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgPyBsYXN0
QmFzZWxpbmUgOiBzdGQ6Om1pbihib3hIZWlnaHQsIGxhc3RCYXNlbGluZSkgfTsKIH0KIAotTGF5
b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFkanVzdFNlbGVjdGlvblRvcEZvclByZWNlZGluZ0Js
b2NrKExheW91dFVuaXQgdG9wKSBjb25zdAorTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFk
anVzdEVuY2xvc2luZ1RvcEZvclByZWNlZGluZ0Jsb2NrKExheW91dFVuaXQgdG9wKSBjb25zdAog
ewogICAgIGlmIChzZWxlY3Rpb25TdGF0ZSgpICE9IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3Rh
dGU6Okluc2lkZSAmJiBzZWxlY3Rpb25TdGF0ZSgpICE9IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0
U3RhdGU6OkVuZCkKICAgICAgICAgcmV0dXJuIHRvcDsKQEAgLTMwNjUsNyArMzA2NSw3IEBAIExh
eW91dFVuaXQgUmVuZGVyQmxvY2tGbG93OjphZGp1c3RTZWxlY3Rpb25Ub3BGb3JQcmVjZWRpbmdC
bG9jayhMYXlvdXRVbml0IHRvcCkKICAgICAgICAgaWYgKGxhc3RMaW5lU2VsZWN0aW9uU3RhdGUg
IT0gUmVuZGVyT2JqZWN0OjpIaWdobGlnaHRTdGF0ZTo6SW5zaWRlICYmIGxhc3RMaW5lU2VsZWN0
aW9uU3RhdGUgIT0gUmVuZGVyT2JqZWN0OjpIaWdobGlnaHRTdGF0ZTo6U3RhcnQpCiAgICAgICAg
ICAgICByZXR1cm4gdG9wOwogCi0gICAgICAgIExheW91dFVuaXQgbGFzdExpbmVTZWxlY3Rpb25C
b3R0b20gPSBsYXN0TGluZS0+c2VsZWN0aW9uQm90dG9tKCkgKyBvZmZzZXRUb0Jsb2NrQmVmb3Jl
LmhlaWdodCgpOworICAgICAgICBMYXlvdXRVbml0IGxhc3RMaW5lU2VsZWN0aW9uQm90dG9tID0g
bGFzdExpbmUtPmVuY2xvc2luZ0JvdHRvbSgpICsgb2Zmc2V0VG9CbG9ja0JlZm9yZS5oZWlnaHQo
KTsKICAgICAgICAgdG9wID0gc3RkOjptYXgodG9wLCBsYXN0TGluZVNlbGVjdGlvbkJvdHRvbSk7
CiAgICAgfQogICAgIHJldHVybiB0b3A7CkBAIC0zMTUxLDggKzMxNTEsOCBAQCBHYXBSZWN0cyBS
ZW5kZXJCbG9ja0Zsb3c6OmlubGluZVNlbGVjdGlvbkdhcHMoUmVuZGVyQmxvY2smIHJvb3RCbG9j
aywgY29uc3QgTGF5bwogCiAgICAgLy8gTm93IHBhaW50IHRoZSBnYXBzIGZvciB0aGUgbGluZXMu
CiAgICAgZm9yICg7IGxpbmUgJiYgaGFzU2VsZWN0ZWRDaGlsZHJlbihsaW5lKTsgbGluZS50cmF2
ZXJzZU5leHQoKSkgewotICAgICAgICBMYXlvdXRVbml0IHNlbFRvcCA9ICBsaW5lLT5zZWxlY3Rp
b25Ub3BBZGp1c3RlZEZvclByZWNlZGluZ0Jsb2NrKCk7Ci0gICAgICAgIExheW91dFVuaXQgc2Vs
SGVpZ2h0ID0gbGluZS0+c2VsZWN0aW9uSGVpZ2h0QWRqdXN0ZWRGb3JQcmVjZWRpbmdCbG9jaygp
OworICAgICAgICBMYXlvdXRVbml0IHNlbFRvcCA9ICBsaW5lLT5lbmNsb3NpbmdUb3BBZGp1c3Rl
ZEZvclByZWNlZGluZ0Jsb2NrKCk7CisgICAgICAgIExheW91dFVuaXQgc2VsSGVpZ2h0ID0gbGlu
ZS0+ZW5jbG9zaW5nSGVpZ2h0QWRqdXN0ZWRGb3JQcmVjZWRpbmdCbG9jaygpOwogCiAgICAgICAg
IGlmICghY29udGFpbnNTdGFydCAmJiAhbGFzdFNlbGVjdGVkTGluZSAmJgogICAgICAgICAgICAg
c2VsZWN0aW9uU3RhdGUoKSAhPSBIaWdobGlnaHRTdGF0ZTo6U3RhcnQgJiYgc2VsZWN0aW9uU3Rh
dGUoKSAhPSBIaWdobGlnaHRTdGF0ZTo6Qm90aCAmJiAhaXNSdWJ5QmFzZSgpKQpAQCAtMzE3NCw5
ICszMTc0LDkgQEAgR2FwUmVjdHMgUmVuZGVyQmxvY2tGbG93OjppbmxpbmVTZWxlY3Rpb25HYXBz
KFJlbmRlckJsb2NrJiByb290QmxvY2ssIGNvbnN0IExheW8KIAogICAgIGlmIChsYXN0U2VsZWN0
ZWRMaW5lICYmIHNlbGVjdGlvblN0YXRlKCkgIT0gSGlnaGxpZ2h0U3RhdGU6OkVuZCAmJiBzZWxl
Y3Rpb25TdGF0ZSgpICE9IEhpZ2hsaWdodFN0YXRlOjpCb3RoKSB7CiAgICAgICAgIC8vIFVwZGF0
ZSBvdXIgbGFzdFkgdG8gYmUgdGhlIGJvdHRvbSBvZiB0aGUgbGFzdCBzZWxlY3RlZCBsaW5lLgot
ICAgICAgICBsYXN0TG9naWNhbFRvcCA9IGJsb2NrRGlyZWN0aW9uT2Zmc2V0KHJvb3RCbG9jaywg
b2Zmc2V0RnJvbVJvb3RCbG9jaykgKyBsYXN0U2VsZWN0ZWRMaW5lLT5zZWxlY3Rpb25Cb3R0b20o
KTsKLSAgICAgICAgbGFzdExvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnRTZWxlY3Rpb25PZmZzZXQo
cm9vdEJsb2NrLCBsYXN0U2VsZWN0ZWRMaW5lLT5zZWxlY3Rpb25Cb3R0b20oKSwgY2FjaGUpOwot
ICAgICAgICBsYXN0TG9naWNhbFJpZ2h0ID0gbG9naWNhbFJpZ2h0U2VsZWN0aW9uT2Zmc2V0KHJv
b3RCbG9jaywgbGFzdFNlbGVjdGVkTGluZS0+c2VsZWN0aW9uQm90dG9tKCksIGNhY2hlKTsKKyAg
ICAgICAgbGFzdExvZ2ljYWxUb3AgPSBibG9ja0RpcmVjdGlvbk9mZnNldChyb290QmxvY2ssIG9m
ZnNldEZyb21Sb290QmxvY2spICsgbGFzdFNlbGVjdGVkTGluZS0+ZW5jbG9zaW5nQm90dG9tKCk7
CisgICAgICAgIGxhc3RMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0U2VsZWN0aW9uT2Zmc2V0KHJv
b3RCbG9jaywgbGFzdFNlbGVjdGVkTGluZS0+ZW5jbG9zaW5nQm90dG9tKCksIGNhY2hlKTsKKyAg
ICAgICAgbGFzdExvZ2ljYWxSaWdodCA9IGxvZ2ljYWxSaWdodFNlbGVjdGlvbk9mZnNldChyb290
QmxvY2ssIGxhc3RTZWxlY3RlZExpbmUtPmVuY2xvc2luZ0JvdHRvbSgpLCBjYWNoZSk7CiAgICAg
fQogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zMzgwLDcgKzMzODAsNyBAQCBWaXNpYmxlUG9z
aXRpb24gUmVuZGVyQmxvY2tGbG93Ojpwb3NpdGlvbkZvclBvaW50V2l0aElubGluZUNoaWxkcmVu
KGNvbnN0IExheW91dAogICAgICAgICBsYXN0TGluZVdpdGhDaGlsZHJlbiA9IGxpbmU7CiAKICAg
ICAgICAgLy8gY2hlY2sgaWYgdGhpcyByb290IGxpbmUgYm94IGlzIGxvY2F0ZWQgYXQgdGhpcyB5
IGNvb3JkaW5hdGUKLSAgICAgICAgaWYgKHBvaW50SW5Mb2dpY2FsQ29udGVudHMueSgpIDwgbGlu
ZS0+c2VsZWN0aW9uQm90dG9tKCkgfHwgKGJsb2Nrc0FyZUZsaXBwZWQgJiYgcG9pbnRJbkxvZ2lj
YWxDb250ZW50cy55KCkgPT0gbGluZS0+c2VsZWN0aW9uQm90dG9tKCkpKSB7CisgICAgICAgIGlm
IChwb2ludEluTG9naWNhbENvbnRlbnRzLnkoKSA8IGxpbmUtPmVuY2xvc2luZ0JvdHRvbSgpIHx8
IChibG9ja3NBcmVGbGlwcGVkICYmIHBvaW50SW5Mb2dpY2FsQ29udGVudHMueSgpID09IGxpbmUt
PmVuY2xvc2luZ0JvdHRvbSgpKSkgewogICAgICAgICAgICAgaWYgKGxpbmVzQXJlRmxpcHBlZCkg
ewogICAgICAgICAgICAgICAgIGF1dG8gbmV4dExpbmVXaXRoQ2hpbGRyZW4gPSBsaW5lLT5uZXh0
KCk7CiAgICAgICAgICAgICAgICAgd2hpbGUgKG5leHRMaW5lV2l0aENoaWxkcmVuICYmICFuZXh0
TGluZVdpdGhDaGlsZHJlbi0+Zmlyc3RMZWFmQm94KCkpCkBAIC0zNDA1LDcgKzM0MDUsNyBAQCBW
aXNpYmxlUG9zaXRpb24gUmVuZGVyQmxvY2tGbG93Ojpwb3NpdGlvbkZvclBvaW50V2l0aElubGlu
ZUNoaWxkcmVuKGNvbnN0IExheW91dAogCiAgICAgaWYgKGNsb3Nlc3RSdW4pIHsKICAgICAgICAg
aWYgKG1vdmVDYXJldFRvQm91bmRhcnkpIHsKLSAgICAgICAgICAgIExheW91dFVuaXQgZmlyc3RM
aW5lV2l0aENoaWxkcmVuVG9wID0gc3RkOjptaW4oZmlyc3RMaW5lV2l0aENoaWxkcmVuLT5zZWxl
Y3Rpb25Ub3BGb3JIaXRUZXN0aW5nKCksIExheW91dFVuaXQoZmlyc3RMaW5lV2l0aENoaWxkcmVu
LT50b3AoKSkpOworICAgICAgICAgICAgTGF5b3V0VW5pdCBmaXJzdExpbmVXaXRoQ2hpbGRyZW5U
b3AgPSBzdGQ6Om1pbihmaXJzdExpbmVXaXRoQ2hpbGRyZW4tPmVuY2xvc2luZ1RvcEZvckhpdFRl
c3RpbmcoKSwgTGF5b3V0VW5pdChmaXJzdExpbmVXaXRoQ2hpbGRyZW4tPnRvcCgpKSk7CiAgICAg
ICAgICAgICBpZiAocG9pbnRJbkxvZ2ljYWxDb250ZW50cy55KCkgPCBmaXJzdExpbmVXaXRoQ2hp
bGRyZW5Ub3AKICAgICAgICAgICAgICAgICB8fCAoYmxvY2tzQXJlRmxpcHBlZCAmJiBwb2ludElu
TG9naWNhbENvbnRlbnRzLnkoKSA9PSBmaXJzdExpbmVXaXRoQ2hpbGRyZW5Ub3ApKSB7CiAgICAg
ICAgICAgICAgICAgYXV0byBydW4gPSBmaXJzdExpbmVXaXRoQ2hpbGRyZW4tPmZpcnN0TGVhZkJv
eCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCmluZGV4IGI1
MGFhYTA4NTdmOTFmZDk0MmUyOTNjMjk1NDY1MmJiY2E5ZGYxNDguLmVjZDM1YTFlYzExOTMyZTBm
NjBmMzUxNmE0ZDdkN2FhYTBiOGZiNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93LmgKQEAgLTM5Myw3ICszOTMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgTGF5
b3V0VW5pdCBlbmRQYWRkaW5nV2lkdGhGb3JDYXJldCgpIGNvbnN0OwogCi0gICAgTGF5b3V0VW5p
dCBhZGp1c3RTZWxlY3Rpb25Ub3BGb3JQcmVjZWRpbmdCbG9jayhMYXlvdXRVbml0IHRvcCkgY29u
c3Q7CisgICAgTGF5b3V0VW5pdCBhZGp1c3RFbmNsb3NpbmdUb3BGb3JQcmVjZWRpbmdCbG9jayhM
YXlvdXRVbml0IHRvcCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKICAgICBib29sIHNob3VsZFJlc2V0
TG9naWNhbEhlaWdodEJlZm9yZUxheW91dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmluZGV4IDI0ZGZlNzEw
NGQ4NTM0MWViM2Y5ZDU1MjQ0Yzk4ZTQ1NDAwNzFhOTMuLjAyZWEzM2Q2NjQwYmI0YmIwNTcxNzRk
MThmMjM5MDhkMGY0MGViMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdl
LmNwcApAQCAtMTEwLDggKzExMCw4IEBAIHZvaWQgUmVuZGVySW1hZ2U6OmNvbGxlY3RTZWxlY3Rp
b25HZW9tZXRyaWVzKFZlY3RvcjxTZWxlY3Rpb25HZW9tZXRyeT4mIGdlb21ldHJpCiAgICAgICAg
IH0KICAgICB9IGVsc2UgewogICAgICAgICBhdXRvIGxpbmUgPSBydW4tPmxpbmUoKTsKLSAgICAg
ICAgTGF5b3V0VW5pdCBzZWxlY3Rpb25Ub3AgPSAhY29udGFpbmluZ0Jsb2NrLT5zdHlsZSgpLmlz
RmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkgPyBsaW5lLT5zZWxlY3Rpb25Ub3AoKSAtIGxvZ2lj
YWxUb3AoKSA6IGxvZ2ljYWxCb3R0b20oKSAtIGxpbmUtPnNlbGVjdGlvbkJvdHRvbSgpOwotICAg
ICAgICBpbWFnZVJlY3QgPSBJbnRSZWN0KDAsICBzZWxlY3Rpb25Ub3AsIGxvZ2ljYWxXaWR0aCgp
LCBsaW5lLT5zZWxlY3Rpb25IZWlnaHQoKSk7CisgICAgICAgIExheW91dFVuaXQgc2VsZWN0aW9u
VG9wID0gIWNvbnRhaW5pbmdCbG9jay0+c3R5bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9k
ZSgpID8gbGluZS0+ZW5jbG9zaW5nVG9wKCkgLSBsb2dpY2FsVG9wKCkgOiBsb2dpY2FsQm90dG9t
KCkgLSBsaW5lLT5lbmNsb3NpbmdCb3R0b20oKTsKKyAgICAgICAgaW1hZ2VSZWN0ID0gSW50UmVj
dCgwLCAgc2VsZWN0aW9uVG9wLCBsb2dpY2FsV2lkdGgoKSwgbGluZS0+ZW5jbG9zaW5nSGVpZ2h0
KCkpOwogICAgICAgICBpc0ZpcnN0T25MaW5lID0gIXJ1bi0+cHJldmlvdXNPbkxpbmUoKTsKICAg
ICAgICAgaXNMYXN0T25MaW5lID0gIXJ1bi0+bmV4dE9uTGluZSgpOwogICAgICAgICBMb2dpY2Fs
U2VsZWN0aW9uT2Zmc2V0Q2FjaGVzIGNhY2hlKCpjb250YWluaW5nQmxvY2spOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNwcAppbmRleCAwMzBlMTYzNWQ2ZjZi
ZjlhMTIzZjhiYzdmZDlkMWU5NzM4Y2Y3NzE1Li4yZmM2MzE1NGZhNTNhYmI3NWQ1MzhhYjg1Mjgz
MDA4YzM2YTIwNGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGluZUJyZWFrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJy
ZWFrLmNwcApAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgUmVuZGVyTGluZUJyZWFrOjpjb2xsZWN0
U2VsZWN0aW9uR2VvbWV0cmllcyhWZWN0b3I8U2VsZWN0aW9uR2VvbWV0cnk+JiByZWN0CiAgICAg
ICAgIHJldHVybjsKICAgICBhdXRvIGxpbmUgPSBydW4tPmxpbmUoKTsKIAotICAgIGF1dG8gbGlu
ZVNlbGVjdGlvblJlY3QgPSBsaW5lLT5zZWxlY3Rpb25Mb2dpY2FsUmVjdCgpOworICAgIGF1dG8g
bGluZVNlbGVjdGlvblJlY3QgPSBsaW5lLT5lbmNsb3NpbmdMb2dpY2FsUmVjdCgpOwogICAgIExh
eW91dFJlY3QgcmVjdCA9IEludFJlY3QocnVuLT5sb2dpY2FsTGVmdCgpLCBsaW5lU2VsZWN0aW9u
UmVjdC55KCksIDAsIGxpbmVTZWxlY3Rpb25SZWN0LmhlaWdodCgpKTsKICAgICBpZiAoIWxpbmUt
PmlzSG9yaXpvbnRhbCgpKQogICAgICAgICByZWN0ID0gcmVjdC50cmFuc3Bvc2VkUmVjdCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKaW5kZXggNjk3Yzc0
NTliYWFiMTliZTc4Nzc0MWRkZTEyZmIzOGU3ODJlMGVmNC4uYWM5MjY2NWU1ZTViZWM1YzdjYTM1
MTljY2Y1YmU3M2Q0OGNmZjM5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlcGxhY2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UmVwbGFjZWQuY3BwCkBAIC03MjEsNyArNzIxLDcgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRlclJl
cGxhY2VkOjpwb3NpdGlvbkZvclBvaW50KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwgY29uc3QK
ICAgICBhdXRvIFt0b3AsIGJvdHRvbV0gPSBbJl0gewogICAgICAgICBpZiAoYXV0byBydW4gPSBJ
bmxpbmVJdGVyYXRvcjo6Ym94Rm9yKCp0aGlzKSkgewogICAgICAgICAgICAgYXV0byBsaW5lID0g
cnVuLT5saW5lKCk7Ci0gICAgICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIobGluZS0+c2Vs
ZWN0aW9uVG9wRm9ySGl0VGVzdGluZygpLCBsaW5lLT5zZWxlY3Rpb25Cb3R0b20oKSk7CisgICAg
ICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIobGluZS0+ZW5jbG9zaW5nVG9wRm9ySGl0VGVz
dGluZygpLCBsaW5lLT5lbmNsb3NpbmdCb3R0b20oKSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0
dXJuIHN0ZDo6bWFrZV9wYWlyKGxvZ2ljYWxUb3AoKSwgbG9naWNhbEJvdHRvbSgpKTsKICAgICB9
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggY2UxYjU0MDY3
NWU5ZDBkMmJlMzNkY2RiODA1ZWI3ZWM1OTY5NmMwMS4uZGMyZTRiNGUxZTFkMmQ4MDlhN2MzY2Y3
NDFlZjJhMDYyNmIzNDU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cApAQCAtNjczLDkgKzY3Myw5IEBAIFZpc2libGVQb3NpdGlvbiBSZW5kZXJUZXh0Ojpwb3NpdGlv
bkZvclBvaW50KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwgY29uc3QgUmVuCiAgICAgICAgICAg
ICBydW4udHJhdmVyc2VOZXh0VGV4dEJveCgpOwogCiAgICAgICAgIGF1dG8gbGluZSA9IHJ1bi0+
bGluZSgpOwotICAgICAgICBMYXlvdXRVbml0IHRvcCA9IHN0ZDo6bWluKGxpbmUtPnNlbGVjdGlv
blRvcEZvckhpdFRlc3RpbmcoKSwgbGluZS0+dG9wKCkpOworICAgICAgICBMYXlvdXRVbml0IHRv
cCA9IHN0ZDo6bWluKGxpbmUtPmVuY2xvc2luZ1RvcEZvckhpdFRlc3RpbmcoKSwgbGluZS0+dG9w
KCkpOwogICAgICAgICBpZiAocG9pbnRCbG9ja0RpcmVjdGlvbiA+IHRvcCB8fCAoIWJsb2Nrc0Fy
ZUZsaXBwZWQgJiYgcG9pbnRCbG9ja0RpcmVjdGlvbiA9PSB0b3ApKSB7Ci0gICAgICAgICAgICBM
YXlvdXRVbml0IGJvdHRvbSA9IGxpbmUtPnNlbGVjdGlvbkJvdHRvbSgpOworICAgICAgICAgICAg
TGF5b3V0VW5pdCBib3R0b20gPSBsaW5lLT5lbmNsb3NpbmdCb3R0b20oKTsKICAgICAgICAgICAg
IGlmIChhdXRvIG5leHRMaW5lID0gbGluZS0+bmV4dCgpKQogICAgICAgICAgICAgICAgIGJvdHRv
bSA9IHN0ZDo6bWluKGJvdHRvbSwgbmV4dExpbmUtPnRvcCgpKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKaW5kZXggOGQwZjgwOWNjNDE1MzUyNmIxYTg0
NzRhMDJkNGQ3MjQwMDY3NWUzNy4uZjgxMzVhMDU3ZDk3NDQ4MDgzYjBhODE1MWQzM2NmOWJlZDBm
MWNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwCkBA
IC0yOTAsOCArMjkwLDggQEAgdm9pZCBUZXh0Qm94UGFpbnRlcjo6cGFpbnRCYWNrZ3JvdW5kKHVu
c2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQsIGMKICAgICAvLyBkcmF3IGl0
cyBvd24gaGlnaGxpZ2h0LgogCiAgICAgY29uc3QgYXV0byBsaW5lID0gdGV4dEJveCgpLmxpbmUo
KTsKLSAgICBMYXlvdXRVbml0IHNlbGVjdGlvbkJvdHRvbSA9IGxpbmUtPnNlbGVjdGlvbkJvdHRv
bSgpOwotICAgIExheW91dFVuaXQgc2VsZWN0aW9uVG9wID0gbGluZS0+c2VsZWN0aW9uVG9wQWRq
dXN0ZWRGb3JQcmVjZWRpbmdCbG9jaygpOworICAgIExheW91dFVuaXQgc2VsZWN0aW9uQm90dG9t
ID0gbGluZS0+ZW5jbG9zaW5nQm90dG9tKCk7CisgICAgTGF5b3V0VW5pdCBzZWxlY3Rpb25Ub3Ag
PSBsaW5lLT5lbmNsb3NpbmdUb3BBZGp1c3RlZEZvclByZWNlZGluZ0Jsb2NrKCk7CiAKICAgICAv
LyBVc2Ugc2FtZSB5IHBvc2l0aW9uaW5nIGFuZCBoZWlnaHQgYXMgZm9yIHNlbGVjdGlvbiwgc28g
dGhhdCB3aGVuIHRoZSBzZWxlY3Rpb24gYW5kIHRoaXMgc3VicmFuZ2UgYXJlIG9uCiAgICAgLy8g
dGhlIHNhbWUgd29yZCB0aGVyZSBhcmUgbm8gcGllY2VzIHN0aWNraW5nIG91dC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>