<?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>97455</bug_id>
          
          <creation_ts>2012-09-24 08:05:34 -0700</creation_ts>
          <short_desc>[BlackBerry] Reverting implementation for 407 error pages</short_desc>
          <delta_ts>2012-09-26 09:45:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <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>726669</commentid>
    <comment_count>0</comment_count>
    <who name="">otcheung</who>
    <bug_when>2012-09-24 08:05:34 -0700</bug_when>
    <thetext>We are reverting the behaviour for Bug 94138 due to changes in UX direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726671</commentid>
    <comment_count>1</comment_count>
      <attachid>165383</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-09-24 08:08:39 -0700</bug_when>
    <thetext>Created attachment 165383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726902</commentid>
    <comment_count>2</comment_count>
      <attachid>165424</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-09-24 12:04:47 -0700</bug_when>
    <thetext>Created attachment 165424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726932</commentid>
    <comment_count>3</comment_count>
      <attachid>165432</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-09-24 12:53:24 -0700</bug_when>
    <thetext>Created attachment 165432
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726938</commentid>
    <comment_count>4</comment_count>
      <attachid>165432</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-09-24 12:58:00 -0700</bug_when>
    <thetext>Comment on attachment 165432
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726953</commentid>
    <comment_count>5</comment_count>
      <attachid>165432</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-24 13:21:17 -0700</bug_when>
    <thetext>Comment on attachment 165432
Patch

Clearing flags on attachment: 165432

Committed r129404: &lt;http://trac.webkit.org/changeset/129404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726954</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-24 13:21:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726993</commentid>
    <comment_count>7</comment_count>
    <who name="">otcheung</who>
    <bug_when>2012-09-24 14:19:06 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726994</commentid>
    <comment_count>8</comment_count>
      <attachid>165446</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-09-24 14:19:08 -0700</bug_when>
    <thetext>Created attachment 165446
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727017</commentid>
    <comment_count>9</comment_count>
      <attachid>165446</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-09-24 14:43:19 -0700</bug_when>
    <thetext>Comment on attachment 165446
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727032</commentid>
    <comment_count>10</comment_count>
      <attachid>165446</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-24 14:58:46 -0700</bug_when>
    <thetext>Comment on attachment 165446
Patch

Clearing flags on attachment: 165446

Committed r129419: &lt;http://trac.webkit.org/changeset/129419&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727033</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-24 14:58:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727036</commentid>
    <comment_count>12</comment_count>
      <attachid>165453</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-09-24 15:12:22 -0700</bug_when>
    <thetext>Created attachment 165453
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727039</commentid>
    <comment_count>13</comment_count>
      <attachid>165454</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-09-24 15:18:48 -0700</bug_when>
    <thetext>Created attachment 165454
patch (to rerun test)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727044</commentid>
    <comment_count>14</comment_count>
    <who name="">otcheung</who>
    <bug_when>2012-09-24 15:33:13 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727045</commentid>
    <comment_count>15</comment_count>
      <attachid>165455</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-09-24 15:33:17 -0700</bug_when>
    <thetext>Created attachment 165455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727048</commentid>
    <comment_count>16</comment_count>
      <attachid>165455</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-09-24 15:37:17 -0700</bug_when>
    <thetext>Comment on attachment 165455
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727060</commentid>
    <comment_count>17</comment_count>
      <attachid>165455</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-24 16:11:59 -0700</bug_when>
    <thetext>Comment on attachment 165455
Patch

Rejecting attachment 165455 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
Kit/chromium/third_party/yasm/source/patched-yasm --revision 154708 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
51&gt;At revision 154708.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/13986846</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727069</commentid>
    <comment_count>18</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-09-24 16:39:34 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 165455 [details])
&gt; Rejecting attachment 165455 [details] from commit-queue.
&gt; 
&gt; Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2
&gt; 
&gt; Last 500 characters of output:
&gt; Kit/chromium/third_party/yasm/source/patched-yasm --revision 154708 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
&gt; 51&gt;At revision 154708.
&gt; 
&gt; ________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
&gt; 
&gt; ________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
&gt; Updating webkit projects from gyp files...
&gt; 
&gt; Full output: http://queues.webkit.org/results/13986846

Otto, it seems you need to fix your test line (OOPS!).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727587</commentid>
    <comment_count>19</comment_count>
      <attachid>165603</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-09-25 06:52:07 -0700</bug_when>
    <thetext>Created attachment 165603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727597</commentid>
    <comment_count>20</comment_count>
      <attachid>165603</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-09-25 07:02:02 -0700</bug_when>
    <thetext>Comment on attachment 165603
Patch

Let&apos;s try!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727629</commentid>
    <comment_count>21</comment_count>
      <attachid>165603</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-25 07:23:30 -0700</bug_when>
    <thetext>Comment on attachment 165603
Patch

Clearing flags on attachment: 165603

Committed r129504: &lt;http://trac.webkit.org/changeset/129504&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727630</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-25 07:23:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727711</commentid>
    <comment_count>23</comment_count>
    <who name="">otcheung</who>
    <bug_when>2012-09-25 09:28:32 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727712</commentid>
    <comment_count>24</comment_count>
      <attachid>165627</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-09-25 09:28:35 -0700</bug_when>
    <thetext>Created attachment 165627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727727</commentid>
    <comment_count>25</comment_count>
      <attachid>165630</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-09-25 09:37:00 -0700</bug_when>
    <thetext>Created attachment 165630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727730</commentid>
    <comment_count>26</comment_count>
      <attachid>165630</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-09-25 09:38:41 -0700</bug_when>
    <thetext>Comment on attachment 165630
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727767</commentid>
    <comment_count>27</comment_count>
      <attachid>165630</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-25 10:22:11 -0700</bug_when>
    <thetext>Comment on attachment 165630
Patch

Clearing flags on attachment: 165630

Committed r129524: &lt;http://trac.webkit.org/changeset/129524&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727768</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-25 10:22:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728614</commentid>
    <comment_count>29</comment_count>
    <who name="">otcheung</who>
    <bug_when>2012-09-26 08:51:46 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728615</commentid>
    <comment_count>30</comment_count>
      <attachid>165814</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-09-26 08:51:52 -0700</bug_when>
    <thetext>Created attachment 165814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728619</commentid>
    <comment_count>31</comment_count>
      <attachid>165814</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-09-26 08:53:52 -0700</bug_when>
    <thetext>Comment on attachment 165814
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728678</commentid>
    <comment_count>32</comment_count>
      <attachid>165814</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-26 09:44:59 -0700</bug_when>
    <thetext>Comment on attachment 165814
Patch

Clearing flags on attachment: 165814

Committed r129660: &lt;http://trac.webkit.org/changeset/129660&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728679</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-26 09:45:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165383</attachid>
            <date>2012-09-24 08:08:39 -0700</date>
            <delta_ts>2012-09-24 12:04:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97455-20120924110759.patch</filename>
            <type>text/plain</type>
            <size>3986</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4ODk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk0ZmMyZGExNGRiMTJl
MGRiOTZhYTcyNDUyM2UwY2QyMmI4MjAxYS4uN2I2YjVhOGYyNzhkMTE3MzYyMzY1ZDhmNjNjODBk
NTU4OGEyNjVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA5LTI0ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFJldmVydGluZyBpbXBsZW1lbnRhdGlvbiBmb3IgNDA3IGVycm9yIHBhZ2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJldmVydCAiW0JsYWNrQmVycnld
IFNob3cgY3VzdG9tIGVycm9yIHBhZ2Ugd2hlbiA0MDcgaXMgcmVjZWl2ZWQiCisgICAgICAgIFRo
aXMgcmV2ZXJ0cyBjb21taXQgZTZkMTQ1Mjk0MjhmZTQ3OTE2ZmNiOTk3NTI4MDk1YjhhY2FkMmYy
Yi4KKworICAgICAgICBSZXZlcnRzOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTQxMzgKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3
b3JrSm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OmhhbmRsZU5vdGlmeVN0
YXR1c1JlY2VpdmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6Om5vdGlmeUF1dGhS
ZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhD
cmVkZW50aWFscyk6CisKKzIwMTItMDktMTggIE90dG8gRGVyZWsgQ2hldW5nICA8b3RjaGV1bmdA
cmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gUmV2ZXJ0aW5nIGltcGxlbWVudGF0aW9u
IGZvciA0MDcgZXJyb3IgcGFnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk3MDE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmV2ZXJ0ICJbQmxhY2tCZXJyeV0gU2hvdyBjdXN0b20gZXJyb3IgcGFnZSB3
aGVuIDQwNyBpcyByZWNlaXZlZCIKKworICAgICAgICBUaGlzIHJldmVydHMgY29tbWl0IGU2ZDE0
NTI5NDI4ZmU0NzkxNmZjYjk5NzUyODA5NWI4YWNhZDJmMmIuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpO
ZXR3b3JrSm9iOjpoYW5kbGVOb3RpZnlTdGF0dXNSZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpOZXR3b3JrSm9iOjpub3RpZnlBdXRoUmVjZWl2ZWQpOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMpOgorCiAyMDEyLTA5LTE4ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogW0V4dGVuc2lvbnMgQVBJXSBwb3N0cG9uZSByZXF1ZXN0cyB0byBhZGQgZXh0ZW5zaW9ucyB1
bnRpbCBleHRlbnNpb24gc2VydmVyIGlzIGluaXRpYWxpemVkCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKaW5k
ZXggZjI5YWJjZmIyMjMyMThjZTQyOTc0YjZjNmFhNmE4MzRmNjJmMmY0My4uMDdkZTUyZTA0NDRm
ZGY5ZmQ0NzRhMjc3ZTU1ZmIzODkwM2FmYjI3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcApAQCAtMTg0
LDEyICsxODQsNiBAQCB2b2lkIE5ldHdvcmtKb2I6OmhhbmRsZU5vdGlmeVN0YXR1c1JlY2VpdmVk
KGludCBzdGF0dXMsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICBpZiAoaXNJbmZvKHN0YXR1
cykpCiAgICAgICAgIHJldHVybjsgLy8gaWdub3JlCiAKLSAgICAvLyBMb2FkIHVwIGVycm9yIHBh
Z2UgYW5kIGFzayB0aGUgdXNlciB0byBjaGFuZ2UgdGhlaXIgd2lyZWxlc3MgcHJveHkgc2V0dGlu
Z3MKLSAgICBpZiAoc3RhdHVzID09IDQwNykgewotICAgICAgICBjb25zdCBSZXNvdXJjZUVycm9y
IGVycm9yID0gUmVzb3VyY2VFcnJvcihSZXNvdXJjZUVycm9yOjpodHRwRXJyb3JEb21haW4sIEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpGaWx0ZXJTdHJlYW06OlN0YXR1c1dpZmlQcm94eUF1dGhFcnJv
ciwgbV9yZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgZW1wdHlTdHJpbmcoKSk7Ci0gICAgICAgIG1f
aGFuZGxlLT5jbGllbnQoKS0+ZGlkRmFpbChtX2hhbmRsZS5nZXQoKSwgZXJyb3IpOwotICAgIH0K
LQogICAgIG1fc3RhdHVzUmVjZWl2ZWQgPSB0cnVlOwogCiAgICAgLy8gQ29udmVydCBub24tSFRU
UCBzdGF0dXMgY29kZXMgdG8gZ2VuZXJpYyBIVFRQIGNvZGVzLgpAQCAtMjk0LDkgKzI4OCw5IEBA
IHZvaWQgTmV0d29ya0pvYjo6bm90aWZ5QXV0aFJlY2VpdmVkKEJsYWNrQmVycnk6OlBsYXRmb3Jt
OjpOZXR3b3JrUmVxdWVzdDo6QXV0aFR5CiAgICAgICAgIH0KICAgICAgICAgc3RvcmVDcmVkZW50
aWFscygpOwogICAgICAgICByZXR1cm47Ci0gICAgfSBlbHNlIGlmIChzZXJ2ZXJUeXBlICE9IFBy
b3RlY3Rpb25TcGFjZVByb3h5SFRUUCkKLSAgICAgICAgLy8gSWYgYSB3aWZpIHByb3h5IGF1dGgg
ZmFpbGVkLCB0aGVyZSBpcyBubyBwb2ludCBvZiB0cnlpbmcgYW55bW9yZSBiZWNhdXNlIHRoZSBj
cmVkZW50aWFscyBhcmUgd3JvbmcuCi0gICAgICAgIG1fbmV3Sm9iV2l0aENyZWRlbnRpYWxzU3Rh
cnRlZCA9IHNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKHNlcnZlclR5cGUsIHNjaGVtZSwgcmVh
bG0sIHJlcXVpcmVDcmVkZW50aWFscyk7CisgICAgfQorCisgICAgbV9uZXdKb2JXaXRoQ3JlZGVu
dGlhbHNTdGFydGVkID0gc2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoc2VydmVyVHlwZSwgc2No
ZW1lLCByZWFsbSwgcmVxdWlyZUNyZWRlbnRpYWxzKTsKIH0KIAogdm9pZCBOZXR3b3JrSm9iOjpu
b3RpZnlTdHJpbmdIZWFkZXJSZWNlaXZlZChjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5n
JiB2YWx1ZSkKQEAgLTcyNCw4ICs3MTgsMTUgQEAgYm9vbCBOZXR3b3JrSm9iOjpzZW5kUmVxdWVz
dFdpdGhDcmVkZW50aWFscyhQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIHR5cGUsIFByb3QKIAog
ICAgIFN0cmluZyBob3N0OwogICAgIGludCBwb3J0OwotICAgIGhvc3QgPSBtX3Jlc3BvbnNlLnVy
bCgpLmhvc3QoKTsKLSAgICBwb3J0ID0gbV9yZXNwb25zZS51cmwoKS5wb3J0KCk7CisgICAgaWYg
KHR5cGUgPT0gUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQKSB7CisgICAgICAgIFN0cmluZyBwcm94
eUFkZHJlc3MgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50OjpnZXQoKS0+Z2V0UHJveHlB
ZGRyZXNzKG5ld1VSTC5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSkuY19zdHIoKTsKKyAgICAgICAg
S1VSTCBwcm94eVVSTChLVVJMKCksIHByb3h5QWRkcmVzcyk7CisgICAgICAgIGhvc3QgPSBwcm94
eVVSTC5ob3N0KCk7CisgICAgICAgIHBvcnQgPSBwcm94eVVSTC5wb3J0KCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgaG9zdCA9IG1fcmVzcG9uc2UudXJsKCkuaG9zdCgpOworICAgICAgICBwb3J0
ID0gbV9yZXNwb25zZS51cmwoKS5wb3J0KCk7CisgICAgfQogCiAgICAgUHJvdGVjdGlvblNwYWNl
IHByb3RlY3Rpb25TcGFjZShob3N0LCBwb3J0LCB0eXBlLCByZWFsbSwgc2NoZW1lKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165424</attachid>
            <date>2012-09-24 12:04:47 -0700</date>
            <delta_ts>2012-09-24 15:12:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97455-20120924150408.patch</filename>
            <type>text/plain</type>
            <size>6000</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4ODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUwMzZhZmNmZjA2MDVl
NWQ1ZDZkOWNkY2JjYjI0ZGNlYjY2MGIwZC4uNjY4OTQ3ZTQ4ZmE1NDgwZTZiZGJjMjQwYmNjMmE4
ZWFlYjU4NjBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA5LTI0ICBjb21t
aXQtcXVldWVAd2Via2l0Lm9yZyAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnQDI2OGY0NWNjLWNk
MDktMDQxMC1hYjNjLWQ1MjY5MWI0ZGJmYz4KKworICAgICAgICBbQmxhY2tCZXJyeV0gUmV2ZXJ0
aW5nIGltcGxlbWVudGF0aW9uIGZvciA0MDcgZXJyb3IgcGFnZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NDU1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmV2ZXJ0ICJbQmxhY2tCZXJyeV0gU2hvdyBj
dXN0b20gZXJyb3IgcGFnZSB3aGVuIDQwNyBpcyByZWNlaXZlZCIKKworICAgICAgICBUaGlzIHJl
dmVydHMgY29tbWl0IGY2ZmU5N2VjM2YxODQxYTE1MWU0ZWJkZGUyMWY3MTBhNjE4NWY5ZDYuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpoYW5kbGVOb3RpZnlTdGF0dXNSZWNlaXZlZCk6
CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpub3RpZnlBdXRoUmVjZWl2ZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMpOgor
CiAyMDEyLTA5LTE4ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5j
b20+CiAKICAgICAgICAgW0VGTF0gbWluLWRldmljZS13aWR0aCBmYWlsdXJlcyBpbiBtZWRpYSB0
ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2Jl
cnJ5L05ldHdvcmtKb2IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFj
a2JlcnJ5L05ldHdvcmtKb2IuY3BwCmluZGV4IGYyOWFiY2ZiMjIzMjE4Y2U0Mjk3NGI2YzZhYTZh
ODM0ZjYyZjJmNDMuLjcxNmEzNzJiYjRjNDMzMzAxMTA4ZTcwMjdiMDJiOTI0OWIwNjllOWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3
b3JrSm9iLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvTmV0d29ya0pvYi5jcHAKQEAgLTE4NCwxMiArMTg0LDYgQEAgdm9pZCBOZXR3b3JrSm9iOjpo
YW5kbGVOb3RpZnlTdGF0dXNSZWNlaXZlZChpbnQgc3RhdHVzLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCiAgICAgaWYgKGlzSW5mbyhzdGF0dXMpKQogICAgICAgICByZXR1cm47IC8vIGlnbm9yZQog
Ci0gICAgLy8gTG9hZCB1cCBlcnJvciBwYWdlIGFuZCBhc2sgdGhlIHVzZXIgdG8gY2hhbmdlIHRo
ZWlyIHdpcmVsZXNzIHByb3h5IHNldHRpbmdzCi0gICAgaWYgKHN0YXR1cyA9PSA0MDcpIHsKLSAg
ICAgICAgY29uc3QgUmVzb3VyY2VFcnJvciBlcnJvciA9IFJlc291cmNlRXJyb3IoUmVzb3VyY2VF
cnJvcjo6aHR0cEVycm9yRG9tYWluLCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6RmlsdGVyU3RyZWFt
OjpTdGF0dXNXaWZpUHJveHlBdXRoRXJyb3IsIG1fcmVzcG9uc2UudXJsKCkuc3RyaW5nKCksIGVt
cHR5U3RyaW5nKCkpOwotICAgICAgICBtX2hhbmRsZS0+Y2xpZW50KCktPmRpZEZhaWwobV9oYW5k
bGUuZ2V0KCksIGVycm9yKTsKLSAgICB9Ci0KICAgICBtX3N0YXR1c1JlY2VpdmVkID0gdHJ1ZTsK
IAogICAgIC8vIENvbnZlcnQgbm9uLUhUVFAgc3RhdHVzIGNvZGVzIHRvIGdlbmVyaWMgSFRUUCBj
b2Rlcy4KQEAgLTI5NCw5ICsyODgsOSBAQCB2b2lkIE5ldHdvcmtKb2I6Om5vdGlmeUF1dGhSZWNl
aXZlZChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhUeQogICAgICAg
ICB9CiAgICAgICAgIHN0b3JlQ3JlZGVudGlhbHMoKTsKICAgICAgICAgcmV0dXJuOwotICAgIH0g
ZWxzZSBpZiAoc2VydmVyVHlwZSAhPSBQcm90ZWN0aW9uU3BhY2VQcm94eUhUVFApCi0gICAgICAg
IC8vIElmIGEgd2lmaSBwcm94eSBhdXRoIGZhaWxlZCwgdGhlcmUgaXMgbm8gcG9pbnQgb2YgdHJ5
aW5nIGFueW1vcmUgYmVjYXVzZSB0aGUgY3JlZGVudGlhbHMgYXJlIHdyb25nLgotICAgICAgICBt
X25ld0pvYldpdGhDcmVkZW50aWFsc1N0YXJ0ZWQgPSBzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFs
cyhzZXJ2ZXJUeXBlLCBzY2hlbWUsIHJlYWxtLCByZXF1aXJlQ3JlZGVudGlhbHMpOworICAgIH0K
KworICAgIG1fbmV3Sm9iV2l0aENyZWRlbnRpYWxzU3RhcnRlZCA9IHNlbmRSZXF1ZXN0V2l0aENy
ZWRlbnRpYWxzKHNlcnZlclR5cGUsIHNjaGVtZSwgcmVhbG0sIHJlcXVpcmVDcmVkZW50aWFscyk7
CiB9CiAKIHZvaWQgTmV0d29ya0pvYjo6bm90aWZ5U3RyaW5nSGVhZGVyUmVjZWl2ZWQoY29uc3Qg
U3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUpCkBAIC03MjQsOCArNzE4LDE1IEBAIGJv
b2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoUHJvdGVjdGlvblNwYWNl
U2VydmVyVHlwZSB0eXBlLCBQcm90CiAKICAgICBTdHJpbmcgaG9zdDsKICAgICBpbnQgcG9ydDsK
LSAgICBob3N0ID0gbV9yZXNwb25zZS51cmwoKS5ob3N0KCk7Ci0gICAgcG9ydCA9IG1fcmVzcG9u
c2UudXJsKCkucG9ydCgpOworICAgIGlmICh0eXBlID09IFByb3RlY3Rpb25TcGFjZVByb3h5SFRU
UCkgeworICAgICAgICBTdHJpbmcgcHJveHlBZGRyZXNzID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06
OkNsaWVudDo6Z2V0KCktPmdldFByb3h5QWRkcmVzcyhuZXdVUkwuc3RyaW5nKCkuYXNjaWkoKS5k
YXRhKCkpLmNfc3RyKCk7CisgICAgICAgIEtVUkwgcHJveHlVUkwoS1VSTCgpLCBwcm94eUFkZHJl
c3MpOworICAgICAgICBob3N0ID0gcHJveHlVUkwuaG9zdCgpOworICAgICAgICBwb3J0ID0gcHJv
eHlVUkwucG9ydCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGhvc3QgPSBtX3Jlc3BvbnNlLnVy
bCgpLmhvc3QoKTsKKyAgICAgICAgcG9ydCA9IG1fcmVzcG9uc2UudXJsKCkucG9ydCgpOworICAg
IH0KIAogICAgIFByb3RlY3Rpb25TcGFjZSBwcm90ZWN0aW9uU3BhY2UoaG9zdCwgcG9ydCwgdHlw
ZSwgcmVhbG0sIHNjaGVtZSk7CiAKQEAgLTc1MiwyMiArNzUzLDI5IEBAIGJvb2wgTmV0d29ya0pv
Yjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSB0
eXBlLCBQcm90CiAgICAgICAgIFN0cmluZyB1c2VybmFtZTsKICAgICAgICAgU3RyaW5nIHBhc3N3
b3JkOwogCi0gICAgICAgIC8vIEJlZm9yZSBhc2tpbmcgdGhlIHVzZXIgZm9yIGNyZWRlbnRpYWxz
LCB3ZSBjaGVjayBpZiB0aGUgVVJMIGNvbnRhaW5zIHRoYXQuCi0gICAgICAgIGlmICghbV9oYW5k
bGUtPmdldEludGVybmFsKCktPm1fdXNlci5pc0VtcHR5KCkgJiYgIW1faGFuZGxlLT5nZXRJbnRl
cm5hbCgpLT5tX3Bhc3MuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICB1c2VybmFtZSA9IG1faGFu
ZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXI7Ci0gICAgICAgICAgICBwYXNzd29yZCA9IG1faGFu
ZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3M7Ci0KLSAgICAgICAgICAgIC8vIFByZXZlbnQgdGhl
bSBmcm9tIGJlZW4gdXNlZCBhZ2FpbiBpZiB0aGV5IGFyZSB3cm9uZy4KLSAgICAgICAgICAgIC8v
IElmIHRoZXkgYXJlIGNvcnJlY3QsIHRoZXkgd2lsbCB0aGUgcHV0IGludG8gQ3JlZGVudGlhbFN0
b3JhZ2UuCi0gICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyID0gIiI7
Ci0gICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzID0gIiI7Ci0gICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpZiAobV9oYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnRh
cmdldFR5cGUoKSAhPSBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzTWFpbkZyYW1lICYmIEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpTZXR0aW5nczo6aW5zdGFuY2UoKS0+aXNDaHJvbWVQcm9jZXNzKCkp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAodHlwZSA9PSBQcm90
ZWN0aW9uU3BhY2VQcm94eUhUVFApIHsKKyAgICAgICAgICAgIHVzZXJuYW1lID0gQmxhY2tCZXJy
eTo6UGxhdGZvcm06OkNsaWVudDo6Z2V0KCktPmdldFByb3h5VXNlcm5hbWUoKS5jX3N0cigpOwor
ICAgICAgICAgICAgcGFzc3dvcmQgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50OjpnZXQo
KS0+Z2V0UHJveHlQYXNzd29yZCgpLmNfc3RyKCk7CisgICAgICAgIH0KIAotICAgICAgICAgICAg
bV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKCk7Ci0gICAgICAgICAgICBtX2ZyYW1lLT5wYWdlKCktPmNocm9tZSgp
LT5jbGllbnQoKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCktPmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KG5ld1VSTCwgcHJvdGVjdGlvblNwYWNlLCBDcmVkZW50aWFsKCksIHRoaXMpOwotICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIGlmICh1c2VybmFtZS5pc0VtcHR5KCkgfHwgcGFzc3dv
cmQuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAvLyBCZWZvcmUgYXNraW5nIHRoZSB1c2VyIGZv
ciBjcmVkZW50aWFscywgd2UgY2hlY2sgaWYgdGhlIFVSTCBjb250YWlucyB0aGF0LgorICAgICAg
ICAgICAgaWYgKCFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyLmlzRW1wdHkoKSAmJiAh
bV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAg
ICAgICB1c2VybmFtZSA9IG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXI7CisgICAgICAg
ICAgICAgICAgcGFzc3dvcmQgPSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzOworCisg
ICAgICAgICAgICAgICAgLy8gUHJldmVudCB0aGVtIGZyb20gYmVlbiB1c2VkIGFnYWluIGlmIHRo
ZXkgYXJlIHdyb25nLgorICAgICAgICAgICAgICAgIC8vIElmIHRoZXkgYXJlIGNvcnJlY3QsIHRo
ZXkgd2lsbCB0aGUgcHV0IGludG8gQ3JlZGVudGlhbFN0b3JhZ2UuCisgICAgICAgICAgICAgICAg
bV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlciA9ICIiOworICAgICAgICAgICAgICAgIG1f
aGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3MgPSAiIjsKKyAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgaWYgKG1faGFuZGxlLT5maXJzdFJlcXVlc3QoKS50YXJnZXRUeXBl
KCkgIT0gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc01haW5GcmFtZSAmJiBCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6U2V0dGluZ3M6Omluc3RhbmNlKCktPmlzQ2hyb21lUHJvY2VzcygpKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgICAgICBtX2hhbmRsZS0+
Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlID0gQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UoKTsKKyAgICAgICAgICAgICAgICBtX2ZyYW1lLT5wYWdlKCktPmNocm9tZSgpLT5jbGll
bnQoKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCktPmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKG5ld1VS
TCwgcHJvdGVjdGlvblNwYWNlLCBDcmVkZW50aWFsKCksIHRoaXMpOworICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgY3JlZGVu
dGlhbCA9IENyZWRlbnRpYWwodXNlcm5hbWUsIHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lzdGVu
Y2VGb3JTZXNzaW9uKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165432</attachid>
            <date>2012-09-24 12:53:24 -0700</date>
            <delta_ts>2012-09-24 14:19:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97455-20120924155245.patch</filename>
            <type>text/plain</type>
            <size>6842</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5Mzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRkNGFlZmM1NGQxNjM3
ODY4ZGM0ZWEyMzVkOTM3MjIzYTVjODQ0Yy4uMWVmYWQyZjAxOTI2MWRjMmUwMjVlZTgwZTcwZjcy
YTI3NTc1ZWQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA5LTI0ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFJldmVydGluZyBpbXBsZW1lbnRhdGlvbiBmb3IgNDA3IGVycm9yIHBhZ2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJldmVydCAiW0JsYWNrQmVycnld
IFNob3cgY3VzdG9tIGVycm9yIHBhZ2Ugd2hlbiA0MDcgaXMgcmVjZWl2ZWQiCisgICAgICAgIFRo
aXMgcmV2ZXJ0cyBjb21taXQgZTZkMTQ1Mjk0MjhmZTQ3OTE2ZmNiOTk3NTI4MDk1YjhhY2FkMmYy
Yi4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OmhhbmRsZU5vdGlmeVN0YXR1c1JlY2Vp
dmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6Om5vdGlmeUF1dGhSZWNlaXZlZCk6
CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFs
cyk6CisKIDIwMTItMDktMjQgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+
CiAKICAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBGaXggdGhlIGluY29ycmVjdGx5IHNwZWxsZWQg
UlRDUGVlckNvbm5lY3Rpb246Om9ubmVnb3RpYXRpb25uZWVkZWQgY2FsbGJhY2sKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9i
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3Jr
Sm9iLmNwcAppbmRleCBjY2E4OWI1MjAzOGQwNGQxMGEzYTU0ZTk0OGIxN2M1OTcyMTM5YjQ5Li5i
MjBmODc0YjUxNTU2ODJlMzU4NWU5OWI3MWJlMzk5YjlkZjYzNDFlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2Iu
Y3BwCkBAIC0xOTIsMTIgKzE5Miw2IEBAIHZvaWQgTmV0d29ya0pvYjo6aGFuZGxlTm90aWZ5U3Rh
dHVzUmVjZWl2ZWQoaW50IHN0YXR1cywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIGlmIChp
c0luZm8oc3RhdHVzKSkKICAgICAgICAgcmV0dXJuOyAvLyBpZ25vcmUKIAotICAgIC8vIExvYWQg
dXAgZXJyb3IgcGFnZSBhbmQgYXNrIHRoZSB1c2VyIHRvIGNoYW5nZSB0aGVpciB3aXJlbGVzcyBw
cm94eSBzZXR0aW5ncwotICAgIGlmIChzdGF0dXMgPT0gNDA3KSB7Ci0gICAgICAgIGNvbnN0IFJl
c291cmNlRXJyb3IgZXJyb3IgPSBSZXNvdXJjZUVycm9yKFJlc291cmNlRXJyb3I6Omh0dHBFcnJv
ckRvbWFpbiwgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkZpbHRlclN0cmVhbTo6U3RhdHVzV2lmaVBy
b3h5QXV0aEVycm9yLCBtX3Jlc3BvbnNlLnVybCgpLnN0cmluZygpLCBlbXB0eVN0cmluZygpKTsK
LSAgICAgICAgbV9oYW5kbGUtPmNsaWVudCgpLT5kaWRGYWlsKG1faGFuZGxlLmdldCgpLCBlcnJv
cik7Ci0gICAgfQotCiAgICAgbV9zdGF0dXNSZWNlaXZlZCA9IHRydWU7CiAKICAgICAvLyBDb252
ZXJ0IG5vbi1IVFRQIHN0YXR1cyBjb2RlcyB0byBnZW5lcmljIEhUVFAgY29kZXMuCkBAIC0zMDAs
MTAgKzI5NCwxMSBAQCB2b2lkIE5ldHdvcmtKb2I6Om5vdGlmeUF1dGhSZWNlaXZlZChCbGFja0Jl
cnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhUeQogICAgICAgICB9CiAgICAgICAg
IHN0b3JlQ3JlZGVudGlhbHMoKTsKICAgICAgICAgcmV0dXJuOwotICAgIH0gZWxzZSB7Ci0gICAg
ICAgIHB1cmdlQ3JlZGVudGlhbHMoKTsKLSAgICAgICAgbV9uZXdKb2JXaXRoQ3JlZGVudGlhbHNT
dGFydGVkID0gc2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoc2VydmVyVHlwZSwgc2NoZW1lLCBy
ZWFsbSwgcmVxdWlyZUNyZWRlbnRpYWxzKTsKICAgICB9CisKKyAgICBwdXJnZUNyZWRlbnRpYWxz
KCk7CisgICAgbV9uZXdKb2JXaXRoQ3JlZGVudGlhbHNTdGFydGVkID0gc2VuZFJlcXVlc3RXaXRo
Q3JlZGVudGlhbHMoc2VydmVyVHlwZSwgc2NoZW1lLCByZWFsbSwgcmVxdWlyZUNyZWRlbnRpYWxz
KTsKKwogfQogCiB2b2lkIE5ldHdvcmtKb2I6Om5vdGlmeVN0cmluZ0hlYWRlclJlY2VpdmVkKGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKQpAQCAtNzMzLDggKzcyOCwxNSBA
QCBib29sIE5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rpb25T
cGFjZVNlcnZlclR5cGUgdHlwZSwgUHJvdAogCiAgICAgU3RyaW5nIGhvc3Q7CiAgICAgaW50IHBv
cnQ7Ci0gICAgaG9zdCA9IG1fcmVzcG9uc2UudXJsKCkuaG9zdCgpOwotICAgIHBvcnQgPSBtX3Jl
c3BvbnNlLnVybCgpLnBvcnQoKTsKKyAgICBpZiAodHlwZSA9PSBQcm90ZWN0aW9uU3BhY2VQcm94
eUhUVFApIHsKKyAgICAgICAgU3RyaW5nIHByb3h5QWRkcmVzcyA9IEJsYWNrQmVycnk6OlBsYXRm
b3JtOjpDbGllbnQ6OmdldCgpLT5nZXRQcm94eUFkZHJlc3MobmV3VVJMLnN0cmluZygpLmFzY2lp
KCkuZGF0YSgpKS5jX3N0cigpOworICAgICAgICBLVVJMIHByb3h5VVJMKEtVUkwoKSwgcHJveHlB
ZGRyZXNzKTsKKyAgICAgICAgaG9zdCA9IHByb3h5VVJMLmhvc3QoKTsKKyAgICAgICAgcG9ydCA9
IHByb3h5VVJMLnBvcnQoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBob3N0ID0gbV9yZXNwb25z
ZS51cmwoKS5ob3N0KCk7CisgICAgICAgIHBvcnQgPSBtX3Jlc3BvbnNlLnVybCgpLnBvcnQoKTsK
KyAgICB9CiAKICAgICBQcm90ZWN0aW9uU3BhY2UgcHJvdGVjdGlvblNwYWNlKGhvc3QsIHBvcnQs
IHR5cGUsIHJlYWxtLCBzY2hlbWUpOwogCkBAIC03NjEsMzAgKzc2MywzNyBAQCBib29sIE5ldHdv
cmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rpb25TcGFjZVNlcnZlclR5
cGUgdHlwZSwgUHJvdAogICAgICAgICBTdHJpbmcgdXNlcm5hbWU7CiAgICAgICAgIFN0cmluZyBw
YXNzd29yZDsKIAotICAgICAgICAvLyBCZWZvcmUgYXNraW5nIHRoZSB1c2VyIGZvciBjcmVkZW50
aWFscywgd2UgY2hlY2sgaWYgdGhlIFVSTCBjb250YWlucyB0aGF0LgotICAgICAgICBpZiAoIW1f
aGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIuaXNFbXB0eSgpICYmICFtX2hhbmRsZS0+Z2V0
SW50ZXJuYWwoKS0+bV9wYXNzLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgdXNlcm5hbWUgPSBt
X2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyOwotICAgICAgICAgICAgcGFzc3dvcmQgPSBt
X2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzOwotCi0gICAgICAgICAgICAvLyBQcmV2ZW50
IHRoZW0gZnJvbSBiZWVuIHVzZWQgYWdhaW4gaWYgdGhleSBhcmUgd3JvbmcuCi0gICAgICAgICAg
ICAvLyBJZiB0aGV5IGFyZSBjb3JyZWN0LCB0aGV5IHdpbGwgdGhlIHB1dCBpbnRvIENyZWRlbnRp
YWxTdG9yYWdlLgotICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlciA9
ICIiOwotICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcyA9ICIiOwot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKG1faGFuZGxlLT5maXJzdFJlcXVlc3Qo
KS50YXJnZXRUeXBlKCkgIT0gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc01haW5GcmFtZSAmJiBC
bGFja0JlcnJ5OjpQbGF0Zm9ybTo6U2V0dGluZ3M6Omluc3RhbmNlKCktPmlzQ2hyb21lUHJvY2Vz
cygpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAgICAgbV9oYW5k
bGUtPmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKCk7Ci0KLSAgICAgICAgICAgIG1faXNBdXRoZW50aWNhdGlvbkNoYWxsZW5naW5n
ID0gdHJ1ZTsKLSAgICAgICAgICAgIHVwZGF0ZURlZmVyTG9hZGluZ0NvdW50KDEpOworICAgICAg
ICBpZiAodHlwZSA9PSBQcm90ZWN0aW9uU3BhY2VQcm94eUhUVFApIHsKKyAgICAgICAgICAgIHVz
ZXJuYW1lID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaWVudDo6Z2V0KCktPmdldFByb3h5VXNl
cm5hbWUoKS5jX3N0cigpOworICAgICAgICAgICAgcGFzc3dvcmQgPSBCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6Q2xpZW50OjpnZXQoKS0+Z2V0UHJveHlQYXNzd29yZCgpLmNfc3RyKCk7CisgICAgICAg
IH0KIAotICAgICAgICAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyOjppbnN0YW5j
ZSgpLT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZShuZXdVUkwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHByb3RlY3Rpb25TcGFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlZGVudGlhbCgp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
X2ZyYW1lLT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCkp
OwotICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIGlmICh1c2VybmFtZS5pc0VtcHR5
KCkgfHwgcGFzc3dvcmQuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAvLyBCZWZvcmUgYXNraW5n
IHRoZSB1c2VyIGZvciBjcmVkZW50aWFscywgd2UgY2hlY2sgaWYgdGhlIFVSTCBjb250YWlucyB0
aGF0LgorICAgICAgICAgICAgaWYgKCFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyLmlz
RW1wdHkoKSAmJiAhbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcy5pc0VtcHR5KCkpIHsK
KyAgICAgICAgICAgICAgICB1c2VybmFtZSA9IG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Vz
ZXI7CisgICAgICAgICAgICAgICAgcGFzc3dvcmQgPSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+
bV9wYXNzOworCisgICAgICAgICAgICAgICAgLy8gUHJldmVudCB0aGVtIGZyb20gYmVlbiB1c2Vk
IGFnYWluIGlmIHRoZXkgYXJlIHdyb25nLgorICAgICAgICAgICAgICAgIC8vIElmIHRoZXkgYXJl
IGNvcnJlY3QsIHRoZXkgd2lsbCB0aGUgcHV0IGludG8gQ3JlZGVudGlhbFN0b3JhZ2UuCisgICAg
ICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlciA9ICIiOworICAgICAg
ICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3MgPSAiIjsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKG1faGFuZGxlLT5maXJzdFJlcXVlc3Qo
KS50YXJnZXRUeXBlKCkgIT0gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc01haW5GcmFtZSAmJiBC
bGFja0JlcnJ5OjpQbGF0Zm9ybTo6U2V0dGluZ3M6Omluc3RhbmNlKCktPmlzQ2hyb21lUHJvY2Vz
cygpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgICAg
ICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlID0gQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UoKTsKKworICAgICAgICAgICAgICAgIG1faXNBdXRoZW50aWNhdGlv
bkNoYWxsZW5naW5nID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB1cGRhdGVEZWZlckxvYWRpbmdD
b3VudCgxKTsKKworICAgICAgICAgICAgICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdl
cjo6aW5zdGFuY2UoKS0+YXV0aGVudGljYXRpb25DaGFsbGVuZ2UobmV3VVJMLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHJvdGVjdGlvblNwYWNlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQ3JlZGVudGlhbCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fZnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVu
dCgpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAgICBjcmVkZW50aWFsID0gQ3JlZGVu
dGlhbCh1c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZUZvclNlc3Npb24p
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165446</attachid>
            <date>2012-09-24 14:19:08 -0700</date>
            <delta_ts>2012-09-24 15:33:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97455-20120924171829.patch</filename>
            <type>text/plain</type>
            <size>33091</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NDA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmE5ZmY0MWM1NTU0ODk5
NDg3OGY2NWZhODNmOTI4MTVjY2U3NmVjZS4uYjZkYzMyNzEyNTE4MDEwNzJhZDgwYjY0YmJmZTkw
MzJhNmJjNGEzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA5LTI0ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFJldmVydGluZyBpbXBsZW1lbnRhdGlvbiBmb3IgNDA3IGVycm9yIHBhZ2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJldmVydCAiW0JsYWNrQmVycnld
IFJldmVydGluZyBpbXBsZW1lbnRhdGlvbiBmb3IgNDA3IGVycm9yIHBhZ2VzIgorICAgICAgICBU
aGlzIHJldmVydHMgY29tbWl0IGZkYTBhMWI2YWM0MGMwNmMwM2JiNjI5M2I0YTdkNzM1M2MzY2Ey
MzguCisKKyAgICAgICAgVGhpcyByZXZlcnQgYWxzbyByZXZlcnRzIGNvbW1pdCAwY2ZmZTAxOTYx
ZmI4MDIwNDEzODUwNWJjZWMyOWE4MzgxOGVmYjczCisgICAgICAgIGR1ZSB0byBkZXBlbmRlbmN5
IGlzc3Vlcy4KKworICAgICAgICAqIFBsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ibGFja2JlcnJ5L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdlci5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9BdXRoZW50aWNhdGlvbkNo
YWxsZW5nZU1hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGll
bnRCbGFja0JlcnJ5Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9N
ZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZTo6TWVkaWFQbGF5ZXJQcml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZTo6fk1lZGlhUGxheWVyUHJpdmF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGU6Om9uQXV0aGVudGljYXRpb25OZWVkZWQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpub3RpZnlDaGFsbGVuZ2VSZXN1bHQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxh
Y2tCZXJyeS5oOgorICAgICAgICAoTWVkaWFQbGF5ZXJQcml2YXRlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpOZXR3b3JrSm9iOjpOZXR3b3JrSm9iKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6
OmhhbmRsZU5vdGlmeVN0YXR1c1JlY2VpdmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtK
b2I6Om5vdGlmeUF1dGhSZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpo
YW5kbGVOb3RpZnlDbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpzZW5kUmVx
dWVzdFdpdGhDcmVkZW50aWFscyk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpub3Rp
ZnlDaGFsbGVuZ2VSZXN1bHQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJy
eS9OZXR3b3JrSm9iLmg6CisgICAgICAgIChOZXR3b3JrSm9iKToKKwogMjAxMi0wOS0yNCAgRGlt
aXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSB1
bmJha2VkIHN1cHBvcnQgZm9yIDpzY29wZSBwc2V1ZG8tY2xhc3MuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0NoYW5nZUxvZwppbmRleCBiOGMwMmE5MTljNzIxNGEwMmY3YWE0ODE2ZjdmMmFmZjRjOTEzMTAw
Li40YTc3ZDcyMzZlY2IxNDMxM2Q1Yjk0MDI3Zjg1N2U4ZjdjNzJlMGE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0wOS0yNCAgT3R0byBEZXJl
ayBDaGV1bmcgIDxvdGNoZXVuZ0ByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBSZXZl
cnRpbmcgaW1wbGVtZW50YXRpb24gZm9yIDQwNyBlcnJvciBwYWdlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc0NTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXZlcnQgIltCbGFja0JlcnJ5XSBSZWFs
bHkgZml4IGJ1ZyA5NTQ4OCB0aGF0IHVzZXIgY2FuIGdldCB0aGUgCisgICAgICAgIGF1dGhlbnRp
Y2F0aW9uIGNoYWxsZW5nZSBkaWFsb2cgd2hpbGUgdGhlIG90aGVyIHRhYiBoYXMgZm9jdXMuIgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTczNDgKKwor
ICAgICAgICBUaGlzIHJldmVydHMgY29tbWl0IDBjZmZlMDE5NjFmYjgwMjA0MTM4NTA1YmNlYzI5
YTgzODE4ZWZiNzMuCisKKyAgICAgICAgKiBBcGkvQmxhY2tCZXJyeUdsb2JhbC5jcHA6CisgICAg
ICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6Omdsb2JhbEluaXRpYWxpemUpOgorICAgICAgICAqIEFw
aS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZh
dGU6OldlYlBhZ2VQcml2YXRlKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFn
ZVByaXZhdGU6On5XZWJQYWdlUHJpdmF0ZSk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6
OldlYlBhZ2VQcml2YXRlOjphdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6CisgICAgICAgIChCbGFj
a0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2U6OnNldFZpc2libGUpOgorICAgICAgICAqIEFwaS9XZWJQ
YWdlX3AuaDoKKyAgICAgICAgKFdlYlBhZ2VQcml2YXRlKToKKwogMjAxMi0wOS0yNCAgQXJ2aWQg
Tmlsc3NvbiAgPGFuaWxzc29uQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIEFkZCBj
b29raWUgZGF0YWJhc2UgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJs
YWNrQmVycnkuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UK
aW5kZXggOTg3MjAyY2RlNGViZDBkNTk5ZjIzNTY2MzAwZDI2NWZlMTE2NzQ3YS4uYjYwOGFlODcz
MWZjMzE4NzQzZGE5Y2M3MDAzZDhjNTY2MTQ5NTAyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
QmxhY2tCZXJyeS5jbWFrZQpAQCAtNjEsNyArNjEsNiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NP
VVJDRVMKICAgICBiaW5kaW5ncy9jcHAvV2ViRE9NU3RyaW5nLmNwcAogICAgIGJpbmRpbmdzL2Nw
cC9XZWJFeGNlcHRpb25IYW5kbGVyLmNwcAogICAgIHBsYXRmb3JtL2JsYWNrYmVycnkvQ29va2ll
RGF0YWJhc2VCYWNraW5nU3RvcmUvQ29va2llRGF0YWJhc2VCYWNraW5nU3RvcmUuY3BwCi0gICAg
cGxhdGZvcm0vYmxhY2tiZXJyeS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXIuY3BwCiAg
ICAgcGxhdGZvcm0vYmxhY2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcAogICAgIHBsYXRmb3JtL2Js
YWNrYmVycnkvQ29va2llTWFwLmNwcAogICAgIHBsYXRmb3JtL2JsYWNrYmVycnkvQ29va2llUGFy
c2VyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYmxhY2tiZXJyeS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXIuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNDBhNDJiN2VhZDc0Yzc3ODdjMjFiYzVhNDgwMjQxNmM1
ZTc3N2RmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VN
YW5hZ2VyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI1MyArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEyIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg
TUEgIDAyMTEwLTEzMDEgIFVTQQotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXIuaCIKLQotI2luY2x1ZGUgIkNyZWRlbnRp
YWwuaCIKLSNpbmNsdWRlICJLVVJMLmgiCi0jaW5jbHVkZSAiUGFnZUNsaWVudEJsYWNrQmVycnku
aCIKLSNpbmNsdWRlICJQcm90ZWN0aW9uU3BhY2UuaCIKLQotI2luY2x1ZGUgPEJsYWNrQmVycnlQ
bGF0Zm9ybUFzc2VydC5oPgotI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybUxvZy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLXR5cGVkZWYgSGFzaE1hcDxQYWdlQ2xpZW50QmxhY2tCZXJyeSos
IGJvb2w+IFBhZ2VWaXNpYmlsaXR5TWFwOwotCi1zdHJ1Y3QgQ2hhbGxlbmdlSW5mbyB7Ci0gICAg
Q2hhbGxlbmdlSW5mbyhjb25zdCBLVVJMJiwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiwgY29uc3Qg
Q3JlZGVudGlhbCYsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2xpZW50KiwgUGFnZUNsaWVudEJs
YWNrQmVycnkqKTsKLQotICAgIEtVUkwgdXJsOwotICAgIFByb3RlY3Rpb25TcGFjZSBzcGFjZTsK
LSAgICBDcmVkZW50aWFsIGNyZWRlbnRpYWw7Ci0gICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VD
bGllbnQqIGF1dGhDbGllbnQ7Ci0gICAgUGFnZUNsaWVudEJsYWNrQmVycnkqIHBhZ2VDbGllbnQ7
Ci0gICAgYm9vbCBibG9ja2VkOwotfTsKLQotQ2hhbGxlbmdlSW5mbzo6Q2hhbGxlbmdlSW5mbyhj
b25zdCBLVVJMJiBhVXJsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQcm90
ZWN0aW9uU3BhY2UmIGFTcGFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Q3JlZGVudGlhbCYgYUNyZWRlbnRpYWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2xpZW50KiBhbkF1dGhDbGllbnQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFBhZ2VDbGllbnRCbGFja0JlcnJ5KiBhUGFnZUNsaWVudCkKLSAgICA6
IHVybChhVXJsKQotICAgICwgc3BhY2UoYVNwYWNlKQotICAgICwgY3JlZGVudGlhbChhQ3JlZGVu
dGlhbCkKLSAgICAsIGF1dGhDbGllbnQoYW5BdXRoQ2xpZW50KQotICAgICwgcGFnZUNsaWVudChh
UGFnZUNsaWVudCkKLSAgICAsIGJsb2NrZWQoZmFsc2UpCi17Ci19Ci0KLWNsYXNzIEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlTWFuYWdlclByaXZhdGUgewotcHVibGljOgotICAgIEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlTWFuYWdlclByaXZhdGUoKTsKLQotICAgIGJvb2wgcmVzdW1lQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UoUGFnZUNsaWVudEJsYWNrQmVycnkqKTsKLSAgICB2b2lkIHN0YXJ0QXV0
aGVudGljYXRpb25DaGFsbGVuZ2UoQ2hhbGxlbmdlSW5mbyopOwotICAgIGJvb2wgcGFnZUV4aXN0
cyhQYWdlQ2xpZW50QmxhY2tCZXJyeSopOwotCi0gICAgQ2hhbGxlbmdlSW5mbyogbV9hY3RpdmVD
aGFsbGVuZ2U7Ci0gICAgUGFnZVZpc2liaWxpdHlNYXAgbV9wYWdlVmlzaWJpbGl0eU1hcDsKLSAg
ICBWZWN0b3I8T3duUHRyPENoYWxsZW5nZUluZm8+ID4gbV9jaGFsbGVuZ2VzOwotfTsKLQotQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyUHJpdmF0ZTo6QXV0aGVudGljYXRpb25DaGFsbGVu
Z2VNYW5hZ2VyUHJpdmF0ZSgpCi0gICAgOiBtX2FjdGl2ZUNoYWxsZW5nZSgwKQotewotfQotCi1i
b29sIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdlclByaXZhdGU6OnJlc3VtZUF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKFBhZ2VDbGllbnRCbGFja0JlcnJ5KiBjbGllbnQpCi17Ci0gICAgQVNT
RVJUKCFtX2FjdGl2ZUNoYWxsZW5nZSk7Ci0KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1f
Y2hhbGxlbmdlcy5zaXplKCk7ICsraSkgewotICAgICAgICBpZiAobV9jaGFsbGVuZ2VzW2ldLT5w
YWdlQ2xpZW50ID09IGNsaWVudCAmJiBtX2NoYWxsZW5nZXNbaV0tPmJsb2NrZWQpIHsKLSAgICAg
ICAgICAgIHN0YXJ0QXV0aGVudGljYXRpb25DaGFsbGVuZ2UobV9jaGFsbGVuZ2VzW2ldLmdldCgp
KTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmV0
dXJuIGZhbHNlOwotfQotCi12b2lkIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdlclByaXZh
dGU6OnN0YXJ0QXV0aGVudGljYXRpb25DaGFsbGVuZ2UoQ2hhbGxlbmdlSW5mbyogaW5mbykKLXsK
LSAgICBtX2FjdGl2ZUNoYWxsZW5nZSA9IGluZm87Ci0gICAgbV9hY3RpdmVDaGFsbGVuZ2UtPmJs
b2NrZWQgPSBmYWxzZTsKLSAgICBtX2FjdGl2ZUNoYWxsZW5nZS0+cGFnZUNsaWVudC0+YXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UobV9hY3RpdmVDaGFsbGVuZ2UtPnVybCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9hY3RpdmVDaGFs
bGVuZ2UtPnNwYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2FjdGl2ZUNoYWxsZW5nZS0+Y3JlZGVudGlhbCk7Ci19Ci0KLWJv
b2wgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyUHJpdmF0ZTo6cGFnZUV4aXN0cyhQYWdl
Q2xpZW50QmxhY2tCZXJyeSogY2xpZW50KQotewotICAgIHJldHVybiBtX3BhZ2VWaXNpYmlsaXR5
TWFwLmZpbmQoY2xpZW50KSAhPSBtX3BhZ2VWaXNpYmlsaXR5TWFwLmVuZCgpOwotfQotCi1BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXI6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdl
cigpCi0gICAgOiBkKGFkb3B0UHRyKG5ldyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXJQ
cml2YXRlKSkKLXsKLX0KLQotdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXI6OnBh
Z2VDcmVhdGVkKFBhZ2VDbGllbnRCbGFja0JlcnJ5KiBjbGllbnQpCi17Ci0gICAgZC0+bV9wYWdl
VmlzaWJpbGl0eU1hcC5hZGQoY2xpZW50LCB0cnVlKTsKLX0KLQotdm9pZCBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZU1hbmFnZXI6OnBhZ2VEZWxldGVkKFBhZ2VDbGllbnRCbGFja0JlcnJ5KiBjbGll
bnQpCi17Ci0gICAgZC0+bV9wYWdlVmlzaWJpbGl0eU1hcC5yZW1vdmUoY2xpZW50KTsKLQotICAg
IGlmIChkLT5tX2FjdGl2ZUNoYWxsZW5nZSAmJiBkLT5tX2FjdGl2ZUNoYWxsZW5nZS0+cGFnZUNs
aWVudCA9PSBjbGllbnQpCi0gICAgICAgIGQtPm1fYWN0aXZlQ2hhbGxlbmdlID0gMDsKLQotICAg
IFZlY3RvcjxPd25QdHI8Q2hhbGxlbmdlSW5mbz4gPiBleGlzdGluZzsKLSAgICBkLT5tX2NoYWxs
ZW5nZXMuc3dhcChleGlzdGluZyk7Ci0KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGV4aXN0
aW5nLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChleGlzdGluZ1tpXS0+cGFnZUNsaWVudCAh
PSBjbGllbnQpCi0gICAgICAgICAgICBkLT5tX2NoYWxsZW5nZXMuYXBwZW5kKGV4aXN0aW5nW2ld
LnJlbGVhc2UoKSk7Ci0gICAgfQotfQotCi12b2lkIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFu
YWdlcjo6cGFnZVZpc2liaWxpdHlDaGFuZ2VkKFBhZ2VDbGllbnRCbGFja0JlcnJ5KiBjbGllbnQs
IGJvb2wgdmlzaWJsZSkKLXsKLSAgICBQYWdlVmlzaWJpbGl0eU1hcDo6aXRlcmF0b3IgaXRlciA9
IGQtPm1fcGFnZVZpc2liaWxpdHlNYXAuZmluZChjbGllbnQpOwotCi0gICAgQVNTRVJUKGl0ZXIg
IT0gZC0+bV9wYWdlVmlzaWJpbGl0eU1hcC5lbmQoKSk7Ci0gICAgaWYgKGl0ZXIgPT0gZC0+bV9w
YWdlVmlzaWJpbGl0eU1hcC5lbmQoKSkgewotICAgICAgICBkLT5tX3BhZ2VWaXNpYmlsaXR5TWFw
LmFkZChjbGllbnQsIHZpc2libGUpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYg
KGl0ZXItPnNlY29uZCA9PSB2aXNpYmxlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpdGVyLT5z
ZWNvbmQgPSB2aXNpYmxlOwotICAgIGlmICghdmlzaWJsZSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgaWYgKGQtPm1fYWN0aXZlQ2hhbGxlbmdlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBkLT5y
ZXN1bWVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjbGllbnQpOwotfQotCi12b2lkIEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlTWFuYWdlcjo6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgS1VS
TCYgdXJsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgc3BhY2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ3Jl
ZGVudGlhbCYgY3JlZGVudGlhbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUNsaWVudCog
YXV0aENsaWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBQYWdlQ2xpZW50QmxhY2tCZXJyeSogcGFnZUNsaWVudCkKLXsKLSAg
ICBCTEFDS0JFUlJZX0FTU0VSVChhdXRoQ2xpZW50KTsKLSAgICBCTEFDS0JFUlJZX0FTU0VSVChw
YWdlQ2xpZW50KTsKLQotICAgIENoYWxsZW5nZUluZm8qIGluZm8gPSBuZXcgQ2hhbGxlbmdlSW5m
byh1cmwsIHNwYWNlLCBjcmVkZW50aWFsLCBhdXRoQ2xpZW50LCBwYWdlQ2xpZW50KTsKLSAgICBk
LT5tX2NoYWxsZW5nZXMuYXBwZW5kKGFkb3B0UHRyKGluZm8pKTsKLQotICAgIGlmIChkLT5tX2Fj
dGl2ZUNoYWxsZW5nZSB8fCAhcGFnZUNsaWVudC0+aXNWaXNpYmxlKCkpIHsKLSAgICAgICAgaW5m
by0+YmxvY2tlZCA9IHRydWU7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBkLT5zdGFy
dEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGluZm8pOwotfQotCi12b2lkIEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlTWFuYWdlcjo6Y2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VDbGllbnQqIGNsaWVudCkKLXsKLSAgICBCTEFDS0JFUlJZX0FTU0VSVChj
bGllbnQpOwotCi0gICAgaWYgKGQtPm1fYWN0aXZlQ2hhbGxlbmdlICYmIGQtPm1fYWN0aXZlQ2hh
bGxlbmdlLT5hdXRoQ2xpZW50ID09IGNsaWVudCkKLSAgICAgICAgZC0+bV9hY3RpdmVDaGFsbGVu
Z2UgPSAwOwotCi0gICAgVmVjdG9yPE93blB0cjxDaGFsbGVuZ2VJbmZvPiA+IGV4aXN0aW5nOwot
ICAgIGQtPm1fY2hhbGxlbmdlcy5zd2FwKGV4aXN0aW5nKTsKLQotICAgIENoYWxsZW5nZUluZm8q
IG5leHQgPSAwOwotICAgIFBhZ2VDbGllbnRCbGFja0JlcnJ5KiBwYWdlID0gMDsKLQotICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgZXhpc3Rpbmcuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYg
KGV4aXN0aW5nW2ldLT5hdXRoQ2xpZW50ICE9IGNsaWVudCkgewotICAgICAgICAgICAgaWYgKHBh
Z2UgJiYgIW5leHQgJiYgZXhpc3RpbmdbaV0tPnBhZ2VDbGllbnQgPT0gcGFnZSkKLSAgICAgICAg
ICAgICAgICBuZXh0ID0gZXhpc3RpbmdbaV0uZ2V0KCk7Ci0gICAgICAgICAgICBkLT5tX2NoYWxs
ZW5nZXMuYXBwZW5kKGV4aXN0aW5nW2ldLnJlbGVhc2UoKSk7Ci0gICAgICAgIH0gZWxzZSBpZiAo
ZC0+bV9hY3RpdmVDaGFsbGVuZ2UgPT0gZXhpc3RpbmdbaV0uZ2V0KCkpCi0gICAgICAgICAgICBw
YWdlID0gZXhpc3RpbmdbaV0tPnBhZ2VDbGllbnQ7Ci0gICAgfQotCi0gICAgaWYgKG5leHQpCi0g
ICAgICAgIGQtPnN0YXJ0QXV0aGVudGljYXRpb25DaGFsbGVuZ2UobmV4dCk7Ci19Ci0KLXZvaWQg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyOjpub3RpZnlDaGFsbGVuZ2VSZXN1bHQoY29u
c3QgS1VSTCYgdXJsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHNwYWNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZVJlc3VsdCByZXN1bHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRl
bnRpYWwpCi17Ci0gICAgZC0+bV9hY3RpdmVDaGFsbGVuZ2UgPSAwOwotCi0gICAgVmVjdG9yPE93
blB0cjxDaGFsbGVuZ2VJbmZvPiA+IGV4aXN0aW5nOwotICAgIGQtPm1fY2hhbGxlbmdlcy5zd2Fw
KGV4aXN0aW5nKTsKLQotICAgIENoYWxsZW5nZUluZm8qIG5leHQgPSAwOwotICAgIFBhZ2VDbGll
bnRCbGFja0JlcnJ5KiBwYWdlID0gMDsKLQotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZXhp
c3Rpbmcuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKGV4aXN0aW5nW2ldLT5zcGFjZSAhPSBz
cGFjZSkgewotICAgICAgICAgICAgaWYgKHBhZ2UgJiYgIW5leHQgJiYgZXhpc3RpbmdbaV0tPnBh
Z2VDbGllbnQgPT0gcGFnZSkKLSAgICAgICAgICAgICAgICBuZXh0ID0gZXhpc3RpbmdbaV0uZ2V0
KCk7Ci0gICAgICAgICAgICBkLT5tX2NoYWxsZW5nZXMuYXBwZW5kKGV4aXN0aW5nW2ldLnJlbGVh
c2UoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwYWdlID0gZXhpc3RpbmdbaV0t
PnBhZ2VDbGllbnQ7Ci0gICAgICAgICAgICBleGlzdGluZ1tpXS0+YXV0aENsaWVudC0+bm90aWZ5
Q2hhbGxlbmdlUmVzdWx0KGV4aXN0aW5nW2ldLT51cmwsIHNwYWNlLCByZXN1bHQsIGNyZWRlbnRp
YWwpOwotCi0gICAgICAgICAgICAvLyBBZnRlciBjYWxsaW5nIG5vdGlmeUNoYWxsZW5nZVJlc3Vs
dCgpLCBwYWdlIGNvdWxkIGJlIGRlc3Ryb3llZCBvciBzb21ldGhpbmcuCi0gICAgICAgICAgICBp
ZiAoIWQtPnBhZ2VFeGlzdHMocGFnZSkgfHwgIXBhZ2UtPmlzVmlzaWJsZSgpKQotICAgICAgICAg
ICAgICAgIHBhZ2UgPSAwOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKG5leHQpCi0gICAg
ICAgIGQtPnN0YXJ0QXV0aGVudGljYXRpb25DaGFsbGVuZ2UobmV4dCk7Ci19Ci0KLS8vIEtlZXAg
Zm9sbG93aW5nIGNvZGUgYXQgdGhlIGVuZCBvZiB0aGlzIGZpbGUhISEKLXN0YXRpYyBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXIqIHNfbWFuYWdlciA9IDA7Ci0KLUF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlTWFuYWdlciogQXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyOjppbnN0YW5j
ZSgpCi17Ci0gICAgQVNTRVJUKHNfbWFuYWdlcik7Ci0gICAgcmV0dXJuIHNfbWFuYWdlcjsKLX0K
LQotdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXI6OmluaXQoKQotewotICAgIEFT
U0VSVCghc19tYW5hZ2VyKTsKLSAgICBzX21hbmFnZXIgPSBuZXcgQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VNYW5hZ2VyKCk7Ci19Ci0KLS8vIE5vIG1vcmUgY29kZSBhZnRlciB0aGlzIGxpbmUsIGFs
bCBuZXcgY29kZSBzaG91bGQgY29tZSBiZWZvcmUgc19tYW5hZ2VyIGRlY2xhcmF0aW9uISEhCi0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2JsYWNrYmVycnkvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdl
ci5oCmluZGV4IDIwZTc5OWJiMzY2OTFhYzA3ZmE2MWMxOGQ4M2RmNDE2NzlkYThmZDYuLjUyMjI0
ZjUxMWI5NDRmZjY1MTA0MzliY2FjZGJmYTJlZDU5OTg5ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2Vy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9BdXRoZW50aWNhdGlv
bkNoYWxsZW5nZU1hbmFnZXIuaApAQCAtMTksMTMgKzE5LDggQEAKICNpZm5kZWYgQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VNYW5hZ2VyX2gKICNkZWZpbmUgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VN
YW5hZ2VyX2gKIAotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLQotY2xhc3MgUGFnZUNsaWVudEJs
YWNrQmVycnk7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQXV0aGVudGljYXRpb25D
aGFsbGVuZ2VNYW5hZ2VyUHJpdmF0ZTsKIGNsYXNzIENyZWRlbnRpYWw7CiBjbGFzcyBLVVJMOwog
Y2xhc3MgUHJvdGVjdGlvblNwYWNlOwpAQCAtNDAsMzYgKzM1LDYgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBub3RpZnlDaGFsbGVuZ2VSZXN1bHQoY29uc3QgS1VSTCYsIGNvbnN0IFByb3Rl
Y3Rpb25TcGFjZSYsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUmVzdWx0LCBjb25zdCBDcmVkZW50
aWFsJikgPSAwOwogfTsKIAotY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyIHsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBpbml0KCk7Ci0gICAgc3RhdGljIEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlTWFuYWdlciogaW5zdGFuY2UoKTsKLQotICAgIHZvaWQgcGFnZUNyZWF0ZWQo
UGFnZUNsaWVudEJsYWNrQmVycnkqKTsKLSAgICB2b2lkIHBhZ2VEZWxldGVkKFBhZ2VDbGllbnRC
bGFja0JlcnJ5Kik7Ci0gICAgdm9pZCBwYWdlVmlzaWJpbGl0eUNoYW5nZWQoUGFnZUNsaWVudEJs
YWNrQmVycnkqLCBib29sIHZpc2libGUpOwotCi0gICAgdm9pZCBhdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShjb25zdCBLVVJMJiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFByb3RlY3Rpb25TcGFjZSYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBDcmVkZW50aWFsJiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlQ2xpZW50KiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBhZ2VDbGllbnRCbGFja0JlcnJ5Kik7Ci0KLSAgICB2b2lkIGNhbmNlbEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2xpZW50Kik7Ci0KLSAgICB2b2lkIG5v
dGlmeUNoYWxsZW5nZVJlc3VsdChjb25zdCBLVVJMJiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBQcm90ZWN0aW9uU3BhY2UmLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUmVzdWx0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IENyZWRlbnRpYWwmKTsKLQotcHJpdmF0ZToKLSAgICBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXIoKTsKLSAgICB+QXV0aGVudGljYXRpb25DaGFsbGVuZ2VN
YW5hZ2VyKCk7Ci0KLSAgICBPd25QdHI8QXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyUHJp
dmF0ZT4gZDsKLX07Ci0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVycnkuaAppbmRleCBmMmM3
YzBlNjUyYzc2NjIyM2FiYTlkNGMxYjllNWI0MWIyODBhMDRjLi5iZGIyZjE2MDdlOTc4NjlmMWZm
YTUyN2YxZGE3MjlhNDQ5YTY5NGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0JlcnJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYmxhY2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oCkBAIC03Miw3ICs3Miw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBzaG93QWxlcnREaWFsb2coQmxhY2tCZXJyeTo6
V2ViS2l0OjpXZWJQYWdlQ2xpZW50OjpBbGVydFR5cGUpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
aXNBY3RpdmUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzVmlzaWJsZSgpIGNvbnN0
ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgV2Vi
Q29yZTo6S1VSTCYsIGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSYsIGNvbnN0IFdlYkNv
cmU6OkNyZWRlbnRpYWwmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlKGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3Bh
Y2UmLCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgV2ViQ29yZTo6QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VDbGllbnQqKSA9IDA7CiAgICAgdmlydHVhbCBTYXZlQ3JlZGVudGlhbFR5cGUgbm90
aWZ5U2hvdWxkU2F2ZUNyZWRlbnRpYWwoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzeW5j
UHJveHlDcmVkZW50aWFsKGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmKSA9IDA7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRp
YVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5jcHAKaW5kZXgg
ZDY5NmFkMTk5YTFhYWE5NzhmZDRlNGM4NGU1MWVlM2E4ZjkxNzQxMC4uYWYwNmEyM2FhMzYzY2Iz
YzY2NTQ1MzU5YWNiYjgzMDBmMTQwMWY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlh
UGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwCkBAIC0yMSw3ICsyMSw2IEBACiAjaWYgRU5BQkxF
KFZJREVPKQogI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuaCIKIAotI2lu
Y2x1ZGUgIkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdlci5oIgogI2luY2x1ZGUgIkNvb2tp
ZU1hbmFnZXIuaCIKICNpbmNsdWRlICJDcmVkZW50aWFsLmgiCiAjaW5jbHVkZSAiQ3JlZGVudGlh
bFN0b3JhZ2UuaCIKQEAgLTExNSw3ICsxMTQsNiBAQCBNZWRpYVBsYXllclByaXZhdGU6Ok1lZGlh
UGxheWVyUHJpdmF0ZShNZWRpYVBsYXllciogcGxheWVyKQogICAgICwgbV91c2VyRHJpdmVuU2Vl
a1RpbWVyKHRoaXMsICZNZWRpYVBsYXllclByaXZhdGU6OnVzZXJEcml2ZW5TZWVrVGltZXJGaXJl
ZCkKICAgICAsIG1fbGFzdFNlZWtUaW1lKDApCiAgICAgLCBtX2xhc3RTZWVrVGltZVBlbmRpbmco
ZmFsc2UpCi0gICAgLCBtX2lzQXV0aGVudGljYXRpb25DaGFsbGVuZ2luZyhmYWxzZSkKICAgICAs
IG1fd2FpdE1ldGFkYXRhVGltZXIodGhpcywgJk1lZGlhUGxheWVyUHJpdmF0ZTo6d2FpdE1ldGFk
YXRhVGltZXJGaXJlZCkKICAgICAsIG1fd2FpdE1ldGFkYXRhUG9wRGlhbG9nQ291bnRlcigwKQog
ewpAQCAtMTIzLDkgKzEyMSw2IEBAIE1lZGlhUGxheWVyUHJpdmF0ZTo6TWVkaWFQbGF5ZXJQcml2
YXRlKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAKIE1lZGlhUGxheWVyUHJpdmF0ZTo6fk1lZGlhUGxh
eWVyUHJpdmF0ZSgpCiB7Ci0gICAgaWYgKG1faXNBdXRoZW50aWNhdGlvbkNoYWxsZW5naW5nKQot
ICAgICAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXI6Omluc3RhbmNlKCktPmNhbmNl
bEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHRoaXMpOwotCiAgICAgaWYgKGlzRnVsbHNjcmVlbigp
KSB7CiAgICAgICAgIG1fd2ViQ29yZVBsYXllci0+bWVkaWFQbGF5ZXJDbGllbnQoKS0+bWVkaWFQ
bGF5ZXJFeGl0RnVsbHNjcmVlbigpOwogICAgIH0KQEAgLTcxNSwxOCArNzEwLDEyIEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlOjpvbkF1dGhlbnRpY2F0aW9uTmVlZGVkKE1NUkF1dGhDaGFsbGVu
Z2UmIGF1dGhDaGFsbGVuZ2UpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX2lzQXV0
aGVudGljYXRpb25DaGFsbGVuZ2luZyA9IHRydWU7Ci0gICAgQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VNYW5hZ2VyOjppbnN0YW5jZSgpLT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZSh1cmwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwcm90ZWN0aW9uU3BhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVkZW50aWFsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGhpcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fd2ViQ29yZVBsYXllci0+bWVk
aWFQbGF5ZXJDbGllbnQoKS0+bWVkaWFQbGF5ZXJIb3N0V2luZG93KCktPnBsYXRmb3JtUGFnZUNs
aWVudCgpKTsKKyAgICBpZiAoZnJhbWVWaWV3KCkgJiYgZnJhbWVWaWV3KCktPmhvc3RXaW5kb3co
KSkKKyAgICAgICAgZnJhbWVWaWV3KCktPmhvc3RXaW5kb3coKS0+cGxhdGZvcm1QYWdlQ2xpZW50
KCktPmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHVybCwgcHJvdGVjdGlvblNwYWNlLCBjcmVkZW50
aWFsLCB0aGlzKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGU6Om5vdGlmeUNoYWxsZW5n
ZVJlc3VsdChjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlv
blNwYWNlLCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVJlc3VsdCByZXN1bHQsIGNvbnN0IENyZWRl
bnRpYWwmIGNyZWRlbnRpYWwpCiB7Ci0gICAgbV9pc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdpbmcg
PSBmYWxzZTsKLQogICAgIGlmIChyZXN1bHQgIT0gQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTdWNj
ZXNzIHx8ICF1cmwuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2
YXRlQmxhY2tCZXJyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2ti
ZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmgKaW5kZXggNWEwODNiNTllZmY0NDU2
YTFhZDUxNDJmNTg4MjhmNTQ5MWFjODVkNC4uMjg5NjY5MjYxM2JkZTBhNDdiMWE3NzUyMmU1NDc5
NmIwMzMxYTRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFj
a0JlcnJ5LmgKQEAgLTE3NCw3ICsxNzQsNiBAQCBwcml2YXRlOgogICAgIFRpbWVyPE1lZGlhUGxh
eWVyUHJpdmF0ZT4gbV91c2VyRHJpdmVuU2Vla1RpbWVyOwogICAgIGZsb2F0IG1fbGFzdFNlZWtU
aW1lOwogICAgIGJvb2wgbV9sYXN0U2Vla1RpbWVQZW5kaW5nOwotICAgIGJvb2wgbV9pc0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdpbmc7CiAgICAgdm9pZCB3YWl0TWV0YWRhdGFUaW1lckZpcmVkKFRp
bWVyPE1lZGlhUGxheWVyUHJpdmF0ZT4qKTsKICAgICBUaW1lcjxNZWRpYVBsYXllclByaXZhdGU+
IG1fd2FpdE1ldGFkYXRhVGltZXI7CiAgICAgaW50IG1fd2FpdE1ldGFkYXRhUG9wRGlhbG9nQ291
bnRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2ti
ZXJyeS9OZXR3b3JrSm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxh
Y2tiZXJyeS9OZXR3b3JrSm9iLmNwcAppbmRleCBiMjBmODc0YjUxNTU2ODJlMzU4NWU5OWI3MWJl
Mzk5YjlkZjYzNDFlLi45OGViZTYwNTk4MDY0NTJiZDRmMTI3YTJiMDNmZTk2ZTI1ZTk3M2M2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0
d29ya0pvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2Jl
cnJ5L05ldHdvcmtKb2IuY3BwCkBAIC0xOSw3ICsxOSw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiTmV0d29ya0pvYi5oIgogCi0jaW5jbHVkZSAiQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiQ29va2llTWFuYWdlci5oIgpAQCAtODUsMTYgKzg0LDkgQEAgTmV0
d29ya0pvYjo6TmV0d29ya0pvYigpCiAgICAgLCBtX2RlZmVycmVkRGF0YSgqdGhpcykKICAgICAs
IG1fZGVmZXJMb2FkaW5nQ291bnQoMCkKICAgICAsIG1fZnJhbWUoMCkKLSAgICAsIG1faXNBdXRo
ZW50aWNhdGlvbkNoYWxsZW5naW5nKGZhbHNlKQogewogfQogCi1OZXR3b3JrSm9iOjp+TmV0d29y
a0pvYigpCi17Ci0gICAgaWYgKG1faXNBdXRoZW50aWNhdGlvbkNoYWxsZW5naW5nKQotICAgICAg
ICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXI6Omluc3RhbmNlKCktPmNhbmNlbEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKHRoaXMpOwotfQotCiBib29sIE5ldHdvcmtKb2I6OmluaXRpYWxp
emUoaW50IHBsYXllcklkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmlu
ZyYgcGFnZUdyb3VwTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBLVVJM
JiB1cmwsCkBAIC0xOTIsNiArMTg0LDEyIEBAIHZvaWQgTmV0d29ya0pvYjo6aGFuZGxlTm90aWZ5
U3RhdHVzUmVjZWl2ZWQoaW50IHN0YXR1cywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIGlm
IChpc0luZm8oc3RhdHVzKSkKICAgICAgICAgcmV0dXJuOyAvLyBpZ25vcmUKIAorICAgIC8vIExv
YWQgdXAgZXJyb3IgcGFnZSBhbmQgYXNrIHRoZSB1c2VyIHRvIGNoYW5nZSB0aGVpciB3aXJlbGVz
cyBwcm94eSBzZXR0aW5ncworICAgIGlmIChzdGF0dXMgPT0gNDA3KSB7CisgICAgICAgIGNvbnN0
IFJlc291cmNlRXJyb3IgZXJyb3IgPSBSZXNvdXJjZUVycm9yKFJlc291cmNlRXJyb3I6Omh0dHBF
cnJvckRvbWFpbiwgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkZpbHRlclN0cmVhbTo6U3RhdHVzV2lm
aVByb3h5QXV0aEVycm9yLCBtX3Jlc3BvbnNlLnVybCgpLnN0cmluZygpLCBlbXB0eVN0cmluZygp
KTsKKyAgICAgICAgbV9oYW5kbGUtPmNsaWVudCgpLT5kaWRGYWlsKG1faGFuZGxlLmdldCgpLCBl
cnJvcik7CisgICAgfQorCiAgICAgbV9zdGF0dXNSZWNlaXZlZCA9IHRydWU7CiAKICAgICAvLyBD
b252ZXJ0IG5vbi1IVFRQIHN0YXR1cyBjb2RlcyB0byBnZW5lcmljIEhUVFAgY29kZXMuCkBAIC0y
MDUsOCArMjAzLDEwIEBAIHZvaWQgTmV0d29ya0pvYjo6aGFuZGxlTm90aWZ5U3RhdHVzUmVjZWl2
ZWQoaW50IHN0YXR1cywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogCiAgICAgbV9yZXNwb25zZS5z
ZXRIVFRQU3RhdHVzVGV4dChtZXNzYWdlKTsKIAotICAgIGlmIChpc1VuYXV0aG9yaXplZChtX2V4
dGVuZGVkU3RhdHVzQ29kZSkpCisgICAgaWYgKGlzVW5hdXRob3JpemVkKG1fZXh0ZW5kZWRTdGF0
dXNDb2RlKSkgewogICAgICAgICBwdXJnZUNyZWRlbnRpYWxzKCk7CisgICAgICAgIEJsYWNrQmVy
cnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWws
ICJBdXRoZW50aWNhdGlvbiBmYWlsZWQsIHB1cmdlIHRoZSBzdG9yZWQgY3JlZGVudGlhbHMgZm9y
IHRoaXMgc2l0ZS4iKTsKKyAgICB9CiB9CiAKIHZvaWQgTmV0d29ya0pvYjo6bm90aWZ5SGVhZGVy
c1JlY2VpdmVkKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6SGVhZGVyTGlz
dCYgaGVhZGVycykKQEAgLTI5NCwxMSArMjk0LDEwIEBAIHZvaWQgTmV0d29ya0pvYjo6bm90aWZ5
QXV0aFJlY2VpdmVkKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6QXV0aFR5
CiAgICAgICAgIH0KICAgICAgICAgc3RvcmVDcmVkZW50aWFscygpOwogICAgICAgICByZXR1cm47
CisgICAgfSBlbHNlIHsKKyAgICAgICAgcHVyZ2VDcmVkZW50aWFscygpOworICAgICAgICBtX25l
d0pvYldpdGhDcmVkZW50aWFsc1N0YXJ0ZWQgPSBzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyhz
ZXJ2ZXJUeXBlLCBzY2hlbWUsIHJlYWxtLCByZXF1aXJlQ3JlZGVudGlhbHMpOwogICAgIH0KLQot
ICAgIHB1cmdlQ3JlZGVudGlhbHMoKTsKLSAgICBtX25ld0pvYldpdGhDcmVkZW50aWFsc1N0YXJ0
ZWQgPSBzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyhzZXJ2ZXJUeXBlLCBzY2hlbWUsIHJlYWxt
LCByZXF1aXJlQ3JlZGVudGlhbHMpOwotCiB9CiAKIHZvaWQgTmV0d29ya0pvYjo6bm90aWZ5U3Ry
aW5nSGVhZGVyUmVjZWl2ZWQoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUp
CkBAIC00ODUsNyArNDg0LDYgQEAgdm9pZCBOZXR3b3JrSm9iOjpoYW5kbGVOb3RpZnlDbG9zZShp
bnQgc3RhdHVzKQogI2lmbmRlZiBOREVCVUcKICAgICBtX2lzUnVubmluZyA9IGZhbHNlOwogI2Vu
ZGlmCi0KICAgICBpZiAoIW1fY2FuY2VsbGVkKSB7CiAgICAgICAgIGlmICghbV9zdGF0dXNSZWNl
aXZlZCkgewogICAgICAgICAgICAgLy8gQ29ubmVjdGlvbiBmYWlsZWQgYmVmb3JlIHNlbmRpbmcg
bm90aWZ5U3RhdHVzUmVjZWl2ZWQ6IHVzZSBnZW5lcmljIE5ldHdvcmtFcnJvci4KQEAgLTQ5Nyw3
ICs0OTUsNiBAQCB2b2lkIE5ldHdvcmtKb2I6OmhhbmRsZU5vdGlmeUNsb3NlKGludCBzdGF0dXMp
CiAgICAgICAgICAgICAgICAgbV9leHRlbmRlZFN0YXR1c0NvZGUgPSBCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6RmlsdGVyU3RyZWFtOjpTdGF0dXNUb29NYW55UmVkaXJlY3RzOwogCiAgICAgICAgICAg
ICBzZW5kUmVzcG9uc2VJZk5lZWRlZCgpOwotCiAgICAgICAgICAgICBpZiAoaXNDbGllbnRBdmFp
bGFibGUoKSkgewogICAgICAgICAgICAgICAgIGlmIChpc0Vycm9yKHN0YXR1cykpCiAgICAgICAg
ICAgICAgICAgICAgIG1fZXh0ZW5kZWRTdGF0dXNDb2RlID0gc3RhdHVzOwpAQCAtNzI4LDE1ICs3
MjUsOCBAQCBib29sIE5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3Rl
Y3Rpb25TcGFjZVNlcnZlclR5cGUgdHlwZSwgUHJvdAogCiAgICAgU3RyaW5nIGhvc3Q7CiAgICAg
aW50IHBvcnQ7Ci0gICAgaWYgKHR5cGUgPT0gUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQKSB7Ci0g
ICAgICAgIFN0cmluZyBwcm94eUFkZHJlc3MgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50
OjpnZXQoKS0+Z2V0UHJveHlBZGRyZXNzKG5ld1VSTC5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSku
Y19zdHIoKTsKLSAgICAgICAgS1VSTCBwcm94eVVSTChLVVJMKCksIHByb3h5QWRkcmVzcyk7Ci0g
ICAgICAgIGhvc3QgPSBwcm94eVVSTC5ob3N0KCk7Ci0gICAgICAgIHBvcnQgPSBwcm94eVVSTC5w
b3J0KCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaG9zdCA9IG1fcmVzcG9uc2UudXJsKCkuaG9z
dCgpOwotICAgICAgICBwb3J0ID0gbV9yZXNwb25zZS51cmwoKS5wb3J0KCk7Ci0gICAgfQorICAg
IGhvc3QgPSBtX3Jlc3BvbnNlLnVybCgpLmhvc3QoKTsKKyAgICBwb3J0ID0gbV9yZXNwb25zZS51
cmwoKS5wb3J0KCk7CiAKICAgICBQcm90ZWN0aW9uU3BhY2UgcHJvdGVjdGlvblNwYWNlKGhvc3Qs
IHBvcnQsIHR5cGUsIHJlYWxtLCBzY2hlbWUpOwogCkBAIC03NjMsMzcgKzc1MywyMiBAQCBib29s
IE5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rpb25TcGFjZVNl
cnZlclR5cGUgdHlwZSwgUHJvdAogICAgICAgICBTdHJpbmcgdXNlcm5hbWU7CiAgICAgICAgIFN0
cmluZyBwYXNzd29yZDsKIAotICAgICAgICBpZiAodHlwZSA9PSBQcm90ZWN0aW9uU3BhY2VQcm94
eUhUVFApIHsKLSAgICAgICAgICAgIHVzZXJuYW1lID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNs
aWVudDo6Z2V0KCktPmdldFByb3h5VXNlcm5hbWUoKS5jX3N0cigpOwotICAgICAgICAgICAgcGFz
c3dvcmQgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50OjpnZXQoKS0+Z2V0UHJveHlQYXNz
d29yZCgpLmNfc3RyKCk7Ci0gICAgICAgIH0KKyAgICAgICAgLy8gQmVmb3JlIGFza2luZyB0aGUg
dXNlciBmb3IgY3JlZGVudGlhbHMsIHdlIGNoZWNrIGlmIHRoZSBVUkwgY29udGFpbnMgdGhhdC4K
KyAgICAgICAgaWYgKCFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyLmlzRW1wdHkoKSAm
JiAhbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcy5pc0VtcHR5KCkpIHsKKyAgICAgICAg
ICAgIHVzZXJuYW1lID0gbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlcjsKKyAgICAgICAg
ICAgIHBhc3N3b3JkID0gbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzczsKIAotICAgICAg
ICBpZiAodXNlcm5hbWUuaXNFbXB0eSgpIHx8IHBhc3N3b3JkLmlzRW1wdHkoKSkgewotICAgICAg
ICAgICAgLy8gQmVmb3JlIGFza2luZyB0aGUgdXNlciBmb3IgY3JlZGVudGlhbHMsIHdlIGNoZWNr
IGlmIHRoZSBVUkwgY29udGFpbnMgdGhhdC4KLSAgICAgICAgICAgIGlmICghbV9oYW5kbGUtPmdl
dEludGVybmFsKCktPm1fdXNlci5pc0VtcHR5KCkgJiYgIW1faGFuZGxlLT5nZXRJbnRlcm5hbCgp
LT5tX3Bhc3MuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAgICAgdXNlcm5hbWUgPSBtX2hhbmRs
ZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyOwotICAgICAgICAgICAgICAgIHBhc3N3b3JkID0gbV9o
YW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzczsKLQotICAgICAgICAgICAgICAgIC8vIFByZXZl
bnQgdGhlbSBmcm9tIGJlZW4gdXNlZCBhZ2FpbiBpZiB0aGV5IGFyZSB3cm9uZy4KLSAgICAgICAg
ICAgICAgICAvLyBJZiB0aGV5IGFyZSBjb3JyZWN0LCB0aGV5IHdpbGwgdGhlIHB1dCBpbnRvIENy
ZWRlbnRpYWxTdG9yYWdlLgotICAgICAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgp
LT5tX3VzZXIgPSAiIjsKLSAgICAgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+
bV9wYXNzID0gIiI7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICht
X2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudGFyZ2V0VHlwZSgpICE9IFJlc291cmNlUmVxdWVzdDo6
VGFyZ2V0SXNNYWluRnJhbWUgJiYgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0
YW5jZSgpLT5pc0Nocm9tZVByb2Nlc3MoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fY3VycmVu
dFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCk7Ci0KLSAgICAgICAgICAg
ICAgICBtX2lzQXV0aGVudGljYXRpb25DaGFsbGVuZ2luZyA9IHRydWU7Ci0gICAgICAgICAgICAg
ICAgdXBkYXRlRGVmZXJMb2FkaW5nQ291bnQoMSk7Ci0KLSAgICAgICAgICAgICAgICBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXI6Omluc3RhbmNlKCktPmF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKG5ld1VSTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3Rpb25TcGFjZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWRlbnRpYWwoKSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2ZyYW1lLT5w
YWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCkpOwotICAgICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gUHJl
dmVudCB0aGVtIGZyb20gYmVlbiB1c2VkIGFnYWluIGlmIHRoZXkgYXJlIHdyb25nLgorICAgICAg
ICAgICAgLy8gSWYgdGhleSBhcmUgY29ycmVjdCwgdGhleSB3aWxsIHRoZSBwdXQgaW50byBDcmVk
ZW50aWFsU3RvcmFnZS4KKyAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Vz
ZXIgPSAiIjsKKyAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3MgPSAi
IjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChtX2hhbmRsZS0+Zmlyc3RSZXF1
ZXN0KCkudGFyZ2V0VHlwZSgpICE9IFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNNYWluRnJhbWUg
JiYgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0YW5jZSgpLT5pc0Nocm9tZVBy
b2Nlc3MoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIG1f
aGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UgPSBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSgpOworICAgICAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS0+
Y2xpZW50KCktPnBsYXRmb3JtUGFnZUNsaWVudCgpLT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZShu
ZXdVUkwsIHByb3RlY3Rpb25TcGFjZSwgQ3JlZGVudGlhbCgpLCB0aGlzKTsKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICB9CiAKICAgICAgICAgY3JlZGVudGlhbCA9IENyZWRlbnRp
YWwodXNlcm5hbWUsIHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VGb3JTZXNzaW9uKTsK
QEAgLTg1MywxNyArODI4LDExIEBAIHZvaWQgTmV0d29ya0pvYjo6ZmlyZURlbGV0ZUpvYlRpbWVy
KFRpbWVyPE5ldHdvcmtKb2I+KikKIAogdm9pZCBOZXR3b3JrSm9iOjpub3RpZnlDaGFsbGVuZ2VS
ZXN1bHQoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25T
cGFjZSwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VSZXN1bHQgcmVzdWx0LCBjb25zdCBDcmVkZW50
aWFsJiBjcmVkZW50aWFsKQogewotICAgIG1faXNBdXRoZW50aWNhdGlvbkNoYWxsZW5naW5nID0g
ZmFsc2U7Ci0KICAgICBpZiAocmVzdWx0ICE9IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU3VjY2Vz
cyB8fCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpLmlzRW1wdHkoKSB8fCAhdXJsLmlzVmFsaWQoKSkg
ewogICAgICAgICBtX25ld0pvYldpdGhDcmVkZW50aWFsc1N0YXJ0ZWQgPSBmYWxzZTsKLSAgICAg
ICAgdXBkYXRlRGVmZXJMb2FkaW5nQ291bnQoLTEpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgY2FuY2VsSm9iKCk7Ci0gICAgdXBkYXRlRGVmZXJMb2FkaW5nQ291bnQoLTEpOwotCiAg
ICAgaWYgKG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UuaXNO
dWxsKCkpCiAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFs
bGVuZ2UgPSBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRp
YWwsIDAsIG1fcmVzcG9uc2UsIFJlc291cmNlRXJyb3IoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5oCmluZGV4
IDhiZmI0NjcwODI4MjMwMmQwNTVjNjlhY2RhNDNjZDE4OWNlMGJmZmIuLjM1MjYzNzRhYmIxMTI2
MWNjOWE0ZDBmZGE1ZDJmMmVlZTI2OGFkZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuaApAQCAtMjksNyArMjks
NiBAQAogI2luY2x1ZGUgPG5ldHdvcmsvRmlsdGVyU3RyZWFtLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBCbGFja0JlcnJ5
IHsKQEAgLTUwLDggKzQ5LDYgQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgTmV0d29y
a0pvYiA6IHB1YmxpYyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUNsaWVudCwgcHVibGljIEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpGaWx0ZXJTdHJlYW0gewogcHVibGljOgogICAgIE5ldHdvcmtKb2Io
KTsKLSAgICB+TmV0d29ya0pvYigpOwotCiAgICAgYm9vbCBpbml0aWFsaXplKGludCBwbGF5ZXJJ
ZCwKICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBwYWdlR3JvdXBOYW1lLAogICAg
ICAgICAgICAgICAgICAgICBjb25zdCBLVVJMJiwKQEAgLTE3NCw4ICsxNzEsNiBAQCBwcml2YXRl
OgogICAgIERlZmVycmVkRGF0YSBtX2RlZmVycmVkRGF0YTsKICAgICBpbnQgbV9kZWZlckxvYWRp
bmdDb3VudDsKICAgICBjb25zdCBGcmFtZSogbV9mcmFtZTsKLQotICAgIGJvb2wgbV9pc0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdpbmc7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL0JsYWNrQmVycnlHbG9iYWwuY3Bw
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CbGFja0JlcnJ5R2xvYmFsLmNwcAppbmRl
eCBkOGI1YzUxMjRjYjY3MzAzMmJkZmY4ZDA5ZTk2MmRiNzVjNTkzMjRjLi5mYzljZDVhYWU3MDFl
MTJmMjUzODJjNDFhMTM0YWNhMzQyZTVmYmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQXBpL0JsYWNrQmVycnlHbG9iYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9BcGkvQmxhY2tCZXJyeUdsb2JhbC5jcHAKQEAgLTIwLDcgKzIwLDYgQEAKICNpbmNs
dWRlICJCbGFja0JlcnJ5R2xvYmFsLmgiCiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlU3Rv
cmFnZS5oIgotI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdlci5oIgogI2lu
Y2x1ZGUgIkNhY2hlQ2xpZW50QmxhY2tCZXJyeS5oIgogI2luY2x1ZGUgIkNvb2tpZU1hbmFnZXIu
aCIKICNpbmNsdWRlICJDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgiCkBAIC04MSw4
ICs4MCw2IEBAIHZvaWQgZ2xvYmFsSW5pdGlhbGl6ZSgpCiAgICAgQmxhY2tCZXJyeTo6UGxhdGZv
cm06OlNldHRpbmdzKiBzZXR0aW5ncyA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTZXR0aW5nczo6
aW5zdGFuY2UoKTsKIAogICAgIEltYWdlU291cmNlOjpzZXRNYXhQaXhlbHNQZXJEZWNvZGVkSW1h
Z2Uoc2V0dGluZ3MtPm1heFBpeGVsc1BlckRlY29kZWRJbWFnZSgpKTsKLQotICAgIEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlTWFuYWdlcjo6aW5pdCgpOwogfQogCiB2b2lkIGNvbGxlY3RKYXZhc2Ny
aXB0R2FyYmFnZU5vdygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBp
L1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcApp
bmRleCA1OTY0MDY4YWQ4ZjAyYjMzYmFlOGFjYmMxYWEwZmEwNmQ3MDMyYWUzLi43OGEyODU4YzIz
ZDQyNDM3NDgzNTA5MjliZjliYzEyODE2ZTk2Y2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9BcGkvV2ViUGFnZS5jcHAKQEAgLTQyOSw4ICs0MjksNiBAQCBXZWJQYWdlUHJpdmF0ZTo6V2Vi
UGFnZVByaXZhdGUoV2ViUGFnZSogd2ViUGFnZSwgV2ViUGFnZUNsaWVudCogY2xpZW50LCBjb25z
dCBJbgogICAgICAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6RGV2aWNlSW5mbzo6aW5zdGFuY2Uo
KTsKICAgICAgICAgZGVmYXVsdFVzZXJBZ2VudCgpOwogICAgIH0KLQotICAgIEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlTWFuYWdlcjo6aW5zdGFuY2UoKS0+cGFnZUNyZWF0ZWQodGhpcyk7CiB9CiAK
IFdlYlBhZ2U6OldlYlBhZ2UoV2ViUGFnZUNsaWVudCogY2xpZW50LCBjb25zdCBXZWJTdHJpbmcm
IHBhZ2VHcm91cE5hbWUsIGNvbnN0IFBsYXRmb3JtOjpJbnRSZWN0JiByZWN0KQpAQCAtNDQyLDcg
KzQ0MCw2IEBAIFdlYlBhZ2U6OldlYlBhZ2UoV2ViUGFnZUNsaWVudCogY2xpZW50LCBjb25zdCBX
ZWJTdHJpbmcmIHBhZ2VHcm91cE5hbWUsIGNvbnN0IFBsCiAKIFdlYlBhZ2VQcml2YXRlOjp+V2Vi
UGFnZVByaXZhdGUoKQogewotICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdlcjo6aW5z
dGFuY2UoKS0+cGFnZURlbGV0ZWQodGhpcyk7CiAgICAgLy8gSGFuZCB0aGUgYmFja2luZ3N0b3Jl
IGJhY2sgdG8gYW5vdGhlciBvd25lciBpZiBuZWNlc3NhcnkuCiAgICAgbV93ZWJQYWdlLT5zZXRW
aXNpYmxlKGZhbHNlKTsKICAgICBpZiAoQmFja2luZ1N0b3JlUHJpdmF0ZTo6Y3VycmVudEJhY2tp
bmdTdG9yZU93bmVyKCkgPT0gbV93ZWJQYWdlKQpAQCAtMjIxOCwxOSArMjIxNSwxOCBAQCBib29s
IFdlYlBhZ2VQcml2YXRlOjppc0FjdGl2ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2xpZW50LT5p
c0FjdGl2ZSgpOwogfQogCi12b2lkIFdlYlBhZ2VQcml2YXRlOjphdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNw
YWNlLCBjb25zdCBDcmVkZW50aWFsJiBpbnB1dENyZWRlbnRpYWwpCit2b2lkIFdlYlBhZ2VQcml2
YXRlOjphdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFByb3Rl
Y3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlLCBjb25zdCBDcmVkZW50aWFsJiBpbnB1dENyZWRl
bnRpYWwsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2xpZW50KiBjbGllbnQpCiB7CiAgICAgV2Vi
U3RyaW5nIHVzZXJuYW1lOwogICAgIFdlYlN0cmluZyBwYXNzd29yZDsKLSAgICBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZU1hbmFnZXIqIGF1dGhtZ3IgPSBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1h
bmFnZXI6Omluc3RhbmNlKCk7CiAKICNpZiAhZGVmaW5lZChQVUJMSUNfQlVJTEQpIHx8ICFQVUJM
SUNfQlVJTEQKICAgICBpZiAobV9kdW1wUmVuZGVyVHJlZSkgewogICAgICAgICBDcmVkZW50aWFs
IGNyZWRlbnRpYWwoaW5wdXRDcmVkZW50aWFsLCBpbnB1dENyZWRlbnRpYWwucGVyc2lzdGVuY2Uo
KSk7CiAgICAgICAgIGlmIChtX2R1bXBSZW5kZXJUcmVlLT5kaWRSZWNlaXZlQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UoY3JlZGVudGlhbCkpCi0gICAgICAgICAgICBhdXRobWdyLT5ub3RpZnlDaGFs
bGVuZ2VSZXN1bHQodXJsLCBwcm90ZWN0aW9uU3BhY2UsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
U3VjY2VzcywgY3JlZGVudGlhbCk7CisgICAgICAgICAgICBjbGllbnQtPm5vdGlmeUNoYWxsZW5n
ZVJlc3VsdCh1cmwsIHByb3RlY3Rpb25TcGFjZSwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTdWNj
ZXNzLCBjcmVkZW50aWFsKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgYXV0aG1nci0+bm90
aWZ5Q2hhbGxlbmdlUmVzdWx0KHVybCwgcHJvdGVjdGlvblNwYWNlLCBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZUNhbmNlbGxlZCwgaW5wdXRDcmVkZW50aWFsKTsKKyAgICAgICAgICAgIGNsaWVudC0+
bm90aWZ5Q2hhbGxlbmdlUmVzdWx0KHVybCwgcHJvdGVjdGlvblNwYWNlLCBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZUNhbmNlbGxlZCwgaW5wdXRDcmVkZW50aWFsKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICNlbmRpZgpAQCAtMjI1MSw5ICsyMjQ3LDkgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6
YXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9u
U3AKICNlbmRpZgogCiAgICAgaWYgKGlzQ29uZmlybWVkKQotICAgICAgICBhdXRobWdyLT5ub3Rp
ZnlDaGFsbGVuZ2VSZXN1bHQodXJsLCBwcm90ZWN0aW9uU3BhY2UsIEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlU3VjY2VzcywgY3JlZGVudGlhbCk7CisgICAgICAgIGNsaWVudC0+bm90aWZ5Q2hhbGxl
bmdlUmVzdWx0KHVybCwgcHJvdGVjdGlvblNwYWNlLCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVN1
Y2Nlc3MsIGNyZWRlbnRpYWwpOwogICAgIGVsc2UKLSAgICAgICAgYXV0aG1nci0+bm90aWZ5Q2hh
bGxlbmdlUmVzdWx0KHVybCwgcHJvdGVjdGlvblNwYWNlLCBBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZUNhbmNlbGxlZCwgaW5wdXRDcmVkZW50aWFsKTsKKyAgICAgICAgY2xpZW50LT5ub3RpZnlDaGFs
bGVuZ2VSZXN1bHQodXJsLCBwcm90ZWN0aW9uU3BhY2UsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Q2FuY2VsbGVkLCBpbnB1dENyZWRlbnRpYWwpOwogfQogCiBQYWdlQ2xpZW50QmxhY2tCZXJyeTo6
U2F2ZUNyZWRlbnRpYWxUeXBlIFdlYlBhZ2VQcml2YXRlOjpub3RpZnlTaG91bGRTYXZlQ3JlZGVu
dGlhbChib29sIGlzTmV3KQpAQCAtMzI1Myw3ICszMjQ5LDYgQEAgdm9pZCBXZWJQYWdlOjpzZXRW
aXNpYmxlKGJvb2wgdmlzaWJsZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgZC0+c2V0VmlzaWJs
ZSh2aXNpYmxlKTsKLSAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXI6Omluc3RhbmNl
KCktPnBhZ2VWaXNpYmlsaXR5Q2hhbmdlZChkLCB2aXNpYmxlKTsKIAogICAgIGlmICghdmlzaWJs
ZSkgewogICAgICAgICBkLT5zdXNwZW5kQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0FwaS9XZWJQYWdlX3AuaAppbmRleCAzYzZhMzk4MDI5ZmE2MzA5ZmU3ZDgyNWIyOGU1
ZDczNzQ3ZjllOGNlLi5jYTBjMTgwYzBmMjk4ZDIxMTk3NTNjZmNjOWMzYjkxOTJkY2ZlZTNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmgKQEAgLTIwMiw3ICsyMDIs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQgc2hvd0FsZXJ0RGlhbG9nKFdlYlBhZ2VDbGll
bnQ6OkFsZXJ0VHlwZSBhdHlwZSk7CiAgICAgdmlydHVhbCBib29sIGlzQWN0aXZlKCkgY29uc3Q7
CiAgICAgdmlydHVhbCBib29sIGlzVmlzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmlzaWJsZTsg
fQotICAgIHZpcnR1YWwgdm9pZCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJDb3Jl
OjpLVVJMJiwgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJiwgY29uc3QgV2ViQ29yZTo6
Q3JlZGVudGlhbCYpOworICAgIHZpcnR1YWwgdm9pZCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShj
b25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJiwgY29u
c3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Q2xpZW50Kik7CiAgICAgdmlydHVhbCBTYXZlQ3JlZGVudGlhbFR5cGUgbm90aWZ5U2hvdWxkU2F2
ZUNyZWRlbnRpYWwoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHN5bmNQcm94eUNyZWRlbnRpYWwo
Y29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165453</attachid>
            <date>2012-09-24 15:12:22 -0700</date>
            <delta_ts>2012-09-24 15:18:09 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-97455-20120924150408.patch</filename>
            <type>text/plain</type>
            <size>5950</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4ODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUwMzZhZmNmZjA2MDVl
NWQ1ZDZkOWNkY2JjYjI0ZGNlYjY2MGIwZC4uNjY4OTQ3ZTQ4ZmE1NDgwZTZiZGJjMjQwYmNjMmE4
ZWFlYjU4NjBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA5LTI0ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFJldmVydGluZyBpbXBsZW1lbnRhdGlvbiBmb3IgNDA3IGVycm9yIHBhZ2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJldmVydCAiW0JsYWNrQmVycnld
IFNob3cgY3VzdG9tIGVycm9yIHBhZ2Ugd2hlbiA0MDcgaXMgcmVjZWl2ZWQiCisKKyAgICAgICAg
VGhpcyByZXZlcnRzIGNvbW1pdCBmNmZlOTdlYzNmMTg0MWExNTFlNGViZGRlMjFmNzEwYTYxODVm
OWQ2LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6aGFuZGxlTm90aWZ5U3RhdHVzUmVj
ZWl2ZWQpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6bm90aWZ5QXV0aFJlY2VpdmVk
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRp
YWxzKToKKwogMjAxMi0wOS0xOCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpA
aW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIG1pbi1kZXZpY2Utd2lkdGggZmFpbHVyZXMgaW4g
bWVkaWEgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
YmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAppbmRleCBmMjlhYmNmYjIyMzIxOGNlNDI5NzRi
NmM2YWE2YTgzNGY2MmYyZjQzLi43MTZhMzcyYmI0YzQzMzMwMTEwOGU3MDI3YjAyYjkyNDliMDY5
ZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvTmV0d29ya0pvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9i
bGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCkBAIC0xODQsMTIgKzE4NCw2IEBAIHZvaWQgTmV0d29y
a0pvYjo6aGFuZGxlTm90aWZ5U3RhdHVzUmVjZWl2ZWQoaW50IHN0YXR1cywgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQogICAgIGlmIChpc0luZm8oc3RhdHVzKSkKICAgICAgICAgcmV0dXJuOyAvLyBp
Z25vcmUKIAotICAgIC8vIExvYWQgdXAgZXJyb3IgcGFnZSBhbmQgYXNrIHRoZSB1c2VyIHRvIGNo
YW5nZSB0aGVpciB3aXJlbGVzcyBwcm94eSBzZXR0aW5ncwotICAgIGlmIChzdGF0dXMgPT0gNDA3
KSB7Ci0gICAgICAgIGNvbnN0IFJlc291cmNlRXJyb3IgZXJyb3IgPSBSZXNvdXJjZUVycm9yKFJl
c291cmNlRXJyb3I6Omh0dHBFcnJvckRvbWFpbiwgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkZpbHRl
clN0cmVhbTo6U3RhdHVzV2lmaVByb3h5QXV0aEVycm9yLCBtX3Jlc3BvbnNlLnVybCgpLnN0cmlu
ZygpLCBlbXB0eVN0cmluZygpKTsKLSAgICAgICAgbV9oYW5kbGUtPmNsaWVudCgpLT5kaWRGYWls
KG1faGFuZGxlLmdldCgpLCBlcnJvcik7Ci0gICAgfQotCiAgICAgbV9zdGF0dXNSZWNlaXZlZCA9
IHRydWU7CiAKICAgICAvLyBDb252ZXJ0IG5vbi1IVFRQIHN0YXR1cyBjb2RlcyB0byBnZW5lcmlj
IEhUVFAgY29kZXMuCkBAIC0yOTQsOSArMjg4LDkgQEAgdm9pZCBOZXR3b3JrSm9iOjpub3RpZnlB
dXRoUmVjZWl2ZWQoQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpBdXRoVHkK
ICAgICAgICAgfQogICAgICAgICBzdG9yZUNyZWRlbnRpYWxzKCk7CiAgICAgICAgIHJldHVybjsK
LSAgICB9IGVsc2UgaWYgKHNlcnZlclR5cGUgIT0gUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQKQot
ICAgICAgICAvLyBJZiBhIHdpZmkgcHJveHkgYXV0aCBmYWlsZWQsIHRoZXJlIGlzIG5vIHBvaW50
IG9mIHRyeWluZyBhbnltb3JlIGJlY2F1c2UgdGhlIGNyZWRlbnRpYWxzIGFyZSB3cm9uZy4KLSAg
ICAgICAgbV9uZXdKb2JXaXRoQ3JlZGVudGlhbHNTdGFydGVkID0gc2VuZFJlcXVlc3RXaXRoQ3Jl
ZGVudGlhbHMoc2VydmVyVHlwZSwgc2NoZW1lLCByZWFsbSwgcmVxdWlyZUNyZWRlbnRpYWxzKTsK
KyAgICB9CisKKyAgICBtX25ld0pvYldpdGhDcmVkZW50aWFsc1N0YXJ0ZWQgPSBzZW5kUmVxdWVz
dFdpdGhDcmVkZW50aWFscyhzZXJ2ZXJUeXBlLCBzY2hlbWUsIHJlYWxtLCByZXF1aXJlQ3JlZGVu
dGlhbHMpOwogfQogCiB2b2lkIE5ldHdvcmtKb2I6Om5vdGlmeVN0cmluZ0hlYWRlclJlY2VpdmVk
KGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKQpAQCAtNzI0LDggKzcxOCwx
NSBAQCBib29sIE5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rp
b25TcGFjZVNlcnZlclR5cGUgdHlwZSwgUHJvdAogCiAgICAgU3RyaW5nIGhvc3Q7CiAgICAgaW50
IHBvcnQ7Ci0gICAgaG9zdCA9IG1fcmVzcG9uc2UudXJsKCkuaG9zdCgpOwotICAgIHBvcnQgPSBt
X3Jlc3BvbnNlLnVybCgpLnBvcnQoKTsKKyAgICBpZiAodHlwZSA9PSBQcm90ZWN0aW9uU3BhY2VQ
cm94eUhUVFApIHsKKyAgICAgICAgU3RyaW5nIHByb3h5QWRkcmVzcyA9IEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpDbGllbnQ6OmdldCgpLT5nZXRQcm94eUFkZHJlc3MobmV3VVJMLnN0cmluZygpLmFz
Y2lpKCkuZGF0YSgpKS5jX3N0cigpOworICAgICAgICBLVVJMIHByb3h5VVJMKEtVUkwoKSwgcHJv
eHlBZGRyZXNzKTsKKyAgICAgICAgaG9zdCA9IHByb3h5VVJMLmhvc3QoKTsKKyAgICAgICAgcG9y
dCA9IHByb3h5VVJMLnBvcnQoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBob3N0ID0gbV9yZXNw
b25zZS51cmwoKS5ob3N0KCk7CisgICAgICAgIHBvcnQgPSBtX3Jlc3BvbnNlLnVybCgpLnBvcnQo
KTsKKyAgICB9CiAKICAgICBQcm90ZWN0aW9uU3BhY2UgcHJvdGVjdGlvblNwYWNlKGhvc3QsIHBv
cnQsIHR5cGUsIHJlYWxtLCBzY2hlbWUpOwogCkBAIC03NTIsMjIgKzc1MywyOSBAQCBib29sIE5l
dHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rpb25TcGFjZVNlcnZl
clR5cGUgdHlwZSwgUHJvdAogICAgICAgICBTdHJpbmcgdXNlcm5hbWU7CiAgICAgICAgIFN0cmlu
ZyBwYXNzd29yZDsKIAotICAgICAgICAvLyBCZWZvcmUgYXNraW5nIHRoZSB1c2VyIGZvciBjcmVk
ZW50aWFscywgd2UgY2hlY2sgaWYgdGhlIFVSTCBjb250YWlucyB0aGF0LgotICAgICAgICBpZiAo
IW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIuaXNFbXB0eSgpICYmICFtX2hhbmRsZS0+
Z2V0SW50ZXJuYWwoKS0+bV9wYXNzLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgdXNlcm5hbWUg
PSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyOwotICAgICAgICAgICAgcGFzc3dvcmQg
PSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzOwotCi0gICAgICAgICAgICAvLyBQcmV2
ZW50IHRoZW0gZnJvbSBiZWVuIHVzZWQgYWdhaW4gaWYgdGhleSBhcmUgd3JvbmcuCi0gICAgICAg
ICAgICAvLyBJZiB0aGV5IGFyZSBjb3JyZWN0LCB0aGV5IHdpbGwgdGhlIHB1dCBpbnRvIENyZWRl
bnRpYWxTdG9yYWdlLgotICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNl
ciA9ICIiOwotICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcyA9ICIi
OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKG1faGFuZGxlLT5maXJzdFJlcXVl
c3QoKS50YXJnZXRUeXBlKCkgIT0gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc01haW5GcmFtZSAm
JiBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U2V0dGluZ3M6Omluc3RhbmNlKCktPmlzQ2hyb21lUHJv
Y2VzcygpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKHR5cGUg
PT0gUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQKSB7CisgICAgICAgICAgICB1c2VybmFtZSA9IEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpDbGllbnQ6OmdldCgpLT5nZXRQcm94eVVzZXJuYW1lKCkuY19z
dHIoKTsKKyAgICAgICAgICAgIHBhc3N3b3JkID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaWVu
dDo6Z2V0KCktPmdldFByb3h5UGFzc3dvcmQoKS5jX3N0cigpOworICAgICAgICB9CiAKLSAgICAg
ICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UgPSBB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpOwotICAgICAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5j
aHJvbWUoKS0+Y2xpZW50KCktPnBsYXRmb3JtUGFnZUNsaWVudCgpLT5hdXRoZW50aWNhdGlvbkNo
YWxsZW5nZShuZXdVUkwsIHByb3RlY3Rpb25TcGFjZSwgQ3JlZGVudGlhbCgpLCB0aGlzKTsKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBpZiAodXNlcm5hbWUuaXNFbXB0eSgpIHx8
IHBhc3N3b3JkLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgLy8gQmVmb3JlIGFza2luZyB0aGUg
dXNlciBmb3IgY3JlZGVudGlhbHMsIHdlIGNoZWNrIGlmIHRoZSBVUkwgY29udGFpbnMgdGhhdC4K
KyAgICAgICAgICAgIGlmICghbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlci5pc0VtcHR5
KCkgJiYgIW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3MuaXNFbXB0eSgpKSB7CisgICAg
ICAgICAgICAgICAgdXNlcm5hbWUgPSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyOwor
ICAgICAgICAgICAgICAgIHBhc3N3b3JkID0gbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFz
czsKKworICAgICAgICAgICAgICAgIC8vIFByZXZlbnQgdGhlbSBmcm9tIGJlZW4gdXNlZCBhZ2Fp
biBpZiB0aGV5IGFyZSB3cm9uZy4KKyAgICAgICAgICAgICAgICAvLyBJZiB0aGV5IGFyZSBjb3Jy
ZWN0LCB0aGV5IHdpbGwgdGhlIHB1dCBpbnRvIENyZWRlbnRpYWxTdG9yYWdlLgorICAgICAgICAg
ICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIgPSAiIjsKKyAgICAgICAgICAg
ICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzID0gIiI7CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIGlmIChtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudGFy
Z2V0VHlwZSgpICE9IFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNNYWluRnJhbWUgJiYgQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0YW5jZSgpLT5pc0Nocm9tZVByb2Nlc3MoKSkK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICAgICAgbV9o
YW5kbGUtPmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlKCk7CisgICAgICAgICAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5jaHJvbWUo
KS0+Y2xpZW50KCktPnBsYXRmb3JtUGFnZUNsaWVudCgpLT5hdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZShuZXdVUkwsIHByb3RlY3Rpb25TcGFjZSwgQ3JlZGVudGlhbCgpLCB0aGlzKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogCiAgICAgICAg
IGNyZWRlbnRpYWwgPSBDcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVudGlhbFBl
cnNpc3RlbmNlRm9yU2Vzc2lvbik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165454</attachid>
            <date>2012-09-24 15:18:48 -0700</date>
            <delta_ts>2012-09-24 15:33:08 -0700</delta_ts>
            <desc>patch (to rerun test)</desc>
            <filename>bug-97455-20120924150408.patch</filename>
            <type>text/plain</type>
            <size>5950</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4ODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUwMzZhZmNmZjA2MDVl
NWQ1ZDZkOWNkY2JjYjI0ZGNlYjY2MGIwZC4uNjY4OTQ3ZTQ4ZmE1NDgwZTZiZGJjMjQwYmNjMmE4
ZWFlYjU4NjBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA5LTI0ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFJldmVydGluZyBpbXBsZW1lbnRhdGlvbiBmb3IgNDA3IGVycm9yIHBhZ2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJldmVydCAiW0JsYWNrQmVycnld
IFNob3cgY3VzdG9tIGVycm9yIHBhZ2Ugd2hlbiA0MDcgaXMgcmVjZWl2ZWQiCisKKyAgICAgICAg
VGhpcyByZXZlcnRzIGNvbW1pdCBmNmZlOTdlYzNmMTg0MWExNTFlNGViZGRlMjFmNzEwYTYxODVm
OWQ2LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6aGFuZGxlTm90aWZ5U3RhdHVzUmVj
ZWl2ZWQpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6bm90aWZ5QXV0aFJlY2VpdmVk
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRp
YWxzKToKKwogMjAxMi0wOS0xOCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpA
aW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIG1pbi1kZXZpY2Utd2lkdGggZmFpbHVyZXMgaW4g
bWVkaWEgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
YmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAppbmRleCBmMjlhYmNmYjIyMzIxOGNlNDI5NzRi
NmM2YWE2YTgzNGY2MmYyZjQzLi43MTZhMzcyYmI0YzQzMzMwMTEwOGU3MDI3YjAyYjkyNDliMDY5
ZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvTmV0d29ya0pvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9i
bGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCkBAIC0xODQsMTIgKzE4NCw2IEBAIHZvaWQgTmV0d29y
a0pvYjo6aGFuZGxlTm90aWZ5U3RhdHVzUmVjZWl2ZWQoaW50IHN0YXR1cywgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQogICAgIGlmIChpc0luZm8oc3RhdHVzKSkKICAgICAgICAgcmV0dXJuOyAvLyBp
Z25vcmUKIAotICAgIC8vIExvYWQgdXAgZXJyb3IgcGFnZSBhbmQgYXNrIHRoZSB1c2VyIHRvIGNo
YW5nZSB0aGVpciB3aXJlbGVzcyBwcm94eSBzZXR0aW5ncwotICAgIGlmIChzdGF0dXMgPT0gNDA3
KSB7Ci0gICAgICAgIGNvbnN0IFJlc291cmNlRXJyb3IgZXJyb3IgPSBSZXNvdXJjZUVycm9yKFJl
c291cmNlRXJyb3I6Omh0dHBFcnJvckRvbWFpbiwgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkZpbHRl
clN0cmVhbTo6U3RhdHVzV2lmaVByb3h5QXV0aEVycm9yLCBtX3Jlc3BvbnNlLnVybCgpLnN0cmlu
ZygpLCBlbXB0eVN0cmluZygpKTsKLSAgICAgICAgbV9oYW5kbGUtPmNsaWVudCgpLT5kaWRGYWls
KG1faGFuZGxlLmdldCgpLCBlcnJvcik7Ci0gICAgfQotCiAgICAgbV9zdGF0dXNSZWNlaXZlZCA9
IHRydWU7CiAKICAgICAvLyBDb252ZXJ0IG5vbi1IVFRQIHN0YXR1cyBjb2RlcyB0byBnZW5lcmlj
IEhUVFAgY29kZXMuCkBAIC0yOTQsOSArMjg4LDkgQEAgdm9pZCBOZXR3b3JrSm9iOjpub3RpZnlB
dXRoUmVjZWl2ZWQoQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpBdXRoVHkK
ICAgICAgICAgfQogICAgICAgICBzdG9yZUNyZWRlbnRpYWxzKCk7CiAgICAgICAgIHJldHVybjsK
LSAgICB9IGVsc2UgaWYgKHNlcnZlclR5cGUgIT0gUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQKQot
ICAgICAgICAvLyBJZiBhIHdpZmkgcHJveHkgYXV0aCBmYWlsZWQsIHRoZXJlIGlzIG5vIHBvaW50
IG9mIHRyeWluZyBhbnltb3JlIGJlY2F1c2UgdGhlIGNyZWRlbnRpYWxzIGFyZSB3cm9uZy4KLSAg
ICAgICAgbV9uZXdKb2JXaXRoQ3JlZGVudGlhbHNTdGFydGVkID0gc2VuZFJlcXVlc3RXaXRoQ3Jl
ZGVudGlhbHMoc2VydmVyVHlwZSwgc2NoZW1lLCByZWFsbSwgcmVxdWlyZUNyZWRlbnRpYWxzKTsK
KyAgICB9CisKKyAgICBtX25ld0pvYldpdGhDcmVkZW50aWFsc1N0YXJ0ZWQgPSBzZW5kUmVxdWVz
dFdpdGhDcmVkZW50aWFscyhzZXJ2ZXJUeXBlLCBzY2hlbWUsIHJlYWxtLCByZXF1aXJlQ3JlZGVu
dGlhbHMpOwogfQogCiB2b2lkIE5ldHdvcmtKb2I6Om5vdGlmeVN0cmluZ0hlYWRlclJlY2VpdmVk
KGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKQpAQCAtNzI0LDggKzcxOCwx
NSBAQCBib29sIE5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rp
b25TcGFjZVNlcnZlclR5cGUgdHlwZSwgUHJvdAogCiAgICAgU3RyaW5nIGhvc3Q7CiAgICAgaW50
IHBvcnQ7Ci0gICAgaG9zdCA9IG1fcmVzcG9uc2UudXJsKCkuaG9zdCgpOwotICAgIHBvcnQgPSBt
X3Jlc3BvbnNlLnVybCgpLnBvcnQoKTsKKyAgICBpZiAodHlwZSA9PSBQcm90ZWN0aW9uU3BhY2VQ
cm94eUhUVFApIHsKKyAgICAgICAgU3RyaW5nIHByb3h5QWRkcmVzcyA9IEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpDbGllbnQ6OmdldCgpLT5nZXRQcm94eUFkZHJlc3MobmV3VVJMLnN0cmluZygpLmFz
Y2lpKCkuZGF0YSgpKS5jX3N0cigpOworICAgICAgICBLVVJMIHByb3h5VVJMKEtVUkwoKSwgcHJv
eHlBZGRyZXNzKTsKKyAgICAgICAgaG9zdCA9IHByb3h5VVJMLmhvc3QoKTsKKyAgICAgICAgcG9y
dCA9IHByb3h5VVJMLnBvcnQoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBob3N0ID0gbV9yZXNw
b25zZS51cmwoKS5ob3N0KCk7CisgICAgICAgIHBvcnQgPSBtX3Jlc3BvbnNlLnVybCgpLnBvcnQo
KTsKKyAgICB9CiAKICAgICBQcm90ZWN0aW9uU3BhY2UgcHJvdGVjdGlvblNwYWNlKGhvc3QsIHBv
cnQsIHR5cGUsIHJlYWxtLCBzY2hlbWUpOwogCkBAIC03NTIsMjIgKzc1MywyOSBAQCBib29sIE5l
dHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rpb25TcGFjZVNlcnZl
clR5cGUgdHlwZSwgUHJvdAogICAgICAgICBTdHJpbmcgdXNlcm5hbWU7CiAgICAgICAgIFN0cmlu
ZyBwYXNzd29yZDsKIAotICAgICAgICAvLyBCZWZvcmUgYXNraW5nIHRoZSB1c2VyIGZvciBjcmVk
ZW50aWFscywgd2UgY2hlY2sgaWYgdGhlIFVSTCBjb250YWlucyB0aGF0LgotICAgICAgICBpZiAo
IW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIuaXNFbXB0eSgpICYmICFtX2hhbmRsZS0+
Z2V0SW50ZXJuYWwoKS0+bV9wYXNzLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgdXNlcm5hbWUg
PSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyOwotICAgICAgICAgICAgcGFzc3dvcmQg
PSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzOwotCi0gICAgICAgICAgICAvLyBQcmV2
ZW50IHRoZW0gZnJvbSBiZWVuIHVzZWQgYWdhaW4gaWYgdGhleSBhcmUgd3JvbmcuCi0gICAgICAg
ICAgICAvLyBJZiB0aGV5IGFyZSBjb3JyZWN0LCB0aGV5IHdpbGwgdGhlIHB1dCBpbnRvIENyZWRl
bnRpYWxTdG9yYWdlLgotICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNl
ciA9ICIiOwotICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcyA9ICIi
OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKG1faGFuZGxlLT5maXJzdFJlcXVl
c3QoKS50YXJnZXRUeXBlKCkgIT0gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc01haW5GcmFtZSAm
JiBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U2V0dGluZ3M6Omluc3RhbmNlKCktPmlzQ2hyb21lUHJv
Y2VzcygpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKHR5cGUg
PT0gUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQKSB7CisgICAgICAgICAgICB1c2VybmFtZSA9IEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpDbGllbnQ6OmdldCgpLT5nZXRQcm94eVVzZXJuYW1lKCkuY19z
dHIoKTsKKyAgICAgICAgICAgIHBhc3N3b3JkID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaWVu
dDo6Z2V0KCktPmdldFByb3h5UGFzc3dvcmQoKS5jX3N0cigpOworICAgICAgICB9CiAKLSAgICAg
ICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UgPSBB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpOwotICAgICAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5j
aHJvbWUoKS0+Y2xpZW50KCktPnBsYXRmb3JtUGFnZUNsaWVudCgpLT5hdXRoZW50aWNhdGlvbkNo
YWxsZW5nZShuZXdVUkwsIHByb3RlY3Rpb25TcGFjZSwgQ3JlZGVudGlhbCgpLCB0aGlzKTsKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBpZiAodXNlcm5hbWUuaXNFbXB0eSgpIHx8
IHBhc3N3b3JkLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgLy8gQmVmb3JlIGFza2luZyB0aGUg
dXNlciBmb3IgY3JlZGVudGlhbHMsIHdlIGNoZWNrIGlmIHRoZSBVUkwgY29udGFpbnMgdGhhdC4K
KyAgICAgICAgICAgIGlmICghbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlci5pc0VtcHR5
KCkgJiYgIW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3MuaXNFbXB0eSgpKSB7CisgICAg
ICAgICAgICAgICAgdXNlcm5hbWUgPSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyOwor
ICAgICAgICAgICAgICAgIHBhc3N3b3JkID0gbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFz
czsKKworICAgICAgICAgICAgICAgIC8vIFByZXZlbnQgdGhlbSBmcm9tIGJlZW4gdXNlZCBhZ2Fp
biBpZiB0aGV5IGFyZSB3cm9uZy4KKyAgICAgICAgICAgICAgICAvLyBJZiB0aGV5IGFyZSBjb3Jy
ZWN0LCB0aGV5IHdpbGwgdGhlIHB1dCBpbnRvIENyZWRlbnRpYWxTdG9yYWdlLgorICAgICAgICAg
ICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIgPSAiIjsKKyAgICAgICAgICAg
ICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzID0gIiI7CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIGlmIChtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudGFy
Z2V0VHlwZSgpICE9IFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNNYWluRnJhbWUgJiYgQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0YW5jZSgpLT5pc0Nocm9tZVByb2Nlc3MoKSkK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICAgICAgbV9o
YW5kbGUtPmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlKCk7CisgICAgICAgICAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5jaHJvbWUo
KS0+Y2xpZW50KCktPnBsYXRmb3JtUGFnZUNsaWVudCgpLT5hdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZShuZXdVUkwsIHByb3RlY3Rpb25TcGFjZSwgQ3JlZGVudGlhbCgpLCB0aGlzKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogCiAgICAgICAg
IGNyZWRlbnRpYWwgPSBDcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVudGlhbFBl
cnNpc3RlbmNlRm9yU2Vzc2lvbik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165455</attachid>
            <date>2012-09-24 15:33:17 -0700</date>
            <delta_ts>2012-09-25 06:52:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97455-20120924183238.patch</filename>
            <type>text/plain</type>
            <size>5924</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBiODBkNDBiMDJjNjFj
ZGFlYTFhZDNjYjdiN2JiNzhmYTVmMzJkMy4uMjZiZmNkNzZlOGViZjBlNGZjZjlmODZhZTY3OGM1
ZjE1NGM4OGI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA5LTI0ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFJldmVydGluZyBpbXBsZW1lbnRhdGlvbiBmb3IgNDA3IGVycm9yIHBhZ2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJldmVydCAiW0JsYWNrQmVycnld
IFNob3cgY3VzdG9tIGVycm9yIHBhZ2Ugd2hlbiA0MDcgaXMgcmVjZWl2ZWQiCisgICAgICAgIFRo
aXMgcmV2ZXJ0cyBjb21taXQgZjZmZTk3ZWMzZjE4NDFhMTUxZTRlYmRkZTIxZjcxMGE2MTg1Zjlk
Ni4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5l
dHdvcmtKb2I6OmhhbmRsZU5vdGlmeVN0YXR1c1JlY2VpdmVkKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5ldHdvcmtKb2I6Om5vdGlmeUF1dGhSZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3
b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyk6CisKIDIwMTItMDktMjEgIEtlbm5l
dGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFtWOF0gQXJyYXlCdWZmZXIg
Y29kZSBzaG91bGQgbm90IHBhc3MgYSBuZWdhdGl2ZSBsZW5ndGggdG8gU2V0SW5kZXhlZFByb3Bl
cnRpZXNUb0V4dGVybmFsQXJyYXlEYXRhKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAppbmRleCA5OGViZTYw
NTk4MDY0NTJiZDRmMTI3YTJiMDNmZTk2ZTI1ZTk3M2M2Li44MGI4NzVmNjUyYWMyMGU1YWFiODgw
ZWU5Zjk0ZDdiYjAwZGFlNTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCkBAIC0xODQsMTIgKzE4NCw2
IEBAIHZvaWQgTmV0d29ya0pvYjo6aGFuZGxlTm90aWZ5U3RhdHVzUmVjZWl2ZWQoaW50IHN0YXR1
cywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIGlmIChpc0luZm8oc3RhdHVzKSkKICAgICAg
ICAgcmV0dXJuOyAvLyBpZ25vcmUKIAotICAgIC8vIExvYWQgdXAgZXJyb3IgcGFnZSBhbmQgYXNr
IHRoZSB1c2VyIHRvIGNoYW5nZSB0aGVpciB3aXJlbGVzcyBwcm94eSBzZXR0aW5ncwotICAgIGlm
IChzdGF0dXMgPT0gNDA3KSB7Ci0gICAgICAgIGNvbnN0IFJlc291cmNlRXJyb3IgZXJyb3IgPSBS
ZXNvdXJjZUVycm9yKFJlc291cmNlRXJyb3I6Omh0dHBFcnJvckRvbWFpbiwgQmxhY2tCZXJyeTo6
UGxhdGZvcm06OkZpbHRlclN0cmVhbTo6U3RhdHVzV2lmaVByb3h5QXV0aEVycm9yLCBtX3Jlc3Bv
bnNlLnVybCgpLnN0cmluZygpLCBlbXB0eVN0cmluZygpKTsKLSAgICAgICAgbV9oYW5kbGUtPmNs
aWVudCgpLT5kaWRGYWlsKG1faGFuZGxlLmdldCgpLCBlcnJvcik7Ci0gICAgfQotCiAgICAgbV9z
dGF0dXNSZWNlaXZlZCA9IHRydWU7CiAKICAgICAvLyBDb252ZXJ0IG5vbi1IVFRQIHN0YXR1cyBj
b2RlcyB0byBnZW5lcmljIEhUVFAgY29kZXMuCkBAIC0yOTQsMTAgKzI4OCwxMCBAQCB2b2lkIE5l
dHdvcmtKb2I6Om5vdGlmeUF1dGhSZWNlaXZlZChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29y
a1JlcXVlc3Q6OkF1dGhUeQogICAgICAgICB9CiAgICAgICAgIHN0b3JlQ3JlZGVudGlhbHMoKTsK
ICAgICAgICAgcmV0dXJuOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHB1cmdlQ3JlZGVudGlhbHMo
KTsKLSAgICAgICAgbV9uZXdKb2JXaXRoQ3JlZGVudGlhbHNTdGFydGVkID0gc2VuZFJlcXVlc3RX
aXRoQ3JlZGVudGlhbHMoc2VydmVyVHlwZSwgc2NoZW1lLCByZWFsbSwgcmVxdWlyZUNyZWRlbnRp
YWxzKTsKICAgICB9CisKKyAgICBwdXJnZUNyZWRlbnRpYWxzKCk7CisgICAgbV9uZXdKb2JXaXRo
Q3JlZGVudGlhbHNTdGFydGVkID0gc2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoc2VydmVyVHlw
ZSwgc2NoZW1lLCByZWFsbSwgcmVxdWlyZUNyZWRlbnRpYWxzKTsKIH0KIAogdm9pZCBOZXR3b3Jr
Sm9iOjpub3RpZnlTdHJpbmdIZWFkZXJSZWNlaXZlZChjb25zdCBTdHJpbmcmIGtleSwgY29uc3Qg
U3RyaW5nJiB2YWx1ZSkKQEAgLTcyNSw4ICs3MTksMTUgQEAgYm9vbCBOZXR3b3JrSm9iOjpzZW5k
UmVxdWVzdFdpdGhDcmVkZW50aWFscyhQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIHR5cGUsIFBy
b3QKIAogICAgIFN0cmluZyBob3N0OwogICAgIGludCBwb3J0OwotICAgIGhvc3QgPSBtX3Jlc3Bv
bnNlLnVybCgpLmhvc3QoKTsKLSAgICBwb3J0ID0gbV9yZXNwb25zZS51cmwoKS5wb3J0KCk7Cisg
ICAgaWYgKHR5cGUgPT0gUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQKSB7CisgICAgICAgIFN0cmlu
ZyBwcm94eUFkZHJlc3MgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50OjpnZXQoKS0+Z2V0
UHJveHlBZGRyZXNzKG5ld1VSTC5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSkuY19zdHIoKTsKKyAg
ICAgICAgS1VSTCBwcm94eVVSTChLVVJMKCksIHByb3h5QWRkcmVzcyk7CisgICAgICAgIGhvc3Qg
PSBwcm94eVVSTC5ob3N0KCk7CisgICAgICAgIHBvcnQgPSBwcm94eVVSTC5wb3J0KCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgaG9zdCA9IG1fcmVzcG9uc2UudXJsKCkuaG9zdCgpOworICAgICAg
ICBwb3J0ID0gbV9yZXNwb25zZS51cmwoKS5wb3J0KCk7CisgICAgfQogCiAgICAgUHJvdGVjdGlv
blNwYWNlIHByb3RlY3Rpb25TcGFjZShob3N0LCBwb3J0LCB0eXBlLCByZWFsbSwgc2NoZW1lKTsK
IApAQCAtNzUzLDIyICs3NTQsMjkgQEAgYm9vbCBOZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhD
cmVkZW50aWFscyhQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIHR5cGUsIFByb3QKICAgICAgICAg
U3RyaW5nIHVzZXJuYW1lOwogICAgICAgICBTdHJpbmcgcGFzc3dvcmQ7CiAKLSAgICAgICAgLy8g
QmVmb3JlIGFza2luZyB0aGUgdXNlciBmb3IgY3JlZGVudGlhbHMsIHdlIGNoZWNrIGlmIHRoZSBV
UkwgY29udGFpbnMgdGhhdC4KLSAgICAgICAgaWYgKCFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+
bV91c2VyLmlzRW1wdHkoKSAmJiAhbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcy5pc0Vt
cHR5KCkpIHsKLSAgICAgICAgICAgIHVzZXJuYW1lID0gbV9oYW5kbGUtPmdldEludGVybmFsKCkt
Pm1fdXNlcjsKLSAgICAgICAgICAgIHBhc3N3b3JkID0gbV9oYW5kbGUtPmdldEludGVybmFsKCkt
Pm1fcGFzczsKLQotICAgICAgICAgICAgLy8gUHJldmVudCB0aGVtIGZyb20gYmVlbiB1c2VkIGFn
YWluIGlmIHRoZXkgYXJlIHdyb25nLgotICAgICAgICAgICAgLy8gSWYgdGhleSBhcmUgY29ycmVj
dCwgdGhleSB3aWxsIHRoZSBwdXQgaW50byBDcmVkZW50aWFsU3RvcmFnZS4KLSAgICAgICAgICAg
IG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIgPSAiIjsKLSAgICAgICAgICAgIG1faGFu
ZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3MgPSAiIjsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIGlmIChtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudGFyZ2V0VHlwZSgpICE9IFJlc291
cmNlUmVxdWVzdDo6VGFyZ2V0SXNNYWluRnJhbWUgJiYgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlNl
dHRpbmdzOjppbnN0YW5jZSgpLT5pc0Nocm9tZVByb2Nlc3MoKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICh0eXBlID09IFByb3RlY3Rpb25TcGFjZVByb3h5SFRU
UCkgeworICAgICAgICAgICAgdXNlcm5hbWUgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50
OjpnZXQoKS0+Z2V0UHJveHlVc2VybmFtZSgpLmNfc3RyKCk7CisgICAgICAgICAgICBwYXNzd29y
ZCA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGllbnQ6OmdldCgpLT5nZXRQcm94eVBhc3N3b3Jk
KCkuY19zdHIoKTsKKyAgICAgICAgfQogCi0gICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJu
YWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlID0gQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKTsK
LSAgICAgICAgICAgIG1fZnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5wbGF0Zm9y
bVBhZ2VDbGllbnQoKS0+YXV0aGVudGljYXRpb25DaGFsbGVuZ2UobmV3VVJMLCBwcm90ZWN0aW9u
U3BhY2UsIENyZWRlbnRpYWwoKSwgdGhpcyk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgaWYgKHVzZXJuYW1lLmlzRW1wdHkoKSB8fCBwYXNzd29yZC5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgICAgIC8vIEJlZm9yZSBhc2tpbmcgdGhlIHVzZXIgZm9yIGNyZWRlbnRpYWxzLCB3ZSBj
aGVjayBpZiB0aGUgVVJMIGNvbnRhaW5zIHRoYXQuCisgICAgICAgICAgICBpZiAoIW1faGFuZGxl
LT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIuaXNFbXB0eSgpICYmICFtX2hhbmRsZS0+Z2V0SW50ZXJu
YWwoKS0+bV9wYXNzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIHVzZXJuYW1lID0gbV9o
YW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlcjsKKyAgICAgICAgICAgICAgICBwYXNzd29yZCA9
IG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3M7CisKKyAgICAgICAgICAgICAgICAvLyBQ
cmV2ZW50IHRoZW0gZnJvbSBiZWVuIHVzZWQgYWdhaW4gaWYgdGhleSBhcmUgd3JvbmcuCisgICAg
ICAgICAgICAgICAgLy8gSWYgdGhleSBhcmUgY29ycmVjdCwgdGhleSB3aWxsIHRoZSBwdXQgaW50
byBDcmVkZW50aWFsU3RvcmFnZS4KKyAgICAgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJu
YWwoKS0+bV91c2VyID0gIiI7CisgICAgICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFs
KCktPm1fcGFzcyA9ICIiOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBp
ZiAobV9oYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnRhcmdldFR5cGUoKSAhPSBSZXNvdXJjZVJlcXVl
c3Q6OlRhcmdldElzTWFpbkZyYW1lICYmIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTZXR0aW5nczo6
aW5zdGFuY2UoKS0+aXNDaHJvbWVQcm9jZXNzKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1
cnJlbnRXZWJDaGFsbGVuZ2UgPSBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpOworICAgICAgICAg
ICAgICAgIG1fZnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5wbGF0Zm9ybVBhZ2VD
bGllbnQoKS0+YXV0aGVudGljYXRpb25DaGFsbGVuZ2UobmV3VVJMLCBwcm90ZWN0aW9uU3BhY2Us
IENyZWRlbnRpYWwoKSwgdGhpcyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
ICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAgICBjcmVkZW50aWFsID0gQ3JlZGVudGlhbCh1
c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZUZvclNlc3Npb24pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165603</attachid>
            <date>2012-09-25 06:52:07 -0700</date>
            <delta_ts>2012-09-25 09:28:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97455-20120925095127.patch</filename>
            <type>text/plain</type>
            <size>5891</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBiODBkNDBiMDJjNjFj
ZGFlYTFhZDNjYjdiN2JiNzhmYTVmMzJkMy4uODhlMWE3MjM1YTU0Y2Q2MzgwNzNmY2RkNjQ5NzFl
ZDY3NjIzMDExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA5LTI0ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFJldmVydGluZyBpbXBsZW1lbnRhdGlvbiBmb3IgNDA3IGVycm9yIHBhZ2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJldmVydCAiW0JsYWNrQmVycnld
IFNob3cgY3VzdG9tIGVycm9yIHBhZ2Ugd2hlbiA0MDcgaXMgcmVjZWl2ZWQiCisgICAgICAgIFRo
aXMgcmV2ZXJ0cyBjb21taXQgZjZmZTk3ZWMzZjE4NDFhMTUxZTRlYmRkZTIxZjcxMGE2MTg1Zjlk
Ni4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OmhhbmRsZU5vdGlmeVN0YXR1c1JlY2Vp
dmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6Om5vdGlmeUF1dGhSZWNlaXZlZCk6
CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFs
cyk6CisKIDIwMTItMDktMjEgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAg
ICAgICAgIFtWOF0gQXJyYXlCdWZmZXIgY29kZSBzaG91bGQgbm90IHBhc3MgYSBuZWdhdGl2ZSBs
ZW5ndGggdG8gU2V0SW5kZXhlZFByb3BlcnRpZXNUb0V4dGVybmFsQXJyYXlEYXRhKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3Jr
Sm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3
b3JrSm9iLmNwcAppbmRleCA5OGViZTYwNTk4MDY0NTJiZDRmMTI3YTJiMDNmZTk2ZTI1ZTk3M2M2
Li44MGI4NzVmNjUyYWMyMGU1YWFiODgwZWU5Zjk0ZDdiYjAwZGFlNTFhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtK
b2IuY3BwCkBAIC0xODQsMTIgKzE4NCw2IEBAIHZvaWQgTmV0d29ya0pvYjo6aGFuZGxlTm90aWZ5
U3RhdHVzUmVjZWl2ZWQoaW50IHN0YXR1cywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIGlm
IChpc0luZm8oc3RhdHVzKSkKICAgICAgICAgcmV0dXJuOyAvLyBpZ25vcmUKIAotICAgIC8vIExv
YWQgdXAgZXJyb3IgcGFnZSBhbmQgYXNrIHRoZSB1c2VyIHRvIGNoYW5nZSB0aGVpciB3aXJlbGVz
cyBwcm94eSBzZXR0aW5ncwotICAgIGlmIChzdGF0dXMgPT0gNDA3KSB7Ci0gICAgICAgIGNvbnN0
IFJlc291cmNlRXJyb3IgZXJyb3IgPSBSZXNvdXJjZUVycm9yKFJlc291cmNlRXJyb3I6Omh0dHBF
cnJvckRvbWFpbiwgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkZpbHRlclN0cmVhbTo6U3RhdHVzV2lm
aVByb3h5QXV0aEVycm9yLCBtX3Jlc3BvbnNlLnVybCgpLnN0cmluZygpLCBlbXB0eVN0cmluZygp
KTsKLSAgICAgICAgbV9oYW5kbGUtPmNsaWVudCgpLT5kaWRGYWlsKG1faGFuZGxlLmdldCgpLCBl
cnJvcik7Ci0gICAgfQotCiAgICAgbV9zdGF0dXNSZWNlaXZlZCA9IHRydWU7CiAKICAgICAvLyBD
b252ZXJ0IG5vbi1IVFRQIHN0YXR1cyBjb2RlcyB0byBnZW5lcmljIEhUVFAgY29kZXMuCkBAIC0y
OTQsMTAgKzI4OCwxMCBAQCB2b2lkIE5ldHdvcmtKb2I6Om5vdGlmeUF1dGhSZWNlaXZlZChCbGFj
a0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhUeQogICAgICAgICB9CiAgICAg
ICAgIHN0b3JlQ3JlZGVudGlhbHMoKTsKICAgICAgICAgcmV0dXJuOwotICAgIH0gZWxzZSB7Ci0g
ICAgICAgIHB1cmdlQ3JlZGVudGlhbHMoKTsKLSAgICAgICAgbV9uZXdKb2JXaXRoQ3JlZGVudGlh
bHNTdGFydGVkID0gc2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoc2VydmVyVHlwZSwgc2NoZW1l
LCByZWFsbSwgcmVxdWlyZUNyZWRlbnRpYWxzKTsKICAgICB9CisKKyAgICBwdXJnZUNyZWRlbnRp
YWxzKCk7CisgICAgbV9uZXdKb2JXaXRoQ3JlZGVudGlhbHNTdGFydGVkID0gc2VuZFJlcXVlc3RX
aXRoQ3JlZGVudGlhbHMoc2VydmVyVHlwZSwgc2NoZW1lLCByZWFsbSwgcmVxdWlyZUNyZWRlbnRp
YWxzKTsKIH0KIAogdm9pZCBOZXR3b3JrSm9iOjpub3RpZnlTdHJpbmdIZWFkZXJSZWNlaXZlZChj
b25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKQEAgLTcyNSw4ICs3MTksMTUg
QEAgYm9vbCBOZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyhQcm90ZWN0aW9u
U3BhY2VTZXJ2ZXJUeXBlIHR5cGUsIFByb3QKIAogICAgIFN0cmluZyBob3N0OwogICAgIGludCBw
b3J0OwotICAgIGhvc3QgPSBtX3Jlc3BvbnNlLnVybCgpLmhvc3QoKTsKLSAgICBwb3J0ID0gbV9y
ZXNwb25zZS51cmwoKS5wb3J0KCk7CisgICAgaWYgKHR5cGUgPT0gUHJvdGVjdGlvblNwYWNlUHJv
eHlIVFRQKSB7CisgICAgICAgIFN0cmluZyBwcm94eUFkZHJlc3MgPSBCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6Q2xpZW50OjpnZXQoKS0+Z2V0UHJveHlBZGRyZXNzKG5ld1VSTC5zdHJpbmcoKS5hc2Np
aSgpLmRhdGEoKSkuY19zdHIoKTsKKyAgICAgICAgS1VSTCBwcm94eVVSTChLVVJMKCksIHByb3h5
QWRkcmVzcyk7CisgICAgICAgIGhvc3QgPSBwcm94eVVSTC5ob3N0KCk7CisgICAgICAgIHBvcnQg
PSBwcm94eVVSTC5wb3J0KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaG9zdCA9IG1fcmVzcG9u
c2UudXJsKCkuaG9zdCgpOworICAgICAgICBwb3J0ID0gbV9yZXNwb25zZS51cmwoKS5wb3J0KCk7
CisgICAgfQogCiAgICAgUHJvdGVjdGlvblNwYWNlIHByb3RlY3Rpb25TcGFjZShob3N0LCBwb3J0
LCB0eXBlLCByZWFsbSwgc2NoZW1lKTsKIApAQCAtNzUzLDIyICs3NTQsMjkgQEAgYm9vbCBOZXR3
b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyhQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJU
eXBlIHR5cGUsIFByb3QKICAgICAgICAgU3RyaW5nIHVzZXJuYW1lOwogICAgICAgICBTdHJpbmcg
cGFzc3dvcmQ7CiAKLSAgICAgICAgLy8gQmVmb3JlIGFza2luZyB0aGUgdXNlciBmb3IgY3JlZGVu
dGlhbHMsIHdlIGNoZWNrIGlmIHRoZSBVUkwgY29udGFpbnMgdGhhdC4KLSAgICAgICAgaWYgKCFt
X2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyLmlzRW1wdHkoKSAmJiAhbV9oYW5kbGUtPmdl
dEludGVybmFsKCktPm1fcGFzcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIHVzZXJuYW1lID0g
bV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlcjsKLSAgICAgICAgICAgIHBhc3N3b3JkID0g
bV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzczsKLQotICAgICAgICAgICAgLy8gUHJldmVu
dCB0aGVtIGZyb20gYmVlbiB1c2VkIGFnYWluIGlmIHRoZXkgYXJlIHdyb25nLgotICAgICAgICAg
ICAgLy8gSWYgdGhleSBhcmUgY29ycmVjdCwgdGhleSB3aWxsIHRoZSBwdXQgaW50byBDcmVkZW50
aWFsU3RvcmFnZS4KLSAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIg
PSAiIjsKLSAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3MgPSAiIjsK
LSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGlmIChtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0
KCkudGFyZ2V0VHlwZSgpICE9IFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNNYWluRnJhbWUgJiYg
QmxhY2tCZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0YW5jZSgpLT5pc0Nocm9tZVByb2Nl
c3MoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICh0eXBlID09
IFByb3RlY3Rpb25TcGFjZVByb3h5SFRUUCkgeworICAgICAgICAgICAgdXNlcm5hbWUgPSBCbGFj
a0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50OjpnZXQoKS0+Z2V0UHJveHlVc2VybmFtZSgpLmNfc3Ry
KCk7CisgICAgICAgICAgICBwYXNzd29yZCA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGllbnQ6
OmdldCgpLT5nZXRQcm94eVBhc3N3b3JkKCkuY19zdHIoKTsKKyAgICAgICAgfQogCi0gICAgICAg
ICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlID0gQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UoKTsKLSAgICAgICAgICAgIG1fZnJhbWUtPnBhZ2UoKS0+Y2hy
b21lKCktPmNsaWVudCgpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKS0+YXV0aGVudGljYXRpb25DaGFs
bGVuZ2UobmV3VVJMLCBwcm90ZWN0aW9uU3BhY2UsIENyZWRlbnRpYWwoKSwgdGhpcyk7Ci0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgaWYgKHVzZXJuYW1lLmlzRW1wdHkoKSB8fCBw
YXNzd29yZC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIC8vIEJlZm9yZSBhc2tpbmcgdGhlIHVz
ZXIgZm9yIGNyZWRlbnRpYWxzLCB3ZSBjaGVjayBpZiB0aGUgVVJMIGNvbnRhaW5zIHRoYXQuCisg
ICAgICAgICAgICBpZiAoIW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIuaXNFbXB0eSgp
ICYmICFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzLmlzRW1wdHkoKSkgeworICAgICAg
ICAgICAgICAgIHVzZXJuYW1lID0gbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlcjsKKyAg
ICAgICAgICAgICAgICBwYXNzd29yZCA9IG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3M7
CisKKyAgICAgICAgICAgICAgICAvLyBQcmV2ZW50IHRoZW0gZnJvbSBiZWVuIHVzZWQgYWdhaW4g
aWYgdGhleSBhcmUgd3JvbmcuCisgICAgICAgICAgICAgICAgLy8gSWYgdGhleSBhcmUgY29ycmVj
dCwgdGhleSB3aWxsIHRoZSBwdXQgaW50byBDcmVkZW50aWFsU3RvcmFnZS4KKyAgICAgICAgICAg
ICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyID0gIiI7CisgICAgICAgICAgICAg
ICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcyA9ICIiOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICBpZiAobV9oYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnRhcmdl
dFR5cGUoKSAhPSBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzTWFpbkZyYW1lICYmIEJsYWNrQmVy
cnk6OlBsYXRmb3JtOjpTZXR0aW5nczo6aW5zdGFuY2UoKS0+aXNDaHJvbWVQcm9jZXNzKCkpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgICAgIG1faGFu
ZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UgPSBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSgpOworICAgICAgICAgICAgICAgIG1fZnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCkt
PmNsaWVudCgpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKS0+YXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
bmV3VVJMLCBwcm90ZWN0aW9uU3BhY2UsIENyZWRlbnRpYWwoKSwgdGhpcyk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAgICBj
cmVkZW50aWFsID0gQ3JlZGVudGlhbCh1c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJz
aXN0ZW5jZUZvclNlc3Npb24pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165627</attachid>
            <date>2012-09-25 09:28:35 -0700</date>
            <delta_ts>2012-09-25 09:36:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97455-20120925122755.patch</filename>
            <type>text/plain</type>
            <size>2500</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhlMWE3MjM1YTU0Y2Q2
MzgwNzNmY2RkNjQ5NzFlZDY3NjIzMDExZi4uMTJhZWI1ZDUzYzExNzFhNjNhMmI4ZWVlZjQ1MTIw
OGEyYTk0MWM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA5LTI1ICBjb21t
aXQtcXVldWVAd2Via2l0Lm9yZyAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnQDI2OGY0NWNjLWNk
MDktMDQxMC1hYjNjLWQ1MjY5MWI0ZGJmYz4KKworICAgICAgICBbQmxhY2tCZXJyeV0gUmV2ZXJ0
aW5nIGltcGxlbWVudGF0aW9uIGZvciA0MDcgZXJyb3IgcGFnZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NDU1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIGFkZGl0aW9uYWwgZml4ZXMgdG8g
TmV0d29ya0pvYiBzaW5jZSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50CisgICAgICAgIGlz
IG5vIGxvbmdlciBhdmFsaWFibGUuIFVzaW5nIEJsYWNrQmVycnlQbGF0Zm9ybVNldHRpbmdzIHRv
IGdldCBwcm94eQorICAgICAgICBpbmZvcm1hdGlvbiBpbnN0ZWFkLgorCisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMpOgorCiAyMDEyLTA5LTI0
ICBPdHRvIERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNr
QmVycnldIFJldmVydGluZyBpbXBsZW1lbnRhdGlvbiBmb3IgNDA3IGVycm9yIHBhZ2VzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29y
a0pvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0
d29ya0pvYi5jcHAKaW5kZXggODBiODc1ZjY1MmFjMjBlNWFhYjg4MGVlOWY5NGQ3YmIwMGRhZTUx
YS4uYjE1NTE3ODNmNmE5NGU2MTE4ZmI1ZWRlY2FkMjdmOTlkZGMyYTUyYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3Jr
Sm9iLmNwcApAQCAtNzIwLDcgKzcyMCw3IEBAIGJvb2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RX
aXRoQ3JlZGVudGlhbHMoUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSB0eXBlLCBQcm90CiAgICAg
U3RyaW5nIGhvc3Q7CiAgICAgaW50IHBvcnQ7CiAgICAgaWYgKHR5cGUgPT0gUHJvdGVjdGlvblNw
YWNlUHJveHlIVFRQKSB7Ci0gICAgICAgIFN0cmluZyBwcm94eUFkZHJlc3MgPSBCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6Q2xpZW50OjpnZXQoKS0+Z2V0UHJveHlBZGRyZXNzKG5ld1VSTC5zdHJpbmco
KS5hc2NpaSgpLmRhdGEoKSkuY19zdHIoKTsKKyAgICAgICAgU3RyaW5nIHByb3h5QWRkcmVzcyA9
IFN0cmluZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U2V0dGluZ3M6Omluc3RhbmNlKCktPnByb3h5
QWRkcmVzcyhuZXdVUkwuc3RyaW5nKCkuYXNjaWkoKS5kYXRhKCkpLmNfc3RyKCkpOwogICAgICAg
ICBLVVJMIHByb3h5VVJMKEtVUkwoKSwgcHJveHlBZGRyZXNzKTsKICAgICAgICAgaG9zdCA9IHBy
b3h5VVJMLmhvc3QoKTsKICAgICAgICAgcG9ydCA9IHByb3h5VVJMLnBvcnQoKTsKQEAgLTc1NSw4
ICs3NTUsOCBAQCBib29sIE5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFBy
b3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgdHlwZSwgUHJvdAogICAgICAgICBTdHJpbmcgcGFzc3dv
cmQ7CiAKICAgICAgICAgaWYgKHR5cGUgPT0gUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQKSB7Ci0g
ICAgICAgICAgICB1c2VybmFtZSA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGllbnQ6OmdldCgp
LT5nZXRQcm94eVVzZXJuYW1lKCkuY19zdHIoKTsKLSAgICAgICAgICAgIHBhc3N3b3JkID0gQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OkNsaWVudDo6Z2V0KCktPmdldFByb3h5UGFzc3dvcmQoKS5jX3N0
cigpOworICAgICAgICAgICAgdXNlcm5hbWUgPSBTdHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06
OlNldHRpbmdzOjppbnN0YW5jZSgpLT5wcm94eVVzZXJuYW1lKCkuY19zdHIoKSk7CisgICAgICAg
ICAgICBwYXNzd29yZCA9IFN0cmluZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U2V0dGluZ3M6Omlu
c3RhbmNlKCktPnByb3h5UGFzc3dvcmQoKS5jX3N0cigpKTsKICAgICAgICAgfQogCiAgICAgICAg
IGlmICh1c2VybmFtZS5pc0VtcHR5KCkgfHwgcGFzc3dvcmQuaXNFbXB0eSgpKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165630</attachid>
            <date>2012-09-25 09:37:00 -0700</date>
            <delta_ts>2012-09-26 08:51:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97455-20120925123620.patch</filename>
            <type>text/plain</type>
            <size>2562</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhlMWE3MjM1YTU0Y2Q2
MzgwNzNmY2RkNjQ5NzFlZDY3NjIzMDExZi4uYzVhYjk0ZTdiODc2MmQyZTJlOGMxZTE3Y2NkNjc2
MGExYzY4NGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA5LTI1ICBjb21t
aXQtcXVldWVAd2Via2l0Lm9yZyAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnQDI2OGY0NWNjLWNk
MDktMDQxMC1hYjNjLWQ1MjY5MWI0ZGJmYz4KKworICAgICAgICBbQmxhY2tCZXJyeV0gUmV2ZXJ0
aW5nIGltcGxlbWVudGF0aW9uIGZvciA0MDcgZXJyb3IgcGFnZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NDU1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIGFkZGl0aW9uYWwgZml4ZXMgdG8g
TmV0d29ya0pvYiBzaW5jZSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50CisgICAgICAgIGlz
IG5vIGxvbmdlciBhdmFsaWFibGUuIFVzaW5nIEJsYWNrQmVycnlQbGF0Zm9ybVNldHRpbmdzIHRv
IGdldCBwcm94eQorICAgICAgICBpbmZvcm1hdGlvbiBpbnN0ZWFkLgorCisgICAgICAgIEJsYWNr
QmVycnlQbGF0Zm9ybUNsaWVudCB3YXMgZGVsZXRlZCBpbiBQUiAxNzAxNjAuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpOZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyk6CisKIDIwMTIt
MDktMjQgIE90dG8gRGVyZWsgQ2hldW5nICA8b3RjaGV1bmdAcmltLmNvbT4KIAogICAgICAgICBb
QmxhY2tCZXJyeV0gUmV2ZXJ0aW5nIGltcGxlbWVudGF0aW9uIGZvciA0MDcgZXJyb3IgcGFnZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9O
ZXR3b3JrSm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJy
eS9OZXR3b3JrSm9iLmNwcAppbmRleCA4MGI4NzVmNjUyYWMyMGU1YWFiODgwZWU5Zjk0ZDdiYjAw
ZGFlNTFhLi5iMTU1MTc4M2Y2YTk0ZTYxMThmYjVlZGVjYWQyN2Y5OWRkYzJhNTJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pv
Yi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05l
dHdvcmtKb2IuY3BwCkBAIC03MjAsNyArNzIwLDcgQEAgYm9vbCBOZXR3b3JrSm9iOjpzZW5kUmVx
dWVzdFdpdGhDcmVkZW50aWFscyhQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIHR5cGUsIFByb3QK
ICAgICBTdHJpbmcgaG9zdDsKICAgICBpbnQgcG9ydDsKICAgICBpZiAodHlwZSA9PSBQcm90ZWN0
aW9uU3BhY2VQcm94eUhUVFApIHsKLSAgICAgICAgU3RyaW5nIHByb3h5QWRkcmVzcyA9IEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpDbGllbnQ6OmdldCgpLT5nZXRQcm94eUFkZHJlc3MobmV3VVJMLnN0
cmluZygpLmFzY2lpKCkuZGF0YSgpKS5jX3N0cigpOworICAgICAgICBTdHJpbmcgcHJveHlBZGRy
ZXNzID0gU3RyaW5nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTZXR0aW5nczo6aW5zdGFuY2UoKS0+
cHJveHlBZGRyZXNzKG5ld1VSTC5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSkuY19zdHIoKSk7CiAg
ICAgICAgIEtVUkwgcHJveHlVUkwoS1VSTCgpLCBwcm94eUFkZHJlc3MpOwogICAgICAgICBob3N0
ID0gcHJveHlVUkwuaG9zdCgpOwogICAgICAgICBwb3J0ID0gcHJveHlVUkwucG9ydCgpOwpAQCAt
NzU1LDggKzc1NSw4IEBAIGJvb2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlh
bHMoUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSB0eXBlLCBQcm90CiAgICAgICAgIFN0cmluZyBw
YXNzd29yZDsKIAogICAgICAgICBpZiAodHlwZSA9PSBQcm90ZWN0aW9uU3BhY2VQcm94eUhUVFAp
IHsKLSAgICAgICAgICAgIHVzZXJuYW1lID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaWVudDo6
Z2V0KCktPmdldFByb3h5VXNlcm5hbWUoKS5jX3N0cigpOwotICAgICAgICAgICAgcGFzc3dvcmQg
PSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50OjpnZXQoKS0+Z2V0UHJveHlQYXNzd29yZCgp
LmNfc3RyKCk7CisgICAgICAgICAgICB1c2VybmFtZSA9IFN0cmluZyhCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6U2V0dGluZ3M6Omluc3RhbmNlKCktPnByb3h5VXNlcm5hbWUoKS5jX3N0cigpKTsKKyAg
ICAgICAgICAgIHBhc3N3b3JkID0gU3RyaW5nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTZXR0aW5n
czo6aW5zdGFuY2UoKS0+cHJveHlQYXNzd29yZCgpLmNfc3RyKCkpOwogICAgICAgICB9CiAKICAg
ICAgICAgaWYgKHVzZXJuYW1lLmlzRW1wdHkoKSB8fCBwYXNzd29yZC5pc0VtcHR5KCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165814</attachid>
            <date>2012-09-26 08:51:52 -0700</date>
            <delta_ts>2012-09-26 09:44:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97455-20120926115111.patch</filename>
            <type>text/plain</type>
            <size>3978</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzVhYjk0ZTdiODc2MmQy
ZTJlOGMxZTE3Y2NkNjc2MGExYzY4NGZlMi4uMDA1NzY1NmI2ZmIyNDY0NGE4NDFkYzI0YTg4NjE0
MzRjMWM0YmY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA5LTI2ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFJldmVydGluZyBpbXBsZW1lbnRhdGlvbiBmb3IgNDA3IGVycm9yIHBhZ2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExhc3QgZml4IHRvIE5ldHdvcmtK
b2IgdG8gaW52b2tlIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGJ5IHJlc2V0dGluZyAKKyAgICAg
ICAgQmxhY2tCZXJyeVBsYXRmb3JtU2V0dGluZ3MncyBwcm94eSBjcmVkZW50aWFscyB0byAiIiBp
ZiBhdXRoZW50aWNhdGlvbgorICAgICAgICBmYWlsZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3
b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyk6CisKIDIwMTItMDktMjUgIGNvbW1p
dC1xdWV1ZUB3ZWJraXQub3JnICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmdAMjY4ZjQ1Y2MtY2Qw
OS0wNDEwLWFiM2MtZDUyNjkxYjRkYmZjPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBSZXZlcnRp
bmcgaW1wbGVtZW50YXRpb24gZm9yIDQwNyBlcnJvciBwYWdlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCmlu
ZGV4IGIxNTUxNzgzZjZhOTRlNjExOGZiNWVkZWNhZDI3Zjk5ZGRjMmE1MmMuLjA5NTJhZmUzOWVh
ZmNjMDVlNTlmZjc3MjE2ZmJiOTNjZGNjM2NjZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKQEAgLTc1
NywyNiArNzU3LDI4IEBAIGJvb2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlh
bHMoUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSB0eXBlLCBQcm90CiAgICAgICAgIGlmICh0eXBl
ID09IFByb3RlY3Rpb25TcGFjZVByb3h5SFRUUCkgewogICAgICAgICAgICAgdXNlcm5hbWUgPSBT
dHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0YW5jZSgpLT5wcm94eVVz
ZXJuYW1lKCkuY19zdHIoKSk7CiAgICAgICAgICAgICBwYXNzd29yZCA9IFN0cmluZyhCbGFja0Jl
cnJ5OjpQbGF0Zm9ybTo6U2V0dGluZ3M6Omluc3RhbmNlKCktPnByb3h5UGFzc3dvcmQoKS5jX3N0
cigpKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHVzZXJuYW1lID0gbV9oYW5kbGUt
PmdldEludGVybmFsKCktPm1fdXNlcjsKKyAgICAgICAgICAgIHBhc3N3b3JkID0gbV9oYW5kbGUt
PmdldEludGVybmFsKCktPm1fcGFzczsKICAgICAgICAgfQogCi0gICAgICAgIGlmICh1c2VybmFt
ZS5pc0VtcHR5KCkgfHwgcGFzc3dvcmQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAvLyBCZWZv
cmUgYXNraW5nIHRoZSB1c2VyIGZvciBjcmVkZW50aWFscywgd2UgY2hlY2sgaWYgdGhlIFVSTCBj
b250YWlucyB0aGF0LgotICAgICAgICAgICAgaWYgKCFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+
bV91c2VyLmlzRW1wdHkoKSAmJiAhbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcy5pc0Vt
cHR5KCkpIHsKLSAgICAgICAgICAgICAgICB1c2VybmFtZSA9IG1faGFuZGxlLT5nZXRJbnRlcm5h
bCgpLT5tX3VzZXI7Ci0gICAgICAgICAgICAgICAgcGFzc3dvcmQgPSBtX2hhbmRsZS0+Z2V0SW50
ZXJuYWwoKS0+bV9wYXNzOwotCi0gICAgICAgICAgICAgICAgLy8gUHJldmVudCB0aGVtIGZyb20g
YmVlbiB1c2VkIGFnYWluIGlmIHRoZXkgYXJlIHdyb25nLgotICAgICAgICAgICAgICAgIC8vIElm
IHRoZXkgYXJlIGNvcnJlY3QsIHRoZXkgd2lsbCB0aGUgcHV0IGludG8gQ3JlZGVudGlhbFN0b3Jh
Z2UuCisgICAgICAgIC8vIEJlZm9yZSBhc2tpbmcgdGhlIHVzZXIgZm9yIGNyZWRlbnRpYWxzLCB3
ZSBjaGVjayBpZiB0aGUgVVJMIGNvbnRhaW5zIHRoYXQuCisgICAgICAgIGlmICghdXNlcm5hbWUu
aXNFbXB0eSgpIHx8ICFwYXNzd29yZC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIC8vIFByZXZl
bnQgdGhlbSBmcm9tIGJlZW4gdXNlZCBhZ2FpbiBpZiB0aGV5IGFyZSB3cm9uZy4KKyAgICAgICAg
ICAgIC8vIElmIHRoZXkgYXJlIGNvcnJlY3QsIHRoZXkgd2lsbCB0aGUgcHV0IGludG8gQ3JlZGVu
dGlhbFN0b3JhZ2UuCisgICAgICAgICAgICBpZiAodHlwZSA9PSBQcm90ZWN0aW9uU3BhY2VQcm94
eUhUVFApCisgICAgICAgICAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjpp
bnN0YW5jZSgpLT5zZXRQcm94eUNyZWRlbnRpYWwoIiIsICIiKTsKKyAgICAgICAgICAgIGVsc2Ug
ewogICAgICAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIgPSAiIjsK
ICAgICAgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzID0gIiI7Ci0g
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmIChtX2hhbmRsZS0+Zmlyc3RS
ZXF1ZXN0KCkudGFyZ2V0VHlwZSgpICE9IFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNNYWluRnJh
bWUgJiYgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0YW5jZSgpLT5pc0Nocm9t
ZVByb2Nlc3MoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAg
ICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCk7Ci0gICAgICAgICAgICAgICAgbV9mcmFtZS0+cGFn
ZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPnBsYXRmb3JtUGFnZUNsaWVudCgpLT5hdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShuZXdVUkwsIHByb3RlY3Rpb25TcGFjZSwgQ3JlZGVudGlhbCgpLCB0aGlz
KTsKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudGFyZ2V0
VHlwZSgpICE9IFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNNYWluRnJhbWUgJiYgQmxhY2tCZXJy
eTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0YW5jZSgpLT5pc0Nocm9tZVByb2Nlc3MoKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJ
bnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UgPSBBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSgpOworICAgICAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPnBs
YXRmb3JtUGFnZUNsaWVudCgpLT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZShuZXdVUkwsIHByb3Rl
Y3Rpb25TcGFjZSwgQ3JlZGVudGlhbCgpLCB0aGlzKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICB9CiAKICAgICAgICAgY3JlZGVudGlhbCA9IENyZWRlbnRpYWwodXNlcm5hbWUs
IHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VGb3JTZXNzaW9uKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>