<?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>100868</bug_id>
          
          <creation_ts>2012-10-31 11:08:38 -0700</creation_ts>
          <short_desc>[BlackBerry] Adding window.external to our port</short_desc>
          <delta_ts>2012-11-06 10:25:33 -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>WebKit BlackBerry</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>0</everconfirmed>
          <reporter>otcheung</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>mifenton</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>755467</commentid>
    <comment_count>0</comment_count>
    <who name="">otcheung</who>
    <bug_when>2012-10-31 11:08:38 -0700</bug_when>
    <thetext>Adding the window.external interface to the blackberry port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755479</commentid>
    <comment_count>1</comment_count>
      <attachid>171692</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-10-31 11:22:05 -0700</bug_when>
    <thetext>Created attachment 171692
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755489</commentid>
    <comment_count>2</comment_count>
      <attachid>171695</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-10-31 11:30:51 -0700</bug_when>
    <thetext>Created attachment 171695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755496</commentid>
    <comment_count>3</comment_count>
      <attachid>171695</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-10-31 11:35:02 -0700</bug_when>
    <thetext>Comment on attachment 171695
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755715</commentid>
    <comment_count>4</comment_count>
      <attachid>171695</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-31 16:27:26 -0700</bug_when>
    <thetext>Comment on attachment 171695
Patch

Clearing flags on attachment: 171695

Committed r133094: &lt;http://trac.webkit.org/changeset/133094&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755716</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-31 16:27:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757185</commentid>
    <comment_count>6</comment_count>
    <who name="">otcheung</who>
    <bug_when>2012-11-02 07:28:55 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757186</commentid>
    <comment_count>7</comment_count>
      <attachid>172058</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-11-02 07:28:59 -0700</bug_when>
    <thetext>Created attachment 172058
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757190</commentid>
    <comment_count>8</comment_count>
      <attachid>172058</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-11-02 07:39:37 -0700</bug_when>
    <thetext>Comment on attachment 172058
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757327</commentid>
    <comment_count>9</comment_count>
      <attachid>172058</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-02 10:47:18 -0700</bug_when>
    <thetext>Comment on attachment 172058
Patch

Clearing flags on attachment: 172058

Committed r133314: &lt;http://trac.webkit.org/changeset/133314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757328</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-02 10:47:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759690</commentid>
    <comment_count>11</comment_count>
    <who name="">otcheung</who>
    <bug_when>2012-11-06 07:50:30 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759691</commentid>
    <comment_count>12</comment_count>
      <attachid>172587</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-11-06 07:50:33 -0800</bug_when>
    <thetext>Created attachment 172587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759698</commentid>
    <comment_count>13</comment_count>
      <attachid>172587</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-11-06 07:54:48 -0800</bug_when>
    <thetext>Comment on attachment 172587
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759830</commentid>
    <comment_count>14</comment_count>
      <attachid>172587</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-06 10:25:29 -0800</bug_when>
    <thetext>Comment on attachment 172587
Patch

Clearing flags on attachment: 172587

Committed r133634: &lt;http://trac.webkit.org/changeset/133634&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759831</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-06 10:25:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171692</attachid>
            <date>2012-10-31 11:22:05 -0700</date>
            <delta_ts>2012-10-31 11:30:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100868-20121031142027.patch</filename>
            <type>text/plain</type>
            <size>13322</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJhZDY1MjUyZjViYjkwMDA4
ZDYyNjUwMTNkMjkxZGJjMmRhODFiZGMuLjRlMzFjMDgwYWIyMTc0ODAxYWYzOGRjMzdlMTI3NzVl
N2VlYTRhYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTAtMzEgIE90dG8gRGVy
ZWsgQ2hldW5nICA8b3RjaGV1bmdAcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gQWRk
aW5nIHdpbmRvdy5leHRlcm5hbCB0byBvdXIgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwODY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIEV4dGVybmFsRXh0ZW5zaW9uIGNsYXNzZXMg
dG8gdGhlIEJCIGNtYWtlIGZpbGUuCisKKyAgICAgICAgKiBQbGF0Zm9ybUJsYWNrQmVycnkuY21h
a2U6CisKIDIwMTItMTAtMzEgIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBz
YW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtEUlRdIEV2ZW50U2VuZGVyIHJlcXVpcmVzIGNv
bnRleHRDbGljayBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5k
ZXggYWFlZjVjNjc1MWI4ZDY5ZTViNGNjNWY4YjNiYTAwZmMzZDU3Y2Y5OS4uZDA0MGEwNDE4ZGQx
MTNmN2IyMDM3OGJjMDEwZjQwNTE2NzdjZDE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTItMTAtMzEgIE90dG8gRGVyZWsgQ2hldW5nICA8b3Rj
aGV1bmdAcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gQWRkaW5nIHdpbmRvdy5leHRl
cm5hbCB0byBvdXIgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAwODY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQXR0YWNoaW5nIHRoZSB3aW5kb3cuZXh0ZXJuYWwgaW50ZXJmYWNlIHRvIHRoZSBm
cmFtZSB3aGVuCisgICAgICAgIGl0IGxvYWRzIHVwLgorCisgICAgICAgIFdoZW4gY2FsbGVkLCB0
aGUgZXh0ZXJuYWwgaW50ZXJmYWNlIG1ldGhvZHMgY2FsbCBzdHVicyBkZWNsYXJlZAorICAgICAg
ICBpbiBDaHJvbWVDbGllbnRCbGFja0JlcnJ5LiBUaGUgbWV0aG9kIHBhc3NlcyBpbiB0aGUgdXJs
IG9mIHRoZSBzZWFyY2gKKyAgICAgICAgcHJvdmlkZXIgYW5kIHRoZSB1cmwgb2YgdGhlIGZyYW1l
LiBDcm9zcy1zaXRlIGNoZWNrIGhhcyB0byBiZSBkb25lIGluIHRoZQorICAgICAgICBpbXBsZW1l
bnRhdGlvbiBQUi4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNr
QmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6YWRk
U2VhcmNoUHJvdmlkZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWVDbGllbnRCbGFja0JlcnJ5Ojppc1NlYXJjaFByb3ZpZGVySW5zdGFsbGVkKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5Lmg6CisgICAgICAgIChD
aHJvbWVDbGllbnRCbGFja0JlcnJ5KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FeHRlcm5h
bEV4dGVuc2lvbi5jcHA6IEFkZGVkLgorICAgICAgICAoYWRkU2VhcmNoUHJvdmlkZXJNZXRob2Qp
OgorICAgICAgICAoSXNTZWFyY2hQcm92aWRlckluc3RhbGxlZE1ldGhvZCk6CisgICAgICAgIChl
eHRlcm5hbEV4dGVuc2lvbkluaXRpYWxpemUpOgorICAgICAgICAoZXh0ZXJuYWxFeHRlbnNpb25G
aW5hbGl6ZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXJDbGllbnRCbGFja0JlcnJ5OjpkaXNwYXRjaERpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZCk6
CisKIDIwMTItMTAtMzAgIFBldGVyIFdhbmcgIDxwZXRlci53YW5nQHRvcmNobW9iaWxlLmNvbS5j
bj4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gQ2xlYW4gdGhlIGNvZGUgb2YgIkphdmFTY3JpcHRE
ZWJ1Z2dlckJsYWNrQmVycnkiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxh
Y2tCZXJyeS5jbWFrZSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCmlu
ZGV4IGM2MmJjMTdhMzY0ZThmMGRmYTA0NDk2YjEwMmY2NGJjOGRiODA5OTYuLjk2YWQxNTAyMTBh
MmQ2OTQwNDQ0MGEwN2UwM2FjMWFmMzZlMjhiNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1CbGFj
a0JlcnJ5LmNtYWtlCkBAIC0xMDcsNiArMTA3LDcgQEAgTElTVChBUFBFTkQgV2ViS2l0X1NPVVJD
RVMKICAgICBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50
QmxhY2tCZXJyeS5jcHAKICAgICBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0RyYWdDbGllbnRC
bGFja0JlcnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
QmxhY2tCZXJyeS5jcHAKKyAgICBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0V4dGVybmFsRXh0
ZW5zaW9uLmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRCbGFja0JlcnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3
b3JraW5nQ29udGV4dEJsYWNrQmVycnkuY3BwCiAgICAgYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9y
dC9HZW9sb2NhdGlvbkNsaWVudEJsYWNrQmVycnkuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50Qmxh
Y2tCZXJyeS5jcHAKaW5kZXggOTljYjVlYTc5YjlhMmI5NmY1ODA3NDg1ODQzZDhhNmExZGUzZjM5
NC4uMDU4ZTUwMjdjOTUxNTgxOTFiMjNhMWFhMTQ3M2NkZjkxY2JjYjZiNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNr
QmVycnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcApAQCAtODM2LDQgKzgzNiwxOCBAQCB2b2lkIENocm9t
ZUNsaWVudEJsYWNrQmVycnk6OnVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5n
JiBzY2hlbWUsIGNvbgogI2VuZGlmCiAjZW5kaWYKIAordm9pZCBDaHJvbWVDbGllbnRCbGFja0Jl
cnJ5OjphZGRTZWFyY2hQcm92aWRlcihjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U3RyaW5n
JiBvcmlnaW5VUkwsIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdHJpbmcmIG5ld1VSTCkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitpbnQgQ2hyb21lQ2xpZW50QmxhY2tCZXJy
eTo6aXNTZWFyY2hQcm92aWRlckluc3RhbGxlZChjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6
U3RyaW5nJiBvcmlnaW5VUkwsIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdHJpbmcmIG5l
d1VSTCkKK3sKKy8vICAgIFJldHVybnMgYSB2YWx1ZSBiYXNlZCBvbiBjb21wYXJpbmcgdXJsIHRv
IHRoZSBVUkxzIG9mIHRoZSByZXN1bHRzIHBhZ2VzIG9mIHRoZSBpbnN0YWxsZWQgc2VhcmNoIGVu
Z2luZXMuCisvLyAgICAwIC0gTm9uZSBvZiB0aGUgaW5zdGFsbGVkIHNlYXJjaCBlbmdpbmVzIG1h
dGNoIHVybC4KKy8vICAgIDEgLSBPbmUgb3IgbW9yZSBpbnN0YWxsZWQgc2VhcmNoIGVuZ2luZXMg
bWF0Y2ggdXJsLCBidXQgbm9uZSBhcmUgdGhlIHVzZXIncyBkZWZhdWx0IHNlYXJjaCBlbmdpbmUu
CisvLyAgICAyIC0gVGhlIHVzZXIncyBkZWZhdWx0IHNlYXJjaCBlbmdpbmUgbWF0Y2hlcyB1cmwu
CisgICAgcmV0dXJuIDA7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFj
a0JlcnJ5LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50QmxhY2tCZXJyeS5oCmluZGV4IGYzNWRmZTQwYjgxNzhjNGY1YzhmM2NhYjk1ZTk0OTEy
MTEzZTlmZjIuLmUxMjlmNDU4NDIxOTZiYTVlNjUxYzVlMGQ4NTZmOWUyYWJiYmU4NWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRCbGFja0JlcnJ5LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaApAQCAtMTYwLDYgKzE2MCw5IEBAIHB1YmxpYzoK
ICNlbmRpZgogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIHZvaWQgYWRkU2VhcmNoUHJvdmlkZXIoY29u
c3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmluZyYsIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRm
b3JtOjpTdHJpbmcmKTsKKyAgICB2aXJ0dWFsIGludCBpc1NlYXJjaFByb3ZpZGVySW5zdGFsbGVk
KGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdHJpbmcmLCBjb25zdCBCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6U3RyaW5nJik7CisKICAgICBCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2
YXRlKiB3ZWJQYWdlUHJpdmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViUGFnZVByaXZhdGU7IH0K
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9FeHRlcm5hbEV4dGVuc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
V2ViQ29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlYjlkOWRi
NzY2NWEzMmMzYTMxZGNjMjI1MDljZTMzNjhmZmFiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uY3Bw
CkBAIC0wLDAgKzEsMTQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwg
d3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFeHRlcm5hbEV4dGVuc2lvbi5oIgor
CisjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5o
IgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlNlY3Vy
aXR5T3JpZ2luLmgiCisjaW5jbHVkZSAiV2ViUGFnZUNsaWVudC5oIgorI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNPYmplY3RSZWYuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1N0cmluZ1JlZi5o
PgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTVmFsdWVSZWYuaD4KKyNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+CisjaW5jbHVkZSA8c3RyaW5nPgorCit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBCbGFja0JlcnJ5OjpXZWJLaXQ7Cit1c2lu
ZyBuYW1lc3BhY2Ugc3RkOworCitzdGF0aWMgSlNWYWx1ZVJlZiBhZGRTZWFyY2hQcm92aWRlck1l
dGhvZCgKKyAgICBKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJlZiBmdW5jdGlvbk9iamVjdCwg
SlNPYmplY3RSZWYgdGhpc09iamVjdCwKKyAgICBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3Qg
SlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIEpT
VmFsdWVSZWYganNSZXRWYWwgPSBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjdHgpOworICAgIGlmIChh
cmd1bWVudENvdW50IDwgMSkKKyAgICAgICAgcmV0dXJuIGpzUmV0VmFsOworCisgICAgLy8gRG91
YmxlIGNoZWNrIGlmIHBhZ2UgY2hyb21lIGNsaWVudCBleGlzdHMKKyAgICBGcmFtZSogZnJhbWUg
PSByZWludGVycHJldF9jYXN0PEZyYW1lKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3Qp
KTsKKyAgICBpZiAoIWZyYW1lKSB7CisgICAgICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgp
OworICAgICAgICBpZiAoIXBhZ2UgfHwgIXBhZ2UtPmNocm9tZSgpKQorICAgICAgICAgICAgcmV0
dXJuIGpzUmV0VmFsOworCisgICAgICAgIEpTU3RyaW5nUmVmIHN0cmluZyA9IEpTVmFsdWVUb1N0
cmluZ0NvcHkoY3R4LCBhcmd1bWVudHNbMF0sIDApOworICAgICAgICBzaXplX3Qgc2l6ZVVURjgg
PSBKU1N0cmluZ0dldE1heGltdW1VVEY4Q1N0cmluZ1NpemUoc3RyaW5nKTsKKyAgICAgICAgY2hh
ciogbmV3VVJMID0gbmV3IGNoYXJbc2l6ZVVURjhdOworICAgICAgICBKU1N0cmluZ0dldFVURjhD
U3RyaW5nKHN0cmluZywgbmV3VVJMLCBzaXplVVRGOCk7CisgICAgICAgIEpTU3RyaW5nUmVsZWFz
ZShzdHJpbmcpOworCisgICAgICAgIFN0cmluZyBvcmlnaW5VUkwgPSBmcmFtZS0+ZG9jdW1lbnQo
KS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKTsKKyAgICAgICAgQ2hyb21lQ2xpZW50Qmxh
Y2tCZXJyeSogY2hyb21lID0gc3RhdGljX2Nhc3Q8Q2hyb21lQ2xpZW50QmxhY2tCZXJyeSo+IChw
YWdlLT5jaHJvbWUoKS0+Y2xpZW50KCkpOworICAgICAgICBjaHJvbWUtPmFkZFNlYXJjaFByb3Zp
ZGVyKG9yaWdpblVSTCwgbmV3VVJMKTsKKyAgICB9CisKKyAgICByZXR1cm4ganNSZXRWYWw7Cit9
CisKK3N0YXRpYyBKU1ZhbHVlUmVmIElzU2VhcmNoUHJvdmlkZXJJbnN0YWxsZWRNZXRob2QoCisg
ICAgSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgZnVuY3Rpb25PYmplY3QsIEpTT2JqZWN0
UmVmIHRoaXNPYmplY3QsCisgICAgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVS
ZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBKU1ZhbHVlUmVm
IGpzUmV0VmFsID0gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY3R4KTsKKyAgICBpZiAoYXJndW1lbnRD
b3VudCA8IDEpCisgICAgICAgIHJldHVybiBqc1JldFZhbDsKKworICAgIC8vIERvdWJsZSBjaGVj
ayBpZiBwYWdlIGNocm9tZSBjbGllbnQgZXhpc3RzCisgICAgRnJhbWUqIGZyYW1lID0gcmVpbnRl
cnByZXRfY2FzdDxGcmFtZSo+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CisgICAg
aWYgKCFmcmFtZSkgeworICAgICAgICBQYWdlKiBwYWdlID0gZnJhbWUtPnBhZ2UoKTsKKyAgICAg
ICAgaWYgKCFwYWdlIHx8ICFwYWdlLT5jaHJvbWUoKSkKKyAgICAgICAgICAgIHJldHVybiBqc1Jl
dFZhbDsKKworICAgICAgICBKU1N0cmluZ1JlZiBzdHJpbmcgPSBKU1ZhbHVlVG9TdHJpbmdDb3B5
KGN0eCwgYXJndW1lbnRzWzBdLCAwKTsKKyAgICAgICAgc2l6ZV90IHNpemVVVEY4ID0gSlNTdHJp
bmdHZXRNYXhpbXVtVVRGOENTdHJpbmdTaXplKHN0cmluZyk7CisgICAgICAgIGNoYXIqIG5ld1VS
TCA9IG5ldyBjaGFyW3NpemVVVEY4XTsKKyAgICAgICAgSlNTdHJpbmdHZXRVVEY4Q1N0cmluZyhz
dHJpbmcsIG5ld1VSTCwgc2l6ZVVURjgpOworICAgICAgICBKU1N0cmluZ1JlbGVhc2Uoc3RyaW5n
KTsKKworICAgICAgICBTdHJpbmcgb3JpZ2luVVJMID0gZnJhbWUtPmRvY3VtZW50KCktPnNlY3Vy
aXR5T3JpZ2luKCktPnRvU3RyaW5nKCk7CisgICAgICAgIENocm9tZUNsaWVudEJsYWNrQmVycnkq
IGNocm9tZSA9IHN0YXRpY19jYXN0PENocm9tZUNsaWVudEJsYWNrQmVycnkqPiAocGFnZS0+Y2hy
b21lKCktPmNsaWVudCgpKTsKKyAgICAgICAgaW50IHJldFZhbCA9IGNocm9tZS0+aXNTZWFyY2hQ
cm92aWRlckluc3RhbGxlZChvcmlnaW5VUkwsIG5ld1VSTCk7CisKKyAgICAgICAganNSZXRWYWwg
PSBKU1ZhbHVlTWFrZU51bWJlcihjdHgsIHJldFZhbCk7CisgICAgfQorCisgICAgcmV0dXJuIGpz
UmV0VmFsOworfQorCitzdGF0aWMgdm9pZCBleHRlcm5hbEV4dGVuc2lvbkluaXRpYWxpemUoSlND
b250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIG9iamVjdCkKK3sKKyAgICBVTlVTRURfUEFS
QU0oY29udGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKG9iamVjdCk7Cit9CisKK3N0YXRpYyB2b2lk
IGV4dGVybmFsRXh0ZW5zaW9uRmluYWxpemUoSlNPYmplY3RSZWYgb2JqZWN0KQoreworICAgIFVO
VVNFRF9QQVJBTShvYmplY3QpOworfQorCitzdGF0aWMgSlNTdGF0aWNGdW5jdGlvbiBleHRlcm5h
bEV4dGVuc2lvblN0YXRpY0Z1bmN0aW9uc1tdID0geworICAgIHsgImFkZFNlYXJjaFByb3ZpZGVy
IiwgYWRkU2VhcmNoUHJvdmlkZXJNZXRob2QsIGtKU1Byb3BlcnR5QXR0cmlidXRlTm9uZSB9LAor
ICAgIHsgImlzU2VhcmNoUHJvdmlkZXJJbnN0YWxsZWQiLCBJc1NlYXJjaFByb3ZpZGVySW5zdGFs
bGVkTWV0aG9kLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCisgICAgeyAwLCAwLCAw
IH0KK307CisKK3N0YXRpYyBKU1N0YXRpY1ZhbHVlIGV4dGVybmFsRXh0ZW5zaW9uU3RhdGljVmFs
dWVzW10gPSB7CisgICAgeyAwLCAwLCAwLCAwIH0KK307CisKKy8vIEZJWE1FOiBSZXZpc2l0IHRo
ZSBjcmVhdGlvbiBvZiB0aGlzIGNsYXNzIGFuZCBtYWtlIHN1cmUgdGhpcyBpcyB0aGUgYmVzdCB3
YXkgdG8gYXBwcm9hY2ggaXQuCit2b2lkIGF0dGFjaEV4dGVybmFsRXh0ZW5zaW9uT2JqZWN0VG9G
cmFtZShGcmFtZSogZnJhbWUpCit7CisgICAgSlNET01XaW5kb3cqIHdpbmRvdyA9IGZyYW1lLT5z
Y3JpcHQoKS0+d2luZG93U2hlbGwobWFpblRocmVhZE5vcm1hbFdvcmxkKCkpLT53aW5kb3coKTsK
KworICAgIEpTQzo6RXhlY1N0YXRlKiBleGVjID0gd2luZG93LT5nbG9iYWxFeGVjKCk7CisgICAg
SlNDOjpKU0xvY2tIb2xkZXIgbG9jayhleGVjKTsKKworICAgIEpTQ29udGV4dFJlZiBzY3JpcHRD
dHggPSB0b1JlZihleGVjKTsKKworICAgIEpTQ2xhc3NEZWZpbml0aW9uIGRlZmluaXRpb24gPSBr
SlNDbGFzc0RlZmluaXRpb25FbXB0eTsKKyAgICBkZWZpbml0aW9uLnN0YXRpY1ZhbHVlcyA9IGV4
dGVybmFsRXh0ZW5zaW9uU3RhdGljVmFsdWVzOworICAgIGRlZmluaXRpb24uc3RhdGljRnVuY3Rp
b25zID0gZXh0ZXJuYWxFeHRlbnNpb25TdGF0aWNGdW5jdGlvbnM7CisgICAgZGVmaW5pdGlvbi5p
bml0aWFsaXplID0gZXh0ZXJuYWxFeHRlbnNpb25Jbml0aWFsaXplOworICAgIGRlZmluaXRpb24u
ZmluYWxpemUgPSBleHRlcm5hbEV4dGVuc2lvbkZpbmFsaXplOworICAgIEpTQ2xhc3NSZWYgY2xp
ZW50Q2xhc3MgPSBKU0NsYXNzQ3JlYXRlKCZkZWZpbml0aW9uKTsKKworICAgIEpTT2JqZWN0UmVm
IGNsaWVudENsYXNzT2JqZWN0ID0gSlNPYmplY3RNYWtlKHNjcmlwdEN0eCwgY2xpZW50Q2xhc3Ms
IDApOworICAgIEpTT2JqZWN0U2V0UHJpdmF0ZShjbGllbnRDbGFzc09iamVjdCwgcmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4oZnJhbWUpKTsKKworICAgIFN0cmluZyBuYW1lKCJleHRlcm5hbCIpOwor
CisgICAgSlNDOjpQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKKyAgICB3aW5kb3ctPnB1dCh3aW5kb3cs
IGV4ZWMsIEpTQzo6SWRlbnRpZmllcihleGVjLCBuYW1lKSwgdG9KUyhjbGllbnRDbGFzc09iamVj
dCksIHNsb3QpOworCisgICAgSlNDbGFzc1JlbGVhc2UoY2xpZW50Q2xhc3MpOworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0V4dGVybmFsRXh0
ZW5zaW9uLmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRXh0ZXJu
YWxFeHRlbnNpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjBjNTNkYjIyMmUzM2UzOWI5MTgyNDllMmI3NmU3
ZjgwMTE5M2E2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0V4dGVybmFsRXh0ZW5zaW9uLmgKQEAgLTAsMCArMSwyOCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl
CisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBC
b3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaWZuZGVmIEV4dGVybmFsRXh0ZW5z
aW9uX2gKKyNkZWZpbmUgRXh0ZXJuYWxFeHRlbnNpb25faAorCituYW1lc3BhY2UgV2ViQ29yZSB7
CitjbGFzcyBGcmFtZTsKK30KKwordm9pZCBhdHRhY2hFeHRlcm5hbEV4dGVuc2lvbk9iamVjdFRv
RnJhbWUoV2ViQ29yZTo6RnJhbWUqKTsKKworI2VuZGlmIC8vIEV4dGVybmFsRXh0ZW5zaW9uX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKaW5kZXggNDRjZTBk
NjNhOTg4ZjFlMTc5MGIyOWVjODg2NjRiNzAyZTRiMmZmZi4uMWQxMDRhODk2OTBlZDJjYjdlODQ4
N2M5YTBiZGIzN2NlNmRhNDNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50Qmxh
Y2tCZXJyeS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJDcmVkZW50aWFsTWFuYWdl
ci5oIgogI2luY2x1ZGUgIkNyZWRlbnRpYWxUcmFuc2Zvcm1EYXRhLmgiCiAjaW5jbHVkZSAiRHVt
cFJlbmRlclRyZWVDbGllbnQuaCIKKyNpbmNsdWRlICJFeHRlcm5hbEV4dGVuc2lvbi5oIgogI2lu
Y2x1ZGUgIkZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5LmgiCiAjaW5jbHVkZSAiRnJh
bWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCkBAIC05MDYsNiArOTA3LDgg
QEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnk6OmRpc3BhdGNoRGlkQ2xlYXJXaW5k
b3dPYmplY3RJbldvcmxkKERPTVdyYXBwZXIKICAgICBpZiAobV93ZWJQYWdlUHJpdmF0ZS0+bV9l
bmFibGVRbnhKYXZhU2NyaXB0T2JqZWN0KQogICAgICAgICBhdHRhY2hFeHRlbnNpb25PYmplY3RU
b0ZyYW1lKG1fZnJhbWUsIG1fd2ViUGFnZVByaXZhdGUtPm1fY2xpZW50KTsKIAorICAgIGF0dGFj
aEV4dGVybmFsRXh0ZW5zaW9uT2JqZWN0VG9GcmFtZShtX2ZyYW1lKTsKKwogICAgIG1fd2ViUGFn
ZVByaXZhdGUtPm1fY2xpZW50LT5ub3RpZnlXaW5kb3dPYmplY3RDbGVhcmVkKCk7CiAKICAgICBp
ZiAobV93ZWJQYWdlUHJpdmF0ZS0+bV9kdW1wUmVuZGVyVHJlZSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171695</attachid>
            <date>2012-10-31 11:30:51 -0700</date>
            <delta_ts>2012-11-02 07:28:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100868-20121031142914.patch</filename>
            <type>text/plain</type>
            <size>16446</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJhZDY1MjUyZjViYjkwMDA4
ZDYyNjUwMTNkMjkxZGJjMmRhODFiZGMuLjRlMzFjMDgwYWIyMTc0ODAxYWYzOGRjMzdlMTI3NzVl
N2VlYTRhYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTAtMzEgIE90dG8gRGVy
ZWsgQ2hldW5nICA8b3RjaGV1bmdAcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gQWRk
aW5nIHdpbmRvdy5leHRlcm5hbCB0byBvdXIgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwODY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIEV4dGVybmFsRXh0ZW5zaW9uIGNsYXNzZXMg
dG8gdGhlIEJCIGNtYWtlIGZpbGUuCisKKyAgICAgICAgKiBQbGF0Zm9ybUJsYWNrQmVycnkuY21h
a2U6CisKIDIwMTItMTAtMzEgIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBz
YW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtEUlRdIEV2ZW50U2VuZGVyIHJlcXVpcmVzIGNv
bnRleHRDbGljayBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5k
ZXggYWFlZjVjNjc1MWI4ZDY5ZTViNGNjNWY4YjNiYTAwZmMzZDU3Y2Y5OS4uZDA0MGEwNDE4ZGQx
MTNmN2IyMDM3OGJjMDEwZjQwNTE2NzdjZDE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTItMTAtMzEgIE90dG8gRGVyZWsgQ2hldW5nICA8b3Rj
aGV1bmdAcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gQWRkaW5nIHdpbmRvdy5leHRl
cm5hbCB0byBvdXIgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAwODY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQXR0YWNoaW5nIHRoZSB3aW5kb3cuZXh0ZXJuYWwgaW50ZXJmYWNlIHRvIHRoZSBm
cmFtZSB3aGVuCisgICAgICAgIGl0IGxvYWRzIHVwLgorCisgICAgICAgIFdoZW4gY2FsbGVkLCB0
aGUgZXh0ZXJuYWwgaW50ZXJmYWNlIG1ldGhvZHMgY2FsbCBzdHVicyBkZWNsYXJlZAorICAgICAg
ICBpbiBDaHJvbWVDbGllbnRCbGFja0JlcnJ5LiBUaGUgbWV0aG9kIHBhc3NlcyBpbiB0aGUgdXJs
IG9mIHRoZSBzZWFyY2gKKyAgICAgICAgcHJvdmlkZXIgYW5kIHRoZSB1cmwgb2YgdGhlIGZyYW1l
LiBDcm9zcy1zaXRlIGNoZWNrIGhhcyB0byBiZSBkb25lIGluIHRoZQorICAgICAgICBpbXBsZW1l
bnRhdGlvbiBQUi4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNr
QmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6YWRk
U2VhcmNoUHJvdmlkZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWVDbGllbnRCbGFja0JlcnJ5Ojppc1NlYXJjaFByb3ZpZGVySW5zdGFsbGVkKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5Lmg6CisgICAgICAgIChD
aHJvbWVDbGllbnRCbGFja0JlcnJ5KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FeHRlcm5h
bEV4dGVuc2lvbi5jcHA6IEFkZGVkLgorICAgICAgICAoYWRkU2VhcmNoUHJvdmlkZXJNZXRob2Qp
OgorICAgICAgICAoSXNTZWFyY2hQcm92aWRlckluc3RhbGxlZE1ldGhvZCk6CisgICAgICAgIChl
eHRlcm5hbEV4dGVuc2lvbkluaXRpYWxpemUpOgorICAgICAgICAoZXh0ZXJuYWxFeHRlbnNpb25G
aW5hbGl6ZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXJDbGllbnRCbGFja0JlcnJ5OjpkaXNwYXRjaERpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZCk6
CisKIDIwMTItMTAtMzAgIFBldGVyIFdhbmcgIDxwZXRlci53YW5nQHRvcmNobW9iaWxlLmNvbS5j
bj4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gQ2xlYW4gdGhlIGNvZGUgb2YgIkphdmFTY3JpcHRE
ZWJ1Z2dlckJsYWNrQmVycnkiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxh
Y2tCZXJyeS5jbWFrZSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCmlu
ZGV4IGM2MmJjMTdhMzY0ZThmMGRmYTA0NDk2YjEwMmY2NGJjOGRiODA5OTYuLjk2YWQxNTAyMTBh
MmQ2OTQwNDQ0MGEwN2UwM2FjMWFmMzZlMjhiNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1CbGFj
a0JlcnJ5LmNtYWtlCkBAIC0xMDcsNiArMTA3LDcgQEAgTElTVChBUFBFTkQgV2ViS2l0X1NPVVJD
RVMKICAgICBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50
QmxhY2tCZXJyeS5jcHAKICAgICBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0RyYWdDbGllbnRC
bGFja0JlcnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
QmxhY2tCZXJyeS5jcHAKKyAgICBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0V4dGVybmFsRXh0
ZW5zaW9uLmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRCbGFja0JlcnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3
b3JraW5nQ29udGV4dEJsYWNrQmVycnkuY3BwCiAgICAgYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9y
dC9HZW9sb2NhdGlvbkNsaWVudEJsYWNrQmVycnkuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50Qmxh
Y2tCZXJyeS5jcHAKaW5kZXggOTljYjVlYTc5YjlhMmI5NmY1ODA3NDg1ODQzZDhhNmExZGUzZjM5
NC4uMDU4ZTUwMjdjOTUxNTgxOTFiMjNhMWFhMTQ3M2NkZjkxY2JjYjZiNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNr
QmVycnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcApAQCAtODM2LDQgKzgzNiwxOCBAQCB2b2lkIENocm9t
ZUNsaWVudEJsYWNrQmVycnk6OnVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5n
JiBzY2hlbWUsIGNvbgogI2VuZGlmCiAjZW5kaWYKIAordm9pZCBDaHJvbWVDbGllbnRCbGFja0Jl
cnJ5OjphZGRTZWFyY2hQcm92aWRlcihjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U3RyaW5n
JiBvcmlnaW5VUkwsIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdHJpbmcmIG5ld1VSTCkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitpbnQgQ2hyb21lQ2xpZW50QmxhY2tCZXJy
eTo6aXNTZWFyY2hQcm92aWRlckluc3RhbGxlZChjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6
U3RyaW5nJiBvcmlnaW5VUkwsIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdHJpbmcmIG5l
d1VSTCkKK3sKKy8vICAgIFJldHVybnMgYSB2YWx1ZSBiYXNlZCBvbiBjb21wYXJpbmcgdXJsIHRv
IHRoZSBVUkxzIG9mIHRoZSByZXN1bHRzIHBhZ2VzIG9mIHRoZSBpbnN0YWxsZWQgc2VhcmNoIGVu
Z2luZXMuCisvLyAgICAwIC0gTm9uZSBvZiB0aGUgaW5zdGFsbGVkIHNlYXJjaCBlbmdpbmVzIG1h
dGNoIHVybC4KKy8vICAgIDEgLSBPbmUgb3IgbW9yZSBpbnN0YWxsZWQgc2VhcmNoIGVuZ2luZXMg
bWF0Y2ggdXJsLCBidXQgbm9uZSBhcmUgdGhlIHVzZXIncyBkZWZhdWx0IHNlYXJjaCBlbmdpbmUu
CisvLyAgICAyIC0gVGhlIHVzZXIncyBkZWZhdWx0IHNlYXJjaCBlbmdpbmUgbWF0Y2hlcyB1cmwu
CisgICAgcmV0dXJuIDA7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFj
a0JlcnJ5LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50QmxhY2tCZXJyeS5oCmluZGV4IGYzNWRmZTQwYjgxNzhjNGY1YzhmM2NhYjk1ZTk0OTEy
MTEzZTlmZjIuLmUxMjlmNDU4NDIxOTZiYTVlNjUxYzVlMGQ4NTZmOWUyYWJiYmU4NWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRCbGFja0JlcnJ5LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaApAQCAtMTYwLDYgKzE2MCw5IEBAIHB1YmxpYzoK
ICNlbmRpZgogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIHZvaWQgYWRkU2VhcmNoUHJvdmlkZXIoY29u
c3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmluZyYsIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRm
b3JtOjpTdHJpbmcmKTsKKyAgICB2aXJ0dWFsIGludCBpc1NlYXJjaFByb3ZpZGVySW5zdGFsbGVk
KGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdHJpbmcmLCBjb25zdCBCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6U3RyaW5nJik7CisKICAgICBCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2
YXRlKiB3ZWJQYWdlUHJpdmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViUGFnZVByaXZhdGU7IH0K
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9FeHRlcm5hbEV4dGVuc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
V2ViQ29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlYjlkOWRi
NzY2NWEzMmMzYTMxZGNjMjI1MDljZTMzNjhmZmFiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uY3Bw
CkBAIC0wLDAgKzEsMTQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwg
d3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFeHRlcm5hbEV4dGVuc2lvbi5oIgor
CisjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5o
IgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlNlY3Vy
aXR5T3JpZ2luLmgiCisjaW5jbHVkZSAiV2ViUGFnZUNsaWVudC5oIgorI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNPYmplY3RSZWYuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1N0cmluZ1JlZi5o
PgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTVmFsdWVSZWYuaD4KKyNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+CisjaW5jbHVkZSA8c3RyaW5nPgorCit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBCbGFja0JlcnJ5OjpXZWJLaXQ7Cit1c2lu
ZyBuYW1lc3BhY2Ugc3RkOworCitzdGF0aWMgSlNWYWx1ZVJlZiBhZGRTZWFyY2hQcm92aWRlck1l
dGhvZCgKKyAgICBKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJlZiBmdW5jdGlvbk9iamVjdCwg
SlNPYmplY3RSZWYgdGhpc09iamVjdCwKKyAgICBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3Qg
SlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIEpT
VmFsdWVSZWYganNSZXRWYWwgPSBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjdHgpOworICAgIGlmIChh
cmd1bWVudENvdW50IDwgMSkKKyAgICAgICAgcmV0dXJuIGpzUmV0VmFsOworCisgICAgLy8gRG91
YmxlIGNoZWNrIGlmIHBhZ2UgY2hyb21lIGNsaWVudCBleGlzdHMKKyAgICBGcmFtZSogZnJhbWUg
PSByZWludGVycHJldF9jYXN0PEZyYW1lKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3Qp
KTsKKyAgICBpZiAoIWZyYW1lKSB7CisgICAgICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgp
OworICAgICAgICBpZiAoIXBhZ2UgfHwgIXBhZ2UtPmNocm9tZSgpKQorICAgICAgICAgICAgcmV0
dXJuIGpzUmV0VmFsOworCisgICAgICAgIEpTU3RyaW5nUmVmIHN0cmluZyA9IEpTVmFsdWVUb1N0
cmluZ0NvcHkoY3R4LCBhcmd1bWVudHNbMF0sIDApOworICAgICAgICBzaXplX3Qgc2l6ZVVURjgg
PSBKU1N0cmluZ0dldE1heGltdW1VVEY4Q1N0cmluZ1NpemUoc3RyaW5nKTsKKyAgICAgICAgY2hh
ciogbmV3VVJMID0gbmV3IGNoYXJbc2l6ZVVURjhdOworICAgICAgICBKU1N0cmluZ0dldFVURjhD
U3RyaW5nKHN0cmluZywgbmV3VVJMLCBzaXplVVRGOCk7CisgICAgICAgIEpTU3RyaW5nUmVsZWFz
ZShzdHJpbmcpOworCisgICAgICAgIFN0cmluZyBvcmlnaW5VUkwgPSBmcmFtZS0+ZG9jdW1lbnQo
KS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKTsKKyAgICAgICAgQ2hyb21lQ2xpZW50Qmxh
Y2tCZXJyeSogY2hyb21lID0gc3RhdGljX2Nhc3Q8Q2hyb21lQ2xpZW50QmxhY2tCZXJyeSo+IChw
YWdlLT5jaHJvbWUoKS0+Y2xpZW50KCkpOworICAgICAgICBjaHJvbWUtPmFkZFNlYXJjaFByb3Zp
ZGVyKG9yaWdpblVSTCwgbmV3VVJMKTsKKyAgICB9CisKKyAgICByZXR1cm4ganNSZXRWYWw7Cit9
CisKK3N0YXRpYyBKU1ZhbHVlUmVmIElzU2VhcmNoUHJvdmlkZXJJbnN0YWxsZWRNZXRob2QoCisg
ICAgSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgZnVuY3Rpb25PYmplY3QsIEpTT2JqZWN0
UmVmIHRoaXNPYmplY3QsCisgICAgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVS
ZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBKU1ZhbHVlUmVm
IGpzUmV0VmFsID0gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY3R4KTsKKyAgICBpZiAoYXJndW1lbnRD
b3VudCA8IDEpCisgICAgICAgIHJldHVybiBqc1JldFZhbDsKKworICAgIC8vIERvdWJsZSBjaGVj
ayBpZiBwYWdlIGNocm9tZSBjbGllbnQgZXhpc3RzCisgICAgRnJhbWUqIGZyYW1lID0gcmVpbnRl
cnByZXRfY2FzdDxGcmFtZSo+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CisgICAg
aWYgKCFmcmFtZSkgeworICAgICAgICBQYWdlKiBwYWdlID0gZnJhbWUtPnBhZ2UoKTsKKyAgICAg
ICAgaWYgKCFwYWdlIHx8ICFwYWdlLT5jaHJvbWUoKSkKKyAgICAgICAgICAgIHJldHVybiBqc1Jl
dFZhbDsKKworICAgICAgICBKU1N0cmluZ1JlZiBzdHJpbmcgPSBKU1ZhbHVlVG9TdHJpbmdDb3B5
KGN0eCwgYXJndW1lbnRzWzBdLCAwKTsKKyAgICAgICAgc2l6ZV90IHNpemVVVEY4ID0gSlNTdHJp
bmdHZXRNYXhpbXVtVVRGOENTdHJpbmdTaXplKHN0cmluZyk7CisgICAgICAgIGNoYXIqIG5ld1VS
TCA9IG5ldyBjaGFyW3NpemVVVEY4XTsKKyAgICAgICAgSlNTdHJpbmdHZXRVVEY4Q1N0cmluZyhz
dHJpbmcsIG5ld1VSTCwgc2l6ZVVURjgpOworICAgICAgICBKU1N0cmluZ1JlbGVhc2Uoc3RyaW5n
KTsKKworICAgICAgICBTdHJpbmcgb3JpZ2luVVJMID0gZnJhbWUtPmRvY3VtZW50KCktPnNlY3Vy
aXR5T3JpZ2luKCktPnRvU3RyaW5nKCk7CisgICAgICAgIENocm9tZUNsaWVudEJsYWNrQmVycnkq
IGNocm9tZSA9IHN0YXRpY19jYXN0PENocm9tZUNsaWVudEJsYWNrQmVycnkqPiAocGFnZS0+Y2hy
b21lKCktPmNsaWVudCgpKTsKKyAgICAgICAgaW50IHJldFZhbCA9IGNocm9tZS0+aXNTZWFyY2hQ
cm92aWRlckluc3RhbGxlZChvcmlnaW5VUkwsIG5ld1VSTCk7CisKKyAgICAgICAganNSZXRWYWwg
PSBKU1ZhbHVlTWFrZU51bWJlcihjdHgsIHJldFZhbCk7CisgICAgfQorCisgICAgcmV0dXJuIGpz
UmV0VmFsOworfQorCitzdGF0aWMgdm9pZCBleHRlcm5hbEV4dGVuc2lvbkluaXRpYWxpemUoSlND
b250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIG9iamVjdCkKK3sKKyAgICBVTlVTRURfUEFS
QU0oY29udGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKG9iamVjdCk7Cit9CisKK3N0YXRpYyB2b2lk
IGV4dGVybmFsRXh0ZW5zaW9uRmluYWxpemUoSlNPYmplY3RSZWYgb2JqZWN0KQoreworICAgIFVO
VVNFRF9QQVJBTShvYmplY3QpOworfQorCitzdGF0aWMgSlNTdGF0aWNGdW5jdGlvbiBleHRlcm5h
bEV4dGVuc2lvblN0YXRpY0Z1bmN0aW9uc1tdID0geworICAgIHsgImFkZFNlYXJjaFByb3ZpZGVy
IiwgYWRkU2VhcmNoUHJvdmlkZXJNZXRob2QsIGtKU1Byb3BlcnR5QXR0cmlidXRlTm9uZSB9LAor
ICAgIHsgImlzU2VhcmNoUHJvdmlkZXJJbnN0YWxsZWQiLCBJc1NlYXJjaFByb3ZpZGVySW5zdGFs
bGVkTWV0aG9kLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCisgICAgeyAwLCAwLCAw
IH0KK307CisKK3N0YXRpYyBKU1N0YXRpY1ZhbHVlIGV4dGVybmFsRXh0ZW5zaW9uU3RhdGljVmFs
dWVzW10gPSB7CisgICAgeyAwLCAwLCAwLCAwIH0KK307CisKKy8vIEZJWE1FOiBSZXZpc2l0IHRo
ZSBjcmVhdGlvbiBvZiB0aGlzIGNsYXNzIGFuZCBtYWtlIHN1cmUgdGhpcyBpcyB0aGUgYmVzdCB3
YXkgdG8gYXBwcm9hY2ggaXQuCit2b2lkIGF0dGFjaEV4dGVybmFsRXh0ZW5zaW9uT2JqZWN0VG9G
cmFtZShGcmFtZSogZnJhbWUpCit7CisgICAgSlNET01XaW5kb3cqIHdpbmRvdyA9IGZyYW1lLT5z
Y3JpcHQoKS0+d2luZG93U2hlbGwobWFpblRocmVhZE5vcm1hbFdvcmxkKCkpLT53aW5kb3coKTsK
KworICAgIEpTQzo6RXhlY1N0YXRlKiBleGVjID0gd2luZG93LT5nbG9iYWxFeGVjKCk7CisgICAg
SlNDOjpKU0xvY2tIb2xkZXIgbG9jayhleGVjKTsKKworICAgIEpTQ29udGV4dFJlZiBzY3JpcHRD
dHggPSB0b1JlZihleGVjKTsKKworICAgIEpTQ2xhc3NEZWZpbml0aW9uIGRlZmluaXRpb24gPSBr
SlNDbGFzc0RlZmluaXRpb25FbXB0eTsKKyAgICBkZWZpbml0aW9uLnN0YXRpY1ZhbHVlcyA9IGV4
dGVybmFsRXh0ZW5zaW9uU3RhdGljVmFsdWVzOworICAgIGRlZmluaXRpb24uc3RhdGljRnVuY3Rp
b25zID0gZXh0ZXJuYWxFeHRlbnNpb25TdGF0aWNGdW5jdGlvbnM7CisgICAgZGVmaW5pdGlvbi5p
bml0aWFsaXplID0gZXh0ZXJuYWxFeHRlbnNpb25Jbml0aWFsaXplOworICAgIGRlZmluaXRpb24u
ZmluYWxpemUgPSBleHRlcm5hbEV4dGVuc2lvbkZpbmFsaXplOworICAgIEpTQ2xhc3NSZWYgY2xp
ZW50Q2xhc3MgPSBKU0NsYXNzQ3JlYXRlKCZkZWZpbml0aW9uKTsKKworICAgIEpTT2JqZWN0UmVm
IGNsaWVudENsYXNzT2JqZWN0ID0gSlNPYmplY3RNYWtlKHNjcmlwdEN0eCwgY2xpZW50Q2xhc3Ms
IDApOworICAgIEpTT2JqZWN0U2V0UHJpdmF0ZShjbGllbnRDbGFzc09iamVjdCwgcmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4oZnJhbWUpKTsKKworICAgIFN0cmluZyBuYW1lKCJleHRlcm5hbCIpOwor
CisgICAgSlNDOjpQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKKyAgICB3aW5kb3ctPnB1dCh3aW5kb3cs
IGV4ZWMsIEpTQzo6SWRlbnRpZmllcihleGVjLCBuYW1lKSwgdG9KUyhjbGllbnRDbGFzc09iamVj
dCksIHNsb3QpOworCisgICAgSlNDbGFzc1JlbGVhc2UoY2xpZW50Q2xhc3MpOworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0V4dGVybmFsRXh0
ZW5zaW9uLmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRXh0ZXJu
YWxFeHRlbnNpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjBjNTNkYjIyMmUzM2UzOWI5MTgyNDllMmI3NmU3
ZjgwMTE5M2E2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0V4dGVybmFsRXh0ZW5zaW9uLmgKQEAgLTAsMCArMSwyOCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl
CisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBC
b3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaWZuZGVmIEV4dGVybmFsRXh0ZW5z
aW9uX2gKKyNkZWZpbmUgRXh0ZXJuYWxFeHRlbnNpb25faAorCituYW1lc3BhY2UgV2ViQ29yZSB7
CitjbGFzcyBGcmFtZTsKK30KKwordm9pZCBhdHRhY2hFeHRlcm5hbEV4dGVuc2lvbk9iamVjdFRv
RnJhbWUoV2ViQ29yZTo6RnJhbWUqKTsKKworI2VuZGlmIC8vIEV4dGVybmFsRXh0ZW5zaW9uX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKaW5kZXggNDRjZTBk
NjNhOTg4ZjFlMTc5MGIyOWVjODg2NjRiNzAyZTRiMmZmZi4uMWQxMDRhODk2OTBlZDJjYjdlODQ4
N2M5YTBiZGIzN2NlNmRhNDNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50Qmxh
Y2tCZXJyeS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJDcmVkZW50aWFsTWFuYWdl
ci5oIgogI2luY2x1ZGUgIkNyZWRlbnRpYWxUcmFuc2Zvcm1EYXRhLmgiCiAjaW5jbHVkZSAiRHVt
cFJlbmRlclRyZWVDbGllbnQuaCIKKyNpbmNsdWRlICJFeHRlcm5hbEV4dGVuc2lvbi5oIgogI2lu
Y2x1ZGUgIkZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5LmgiCiAjaW5jbHVkZSAiRnJh
bWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCkBAIC05MDYsNiArOTA3LDgg
QEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnk6OmRpc3BhdGNoRGlkQ2xlYXJXaW5k
b3dPYmplY3RJbldvcmxkKERPTVdyYXBwZXIKICAgICBpZiAobV93ZWJQYWdlUHJpdmF0ZS0+bV9l
bmFibGVRbnhKYXZhU2NyaXB0T2JqZWN0KQogICAgICAgICBhdHRhY2hFeHRlbnNpb25PYmplY3RU
b0ZyYW1lKG1fZnJhbWUsIG1fd2ViUGFnZVByaXZhdGUtPm1fY2xpZW50KTsKIAorICAgIGF0dGFj
aEV4dGVybmFsRXh0ZW5zaW9uT2JqZWN0VG9GcmFtZShtX2ZyYW1lKTsKKwogICAgIG1fd2ViUGFn
ZVByaXZhdGUtPm1fY2xpZW50LT5ub3RpZnlXaW5kb3dPYmplY3RDbGVhcmVkKCk7CiAKICAgICBp
ZiAobV93ZWJQYWdlUHJpdmF0ZS0+bV9kdW1wUmVuZGVyVHJlZSkgewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYyN2NhZjhi
MDY3OWY3NTQzZGQ1MjYzOTE3OWYwNTRmZTAyNmNmYzUuLjFlNWI0Mjc2NzU4YmZkZTg0NjhlOGI3
MmIyMjg0Njk3NTU0ODAxM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMC0zMSAgT3R0
byBEZXJlayBDaGV1bmcgIDxvdGNoZXVuZ0ByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5
XSBBZGRpbmcgd2luZG93LmV4dGVybmFsIHRvIG91ciBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA4NjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgQmxhY2tCZXJyeSBwbGF0Zm9ybSBz
cGVjaWZpYyBEUlQgdGVzdHMgZm9yIHdpbmRvdy5leHRlcm5hbCBpbnRlcmZhY2UuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L2V4dGVybmFsL3NlYXJjaC1wcm92aWRlci9zZWFyY2gt
cHJvdmlkZXItaW5zdGFsbGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vYmxhY2tiZXJyeS9leHRlcm5hbC9zZWFyY2gtcHJvdmlkZXIvc2VhcmNoLXByb3ZpZGVyLWlu
c3RhbGxlZC5odG1sOiBBZGRlZC4KKwogMjAxMi0xMC0zMSAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9y
YmxhbmNvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIE5ldyBiYXNlbGluZXMg
Zm9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2V4dGVybmFs
L3NlYXJjaC1wcm92aWRlci9zZWFyY2gtcHJvdmlkZXItaW5zdGFsbGVkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvZXh0ZXJuYWwvc2VhcmNoLXByb3ZpZGVy
L3NlYXJjaC1wcm92aWRlci1pbnN0YWxsZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5NjVi
Njk0YTZiMTdkZjMwZTQ0MzFlYjc4MGFlODA1MDRiZTMzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2V4dGVybmFsL3NlYXJjaC1wcm92aWRlci9z
ZWFyY2gtcHJvdmlkZXItaW5zdGFsbGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1Rl
c3QgaWYgd2luZG93LmV4dGVybmFsIHNlYXJjaCBjb21wb25lbnRzIGFyZSBzdXBwb3J0ZWQsIGFu
ZCBpZiBpdCB3b3Jrcy4KK1BBU1MgJ3dpbmRvdy5leHRlcm5hbCBBZGRTZWFyY2hQcm92aWRlciBp
cyBjYWxsYWJsZS4KK1BBU1MgJ3dpbmRvdy5leHRlcm5hbCBJc1NlYXJjaFByb3ZpZGVySW5zdGFs
bGVkIGlzIGNhbGxhYmxlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2ti
ZXJyeS9leHRlcm5hbC9zZWFyY2gtcHJvdmlkZXIvc2VhcmNoLXByb3ZpZGVyLWluc3RhbGxlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9leHRlcm5hbC9zZWFyY2gtcHJv
dmlkZXIvc2VhcmNoLXByb3ZpZGVyLWluc3RhbGxlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1NjkyODg4
NDIxYmIwODRmOWJiOTNiNzljN2I4NWRhY2Q2MWRlNTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2V4dGVybmFsL3NlYXJjaC1wcm92aWRlci9zZWFy
Y2gtcHJvdmlkZXItaW5zdGFsbGVkLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBj
aGFyc2V0PVVURi04Ij4KKzx0aXRsZT5hZGQtc2VhcmNoLXByb3ZpZGVyPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+Cis8
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQorCitmdW5j
dGlvbiBzdGFydFRlc3QoKQoreworICAgIHRyeSB7CisgICAgICAgIHdpbmRvdy5leHRlcm5hbC5B
ZGRTZWFyY2hQcm92aWRlcigiaHR0cDovL3d3dy5zZWFyY2guY29tIik7CisgICAgICAgIHRlc3RQ
YXNzZWQoIid3aW5kb3cuZXh0ZXJuYWwgQWRkU2VhcmNoUHJvdmlkZXIgaXMgY2FsbGFibGUuIik7
CisgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgiR290IGFuIGV4Y2VwdGlv
biB3aGVuIGNhbGxpbmcgd2luZG93LmV4dGVybmFsLkFkZFNlYXJjaFByb3ZpZGVyKHVybCk6ICIg
KyBleCk7CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgd2luZG93LmV4dGVybmFsLklzU2Vh
cmNoUHJvdmlkZXJJbnN0YWxsZWQoImh0dHA6Ly93d3cuc2VhcmNoLmNvbSIpOworICAgICAgICB0
ZXN0UGFzc2VkKCInJ3dpbmRvdy5leHRlcm5hbCBJc1NlYXJjaFByb3ZpZGVySW5zdGFsbGVkIGlz
IGNhbGxhYmxlLiIpOworICAgIH0gY2F0Y2ggKGV4KSB7CisgICAgICAgIHRlc3RGYWlsZWQoIkdv
dCBhbiBleGNlcHRpb24gd2hlbiBjYWxsaW5nIHdpbmRvdy5leHRlcm5hbC5Jc1NlYXJjaFByb3Zp
ZGVySW5zdGFsbGVkKHVybCk6ICIgKyBleCk7CisgICAgfQorfQorCitmdW5jdGlvbiBsb2FkQ29t
cGxldGUoKSB7IHN0YXJ0VGVzdCgpOyBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9ImxvYWRDb21wbGV0ZSgpIj4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj5UZXN0IGlmIHdpbmRvdy5leHRlcm5hbCBzZWFyY2ggY29tcG9u
ZW50cyBhcmUgc3VwcG9ydGVkLCBhbmQgaWYgaXQgd29ya3MuPC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172058</attachid>
            <date>2012-11-02 07:28:59 -0700</date>
            <delta_ts>2012-11-06 07:50:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100868-20121102102719.patch</filename>
            <type>text/plain</type>
            <size>1964</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMjkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBkZTZiYzJhZTQyNzc4ZTUxOWNlZWVjOTQxMGVjZTA0NmMyYTVmMDMyLi43ZDUxMjkxMDVk
NTJkZDliOTNlMjQ5Njc2ZmM2YzVhOGNhOTc1MGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMS0wMiAgT3R0byBEZXJlayBDaGV1bmcgIDxv
dGNoZXVuZ0ByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBBZGRpbmcgd2luZG93LmV4
dGVybmFsIHRvIG91ciBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDA4NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KyAgICAgICAgUFIgMTU4ODA5CisKKyAgICAgICAgUGF0Y2ggdXAgYW4gZXJyb3Igd2hlcmUgd2Ug
d2VyZSBkZXJlZmVyZW5jaW5nIGEgbnVsbCBwb2ludGVyLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uY3BwOgorICAgICAgICAoYWRkU2VhcmNoUHJvdmlkZXJN
ZXRob2QpOgorICAgICAgICAoSXNTZWFyY2hQcm92aWRlckluc3RhbGxlZE1ldGhvZCk6CisKIDIw
MTItMTEtMDEgIFBldGVyIFdhbmcgIDxwZXRlci53YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KIAog
ICAgICAgICBbQmxhY2tCZXJyeV0gU2ltcGxpZnkgdGhlIGNvZGUgb2YgcmV0dXJuaW5nIEpTVmFs
dWUgaW4gIkJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OmV4ZWN1dGVKYXZhU2Ny
aXB0IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0
L0V4dGVybmFsRXh0ZW5zaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9FeHRlcm5hbEV4dGVuc2lvbi5jcHAKaW5kZXggYWViOWQ5ZGI3NjY1YTMyYzNhMzFk
Y2MyMjUwOWNlMzM2OGZmYWIzMC4uNDE4OTg0ZDMyZmFjMzQyNThkY2FkYzE5YTZiYmIxMzZmZDAy
YzgwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0
L0V4dGVybmFsRXh0ZW5zaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uY3BwCkBAIC00Niw3ICs0Niw3IEBAIHN0YXRp
YyBKU1ZhbHVlUmVmIGFkZFNlYXJjaFByb3ZpZGVyTWV0aG9kKAogCiAgICAgLy8gRG91YmxlIGNo
ZWNrIGlmIHBhZ2UgY2hyb21lIGNsaWVudCBleGlzdHMKICAgICBGcmFtZSogZnJhbWUgPSByZWlu
dGVycHJldF9jYXN0PEZyYW1lKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKLSAg
ICBpZiAoIWZyYW1lKSB7CisgICAgaWYgKGZyYW1lKSB7CiAgICAgICAgIFBhZ2UqIHBhZ2UgPSBm
cmFtZS0+cGFnZSgpOwogICAgICAgICBpZiAoIXBhZ2UgfHwgIXBhZ2UtPmNocm9tZSgpKQogICAg
ICAgICAgICAgcmV0dXJuIGpzUmV0VmFsOwpAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgSlNWYWx1
ZVJlZiBJc1NlYXJjaFByb3ZpZGVySW5zdGFsbGVkTWV0aG9kKAogCiAgICAgLy8gRG91YmxlIGNo
ZWNrIGlmIHBhZ2UgY2hyb21lIGNsaWVudCBleGlzdHMKICAgICBGcmFtZSogZnJhbWUgPSByZWlu
dGVycHJldF9jYXN0PEZyYW1lKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKLSAg
ICBpZiAoIWZyYW1lKSB7CisgICAgaWYgKGZyYW1lKSB7CiAgICAgICAgIFBhZ2UqIHBhZ2UgPSBm
cmFtZS0+cGFnZSgpOwogICAgICAgICBpZiAoIXBhZ2UgfHwgIXBhZ2UtPmNocm9tZSgpKQogICAg
ICAgICAgICAgcmV0dXJuIGpzUmV0VmFsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172587</attachid>
            <date>2012-11-06 07:50:33 -0800</date>
            <delta_ts>2012-11-06 10:25:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100868-20121106104846.patch</filename>
            <type>text/plain</type>
            <size>1676</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCA4MTE4NTdjMGRmZTAxZWRhMDk3Zjc0MDZhNTEyOTU4N2M0MGQxZTYwLi43Y2MyMmM1Mzk0
MTJhZjM1OWYxZWU5ZTg5MjM1ZmM4Y2JkYzBkZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMS0wNiAgT3R0byBEZXJlayBDaGV1bmcgIDxv
dGNoZXVuZ0ByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBBZGRpbmcgd2luZG93LmV4
dGVybmFsIHRvIG91ciBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDA4NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBQYXRjaGluZyB0aGUgbWV0aG9kIG5hbWVzIHRvIG1hdGNoIHRoZSBvbmVzIGlu
IHRoZSBzcGVjLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24u
Y3BwOgorCiAyMDEyLTExLTA1ICBMaWFuZ2h1aSBDaGVuICA8bGlhY2hlbkByaW0uY29tPgogCiAg
ICAgICAgIFtCbGFja0JlcnJ5XSBEbyBub3Qgc2hvdyBlcnJvciBwYWdlIGZvciBtYWluIGxvYWRz
IGRlbmllZCBieSBjbGllbnQgYXBwbGljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9FeHRlcm5hbEV4dGVuc2lvbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRXh0ZXJuYWxFeHRlbnNpb24uY3BwCmlu
ZGV4IDQxODk4NGQzMmZhYzM0MjU4ZGNhZGMxOWE2YmJiMTM2ZmQwMmM4MDIuLjBiZjlhMDkwYjU2
YTExYmY5ZDRkNmZlYjk0MjAzYWU2MmI0MjI5ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9FeHRlcm5hbEV4dGVuc2lvbi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0V4dGVybmFsRXh0ZW5zaW9uLmNw
cApAQCAtMTA4LDggKzEwOCw4IEBAIHN0YXRpYyB2b2lkIGV4dGVybmFsRXh0ZW5zaW9uRmluYWxp
emUoSlNPYmplY3RSZWYgb2JqZWN0KQogfQogCiBzdGF0aWMgSlNTdGF0aWNGdW5jdGlvbiBleHRl
cm5hbEV4dGVuc2lvblN0YXRpY0Z1bmN0aW9uc1tdID0gewotICAgIHsgImFkZFNlYXJjaFByb3Zp
ZGVyIiwgYWRkU2VhcmNoUHJvdmlkZXJNZXRob2QsIGtKU1Byb3BlcnR5QXR0cmlidXRlTm9uZSB9
LAotICAgIHsgImlzU2VhcmNoUHJvdmlkZXJJbnN0YWxsZWQiLCBJc1NlYXJjaFByb3ZpZGVySW5z
dGFsbGVkTWV0aG9kLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCisgICAgeyAiQWRk
U2VhcmNoUHJvdmlkZXIiLCBhZGRTZWFyY2hQcm92aWRlck1ldGhvZCwga0pTUHJvcGVydHlBdHRy
aWJ1dGVOb25lIH0sCisgICAgeyAiSXNTZWFyY2hQcm92aWRlckluc3RhbGxlZCIsIElzU2VhcmNo
UHJvdmlkZXJJbnN0YWxsZWRNZXRob2QsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfSwK
ICAgICB7IDAsIDAsIDAgfQogfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>