<?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>78837</bug_id>
          
          <creation_ts>2012-02-16 13:48:59 -0800</creation_ts>
          <short_desc>[chromium] Cleanup unused WebDragData methods after r107846</short_desc>
          <delta_ts>2012-02-22 14:52:11 -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="Daniel Cheng">dcheng</reporter>
          <assigned_to name="Daniel Cheng">dcheng</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>558489</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-02-16 13:48:59 -0800</bug_when>
    <thetext>[chromium] Cleanup unused WebDragData methods after r107846</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558494</commentid>
    <comment_count>1</comment_count>
      <attachid>127435</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-02-16 13:53:11 -0800</bug_when>
    <thetext>Created attachment 127435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558495</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-02-16 13:54:03 -0800</bug_when>
    <thetext>This is a followup to r107846. Once the Source/WebKit/chromium/DEPS is rolled, I will land this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559407</commentid>
    <comment_count>3</comment_count>
      <attachid>127627</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-02-17 11:59:24 -0800</bug_when>
    <thetext>Created attachment 127627
EWS run?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559664</commentid>
    <comment_count>4</comment_count>
      <attachid>127627</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-17 17:04:44 -0800</bug_when>
    <thetext>Comment on attachment 127627
EWS run?

Attachment 127627 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11539636

New failing tests:
fast/events/drag-image-filename.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559666</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-02-17 17:12:50 -0800</bug_when>
    <thetext>Argh. This layout test exercises a code path that&apos;s never used in the actual browser, but is tickled by DRT. I&apos;m going to have to think of a good way to fix this...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561204</commentid>
    <comment_count>6</comment_count>
      <attachid>128039</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-02-21 14:06:22 -0800</bug_when>
    <thetext>Created attachment 128039
Fix layout test and crbug.com/115015</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561393</commentid>
    <comment_count>7</comment_count>
      <attachid>128087</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-02-21 17:10:07 -0800</bug_when>
    <thetext>Created attachment 128087
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562063</commentid>
    <comment_count>8</comment_count>
      <attachid>128087</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-22 09:52:49 -0800</bug_when>
    <thetext>Comment on attachment 128087
Patch

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

&gt; Source/WebKit/chromium/src/WebDragData.cpp:135
&gt; +    ensureMutable();

What is this for?  Can you mention it in the ChangeLog?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562415</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-02-22 14:52:11 -0800</bug_when>
    <thetext>Committed r108554: &lt;http://trac.webkit.org/changeset/108554&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127435</attachid>
            <date>2012-02-16 13:53:11 -0800</date>
            <delta_ts>2012-02-17 11:59:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78837-20120216135310.patch</filename>
            <type>text/plain</type>
            <size>11020</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3ODc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDZjMTdhOGYxYjA5MTZhMjYxYzI4N2U4NWU2NTVkNWI5NzIyMWIxNzMuLjM0YTk1OGQ0NTk5YzQ5
ODFmOTAwYzlhYmEzYTNiMjhhMmVkOTY0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTItMDItMTYgIERhbmllbCBDaGVuZyAgPGRjaGVuZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBDbGVhbnVwIHVudXNlZCBXZWJEcmFnRGF0YSBt
ZXRob2RzIGFmdGVyIHIxMDc4NDYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc4ODM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwdWJsaWMvcGxhdGZvcm0vV2ViRHJhZ0RhdGEuaDoKKyAgICAgICAgKFdl
YkRyYWdEYXRhKToKKyAgICAgICAgKiBzcmMvV2ViRHJhZ0RhdGEuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJEcmFnRGF0YTo6YWRkSXRlbSk6CisKIDIwMTItMDItMTUgIFRvbW15IFdpZGVuZmx5
Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAKICAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBSZW1v
dmluZyBTZWN1cml0eUNvbnRleHQgZnJvbSB0aGUgZW1iZWRkZXIgQVBJCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJEcmFnRGF0YS5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViRHJhZ0RhdGEuaAppbmRleCAw
OTZmMzNjNDczZmJlYWE2NDE2MGI3OWIxNDA5OTgwMTAyMGU2ZmMzLi40MjRkMjE0N2FiYTBkYjA2
NjcyNjAxNjM2Nzg0MjZkYTU5MGFjNTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJEcmFnRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL3BsYXRmb3JtL1dlYkRyYWdEYXRhLmgKQEAgLTEwMCw0NSArMTAwLDYgQEAg
cHVibGljOgogCiAgICAgV2ViVmVjdG9yPEl0ZW0+IGl0ZW1zKCkgY29uc3Q7CiAgICAgdm9pZCBz
ZXRJdGVtcyhjb25zdCBXZWJWZWN0b3I8SXRlbT4mKTsKLQotICAgIFdFQktJVF9FWFBPUlQgV2Vi
U3RyaW5nIHVybCgpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRVUkwoY29uc3Qg
V2ViVVJMJik7Ci0KLSAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyB1cmxUaXRsZSgpIGNvbnN0
OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRVUkxUaXRsZShjb25zdCBXZWJTdHJpbmcmKTsK
LQotICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGRvd25sb2FkTWV0YWRhdGEoKSBjb25zdDsK
LSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0RG93bmxvYWRNZXRhZGF0YShjb25zdCBXZWJTdHJp
bmcmKTsKLQotICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGZpbGVFeHRlbnNpb24oKSBjb25z
dDsKLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0RmlsZUV4dGVuc2lvbihjb25zdCBXZWJTdHJp
bmcmKTsKLQotICAgIFdFQktJVF9FWFBPUlQgYm9vbCBjb250YWluc0ZpbGVuYW1lcygpIGNvbnN0
OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBmaWxlbmFtZXMoV2ViVmVjdG9yPFdlYlN0cmluZz4m
KSBjb25zdDsKLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0RmlsZW5hbWVzKGNvbnN0IFdlYlZl
Y3RvcjxXZWJTdHJpbmc+Jik7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFwcGVuZFRvRmlsZW5h
bWVzKGNvbnN0IFdlYlN0cmluZyYpOwotCi0gICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgcGxh
aW5UZXh0KCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldFBsYWluVGV4dChjb25z
dCBXZWJTdHJpbmcmKTsKLQotICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGh0bWxUZXh0KCkg
Y29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldEhUTUxUZXh0KGNvbnN0IFdlYlN0cmlu
ZyYpOwotCi0gICAgV0VCS0lUX0VYUE9SVCBXZWJVUkwgaHRtbEJhc2VVUkwoKSBjb25zdDsKLSAg
ICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0SFRNTEJhc2VVUkwoY29uc3QgV2ViVVJMJik7Ci0KLSAg
ICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBmaWxlQ29udGVudEZpbGVuYW1lKCkgY29uc3Q7Ci0g
ICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldEZpbGVDb250ZW50RmlsZW5hbWUoY29uc3QgV2ViU3Ry
aW5nJik7Ci0KLSAgICBXRUJLSVRfRVhQT1JUIFdlYkRhdGEgZmlsZUNvbnRlbnQoKSBjb25zdDsK
LSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0RmlsZUNvbnRlbnQoY29uc3QgV2ViRGF0YSYpOwot
Ci0gICAgc3RydWN0IEN1c3RvbURhdGEgewotICAgICAgICBXZWJTdHJpbmcgdHlwZTsKLSAgICAg
ICAgV2ViU3RyaW5nIGRhdGE7Ci0gICAgfTsKLSAgICBXRUJLSVRfRVhQT1JUIFdlYlZlY3RvcjxD
dXN0b21EYXRhPiBjdXN0b21EYXRhKCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNl
dEN1c3RvbURhdGEoY29uc3QgV2ViVmVjdG9yPEN1c3RvbURhdGE+Jik7CiAgICAgdm9pZCBhZGRJ
dGVtKGNvbnN0IEl0ZW0mKTsKIAogI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRHJhZ0RhdGEuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRHJhZ0RhdGEuY3BwCmluZGV4IDc0MmRlNzk3ZTczMmZkZWY4
MjQ5ZjI5MDc2Yjg3NjI2OGE3OGNjYWMuLjczZDBmYzgyYWViNTczYTYxMzAzNDQ0MjFhOTMzMzlj
YmU2ZGRhNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRyYWdE
YXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEcmFnRGF0YS5jcHAK
QEAgLTEzMSw2ICsxMzEsNyBAQCB2b2lkIFdlYkRyYWdEYXRhOjpzZXRJdGVtcyhjb25zdCBXZWJW
ZWN0b3I8SXRlbT4mIGl0ZW1MaXN0KQogCiB2b2lkIFdlYkRyYWdEYXRhOjphZGRJdGVtKGNvbnN0
IEl0ZW0mIGl0ZW0pCiB7CisgICAgZW5zdXJlTXV0YWJsZSgpOwogICAgIHN3aXRjaCAoaXRlbS5z
dG9yYWdlVHlwZSkgewogICAgIGNhc2UgSXRlbTo6U3RvcmFnZVR5cGVTdHJpbmc6CiAgICAgICAg
IG1fcHJpdmF0ZS0+c2V0RGF0YShpdGVtLnN0cmluZ1R5cGUsIGl0ZW0uc3RyaW5nRGF0YSk7CkBA
IC0xNDgsMTY4ICsxNDksNiBAQCB2b2lkIFdlYkRyYWdEYXRhOjphZGRJdGVtKGNvbnN0IEl0ZW0m
IGl0ZW0pCiAgICAgfQogfQogCi1XZWJTdHJpbmcgV2ViRHJhZ0RhdGE6OnVybCgpIGNvbnN0Ci17
Ci0gICAgQVNTRVJUKCFpc051bGwoKSk7Ci0gICAgYm9vbCBpZ25vcmVkU3VjY2VzczsKLSAgICBy
ZXR1cm4gbV9wcml2YXRlLT5nZXREYXRhKG1pbWVUeXBlVVJMLCBpZ25vcmVkU3VjY2Vzcyk7Ci19
Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OnNldFVSTChjb25zdCBXZWJVUkwmIHVybCkKLXsKLSAgICBl
bnN1cmVNdXRhYmxlKCk7Ci0gICAgbV9wcml2YXRlLT5zZXREYXRhKG1pbWVUeXBlVVJMLCBLVVJM
KHVybCkuc3RyaW5nKCkpOwotfQotCi1XZWJTdHJpbmcgV2ViRHJhZ0RhdGE6OnVybFRpdGxlKCkg
Y29uc3QKLXsKLSAgICBBU1NFUlQoIWlzTnVsbCgpKTsKLSAgICByZXR1cm4gbV9wcml2YXRlLT51
cmxUaXRsZSgpOwotfQotCi12b2lkIFdlYkRyYWdEYXRhOjpzZXRVUkxUaXRsZShjb25zdCBXZWJT
dHJpbmcmIHVybFRpdGxlKQotewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBtX3ByaXZhdGUt
PnNldFVybFRpdGxlKHVybFRpdGxlKTsKLX0KLQotV2ViU3RyaW5nIFdlYkRyYWdEYXRhOjpkb3du
bG9hZE1ldGFkYXRhKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoIWlzTnVsbCgpKTsKLSAgICBib29s
IGlnbm9yZWRTdWNjZXNzOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmdldERhdGEobWltZVR5cGVE
b3dubG9hZFVSTCwgaWdub3JlZFN1Y2Nlc3MpOwotfQotCi12b2lkIFdlYkRyYWdEYXRhOjpzZXRE
b3dubG9hZE1ldGFkYXRhKGNvbnN0IFdlYlN0cmluZyYgZG93bmxvYWRNZXRhZGF0YSkKLXsKLSAg
ICBlbnN1cmVNdXRhYmxlKCk7Ci0gICAgbV9wcml2YXRlLT5zZXREYXRhKG1pbWVUeXBlRG93bmxv
YWRVUkwsIGRvd25sb2FkTWV0YWRhdGEpOwotfQotCi1XZWJTdHJpbmcgV2ViRHJhZ0RhdGE6OmZp
bGVFeHRlbnNpb24oKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwotICAgIHJldHVy
biBtX3ByaXZhdGUtPmZpbGVFeHRlbnNpb24oKTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0YTo6c2V0
RmlsZUV4dGVuc2lvbihjb25zdCBXZWJTdHJpbmcmIGZpbGVFeHRlbnNpb24pCi17Ci0gICAgZW5z
dXJlTXV0YWJsZSgpOwotICAgIG1fcHJpdmF0ZS0+c2V0RmlsZUV4dGVuc2lvbihmaWxlRXh0ZW5z
aW9uKTsKLX0KLQotYm9vbCBXZWJEcmFnRGF0YTo6Y29udGFpbnNGaWxlbmFtZXMoKSBjb25zdAot
ewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmNvbnRhaW5z
RmlsZW5hbWVzKCk7Ci19Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OmZpbGVuYW1lcyhXZWJWZWN0b3I8
V2ViU3RyaW5nPiYgZmlsZW5hbWVzKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwot
ICAgIGZpbGVuYW1lcyA9IG1fcHJpdmF0ZS0+ZmlsZW5hbWVzKCk7Ci19Ci0KLXZvaWQgV2ViRHJh
Z0RhdGE6OnNldEZpbGVuYW1lcyhjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgZmlsZW5hbWVz
KQotewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBWZWN0b3I8U3RyaW5nPiBmaWxlbmFtZXND
b3B5OwotICAgIGZpbGVuYW1lc0NvcHkuYXBwZW5kKGZpbGVuYW1lcy5kYXRhKCksIGZpbGVuYW1l
cy5zaXplKCkpOwotICAgIG1fcHJpdmF0ZS0+c2V0RmlsZW5hbWVzKGZpbGVuYW1lc0NvcHkpOwot
fQotCi12b2lkIFdlYkRyYWdEYXRhOjphcHBlbmRUb0ZpbGVuYW1lcyhjb25zdCBXZWJTdHJpbmcm
IGZpbGVuYW1lKQotewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBWZWN0b3I8U3RyaW5nPiBm
aWxlbmFtZXMgPSBtX3ByaXZhdGUtPmZpbGVuYW1lcygpOwotICAgIGZpbGVuYW1lcy5hcHBlbmQo
ZmlsZW5hbWUpOwotICAgIG1fcHJpdmF0ZS0+c2V0RmlsZW5hbWVzKGZpbGVuYW1lcyk7Ci19Ci0K
LVdlYlN0cmluZyBXZWJEcmFnRGF0YTo6cGxhaW5UZXh0KCkgY29uc3QKLXsKLSAgICBBU1NFUlQo
IWlzTnVsbCgpKTsKLSAgICBib29sIGlnbm9yZWRTdWNjZXNzOwotICAgIHJldHVybiBtX3ByaXZh
dGUtPmdldERhdGEobWltZVR5cGVUZXh0UGxhaW4sIGlnbm9yZWRTdWNjZXNzKTsKLX0KLQotdm9p
ZCBXZWJEcmFnRGF0YTo6c2V0UGxhaW5UZXh0KGNvbnN0IFdlYlN0cmluZyYgcGxhaW5UZXh0KQot
ewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBtX3ByaXZhdGUtPnNldERhdGEobWltZVR5cGVU
ZXh0UGxhaW4sIHBsYWluVGV4dCk7Ci19Ci0KLVdlYlN0cmluZyBXZWJEcmFnRGF0YTo6aHRtbFRl
eHQoKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwotICAgIGJvb2wgaWdub3JlZFN1
Y2Nlc3M7Ci0gICAgcmV0dXJuIG1fcHJpdmF0ZS0+Z2V0RGF0YShtaW1lVHlwZVRleHRIVE1MLCBp
Z25vcmVkU3VjY2Vzcyk7Ci19Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OnNldEhUTUxUZXh0KGNvbnN0
IFdlYlN0cmluZyYgaHRtbFRleHQpCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwotICAgIG1fcHJp
dmF0ZS0+c2V0RGF0YShtaW1lVHlwZVRleHRIVE1MLCBodG1sVGV4dCk7Ci19Ci0KLVdlYlVSTCBX
ZWJEcmFnRGF0YTo6aHRtbEJhc2VVUkwoKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkp
OwotICAgIHJldHVybiBtX3ByaXZhdGUtPmh0bWxCYXNlVXJsKCk7Ci19Ci0KLXZvaWQgV2ViRHJh
Z0RhdGE6OnNldEhUTUxCYXNlVVJMKGNvbnN0IFdlYlVSTCYgaHRtbEJhc2VVUkwpCi17Ci0gICAg
ZW5zdXJlTXV0YWJsZSgpOwotICAgIG1fcHJpdmF0ZS0+c2V0SHRtbEJhc2VVcmwoaHRtbEJhc2VV
UkwpOwotfQotCi1XZWJTdHJpbmcgV2ViRHJhZ0RhdGE6OmZpbGVDb250ZW50RmlsZW5hbWUoKSBj
b25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmZp
bGVDb250ZW50RmlsZW5hbWUoKTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0YTo6c2V0RmlsZUNvbnRl
bnRGaWxlbmFtZShjb25zdCBXZWJTdHJpbmcmIGZpbGVuYW1lKQotewotICAgIGVuc3VyZU11dGFi
bGUoKTsKLSAgICBtX3ByaXZhdGUtPnNldEZpbGVDb250ZW50RmlsZW5hbWUoZmlsZW5hbWUpOwot
fQotCi1XZWJEYXRhIFdlYkRyYWdEYXRhOjpmaWxlQ29udGVudCgpIGNvbnN0Ci17Ci0gICAgQVNT
RVJUKCFpc051bGwoKSk7Ci0gICAgcmV0dXJuIFdlYkRhdGEobV9wcml2YXRlLT5maWxlQ29udGVu
dCgpKTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0YTo6c2V0RmlsZUNvbnRlbnQoY29uc3QgV2ViRGF0
YSYgZmlsZUNvbnRlbnQpCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwotICAgIG1fcHJpdmF0ZS0+
c2V0RmlsZUNvbnRlbnQoZmlsZUNvbnRlbnQpOwotfQotCi1XZWJWZWN0b3I8V2ViRHJhZ0RhdGE6
OkN1c3RvbURhdGE+IFdlYkRyYWdEYXRhOjpjdXN0b21EYXRhKCkgY29uc3QKLXsKLSAgICBBU1NF
UlQoIWlzTnVsbCgpKTsKLSAgICBXZWJWZWN0b3I8Q3VzdG9tRGF0YT4gY3VzdG9tRGF0YShzdGF0
aWNfY2FzdDxzaXplX3Q+KG1fcHJpdmF0ZS0+Y3VzdG9tRGF0YSgpLnNpemUoKSkpOwotICAgIEhh
c2hNYXA8U3RyaW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBiZWdpbiA9IG1fcHJpdmF0ZS0+
Y3VzdG9tRGF0YSgpLmJlZ2luKCk7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz46OmNvbnN0
X2l0ZXJhdG9yIGVuZCA9IG1fcHJpdmF0ZS0+Y3VzdG9tRGF0YSgpLmVuZCgpOwotICAgIHNpemVf
dCBpID0gMDsKLSAgICBmb3IgKEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRv
ciBpdCA9IGJlZ2luOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgQ3VzdG9tRGF0YSBkYXRh
ID0ge2l0LT5maXJzdCwgaXQtPnNlY29uZH07Ci0gICAgICAgIGN1c3RvbURhdGFbaSsrXSA9IGRh
dGE7Ci0gICAgfQotICAgIHJldHVybiBjdXN0b21EYXRhOwotfQotCi12b2lkIFdlYkRyYWdEYXRh
OjpzZXRDdXN0b21EYXRhKGNvbnN0IFdlYlZlY3RvcjxXZWJEcmFnRGF0YTo6Q3VzdG9tRGF0YT4m
IGN1c3RvbURhdGEpCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwotICAgIEhhc2hNYXA8U3RyaW5n
LCBTdHJpbmc+JiBjdXN0b21EYXRhTWFwID0gbV9wcml2YXRlLT5jdXN0b21EYXRhKCk7Ci0gICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBjdXN0b21EYXRhLnNpemUoKTsgKytpKQotICAgICAgICBj
dXN0b21EYXRhTWFwLnNldChjdXN0b21EYXRhW2ldLnR5cGUsIGN1c3RvbURhdGFbaV0uZGF0YSk7
Ci19Ci0KIFdlYkRyYWdEYXRhOjpXZWJEcmFnRGF0YShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2Vi
Q29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0PiYgZGF0YSkKICAgICA6IG1fcHJpdmF0ZShzdGF0aWNf
Y2FzdDxXZWJEcmFnRGF0YVByaXZhdGUqPihkYXRhLmxlYWtSZWYoKSkpCiB7CmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODc4NGVmZDE4ZGZlNzQx
YTBlMTQzYjU2NTdlOWVhNzM5MGJiYjJjYS4uNTA2ODVjNmFhMDBkODA1ZDRjZTcwMGRhMDIwZTBk
Mzc3MGFlNDA0MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAyLTE2ICBEYW5pZWwgQ2hlbmcgIDxkY2hlbmdA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQ2xlYW51cCB1bnVzZWQgV2ViRHJh
Z0RhdGEgbWV0aG9kcyBhZnRlciByMTA3ODQ2CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03ODgzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIu
Y3BwOgorICAgICAgICAoRXZlbnRTZW5kZXI6OmR1bXBGaWxlbmFtZUJlaW5nRHJhZ2dlZCk6Cisg
ICAgICAgIChFdmVudFNlbmRlcjo6YmVnaW5EcmFnV2l0aEZpbGVzKToKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChhZGREUlRGYWtl
RmlsZVRvRGF0YU9iamVjdCk6CisKIDIwMTItMDItMTUgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIGFkZCBsaW51eCBkYmcgYmFjayB0byBnYXJk
ZW4tby1tYXRpYwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZl
bnRTZW5kZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIu
Y3BwCmluZGV4IDlhY2M0MmRmYmUwYzEzNzU2NjMyMjBmNWU5MzkyYjhhN2IyOWRkMzQuLmNjNzNi
MmRiZDNlNDRmZDAzMTNiMTA1NGIwZjFkMDQ0ZjAzYjYyNTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHAKQEAgLTM1NCw3ICszNTQsMTUgQEAgdm9p
ZCBFdmVudFNlbmRlcjo6ZG9EcmFnRHJvcChjb25zdCBXZWJEcmFnRGF0YSYgZHJhZ0RhdGEsIFdl
YkRyYWdPcGVyYXRpb25zTWFzawogCiB2b2lkIEV2ZW50U2VuZGVyOjpkdW1wRmlsZW5hbWVCZWlu
Z0RyYWdnZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopCiB7Ci0gICAgcHJp
bnRmKCJGaWxlbmFtZSBiZWluZyBkcmFnZ2VkOiAlc1xuIiwgY3VycmVudERyYWdEYXRhLmZpbGVD
b250ZW50RmlsZW5hbWUoKS51dGY4KCkuZGF0YSgpKTsKKyAgICBXZWJTdHJpbmcgZmlsZW5hbWU7
CisgICAgV2ViVmVjdG9yPFdlYkRyYWdEYXRhOjpJdGVtPiBpdGVtcyA9IGN1cnJlbnREcmFnRGF0
YS5pdGVtcygpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaXRlbXMuc2l6ZSgpOyArK2kp
IHsKKyAgICAgICAgaWYgKGl0ZW1zW2ldLnN0b3JhZ2VUeXBlID09IFdlYkRyYWdEYXRhOjpJdGVt
OjpTdG9yYWdlVHlwZUJpbmFyeURhdGEpIHsKKyAgICAgICAgICAgIGZpbGVuYW1lID0gaXRlbXNb
aV0udGl0bGU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICBwcmlu
dGYoIkZpbGVuYW1lIGJlaW5nIGRyYWdnZWQ6ICVzXG4iLCBmaWxlbmFtZS51dGY4KCkuZGF0YSgp
KTsKIH0KIAogV2ViTW91c2VFdmVudDo6QnV0dG9uIEV2ZW50U2VuZGVyOjpnZXRCdXR0b25UeXBl
RnJvbUJ1dHRvbk51bWJlcihpbnQgYnV0dG9uQ29kZSkKQEAgLTg2OSw4ICs4NzcsMTIgQEAgdm9p
ZCBFdmVudFNlbmRlcjo6YmVnaW5EcmFnV2l0aEZpbGVzKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYg
YXJndW1lbnRzLCBDcHBWYXJpYW4KIHsKICAgICBjdXJyZW50RHJhZ0RhdGEuaW5pdGlhbGl6ZSgp
OwogICAgIFZlY3RvcjxzdHJpbmc+IGZpbGVzID0gYXJndW1lbnRzWzBdLnRvU3RyaW5nVmVjdG9y
KCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaWxlcy5zaXplKCk7ICsraSkKLSAgICAg
ICAgY3VycmVudERyYWdEYXRhLmFwcGVuZFRvRmlsZW5hbWVzKHdlYmtpdF9zdXBwb3J0OjpHZXRB
YnNvbHV0ZVdlYlN0cmluZ0Zyb21VVEY4UGF0aChmaWxlc1tpXSkpOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgZmlsZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgV2ViRHJhZ0RhdGE6Okl0
ZW0gaXRlbTsKKyAgICAgICAgaXRlbS5zdG9yYWdlVHlwZSA9IFdlYkRyYWdEYXRhOjpJdGVtOjpT
dG9yYWdlVHlwZUZpbGVuYW1lOworICAgICAgICBpdGVtLmZpbGVuYW1lRGF0YSA9IHdlYmtpdF9z
dXBwb3J0OjpHZXRBYnNvbHV0ZVdlYlN0cmluZ0Zyb21VVEY4UGF0aChmaWxlc1tpXSk7CisgICAg
ICAgIGN1cnJlbnREcmFnRGF0YS5hZGRJdGVtKGl0ZW0pOworICAgIH0KICAgICBjdXJyZW50RHJh
Z0VmZmVjdHNBbGxvd2VkID0gV2ViS2l0OjpXZWJEcmFnT3BlcmF0aW9uQ29weTsKIAogICAgIC8v
IFByb3ZpZGUgYSBkcmFnIHNvdXJjZS4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1dlYlZpZXdIb3N0LmNwcAppbmRleCBiZWZhM2I3MTgwMjRhYzE1YTgyN2M0OWY1OGZhZTA2ZjU1
MGI2NjNlLi5hYWIzYWE5NWE5MWIwZGU3NTQ4OWI0OTUxMGY1YTJjMTQyMTIzMTg2IDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCkBAIC0xMzcsNyAr
MTM3LDEwIEBAIHN0YXRpYyBzdHJpbmcgZGVzY3JpcHRpb25TdWl0YWJsZUZvclRlc3RSZXN1bHQo
Y29uc3Qgc3RyaW5nJiB1cmwpCiAvLyBkcmFnZ2luZyBhIGZpbGUuCiBzdGF0aWMgdm9pZCBhZGRE
UlRGYWtlRmlsZVRvRGF0YU9iamVjdChXZWJEcmFnRGF0YSogZHJhZ0RhdGEpCiB7Ci0gICAgZHJh
Z0RhdGEtPmFwcGVuZFRvRmlsZW5hbWVzKFdlYlN0cmluZzo6ZnJvbVVURjgoIkRSVEZha2VGaWxl
IikpOworICAgIFdlYkRyYWdEYXRhOjpJdGVtIGl0ZW07CisgICAgaXRlbS5zdG9yYWdlVHlwZSA9
IFdlYkRyYWdEYXRhOjpJdGVtOjpTdG9yYWdlVHlwZUZpbGVuYW1lOworICAgIGl0ZW0uZmlsZW5h
bWVEYXRhID0gV2ViU3RyaW5nOjpmcm9tVVRGOCgiRFJURmFrZUZpbGUiKTsKKyAgICBkcmFnRGF0
YS0+YWRkSXRlbShpdGVtKTsKIH0KIAogLy8gR2V0IGEgZGVidWdnaW5nIHN0cmluZyBmcm9tIGEg
V2ViTmF2aWdhdGlvblR5cGUuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127627</attachid>
            <date>2012-02-17 11:59:24 -0800</date>
            <delta_ts>2012-02-21 14:06:10 -0800</delta_ts>
            <desc>EWS run?</desc>
            <filename>bug-78837-20120217115922.patch</filename>
            <type>text/plain</type>
            <size>11048</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGQ4NzNlYTdkMGI3NDAxMDBhNjRmYWIzNzg2MjM1NmYwYTAxZTM4MDguLjRmZjk5OTZlZmU3OTAw
ODI1ZTkyNjhjNmEyZjA5OThhZmE0YjZmYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTItMDItMTYgIERhbmllbCBDaGVuZyAgPGRjaGVuZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBDbGVhbnVwIHVudXNlZCBXZWJEcmFnRGF0YSBt
ZXRob2RzIGFmdGVyIHIxMDc4NDYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc4ODM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwdWJsaWMvcGxhdGZvcm0vV2ViRHJhZ0RhdGEuaDoKKyAgICAgICAgKFdl
YkRyYWdEYXRhKToKKyAgICAgICAgKiBzcmMvV2ViRHJhZ0RhdGEuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJEcmFnRGF0YTo6YWRkSXRlbSk6CisKIDIwMTItMDItMTcgIElseWEgVGlraG9ub3Zz
a3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxMDgwNzEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9w
bGF0Zm9ybS9XZWJEcmFnRGF0YS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxh
dGZvcm0vV2ViRHJhZ0RhdGEuaAppbmRleCAzNDdkYjRkZjdlMmU2ZDlkOWY4NGIzMjBlNzk5NTFh
MzZiNTE2YzgxLi5hNmM4MmFlZTFjMGI4MTI4OTQ0ODQ1NmI5OGIyM2E5ODM1YTk4NGI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJEcmFnRGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYkRyYWdE
YXRhLmgKQEAgLTEwMCw0NSArMTAwLDYgQEAgcHVibGljOgogCiAgICAgV0VCS0lUX0VYUE9SVCBX
ZWJWZWN0b3I8SXRlbT4gaXRlbXMoKSBjb25zdDsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0
SXRlbXMoY29uc3QgV2ViVmVjdG9yPEl0ZW0+Jik7Ci0KLSAgICBXRUJLSVRfRVhQT1JUIFdlYlN0
cmluZyB1cmwoKSBjb25zdDsKLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0VVJMKGNvbnN0IFdl
YlVSTCYpOwotCi0gICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgdXJsVGl0bGUoKSBjb25zdDsK
LSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0VVJMVGl0bGUoY29uc3QgV2ViU3RyaW5nJik7Ci0K
LSAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBkb3dubG9hZE1ldGFkYXRhKCkgY29uc3Q7Ci0g
ICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldERvd25sb2FkTWV0YWRhdGEoY29uc3QgV2ViU3RyaW5n
Jik7Ci0KLSAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBmaWxlRXh0ZW5zaW9uKCkgY29uc3Q7
Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldEZpbGVFeHRlbnNpb24oY29uc3QgV2ViU3RyaW5n
Jik7Ci0KLSAgICBXRUJLSVRfRVhQT1JUIGJvb2wgY29udGFpbnNGaWxlbmFtZXMoKSBjb25zdDsK
LSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgZmlsZW5hbWVzKFdlYlZlY3RvcjxXZWJTdHJpbmc+Jikg
Y29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldEZpbGVuYW1lcyhjb25zdCBXZWJWZWN0
b3I8V2ViU3RyaW5nPiYpOwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhcHBlbmRUb0ZpbGVuYW1l
cyhjb25zdCBXZWJTdHJpbmcmKTsKLQotICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIHBsYWlu
VGV4dCgpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRQbGFpblRleHQoY29uc3Qg
V2ViU3RyaW5nJik7Ci0KLSAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBodG1sVGV4dCgpIGNv
bnN0OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRIVE1MVGV4dChjb25zdCBXZWJTdHJpbmcm
KTsKLQotICAgIFdFQktJVF9FWFBPUlQgV2ViVVJMIGh0bWxCYXNlVVJMKCkgY29uc3Q7Ci0gICAg
V0VCS0lUX0VYUE9SVCB2b2lkIHNldEhUTUxCYXNlVVJMKGNvbnN0IFdlYlVSTCYpOwotCi0gICAg
V0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgZmlsZUNvbnRlbnRGaWxlbmFtZSgpIGNvbnN0OwotICAg
IFdFQktJVF9FWFBPUlQgdm9pZCBzZXRGaWxlQ29udGVudEZpbGVuYW1lKGNvbnN0IFdlYlN0cmlu
ZyYpOwotCi0gICAgV0VCS0lUX0VYUE9SVCBXZWJEYXRhIGZpbGVDb250ZW50KCkgY29uc3Q7Ci0g
ICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldEZpbGVDb250ZW50KGNvbnN0IFdlYkRhdGEmKTsKLQot
ICAgIHN0cnVjdCBDdXN0b21EYXRhIHsKLSAgICAgICAgV2ViU3RyaW5nIHR5cGU7Ci0gICAgICAg
IFdlYlN0cmluZyBkYXRhOwotICAgIH07Ci0gICAgV0VCS0lUX0VYUE9SVCBXZWJWZWN0b3I8Q3Vz
dG9tRGF0YT4gY3VzdG9tRGF0YSgpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRD
dXN0b21EYXRhKGNvbnN0IFdlYlZlY3RvcjxDdXN0b21EYXRhPiYpOwogICAgIFdFQktJVF9FWFBP
UlQgdm9pZCBhZGRJdGVtKGNvbnN0IEl0ZW0mKTsKIAogI2lmIFdFQktJVF9JTVBMRU1FTlRBVElP
TgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRHJhZ0RhdGEuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRHJhZ0RhdGEuY3BwCmluZGV4IDViOGJm
YzQ3MGRjOTA0NGUzNjU3ODcwOWY0ZjQ0ZjdlM2U4OWVlMDUuLjk1Mjk0YmE4NzY3NmRiNzNkZmI2
MjczMWUwNDFhYzk2YTJkZTcxYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkRyYWdEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJE
cmFnRGF0YS5jcHAKQEAgLTEzMSw2ICsxMzEsNyBAQCB2b2lkIFdlYkRyYWdEYXRhOjpzZXRJdGVt
cyhjb25zdCBXZWJWZWN0b3I8SXRlbT4mIGl0ZW1MaXN0KQogCiB2b2lkIFdlYkRyYWdEYXRhOjph
ZGRJdGVtKGNvbnN0IEl0ZW0mIGl0ZW0pCiB7CisgICAgZW5zdXJlTXV0YWJsZSgpOwogICAgIHN3
aXRjaCAoaXRlbS5zdG9yYWdlVHlwZSkgewogICAgIGNhc2UgSXRlbTo6U3RvcmFnZVR5cGVTdHJp
bmc6CiAgICAgICAgIG1fcHJpdmF0ZS0+c2V0RGF0YShpdGVtLnN0cmluZ1R5cGUsIGl0ZW0uc3Ry
aW5nRGF0YSk7CkBAIC0xNDgsMTY4ICsxNDksNiBAQCB2b2lkIFdlYkRyYWdEYXRhOjphZGRJdGVt
KGNvbnN0IEl0ZW0mIGl0ZW0pCiAgICAgfQogfQogCi1XZWJTdHJpbmcgV2ViRHJhZ0RhdGE6OnVy
bCgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKCFpc051bGwoKSk7Ci0gICAgYm9vbCBpZ25vcmVkU3Vj
Y2VzczsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5nZXREYXRhKG1pbWVUeXBlVVJMLCBpZ25vcmVk
U3VjY2Vzcyk7Ci19Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OnNldFVSTChjb25zdCBXZWJVUkwmIHVy
bCkKLXsKLSAgICBlbnN1cmVNdXRhYmxlKCk7Ci0gICAgbV9wcml2YXRlLT5zZXREYXRhKG1pbWVU
eXBlVVJMLCBLVVJMKHVybCkuc3RyaW5nKCkpOwotfQotCi1XZWJTdHJpbmcgV2ViRHJhZ0RhdGE6
OnVybFRpdGxlKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoIWlzTnVsbCgpKTsKLSAgICByZXR1cm4g
bV9wcml2YXRlLT51cmxUaXRsZSgpOwotfQotCi12b2lkIFdlYkRyYWdEYXRhOjpzZXRVUkxUaXRs
ZShjb25zdCBXZWJTdHJpbmcmIHVybFRpdGxlKQotewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAg
ICBtX3ByaXZhdGUtPnNldFVybFRpdGxlKHVybFRpdGxlKTsKLX0KLQotV2ViU3RyaW5nIFdlYkRy
YWdEYXRhOjpkb3dubG9hZE1ldGFkYXRhKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoIWlzTnVsbCgp
KTsKLSAgICBib29sIGlnbm9yZWRTdWNjZXNzOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmdldERh
dGEobWltZVR5cGVEb3dubG9hZFVSTCwgaWdub3JlZFN1Y2Nlc3MpOwotfQotCi12b2lkIFdlYkRy
YWdEYXRhOjpzZXREb3dubG9hZE1ldGFkYXRhKGNvbnN0IFdlYlN0cmluZyYgZG93bmxvYWRNZXRh
ZGF0YSkKLXsKLSAgICBlbnN1cmVNdXRhYmxlKCk7Ci0gICAgbV9wcml2YXRlLT5zZXREYXRhKG1p
bWVUeXBlRG93bmxvYWRVUkwsIGRvd25sb2FkTWV0YWRhdGEpOwotfQotCi1XZWJTdHJpbmcgV2Vi
RHJhZ0RhdGE6OmZpbGVFeHRlbnNpb24oKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkp
OwotICAgIHJldHVybiBtX3ByaXZhdGUtPmZpbGVFeHRlbnNpb24oKTsKLX0KLQotdm9pZCBXZWJE
cmFnRGF0YTo6c2V0RmlsZUV4dGVuc2lvbihjb25zdCBXZWJTdHJpbmcmIGZpbGVFeHRlbnNpb24p
Ci17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwotICAgIG1fcHJpdmF0ZS0+c2V0RmlsZUV4dGVuc2lv
bihmaWxlRXh0ZW5zaW9uKTsKLX0KLQotYm9vbCBXZWJEcmFnRGF0YTo6Y29udGFpbnNGaWxlbmFt
ZXMoKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwotICAgIHJldHVybiBtX3ByaXZh
dGUtPmNvbnRhaW5zRmlsZW5hbWVzKCk7Ci19Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OmZpbGVuYW1l
cyhXZWJWZWN0b3I8V2ViU3RyaW5nPiYgZmlsZW5hbWVzKSBjb25zdAotewotICAgIEFTU0VSVCgh
aXNOdWxsKCkpOwotICAgIGZpbGVuYW1lcyA9IG1fcHJpdmF0ZS0+ZmlsZW5hbWVzKCk7Ci19Ci0K
LXZvaWQgV2ViRHJhZ0RhdGE6OnNldEZpbGVuYW1lcyhjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5n
PiYgZmlsZW5hbWVzKQotewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBWZWN0b3I8U3RyaW5n
PiBmaWxlbmFtZXNDb3B5OwotICAgIGZpbGVuYW1lc0NvcHkuYXBwZW5kKGZpbGVuYW1lcy5kYXRh
KCksIGZpbGVuYW1lcy5zaXplKCkpOwotICAgIG1fcHJpdmF0ZS0+c2V0RmlsZW5hbWVzKGZpbGVu
YW1lc0NvcHkpOwotfQotCi12b2lkIFdlYkRyYWdEYXRhOjphcHBlbmRUb0ZpbGVuYW1lcyhjb25z
dCBXZWJTdHJpbmcmIGZpbGVuYW1lKQotewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBWZWN0
b3I8U3RyaW5nPiBmaWxlbmFtZXMgPSBtX3ByaXZhdGUtPmZpbGVuYW1lcygpOwotICAgIGZpbGVu
YW1lcy5hcHBlbmQoZmlsZW5hbWUpOwotICAgIG1fcHJpdmF0ZS0+c2V0RmlsZW5hbWVzKGZpbGVu
YW1lcyk7Ci19Ci0KLVdlYlN0cmluZyBXZWJEcmFnRGF0YTo6cGxhaW5UZXh0KCkgY29uc3QKLXsK
LSAgICBBU1NFUlQoIWlzTnVsbCgpKTsKLSAgICBib29sIGlnbm9yZWRTdWNjZXNzOwotICAgIHJl
dHVybiBtX3ByaXZhdGUtPmdldERhdGEobWltZVR5cGVUZXh0UGxhaW4sIGlnbm9yZWRTdWNjZXNz
KTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0YTo6c2V0UGxhaW5UZXh0KGNvbnN0IFdlYlN0cmluZyYg
cGxhaW5UZXh0KQotewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBtX3ByaXZhdGUtPnNldERh
dGEobWltZVR5cGVUZXh0UGxhaW4sIHBsYWluVGV4dCk7Ci19Ci0KLVdlYlN0cmluZyBXZWJEcmFn
RGF0YTo6aHRtbFRleHQoKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwotICAgIGJv
b2wgaWdub3JlZFN1Y2Nlc3M7Ci0gICAgcmV0dXJuIG1fcHJpdmF0ZS0+Z2V0RGF0YShtaW1lVHlw
ZVRleHRIVE1MLCBpZ25vcmVkU3VjY2Vzcyk7Ci19Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OnNldEhU
TUxUZXh0KGNvbnN0IFdlYlN0cmluZyYgaHRtbFRleHQpCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgp
OwotICAgIG1fcHJpdmF0ZS0+c2V0RGF0YShtaW1lVHlwZVRleHRIVE1MLCBodG1sVGV4dCk7Ci19
Ci0KLVdlYlVSTCBXZWJEcmFnRGF0YTo6aHRtbEJhc2VVUkwoKSBjb25zdAotewotICAgIEFTU0VS
VCghaXNOdWxsKCkpOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmh0bWxCYXNlVXJsKCk7Ci19Ci0K
LXZvaWQgV2ViRHJhZ0RhdGE6OnNldEhUTUxCYXNlVVJMKGNvbnN0IFdlYlVSTCYgaHRtbEJhc2VV
UkwpCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwotICAgIG1fcHJpdmF0ZS0+c2V0SHRtbEJhc2VV
cmwoaHRtbEJhc2VVUkwpOwotfQotCi1XZWJTdHJpbmcgV2ViRHJhZ0RhdGE6OmZpbGVDb250ZW50
RmlsZW5hbWUoKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwotICAgIHJldHVybiBt
X3ByaXZhdGUtPmZpbGVDb250ZW50RmlsZW5hbWUoKTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0YTo6
c2V0RmlsZUNvbnRlbnRGaWxlbmFtZShjb25zdCBXZWJTdHJpbmcmIGZpbGVuYW1lKQotewotICAg
IGVuc3VyZU11dGFibGUoKTsKLSAgICBtX3ByaXZhdGUtPnNldEZpbGVDb250ZW50RmlsZW5hbWUo
ZmlsZW5hbWUpOwotfQotCi1XZWJEYXRhIFdlYkRyYWdEYXRhOjpmaWxlQ29udGVudCgpIGNvbnN0
Ci17Ci0gICAgQVNTRVJUKCFpc051bGwoKSk7Ci0gICAgcmV0dXJuIFdlYkRhdGEobV9wcml2YXRl
LT5maWxlQ29udGVudCgpKTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0YTo6c2V0RmlsZUNvbnRlbnQo
Y29uc3QgV2ViRGF0YSYgZmlsZUNvbnRlbnQpCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwotICAg
IG1fcHJpdmF0ZS0+c2V0RmlsZUNvbnRlbnQoZmlsZUNvbnRlbnQpOwotfQotCi1XZWJWZWN0b3I8
V2ViRHJhZ0RhdGE6OkN1c3RvbURhdGE+IFdlYkRyYWdEYXRhOjpjdXN0b21EYXRhKCkgY29uc3QK
LXsKLSAgICBBU1NFUlQoIWlzTnVsbCgpKTsKLSAgICBXZWJWZWN0b3I8Q3VzdG9tRGF0YT4gY3Vz
dG9tRGF0YShzdGF0aWNfY2FzdDxzaXplX3Q+KG1fcHJpdmF0ZS0+Y3VzdG9tRGF0YSgpLnNpemUo
KSkpOwotICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBiZWdpbiA9
IG1fcHJpdmF0ZS0+Y3VzdG9tRGF0YSgpLmJlZ2luKCk7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIFN0
cmluZz46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fcHJpdmF0ZS0+Y3VzdG9tRGF0YSgpLmVuZCgp
OwotICAgIHNpemVfdCBpID0gMDsKLSAgICBmb3IgKEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+Ojpj
b25zdF9pdGVyYXRvciBpdCA9IGJlZ2luOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgQ3Vz
dG9tRGF0YSBkYXRhID0ge2l0LT5maXJzdCwgaXQtPnNlY29uZH07Ci0gICAgICAgIGN1c3RvbURh
dGFbaSsrXSA9IGRhdGE7Ci0gICAgfQotICAgIHJldHVybiBjdXN0b21EYXRhOwotfQotCi12b2lk
IFdlYkRyYWdEYXRhOjpzZXRDdXN0b21EYXRhKGNvbnN0IFdlYlZlY3RvcjxXZWJEcmFnRGF0YTo6
Q3VzdG9tRGF0YT4mIGN1c3RvbURhdGEpCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwotICAgIEhh
c2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjdXN0b21EYXRhTWFwID0gbV9wcml2YXRlLT5jdXN0b21E
YXRhKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjdXN0b21EYXRhLnNpemUoKTsgKytp
KQotICAgICAgICBjdXN0b21EYXRhTWFwLnNldChjdXN0b21EYXRhW2ldLnR5cGUsIGN1c3RvbURh
dGFbaV0uZGF0YSk7Ci19Ci0KIFdlYkRyYWdEYXRhOjpXZWJEcmFnRGF0YShjb25zdCBXVEY6OlBh
c3NSZWZQdHI8V2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0PiYgZGF0YSkKICAgICA6IG1fcHJp
dmF0ZShzdGF0aWNfY2FzdDxXZWJEcmFnRGF0YVByaXZhdGUqPihkYXRhLmxlYWtSZWYoKSkpCiB7
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTU1
NWEyOTM0MTQ1OWFhMWJhMDU2NTcyYjc3NTkwNTRkMWM1MmEzZS4uOTczMTE2MzkxOTAxNzhmZWRj
NjJjYTNhZTJjMTBjZThjZTcyYmIzYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAyLTE2ICBEYW5pZWwgQ2hl
bmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQ2xlYW51cCB1
bnVzZWQgV2ViRHJhZ0RhdGEgbWV0aG9kcyBhZnRlciByMTA3ODQ2CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODgzNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RXZlbnRTZW5kZXIuY3BwOgorICAgICAgICAoRXZlbnRTZW5kZXI6OmR1bXBGaWxlbmFtZUJlaW5n
RHJhZ2dlZCk6CisgICAgICAgIChFdmVudFNlbmRlcjo6YmVnaW5EcmFnV2l0aEZpbGVzKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAg
IChhZGREUlRGYWtlRmlsZVRvRGF0YU9iamVjdCk6CisKIDIwMTItMDItMTcgIEd5dXlvdW5nIEtp
bSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBkaXNh
YmxlIHZpZGVvIGJ1aWxkIG9uIEVGTCB1bnRpbCBpdCBjYW4gYmUKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcAppbmRleCA5YWNjNDJkZmJlMGMxMzc1NjYz
MjIwZjVlOTM5MmI4YTdiMjlkZDM0Li5jYzczYjJkYmQzZTQ0ZmQwMzEzYjEwNTRiMGYxZDA0NGYw
M2I2MjUwIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNl
bmRlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIu
Y3BwCkBAIC0zNTQsNyArMzU0LDE1IEBAIHZvaWQgRXZlbnRTZW5kZXI6OmRvRHJhZ0Ryb3AoY29u
c3QgV2ViRHJhZ0RhdGEmIGRyYWdEYXRhLCBXZWJEcmFnT3BlcmF0aW9uc01hc2sKIAogdm9pZCBF
dmVudFNlbmRlcjo6ZHVtcEZpbGVuYW1lQmVpbmdEcmFnZ2VkKGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYsIENwcFZhcmlhbnQqKQogewotICAgIHByaW50ZigiRmlsZW5hbWUgYmVpbmcgZHJhZ2dlZDog
JXNcbiIsIGN1cnJlbnREcmFnRGF0YS5maWxlQ29udGVudEZpbGVuYW1lKCkudXRmOCgpLmRhdGEo
KSk7CisgICAgV2ViU3RyaW5nIGZpbGVuYW1lOworICAgIFdlYlZlY3RvcjxXZWJEcmFnRGF0YTo6
SXRlbT4gaXRlbXMgPSBjdXJyZW50RHJhZ0RhdGEuaXRlbXMoKTsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGl0ZW1zLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChpdGVtc1tpXS5zdG9y
YWdlVHlwZSA9PSBXZWJEcmFnRGF0YTo6SXRlbTo6U3RvcmFnZVR5cGVCaW5hcnlEYXRhKSB7Cisg
ICAgICAgICAgICBmaWxlbmFtZSA9IGl0ZW1zW2ldLnRpdGxlOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICB9CisgICAgcHJpbnRmKCJGaWxlbmFtZSBiZWluZyBkcmFnZ2VkOiAl
c1xuIiwgZmlsZW5hbWUudXRmOCgpLmRhdGEoKSk7CiB9CiAKIFdlYk1vdXNlRXZlbnQ6OkJ1dHRv
biBFdmVudFNlbmRlcjo6Z2V0QnV0dG9uVHlwZUZyb21CdXR0b25OdW1iZXIoaW50IGJ1dHRvbkNv
ZGUpCkBAIC04NjksOCArODc3LDEyIEBAIHZvaWQgRXZlbnRTZW5kZXI6OmJlZ2luRHJhZ1dpdGhG
aWxlcyhjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFuCiB7CiAgICAg
Y3VycmVudERyYWdEYXRhLmluaXRpYWxpemUoKTsKICAgICBWZWN0b3I8c3RyaW5nPiBmaWxlcyA9
IGFyZ3VtZW50c1swXS50b1N0cmluZ1ZlY3RvcigpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgZmlsZXMuc2l6ZSgpOyArK2kpCi0gICAgICAgIGN1cnJlbnREcmFnRGF0YS5hcHBlbmRUb0Zp
bGVuYW1lcyh3ZWJraXRfc3VwcG9ydDo6R2V0QWJzb2x1dGVXZWJTdHJpbmdGcm9tVVRGOFBhdGgo
ZmlsZXNbaV0pKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGZpbGVzLnNpemUoKTsgKytp
KSB7CisgICAgICAgIFdlYkRyYWdEYXRhOjpJdGVtIGl0ZW07CisgICAgICAgIGl0ZW0uc3RvcmFn
ZVR5cGUgPSBXZWJEcmFnRGF0YTo6SXRlbTo6U3RvcmFnZVR5cGVGaWxlbmFtZTsKKyAgICAgICAg
aXRlbS5maWxlbmFtZURhdGEgPSB3ZWJraXRfc3VwcG9ydDo6R2V0QWJzb2x1dGVXZWJTdHJpbmdG
cm9tVVRGOFBhdGgoZmlsZXNbaV0pOworICAgICAgICBjdXJyZW50RHJhZ0RhdGEuYWRkSXRlbShp
dGVtKTsKKyAgICB9CiAgICAgY3VycmVudERyYWdFZmZlY3RzQWxsb3dlZCA9IFdlYktpdDo6V2Vi
RHJhZ09wZXJhdGlvbkNvcHk7CiAKICAgICAvLyBQcm92aWRlIGEgZHJhZyBzb3VyY2UuCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKaW5kZXggYmVmYTNi
NzE4MDI0YWMxNWE4MjdjNDlmNThmYWUwNmY1NTBiNjYzZS4uYWFiM2FhOTVhOTFiMGRlNzU0ODli
NDk1MTBmNWEyYzE0MjEyMzE4NiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVmlld0hvc3QuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1dlYlZpZXdIb3N0LmNwcApAQCAtMTM3LDcgKzEzNywxMCBAQCBzdGF0aWMgc3RyaW5nIGRlc2Ny
aXB0aW9uU3VpdGFibGVGb3JUZXN0UmVzdWx0KGNvbnN0IHN0cmluZyYgdXJsKQogLy8gZHJhZ2dp
bmcgYSBmaWxlLgogc3RhdGljIHZvaWQgYWRkRFJURmFrZUZpbGVUb0RhdGFPYmplY3QoV2ViRHJh
Z0RhdGEqIGRyYWdEYXRhKQogewotICAgIGRyYWdEYXRhLT5hcHBlbmRUb0ZpbGVuYW1lcyhXZWJT
dHJpbmc6OmZyb21VVEY4KCJEUlRGYWtlRmlsZSIpKTsKKyAgICBXZWJEcmFnRGF0YTo6SXRlbSBp
dGVtOworICAgIGl0ZW0uc3RvcmFnZVR5cGUgPSBXZWJEcmFnRGF0YTo6SXRlbTo6U3RvcmFnZVR5
cGVGaWxlbmFtZTsKKyAgICBpdGVtLmZpbGVuYW1lRGF0YSA9IFdlYlN0cmluZzo6ZnJvbVVURjgo
IkRSVEZha2VGaWxlIik7CisgICAgZHJhZ0RhdGEtPmFkZEl0ZW0oaXRlbSk7CiB9CiAKIC8vIEdl
dCBhIGRlYnVnZ2luZyBzdHJpbmcgZnJvbSBhIFdlYk5hdmlnYXRpb25UeXBlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128039</attachid>
            <date>2012-02-21 14:06:22 -0800</date>
            <delta_ts>2012-02-21 17:09:52 -0800</delta_ts>
            <desc>Fix layout test and crbug.com/115015</desc>
            <filename>bug-78837-20120221140617.patch</filename>
            <type>text/plain</type>
            <size>11474</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGQ4NzNlYTdkMGI3NDAxMDBhNjRmYWIzNzg2MjM1NmYwYTAxZTM4MDguLjUyZTYzMGJiNjZlODcx
MzFkMDRkZjZjNWJlYmRkOGM0ODcyY2E2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTItMDItMTYgIERhbmllbCBDaGVuZyAgPGRjaGVuZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBDbGVhbnVwIHVudXNlZCBXZWJEcmFnRGF0YSBt
ZXRob2RzIGFmdGVyIHIxMDc4NDYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc4ODM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwdWJsaWMvcGxhdGZvcm0vV2ViRHJhZ0RhdGEuaDoKKyAgICAgICAgKFdl
YkRyYWdEYXRhKToKKyAgICAgICAgKiBzcmMvV2ViRHJhZ0RhdGEuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJEcmFnRGF0YTo6aXRlbXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJEcmFnRGF0YTo6
YWRkSXRlbSk6CisKIDIwMTItMDItMTcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDgwNzEuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJEcmFnRGF0
YS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViRHJhZ0RhdGEu
aAppbmRleCAzNDdkYjRkZjdlMmU2ZDlkOWY4NGIzMjBlNzk5NTFhMzZiNTE2YzgxLi5hNmM4MmFl
ZTFjMGI4MTI4OTQ0ODQ1NmI5OGIyM2E5ODM1YTk4NGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJEcmFnRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYkRyYWdEYXRhLmgKQEAgLTEwMCw0NSAr
MTAwLDYgQEAgcHVibGljOgogCiAgICAgV0VCS0lUX0VYUE9SVCBXZWJWZWN0b3I8SXRlbT4gaXRl
bXMoKSBjb25zdDsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0SXRlbXMoY29uc3QgV2ViVmVj
dG9yPEl0ZW0+Jik7Ci0KLSAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyB1cmwoKSBjb25zdDsK
LSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0VVJMKGNvbnN0IFdlYlVSTCYpOwotCi0gICAgV0VC
S0lUX0VYUE9SVCBXZWJTdHJpbmcgdXJsVGl0bGUoKSBjb25zdDsKLSAgICBXRUJLSVRfRVhQT1JU
IHZvaWQgc2V0VVJMVGl0bGUoY29uc3QgV2ViU3RyaW5nJik7Ci0KLSAgICBXRUJLSVRfRVhQT1JU
IFdlYlN0cmluZyBkb3dubG9hZE1ldGFkYXRhKCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCB2
b2lkIHNldERvd25sb2FkTWV0YWRhdGEoY29uc3QgV2ViU3RyaW5nJik7Ci0KLSAgICBXRUJLSVRf
RVhQT1JUIFdlYlN0cmluZyBmaWxlRXh0ZW5zaW9uKCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9S
VCB2b2lkIHNldEZpbGVFeHRlbnNpb24oY29uc3QgV2ViU3RyaW5nJik7Ci0KLSAgICBXRUJLSVRf
RVhQT1JUIGJvb2wgY29udGFpbnNGaWxlbmFtZXMoKSBjb25zdDsKLSAgICBXRUJLSVRfRVhQT1JU
IHZvaWQgZmlsZW5hbWVzKFdlYlZlY3RvcjxXZWJTdHJpbmc+JikgY29uc3Q7Ci0gICAgV0VCS0lU
X0VYUE9SVCB2b2lkIHNldEZpbGVuYW1lcyhjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYpOwot
ICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhcHBlbmRUb0ZpbGVuYW1lcyhjb25zdCBXZWJTdHJpbmcm
KTsKLQotICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIHBsYWluVGV4dCgpIGNvbnN0OwotICAg
IFdFQktJVF9FWFBPUlQgdm9pZCBzZXRQbGFpblRleHQoY29uc3QgV2ViU3RyaW5nJik7Ci0KLSAg
ICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBodG1sVGV4dCgpIGNvbnN0OwotICAgIFdFQktJVF9F
WFBPUlQgdm9pZCBzZXRIVE1MVGV4dChjb25zdCBXZWJTdHJpbmcmKTsKLQotICAgIFdFQktJVF9F
WFBPUlQgV2ViVVJMIGh0bWxCYXNlVVJMKCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lk
IHNldEhUTUxCYXNlVVJMKGNvbnN0IFdlYlVSTCYpOwotCi0gICAgV0VCS0lUX0VYUE9SVCBXZWJT
dHJpbmcgZmlsZUNvbnRlbnRGaWxlbmFtZSgpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgdm9p
ZCBzZXRGaWxlQ29udGVudEZpbGVuYW1lKGNvbnN0IFdlYlN0cmluZyYpOwotCi0gICAgV0VCS0lU
X0VYUE9SVCBXZWJEYXRhIGZpbGVDb250ZW50KCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCB2
b2lkIHNldEZpbGVDb250ZW50KGNvbnN0IFdlYkRhdGEmKTsKLQotICAgIHN0cnVjdCBDdXN0b21E
YXRhIHsKLSAgICAgICAgV2ViU3RyaW5nIHR5cGU7Ci0gICAgICAgIFdlYlN0cmluZyBkYXRhOwot
ICAgIH07Ci0gICAgV0VCS0lUX0VYUE9SVCBXZWJWZWN0b3I8Q3VzdG9tRGF0YT4gY3VzdG9tRGF0
YSgpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRDdXN0b21EYXRhKGNvbnN0IFdl
YlZlY3RvcjxDdXN0b21EYXRhPiYpOwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhZGRJdGVtKGNv
bnN0IEl0ZW0mKTsKIAogI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRHJhZ0RhdGEuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRHJhZ0RhdGEuY3BwCmluZGV4IDViOGJmYzQ3MGRjOTA0NGUzNjU3ODcw
OWY0ZjQ0ZjdlM2U4OWVlMDUuLjllNjM0MzQwZTU5ZTBkYjA1NmQ2Nzk1OWQ0YWY3MzRiYzg2YmY4
ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRyYWdEYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEcmFnRGF0YS5jcHAKQEAgLTEx
Nyw2ICsxMTcsNyBAQCBXZWJWZWN0b3I8V2ViRHJhZ0RhdGE6Okl0ZW0+IFdlYkRyYWdEYXRhOjpp
dGVtcygpIGNvbnN0CiAgICAgICAgIGl0ZW0uc3RvcmFnZVR5cGUgPSBJdGVtOjpTdG9yYWdlVHlw
ZUJpbmFyeURhdGE7CiAgICAgICAgIGl0ZW0uYmluYXJ5RGF0YSA9IG1fcHJpdmF0ZS0+ZmlsZUNv
bnRlbnQoKTsKICAgICAgICAgaXRlbS50aXRsZSA9IG1fcHJpdmF0ZS0+ZmlsZUNvbnRlbnRGaWxl
bmFtZSgpOworICAgICAgICBpdGVtTGlzdC5hcHBlbmQoaXRlbSk7CiAgICAgfQogICAgIC8vIFdl
IGRvbid0IGhhbmRsZSBmaWxlbmFtZXMgaGVyZSwgc2luY2UgdGhleSBhcmUgbmV2ZXIgdXNlZCBm
b3IgZHJhZ2dpbmcgb3V0LgogICAgIHJldHVybiBpdGVtTGlzdDsKQEAgLTEzMSw2ICsxMzIsNyBA
QCB2b2lkIFdlYkRyYWdEYXRhOjpzZXRJdGVtcyhjb25zdCBXZWJWZWN0b3I8SXRlbT4mIGl0ZW1M
aXN0KQogCiB2b2lkIFdlYkRyYWdEYXRhOjphZGRJdGVtKGNvbnN0IEl0ZW0mIGl0ZW0pCiB7Cisg
ICAgZW5zdXJlTXV0YWJsZSgpOwogICAgIHN3aXRjaCAoaXRlbS5zdG9yYWdlVHlwZSkgewogICAg
IGNhc2UgSXRlbTo6U3RvcmFnZVR5cGVTdHJpbmc6CiAgICAgICAgIG1fcHJpdmF0ZS0+c2V0RGF0
YShpdGVtLnN0cmluZ1R5cGUsIGl0ZW0uc3RyaW5nRGF0YSk7CkBAIC0xNDgsMTY4ICsxNTAsNiBA
QCB2b2lkIFdlYkRyYWdEYXRhOjphZGRJdGVtKGNvbnN0IEl0ZW0mIGl0ZW0pCiAgICAgfQogfQog
Ci1XZWJTdHJpbmcgV2ViRHJhZ0RhdGE6OnVybCgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKCFpc051
bGwoKSk7Ci0gICAgYm9vbCBpZ25vcmVkU3VjY2VzczsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5n
ZXREYXRhKG1pbWVUeXBlVVJMLCBpZ25vcmVkU3VjY2Vzcyk7Ci19Ci0KLXZvaWQgV2ViRHJhZ0Rh
dGE6OnNldFVSTChjb25zdCBXZWJVUkwmIHVybCkKLXsKLSAgICBlbnN1cmVNdXRhYmxlKCk7Ci0g
ICAgbV9wcml2YXRlLT5zZXREYXRhKG1pbWVUeXBlVVJMLCBLVVJMKHVybCkuc3RyaW5nKCkpOwot
fQotCi1XZWJTdHJpbmcgV2ViRHJhZ0RhdGE6OnVybFRpdGxlKCkgY29uc3QKLXsKLSAgICBBU1NF
UlQoIWlzTnVsbCgpKTsKLSAgICByZXR1cm4gbV9wcml2YXRlLT51cmxUaXRsZSgpOwotfQotCi12
b2lkIFdlYkRyYWdEYXRhOjpzZXRVUkxUaXRsZShjb25zdCBXZWJTdHJpbmcmIHVybFRpdGxlKQot
ewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBtX3ByaXZhdGUtPnNldFVybFRpdGxlKHVybFRp
dGxlKTsKLX0KLQotV2ViU3RyaW5nIFdlYkRyYWdEYXRhOjpkb3dubG9hZE1ldGFkYXRhKCkgY29u
c3QKLXsKLSAgICBBU1NFUlQoIWlzTnVsbCgpKTsKLSAgICBib29sIGlnbm9yZWRTdWNjZXNzOwot
ICAgIHJldHVybiBtX3ByaXZhdGUtPmdldERhdGEobWltZVR5cGVEb3dubG9hZFVSTCwgaWdub3Jl
ZFN1Y2Nlc3MpOwotfQotCi12b2lkIFdlYkRyYWdEYXRhOjpzZXREb3dubG9hZE1ldGFkYXRhKGNv
bnN0IFdlYlN0cmluZyYgZG93bmxvYWRNZXRhZGF0YSkKLXsKLSAgICBlbnN1cmVNdXRhYmxlKCk7
Ci0gICAgbV9wcml2YXRlLT5zZXREYXRhKG1pbWVUeXBlRG93bmxvYWRVUkwsIGRvd25sb2FkTWV0
YWRhdGEpOwotfQotCi1XZWJTdHJpbmcgV2ViRHJhZ0RhdGE6OmZpbGVFeHRlbnNpb24oKSBjb25z
dAotewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmZpbGVF
eHRlbnNpb24oKTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0YTo6c2V0RmlsZUV4dGVuc2lvbihjb25z
dCBXZWJTdHJpbmcmIGZpbGVFeHRlbnNpb24pCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwotICAg
IG1fcHJpdmF0ZS0+c2V0RmlsZUV4dGVuc2lvbihmaWxlRXh0ZW5zaW9uKTsKLX0KLQotYm9vbCBX
ZWJEcmFnRGF0YTo6Y29udGFpbnNGaWxlbmFtZXMoKSBjb25zdAotewotICAgIEFTU0VSVCghaXNO
dWxsKCkpOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmNvbnRhaW5zRmlsZW5hbWVzKCk7Ci19Ci0K
LXZvaWQgV2ViRHJhZ0RhdGE6OmZpbGVuYW1lcyhXZWJWZWN0b3I8V2ViU3RyaW5nPiYgZmlsZW5h
bWVzKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwotICAgIGZpbGVuYW1lcyA9IG1f
cHJpdmF0ZS0+ZmlsZW5hbWVzKCk7Ci19Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OnNldEZpbGVuYW1l
cyhjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgZmlsZW5hbWVzKQotewotICAgIGVuc3VyZU11
dGFibGUoKTsKLSAgICBWZWN0b3I8U3RyaW5nPiBmaWxlbmFtZXNDb3B5OwotICAgIGZpbGVuYW1l
c0NvcHkuYXBwZW5kKGZpbGVuYW1lcy5kYXRhKCksIGZpbGVuYW1lcy5zaXplKCkpOwotICAgIG1f
cHJpdmF0ZS0+c2V0RmlsZW5hbWVzKGZpbGVuYW1lc0NvcHkpOwotfQotCi12b2lkIFdlYkRyYWdE
YXRhOjphcHBlbmRUb0ZpbGVuYW1lcyhjb25zdCBXZWJTdHJpbmcmIGZpbGVuYW1lKQotewotICAg
IGVuc3VyZU11dGFibGUoKTsKLSAgICBWZWN0b3I8U3RyaW5nPiBmaWxlbmFtZXMgPSBtX3ByaXZh
dGUtPmZpbGVuYW1lcygpOwotICAgIGZpbGVuYW1lcy5hcHBlbmQoZmlsZW5hbWUpOwotICAgIG1f
cHJpdmF0ZS0+c2V0RmlsZW5hbWVzKGZpbGVuYW1lcyk7Ci19Ci0KLVdlYlN0cmluZyBXZWJEcmFn
RGF0YTo6cGxhaW5UZXh0KCkgY29uc3QKLXsKLSAgICBBU1NFUlQoIWlzTnVsbCgpKTsKLSAgICBi
b29sIGlnbm9yZWRTdWNjZXNzOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmdldERhdGEobWltZVR5
cGVUZXh0UGxhaW4sIGlnbm9yZWRTdWNjZXNzKTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0YTo6c2V0
UGxhaW5UZXh0KGNvbnN0IFdlYlN0cmluZyYgcGxhaW5UZXh0KQotewotICAgIGVuc3VyZU11dGFi
bGUoKTsKLSAgICBtX3ByaXZhdGUtPnNldERhdGEobWltZVR5cGVUZXh0UGxhaW4sIHBsYWluVGV4
dCk7Ci19Ci0KLVdlYlN0cmluZyBXZWJEcmFnRGF0YTo6aHRtbFRleHQoKSBjb25zdAotewotICAg
IEFTU0VSVCghaXNOdWxsKCkpOwotICAgIGJvb2wgaWdub3JlZFN1Y2Nlc3M7Ci0gICAgcmV0dXJu
IG1fcHJpdmF0ZS0+Z2V0RGF0YShtaW1lVHlwZVRleHRIVE1MLCBpZ25vcmVkU3VjY2Vzcyk7Ci19
Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OnNldEhUTUxUZXh0KGNvbnN0IFdlYlN0cmluZyYgaHRtbFRl
eHQpCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwotICAgIG1fcHJpdmF0ZS0+c2V0RGF0YShtaW1l
VHlwZVRleHRIVE1MLCBodG1sVGV4dCk7Ci19Ci0KLVdlYlVSTCBXZWJEcmFnRGF0YTo6aHRtbEJh
c2VVUkwoKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwotICAgIHJldHVybiBtX3By
aXZhdGUtPmh0bWxCYXNlVXJsKCk7Ci19Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OnNldEhUTUxCYXNl
VVJMKGNvbnN0IFdlYlVSTCYgaHRtbEJhc2VVUkwpCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwot
ICAgIG1fcHJpdmF0ZS0+c2V0SHRtbEJhc2VVcmwoaHRtbEJhc2VVUkwpOwotfQotCi1XZWJTdHJp
bmcgV2ViRHJhZ0RhdGE6OmZpbGVDb250ZW50RmlsZW5hbWUoKSBjb25zdAotewotICAgIEFTU0VS
VCghaXNOdWxsKCkpOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmZpbGVDb250ZW50RmlsZW5hbWUo
KTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0YTo6c2V0RmlsZUNvbnRlbnRGaWxlbmFtZShjb25zdCBX
ZWJTdHJpbmcmIGZpbGVuYW1lKQotewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBtX3ByaXZh
dGUtPnNldEZpbGVDb250ZW50RmlsZW5hbWUoZmlsZW5hbWUpOwotfQotCi1XZWJEYXRhIFdlYkRy
YWdEYXRhOjpmaWxlQ29udGVudCgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKCFpc051bGwoKSk7Ci0g
ICAgcmV0dXJuIFdlYkRhdGEobV9wcml2YXRlLT5maWxlQ29udGVudCgpKTsKLX0KLQotdm9pZCBX
ZWJEcmFnRGF0YTo6c2V0RmlsZUNvbnRlbnQoY29uc3QgV2ViRGF0YSYgZmlsZUNvbnRlbnQpCi17
Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwotICAgIG1fcHJpdmF0ZS0+c2V0RmlsZUNvbnRlbnQoZmls
ZUNvbnRlbnQpOwotfQotCi1XZWJWZWN0b3I8V2ViRHJhZ0RhdGE6OkN1c3RvbURhdGE+IFdlYkRy
YWdEYXRhOjpjdXN0b21EYXRhKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoIWlzTnVsbCgpKTsKLSAg
ICBXZWJWZWN0b3I8Q3VzdG9tRGF0YT4gY3VzdG9tRGF0YShzdGF0aWNfY2FzdDxzaXplX3Q+KG1f
cHJpdmF0ZS0+Y3VzdG9tRGF0YSgpLnNpemUoKSkpOwotICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJp
bmc+Ojpjb25zdF9pdGVyYXRvciBiZWdpbiA9IG1fcHJpdmF0ZS0+Y3VzdG9tRGF0YSgpLmJlZ2lu
KCk7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1f
cHJpdmF0ZS0+Y3VzdG9tRGF0YSgpLmVuZCgpOwotICAgIHNpemVfdCBpID0gMDsKLSAgICBmb3Ig
KEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGJlZ2luOyBpdCAh
PSBlbmQ7ICsraXQpIHsKLSAgICAgICAgQ3VzdG9tRGF0YSBkYXRhID0ge2l0LT5maXJzdCwgaXQt
PnNlY29uZH07Ci0gICAgICAgIGN1c3RvbURhdGFbaSsrXSA9IGRhdGE7Ci0gICAgfQotICAgIHJl
dHVybiBjdXN0b21EYXRhOwotfQotCi12b2lkIFdlYkRyYWdEYXRhOjpzZXRDdXN0b21EYXRhKGNv
bnN0IFdlYlZlY3RvcjxXZWJEcmFnRGF0YTo6Q3VzdG9tRGF0YT4mIGN1c3RvbURhdGEpCi17Ci0g
ICAgZW5zdXJlTXV0YWJsZSgpOwotICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjdXN0b21E
YXRhTWFwID0gbV9wcml2YXRlLT5jdXN0b21EYXRhKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBjdXN0b21EYXRhLnNpemUoKTsgKytpKQotICAgICAgICBjdXN0b21EYXRhTWFwLnNldChj
dXN0b21EYXRhW2ldLnR5cGUsIGN1c3RvbURhdGFbaV0uZGF0YSk7Ci19Ci0KIFdlYkRyYWdEYXRh
OjpXZWJEcmFnRGF0YShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6Q2hyb21pdW1EYXRh
T2JqZWN0PiYgZGF0YSkKICAgICA6IG1fcHJpdmF0ZShzdGF0aWNfY2FzdDxXZWJEcmFnRGF0YVBy
aXZhdGUqPihkYXRhLmxlYWtSZWYoKSkpCiB7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTU1NWEyOTM0MTQ1OWFhMWJhMDU2NTcyYjc3NTkwNTRk
MWM1MmEzZS4uOTczMTE2MzkxOTAxNzhmZWRjNjJjYTNhZTJjMTBjZThjZTcyYmIzYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEyLTAyLTE2ICBEYW5pZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFtjaHJvbWl1bV0gQ2xlYW51cCB1bnVzZWQgV2ViRHJhZ0RhdGEgbWV0aG9kcyBhZnRl
ciByMTA3ODQ2CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03ODgzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuY3BwOgorICAgICAgICAoRXZl
bnRTZW5kZXI6OmR1bXBGaWxlbmFtZUJlaW5nRHJhZ2dlZCk6CisgICAgICAgIChFdmVudFNlbmRl
cjo6YmVnaW5EcmFnV2l0aEZpbGVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChhZGREUlRGYWtlRmlsZVRvRGF0YU9iamVjdCk6
CisKIDIwMTItMDItMTcgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCBkaXNhYmxlIHZpZGVvIGJ1aWxkIG9uIEVGTCB1bnRpbCBp
dCBjYW4gYmUKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50
U2VuZGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNw
cAppbmRleCA5YWNjNDJkZmJlMGMxMzc1NjYzMjIwZjVlOTM5MmI4YTdiMjlkZDM0Li5jYzczYjJk
YmQzZTQ0ZmQwMzEzYjEwNTRiMGYxZDA0NGYwM2I2MjUwIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuY3BwCkBAIC0zNTQsNyArMzU0LDE1IEBAIHZvaWQg
RXZlbnRTZW5kZXI6OmRvRHJhZ0Ryb3AoY29uc3QgV2ViRHJhZ0RhdGEmIGRyYWdEYXRhLCBXZWJE
cmFnT3BlcmF0aW9uc01hc2sKIAogdm9pZCBFdmVudFNlbmRlcjo6ZHVtcEZpbGVuYW1lQmVpbmdE
cmFnZ2VkKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKQogewotICAgIHByaW50
ZigiRmlsZW5hbWUgYmVpbmcgZHJhZ2dlZDogJXNcbiIsIGN1cnJlbnREcmFnRGF0YS5maWxlQ29u
dGVudEZpbGVuYW1lKCkudXRmOCgpLmRhdGEoKSk7CisgICAgV2ViU3RyaW5nIGZpbGVuYW1lOwor
ICAgIFdlYlZlY3RvcjxXZWJEcmFnRGF0YTo6SXRlbT4gaXRlbXMgPSBjdXJyZW50RHJhZ0RhdGEu
aXRlbXMoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGl0ZW1zLnNpemUoKTsgKytpKSB7
CisgICAgICAgIGlmIChpdGVtc1tpXS5zdG9yYWdlVHlwZSA9PSBXZWJEcmFnRGF0YTo6SXRlbTo6
U3RvcmFnZVR5cGVCaW5hcnlEYXRhKSB7CisgICAgICAgICAgICBmaWxlbmFtZSA9IGl0ZW1zW2ld
LnRpdGxlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgcHJpbnRm
KCJGaWxlbmFtZSBiZWluZyBkcmFnZ2VkOiAlc1xuIiwgZmlsZW5hbWUudXRmOCgpLmRhdGEoKSk7
CiB9CiAKIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiBFdmVudFNlbmRlcjo6Z2V0QnV0dG9uVHlwZUZy
b21CdXR0b25OdW1iZXIoaW50IGJ1dHRvbkNvZGUpCkBAIC04NjksOCArODc3LDEyIEBAIHZvaWQg
RXZlbnRTZW5kZXI6OmJlZ2luRHJhZ1dpdGhGaWxlcyhjb25zdCBDcHBBcmd1bWVudExpc3QmIGFy
Z3VtZW50cywgQ3BwVmFyaWFuCiB7CiAgICAgY3VycmVudERyYWdEYXRhLmluaXRpYWxpemUoKTsK
ICAgICBWZWN0b3I8c3RyaW5nPiBmaWxlcyA9IGFyZ3VtZW50c1swXS50b1N0cmluZ1ZlY3Rvcigp
OwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmlsZXMuc2l6ZSgpOyArK2kpCi0gICAgICAg
IGN1cnJlbnREcmFnRGF0YS5hcHBlbmRUb0ZpbGVuYW1lcyh3ZWJraXRfc3VwcG9ydDo6R2V0QWJz
b2x1dGVXZWJTdHJpbmdGcm9tVVRGOFBhdGgoZmlsZXNbaV0pKTsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGZpbGVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIFdlYkRyYWdEYXRhOjpJdGVt
IGl0ZW07CisgICAgICAgIGl0ZW0uc3RvcmFnZVR5cGUgPSBXZWJEcmFnRGF0YTo6SXRlbTo6U3Rv
cmFnZVR5cGVGaWxlbmFtZTsKKyAgICAgICAgaXRlbS5maWxlbmFtZURhdGEgPSB3ZWJraXRfc3Vw
cG9ydDo6R2V0QWJzb2x1dGVXZWJTdHJpbmdGcm9tVVRGOFBhdGgoZmlsZXNbaV0pOworICAgICAg
ICBjdXJyZW50RHJhZ0RhdGEuYWRkSXRlbShpdGVtKTsKKyAgICB9CiAgICAgY3VycmVudERyYWdF
ZmZlY3RzQWxsb3dlZCA9IFdlYktpdDo6V2ViRHJhZ09wZXJhdGlvbkNvcHk7CiAKICAgICAvLyBQ
cm92aWRlIGEgZHJhZyBzb3VyY2UuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAKaW5kZXggYmVmYTNiNzE4MDI0YWMxNWE4MjdjNDlmNThmYWUwNmY1NTBi
NjYzZS4uYWFiM2FhOTVhOTFiMGRlNzU0ODliNDk1MTBmNWEyYzE0MjEyMzE4NiAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcApAQCAtMTM3LDcgKzEz
NywxMCBAQCBzdGF0aWMgc3RyaW5nIGRlc2NyaXB0aW9uU3VpdGFibGVGb3JUZXN0UmVzdWx0KGNv
bnN0IHN0cmluZyYgdXJsKQogLy8gZHJhZ2dpbmcgYSBmaWxlLgogc3RhdGljIHZvaWQgYWRkRFJU
RmFrZUZpbGVUb0RhdGFPYmplY3QoV2ViRHJhZ0RhdGEqIGRyYWdEYXRhKQogewotICAgIGRyYWdE
YXRhLT5hcHBlbmRUb0ZpbGVuYW1lcyhXZWJTdHJpbmc6OmZyb21VVEY4KCJEUlRGYWtlRmlsZSIp
KTsKKyAgICBXZWJEcmFnRGF0YTo6SXRlbSBpdGVtOworICAgIGl0ZW0uc3RvcmFnZVR5cGUgPSBX
ZWJEcmFnRGF0YTo6SXRlbTo6U3RvcmFnZVR5cGVGaWxlbmFtZTsKKyAgICBpdGVtLmZpbGVuYW1l
RGF0YSA9IFdlYlN0cmluZzo6ZnJvbVVURjgoIkRSVEZha2VGaWxlIik7CisgICAgZHJhZ0RhdGEt
PmFkZEl0ZW0oaXRlbSk7CiB9CiAKIC8vIEdldCBhIGRlYnVnZ2luZyBzdHJpbmcgZnJvbSBhIFdl
Yk5hdmlnYXRpb25UeXBlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128087</attachid>
            <date>2012-02-21 17:10:07 -0800</date>
            <delta_ts>2012-02-22 09:52:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78837-20120221171001.patch</filename>
            <type>text/plain</type>
            <size>7835</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDgwMGQwZjBkZDhkZjcxMzlhMjI5YmY2YjFhZGM5ZDE0ZjU1ZmUwNTQuLmEzMTFiMWM0YmY1YjE0
MzEwMTQ1MzQ5OTIzNWYxMDNhNzk0OTFlMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMTkgQEAKIDIwMTItMDItMjEgIERhbmllbCBDaGVuZyAgPGRjaGVuZ0BjaHJvbWl1
bS5vcmc+CiAKKyAgICAgICAgW2Nocm9taXVtXSBDbGVhbnVwIHVudXNlZCBXZWJEcmFnRGF0YSBt
ZXRob2RzIGFmdGVyIHIxMDc4NDYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc4ODM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIGRlbGV0ZWQgbWV0aG9kcyBoYXZlIGJlZW4gcmVwbGFjZWQgYnkgaXRl
bXMoKSBhbmQgc2V0SXRlbXMoKS4KKworICAgICAgICAqIHB1YmxpYy9wbGF0Zm9ybS9XZWJEcmFn
RGF0YS5oOgorICAgICAgICAoV2ViRHJhZ0RhdGEpOgorICAgICAgICAqIHNyYy9XZWJEcmFnRGF0
YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRyYWdEYXRhOjphZGRJdGVtKToKKworMjAxMi0w
Mi0yMSAgRGFuaWVsIENoZW5nICA8ZGNoZW5nQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbY2hy
b21pdW1dIEZpeCBpbWFnZSBkcmFnIG91dCBvbiBDaHJvbWl1bQogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNTgKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViRHJhZ0RhdGEuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYkRyYWdEYXRhLmgKaW5kZXggMzQ3ZGI0
ZGY3ZTJlNmQ5ZDlmODRiMzIwZTc5OTUxYTM2YjUxNmM4MS4uYTZjODJhZWUxYzBiODEyODk0NDg0
NTZiOThiMjNhOTgzNWE5ODRiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvcGxhdGZvcm0vV2ViRHJhZ0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9wbGF0Zm9ybS9XZWJEcmFnRGF0YS5oCkBAIC0xMDAsNDUgKzEwMCw2IEBAIHB1Ymxp
YzoKIAogICAgIFdFQktJVF9FWFBPUlQgV2ViVmVjdG9yPEl0ZW0+IGl0ZW1zKCkgY29uc3Q7CiAg
ICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldEl0ZW1zKGNvbnN0IFdlYlZlY3RvcjxJdGVtPiYpOwot
Ci0gICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgdXJsKCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VY
UE9SVCB2b2lkIHNldFVSTChjb25zdCBXZWJVUkwmKTsKLQotICAgIFdFQktJVF9FWFBPUlQgV2Vi
U3RyaW5nIHVybFRpdGxlKCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldFVSTFRp
dGxlKGNvbnN0IFdlYlN0cmluZyYpOwotCi0gICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgZG93
bmxvYWRNZXRhZGF0YSgpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXREb3dubG9h
ZE1ldGFkYXRhKGNvbnN0IFdlYlN0cmluZyYpOwotCi0gICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJp
bmcgZmlsZUV4dGVuc2lvbigpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRGaWxl
RXh0ZW5zaW9uKGNvbnN0IFdlYlN0cmluZyYpOwotCi0gICAgV0VCS0lUX0VYUE9SVCBib29sIGNv
bnRhaW5zRmlsZW5hbWVzKCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIGZpbGVuYW1l
cyhXZWJWZWN0b3I8V2ViU3RyaW5nPiYpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBz
ZXRGaWxlbmFtZXMoY29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mKTsKLSAgICBXRUJLSVRfRVhQ
T1JUIHZvaWQgYXBwZW5kVG9GaWxlbmFtZXMoY29uc3QgV2ViU3RyaW5nJik7Ci0KLSAgICBXRUJL
SVRfRVhQT1JUIFdlYlN0cmluZyBwbGFpblRleHQoKSBjb25zdDsKLSAgICBXRUJLSVRfRVhQT1JU
IHZvaWQgc2V0UGxhaW5UZXh0KGNvbnN0IFdlYlN0cmluZyYpOwotCi0gICAgV0VCS0lUX0VYUE9S
VCBXZWJTdHJpbmcgaHRtbFRleHQoKSBjb25zdDsKLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0
SFRNTFRleHQoY29uc3QgV2ViU3RyaW5nJik7Ci0KLSAgICBXRUJLSVRfRVhQT1JUIFdlYlVSTCBo
dG1sQmFzZVVSTCgpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRIVE1MQmFzZVVS
TChjb25zdCBXZWJVUkwmKTsKLQotICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGZpbGVDb250
ZW50RmlsZW5hbWUoKSBjb25zdDsKLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0RmlsZUNvbnRl
bnRGaWxlbmFtZShjb25zdCBXZWJTdHJpbmcmKTsKLQotICAgIFdFQktJVF9FWFBPUlQgV2ViRGF0
YSBmaWxlQ29udGVudCgpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRGaWxlQ29u
dGVudChjb25zdCBXZWJEYXRhJik7Ci0KLSAgICBzdHJ1Y3QgQ3VzdG9tRGF0YSB7Ci0gICAgICAg
IFdlYlN0cmluZyB0eXBlOwotICAgICAgICBXZWJTdHJpbmcgZGF0YTsKLSAgICB9OwotICAgIFdF
QktJVF9FWFBPUlQgV2ViVmVjdG9yPEN1c3RvbURhdGE+IGN1c3RvbURhdGEoKSBjb25zdDsKLSAg
ICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0Q3VzdG9tRGF0YShjb25zdCBXZWJWZWN0b3I8Q3VzdG9t
RGF0YT4mKTsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYWRkSXRlbShjb25zdCBJdGVtJik7CiAK
ICNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkRyYWdEYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkRyYWdEYXRhLmNwcAppbmRleCAzNzg4NzlhOGMyOGJjNjQ1MTcxM2IzMGE1NmRkNmMzNWIzM2Rl
ODAzLi45ZTYzNDM0MGU1OWUwZGIwNTZkNjc5NTlkNGFmNzM0YmM4NmJmOGQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEcmFnRGF0YS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRHJhZ0RhdGEuY3BwCkBAIC0xMzIsNiArMTMyLDcgQEAg
dm9pZCBXZWJEcmFnRGF0YTo6c2V0SXRlbXMoY29uc3QgV2ViVmVjdG9yPEl0ZW0+JiBpdGVtTGlz
dCkKIAogdm9pZCBXZWJEcmFnRGF0YTo6YWRkSXRlbShjb25zdCBJdGVtJiBpdGVtKQogeworICAg
IGVuc3VyZU11dGFibGUoKTsKICAgICBzd2l0Y2ggKGl0ZW0uc3RvcmFnZVR5cGUpIHsKICAgICBj
YXNlIEl0ZW06OlN0b3JhZ2VUeXBlU3RyaW5nOgogICAgICAgICBtX3ByaXZhdGUtPnNldERhdGEo
aXRlbS5zdHJpbmdUeXBlLCBpdGVtLnN0cmluZ0RhdGEpOwpAQCAtMTQ5LDE2OCArMTUwLDYgQEAg
dm9pZCBXZWJEcmFnRGF0YTo6YWRkSXRlbShjb25zdCBJdGVtJiBpdGVtKQogICAgIH0KIH0KIAot
V2ViU3RyaW5nIFdlYkRyYWdEYXRhOjp1cmwoKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxs
KCkpOwotICAgIGJvb2wgaWdub3JlZFN1Y2Nlc3M7Ci0gICAgcmV0dXJuIG1fcHJpdmF0ZS0+Z2V0
RGF0YShtaW1lVHlwZVVSTCwgaWdub3JlZFN1Y2Nlc3MpOwotfQotCi12b2lkIFdlYkRyYWdEYXRh
OjpzZXRVUkwoY29uc3QgV2ViVVJMJiB1cmwpCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwotICAg
IG1fcHJpdmF0ZS0+c2V0RGF0YShtaW1lVHlwZVVSTCwgS1VSTCh1cmwpLnN0cmluZygpKTsKLX0K
LQotV2ViU3RyaW5nIFdlYkRyYWdEYXRhOjp1cmxUaXRsZSgpIGNvbnN0Ci17Ci0gICAgQVNTRVJU
KCFpc051bGwoKSk7Ci0gICAgcmV0dXJuIG1fcHJpdmF0ZS0+dXJsVGl0bGUoKTsKLX0KLQotdm9p
ZCBXZWJEcmFnRGF0YTo6c2V0VVJMVGl0bGUoY29uc3QgV2ViU3RyaW5nJiB1cmxUaXRsZSkKLXsK
LSAgICBlbnN1cmVNdXRhYmxlKCk7Ci0gICAgbV9wcml2YXRlLT5zZXRVcmxUaXRsZSh1cmxUaXRs
ZSk7Ci19Ci0KLVdlYlN0cmluZyBXZWJEcmFnRGF0YTo6ZG93bmxvYWRNZXRhZGF0YSgpIGNvbnN0
Ci17Ci0gICAgQVNTRVJUKCFpc051bGwoKSk7Ci0gICAgYm9vbCBpZ25vcmVkU3VjY2VzczsKLSAg
ICByZXR1cm4gbV9wcml2YXRlLT5nZXREYXRhKG1pbWVUeXBlRG93bmxvYWRVUkwsIGlnbm9yZWRT
dWNjZXNzKTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0YTo6c2V0RG93bmxvYWRNZXRhZGF0YShjb25z
dCBXZWJTdHJpbmcmIGRvd25sb2FkTWV0YWRhdGEpCi17Ci0gICAgZW5zdXJlTXV0YWJsZSgpOwot
ICAgIG1fcHJpdmF0ZS0+c2V0RGF0YShtaW1lVHlwZURvd25sb2FkVVJMLCBkb3dubG9hZE1ldGFk
YXRhKTsKLX0KLQotV2ViU3RyaW5nIFdlYkRyYWdEYXRhOjpmaWxlRXh0ZW5zaW9uKCkgY29uc3QK
LXsKLSAgICBBU1NFUlQoIWlzTnVsbCgpKTsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5maWxlRXh0
ZW5zaW9uKCk7Ci19Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OnNldEZpbGVFeHRlbnNpb24oY29uc3Qg
V2ViU3RyaW5nJiBmaWxlRXh0ZW5zaW9uKQotewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBt
X3ByaXZhdGUtPnNldEZpbGVFeHRlbnNpb24oZmlsZUV4dGVuc2lvbik7Ci19Ci0KLWJvb2wgV2Vi
RHJhZ0RhdGE6OmNvbnRhaW5zRmlsZW5hbWVzKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoIWlzTnVs
bCgpKTsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5jb250YWluc0ZpbGVuYW1lcygpOwotfQotCi12
b2lkIFdlYkRyYWdEYXRhOjpmaWxlbmFtZXMoV2ViVmVjdG9yPFdlYlN0cmluZz4mIGZpbGVuYW1l
cykgY29uc3QKLXsKLSAgICBBU1NFUlQoIWlzTnVsbCgpKTsKLSAgICBmaWxlbmFtZXMgPSBtX3By
aXZhdGUtPmZpbGVuYW1lcygpOwotfQotCi12b2lkIFdlYkRyYWdEYXRhOjpzZXRGaWxlbmFtZXMo
Y29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIGZpbGVuYW1lcykKLXsKLSAgICBlbnN1cmVNdXRh
YmxlKCk7Ci0gICAgVmVjdG9yPFN0cmluZz4gZmlsZW5hbWVzQ29weTsKLSAgICBmaWxlbmFtZXND
b3B5LmFwcGVuZChmaWxlbmFtZXMuZGF0YSgpLCBmaWxlbmFtZXMuc2l6ZSgpKTsKLSAgICBtX3By
aXZhdGUtPnNldEZpbGVuYW1lcyhmaWxlbmFtZXNDb3B5KTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0
YTo6YXBwZW5kVG9GaWxlbmFtZXMoY29uc3QgV2ViU3RyaW5nJiBmaWxlbmFtZSkKLXsKLSAgICBl
bnN1cmVNdXRhYmxlKCk7Ci0gICAgVmVjdG9yPFN0cmluZz4gZmlsZW5hbWVzID0gbV9wcml2YXRl
LT5maWxlbmFtZXMoKTsKLSAgICBmaWxlbmFtZXMuYXBwZW5kKGZpbGVuYW1lKTsKLSAgICBtX3By
aXZhdGUtPnNldEZpbGVuYW1lcyhmaWxlbmFtZXMpOwotfQotCi1XZWJTdHJpbmcgV2ViRHJhZ0Rh
dGE6OnBsYWluVGV4dCgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKCFpc051bGwoKSk7Ci0gICAgYm9v
bCBpZ25vcmVkU3VjY2VzczsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5nZXREYXRhKG1pbWVUeXBl
VGV4dFBsYWluLCBpZ25vcmVkU3VjY2Vzcyk7Ci19Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OnNldFBs
YWluVGV4dChjb25zdCBXZWJTdHJpbmcmIHBsYWluVGV4dCkKLXsKLSAgICBlbnN1cmVNdXRhYmxl
KCk7Ci0gICAgbV9wcml2YXRlLT5zZXREYXRhKG1pbWVUeXBlVGV4dFBsYWluLCBwbGFpblRleHQp
OwotfQotCi1XZWJTdHJpbmcgV2ViRHJhZ0RhdGE6Omh0bWxUZXh0KCkgY29uc3QKLXsKLSAgICBB
U1NFUlQoIWlzTnVsbCgpKTsKLSAgICBib29sIGlnbm9yZWRTdWNjZXNzOwotICAgIHJldHVybiBt
X3ByaXZhdGUtPmdldERhdGEobWltZVR5cGVUZXh0SFRNTCwgaWdub3JlZFN1Y2Nlc3MpOwotfQot
Ci12b2lkIFdlYkRyYWdEYXRhOjpzZXRIVE1MVGV4dChjb25zdCBXZWJTdHJpbmcmIGh0bWxUZXh0
KQotewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBtX3ByaXZhdGUtPnNldERhdGEobWltZVR5
cGVUZXh0SFRNTCwgaHRtbFRleHQpOwotfQotCi1XZWJVUkwgV2ViRHJhZ0RhdGE6Omh0bWxCYXNl
VVJMKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoIWlzTnVsbCgpKTsKLSAgICByZXR1cm4gbV9wcml2
YXRlLT5odG1sQmFzZVVybCgpOwotfQotCi12b2lkIFdlYkRyYWdEYXRhOjpzZXRIVE1MQmFzZVVS
TChjb25zdCBXZWJVUkwmIGh0bWxCYXNlVVJMKQotewotICAgIGVuc3VyZU11dGFibGUoKTsKLSAg
ICBtX3ByaXZhdGUtPnNldEh0bWxCYXNlVXJsKGh0bWxCYXNlVVJMKTsKLX0KLQotV2ViU3RyaW5n
IFdlYkRyYWdEYXRhOjpmaWxlQ29udGVudEZpbGVuYW1lKCkgY29uc3QKLXsKLSAgICBBU1NFUlQo
IWlzTnVsbCgpKTsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5maWxlQ29udGVudEZpbGVuYW1lKCk7
Ci19Ci0KLXZvaWQgV2ViRHJhZ0RhdGE6OnNldEZpbGVDb250ZW50RmlsZW5hbWUoY29uc3QgV2Vi
U3RyaW5nJiBmaWxlbmFtZSkKLXsKLSAgICBlbnN1cmVNdXRhYmxlKCk7Ci0gICAgbV9wcml2YXRl
LT5zZXRGaWxlQ29udGVudEZpbGVuYW1lKGZpbGVuYW1lKTsKLX0KLQotV2ViRGF0YSBXZWJEcmFn
RGF0YTo6ZmlsZUNvbnRlbnQoKSBjb25zdAotewotICAgIEFTU0VSVCghaXNOdWxsKCkpOwotICAg
IHJldHVybiBXZWJEYXRhKG1fcHJpdmF0ZS0+ZmlsZUNvbnRlbnQoKSk7Ci19Ci0KLXZvaWQgV2Vi
RHJhZ0RhdGE6OnNldEZpbGVDb250ZW50KGNvbnN0IFdlYkRhdGEmIGZpbGVDb250ZW50KQotewot
ICAgIGVuc3VyZU11dGFibGUoKTsKLSAgICBtX3ByaXZhdGUtPnNldEZpbGVDb250ZW50KGZpbGVD
b250ZW50KTsKLX0KLQotV2ViVmVjdG9yPFdlYkRyYWdEYXRhOjpDdXN0b21EYXRhPiBXZWJEcmFn
RGF0YTo6Y3VzdG9tRGF0YSgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKCFpc051bGwoKSk7Ci0gICAg
V2ViVmVjdG9yPEN1c3RvbURhdGE+IGN1c3RvbURhdGEoc3RhdGljX2Nhc3Q8c2l6ZV90PihtX3By
aXZhdGUtPmN1c3RvbURhdGEoKS5zaXplKCkpKTsKLSAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5n
Pjo6Y29uc3RfaXRlcmF0b3IgYmVnaW4gPSBtX3ByaXZhdGUtPmN1c3RvbURhdGEoKS5iZWdpbigp
OwotICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3By
aXZhdGUtPmN1c3RvbURhdGEoKS5lbmQoKTsKLSAgICBzaXplX3QgaSA9IDA7Ci0gICAgZm9yIChI
YXNoTWFwPFN0cmluZywgU3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBiZWdpbjsgaXQgIT0g
ZW5kOyArK2l0KSB7Ci0gICAgICAgIEN1c3RvbURhdGEgZGF0YSA9IHtpdC0+Zmlyc3QsIGl0LT5z
ZWNvbmR9OwotICAgICAgICBjdXN0b21EYXRhW2krK10gPSBkYXRhOwotICAgIH0KLSAgICByZXR1
cm4gY3VzdG9tRGF0YTsKLX0KLQotdm9pZCBXZWJEcmFnRGF0YTo6c2V0Q3VzdG9tRGF0YShjb25z
dCBXZWJWZWN0b3I8V2ViRHJhZ0RhdGE6OkN1c3RvbURhdGE+JiBjdXN0b21EYXRhKQotewotICAg
IGVuc3VyZU11dGFibGUoKTsKLSAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgY3VzdG9tRGF0
YU1hcCA9IG1fcHJpdmF0ZS0+Y3VzdG9tRGF0YSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgY3VzdG9tRGF0YS5zaXplKCk7ICsraSkKLSAgICAgICAgY3VzdG9tRGF0YU1hcC5zZXQoY3Vz
dG9tRGF0YVtpXS50eXBlLCBjdXN0b21EYXRhW2ldLmRhdGEpOwotfQotCiBXZWJEcmFnRGF0YTo6
V2ViRHJhZ0RhdGEoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkNocm9taXVtRGF0YU9i
amVjdD4mIGRhdGEpCiAgICAgOiBtX3ByaXZhdGUoc3RhdGljX2Nhc3Q8V2ViRHJhZ0RhdGFQcml2
YXRlKj4oZGF0YS5sZWFrUmVmKCkpKQogewo=
</data>
<flag name="review"
          id="130361"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>