<?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>27359</bug_id>
          
          <creation_ts>2009-07-16 18:46:14 -0700</creation_ts>
          <short_desc>[V8] Centralize hidden property names</short_desc>
          <delta_ts>2009-07-16 21:29:12 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>dglazkov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>132440</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 18:46:14 -0700</bug_when>
    <thetext>We should centralize our repository of hidden property names so we don&apos;t step on each others toes in the bindings layer.  Patch forth coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132441</commentid>
    <comment_count>1</comment_count>
      <attachid>32910</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 18:47:55 -0700</bug_when>
    <thetext>Created attachment 32910
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132442</commentid>
    <comment_count>2</comment_count>
      <attachid>32910</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-07-16 19:07:46 -0700</bug_when>
    <thetext>Comment on attachment 32910
patch

&gt; Index: WebCore/bindings/v8/V8HiddenPropertyName.cpp
&gt; +    static v8::Persistent&lt;v8::String&gt;* string = new v8::Persistent&lt;v8::String&gt;(v8::Persistent&lt;v8::String&gt;::New(v8::String::NewSymbol(key)));

It seems a shame to repeat &quot;new v8::Persistent&lt;v8::String&gt;(v8::Persistent&lt;v8::String&gt;::New(v8::String::NewSymbol(key)))&quot; twice already in this file.

What about a function so this line of code would look something like this 
   static v8::Persistent&lt;v8::String&gt;* string = createV8PeristentString(key)
?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132457</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 21:18:07 -0700</bug_when>
    <thetext>Will land with modifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132460</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 21:29:12 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/46005</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32910</attachid>
            <date>2009-07-16 18:47:55 -0700</date>
            <delta_ts>2009-07-16 19:07:45 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-27359-20090716184755.patch</filename>
            <type>text/plain</type>
            <size>10358</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NjAwMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMDctMTYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbVjhd
IENlbnRyYWxpemUgaGlkZGVuIHByb3BlcnR5IG5hbWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzM1OQorCisgICAgICAgIE5vIGJlaGF2aW9yIGNo
YW5nZS4gIEp1c3QgbW92aW5nIHRoZXNlIG5hbWVzIHRvIGEgY2VudHJhbCBsb2NhdGlvbi4KKyAg
ICAgICAgSSdsbCBtb3ZlIHRoZSByZXN0IG9mIG91ciBoaWRkZW4gcHJvcGVydHkgbmFtZXMgYXMg
SSBzd2VlcCB0aG91Z2ggdGhlCisgICAgICAgIGJpbmRpbmdzLgorCisgICAgICAgICogV2ViQ29y
ZS5neXBpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOEhpZGRlblByb3BlcnR5TmFtZTo6b2JqZWN0UHJv
dG90eXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlY4SGlkZGVuUHJvcGVydHlOYW1lOjppc29sYXRl
ZFdvcmxkKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oOiBB
ZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOElzb2xhdGVkV29ybGQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VjhJc29sYXRlZFdvcmxkOjpWOElzb2xhdGVkV29ybGQpOgorICAgICAgICAo
V2ViQ29yZTo6VjhJc29sYXRlZFdvcmxkOjpnZXRFbnRlcmVkKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9WOFByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OmdldEhpZGRlbk9i
amVjdFByb3RvdHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5OjppbnN0YWxsSGlkZGVu
T2JqZWN0UHJvdG90eXBlKToKKwogMjAwOS0wNy0xNiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KSW5kZXg6IFdlYkNv
cmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZp
c2lvbiA0NjAwMikKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC03
MDMsNiArNzAzLDggQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5o
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEhlbHBlcnMuY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9WOEhlbHBlcnMuaCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhI
aWRkZW5Qcm9wZXJ0eU5hbWUuY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEhpZGRl
blByb3BlcnR5TmFtZS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEluZGV4LmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhJbmRleC5oJywKICAgICAgICAgICAgICdiaW5k
aW5ncy92OC9WOElzb2xhdGVkV29ybGQuY3BwJywKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvdjgv
VjhIaWRkZW5Qcm9wZXJ0eU5hbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mv
djgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIAorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KiAKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqIAor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhIaWRkZW5Qcm9wZXJ0eU5h
bWUuaCIKKworI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCit2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpvYmpl
Y3RQcm90b3R5cGUoKQoreworICAgIHN0YXRpYyBjaGFyIGtleVtdID0gIldlYkNvcmU6OlY4SGlk
ZGVuUHJvcGVydHlOYW1lOjpvYmplY3RQcm90b3R5cGUiOworICAgIHN0YXRpYyB2ODo6UGVyc2lz
dGVudDx2ODo6U3RyaW5nPiogc3RyaW5nID0gbmV3IHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+
KHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+OjpOZXcodjg6OlN0cmluZzo6TmV3U3ltYm9sKGtl
eSkpKTsKKworICAgIHJldHVybiAqc3RyaW5nOworfQorCit2ODo6SGFuZGxlPHY4OjpTdHJpbmc+
IFY4SGlkZGVuUHJvcGVydHlOYW1lOjppc29sYXRlZFdvcmxkKCkKK3sKKyAgICBzdGF0aWMgY2hh
ciBrZXlbXSA9ICJXZWJDb3JlOjpWOEhpZGRlblByb3BlcnR5TmFtZTo6aXNvbGF0ZWRXb3JsZCI7
CisgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+KiBzdHJpbmcgPSBuZXcgdjg6
OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4odjg6OlBlcnNpc3RlbnQ8djg6OlN0cmluZz46Ok5ldyh2
ODo6U3RyaW5nOjpOZXdTeW1ib2woa2V5KSkpOworCisgICAgcmV0dXJuICpzdHJpbmc7Cit9CisK
K30gIC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlk
ZGVuUHJvcGVydHlOYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhp
ZGRlblByb3BlcnR5TmFtZS5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9W
OEhpZGRlblByb3BlcnR5TmFtZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiAKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICogCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKiAKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBWOEhpZGRlblByb3BlcnR5TmFtZV9oCisjZGVmaW5lIFY4SGlkZGVuUHJvcGVydHlOYW1l
X2gKKworI2luY2x1ZGUgPHY4Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNsYXNz
IFY4SGlkZGVuUHJvcGVydHlOYW1lIHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpTdHJpbmc+IG9iamVjdFByb3RvdHlwZSgpOworICAgICAgICBzdGF0aWMgdjg6
OkhhbmRsZTx2ODo6U3RyaW5nPiBpc29sYXRlZFdvcmxkKCk7CisgICAgfTsKKworfQorCisjZW5k
aWYgLy8gVjhIaWRkZW5Qcm9wZXJ0eU5hbWVfaApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9W
OElzb2xhdGVkV29ybGQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhJ
c29sYXRlZFdvcmxkLmNwcAkocmV2aXNpb24gNDYwMDIpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4SXNvbGF0ZWRXb3JsZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDMwICszNCwxNSBAQAog
CiAjaW5jbHVkZSA8djguaD4KIAotI2luY2x1ZGUgIlY4RE9NV2luZG93LmgiCiAjaW5jbHVkZSAi
RnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkhhc2hN
YXAuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiVjhET01XaW5k
b3cuaCIKKyNpbmNsdWRlICJWOEhpZGRlblByb3BlcnR5TmFtZS5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLS8vIFdlIGNhY2hlIGEgcG9pbnRlciB0byB0aGUgVjhJc29sYXRlZFdvcmxkIGFz
IGEgaGlkZGVuIHByb3BlcnR5IG9uIHRoZQotLy8gY29udGV4dCdzIGdsb2JhbCBvYmplY3QuICBU
aGlzIGNvbnN0YW50IGlzIHRoZSBuYW1lIG9mIG91ciBoaWRkZW4gcHJvcGVydHkuCi0vLwotLy8g
RklYTUU6IFdlIHNob3VsZCBjZW50cmFsaXplIG91ciBsaXN0IG9mIFY4IGhpZGRlbiBwcm9wcmV0
eSBuYW1lcyB0byBlbnN1cmUKLS8vIHdlIGRvbid0IGhhdmUgbmFtZSBjb2xsaXNpb25zLgotLy8K
LXN0YXRpYyBjaGFyIGlzb2xhdGVkV29ybGRLZXlbXSA9ICJJc29sYXRlZFdvcmxkIjsKLQotc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gZ2V0SXNvbGF0ZWRXb3JsZEtleSgpCi17Ci0gICAg
c3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+KiBrZXk7Ci0gICAgaWYgKCFrZXkpCi0g
ICAgICAgIGtleSA9IG5ldyB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPih2ODo6UGVyc2lzdGVu
dDx2ODo6U3RyaW5nPjo6TmV3KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChpc29sYXRlZFdvcmxkS2V5
KSkpOwotICAgIHJldHVybiAqa2V5OwotfQotCiBzdGF0aWMgaW50IGlzb2xhdGVkV29ybGRDb3Vu
dCA9IDA7CiAKIHN0YXRpYyB2b2lkIGNvbnRleHRXZWFrUmVmZXJlbmNlQ2FsbGJhY2sodjg6OlBl
cnNpc3RlbnQ8djg6OlZhbHVlPiBvYmplY3QsIHZvaWQqIGlzb2xhdGVkX3dvcmxkKQpAQCAtMTA2
LDcgKzkxLDcgQEAgVjhJc29sYXRlZFdvcmxkOjpWOElzb2xhdGVkV29ybGQodjg6Okhhbgogewog
ICAgICsraXNvbGF0ZWRXb3JsZENvdW50OwogICAgIG1fY29udGV4dC5NYWtlV2Vhayh0aGlzLCAm
Y29udGV4dFdlYWtSZWZlcmVuY2VDYWxsYmFjayk7Ci0gICAgbV9jb250ZXh0LT5HbG9iYWwoKS0+
U2V0SGlkZGVuVmFsdWUoZ2V0SXNvbGF0ZWRXb3JsZEtleSgpLCB2ODo6RXh0ZXJuYWw6OldyYXAo
dGhpcykpOworICAgIG1fY29udGV4dC0+R2xvYmFsKCktPlNldEhpZGRlblZhbHVlKFY4SGlkZGVu
UHJvcGVydHlOYW1lOjppc29sYXRlZFdvcmxkKCksIHY4OjpFeHRlcm5hbDo6V3JhcCh0aGlzKSk7
CiB9CiAKIFY4SXNvbGF0ZWRXb3JsZDo6flY4SXNvbGF0ZWRXb3JsZCgpCkBAIC0xMjksNyArMTE0
LDcgQEAgVjhJc29sYXRlZFdvcmxkKiBWOElzb2xhdGVkV29ybGQ6OmdldEVudAogICAgICAgICBy
ZXR1cm4gMDsKICAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CiAKLSAgICB2ODo6TG9jYWw8djg6
OlZhbHVlPiB3b3JsZCA9IHY4OjpDb250ZXh0OjpHZXRFbnRlcmVkKCktPkdsb2JhbCgpLT5HZXRI
aWRkZW5WYWx1ZShnZXRJc29sYXRlZFdvcmxkS2V5KCkpOworICAgIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IHdvcmxkID0gdjg6OkNvbnRleHQ6OkdldEVudGVyZWQoKS0+R2xvYmFsKCktPkdldEhpZGRl
blZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjppc29sYXRlZFdvcmxkKCkpOwogICAgIGlmICh3
b3JsZC5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiAwOwogCkluZGV4OiBXZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4UHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhQ
cm94eS5jcHAJKHJldmlzaW9uIDQ2MDAyKQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4Q3VzdG9t
QmluZGluZy5oIgogI2luY2x1ZGUgIlY4RE9NTWFwLmgiCiAjaW5jbHVkZSAiVjhET01XaW5kb3cu
aCIKKyNpbmNsdWRlICJWOEhpZGRlblByb3BlcnR5TmFtZS5oIgogI2luY2x1ZGUgIlY4SW5kZXgu
aCIKICNpbmNsdWRlICJWOElzb2xhdGVkV29ybGQuaCIKICNpbmNsdWRlICJXb3JrZXJDb250ZXh0
RXhlY3V0aW9uUHJveHkuaCIKQEAgLTY1LDggKzY2LDYgQEAgVjhFeHRlbnNpb25MaXN0IFY4UHJv
eHk6Om1fZXh0ZW5zaW9uczsKIGNvbnN0IGNoYXIqIFY4UHJveHk6OmtDb250ZXh0RGVidWdEYXRh
VHlwZSA9ICJ0eXBlIjsKIGNvbnN0IGNoYXIqIFY4UHJveHk6OmtDb250ZXh0RGVidWdEYXRhVmFs
dWUgPSAidmFsdWUiOwogCi1zdGF0aWMgY2hhciBoaWRkZW5PYmplY3RQcm90b3R5cGVLZXlbXSA9
ICJoaWRkZW5PYmplY3RQcm90b3R5cGVLZXkiOwotCiB2b2lkIGJhdGNoQ29uZmlndXJlQXR0cmli
dXRlcyh2ODo6SGFuZGxlPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5zdGFuY2UsIHY4OjpIYW5kbGU8
djg6Ok9iamVjdFRlbXBsYXRlPiBwcm90bywgY29uc3QgQmF0Y2hlZEF0dHJpYnV0ZSogYXR0cmli
dXRlcywgc2l6ZV90IGF0dHJpYnV0ZUNvdW50KQogewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgYXR0cmlidXRlQ291bnQ7ICsraSkgewpAQCAtMTQ3NCwxNCArMTQ3MywxNCBAQCBpbnQgVjhQ
cm94eTo6Y29udGV4dERlYnVnSWQodjg6OkhhbmRsZTx2CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOFByb3h5OjpnZXRIaWRkZW5PYmplY3RQcm90b3R5cGUodjg6OkhhbmRsZTx2ODo6Q29udGV4
dD4gY29udGV4dCkKIHsKLSAgICByZXR1cm4gY29udGV4dC0+R2xvYmFsKCktPkdldEhpZGRlblZh
bHVlKHY4OjpTdHJpbmc6Ok5ldyhoaWRkZW5PYmplY3RQcm90b3R5cGVLZXkpKTsKKyAgICByZXR1
cm4gY29udGV4dC0+R2xvYmFsKCktPkdldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1l
OjpvYmplY3RQcm90b3R5cGUoKSk7CiB9CiAKIHZvaWQgVjhQcm94eTo6aW5zdGFsbEhpZGRlbk9i
amVjdFByb3RvdHlwZSh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0KQogewogICAgIHY4
OjpIYW5kbGU8djg6OlN0cmluZz4gb2JqZWN0U3RyaW5nID0gdjg6OlN0cmluZzo6TmV3KCJPYmpl
Y3QiKTsKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHByb3RvdHlwZVN0cmluZyA9IHY4OjpT
dHJpbmc6Ok5ldygicHJvdG90eXBlIik7Ci0gICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBoaWRk
ZW5PYmplY3RQcm90b3R5cGVTdHJpbmcgPSB2ODo6U3RyaW5nOjpOZXcoaGlkZGVuT2JqZWN0UHJv
dG90eXBlS2V5KTsKKyAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGhpZGRlbk9iamVjdFByb3Rv
dHlwZVN0cmluZyA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpvYmplY3RQcm90b3R5cGUoKTsKICAg
ICAvLyBCYWlsIG91dCBpZiBhbGxvY2F0aW9uIGZhaWxlZC4KICAgICBpZiAob2JqZWN0U3RyaW5n
LklzRW1wdHkoKSB8fCBwcm90b3R5cGVTdHJpbmcuSXNFbXB0eSgpIHx8IGhpZGRlbk9iamVjdFBy
b3RvdHlwZVN0cmluZy5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjs=
</data>
<flag name="review"
          id="17259"
          type_id="1"
          status="+"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>