<?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>101990</bug_id>
          
          <creation_ts>2012-11-12 14:20:13 -0800</creation_ts>
          <short_desc>IndexedDB: storage/indexeddb/cursor-prev-no-duplicate.html is flaky</short_desc>
          <delta_ts>2012-11-12 19:39:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>alecflett</cc>
    
    <cc>dgrogan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>764822</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-12 14:20:13 -0800</bug_when>
    <thetext>IndexedDB: storage/indexeddb/cursor-prev-no-duplicate.html is flaky</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764823</commentid>
    <comment_count>1</comment_count>
      <attachid>173724</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-12 14:20:45 -0800</bug_when>
    <thetext>Created attachment 173724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764844</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-12 14:38:38 -0800</bug_when>
    <thetext>Flakiness dashboard link:

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showExpectations=true&amp;tests=storage%2Findexeddb%2Fcursor-prev-no-duplicate.html

Each sub-test relied on request.onsuccess to trigger the next sub-test or finish the overall test, also output &quot;DONE&quot; on transaction.oncomplete. That final &quot;DONE&quot; could be output before or after the test&apos;s output was captured, resulting in flaky behavior.

Moved the sub-test scheduling to transaction.oncomplete, removed some redundant logging, and refactored slightly for readability.

dgrogan@ - can you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764849</commentid>
    <comment_count>3</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-12 14:45:49 -0800</bug_when>
    <thetext>I probably need to rebase this on tip-of-tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764857</commentid>
    <comment_count>4</comment_count>
      <attachid>173734</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-12 14:55:06 -0800</bug_when>
    <thetext>Created attachment 173734
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764874</commentid>
    <comment_count>5</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-12 15:12:27 -0800</bug_when>
    <thetext>LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764878</commentid>
    <comment_count>6</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-12 15:17:05 -0800</bug_when>
    <thetext>tony@ - r? cq?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765138</commentid>
    <comment_count>7</comment_count>
      <attachid>173734</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 19:39:21 -0800</bug_when>
    <thetext>Comment on attachment 173734
Patch

Clearing flags on attachment: 173734

Committed r134343: &lt;http://trac.webkit.org/changeset/134343&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765139</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 19:39:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173724</attachid>
            <date>2012-11-12 14:20:45 -0800</date>
            <delta_ts>2012-11-12 14:55:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101990-20121112141848.patch</filename>
            <type>text/plain</type>
            <size>14224</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTgzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzJhZTlkYjJjOGYzMzQ5MzYxYTcz
YTFhOTBhOTNjNjU5OTNjM2Y5MC4uYjUxZTFmMWE5YjlmNzIyYTA5OWQyNGQ5OWM2Yjk0ZTgzZjIx
NzMzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTExLTEyICBKb3NodWEgQmVsbCAgPGpz
YmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBzdG9yYWdlL2luZGV4ZWRk
Yi9jdXJzb3ItcHJldi1uby1kdXBsaWNhdGUuaHRtbCBpcyBmbGFreQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxOTkwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmFjZSBjb25kaXRpb24gaW4gdGVzdCBs
ZWFkcyB0byBmbGFreSBiZWhhdmlvci4gUmVmYWN0b3IgdGVzdCB0byByZW1vdmUgZmxha2UKKyAg
ICAgICAgYW5kIGNsZWFuIHVwIG91dHB1dC4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1wcmV2LW5vLWR1cGxpY2F0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvcmVzb3VyY2VzL2N1cnNvci1wcmV2LW5vLWR1cGxpY2F0ZS5qczoKKyAgICAg
ICAgKHRlc3RGYXJSYW5nZUN1cnNvcl9jbG9zZWQpOgorICAgICAgICAoLnRyYW5zLm9uY29tcGxl
dGUpOgorICAgICAgICAoLnN0b3JlUmVxLm9uc3VjY2Vzcyk6CisgICAgICAgIChydW5UZXN0KToK
KwogMjAxMi0xMS0xMSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNDE0NC4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1wcmV2LW5vLWR1cGxpY2F0ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJldi1u
by1kdXBsaWNhdGUtZXhwZWN0ZWQudHh0CmluZGV4IGFmNzQyN2YwODk5MmFmZGUxYjM0ZjVmZjc0
ZWJiYWJjY2ZjMmUwMDQuLjI4MTMyMzM0Nzk5MmQ2YWRlNzhkYzg1OTMwYzI0YzA0NDJkOTczYzMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1wcmV2LW5v
LWR1cGxpY2F0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLXByZXYtbm8tZHVwbGljYXRlLWV4cGVjdGVkLnR4dApAQCAtMjMsMTAzICsyMyw5
MCBAQCBzdG9yZS5wdXQoe3NvcnRlZDogMSwgdmFsdWU6IDMzM30sIDMpCiBzdG9yZS5wdXQoe3Nv
cnRlZDogMTAsIHZhbHVlOiA0NDR9LCAxNykKIHN0b3JlLnB1dCh7c29ydGVkOiAxMCwgdmFsdWU6
IDU1NX0sIDE2KQogc3RvcmUucHV0KHtzb3J0ZWQ6IDEwLCB2YWx1ZTogNjY2fSwgMTUpCisKIHRl
c3RGYXJSYW5nZUN1cnNvcjogdXBwZXIgYm91bmQgaXMgd2VsbCBvdXQgb2YgcmFuZ2UsIHJlc3Vs
dHMgYWx3YXlzIHRoZSBzYW1lLCB3aGV0aGVyIG9wZW4gb3IgY2xvc2VkCiBzdG9yZVJlcSA9IHN0
b3JlLm9wZW5DdXJzb3IoSURCS2V5UmFuZ2UudXBwZXJCb3VuZCg3LCBmYWxzZSksICdwcmV2JykK
LQotVGVzdGluZzogc3RvcmUub3BlbkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDcsIGZh
bHNlKSwgJ3ByZXYnKQogUEFTUyBjdXJzb3Iua2V5IGlzIDMKIFBBU1MgY3Vyc29yLnZhbHVlLnZh
bHVlIGlzIDMzMwotc3RvcmVSZXEgPSBzdG9yZS5vcGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVy
Qm91bmQoNywgdHJ1ZSksICdwcmV2JykKIERPTkUKIAotVGVzdGluZzogc3RvcmUub3BlbkN1cnNv
cihJREJLZXlSYW5nZS51cHBlckJvdW5kKDcsIHRydWUpLCAncHJldicpCitzdG9yZVJlcSA9IHN0
b3JlLm9wZW5DdXJzb3IoSURCS2V5UmFuZ2UudXBwZXJCb3VuZCg3LCB0cnVlKSwgJ3ByZXYnKQog
UEFTUyBjdXJzb3Iua2V5IGlzIDMKIFBBU1MgY3Vyc29yLnZhbHVlLnZhbHVlIGlzIDMzMwotc3Rv
cmVSZXEgPSBpbmRleC5vcGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoNywgZmFsc2Up
LCAncHJldicpCiBET05FCiAKLVRlc3Rpbmc6IGluZGV4Lm9wZW5DdXJzb3IoSURCS2V5UmFuZ2Uu
dXBwZXJCb3VuZCg3LCBmYWxzZSksICdwcmV2JykKK3N0b3JlUmVxID0gaW5kZXgub3BlbkN1cnNv
cihJREJLZXlSYW5nZS51cHBlckJvdW5kKDcsIGZhbHNlKSwgJ3ByZXYnKQogUEFTUyBjdXJzb3Iu
a2V5IGlzIDMKIFBBU1MgY3Vyc29yLnZhbHVlLnZhbHVlIGlzIDExMQogUEFTUyBjdXJzb3IucHJp
bWFyeUtleSBpcyAxCi1zdG9yZVJlcSA9IGluZGV4Lm9wZW5DdXJzb3IoSURCS2V5UmFuZ2UudXBw
ZXJCb3VuZCg3LCB0cnVlKSwgJ3ByZXYnKQogRE9ORQogCi1UZXN0aW5nOiBpbmRleC5vcGVuQ3Vy
c29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoNywgdHJ1ZSksICdwcmV2JykKK3N0b3JlUmVxID0g
aW5kZXgub3BlbkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDcsIHRydWUpLCAncHJldicp
CiBQQVNTIGN1cnNvci5rZXkgaXMgMwogUEFTUyBjdXJzb3IudmFsdWUudmFsdWUgaXMgMTExCiBQ
QVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIDEKLXN0b3JlUmVxID0gaW5kZXgub3BlbktleUN1cnNv
cihJREJLZXlSYW5nZS51cHBlckJvdW5kKDcsIGZhbHNlKSwgJ3ByZXYnKQogRE9ORQogCi1UZXN0
aW5nOiBpbmRleC5vcGVuS2V5Q3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoNywgZmFsc2Up
LCAncHJldicpCitzdG9yZVJlcSA9IGluZGV4Lm9wZW5LZXlDdXJzb3IoSURCS2V5UmFuZ2UudXBw
ZXJCb3VuZCg3LCBmYWxzZSksICdwcmV2JykKIFBBU1MgY3Vyc29yLmtleSBpcyAzCiBQQVNTIGN1
cnNvci5wcmltYXJ5S2V5IGlzIDEKLXN0b3JlUmVxID0gaW5kZXgub3BlbktleUN1cnNvcihJREJL
ZXlSYW5nZS51cHBlckJvdW5kKDcsIHRydWUpLCAncHJldicpCiBET05FCiAKLVRlc3Rpbmc6IGlu
ZGV4Lm9wZW5LZXlDdXJzb3IoSURCS2V5UmFuZ2UudXBwZXJCb3VuZCg3LCB0cnVlKSwgJ3ByZXYn
KQorc3RvcmVSZXEgPSBpbmRleC5vcGVuS2V5Q3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQo
NywgdHJ1ZSksICdwcmV2JykKIFBBU1MgY3Vyc29yLmtleSBpcyAzCiBQQVNTIGN1cnNvci5wcmlt
YXJ5S2V5IGlzIDEKLXN0b3JlUmVxID0gc3RvcmUub3BlbkN1cnNvcihJREJLZXlSYW5nZS51cHBl
ckJvdW5kKDMsIGZhbHNlKSwgJ3ByZXYnKQogRE9ORQogCi1UZXN0aW5nOiBzdG9yZS5vcGVuQ3Vy
c29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMywgZmFsc2UpLCAncHJldicpCitzdG9yZVJlcSA9
IHN0b3JlLm9wZW5DdXJzb3IoSURCS2V5UmFuZ2UudXBwZXJCb3VuZCgzLCBmYWxzZSksICdwcmV2
JykKIFBBU1MgY3Vyc29yLmtleSBpcyAzCiBQQVNTIGN1cnNvci52YWx1ZS52YWx1ZSBpcyAzMzMK
LXN0b3JlUmVxID0gc3RvcmUub3BlbkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDMsIHRy
dWUpLCAncHJldicpCiBET05FCiAKLVRlc3Rpbmc6IHN0b3JlLm9wZW5DdXJzb3IoSURCS2V5UmFu
Z2UudXBwZXJCb3VuZCgzLCB0cnVlKSwgJ3ByZXYnKQorc3RvcmVSZXEgPSBzdG9yZS5vcGVuQ3Vy
c29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMywgdHJ1ZSksICdwcmV2JykKIFBBU1MgY3Vyc29y
LmtleSBpcyAyCiBQQVNTIGN1cnNvci52YWx1ZS52YWx1ZSBpcyAyMjIKLXN0b3JlUmVxID0gaW5k
ZXgub3BlbkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDMsIGZhbHNlKSwgJ3ByZXYnKQog
RE9ORQogCi1UZXN0aW5nOiBpbmRleC5vcGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQo
MywgZmFsc2UpLCAncHJldicpCitzdG9yZVJlcSA9IGluZGV4Lm9wZW5DdXJzb3IoSURCS2V5UmFu
Z2UudXBwZXJCb3VuZCgzLCBmYWxzZSksICdwcmV2JykKIFBBU1MgY3Vyc29yLmtleSBpcyAzCiBQ
QVNTIGN1cnNvci52YWx1ZS52YWx1ZSBpcyAxMTEKIFBBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMg
MQotc3RvcmVSZXEgPSBpbmRleC5vcGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMywg
dHJ1ZSksICdwcmV2JykKIERPTkUKIAotVGVzdGluZzogaW5kZXgub3BlbkN1cnNvcihJREJLZXlS
YW5nZS51cHBlckJvdW5kKDMsIHRydWUpLCAncHJldicpCitzdG9yZVJlcSA9IGluZGV4Lm9wZW5D
dXJzb3IoSURCS2V5UmFuZ2UudXBwZXJCb3VuZCgzLCB0cnVlKSwgJ3ByZXYnKQogUEFTUyBjdXJz
b3Iua2V5IGlzIDIKIFBBU1MgY3Vyc29yLnZhbHVlLnZhbHVlIGlzIDIyMgogUEFTUyBjdXJzb3Iu
cHJpbWFyeUtleSBpcyAyCi1zdG9yZVJlcSA9IGluZGV4Lm9wZW5LZXlDdXJzb3IoSURCS2V5UmFu
Z2UudXBwZXJCb3VuZCgzLCBmYWxzZSksICdwcmV2JykKIERPTkUKIAotVGVzdGluZzogaW5kZXgu
b3BlbktleUN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDMsIGZhbHNlKSwgJ3ByZXYnKQor
c3RvcmVSZXEgPSBpbmRleC5vcGVuS2V5Q3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMywg
ZmFsc2UpLCAncHJldicpCiBQQVNTIGN1cnNvci5rZXkgaXMgMwogUEFTUyBjdXJzb3IucHJpbWFy
eUtleSBpcyAxCi1zdG9yZVJlcSA9IGluZGV4Lm9wZW5LZXlDdXJzb3IoSURCS2V5UmFuZ2UudXBw
ZXJCb3VuZCgzLCB0cnVlKSwgJ3ByZXYnKQogRE9ORQogCi1UZXN0aW5nOiBpbmRleC5vcGVuS2V5
Q3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMywgdHJ1ZSksICdwcmV2JykKK3N0b3JlUmVx
ID0gaW5kZXgub3BlbktleUN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDMsIHRydWUpLCAn
cHJldicpCiBQQVNTIGN1cnNvci5rZXkgaXMgMgogUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyAy
Ci10ZXN0Tm9EdXBsaWNhdGU6IHRoZXJlIGFyZSAzIHZhbHVlcywgYnV0IHdlIHNob3VsZCByZXR1
cm4gYWx3YXlzIHRoZSBmaXJzdCBvbmUKLXN0b3JlUmVxID0gc3RvcmUub3BlbkN1cnNvcihJREJL
ZXlSYW5nZS51cHBlckJvdW5kKDE1LCBmYWxzZSksICdwcmV2dW5pcXVlJykKIERPTkUKIAotVGVz
dGluZzogc3RvcmUub3BlbkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDE1LCBmYWxzZSks
ICdwcmV2dW5pcXVlJykKK3Rlc3ROb0R1cGxpY2F0ZTogdGhlcmUgYXJlIDMgdmFsdWVzLCBidXQg
d2Ugc2hvdWxkIHJldHVybiBhbHdheXMgdGhlIGZpcnN0IG9uZQorc3RvcmVSZXEgPSBzdG9yZS5v
cGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMTUsIGZhbHNlKSwgJ3ByZXZ1bmlxdWUn
KQogUEFTUyBjdXJzb3Iua2V5IGlzIDE1CiBQQVNTIGN1cnNvci52YWx1ZS52YWx1ZSBpcyA2NjYK
IFBBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgMTUKLXN0b3JlUmVxID0gaW5kZXgub3BlbkN1cnNv
cihJREJLZXlSYW5nZS51cHBlckJvdW5kKDE1LCBmYWxzZSksICdwcmV2dW5pcXVlJykKIERPTkUK
IAotVGVzdGluZzogaW5kZXgub3BlbkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDE1LCBm
YWxzZSksICdwcmV2dW5pcXVlJykKK3N0b3JlUmVxID0gaW5kZXgub3BlbkN1cnNvcihJREJLZXlS
YW5nZS51cHBlckJvdW5kKDE1LCBmYWxzZSksICdwcmV2dW5pcXVlJykKIFBBU1MgY3Vyc29yLmtl
eSBpcyAxMAogUEFTUyBjdXJzb3IudmFsdWUudmFsdWUgaXMgNjY2CiBQQVNTIGN1cnNvci5wcmlt
YXJ5S2V5IGlzIDE1Ci1zdG9yZVJlcSA9IGluZGV4Lm9wZW5LZXlDdXJzb3IoSURCS2V5UmFuZ2Uu
dXBwZXJCb3VuZCgxNSwgZmFsc2UpLCAncHJldnVuaXF1ZScpCiBET05FCiAKLVRlc3Rpbmc6IGlu
ZGV4Lm9wZW5LZXlDdXJzb3IoSURCS2V5UmFuZ2UudXBwZXJCb3VuZCgxNSwgZmFsc2UpLCAncHJl
dnVuaXF1ZScpCitzdG9yZVJlcSA9IGluZGV4Lm9wZW5LZXlDdXJzb3IoSURCS2V5UmFuZ2UudXBw
ZXJCb3VuZCgxNSwgZmFsc2UpLCAncHJldnVuaXF1ZScpCiBQQVNTIGN1cnNvci5rZXkgaXMgMTAK
IFBBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgMTUKK0RPTkUKKwogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvY3Vyc29yLXByZXYtbm8tZHVwbGljYXRlLmpzIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2N1cnNvci1wcmV2LW5vLWR1
cGxpY2F0ZS5qcwppbmRleCAyYjA4MzNiYzcyMDYwM2EzZjhjZWQyZjRjMGU3NTQxNjQyNWQ5NDA1
Li40NzEzY2Y2MjM2MjRmZGQxMWVhZmQ5ZDIxMDg1NmMzNDY5YjZiZjQ1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvY3Vyc29yLXByZXYtbm8tZHVw
bGljYXRlLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9j
dXJzb3ItcHJldi1uby1kdXBsaWNhdGUuanMKQEAgLTUzLDc2ICs1Myw3NyBAQCBmdW5jdGlvbiBw
b3B1bGF0ZVN0b3JlKCkKIAogZnVuY3Rpb24gdGVzdEZhclJhbmdlQ3Vyc29yX2Nsb3NlZCgpCiB7
CisgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJ0ZXN0RmFyUmFuZ2VDdXJzb3I6IHVwcGVyIGJv
dW5kIGlzIHdlbGwgb3V0IG9mIHJhbmdlLCByZXN1bHRzIGFsd2F5cyB0aGUgc2FtZSwgd2hldGhl
ciBvcGVuIG9yIGNsb3NlZCIpOwogCiAgICAgcnVuVGVzdChtYWtlT3BlbkN1cnNvcigic3RvcmUi
LCA3LCBmYWxzZSwgIidwcmV2JyIpLAotICAgICAgICAgICAgeyBleHBlY3RlZFZhbHVlOiAzMzMs
IGV4cGVjdGVkS2V5OiAzfSkub25zdWNjZXNzID0KLSAgICAgICAgICAgICAgICB0ZXN0RmFyUmFu
Z2VDdXJzb3Jfb3BlbjsKKyAgICAgICAgICAgIHsgZXhwZWN0ZWRWYWx1ZTogMzMzLCBleHBlY3Rl
ZEtleTogM30sCisgICAgICAgICAgICB0ZXN0RmFyUmFuZ2VDdXJzb3Jfb3Blbik7CiB9CiAKIGZ1
bmN0aW9uIHRlc3RGYXJSYW5nZUN1cnNvcl9vcGVuKCkKIHsKICAgICBydW5UZXN0KG1ha2VPcGVu
Q3Vyc29yKCJzdG9yZSIsIDcsIHRydWUsICIncHJldiciKSwKLSAgICAgICAgICAgIHsgZXhwZWN0
ZWRWYWx1ZTogMzMzLCBleHBlY3RlZEtleTogM30pLm9uc3VjY2VzcyA9Ci0gICAgICAgICAgICAg
ICAgdGVzdEZhclJhbmdlQ3Vyc29yX2luZGV4Q2xvc2VkOworICAgICAgICAgICAgeyBleHBlY3Rl
ZFZhbHVlOiAzMzMsIGV4cGVjdGVkS2V5OiAzfSwKKyAgICAgICAgICAgIHRlc3RGYXJSYW5nZUN1
cnNvcl9pbmRleENsb3NlZCk7CiB9CiAKIGZ1bmN0aW9uIHRlc3RGYXJSYW5nZUN1cnNvcl9pbmRl
eENsb3NlZCgpCiB7Ci0gICAgICAgIC8vIGhlcmUgJzcnIHJlZmVycyB0byB0aGUgJ3NvcnRlZCcg
dmFsdWUKLSAgICAgICAgcnVuVGVzdChtYWtlT3BlbkN1cnNvcigiaW5kZXgiLCA3LCBmYWxzZSwg
IidwcmV2JyIpLAotICAgICAgICAgICAgICAgIHsgZXhwZWN0ZWRWYWx1ZTogMTExLCBleHBlY3Rl
ZEtleTogMywgZXhwZWN0ZWRQcmltYXJ5S2V5OiAxfSkub25zdWNjZXNzID0KLSAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhclJhbmdlQ3Vyc29yX2luZGV4T3BlbjsKKyAgICAvLyBoZXJlICc3JyBy
ZWZlcnMgdG8gdGhlICdzb3J0ZWQnIHZhbHVlCisgICAgcnVuVGVzdChtYWtlT3BlbkN1cnNvcigi
aW5kZXgiLCA3LCBmYWxzZSwgIidwcmV2JyIpLAorICAgICAgICAgICAgeyBleHBlY3RlZFZhbHVl
OiAxMTEsIGV4cGVjdGVkS2V5OiAzLCBleHBlY3RlZFByaW1hcnlLZXk6IDF9LAorICAgICAgICAg
ICAgdGVzdEZhclJhbmdlQ3Vyc29yX2luZGV4T3Blbik7CiB9CiBmdW5jdGlvbiB0ZXN0RmFyUmFu
Z2VDdXJzb3JfaW5kZXhPcGVuKCkKIHsKICAgICBydW5UZXN0KG1ha2VPcGVuQ3Vyc29yKCJpbmRl
eCIsIDcsIHRydWUsICIncHJldiciKSwKLSAgICAgICAgICAgIHsgZXhwZWN0ZWRWYWx1ZTogMTEx
LCBleHBlY3RlZEtleTogMywgZXhwZWN0ZWRQcmltYXJ5S2V5OiAxfSkub25zdWNjZXNzID0KLSAg
ICAgICAgICAgICAgICB0ZXN0RmFyUmFuZ2VDdXJzb3JfaW5kZXhLZXlPcGVuOworICAgICAgICAg
ICAgeyBleHBlY3RlZFZhbHVlOiAxMTEsIGV4cGVjdGVkS2V5OiAzLCBleHBlY3RlZFByaW1hcnlL
ZXk6IDF9LAorICAgICAgICAgICAgdGVzdEZhclJhbmdlQ3Vyc29yX2luZGV4S2V5T3Blbik7CiB9
CiAKIGZ1bmN0aW9uIHRlc3RGYXJSYW5nZUN1cnNvcl9pbmRleEtleU9wZW4oKQogewogICAgIC8v
IGhlcmUgJzcnIHJlZmVycyB0byB0aGUgc29ydGVkIHZhbHVlCiAgICAgcnVuVGVzdChtYWtlT3Bl
bktleUN1cnNvcigiaW5kZXgiLCA3LCBmYWxzZSwgIidwcmV2JyIpLAotICAgICAgICAgICAgeyBl
eHBlY3RlZEtleTogMywgZXhwZWN0ZWRQcmltYXJ5S2V5OiAxfSkub25zdWNjZXNzID0KLSAgICAg
ICAgICAgICAgICB0ZXN0RmFyUmFuZ2VDdXJzb3JfaW5kZXhLZXlDbG9zZWQ7CisgICAgICAgICAg
ICB7IGV4cGVjdGVkS2V5OiAzLCBleHBlY3RlZFByaW1hcnlLZXk6IDF9LAorICAgICAgICAgICAg
dGVzdEZhclJhbmdlQ3Vyc29yX2luZGV4S2V5Q2xvc2VkKTsKIH0KIAogZnVuY3Rpb24gdGVzdEZh
clJhbmdlQ3Vyc29yX2luZGV4S2V5Q2xvc2VkKCkKIHsKICAgICBydW5UZXN0KG1ha2VPcGVuS2V5
Q3Vyc29yKCJpbmRleCIsIDcsIHRydWUsICIncHJldiciKSwKLSAgICAgICAgICAgIHsgZXhwZWN0
ZWRLZXk6IDMsIGV4cGVjdGVkUHJpbWFyeUtleTogMX0pLm9uc3VjY2VzcyA9Ci0gICAgICAgICAg
ICAgICAgdGVzdEJvdW5kYXJ5Q3Vyc29yX2Nsb3NlZDsKKyAgICAgICAgICAgIHsgZXhwZWN0ZWRL
ZXk6IDMsIGV4cGVjdGVkUHJpbWFyeUtleTogMX0sCisgICAgICAgICAgICB0ZXN0Qm91bmRhcnlD
dXJzb3JfY2xvc2VkKTsKIH0KIAogZnVuY3Rpb24gdGVzdEJvdW5kYXJ5Q3Vyc29yX2Nsb3NlZCgp
CiB7CiAgICAgcnVuVGVzdChtYWtlT3BlbkN1cnNvcigic3RvcmUiLCAzLCBmYWxzZSwgIidwcmV2
JyIpLAotICAgICAgICAgICAgeyBleHBlY3RlZFZhbHVlOiAzMzMsIGV4cGVjdGVkS2V5OiAzfSku
b25zdWNjZXNzID0KLSAgICAgICAgICAgICAgICB0ZXN0Qm91bmRhcnlDdXJzb3Jfb3BlbjsKKyAg
ICAgICAgICAgIHsgZXhwZWN0ZWRWYWx1ZTogMzMzLCBleHBlY3RlZEtleTogM30sCisgICAgICAg
ICAgICB0ZXN0Qm91bmRhcnlDdXJzb3Jfb3Blbik7CiB9OwogCiBmdW5jdGlvbiB0ZXN0Qm91bmRh
cnlDdXJzb3Jfb3BlbigpCiB7CiAgICAgcnVuVGVzdChtYWtlT3BlbkN1cnNvcigic3RvcmUiLCAz
LCB0cnVlLCAiJ3ByZXYnIiksCi0gICAgICAgICAgICB7IGV4cGVjdGVkVmFsdWU6IDIyMiwgZXhw
ZWN0ZWRLZXk6IDJ9KS5vbnN1Y2Nlc3MgPQotICAgICAgICAgICAgICAgIHRlc3RCb3VuZGFyeUN1
cnNvcl9pbmRleENsb3NlZDsKKyAgICAgICAgICAgIHsgZXhwZWN0ZWRWYWx1ZTogMjIyLCBleHBl
Y3RlZEtleTogMn0sCisgICAgICAgICAgICB0ZXN0Qm91bmRhcnlDdXJzb3JfaW5kZXhDbG9zZWQp
OwogfQogCiBmdW5jdGlvbiB0ZXN0Qm91bmRhcnlDdXJzb3JfaW5kZXhDbG9zZWQoKQogewogICAg
IC8vIGJ5IGluZGV4IHNvcnQgb3JkZXIsIHdlIHNob3VsZCByZXR1cm4gdGhlbSBpbiBhIGRpZmZl
cmVudCBvcmRlcgogICAgIHJ1blRlc3QobWFrZU9wZW5DdXJzb3IoImluZGV4IiwgMywgZmFsc2Us
ICIncHJldiciKSwKLSAgICAgICAgICAgIHsgZXhwZWN0ZWRWYWx1ZTogMTExLCBleHBlY3RlZEtl
eTogMywgZXhwZWN0ZWRQcmltYXJ5S2V5OiAxfSkub25zdWNjZXNzID0KLSAgICAgICAgICAgICAg
ICB0ZXN0Qm91bmRhcnlDdXJzb3JfaW5kZXhPcGVuOworICAgICAgICAgICAgeyBleHBlY3RlZFZh
bHVlOiAxMTEsIGV4cGVjdGVkS2V5OiAzLCBleHBlY3RlZFByaW1hcnlLZXk6IDF9LAorICAgICAg
ICAgICAgdGVzdEJvdW5kYXJ5Q3Vyc29yX2luZGV4T3Blbik7CiB9CiAKIGZ1bmN0aW9uIHRlc3RC
b3VuZGFyeUN1cnNvcl9pbmRleE9wZW4oKQogewogICAgIHJ1blRlc3QobWFrZU9wZW5DdXJzb3Io
ImluZGV4IiwgMywgdHJ1ZSwgIidwcmV2JyIpLAotICAgICAgICAgICAgeyBleHBlY3RlZFZhbHVl
OiAyMjIsIGV4cGVjdGVkS2V5OiAyLCBleHBlY3RlZFByaW1hcnlLZXk6IDJ9KS5vbnN1Y2Nlc3Mg
PQotICAgICAgICAgICAgICAgIHRlc3RCb3VuZGFyeUN1cnNvcl9pbmRleEtleUNsb3NlZDsKKyAg
ICAgICAgICAgIHsgZXhwZWN0ZWRWYWx1ZTogMjIyLCBleHBlY3RlZEtleTogMiwgZXhwZWN0ZWRQ
cmltYXJ5S2V5OiAyfSwKKyAgICAgICAgICAgIHRlc3RCb3VuZGFyeUN1cnNvcl9pbmRleEtleUNs
b3NlZCk7CiB9CiAKIGZ1bmN0aW9uIHRlc3RCb3VuZGFyeUN1cnNvcl9pbmRleEtleUNsb3NlZCgp
CkBAIC0xMzAsMTUgKzEzMSwxNSBAQCBmdW5jdGlvbiB0ZXN0Qm91bmRhcnlDdXJzb3JfaW5kZXhL
ZXlDbG9zZWQoKQogCiAgICAgLy8gbm93IHRoZSB2YWx1ZSBkb2Vzbid0IG1hdHRlciwganVzdCB0
aGUgcHJpbWFyeSBrZXkKICAgICBydW5UZXN0KG1ha2VPcGVuS2V5Q3Vyc29yKCJpbmRleCIsIDMs
IGZhbHNlLCAiJ3ByZXYnIiksCi0gICAgICAgICAgICB7IGV4cGVjdGVkS2V5OiAzLCBleHBlY3Rl
ZFByaW1hcnlLZXk6IDF9KS5vbnN1Y2Nlc3MgPQotICAgICAgICAgICAgICAgIHRlc3RCb3VuZGFy
eUN1cnNvcl9pbmRleEtleU9wZW47CisgICAgICAgICAgICB7IGV4cGVjdGVkS2V5OiAzLCBleHBl
Y3RlZFByaW1hcnlLZXk6IDF9LAorICAgICAgICAgICAgdGVzdEJvdW5kYXJ5Q3Vyc29yX2luZGV4
S2V5T3Blbik7CiB9CiAKIGZ1bmN0aW9uIHRlc3RCb3VuZGFyeUN1cnNvcl9pbmRleEtleU9wZW4o
KQogewogICAgIHJ1blRlc3QobWFrZU9wZW5LZXlDdXJzb3IoImluZGV4IiwgMywgdHJ1ZSwgIidw
cmV2JyIpLAotICAgICAgICAgICAgeyBleHBlY3RlZEtleTogMiwgZXhwZWN0ZWRQcmltYXJ5S2V5
OiAyfSkub25zdWNjZXNzID0KLSAgICAgICAgICAgICAgICB0ZXN0Tm9EdXBsaWNhdGVfY2xvc2Vk
OworICAgICAgICAgICAgeyBleHBlY3RlZEtleTogMiwgZXhwZWN0ZWRQcmltYXJ5S2V5OiAyfSwK
KyAgICAgICAgICAgIHRlc3ROb0R1cGxpY2F0ZV9jbG9zZWQpOwogfQogCiBmdW5jdGlvbiB0ZXN0
Tm9EdXBsaWNhdGVfY2xvc2VkKCkKQEAgLTE0OSw4ICsxNTAsOCBAQCBmdW5jdGlvbiB0ZXN0Tm9E
dXBsaWNhdGVfY2xvc2VkKCkKICAgICAvLyBjdXJzb3JzLCBidXQgd2Ugc2hvdWxkIG1ha2Ugc3Vy
ZSB3ZSBnZXQgdGhlIHJpZ2h0IG9uZQogICAgIC8vIGFueXdheQogICAgIHJ1blRlc3QobWFrZU9w
ZW5DdXJzb3IoInN0b3JlIiwgMTUsIGZhbHNlLCAiJ3ByZXZ1bmlxdWUnIiksCi0gICAgICAgICAg
ICB7IGV4cGVjdGVkVmFsdWU6IDY2NiwgZXhwZWN0ZWRLZXk6IDE1LCBleHBlY3RlZFByaW1hcnlL
ZXk6IDE1IH0pCi0gICAgICAgICAgICAgICAgLm9uc3VjY2VzcyA9IHRlc3ROb0R1cGxpY2F0ZV9v
cGVuOworICAgICAgICAgICAgeyBleHBlY3RlZFZhbHVlOiA2NjYsIGV4cGVjdGVkS2V5OiAxNSwg
ZXhwZWN0ZWRQcmltYXJ5S2V5OiAxNSB9LAorICAgICAgICAgICAgdGVzdE5vRHVwbGljYXRlX29w
ZW4pOwogfQogCiBmdW5jdGlvbiB0ZXN0Tm9EdXBsaWNhdGVfb3BlbigpCkBAIC0xNTgsNyArMTU5
LDggQEAgZnVuY3Rpb24gdGVzdE5vRHVwbGljYXRlX29wZW4oKQogICAgIC8vIHN0aWxsIHRocmVl
IHZhbHVlcywgYnV0IG5vdyB0aGUgaW5kZXggc2F5cyB3ZSBzaG91bGQgcmV0dXJuIHRoZQogICAg
IC8vIHNlY29uZCBvbmUKICAgICBydW5UZXN0KG1ha2VPcGVuQ3Vyc29yKCJpbmRleCIsIDE1LCBm
YWxzZSwgIidwcmV2dW5pcXVlJyIpLAotICAgICAgICAgICAgeyBleHBlY3RlZFZhbHVlOiA2NjYs
IGV4cGVjdGVkS2V5OiAxMCwgZXhwZWN0ZWRQcmltYXJ5S2V5OiAxNX0pLm9uc3VjY2VzcyA9IHRl
c3ROb0R1cGxpY2F0ZV9pbmRleEtleUNsb3NlZDsKKyAgICAgICAgICAgIHsgZXhwZWN0ZWRWYWx1
ZTogNjY2LCBleHBlY3RlZEtleTogMTAsIGV4cGVjdGVkUHJpbWFyeUtleTogMTV9LAorICAgICAg
ICAgICAgdGVzdE5vRHVwbGljYXRlX2luZGV4S2V5Q2xvc2VkKTsKIH0KIAogCkBAIC0xNjYsOCAr
MTY4LDggQEAgZnVuY3Rpb24gdGVzdE5vRHVwbGljYXRlX2luZGV4S2V5Q2xvc2VkKCkKIHsKICAg
ICAvLyBzYW1lIGJlaGF2aW9yIGFzIGFib3ZlLCB3aXRob3V0IGEgdmFsdWUKICAgICBydW5UZXN0
KG1ha2VPcGVuS2V5Q3Vyc29yKCJpbmRleCIsIDE1LCBmYWxzZSwgIidwcmV2dW5pcXVlJyIpLAot
ICAgICAgICAgICAgeyBleHBlY3RlZEtleTogMTAsIGV4cGVjdGVkUHJpbWFyeUtleTogMTV9KS5v
bnN1Y2Nlc3MgPQotICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdDsKKyAgICAgICAgICAgIHsg
ZXhwZWN0ZWRLZXk6IDEwLCBleHBlY3RlZFByaW1hcnlLZXk6IDE1fSwKKyAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCk7CiB9CiAKIApAQCAtMTg1LDcgKzE4Nyw3IEBAIGZ1bmN0aW9uIG1ha2VPcGVu
S2V5Q3Vyc29yKG9iaiwgdXBwZXJCb3VuZCwgb3BlbiwgZGlyZWN0aW9uKQogICAgICAgICAgICAg
ZGlyZWN0aW9uICsgIikiOwogfQogCi1mdW5jdGlvbiBydW5UZXN0KG9wZW5DdXJzb3IsIGV4cCkK
K2Z1bmN0aW9uIHJ1blRlc3Qob3BlbkN1cnNvciwgZXhwZWN0YXRpb24sIGNhbGxiYWNrKQogewog
ICAgIHRyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWRvbmx5Jyk7CiAKQEAgLTE5
NCwxOSArMTk2LDE0IEBAIGZ1bmN0aW9uIHJ1blRlc3Qob3BlbkN1cnNvciwgZXhwKQogICAgIGlu
ZGV4ID0gc3RvcmUuaW5kZXgoJ2luZGV4Jyk7CiAgICAgdHJhbnMub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxs
YmFjazsKLSAgICB0cmFucy5vbmNvbXBsZXRlID0gZnVuY3Rpb24oKQotICAgIHsKKyAgICB0cmFu
cy5vbmNvbXBsZXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIGRlYnVnKCJET05FIik7CisgICAg
ICAgIGRlYnVnKCIiKTsKKyAgICAgICAgY2FsbGJhY2soKTsKICAgICB9OwogCi0gICAgdmFyIHJl
c3VsdCA9IHt9OwotCi0gICAgdmFyIHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKCkKLSAgICB7Ci0g
ICAgICAgIC8vIGV4cG9zZSBmb3IgZXZhbEFuZExvZwotICAgICAgICBleHBlY3RhdGlvbiA9IGV4
cDsKLQotICAgICAgICBkZWJ1ZygiXG5UZXN0aW5nOiAiICsgb3BlbkN1cnNvcik7CisgICAgc3Rv
cmVSZXEgPSBldmFsQW5kTG9nKCJzdG9yZVJlcSA9ICIgKyBvcGVuQ3Vyc29yKTsKKyAgICBzdG9y
ZVJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgY3Vyc29yID0gZXZlbnQudGFy
Z2V0LnJlc3VsdDsKICAgICAgICAgaWYgKGN1cnNvciA9PT0gbnVsbCkgewogICAgICAgICAgICAg
dGVzdEZhaWxlZCgibnVsbCBjdXJzb3IiKTsKQEAgLTIxNiwyMSArMjEzLDEzIEBAIGZ1bmN0aW9u
IHJ1blRlc3Qob3BlbkN1cnNvciwgZXhwKQogICAgICAgICBzaG91bGRCZSgiY3Vyc29yLmtleSIs
IEpTT04uc3RyaW5naWZ5KGV4cGVjdGF0aW9uLmV4cGVjdGVkS2V5KSk7CiAgICAgICAgIGlmICgi
dmFsdWUiIGluIGN1cnNvcikgewogICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci52YWx1ZS52
YWx1ZSIsIEpTT04uc3RyaW5naWZ5KGV4cGVjdGF0aW9uLmV4cGVjdGVkVmFsdWUpKTsKLSAgICAg
ICAgfQotICAgICAgICBlbHNlIGlmICgiZXhwZWN0ZWRWYWx1ZSIgaW4gZXhwZWN0YXRpb24pCisg
ICAgICAgIH0gZWxzZSBpZiAoImV4cGVjdGVkVmFsdWUiIGluIGV4cGVjdGF0aW9uKQogICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiVGVzdCBicm9rZW46IHNob3VsZG4ndCBoYXZlIGV4cGVjdGVkVmFs
dWUiKTsKIAogICAgICAgICBpZiAoImV4cGVjdGVkUHJpbWFyeUtleSIgaW4gZXhwZWN0YXRpb24p
IHsKICAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsIEpTT04uc3RyaW5n
aWZ5KGV4cGVjdGF0aW9uLmV4cGVjdGVkUHJpbWFyeUtleSkpOwogICAgICAgICB9Ci0KLSAgICAg
ICAgcmVzdWx0Lm9uc3VjY2VzcygpOwogICAgIH07Ci0KLSAgICBzdG9yZVJlcSA9IGV2YWxBbmRM
b2coInN0b3JlUmVxID0gIiArIG9wZW5DdXJzb3IpOwotICAgIHN0b3JlUmVxLm9uc3VjY2VzcyA9
IHRlc3RGdW5jdGlvbjsKLQotICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXRlc3QoKTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit0ZXN0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173734</attachid>
            <date>2012-11-12 14:55:06 -0800</date>
            <delta_ts>2012-11-12 19:39:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101990-20121112145308.patch</filename>
            <type>text/plain</type>
            <size>14193</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MzA0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzQ5ZWUzNTQzYmViYTcxNTc4ODAy
MWMzNWYxZGIzYTkxNzc1M2M1ZS4uZjIyNjI2ZGJhY2Y0NmQ5YTRjOTY3Zjg5YTMwMjE2MDA2MGUz
OTViNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTExLTEyICBKb3NodWEgQmVsbCAgPGpz
YmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBzdG9yYWdlL2luZGV4ZWRk
Yi9jdXJzb3ItcHJldi1uby1kdXBsaWNhdGUuaHRtbCBpcyBmbGFreQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxOTkwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmFjZSBjb25kaXRpb24gaW4gdGVzdCBs
ZWFkcyB0byBmbGFreSBiZWhhdmlvci4gUmVmYWN0b3IgdGVzdCB0byByZW1vdmUgZmxha2UKKyAg
ICAgICAgYW5kIGNsZWFuIHVwIG91dHB1dC4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1wcmV2LW5vLWR1cGxpY2F0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvcmVzb3VyY2VzL2N1cnNvci1wcmV2LW5vLWR1cGxpY2F0ZS5qczoKKyAgICAg
ICAgKHRlc3RGYXJSYW5nZUN1cnNvcl9jbG9zZWQpOgorICAgICAgICAoLnRyYW5zLm9uY29tcGxl
dGUpOgorICAgICAgICAoLnN0b3JlUmVxLm9uc3VjY2Vzcyk6CisgICAgICAgIChydW5UZXN0KToK
KwogMjAxMi0xMS0xMiAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIE1hcmtlZCB0cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcgdGVzdHMgYXMgZmxh
a2V5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXBy
ZXYtbm8tZHVwbGljYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2N1cnNvci1wcmV2LW5vLWR1cGxpY2F0ZS1leHBlY3RlZC50eHQKaW5kZXggNzZmZDA4NjNi
Zjg1NmViMDNlMzk0NTY1NGEzYmZhNzVmMzcyMDlhYy4uYTQ2MGM0NjEwN2QyZjQ2YWI5MzIxM2M5
ZGYyMDcwODBkYzE5MTZiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLXByZXYtbm8tZHVwbGljYXRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJldi1uby1kdXBsaWNhdGUtZXhwZWN0ZWQudHh0
CkBAIC0yMCwxMDMgKzIwLDkwIEBAIHN0b3JlLnB1dCh7c29ydGVkOiAxLCB2YWx1ZTogMzMzfSwg
MykKIHN0b3JlLnB1dCh7c29ydGVkOiAxMCwgdmFsdWU6IDQ0NH0sIDE3KQogc3RvcmUucHV0KHtz
b3J0ZWQ6IDEwLCB2YWx1ZTogNTU1fSwgMTYpCiBzdG9yZS5wdXQoe3NvcnRlZDogMTAsIHZhbHVl
OiA2NjZ9LCAxNSkKKwogdGVzdEZhclJhbmdlQ3Vyc29yOiB1cHBlciBib3VuZCBpcyB3ZWxsIG91
dCBvZiByYW5nZSwgcmVzdWx0cyBhbHdheXMgdGhlIHNhbWUsIHdoZXRoZXIgb3BlbiBvciBjbG9z
ZWQKIHN0b3JlUmVxID0gc3RvcmUub3BlbkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDcs
IGZhbHNlKSwgJ3ByZXYnKQotCi1UZXN0aW5nOiBzdG9yZS5vcGVuQ3Vyc29yKElEQktleVJhbmdl
LnVwcGVyQm91bmQoNywgZmFsc2UpLCAncHJldicpCiBQQVNTIGN1cnNvci5rZXkgaXMgMwogUEFT
UyBjdXJzb3IudmFsdWUudmFsdWUgaXMgMzMzCi1zdG9yZVJlcSA9IHN0b3JlLm9wZW5DdXJzb3Io
SURCS2V5UmFuZ2UudXBwZXJCb3VuZCg3LCB0cnVlKSwgJ3ByZXYnKQogRE9ORQogCi1UZXN0aW5n
OiBzdG9yZS5vcGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoNywgdHJ1ZSksICdwcmV2
JykKK3N0b3JlUmVxID0gc3RvcmUub3BlbkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDcs
IHRydWUpLCAncHJldicpCiBQQVNTIGN1cnNvci5rZXkgaXMgMwogUEFTUyBjdXJzb3IudmFsdWUu
dmFsdWUgaXMgMzMzCi1zdG9yZVJlcSA9IGluZGV4Lm9wZW5DdXJzb3IoSURCS2V5UmFuZ2UudXBw
ZXJCb3VuZCg3LCBmYWxzZSksICdwcmV2JykKIERPTkUKIAotVGVzdGluZzogaW5kZXgub3BlbkN1
cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDcsIGZhbHNlKSwgJ3ByZXYnKQorc3RvcmVSZXEg
PSBpbmRleC5vcGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoNywgZmFsc2UpLCAncHJl
dicpCiBQQVNTIGN1cnNvci5rZXkgaXMgMwogUEFTUyBjdXJzb3IudmFsdWUudmFsdWUgaXMgMTEx
CiBQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIDEKLXN0b3JlUmVxID0gaW5kZXgub3BlbkN1cnNv
cihJREJLZXlSYW5nZS51cHBlckJvdW5kKDcsIHRydWUpLCAncHJldicpCiBET05FCiAKLVRlc3Rp
bmc6IGluZGV4Lm9wZW5DdXJzb3IoSURCS2V5UmFuZ2UudXBwZXJCb3VuZCg3LCB0cnVlKSwgJ3By
ZXYnKQorc3RvcmVSZXEgPSBpbmRleC5vcGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQo
NywgdHJ1ZSksICdwcmV2JykKIFBBU1MgY3Vyc29yLmtleSBpcyAzCiBQQVNTIGN1cnNvci52YWx1
ZS52YWx1ZSBpcyAxMTEKIFBBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgMQotc3RvcmVSZXEgPSBp
bmRleC5vcGVuS2V5Q3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoNywgZmFsc2UpLCAncHJl
dicpCiBET05FCiAKLVRlc3Rpbmc6IGluZGV4Lm9wZW5LZXlDdXJzb3IoSURCS2V5UmFuZ2UudXBw
ZXJCb3VuZCg3LCBmYWxzZSksICdwcmV2JykKK3N0b3JlUmVxID0gaW5kZXgub3BlbktleUN1cnNv
cihJREJLZXlSYW5nZS51cHBlckJvdW5kKDcsIGZhbHNlKSwgJ3ByZXYnKQogUEFTUyBjdXJzb3Iu
a2V5IGlzIDMKIFBBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgMQotc3RvcmVSZXEgPSBpbmRleC5v
cGVuS2V5Q3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoNywgdHJ1ZSksICdwcmV2JykKIERP
TkUKIAotVGVzdGluZzogaW5kZXgub3BlbktleUN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5k
KDcsIHRydWUpLCAncHJldicpCitzdG9yZVJlcSA9IGluZGV4Lm9wZW5LZXlDdXJzb3IoSURCS2V5
UmFuZ2UudXBwZXJCb3VuZCg3LCB0cnVlKSwgJ3ByZXYnKQogUEFTUyBjdXJzb3Iua2V5IGlzIDMK
IFBBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgMQotc3RvcmVSZXEgPSBzdG9yZS5vcGVuQ3Vyc29y
KElEQktleVJhbmdlLnVwcGVyQm91bmQoMywgZmFsc2UpLCAncHJldicpCiBET05FCiAKLVRlc3Rp
bmc6IHN0b3JlLm9wZW5DdXJzb3IoSURCS2V5UmFuZ2UudXBwZXJCb3VuZCgzLCBmYWxzZSksICdw
cmV2JykKK3N0b3JlUmVxID0gc3RvcmUub3BlbkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5k
KDMsIGZhbHNlKSwgJ3ByZXYnKQogUEFTUyBjdXJzb3Iua2V5IGlzIDMKIFBBU1MgY3Vyc29yLnZh
bHVlLnZhbHVlIGlzIDMzMwotc3RvcmVSZXEgPSBzdG9yZS5vcGVuQ3Vyc29yKElEQktleVJhbmdl
LnVwcGVyQm91bmQoMywgdHJ1ZSksICdwcmV2JykKIERPTkUKIAotVGVzdGluZzogc3RvcmUub3Bl
bkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDMsIHRydWUpLCAncHJldicpCitzdG9yZVJl
cSA9IHN0b3JlLm9wZW5DdXJzb3IoSURCS2V5UmFuZ2UudXBwZXJCb3VuZCgzLCB0cnVlKSwgJ3By
ZXYnKQogUEFTUyBjdXJzb3Iua2V5IGlzIDIKIFBBU1MgY3Vyc29yLnZhbHVlLnZhbHVlIGlzIDIy
Mgotc3RvcmVSZXEgPSBpbmRleC5vcGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMywg
ZmFsc2UpLCAncHJldicpCiBET05FCiAKLVRlc3Rpbmc6IGluZGV4Lm9wZW5DdXJzb3IoSURCS2V5
UmFuZ2UudXBwZXJCb3VuZCgzLCBmYWxzZSksICdwcmV2JykKK3N0b3JlUmVxID0gaW5kZXgub3Bl
bkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDMsIGZhbHNlKSwgJ3ByZXYnKQogUEFTUyBj
dXJzb3Iua2V5IGlzIDMKIFBBU1MgY3Vyc29yLnZhbHVlLnZhbHVlIGlzIDExMQogUEFTUyBjdXJz
b3IucHJpbWFyeUtleSBpcyAxCi1zdG9yZVJlcSA9IGluZGV4Lm9wZW5DdXJzb3IoSURCS2V5UmFu
Z2UudXBwZXJCb3VuZCgzLCB0cnVlKSwgJ3ByZXYnKQogRE9ORQogCi1UZXN0aW5nOiBpbmRleC5v
cGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMywgdHJ1ZSksICdwcmV2JykKK3N0b3Jl
UmVxID0gaW5kZXgub3BlbkN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDMsIHRydWUpLCAn
cHJldicpCiBQQVNTIGN1cnNvci5rZXkgaXMgMgogUEFTUyBjdXJzb3IudmFsdWUudmFsdWUgaXMg
MjIyCiBQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIDIKLXN0b3JlUmVxID0gaW5kZXgub3Blbktl
eUN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDMsIGZhbHNlKSwgJ3ByZXYnKQogRE9ORQog
Ci1UZXN0aW5nOiBpbmRleC5vcGVuS2V5Q3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMywg
ZmFsc2UpLCAncHJldicpCitzdG9yZVJlcSA9IGluZGV4Lm9wZW5LZXlDdXJzb3IoSURCS2V5UmFu
Z2UudXBwZXJCb3VuZCgzLCBmYWxzZSksICdwcmV2JykKIFBBU1MgY3Vyc29yLmtleSBpcyAzCiBQ
QVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIDEKLXN0b3JlUmVxID0gaW5kZXgub3BlbktleUN1cnNv
cihJREJLZXlSYW5nZS51cHBlckJvdW5kKDMsIHRydWUpLCAncHJldicpCiBET05FCiAKLVRlc3Rp
bmc6IGluZGV4Lm9wZW5LZXlDdXJzb3IoSURCS2V5UmFuZ2UudXBwZXJCb3VuZCgzLCB0cnVlKSwg
J3ByZXYnKQorc3RvcmVSZXEgPSBpbmRleC5vcGVuS2V5Q3Vyc29yKElEQktleVJhbmdlLnVwcGVy
Qm91bmQoMywgdHJ1ZSksICdwcmV2JykKIFBBU1MgY3Vyc29yLmtleSBpcyAyCiBQQVNTIGN1cnNv
ci5wcmltYXJ5S2V5IGlzIDIKLXRlc3ROb0R1cGxpY2F0ZTogdGhlcmUgYXJlIDMgdmFsdWVzLCBi
dXQgd2Ugc2hvdWxkIHJldHVybiBhbHdheXMgdGhlIGZpcnN0IG9uZQotc3RvcmVSZXEgPSBzdG9y
ZS5vcGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMTUsIGZhbHNlKSwgJ3ByZXZ1bmlx
dWUnKQogRE9ORQogCi1UZXN0aW5nOiBzdG9yZS5vcGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVy
Qm91bmQoMTUsIGZhbHNlKSwgJ3ByZXZ1bmlxdWUnKQordGVzdE5vRHVwbGljYXRlOiB0aGVyZSBh
cmUgMyB2YWx1ZXMsIGJ1dCB3ZSBzaG91bGQgcmV0dXJuIGFsd2F5cyB0aGUgZmlyc3Qgb25lCitz
dG9yZVJlcSA9IHN0b3JlLm9wZW5DdXJzb3IoSURCS2V5UmFuZ2UudXBwZXJCb3VuZCgxNSwgZmFs
c2UpLCAncHJldnVuaXF1ZScpCiBQQVNTIGN1cnNvci5rZXkgaXMgMTUKIFBBU1MgY3Vyc29yLnZh
bHVlLnZhbHVlIGlzIDY2NgogUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyAxNQotc3RvcmVSZXEg
PSBpbmRleC5vcGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMTUsIGZhbHNlKSwgJ3By
ZXZ1bmlxdWUnKQogRE9ORQogCi1UZXN0aW5nOiBpbmRleC5vcGVuQ3Vyc29yKElEQktleVJhbmdl
LnVwcGVyQm91bmQoMTUsIGZhbHNlKSwgJ3ByZXZ1bmlxdWUnKQorc3RvcmVSZXEgPSBpbmRleC5v
cGVuQ3Vyc29yKElEQktleVJhbmdlLnVwcGVyQm91bmQoMTUsIGZhbHNlKSwgJ3ByZXZ1bmlxdWUn
KQogUEFTUyBjdXJzb3Iua2V5IGlzIDEwCiBQQVNTIGN1cnNvci52YWx1ZS52YWx1ZSBpcyA2NjYK
IFBBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgMTUKLXN0b3JlUmVxID0gaW5kZXgub3BlbktleUN1
cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5kKDE1LCBmYWxzZSksICdwcmV2dW5pcXVlJykKIERP
TkUKIAotVGVzdGluZzogaW5kZXgub3BlbktleUN1cnNvcihJREJLZXlSYW5nZS51cHBlckJvdW5k
KDE1LCBmYWxzZSksICdwcmV2dW5pcXVlJykKK3N0b3JlUmVxID0gaW5kZXgub3BlbktleUN1cnNv
cihJREJLZXlSYW5nZS51cHBlckJvdW5kKDE1LCBmYWxzZSksICdwcmV2dW5pcXVlJykKIFBBU1Mg
Y3Vyc29yLmtleSBpcyAxMAogUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyAxNQorRE9ORQorCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9jdXJzb3ItcHJldi1u
by1kdXBsaWNhdGUuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
Y3Vyc29yLXByZXYtbm8tZHVwbGljYXRlLmpzCmluZGV4IDgyZGQyOTIzZjgzZTg3NTdmYThhNTAy
NTQ1NjE4YTNhZDFjYmJhNjEuLjU3MDlkMThiMjRhNWY4NjJjMTA4MzIzMzgwYjQzN2Y0NmVhODNk
YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9j
dXJzb3ItcHJldi1uby1kdXBsaWNhdGUuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL2N1cnNvci1wcmV2LW5vLWR1cGxpY2F0ZS5qcwpAQCAtMzQsNzYgKzM0
LDc3IEBAIGZ1bmN0aW9uIHBvcHVsYXRlU3RvcmUoKQogCiBmdW5jdGlvbiB0ZXN0RmFyUmFuZ2VD
dXJzb3JfY2xvc2VkKCkKIHsKKyAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoInRlc3RGYXJSYW5n
ZUN1cnNvcjogdXBwZXIgYm91bmQgaXMgd2VsbCBvdXQgb2YgcmFuZ2UsIHJlc3VsdHMgYWx3YXlz
IHRoZSBzYW1lLCB3aGV0aGVyIG9wZW4gb3IgY2xvc2VkIik7CiAKICAgICBydW5UZXN0KG1ha2VP
cGVuQ3Vyc29yKCJzdG9yZSIsIDcsIGZhbHNlLCAiJ3ByZXYnIiksCi0gICAgICAgICAgICB7IGV4
cGVjdGVkVmFsdWU6IDMzMywgZXhwZWN0ZWRLZXk6IDN9KS5vbnN1Y2Nlc3MgPQotICAgICAgICAg
ICAgICAgIHRlc3RGYXJSYW5nZUN1cnNvcl9vcGVuOworICAgICAgICAgICAgeyBleHBlY3RlZFZh
bHVlOiAzMzMsIGV4cGVjdGVkS2V5OiAzfSwKKyAgICAgICAgICAgIHRlc3RGYXJSYW5nZUN1cnNv
cl9vcGVuKTsKIH0KIAogZnVuY3Rpb24gdGVzdEZhclJhbmdlQ3Vyc29yX29wZW4oKQogewogICAg
IHJ1blRlc3QobWFrZU9wZW5DdXJzb3IoInN0b3JlIiwgNywgdHJ1ZSwgIidwcmV2JyIpLAotICAg
ICAgICAgICAgeyBleHBlY3RlZFZhbHVlOiAzMzMsIGV4cGVjdGVkS2V5OiAzfSkub25zdWNjZXNz
ID0KLSAgICAgICAgICAgICAgICB0ZXN0RmFyUmFuZ2VDdXJzb3JfaW5kZXhDbG9zZWQ7CisgICAg
ICAgICAgICB7IGV4cGVjdGVkVmFsdWU6IDMzMywgZXhwZWN0ZWRLZXk6IDN9LAorICAgICAgICAg
ICAgdGVzdEZhclJhbmdlQ3Vyc29yX2luZGV4Q2xvc2VkKTsKIH0KIAogZnVuY3Rpb24gdGVzdEZh
clJhbmdlQ3Vyc29yX2luZGV4Q2xvc2VkKCkKIHsKLSAgICAgICAgLy8gaGVyZSAnNycgcmVmZXJz
IHRvIHRoZSAnc29ydGVkJyB2YWx1ZQotICAgICAgICBydW5UZXN0KG1ha2VPcGVuQ3Vyc29yKCJp
bmRleCIsIDcsIGZhbHNlLCAiJ3ByZXYnIiksCi0gICAgICAgICAgICAgICAgeyBleHBlY3RlZFZh
bHVlOiAxMTEsIGV4cGVjdGVkS2V5OiAzLCBleHBlY3RlZFByaW1hcnlLZXk6IDF9KS5vbnN1Y2Nl
c3MgPQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFyUmFuZ2VDdXJzb3JfaW5kZXhPcGVuOwor
ICAgIC8vIGhlcmUgJzcnIHJlZmVycyB0byB0aGUgJ3NvcnRlZCcgdmFsdWUKKyAgICBydW5UZXN0
KG1ha2VPcGVuQ3Vyc29yKCJpbmRleCIsIDcsIGZhbHNlLCAiJ3ByZXYnIiksCisgICAgICAgICAg
ICB7IGV4cGVjdGVkVmFsdWU6IDExMSwgZXhwZWN0ZWRLZXk6IDMsIGV4cGVjdGVkUHJpbWFyeUtl
eTogMX0sCisgICAgICAgICAgICB0ZXN0RmFyUmFuZ2VDdXJzb3JfaW5kZXhPcGVuKTsKIH0KIGZ1
bmN0aW9uIHRlc3RGYXJSYW5nZUN1cnNvcl9pbmRleE9wZW4oKQogewogICAgIHJ1blRlc3QobWFr
ZU9wZW5DdXJzb3IoImluZGV4IiwgNywgdHJ1ZSwgIidwcmV2JyIpLAotICAgICAgICAgICAgeyBl
eHBlY3RlZFZhbHVlOiAxMTEsIGV4cGVjdGVkS2V5OiAzLCBleHBlY3RlZFByaW1hcnlLZXk6IDF9
KS5vbnN1Y2Nlc3MgPQotICAgICAgICAgICAgICAgIHRlc3RGYXJSYW5nZUN1cnNvcl9pbmRleEtl
eU9wZW47CisgICAgICAgICAgICB7IGV4cGVjdGVkVmFsdWU6IDExMSwgZXhwZWN0ZWRLZXk6IDMs
IGV4cGVjdGVkUHJpbWFyeUtleTogMX0sCisgICAgICAgICAgICB0ZXN0RmFyUmFuZ2VDdXJzb3Jf
aW5kZXhLZXlPcGVuKTsKIH0KIAogZnVuY3Rpb24gdGVzdEZhclJhbmdlQ3Vyc29yX2luZGV4S2V5
T3BlbigpCiB7CiAgICAgLy8gaGVyZSAnNycgcmVmZXJzIHRvIHRoZSBzb3J0ZWQgdmFsdWUKICAg
ICBydW5UZXN0KG1ha2VPcGVuS2V5Q3Vyc29yKCJpbmRleCIsIDcsIGZhbHNlLCAiJ3ByZXYnIiks
Ci0gICAgICAgICAgICB7IGV4cGVjdGVkS2V5OiAzLCBleHBlY3RlZFByaW1hcnlLZXk6IDF9KS5v
bnN1Y2Nlc3MgPQotICAgICAgICAgICAgICAgIHRlc3RGYXJSYW5nZUN1cnNvcl9pbmRleEtleUNs
b3NlZDsKKyAgICAgICAgICAgIHsgZXhwZWN0ZWRLZXk6IDMsIGV4cGVjdGVkUHJpbWFyeUtleTog
MX0sCisgICAgICAgICAgICB0ZXN0RmFyUmFuZ2VDdXJzb3JfaW5kZXhLZXlDbG9zZWQpOwogfQog
CiBmdW5jdGlvbiB0ZXN0RmFyUmFuZ2VDdXJzb3JfaW5kZXhLZXlDbG9zZWQoKQogewogICAgIHJ1
blRlc3QobWFrZU9wZW5LZXlDdXJzb3IoImluZGV4IiwgNywgdHJ1ZSwgIidwcmV2JyIpLAotICAg
ICAgICAgICAgeyBleHBlY3RlZEtleTogMywgZXhwZWN0ZWRQcmltYXJ5S2V5OiAxfSkub25zdWNj
ZXNzID0KLSAgICAgICAgICAgICAgICB0ZXN0Qm91bmRhcnlDdXJzb3JfY2xvc2VkOworICAgICAg
ICAgICAgeyBleHBlY3RlZEtleTogMywgZXhwZWN0ZWRQcmltYXJ5S2V5OiAxfSwKKyAgICAgICAg
ICAgIHRlc3RCb3VuZGFyeUN1cnNvcl9jbG9zZWQpOwogfQogCiBmdW5jdGlvbiB0ZXN0Qm91bmRh
cnlDdXJzb3JfY2xvc2VkKCkKIHsKICAgICBydW5UZXN0KG1ha2VPcGVuQ3Vyc29yKCJzdG9yZSIs
IDMsIGZhbHNlLCAiJ3ByZXYnIiksCi0gICAgICAgICAgICB7IGV4cGVjdGVkVmFsdWU6IDMzMywg
ZXhwZWN0ZWRLZXk6IDN9KS5vbnN1Y2Nlc3MgPQotICAgICAgICAgICAgICAgIHRlc3RCb3VuZGFy
eUN1cnNvcl9vcGVuOworICAgICAgICAgICAgeyBleHBlY3RlZFZhbHVlOiAzMzMsIGV4cGVjdGVk
S2V5OiAzfSwKKyAgICAgICAgICAgIHRlc3RCb3VuZGFyeUN1cnNvcl9vcGVuKTsKIH07CiAKIGZ1
bmN0aW9uIHRlc3RCb3VuZGFyeUN1cnNvcl9vcGVuKCkKIHsKICAgICBydW5UZXN0KG1ha2VPcGVu
Q3Vyc29yKCJzdG9yZSIsIDMsIHRydWUsICIncHJldiciKSwKLSAgICAgICAgICAgIHsgZXhwZWN0
ZWRWYWx1ZTogMjIyLCBleHBlY3RlZEtleTogMn0pLm9uc3VjY2VzcyA9Ci0gICAgICAgICAgICAg
ICAgdGVzdEJvdW5kYXJ5Q3Vyc29yX2luZGV4Q2xvc2VkOworICAgICAgICAgICAgeyBleHBlY3Rl
ZFZhbHVlOiAyMjIsIGV4cGVjdGVkS2V5OiAyfSwKKyAgICAgICAgICAgIHRlc3RCb3VuZGFyeUN1
cnNvcl9pbmRleENsb3NlZCk7CiB9CiAKIGZ1bmN0aW9uIHRlc3RCb3VuZGFyeUN1cnNvcl9pbmRl
eENsb3NlZCgpCiB7CiAgICAgLy8gYnkgaW5kZXggc29ydCBvcmRlciwgd2Ugc2hvdWxkIHJldHVy
biB0aGVtIGluIGEgZGlmZmVyZW50IG9yZGVyCiAgICAgcnVuVGVzdChtYWtlT3BlbkN1cnNvcigi
aW5kZXgiLCAzLCBmYWxzZSwgIidwcmV2JyIpLAotICAgICAgICAgICAgeyBleHBlY3RlZFZhbHVl
OiAxMTEsIGV4cGVjdGVkS2V5OiAzLCBleHBlY3RlZFByaW1hcnlLZXk6IDF9KS5vbnN1Y2Nlc3Mg
PQotICAgICAgICAgICAgICAgIHRlc3RCb3VuZGFyeUN1cnNvcl9pbmRleE9wZW47CisgICAgICAg
ICAgICB7IGV4cGVjdGVkVmFsdWU6IDExMSwgZXhwZWN0ZWRLZXk6IDMsIGV4cGVjdGVkUHJpbWFy
eUtleTogMX0sCisgICAgICAgICAgICB0ZXN0Qm91bmRhcnlDdXJzb3JfaW5kZXhPcGVuKTsKIH0K
IAogZnVuY3Rpb24gdGVzdEJvdW5kYXJ5Q3Vyc29yX2luZGV4T3BlbigpCiB7CiAgICAgcnVuVGVz
dChtYWtlT3BlbkN1cnNvcigiaW5kZXgiLCAzLCB0cnVlLCAiJ3ByZXYnIiksCi0gICAgICAgICAg
ICB7IGV4cGVjdGVkVmFsdWU6IDIyMiwgZXhwZWN0ZWRLZXk6IDIsIGV4cGVjdGVkUHJpbWFyeUtl
eTogMn0pLm9uc3VjY2VzcyA9Ci0gICAgICAgICAgICAgICAgdGVzdEJvdW5kYXJ5Q3Vyc29yX2lu
ZGV4S2V5Q2xvc2VkOworICAgICAgICAgICAgeyBleHBlY3RlZFZhbHVlOiAyMjIsIGV4cGVjdGVk
S2V5OiAyLCBleHBlY3RlZFByaW1hcnlLZXk6IDJ9LAorICAgICAgICAgICAgdGVzdEJvdW5kYXJ5
Q3Vyc29yX2luZGV4S2V5Q2xvc2VkKTsKIH0KIAogZnVuY3Rpb24gdGVzdEJvdW5kYXJ5Q3Vyc29y
X2luZGV4S2V5Q2xvc2VkKCkKQEAgLTExMSwxNSArMTEyLDE1IEBAIGZ1bmN0aW9uIHRlc3RCb3Vu
ZGFyeUN1cnNvcl9pbmRleEtleUNsb3NlZCgpCiAKICAgICAvLyBub3cgdGhlIHZhbHVlIGRvZXNu
J3QgbWF0dGVyLCBqdXN0IHRoZSBwcmltYXJ5IGtleQogICAgIHJ1blRlc3QobWFrZU9wZW5LZXlD
dXJzb3IoImluZGV4IiwgMywgZmFsc2UsICIncHJldiciKSwKLSAgICAgICAgICAgIHsgZXhwZWN0
ZWRLZXk6IDMsIGV4cGVjdGVkUHJpbWFyeUtleTogMX0pLm9uc3VjY2VzcyA9Ci0gICAgICAgICAg
ICAgICAgdGVzdEJvdW5kYXJ5Q3Vyc29yX2luZGV4S2V5T3BlbjsKKyAgICAgICAgICAgIHsgZXhw
ZWN0ZWRLZXk6IDMsIGV4cGVjdGVkUHJpbWFyeUtleTogMX0sCisgICAgICAgICAgICB0ZXN0Qm91
bmRhcnlDdXJzb3JfaW5kZXhLZXlPcGVuKTsKIH0KIAogZnVuY3Rpb24gdGVzdEJvdW5kYXJ5Q3Vy
c29yX2luZGV4S2V5T3BlbigpCiB7CiAgICAgcnVuVGVzdChtYWtlT3BlbktleUN1cnNvcigiaW5k
ZXgiLCAzLCB0cnVlLCAiJ3ByZXYnIiksCi0gICAgICAgICAgICB7IGV4cGVjdGVkS2V5OiAyLCBl
eHBlY3RlZFByaW1hcnlLZXk6IDJ9KS5vbnN1Y2Nlc3MgPQotICAgICAgICAgICAgICAgIHRlc3RO
b0R1cGxpY2F0ZV9jbG9zZWQ7CisgICAgICAgICAgICB7IGV4cGVjdGVkS2V5OiAyLCBleHBlY3Rl
ZFByaW1hcnlLZXk6IDJ9LAorICAgICAgICAgICAgdGVzdE5vRHVwbGljYXRlX2Nsb3NlZCk7CiB9
CiAKIGZ1bmN0aW9uIHRlc3ROb0R1cGxpY2F0ZV9jbG9zZWQoKQpAQCAtMTMwLDggKzEzMSw4IEBA
IGZ1bmN0aW9uIHRlc3ROb0R1cGxpY2F0ZV9jbG9zZWQoKQogICAgIC8vIGN1cnNvcnMsIGJ1dCB3
ZSBzaG91bGQgbWFrZSBzdXJlIHdlIGdldCB0aGUgcmlnaHQgb25lCiAgICAgLy8gYW55d2F5CiAg
ICAgcnVuVGVzdChtYWtlT3BlbkN1cnNvcigic3RvcmUiLCAxNSwgZmFsc2UsICIncHJldnVuaXF1
ZSciKSwKLSAgICAgICAgICAgIHsgZXhwZWN0ZWRWYWx1ZTogNjY2LCBleHBlY3RlZEtleTogMTUs
IGV4cGVjdGVkUHJpbWFyeUtleTogMTUgfSkKLSAgICAgICAgICAgICAgICAub25zdWNjZXNzID0g
dGVzdE5vRHVwbGljYXRlX29wZW47CisgICAgICAgICAgICB7IGV4cGVjdGVkVmFsdWU6IDY2Niwg
ZXhwZWN0ZWRLZXk6IDE1LCBleHBlY3RlZFByaW1hcnlLZXk6IDE1IH0sCisgICAgICAgICAgICB0
ZXN0Tm9EdXBsaWNhdGVfb3Blbik7CiB9CiAKIGZ1bmN0aW9uIHRlc3ROb0R1cGxpY2F0ZV9vcGVu
KCkKQEAgLTEzOSw3ICsxNDAsOCBAQCBmdW5jdGlvbiB0ZXN0Tm9EdXBsaWNhdGVfb3BlbigpCiAg
ICAgLy8gc3RpbGwgdGhyZWUgdmFsdWVzLCBidXQgbm93IHRoZSBpbmRleCBzYXlzIHdlIHNob3Vs
ZCByZXR1cm4gdGhlCiAgICAgLy8gc2Vjb25kIG9uZQogICAgIHJ1blRlc3QobWFrZU9wZW5DdXJz
b3IoImluZGV4IiwgMTUsIGZhbHNlLCAiJ3ByZXZ1bmlxdWUnIiksCi0gICAgICAgICAgICB7IGV4
cGVjdGVkVmFsdWU6IDY2NiwgZXhwZWN0ZWRLZXk6IDEwLCBleHBlY3RlZFByaW1hcnlLZXk6IDE1
fSkub25zdWNjZXNzID0gdGVzdE5vRHVwbGljYXRlX2luZGV4S2V5Q2xvc2VkOworICAgICAgICAg
ICAgeyBleHBlY3RlZFZhbHVlOiA2NjYsIGV4cGVjdGVkS2V5OiAxMCwgZXhwZWN0ZWRQcmltYXJ5
S2V5OiAxNX0sCisgICAgICAgICAgICB0ZXN0Tm9EdXBsaWNhdGVfaW5kZXhLZXlDbG9zZWQpOwog
fQogCiAKQEAgLTE0Nyw4ICsxNDksOCBAQCBmdW5jdGlvbiB0ZXN0Tm9EdXBsaWNhdGVfaW5kZXhL
ZXlDbG9zZWQoKQogewogICAgIC8vIHNhbWUgYmVoYXZpb3IgYXMgYWJvdmUsIHdpdGhvdXQgYSB2
YWx1ZQogICAgIHJ1blRlc3QobWFrZU9wZW5LZXlDdXJzb3IoImluZGV4IiwgMTUsIGZhbHNlLCAi
J3ByZXZ1bmlxdWUnIiksCi0gICAgICAgICAgICB7IGV4cGVjdGVkS2V5OiAxMCwgZXhwZWN0ZWRQ
cmltYXJ5S2V5OiAxNX0pLm9uc3VjY2VzcyA9Ci0gICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
OworICAgICAgICAgICAgeyBleHBlY3RlZEtleTogMTAsIGV4cGVjdGVkUHJpbWFyeUtleTogMTV9
LAorICAgICAgICAgICAgZmluaXNoSlNUZXN0KTsKIH0KIAogCkBAIC0xNjYsNyArMTY4LDcgQEAg
ZnVuY3Rpb24gbWFrZU9wZW5LZXlDdXJzb3Iob2JqLCB1cHBlckJvdW5kLCBvcGVuLCBkaXJlY3Rp
b24pCiAgICAgICAgICAgICBkaXJlY3Rpb24gKyAiKSI7CiB9CiAKLWZ1bmN0aW9uIHJ1blRlc3Qo
b3BlbkN1cnNvciwgZXhwKQorZnVuY3Rpb24gcnVuVGVzdChvcGVuQ3Vyc29yLCBleHBlY3RhdGlv
biwgY2FsbGJhY2spCiB7CiAgICAgdHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVh
ZG9ubHknKTsKIApAQCAtMTc1LDE5ICsxNzcsMTQgQEAgZnVuY3Rpb24gcnVuVGVzdChvcGVuQ3Vy
c29yLCBleHApCiAgICAgaW5kZXggPSBzdG9yZS5pbmRleCgnaW5kZXgnKTsKICAgICB0cmFucy5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdHJhbnMub25hYm9ydCA9IHVu
ZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwotICAgIHRyYW5zLm9uY29tcGxldGUgPSBmdW5jdGlvbigp
Ci0gICAgeworICAgIHRyYW5zLm9uY29tcGxldGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgZGVi
dWcoIkRPTkUiKTsKKyAgICAgICAgZGVidWcoIiIpOworICAgICAgICBjYWxsYmFjaygpOwogICAg
IH07CiAKLSAgICB2YXIgcmVzdWx0ID0ge307Ci0KLSAgICB2YXIgdGVzdEZ1bmN0aW9uID0gZnVu
Y3Rpb24oKQotICAgIHsKLSAgICAgICAgLy8gZXhwb3NlIGZvciBldmFsQW5kTG9nCi0gICAgICAg
IGV4cGVjdGF0aW9uID0gZXhwOwotCi0gICAgICAgIGRlYnVnKCJcblRlc3Rpbmc6ICIgKyBvcGVu
Q3Vyc29yKTsKKyAgICBzdG9yZVJlcSA9IGV2YWxBbmRMb2coInN0b3JlUmVxID0gIiArIG9wZW5D
dXJzb3IpOworICAgIHN0b3JlUmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICBj
dXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OwogICAgICAgICBpZiAoY3Vyc29yID09PSBudWxs
KSB7CiAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJudWxsIGN1cnNvciIpOwpAQCAtMTk3LDE5ICsx
OTQsMTEgQEAgZnVuY3Rpb24gcnVuVGVzdChvcGVuQ3Vyc29yLCBleHApCiAgICAgICAgIHNob3Vs
ZEJlKCJjdXJzb3Iua2V5IiwgSlNPTi5zdHJpbmdpZnkoZXhwZWN0YXRpb24uZXhwZWN0ZWRLZXkp
KTsKICAgICAgICAgaWYgKCJ2YWx1ZSIgaW4gY3Vyc29yKSB7CiAgICAgICAgICAgICBzaG91bGRC
ZSgiY3Vyc29yLnZhbHVlLnZhbHVlIiwgSlNPTi5zdHJpbmdpZnkoZXhwZWN0YXRpb24uZXhwZWN0
ZWRWYWx1ZSkpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKCJleHBlY3RlZFZhbHVlIiBp
biBleHBlY3RhdGlvbikKKyAgICAgICAgfSBlbHNlIGlmICgiZXhwZWN0ZWRWYWx1ZSIgaW4gZXhw
ZWN0YXRpb24pCiAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUZXN0IGJyb2tlbjogc2hvdWxkbid0
IGhhdmUgZXhwZWN0ZWRWYWx1ZSIpOwogCiAgICAgICAgIGlmICgiZXhwZWN0ZWRQcmltYXJ5S2V5
IiBpbiBleHBlY3RhdGlvbikgewogICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5wcmltYXJ5
S2V5IiwgSlNPTi5zdHJpbmdpZnkoZXhwZWN0YXRpb24uZXhwZWN0ZWRQcmltYXJ5S2V5KSk7CiAg
ICAgICAgIH0KLQotICAgICAgICByZXN1bHQub25zdWNjZXNzKCk7CiAgICAgfTsKLQotICAgIHN0
b3JlUmVxID0gZXZhbEFuZExvZygic3RvcmVSZXEgPSAiICsgb3BlbkN1cnNvcik7Ci0gICAgc3Rv
cmVSZXEub25zdWNjZXNzID0gdGVzdEZ1bmN0aW9uOwotCi0gICAgcmV0dXJuIHJlc3VsdDsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>