<?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>92069</bug_id>
          
          <creation_ts>2012-07-23 23:56:16 -0700</creation_ts>
          <short_desc>IndexedDB: IDBTransaction::abort() should throw DOMException if &quot;finished&quot;</short_desc>
          <delta_ts>2012-07-25 19:31:00 -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 Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Xingnan Wang">xingnan.wang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>alecflett</cc>
    
    <cc>dgrogan</cc>
    
    <cc>haraken</cc>
    
    <cc>jochen</cc>
    
    <cc>jsbell</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>676442</commentid>
    <comment_count>0</comment_count>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-07-23 23:56:16 -0700</bug_when>
    <thetext>As description in http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBTransaction-abort-void</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676445</commentid>
    <comment_count>1</comment_count>
      <attachid>153971</attachid>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-07-24 00:02:36 -0700</bug_when>
    <thetext>Created attachment 153971
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676458</commentid>
    <comment_count>2</comment_count>
      <attachid>153971</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-24 00:23:43 -0700</bug_when>
    <thetext>Comment on attachment 153971
Patch

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

&gt; Source/WebCore/ChangeLog:7
&gt; +

Please add the spec link to this ChangeLog.

&gt; Source/WebCore/ChangeLog:8
&gt; +        Update storage/indexeddb/resources/transaction-abort.js to cover this case.

In WebKit convention, we write this line like this:

    Test: storage/indexeddb/transaction-abort.html

&gt; Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:196
&gt; +void IDBTransaction::abort(ExceptionCode&amp; ec)

We do not want two abort() methods if possible. How about just changing the current &apos;void abort()&apos; to &apos;void abort(ExceptionCode&amp; ec)&apos;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676466</commentid>
    <comment_count>3</comment_count>
      <attachid>153971</attachid>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-07-24 00:34:34 -0700</bug_when>
    <thetext>Comment on attachment 153971
Patch

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

Hi Kentaro,
    Thanks for your so quick response.

&gt;&gt; Source/WebCore/ChangeLog:7
&gt;&gt; +
&gt; 
&gt; Please add the spec link to this ChangeLog.

All right.

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        Update storage/indexeddb/resources/transaction-abort.js to cover this case.
&gt; 
&gt; In WebKit convention, we write this line like this:
&gt; 
&gt;     Test: storage/indexeddb/transaction-abort.html

Got it.

&gt;&gt; Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:196
&gt;&gt; +void IDBTransaction::abort(ExceptionCode&amp; ec)
&gt; 
&gt; We do not want two abort() methods if possible. How about just changing the current &apos;void abort()&apos; to &apos;void abort(ExceptionCode&amp; ec)&apos;?

abort() also needs to be called internally without throw exception, so I add another abort(ExceptionCode&amp; ec) for external calling. If I just change abort() to abort(ExceptionCode&amp; ec), all the points of call abort() need to be modified.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676469</commentid>
    <comment_count>4</comment_count>
      <attachid>153978</attachid>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-07-24 00:40:28 -0700</bug_when>
    <thetext>Created attachment 153978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676471</commentid>
    <comment_count>5</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-24 00:44:28 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; abort() also needs to be called internally without throw exception, so I add another abort(ExceptionCode&amp; ec) for external calling. If I just change abort() to abort(ExceptionCode&amp; ec), all the points of call abort() need to be modified.

Makes sense.

The patch LGTM. If jsbell@ says OK, I&apos;m happy to r+ it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676477</commentid>
    <comment_count>6</comment_count>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-07-24 00:51:48 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #3)
&gt; &gt; abort() also needs to be called internally without throw exception, so I add another abort(ExceptionCode&amp; ec) for external calling. If I just change abort() to abort(ExceptionCode&amp; ec), all the points of call abort() need to be modified.
&gt; 
&gt; Makes sense.
&gt; 
&gt; The patch LGTM. If jsbell@ says OK, I&apos;m happy to r+ it.

Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676822</commentid>
    <comment_count>7</comment_count>
      <attachid>153978</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-07-24 08:01:25 -0700</bug_when>
    <thetext>Comment on attachment 153978
Patch

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

Another nice catch. LGTM with one minor tweak.

&gt; Source/WebCore/Modules/indexeddb/IDBTransaction.h:82
&gt; +    bool abort();

Can you move this out of the &quot;Implement the IDBTransaction IDL&quot; set of methods, down with &quot;setActive&quot; and other non-IDL methods?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676825</commentid>
    <comment_count>8</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-07-24 08:06:53 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; We do not want two abort() methods if possible. How about just changing the current &apos;void abort()&apos; to &apos;void abort(ExceptionCode&amp; ec)&apos;?
&gt; 
&gt; abort() also needs to be called internally without throw exception, so I add another abort(ExceptionCode&amp; ec) for external calling. If I just change abort() to abort(ExceptionCode&amp; ec), all the points of call abort() need to be modified.

We could name the new IDL method implementation something else (e.g. abortMethod ? I can&apos;t think of anything good right now) and add an IDL attribute like we do for methods where there&apos;s a C++ keyword collision, e.g. for IDBCursor.continue:

 [ImplementedAs=continueFunction] void continue( ... ) raises ( ... );

I&apos;d also be fine with renaming the &quot;internal&quot; abort something else. (We have a foo/fooInternal naming convention, but that&apos;s usually for private static impls of callbacks.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676911</commentid>
    <comment_count>9</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-07-24 09:33:18 -0700</bug_when>
    <thetext>I vote for a single abort() - change all the internal callers to use it, and ignore the result:

ExceptionCode unused;
transaction-&gt;abort(unused)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676917</commentid>
    <comment_count>10</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-07-24 09:37:20 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; I vote for a single abort() - change all the internal callers to use it, and ignore the result:
&gt; 
&gt; ExceptionCode unused;
&gt; transaction-&gt;abort(unused)

That sounds good to me as well, possibly with a comment in the abort() code that it is idempotent for internal callers if they ignore the exception code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677657</commentid>
    <comment_count>11</comment_count>
      <attachid>154260</attachid>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-07-24 22:56:16 -0700</bug_when>
    <thetext>Created attachment 154260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677659</commentid>
    <comment_count>12</comment_count>
      <attachid>154262</attachid>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-07-24 22:59:25 -0700</bug_when>
    <thetext>Created attachment 154262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677661</commentid>
    <comment_count>13</comment_count>
      <attachid>154262</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-24 23:00:42 -0700</bug_when>
    <thetext>Comment on attachment 154262
Patch

Looks OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678787</commentid>
    <comment_count>14</comment_count>
      <attachid>154262</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-25 19:30:55 -0700</bug_when>
    <thetext>Comment on attachment 154262
Patch

Clearing flags on attachment: 154262

Committed r123698: &lt;http://trac.webkit.org/changeset/123698&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678788</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-25 19:31:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153971</attachid>
            <date>2012-07-24 00:02:36 -0700</date>
            <delta_ts>2012-07-24 00:40:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92069-20120724150754.patch</filename>
            <type>text/plain</type>
            <size>5711</size>
            <attacher name="Xingnan Wang">xingnan.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ4NzNiOGRjNzNkODhk
MDQ4NTNkMGMwYzBiN2RkNTMzZGJjMzNkOC4uNjNmYjBhZTU5Y2FjNGQ1MzVmZDRiODJkYTJhYTU1
ZWViYWRiMWE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA3LTI0ICBYaW5n
bmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29tPgorCisgICAgICAgIEluZGV4ZWREQjog
SURCVHJhbnNhY3Rpb246OmFib3J0KCkgc2hvdWxkIHRocm93IERPTUV4Y2VwdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIwNjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgc3RvcmFnZS9p
bmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWFib3J0LmpzIHRvIGNvdmVyIHRoaXMgY2Fz
ZS4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjphYm9ydCk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oOgorICAgICAg
ICAoSURCVHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uLmlkbDoKKwogMjAxMi0wNy0yMyAgSGFueWVlIEtpbSAgPGNob2NvQGNvbXBhbnkxMDAu
bmV0PgogCiAgICAgICAgIFdoZW4gdXNpbmcgVGV4dHVyZU1hcHBlciwgV2ViS2l0IGRvZXMgbm90
IHJldGFpbiBmaW5hbCB2YWx1ZSBvZiBvcGFjaXR5IGluIGFuaW1hdGlvbnMsIHVubGVzcyBpdCBp
cyBzcGVjaWZpZWQgb24gdGhlIGxhc3Qga2V5IGZyYW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IGY1ZTc2MWU2YTYy
Yzc1ODExM2QwZTkzZjgwMDUzNjY3MjU2MTkzZGQuLjhkZmFjMTc0MDk3Zjk1ZDQ3OGU1MzZkMjQ2
NTA0MTBkMzQ0NzFiN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKQEAgLTE5MywxMCArMTkzLDE3IEBAIHZvaWQgSURCVHJh
bnNhY3Rpb246OnNldEFjdGl2ZShib29sIGFjdGl2ZSkKICAgICAgICAgbV9iYWNrZW5kLT5jb21t
aXQoKTsKIH0KIAotdm9pZCBJREJUcmFuc2FjdGlvbjo6YWJvcnQoKQordm9pZCBJREJUcmFuc2Fj
dGlvbjo6YWJvcnQoRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFhYm9ydCgpKQorICAg
ICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJfSU5WQUxJRF9TVEFURV9FUlI7Cit9
CisKK2Jvb2wgSURCVHJhbnNhY3Rpb246OmFib3J0KCkKIHsKICAgICBpZiAobV9zdGF0ZSA9PSBG
aW5pc2hpbmcgfHwgbV9zdGF0ZSA9PSBGaW5pc2hlZCkKLSAgICAgICAgcmV0dXJuOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICBtX3N0YXRlID0gRmluaXNoaW5nOwogICAgIG1fYWN0aXZl
ID0gZmFsc2U7CiAKQEAgLTIwOSw2ICsyMTYsOCBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjphYm9y
dCgpCiAgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uPiBzZWxmUmVmID0gdGhpczsKICAgICBpZiAo
bV9iYWNrZW5kKQogICAgICAgICBtX2JhY2tlbmQtPmFib3J0KCk7CisKKyAgICByZXR1cm4gdHJ1
ZTsKIH0KIAogSURCVHJhbnNhY3Rpb246Ok9wZW5DdXJzb3JOb3RpZmllcjo6T3BlbkN1cnNvck5v
dGlmaWVyKFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRyYW5zYWN0aW9uLCBJREJDdXJzb3Iq
IGN1cnNvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5oCmluZGV4IDMwMzc4NjI3ZmYwZjMyZTQxNDAwYTE0ZGQyNTFiNTIyZWZkZTBjNGEu
LmU5ZDMwNzE2YjQxMzM3OWFkOTA0ZjY0YzA5ZTAyNmVjYTI1MmRlZjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaApAQCAtNzgsNyAr
NzgsOCBAQCBwdWJsaWM6CiAgICAgSURCRGF0YWJhc2UqIGRiKCkgY29uc3QgeyByZXR1cm4gbV9k
YXRhYmFzZS5nZXQoKTsgfQogICAgIFBhc3NSZWZQdHI8RE9NRXJyb3I+IGVycm9yKCkgY29uc3Qg
eyByZXR1cm4gbV9lcnJvcjsgfQogICAgIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IG9iamVj
dFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgYWJv
cnQoKTsKKyAgICB2b2lkIGFib3J0KEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBib29sIGFib3J0KCk7
CiAKICAgICBjbGFzcyBPcGVuQ3Vyc29yTm90aWZpZXIgewogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbAppbmRl
eCBkZmE5ZWQ5YTFiNmMyNGFjNDRlZjAxYWQzNzZiZDgwZGU5Y2I3OGNhLi5iNWMyMDdkZWUwOGVm
NjAxZGMxZjg2ZGY3MWIyMjNmYTQ0MDE1OWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsCkBAIC00NCw3ICs0NCw4IEBAIG1v
ZHVsZSBzdG9yYWdlIHsKICAgICAgICAgLy8gTWV0aG9kcwogICAgICAgICBJREJPYmplY3RTdG9y
ZSBvYmplY3RTdG9yZSAoaW4gRE9NU3RyaW5nIG5hbWUpCiAgICAgICAgICAgICByYWlzZXMgKElE
QkRhdGFiYXNlRXhjZXB0aW9uKTsKLSAgICAgICAgdm9pZCBhYm9ydCAoKTsKKyAgICAgICAgdm9p
ZCBhYm9ydCAoKQorICAgICAgICAgICAgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2VwdGlvbik7CiAK
ICAgICAgICAgLy8gRXZlbnRzCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYWJv
cnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYjA3M2Q5NjI1NTliMWNjMzRiMjJhNmNhOGYyZWY4MWRmYmJhMDkwZC4uYzg0
ZGJhYmYyNjUxYmY0ZWVmMDMwZWJmMmU5ODk1OTFiNzRlZTA0YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEyLTA3LTI0ICBYaW5nbmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29tPgor
CisgICAgICAgIEluZGV4ZWREQjogSURCVHJhbnNhY3Rpb246OmFib3J0KCkgc2hvdWxkIHRocm93
IERPTUV4Y2VwdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTIwNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgdGhlIGV4Y2VwdGlvbiB0ZXN0IGZvciBJREJUcmFuc2FjdGlvbjo6YWJvcnQoKS4K
KworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlvbi1hYm9y
dC5qczoKKyAgICAgICAgKHRyYW5zYWN0aW9uQWJvcnRlZCk6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTA3LTIzICBI
YW55ZWUgS2ltICA8Y2hvY29AY29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgV2ViS2l0IGRvZXMg
bm90IHJldGFpbiBmaW5hbCB2YWx1ZSBvZiBvcGFjaXR5IGluIGFuaW1hdGlvbnMsIHVubGVzcyBp
dCBpcyBzcGVjaWZpZWQgb24gdGhlIGxhc3Qga2V5IGZyYW1lCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYWJvcnQuanMgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYWJvcnQu
anMKaW5kZXggNmFkZTAyNTFjMTAwZDc5YjBmY2U2MjFjZDE0OTA3MTgyZGRiYjAzOS4uYzY4OGI2
MzQ4ZThlNWRlNjJhYTZlMjE1ZTc5YTFmM2QzZmM2MmFiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWFib3J0LmpzCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlvbi1hYm9y
dC5qcwpAQCAtOTAsNiArOTAsOSBAQCBmdW5jdGlvbiB0cmFuc2FjdGlvbkFib3J0ZWQoKQogICAg
IGFib3J0RmlyZWQgPSB0cnVlOwogCiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUu
YWRkKHt4OiAndmFsdWU1JywgeTogJ3p6ejUnfSwgJ2tleTUnKSIsICJJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiLCAiJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJv
ciciKTsKKworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInRyYW5zLmFib3J0KCkiLCAiRE9N
RXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKKyAK
ICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4IGU5
MjljZDc5NzQ5MWIzNTRjNzAzYTE4OWZlZWZkY2Y0ZDRiNjUzMDcuLjYyMzYwZDk3NjRkMWRmMGI5
MzFmNDg0OTJiN2JmOTM2YTBhYWM3MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQKQEAgLTQ1
LDYgKzQ1LDEwIEBAIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5hZGQoe3g6ICd2YWx1
ZTUnLCB5OiAnenp6NSd9LCAna2V5NScpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFT
UyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgog
UEFTUyBlbmFtZSBpcyAnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJworRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIHRyYW5zLmFib3J0KCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNT
IGNvZGUgaXMgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSCitQQVNTIGVuYW1lIGlzICdJ
bnZhbGlkU3RhdGVFcnJvcicKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVT
VCBDT01QTEVURQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153978</attachid>
            <date>2012-07-24 00:40:28 -0700</date>
            <delta_ts>2012-07-24 22:56:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92069-20120724154546.patch</filename>
            <type>text/plain</type>
            <size>5825</size>
            <attacher name="Xingnan Wang">xingnan.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ4NzNiOGRjNzNkODhk
MDQ4NTNkMGMwYzBiN2RkNTMzZGJjMzNkOC4uYWM2NmMxNDk4OGMzNjE0NDhiMzlkMmY1ZWViOGI5
YmIzM2MyMjVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA3LTI0ICBYaW5n
bmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29tPgorCisgICAgICAgIEluZGV4ZWREQjog
SURCVHJhbnNhY3Rpb246OmFib3J0KCkgc2hvdWxkIHRocm93IERPTUV4Y2VwdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIwNjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBLZWVwIGFsaWduZWQgd2l0
aCB0aGUgVzNDIHNwZWMuCisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9JbmRleGVkREIv
cmF3LWZpbGUvdGlwL092ZXJ2aWV3Lmh0bWwjd2lkbC1JREJUcmFuc2FjdGlvbi1hYm9ydC12b2lk
CisKKyAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRt
bC4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjphYm9ydCk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oOgorICAgICAg
ICAoSURCVHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uLmlkbDoKKwogMjAxMi0wNy0yMyAgSGFueWVlIEtpbSAgPGNob2NvQGNvbXBhbnkxMDAu
bmV0PgogCiAgICAgICAgIFdoZW4gdXNpbmcgVGV4dHVyZU1hcHBlciwgV2ViS2l0IGRvZXMgbm90
IHJldGFpbiBmaW5hbCB2YWx1ZSBvZiBvcGFjaXR5IGluIGFuaW1hdGlvbnMsIHVubGVzcyBpdCBp
cyBzcGVjaWZpZWQgb24gdGhlIGxhc3Qga2V5IGZyYW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IGY1ZTc2MWU2YTYy
Yzc1ODExM2QwZTkzZjgwMDUzNjY3MjU2MTkzZGQuLjhkZmFjMTc0MDk3Zjk1ZDQ3OGU1MzZkMjQ2
NTA0MTBkMzQ0NzFiN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKQEAgLTE5MywxMCArMTkzLDE3IEBAIHZvaWQgSURCVHJh
bnNhY3Rpb246OnNldEFjdGl2ZShib29sIGFjdGl2ZSkKICAgICAgICAgbV9iYWNrZW5kLT5jb21t
aXQoKTsKIH0KIAotdm9pZCBJREJUcmFuc2FjdGlvbjo6YWJvcnQoKQordm9pZCBJREJUcmFuc2Fj
dGlvbjo6YWJvcnQoRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFhYm9ydCgpKQorICAg
ICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJfSU5WQUxJRF9TVEFURV9FUlI7Cit9
CisKK2Jvb2wgSURCVHJhbnNhY3Rpb246OmFib3J0KCkKIHsKICAgICBpZiAobV9zdGF0ZSA9PSBG
aW5pc2hpbmcgfHwgbV9zdGF0ZSA9PSBGaW5pc2hlZCkKLSAgICAgICAgcmV0dXJuOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICBtX3N0YXRlID0gRmluaXNoaW5nOwogICAgIG1fYWN0aXZl
ID0gZmFsc2U7CiAKQEAgLTIwOSw2ICsyMTYsOCBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjphYm9y
dCgpCiAgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uPiBzZWxmUmVmID0gdGhpczsKICAgICBpZiAo
bV9iYWNrZW5kKQogICAgICAgICBtX2JhY2tlbmQtPmFib3J0KCk7CisKKyAgICByZXR1cm4gdHJ1
ZTsKIH0KIAogSURCVHJhbnNhY3Rpb246Ok9wZW5DdXJzb3JOb3RpZmllcjo6T3BlbkN1cnNvck5v
dGlmaWVyKFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRyYW5zYWN0aW9uLCBJREJDdXJzb3Iq
IGN1cnNvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5oCmluZGV4IDMwMzc4NjI3ZmYwZjMyZTQxNDAwYTE0ZGQyNTFiNTIyZWZkZTBjNGEu
LmU5ZDMwNzE2YjQxMzM3OWFkOTA0ZjY0YzA5ZTAyNmVjYTI1MmRlZjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaApAQCAtNzgsNyAr
NzgsOCBAQCBwdWJsaWM6CiAgICAgSURCRGF0YWJhc2UqIGRiKCkgY29uc3QgeyByZXR1cm4gbV9k
YXRhYmFzZS5nZXQoKTsgfQogICAgIFBhc3NSZWZQdHI8RE9NRXJyb3I+IGVycm9yKCkgY29uc3Qg
eyByZXR1cm4gbV9lcnJvcjsgfQogICAgIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IG9iamVj
dFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgYWJv
cnQoKTsKKyAgICB2b2lkIGFib3J0KEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBib29sIGFib3J0KCk7
CiAKICAgICBjbGFzcyBPcGVuQ3Vyc29yTm90aWZpZXIgewogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbAppbmRl
eCBkZmE5ZWQ5YTFiNmMyNGFjNDRlZjAxYWQzNzZiZDgwZGU5Y2I3OGNhLi5iNWMyMDdkZWUwOGVm
NjAxZGMxZjg2ZGY3MWIyMjNmYTQ0MDE1OWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsCkBAIC00NCw3ICs0NCw4IEBAIG1v
ZHVsZSBzdG9yYWdlIHsKICAgICAgICAgLy8gTWV0aG9kcwogICAgICAgICBJREJPYmplY3RTdG9y
ZSBvYmplY3RTdG9yZSAoaW4gRE9NU3RyaW5nIG5hbWUpCiAgICAgICAgICAgICByYWlzZXMgKElE
QkRhdGFiYXNlRXhjZXB0aW9uKTsKLSAgICAgICAgdm9pZCBhYm9ydCAoKTsKKyAgICAgICAgdm9p
ZCBhYm9ydCAoKQorICAgICAgICAgICAgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2VwdGlvbik7CiAK
ICAgICAgICAgLy8gRXZlbnRzCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYWJv
cnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYjA3M2Q5NjI1NTliMWNjMzRiMjJhNmNhOGYyZWY4MWRmYmJhMDkwZC4uYzg0
ZGJhYmYyNjUxYmY0ZWVmMDMwZWJmMmU5ODk1OTFiNzRlZTA0YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEyLTA3LTI0ICBYaW5nbmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29tPgor
CisgICAgICAgIEluZGV4ZWREQjogSURCVHJhbnNhY3Rpb246OmFib3J0KCkgc2hvdWxkIHRocm93
IERPTUV4Y2VwdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTIwNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgdGhlIGV4Y2VwdGlvbiB0ZXN0IGZvciBJREJUcmFuc2FjdGlvbjo6YWJvcnQoKS4K
KworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlvbi1hYm9y
dC5qczoKKyAgICAgICAgKHRyYW5zYWN0aW9uQWJvcnRlZCk6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTA3LTIzICBI
YW55ZWUgS2ltICA8Y2hvY29AY29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgV2ViS2l0IGRvZXMg
bm90IHJldGFpbiBmaW5hbCB2YWx1ZSBvZiBvcGFjaXR5IGluIGFuaW1hdGlvbnMsIHVubGVzcyBp
dCBpcyBzcGVjaWZpZWQgb24gdGhlIGxhc3Qga2V5IGZyYW1lCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYWJvcnQuanMgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYWJvcnQu
anMKaW5kZXggNmFkZTAyNTFjMTAwZDc5YjBmY2U2MjFjZDE0OTA3MTgyZGRiYjAzOS4uYzY4OGI2
MzQ4ZThlNWRlNjJhYTZlMjE1ZTc5YTFmM2QzZmM2MmFiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWFib3J0LmpzCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlvbi1hYm9y
dC5qcwpAQCAtOTAsNiArOTAsOSBAQCBmdW5jdGlvbiB0cmFuc2FjdGlvbkFib3J0ZWQoKQogICAg
IGFib3J0RmlyZWQgPSB0cnVlOwogCiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUu
YWRkKHt4OiAndmFsdWU1JywgeTogJ3p6ejUnfSwgJ2tleTUnKSIsICJJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiLCAiJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJv
ciciKTsKKworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInRyYW5zLmFib3J0KCkiLCAiRE9N
RXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKKyAK
ICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4IGU5
MjljZDc5NzQ5MWIzNTRjNzAzYTE4OWZlZWZkY2Y0ZDRiNjUzMDcuLjYyMzYwZDk3NjRkMWRmMGI5
MzFmNDg0OTJiN2JmOTM2YTBhYWM3MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQKQEAgLTQ1
LDYgKzQ1LDEwIEBAIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5hZGQoe3g6ICd2YWx1
ZTUnLCB5OiAnenp6NSd9LCAna2V5NScpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFT
UyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgog
UEFTUyBlbmFtZSBpcyAnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJworRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIHRyYW5zLmFib3J0KCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNT
IGNvZGUgaXMgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSCitQQVNTIGVuYW1lIGlzICdJ
bnZhbGlkU3RhdGVFcnJvcicKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVT
VCBDT01QTEVURQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154260</attachid>
            <date>2012-07-24 22:56:16 -0700</date>
            <delta_ts>2012-07-24 22:59:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92069-20120725140133.patch</filename>
            <type>text/plain</type>
            <size>6852</size>
            <attacher name="Xingnan Wang">xingnan.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ4NzNiOGRjNzNkODhk
MDQ4NTNkMGMwYzBiN2RkNTMzZGJjMzNkOC4uYWM2NmMxNDk4OGMzNjE0NDhiMzlkMmY1ZWViOGI5
YmIzM2MyMjVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA3LTI0ICBYaW5n
bmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29tPgorCisgICAgICAgIEluZGV4ZWREQjog
SURCVHJhbnNhY3Rpb246OmFib3J0KCkgc2hvdWxkIHRocm93IERPTUV4Y2VwdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIwNjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBLZWVwIGFsaWduZWQgd2l0
aCB0aGUgVzNDIHNwZWMuCisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9JbmRleGVkREIv
cmF3LWZpbGUvdGlwL092ZXJ2aWV3Lmh0bWwjd2lkbC1JREJUcmFuc2FjdGlvbi1hYm9ydC12b2lk
CisKKyAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRt
bC4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjphYm9ydCk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oOgorICAgICAg
ICAoSURCVHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uLmlkbDoKKwogMjAxMi0wNy0yMyAgSGFueWVlIEtpbSAgPGNob2NvQGNvbXBhbnkxMDAu
bmV0PgogCiAgICAgICAgIFdoZW4gdXNpbmcgVGV4dHVyZU1hcHBlciwgV2ViS2l0IGRvZXMgbm90
IHJldGFpbiBmaW5hbCB2YWx1ZSBvZiBvcGFjaXR5IGluIGFuaW1hdGlvbnMsIHVubGVzcyBpdCBp
cyBzcGVjaWZpZWQgb24gdGhlIGxhc3Qga2V5IGZyYW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcAppbmRleCBhMWVhZjI5MzBjMWExZWI4YzI3
YmNlZThlNTIyMDllODI2OTg0MzRlLi5lZTk0YjY5ZTYyYjJlNTVlYWU1M2ExODEzMmUxODg1MmIy
NWM4Njc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJS
ZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1
ZXN0LmNwcApAQCAtNDU4LDcgKzQ1OCw4IEBAIGJvb2wgSURCUmVxdWVzdDo6ZGlzcGF0Y2hFdmVu
dChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAgICBpZiAobV90cmFuc2FjdGlvbikgewogICAg
ICAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZXJyb3JFdmVudCAmJiBkb250
UHJldmVudERlZmF1bHQgJiYgIW1fcmVxdWVzdEFib3J0ZWQpIHsKICAgICAgICAgICAgIG1fdHJh
bnNhY3Rpb24tPnNldEVycm9yKG1fZXJyb3IpOwotICAgICAgICAgICAgbV90cmFuc2FjdGlvbi0+
YWJvcnQoKTsKKyAgICAgICAgICAgIEV4Y2VwdGlvbkNvZGUgdW51c2VkOworICAgICAgICAgICAg
bV90cmFuc2FjdGlvbi0+YWJvcnQodW51c2VkKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChl
dmVudC0+dHlwZSgpICE9IGV2ZW50TmFtZXMoKS5ibG9ja2VkRXZlbnQpCkBAIC00NzUsNyArNDc2
LDggQEAgdm9pZCBJREJSZXF1ZXN0Ojp1bmNhdWdodEV4Y2VwdGlvbkluRXZlbnRIYW5kbGVyKCkK
IHsKICAgICBpZiAobV90cmFuc2FjdGlvbiAmJiAhbV9yZXF1ZXN0QWJvcnRlZCkgewogICAgICAg
ICBtX3RyYW5zYWN0aW9uLT5zZXRFcnJvcihET01FcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhj
ZXB0aW9uOjpnZXRFcnJvck5hbWUoSURCRGF0YWJhc2VFeGNlcHRpb246OklEQl9BQk9SVF9FUlIp
KSk7Ci0gICAgICAgIG1fdHJhbnNhY3Rpb24tPmFib3J0KCk7CisgICAgICAgRXhjZXB0aW9uQ29k
ZSB1bnVzZWQ7IAorICAgICAgIG1fdHJhbnNhY3Rpb24tPmFib3J0KHVudXNlZCk7CiAgICAgfQog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5jcHAKaW5kZXggZjVlNzYxZTZhNjJjNzU4MTEzZDBlOTNmODAwNTM2NjcyNTYxOTNkZC4u
NzYxMjM0NzAxNDE4M2M5ZGE2MWU4ZGJhZmU2NWZhMzg1OTk5MzQ3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMTkz
LDEwICsxOTMsMTMgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6c2V0QWN0aXZlKGJvb2wgYWN0aXZl
KQogICAgICAgICBtX2JhY2tlbmQtPmNvbW1pdCgpOwogfQogCi12b2lkIElEQlRyYW5zYWN0aW9u
OjphYm9ydCgpCit2b2lkIElEQlRyYW5zYWN0aW9uOjphYm9ydChFeGNlcHRpb25Db2RlJiBlYykK
IHsKLSAgICBpZiAobV9zdGF0ZSA9PSBGaW5pc2hpbmcgfHwgbV9zdGF0ZSA9PSBGaW5pc2hlZCkK
KyAgICBpZiAobV9zdGF0ZSA9PSBGaW5pc2hpbmcgfHwgbV9zdGF0ZSA9PSBGaW5pc2hlZCkgewor
ICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJfSU5WQUxJRF9TVEFURV9FUlI7
CiAgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBtX3N0YXRlID0gRmluaXNoaW5nOwogICAg
IG1fYWN0aXZlID0gZmFsc2U7CiAKQEAgLTM4Nyw3ICszOTAsOCBAQCB2b2lkIElEQlRyYW5zYWN0
aW9uOjpzdG9wKCkKICAgICBBY3RpdmVET01PYmplY3Q6OnN0b3AoKTsKICAgICBtX2NvbnRleHRT
dG9wcGVkID0gdHJ1ZTsKIAotICAgIGFib3J0KCk7CisgICAgRXhjZXB0aW9uQ29kZSB1bnVzZWQ7
CisgICAgYWJvcnQodW51c2VkKTsKIH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6ZW5xdWV1ZUV2
ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKaW5kZXggMzAzNzg2MjdmZjBmMzJlNDE0MDBh
MTRkZDI1MWI1MjJlZmRlMGM0YS4uMWY3YWY3ZGFkMWJlOTQ4ZjZiNDE5NTdmNzllNWY2ODc0MmI5
OWFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5oCkBAIC03OCw3ICs3OCw3IEBAIHB1YmxpYzoKICAgICBJREJEYXRhYmFzZSogZGIo
KSBjb25zdCB7IHJldHVybiBtX2RhdGFiYXNlLmdldCgpOyB9CiAgICAgUGFzc1JlZlB0cjxET01F
cnJvcj4gZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9CiAgICAgUGFzc1JlZlB0cjxJ
REJPYmplY3RTdG9yZT4gb2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25D
b2RlJik7Ci0gICAgdm9pZCBhYm9ydCgpOworICAgIHZvaWQgYWJvcnQoRXhjZXB0aW9uQ29kZSYp
OwogCiAgICAgY2xhc3MgT3BlbkN1cnNvck5vdGlmaWVyIHsKICAgICBwdWJsaWM6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwKaW5k
ZXggZGZhOWVkOWExYjZjMjRhYzQ0ZWYwMWFkMzc2YmQ4MGRlOWNiNzhjYS4uYjVjMjA3ZGVlMDhl
ZjYwMWRjMWY4NmRmNzFiMjIzZmE0NDAxNTljZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbApAQCAtNDQsNyArNDQsOCBAQCBt
b2R1bGUgc3RvcmFnZSB7CiAgICAgICAgIC8vIE1ldGhvZHMKICAgICAgICAgSURCT2JqZWN0U3Rv
cmUgb2JqZWN0U3RvcmUgKGluIERPTVN0cmluZyBuYW1lKQogICAgICAgICAgICAgcmFpc2VzIChJ
REJEYXRhYmFzZUV4Y2VwdGlvbik7Ci0gICAgICAgIHZvaWQgYWJvcnQgKCk7CisgICAgICAgIHZv
aWQgYWJvcnQgKCkKKyAgICAgICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VFeGNlcHRpb24pOwog
CiAgICAgICAgIC8vIEV2ZW50cwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmFi
b3J0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGIwNzNkOTYyNTU5YjFjYzM0YjIyYTZjYThmMmVmODFkZmJiYTA5MGQuLmM4
NGRiYWJmMjY1MWJmNGVlZjAzMGViZjJlOTg5NTkxYjc0ZWUwNGMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxMi0wNy0yNCAgWGluZ25hbiBXYW5nICA8eGluZ25hbi53YW5nQGludGVsLmNvbT4K
KworICAgICAgICBJbmRleGVkREI6IElEQlRyYW5zYWN0aW9uOjphYm9ydCgpIHNob3VsZCB0aHJv
dyBET01FeGNlcHRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTkyMDY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHRoZSBleGNlcHRpb24gdGVzdCBmb3IgSURCVHJhbnNhY3Rpb246OmFib3J0KCku
CisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYWJv
cnQuanM6CisgICAgICAgICh0cmFuc2FjdGlvbkFib3J0ZWQpOgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dDoKKwogMjAxMi0wNy0yMyAg
SGFueWVlIEtpbSAgPGNob2NvQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFdlYktpdCBkb2Vz
IG5vdCByZXRhaW4gZmluYWwgdmFsdWUgb2Ygb3BhY2l0eSBpbiBhbmltYXRpb25zLCB1bmxlc3Mg
aXQgaXMgc3BlY2lmaWVkIG9uIHRoZSBsYXN0IGtleSBmcmFtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWFib3J0LmpzIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWFib3J0
LmpzCmluZGV4IDZhZGUwMjUxYzEwMGQ3OWIwZmNlNjIxY2QxNDkwNzE4MmRkYmIwMzkuLmM2ODhi
NjM0OGU4ZTVkZTYyYWE2ZTIxNWU3OWExZjNkM2ZjNjJhYmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlvbi1hYm9ydC5qcworKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYWJv
cnQuanMKQEAgLTkwLDYgKzkwLDkgQEAgZnVuY3Rpb24gdHJhbnNhY3Rpb25BYm9ydGVkKCkKICAg
ICBhYm9ydEZpcmVkID0gdHJ1ZTsKIAogICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3Jl
LmFkZCh7eDogJ3ZhbHVlNScsIHk6ICd6eno1J30sICdrZXk1JykiLCAiSURCRGF0YWJhc2VFeGNl
cHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIiwgIidUcmFuc2FjdGlvbkluYWN0aXZlRXJy
b3InIik7CisKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJ0cmFucy5hYm9ydCgpIiwgIkRP
TUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIsICInSW52YWxpZFN0YXRlRXJyb3InIik7Cisg
CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dAppbmRleCBl
OTI5Y2Q3OTc0OTFiMzU0YzcwM2ExODlmZWVmZGNmNGQ0YjY1MzA3Li42MjM2MGQ5NzY0ZDFkZjBi
OTMxZjQ4NDkyYjdiZjkzNmEwYWFjNzE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0CkBAIC00
NSw2ICs0NSwxMCBAQCBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuYWRkKHt4OiAndmFs
dWU1JywgeTogJ3p6ejUnfSwgJ2tleTUnKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBB
U1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIK
IFBBU1MgZW5hbWUgaXMgJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcicKK0V4cGVjdGluZyBleGNl
cHRpb24gZnJvbSB0cmFucy5hYm9ydCgpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFT
UyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUgorUEFTUyBlbmFtZSBpcyAn
SW52YWxpZFN0YXRlRXJyb3InCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154262</attachid>
            <date>2012-07-24 22:59:25 -0700</date>
            <delta_ts>2012-07-25 19:30:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92069-20120725140443.patch</filename>
            <type>text/plain</type>
            <size>6854</size>
            <attacher name="Xingnan Wang">xingnan.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ4NzNiOGRjNzNkODhk
MDQ4NTNkMGMwYzBiN2RkNTMzZGJjMzNkOC4uYWM2NmMxNDk4OGMzNjE0NDhiMzlkMmY1ZWViOGI5
YmIzM2MyMjVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA3LTI0ICBYaW5n
bmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29tPgorCisgICAgICAgIEluZGV4ZWREQjog
SURCVHJhbnNhY3Rpb246OmFib3J0KCkgc2hvdWxkIHRocm93IERPTUV4Y2VwdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIwNjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBLZWVwIGFsaWduZWQgd2l0
aCB0aGUgVzNDIHNwZWMuCisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9JbmRleGVkREIv
cmF3LWZpbGUvdGlwL092ZXJ2aWV3Lmh0bWwjd2lkbC1JREJUcmFuc2FjdGlvbi1hYm9ydC12b2lk
CisKKyAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRt
bC4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjphYm9ydCk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oOgorICAgICAg
ICAoSURCVHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uLmlkbDoKKwogMjAxMi0wNy0yMyAgSGFueWVlIEtpbSAgPGNob2NvQGNvbXBhbnkxMDAu
bmV0PgogCiAgICAgICAgIFdoZW4gdXNpbmcgVGV4dHVyZU1hcHBlciwgV2ViS2l0IGRvZXMgbm90
IHJldGFpbiBmaW5hbCB2YWx1ZSBvZiBvcGFjaXR5IGluIGFuaW1hdGlvbnMsIHVubGVzcyBpdCBp
cyBzcGVjaWZpZWQgb24gdGhlIGxhc3Qga2V5IGZyYW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcAppbmRleCBhMWVhZjI5MzBjMWExZWI4YzI3
YmNlZThlNTIyMDllODI2OTg0MzRlLi43ZGQzMGU5Y2ZmNWRiMDI2Mjg3Y2NjMGI0MWY2MWIwYWE5
Zjk4ODE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJS
ZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1
ZXN0LmNwcApAQCAtNDU4LDcgKzQ1OCw4IEBAIGJvb2wgSURCUmVxdWVzdDo6ZGlzcGF0Y2hFdmVu
dChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAgICBpZiAobV90cmFuc2FjdGlvbikgewogICAg
ICAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZXJyb3JFdmVudCAmJiBkb250
UHJldmVudERlZmF1bHQgJiYgIW1fcmVxdWVzdEFib3J0ZWQpIHsKICAgICAgICAgICAgIG1fdHJh
bnNhY3Rpb24tPnNldEVycm9yKG1fZXJyb3IpOwotICAgICAgICAgICAgbV90cmFuc2FjdGlvbi0+
YWJvcnQoKTsKKyAgICAgICAgICAgIEV4Y2VwdGlvbkNvZGUgdW51c2VkOworICAgICAgICAgICAg
bV90cmFuc2FjdGlvbi0+YWJvcnQodW51c2VkKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChl
dmVudC0+dHlwZSgpICE9IGV2ZW50TmFtZXMoKS5ibG9ja2VkRXZlbnQpCkBAIC00NzUsNyArNDc2
LDggQEAgdm9pZCBJREJSZXF1ZXN0Ojp1bmNhdWdodEV4Y2VwdGlvbkluRXZlbnRIYW5kbGVyKCkK
IHsKICAgICBpZiAobV90cmFuc2FjdGlvbiAmJiAhbV9yZXF1ZXN0QWJvcnRlZCkgewogICAgICAg
ICBtX3RyYW5zYWN0aW9uLT5zZXRFcnJvcihET01FcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhj
ZXB0aW9uOjpnZXRFcnJvck5hbWUoSURCRGF0YWJhc2VFeGNlcHRpb246OklEQl9BQk9SVF9FUlIp
KSk7Ci0gICAgICAgIG1fdHJhbnNhY3Rpb24tPmFib3J0KCk7CisgICAgICAgIEV4Y2VwdGlvbkNv
ZGUgdW51c2VkOyAKKyAgICAgICAgbV90cmFuc2FjdGlvbi0+YWJvcnQodW51c2VkKTsKICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uLmNwcAppbmRleCBmNWU3NjFlNmE2MmM3NTgxMTNkMGU5M2Y4MDA1MzY2NzI1NjE5M2Rk
Li43NjEyMzQ3MDE0MTgzYzlkYTYxZThkYmFmZTY1ZmEzODU5OTkzNDdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCkBAIC0x
OTMsMTAgKzE5MywxMyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpzZXRBY3RpdmUoYm9vbCBhY3Rp
dmUpCiAgICAgICAgIG1fYmFja2VuZC0+Y29tbWl0KCk7CiB9CiAKLXZvaWQgSURCVHJhbnNhY3Rp
b246OmFib3J0KCkKK3ZvaWQgSURCVHJhbnNhY3Rpb246OmFib3J0KEV4Y2VwdGlvbkNvZGUmIGVj
KQogewotICAgIGlmIChtX3N0YXRlID09IEZpbmlzaGluZyB8fCBtX3N0YXRlID09IEZpbmlzaGVk
KQorICAgIGlmIChtX3N0YXRlID09IEZpbmlzaGluZyB8fCBtX3N0YXRlID09IEZpbmlzaGVkKSB7
CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OklEQl9JTlZBTElEX1NUQVRFX0VS
UjsKICAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIG1fc3RhdGUgPSBGaW5pc2hpbmc7CiAg
ICAgbV9hY3RpdmUgPSBmYWxzZTsKIApAQCAtMzg3LDcgKzM5MCw4IEBAIHZvaWQgSURCVHJhbnNh
Y3Rpb246OnN0b3AoKQogICAgIEFjdGl2ZURPTU9iamVjdDo6c3RvcCgpOwogICAgIG1fY29udGV4
dFN0b3BwZWQgPSB0cnVlOwogCi0gICAgYWJvcnQoKTsKKyAgICBFeGNlcHRpb25Db2RlIHVudXNl
ZDsKKyAgICBhYm9ydCh1bnVzZWQpOwogfQogCiB2b2lkIElEQlRyYW5zYWN0aW9uOjplbnF1ZXVl
RXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaAppbmRleCAzMDM3ODYyN2ZmMGYzMmU0MTQw
MGExNGRkMjUxYjUyMmVmZGUwYzRhLi4xZjdhZjdkYWQxYmU5NDhmNmI0MTk1N2Y3OWU1ZjY4NzQy
Yjk5YWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJU
cmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogICAgIElEQkRhdGFiYXNlKiBk
YigpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YWJhc2UuZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPERP
TUVycm9yPiBlcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3I7IH0KICAgICBQYXNzUmVmUHRy
PElEQk9iamVjdFN0b3JlPiBvYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlv
bkNvZGUmKTsKLSAgICB2b2lkIGFib3J0KCk7CisgICAgdm9pZCBhYm9ydChFeGNlcHRpb25Db2Rl
Jik7CiAKICAgICBjbGFzcyBPcGVuQ3Vyc29yTm90aWZpZXIgewogICAgIHB1YmxpYzoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbApp
bmRleCBkZmE5ZWQ5YTFiNmMyNGFjNDRlZjAxYWQzNzZiZDgwZGU5Y2I3OGNhLi5iNWMyMDdkZWUw
OGVmNjAxZGMxZjg2ZGY3MWIyMjNmYTQ0MDE1OWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsCkBAIC00NCw3ICs0NCw4IEBA
IG1vZHVsZSBzdG9yYWdlIHsKICAgICAgICAgLy8gTWV0aG9kcwogICAgICAgICBJREJPYmplY3RT
dG9yZSBvYmplY3RTdG9yZSAoaW4gRE9NU3RyaW5nIG5hbWUpCiAgICAgICAgICAgICByYWlzZXMg
KElEQkRhdGFiYXNlRXhjZXB0aW9uKTsKLSAgICAgICAgdm9pZCBhYm9ydCAoKTsKKyAgICAgICAg
dm9pZCBhYm9ydCAoKQorICAgICAgICAgICAgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2VwdGlvbik7
CiAKICAgICAgICAgLy8gRXZlbnRzCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9u
YWJvcnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggYjA3M2Q5NjI1NTliMWNjMzRiMjJhNmNhOGYyZWY4MWRmYmJhMDkwZC4u
Yzg0ZGJhYmYyNjUxYmY0ZWVmMDMwZWJmMmU5ODk1OTFiNzRlZTA0YyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDEyLTA3LTI0ICBYaW5nbmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29t
PgorCisgICAgICAgIEluZGV4ZWREQjogSURCVHJhbnNhY3Rpb246OmFib3J0KCkgc2hvdWxkIHRo
cm93IERPTUV4Y2VwdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTIwNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgdGhlIGV4Y2VwdGlvbiB0ZXN0IGZvciBJREJUcmFuc2FjdGlvbjo6YWJvcnQo
KS4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlvbi1h
Ym9ydC5qczoKKyAgICAgICAgKHRyYW5zYWN0aW9uQWJvcnRlZCk6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTA3LTIz
ICBIYW55ZWUgS2ltICA8Y2hvY29AY29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgV2ViS2l0IGRv
ZXMgbm90IHJldGFpbiBmaW5hbCB2YWx1ZSBvZiBvcGFjaXR5IGluIGFuaW1hdGlvbnMsIHVubGVz
cyBpdCBpcyBzcGVjaWZpZWQgb24gdGhlIGxhc3Qga2V5IGZyYW1lCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYWJvcnQuanMg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYWJv
cnQuanMKaW5kZXggNmFkZTAyNTFjMTAwZDc5YjBmY2U2MjFjZDE0OTA3MTgyZGRiYjAzOS4uYzY4
OGI2MzQ4ZThlNWRlNjJhYTZlMjE1ZTc5YTFmM2QzZmM2MmFiZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWFib3J0LmpzCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlvbi1h
Ym9ydC5qcwpAQCAtOTAsNiArOTAsOSBAQCBmdW5jdGlvbiB0cmFuc2FjdGlvbkFib3J0ZWQoKQog
ICAgIGFib3J0RmlyZWQgPSB0cnVlOwogCiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3Rv
cmUuYWRkKHt4OiAndmFsdWU1JywgeTogJ3p6ejUnfSwgJ2tleTUnKSIsICJJREJEYXRhYmFzZUV4
Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiLCAiJ1RyYW5zYWN0aW9uSW5hY3RpdmVF
cnJvciciKTsKKworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInRyYW5zLmFib3J0KCkiLCAi
RE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsK
KyAKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4
IGU5MjljZDc5NzQ5MWIzNTRjNzAzYTE4OWZlZWZkY2Y0ZDRiNjUzMDcuLjYyMzYwZDk3NjRkMWRm
MGI5MzFmNDg0OTJiN2JmOTM2YTBhYWM3MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQKQEAg
LTQ1LDYgKzQ1LDEwIEBAIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5hZGQoe3g6ICd2
YWx1ZTUnLCB5OiAnenp6NSd9LCAna2V5NScpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgog
UEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VS
UgogUEFTUyBlbmFtZSBpcyAnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJworRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHRyYW5zLmFib3J0KCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQ
QVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSCitQQVNTIGVuYW1lIGlz
ICdJbnZhbGlkU3RhdGVFcnJvcicKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>