<?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>64043</bug_id>
          
          <creation_ts>2011-07-06 16:40:38 -0700</creation_ts>
          <short_desc>Switch FrameSelection to new Layout Types</short_desc>
          <delta_ts>2011-07-06 19:11:00 -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>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>
          
          <blocked>63567</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>433113</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-07-06 16:40:38 -0700</bug_when>
    <thetext>There are a few classes represented there, and lots of ints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433131</commentid>
    <comment_count>1</comment_count>
      <attachid>99904</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-07-06 17:12:36 -0700</bug_when>
    <thetext>Created attachment 99904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433151</commentid>
    <comment_count>2</comment_count>
      <attachid>99904</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-07-06 18:28:52 -0700</bug_when>
    <thetext>Comment on attachment 99904
Patch

Thanks, Eric.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433158</commentid>
    <comment_count>3</comment_count>
      <attachid>99904</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-06 19:10:56 -0700</bug_when>
    <thetext>Comment on attachment 99904
Patch

Clearing flags on attachment: 99904

Committed r90522: &lt;http://trac.webkit.org/changeset/90522&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433159</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-06 19:11:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99904</attachid>
            <date>2011-07-06 17:12:36 -0700</date>
            <delta_ts>2011-07-06 19:10:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64043-20110706171234.patch</filename>
            <type>text/plain</type>
            <size>18706</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwNTE1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDctMDYgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFN3aXRjaCBGcmFtZVNlbGVj
dGlvbiB0byBuZXcgTGF5b3V0IFR5cGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NDA0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFN3aXRjaGluZyB0aGUgc2VsZWN0aW9uIGNsYXNzZXMgdG8gdGhlIG5l
dyBsYXlvdXQgdHlwZXMuIENoYW5naW5nCisgICAgICAgIE5vWFBvc0ZvclZlcnRpY2FsQXJyb3dO
YXZpZ2F0aW9uIHRvIGEgc3RhdGljIGlubGluZSBzaW5jZSBhcyBpdCBzdG9vZCBpdCB2aW9sYXRl
ZAorICAgICAgICBvdXIgZ2xvYmFsIGluaXRpYWxpemVyIHJ1bGUgd2hlbiBjb252ZXJ0ZWQgdG8g
bnVtZXJpY19saW1pdHMgZnJvbSBJTlRfTUlOLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8g
ZnVuY3Rpb25hbGl0eSBjaGFuZ2VzLgorCisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW9kaWZ5KToKKyAgICAg
ICAgKFdlYkNvcmU6OmFic29sdXRlQ2FyZXRZKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2Vs
ZWN0aW9uOjpsaW5lRGlyZWN0aW9uUG9pbnRGb3JCbG9ja0RpcmVjdGlvbk5hdmlnYXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FyZXRCYXNlOjpjbGVhckNhcmV0UmVjdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDYXJldEJhc2U6OnVwZGF0ZUNhcmV0UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVNlbGVjdGlvbjo6bG9jYWxDYXJldFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FyZXRC
YXNlOjphYnNvbHV0ZUJvdW5kc0ZvckxvY2FsUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6YWJzb2x1dGVDYXJldEJvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpyZXBh
aW50UmVjdEZvckNhcmV0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhcmV0QmFzZTo6Y2FyZXRSZXBh
aW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6cmVjb21wdXRlQ2Fy
ZXRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpwYWludENhcmV0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNhcmV0QmFzZTo6cGFpbnRDYXJldCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVNlbGVjdGlvbjo6Y29udGFpbnMpOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0Nh
cmV0Q29udHJvbGxlcjo6cGFpbnREcmFnQ2FyZXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVT
ZWxlY3Rpb246OmJvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6cmV2
ZWFsU2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDYXJldEJhc2U6OmxvY2FsQ2FyZXRSZWN0V2l0aG91dFVwZGF0ZSk6CisK
IDIwMTEtMDctMDYgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9G
cmFtZVNlbGVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9G
cmFtZVNlbGVjdGlvbi5jcHAJKHJldmlzaW9uIDkwNTA2KQorKysgU291cmNlL1dlYkNvcmUvZWRp
dGluZy9GcmFtZVNlbGVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDcgQEAK
ICNpbmNsdWRlICJUeXBpbmdDb21tYW5kLmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKICNp
bmNsdWRlICJ2aXNpYmxlX3VuaXRzLmgiCisjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8
c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKQEAgLTcyLDcgKzczLDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAot
Y29uc3QgaW50IE5vWFBvc0ZvclZlcnRpY2FsQXJyb3dOYXZpZ2F0aW9uID0gSU5UX01JTjsKK3N0
YXRpYyBpbmxpbmUgTGF5b3V0VW5pdCBOb1hQb3NGb3JWZXJ0aWNhbEFycm93TmF2aWdhdGlvbigp
Cit7CisgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8TGF5b3V0VW5pdD46Om1pbigpOwor
fQogCiBDYXJldEJhc2U6OkNhcmV0QmFzZShDYXJldFZpc2liaWxpdHkgdmlzaWJpbGl0eSkKICAg
ICA6IG1fY2FyZXRSZWN0TmVlZHNVcGRhdGUodHJ1ZSkKQEAgLTkyLDcgKzk2LDcgQEAgYm9vbCBE
cmFnQ2FyZXRDb250cm9sbGVyOjppc0NvbnRlbnRSaWNobAogCiBGcmFtZVNlbGVjdGlvbjo6RnJh
bWVTZWxlY3Rpb24oRnJhbWUqIGZyYW1lKQogICAgIDogbV9mcmFtZShmcmFtZSkKLSAgICAsIG1f
eFBvc0ZvclZlcnRpY2FsQXJyb3dOYXZpZ2F0aW9uKE5vWFBvc0ZvclZlcnRpY2FsQXJyb3dOYXZp
Z2F0aW9uKQorICAgICwgbV94UG9zRm9yVmVydGljYWxBcnJvd05hdmlnYXRpb24oTm9YUG9zRm9y
VmVydGljYWxBcnJvd05hdmlnYXRpb24oKSkKICAgICAsIG1fZ3JhbnVsYXJpdHkoQ2hhcmFjdGVy
R3JhbnVsYXJpdHkpCiAgICAgLCBtX2NhcmV0QmxpbmtUaW1lcih0aGlzLCAmRnJhbWVTZWxlY3Rp
b246OmNhcmV0QmxpbmtUaW1lckZpcmVkKQogICAgICwgbV9hYnNDYXJldEJvdW5kc0RpcnR5KHRy
dWUpCkBAIC0yMDYsNyArMjEwLDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9u
KGNvbnN0IAogCiAgICAgLy8gQWx3YXlzIGNsZWFyIHRoZSB4IHBvc2l0aW9uIHVzZWQgZm9yIHZl
cnRpY2FsIGFycm93IG5hdmlnYXRpb24uCiAgICAgLy8gSXQgd2lsbCBiZSByZXN0b3JlZCBieSB0
aGUgdmVydGljYWwgYXJyb3cgbmF2aWdhdGlvbiBjb2RlIGlmIG5lY2Vzc2FyeS4KLSAgICBtX3hQ
b3NGb3JWZXJ0aWNhbEFycm93TmF2aWdhdGlvbiA9IE5vWFBvc0ZvclZlcnRpY2FsQXJyb3dOYXZp
Z2F0aW9uOworICAgIG1feFBvc0ZvclZlcnRpY2FsQXJyb3dOYXZpZ2F0aW9uID0gTm9YUG9zRm9y
VmVydGljYWxBcnJvd05hdmlnYXRpb24oKTsKICAgICBzZWxlY3RGcmFtZUVsZW1lbnRJblBhcmVu
dElmRnVsbHlTZWxlY3RlZCgpOwogICAgIG5vdGlmeVJlbmRlcmVyT2ZTZWxlY3Rpb25DaGFuZ2Uo
dXNlclRyaWdnZXJlZCk7CiAgICAgbV9mcmFtZS0+ZWRpdG9yKCktPnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24ob2xkU2VsZWN0aW9uLCBvcHRpb25zKTsKQEAgLTgzMyw3ICs4MzcsNyBAQCBib29s
IEZyYW1lU2VsZWN0aW9uOjptb2RpZnkoRUFsdGVyYXRpb24gCiAgICAgLy8gU2V0dGluZyBhIHNl
bGVjdGlvbiB3aWxsIGNsZWFyIGl0LCBzbyBzYXZlIGl0IHRvIHBvc3NpYmx5IHJlc3RvcmUgbGF0
ZXIuCiAgICAgLy8gTm90ZTogdGhlIFNUQVJUIHBvc2l0aW9uIHR5cGUgaXMgYXJiaXRyYXJ5IGJl
Y2F1c2UgaXQgaXMgdW51c2VkLCBpdCB3b3VsZCBiZQogICAgIC8vIHRoZSByZXF1ZXN0ZWQgcG9z
aXRpb24gdHlwZSBpZiB0aGVyZSB3ZXJlIG5vIHhQb3NGb3JWZXJ0aWNhbEFycm93TmF2aWdhdGlv
biBzZXQuCi0gICAgaW50IHggPSBsaW5lRGlyZWN0aW9uUG9pbnRGb3JCbG9ja0RpcmVjdGlvbk5h
dmlnYXRpb24oU1RBUlQpOworICAgIExheW91dFVuaXQgeCA9IGxpbmVEaXJlY3Rpb25Qb2ludEZv
ckJsb2NrRGlyZWN0aW9uTmF2aWdhdGlvbihTVEFSVCk7CiAKICAgICBzd2l0Y2ggKGFsdGVyKSB7
CiAgICAgY2FzZSBBbHRlcmF0aW9uTW92ZToKQEAgLTg2OSw5ICs4NzMsOSBAQCBib29sIEZyYW1l
U2VsZWN0aW9uOjptb2RpZnkoRUFsdGVyYXRpb24gCiB9CiAKIC8vIEZJWE1FOiBNYXliZSBiYXNl
bGluZSB3b3VsZCBiZSBiZXR0ZXI/Ci1zdGF0aWMgYm9vbCBhYnNvbHV0ZUNhcmV0WShjb25zdCBW
aXNpYmxlUG9zaXRpb24gJmMsIGludCAmeSkKK3N0YXRpYyBib29sIGFic29sdXRlQ2FyZXRZKGNv
bnN0IFZpc2libGVQb3NpdGlvbiAmYywgTGF5b3V0VW5pdCAmeSkKIHsKLSAgICBJbnRSZWN0IHJl
Y3QgPSBjLmFic29sdXRlQ2FyZXRCb3VuZHMoKTsKKyAgICBMYXlvdXRSZWN0IHJlY3QgPSBjLmFi
c29sdXRlQ2FyZXRCb3VuZHMoKTsKICAgICBpZiAocmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICB5ID0gcmVjdC55KCkgKyByZWN0LmhlaWdodCgpIC8gMjsKQEAgLTg5
Niw3ICs5MDAsNyBAQCBib29sIEZyYW1lU2VsZWN0aW9uOjptb2RpZnkoRUFsdGVyYXRpb24gCiAg
ICAgd2lsbEJlTW9kaWZpZWQoYWx0ZXIsIGRpcmVjdGlvbiA9PSBEaXJlY3Rpb25VcCA/IERpcmVj
dGlvbkJhY2t3YXJkIDogRGlyZWN0aW9uRm9yd2FyZCk7CiAKICAgICBWaXNpYmxlUG9zaXRpb24g
cG9zOwotICAgIGludCB4UG9zID0gMDsKKyAgICBMYXlvdXRVbml0IHhQb3MgPSAwOwogICAgIHN3
aXRjaCAoYWx0ZXIpIHsKICAgICBjYXNlIEFsdGVyYXRpb25Nb3ZlOgogICAgICAgICBwb3MgPSBW
aXNpYmxlUG9zaXRpb24oZGlyZWN0aW9uID09IERpcmVjdGlvblVwID8gbV9zZWxlY3Rpb24uc3Rh
cnQoKSA6IG1fc2VsZWN0aW9uLmVuZCgpLCBtX3NlbGVjdGlvbi5hZmZpbml0eSgpKTsKQEAgLTkx
MCwxMiArOTE0LDEyIEBAIGJvb2wgRnJhbWVTZWxlY3Rpb246Om1vZGlmeShFQWx0ZXJhdGlvbiAK
ICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgaW50IHN0YXJ0WTsKKyAgICBMYXlvdXRVbml0
IHN0YXJ0WTsKICAgICBpZiAoIWFic29sdXRlQ2FyZXRZKHBvcywgc3RhcnRZKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmIChkaXJlY3Rpb24gPT0gRGlyZWN0aW9uVXApCiAgICAgICAg
IHN0YXJ0WSA9IC1zdGFydFk7Ci0gICAgaW50IGxhc3RZID0gc3RhcnRZOworICAgIExheW91dFVu
aXQgbGFzdFkgPSBzdGFydFk7CiAKICAgICBWaXNpYmxlUG9zaXRpb24gcmVzdWx0OwogICAgIFZp
c2libGVQb3NpdGlvbiBuZXh0OwpAQCAtOTIzLDEyICs5MjcsMTIgQEAgYm9vbCBGcmFtZVNlbGVj
dGlvbjo6bW9kaWZ5KEVBbHRlcmF0aW9uIAogICAgICAgICBuZXh0ID0gKGRpcmVjdGlvbiA9PSBE
aXJlY3Rpb25VcCA/IHByZXZpb3VzTGluZVBvc2l0aW9uIDogbmV4dExpbmVQb3NpdGlvbikocCwg
eFBvcyk7CiAgICAgICAgIGlmIChuZXh0LmlzTnVsbCgpIHx8IG5leHQgPT0gcCkKICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBpbnQgbmV4dFk7CisgICAgICAgIExheW91dFVuaXQgbmV4dFk7
CiAgICAgICAgIGlmICghYWJzb2x1dGVDYXJldFkobmV4dCwgbmV4dFkpKQogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGlmIChkaXJlY3Rpb24gPT0gRGlyZWN0aW9uVXApCiAgICAgICAgICAg
ICBuZXh0WSA9IC1uZXh0WTsKLSAgICAgICAgaWYgKG5leHRZIC0gc3RhcnRZID4gc3RhdGljX2Nh
c3Q8aW50Pih2ZXJ0aWNhbERpc3RhbmNlKSkKKyAgICAgICAgaWYgKG5leHRZIC0gc3RhcnRZID4g
c3RhdGljX2Nhc3Q8TGF5b3V0VW5pdD4odmVydGljYWxEaXN0YW5jZSkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgaWYgKG5leHRZID49IGxhc3RZKSB7CiAgICAgICAgICAgICBsYXN0WSA9
IG5leHRZOwpAQCAtOTU2LDkgKzk2MCw5IEBAIGJvb2wgRnJhbWVTZWxlY3Rpb246Om1vZGlmeShF
QWx0ZXJhdGlvbiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotaW50IEZyYW1lU2VsZWN0aW9uOjps
aW5lRGlyZWN0aW9uUG9pbnRGb3JCbG9ja0RpcmVjdGlvbk5hdmlnYXRpb24oRVBvc2l0aW9uVHlw
ZSB0eXBlKQorTGF5b3V0VW5pdCBGcmFtZVNlbGVjdGlvbjo6bGluZURpcmVjdGlvblBvaW50Rm9y
QmxvY2tEaXJlY3Rpb25OYXZpZ2F0aW9uKEVQb3NpdGlvblR5cGUgdHlwZSkKIHsKLSAgICBpbnQg
eCA9IDA7CisgICAgTGF5b3V0VW5pdCB4ID0gMDsKIAogICAgIGlmIChpc05vbmUoKSkKICAgICAg
ICAgcmV0dXJuIHg7CkBAIC05ODMsNyArOTg3LDcgQEAgaW50IEZyYW1lU2VsZWN0aW9uOjpsaW5l
RGlyZWN0aW9uUG9pbnRGbwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiB4OwogICAg
ICAgICAKLSAgICBpZiAobV94UG9zRm9yVmVydGljYWxBcnJvd05hdmlnYXRpb24gPT0gTm9YUG9z
Rm9yVmVydGljYWxBcnJvd05hdmlnYXRpb24pIHsKKyAgICBpZiAobV94UG9zRm9yVmVydGljYWxB
cnJvd05hdmlnYXRpb24gPT0gTm9YUG9zRm9yVmVydGljYWxBcnJvd05hdmlnYXRpb24oKSkgewog
ICAgICAgICBWaXNpYmxlUG9zaXRpb24gdmlzaWJsZVBvc2l0aW9uKHBvcywgbV9zZWxlY3Rpb24u
YWZmaW5pdHkoKSk7CiAgICAgICAgIC8vIFZpc2libGVQb3NpdGlvbiBjcmVhdGlvbiBjYW4gZmFp
bCBoZXJlIGlmIGEgbm9kZSBjb250YWluaW5nIHRoZSBzZWxlY3Rpb24gYmVjb21lcyB2aXNpYmls
aXR5OmhpZGRlbgogICAgICAgICAvLyBhZnRlciB0aGUgc2VsZWN0aW9uIGlzIGNyZWF0ZWQgYW5k
IGJlZm9yZSB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZC4KQEAgLTEwMzksMTMgKzEwNDMsMTMgQEAg
dm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0RXh0ZW50KGNvbnN0IFBvcwogCiB2b2lkIENhcmV0QmFz
ZTo6Y2xlYXJDYXJldFJlY3QoKQogewotICAgIG1fY2FyZXRMb2NhbFJlY3QgPSBJbnRSZWN0KCk7
CisgICAgbV9jYXJldExvY2FsUmVjdCA9IExheW91dFJlY3QoKTsKIH0KIAogYm9vbCBDYXJldEJh
c2U6OnVwZGF0ZUNhcmV0UmVjdChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFZpc2libGVQb3Np
dGlvbiYgY2FyZXRQb3NpdGlvbikKIHsKICAgICBkb2N1bWVudC0+dXBkYXRlU3R5bGVJZk5lZWRl
ZCgpOwotICAgIG1fY2FyZXRMb2NhbFJlY3QgPSBJbnRSZWN0KCk7CisgICAgbV9jYXJldExvY2Fs
UmVjdCA9IExheW91dFJlY3QoKTsKIAogICAgIG1fY2FyZXRSZWN0TmVlZHNVcGRhdGUgPSBmYWxz
ZTsKIApAQCAtMTA1Niw3ICsxMDYwLDcgQEAgYm9vbCBDYXJldEJhc2U6OnVwZGF0ZUNhcmV0UmVj
dChEb2N1bWVudAogCiAgICAgLy8gRmlyc3QgY29tcHV0ZSBhIHJlY3QgbG9jYWwgdG8gdGhlIHJl
bmRlcmVyIGF0IHRoZSBzZWxlY3Rpb24gc3RhcnQuCiAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJl
cjsKLSAgICBJbnRSZWN0IGxvY2FsUmVjdCA9IGNhcmV0UG9zaXRpb24ubG9jYWxDYXJldFJlY3Qo
cmVuZGVyZXIpOworICAgIExheW91dFJlY3QgbG9jYWxSZWN0ID0gY2FyZXRQb3NpdGlvbi5sb2Nh
bENhcmV0UmVjdChyZW5kZXJlcik7CiAKICAgICAvLyBHZXQgdGhlIHJlbmRlcmVyIHRoYXQgd2ls
bCBiZSByZXNwb25zaWJsZSBmb3IgcGFpbnRpbmcgdGhlIGNhcmV0CiAgICAgLy8gKHdoaWNoIGlz
IGVpdGhlciB0aGUgcmVuZGVyZXIgd2UganVzdCBmb3VuZCwgb3Igb25lIG9mIGl0cyBjb250YWlu
ZXJzKS4KQEAgLTExMDksNyArMTExMyw3IEBAIFJlbmRlck9iamVjdCogRHJhZ0NhcmV0Q29udHJv
bGxlcjo6Y2FyZXQKICAgICByZXR1cm4gQ2FyZXRCYXNlOjpjYXJldFJlbmRlcmVyKG1fcG9zaXRp
b24uZGVlcEVxdWl2YWxlbnQoKS5kZXByZWNhdGVkTm9kZSgpKTsKIH0KIAotSW50UmVjdCBGcmFt
ZVNlbGVjdGlvbjo6bG9jYWxDYXJldFJlY3QoKQorTGF5b3V0UmVjdCBGcmFtZVNlbGVjdGlvbjo6
bG9jYWxDYXJldFJlY3QoKQogewogICAgIGlmIChzaG91bGRVcGRhdGVDYXJldFJlY3QoKSkgewog
ICAgICAgICBpZiAoIWlzQ2FyZXQoKSB8fCBtX3NlbGVjdGlvbi5zdGFydCgpLmlzT3JwaGFuKCkg
fHwgbV9zZWxlY3Rpb24uZW5kKCkuaXNPcnBoYW4oKSkKQEAgLTExMjEsMzUgKzExMjUsMzUgQEAg
SW50UmVjdCBGcmFtZVNlbGVjdGlvbjo6bG9jYWxDYXJldFJlY3QoKQogICAgIHJldHVybiBsb2Nh
bENhcmV0UmVjdFdpdGhvdXRVcGRhdGUoKTsKIH0KIAotSW50UmVjdCBDYXJldEJhc2U6OmFic29s
dXRlQm91bmRzRm9yTG9jYWxSZWN0KE5vZGUqIG5vZGUsIGNvbnN0IEludFJlY3QmIHJlY3QpIGNv
bnN0CitMYXlvdXRSZWN0IENhcmV0QmFzZTo6YWJzb2x1dGVCb3VuZHNGb3JMb2NhbFJlY3QoTm9k
ZSogbm9kZSwgY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkgY29uc3QKIHsKICAgICBSZW5kZXJPYmpl
Y3QqIGNhcmV0UGFpbnRlciA9IGNhcmV0UmVuZGVyZXIobm9kZSk7CiAgICAgaWYgKCFjYXJldFBh
aW50ZXIpCi0gICAgICAgIHJldHVybiBJbnRSZWN0KCk7CisgICAgICAgIHJldHVybiBMYXlvdXRS
ZWN0KCk7CiAgICAgCi0gICAgSW50UmVjdCBsb2NhbFJlY3QocmVjdCk7CisgICAgTGF5b3V0UmVj
dCBsb2NhbFJlY3QocmVjdCk7CiAgICAgaWYgKGNhcmV0UGFpbnRlci0+aXNCb3goKSkKICAgICAg
ICAgdG9SZW5kZXJCb3goY2FyZXRQYWludGVyKS0+ZmxpcEZvcldyaXRpbmdNb2RlKGxvY2FsUmVj
dCk7CiAgICAgcmV0dXJuIGNhcmV0UGFpbnRlci0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFJl
Y3QobG9jYWxSZWN0KSkuZW5jbG9zaW5nQm91bmRpbmdCb3goKTsKIH0KIAotSW50UmVjdCBGcmFt
ZVNlbGVjdGlvbjo6YWJzb2x1dGVDYXJldEJvdW5kcygpCitMYXlvdXRSZWN0IEZyYW1lU2VsZWN0
aW9uOjphYnNvbHV0ZUNhcmV0Qm91bmRzKCkKIHsKICAgICByZWNvbXB1dGVDYXJldFJlY3QoKTsK
ICAgICByZXR1cm4gbV9hYnNDYXJldEJvdW5kczsKIH0KIAotc3RhdGljIEludFJlY3QgcmVwYWlu
dFJlY3RGb3JDYXJldChJbnRSZWN0IGNhcmV0KQorc3RhdGljIExheW91dFJlY3QgcmVwYWludFJl
Y3RGb3JDYXJldChMYXlvdXRSZWN0IGNhcmV0KQogewogICAgIGlmIChjYXJldC5pc0VtcHR5KCkp
Ci0gICAgICAgIHJldHVybiBJbnRSZWN0KCk7CisgICAgICAgIHJldHVybiBMYXlvdXRSZWN0KCk7
CiAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGRpcnR5IHJlY3QgaW50ZXJzZWN0cyB0aGUgYmxvY2sg
dGhhdCBwYWludHMgdGhlIGNhcmV0IGV2ZW4gaW4gdGhlIGNhc2Ugd2hlcmUKICAgICAvLyB0aGUg
Y2FyZXQgaXRzZWxmIGlzIGp1c3Qgb3V0c2lkZSB0aGUgYmxvY2suIFNlZSA8aHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDg2Pi4KICAgICBjYXJldC5pbmZsYXRlWCgx
KTsKICAgICByZXR1cm4gY2FyZXQ7CiB9CiAKLUludFJlY3QgQ2FyZXRCYXNlOjpjYXJldFJlcGFp
bnRSZWN0KE5vZGUqIG5vZGUpIGNvbnN0CitMYXlvdXRSZWN0IENhcmV0QmFzZTo6Y2FyZXRSZXBh
aW50UmVjdChOb2RlKiBub2RlKSBjb25zdAogewogICAgIHJldHVybiBhYnNvbHV0ZUJvdW5kc0Zv
ckxvY2FsUmVjdChub2RlLCByZXBhaW50UmVjdEZvckNhcmV0KGxvY2FsQ2FyZXRSZWN0V2l0aG91
dFVwZGF0ZSgpKSk7CiB9CkBAIC0xMTY2LDEyICsxMTcwLDEyIEBAIGJvb2wgRnJhbWVTZWxlY3Rp
b246OnJlY29tcHV0ZUNhcmV0UmVjdCgKICAgICBpZiAoIXYpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIEludFJlY3Qgb2xkUmVjdCA9IGxvY2FsQ2FyZXRSZWN0V2l0aG91dFVwZGF0ZSgp
OwotICAgIEludFJlY3QgbmV3UmVjdCA9IGxvY2FsQ2FyZXRSZWN0KCk7CisgICAgTGF5b3V0UmVj
dCBvbGRSZWN0ID0gbG9jYWxDYXJldFJlY3RXaXRob3V0VXBkYXRlKCk7CisgICAgTGF5b3V0UmVj
dCBuZXdSZWN0ID0gbG9jYWxDYXJldFJlY3QoKTsKICAgICBpZiAob2xkUmVjdCA9PSBuZXdSZWN0
ICYmICFtX2Fic0NhcmV0Qm91bmRzRGlydHkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IEludFJlY3Qgb2xkQWJzQ2FyZXRCb3VuZHMgPSBtX2Fic0NhcmV0Qm91bmRzOworICAgIExheW91
dFJlY3Qgb2xkQWJzQ2FyZXRCb3VuZHMgPSBtX2Fic0NhcmV0Qm91bmRzOwogICAgIC8vIEZJWE1F
OiBSZW5hbWUgbV9jYXJldFJlY3QgdG8gbV9sb2NhbENhcmV0UmVjdC4KICAgICBtX2Fic0NhcmV0
Qm91bmRzID0gYWJzb2x1dGVCb3VuZHNGb3JMb2NhbFJlY3QobV9zZWxlY3Rpb24uc3RhcnQoKS5k
ZXByZWNhdGVkTm9kZSgpLCBsb2NhbENhcmV0UmVjdFdpdGhvdXRVcGRhdGUoKSk7CiAgICAgbV9h
YnNDYXJldEJvdW5kc0RpcnR5ID0gZmFsc2U7CkBAIC0xMTc5LDcgKzExODMsNyBAQCBib29sIEZy
YW1lU2VsZWN0aW9uOjpyZWNvbXB1dGVDYXJldFJlY3QoCiAgICAgaWYgKG9sZEFic0NhcmV0Qm91
bmRzID09IG1fYWJzQ2FyZXRCb3VuZHMpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
Ci0gICAgSW50UmVjdCBvbGRBYnNvbHV0ZUNhcmV0UmVwYWludEJvdW5kcyA9IG1fYWJzb2x1dGVD
YXJldFJlcGFpbnRCb3VuZHM7CisgICAgTGF5b3V0UmVjdCBvbGRBYnNvbHV0ZUNhcmV0UmVwYWlu
dEJvdW5kcyA9IG1fYWJzb2x1dGVDYXJldFJlcGFpbnRCb3VuZHM7CiAgICAgLy8gV2UgYmVsaWV2
ZSB0aGF0IHdlIG5lZWQgdG8gaW5mbGF0ZSB0aGUgbG9jYWwgcmVjdCBiZWZvcmUgdHJhbnNmb3Jt
aW5nIGl0IHRvIG9idGFpbiB0aGUgcmVwYWludCBib3VuZHMuCiAgICAgbV9hYnNvbHV0ZUNhcmV0
UmVwYWludEJvdW5kcyA9IGNhcmV0UmVwYWludFJlY3QobV9zZWxlY3Rpb24uc3RhcnQoKS5kZXBy
ZWNhdGVkTm9kZSgpKTsKIApAQCAtMTIzMiwyNCArMTIzNiwyNCBAQCB2b2lkIENhcmV0QmFzZTo6
aW52YWxpZGF0ZUNhcmV0UmVjdChOb2RlCiAgICAgfQogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9u
OjpwYWludENhcmV0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9pbnQmIHBh
aW50T2Zmc2V0LCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkKK3ZvaWQgRnJhbWVTZWxlY3Rpb246
OnBhaW50Q2FyZXQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXlvdXRQb2ludCYg
cGFpbnRPZmZzZXQsIGNvbnN0IExheW91dFJlY3QmIGNsaXBSZWN0KQogewogICAgIGlmIChtX3Nl
bGVjdGlvbi5pc0NhcmV0KCkgJiYgbV9jYXJldFBhaW50KQogICAgICAgICBDYXJldEJhc2U6OnBh
aW50Q2FyZXQobV9zZWxlY3Rpb24uc3RhcnQoKS5kZXByZWNhdGVkTm9kZSgpLCBjb250ZXh0LCBw
YWludE9mZnNldCwgY2xpcFJlY3QpOwogfQogCi12b2lkIENhcmV0QmFzZTo6cGFpbnRDYXJldChO
b2RlKiBub2RlLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBwYWlu
dE9mZnNldCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpIGNvbnN0Cit2b2lkIENhcmV0QmFzZTo6
cGFpbnRDYXJldChOb2RlKiBub2RlLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExh
eW91dFBvaW50JiBwYWludE9mZnNldCwgY29uc3QgTGF5b3V0UmVjdCYgY2xpcFJlY3QpIGNvbnN0
CiB7CiAjaWYgRU5BQkxFKFRFWFRfQ0FSRVQpCiAgICAgaWYgKG1fY2FyZXRWaXNpYmlsaXR5ID09
IEhpZGRlbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW50UmVjdCBkcmF3aW5nUmVjdCA9IGxv
Y2FsQ2FyZXRSZWN0V2l0aG91dFVwZGF0ZSgpOworICAgIExheW91dFJlY3QgZHJhd2luZ1JlY3Qg
PSBsb2NhbENhcmV0UmVjdFdpdGhvdXRVcGRhdGUoKTsKICAgICBSZW5kZXJPYmplY3QqIHJlbmRl
cmVyID0gY2FyZXRSZW5kZXJlcihub2RlKTsKICAgICBpZiAocmVuZGVyZXIgJiYgcmVuZGVyZXIt
PmlzQm94KCkpCiAgICAgICAgIHRvUmVuZGVyQm94KHJlbmRlcmVyKS0+ZmxpcEZvcldyaXRpbmdN
b2RlKGRyYXdpbmdSZWN0KTsKICAgICBkcmF3aW5nUmVjdC5tb3ZlQnkocGFpbnRPZmZzZXQpOwot
ICAgIEludFJlY3QgY2FyZXQgPSBpbnRlcnNlY3Rpb24oZHJhd2luZ1JlY3QsIGNsaXBSZWN0KTsK
KyAgICBMYXlvdXRSZWN0IGNhcmV0ID0gaW50ZXJzZWN0aW9uKGRyYXdpbmdSZWN0LCBjbGlwUmVj
dCk7CiAgICAgaWYgKGNhcmV0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xMzM1
LDcgKzEzMzksNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpkZWJ1Z1JlbmRlcmVyKFJlbmRlCiAg
ICAgfQogfQogCi1ib29sIEZyYW1lU2VsZWN0aW9uOjpjb250YWlucyhjb25zdCBJbnRQb2ludCYg
cG9pbnQpCitib29sIEZyYW1lU2VsZWN0aW9uOjpjb250YWlucyhjb25zdCBMYXlvdXRQb2ludCYg
cG9pbnQpCiB7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKTsK
ICAgICAKQEAgLTE3MDYsNyArMTcxMCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldEZvY3Vz
ZWROb2RlSWZOZWUKICAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+
c2V0Rm9jdXNlZE5vZGUoMCwgbV9mcmFtZSk7CiB9CiAKLXZvaWQgRHJhZ0NhcmV0Q29udHJvbGxl
cjo6cGFpbnREcmFnQ2FyZXQoRnJhbWUqIGZyYW1lLCBHcmFwaGljc0NvbnRleHQqIHAsIGNvbnN0
IEludFBvaW50JiBwYWludE9mZnNldCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpIGNvbnN0Cit2
b2lkIERyYWdDYXJldENvbnRyb2xsZXI6OnBhaW50RHJhZ0NhcmV0KEZyYW1lKiBmcmFtZSwgR3Jh
cGhpY3NDb250ZXh0KiBwLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsIGNvbnN0IExh
eW91dFJlY3QmIGNsaXBSZWN0KSBjb25zdAogewogI2lmIEVOQUJMRShURVhUX0NBUkVUKQogICAg
IGlmIChtX3Bvc2l0aW9uLmRlZXBFcXVpdmFsZW50KCkuZGVwcmVjYXRlZE5vZGUoKS0+ZG9jdW1l
bnQoKS0+ZnJhbWUoKSA9PSBmcmFtZSkKQEAgLTE3MzYsOSArMTc0MCw5IEBAIEZsb2F0UmVjdCBG
cmFtZVNlbGVjdGlvbjo6Ym91bmRzKGJvb2wgY2wKICAgICBSZW5kZXJWaWV3KiByb290ID0gbV9m
cmFtZS0+Y29udGVudFJlbmRlcmVyKCk7CiAgICAgRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS0+
dmlldygpOwogICAgIGlmICghcm9vdCB8fCAhdmlldykKLSAgICAgICAgcmV0dXJuIEludFJlY3Qo
KTsKKyAgICAgICAgcmV0dXJuIExheW91dFJlY3QoKTsKIAotICAgIEludFJlY3Qgc2VsZWN0aW9u
UmVjdCA9IHJvb3QtPnNlbGVjdGlvbkJvdW5kcyhjbGlwVG9WaXNpYmxlQ29udGVudCk7CisgICAg
TGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0ID0gcm9vdC0+c2VsZWN0aW9uQm91bmRzKGNsaXBUb1Zp
c2libGVDb250ZW50KTsKICAgICByZXR1cm4gY2xpcFRvVmlzaWJsZUNvbnRlbnQgPyBpbnRlcnNl
Y3Rpb24oc2VsZWN0aW9uUmVjdCwgdmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KCkpIDogc2VsZWN0
aW9uUmVjdDsKIH0KIApAQCAtMTgwMSw3ICsxODA1LDcgQEAgSFRNTEZvcm1FbGVtZW50KiBGcmFt
ZVNlbGVjdGlvbjo6Y3VycmVudAogCiB2b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxTZWxlY3Rp
b24oY29uc3QgU2Nyb2xsQWxpZ25tZW50JiBhbGlnbm1lbnQsIGJvb2wgcmV2ZWFsRXh0ZW50KQog
ewotICAgIEludFJlY3QgcmVjdDsKKyAgICBMYXlvdXRSZWN0IHJlY3Q7CiAKICAgICBzd2l0Y2gg
KHNlbGVjdGlvblR5cGUoKSkgewogICAgIGNhc2UgVmlzaWJsZVNlbGVjdGlvbjo6Tm9TZWxlY3Rp
b246CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCShyZXZpc2lv
biA5MDUwNikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAkod29y
a2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiRWRpdGluZ1N0eWxlLmgi
CiAjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCiAjaW5jbHVk
ZSAiUmFuZ2UuaCIKICNpbmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1ZGUgIlRpbWVy
LmgiCkBAIC01OCwxMyArNTksMTMgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgaW52YWxpZGF0ZUNh
cmV0UmVjdChOb2RlKiwgYm9vbCBjYXJldFJlY3RDaGFuZ2VkID0gZmFsc2UpOwogICAgIHZvaWQg
Y2xlYXJDYXJldFJlY3QoKTsKICAgICBib29sIHVwZGF0ZUNhcmV0UmVjdChEb2N1bWVudCosIGNv
bnN0IFZpc2libGVQb3NpdGlvbiYgY2FyZXRQb3NpdGlvbik7Ci0gICAgSW50UmVjdCBhYnNvbHV0
ZUJvdW5kc0ZvckxvY2FsUmVjdChOb2RlKiwgY29uc3QgSW50UmVjdCYpIGNvbnN0OwotICAgIElu
dFJlY3QgY2FyZXRSZXBhaW50UmVjdChOb2RlKikgY29uc3Q7CisgICAgTGF5b3V0UmVjdCBhYnNv
bHV0ZUJvdW5kc0ZvckxvY2FsUmVjdChOb2RlKiwgY29uc3QgTGF5b3V0UmVjdCYpIGNvbnN0Owor
ICAgIExheW91dFJlY3QgY2FyZXRSZXBhaW50UmVjdChOb2RlKikgY29uc3Q7CiAgICAgYm9vbCBz
aG91bGRSZXBhaW50Q2FyZXQoY29uc3QgUmVuZGVyVmlldyosIGJvb2wgaXNDb250ZW50RWRpdGFi
bGUpIGNvbnN0OwotICAgIHZvaWQgcGFpbnRDYXJldChOb2RlKiwgR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkgY29uc3Q7CisgICAgdm9p
ZCBwYWludENhcmV0KE5vZGUqLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBMYXlvdXRQb2ludCYs
IGNvbnN0IExheW91dFJlY3QmIGNsaXBSZWN0KSBjb25zdDsKICAgICBSZW5kZXJPYmplY3QqIGNh
cmV0UmVuZGVyZXIoTm9kZSopIGNvbnN0OwogCi0gICAgY29uc3QgSW50UmVjdCYgbG9jYWxDYXJl
dFJlY3RXaXRob3V0VXBkYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jYXJldExvY2FsUmVjdDsgfQor
ICAgIGNvbnN0IExheW91dFJlY3QmIGxvY2FsQ2FyZXRSZWN0V2l0aG91dFVwZGF0ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2FyZXRMb2NhbFJlY3Q7IH0KIAogICAgIGJvb2wgc2hvdWxkVXBkYXRlQ2Fy
ZXRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9jYXJldFJlY3ROZWVkc1VwZGF0ZTsgfQogICAgIHZv
aWQgc2V0Q2FyZXRSZWN0TmVlZHNVcGRhdGUoKSB7IG1fY2FyZXRSZWN0TmVlZHNVcGRhdGUgPSB0
cnVlOyB9CkBAIC03NCw3ICs3NSw3IEBAIHByb3RlY3RlZDoKICAgICBDYXJldFZpc2liaWxpdHkg
Y2FyZXRWaXNpYmlsaXR5KCkgY29uc3QgeyByZXR1cm4gbV9jYXJldFZpc2liaWxpdHk7IH0KIAog
cHJpdmF0ZToKLSAgICBJbnRSZWN0IG1fY2FyZXRMb2NhbFJlY3Q7IC8vIGNhcmV0IHJlY3QgaW4g
Y29vcmRzIGxvY2FsIHRvIHRoZSByZW5kZXJlciByZXNwb25zaWJsZSBmb3IgcGFpbnRpbmcgdGhl
IGNhcmV0CisgICAgTGF5b3V0UmVjdCBtX2NhcmV0TG9jYWxSZWN0OyAvLyBjYXJldCByZWN0IGlu
IGNvb3JkcyBsb2NhbCB0byB0aGUgcmVuZGVyZXIgcmVzcG9uc2libGUgZm9yIHBhaW50aW5nIHRo
ZSBjYXJldAogICAgIGJvb2wgbV9jYXJldFJlY3ROZWVkc1VwZGF0ZTsgLy8gdHJ1ZSBpZiBtX2Nh
cmV0UmVjdCAoYW5kIG1fYWJzQ2FyZXRCb3VuZHMgaW4gRnJhbWVTZWxlY3Rpb24pIG5lZWQgdG8g
YmUgY2FsY3VsYXRlZAogICAgIENhcmV0VmlzaWJpbGl0eSBtX2NhcmV0VmlzaWJpbGl0eTsKIH07
CkBAIC04Niw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICBEcmFnQ2FyZXRDb250cm9sbGVyKCk7CiAK
ICAgICBSZW5kZXJPYmplY3QqIGNhcmV0UmVuZGVyZXIoKSBjb25zdDsKLSAgICB2b2lkIHBhaW50
RHJhZ0NhcmV0KEZyYW1lKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmLCBjb25z
dCBJbnRSZWN0JiBjbGlwUmVjdCkgY29uc3Q7CisgICAgdm9pZCBwYWludERyYWdDYXJldChGcmFt
ZSosIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IExheW91dFBvaW50JiwgY29uc3QgTGF5b3V0UmVj
dCYgY2xpcFJlY3QpIGNvbnN0OwogCiAgICAgYm9vbCBpc0NvbnRlbnRFZGl0YWJsZSgpIGNvbnN0
IHsgcmV0dXJuIG1fcG9zaXRpb24ucm9vdEVkaXRhYmxlRWxlbWVudCgpOyB9CiAgICAgYm9vbCBp
c0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpIGNvbnN0OwpAQCAtMTQzLDcgKzE0NCw3IEBAIHB1Ymxp
YzoKICAgICAvLyBDYWxsIHRoaXMgYWZ0ZXIgZG9pbmcgdXNlci10cmlnZ2VyZWQgc2VsZWN0aW9u
cyB0byBtYWtlIGl0IGVhc3kgdG8gZGVsZXRlIHRoZSBmcmFtZSB5b3UgZW50aXJlbHkgc2VsZWN0
ZWQuCiAgICAgdm9pZCBzZWxlY3RGcmFtZUVsZW1lbnRJblBhcmVudElmRnVsbHlTZWxlY3RlZCgp
OwogCi0gICAgYm9vbCBjb250YWlucyhjb25zdCBJbnRQb2ludCYpOworICAgIGJvb2wgY29udGFp
bnMoY29uc3QgTGF5b3V0UG9pbnQmKTsKIAogICAgIFZpc2libGVTZWxlY3Rpb246OlNlbGVjdGlv
blR5cGUgc2VsZWN0aW9uVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2VsZWN0aW9uLnNlbGVjdGlv
blR5cGUoKTsgfQogCkBAIC0xNzIsMTAgKzE3MywxMCBAQCBwdWJsaWM6CiAgICAgUmVuZGVyT2Jq
ZWN0KiBjYXJldFJlbmRlcmVyKCkgY29uc3Q7CiAKICAgICAvLyBDYXJldCByZWN0IGxvY2FsIHRv
IHRoZSBjYXJldCdzIHJlbmRlcmVyCi0gICAgSW50UmVjdCBsb2NhbENhcmV0UmVjdCgpOworICAg
IExheW91dFJlY3QgbG9jYWxDYXJldFJlY3QoKTsKIAogICAgIC8vIEJvdW5kcyBvZiAocG9zc2li
bHkgdHJhbnNmb3JtZWQpIGNhcmV0IGluIGFic29sdXRlIGNvb3JkcwotICAgIEludFJlY3QgYWJz
b2x1dGVDYXJldEJvdW5kcygpOworICAgIExheW91dFJlY3QgYWJzb2x1dGVDYXJldEJvdW5kcygp
OwogICAgIHZvaWQgc2V0Q2FyZXRSZWN0TmVlZHNVcGRhdGUoKSB7IENhcmV0QmFzZTo6c2V0Q2Fy
ZXRSZWN0TmVlZHNVcGRhdGUoKTsgfQogCiAgICAgdm9pZCB3aWxsQmVNb2RpZmllZChFQWx0ZXJh
dGlvbiwgU2VsZWN0aW9uRGlyZWN0aW9uKTsKQEAgLTE5OCw3ICsxOTksNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBjbGVhckNhcmV0UmVjdElmTmVlZGVkKCk7CiAgICAgYm9vbCByZWNvbXB1dGVDYXJl
dFJlY3QoKTsKICAgICB2b2lkIGludmFsaWRhdGVDYXJldFJlY3QoKTsKLSAgICB2b2lkIHBhaW50
Q2FyZXQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRSZWN0JiBj
bGlwUmVjdCk7CisgICAgdm9pZCBwYWludENhcmV0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IExh
eW91dFBvaW50JiwgY29uc3QgTGF5b3V0UmVjdCYgY2xpcFJlY3QpOwogCiAgICAgLy8gVXNlZCB0
byBzdXNwZW5kIGNhcmV0IGJsaW5raW5nIHdoaWxlIHRoZSBtb3VzZSBpcyBkb3duLgogICAgIHZv
aWQgc2V0Q2FyZXRCbGlua2luZ1N1c3BlbmRlZChib29sIHN1c3BlbmRlZCkgeyBtX2lzQ2FyZXRC
bGlua2luZ1N1c3BlbmRlZCA9IHN1c3BlbmRlZDsgfQpAQCAtMjI1LDcgKzIyNiw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldEZvY3VzZWROb2RlSWZOZWVkZWQoKTsKICAgICB2b2lkIG5vdGlmeVJl
bmRlcmVyT2ZTZWxlY3Rpb25DaGFuZ2UoRVVzZXJUcmlnZ2VyZWQpOwogCi0gICAgdm9pZCBwYWlu
dERyYWdDYXJldChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYsIGNvbnN0IEludFJl
Y3QmIGNsaXBSZWN0KSBjb25zdDsKKyAgICB2b2lkIHBhaW50RHJhZ0NhcmV0KEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IExheW91dFBvaW50JiwgY29uc3QgTGF5b3V0UmVjdCYgY2xpcFJlY3QpIGNv
bnN0OwogCiAgICAgRWRpdGluZ1N0eWxlKiB0eXBpbmdTdHlsZSgpIGNvbnN0OwogICAgIFBhc3NS
ZWZQdHI8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24+IGNvcHlUeXBpbmdTdHlsZSgpIGNvbnN0
OwpAQCAtMjYwLDcgKzI2MSw3IEBAIHByaXZhdGU6CiAgICAgVmlzaWJsZVBvc2l0aW9uIG1vZGlm
eU1vdmluZ0xlZnQoVGV4dEdyYW51bGFyaXR5KTsKICAgICBWaXNpYmxlUG9zaXRpb24gbW9kaWZ5
TW92aW5nQmFja3dhcmQoVGV4dEdyYW51bGFyaXR5KTsKIAotICAgIGludCBsaW5lRGlyZWN0aW9u
UG9pbnRGb3JCbG9ja0RpcmVjdGlvbk5hdmlnYXRpb24oRVBvc2l0aW9uVHlwZSk7CisgICAgTGF5
b3V0VW5pdCBsaW5lRGlyZWN0aW9uUG9pbnRGb3JCbG9ja0RpcmVjdGlvbk5hdmlnYXRpb24oRVBv
c2l0aW9uVHlwZSk7CiAgICAgCiAgICAgdm9pZCBub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0
aW9uQ2hhbmdlKCk7CiAKQEAgLTI3NCw3ICsyNzUsNyBAQCBwcml2YXRlOgogCiAgICAgRnJhbWUq
IG1fZnJhbWU7CiAKLSAgICBpbnQgbV94UG9zRm9yVmVydGljYWxBcnJvd05hdmlnYXRpb247Cisg
ICAgTGF5b3V0VW5pdCBtX3hQb3NGb3JWZXJ0aWNhbEFycm93TmF2aWdhdGlvbjsKIAogICAgIFZp
c2libGVTZWxlY3Rpb24gbV9zZWxlY3Rpb247CiAgICAgVGV4dEdyYW51bGFyaXR5IG1fZ3JhbnVs
YXJpdHk7CkBAIC0yODIsOCArMjgzLDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8RWRpdGluZ1N0
eWxlPiBtX3R5cGluZ1N0eWxlOwogCiAgICAgVGltZXI8RnJhbWVTZWxlY3Rpb24+IG1fY2FyZXRC
bGlua1RpbWVyOwotICAgIEludFJlY3QgbV9hYnNDYXJldEJvdW5kczsgLy8gYWJzb2x1dGUgYm91
bmRpbmcgcmVjdCBmb3IgdGhlIGNhcmV0Ci0gICAgSW50UmVjdCBtX2Fic29sdXRlQ2FyZXRSZXBh
aW50Qm91bmRzOworICAgIExheW91dFJlY3QgbV9hYnNDYXJldEJvdW5kczsgLy8gYWJzb2x1dGUg
Ym91bmRpbmcgcmVjdCBmb3IgdGhlIGNhcmV0CisgICAgTGF5b3V0UmVjdCBtX2Fic29sdXRlQ2Fy
ZXRSZXBhaW50Qm91bmRzOwogICAgIGJvb2wgbV9hYnNDYXJldEJvdW5kc0RpcnR5IDogMTsKICAg
ICBib29sIG1fY2FyZXRQYWludCA6IDE7CiAgICAgYm9vbCBtX2lzQ2FyZXRCbGlua2luZ1N1c3Bl
bmRlZCA6IDE7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>