<?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>62348</bug_id>
          
          <creation_ts>2011-06-08 20:07:57 -0700</creation_ts>
          <short_desc>IndexedDB: some string keys not properly stored and retrieved</short_desc>
          <delta_ts>2011-10-15 00:18:27 -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>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="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>dgrogan</cc>
    
    <cc>hans</cc>
    
    <cc>jsbell</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>417764</commentid>
    <comment_count>0</comment_count>
      <attachid>96531</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-06-08 20:07:57 -0700</bug_when>
    <thetext>Created attachment 96531
test case

Spun off from bug 62322, this test uses odd Unicode strings (&quot;\u0000&quot;, &quot;\ufffe&quot;, etc) as database names, objectstore names, record keys, and record values. It opens a database, creates an object store, adds a record, closes the database, then re-opens the database and opens a cursor to check the key and value that were previously added.

Most string keys work fine in this scenario, however 2 specific strings (&quot;\u0000&quot; and &quot;\ufffe&quot;) are not stored properly as keys. (As values they are stored properly.)

Test case attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484219</commentid>
    <comment_count>1</comment_count>
      <attachid>111060</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-14 13:05:19 -0700</bug_when>
    <thetext>Created attachment 111060
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484220</commentid>
    <comment_count>2</comment_count>
      <attachid>111060</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-14 13:06:53 -0700</bug_when>
    <thetext>Comment on attachment 111060
Patch

Mark&apos;s test case passes - this was presumably fixed when we moved to LevelDB.  We should add this to LayoutTests, which is all the patch does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484223</commentid>
    <comment_count>3</comment_count>
      <attachid>111060</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-10-14 13:09:11 -0700</bug_when>
    <thetext>Comment on attachment 111060
Patch

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

&gt; LayoutTests/storage/indexeddb/odd-strings.html:1
&gt; +

Nit: stray blank line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484225</commentid>
    <comment_count>4</comment_count>
      <attachid>111063</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-14 13:11:51 -0700</bug_when>
    <thetext>Created attachment 111063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484527</commentid>
    <comment_count>5</comment_count>
      <attachid>111063</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-15 00:18:22 -0700</bug_when>
    <thetext>Comment on attachment 111063
Patch

Clearing flags on attachment: 111063

Committed r97547: &lt;http://trac.webkit.org/changeset/97547&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484528</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-15 00:18:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>96531</attachid>
            <date>2011-06-08 20:07:57 -0700</date>
            <delta_ts>2011-06-08 20:07:57 -0700</delta_ts>
            <desc>test case</desc>
            <filename>database-odd-names.html</filename>
            <type>text/html</type>
            <size>3979</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CjxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CjxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtZnVuY3Rpb24uanMi
Pjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cjwv
aGVhZD4KPGJvZHk+CjxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgo8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KPHNjcmlwdD4KCmRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQiBvZGQgdmFsdWUgZGF0
YXR5cGVzIik7CmlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CgpmdW5jdGlvbiB0ZXN0KCkKewogICAgaW5kZXhl
ZERCID0gZXZhbEFuZExvZygiaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5kb3cu
d2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7Iik7CiAgICBzaG91bGRCZUZh
bHNlKCJpbmRleGVkREIgPT0gbnVsbCIpOwogICAgSURCRGF0YWJhc2VFeGNlcHRpb24gPSBldmFs
QW5kTG9nKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlv
biB8fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb247Iik7CiAgICBzaG91bGRCZUZh
bHNlKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIik7CiAgICBJREJDdXJzb3IgPSBldmFs
QW5kTG9nKCJJREJDdXJzb3IgPSB3aW5kb3cuSURCQ3Vyc29yIHx8IHdpbmRvdy53ZWJraXRJREJD
dXJzb3I7Iik7CiAgICBzaG91bGRCZUZhbHNlKCJJREJDdXJzb3IgPT0gbnVsbCIpOwogICAgSURC
S2V5UmFuZ2UgPSBldmFsQW5kTG9nKCJJREJLZXlSYW5nZSA9IHdpbmRvdy5JREJLZXlSYW5nZSB8
fCB3aW5kb3cud2Via2l0SURCS2V5UmFuZ2U7Iik7CiAgICBzaG91bGRCZUZhbHNlKCJJREJLZXlS
YW5nZSA9PSBudWxsIik7CgogICAgdGVzdERhdGEgPSBbeyBkZXNjcmlwdGlvbjogJ251bGwnLCAg
ICAgICAgICAgICAgIG5hbWU6ICdcdTAwMDAnIH0sCiAgICAgICAgICAgICAgICB7IGRlc2NyaXB0
aW9uOiAnZmFpaHUnLCAgICAgICAgICAgICAgbmFtZTogJ1x1ZDgwMFx1ZGY0NicgfSwKICAgICAg
ICAgICAgICAgIHsgZGVzY3JpcHRpb246ICd1bnBhaXJlZCBzdXJyb2dhdGUnLCBuYW1lOiAnXHVk
ODAwJyB9LAogICAgICAgICAgICAgICAgeyBkZXNjcmlwdGlvbjogJ2ZmZmUnLCAgICAgICAgICAg
ICAgIG5hbWU6ICdcdWZmZmUnIH0sCiAgICAgICAgICAgICAgICB7IGRlc2NyaXB0aW9uOiAnZmZm
ZicsICAgICAgICAgICAgICAgbmFtZTogJ1x1ZmZmZicgfSwKICAgICAgICAgICAgICAgIHsgZGVz
Y3JpcHRpb246ICdsaW5lIHNlcGFyYXRvcicsICAgICBuYW1lOiAnXHUyMDI4JyB9CiAgICBdOwog
ICAgbmV4dFRvT3BlbiA9IDA7CiAgICBvcGVuTmV4dERhdGFiYXNlKCk7Cn0KCmZ1bmN0aW9uIG9w
ZW5OZXh0RGF0YWJhc2UoKQp7CiAgICBkZWJ1Zygib3BlbmluZyBhIGRhdGFiYXNlIG5hbWVkICIg
KyB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlwdGlvbik7CiAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygiaW5kZXhlZERCLm9wZW4odGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSwgdGVzdERhdGFb
bmV4dFRvT3Blbl0uZGVzY3JpcHRpb24pIik7CiAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7Cn0K
CmZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKewogICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsKICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIu
c2V0VmVyc2lvbignMScpIik7CiAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGFkZEFLZXk7CiAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKfQoKZnVuY3Rpb24gYWRk
QUtleSgpCnsKICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CgogICAgb2JqZWN0U3RvcmUg
PSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKHRlc3REYXRh
W25leHRUb09wZW5dLm5hbWUpOyIpOwogICAga2V5ID0gZXZhbEFuZExvZygia2V5ID0gdGVzdERh
dGFbbmV4dFRvT3Blbl0ubmFtZSIpOwogICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3Qg
PSBvYmplY3RTdG9yZS5hZGQoa2V5LCBrZXkpOyIpOwogICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBj
bG9zZURhdGFiYXNlOwogICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7Cn0KCmZ1bmN0aW9uIGNsb3NlRGF0YWJhc2UoKQp7CiAgICBldmFsQW5kTG9nKCJkYi5jbG9z
ZSgpIik7CiAgICBkZWJ1ZygiIik7CiAgICBpZiAoKytuZXh0VG9PcGVuIDwgdGVzdERhdGEubGVu
Z3RoKSB7CiAgICAgICAgb3Blbk5leHREYXRhYmFzZSgpOwogICAgfSBlbHNlIHsKICAgICAgICBu
ZXh0VG9PcGVuID0gMDsKICAgICAgICB2ZXJpZnlOZXh0RGF0YWJhc2UoKTsKICAgIH0KfQoKZnVu
Y3Rpb24gdmVyaWZ5TmV4dERhdGFiYXNlKCkKewogICAgZGVidWcoInJlb3BlbmluZyBhIGRhdGFi
YXNlIG5hbWVkICIgKyB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlwdGlvbik7CiAgICByZXF1
ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4odGVzdERhdGFbbmV4dFRvT3Blbl0ubmFt
ZSwgdGVzdERhdGFbbmV4dFRvT3Blbl0uZGVzY3JpcHRpb24pIik7CiAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3Bl
blN1Y2Nlc3MyOwp9CgpmdW5jdGlvbiBvcGVuU3VjY2VzczIoKQp7CiAgICBkYiA9IGV2YWxBbmRM
b2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
InJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKICAgIHJlcXVlc3Qub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBnZXRBS2V5Owp9
CgpmdW5jdGlvbiBnZXRBS2V5KCkKewogICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0
U3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSh0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lKTsiKTsK
ICAgIGtleSA9IGV2YWxBbmRMb2coImtleSA9IHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUiKTsK
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUub3BlbkN1cnNv
cigpOyIpOwogICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5DdXJzb3JTdWNjZXNzOwp9CgpmdW5jdGlvbiBvcGVu
Q3Vyc29yU3VjY2VzcygpCnsKICAgIGN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50
LnRhcmdldC5yZXN1bHQ7Iik7CiAgICBzaG91bGRCZSgiY3Vyc29yLmtleSIsICJ0ZXN0RGF0YVtu
ZXh0VG9PcGVuXS5uYW1lIik7CiAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlIiwgInRlc3REYXRh
W25leHRUb09wZW5dLm5hbWUiKTsKICAgIGlmICgrK25leHRUb09wZW4gPCB0ZXN0RGF0YS5sZW5n
dGgpIHsKICAgICAgICBkZWJ1ZygiIik7CiAgICAgICAgdmVyaWZ5TmV4dERhdGFiYXNlKCk7CiAg
ICB9IGVsc2UgewogICAgICAgIGRvbmUoKTsKICAgIH0KfQoKdmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cgp0ZXN0KCk7Cgo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111060</attachid>
            <date>2011-10-14 13:05:19 -0700</date>
            <delta_ts>2011-10-14 13:11:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62348-20111014130518.patch</filename>
            <type>text/plain</type>
            <size>10995</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc0NjcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3MDI5NWViYjUzZjcxMmY4ZGU0ODcz
NmEwY2M0MjQyYmQ3ZDZiOTI3Li5hZDQ4NDk4ZjFjYTcxNDljMmUwZTViYmQ4N2M1OTk5ZjdlYzA0
MmY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTAtMTQgIEpvc2h1YSBCZWxsICA8anNi
ZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHNvbWUgc3RyaW5nIGtleXMg
bm90IHByb3Blcmx5IHN0b3JlZCBhbmQgcmV0cmlldmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEp1c3QgYWRkaW5nIE1hcmsgUGlsZ3JpbSdzIHRlc3Qg
Y2FzZSBmcm9tIGJ1ZzsgdGhpcyB3YXMgZml4ZWQgYXQgc29tZQorICAgICAgICBwb2ludCwgcHJl
c3VtYWJseSB3aGVuIHdlIG1vdmVkIHRvIExldmVsREIuCisKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9vZGQtc3RyaW5ncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL29kZC1zdHJpbmdzLmh0bWw6IEFkZGVkLgorCiAyMDExLTEwLTE0ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgdGFibGVzL21vemlsbGEvYnVn
cy9idWc1MzY5MC0xLmh0bWwgaGFzIG5ldmVyIHdvcmtlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb2RkLXN0cmluZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb2RkLXN0cmluZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY1ODk4MDRmZGQyM2RmMjRlMWIwNzI0NmI4M2M1YWY1M2UwNDE4MTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vZGQtc3RyaW5ncy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNDggQEAKK1Rlc3QgSW5kZXhlZERCIG9kZCB2YWx1ZSBkYXRhdHlwZXMK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9IHdpbmRvdy5pbmRl
eGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOwor
UEFTUyBpbmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQorSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3
aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhj
ZXB0aW9uOworUEFTUyBJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIGlzIGZhbHNlCitJREJD
dXJzb3IgPSB3aW5kb3cuSURCQ3Vyc29yIHx8IHdpbmRvdy53ZWJraXRJREJDdXJzb3I7CitQQVNT
IElEQkN1cnNvciA9PSBudWxsIGlzIGZhbHNlCitJREJLZXlSYW5nZSA9IHdpbmRvdy5JREJLZXlS
YW5nZSB8fCB3aW5kb3cud2Via2l0SURCS2V5UmFuZ2U7CitQQVNTIElEQktleVJhbmdlID09IG51
bGwgaXMgZmFsc2UKK29wZW5pbmcgYSBkYXRhYmFzZSBuYW1lZCBudWxsCitpbmRleGVkREIub3Bl
bih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlw
dGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24o
JzEnKQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRl
T2JqZWN0U3RvcmUodGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSk7CitrZXkgPSB0ZXN0RGF0YVtu
ZXh0VG9PcGVuXS5uYW1lCityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGtleSwga2V5KTsKK2Ri
LmNsb3NlKCkKKworb3BlbmluZyBhIGRhdGFiYXNlIG5hbWVkIGZhaWh1CitpbmRleGVkREIub3Bl
bih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlw
dGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24o
JzEnKQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRl
T2JqZWN0U3RvcmUodGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSk7CitrZXkgPSB0ZXN0RGF0YVtu
ZXh0VG9PcGVuXS5uYW1lCityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGtleSwga2V5KTsKK2Ri
LmNsb3NlKCkKKworb3BlbmluZyBhIGRhdGFiYXNlIG5hbWVkIHVucGFpcmVkIHN1cnJvZ2F0ZQor
aW5kZXhlZERCLm9wZW4odGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSwgdGVzdERhdGFbbmV4dFRv
T3Blbl0uZGVzY3JpcHRpb24pCitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3JlcXVlc3QgPSBk
Yi5zZXRWZXJzaW9uKCcxJykKK0RlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitvYmplY3RTdG9y
ZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUpOwora2V5
ID0gdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChr
ZXksIGtleSk7CitkYi5jbG9zZSgpCisKK29wZW5pbmcgYSBkYXRhYmFzZSBuYW1lZCBmZmZlCitp
bmRleGVkREIub3Blbih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0RGF0YVtuZXh0VG9P
cGVuXS5kZXNjcmlwdGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorcmVxdWVzdCA9IGRi
LnNldFZlcnNpb24oJzEnKQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3Jl
ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUodGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSk7CitrZXkg
PSB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lCityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGtl
eSwga2V5KTsKK2RiLmNsb3NlKCkKKworb3BlbmluZyBhIGRhdGFiYXNlIG5hbWVkIGZmZmYKK2lu
ZGV4ZWREQi5vcGVuKHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUsIHRlc3REYXRhW25leHRUb09w
ZW5dLmRlc2NyaXB0aW9uKQorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CityZXF1ZXN0ID0gZGIu
c2V0VmVyc2lvbignMScpCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorb2JqZWN0U3RvcmUg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSh0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lKTsKK2tleSA9
IHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoa2V5
LCBrZXkpOworZGIuY2xvc2UoKQorCitvcGVuaW5nIGEgZGF0YWJhc2UgbmFtZWQgbGluZSBzZXBh
cmF0b3IKK2luZGV4ZWREQi5vcGVuKHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUsIHRlc3REYXRh
W25leHRUb09wZW5dLmRlc2NyaXB0aW9uKQorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CityZXF1
ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorb2Jq
ZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSh0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1l
KTsKK2tleSA9IHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK3JlcXVlc3QgPSBvYmplY3RTdG9y
ZS5hZGQoa2V5LCBrZXkpOworZGIuY2xvc2UoKQorCityZW9wZW5pbmcgYSBkYXRhYmFzZSBuYW1l
ZCBudWxsCitpbmRleGVkREIub3Blbih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0RGF0
YVtuZXh0VG9PcGVuXS5kZXNjcmlwdGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorcmVx
dWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQordHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Citv
YmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUp
Owora2V5ID0gdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorcmVxdWVzdCA9IG9iamVjdFN0b3Jl
Lm9wZW5DdXJzb3IoKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNv
ci5rZXkgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorUEFTUyBjdXJzb3IudmFsdWUgaXMg
dGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorCityZW9wZW5pbmcgYSBkYXRhYmFzZSBuYW1lZCBm
YWlodQoraW5kZXhlZERCLm9wZW4odGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSwgdGVzdERhdGFb
bmV4dFRvT3Blbl0uZGVzY3JpcHRpb24pCitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3JlcXVl
c3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKK3RyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorb2Jq
ZWN0U3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSh0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lKTsK
K2tleSA9IHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5v
cGVuQ3Vyc29yKCk7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iu
a2V5IGlzIHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlIGlzIHRl
c3REYXRhW25leHRUb09wZW5dLm5hbWUKKworcmVvcGVuaW5nIGEgZGF0YWJhc2UgbmFtZWQgdW5w
YWlyZWQgc3Vycm9nYXRlCitpbmRleGVkREIub3Blbih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1l
LCB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlwdGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJl
c3VsdAorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQordHJhbnMgPSBldmVudC50YXJnZXQu
cmVzdWx0CitvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRlc3REYXRhW25leHRUb09w
ZW5dLm5hbWUpOwora2V5ID0gdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorcmVxdWVzdCA9IG9i
amVjdFN0b3JlLm9wZW5DdXJzb3IoKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQ
QVNTIGN1cnNvci5rZXkgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorUEFTUyBjdXJzb3Iu
dmFsdWUgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorCityZW9wZW5pbmcgYSBkYXRhYmFz
ZSBuYW1lZCBmZmZlCitpbmRleGVkREIub3Blbih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0
ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlwdGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dAorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQordHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0CitvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRlc3REYXRhW25leHRUb09wZW5d
Lm5hbWUpOwora2V5ID0gdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorcmVxdWVzdCA9IG9iamVj
dFN0b3JlLm9wZW5DdXJzb3IoKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNT
IGN1cnNvci5rZXkgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorUEFTUyBjdXJzb3IudmFs
dWUgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorCityZW9wZW5pbmcgYSBkYXRhYmFzZSBu
YW1lZCBmZmZmCitpbmRleGVkREIub3Blbih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0
RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlwdGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAor
cmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQordHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0
CitvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRlc3REYXRhW25leHRUb09wZW5dLm5h
bWUpOwora2V5ID0gdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorcmVxdWVzdCA9IG9iamVjdFN0
b3JlLm9wZW5DdXJzb3IoKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1
cnNvci5rZXkgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorUEFTUyBjdXJzb3IudmFsdWUg
aXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorCityZW9wZW5pbmcgYSBkYXRhYmFzZSBuYW1l
ZCBsaW5lIHNlcGFyYXRvcgoraW5kZXhlZERCLm9wZW4odGVzdERhdGFbbmV4dFRvT3Blbl0ubmFt
ZSwgdGVzdERhdGFbbmV4dFRvT3Blbl0uZGVzY3JpcHRpb24pCitkYiA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQKK3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKK3RyYW5zID0gZXZlbnQudGFyZ2V0
LnJlc3VsdAorb2JqZWN0U3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSh0ZXN0RGF0YVtuZXh0VG9P
cGVuXS5uYW1lKTsKK2tleSA9IHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK3JlcXVlc3QgPSBv
YmplY3RTdG9yZS5vcGVuQ3Vyc29yKCk7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0Owor
UEFTUyBjdXJzb3Iua2V5IGlzIHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK1BBU1MgY3Vyc29y
LnZhbHVlIGlzIHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vZGQtc3RyaW5ncy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvb2RkLXN0cmluZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTZlZTBiMjQ4NTQ4OWQ2OGYy
Yjk3MzI1OTkxZWY2NDFiYjIyNDNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvb2RkLXN0cmluZ3MuaHRtbApAQCAtMCwwICsxLDEyNSBAQAorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQiBvZGQg
dmFsdWUgZGF0YXR5cGVzIik7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgaW5kZXhlZERCID0gZXZhbEFuZExvZygiaW5kZXhlZERCID0gd2luZG93LmluZGV4
ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7Iik7
CisgICAgc2hvdWxkQmVGYWxzZSgiaW5kZXhlZERCID09IG51bGwiKTsKKyAgICBJREJEYXRhYmFz
ZUV4Y2VwdGlvbiA9IGV2YWxBbmRMb2coIklEQkRhdGFiYXNlRXhjZXB0aW9uID0gd2luZG93LklE
QkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbjsi
KTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIik7Cisg
ICAgSURCQ3Vyc29yID0gZXZhbEFuZExvZygiSURCQ3Vyc29yID0gd2luZG93LklEQkN1cnNvciB8
fCB3aW5kb3cud2Via2l0SURCQ3Vyc29yOyIpOworICAgIHNob3VsZEJlRmFsc2UoIklEQkN1cnNv
ciA9PSBudWxsIik7CisgICAgSURCS2V5UmFuZ2UgPSBldmFsQW5kTG9nKCJJREJLZXlSYW5nZSA9
IHdpbmRvdy5JREJLZXlSYW5nZSB8fCB3aW5kb3cud2Via2l0SURCS2V5UmFuZ2U7Iik7CisgICAg
c2hvdWxkQmVGYWxzZSgiSURCS2V5UmFuZ2UgPT0gbnVsbCIpOworCisgICAgdGVzdERhdGEgPSBb
eyBkZXNjcmlwdGlvbjogJ251bGwnLCAgICAgICAgICAgICAgIG5hbWU6ICdcdTAwMDAnIH0sCisg
ICAgICAgICAgICAgICAgeyBkZXNjcmlwdGlvbjogJ2ZhaWh1JywgICAgICAgICAgICAgIG5hbWU6
ICdcdWQ4MDBcdWRmNDYnIH0sCisgICAgICAgICAgICAgICAgeyBkZXNjcmlwdGlvbjogJ3VucGFp
cmVkIHN1cnJvZ2F0ZScsIG5hbWU6ICdcdWQ4MDAnIH0sCisgICAgICAgICAgICAgICAgeyBkZXNj
cmlwdGlvbjogJ2ZmZmUnLCAgICAgICAgICAgICAgIG5hbWU6ICdcdWZmZmUnIH0sCisgICAgICAg
ICAgICAgICAgeyBkZXNjcmlwdGlvbjogJ2ZmZmYnLCAgICAgICAgICAgICAgIG5hbWU6ICdcdWZm
ZmYnIH0sCisgICAgICAgICAgICAgICAgeyBkZXNjcmlwdGlvbjogJ2xpbmUgc2VwYXJhdG9yJywg
ICAgIG5hbWU6ICdcdTIwMjgnIH0KKyAgICBdOworICAgIG5leHRUb09wZW4gPSAwOworICAgIG9w
ZW5OZXh0RGF0YWJhc2UoKTsKK30KKworZnVuY3Rpb24gb3Blbk5leHREYXRhYmFzZSgpCit7Cisg
ICAgZGVidWcoIm9wZW5pbmcgYSBkYXRhYmFzZSBuYW1lZCAiICsgdGVzdERhdGFbbmV4dFRvT3Bl
bl0uZGVzY3JpcHRpb24pOworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3Bl
bih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlw
dGlvbikiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
KyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOworfQorCitmdW5jdGlvbiBvcGVu
U3VjY2VzcygpCit7CisgICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1
bHQiKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24o
JzEnKSIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gYWRkQUtleTsKKyAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24gYWRkQUtleSgp
Cit7CisgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKKworICAgIG9iamVjdFN0b3JlID0g
ZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSh0ZXN0RGF0YVtu
ZXh0VG9PcGVuXS5uYW1lKTsiKTsKKyAgICBrZXkgPSBldmFsQW5kTG9nKCJrZXkgPSB0ZXN0RGF0
YVtuZXh0VG9PcGVuXS5uYW1lIik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3Qg
PSBvYmplY3RTdG9yZS5hZGQoa2V5LCBrZXkpOyIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
Y2xvc2VEYXRhYmFzZTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKK30KKworZnVuY3Rpb24gY2xvc2VEYXRhYmFzZSgpCit7CisgICAgZXZhbEFuZExvZygi
ZGIuY2xvc2UoKSIpOworICAgIGRlYnVnKCIiKTsKKyAgICBpZiAoKytuZXh0VG9PcGVuIDwgdGVz
dERhdGEubGVuZ3RoKSB7CisgICAgICAgIG9wZW5OZXh0RGF0YWJhc2UoKTsKKyAgICB9IGVsc2Ug
eworICAgICAgICBuZXh0VG9PcGVuID0gMDsKKyAgICAgICAgdmVyaWZ5TmV4dERhdGFiYXNlKCk7
CisgICAgfQorfQorCitmdW5jdGlvbiB2ZXJpZnlOZXh0RGF0YWJhc2UoKQoreworICAgIGRlYnVn
KCJyZW9wZW5pbmcgYSBkYXRhYmFzZSBuYW1lZCAiICsgdGVzdERhdGFbbmV4dFRvT3Blbl0uZGVz
Y3JpcHRpb24pOworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3Blbih0ZXN0
RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlwdGlvbiki
KTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzMjsKK30KKworZnVuY3Rpb24gb3BlblN1Y2Nl
c3MyKCkKK3sKKyAgICBkYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScp
Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBnZXRBS2V5OworfQorCitmdW5jdGlvbiBnZXRBS2V5KCkKK3sK
KyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwor
ICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSB0cmFucy5vYmplY3RT
dG9yZSh0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lKTsiKTsKKyAgICBrZXkgPSBldmFsQW5kTG9n
KCJrZXkgPSB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lIik7CisgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKCk7Iik7CisgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuQ3Vyc29yU3VjY2VzczsKK30KKworZnVuY3Rpb24gb3BlbkN1cnNvclN1Y2Nlc3Mo
KQoreworICAgIGN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1
bHQ7Iik7CisgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAidGVzdERhdGFbbmV4dFRvT3Blbl0u
bmFtZSIpOworICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUiLCAidGVzdERhdGFbbmV4dFRvT3Bl
bl0ubmFtZSIpOworICAgIGlmICgrK25leHRUb09wZW4gPCB0ZXN0RGF0YS5sZW5ndGgpIHsKKyAg
ICAgICAgZGVidWcoIiIpOworICAgICAgICB2ZXJpZnlOZXh0RGF0YWJhc2UoKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBkb25lKCk7CisgICAgfQorfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKwordGVzdCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111063</attachid>
            <date>2011-10-14 13:11:51 -0700</date>
            <delta_ts>2011-10-15 00:18:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62348-20111014131150.patch</filename>
            <type>text/plain</type>
            <size>10993</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc0NjcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3MDI5NWViYjUzZjcxMmY4ZGU0ODcz
NmEwY2M0MjQyYmQ3ZDZiOTI3Li5hZDQ4NDk4ZjFjYTcxNDljMmUwZTViYmQ4N2M1OTk5ZjdlYzA0
MmY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTAtMTQgIEpvc2h1YSBCZWxsICA8anNi
ZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHNvbWUgc3RyaW5nIGtleXMg
bm90IHByb3Blcmx5IHN0b3JlZCBhbmQgcmV0cmlldmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEp1c3QgYWRkaW5nIE1hcmsgUGlsZ3JpbSdzIHRlc3Qg
Y2FzZSBmcm9tIGJ1ZzsgdGhpcyB3YXMgZml4ZWQgYXQgc29tZQorICAgICAgICBwb2ludCwgcHJl
c3VtYWJseSB3aGVuIHdlIG1vdmVkIHRvIExldmVsREIuCisKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9vZGQtc3RyaW5ncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL29kZC1zdHJpbmdzLmh0bWw6IEFkZGVkLgorCiAyMDExLTEwLTE0ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgdGFibGVzL21vemlsbGEvYnVn
cy9idWc1MzY5MC0xLmh0bWwgaGFzIG5ldmVyIHdvcmtlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb2RkLXN0cmluZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb2RkLXN0cmluZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY1ODk4MDRmZGQyM2RmMjRlMWIwNzI0NmI4M2M1YWY1M2UwNDE4MTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vZGQtc3RyaW5ncy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNDggQEAKK1Rlc3QgSW5kZXhlZERCIG9kZCB2YWx1ZSBkYXRhdHlwZXMK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9IHdpbmRvdy5pbmRl
eGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOwor
UEFTUyBpbmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQorSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3
aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhj
ZXB0aW9uOworUEFTUyBJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIGlzIGZhbHNlCitJREJD
dXJzb3IgPSB3aW5kb3cuSURCQ3Vyc29yIHx8IHdpbmRvdy53ZWJraXRJREJDdXJzb3I7CitQQVNT
IElEQkN1cnNvciA9PSBudWxsIGlzIGZhbHNlCitJREJLZXlSYW5nZSA9IHdpbmRvdy5JREJLZXlS
YW5nZSB8fCB3aW5kb3cud2Via2l0SURCS2V5UmFuZ2U7CitQQVNTIElEQktleVJhbmdlID09IG51
bGwgaXMgZmFsc2UKK29wZW5pbmcgYSBkYXRhYmFzZSBuYW1lZCBudWxsCitpbmRleGVkREIub3Bl
bih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlw
dGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24o
JzEnKQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRl
T2JqZWN0U3RvcmUodGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSk7CitrZXkgPSB0ZXN0RGF0YVtu
ZXh0VG9PcGVuXS5uYW1lCityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGtleSwga2V5KTsKK2Ri
LmNsb3NlKCkKKworb3BlbmluZyBhIGRhdGFiYXNlIG5hbWVkIGZhaWh1CitpbmRleGVkREIub3Bl
bih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlw
dGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24o
JzEnKQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRl
T2JqZWN0U3RvcmUodGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSk7CitrZXkgPSB0ZXN0RGF0YVtu
ZXh0VG9PcGVuXS5uYW1lCityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGtleSwga2V5KTsKK2Ri
LmNsb3NlKCkKKworb3BlbmluZyBhIGRhdGFiYXNlIG5hbWVkIHVucGFpcmVkIHN1cnJvZ2F0ZQor
aW5kZXhlZERCLm9wZW4odGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSwgdGVzdERhdGFbbmV4dFRv
T3Blbl0uZGVzY3JpcHRpb24pCitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3JlcXVlc3QgPSBk
Yi5zZXRWZXJzaW9uKCcxJykKK0RlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitvYmplY3RTdG9y
ZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUpOwora2V5
ID0gdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChr
ZXksIGtleSk7CitkYi5jbG9zZSgpCisKK29wZW5pbmcgYSBkYXRhYmFzZSBuYW1lZCBmZmZlCitp
bmRleGVkREIub3Blbih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0RGF0YVtuZXh0VG9P
cGVuXS5kZXNjcmlwdGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorcmVxdWVzdCA9IGRi
LnNldFZlcnNpb24oJzEnKQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3Jl
ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUodGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSk7CitrZXkg
PSB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lCityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGtl
eSwga2V5KTsKK2RiLmNsb3NlKCkKKworb3BlbmluZyBhIGRhdGFiYXNlIG5hbWVkIGZmZmYKK2lu
ZGV4ZWREQi5vcGVuKHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUsIHRlc3REYXRhW25leHRUb09w
ZW5dLmRlc2NyaXB0aW9uKQorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CityZXF1ZXN0ID0gZGIu
c2V0VmVyc2lvbignMScpCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorb2JqZWN0U3RvcmUg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSh0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lKTsKK2tleSA9
IHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoa2V5
LCBrZXkpOworZGIuY2xvc2UoKQorCitvcGVuaW5nIGEgZGF0YWJhc2UgbmFtZWQgbGluZSBzZXBh
cmF0b3IKK2luZGV4ZWREQi5vcGVuKHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUsIHRlc3REYXRh
W25leHRUb09wZW5dLmRlc2NyaXB0aW9uKQorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CityZXF1
ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorb2Jq
ZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSh0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1l
KTsKK2tleSA9IHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK3JlcXVlc3QgPSBvYmplY3RTdG9y
ZS5hZGQoa2V5LCBrZXkpOworZGIuY2xvc2UoKQorCityZW9wZW5pbmcgYSBkYXRhYmFzZSBuYW1l
ZCBudWxsCitpbmRleGVkREIub3Blbih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0RGF0
YVtuZXh0VG9PcGVuXS5kZXNjcmlwdGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorcmVx
dWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQordHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Citv
YmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUp
Owora2V5ID0gdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorcmVxdWVzdCA9IG9iamVjdFN0b3Jl
Lm9wZW5DdXJzb3IoKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNv
ci5rZXkgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorUEFTUyBjdXJzb3IudmFsdWUgaXMg
dGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorCityZW9wZW5pbmcgYSBkYXRhYmFzZSBuYW1lZCBm
YWlodQoraW5kZXhlZERCLm9wZW4odGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSwgdGVzdERhdGFb
bmV4dFRvT3Blbl0uZGVzY3JpcHRpb24pCitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3JlcXVl
c3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKK3RyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorb2Jq
ZWN0U3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSh0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lKTsK
K2tleSA9IHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5v
cGVuQ3Vyc29yKCk7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iu
a2V5IGlzIHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlIGlzIHRl
c3REYXRhW25leHRUb09wZW5dLm5hbWUKKworcmVvcGVuaW5nIGEgZGF0YWJhc2UgbmFtZWQgdW5w
YWlyZWQgc3Vycm9nYXRlCitpbmRleGVkREIub3Blbih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1l
LCB0ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlwdGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJl
c3VsdAorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQordHJhbnMgPSBldmVudC50YXJnZXQu
cmVzdWx0CitvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRlc3REYXRhW25leHRUb09w
ZW5dLm5hbWUpOwora2V5ID0gdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorcmVxdWVzdCA9IG9i
amVjdFN0b3JlLm9wZW5DdXJzb3IoKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQ
QVNTIGN1cnNvci5rZXkgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorUEFTUyBjdXJzb3Iu
dmFsdWUgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorCityZW9wZW5pbmcgYSBkYXRhYmFz
ZSBuYW1lZCBmZmZlCitpbmRleGVkREIub3Blbih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0
ZXN0RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlwdGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dAorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQordHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0CitvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRlc3REYXRhW25leHRUb09wZW5d
Lm5hbWUpOwora2V5ID0gdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorcmVxdWVzdCA9IG9iamVj
dFN0b3JlLm9wZW5DdXJzb3IoKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNT
IGN1cnNvci5rZXkgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorUEFTUyBjdXJzb3IudmFs
dWUgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorCityZW9wZW5pbmcgYSBkYXRhYmFzZSBu
YW1lZCBmZmZmCitpbmRleGVkREIub3Blbih0ZXN0RGF0YVtuZXh0VG9PcGVuXS5uYW1lLCB0ZXN0
RGF0YVtuZXh0VG9PcGVuXS5kZXNjcmlwdGlvbikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAor
cmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQordHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0
CitvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRlc3REYXRhW25leHRUb09wZW5dLm5h
bWUpOwora2V5ID0gdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorcmVxdWVzdCA9IG9iamVjdFN0
b3JlLm9wZW5DdXJzb3IoKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1
cnNvci5rZXkgaXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorUEFTUyBjdXJzb3IudmFsdWUg
aXMgdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZQorCityZW9wZW5pbmcgYSBkYXRhYmFzZSBuYW1l
ZCBsaW5lIHNlcGFyYXRvcgoraW5kZXhlZERCLm9wZW4odGVzdERhdGFbbmV4dFRvT3Blbl0ubmFt
ZSwgdGVzdERhdGFbbmV4dFRvT3Blbl0uZGVzY3JpcHRpb24pCitkYiA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQKK3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKK3RyYW5zID0gZXZlbnQudGFyZ2V0
LnJlc3VsdAorb2JqZWN0U3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSh0ZXN0RGF0YVtuZXh0VG9P
cGVuXS5uYW1lKTsKK2tleSA9IHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK3JlcXVlc3QgPSBv
YmplY3RTdG9yZS5vcGVuQ3Vyc29yKCk7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0Owor
UEFTUyBjdXJzb3Iua2V5IGlzIHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK1BBU1MgY3Vyc29y
LnZhbHVlIGlzIHRlc3REYXRhW25leHRUb09wZW5dLm5hbWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vZGQtc3RyaW5ncy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvb2RkLXN0cmluZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjYxMjAxYWNlYmUzMTk4YzVk
NWNjZWUwMjZhMmFiNDQ2ZWRhMzkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvb2RkLXN0cmluZ3MuaHRtbApAQCAtMCwwICsxLDEyNCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVkREIgb2RkIHZh
bHVlIGRhdGF0eXBlcyIpOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIGluZGV4ZWREQiA9IGV2YWxBbmRMb2coImluZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVk
REIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOyIpOwor
ICAgIHNob3VsZEJlRmFsc2UoImluZGV4ZWREQiA9PSBudWxsIik7CisgICAgSURCRGF0YWJhc2VF
eGNlcHRpb24gPSBldmFsQW5kTG9nKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJE
YXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb247Iik7
CisgICAgc2hvdWxkQmVGYWxzZSgiSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCIpOworICAg
IElEQkN1cnNvciA9IGV2YWxBbmRMb2coIklEQkN1cnNvciA9IHdpbmRvdy5JREJDdXJzb3IgfHwg
d2luZG93LndlYmtpdElEQkN1cnNvcjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJDdXJzb3Ig
PT0gbnVsbCIpOworICAgIElEQktleVJhbmdlID0gZXZhbEFuZExvZygiSURCS2V5UmFuZ2UgPSB3
aW5kb3cuSURCS2V5UmFuZ2UgfHwgd2luZG93LndlYmtpdElEQktleVJhbmdlOyIpOworICAgIHNo
b3VsZEJlRmFsc2UoIklEQktleVJhbmdlID09IG51bGwiKTsKKworICAgIHRlc3REYXRhID0gW3sg
ZGVzY3JpcHRpb246ICdudWxsJywgICAgICAgICAgICAgICBuYW1lOiAnXHUwMDAwJyB9LAorICAg
ICAgICAgICAgICAgIHsgZGVzY3JpcHRpb246ICdmYWlodScsICAgICAgICAgICAgICBuYW1lOiAn
XHVkODAwXHVkZjQ2JyB9LAorICAgICAgICAgICAgICAgIHsgZGVzY3JpcHRpb246ICd1bnBhaXJl
ZCBzdXJyb2dhdGUnLCBuYW1lOiAnXHVkODAwJyB9LAorICAgICAgICAgICAgICAgIHsgZGVzY3Jp
cHRpb246ICdmZmZlJywgICAgICAgICAgICAgICBuYW1lOiAnXHVmZmZlJyB9LAorICAgICAgICAg
ICAgICAgIHsgZGVzY3JpcHRpb246ICdmZmZmJywgICAgICAgICAgICAgICBuYW1lOiAnXHVmZmZm
JyB9LAorICAgICAgICAgICAgICAgIHsgZGVzY3JpcHRpb246ICdsaW5lIHNlcGFyYXRvcicsICAg
ICBuYW1lOiAnXHUyMDI4JyB9CisgICAgXTsKKyAgICBuZXh0VG9PcGVuID0gMDsKKyAgICBvcGVu
TmV4dERhdGFiYXNlKCk7Cit9CisKK2Z1bmN0aW9uIG9wZW5OZXh0RGF0YWJhc2UoKQoreworICAg
IGRlYnVnKCJvcGVuaW5nIGEgZGF0YWJhc2UgbmFtZWQgIiArIHRlc3REYXRhW25leHRUb09wZW5d
LmRlc2NyaXB0aW9uKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4o
dGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSwgdGVzdERhdGFbbmV4dFRvT3Blbl0uZGVzY3JpcHRp
b24pIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cisg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKK30KKworZnVuY3Rpb24gb3BlblN1
Y2Nlc3MoKQoreworICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0
Iik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcx
JykiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGFkZEFLZXk7CisgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIGFkZEFLZXkoKQor
eworICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisKKyAgICBvYmplY3RTdG9yZSA9IGV2
YWxBbmRMb2coIm9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUodGVzdERhdGFbbmV4
dFRvT3Blbl0ubmFtZSk7Iik7CisgICAga2V5ID0gZXZhbEFuZExvZygia2V5ID0gdGVzdERhdGFb
bmV4dFRvT3Blbl0ubmFtZSIpOworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0g
b2JqZWN0U3RvcmUuYWRkKGtleSwga2V5KTsiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNs
b3NlRGF0YWJhc2U7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7Cit9CisKK2Z1bmN0aW9uIGNsb3NlRGF0YWJhc2UoKQoreworICAgIGV2YWxBbmRMb2coImRi
LmNsb3NlKCkiKTsKKyAgICBkZWJ1ZygiIik7CisgICAgaWYgKCsrbmV4dFRvT3BlbiA8IHRlc3RE
YXRhLmxlbmd0aCkgeworICAgICAgICBvcGVuTmV4dERhdGFiYXNlKCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgbmV4dFRvT3BlbiA9IDA7CisgICAgICAgIHZlcmlmeU5leHREYXRhYmFzZSgpOwor
ICAgIH0KK30KKworZnVuY3Rpb24gdmVyaWZ5TmV4dERhdGFiYXNlKCkKK3sKKyAgICBkZWJ1Zygi
cmVvcGVuaW5nIGEgZGF0YWJhc2UgbmFtZWQgIiArIHRlc3REYXRhW25leHRUb09wZW5dLmRlc2Ny
aXB0aW9uKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4odGVzdERh
dGFbbmV4dFRvT3Blbl0ubmFtZSwgdGVzdERhdGFbbmV4dFRvT3Blbl0uZGVzY3JpcHRpb24pIik7
CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczI7Cit9CisKK2Z1bmN0aW9uIG9wZW5TdWNjZXNz
MigpCit7CisgICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
KyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKSIp
OworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gZ2V0QUtleTsKK30KKworZnVuY3Rpb24gZ2V0QUtleSgpCit7Cisg
ICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAg
ICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0gdHJhbnMub2JqZWN0U3Rv
cmUodGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSk7Iik7CisgICAga2V5ID0gZXZhbEFuZExvZygi
a2V5ID0gdGVzdERhdGFbbmV4dFRvT3Blbl0ubmFtZSIpOworICAgIHJlcXVlc3QgPSBldmFsQW5k
TG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUub3BlbkN1cnNvcigpOyIpOworICAgIHJlcXVlc3Qu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gb3BlbkN1cnNvclN1Y2Nlc3M7Cit9CisKK2Z1bmN0aW9uIG9wZW5DdXJzb3JTdWNjZXNzKCkK
K3sKKyAgICBjdXJzb3IgPSBldmFsQW5kTG9nKCJjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0
OyIpOworICAgIHNob3VsZEJlKCJjdXJzb3Iua2V5IiwgInRlc3REYXRhW25leHRUb09wZW5dLm5h
bWUiKTsKKyAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlIiwgInRlc3REYXRhW25leHRUb09wZW5d
Lm5hbWUiKTsKKyAgICBpZiAoKytuZXh0VG9PcGVuIDwgdGVzdERhdGEubGVuZ3RoKSB7CisgICAg
ICAgIGRlYnVnKCIiKTsKKyAgICAgICAgdmVyaWZ5TmV4dERhdGFiYXNlKCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgZG9uZSgpOworICAgIH0KK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CisKK3Rlc3QoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>