<?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>78457</bug_id>
          
          <creation_ts>2012-02-12 22:00:16 -0800</creation_ts>
          <short_desc>Move ENABLE(GAMEPAD) logic out of Navigator.h/cpp</short_desc>
          <delta_ts>2012-02-12 23:03:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <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>555007</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-12 22:00:16 -0800</bug_when>
    <thetext>Move ENABLE(GAMEPAD) logic out of Navigator.h/cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555008</commentid>
    <comment_count>1</comment_count>
      <attachid>126713</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-12 22:00:54 -0800</bug_when>
    <thetext>Created attachment 126713
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555009</commentid>
    <comment_count>2</comment_count>
      <attachid>126714</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-12 22:02:30 -0800</bug_when>
    <thetext>Created attachment 126714
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555013</commentid>
    <comment_count>3</comment_count>
      <attachid>126716</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-12 22:19:02 -0800</bug_when>
    <thetext>Created attachment 126716
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555019</commentid>
    <comment_count>4</comment_count>
      <attachid>126716</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-12 22:23:35 -0800</bug_when>
    <thetext>Comment on attachment 126716
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=126716&amp;action=review

Basically looks good. And thanks for cleaning up PageSupplement.

&gt; Source/WebCore/ChangeLog:19
&gt; +        * WebCore.gypi:

Don&apos;t miss WebCore.xcodeproj/project.pbxproj.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555021</commentid>
    <comment_count>5</comment_count>
      <attachid>126718</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-12 22:27:59 -0800</bug_when>
    <thetext>Created attachment 126718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555028</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-12 23:03:22 -0800</bug_when>
    <thetext>Committed r107536: &lt;http://trac.webkit.org/changeset/107536&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126713</attachid>
            <date>2012-02-12 22:00:54 -0800</date>
            <delta_ts>2012-02-12 22:02:26 -0800</delta_ts>
            <desc>work in progress</desc>
            <filename>bug-78457-20120212220052.patch</filename>
            <type>text/plain</type>
            <size>8335</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNzUzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAyLTEyICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBFTkFCTEUoR0FNRVBBRCkg
bG9naWMgb3V0IG9mIE5hdmlnYXRvci5oL2NwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIE1v
ZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JHYW1lcGFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvckdhbWVwYWQ6OmZyb20pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpOYXZpZ2F0b3JHYW1lcGFkOjp3ZWJraXRHYW1lcGFkcyk6CisgICAgICAgIChXZWJDb3Jl
OjpOYXZpZ2F0b3JHYW1lcGFkOjpnYW1lcGFkcyk6CisgICAgICAgICogTW9kdWxlcy9nYW1lcGFk
L05hdmlnYXRvckdhbWVwYWQuaDoKKyAgICAgICAgKE5hdmlnYXRvckdhbWVwYWQpOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpzdXBwbGVtZW50
TmFtZSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TmF2aWdhdG9yOjpwcm92aWRlU3VwcGxlbWVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6cmVxdWlyZVN1cHBsZW1lbnQpOgorICAgICAgICAqIHBh
Z2UvTmF2aWdhdG9yLmg6CisgICAgICAgIChOYXZpZ2F0b3IpOgorICAgICAgICAqIHBhZ2UvUGFn
ZS5oOgorICAgICAgICAoUGFnZSk6CisgICAgICAgICogcGFnZS9QYWdlU3VwcGxlbWVudC5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChQYWdlU3VwcGxlbWVudCk6CisKIDIwMTItMDIt
MTIgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBh
IFtWOEN1c3RvbVRvSlNPYmplY3RdIElETCBhdHRyaWJ1dGUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJ
KHJldmlzaW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2lu
ZyBjb3B5KQpAQCAtMjYzNiw2ICsyNjM2LDggQEAKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRv
ci5oJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvckJhc2UuY3BwJywKICAgICAgICAgICAg
ICdwYWdlL05hdmlnYXRvckJhc2UuaCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JTdXBw
bGVtZW50LmNwcCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JTdXBwbGVtZW50LmgnLAog
ICAgICAgICAgICAgJ3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuY3BwJywKICAgICAgICAgICAgICdw
YWdlL09yaWdpbkFjY2Vzc0VudHJ5LmgnLAogICAgICAgICAgICAgJ3BhZ2UvUGFnZS5jcHAnLApJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL05hdmlnYXRvckdhbWVwYWQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JH
YW1lcGFkLmNwcAkocmV2aXNpb24gMTA3NTI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9n
YW1lcGFkL05hdmlnYXRvckdhbWVwYWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw4
IEBACiAKICNpZiBFTkFCTEUoR0FNRVBBRCkKIAorI2luY2x1ZGUgIkdhbWVwYWRMaXN0LmgiCisj
aW5jbHVkZSAiR2FtZXBhZHMuaCIKICNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNDAsMTAgKzQyLDI4IEBAIE5hdmlnYXRvckdhbWVwYWQ6On5OYXZpZ2F0
b3JHYW1lcGFkKCkKIHsKIH0KIAorTmF2aWdhdG9yR2FtZXBhZCogTmF2aWdhdG9yR2FtZXBhZDo6
ZnJvbShOYXZpZ2F0b3IqIG5hdmlnYXRvcikKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0
b21pY1N0cmluZywgbmFtZSwgKCJOYXZpZ2F0b3JHYW1lcGFkIikpOworICAgIE5hdmlnYXRvckdh
bWVwYWQqIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JHYW1lcGFkKj4oTmF2aWdh
dG9yR2FtZXBhZDo6ZnJvbShuYXZpZ2F0b3IsIG5hbWUpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQp
IHsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5ldyBOYXZpZ2F0b3JHYW1lcGFkKCk7CisgICAgICAg
IHByb3ZpZGVUbyhuYXZpZ2F0b3IsIG5hbWUsIGFkb3B0UHRyKHN1cHBsZW1lbnQpKTsKKyAgICB9
CisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKIEdhbWVwYWRMaXN0KiBOYXZpZ2F0b3JHYW1l
cGFkOjp3ZWJraXRHYW1lcGFkcyhOYXZpZ2F0b3IqIG5hdmlnYXRvcikKIHsKLSAgICAvLyBGSVhN
RTogV2Ugc2hvdWxkbid0IG5lZWQgdG8gZGlyZWN0IHRoaXMgY2FsbCB0byBOYXZpZ2F0b3IuCi0g
ICAgcmV0dXJuIG5hdmlnYXRvci0+Z2FtZXBhZHMoKTsKKyAgICByZXR1cm4gTmF2aWdhdG9yR2Ft
ZXBhZDo6ZnJvbShuYXZpZ2F0b3IpLT5nYW1lcGFkcygpOworfQorCitHYW1lcGFkTGlzdCogTmF2
aWdhdG9yR2FtZXBhZDo6Z2FtZXBhZHMoKQoreworICAgIGlmICghbV9nYW1lcGFkcykKKyAgICAg
ICAgbV9nYW1lcGFkcyA9IEdhbWVwYWRMaXN0OjpjcmVhdGUoKTsKKyAgICBzYW1wbGVHYW1lcGFk
cyhtX2dhbWVwYWRzLmdldCgpKTsKKyAgICByZXR1cm4gbV9nYW1lcGFkcy5nZXQoKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1l
cGFkL05hdmlnYXRvckdhbWVwYWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBhZC5oCShyZXZpc2lvbiAxMDc1MjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBhZC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCwxOCArMjgsMjYgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKQogCisjaW5jbHVk
ZSAiTmF2aWdhdG9yU3VwcGxlbWVudC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEdhbWVwYWRMaXN0OwogY2xhc3MgTmF2aWdhdG9yOwogCi1jbGFzcyBOYXZpZ2F0b3JHYW1lcGFk
IHsKK2NsYXNzIE5hdmlnYXRvckdhbWVwYWQgOiBOYXZpZ2F0b3JTdXBwbGVtZW50IHsKIHB1Ymxp
YzoKKyAgICBzdGF0aWMgTmF2aWdhdG9yR2FtZXBhZCogZnJvbShOYXZpZ2F0b3IqKTsKKwogICAg
IHN0YXRpYyBHYW1lcGFkTGlzdCogd2Via2l0R2FtZXBhZHMoTmF2aWdhdG9yKik7CiAKKyAgICBH
YW1lcGFkTGlzdCogZ2FtZXBhZHMoKTsKKwogcHJpdmF0ZToKICAgICBOYXZpZ2F0b3JHYW1lcGFk
KCk7CiAgICAgfk5hdmlnYXRvckdhbWVwYWQoKTsKKworICAgIFJlZlB0cjxHYW1lcGFkTGlzdD4g
bV9nYW1lcGFkczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDEwNzUy
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTM3LDcgKzEzNyw3IEBAIHZvaWQgRGV2aWNlTW90aW9uQ29udHJvbGxl
cjo6ZGlkQ2hhbmdlRGUKIAogY29uc3QgQXRvbWljU3RyaW5nJiBEZXZpY2VNb3Rpb25Db250cm9s
bGVyOjpzdXBwbGVtZW50TmFtZSgpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNT
dHJpbmcsIG5hbWUsICgiZGV2aWNlTW90aW9uIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwo
QXRvbWljU3RyaW5nLCBuYW1lLCAoIkRldmljZU1vdGlvbkNvbnRyb2xsZXIiKSk7CiAgICAgcmV0
dXJuIG5hbWU7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAJKHJldmlzaW9u
IDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDUsMTEgKzQ1LDYgQEAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1
ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAotI2lmIEVOQUJMRShHQU1FUEFEKQotI2luY2x1ZGUg
IkdhbWVwYWRMaXN0LmgiCi0jaW5jbHVkZSAiR2FtZXBhZHMuaCIKLSNlbmRpZgotCiAjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKICNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCkBA
IC02Nyw2ICs2MiwxNyBAQCBOYXZpZ2F0b3I6On5OYXZpZ2F0b3IoKQogewogfQogCit2b2lkIE5h
dmlnYXRvcjo6cHJvdmlkZVN1cHBsZW1lbnQoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBQYXNz
T3duUHRyPE5hdmlnYXRvclN1cHBsZW1lbnQ+IHN1cHBsZW1lbnQpCit7CisgICAgQVNTRVJUKCFt
X3N1cHBsaW1lbnRzLmdldChuYW1lLmltcGwoKSkpOworICAgIG1fc3VwcGxpbWVudHMuc2V0KG5h
bWUuaW1wbCgpLCBzdXBwbGVtZW50KTsKK30KKworTmF2aWdhdG9yU3VwcGxlbWVudCogTmF2aWdh
dG9yOjpyZXF1aXJlU3VwcGxlbWVudChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpCit7CisgICAg
cmV0dXJuIG1fc3VwcGxpbWVudHMuZ2V0KG5hbWUuaW1wbCgpKTsKK30KKwogdm9pZCBOYXZpZ2F0
b3I6OnJlc2V0R2VvbG9jYXRpb24oKQogewogICAgIGlmIChtX2dlb2xvY2F0aW9uKQpAQCAtMjkx
LDE0ICsyOTcsNCBAQCB2b2lkIE5hdmlnYXRvcjo6d2Via2l0R2V0VXNlck1lZGlhKGNvbnN0CiB9
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShHQU1FUEFEKQotR2FtZXBhZExpc3QqIE5hdmlnYXRvcjo6
Z2FtZXBhZHMoKQotewotICAgIGlmICghbV9nYW1lcGFkcykKLSAgICAgICAgbV9nYW1lcGFkcyA9
IEdhbWVwYWRMaXN0OjpjcmVhdGUoKTsKLSAgICBzYW1wbGVHYW1lcGFkcyhtX2dhbWVwYWRzLmdl
dCgpKTsKLSAgICByZXR1cm4gbV9nYW1lcGFkcy5nZXQoKTsKLX0KLSNlbmRpZgotCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgJKHJldmlzaW9uIDEw
NzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgJKHdvcmtpbmcgY29weSkK
QEAgLTIyLDcgKzIyLDkgQEAKIAogI2luY2x1ZGUgIkRPTVdpbmRvd1Byb3BlcnR5LmgiCiAjaW5j
bHVkZSAiTmF2aWdhdG9yQmFzZS5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclN1cHBsZW1lbnQuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTc0LDIxICs3NiwxOCBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHdlYmtpdEdldFVzZXJNZWRpYShjb25zdCBTdHJpbmcmIG9wdGlvbnMsIFBhc3NS
ZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiwgUGFzc1JlZlB0cjxOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiwgRXhjZXB0aW9uQ29kZSYpOwogI2VuZGlmCiAK
LSNpZiBFTkFCTEUoR0FNRVBBRCkKLSAgICAvLyBGSVhNRTogVGhpcyBtZXRob2Qgc2hvdWxkIGJl
IGluIFdlYkNvcmUvTW9kdWxlcy9nYW1lcGFkLgotICAgIEdhbWVwYWRMaXN0KiBnYW1lcGFkcygp
OwotI2VuZGlmCisgICAgdm9pZCBwcm92aWRlU3VwcGxlbWVudChjb25zdCBBdG9taWNTdHJpbmcm
LCBQYXNzT3duUHRyPE5hdmlnYXRvclN1cHBsZW1lbnQ+KTsKKyAgICBOYXZpZ2F0b3JTdXBwbGVt
ZW50KiByZXF1aXJlU3VwcGxlbWVudChjb25zdCBBdG9taWNTdHJpbmcmKTsKIAogcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBOYXZpZ2F0b3IoRnJhbWUqKTsKIAorICAgIHR5cGVkZWYgSGFzaE1hcDxB
dG9taWNTdHJpbmdJbXBsKiwgT3duUHRyPE5hdmlnYXRvclN1cHBsZW1lbnQ+ID4gTmF2aWdhdG9y
U3VwcGxlbWVudE1hcDsKKyAgICBOYXZpZ2F0b3JTdXBwbGVtZW50TWFwIG1fc3VwcGxpbWVudHM7
CisKICAgICBtdXRhYmxlIFJlZlB0cjxET01QbHVnaW5BcnJheT4gbV9wbHVnaW5zOwogICAgIG11
dGFibGUgUmVmUHRyPERPTU1pbWVUeXBlQXJyYXk+IG1fbWltZVR5cGVzOwogICAgIG11dGFibGUg
UmVmUHRyPEdlb2xvY2F0aW9uPiBtX2dlb2xvY2F0aW9uOwotI2lmIEVOQUJMRShHQU1FUEFEKQot
ICAgIC8vIEZJWE1FOiBUaGlzIHN0YXRlIHNob3VsZCBiZSBpbiBXZWJDb3JlL01vZHVsZXMvZ2Ft
ZXBhZC4KLSAgICBtdXRhYmxlIFJlZlB0cjxHYW1lcGFkTGlzdD4gbV9nYW1lcGFkczsKLSNlbmRp
ZgogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgbXV0YWJsZSBSZWZQdHI8UG9pbnRlckxv
Y2s+IG1fcG9pbnRlcjsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJKHJldmlzaW9uIDEwNzUy
OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNTAs
NyArMzUwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgcHJpdmF0ZToKICAgICAgICAg
dm9pZCBpbml0R3JvdXAoKTsKLSAgICAgICAgdm9pZCBub3RpZnlEZXN0cm95ZWRUb1N1cHBsZW1l
bnRzKCk7CiAKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBPd25Q
dHI8UGFnZVN1cHBsZW1lbnQ+ID4gUGFnZVN1cHBsZW1lbnRNYXA7CiAgICAgICAgIFBhZ2VTdXBw
bGVtZW50TWFwIG1fc3VwcGxpbWVudHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VT
dXBwbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU3VwcGxl
bWVudC5oCShyZXZpc2lvbiAxMDc1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTdXBw
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgUGFnZTsKIGNsYXNzIEZyYW1lOwogCi0KIGNsYXNzIFBhZ2VTdXBwbGVtZW50
IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5QYWdlU3VwcGxlbWVudCgpOwpAQCAtNDQsOCArNDMs
NiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcHJvdmlkZVRvKFBhZ2UqLCBjb25zdCBBdG9t
aWNTdHJpbmcmLCBQYXNzT3duUHRyPFBhZ2VTdXBwbGVtZW50Pik7CiAgICAgc3RhdGljIFBhZ2VT
dXBwbGVtZW50KiBmcm9tKFBhZ2UqLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICBzdGF0aWMg
UGFnZVN1cHBsZW1lbnQqIGZyb20oRnJhbWUqLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKLXByaXZh
dGU6Ci0gICAgT3duUHRyPFBhZ2VTdXBwbGVtZW50PiBtX3NlbGY7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126714</attachid>
            <date>2012-02-12 22:02:30 -0800</date>
            <delta_ts>2012-02-12 22:18:58 -0800</delta_ts>
            <desc>work in progress</desc>
            <filename>bug-78457-20120212220229.patch</filename>
            <type>text/plain</type>
            <size>12707</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNzUzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAyLTEyICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBFTkFCTEUoR0FNRVBBRCkg
bG9naWMgb3V0IG9mIE5hdmlnYXRvci5oL2NwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIE1v
ZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JHYW1lcGFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvckdhbWVwYWQ6OmZyb20pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpOYXZpZ2F0b3JHYW1lcGFkOjp3ZWJraXRHYW1lcGFkcyk6CisgICAgICAgIChXZWJDb3Jl
OjpOYXZpZ2F0b3JHYW1lcGFkOjpnYW1lcGFkcyk6CisgICAgICAgICogTW9kdWxlcy9nYW1lcGFk
L05hdmlnYXRvckdhbWVwYWQuaDoKKyAgICAgICAgKE5hdmlnYXRvckdhbWVwYWQpOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpzdXBwbGVtZW50
TmFtZSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TmF2aWdhdG9yOjpwcm92aWRlU3VwcGxlbWVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6cmVxdWlyZVN1cHBsZW1lbnQpOgorICAgICAgICAqIHBh
Z2UvTmF2aWdhdG9yLmg6CisgICAgICAgIChOYXZpZ2F0b3IpOgorICAgICAgICAqIHBhZ2UvUGFn
ZS5oOgorICAgICAgICAoUGFnZSk6CisgICAgICAgICogcGFnZS9QYWdlU3VwcGxlbWVudC5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChQYWdlU3VwcGxlbWVudCk6CisKIDIwMTItMDIt
MTIgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBh
IFtWOEN1c3RvbVRvSlNPYmplY3RdIElETCBhdHRyaWJ1dGUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJ
KHJldmlzaW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2lu
ZyBjb3B5KQpAQCAtMjYzNiw2ICsyNjM2LDggQEAKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRv
ci5oJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvckJhc2UuY3BwJywKICAgICAgICAgICAg
ICdwYWdlL05hdmlnYXRvckJhc2UuaCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JTdXBw
bGVtZW50LmNwcCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JTdXBwbGVtZW50LmgnLAog
ICAgICAgICAgICAgJ3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuY3BwJywKICAgICAgICAgICAgICdw
YWdlL09yaWdpbkFjY2Vzc0VudHJ5LmgnLAogICAgICAgICAgICAgJ3BhZ2UvUGFnZS5jcHAnLApJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL05hdmlnYXRvckdhbWVwYWQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JH
YW1lcGFkLmNwcAkocmV2aXNpb24gMTA3NTI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9n
YW1lcGFkL05hdmlnYXRvckdhbWVwYWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw4
IEBACiAKICNpZiBFTkFCTEUoR0FNRVBBRCkKIAorI2luY2x1ZGUgIkdhbWVwYWRMaXN0LmgiCisj
aW5jbHVkZSAiR2FtZXBhZHMuaCIKICNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNDAsMTAgKzQyLDI4IEBAIE5hdmlnYXRvckdhbWVwYWQ6On5OYXZpZ2F0
b3JHYW1lcGFkKCkKIHsKIH0KIAorTmF2aWdhdG9yR2FtZXBhZCogTmF2aWdhdG9yR2FtZXBhZDo6
ZnJvbShOYXZpZ2F0b3IqIG5hdmlnYXRvcikKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0
b21pY1N0cmluZywgbmFtZSwgKCJOYXZpZ2F0b3JHYW1lcGFkIikpOworICAgIE5hdmlnYXRvckdh
bWVwYWQqIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JHYW1lcGFkKj4oTmF2aWdh
dG9yU3VwcGxlbWVudDo6ZnJvbShuYXZpZ2F0b3IsIG5hbWUpKTsKKyAgICBpZiAoIXN1cHBsZW1l
bnQpIHsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5ldyBOYXZpZ2F0b3JHYW1lcGFkKCk7CisgICAg
ICAgIHByb3ZpZGVUbyhuYXZpZ2F0b3IsIG5hbWUsIGFkb3B0UHRyKHN1cHBsZW1lbnQpKTsKKyAg
ICB9CisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKIEdhbWVwYWRMaXN0KiBOYXZpZ2F0b3JH
YW1lcGFkOjp3ZWJraXRHYW1lcGFkcyhOYXZpZ2F0b3IqIG5hdmlnYXRvcikKIHsKLSAgICAvLyBG
SVhNRTogV2Ugc2hvdWxkbid0IG5lZWQgdG8gZGlyZWN0IHRoaXMgY2FsbCB0byBOYXZpZ2F0b3Iu
Ci0gICAgcmV0dXJuIG5hdmlnYXRvci0+Z2FtZXBhZHMoKTsKKyAgICByZXR1cm4gTmF2aWdhdG9y
R2FtZXBhZDo6ZnJvbShuYXZpZ2F0b3IpLT5nYW1lcGFkcygpOworfQorCitHYW1lcGFkTGlzdCog
TmF2aWdhdG9yR2FtZXBhZDo6Z2FtZXBhZHMoKQoreworICAgIGlmICghbV9nYW1lcGFkcykKKyAg
ICAgICAgbV9nYW1lcGFkcyA9IEdhbWVwYWRMaXN0OjpjcmVhdGUoKTsKKyAgICBzYW1wbGVHYW1l
cGFkcyhtX2dhbWVwYWRzLmdldCgpKTsKKyAgICByZXR1cm4gbV9nYW1lcGFkcy5nZXQoKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9n
YW1lcGFkL05hdmlnYXRvckdhbWVwYWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBhZC5oCShyZXZpc2lvbiAxMDc1MjgpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBhZC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCwxOCArMjgsMjYgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKQogCisjaW5j
bHVkZSAiTmF2aWdhdG9yU3VwcGxlbWVudC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEdhbWVwYWRMaXN0OwogY2xhc3MgTmF2aWdhdG9yOwogCi1jbGFzcyBOYXZpZ2F0b3JHYW1l
cGFkIHsKK2NsYXNzIE5hdmlnYXRvckdhbWVwYWQgOiBOYXZpZ2F0b3JTdXBwbGVtZW50IHsKIHB1
YmxpYzoKKyAgICBzdGF0aWMgTmF2aWdhdG9yR2FtZXBhZCogZnJvbShOYXZpZ2F0b3IqKTsKKwog
ICAgIHN0YXRpYyBHYW1lcGFkTGlzdCogd2Via2l0R2FtZXBhZHMoTmF2aWdhdG9yKik7CiAKKyAg
ICBHYW1lcGFkTGlzdCogZ2FtZXBhZHMoKTsKKwogcHJpdmF0ZToKICAgICBOYXZpZ2F0b3JHYW1l
cGFkKCk7CiAgICAgfk5hdmlnYXRvckdhbWVwYWQoKTsKKworICAgIFJlZlB0cjxHYW1lcGFkTGlz
dD4gbV9nYW1lcGFkczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDEw
NzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTM3LDcgKzEzNyw3IEBAIHZvaWQgRGV2aWNlTW90aW9uQ29udHJv
bGxlcjo6ZGlkQ2hhbmdlRGUKIAogY29uc3QgQXRvbWljU3RyaW5nJiBEZXZpY2VNb3Rpb25Db250
cm9sbGVyOjpzdXBwbGVtZW50TmFtZSgpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9t
aWNTdHJpbmcsIG5hbWUsICgiZGV2aWNlTW90aW9uIikpOworICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoIkRldmljZU1vdGlvbkNvbnRyb2xsZXIiKSk7CiAgICAg
cmV0dXJuIG5hbWU7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAJKHJldmlz
aW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDUsMTEgKzQ1LDYgQEAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAotI2lmIEVOQUJMRShHQU1FUEFEKQotI2luY2x1
ZGUgIkdhbWVwYWRMaXN0LmgiCi0jaW5jbHVkZSAiR2FtZXBhZHMuaCIKLSNlbmRpZgotCiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKICNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgi
CkBAIC02Nyw2ICs2MiwxNyBAQCBOYXZpZ2F0b3I6On5OYXZpZ2F0b3IoKQogewogfQogCit2b2lk
IE5hdmlnYXRvcjo6cHJvdmlkZVN1cHBsZW1lbnQoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBQ
YXNzT3duUHRyPE5hdmlnYXRvclN1cHBsZW1lbnQ+IHN1cHBsZW1lbnQpCit7CisgICAgQVNTRVJU
KCFtX3N1cHBsaW1lbnRzLmdldChuYW1lLmltcGwoKSkpOworICAgIG1fc3VwcGxpbWVudHMuc2V0
KG5hbWUuaW1wbCgpLCBzdXBwbGVtZW50KTsKK30KKworTmF2aWdhdG9yU3VwcGxlbWVudCogTmF2
aWdhdG9yOjpyZXF1aXJlU3VwcGxlbWVudChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpCit7Cisg
ICAgcmV0dXJuIG1fc3VwcGxpbWVudHMuZ2V0KG5hbWUuaW1wbCgpKTsKK30KKwogdm9pZCBOYXZp
Z2F0b3I6OnJlc2V0R2VvbG9jYXRpb24oKQogewogICAgIGlmIChtX2dlb2xvY2F0aW9uKQpAQCAt
MjkxLDE0ICsyOTcsNCBAQCB2b2lkIE5hdmlnYXRvcjo6d2Via2l0R2V0VXNlck1lZGlhKGNvbnN0
CiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShHQU1FUEFEKQotR2FtZXBhZExpc3QqIE5hdmlnYXRv
cjo6Z2FtZXBhZHMoKQotewotICAgIGlmICghbV9nYW1lcGFkcykKLSAgICAgICAgbV9nYW1lcGFk
cyA9IEdhbWVwYWRMaXN0OjpjcmVhdGUoKTsKLSAgICBzYW1wbGVHYW1lcGFkcyhtX2dhbWVwYWRz
LmdldCgpKTsKLSAgICByZXR1cm4gbV9nYW1lcGFkcy5nZXQoKTsKLX0KLSNlbmRpZgotCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgJKHJldmlzaW9u
IDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIyLDcgKzIyLDkgQEAKIAogI2luY2x1ZGUgIkRPTVdpbmRvd1Byb3BlcnR5LmgiCiAj
aW5jbHVkZSAiTmF2aWdhdG9yQmFzZS5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclN1cHBsZW1lbnQu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTc0LDIxICs3NiwxOCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHdlYmtpdEdldFVzZXJNZWRpYShjb25zdCBTdHJpbmcmIG9wdGlvbnMsIFBh
c3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiwgUGFzc1JlZlB0cjxO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiwgRXhjZXB0aW9uQ29kZSYpOwogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoR0FNRVBBRCkKLSAgICAvLyBGSVhNRTogVGhpcyBtZXRob2Qgc2hvdWxk
IGJlIGluIFdlYkNvcmUvTW9kdWxlcy9nYW1lcGFkLgotICAgIEdhbWVwYWRMaXN0KiBnYW1lcGFk
cygpOwotI2VuZGlmCisgICAgdm9pZCBwcm92aWRlU3VwcGxlbWVudChjb25zdCBBdG9taWNTdHJp
bmcmLCBQYXNzT3duUHRyPE5hdmlnYXRvclN1cHBsZW1lbnQ+KTsKKyAgICBOYXZpZ2F0b3JTdXBw
bGVtZW50KiByZXF1aXJlU3VwcGxlbWVudChjb25zdCBBdG9taWNTdHJpbmcmKTsKIAogcHJpdmF0
ZToKICAgICBleHBsaWNpdCBOYXZpZ2F0b3IoRnJhbWUqKTsKIAorICAgIHR5cGVkZWYgSGFzaE1h
cDxBdG9taWNTdHJpbmdJbXBsKiwgT3duUHRyPE5hdmlnYXRvclN1cHBsZW1lbnQ+ID4gTmF2aWdh
dG9yU3VwcGxlbWVudE1hcDsKKyAgICBOYXZpZ2F0b3JTdXBwbGVtZW50TWFwIG1fc3VwcGxpbWVu
dHM7CisKICAgICBtdXRhYmxlIFJlZlB0cjxET01QbHVnaW5BcnJheT4gbV9wbHVnaW5zOwogICAg
IG11dGFibGUgUmVmUHRyPERPTU1pbWVUeXBlQXJyYXk+IG1fbWltZVR5cGVzOwogICAgIG11dGFi
bGUgUmVmUHRyPEdlb2xvY2F0aW9uPiBtX2dlb2xvY2F0aW9uOwotI2lmIEVOQUJMRShHQU1FUEFE
KQotICAgIC8vIEZJWE1FOiBUaGlzIHN0YXRlIHNob3VsZCBiZSBpbiBXZWJDb3JlL01vZHVsZXMv
Z2FtZXBhZC4KLSAgICBtdXRhYmxlIFJlZlB0cjxHYW1lcGFkTGlzdD4gbV9nYW1lcGFkczsKLSNl
bmRpZgogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgbXV0YWJsZSBSZWZQdHI8UG9pbnRl
ckxvY2s+IG1fcG9pbnRlcjsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JTdXBwbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvclN1cHBsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3JTdXBwbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JTdXBwbGVt
ZW50LmgiCisKKyNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitOYXZpZ2F0b3JTdXBwbGVtZW50Ojp+TmF2aWdhdG9yU3VwcGxlbWVudCgpCit7Cit9CisKK3Zv
aWQgTmF2aWdhdG9yU3VwcGxlbWVudDo6cHJvdmlkZVRvKE5hdmlnYXRvciogbmF2aWdhdG9yLCBj
b25zdCBBdG9taWNTdHJpbmcmIGtleSwgUGFzc093blB0cjxOYXZpZ2F0b3JTdXBwbGVtZW50PiBz
dXBwbGVtZW50KQoreworICAgIG5hdmlnYXRvci0+cHJvdmlkZVN1cHBsZW1lbnQobmF2aWdhdG9y
LCBzdXBwbGVtZW50KTsKK30KKworTmF2aWdhdG9yU3VwcGxlbWVudCogTmF2aWdhdG9yU3VwcGxl
bWVudDo6ZnJvbShOYXZpZ2F0b3IqIG5hdmlnYXRvciwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
KQoreworICAgIGlmICghbmF2aWdhdG9yKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
bmF2aWdhdG9yLT5yZXF1aXJlU3VwcGxlbWVudChuYW1lKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JTdXBwbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JTdXBwbGVtZW50LmgJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclN1cHBsZW1lbnQu
aAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF2aWdh
dG9yU3VwcGxlbWVudF9oCisjZGVmaW5lIE5hdmlnYXRvclN1cHBsZW1lbnRfaAorCisjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yOworCitjbGFzcyBOYXZpZ2F0b3JT
dXBwbGVtZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5OYXZpZ2F0b3JTdXBwbGVtZW50KCk7
CisKKyAgICBzdGF0aWMgdm9pZCBwcm92aWRlVG8oTmF2aWdhdG9yKiwgY29uc3QgQXRvbWljU3Ry
aW5nJiwgUGFzc093blB0cjxOYXZpZ2F0b3JTdXBwbGVtZW50Pik7CisgICAgc3RhdGljIE5hdmln
YXRvclN1cHBsZW1lbnQqIGZyb20oTmF2aWdhdG9yKiwgY29uc3QgQXRvbWljU3RyaW5nJik7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JTdXBwbGVt
ZW50X2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiAxMDc1MjgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzUwLDcgKzM1MCw2IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgaW5pdEdyb3VwKCk7
Ci0gICAgICAgIHZvaWQgbm90aWZ5RGVzdHJveWVkVG9TdXBwbGVtZW50cygpOwogCiAgICAgICAg
IHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgT3duUHRyPFBhZ2VTdXBwbGVtZW50
PiA+IFBhZ2VTdXBwbGVtZW50TWFwOwogICAgICAgICBQYWdlU3VwcGxlbWVudE1hcCBtX3N1cHBs
aW1lbnRzOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU3VwcGxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVN1cHBsZW1lbnQuaAkocmV2aXNpb24g
MTA3NTI4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU3VwcGxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNiw3ICszNiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7
CiBjbGFzcyBGcmFtZTsKIAotCiBjbGFzcyBQYWdlU3VwcGxlbWVudCB7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+UGFnZVN1cHBsZW1lbnQoKTsKQEAgLTQ0LDggKzQzLDYgQEAgcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIHByb3ZpZGVUbyhQYWdlKiwgY29uc3QgQXRvbWljU3RyaW5nJiwgUGFzc093
blB0cjxQYWdlU3VwcGxlbWVudD4pOwogICAgIHN0YXRpYyBQYWdlU3VwcGxlbWVudCogZnJvbShQ
YWdlKiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3RhdGljIFBhZ2VTdXBwbGVtZW50KiBm
cm9tKEZyYW1lKiwgY29uc3QgQXRvbWljU3RyaW5nJik7Ci1wcml2YXRlOgotICAgIE93blB0cjxQ
YWdlU3VwcGxlbWVudD4gbV9zZWxmOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126716</attachid>
            <date>2012-02-12 22:19:02 -0800</date>
            <delta_ts>2012-02-12 22:27:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78457-20120212221900.patch</filename>
            <type>text/plain</type>
            <size>15057</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNzUzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAyLTEyICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBFTkFCTEUoR0FNRVBBRCkg
bG9naWMgb3V0IG9mIE5hdmlnYXRvci5oL2NwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG1vdmVzIEdBTUVQQUQtc3BlY2lmaWMgbG9n
aWMgb3V0IG9mIE5hdmlnYXRvciBieSBpbnRyb2R1Y2luZworICAgICAgICB0aGUgY29uY2VwdCBv
ZiBhIE5hdmlnYXRvclN1cHBsZW1lbnQsIGFuYWxvZ291cyB0byB0aGUgcmVjZW50bHkKKyAgICAg
ICAgaW50cm9kdWNlZCBQYWdlU3VwcGxlbWVudC4KKworICAgICAgICAqIE1vZHVsZXMvZ2FtZXBh
ZC9OYXZpZ2F0b3JHYW1lcGFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckdhbWVw
YWQ6OmZyb20pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0
b3JHYW1lcGFkOjp3ZWJraXRHYW1lcGFkcyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JH
YW1lcGFkOjpnYW1lcGFkcyk6CisgICAgICAgICogTW9kdWxlcy9nYW1lcGFkL05hdmlnYXRvckdh
bWVwYWQuaDoKKyAgICAgICAgKE5hdmlnYXRvckdhbWVwYWQpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpzdXBwbGVtZW50TmFtZSk6CisgICAg
ICAgICogcGFnZS9OYXZpZ2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpw
cm92aWRlU3VwcGxlbWVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRvcjo6cmVxdWlyZVN1cHBsZW1lbnQpOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9y
Lmg6CisgICAgICAgIChOYXZpZ2F0b3IpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAg
ICAoUGFnZSk6CisgICAgICAgICogcGFnZS9QYWdlU3VwcGxlbWVudC5oOgorICAgICAgICAgICAg
LSBUaGlzIHBhdGNoIGNsZWFucyB1cCBzb21lIG5pdHMgaW4gUGFnZVN1cHBsZW1lbnQuCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBhZ2VTdXBwbGVtZW50KToKKwogMjAxMi0wMi0xMiAg
S2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIGEgW1Y4
Q3VzdG9tVG9KU09iamVjdF0gSURMIGF0dHJpYnV0ZQpJbmRleDogU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJ
KHJldmlzaW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDIwLDYgKzEwMjAsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
cGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcAogICAgIHBhZ2UvTmF2aWdhdG9y
LmNwcAogICAgIHBhZ2UvTmF2aWdhdG9yQmFzZS5jcHAKKyAgICBwYWdlL05hdmlnYXRvclN1cHBs
ZW1lbnQuY3BwCiAgICAgcGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAKICAgICBwYWdlL1BhZ2Uu
Y3BwCiAgICAgcGFnZS9QYWdlR3JvdXAuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0JKHJldmlzaW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTI3MjIsNiArMjcyMiw4IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3JCYXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU3VwcGxlbWVudC5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU3VwcGxlbWVudC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFn
ZS9PcmlnaW5BY2Nlc3NFbnRyeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIFwK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQkocmV2aXNpb24gMTA3NTI4KQorKysgU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQkod29ya2luZyBjb3B5KQpAQCAtOTk3LDYgKzk5Nyw3IEBAIFNPVVJDRVMgKz0gXAog
ICAgIHBhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAgXAogICAgIHBhZ2UvTmF2
aWdhdG9yLmNwcCBcCiAgICAgcGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCBcCisgICAgcGFnZS9OYXZp
Z2F0b3JTdXBwbGVtZW50LmNwcCBcCiAgICAgcGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAgXAog
ICAgIHBhZ2UvUGFnZS5jcHAgXAogICAgIHBhZ2UvUGFnZUdyb3VwLmNwcCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCShyZXZpc2lvbiAxMDc1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkJKHdvcmtpbmcgY29weSkKQEAgLTI2MzYsNiArMjYzNiw4IEBACiAgICAgICAgICAgICAncGFn
ZS9OYXZpZ2F0b3IuaCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCcsCiAg
ICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JCYXNlLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2
aWdhdG9yU3VwcGxlbWVudC5jcHAnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yU3VwcGxl
bWVudC5oJywKICAgICAgICAgICAgICdwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcCcsCiAgICAg
ICAgICAgICAncGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5oJywKICAgICAgICAgICAgICdwYWdlL1Bh
Z2UuY3BwJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JH
YW1lcGFkLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQv
TmF2aWdhdG9yR2FtZXBhZC5jcHAJKHJldmlzaW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JHYW1lcGFkLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNyArMjgsMTAgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKQogCisjaW5jbHVkZSAiR2FtZXBh
ZExpc3QuaCIKKyNpbmNsdWRlICJHYW1lcGFkcy5oIgogI2luY2x1ZGUgIk5hdmlnYXRvci5oIgor
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
NDAsMTAgKzQzLDI4IEBAIE5hdmlnYXRvckdhbWVwYWQ6On5OYXZpZ2F0b3JHYW1lcGFkKCkKIHsK
IH0KIAorTmF2aWdhdG9yR2FtZXBhZCogTmF2aWdhdG9yR2FtZXBhZDo6ZnJvbShOYXZpZ2F0b3Iq
IG5hdmlnYXRvcikKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFt
ZSwgKCJOYXZpZ2F0b3JHYW1lcGFkIikpOworICAgIE5hdmlnYXRvckdhbWVwYWQqIHN1cHBsZW1l
bnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JHYW1lcGFkKj4oTmF2aWdhdG9yU3VwcGxlbWVudDo6
ZnJvbShuYXZpZ2F0b3IsIG5hbWUpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAg
c3VwcGxlbWVudCA9IG5ldyBOYXZpZ2F0b3JHYW1lcGFkKCk7CisgICAgICAgIHByb3ZpZGVUbyhu
YXZpZ2F0b3IsIG5hbWUsIGFkb3B0UHRyKHN1cHBsZW1lbnQpKTsKKyAgICB9CisgICAgcmV0dXJu
IHN1cHBsZW1lbnQ7Cit9CisKIEdhbWVwYWRMaXN0KiBOYXZpZ2F0b3JHYW1lcGFkOjp3ZWJraXRH
YW1lcGFkcyhOYXZpZ2F0b3IqIG5hdmlnYXRvcikKIHsKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
bid0IG5lZWQgdG8gZGlyZWN0IHRoaXMgY2FsbCB0byBOYXZpZ2F0b3IuCi0gICAgcmV0dXJuIG5h
dmlnYXRvci0+Z2FtZXBhZHMoKTsKKyAgICByZXR1cm4gTmF2aWdhdG9yR2FtZXBhZDo6ZnJvbShu
YXZpZ2F0b3IpLT5nYW1lcGFkcygpOworfQorCitHYW1lcGFkTGlzdCogTmF2aWdhdG9yR2FtZXBh
ZDo6Z2FtZXBhZHMoKQoreworICAgIGlmICghbV9nYW1lcGFkcykKKyAgICAgICAgbV9nYW1lcGFk
cyA9IEdhbWVwYWRMaXN0OjpjcmVhdGUoKTsKKyAgICBzYW1wbGVHYW1lcGFkcyhtX2dhbWVwYWRz
LmdldCgpKTsKKyAgICByZXR1cm4gbV9nYW1lcGFkcy5nZXQoKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL05hdmlnYXRv
ckdhbWVwYWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQv
TmF2aWdhdG9yR2FtZXBhZC5oCShyZXZpc2lvbiAxMDc1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBhZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwx
OCArMjgsMjYgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKQogCisjaW5jbHVkZSAiTmF2aWdhdG9y
U3VwcGxlbWVudC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEdhbWVwYWRMaXN0
OwogY2xhc3MgTmF2aWdhdG9yOwogCi1jbGFzcyBOYXZpZ2F0b3JHYW1lcGFkIHsKK2NsYXNzIE5h
dmlnYXRvckdhbWVwYWQgOiBwdWJsaWMgTmF2aWdhdG9yU3VwcGxlbWVudCB7CiBwdWJsaWM6Cisg
ICAgdmlydHVhbCB+TmF2aWdhdG9yR2FtZXBhZCgpOworICAgIHN0YXRpYyBOYXZpZ2F0b3JHYW1l
cGFkKiBmcm9tKE5hdmlnYXRvciopOworCiAgICAgc3RhdGljIEdhbWVwYWRMaXN0KiB3ZWJraXRH
YW1lcGFkcyhOYXZpZ2F0b3IqKTsKIAorICAgIEdhbWVwYWRMaXN0KiBnYW1lcGFkcygpOworCiBw
cml2YXRlOgogICAgIE5hdmlnYXRvckdhbWVwYWQoKTsKLSAgICB+TmF2aWdhdG9yR2FtZXBhZCgp
OworCisgICAgUmVmUHRyPEdhbWVwYWRMaXN0PiBtX2dhbWVwYWRzOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oJKHJldmlzaW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yNTUyMiw2ICsyNTUyMiwx
NCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxw
YWdlXE5hdmlnYXRvclN1cHBsZW1lbnQuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRvclN1cHBsZW1lbnQuaCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxPcmlnaW5B
Y2Nlc3NFbnRyeS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAkocmV2aXNpb24gMTA3NTI4KQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpkaWRD
aGFuZ2VEZQogCiBjb25zdCBBdG9taWNTdHJpbmcmIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OnN1
cHBsZW1lbnROYW1lKCkKIHsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywg
bmFtZSwgKCJkZXZpY2VNb3Rpb24iKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNT
dHJpbmcsIG5hbWUsICgiRGV2aWNlTW90aW9uQ29udHJvbGxlciIpKTsKICAgICByZXR1cm4gbmFt
ZTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAkocmV2aXNpb24gMTA3NTI4
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00NSwxMSArNDUsNiBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgogCi0jaWYgRU5BQkxFKEdBTUVQQUQpCi0jaW5jbHVkZSAiR2FtZXBh
ZExpc3QuaCIKLSNpbmNsdWRlICJHYW1lcGFkcy5oIgotI2VuZGlmCi0KICNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIK
ICNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKQEAgLTY3LDYg
KzYyLDE3IEBAIE5hdmlnYXRvcjo6fk5hdmlnYXRvcigpCiB7CiB9CiAKK3ZvaWQgTmF2aWdhdG9y
Ojpwcm92aWRlU3VwcGxlbWVudChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8
TmF2aWdhdG9yU3VwcGxlbWVudD4gc3VwcGxlbWVudCkKK3sKKyAgICBBU1NFUlQoIW1fc3VwcGxp
bWVudHMuZ2V0KG5hbWUuaW1wbCgpKSk7CisgICAgbV9zdXBwbGltZW50cy5zZXQobmFtZS5pbXBs
KCksIHN1cHBsZW1lbnQpOworfQorCitOYXZpZ2F0b3JTdXBwbGVtZW50KiBOYXZpZ2F0b3I6OnJl
cXVpcmVTdXBwbGVtZW50KGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKK3sKKyAgICByZXR1cm4g
bV9zdXBwbGltZW50cy5nZXQobmFtZS5pbXBsKCkpOworfQorCiB2b2lkIE5hdmlnYXRvcjo6cmVz
ZXRHZW9sb2NhdGlvbigpCiB7CiAgICAgaWYgKG1fZ2VvbG9jYXRpb24pCkBAIC0yOTEsMTQgKzI5
Nyw0IEBAIHZvaWQgTmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWEoY29uc3QKIH0KICNlbmRp
ZgogCi0jaWYgRU5BQkxFKEdBTUVQQUQpCi1HYW1lcGFkTGlzdCogTmF2aWdhdG9yOjpnYW1lcGFk
cygpCi17Ci0gICAgaWYgKCFtX2dhbWVwYWRzKQotICAgICAgICBtX2dhbWVwYWRzID0gR2FtZXBh
ZExpc3Q6OmNyZWF0ZSgpOwotICAgIHNhbXBsZUdhbWVwYWRzKG1fZ2FtZXBhZHMuZ2V0KCkpOwot
ICAgIHJldHVybiBtX2dhbWVwYWRzLmdldCgpOwotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAkocmV2aXNpb24gMTA3NTI4KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjIs
NyArMjIsOSBAQAogCiAjaW5jbHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIKICNpbmNsdWRlICJO
YXZpZ2F0b3JCYXNlLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yU3VwcGxlbWVudC5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgpAQCAtNzQsMjEgKzc2LDE4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgd2Via2l0R2V0VXNlck1lZGlhKGNvbnN0IFN0cmluZyYgb3B0aW9ucywgUGFzc1JlZlB0cjxO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2s+LCBFeGNlcHRpb25Db2RlJik7CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShHQU1FUEFEKQotICAgIC8vIEZJWE1FOiBUaGlzIG1ldGhvZCBzaG91bGQgYmUgaW4gV2Vi
Q29yZS9Nb2R1bGVzL2dhbWVwYWQuCi0gICAgR2FtZXBhZExpc3QqIGdhbWVwYWRzKCk7Ci0jZW5k
aWYKKyAgICB2b2lkIHByb3ZpZGVTdXBwbGVtZW50KGNvbnN0IEF0b21pY1N0cmluZyYsIFBhc3NP
d25QdHI8TmF2aWdhdG9yU3VwcGxlbWVudD4pOworICAgIE5hdmlnYXRvclN1cHBsZW1lbnQqIHJl
cXVpcmVTdXBwbGVtZW50KGNvbnN0IEF0b21pY1N0cmluZyYpOwogCiBwcml2YXRlOgogICAgIGV4
cGxpY2l0IE5hdmlnYXRvcihGcmFtZSopOwogCisgICAgdHlwZWRlZiBIYXNoTWFwPEF0b21pY1N0
cmluZ0ltcGwqLCBPd25QdHI8TmF2aWdhdG9yU3VwcGxlbWVudD4gPiBOYXZpZ2F0b3JTdXBwbGVt
ZW50TWFwOworICAgIE5hdmlnYXRvclN1cHBsZW1lbnRNYXAgbV9zdXBwbGltZW50czsKKwogICAg
IG11dGFibGUgUmVmUHRyPERPTVBsdWdpbkFycmF5PiBtX3BsdWdpbnM7CiAgICAgbXV0YWJsZSBS
ZWZQdHI8RE9NTWltZVR5cGVBcnJheT4gbV9taW1lVHlwZXM7CiAgICAgbXV0YWJsZSBSZWZQdHI8
R2VvbG9jYXRpb24+IG1fZ2VvbG9jYXRpb247Ci0jaWYgRU5BQkxFKEdBTUVQQUQpCi0gICAgLy8g
RklYTUU6IFRoaXMgc3RhdGUgc2hvdWxkIGJlIGluIFdlYkNvcmUvTW9kdWxlcy9nYW1lcGFkLgot
ICAgIG11dGFibGUgUmVmUHRyPEdhbWVwYWRMaXN0PiBtX2dhbWVwYWRzOwotI2VuZGlmCiAjaWYg
RU5BQkxFKFBPSU5URVJfTE9DSykKICAgICBtdXRhYmxlIFJlZlB0cjxQb2ludGVyTG9jaz4gbV9w
b2ludGVyOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclN1cHBs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU3Vw
cGxlbWVudC5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
clN1cHBsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclN1cHBsZW1lbnQuaCIKKwor
I2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworTmF2aWdhdG9yU3VwcGxlbWVudDo6fk5hdmlnYXRvclN1cHBs
ZW1lbnQoKQoreworfQorCit2b2lkIE5hdmlnYXRvclN1cHBsZW1lbnQ6OnByb3ZpZGVUbyhOYXZp
Z2F0b3IqIG5hdmlnYXRvciwgY29uc3QgQXRvbWljU3RyaW5nJiBrZXksIFBhc3NPd25QdHI8TmF2
aWdhdG9yU3VwcGxlbWVudD4gc3VwcGxlbWVudCkKK3sKKyAgICBuYXZpZ2F0b3ItPnByb3ZpZGVT
dXBwbGVtZW50KGtleSwgc3VwcGxlbWVudCk7Cit9CisKK05hdmlnYXRvclN1cHBsZW1lbnQqIE5h
dmlnYXRvclN1cHBsZW1lbnQ6OmZyb20oTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIGNvbnN0IEF0b21p
Y1N0cmluZyYgbmFtZSkKK3sKKyAgICBpZiAoIW5hdmlnYXRvcikKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgcmV0dXJuIG5hdmlnYXRvci0+cmVxdWlyZVN1cHBsZW1lbnQobmFtZSk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
U3VwcGxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
U3VwcGxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3JTdXBwbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIE5hdmlnYXRvclN1cHBsZW1lbnRfaAorI2RlZmluZSBOYXZpZ2F0b3JTdXBwbGVtZW50
X2gKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0
cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKKworY2xh
c3MgTmF2aWdhdG9yU3VwcGxlbWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9y
U3VwcGxlbWVudCgpOworCisgICAgc3RhdGljIHZvaWQgcHJvdmlkZVRvKE5hdmlnYXRvciosIGNv
bnN0IEF0b21pY1N0cmluZyYsIFBhc3NPd25QdHI8TmF2aWdhdG9yU3VwcGxlbWVudD4pOworICAg
IHN0YXRpYyBOYXZpZ2F0b3JTdXBwbGVtZW50KiBmcm9tKE5hdmlnYXRvciosIGNvbnN0IEF0b21p
Y1N0cmluZyYpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTmF2
aWdhdG9yU3VwcGxlbWVudF9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkocmV2aXNpb24gMTA3NTI4KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1MCw3ICsz
NTAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBwcml2YXRlOgogICAgICAgICB2b2lk
IGluaXRHcm91cCgpOwotICAgICAgICB2b2lkIG5vdGlmeURlc3Ryb3llZFRvU3VwcGxlbWVudHMo
KTsKIAogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIE93blB0cjxQ
YWdlU3VwcGxlbWVudD4gPiBQYWdlU3VwcGxlbWVudE1hcDsKICAgICAgICAgUGFnZVN1cHBsZW1l
bnRNYXAgbV9zdXBwbGltZW50czsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVN1cHBs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTdXBwbGVtZW50
LmgJKHJldmlzaW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVN1cHBsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBQYWdlOwogY2xhc3MgRnJhbWU7CiAKLQogY2xhc3MgUGFnZVN1cHBsZW1lbnQgewog
cHVibGljOgogICAgIHZpcnR1YWwgflBhZ2VTdXBwbGVtZW50KCk7CkBAIC00NCw4ICs0Myw2IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBwcm92aWRlVG8oUGFnZSosIGNvbnN0IEF0b21pY1N0
cmluZyYsIFBhc3NPd25QdHI8UGFnZVN1cHBsZW1lbnQ+KTsKICAgICBzdGF0aWMgUGFnZVN1cHBs
ZW1lbnQqIGZyb20oUGFnZSosIGNvbnN0IEF0b21pY1N0cmluZyYpOwogICAgIHN0YXRpYyBQYWdl
U3VwcGxlbWVudCogZnJvbShGcmFtZSosIGNvbnN0IEF0b21pY1N0cmluZyYpOwotcHJpdmF0ZToK
LSAgICBPd25QdHI8UGFnZVN1cHBsZW1lbnQ+IG1fc2VsZjsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126718</attachid>
            <date>2012-02-12 22:27:59 -0800</date>
            <delta_ts>2012-02-12 22:47:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78457-20120212222758.patch</filename>
            <type>text/plain</type>
            <size>19533</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNzUzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAyLTEyICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBFTkFCTEUoR0FNRVBBRCkg
bG9naWMgb3V0IG9mIE5hdmlnYXRvci5oL2NwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG1vdmVzIEdBTUVQQUQtc3BlY2lmaWMgbG9n
aWMgb3V0IG9mIE5hdmlnYXRvciBieSBpbnRyb2R1Y2luZworICAgICAgICB0aGUgY29uY2VwdCBv
ZiBhIE5hdmlnYXRvclN1cHBsZW1lbnQsIGFuYWxvZ291cyB0byB0aGUgcmVjZW50bHkKKyAgICAg
ICAgaW50cm9kdWNlZCBQYWdlU3VwcGxlbWVudC4KKworICAgICAgICAqIE1vZHVsZXMvZ2FtZXBh
ZC9OYXZpZ2F0b3JHYW1lcGFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckdhbWVw
YWQ6OmZyb20pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0
b3JHYW1lcGFkOjp3ZWJraXRHYW1lcGFkcyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JH
YW1lcGFkOjpnYW1lcGFkcyk6CisgICAgICAgICogTW9kdWxlcy9nYW1lcGFkL05hdmlnYXRvckdh
bWVwYWQuaDoKKyAgICAgICAgKE5hdmlnYXRvckdhbWVwYWQpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpzdXBwbGVtZW50TmFtZSk6CisgICAg
ICAgICogcGFnZS9OYXZpZ2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpw
cm92aWRlU3VwcGxlbWVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRvcjo6cmVxdWlyZVN1cHBsZW1lbnQpOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9y
Lmg6CisgICAgICAgIChOYXZpZ2F0b3IpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAg
ICAoUGFnZSk6CisgICAgICAgICogcGFnZS9QYWdlU3VwcGxlbWVudC5oOgorICAgICAgICAgICAg
LSBUaGlzIHBhdGNoIGNsZWFucyB1cCBzb21lIG5pdHMgaW4gUGFnZVN1cHBsZW1lbnQuCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBhZ2VTdXBwbGVtZW50KToKKwogMjAxMi0wMi0xMiAg
S2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIGEgW1Y4
Q3VzdG9tVG9KU09iamVjdF0gSURMIGF0dHJpYnV0ZQpJbmRleDogU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJ
KHJldmlzaW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDIwLDYgKzEwMjAsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
cGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcAogICAgIHBhZ2UvTmF2aWdhdG9y
LmNwcAogICAgIHBhZ2UvTmF2aWdhdG9yQmFzZS5jcHAKKyAgICBwYWdlL05hdmlnYXRvclN1cHBs
ZW1lbnQuY3BwCiAgICAgcGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAKICAgICBwYWdlL1BhZ2Uu
Y3BwCiAgICAgcGFnZS9QYWdlR3JvdXAuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0JKHJldmlzaW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTI3MjIsNiArMjcyMiw4IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3JCYXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU3VwcGxlbWVudC5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU3VwcGxlbWVudC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFn
ZS9PcmlnaW5BY2Nlc3NFbnRyeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIFwK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQkocmV2aXNpb24gMTA3NTI4KQorKysgU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQkod29ya2luZyBjb3B5KQpAQCAtOTk3LDYgKzk5Nyw3IEBAIFNPVVJDRVMgKz0gXAog
ICAgIHBhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAgXAogICAgIHBhZ2UvTmF2
aWdhdG9yLmNwcCBcCiAgICAgcGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCBcCisgICAgcGFnZS9OYXZp
Z2F0b3JTdXBwbGVtZW50LmNwcCBcCiAgICAgcGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAgXAog
ICAgIHBhZ2UvUGFnZS5jcHAgXAogICAgIHBhZ2UvUGFnZUdyb3VwLmNwcCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCShyZXZpc2lvbiAxMDc1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkJKHdvcmtpbmcgY29weSkKQEAgLTI2MzYsNiArMjYzNiw4IEBACiAgICAgICAgICAgICAncGFn
ZS9OYXZpZ2F0b3IuaCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCcsCiAg
ICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JCYXNlLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2
aWdhdG9yU3VwcGxlbWVudC5jcHAnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yU3VwcGxl
bWVudC5oJywKICAgICAgICAgICAgICdwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcCcsCiAgICAg
ICAgICAgICAncGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5oJywKICAgICAgICAgICAgICdwYWdlL1Bh
Z2UuY3BwJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JH
YW1lcGFkLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQv
TmF2aWdhdG9yR2FtZXBhZC5jcHAJKHJldmlzaW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2FtZXBhZC9OYXZpZ2F0b3JHYW1lcGFkLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNyArMjgsMTAgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKQogCisjaW5jbHVkZSAiR2FtZXBh
ZExpc3QuaCIKKyNpbmNsdWRlICJHYW1lcGFkcy5oIgogI2luY2x1ZGUgIk5hdmlnYXRvci5oIgor
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
NDAsMTAgKzQzLDI4IEBAIE5hdmlnYXRvckdhbWVwYWQ6On5OYXZpZ2F0b3JHYW1lcGFkKCkKIHsK
IH0KIAorTmF2aWdhdG9yR2FtZXBhZCogTmF2aWdhdG9yR2FtZXBhZDo6ZnJvbShOYXZpZ2F0b3Iq
IG5hdmlnYXRvcikKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFt
ZSwgKCJOYXZpZ2F0b3JHYW1lcGFkIikpOworICAgIE5hdmlnYXRvckdhbWVwYWQqIHN1cHBsZW1l
bnQgPSBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JHYW1lcGFkKj4oTmF2aWdhdG9yU3VwcGxlbWVudDo6
ZnJvbShuYXZpZ2F0b3IsIG5hbWUpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAg
c3VwcGxlbWVudCA9IG5ldyBOYXZpZ2F0b3JHYW1lcGFkKCk7CisgICAgICAgIHByb3ZpZGVUbyhu
YXZpZ2F0b3IsIG5hbWUsIGFkb3B0UHRyKHN1cHBsZW1lbnQpKTsKKyAgICB9CisgICAgcmV0dXJu
IHN1cHBsZW1lbnQ7Cit9CisKIEdhbWVwYWRMaXN0KiBOYXZpZ2F0b3JHYW1lcGFkOjp3ZWJraXRH
YW1lcGFkcyhOYXZpZ2F0b3IqIG5hdmlnYXRvcikKIHsKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
bid0IG5lZWQgdG8gZGlyZWN0IHRoaXMgY2FsbCB0byBOYXZpZ2F0b3IuCi0gICAgcmV0dXJuIG5h
dmlnYXRvci0+Z2FtZXBhZHMoKTsKKyAgICByZXR1cm4gTmF2aWdhdG9yR2FtZXBhZDo6ZnJvbShu
YXZpZ2F0b3IpLT5nYW1lcGFkcygpOworfQorCitHYW1lcGFkTGlzdCogTmF2aWdhdG9yR2FtZXBh
ZDo6Z2FtZXBhZHMoKQoreworICAgIGlmICghbV9nYW1lcGFkcykKKyAgICAgICAgbV9nYW1lcGFk
cyA9IEdhbWVwYWRMaXN0OjpjcmVhdGUoKTsKKyAgICBzYW1wbGVHYW1lcGFkcyhtX2dhbWVwYWRz
LmdldCgpKTsKKyAgICByZXR1cm4gbV9nYW1lcGFkcy5nZXQoKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL05hdmlnYXRv
ckdhbWVwYWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQv
TmF2aWdhdG9yR2FtZXBhZC5oCShyZXZpc2lvbiAxMDc1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dhbWVwYWQvTmF2aWdhdG9yR2FtZXBhZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwx
OCArMjgsMjYgQEAKIAogI2lmIEVOQUJMRShHQU1FUEFEKQogCisjaW5jbHVkZSAiTmF2aWdhdG9y
U3VwcGxlbWVudC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEdhbWVwYWRMaXN0
OwogY2xhc3MgTmF2aWdhdG9yOwogCi1jbGFzcyBOYXZpZ2F0b3JHYW1lcGFkIHsKK2NsYXNzIE5h
dmlnYXRvckdhbWVwYWQgOiBwdWJsaWMgTmF2aWdhdG9yU3VwcGxlbWVudCB7CiBwdWJsaWM6Cisg
ICAgdmlydHVhbCB+TmF2aWdhdG9yR2FtZXBhZCgpOworICAgIHN0YXRpYyBOYXZpZ2F0b3JHYW1l
cGFkKiBmcm9tKE5hdmlnYXRvciopOworCiAgICAgc3RhdGljIEdhbWVwYWRMaXN0KiB3ZWJraXRH
YW1lcGFkcyhOYXZpZ2F0b3IqKTsKIAorICAgIEdhbWVwYWRMaXN0KiBnYW1lcGFkcygpOworCiBw
cml2YXRlOgogICAgIE5hdmlnYXRvckdhbWVwYWQoKTsKLSAgICB+TmF2aWdhdG9yR2FtZXBhZCgp
OworCisgICAgUmVmUHRyPEdhbWVwYWRMaXN0PiBtX2dhbWVwYWRzOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oJKHJldmlzaW9uIDEwNzUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yNTUyMiw2ICsyNTUyMiwx
NCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxw
YWdlXE5hdmlnYXRvclN1cHBsZW1lbnQuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRvclN1cHBsZW1lbnQuaCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxPcmlnaW5B
Y2Nlc3NFbnRyeS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTA3NTI4
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0zNDMwLDYgKzM0MzAsOCBAQAogCQk5N0MwNzg1MDExNjVENUJFMDAz
QTMyRUYgLyogU3VmZml4VHJlZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTdDMDc4NEYxMTY1RDVCRTAwM0EzMkVGIC8qIFN1ZmZpeFRyZWUuaCAqLzsg
fTsKIAkJOTdDNDcxREIxMkY5MjVCRDAwODYzNTRCIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0M0NzFE
OTEyRjkyNUJDMDA4NjM1NEIgLyogQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCAqLzsgfTsKIAkJ
OTdDNDcxREMxMkY5MjVCRDAwODYzNTRCIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDNDcxREExMkY5MjVC
RDAwODYzNTRCIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTk3Q0MzQUUyMTRFOEU0QTIwMDg5NDk4OCAv
KiBOYXZpZ2F0b3JTdXBwbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk3Q0MzQUUwMTRFOEU0QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JTdXBw
bGVtZW50LmNwcCAqLzsgfTsKKwkJOTdDQzNBRTMxNEU4RTRBMjAwODk0OTg4IC8qIE5hdmlnYXRv
clN1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3Q0MzQUUxMTRFOEU0QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JTdXBwbGVtZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTdEMkFEMDMx
NEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3BlcnR5LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3RDJBRDAxMTRCODIzQTYwMDkzREYzMiAv
KiBET01XaW5kb3dQcm9wZXJ0eS5jcHAgKi87IH07CiAJCTk3RDJBRDA0MTRCODIzQTYwMDkzREYz
MiAvKiBET01XaW5kb3dQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTdEMkFEMDIxNEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3Bl
cnR5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
OTdEQ0UyMDExMDgwN0M3NTAwNTdEMzk0IC8qIEhpc3RvcnlDb250cm9sbGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3RENFMUZGMTA4MDdDNzUw
MDU3RDM5NCAvKiBIaXN0b3J5Q29udHJvbGxlci5jcHAgKi87IH07CkBAIC0xMDI4MCw2ICsxMDI4
Miw4IEBACiAJCTk3QzFGNTUyMTIyODU1Q0IwMEVERTYxNiAvKiBIVE1MVG9rZW4uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSFRNTFRva2VuLmg7IHBhdGggPSBwYXJzZXIvSFRN
TFRva2VuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QzQ3MUQ5MTJGOTI1QkMw
MDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTdDNDcxREExMkY5MjVCRDAwODYzNTRCIC8qIENvbnRlbnRTZWN1
cml0eVBvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZW50U2Vj
dXJpdHlQb2xpY3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTdDQzNBRTAxNEU4
RTRBMjAwODk0OTg4IC8qIE5hdmlnYXRvclN1cHBsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdG9yU3VwcGxlbWVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTk3Q0MzQUUxMTRFOEU0QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JT
dXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclN1
cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdEMkFEMDExNEI4MjNB
NjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3BlcnR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERPTVdpbmRvd1Byb3BlcnR5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTdEMkFEMDIxNEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3BlcnR5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd1Byb3BlcnR5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3RENFMUZGMTA4MDdDNzUwMDU3RDM5NCAv
KiBIaXN0b3J5Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBIaXN0b3J5Q29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNTIwNSw2ICsxNTIwOSw4IEBACiAJCQkJQTlDNkU2NUQwRDc0NjY5NDAwNjQ0MkU5IC8qIE5h
dmlnYXRvci5pZGwgKi8sCiAJCQkJRTEyNzE5QzkwRUVFQzIxMzAwRjYxMjEzIC8qIE5hdmlnYXRv
ckJhc2UuY3BwICovLAogCQkJCUUxMjcxOUM2MEVFRUMxNjgwMEY2MTIxMyAvKiBOYXZpZ2F0b3JC
YXNlLmggKi8sCisJCQkJOTdDQzNBRTAxNEU4RTRBMjAwODk0OTg4IC8qIE5hdmlnYXRvclN1cHBs
ZW1lbnQuY3BwICovLAorCQkJCTk3Q0MzQUUxMTRFOEU0QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JT
dXBwbGVtZW50LmggKi8sCiAJCQkJMDAxNDYyODgxMDNDRDFERTAwMEIyMERCIC8qIE9yaWdpbkFj
Y2Vzc0VudHJ5LmNwcCAqLywKIAkJCQkwMDE0NjI4OTEwM0NEMURFMDAwQjIwREIgLyogT3JpZ2lu
QWNjZXNzRW50cnkuaCAqLywKIAkJCQk2NUZFQTg2ODA5ODMzQURFMDBCRUQ0QUIgLyogUGFnZS5j
cHAgKi8sCkBAIC0yNDE4Nyw2ICsyNDE5Myw3IEBACiAJCQkJNEE5NTdGMDcxNEUyNDEzMDAwNDlE
QkZCIC8qIFdlYlNvY2tldEV4dGVuc2lvbkRpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTRBREUyNUZBMTRFM0JCNEMwMDRDMjIxMyAvKiBXZWJTb2NrZXRFeHRlbnNpb25Qcm9jZXNzb3Iu
aCBpbiBIZWFkZXJzICovLAogCQkJCTU3MkU5MkZDMTRFNTQwNTgwMDg3RkZCQSAvKiBTaGFkb3dS
b290TGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTdDQzNBRTMxNEU4RTRBMjAwODk0OTg4IC8q
IE5hdmlnYXRvclN1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjcxMjgsNiArMjcxMzUs
NyBAQAogCQkJCTdBNTQ4ODE4MTRFNDMyQTEwMDZBRTA1QSAvKiBET01QYXRjaFN1cHBvcnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNEE5NTdGMDYxNEUyNDEyQTAwNDlEQkZCIC8qIFdlYlNvY2tl
dEV4dGVuc2lvbkRpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTcyRTkyRkIxNEU1
NDA1ODAwODdGRkJBIC8qIFNoYWRvd1Jvb3RMaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk3
Q0MzQUUyMTRFOEU0QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JTdXBwbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9s
bGVyLmNwcAkocmV2aXNpb24gMTA3NTI4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1v
dGlvbkNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9p
ZCBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpkaWRDaGFuZ2VEZQogCiBjb25zdCBBdG9taWNTdHJp
bmcmIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKCkKIHsKLSAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJkZXZpY2VNb3Rpb24iKSk7Cisg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiRGV2aWNlTW90aW9u
Q29udHJvbGxlciIpKTsKICAgICByZXR1cm4gbmFtZTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9OYXZpZ2F0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yLmNwcAkocmV2aXNpb24gMTA3NTI4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSwxMSArNDUsNiBAQAogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCi0jaWYgRU5B
QkxFKEdBTUVQQUQpCi0jaW5jbHVkZSAiR2FtZXBhZExpc3QuaCIKLSNpbmNsdWRlICJHYW1lcGFk
cy5oIgotI2VuZGlmCi0KICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogI2luY2x1ZGUgIk5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIKICNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suaCIKQEAgLTY3LDYgKzYyLDE3IEBAIE5hdmlnYXRvcjo6fk5hdmln
YXRvcigpCiB7CiB9CiAKK3ZvaWQgTmF2aWdhdG9yOjpwcm92aWRlU3VwcGxlbWVudChjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8TmF2aWdhdG9yU3VwcGxlbWVudD4gc3VwcGxl
bWVudCkKK3sKKyAgICBBU1NFUlQoIW1fc3VwcGxpbWVudHMuZ2V0KG5hbWUuaW1wbCgpKSk7Cisg
ICAgbV9zdXBwbGltZW50cy5zZXQobmFtZS5pbXBsKCksIHN1cHBsZW1lbnQpOworfQorCitOYXZp
Z2F0b3JTdXBwbGVtZW50KiBOYXZpZ2F0b3I6OnJlcXVpcmVTdXBwbGVtZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgbmFtZSkKK3sKKyAgICByZXR1cm4gbV9zdXBwbGltZW50cy5nZXQobmFtZS5pbXBs
KCkpOworfQorCiB2b2lkIE5hdmlnYXRvcjo6cmVzZXRHZW9sb2NhdGlvbigpCiB7CiAgICAgaWYg
KG1fZ2VvbG9jYXRpb24pCkBAIC0yOTEsMTQgKzI5Nyw0IEBAIHZvaWQgTmF2aWdhdG9yOjp3ZWJr
aXRHZXRVc2VyTWVkaWEoY29uc3QKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEdBTUVQQUQpCi1H
YW1lcGFkTGlzdCogTmF2aWdhdG9yOjpnYW1lcGFkcygpCi17Ci0gICAgaWYgKCFtX2dhbWVwYWRz
KQotICAgICAgICBtX2dhbWVwYWRzID0gR2FtZXBhZExpc3Q6OmNyZWF0ZSgpOwotICAgIHNhbXBs
ZUdhbWVwYWRzKG1fZ2FtZXBhZHMuZ2V0KCkpOwotICAgIHJldHVybiBtX2dhbWVwYWRzLmdldCgp
OwotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvTmF2aWdhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuaAkocmV2aXNpb24gMTA3NTI4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsOSBAQAogCiAjaW5jbHVkZSAiRE9N
V2luZG93UHJvcGVydHkuaCIKICNpbmNsdWRlICJOYXZpZ2F0b3JCYXNlLmgiCisjaW5jbHVkZSAi
TmF2aWdhdG9yU3VwcGxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNzQsMjEgKzc2
LDE4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd2Via2l0R2V0VXNlck1lZGlhKGNvbnN0
IFN0cmluZyYgb3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2s+LCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+LCBFeGNl
cHRpb25Db2RlJik7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShHQU1FUEFEKQotICAgIC8vIEZJWE1F
OiBUaGlzIG1ldGhvZCBzaG91bGQgYmUgaW4gV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQuCi0gICAg
R2FtZXBhZExpc3QqIGdhbWVwYWRzKCk7Ci0jZW5kaWYKKyAgICB2b2lkIHByb3ZpZGVTdXBwbGVt
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYsIFBhc3NPd25QdHI8TmF2aWdhdG9yU3VwcGxlbWVudD4p
OworICAgIE5hdmlnYXRvclN1cHBsZW1lbnQqIHJlcXVpcmVTdXBwbGVtZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYpOwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IE5hdmlnYXRvcihGcmFtZSopOwog
CisgICAgdHlwZWRlZiBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBPd25QdHI8TmF2aWdhdG9y
U3VwcGxlbWVudD4gPiBOYXZpZ2F0b3JTdXBwbGVtZW50TWFwOworICAgIE5hdmlnYXRvclN1cHBs
ZW1lbnRNYXAgbV9zdXBwbGltZW50czsKKwogICAgIG11dGFibGUgUmVmUHRyPERPTVBsdWdpbkFy
cmF5PiBtX3BsdWdpbnM7CiAgICAgbXV0YWJsZSBSZWZQdHI8RE9NTWltZVR5cGVBcnJheT4gbV9t
aW1lVHlwZXM7CiAgICAgbXV0YWJsZSBSZWZQdHI8R2VvbG9jYXRpb24+IG1fZ2VvbG9jYXRpb247
Ci0jaWYgRU5BQkxFKEdBTUVQQUQpCi0gICAgLy8gRklYTUU6IFRoaXMgc3RhdGUgc2hvdWxkIGJl
IGluIFdlYkNvcmUvTW9kdWxlcy9nYW1lcGFkLgotICAgIG11dGFibGUgUmVmUHRyPEdhbWVwYWRM
aXN0PiBtX2dhbWVwYWRzOwotI2VuZGlmCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICBt
dXRhYmxlIFJlZlB0cjxQb2ludGVyTG9jaz4gbV9wb2ludGVyOwogI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclN1cHBsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU3VwcGxlbWVudC5jcHAJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclN1cHBsZW1lbnQuY3BwCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIk5hdmlnYXRvclN1cHBsZW1lbnQuaCIKKworI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTmF2aWdh
dG9yU3VwcGxlbWVudDo6fk5hdmlnYXRvclN1cHBsZW1lbnQoKQoreworfQorCit2b2lkIE5hdmln
YXRvclN1cHBsZW1lbnQ6OnByb3ZpZGVUbyhOYXZpZ2F0b3IqIG5hdmlnYXRvciwgY29uc3QgQXRv
bWljU3RyaW5nJiBrZXksIFBhc3NPd25QdHI8TmF2aWdhdG9yU3VwcGxlbWVudD4gc3VwcGxlbWVu
dCkKK3sKKyAgICBuYXZpZ2F0b3ItPnByb3ZpZGVTdXBwbGVtZW50KGtleSwgc3VwcGxlbWVudCk7
Cit9CisKK05hdmlnYXRvclN1cHBsZW1lbnQqIE5hdmlnYXRvclN1cHBsZW1lbnQ6OmZyb20oTmF2
aWdhdG9yKiBuYXZpZ2F0b3IsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKK3sKKyAgICBpZiAo
IW5hdmlnYXRvcikKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG5hdmlnYXRvci0+cmVx
dWlyZVN1cHBsZW1lbnQobmFtZSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU3VwcGxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU3VwcGxlbWVudC5oCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JTdXBwbGVtZW50LmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5hdmlnYXRvclN1cHBsZW1lbnRf
aAorI2RlZmluZSBOYXZpZ2F0b3JTdXBwbGVtZW50X2gKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL093blB0ci5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIE5hdmlnYXRvcjsKKworY2xhc3MgTmF2aWdhdG9yU3VwcGxlbWVudCB7Citw
dWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9yU3VwcGxlbWVudCgpOworCisgICAgc3RhdGlj
IHZvaWQgcHJvdmlkZVRvKE5hdmlnYXRvciosIGNvbnN0IEF0b21pY1N0cmluZyYsIFBhc3NPd25Q
dHI8TmF2aWdhdG9yU3VwcGxlbWVudD4pOworICAgIHN0YXRpYyBOYXZpZ2F0b3JTdXBwbGVtZW50
KiBmcm9tKE5hdmlnYXRvciosIGNvbnN0IEF0b21pY1N0cmluZyYpOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTmF2aWdhdG9yU3VwcGxlbWVudF9oCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAkocmV2aXNpb24gMTA3NTI4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM1MCw3ICszNTAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICBwcml2YXRlOgogICAgICAgICB2b2lkIGluaXRHcm91cCgpOwotICAgICAgICB2b2lk
IG5vdGlmeURlc3Ryb3llZFRvU3VwcGxlbWVudHMoKTsKIAogICAgICAgICB0eXBlZGVmIEhhc2hN
YXA8QXRvbWljU3RyaW5nSW1wbCosIE93blB0cjxQYWdlU3VwcGxlbWVudD4gPiBQYWdlU3VwcGxl
bWVudE1hcDsKICAgICAgICAgUGFnZVN1cHBsZW1lbnRNYXAgbV9zdXBwbGltZW50czsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVN1cHBsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VTdXBwbGVtZW50LmgJKHJldmlzaW9uIDEwNzUyOCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVN1cHBsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzYs
NyArMzYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlOwogY2xhc3MgRnJhbWU7
CiAKLQogY2xhc3MgUGFnZVN1cHBsZW1lbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgflBhZ2VT
dXBwbGVtZW50KCk7CkBAIC00NCw4ICs0Myw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBw
cm92aWRlVG8oUGFnZSosIGNvbnN0IEF0b21pY1N0cmluZyYsIFBhc3NPd25QdHI8UGFnZVN1cHBs
ZW1lbnQ+KTsKICAgICBzdGF0aWMgUGFnZVN1cHBsZW1lbnQqIGZyb20oUGFnZSosIGNvbnN0IEF0
b21pY1N0cmluZyYpOwogICAgIHN0YXRpYyBQYWdlU3VwcGxlbWVudCogZnJvbShGcmFtZSosIGNv
bnN0IEF0b21pY1N0cmluZyYpOwotcHJpdmF0ZToKLSAgICBPd25QdHI8UGFnZVN1cHBsZW1lbnQ+
IG1fc2VsZjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>
<flag name="review"
          id="128612"
          type_id="1"
          status="+"
          setter="morrita"
    />
    <flag name="commit-queue"
          id="128613"
          type_id="3"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>