<?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>86599</bug_id>
          
          <creation_ts>2012-05-16 01:55:17 -0700</creation_ts>
          <short_desc>[Refactoring] Remove TreeScopeAdjuster</short_desc>
          <delta_ts>2012-05-17 02:30:13 -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>DOM</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>morrita</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>625148</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-05-16 01:55:17 -0700</bug_when>
    <thetext>According to the discussion held in https://bugs.webkit.org/show_bug.cgi?id=82698, we want to remove TreeScopeAdjuster class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626193</commentid>
    <comment_count>1</comment_count>
      <attachid>142401</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-05-16 20:25:33 -0700</bug_when>
    <thetext>Created attachment 142401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626356</commentid>
    <comment_count>2</comment_count>
      <attachid>142401</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-17 00:58:02 -0700</bug_when>
    <thetext>Comment on attachment 142401
Patch

I loved small classes but...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626397</commentid>
    <comment_count>3</comment_count>
      <attachid>142401</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-17 02:30:09 -0700</bug_when>
    <thetext>Comment on attachment 142401
Patch

Clearing flags on attachment: 142401

Committed r117420: &lt;http://trac.webkit.org/changeset/117420&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626398</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-17 02:30:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142401</attachid>
            <date>2012-05-16 20:25:33 -0700</date>
            <delta_ts>2012-05-17 02:30:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86599-20120517122532.patch</filename>
            <type>text/plain</type>
            <size>21484</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2E1NmM0NzU4Y2U0YjQz
MzQ4YjhhZDJkYWNhMDFjNWQ3ZWNiMjA5Mi4uNTE2OGIyNGFlMWQ1OTQyNTVhZTEzODEwZmNhYzM4
YTJlN2RjMjdjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA1LTE2ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVmYWN0b3Jp
bmddIFJlbW92ZSBUcmVlU2NvcGVBZGp1c3RlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY1OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJdCBzZWVtcyB0aGUgcmlnaHQgcGxhY2Ugb2YgdGhlIG1ldGhv
ZCBvZiBUcmVlU2NvcGVBZGp1c3RlciBhcmUgaW4gVmlzaWJsZVNlbGVjdGlvbgorICAgICAgICBh
bmQgVHJlZVNjb3BlLiBTbyB3ZSBjYW4gcmVtb3ZlIFRyZWVTY29wZUFkanVzdGVyLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBU
YXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogZG9tL0RPTUFsbEluT25lLmNwcDoKKyAgICAgICAgKiBkb20v
VHJlZVNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRyZWVTY29wZTo6YW5jZXN0b3JJblRo
aXNTY29wZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vVHJlZVNjb3BlLmg6
CisgICAgICAgIChUcmVlU2NvcGUpOgorICAgICAgICAqIGRvbS9UcmVlU2NvcGVBZGp1c3Rlci5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogZG9tL1RyZWVTY29wZUFkanVzdGVyLmg6IFJlbW92ZWQu
CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlZpc2libGVTZWxlY3Rpb246OmFkanVzdFBvc2l0aW9uQmVmb3JlKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0UG9zaXRp
b25BZnRlcik6CisgICAgICAgIChXZWJDb3JlOjpWaXNpYmxlU2VsZWN0aW9uOjphZGp1c3RTZWxl
Y3Rpb25Ub0F2b2lkQ3Jvc3NpbmdTaGFkb3dCb3VuZGFyaWVzKToKKyAgICAgICAgKiBlZGl0aW5n
L1Zpc2libGVTZWxlY3Rpb24uaDoKKyAgICAgICAgKFZpc2libGVTZWxlY3Rpb24pOgorICAgICAg
ICAqIHBhZ2UvRE9NU2VsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlbGVjdGlv
bjo6c2hhZG93QWRqdXN0ZWROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlbGVjdGlvbjo6
c2hhZG93QWRqdXN0ZWRPZmZzZXQpOgorCiAyMDEyLTA1LTE2ICBDaHJpcyBSb2dlcnMgIDxjcm9n
ZXJzQGdvb2dsZS5jb20+CiAKICAgICAgICAgQXVkaW9QYXJhbSBtdXN0IHN1cHBvcnQgZmFuLWlu
IChtdWx0aXBsZSBhdWRpbyBjb25uZWN0aW9ucykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOWRl
NDg2NjQ2YmEzZDFkNDMwMzE0YTZkZDYyYTliNjQxMjZiOTRkMS4uN2MzNzg2MDg2Y2FlMTMwMGY2
MDk4ZmNjYTk3MDc3NTlhNTkwYjIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTY0NSw3ICs2
NDUsNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL1RyYW5zZm9ybVNvdXJjZUxpYnhz
bHQuY3BwCiAgICAgZG9tL1RyYXZlcnNhbC5jcHAKICAgICBkb20vVHJlZVNjb3BlLmNwcAotICAg
IGRvbS9UcmVlU2NvcGVBZGp1c3Rlci5jcHAKICAgICBkb20vVHJlZVNjb3BlQWRvcHRlci5jcHAK
ICAgICBkb20vVHJlZVdhbGtlci5jcHAKICAgICBkb20vVUlFdmVudC5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDk1NDQ4Njc1NWVkYzNiYTBlMmMyNzczY2RmMTIxYWM0MTAw
Y2I3MjUuLjVjZWViOTFmMGFlNGI5YzdiMTk2NTc0NGZkNTRiMTEzYzU4YTBkYzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTk4OSw4ICsxOTg5LDYgQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVHJlZURlcHRoTGltaXQuaCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2Nv
cGUuaCBcCi0JU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZUFkanVzdGVyLmNwcCBcCi0JU291
cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZUFkanVzdGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2Rv
bS9UcmVlU2NvcGVBZG9wdGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZUFk
b3B0ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1RyZWVXYWxrZXIuY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CmluZGV4IDdiZDYwMjJiN2E3NTFjNGMwZTUyYjc3YmFlMWNkNjRlOTZlNWY4YzIuLmEwNmQ4YjBi
ZjE2NmEwZmUwY2EyYjQ0ZDU0NDJlY2M3NWQ5MGQyMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNjIwLDcg
KzYyMCw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Ub3VjaExpc3QuY3BwIFwKICAgICBkb20v
VHJhdmVyc2FsLmNwcCBcCiAgICAgZG9tL1RyZWVTY29wZS5jcHAgXAotICAgIGRvbS9UcmVlU2Nv
cGVBZGp1c3Rlci5jcHAgXAogICAgIGRvbS9UcmVlU2NvcGVBZG9wdGVyLmNwcCBcCiAgICAgZG9t
L1RyZWVXYWxrZXIuY3BwIFwKICAgICBkb20vVUlFdmVudC5jcHAgXApAQCAtMTc3NSw3ICsxNzc0
LDYgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL1RyYXZlcnNhbC5oIFwKICAgICBkb20vVHJlZURl
cHRoTGltaXQuaCBcCiAgICAgZG9tL1RyZWVTY29wZS5oIFwKLSAgICBkb20vVHJlZVNjb3BlQWRq
dXN0ZXIuaCBcCiAgICAgZG9tL1RyZWVTY29wZUFkb3B0ZXIuaCBcCiAgICAgZG9tL1RyZWVXYWxr
ZXIuaCBcCiAgICAgZG9tL1VJRXZlbnQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMWNiOGY3ZGNi
MDc0MjFjMzJjYjM0OWNiM2IyMzcyNGI1MDBlNzc0Ny4uMDZhZmRjZmQ4YzAwZTA4OWQ5YmM4ODU3
MmU4MmQ1ZjRjN2M5MWJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNTM5Myw4ICs1MzkzLDYgQEAK
ICAgICAgICAgICAgICdkb20vVHJlZURlcHRoTGltaXQuaCcsCiAgICAgICAgICAgICAnZG9tL1Ry
ZWVTY29wZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9UcmVlU2NvcGUuaCcsCi0gICAgICAgICAg
ICAnZG9tL1RyZWVTY29wZUFkanVzdGVyLmNwcCcsCi0gICAgICAgICAgICAnZG9tL1RyZWVTY29w
ZUFkanVzdGVyLmgnLAogICAgICAgICAgICAgJ2RvbS9UcmVlU2NvcGVBZG9wdGVyLmNwcCcsCiAg
ICAgICAgICAgICAnZG9tL1RyZWVTY29wZUFkb3B0ZXIuaCcsCiAgICAgICAgICAgICAnZG9tL1Ry
ZWVXYWxrZXIuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKaW5kZXggYjkyMDY4YjZjYjVkNzE4YWVjZTNhNjRkYjI1ODJlZmJmZjlhOTU0NC4uNWUy
MDNjZmIyY2FjN2EyZGVlNTM4YWY4OTg2MmRjMmI1ZGVhNjEyMCAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTUzNDkwLDYyICs1MzQ5MCw2IEBA
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxU
cmVlU2NvcGVBZGp1c3Rlci5jcHAiCi0JCQkJPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJ
CT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0J
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4K
LQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
LQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJ
Lz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KLQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgotCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJPC9GaWxlPgotCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxUcmVlU2NvcGVBZGp1c3Rlci5oIgotCQkJCT4K
LQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cVHJlZVNjb3Bl
QWRvcHRlci5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGE5MzBiMDM0
OWY3MDcxMGMxOWMyNmMxYmMyM2MzMTZlYWVlZDU0YWMuLmQzMmU5YWRlODU1NzFmZmYxMjllYmM4
NmI1OTA3OWYyNzJmZTg0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1ODMsOCArMTU4Myw2IEBACiAJCTU1MEEwQkM5MDg1
RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1MEEwQkM3MDg1RjYwMzkwMDczNTNENiAvKiBRdWFs
aWZpZWROYW1lLmNwcCAqLzsgfTsKIAkJNTUwQTBCQ0EwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxp
ZmllZE5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU1MEEwQkM4MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTczRDEzNDcxNENFMzlGRjAw
NTdBQkNBIC8qIEluc3BlY3RvclR5cGVCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3M0QxMzQ1MTRDRTM5RkYwMDU3QUJDQSAvKiBJbnNw
ZWN0b3JUeXBlQnVpbGRlci5jcHAgKi87IH07Ci0JCTU3NDBFODNDMTUzMkRFMTcwMDc2MDYyOCAv
KiBUcmVlU2NvcGVBZGp1c3Rlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1NzQwRTgzQTE1MzJERTE3MDA3NjA2MjggLyogVHJlZVNjb3BlQWRqdXN0
ZXIuY3BwICovOyB9OwotCQk1NzQwRTgzRDE1MzJERTE3MDA3NjA2MjggLyogVHJlZVNjb3BlQWRq
dXN0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
NDBFODNCMTUzMkRFMTcwMDc2MDYyOCAvKiBUcmVlU2NvcGVBZGp1c3Rlci5oICovOyB9OwogCQk1
NzhEQTIwRTE1MjBFQjhDMDA2MTQxQzEgLyogSW5zcGVjdG9yRnJvbnRlbmQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRGNEY1RkZDMTFDQkQzMDEwMEEx
ODZCRiAvKiBJbnNwZWN0b3JGcm9udGVuZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTU3OERBMjBGMTUyMEVCQTMwMDYxNDFDMSAvKiBJbnNwZWN0
b3JUeXBlQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTczRDEzNDYxNENFMzlGRjAwNTdBQkNBIC8qIEluc3BlY3RvclR5cGVCdWlsZGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTdCNzkx
QTMxNEM2QTYyOTAwRjIwMkQxIC8qIENvbnRlbnREaXN0cmlidXRvci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0I3OTE5RjE0QzZBNjI5MDBGMjAy
RDEgLyogQ29udGVudERpc3RyaWJ1dG9yLmNwcCAqLzsgfTsKQEAgLTg2MTEsOCArODYwOSw2IEBA
CiAJCTU1MEEwQkM4MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1YWxpZmllZE5hbWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07
CiAJCTU3M0QxMzQ1MTRDRTM5RkYwMDU3QUJDQSAvKiBJbnNwZWN0b3JUeXBlQnVpbGRlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JUeXBlQnVpbGRl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3M0QxMzQ2MTRDRTM5RkYwMDU3
QUJDQSAvKiBJbnNwZWN0b3JUeXBlQnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbnNwZWN0b3JUeXBlQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk1NzQwRTgzQTE1MzJERTE3MDA3NjA2MjggLyogVHJlZVNjb3BlQWRqdXN0ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJlZVNjb3BlQWRqdXN0ZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1NzQwRTgzQjE1MzJERTE3MDA3NjA2Mjgg
LyogVHJlZVNjb3BlQWRqdXN0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VHJlZVNjb3BlQWRqdXN0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdCNzkx
OUYxNEM2QTYyOTAwRjIwMkQxIC8qIENvbnRlbnREaXN0cmlidXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZW50RGlzdHJpYnV0b3IuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1N0I3OTFBMDE0QzZBNjI5MDBGMjAyRDEgLyogQ29udGVu
dERpc3RyaWJ1dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRE
aXN0cmlidXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0I3OTFBMTE0QzZB
NjI5MDBGMjAyRDEgLyogQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMjEzNTQsOCArMjEzNTAsNiBAQAogCQkJCTM3RkQ0Mjk3MTE4
MzY4NDYwMDkzQzAyOSAvKiBUcmVlRGVwdGhMaW1pdC5oICovLAogCQkJCTE0RDY0QjVBMTM0QTVC
NkIwMEU1OEZEQSAvKiBUcmVlU2NvcGUuY3BwICovLAogCQkJCTE0RDY0QjVCMTM0QTVCNkIwMEU1
OEZEQSAvKiBUcmVlU2NvcGUuaCAqLywKLQkJCQk1NzQwRTgzQTE1MzJERTE3MDA3NjA2MjggLyog
VHJlZVNjb3BlQWRqdXN0ZXIuY3BwICovLAotCQkJCTU3NDBFODNCMTUzMkRFMTcwMDc2MDYyOCAv
KiBUcmVlU2NvcGVBZGp1c3Rlci5oICovLAogCQkJCUE3N0UxRkVEMTRBQUNCNkUwMDVCN0NCNiAv
KiBUcmVlU2NvcGVBZG9wdGVyLmNwcCAqLywKIAkJCQlBNzdFMUZFRTE0QUFDQjZFMDA1QjdDQjYg
LyogVHJlZVNjb3BlQWRvcHRlci5oICovLAogCQkJCTg1NEZFNzJFMEEyMjk3QkUwMDU4RDdBRCAv
KiBUcmVlV2Fsa2VyLmNwcCAqLywKQEAgLTI0NzE0LDcgKzI0NzA4LDYgQEAKIAkJCQk4NTRGRTcz
NzBBMjI5N0JFMDA1OEQ3QUQgLyogVHJhdmVyc2FsLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0ZE
NDI5ODExODM2ODQ2MDA5M0MwMjkgLyogVHJlZURlcHRoTGltaXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTE0RDY0QjVEMTM0QTVCNkIwMEU1OEZEQSAvKiBUcmVlU2NvcGUuaCBpbiBIZWFkZXJzICov
LAotCQkJCTU3NDBFODNEMTUzMkRFMTcwMDc2MDYyOCAvKiBUcmVlU2NvcGVBZGp1c3Rlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTc3RTFGRjAxNEFBQ0I2RTAwNUI3Q0I2IC8qIFRyZWVTY29wZUFk
b3B0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0MTlEMkM1MENFQTZGNjEwMEZGNTA3QSAvKiBU
cmVlU2hhcmVkLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTRGRTczOTBBMjI5N0JFMDA1OEQ3QUQg
LyogVHJlZVdhbGtlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzc2OSw3ICsyNzc2Miw2IEBACiAJ
CQkJNDlFOTExRDEwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NTRGRTczNjBBMjI5N0JFMDA1OEQ3QUQgLyogVHJh
dmVyc2FsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0RDY0QjVDMTM0QTVCNkIwMEU1OEZEQSAv
KiBUcmVlU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTc0MEU4M0MxNTMyREUxNzAwNzYw
NjI4IC8qIFRyZWVTY29wZUFkanVzdGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3N0UxRkVG
MTRBQUNCNkUwMDVCN0NCNiAvKiBUcmVlU2NvcGVBZG9wdGVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTg1NEZFNzM4MEEyMjk3QkUwMDU4RDdBRCAvKiBUcmVlV2Fsa2VyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzMzA5RTE5MDk5RTY0OTIwMDU2RTU4MSAvKiBUeXBpbmdDb21tYW5kLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25l
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKaW5kZXggNmY2NWMwMDEz
NjM3ZmMzZjRkNjIwYTI0ODA0N2I4YzI1YjUwYWEyYy4uMzIwYWVmOTgyMDlhNWViODRhN2U3NTI4
ZmNiM2I1NjQ5Njg1ODc3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbElu
T25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCkBAIC0xMzMs
NyArMTMzLDYgQEAKICNpbmNsdWRlICJUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCIKICNpbmNs
dWRlICJUcmF2ZXJzYWwuY3BwIgogI2luY2x1ZGUgIlRyZWVTY29wZS5jcHAiCi0jaW5jbHVkZSAi
VHJlZVNjb3BlQWRqdXN0ZXIuY3BwIgogI2luY2x1ZGUgIlRyZWVTY29wZUFkb3B0ZXIuY3BwIgog
I2luY2x1ZGUgIlRyZWVXYWxrZXIuY3BwIgogI2luY2x1ZGUgIlVJRXZlbnQuY3BwIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVHJlZVNjb3BlLmNwcAppbmRleCA4YjNkMTVlODU5YmJkZGVkMzlmZWIxY2ViOGE0MGRkMDc3
ZTUwYjk0Li4wNzQwOWYwNjZkYTE2YTk0OTk5MzI1YzdjNWU2YmVmMzExOWEyZDFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVHJlZVNjb3BlLmNwcApAQCAtOTYsNiArOTYsMTkgQEAgdm9pZCBUcmVlU2NvcGU6OnJl
bW92ZUVsZW1lbnRCeUlkKGNvbnN0IEF0b21pY1N0cmluZyYgZWxlbWVudElkLCBFbGVtZW50KiBl
bGVtZW4KICAgICBtX2VsZW1lbnRzQnlJZC5yZW1vdmUoZWxlbWVudElkLmltcGwoKSwgZWxlbWVu
dCk7CiB9CiAKK05vZGUqIFRyZWVTY29wZTo6YW5jZXN0b3JJblRoaXNTY29wZShOb2RlKiBub2Rl
KSBjb25zdAoreworICAgIHdoaWxlIChub2RlKSB7CisgICAgICAgIGlmIChub2RlLT50cmVlU2Nv
cGUoKSA9PSB0aGlzKQorICAgICAgICAgICAgcmV0dXJuIG5vZGU7CisgICAgICAgIGlmICghbm9k
ZS0+aXNJblNoYWRvd1RyZWUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBub2Rl
ID0gbm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9
CisKIHZvaWQgVHJlZVNjb3BlOjphZGRJbWFnZU1hcChIVE1MTWFwRWxlbWVudCogaW1hZ2VNYXAp
CiB7CiAgICAgQXRvbWljU3RyaW5nSW1wbCogbmFtZSA9IGltYWdlTWFwLT5nZXROYW1lKCkuaW1w
bCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCmluZGV4IDk5MjA5MzI2OTZkMjJjMTQ4YWVhODcyOTNh
MDA0NjU0Yjk0YWFhMTEuLmU0YzRlZjNiMmI4NDhmMjQ1ZWZkODc3MzQ5NGEzZjM0OGVlYzgxNWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVHJlZVNjb3BlLmgKQEAgLTU1LDYgKzU1LDggQEAgcHVibGljOgogICAgIHZv
aWQgYWRkRWxlbWVudEJ5SWQoY29uc3QgQXRvbWljU3RyaW5nJiBlbGVtZW50SWQsIEVsZW1lbnQq
KTsKICAgICB2b2lkIHJlbW92ZUVsZW1lbnRCeUlkKGNvbnN0IEF0b21pY1N0cmluZyYgZWxlbWVu
dElkLCBFbGVtZW50Kik7CiAKKyAgICBOb2RlKiBhbmNlc3RvckluVGhpc1Njb3BlKE5vZGUqKSBj
b25zdDsKKwogICAgIHZvaWQgYWRkSW1hZ2VNYXAoSFRNTE1hcEVsZW1lbnQqKTsKICAgICB2b2lk
IHJlbW92ZUltYWdlTWFwKEhUTUxNYXBFbGVtZW50Kik7CiAgICAgSFRNTE1hcEVsZW1lbnQqIGdl
dEltYWdlTWFwKGNvbnN0IFN0cmluZyYgdXJsKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UcmVlU2NvcGVBZGp1c3Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJl
ZVNjb3BlQWRqdXN0ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzExZmRk
YTM3NTRkODUzZDk5NGRmMGNlOWEyZmVjNTgyYzQ5OGQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZGp1
c3Rlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJUcmVlU2NvcGVBZGp1c3Rlci5oIgotCi0jaW5jbHVkZSAiTm9kZS5oIgotI2luY2x1ZGUg
IlRyZWVTY29wZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVRyZWVTY29wZUFkanVzdGVy
OjpUcmVlU2NvcGVBZGp1c3Rlcihjb25zdCBUcmVlU2NvcGUqIHRyZWVTY29wZSkKLSAgICA6IG1f
dHJlZVNjb3BlKHRyZWVTY29wZSkKLXsKLX0KLQotTm9kZSogVHJlZVNjb3BlQWRqdXN0ZXI6OmFu
Y2VzdG9ySW5UaGlzU2NvcGUoTm9kZSogbm9kZSkKLXsKLSAgICB3aGlsZSAobm9kZSkgewotICAg
ICAgICBpZiAobm9kZS0+dHJlZVNjb3BlKCkgPT0gdHJlZVNjb3BlKCkpCi0gICAgICAgICAgICBy
ZXR1cm4gbm9kZTsKLSAgICAgICAgaWYgKCFub2RlLT5pc0luU2hhZG93VHJlZSgpKQotICAgICAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIG5vZGUgPSBub2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUo
KTsKLSAgICB9Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotUG9zaXRpb24gVHJlZVNjb3BlQWRqdXN0
ZXI6OmFkanVzdFBvc2l0aW9uQmVmb3JlKGNvbnN0IFBvc2l0aW9uJiBjdXJyZW50UG9zaXRpb24p
Ci17Ci0gICAgaWYgKE5vZGUqIGFuY2VzdG9yID0gYW5jZXN0b3JJblRoaXNTY29wZShjdXJyZW50
UG9zaXRpb24uYW5jaG9yTm9kZSgpKSkKLSAgICAgICAgcmV0dXJuIHBvc2l0aW9uQmVmb3JlTm9k
ZShhbmNlc3Rvcik7Ci0KLSAgICBpZiAoTm9kZSogbGFzdENoaWxkID0gdHJlZVNjb3BlKCktPnJv
b3ROb2RlKCktPmxhc3RDaGlsZCgpKQotICAgICAgICByZXR1cm4gcG9zaXRpb25BZnRlck5vZGUo
bGFzdENoaWxkKTsKLQotICAgIHJldHVybiBQb3NpdGlvbigpOwotfQotCi1Qb3NpdGlvbiBUcmVl
U2NvcGVBZGp1c3Rlcjo6YWRqdXN0UG9zaXRpb25BZnRlcihjb25zdCBQb3NpdGlvbiYgY3VycmVu
dFBvc2l0aW9uKQotewotICAgIGlmIChOb2RlKiBhbmNlc3RvciA9IGFuY2VzdG9ySW5UaGlzU2Nv
cGUoY3VycmVudFBvc2l0aW9uLmFuY2hvck5vZGUoKSkpCi0gICAgICAgIHJldHVybiBwb3NpdGlv
bkFmdGVyTm9kZShhbmNlc3Rvcik7Ci0KLSAgICBpZiAoTm9kZSogZmlyc3RDaGlsZCA9IHRyZWVT
Y29wZSgpLT5yb290Tm9kZSgpLT5maXJzdENoaWxkKCkpCi0gICAgICAgIHJldHVybiBwb3NpdGlv
bkJlZm9yZU5vZGUoZmlyc3RDaGlsZCk7Ci0KLSAgICByZXR1cm4gUG9zaXRpb24oKTsKLX0KLQot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VHJlZVNjb3BlQWRqdXN0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZGp1c3Rl
ci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNzY4OTUxNDVlNjVjY2NhZGUzMjA1
MmFkYWNlNDBlNDFkZmM4NmE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZGp1c3Rlci5oCisrKyAvZGV2
L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaWZuZGVmIFRyZWVTY29wZUFkanVzdGVyX2gKLSNkZWZpbmUgVHJlZVNj
b3BlQWRqdXN0ZXJfaAotCi0jaW5jbHVkZSAiUG9zaXRpb24uaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1jbGFzcyBOb2RlOwotY2xhc3MgVHJlZVNjb3BlOwotCi1jbGFzcyBUcmVlU2NvcGVB
ZGp1c3RlciB7Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgVHJlZVNjb3BlQWRqdXN0ZXIoY29uc3Qg
VHJlZVNjb3BlKik7Ci0KLSAgICBpbmxpbmUgY29uc3QgVHJlZVNjb3BlKiB0cmVlU2NvcGUoKSBj
b25zdCB7IHJldHVybiBtX3RyZWVTY29wZTsgfQotCi0gICAgTm9kZSogYW5jZXN0b3JJblRoaXNT
Y29wZShOb2RlKik7Ci0KLSAgICBQb3NpdGlvbiBhZGp1c3RQb3NpdGlvbkJlZm9yZShjb25zdCBQ
b3NpdGlvbiYpOwotICAgIFBvc2l0aW9uIGFkanVzdFBvc2l0aW9uQWZ0ZXIoY29uc3QgUG9zaXRp
b24mKTsKLQotcHJpdmF0ZToKLSAgICBjb25zdCBUcmVlU2NvcGUqIG1fdHJlZVNjb3BlOwotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gVHJlZVNjb3BlQWRqdXN0ZXJf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHAKaW5kZXggMDli
ZWY5MDI2YWUwOTVhZTJlNjdhODU5ZDE5Mjg0NTRmMjdiMDZjMC4uNmU2OGMzNTBiNDhiY2NkNjE5
YzM4ODMzNDRmYTAzNzg4NzI5MmZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9WaXNpYmxlU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2li
bGVTZWxlY3Rpb24uY3BwCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRWxlbWVudC5oIgog
I2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCi0jaW5j
bHVkZSAiVHJlZVNjb3BlQWRqdXN0ZXIuaCIKICNpbmNsdWRlICJWaXNpYmxlUG9zaXRpb24uaCIK
ICNpbmNsdWRlICJ2aXNpYmxlX3VuaXRzLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKQEAgLTQxMSw2
ICs0MTAsMjggQEAgdm9pZCBWaXNpYmxlU2VsZWN0aW9uOjp1cGRhdGVTZWxlY3Rpb25UeXBlKCkK
ICAgICAgICAgbV9hZmZpbml0eSA9IERPV05TVFJFQU07CiB9CiAKK1Bvc2l0aW9uIFZpc2libGVT
ZWxlY3Rpb246OmFkanVzdFBvc2l0aW9uQmVmb3JlKFRyZWVTY29wZSogdHJlZVNjb3BlLCBjb25z
dCBQb3NpdGlvbiYgY3VycmVudFBvc2l0aW9uKQoreworICAgIGlmIChOb2RlKiBhbmNlc3RvciA9
IHRyZWVTY29wZS0+YW5jZXN0b3JJblRoaXNTY29wZShjdXJyZW50UG9zaXRpb24uYW5jaG9yTm9k
ZSgpKSkKKyAgICAgICAgcmV0dXJuIHBvc2l0aW9uQmVmb3JlTm9kZShhbmNlc3Rvcik7CisKKyAg
ICBpZiAoTm9kZSogbGFzdENoaWxkID0gdHJlZVNjb3BlLT5yb290Tm9kZSgpLT5sYXN0Q2hpbGQo
KSkKKyAgICAgICAgcmV0dXJuIHBvc2l0aW9uQWZ0ZXJOb2RlKGxhc3RDaGlsZCk7CisKKyAgICBy
ZXR1cm4gUG9zaXRpb24oKTsKK30KKworUG9zaXRpb24gVmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0
UG9zaXRpb25BZnRlcihUcmVlU2NvcGUqIHRyZWVTY29wZSwgY29uc3QgUG9zaXRpb24mIGN1cnJl
bnRQb3NpdGlvbikKK3sKKyAgICBpZiAoTm9kZSogYW5jZXN0b3IgPSB0cmVlU2NvcGUtPmFuY2Vz
dG9ySW5UaGlzU2NvcGUoY3VycmVudFBvc2l0aW9uLmFuY2hvck5vZGUoKSkpCisgICAgICAgIHJl
dHVybiBwb3NpdGlvbkFmdGVyTm9kZShhbmNlc3Rvcik7CisKKyAgICBpZiAoTm9kZSogZmlyc3RD
aGlsZCA9IHRyZWVTY29wZS0+cm9vdE5vZGUoKS0+Zmlyc3RDaGlsZCgpKQorICAgICAgICByZXR1
cm4gcG9zaXRpb25CZWZvcmVOb2RlKGZpcnN0Q2hpbGQpOworCisgICAgcmV0dXJuIFBvc2l0aW9u
KCk7Cit9CisKIHZvaWQgVmlzaWJsZVNlbGVjdGlvbjo6dmFsaWRhdGUoVGV4dEdyYW51bGFyaXR5
IGdyYW51bGFyaXR5KQogewogICAgIHNldEJhc2VBbmRFeHRlbnRUb0RlZXBFcXVpdmFsZW50cygp
OwpAQCAtNDY2LDEwICs0ODcsMTAgQEAgdm9pZCBWaXNpYmxlU2VsZWN0aW9uOjphZGp1c3RTZWxl
Y3Rpb25Ub0F2b2lkQ3Jvc3NpbmdTaGFkb3dCb3VuZGFyaWVzKCkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKG1fYmFzZUlzRmlyc3QpIHsKLSAgICAgICAgbV9leHRlbnQgPSBUcmVlU2NvcGVB
ZGp1c3RlcihtX3N0YXJ0LmFuY2hvck5vZGUoKS0+dHJlZVNjb3BlKCkpLmFkanVzdFBvc2l0aW9u
QmVmb3JlKG1fZW5kKTsKKyAgICAgICAgbV9leHRlbnQgPSBhZGp1c3RQb3NpdGlvbkJlZm9yZSht
X3N0YXJ0LmFuY2hvck5vZGUoKS0+dHJlZVNjb3BlKCksIG1fZW5kKTsKICAgICAgICAgbV9lbmQg
PSBtX2V4dGVudDsKICAgICB9IGVsc2UgewotICAgICAgICBtX2V4dGVudCA9IFRyZWVTY29wZUFk
anVzdGVyKG1fZW5kLmFuY2hvck5vZGUoKS0+dHJlZVNjb3BlKCkpLmFkanVzdFBvc2l0aW9uQWZ0
ZXIobV9zdGFydCk7CisgICAgICAgIG1fZXh0ZW50ID0gYWRqdXN0UG9zaXRpb25BZnRlcihtX2Vu
ZC5hbmNob3JOb2RlKCktPnRyZWVTY29wZSgpLCBtX3N0YXJ0KTsKICAgICAgICAgbV9zdGFydCA9
IG1fZXh0ZW50OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9W
aXNpYmxlU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rp
b24uaAppbmRleCA4YzgxMGRhNGRkMTk3ZTMxY2Y2YTVmNmY4YjhiODgyNjI5N2JiN2VmLi4yMTk5
OWJiM2NhZDRjMzQ1YTE5YWVjMzRkNjdlOWU1NGNiYmM2ZDIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaApAQCAtMTIyLDYgKzEyMiw5IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBhZGp1c3RTZWxlY3Rpb25Ub0F2b2lkQ3Jvc3NpbmdFZGl0aW5nQm91bmRhcmllcygp
OwogICAgIHZvaWQgdXBkYXRlU2VsZWN0aW9uVHlwZSgpOwogCisgICAgUG9zaXRpb24gYWRqdXN0
UG9zaXRpb25CZWZvcmUoVHJlZVNjb3BlKiwgY29uc3QgUG9zaXRpb24mKTsKKyAgICBQb3NpdGlv
biBhZGp1c3RQb3NpdGlvbkFmdGVyKFRyZWVTY29wZSosIGNvbnN0IFBvc2l0aW9uJik7CisKICAg
ICAvLyBXZSBuZWVkIHRvIHN0b3JlIHRoZXNlIGFzIFBvc2l0aW9ucyBiZWNhdXNlIFZpc2libGVT
ZWxlY3Rpb24gaXMKICAgICAvLyB1c2VkIHRvIHN0b3JlIHZhbHVlcyBpbiBlZGl0aW5nIGNvbW1h
bmRzIGZvciB1c2Ugd2hlbgogICAgIC8vIHVuZG9pbmcgdGhlIGNvbW1hbmQuIFdlIG5lZWQgdG8g
YmUgYWJsZSB0byBjcmVhdGUgYSBzZWxlY3Rpb24gdGhhdCwgd2hpbGUgY3VycmVudGx5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAKaW5kZXggODM1OGRjZTAzNTM1Mjg2ZmZlYzhiODIz
NmJmNGNlZjU4NzBkYWI3Ny4uNTlmMjY2ZjQxMDE3M2IyYTlkZmIzNjVjNjY2ZGZiZWZhYzgwMTIx
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNwcApAQCAtNDAsNyArNDAsNiBAQAog
I2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAi
VHJlZVNjb3BlLmgiCi0jaW5jbHVkZSAiVHJlZVNjb3BlQWRqdXN0ZXIuaCIKICNpbmNsdWRlICJo
dG1sZWRpdGluZy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MDYsNyArNTA1LDcgQEAg
Tm9kZSogRE9NU2VsZWN0aW9uOjpzaGFkb3dBZGp1c3RlZE5vZGUoY29uc3QgUG9zaXRpb24mIHBv
c2l0aW9uKSBjb25zdAogICAgICAgICByZXR1cm4gMDsKIAogICAgIE5vZGUqIGNvbnRhaW5lck5v
ZGUgPSBwb3NpdGlvbi5jb250YWluZXJOb2RlKCk7Ci0gICAgTm9kZSogYWRqdXN0ZWROb2RlID0g
VHJlZVNjb3BlQWRqdXN0ZXIobV90cmVlU2NvcGUpLmFuY2VzdG9ySW5UaGlzU2NvcGUoY29udGFp
bmVyTm9kZSk7CisgICAgTm9kZSogYWRqdXN0ZWROb2RlID0gbV90cmVlU2NvcGUtPmFuY2VzdG9y
SW5UaGlzU2NvcGUoY29udGFpbmVyTm9kZSk7CiAKICAgICBpZiAoIWFkanVzdGVkTm9kZSkKICAg
ICAgICAgcmV0dXJuIDA7CkBAIC01MjMsNyArNTIyLDcgQEAgaW50IERPTVNlbGVjdGlvbjo6c2hh
ZG93QWRqdXN0ZWRPZmZzZXQoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKSBjb25zdAogICAgICAg
ICByZXR1cm4gMDsKIAogICAgIE5vZGUqIGNvbnRhaW5lck5vZGUgPSBwb3NpdGlvbi5jb250YWlu
ZXJOb2RlKCk7Ci0gICAgTm9kZSogYWRqdXN0ZWROb2RlID0gVHJlZVNjb3BlQWRqdXN0ZXIobV90
cmVlU2NvcGUpLmFuY2VzdG9ySW5UaGlzU2NvcGUoY29udGFpbmVyTm9kZSk7CisgICAgTm9kZSog
YWRqdXN0ZWROb2RlID0gbV90cmVlU2NvcGUtPmFuY2VzdG9ySW5UaGlzU2NvcGUoY29udGFpbmVy
Tm9kZSk7CiAKICAgICBpZiAoIWFkanVzdGVkTm9kZSkKICAgICAgICAgcmV0dXJuIDA7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>