<?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>35786</bug_id>
          
          <creation_ts>2010-03-05 02:33:03 -0800</creation_ts>
          <short_desc>Improve portability of fast/forms/listbox-selection.html</short_desc>
          <delta_ts>2010-08-19 20:37:58 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Kent Tamura">tkent</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bashi</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>196395</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-03-05 02:33:03 -0800</bug_when>
    <thetext>listbox-selection.html has potability problems:
  - it depends on Mac-specific metrics (itemHeight = 14)
  - it changes behavior by navigator.userAgent string

We should detect the item height at runtime like Bug#34072.
We should use &quot;addSelectionKey&quot; modifier for metaKey (Mac) or controlKey (others) like Bug#33989.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261097</commentid>
    <comment_count>1</comment_count>
      <attachid>63693</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-08-05 22:40:28 -0700</bug_when>
    <thetext>Created attachment 63693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261142</commentid>
    <comment_count>2</comment_count>
      <attachid>63693</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-06 00:37:47 -0700</bug_when>
    <thetext>Comment on attachment 63693
Patch

The change is basically good.  Thank you for taking this bug.

Did you confirm the change worked on Mac and Windows?

&gt; +        Improve portability of fast/forms/listbox-selection.html
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=35786
&gt; +
&gt; +        * fast/forms/listbox-selection-expected.txt: Updated to match with new test.
&gt; +        * fast/forms/listbox-selection.html: Modified to use script-tests style.
&gt; +        * fast/forms/script-tests/listbox-selection.js: Added.
&gt; +        (mouseDownOnSelect):
&gt; +        (keyDownOnSelect):
&gt; +        (createSelect):
&gt; +        (selectionPattern):

You had better add how to resolve the portability issue to ChangeLog.

&gt; --- a/LayoutTests/fast/forms/listbox-selection-expected.txt
&gt; +++ b/LayoutTests/fast/forms/listbox-selection-expected.txt
&gt; @@ -1,29 +1,23 @@
&gt; - 1) Select one item with mouse (no previous selection)
&gt; - 2) Select one item with mouse (with previous selection)
&gt; - 3) Select one item with the keyboard (no previous selection)
&gt; - 4) Select one item with the keyboard (with previous selection)
&gt; - 5) Attempt to select an item cmd-clicking
&gt; - 6) Attempt to select a range shift-clicking
&gt; - 7) Attempt to select a range with the keyboard
&gt; - 8) Select one item with mouse (no previous selection)
&gt; - 9) Select one item with mouse (with previous selection)
&gt; - 10) Select one item with the keyboard (no previous selection)
&gt; - 11) Select one item with the keyboard (with previous selection)
&gt; - 12) Select an item cmd-clicking
&gt; - 13) Select a range shift-clicking
&gt; - 14) Select a range with the keyboard

The old expectation had information about what was tested, and new expectation has no such information.
An expectation files should have such information in order to detect what is wrong easily when a test fails. So, for example,

&gt; +// 1) Select one item with mouse (no previous selection)
&gt; +mouseDownOnSelect(&quot;sl1&quot;, 0);
&gt; +shouldBe(&apos;selectionPattern(&quot;sl1&quot;)&apos;, &apos;&quot;10000&quot;&apos;);

The first line should be:
  debug(&quot;1) Select one item with mouse (no previous selection)&quot;)

&gt; +if (window.layoutTestController)
&gt; +    layoutTestController.waitUntilDone();

&gt; +if (window.layoutTestController)
&gt; +    layoutTestController.notifyDone();

You don&apos;t need these blocks because js-test-pre.js and js-test-post.js are loaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261149</commentid>
    <comment_count>3</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-08-06 01:23:10 -0700</bug_when>
    <thetext>Kent-san,

Thank you for your quick review! I really appreciate your kind suggestions. Your comments definitely help me because I am new to WebKit development. Unfortunately, I don&apos;t have a windows machine that can be used to test for now, so I&apos;ll send revised patch after I get a windows machine.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265982</commentid>
    <comment_count>4</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-08-18 01:16:37 -0700</bug_when>
    <thetext>I&apos;ve finally prepared a windows machine for the test and the test is successfully passed on the windows machine. I&apos;m going to send a review request for revised patch soon.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265984</commentid>
    <comment_count>5</comment_count>
      <attachid>64674</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-08-18 01:20:51 -0700</bug_when>
    <thetext>Created attachment 64674
Patch V1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267116</commentid>
    <comment_count>6</comment_count>
      <attachid>64674</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-19 19:25:09 -0700</bug_when>
    <thetext>Comment on attachment 64674
Patch V1

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267124</commentid>
    <comment_count>7</comment_count>
      <attachid>64674</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-19 20:37:52 -0700</bug_when>
    <thetext>Comment on attachment 64674
Patch V1

Clearing flags on attachment: 64674

Committed r65723: &lt;http://trac.webkit.org/changeset/65723&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267125</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-19 20:37:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63693</attachid>
            <date>2010-08-05 22:40:28 -0700</date>
            <delta_ts>2010-08-18 01:20:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35786-20100806144026.patch</filename>
            <type>text/plain</type>
            <size>18789</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlZDFjMDg5YTMxZDE3MTY5NDQ0OGRkMWY1YTBlMmMwYzNkOGJmMzBjLi5hOGMwYTEx
MDljNTJhOWI5N2MwYzk1ZmFmMGMyYzE1YTdhYzk1OTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDgtMDUgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXByb3ZlIHBvcnRh
YmlsaXR5IG9mIGZhc3QvZm9ybXMvbGlzdGJveC1zZWxlY3Rpb24uaHRtbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU3ODYKKworICAgICAgICAqIGZh
c3QvZm9ybXMvbGlzdGJveC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0OiBVcGRhdGVkIHRvIG1hdGNo
IHdpdGggbmV3IHRlc3QuCisgICAgICAgICogZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi5o
dG1sOiBNb2RpZmllZCB0byB1c2Ugc2NyaXB0LXRlc3RzIHN0eWxlLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvc2NyaXB0LXRlc3RzL2xpc3Rib3gtc2VsZWN0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAg
KG1vdXNlRG93bk9uU2VsZWN0KToKKyAgICAgICAgKGtleURvd25PblNlbGVjdCk6CisgICAgICAg
IChjcmVhdGVTZWxlY3QpOgorICAgICAgICAoc2VsZWN0aW9uUGF0dGVybik6CisKIDIwMTAtMDgt
MDUgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xp
c3Rib3gtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlz
dGJveC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IDRmYTJiMjRiZTg3MDQwMzA1NWU1Nzdk
NjFmMWRhODJiMzY4ZjdmOWEuLmI5MGM5YjcyZDY0YTJkZTI0NDMzYmU0YzA5YmVjYzYzOGMwYmE3
Y2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC1zZWxlY3Rpb24t
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0xLDI5ICsxLDIzIEBACi0gMSkgU2VsZWN0IG9uZSBpdGVtIHdp
dGggbW91c2UgKG5vIHByZXZpb3VzIHNlbGVjdGlvbikKLSAyKSBTZWxlY3Qgb25lIGl0ZW0gd2l0
aCBtb3VzZSAod2l0aCBwcmV2aW91cyBzZWxlY3Rpb24pCi0gMykgU2VsZWN0IG9uZSBpdGVtIHdp
dGggdGhlIGtleWJvYXJkIChubyBwcmV2aW91cyBzZWxlY3Rpb24pCi0gNCkgU2VsZWN0IG9uZSBp
dGVtIHdpdGggdGhlIGtleWJvYXJkICh3aXRoIHByZXZpb3VzIHNlbGVjdGlvbikKLSA1KSBBdHRl
bXB0IHRvIHNlbGVjdCBhbiBpdGVtIGNtZC1jbGlja2luZwotIDYpIEF0dGVtcHQgdG8gc2VsZWN0
IGEgcmFuZ2Ugc2hpZnQtY2xpY2tpbmcKLSA3KSBBdHRlbXB0IHRvIHNlbGVjdCBhIHJhbmdlIHdp
dGggdGhlIGtleWJvYXJkCi0gOCkgU2VsZWN0IG9uZSBpdGVtIHdpdGggbW91c2UgKG5vIHByZXZp
b3VzIHNlbGVjdGlvbikKLSA5KSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAod2l0aCBwcmV2
aW91cyBzZWxlY3Rpb24pCi0gMTApIFNlbGVjdCBvbmUgaXRlbSB3aXRoIHRoZSBrZXlib2FyZCAo
bm8gcHJldmlvdXMgc2VsZWN0aW9uKQotIDExKSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCB0aGUga2V5
Ym9hcmQgKHdpdGggcHJldmlvdXMgc2VsZWN0aW9uKQotIDEyKSBTZWxlY3QgYW4gaXRlbSBjbWQt
Y2xpY2tpbmcKLSAxMykgU2VsZWN0IGEgcmFuZ2Ugc2hpZnQtY2xpY2tpbmcKLSAxNCkgU2VsZWN0
IGEgcmFuZ2Ugd2l0aCB0aGUga2V5Ym9hcmQKLVJlc3VsdHM6Ci1UZXN0IDEgUGFzc2VkCi1UZXN0
IDIgUGFzc2VkCi1UZXN0IDMgUGFzc2VkCi1UZXN0IDQgUGFzc2VkCi1UZXN0IDUgUGFzc2VkCi1U
ZXN0IDYgUGFzc2VkCi1UZXN0IDcgUGFzc2VkCi1UZXN0IDggUGFzc2VkCi1UZXN0IDkgUGFzc2Vk
Ci1UZXN0IDEwIFBhc3NlZAotVGVzdCAxMSBQYXNzZWQKLVRlc3QgMTIgUGFzc2VkCi1UZXN0IDEz
IFBhc3NlZAotVGVzdCAxNCBQYXNzZWQKKzxzZWxlY3Q+IHNlbGVjdGlvbiB0ZXN0IGZvciBtb3Vz
ZSBldmVudHMgYW5kIGtleWV2ZW50cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1Mgc2VsZWN0aW9uUGF0dGVybigic2wxIikgaXMgIjEwMDAwIgorUEFTUyBzZWxlY3Rpb25Q
YXR0ZXJuKCJzbDIiKSBpcyAiMTAwMDAiCitQQVNTIHNlbGVjdGlvblBhdHRlcm4oInNsMyIpIGlz
ICIwMDAwMSIKK1BBU1Mgc2VsZWN0aW9uUGF0dGVybigic2w0IikgaXMgIjAwMTAwIgorUEFTUyBz
ZWxlY3Rpb25QYXR0ZXJuKCJzbDUiKSBpcyAiMDEwMDAiCitQQVNTIHNlbGVjdGlvblBhdHRlcm4o
InNsNiIpIGlzICIwMTAwMCIKK1BBU1Mgc2VsZWN0aW9uUGF0dGVybigic2w3IikgaXMgIjAwMTAw
IgorUEFTUyBzZWxlY3Rpb25QYXR0ZXJuKCJzbDgiKSBpcyAiMTAwMDAiCitQQVNTIHNlbGVjdGlv
blBhdHRlcm4oInNsOSIpIGlzICIxMDAwMCIKK1BBU1Mgc2VsZWN0aW9uUGF0dGVybigic2wxMCIp
IGlzICIwMDAwMSIKK1BBU1Mgc2VsZWN0aW9uUGF0dGVybigic2wxMSIpIGlzICIwMDEwMCIKK1BB
U1Mgc2VsZWN0aW9uUGF0dGVybigic2wxMiIpIGlzICIwMTEwMCIKK1BBU1Mgc2VsZWN0aW9uUGF0
dGVybigic2wxMyIpIGlzICIxMTExMCIKK1BBU1Mgc2VsZWN0aW9uUGF0dGVybigic2wxNCIpIGlz
ICIwMTEwMCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtc2VsZWN0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtc2VsZWN0aW9uLmh0bWwKaW5k
ZXggNDAzNzcwNzZmMWZmMjUxNGQ3Y2VmYjhiYTY4NzE3ZmUzYmVlODJkOS4uN2VhM2QxMDY1NDY2
NDg4NDU1ZjE5NDE0NzZmZjQ3Y2Q0YzIzMGZlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbGlzdGJveC1zZWxlY3Rpb24uaHRtbApAQCAtMSwyMDEgKzEsMTMgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgotICAgIDxoZWFkPgot
ICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgZnVuY3Rpb24gc2V0dXAoKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIGNyZWF0ZVNlbGVjdCgic2wxIiwgNSwgZmFsc2UsIC0xLCAi
IDEpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlIChubyBwcmV2aW91cyBzZWxlY3Rpb24pIik7
Ci0gICAgICAgICAgICAgICAgY3JlYXRlU2VsZWN0KCJzbDIiLCA1LCBmYWxzZSwgMSwgIiAyKSBT
ZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAod2l0aCBwcmV2aW91cyBzZWxlY3Rpb24pIik7Ci0g
ICAgICAgICAgICAgICAgY3JlYXRlU2VsZWN0KCJzbDMiLCA1LCBmYWxzZSwgLTEsICIgMykgU2Vs
ZWN0IG9uZSBpdGVtIHdpdGggdGhlIGtleWJvYXJkIChubyBwcmV2aW91cyBzZWxlY3Rpb24pIik7
Ci0gICAgICAgICAgICAgICAgY3JlYXRlU2VsZWN0KCJzbDQiLCA1LCBmYWxzZSwgMSwgIiA0KSBT
ZWxlY3Qgb25lIGl0ZW0gd2l0aCB0aGUga2V5Ym9hcmQgKHdpdGggcHJldmlvdXMgc2VsZWN0aW9u
KSIpOwotICAgICAgICAgICAgICAgIGNyZWF0ZVNlbGVjdCgic2w1IiwgNSwgZmFsc2UsIDIsICIg
NSkgQXR0ZW1wdCB0byBzZWxlY3QgYW4gaXRlbSBjbWQtY2xpY2tpbmciKTsKLSAgICAgICAgICAg
ICAgICBjcmVhdGVTZWxlY3QoInNsNiIsIDUsIGZhbHNlLCAzLCAiIDYpIEF0dGVtcHQgdG8gc2Vs
ZWN0IGEgcmFuZ2Ugc2hpZnQtY2xpY2tpbmciKTsKLSAgICAgICAgICAgICAgICBjcmVhdGVTZWxl
Y3QoInNsNyIsIDUsIGZhbHNlLCAxLCAiIDcpIEF0dGVtcHQgdG8gc2VsZWN0IGEgcmFuZ2Ugd2l0
aCB0aGUga2V5Ym9hcmQiKTsKLQotICAgICAgICAgICAgICAgIGNyZWF0ZVNlbGVjdCgic2w4Iiwg
NSwgdHJ1ZSwgLTEsICIgOCkgU2VsZWN0IG9uZSBpdGVtIHdpdGggbW91c2UgKG5vIHByZXZpb3Vz
IHNlbGVjdGlvbikiKTsKLSAgICAgICAgICAgICAgICBjcmVhdGVTZWxlY3QoInNsOSIsIDUsIHRy
dWUsIDEsICIgOSkgU2VsZWN0IG9uZSBpdGVtIHdpdGggbW91c2UgKHdpdGggcHJldmlvdXMgc2Vs
ZWN0aW9uKSIpOwotICAgICAgICAgICAgICAgIGNyZWF0ZVNlbGVjdCgic2wxMCIsIDUsIHRydWUs
IC0xLCAiIDEwKSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCB0aGUga2V5Ym9hcmQgKG5vIHByZXZpb3Vz
IHNlbGVjdGlvbikiKTsKLSAgICAgICAgICAgICAgICBjcmVhdGVTZWxlY3QoInNsMTEiLCA1LCB0
cnVlLCAxLCAiIDExKSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCB0aGUga2V5Ym9hcmQgKHdpdGggcHJl
dmlvdXMgc2VsZWN0aW9uKSIpOwotICAgICAgICAgICAgICAgIGNyZWF0ZVNlbGVjdCgic2wxMiIs
IDUsIHRydWUsIDIsICIgMTIpIFNlbGVjdCBhbiBpdGVtIGNtZC1jbGlja2luZyIpOwotICAgICAg
ICAgICAgICAgIGNyZWF0ZVNlbGVjdCgic2wxMyIsIDUsIHRydWUsIDAsICIgMTMpIFNlbGVjdCBh
IHJhbmdlIHNoaWZ0LWNsaWNraW5nIik7Ci0gICAgICAgICAgICAgICAgY3JlYXRlU2VsZWN0KCJz
bDE0IiwgNSwgdHJ1ZSwgMSwgIiAxNCkgU2VsZWN0IGEgcmFuZ2Ugd2l0aCB0aGUga2V5Ym9hcmQi
KTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICB2YXIgcmVzdWx0cyA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgICAgICAgICAgICAgIHJlc3VsdHMuaWQgPSAi
cmVzIjsKLSAgICAgICAgICAgICAgICByZXN1bHRzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKCJSZXN1bHRzOiIpKTsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJlc3VsdHMpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc2V0dXAoKTsKLSAgICAgICAg
ICAgICAgICAKLSAgICAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKLSAgICAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAg
ICAvLyAxKSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAobm8gcHJldmlvdXMgc2VsZWN0aW9u
KQotICAgICAgICAgICAgICAgIG1vdXNlRG93bk9uU2VsZWN0KCJzbDEiLCAwLCBmYWxzZSwgZmFs
c2UpOyAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICB2YXIgZXhwZWN0ZWRTZWxlY3Rp
b25SZXN1bHRzID0gbmV3IEFycmF5KHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsK
LSAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0cyhleHBlY3RlZFNlbGVjdGlvblJlc3VsdHMsIDEp
OwotCi0gICAgICAgICAgICAgICAgLy8gMikgU2VsZWN0IG9uZSBpdGVtIHdpdGggbW91c2UgKHdp
dGggcHJldmlvdXMgc2VsZWN0aW9uKQotICAgICAgICAgICAgICAgIG1vdXNlRG93bk9uU2VsZWN0
KCJzbDIiLCAwLCBmYWxzZSwgZmFsc2UpOyAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAg
ICBleHBlY3RlZFNlbGVjdGlvblJlc3VsdHMgPSBuZXcgQXJyYXkodHJ1ZSwgZmFsc2UsIGZhbHNl
LCBmYWxzZSwgZmFsc2UpOwotICAgICAgICAgICAgICAgIHRlc3RSZXN1bHRzKGV4cGVjdGVkU2Vs
ZWN0aW9uUmVzdWx0cywgMik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotICAg
ICAgICAgICAgICAgIC8vIDMpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIHRoZSBrZXlib2FyZCAobm8g
cHJldmlvdXMgc2VsZWN0aW9uKQotICAgICAgICAgICAgICAgIGtleURvd25PblNlbGVjdCgic2wz
IiwgInVwQXJyb3ciLCBmYWxzZSwgZmFsc2UpOyAgICAgICAgICAgICAgIAotICAgICAgICAgICAg
ICAgIGV4cGVjdGVkU2VsZWN0aW9uUmVzdWx0cyA9IG5ldyBBcnJheShmYWxzZSwgZmFsc2UsIGZh
bHNlLCBmYWxzZSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJlc3VsdHMoZXhwZWN0ZWRT
ZWxlY3Rpb25SZXN1bHRzLCAzKTsKLQotICAgICAgICAgICAgICAgIC8vIDQpIFNlbGVjdCBvbmUg
aXRlbSB3aXRoIHRoZSBrZXlib2FyZCAod2l0aCBwcmV2aW91cyBzZWxlY3Rpb24pCi0gICAgICAg
ICAgICAgICAga2V5RG93bk9uU2VsZWN0KCJzbDQiLCAiZG93bkFycm93IiwgZmFsc2UsIGZhbHNl
KTsKLSAgICAgICAgICAgICAgICBleHBlY3RlZFNlbGVjdGlvblJlc3VsdHMgPSBuZXcgQXJyYXko
ZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UpOwotICAgICAgICAgICAgICAgIHRlc3RS
ZXN1bHRzKGV4cGVjdGVkU2VsZWN0aW9uUmVzdWx0cywgNCk7Ci0KLSAgICAgICAgICAgICAgICAv
LyAgNSkgQXR0ZW1wdCB0byBzZWxlY3QgYW4gaXRlbSBjbWQtY2xpY2tpbmcKLSAgICAgICAgICAg
ICAgICBtb3VzZURvd25PblNlbGVjdCgic2w1IiwgMSwgZmFsc2UsIHRydWUpOyAgICAgICAgICAg
ICAgICAgICAgCi0gICAgICAgICAgICAgICAgZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzID0gbmV3
IEFycmF5KGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgICAgICAg
ICB0ZXN0UmVzdWx0cyhleHBlY3RlZFNlbGVjdGlvblJlc3VsdHMsIDUpOwotICAgICAgICAgICAg
ICAgIAotICAgICAgICAgICAgICAgIC8vIDYpIEF0dGVtcHQgdG8gc2VsZWN0IGEgcmFuZ2Ugc2hp
ZnQtY2xpY2tpbmcKLSAgICAgICAgICAgICAgICBtb3VzZURvd25PblNlbGVjdCgic2w2IiwgMSwg
dHJ1ZSwgZmFsc2UpOyAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgZXhwZWN0
ZWRTZWxlY3Rpb25SZXN1bHRzID0gbmV3IEFycmF5KGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2Us
IGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0cyhleHBlY3RlZFNlbGVjdGlvblJl
c3VsdHMsIDYpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIDcpIEF0dGVt
cHQgdG8gc2VsZWN0IGEgcmFuZ2Ugd2l0aCB0aGUga2V5Ym9hcmQKLSAgICAgICAgICAgICAgICBr
ZXlEb3duT25TZWxlY3QoInNsNyIsICJkb3duQXJyb3ciLCB0cnVlLCBmYWxzZSk7Ci0gICAgICAg
ICAgICAgICAgZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzID0gbmV3IEFycmF5KGZhbHNlLCBmYWxz
ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0cyhleHBl
Y3RlZFNlbGVjdGlvblJlc3VsdHMsIDcpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAg
ICAgIC8vIE11bHRpcGxlIHNlbGVjdGlvbiB0ZXN0cwotICAgICAgICAgICAgICAgIAotICAgICAg
ICAgICAgICAgIC8vIDgpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlIChubyBwcmV2aW91cyBz
ZWxlY3Rpb24pCi0gICAgICAgICAgICAgICAgbW91c2VEb3duT25TZWxlY3QoInNsOCIsIDAsIGZh
bHNlLCBmYWxzZSk7ICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBleHBlY3Rl
ZFNlbGVjdGlvblJlc3VsdHMgPSBuZXcgQXJyYXkodHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwg
ZmFsc2UpOwotICAgICAgICAgICAgICAgIHRlc3RSZXN1bHRzKGV4cGVjdGVkU2VsZWN0aW9uUmVz
dWx0cywgOCk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgLy8gOSkgU2VsZWN0
IG9uZSBpdGVtIHdpdGggbW91c2UgKHdpdGggcHJldmlvdXMgc2VsZWN0aW9uKQotICAgICAgICAg
ICAgICAgIHZhciBzbDAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2w5Jyk7Ci0gICAgICAg
ICAgICAgICAgbW91c2VEb3duT25TZWxlY3QoInNsOSIsIDAsIGZhbHNlLCBmYWxzZSk7ICAgICAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBleHBlY3RlZFNlbGVjdGlvblJlc3VsdHMg
PSBuZXcgQXJyYXkodHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOwotICAgICAgICAg
ICAgICAgIHRlc3RSZXN1bHRzKGV4cGVjdGVkU2VsZWN0aW9uUmVzdWx0cywgOSk7Ci0gICAgICAg
ICAgICAgICAgCi0gICAgICAgICAgICAgICAgLy8gMTApIFNlbGVjdCBvbmUgaXRlbSB3aXRoIHRo
ZSBrZXlib2FyZCAobm8gcHJldmlvdXMgc2VsZWN0aW9uKQotICAgICAgICAgICAgICAgIGtleURv
d25PblNlbGVjdCgic2wxMCIsICJ1cEFycm93IiwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgICAg
ICAgICBleHBlY3RlZFNlbGVjdGlvblJlc3VsdHMgPSBuZXcgQXJyYXkoZmFsc2UsIGZhbHNlLCBm
YWxzZSwgZmFsc2UsIHRydWUpOwotICAgICAgICAgICAgICAgIHRlc3RSZXN1bHRzKGV4cGVjdGVk
U2VsZWN0aW9uUmVzdWx0cywgMTApOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
LSAgICAgICAgICAgICAgICAvLyAxMSkgU2VsZWN0IG9uZSBpdGVtIHdpdGggdGhlIGtleWJvYXJk
ICh3aXRoIHByZXZpb3VzIHNlbGVjdGlvbikKLSAgICAgICAgICAgICAgICBrZXlEb3duT25TZWxl
Y3QoInNsMTEiLCAiZG93bkFycm93IiwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICBl
eHBlY3RlZFNlbGVjdGlvblJlc3VsdHMgPSBuZXcgQXJyYXkoZmFsc2UsIGZhbHNlLCB0cnVlLCBm
YWxzZSwgZmFsc2UpOwotICAgICAgICAgICAgICAgIHRlc3RSZXN1bHRzKGV4cGVjdGVkU2VsZWN0
aW9uUmVzdWx0cywgMTEpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIDEy
KSBTZWxlY3QgYW4gaXRlbSBjbWQtY2xpY2tpbmcKLSAgICAgICAgICAgICAgICBtb3VzZURvd25P
blNlbGVjdCgic2wxMiIsIDEsIGZhbHNlLCB0cnVlKTsgICAgICAgICAgICAgICAgICAgIAotICAg
ICAgICAgICAgICAgIGV4cGVjdGVkU2VsZWN0aW9uUmVzdWx0cyA9IG5ldyBBcnJheShmYWxzZSwg
dHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0cyhl
eHBlY3RlZFNlbGVjdGlvblJlc3VsdHMsIDEyKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAgLy8gMTMpIFNlbGVjdCBhIHJhbmdlIHNoaWZ0LWNsaWNr
aW5nCi0gICAgICAgICAgICAgICAgbW91c2VEb3duT25TZWxlY3QoInNsMTMiLCAzLCB0cnVlLCBm
YWxzZSk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzID0gbmV3IEFy
cmF5KHRydWUsIHRydWUsIHRydWUsIHRydWUsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UmVzdWx0cyhleHBlY3RlZFNlbGVjdGlvblJlc3VsdHMsIDEzKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgLy8gMTQpIFNlbGVjdCBhIHJhbmdlIHdp
dGggdGhlIGtleWJvYXJkCi0gICAgICAgICAgICAgICAga2V5RG93bk9uU2VsZWN0KCJzbDE0Iiwg
ImRvd25BcnJvdyIsIHRydWUsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICBleHBlY3RlZFNlbGVj
dGlvblJlc3VsdHMgPSBuZXcgQXJyYXkoZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSk7
Ci0gICAgICAgICAgICAgICAgdGVzdFJlc3VsdHMoZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzLCAx
NCk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgCi0gICAgICAgICAgICBmdW5jdGlvbiBtb3VzZURvd25PblNlbGVjdChzZWxJZCwgaW5kZXgs
IHNoaWZ0LCBtZXRhT3JDdHJsKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciBt
ZXRhID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgdmFyIGN0cmwgPSBmYWxzZTsKLSAgICAgICAg
ICAgICAgICBpZiAobWV0YU9yQ3RybCkgewotICAgICAgICAgICAgICAgICAgICBpZiAobmF2aWdh
dG9yLnVzZXJBZ2VudC5zZWFyY2goL1xiTWFjIE9TIFhcYi8pICE9IC0xKQotICAgICAgICAgICAg
ICAgICAgICAgICAgbWV0YSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGN0cmwgPSB0cnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICB2YXIgc2wgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWxJZCk7Ci0gICAg
ICAgICAgICAgICAgdmFyIGl0ZW1IZWlnaHQgPSAxNDsKLSAgICAgICAgICAgICAgICB2YXIgYm9y
ZGVyID0gMTsKLSAgICAgICAgICAgICAgICB2YXIgeSA9IGJvcmRlciArIGluZGV4ICogaXRlbUhl
aWdodCAtIHdpbmRvdy5wYWdlWU9mZnNldDsKLSAgICAgICAgICAgICAgICB2YXIgZXZlbnQgPSBk
b2N1bWVudC5jcmVhdGVFdmVudCgiTW91c2VFdmVudCIpOwotICAgICAgICAgICAgICAgIGV2ZW50
LmluaXRNb3VzZUV2ZW50KCJtb3VzZWRvd24iLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0
VmlldywgMSwgc2wub2Zmc2V0TGVmdCArIGJvcmRlciwgc2wub2Zmc2V0VG9wICsgeSwgc2wub2Zm
c2V0TGVmdCArIGJvcmRlciwgc2wub2Zmc2V0VG9wICsgeSwgY3RybCwgZmFsc2UsIHNoaWZ0LCBt
ZXRhLCAwLCBkb2N1bWVudCk7Ci0gICAgICAgICAgICAgICAgc2wuZGlzcGF0Y2hFdmVudChldmVu
dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGtl
eURvd25PblNlbGVjdChzZWxJZCwgaWRlbnRpZmllciwgc2hpZnQsIG1ldGFPckN0cmwpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgbW9kaWZpZXJzID0gW107Ci0gICAgICAgICAgICAg
ICAgaWYgKHNoaWZ0KQotICAgICAgICAgICAgICAgICAgICBtb2RpZmllcnNbMF0gPSAic2hpZnRL
ZXkiOwotICAgICAgICAgICAgICAgIGlmIChtZXRhT3JDdHJsKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmIChuYXZpZ2F0b3IudXNlckFnZW50LnNlYXJjaCgvXGJNYWMgT1MgWFxiLykgIT0gLTEp
Ci0gICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllcnNbbW9kaWZpZXJzLmxlbmd0aF0gPSAi
bWV0YUtleSI7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1vZGlmaWVyc1ttb2RpZmllcnMubGVuZ3RoXSA9ICJjb250cm9sS2V5IjsKLSAgICAgICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWxJ
ZCkuZm9jdXMoKTsKLSAgICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKGlkZW50aWZp
ZXIsIG1vZGlmaWVycyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAg
IGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdChpZE5hbWUsIHN6LCBtbHQsIHNlbEluZGV4LCB0ZXN0TXNn
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciBzbCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNlbGVjdCIpOwotICAgICAgICAgICAgICAgIHZhciBpID0gMDsKLSAgICAgICAg
ICAgICAgICBzbC5zaXplID0gc3o7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGkgPCBzeikgewot
ICAgICAgICAgICAgICAgICAgICB2YXIgb3B0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0
aW9uIik7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpID09IHNlbEluZGV4KQotICAgICAgICAg
ICAgICAgICAgICAgICAgb3B0LnNlbGVjdGVkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAg
b3B0LnRleHRDb250ZW50ID0gIml0ZW0gIiArIGk7Ci0gICAgICAgICAgICAgICAgICAgIHNsLmFw
cGVuZENoaWxkKG9wdCk7Ci0gICAgICAgICAgICAgICAgICAgIGkrKzsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgc2wubXVsdGlwbGUgPSBtbHQ7Ci0gICAgICAgICAgICAgICAg
c2wuaWQgPSBpZE5hbWU7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChzbCk7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZSh0ZXN0TXNnKSk7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFJlc3VsdHMoZXhwZWN0
ZWRBcnIsIHRlc3ROdW0pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIHNsID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNsIiArIHRlc3ROdW0pOwotICAgICAgICAgICAgICAg
IHZhciByZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzJyk7Ci0gICAgICAgICAgICAg
ICAgdmFyIHJlc3VsdHNBcnIgPSBuZXcgQXJyYXkoc2wub3B0aW9ucy5sZW5ndGgpOwotICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgIHZhciBpOwotICAgICAgICAgICAgICAgIGZvciAo
aT0wOyBpIDwgc2wub3B0aW9ucy5sZW5ndGg7IGkrKykgewotICAgICAgICAgICAgICAgICAgICBy
ZXN1bHRzQXJyW2ldID0gc2wub3B0aW9uc1tpXS5zZWxlY3RlZDsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgdmFyIHN1Y2Nlc3NTdHJpbmcgPSAiRmFpbGVkIjsKLSAgICAgICAg
ICAgICAgICB2YXIgc3VjY2VzcyA9IGZhbHNlOwotICAgICAgICAgICAgICAgIGlmIChleHBlY3Rl
ZEFyci5qb2luKCkgPT0gcmVzdWx0c0Fyci5qb2luKCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
c3VjY2VzcyA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NTdHJpbmcgPSAiUGFz
c2VkIjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAg
ICBsb2coIlRlc3QgIiArIHRlc3ROdW0gKyAiICIgKyBzdWNjZXNzU3RyaW5nKTsKLSAgICAgICAg
ICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgbG9nKCI8cHJlPiAg
ICAgRXhwZWN0ZWQ6ICIgKyBleHBlY3RlZEFyci5qb2luKCkgKyAiPGJyPiIgKyAiICAgICBBY3R1
YWw6ICIgKyByZXN1bHRzQXJyLmpvaW4oKSArICI8L3ByZT4iKTsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGxvZyht
c2cpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIHIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgncmVzJyk7Ci0gICAgICAgICAgICAgICAgci5pbm5lckhUTUwgPSByLmlubmVy
SFRNTCArICI8YnI+IiArIG1zZzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0g
ICAgPC9oZWFkPgotICAgIDxib2R5IG9ubG9hZD0idGVzdCgpIj4KLSAgICA8L2JvZHk+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvbGlzdGJveC1zZWxlY3Rpb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9saXN0Ym94LXNlbGVjdGlvbi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL2xpc3Rib3gtc2VsZWN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwNWQ4ODMxMDQ3NDk5NWU5YjM4
NmViNTUwOWI4MDkzZDE3MWNlNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9saXN0Ym94LXNlbGVjdGlvbi5qcwpAQCAtMCwwICsxLDEzMyBA
QAorZGVzY3JpcHRpb24oJyZsdDtzZWxlY3QmZ3Q7IHNlbGVjdGlvbiB0ZXN0IGZvciBtb3VzZSBl
dmVudHMgYW5kIGtleWV2ZW50cy4nKTsKKworZnVuY3Rpb24gbW91c2VEb3duT25TZWxlY3Qoc2Vs
SWQsIGluZGV4LCBtb2RpZmllcikgeworICAgIHZhciBzbCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKHNlbElkKTsKKyAgICB2YXIgaXRlbUhlaWdodCA9IE1hdGguZmxvb3Ioc2wub2Zmc2V0SGVp
Z2h0IC8gc2wuc2l6ZSk7CisgICAgdmFyIGJvcmRlciA9IDE7CisgICAgdmFyIHkgPSBib3JkZXIg
KyBpbmRleCAqIGl0ZW1IZWlnaHQgLSB3aW5kb3cucGFnZVlPZmZzZXQ7CisKKyAgICBzbC5mb2N1
cygpOworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8oc2wub2Zmc2V0TGVmdCArIGJvcmRlciwgc2wub2Zmc2V0VG9wICsgeSk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigwLCBbbW9kaWZpZXJdKTsKKyAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VVcCgwLCBbbW9kaWZpZXJdKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGtl
eURvd25PblNlbGVjdChzZWxJZCwgaWRlbnRpZmllciwgbW9kaWZpZXIpIHsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChzZWxJZCkuZm9jdXMoKTsKKyAgICBpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKQorICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKGlkZW50aWZpZXIsIFttb2RpZmllcl0p
OworfQorCitmdW5jdGlvbiBjcmVhdGVTZWxlY3QoaWROYW1lLCBzeiwgbWx0LCBzZWxJbmRleCkg
eworICAgIHZhciBzbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpOworICAgIHZh
ciBpID0gMDsKKyAgICBzbC5zaXplID0gc3o7CisgICAgd2hpbGUgKGkgPCBzeikgeworICAgICAg
ICB2YXIgb3B0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CisgICAgICAgIGlm
IChpID09IHNlbEluZGV4KQorICAgICAgICAgICAgb3B0LnNlbGVjdGVkID0gdHJ1ZTsKKyAgICAg
ICAgb3B0LnRleHRDb250ZW50ID0gIml0ZW0gIiArIGk7CisgICAgICAgIHNsLmFwcGVuZENoaWxk
KG9wdCk7CisgICAgICAgIGkrKzsKKyAgICB9CisgICAgc2wubXVsdGlwbGUgPSBtbHQ7CisgICAg
c2wuaWQgPSBpZE5hbWU7CisgICAgdmFyIHBhcmVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXJlbnQiKTsKKyAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoc2wpOworfQorCitmdW5jdGlvbiBz
ZWxlY3Rpb25QYXR0ZXJuKHNlbElkKSB7CisgICAgdmFyIHNsID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoc2VsSWQpOworICAgIHZhciByZXN1bHQgPSAnJzsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHNsLm9wdGlvbnMubGVuZ3RoOyBpKyspCisgICAgICAgIHJlc3VsdCArPSBzbC5vcHRpb25z
W2ldLnNlbGVjdGVkID8gJzEnIDogJzAnOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworCit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CitwYXJlbnQuaWQgPSAicGFyZW50IjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFy
ZW50KTsKKworY3JlYXRlU2VsZWN0KCJzbDEiLCA1LCBmYWxzZSwgLTEpOworY3JlYXRlU2VsZWN0
KCJzbDIiLCA1LCBmYWxzZSwgMSk7CitjcmVhdGVTZWxlY3QoInNsMyIsIDUsIGZhbHNlLCAtMSk7
CitjcmVhdGVTZWxlY3QoInNsNCIsIDUsIGZhbHNlLCAxKTsKK2NyZWF0ZVNlbGVjdCgic2w1Iiwg
NSwgZmFsc2UsIDIpOworY3JlYXRlU2VsZWN0KCJzbDYiLCA1LCBmYWxzZSwgMyk7CitjcmVhdGVT
ZWxlY3QoInNsNyIsIDUsIGZhbHNlLCAxKTsKKworY3JlYXRlU2VsZWN0KCJzbDgiLCA1LCB0cnVl
LCAtMSk7CitjcmVhdGVTZWxlY3QoInNsOSIsIDUsIHRydWUsIDEpOworY3JlYXRlU2VsZWN0KCJz
bDEwIiwgNSwgdHJ1ZSwgLTEpOworY3JlYXRlU2VsZWN0KCJzbDExIiwgNSwgdHJ1ZSwgMSk7Citj
cmVhdGVTZWxlY3QoInNsMTIiLCA1LCB0cnVlLCAyKTsKK2NyZWF0ZVNlbGVjdCgic2wxMyIsIDUs
IHRydWUsIDApOworY3JlYXRlU2VsZWN0KCJzbDE0IiwgNSwgdHJ1ZSwgMSk7CisKKy8vIDEpIFNl
bGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlIChubyBwcmV2aW91cyBzZWxlY3Rpb24pCittb3VzZURv
d25PblNlbGVjdCgic2wxIiwgMCk7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wxIikn
LCAnIjEwMDAwIicpOworCisvLyAyKSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAod2l0aCBw
cmV2aW91cyBzZWxlY3Rpb24pCittb3VzZURvd25PblNlbGVjdCgic2wyIiwgMCk7CitzaG91bGRC
ZSgnc2VsZWN0aW9uUGF0dGVybigic2wyIiknLCAnIjEwMDAwIicpOworCisvLyAzKSBTZWxlY3Qg
b25lIGl0ZW0gd2l0aCB0aGUga2V5Ym9hcmQgKG5vIHByZXZpb3VzIHNlbGVjdGlvbikKK2tleURv
d25PblNlbGVjdCgic2wzIiwgInVwQXJyb3ciKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJu
KCJzbDMiKScsICciMDAwMDEiJyk7CisKKy8vIDQpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIHRoZSBr
ZXlib2FyZCAod2l0aCBwcmV2aW91cyBzZWxlY3Rpb24pCitrZXlEb3duT25TZWxlY3QoInNsNCIs
ICJkb3duQXJyb3ciKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDQiKScsICciMDAx
MDAiJyk7CisKKy8vIDUpIEF0dGVtcHQgdG8gc2VsZWN0IGFuIGl0ZW0gY21kLWNsaWNraW5nCitt
b3VzZURvd25PblNlbGVjdCgic2w1IiwgMSwgImFkZFNlbGVjdGlvbktleSIpOworc2hvdWxkQmUo
J3NlbGVjdGlvblBhdHRlcm4oInNsNSIpJywgJyIwMTAwMCInKTsKKworLy8gNikgQXR0ZW1wdCB0
byBzZWxlY3QgYSByYW5nZSBzaGlmdC1jbGlja2luZworbW91c2VEb3duT25TZWxlY3QoInNsNiIs
IDEsICJyYW5nZVNlbGVjdGlvbktleSIpOworc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNs
NiIpJywgJyIwMTAwMCInKTsKKworLy8gNykgQXR0ZW1wdCB0byBzZWxlY3QgYSByYW5nZSB3aXRo
IHRoZSBrZXlib2FyZAora2V5RG93bk9uU2VsZWN0KCJzbDciLCAiZG93bkFycm93IiwgInJhbmdl
U2VsZWN0aW9uS2V5Iik7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2w3IiknLCAnIjAw
MTAwIicpOworCisvLyBNdWx0aXBsZSBzZWxlY3Rpb24gdGVzdHMKKworLy8gOCkgU2VsZWN0IG9u
ZSBpdGVtIHdpdGggbW91c2UgKG5vIHByZXZpb3VzIHNlbGVjdGlvbikKK21vdXNlRG93bk9uU2Vs
ZWN0KCJzbDgiLCAwKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDgiKScsICciMTAw
MDAiJyk7CisKKy8vIDkpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlICh3aXRoIHByZXZpb3Vz
IHNlbGVjdGlvbikKK21vdXNlRG93bk9uU2VsZWN0KCJzbDkiLCAwKTsKK3Nob3VsZEJlKCdzZWxl
Y3Rpb25QYXR0ZXJuKCJzbDkiKScsICciMTAwMDAiJyk7CisKKy8vIDEwKSBTZWxlY3Qgb25lIGl0
ZW0gd2l0aCB0aGUga2V5Ym9hcmQgKG5vIHByZXZpb3VzIHNlbGVjdGlvbikKK2tleURvd25PblNl
bGVjdCgic2wxMCIsICJ1cEFycm93Iik7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wx
MCIpJywgJyIwMDAwMSInKTsKKworLy8gMTEpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIHRoZSBrZXli
b2FyZCAod2l0aCBwcmV2aW91cyBzZWxlY3Rpb24pCitrZXlEb3duT25TZWxlY3QoInNsMTEiLCAi
ZG93bkFycm93Iik7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wxMSIpJywgJyIwMDEw
MCInKTsKKworLy8gMTIpIFNlbGVjdCBhbiBpdGVtIGNtZC1jbGlja2luZworbW91c2VEb3duT25T
ZWxlY3QoInNsMTIiLCAxLCAiYWRkU2VsZWN0aW9uS2V5Iik7CitzaG91bGRCZSgnc2VsZWN0aW9u
UGF0dGVybigic2wxMiIpJywgJyIwMTEwMCInKTsKKworLy8gMTMpIFNlbGVjdCBhIHJhbmdlIHNo
aWZ0LWNsaWNraW5nCittb3VzZURvd25PblNlbGVjdCgic2wxMyIsIDMsICJyYW5nZVNlbGVjdGlv
bktleSIpOworc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMTMiKScsICciMTExMTAiJyk7
CisKKy8vIDE0KSBTZWxlY3QgYSByYW5nZSB3aXRoIHRoZSBrZXlib2FyZAora2V5RG93bk9uU2Vs
ZWN0KCJzbDE0IiwgImRvd25BcnJvdyIsICJyYW5nZVNlbGVjdGlvbktleSIpOworc2hvdWxkQmUo
J3NlbGVjdGlvblBhdHRlcm4oInNsMTQiKScsICciMDExMDAiJyk7CisKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64674</attachid>
            <date>2010-08-18 01:20:51 -0700</date>
            <delta_ts>2010-08-19 20:37:52 -0700</delta_ts>
            <desc>Patch V1</desc>
            <filename>bug-35786-20100818172049.patch</filename>
            <type>text/plain</type>
            <size>19702</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3NzQxYjcyNjcyN2EyODk2MzVmZmEzZDAxYjlmZjAwMDg1NjE0M2U2Li45NWI1MWE5
MWEyZjM1N2JjMDFmYzY5MjY4ZjA1MjlhM2UyMjc1YTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDgtMTcgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXByb3ZlIHBvcnRh
YmlsaXR5IG9mIGZhc3QvZm9ybXMvbGlzdGJveC1zZWxlY3Rpb24uaHRtbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU3ODYKKworICAgICAgICBDaGFu
Z2VkIHRvIHVzZSBzY3JpcHQtdGVzdHMgc3R5bGUgZm9yIGltcHJvdmluZyBwb3J0YWJpbGl0eS4K
KyAgICAgICAgLSBGb3Igc2VuZGluZyBtb3VzZSBldmVudHMgdG8gdGhlIHRhcmdldCBlbGVtZW50
LCBjYWxjdWxhdGluZyB0aGUKKyAgICAgICAgaXRlbSBoZWlnaHQgYXQgcnVudGltZSBpbnN0ZWFk
IHVzaW5nIE1hYy1zcGVjaWZpYyBtZXRyaWNzLgorICAgICAgICAtIFVzaW5nIG1vdXNlRG93bigp
LCBtb3VzZVVwKCksIGFuZCBrZXlEb3duKCkgdG8gc2VuZCBldmVudHMgd2l0aAorICAgICAgICBt
b2RpZmllciBrZXlzIGluIGEgcGxhdGZvcm0taW5kZXBlbmRlbnQgd2F5LgorCisgICAgICAgICog
ZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgdG8gbWF0
Y2ggd2l0aCBuZXcgdGVzdC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xpc3Rib3gtc2VsZWN0aW9u
Lmh0bWw6IE1vZGlmaWVkIHRvIHVzZSBzY3JpcHQtdGVzdHMgc3R5bGUuCisgICAgICAgICogZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGlzdGJveC1zZWxlY3Rpb24uanM6IEFkZGVkLgorCiAyMDEw
LTA4LTE3ICBBZGVtYXIgZGUgU291emEgUmVpcyBKciAgPGFkZW1hci5yZWlzQG9wZW5ib3NzYS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuaWVsIEJhdGVzLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA0
ZmEyYjI0YmU4NzA0MDMwNTVlNTc3ZDYxZjFkYTgyYjM2OGY3ZjlhLi41NGZlOWVlYzJiYzlhYzhl
OGFlZWQzYjhlMDNmYmU2YzNmOGZjNGRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xpc3Rib3gtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2xpc3Rib3gtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwyOSArMSwzNyBAQAot
IDEpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlIChubyBwcmV2aW91cyBzZWxlY3Rpb24pCi0g
MikgU2VsZWN0IG9uZSBpdGVtIHdpdGggbW91c2UgKHdpdGggcHJldmlvdXMgc2VsZWN0aW9uKQot
IDMpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIHRoZSBrZXlib2FyZCAobm8gcHJldmlvdXMgc2VsZWN0
aW9uKQotIDQpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIHRoZSBrZXlib2FyZCAod2l0aCBwcmV2aW91
cyBzZWxlY3Rpb24pCi0gNSkgQXR0ZW1wdCB0byBzZWxlY3QgYW4gaXRlbSBjbWQtY2xpY2tpbmcK
LSA2KSBBdHRlbXB0IHRvIHNlbGVjdCBhIHJhbmdlIHNoaWZ0LWNsaWNraW5nCi0gNykgQXR0ZW1w
dCB0byBzZWxlY3QgYSByYW5nZSB3aXRoIHRoZSBrZXlib2FyZAotIDgpIFNlbGVjdCBvbmUgaXRl
bSB3aXRoIG1vdXNlIChubyBwcmV2aW91cyBzZWxlY3Rpb24pCi0gOSkgU2VsZWN0IG9uZSBpdGVt
IHdpdGggbW91c2UgKHdpdGggcHJldmlvdXMgc2VsZWN0aW9uKQotIDEwKSBTZWxlY3Qgb25lIGl0
ZW0gd2l0aCB0aGUga2V5Ym9hcmQgKG5vIHByZXZpb3VzIHNlbGVjdGlvbikKLSAxMSkgU2VsZWN0
IG9uZSBpdGVtIHdpdGggdGhlIGtleWJvYXJkICh3aXRoIHByZXZpb3VzIHNlbGVjdGlvbikKLSAx
MikgU2VsZWN0IGFuIGl0ZW0gY21kLWNsaWNraW5nCi0gMTMpIFNlbGVjdCBhIHJhbmdlIHNoaWZ0
LWNsaWNraW5nCi0gMTQpIFNlbGVjdCBhIHJhbmdlIHdpdGggdGhlIGtleWJvYXJkCi1SZXN1bHRz
OgotVGVzdCAxIFBhc3NlZAotVGVzdCAyIFBhc3NlZAotVGVzdCAzIFBhc3NlZAotVGVzdCA0IFBh
c3NlZAotVGVzdCA1IFBhc3NlZAotVGVzdCA2IFBhc3NlZAotVGVzdCA3IFBhc3NlZAotVGVzdCA4
IFBhc3NlZAotVGVzdCA5IFBhc3NlZAotVGVzdCAxMCBQYXNzZWQKLVRlc3QgMTEgUGFzc2VkCi1U
ZXN0IDEyIFBhc3NlZAotVGVzdCAxMyBQYXNzZWQKLVRlc3QgMTQgUGFzc2VkCis8c2VsZWN0PiBz
ZWxlY3Rpb24gdGVzdCBmb3IgbW91c2UgZXZlbnRzIGFuZCBrZXlldmVudHMuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCisxKSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAobm8g
cHJldmlvdXMgc2VsZWN0aW9uKQorUEFTUyBzZWxlY3Rpb25QYXR0ZXJuKCJzbDEiKSBpcyAiMTAw
MDAiCisyKSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAod2l0aCBwcmV2aW91cyBzZWxlY3Rp
b24pCitQQVNTIHNlbGVjdGlvblBhdHRlcm4oInNsMiIpIGlzICIxMDAwMCIKKzMpIFNlbGVjdCBv
bmUgaXRlbSB3aXRoIHRoZSBrZXlib2FyZCAobm8gcHJldmlvdXMgc2VsZWN0aW9uKQorUEFTUyBz
ZWxlY3Rpb25QYXR0ZXJuKCJzbDMiKSBpcyAiMDAwMDEiCis0KSBTZWxlY3Qgb25lIGl0ZW0gd2l0
aCB0aGUga2V5Ym9hcmQgKHdpdGggcHJldmlvdXMgc2VsZWN0aW9uKQorUEFTUyBzZWxlY3Rpb25Q
YXR0ZXJuKCJzbDQiKSBpcyAiMDAxMDAiCis1KSBBdHRlbXB0IHRvIHNlbGVjdCBhbiBpdGVtIGNt
ZC1jbGlja2luZworUEFTUyBzZWxlY3Rpb25QYXR0ZXJuKCJzbDUiKSBpcyAiMDEwMDAiCis2KSBB
dHRlbXB0IHRvIHNlbGVjdCBhIHJhbmdlIHNoaWZ0LWNsaWNraW5nCitQQVNTIHNlbGVjdGlvblBh
dHRlcm4oInNsNiIpIGlzICIwMTAwMCIKKzcpIEF0dGVtcHQgdG8gc2VsZWN0IGEgcmFuZ2Ugd2l0
aCB0aGUga2V5Ym9hcmQKK1BBU1Mgc2VsZWN0aW9uUGF0dGVybigic2w3IikgaXMgIjAwMTAwIgor
OCkgU2VsZWN0IG9uZSBpdGVtIHdpdGggbW91c2UgKG5vIHByZXZpb3VzIHNlbGVjdGlvbikKK1BB
U1Mgc2VsZWN0aW9uUGF0dGVybigic2w4IikgaXMgIjEwMDAwIgorOSkgU2VsZWN0IG9uZSBpdGVt
IHdpdGggbW91c2UgKHdpdGggcHJldmlvdXMgc2VsZWN0aW9uKQorUEFTUyBzZWxlY3Rpb25QYXR0
ZXJuKCJzbDkiKSBpcyAiMTAwMDAiCisxMCkgU2VsZWN0IG9uZSBpdGVtIHdpdGggdGhlIGtleWJv
YXJkIChubyBwcmV2aW91cyBzZWxlY3Rpb24pCitQQVNTIHNlbGVjdGlvblBhdHRlcm4oInNsMTAi
KSBpcyAiMDAwMDEiCisxMSkgU2VsZWN0IG9uZSBpdGVtIHdpdGggdGhlIGtleWJvYXJkICh3aXRo
IHByZXZpb3VzIHNlbGVjdGlvbikKK1BBU1Mgc2VsZWN0aW9uUGF0dGVybigic2wxMSIpIGlzICIw
MDEwMCIKKzEyKSBTZWxlY3QgYW4gaXRlbSBjbWQtY2xpY2tpbmcKK1BBU1Mgc2VsZWN0aW9uUGF0
dGVybigic2wxMiIpIGlzICIwMTEwMCIKKzEzKSBTZWxlY3QgYSByYW5nZSBzaGlmdC1jbGlja2lu
ZworUEFTUyBzZWxlY3Rpb25QYXR0ZXJuKCJzbDEzIikgaXMgIjExMTEwIgorMTQpIFNlbGVjdCBh
IHJhbmdlIHdpdGggdGhlIGtleWJvYXJkCitQQVNTIHNlbGVjdGlvblBhdHRlcm4oInNsMTQiKSBp
cyAiMDExMDAiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi5odG1sCmlu
ZGV4IDQwMzc3MDc2ZjFmZjI1MTRkN2NlZmI4YmE2ODcxN2ZlM2JlZTgyZDkuLjdlYTNkMTA2NTQ2
NjQ4ODQ1NWYxOTQxNDc2ZmY0N2NkNGMyMzBmZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbGlzdGJveC1zZWxlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xpc3Rib3gtc2VsZWN0aW9uLmh0bWwKQEAgLTEsMjAxICsxLDEzIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+CiA8aHRtbD4KLSAgICA8aGVhZD4K
LSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGZ1bmN0aW9uIHNldHVwKCkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBjcmVhdGVTZWxlY3QoInNsMSIsIDUsIGZhbHNlLCAtMSwg
IiAxKSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAobm8gcHJldmlvdXMgc2VsZWN0aW9uKSIp
OwotICAgICAgICAgICAgICAgIGNyZWF0ZVNlbGVjdCgic2wyIiwgNSwgZmFsc2UsIDEsICIgMikg
U2VsZWN0IG9uZSBpdGVtIHdpdGggbW91c2UgKHdpdGggcHJldmlvdXMgc2VsZWN0aW9uKSIpOwot
ICAgICAgICAgICAgICAgIGNyZWF0ZVNlbGVjdCgic2wzIiwgNSwgZmFsc2UsIC0xLCAiIDMpIFNl
bGVjdCBvbmUgaXRlbSB3aXRoIHRoZSBrZXlib2FyZCAobm8gcHJldmlvdXMgc2VsZWN0aW9uKSIp
OwotICAgICAgICAgICAgICAgIGNyZWF0ZVNlbGVjdCgic2w0IiwgNSwgZmFsc2UsIDEsICIgNCkg
U2VsZWN0IG9uZSBpdGVtIHdpdGggdGhlIGtleWJvYXJkICh3aXRoIHByZXZpb3VzIHNlbGVjdGlv
bikiKTsKLSAgICAgICAgICAgICAgICBjcmVhdGVTZWxlY3QoInNsNSIsIDUsIGZhbHNlLCAyLCAi
IDUpIEF0dGVtcHQgdG8gc2VsZWN0IGFuIGl0ZW0gY21kLWNsaWNraW5nIik7Ci0gICAgICAgICAg
ICAgICAgY3JlYXRlU2VsZWN0KCJzbDYiLCA1LCBmYWxzZSwgMywgIiA2KSBBdHRlbXB0IHRvIHNl
bGVjdCBhIHJhbmdlIHNoaWZ0LWNsaWNraW5nIik7Ci0gICAgICAgICAgICAgICAgY3JlYXRlU2Vs
ZWN0KCJzbDciLCA1LCBmYWxzZSwgMSwgIiA3KSBBdHRlbXB0IHRvIHNlbGVjdCBhIHJhbmdlIHdp
dGggdGhlIGtleWJvYXJkIik7Ci0KLSAgICAgICAgICAgICAgICBjcmVhdGVTZWxlY3QoInNsOCIs
IDUsIHRydWUsIC0xLCAiIDgpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlIChubyBwcmV2aW91
cyBzZWxlY3Rpb24pIik7Ci0gICAgICAgICAgICAgICAgY3JlYXRlU2VsZWN0KCJzbDkiLCA1LCB0
cnVlLCAxLCAiIDkpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlICh3aXRoIHByZXZpb3VzIHNl
bGVjdGlvbikiKTsKLSAgICAgICAgICAgICAgICBjcmVhdGVTZWxlY3QoInNsMTAiLCA1LCB0cnVl
LCAtMSwgIiAxMCkgU2VsZWN0IG9uZSBpdGVtIHdpdGggdGhlIGtleWJvYXJkIChubyBwcmV2aW91
cyBzZWxlY3Rpb24pIik7Ci0gICAgICAgICAgICAgICAgY3JlYXRlU2VsZWN0KCJzbDExIiwgNSwg
dHJ1ZSwgMSwgIiAxMSkgU2VsZWN0IG9uZSBpdGVtIHdpdGggdGhlIGtleWJvYXJkICh3aXRoIHBy
ZXZpb3VzIHNlbGVjdGlvbikiKTsKLSAgICAgICAgICAgICAgICBjcmVhdGVTZWxlY3QoInNsMTIi
LCA1LCB0cnVlLCAyLCAiIDEyKSBTZWxlY3QgYW4gaXRlbSBjbWQtY2xpY2tpbmciKTsKLSAgICAg
ICAgICAgICAgICBjcmVhdGVTZWxlY3QoInNsMTMiLCA1LCB0cnVlLCAwLCAiIDEzKSBTZWxlY3Qg
YSByYW5nZSBzaGlmdC1jbGlja2luZyIpOwotICAgICAgICAgICAgICAgIGNyZWF0ZVNlbGVjdCgi
c2wxNCIsIDUsIHRydWUsIDEsICIgMTQpIFNlbGVjdCBhIHJhbmdlIHdpdGggdGhlIGtleWJvYXJk
Iik7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgdmFyIHJlc3VsdHMgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgICAgICAgICByZXN1bHRzLmlkID0g
InJlcyI7Ci0gICAgICAgICAgICAgICAgcmVzdWx0cy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgiUmVzdWx0czoiKSk7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyZXN1bHRzKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZ1bmN0aW9u
IHRlc3QoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHNldHVwKCk7Ci0gICAgICAg
ICAgICAgICAgCi0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgewotICAgICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7Ci0gICAgICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAg
ICAgLy8gMSkgU2VsZWN0IG9uZSBpdGVtIHdpdGggbW91c2UgKG5vIHByZXZpb3VzIHNlbGVjdGlv
bikKLSAgICAgICAgICAgICAgICBtb3VzZURvd25PblNlbGVjdCgic2wxIiwgMCwgZmFsc2UsIGZh
bHNlKTsgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgdmFyIGV4cGVjdGVkU2VsZWN0
aW9uUmVzdWx0cyA9IG5ldyBBcnJheSh0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7
Ci0gICAgICAgICAgICAgICAgdGVzdFJlc3VsdHMoZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzLCAx
KTsKLQotICAgICAgICAgICAgICAgIC8vIDIpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlICh3
aXRoIHByZXZpb3VzIHNlbGVjdGlvbikKLSAgICAgICAgICAgICAgICBtb3VzZURvd25PblNlbGVj
dCgic2wyIiwgMCwgZmFsc2UsIGZhbHNlKTsgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAg
ICAgZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzID0gbmV3IEFycmF5KHRydWUsIGZhbHNlLCBmYWxz
ZSwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0cyhleHBlY3RlZFNl
bGVjdGlvblJlc3VsdHMsIDIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSAg
ICAgICAgICAgICAgICAvLyAzKSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCB0aGUga2V5Ym9hcmQgKG5v
IHByZXZpb3VzIHNlbGVjdGlvbikKLSAgICAgICAgICAgICAgICBrZXlEb3duT25TZWxlY3QoInNs
MyIsICJ1cEFycm93IiwgZmFsc2UsIGZhbHNlKTsgICAgICAgICAgICAgICAKLSAgICAgICAgICAg
ICAgICBleHBlY3RlZFNlbGVjdGlvblJlc3VsdHMgPSBuZXcgQXJyYXkoZmFsc2UsIGZhbHNlLCBm
YWxzZSwgZmFsc2UsIHRydWUpOwotICAgICAgICAgICAgICAgIHRlc3RSZXN1bHRzKGV4cGVjdGVk
U2VsZWN0aW9uUmVzdWx0cywgMyk7Ci0KLSAgICAgICAgICAgICAgICAvLyA0KSBTZWxlY3Qgb25l
IGl0ZW0gd2l0aCB0aGUga2V5Ym9hcmQgKHdpdGggcHJldmlvdXMgc2VsZWN0aW9uKQotICAgICAg
ICAgICAgICAgIGtleURvd25PblNlbGVjdCgic2w0IiwgImRvd25BcnJvdyIsIGZhbHNlLCBmYWxz
ZSk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzID0gbmV3IEFycmF5
KGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UmVzdWx0cyhleHBlY3RlZFNlbGVjdGlvblJlc3VsdHMsIDQpOwotCi0gICAgICAgICAgICAgICAg
Ly8gIDUpIEF0dGVtcHQgdG8gc2VsZWN0IGFuIGl0ZW0gY21kLWNsaWNraW5nCi0gICAgICAgICAg
ICAgICAgbW91c2VEb3duT25TZWxlY3QoInNsNSIsIDEsIGZhbHNlLCB0cnVlKTsgICAgICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgIGV4cGVjdGVkU2VsZWN0aW9uUmVzdWx0cyA9IG5l
dyBBcnJheShmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJlc3VsdHMoZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzLCA1KTsKLSAgICAgICAgICAg
ICAgICAKLSAgICAgICAgICAgICAgICAvLyA2KSBBdHRlbXB0IHRvIHNlbGVjdCBhIHJhbmdlIHNo
aWZ0LWNsaWNraW5nCi0gICAgICAgICAgICAgICAgbW91c2VEb3duT25TZWxlY3QoInNsNiIsIDEs
IHRydWUsIGZhbHNlKTsgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGV4cGVj
dGVkU2VsZWN0aW9uUmVzdWx0cyA9IG5ldyBBcnJheShmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNl
LCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJlc3VsdHMoZXhwZWN0ZWRTZWxlY3Rpb25S
ZXN1bHRzLCA2KTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAvLyA3KSBBdHRl
bXB0IHRvIHNlbGVjdCBhIHJhbmdlIHdpdGggdGhlIGtleWJvYXJkCi0gICAgICAgICAgICAgICAg
a2V5RG93bk9uU2VsZWN0KCJzbDciLCAiZG93bkFycm93IiwgdHJ1ZSwgZmFsc2UpOwotICAgICAg
ICAgICAgICAgIGV4cGVjdGVkU2VsZWN0aW9uUmVzdWx0cyA9IG5ldyBBcnJheShmYWxzZSwgZmFs
c2UsIHRydWUsIGZhbHNlLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJlc3VsdHMoZXhw
ZWN0ZWRTZWxlY3Rpb25SZXN1bHRzLCA3KTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAg
ICAgICAvLyBNdWx0aXBsZSBzZWxlY3Rpb24gdGVzdHMKLSAgICAgICAgICAgICAgICAKLSAgICAg
ICAgICAgICAgICAvLyA4KSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAobm8gcHJldmlvdXMg
c2VsZWN0aW9uKQotICAgICAgICAgICAgICAgIG1vdXNlRG93bk9uU2VsZWN0KCJzbDgiLCAwLCBm
YWxzZSwgZmFsc2UpOyAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgZXhwZWN0
ZWRTZWxlY3Rpb25SZXN1bHRzID0gbmV3IEFycmF5KHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2Us
IGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0cyhleHBlY3RlZFNlbGVjdGlvblJl
c3VsdHMsIDgpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIDkpIFNlbGVj
dCBvbmUgaXRlbSB3aXRoIG1vdXNlICh3aXRoIHByZXZpb3VzIHNlbGVjdGlvbikKLSAgICAgICAg
ICAgICAgICB2YXIgc2wwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsOScpOwotICAgICAg
ICAgICAgICAgIG1vdXNlRG93bk9uU2VsZWN0KCJzbDkiLCAwLCBmYWxzZSwgZmFsc2UpOyAgICAg
ICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRz
ID0gbmV3IEFycmF5KHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAg
ICAgICAgICB0ZXN0UmVzdWx0cyhleHBlY3RlZFNlbGVjdGlvblJlc3VsdHMsIDkpOwotICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIDEwKSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCB0
aGUga2V5Ym9hcmQgKG5vIHByZXZpb3VzIHNlbGVjdGlvbikKLSAgICAgICAgICAgICAgICBrZXlE
b3duT25TZWxlY3QoInNsMTAiLCAidXBBcnJvdyIsIGZhbHNlLCBmYWxzZSk7Ci0gICAgICAgICAg
ICAgICAgZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzID0gbmV3IEFycmF5KGZhbHNlLCBmYWxzZSwg
ZmFsc2UsIGZhbHNlLCB0cnVlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0cyhleHBlY3Rl
ZFNlbGVjdGlvblJlc3VsdHMsIDEwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ci0gICAgICAgICAgICAgICAgLy8gMTEpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIHRoZSBrZXlib2Fy
ZCAod2l0aCBwcmV2aW91cyBzZWxlY3Rpb24pCi0gICAgICAgICAgICAgICAga2V5RG93bk9uU2Vs
ZWN0KCJzbDExIiwgImRvd25BcnJvdyIsIGZhbHNlLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAg
ZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzID0gbmV3IEFycmF5KGZhbHNlLCBmYWxzZSwgdHJ1ZSwg
ZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0cyhleHBlY3RlZFNlbGVj
dGlvblJlc3VsdHMsIDExKTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAvLyAx
MikgU2VsZWN0IGFuIGl0ZW0gY21kLWNsaWNraW5nCi0gICAgICAgICAgICAgICAgbW91c2VEb3du
T25TZWxlY3QoInNsMTIiLCAxLCBmYWxzZSwgdHJ1ZSk7ICAgICAgICAgICAgICAgICAgICAKLSAg
ICAgICAgICAgICAgICBleHBlY3RlZFNlbGVjdGlvblJlc3VsdHMgPSBuZXcgQXJyYXkoZmFsc2Us
IHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJlc3VsdHMo
ZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzLCAxMik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgICAgIC8vIDEzKSBTZWxlY3QgYSByYW5nZSBzaGlmdC1jbGlj
a2luZwotICAgICAgICAgICAgICAgIG1vdXNlRG93bk9uU2VsZWN0KCJzbDEzIiwgMywgdHJ1ZSwg
ZmFsc2UpOwotICAgICAgICAgICAgICAgIGV4cGVjdGVkU2VsZWN0aW9uUmVzdWx0cyA9IG5ldyBB
cnJheSh0cnVlLCB0cnVlLCB0cnVlLCB0cnVlLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgdGVz
dFJlc3VsdHMoZXhwZWN0ZWRTZWxlY3Rpb25SZXN1bHRzLCAxMyk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIDE0KSBTZWxlY3QgYSByYW5nZSB3
aXRoIHRoZSBrZXlib2FyZAotICAgICAgICAgICAgICAgIGtleURvd25PblNlbGVjdCgic2wxNCIs
ICJkb3duQXJyb3ciLCB0cnVlLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0ZWRTZWxl
Y3Rpb25SZXN1bHRzID0gbmV3IEFycmF5KGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2Up
OwotICAgICAgICAgICAgICAgIHRlc3RSZXN1bHRzKGV4cGVjdGVkU2VsZWN0aW9uUmVzdWx0cywg
MTQpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIAotICAgICAgICAgICAgZnVuY3Rpb24gbW91c2VEb3duT25TZWxlY3Qoc2VsSWQsIGluZGV4
LCBzaGlmdCwgbWV0YU9yQ3RybCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIg
bWV0YSA9IGZhbHNlOwotICAgICAgICAgICAgICAgIHZhciBjdHJsID0gZmFsc2U7Ci0gICAgICAg
ICAgICAgICAgaWYgKG1ldGFPckN0cmwpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5hdmln
YXRvci51c2VyQWdlbnQuc2VhcmNoKC9cYk1hYyBPUyBYXGIvKSAhPSAtMSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIG1ldGEgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgICAgICAgICBjdHJsID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgdmFyIHNsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VsSWQpOwotICAg
ICAgICAgICAgICAgIHZhciBpdGVtSGVpZ2h0ID0gMTQ7Ci0gICAgICAgICAgICAgICAgdmFyIGJv
cmRlciA9IDE7Ci0gICAgICAgICAgICAgICAgdmFyIHkgPSBib3JkZXIgKyBpbmRleCAqIGl0ZW1I
ZWlnaHQgLSB3aW5kb3cucGFnZVlPZmZzZXQ7Ci0gICAgICAgICAgICAgICAgdmFyIGV2ZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIk1vdXNlRXZlbnQiKTsKLSAgICAgICAgICAgICAgICBldmVu
dC5pbml0TW91c2VFdmVudCgibW91c2Vkb3duIiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVs
dFZpZXcsIDEsIHNsLm9mZnNldExlZnQgKyBib3JkZXIsIHNsLm9mZnNldFRvcCArIHksIHNsLm9m
ZnNldExlZnQgKyBib3JkZXIsIHNsLm9mZnNldFRvcCArIHksIGN0cmwsIGZhbHNlLCBzaGlmdCwg
bWV0YSwgMCwgZG9jdW1lbnQpOwotICAgICAgICAgICAgICAgIHNsLmRpc3BhdGNoRXZlbnQoZXZl
bnQpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBmdW5jdGlvbiBr
ZXlEb3duT25TZWxlY3Qoc2VsSWQsIGlkZW50aWZpZXIsIHNoaWZ0LCBtZXRhT3JDdHJsKQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIG1vZGlmaWVycyA9IFtdOwotICAgICAgICAgICAg
ICAgIGlmIChzaGlmdCkKLSAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJzWzBdID0gInNoaWZ0
S2V5IjsKLSAgICAgICAgICAgICAgICBpZiAobWV0YU9yQ3RybCkgewotICAgICAgICAgICAgICAg
ICAgICBpZiAobmF2aWdhdG9yLnVzZXJBZ2VudC5zZWFyY2goL1xiTWFjIE9TIFhcYi8pICE9IC0x
KQotICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJzW21vZGlmaWVycy5sZW5ndGhdID0g
Im1ldGFLZXkiOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
ICAgICBtb2RpZmllcnNbbW9kaWZpZXJzLmxlbmd0aF0gPSAiY29udHJvbEtleSI7Ci0gICAgICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2Vs
SWQpLmZvY3VzKCk7Ci0gICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bihpZGVudGlm
aWVyLCBtb2RpZmllcnMpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAg
ICBmdW5jdGlvbiBjcmVhdGVTZWxlY3QoaWROYW1lLCBzeiwgbWx0LCBzZWxJbmRleCwgdGVzdE1z
ZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgc2wgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJzZWxlY3QiKTsKLSAgICAgICAgICAgICAgICB2YXIgaSA9IDA7Ci0gICAgICAg
ICAgICAgICAgc2wuc2l6ZSA9IHN6OwotICAgICAgICAgICAgICAgIHdoaWxlIChpIDwgc3opIHsK
LSAgICAgICAgICAgICAgICAgICAgdmFyIG9wdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9w
dGlvbiIpOwotICAgICAgICAgICAgICAgICAgICBpZiAoaSA9PSBzZWxJbmRleCkKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG9wdC5zZWxlY3RlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAg
IG9wdC50ZXh0Q29udGVudCA9ICJpdGVtICIgKyBpOwotICAgICAgICAgICAgICAgICAgICBzbC5h
cHBlbmRDaGlsZChvcHQpOwotICAgICAgICAgICAgICAgICAgICBpKys7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIHNsLm11bHRpcGxlID0gbWx0OwotICAgICAgICAgICAgICAg
IHNsLmlkID0gaWROYW1lOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoc2wpOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUodGVzdE1zZykpOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZXN1bHRzKGV4cGVj
dGVkQXJyLCB0ZXN0TnVtKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciBzbCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzbCIgKyB0ZXN0TnVtKTsKLSAgICAgICAgICAgICAg
ICB2YXIgcmVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlcycpOwotICAgICAgICAgICAg
ICAgIHZhciByZXN1bHRzQXJyID0gbmV3IEFycmF5KHNsLm9wdGlvbnMubGVuZ3RoKTsKLSAgICAg
ICAgICAgICAgICAKLSAgICAgICAgICAgICAgICB2YXIgaTsKLSAgICAgICAgICAgICAgICBmb3Ig
KGk9MDsgaSA8IHNsLm9wdGlvbnMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgICAg
cmVzdWx0c0FycltpXSA9IHNsLm9wdGlvbnNbaV0uc2VsZWN0ZWQ7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIHZhciBzdWNjZXNzU3RyaW5nID0gIkZhaWxlZCI7Ci0gICAgICAg
ICAgICAgICAgdmFyIHN1Y2Nlc3MgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICBpZiAoZXhwZWN0
ZWRBcnIuam9pbigpID09IHJlc3VsdHNBcnIuam9pbigpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHN1Y2Nlc3MgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBzdWNjZXNzU3RyaW5nID0gIlBh
c3NlZCI7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAg
ICAgbG9nKCJUZXN0ICIgKyB0ZXN0TnVtICsgIiAiICsgc3VjY2Vzc1N0cmluZyk7Ci0gICAgICAg
ICAgICAgICAgaWYgKCFzdWNjZXNzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxvZygiPHByZT4g
ICAgIEV4cGVjdGVkOiAiICsgZXhwZWN0ZWRBcnIuam9pbigpICsgIjxicj4iICsgIiAgICAgQWN0
dWFsOiAiICsgcmVzdWx0c0Fyci5qb2luKCkgKyAiPC9wcmU+Iik7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBmdW5jdGlvbiBsb2co
bXNnKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciByID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3JlcycpOwotICAgICAgICAgICAgICAgIHIuaW5uZXJIVE1MID0gci5pbm5l
ckhUTUwgKyAiPGJyPiIgKyBtc2c7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIDwvc2NyaXB0Pgot
ICAgIDwvaGVhZD4KLSAgICA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Ci0gICAgPC9ib2R5PgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2Ny
aXB0LXRlc3RzL2xpc3Rib3gtc2VsZWN0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvbGlzdGJveC1zZWxlY3Rpb24uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9saXN0Ym94LXNlbGVjdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NGQ3ZGM5ZmE0MjgyZmRiOTRh
ZTRlN2ZkNjlhY2ZkNjk1MGM5NzJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGlzdGJveC1zZWxlY3Rpb24uanMKQEAgLTAsMCArMSwxMjcg
QEAKK2Rlc2NyaXB0aW9uKCcmbHQ7c2VsZWN0Jmd0OyBzZWxlY3Rpb24gdGVzdCBmb3IgbW91c2Ug
ZXZlbnRzIGFuZCBrZXlldmVudHMuJyk7CisKK2Z1bmN0aW9uIG1vdXNlRG93bk9uU2VsZWN0KHNl
bElkLCBpbmRleCwgbW9kaWZpZXIpIHsKKyAgICB2YXIgc2wgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChzZWxJZCk7CisgICAgdmFyIGl0ZW1IZWlnaHQgPSBNYXRoLmZsb29yKHNsLm9mZnNldEhl
aWdodCAvIHNsLnNpemUpOworICAgIHZhciBib3JkZXIgPSAxOworICAgIHZhciB5ID0gYm9yZGVy
ICsgaW5kZXggKiBpdGVtSGVpZ2h0IC0gd2luZG93LnBhZ2VZT2Zmc2V0OworCisgICAgc2wuZm9j
dXMoKTsKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlTW92ZVRvKHNsLm9mZnNldExlZnQgKyBib3JkZXIsIHNsLm9mZnNldFRvcCArIHkpOwor
ICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oMCwgW21vZGlmaWVyXSk7CisgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlVXAoMCwgW21vZGlmaWVyXSk7CisgICAgfQorfQorCitmdW5jdGlvbiBr
ZXlEb3duT25TZWxlY3Qoc2VsSWQsIGlkZW50aWZpZXIsIG1vZGlmaWVyKSB7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoc2VsSWQpLmZvY3VzKCk7CisgICAgaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikKKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bihpZGVudGlmaWVyLCBbbW9kaWZpZXJd
KTsKK30KKworZnVuY3Rpb24gY3JlYXRlU2VsZWN0KGlkTmFtZSwgc3osIG1sdCwgc2VsSW5kZXgp
IHsKKyAgICB2YXIgc2wgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKTsKKyAgICB2
YXIgaSA9IDA7CisgICAgc2wuc2l6ZSA9IHN6OworICAgIHdoaWxlIChpIDwgc3opIHsKKyAgICAg
ICAgdmFyIG9wdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOworICAgICAgICBp
ZiAoaSA9PSBzZWxJbmRleCkKKyAgICAgICAgICAgIG9wdC5zZWxlY3RlZCA9IHRydWU7CisgICAg
ICAgIG9wdC50ZXh0Q29udGVudCA9ICJpdGVtICIgKyBpOworICAgICAgICBzbC5hcHBlbmRDaGls
ZChvcHQpOworICAgICAgICBpKys7CisgICAgfQorICAgIHNsLm11bHRpcGxlID0gbWx0OworICAg
IHNsLmlkID0gaWROYW1lOworICAgIHZhciBwYXJlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFyZW50Iik7CisgICAgcGFyZW50LmFwcGVuZENoaWxkKHNsKTsKK30KKworZnVuY3Rpb24g
c2VsZWN0aW9uUGF0dGVybihzZWxJZCkgeworICAgIHZhciBzbCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKHNlbElkKTsKKyAgICB2YXIgcmVzdWx0ID0gJyc7CisgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBzbC5vcHRpb25zLmxlbmd0aDsgaSsrKQorICAgICAgICByZXN1bHQgKz0gc2wub3B0aW9u
c1tpXS5zZWxlY3RlZCA/ICcxJyA6ICcwJzsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2YXIg
cGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CitwYXJlbnQuaWQgPSAicGFy
ZW50IjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKworY3JlYXRlU2VsZWN0
KCJzbDEiLCA1LCBmYWxzZSwgLTEpOworY3JlYXRlU2VsZWN0KCJzbDIiLCA1LCBmYWxzZSwgMSk7
CitjcmVhdGVTZWxlY3QoInNsMyIsIDUsIGZhbHNlLCAtMSk7CitjcmVhdGVTZWxlY3QoInNsNCIs
IDUsIGZhbHNlLCAxKTsKK2NyZWF0ZVNlbGVjdCgic2w1IiwgNSwgZmFsc2UsIDIpOworY3JlYXRl
U2VsZWN0KCJzbDYiLCA1LCBmYWxzZSwgMyk7CitjcmVhdGVTZWxlY3QoInNsNyIsIDUsIGZhbHNl
LCAxKTsKKworY3JlYXRlU2VsZWN0KCJzbDgiLCA1LCB0cnVlLCAtMSk7CitjcmVhdGVTZWxlY3Qo
InNsOSIsIDUsIHRydWUsIDEpOworY3JlYXRlU2VsZWN0KCJzbDEwIiwgNSwgdHJ1ZSwgLTEpOwor
Y3JlYXRlU2VsZWN0KCJzbDExIiwgNSwgdHJ1ZSwgMSk7CitjcmVhdGVTZWxlY3QoInNsMTIiLCA1
LCB0cnVlLCAyKTsKK2NyZWF0ZVNlbGVjdCgic2wxMyIsIDUsIHRydWUsIDApOworY3JlYXRlU2Vs
ZWN0KCJzbDE0IiwgNSwgdHJ1ZSwgMSk7CisKK2RlYnVnKCIxKSBTZWxlY3Qgb25lIGl0ZW0gd2l0
aCBtb3VzZSAobm8gcHJldmlvdXMgc2VsZWN0aW9uKSIpOworbW91c2VEb3duT25TZWxlY3QoInNs
MSIsIDApOworc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMSIpJywgJyIxMDAwMCInKTsK
KworZGVidWcoIjIpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlICh3aXRoIHByZXZpb3VzIHNl
bGVjdGlvbikiKTsKK21vdXNlRG93bk9uU2VsZWN0KCJzbDIiLCAwKTsKK3Nob3VsZEJlKCdzZWxl
Y3Rpb25QYXR0ZXJuKCJzbDIiKScsICciMTAwMDAiJyk7CisKK2RlYnVnKCIzKSBTZWxlY3Qgb25l
IGl0ZW0gd2l0aCB0aGUga2V5Ym9hcmQgKG5vIHByZXZpb3VzIHNlbGVjdGlvbikiKTsKK2tleURv
d25PblNlbGVjdCgic2wzIiwgInVwQXJyb3ciKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJu
KCJzbDMiKScsICciMDAwMDEiJyk7CisKK2RlYnVnKCI0KSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCB0
aGUga2V5Ym9hcmQgKHdpdGggcHJldmlvdXMgc2VsZWN0aW9uKSIpOwora2V5RG93bk9uU2VsZWN0
KCJzbDQiLCAiZG93bkFycm93Iik7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2w0Iikn
LCAnIjAwMTAwIicpOworCitkZWJ1ZygiNSkgQXR0ZW1wdCB0byBzZWxlY3QgYW4gaXRlbSBjbWQt
Y2xpY2tpbmciKTsKK21vdXNlRG93bk9uU2VsZWN0KCJzbDUiLCAxLCAiYWRkU2VsZWN0aW9uS2V5
Iik7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2w1IiknLCAnIjAxMDAwIicpOworCitk
ZWJ1ZygiNikgQXR0ZW1wdCB0byBzZWxlY3QgYSByYW5nZSBzaGlmdC1jbGlja2luZyIpOworbW91
c2VEb3duT25TZWxlY3QoInNsNiIsIDEsICJyYW5nZVNlbGVjdGlvbktleSIpOworc2hvdWxkQmUo
J3NlbGVjdGlvblBhdHRlcm4oInNsNiIpJywgJyIwMTAwMCInKTsKKworZGVidWcoIjcpIEF0dGVt
cHQgdG8gc2VsZWN0IGEgcmFuZ2Ugd2l0aCB0aGUga2V5Ym9hcmQiKTsKK2tleURvd25PblNlbGVj
dCgic2w3IiwgImRvd25BcnJvdyIsICJyYW5nZVNlbGVjdGlvbktleSIpOworc2hvdWxkQmUoJ3Nl
bGVjdGlvblBhdHRlcm4oInNsNyIpJywgJyIwMDEwMCInKTsKKworLy8gTXVsdGlwbGUgc2VsZWN0
aW9uIHRlc3RzCisKK2RlYnVnKCI4KSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAobm8gcHJl
dmlvdXMgc2VsZWN0aW9uKSIpOworbW91c2VEb3duT25TZWxlY3QoInNsOCIsIDApOworc2hvdWxk
QmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsOCIpJywgJyIxMDAwMCInKTsKKworZGVidWcoIjkpIFNl
bGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlICh3aXRoIHByZXZpb3VzIHNlbGVjdGlvbikiKTsKK21v
dXNlRG93bk9uU2VsZWN0KCJzbDkiLCAwKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJz
bDkiKScsICciMTAwMDAiJyk7CisKK2RlYnVnKCIxMCkgU2VsZWN0IG9uZSBpdGVtIHdpdGggdGhl
IGtleWJvYXJkIChubyBwcmV2aW91cyBzZWxlY3Rpb24pIik7CitrZXlEb3duT25TZWxlY3QoInNs
MTAiLCAidXBBcnJvdyIpOworc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMTAiKScsICci
MDAwMDEiJyk7CisKK2RlYnVnKCIxMSkgU2VsZWN0IG9uZSBpdGVtIHdpdGggdGhlIGtleWJvYXJk
ICh3aXRoIHByZXZpb3VzIHNlbGVjdGlvbikiKTsKK2tleURvd25PblNlbGVjdCgic2wxMSIsICJk
b3duQXJyb3ciKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDExIiknLCAnIjAwMTAw
IicpOworCitkZWJ1ZygiMTIpIFNlbGVjdCBhbiBpdGVtIGNtZC1jbGlja2luZyIpOworbW91c2VE
b3duT25TZWxlY3QoInNsMTIiLCAxLCAiYWRkU2VsZWN0aW9uS2V5Iik7CitzaG91bGRCZSgnc2Vs
ZWN0aW9uUGF0dGVybigic2wxMiIpJywgJyIwMTEwMCInKTsKKworZGVidWcoIjEzKSBTZWxlY3Qg
YSByYW5nZSBzaGlmdC1jbGlja2luZyIpOworbW91c2VEb3duT25TZWxlY3QoInNsMTMiLCAzLCAi
cmFuZ2VTZWxlY3Rpb25LZXkiKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDEzIikn
LCAnIjExMTEwIicpOworCitkZWJ1ZygiMTQpIFNlbGVjdCBhIHJhbmdlIHdpdGggdGhlIGtleWJv
YXJkIik7CitrZXlEb3duT25TZWxlY3QoInNsMTQiLCAiZG93bkFycm93IiwgInJhbmdlU2VsZWN0
aW9uS2V5Iik7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wxNCIpJywgJyIwMTEwMCIn
KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>