<?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>109644</bug_id>
          
          <creation_ts>2013-02-12 18:09:45 -0800</creation_ts>
          <short_desc>MediaKeySession should not be GCd while firing event listeners or with custom properties.</short_desc>
          <delta_ts>2014-06-04 00:34:30 -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>DUPLICATE</resolution>
          <dup_id>129841</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>109702</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>831489</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-02-12 18:09:45 -0800</bug_when>
    <thetext>MediaKeySession should not be GCd while firing event listeners or with custom properties.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831620</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-02-12 21:46:58 -0800</bug_when>
    <thetext>I find that I&apos;m having a very hard time writing a LayoutTest for this case.  How does one write a layout test to check whether an object has been GCd without holding a reference to that object (and thus keeping it from being GCd)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831634</commentid>
    <comment_count>2</comment_count>
      <attachid>188011</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-02-12 22:16:21 -0800</bug_when>
    <thetext>Created attachment 188011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831639</commentid>
    <comment_count>3</comment_count>
      <attachid>188012</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-02-12 22:19:49 -0800</bug_when>
    <thetext>Created attachment 188012
Patch

This time, with project changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833241</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-02-14 10:53:51 -0800</bug_when>
    <thetext>&gt; I find that I&apos;m having a very hard time writing a LayoutTest for this case.  How does one write a layout test to check whether an object has been GCd without holding a reference to that object (and thus keeping it from being GCd)?

mediaKeys.mediaKeySession.customProperty = 1;
gc();
if (mediaKeys.mediaKeySession.customProperty)
    pass();
else
    fail();

Here, your only explicit reference is to the MediaKeys object, and not the MediaKeySession object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833243</commentid>
    <comment_count>5</comment_count>
      <attachid>188012</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-02-14 10:55:52 -0800</bug_when>
    <thetext>Comment on attachment 188012
Patch

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

&gt; Source/WebCore/bindings/js/JSMediaKeySessionCustom.cpp:54
&gt; +    return visitor.containsOpaqueRoot(mediaKeySession-&gt;keys());

This line will only keep the MediaKeySession object alive if another object has called &quot;visitor.addOpaqueRoot(keys)&quot;.

If you want a MediaKeys object to keep a MediaKeySession object alive, you also need MediaKeys to call &quot;visitor.addOpaqueRoot(keys)&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833265</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-02-14 11:24:36 -0800</bug_when>
    <thetext>Further review on IRC:

ggaren: jer: so, here&apos;s what you need:
[11:14am] ggaren: jer: (1) MediaKeySession needs to adopt the ActiveDOMObject API, so it won&apos;t GC in the middle of scheduled stuff
[11:15am] jer: yep.
[11:15am] ggaren: jer: (2) MediaKeySession needs to adopt the isReachable API, but only for the purpose of event listeners, and this should be automatic for any subclass of EventTarget -- so just double-check that it is auto-generated
[11:16am] jer: okay, i looked into that, and it does do it for event listeners, but not custom properties…. *double checks*
[11:17am] jer: oh never mind, it&apos;s both
[11:17am] jer: ok
[11:18am] ggaren: jer: (3) double-check that the automatic isReachable for event listener checks for isFiringEventListeners -- this might be an oversight in the auto generated code, which you should fix (one-line change in the auto generater)
[11:18am] jer: so, what about the &quot;isFiringEventLiseteners&quot; part? that should be handled by bumping ...
[11:18am] jer: okay, EventTarget doesn&apos;t check isFiringEventLiseteners.
[11:18am] ggaren: jer: i think that&apos;s a missing feature in the auto generator, which you should correct
[11:18am] jer: lol. ok.
[11:19am] ggaren: (4) MediaKeys needs to to check visitor.containsOpaqueRoot(root(HTMLMediaElement)) -- because of the HTMLMediaElement.mediaKeys API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834420</commentid>
    <comment_count>7</comment_count>
      <attachid>188652</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-02-15 15:24:46 -0800</bug_when>
    <thetext>Created attachment 188652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834429</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-02-15 15:48:34 -0800</bug_when>
    <thetext>Depends on bug #109702 for the mediaElement accessor on MediaKeys.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834436</commentid>
    <comment_count>9</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-02-15 15:59:10 -0800</bug_when>
    <thetext>Whoops, an extra entry in the LayoutTests/ChangeLog.  I&apos;ll remove it before landing (or an upcoming version, depending).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003660</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-24 09:21:35 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Whoops, an extra entry in the LayoutTests/ChangeLog.  I&apos;ll remove it before landing (or an upcoming version, depending).

Wow -- did this ever get landed? Seems important!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004131</commentid>
    <comment_count>11</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-04-25 10:27:12 -0700</bug_when>
    <thetext>This was fixed by bug #129841.

*** This bug has been marked as a duplicate of bug 129841 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013245</commentid>
    <comment_count>12</comment_count>
      <attachid>188652</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-06-04 00:34:30 -0700</bug_when>
    <thetext>Comment on attachment 188652
Patch

Cleared review? from attachment 188652 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188011</attachid>
            <date>2013-02-12 22:16:21 -0800</date>
            <delta_ts>2013-02-12 22:19:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109644-20130212221251.patch</filename>
            <type>text/plain</type>
            <size>5403</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTg3ZGUzMmNiODUwZmU2
MDZhM2MzZjA3NzdjZDM3NjdhNWUyYTIwNC4uOTJkYzY4MzNiMzE0NWM3M2JkYTU3YmZjODIyZTg0
MWQzZDJiOTUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAyLTEyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhS2V5U2Vzc2lvbiBz
aG91bGQgbm90IGJlIEdDZCB3aGlsZSBmaXJpbmcgZXZlbnQgbGlzdGVuZXJzIG9yIHdpdGggY3Vz
dG9tIHByb3BlcnRpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDk2NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBPdmVycmlkZSB0aGUgZGVmYXVsdCBpc1JlYWNoYWJsZUZyb21PcGFxdWVSb290cyBh
bmQgdmlzaXRDaGlsZHJlbgorICAgICAgICB3cmFwcGVyIGZ1bmN0aW9ucyB0byBtYXJrIGFzIHJl
YWNoYWJsZSB3aGVuIGZpcmluZyBldmVudCBsaXN0ZW5lcnMgYW5kCisgICAgICAgIG9wdGltaXpp
bmcgYXdheSB0aGUgd3JhcHBlciB3aGVuIG5vIGN1c3RvbSBwcm9wZXJ0aWVzIG9yIGV2ZW50Cisg
ICAgICAgIGxpc3RlbmVycyBhcmUgcHJlc2VudC4gQWxzbywgbWFyayB0aGUgc2Vzc2lvbnMncyBN
ZWRpYUtleXMgYXMgdmlzaXRlZAorICAgICAgICB0byBrZWVwIGl0IGZyb20gYmVpbmcgR0NkIHdo
ZW4gaXQncyBzZXNzaW9ucyBhcmUgc3RpbGwgcHJlc2VudC4KKworICAgICAgICAqIE1vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNNZWRpYUtleVNlc3Npb25Pd25lcjo6aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNNZWRpYUtleVNlc3Npb246OnZpc2l0Q2hpbGRyZW4pOgorCiAyMDEz
LTAyLTExICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIEVNRTog
cmVwbGFjZSBNZWRpYUtleVNlc3Npb24uYWRkS2V5KCkgLT4gdXBkYXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmlkbAppbmRleCBjNGM5ZmMyYjgzYmE4ZGZlOWQ0NGFkMTc3Njg3ZGZhZjBlNTljMGI5Li4yMzVk
YmE5YmJmMjM1OWQ2NTMwNWJjYmZjZjk3Y2ExY2YxOTJiYTI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRs
CkBAIC0yNyw2ICsyNyw4IEBAIGludGVyZmFjZSBbCiAgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVE
X01FRElBX1YyLAogICAgIFY4RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYSwKICAgICBF
dmVudFRhcmdldCwKKyAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKKyAgICBKU0N1c3RvbUlzUmVh
Y2hhYmxlLAogXSBNZWRpYUtleVNlc3Npb24gewogICAgIC8vIGVycm9yIHN0YXRlCiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIE1lZGlhS2V5RXJyb3IgZXJyb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjUyOWJhYTY4ODk1ZmJiZDM5ZmFhZGZlNTFhMTAxZWU3MDRhYzdkNAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFLZXlTZXNzaW9uQ3VzdG9t
LmNwcApAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQV9WMikKKworI2luY2x1ZGUgIkpTTWVkaWFLZXlT
ZXNzaW9uLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworYm9vbCBKU01lZGlhS2V5U2Vzc2lvbk93bmVyOjppc1JlYWNoYWJsZUZyb21PcGFxdWVSb290
cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCosIFNsb3RWaXNpdG9yJiB2
aXNpdG9yKQoreworICAgIEpTTWVkaWFLZXlTZXNzaW9uKiBqc01lZGlhS2V5U2Vzc2lvbiA9IGpz
Q2FzdDxKU01lZGlhS2V5U2Vzc2lvbio+KGhhbmRsZS5nZXQoKS5hc0NlbGwoKSk7CisgICAgTWVk
aWFLZXlTZXNzaW9uKiBtZWRpYUtleVNlc3Npb24gPSBqc01lZGlhS2V5U2Vzc2lvbi0+aW1wbCgp
OworCisgICAgLy8gSWYgdGhlIHNlc3Npb24gaXMgZmlyaW5nIGV2ZW50IGxpc3RlbmVycywgaXRz
IHdyYXBwZXIgaXMgcmVhY2hhYmxlIGJlY2F1c2UKKyAgICAvLyB0aGUgd3JhcHBlciBpcyByZXNw
b25zaWJsZSBmb3IgbWFya2luZyB0aG9zZSBldmVudCBsaXN0ZW5lcnMuCisgICAgaWYgKG1lZGlh
S2V5U2Vzc2lvbi0+aXNGaXJpbmdFdmVudExpc3RlbmVycygpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIC8vIElmIHRoZSBzZXNzaW9uIGhhcyBubyBldmVudCBsaXN0ZW5lcnMgYW5kIGhh
cyBubyBjdXN0b20gcHJvcGVydGllcywgaXQgaXMgbm90IHJlYWNoYWJsZS4KKyAgICBpZiAoIW1l
ZGlhS2V5U2Vzc2lvbi0+aGFzRXZlbnRMaXN0ZW5lcnMoKSAmJiAhanNNZWRpYUtleVNlc3Npb24t
Pmhhc0N1c3RvbVByb3BlcnRpZXMoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8g
SWYgdGhlIHNlc3Npb24gaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhIG1lZGlhS2V5cywgaXQgaXMg
bm90IHJlYWNoYWJsZS4KKyAgICBpZiAoIW1lZGlhS2V5U2Vzc2lvbi0+a2V5cygpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdmlzaXRvci5jb250YWluc09wYXF1ZVJvb3Qo
bWVkaWFLZXlTZXNzaW9uLT5rZXlzKCkpOworfQorCit2b2lkIEpTTWVkaWFLZXlTZXNzaW9uOjp2
aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAg
SlNNZWRpYUtleVNlc3Npb24qIGpzTWVkaWFLZXlTZXNzaW9uID0ganNDYXN0PEpTTWVkaWFLZXlT
ZXNzaW9uKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhqc01lZGlhS2V5
U2Vzc2lvbiwgJnNfaW5mbyk7CisgICAgQ09NUElMRV9BU1NFUlQoU3RydWN0dXJlRmxhZ3MgJiBP
dmVycmlkZXNWaXNpdENoaWxkcmVuLCBPdmVycmlkZXNWaXNpdENoaWxkcmVuV2l0aG91dFNldHRp
bmdGbGFnKTsKKyAgICBBU1NFUlQoanNNZWRpYUtleVNlc3Npb24tPnN0cnVjdHVyZSgpLT50eXBl
SW5mbygpLm92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4oKSk7CisgICAgQmFzZTo6dmlzaXRDaGlsZHJl
bihqc01lZGlhS2V5U2Vzc2lvbiwgdmlzaXRvcik7CisKKyAgICAvLyBNYXJrIHRoZSBzZXNzaW9u
J3Mga2V5cywgaWYgcHJlc2VudC4KKyAgICBNZWRpYUtleVNlc3Npb24qIG1lZGlhS2V5U2Vzc2lv
biA9IGpzTWVkaWFLZXlTZXNzaW9uLT5pbXBsKCk7CisgICAgaWYgKE1lZGlhS2V5cyoga2V5cyA9
IG1lZGlhS2V5U2Vzc2lvbi0+a2V5cygpKQorICAgICAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qo
a2V5cyk7CisKKyAgICBtZWRpYUtleVNlc3Npb24tPnZpc2l0SlNFdmVudExpc3RlbmVycyh2aXNp
dG9yKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188012</attachid>
            <date>2013-02-12 22:19:49 -0800</date>
            <delta_ts>2013-02-15 15:24:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109644-20130212221619.patch</filename>
            <type>text/plain</type>
            <size>9502</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTg3ZGUzMmNiODUwZmU2
MDZhM2MzZjA3NzdjZDM3NjdhNWUyYTIwNC4uNGViNzgxOWNmODlkNmU0ZmIwNzg4YzMyYmY3ZWQ0
ZTUyMjZlMTU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAyLTEyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhS2V5U2Vzc2lvbiBz
aG91bGQgbm90IGJlIEdDZCB3aGlsZSBmaXJpbmcgZXZlbnQgbGlzdGVuZXJzIG9yIHdpdGggY3Vz
dG9tIHByb3BlcnRpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDk2NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBPdmVycmlkZSB0aGUgZGVmYXVsdCBpc1JlYWNoYWJsZUZyb21PcGFxdWVSb290cyBh
bmQgdmlzaXRDaGlsZHJlbgorICAgICAgICB3cmFwcGVyIGZ1bmN0aW9ucyB0byBtYXJrIGFzIHJl
YWNoYWJsZSB3aGVuIGZpcmluZyBldmVudCBsaXN0ZW5lcnMgYW5kCisgICAgICAgIG9wdGltaXpp
bmcgYXdheSB0aGUgd3JhcHBlciB3aGVuIG5vIGN1c3RvbSBwcm9wZXJ0aWVzIG9yIGV2ZW50Cisg
ICAgICAgIGxpc3RlbmVycyBhcmUgcHJlc2VudC4gQWxzbywgbWFyayB0aGUgc2Vzc2lvbnMncyBN
ZWRpYUtleXMgYXMgdmlzaXRlZAorICAgICAgICB0byBrZWVwIGl0IGZyb20gYmVpbmcgR0NkIHdo
ZW4gaXQncyBzZXNzaW9ucyBhcmUgc3RpbGwgcHJlc2VudC4KKworICAgICAgICAqIE1vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNNZWRpYUtleVNlc3Npb25Pd25lcjo6aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNNZWRpYUtleVNlc3Npb246OnZpc2l0Q2hpbGRyZW4pOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMy0wMi0xMSAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBFTUU6IHJlcGxhY2UgTWVk
aWFLZXlTZXNzaW9uLmFkZEtleSgpIC0+IHVwZGF0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGwKaW5kZXgg
YzRjOWZjMmI4M2JhOGRmZTlkNDRhZDE3NzY4N2RmYWYwZTU5YzBiOS4uMjM1ZGJhOWJiZjIzNTlk
NjUzMDViY2JmY2Y5N2NhMWNmMTkyYmEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbApAQCAtMjcsNiAr
MjcsOCBAQCBpbnRlcmZhY2UgWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQV9WMiwK
ICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9ZW5jcnlwdGVkTWVkaWEsCiAgICAgRXZlbnRUYXJnZXQs
CisgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCisgICAgSlNDdXN0b21Jc1JlYWNoYWJsZSwKIF0g
TWVkaWFLZXlTZXNzaW9uIHsKICAgICAvLyBlcnJvciBzdGF0ZQogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBNZWRpYUtleUVycm9yIGVycm9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQ4ZjZjYWUwNTk2MjQzN2FjZjVkZjM0YmNi
ZGM3MWFiNDQ2MzhkYTQuLmE2NGYwNDBkZDIyNzQ1NjFlMDU2MTAzZjJiZGFiOTUyZTUzZTA0YTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTU5OTEsNiArNTk5MSw3IEBACiAJCUNEMzdCMzk4MTVDMUI5NzEwMDZEQzg5OCAvKiBE
aWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0QzN0IzNzQxNUMxQTdFMTAwNkRDODk4IC8qIERpYWdub3N0aWNMb2dn
aW5nS2V5cy5jcHAgKi87IH07CiAJCUNENEFDNTJBMTQ5NkFFOUEwMDg3QzRFRiAvKiBDb21wb3Np
dGUud2F2IGluIENvcHkgQXVkaW8gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENENEFDNTI4MTQ5NkFFMkYwMDg3QzRFRiAvKiBDb21wb3NpdGUud2F2ICovOyB9
OwogCQlDRDdFMDUyMjE2NTFDMjgyMDBDMTIwMUYgLyogV2ViQ29yZUFWRlJlc291cmNlTG9hZGVy
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3RTA1
MjExNjUxQTg0MTAwQzEyMDFGIC8qIFdlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5tbSAqLzsgfTsK
KwkJQ0Q3NUE1QzUxNjBDMkExOTAwOTdCMTlCIC8qIEpTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENzVBNUMz
MTYwQzI5NDIwMDk3QjE5QiAvKiBKU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAgKi87IH07CiAJ
CUNEODIwMzBBMTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDgyMDMw
NjEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEODIwMzBCMTM5
NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4MjAzMDcxMzk1QUI2QTAw
Rjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0gKi87IHNldHRpbmdzID0g
e0NPTVBJTEVSX0ZMQUdTID0gIi1Xbm8tdW5kZWYgLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9u
cyI7IH07IH07CiAJCUNEODIwMzBDMTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3Jl
ZW5IVURXaW5kb3dDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDgyMDMwODEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2Ny
ZWVuSFVEV2luZG93Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC0xMzU3NCw2ICsxMzU3NSw3IEBACiAJCUNENEUwQUZBMTFGN0JD
MjcwMDlEMzgxMSAvKiBmdWxsc2NyZWVuLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuY3NzOyBwYXRoID0g
ZnVsbHNjcmVlbi5jc3M7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEN0UwNTIwMTY1
MUE4NDEwMEMxMjAxRiAvKiBXZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLmg7IHBhdGggPSBvYmpjL1dlYkNvcmVBVkZSZXNv
dXJjZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDdFMDUyMTE2NTFB
ODQxMDBDMTIwMUYgLyogV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBuYW1lID0gV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLm1tOyBwYXRoID0gb2JqYy9XZWJDb3Jl
QVZGUmVzb3VyY2VMb2FkZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNENzVB
NUMzMTYwQzI5NDIwMDk3QjE5QiAvKiBKU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEODIwMzA2MTM5NUFCNkEwMEY5NTZD
NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q4MjAzMDcxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRDgyMDMwODEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVu
SFVEV2luZG93Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yMTA2Nyw2ICsyMTA2OSw3IEBACiAJCQkJMUM1RkFFRTYwRENGREE2ODAw
RDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZUN1c3RvbS5jcHAgKi8sCiAJCQkJQkNFMUM0
M0YwRDk4MzBGNDAwM0IwMkYyIC8qIEpTTG9jYXRpb25DdXN0b20uY3BwICovLAogCQkJCTE0NjRF
MDZCMTM1RUMxMDYwMEZEQjAwQSAvKiBKU01lZGlhTGlzdEN1c3RvbS5jcHAgKi8sCisJCQkJQ0Q3
NUE1QzMxNjBDMjk0MjAwOTdCMTlCIC8qIEpTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcCAqLywK
IAkJCQk5RkRDOEZGMTEyRkFCMDA2MDA5OUFCMUMgLyogSlNNZW1vcnlJbmZvQ3VzdG9tLmNwcCAq
LywKIAkJCQlFMUE1Rjk5QTBFN0VBQTI1MDBBRjg1RUEgLyogSlNNZXNzYWdlQ2hhbm5lbEN1c3Rv
bS5jcHAgKi8sCiAJCQkJNDEwQjdFNzExMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50
Q3VzdG9tLmNwcCAqLywKQEAgLTI5NjY1LDYgKzI5NjY4LDcgQEAKIAkJCQlDREE5OEUwRDE2MDNG
RTRBMDBGRUEzQjEgLyogTWVkaWFLZXlzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEQTk4RTBF
MTYwM0ZFNTgwMEZFQTNCMSAvKiBNZWRpYUtleVNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQ0QxQjRBNjUxNjA3ODZBRTAwMjgyREY5IC8qIE1lZGlhS2V5TmVlZGVkRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQ0Q3NUE1QzUxNjBDMkExOTAwOTdCMTlCIC8qIEpTTWVkaWFLZXlT
ZXNzaW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1
MjliYWE2ODg5NWZiYmQzOWZhYWRmZTUxYTEwMWVlNzA0YWM3ZDQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAK
QEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lm
IEVOQUJMRShFTkNSWVBURURfTUVESUFfVjIpCisKKyNpbmNsdWRlICJKU01lZGlhS2V5U2Vzc2lv
bi5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jv
b2wgSlNNZWRpYUtleVNlc3Npb25Pd25lcjo6aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMoSlND
OjpIYW5kbGU8SlNDOjpVbmtub3duPiBoYW5kbGUsIHZvaWQqLCBTbG90VmlzaXRvciYgdmlzaXRv
cikKK3sKKyAgICBKU01lZGlhS2V5U2Vzc2lvbioganNNZWRpYUtleVNlc3Npb24gPSBqc0Nhc3Q8
SlNNZWRpYUtleVNlc3Npb24qPihoYW5kbGUuZ2V0KCkuYXNDZWxsKCkpOworICAgIE1lZGlhS2V5
U2Vzc2lvbiogbWVkaWFLZXlTZXNzaW9uID0ganNNZWRpYUtleVNlc3Npb24tPmltcGwoKTsKKwor
ICAgIC8vIElmIHRoZSBzZXNzaW9uIGlzIGZpcmluZyBldmVudCBsaXN0ZW5lcnMsIGl0cyB3cmFw
cGVyIGlzIHJlYWNoYWJsZSBiZWNhdXNlCisgICAgLy8gdGhlIHdyYXBwZXIgaXMgcmVzcG9uc2li
bGUgZm9yIG1hcmtpbmcgdGhvc2UgZXZlbnQgbGlzdGVuZXJzLgorICAgIGlmIChtZWRpYUtleVNl
c3Npb24tPmlzRmlyaW5nRXZlbnRMaXN0ZW5lcnMoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisK
KyAgICAvLyBJZiB0aGUgc2Vzc2lvbiBoYXMgbm8gZXZlbnQgbGlzdGVuZXJzIGFuZCBoYXMgbm8g
Y3VzdG9tIHByb3BlcnRpZXMsIGl0IGlzIG5vdCByZWFjaGFibGUuCisgICAgaWYgKCFtZWRpYUtl
eVNlc3Npb24tPmhhc0V2ZW50TGlzdGVuZXJzKCkgJiYgIWpzTWVkaWFLZXlTZXNzaW9uLT5oYXND
dXN0b21Qcm9wZXJ0aWVzKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIElmIHRo
ZSBzZXNzaW9uIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYSBtZWRpYUtleXMsIGl0IGlzIG5vdCBy
ZWFjaGFibGUuCisgICAgaWYgKCFtZWRpYUtleVNlc3Npb24tPmtleXMoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHZpc2l0b3IuY29udGFpbnNPcGFxdWVSb290KG1lZGlh
S2V5U2Vzc2lvbi0+a2V5cygpKTsKK30KKwordm9pZCBKU01lZGlhS2V5U2Vzc2lvbjo6dmlzaXRD
aGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIEpTTWVk
aWFLZXlTZXNzaW9uKiBqc01lZGlhS2V5U2Vzc2lvbiA9IGpzQ2FzdDxKU01lZGlhS2V5U2Vzc2lv
bio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoanNNZWRpYUtleVNlc3Np
b24sICZzX2luZm8pOworICAgIENPTVBJTEVfQVNTRVJUKFN0cnVjdHVyZUZsYWdzICYgT3ZlcnJp
ZGVzVmlzaXRDaGlsZHJlbiwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbldpdGhvdXRTZXR0aW5nRmxh
Zyk7CisgICAgQVNTRVJUKGpzTWVkaWFLZXlTZXNzaW9uLT5zdHJ1Y3R1cmUoKS0+dHlwZUluZm8o
KS5vdmVycmlkZXNWaXNpdENoaWxkcmVuKCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4oanNN
ZWRpYUtleVNlc3Npb24sIHZpc2l0b3IpOworCisgICAgLy8gTWFyayB0aGUgc2Vzc2lvbidzIGtl
eXMsIGlmIHByZXNlbnQuCisgICAgTWVkaWFLZXlTZXNzaW9uKiBtZWRpYUtleVNlc3Npb24gPSBq
c01lZGlhS2V5U2Vzc2lvbi0+aW1wbCgpOworICAgIGlmIChNZWRpYUtleXMqIGtleXMgPSBtZWRp
YUtleVNlc3Npb24tPmtleXMoKSkKKyAgICAgICAgdmlzaXRvci5hZGRPcGFxdWVSb290KGtleXMp
OworCisgICAgbWVkaWFLZXlTZXNzaW9uLT52aXNpdEpTRXZlbnRMaXN0ZW5lcnModmlzaXRvcik7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188652</attachid>
            <date>2013-02-15 15:24:46 -0800</date>
            <delta_ts>2014-06-04 00:34:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109644-20130215152112.patch</filename>
            <type>text/plain</type>
            <size>22015</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2YwOWEwMmE1YjI4NjU3
NmYxNjg5ZWMyZTg1NmJiMzQ4ZGUwYmQ4NC4uYTI2MmJlYTU3OWVhOWExOWMxNmQ2YTcxYjI0NzUy
ZmE3YTZkYjExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAyLTEyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhS2V5U2Vzc2lvbiBz
aG91bGQgbm90IGJlIEdDZCB3aGlsZSBmaXJpbmcgZXZlbnQgbGlzdGVuZXJzIG9yIHdpdGggY3Vz
dG9tIHByb3BlcnRpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDk2NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbWVkaWFrZXlzZXNzaW9uLWhhcy1w
ZW5kaW5nLWFjdGl2aXR5Lmh0bWwKKyAgICAgICAgICAgICAgbWVkaWEvZW5jcnlwdGVkLW1lZGlh
L21lZGlha2V5cy1pcy1yZWFjaGFibGUuaHRtbAorICAgICAgICAgICAgICAKKworICAgICAgICBP
dmVycmlkZSB0aGUgZGVmYXVsdCBpc1JlYWNoYWJsZUZyb21PcGFxdWVSb290cyBhbmQgdmlzaXRD
aGlsZHJlbgorICAgICAgICB3cmFwcGVyIGZ1bmN0aW9ucyB0byBtYXJrIGFzIHJlYWNoYWJsZSB3
aGVuIGZpcmluZyBldmVudCBsaXN0ZW5lcnMgYW5kCisgICAgICAgIG9wdGltaXppbmcgYXdheSB0
aGUgd3JhcHBlciB3aGVuIG5vIGN1c3RvbSBwcm9wZXJ0aWVzIG9yIGV2ZW50CisgICAgICAgIGxp
c3RlbmVycyBhcmUgcHJlc2VudC4gQWxzbywgbWFyayB0aGUgc2Vzc2lvbnMncyBNZWRpYUtleXMg
YXMgdmlzaXRlZAorICAgICAgICB0byBrZWVwIGl0IGZyb20gYmVpbmcgR0NkIHdoZW4gaXQncyBz
ZXNzaW9ucyBhcmUgc3RpbGwgcHJlc2VudC4KKworICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vz
c2lvbjo6TWVkaWFLZXlTZXNzaW9uKTogQ2FsbCBzdXNwZW5kSWZOZWVkZWQoKS4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6aGFzUGVuZGluZ0FjdGl2aXR5KTogUmV0dXJuIHdo
ZXRoZXIgdGhlcmUgYXJlIHBlbmRpbmcga2V5IG9yIGtleXJlcXVlc3QgdGltZXJzLgorICAgICAg
ICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmg6IE1lZGlhS2V5U2Vz
c2lvbiBpbmhlcml0cyBmcm9tIEFjdGl2ZURPTU9iamVjdC4KKyAgICAgICAgKiBNb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGw6IE1hcmsgTWVkaWFLZXlTZXNzaW9uIGFz
IGFuIEFjdGl2ZURPTU9iamVjdC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5cy5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlzOjptZWRpYUVsZW1lbnQpOiBT
aW1wbGUgZ2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlzOjpzZXRNZWRpYUVsZW1l
bnQpOiBTaW1wbGUgc2V0dGVyLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlzLmlkbDogTWFyayBhcyBoYXZpbmcgYSBjdXN0b20gaXNSZWFjaGFibGUuCisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgbmV3IGZpbGVzIHRvIHBy
b2plY3QuCisgICAgICAgICogYmluZGluZ3MvanMvSlNNZWRpYUtleXNDdXN0b20uY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OmlzT2JzZXJ2YWJsZSk6IFJldHVybnMgd2hldGhlciB0aGUg
TWVkaWFLZXlzIGhhcyBhbnkgY3VzdG9tIHByb3BlcnRpZXMuCisgICAgICAgIChXZWJDb3JlOjpK
U01lZGlhS2V5c093bmVyOjppc1JlYWNoYWJsZUZyb21PcGFxdWVSb290cyk6IEFkZCB0aGUgYXNz
b2NpYXRlZCBIVE1MTWVkaWFFbGVtZW50IChpZiBhbnkpCisgICAgICAgICAgICBhcyB0aGUgb2Jq
ZWN0J3Mgb3BhcXVlIHJvb3QuCisgICAgICAgICogYmluZGluZ3MvanMvSlNNZWRpYUtleXNDdXN0
b20uaDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG06CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKTogSW4gaXNSZWFjaGFibGUsIGlm
IHRoZSBpbnRlcmZhY2UgaXMgYW4gRXZlbnRUYXJnZXQsIGRlY2xhcmUgdGhlCisgICAgICAgICAg
ICB3cmFwcGVyIGFzIHJlYWNoYWJsZSBpZiBpdCBpcyBmaXJpbmcgZXZlbnQgbGlzdGVuZXJzLgor
CiAyMDEzLTAyLTEzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAg
IEVNRTogQWRkIGEgQ0RNUHJpdmF0ZSBpbXBsZW1lbnRhdGlvbiB1c2luZyBBVkZvdW5kYXRpb24u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U2Vzc2lvbi5jcHAKaW5kZXggNmFhZjgyNTZiZGVlYjJiMDE4YjZmZmM2YTA3MjBkNGU0
NjE0ZGUxNS4uZTY4ZjIwNzg3MTEyOGNkYTE5ZmE0OGZhZTU3YTdmZDU4NmMzYWJiYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Np
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTZXNzaW9uLmNwcApAQCAtNDMsNyArNDMsNyBAQCBQYXNzUmVmUHRyPE1lZGlhS2V5U2Vzc2lv
bj4gTWVkaWFLZXlTZXNzaW9uOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udAog
fQogCiBNZWRpYUtleVNlc3Npb246Ok1lZGlhS2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBNZWRpYUtleXMqIGtleXMsIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKQot
ICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoY29udGV4dCkKKyAgICA6IEFjdGl2ZURP
TU9iamVjdChjb250ZXh0LCAgdGhpcykKICAgICAsIG1fa2V5cyhrZXlzKQogICAgICwgbV9rZXlT
eXN0ZW0oa2V5U3lzdGVtKQogICAgICwgbV9hc3luY0V2ZW50UXVldWUoR2VuZXJpY0V2ZW50UXVl
dWU6OmNyZWF0ZSh0aGlzKSkKQEAgLTUxLDYgKzUxLDggQEAgTWVkaWFLZXlTZXNzaW9uOjpNZWRp
YUtleVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgTWVkaWFLZXlzKiBr
ZXkKICAgICAsIG1fa2V5UmVxdWVzdFRpbWVyKHRoaXMsICZNZWRpYUtleVNlc3Npb246OmtleVJl
cXVlc3RUaW1lckZpcmVkKQogICAgICwgbV9hZGRLZXlUaW1lcih0aGlzLCAmTWVkaWFLZXlTZXNz
aW9uOjphZGRLZXlUaW1lckZpcmVkKQogeworICAgIC8vIEFjdGl2ZURPTU9iamVjdCBleHBlY3Rz
IHRoaXMgdG8gYmUgY2FsbGVkIHRvIHNldCBpbnRlcm5hbCBmbGFncy4KKyAgICBzdXNwZW5kSWZO
ZWVkZWQoKTsKIH0KIAogTWVkaWFLZXlTZXNzaW9uOjp+TWVkaWFLZXlTZXNzaW9uKCkKQEAgLTIx
OSw2ICsyMjEsMTMgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OmFkZEtleVRpbWVyRmlyZWQoVGlt
ZXI8TWVkaWFLZXlTZXNzaW9uPiopCiAgICAgfQogfQogCitib29sIE1lZGlhS2V5U2Vzc2lvbjo6
aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKK3sKKyAgICBpZiAobV9wZW5kaW5nS2V5UmVxdWVz
dHMuc2l6ZSgpIHx8IG1fcGVuZGluZ0tleXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpoYXNQZW5kaW5nQWN0aXZpdHkoKTsKK30KKwog
Y29uc3QgQXRvbWljU3RyaW5nJiBNZWRpYUtleVNlc3Npb246OmludGVyZmFjZU5hbWUoKSBjb25z
dAogewogICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yTWVkaWFLZXlTZXNzaW9u
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmgKaW5kZXggODNkMWZiZWVhYzM3NjY0ZWQwZmQ0ZjJlYzUwOWNkNjMyZjlm
YmQ4Ni4uYTIyMzc5YTdmNTUzZGFiOTI2NjgzZjZlYWM4OGQzNjgxNjg3OGZjOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvbi5oCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBX1Yy
KQogCi0jaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJB
Y3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgpAQCAtNDUsNyArNDUsNyBAQCBjbGFz
cyBNZWRpYUtleUVycm9yOwogY2xhc3MgTWVkaWFLZXlzOwogY2xhc3MgQ0RNU2Vzc2lvbjsKIAot
Y2xhc3MgTWVkaWFLZXlTZXNzaW9uIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlTZXNzaW9u
PiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJsaWMgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIg
eworY2xhc3MgTWVkaWFLZXlTZXNzaW9uIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlTZXNz
aW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUtleVNlc3Npb24+IGNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgTWVkaWFLZXlzKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pOwog
ICAgIH5NZWRpYUtleVNlc3Npb24oKTsKQEAgLTcyLDYgKzcyLDggQEAgcHVibGljOgogICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0a2V5ZXJyb3IpOwogICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0a2V5bWVzc2FnZSk7CiAKKyAgICB2aXJ0
dWFsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgT1ZFUlJJREU7CisKICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpIGNvbnN0IE9WRVJSSURFOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGwKaW5kZXggYzRjOWZjMmI4M2Jh
OGRmZTlkNDRhZDE3NzY4N2RmYWYwZTU5YzBiOS4uMThhNGQ0ODYzNjI1YWVlMzlhOGRjYjFiODNh
OGRkZDM5MTk1OTI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbApAQCAtMjcsNiArMjcsOCBAQCBpbnRl
cmZhY2UgWwogICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQV9WMiwKICAgICBWOEVuYWJs
ZWRBdFJ1bnRpbWU9ZW5jcnlwdGVkTWVkaWEsCiAgICAgRXZlbnRUYXJnZXQsCisgICAgQWN0aXZl
RE9NT2JqZWN0LAorICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsLAogXSBNZWRpYUtleVNl
c3Npb24gewogICAgIC8vIGVycm9yIHN0YXRlCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlh
S2V5RXJyb3IgZXJyb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleXMuaAppbmRleCA1OTI0N2NhZDE5ZDc5ZDM0ZDJhYTI1ZGUyMjA0MDZjMjIy
ZGVmMzVhLi4xM2VkNTc4Mzg5YjkzMTg2OThhMGQzODVhMGY3ODhkNzMzYTc1ZjIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmgKQEAg
LTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKCkgY29u
c3QgeyByZXR1cm4gbV9rZXlTeXN0ZW07IH0KICAgICBDRE0qIGNkbSgpIHsgcmV0dXJuIG1fY2Rt
LmdldCgpOyB9CiAKLSAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQoKTsKKyAgICBI
VE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQoKSB7IHJldHVybiBtX21lZGlhRWxlbWVudDsg
fQogICAgIHZvaWQgc2V0TWVkaWFFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqKTsKIAogcHJvdGVj
dGVkOgpAQCAtNjMsOCArNjMsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFLZXlzKGNvbnN0IFN0
cmluZyYga2V5U3lzdGVtLCBQYXNzT3duUHRyPENETT4pOwogCiAgICAgVmVjdG9yPFJlZlB0cjxN
ZWRpYUtleVNlc3Npb24+ID4gbV9zZXNzaW9uczsKLQogICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1f
bWVkaWFFbGVtZW50OworCiAgICAgU3RyaW5nIG1fa2V5U3lzdGVtOwogICAgIE93blB0cjxDRE0+
IG1fY2RtOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlzLmlkbAppbmRleCA3NzM1MDFhN2MxNjJkYTZmMWJhODJjN2IwNzk5YmNhYmMw
M2U5YThlLi43NWE5MDhjYWEyYjRiMzZhYmViMTRjMDhjNDNkMmQ0OWQzODY5Y2E0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRs
CkBAIC0yOCw2ICsyOCw3IEBAIGludGVyZmFjZSBbCiAgICAgVjhFbmFibGVkQXRSdW50aW1lPWVu
Y3J5cHRlZE1lZGlhLAogICAgIENvbnN0cnVjdG9yKGluIERPTVN0cmluZyBrZXlTeXN0ZW0pLAog
ICAgIENvbnN0cnVjdG9yUmFpc2VzRXhjZXB0aW9uLAorICAgIEpTQ3VzdG9tSXNSZWFjaGFibGUs
CiBdIE1lZGlhS2V5cyB7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIE1l
ZGlhS2V5U2Vzc2lvbiBjcmVhdGVTZXNzaW9uKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIERPTVN0cmluZyB0eXBlLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBVaW50
OEFycmF5IGluaXREYXRhKQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiMDA2
NmUwODg4MzM1M2VhYTYzMDEwMWRjZTBjMGY4OTY5ZDQwYWJkLi5kNzhjYzI3YjVjYjJmZTVkMGYx
NDk2ZGJlOGZjYWJiNTNiMjBkMmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MDAwLDYgKzYwMDAsNyBAQAogCQlDRDgyMDMw
RDEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxl
ci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODIw
MzA5MTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9s
bGVyLm1tICovOyB9OwogCQlDRDgyMDMxMDEzOTVBQ0U3MDBGOTU2QzYgLyogV2ViV2luZG93QW5p
bWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDgyMDMwRTEzOTVBQ0U3MDBGOTU2QzYgLyogV2ViV2luZG93QW5pbWF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q4MjAzMTExMzk1QUNF
NzAwRjk1NkM2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODIwMzBGMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJX
aW5kb3dBbmltYXRpb24ubW0gKi87IH07CisJCUNEQTdFNkVBMTZDREM2RTkwMEU0MDdCOSAvKiBK
U01lZGlhS2V5c0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDREE3RTZFODE2Q0RDNkU5MDBFNDA3QjkgLyogSlNNZWRpYUtleXNDdXN0b20u
Y3BwICovOyB9OwogCQlDREE5OERBMzE2MDE0NjQxMDBGRUEzQjEgLyogSlNNZWRpYUtleUVycm9y
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTk4
RDlCMTYwMTI4QTUwMEZFQTNCMSAvKiBKU01lZGlhS2V5RXJyb3IuY3BwICovOyB9OwogCQlDREE5
OEREODE2MDI1QkVGMDBGRUEzQjEgLyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBOThERDUxNjAyNUJFRDAw
RkVBM0IxIC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCAqLzsgfTsKIAkJQ0RBOThEREYxNjAy
NkEzNzAwRkVBM0IxIC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBOThEREIxNjAyNkExODAwRkVBM0Ix
IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwICovOyB9OwpAQCAtMTM1OTYsNiArMTM1OTcs
NyBAQAogCQlDRDgyMDMwOTEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVE
V2luZG93Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNEODIwMzBFMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5kb3dB
bmltYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViV2luZG93QW5p
bWF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEODIwMzBGMTM5NUFDRTcw
MEY5NTZDNiAvKiBXZWJXaW5kb3dBbmltYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXZWJXaW5kb3dBbmltYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNEQTdFNkU4MTZDREM2RTkwMEU0MDdCOSAvKiBKU01lZGlhS2V5c0N1c3Rv
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5c0N1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTk4RDlCMTYwMTI4QTUw
MEZFQTNCMSAvKiBKU01lZGlhS2V5RXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNNZWRpYUtleUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0RBOThEOUMxNjAxMjhBNTAwRkVBM0IxIC8qIEpTTWVkaWFLZXlFcnJvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5RXJyb3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBOThEQzIxNjAxNEVFRTAwRkVBM0IxIC8qIE1lZGlhS2V5
TmVlZGVkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTWVk
aWFLZXlOZWVkZWRFdmVudC5jcHA7IHBhdGggPSBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5TmVlZGVkRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjExMDEs
NiArMjExMDMsNyBAQAogCQkJCTFDNUZBRUU2MERDRkRBNjgwMEQ1OEY3OCAvKiBKU0phdmFTY3Jp
cHRDYWxsRnJhbWVDdXN0b20uY3BwICovLAogCQkJCUJDRTFDNDNGMEQ5ODMwRjQwMDNCMDJGMiAv
KiBKU0xvY2F0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQkxNDY0RTA2QjEzNUVDMTA2MDBGREIwMEEg
LyogSlNNZWRpYUxpc3RDdXN0b20uY3BwICovLAorCQkJCUNEQTdFNkU4MTZDREM2RTkwMEU0MDdC
OSAvKiBKU01lZGlhS2V5c0N1c3RvbS5jcHAgKi8sCiAJCQkJOUZEQzhGRjExMkZBQjAwNjAwOTlB
QjFDIC8qIEpTTWVtb3J5SW5mb0N1c3RvbS5jcHAgKi8sCiAJCQkJRTFBNUY5OUEwRTdFQUEyNTAw
QUY4NUVBIC8qIEpTTWVzc2FnZUNoYW5uZWxDdXN0b20uY3BwICovLAogCQkJCTQxMEI3RTcxMTA0
NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgKi8sCkBAIC0yOTEzNCw2
ICsyOTEzNyw3IEBACiAJCQkJMEY2MDVBRUMxNUY5NDg0ODAwNERGMEMwIC8qIFNjcm9sbGluZ0Nv
bnN0cmFpbnRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRjYyRUU3MTREQTIyQTcwMDQxNTU2
QyAvKiBTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUY2MkVF
NjE0REEyMkE3MDA0MTU1NkMgLyogU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gaW4gU291cmNl
cyAqLywKKwkJCQlDREE3RTZFQTE2Q0RDNkU5MDBFNDA3QjkgLyogSlNNZWRpYUtleXNDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNDMzhCRkUxNjQ0NzNDNzAwMDkxRUIyIC8qIFNjcm9s
bGluZ1N0YXRlRml4ZWROb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMUNCRDBDMTYxQTQ0
RTkwMEU0Qzg3NCAvKiBTY3JvbGxpbmdTdGF0ZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OTMxQ0JEMTMxNjFBNDRGODAwRTRDODc0IC8qIFNjcm9sbGluZ1N0YXRlTm9kZU1hYy5tbSBpbiBT
b3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRp
YUtleXNDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUtleXND
dXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxYzEyNjYzMzAzMmFmMDM1ODJmYTRlOTNjOGNhNjIwYTQx
ZWIxY2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01l
ZGlhS2V5c0N1c3RvbS5jcHAKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJKU01lZGlhS2V5cy5oIgorCisjaW5jbHVkZSAiSFRNTE1l
ZGlhRWxlbWVudC5oIgorI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorCit1c2luZyBuYW1lc3Bh
Y2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc09i
c2VydmFibGUoSlNNZWRpYUtleXMqIGpzTWVkaWFLZXlzKQoreworICAgIGlmIChqc01lZGlhS2V5
cy0+aGFzQ3VzdG9tUHJvcGVydGllcygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK2Jvb2wgSlNNZWRpYUtleXNPd25lcjo6aXNSZWFjaGFibGVGcm9tT3Bh
cXVlUm9vdHMoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiBoYW5kbGUsIHZvaWQqLCBTbG90Vmlz
aXRvciYgdmlzaXRvcikKK3sKKyAgICBKU01lZGlhS2V5cyoganNNZWRpYUtleXMgPSBqc0Nhc3Q8
SlNNZWRpYUtleXMqPihoYW5kbGUuZ2V0KCkuYXNDZWxsKCkpOworICAgIGlmICghaXNPYnNlcnZh
YmxlKGpzTWVkaWFLZXlzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChIVE1MTWVk
aWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSBqc01lZGlhS2V5cy0+aW1wbCgpLT5tZWRpYUVsZW1l
bnQoKSkKKyAgICAgICAgcmV0dXJuIHZpc2l0b3IuY29udGFpbnNPcGFxdWVSb290KHJvb3QobWVk
aWFFbGVtZW50KSk7CisgICAgcmV0dXJuIHZpc2l0b3IuY29udGFpbnNPcGFxdWVSb290KGpzTWVk
aWFLZXlzLT5pbXBsKCkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDVjYTMxNjk5YjllMGIzN2RiNmU1MzE3
NDU3ZGVmOGM4MThhNDIyMGYuLmE1MDdmZGJmYmZjZmRiMGFiY2ViZmQwZjdjNTYzMmRjNWY1MGJl
MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCkBAIC0yNDk1LDYgKzI0OTUsMTAgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRp
b24KICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChKU05vZGVPd25lcjo6
aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMoaGFuZGxlLCAwLCB2aXNpdG9yKSlcbiIpOwogICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiB0cnVlO1xuIik7CiAg
ICAgICAgIH0KKyAgICAgICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJF
dmVudFRhcmdldCJ9IHx8ICRpbnRlcmZhY2UtPm5hbWUgZXEgIkV2ZW50VGFyZ2V0IikgeworICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKGpzJHtpbnRlcmZhY2VOYW1lfS0+
aW1wbCgpLT5pc0ZpcmluZ0V2ZW50TGlzdGVuZXJzKCkpXG4iKTsKKyAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgICAgICByZXR1cm4gdHJ1ZTtcbiIpOworICAgICAgICB9CiAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICghaXNPYnNlcnZhYmxlKGpzJHtpbnRlcmZh
Y2VOYW1lfSkpXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVy
biBmYWxzZTtcbiIpOwogICAgICAgICBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkaW50ZXJm
YWNlKSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDM2NmIxZDg3NWE5MDEyMzQyOGU1YzMxZjc0N2FmNjI1YmVjMmNiYzEu
LmVhMmNjNGM3MDc2MjllM2U1MDIwNmMxZWM2MjU5YmU2YzVkNWEzMzMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNCBAQAorMjAxMy0wMi0xNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKwor
ICAgICAgICBNZWRpYUtleVNlc3Npb24gc2hvdWxkIG5vdCBiZSBHQ2Qgd2hpbGUgZmlyaW5nIGV2
ZW50IGxpc3RlbmVycyBvciB3aXRoIGN1c3RvbSBwcm9wZXJ0aWVzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NjQ0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEv
bWVkaWFrZXlzLWlzLXJlYWNoYWJsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1l
ZGlhL2VuY3J5cHRlZC1tZWRpYS9tZWRpYWtleXMtaXMtcmVhY2hhYmxlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIG1lZGlhL2VuY3J5cHRlZC1tZWRpYS9tZWRpYWtleXNlc3Npb24taGFzLXBlbmRp
bmctYWN0aXZpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvbWVkaWFrZXlzZXNzaW9uLWhhcy1wZW5kaW5nLWFjdGl2aXR5Lmh0bWw6IEFkZGVk
LgorCisyMDEzLTAyLTE0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAg
ICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiAoT09QUyEpLgorICAgICAgICBOZWVkIHRoZSBi
dWcgVVJMIChPT1BTISkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbWVkaWFrZXlzZXNzaW9uLWdjLmh0bWw6
IEFkZGVkLgorCiAyMDEzLTAyLTE0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIEVNRTogcmVwbGFjZSBNZWRpYUtleVNlc3Npb24uYWRkS2V5KCkgLT4gdXBkYXRl
KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9tZWRpYWtl
eXMtaXMtcmVhY2hhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRl
ZC1tZWRpYS9tZWRpYWtleXMtaXMtcmVhY2hhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
M2QxODAwNDllNjlmZDY2YmU0ZjAxMGY2OWNjZjNlYTk2ZTkwMjA2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL21lZGlha2V5cy1pcy1yZWFjaGFi
bGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1RoaXMgdGVzdHMgdGhhdCBhIE1lZGlh
S2V5cyB3aWxsIG5vdCBiZSBnYXJiYWdlIGNvbGxlY3RlZCB3aGlsZSBhdHRhY2hlZCB0byBhbiBI
VE1MTWVkaWFFbGVtZW50LgorCitSVU4obWVkaWFLZXlzID0gbmV3IE1lZGlhS2V5cygiY29tLndl
YmNvcmUubW9jayIpKQorUlVOKG1lZGlhS2V5cy5teVByb3BlcnR5ID0gImNoaWNrZW4gc2FsYWQh
IikKK1JVTih2aWRlby5tZWRpYUtleXMgPSBtZWRpYUtleXMpCitSVU4obWVkaWFLZXlzID0gbnVs
bCkKK1JVTihmb3JjZUdDKCkpCitFWFBFQ1RFRCAodmlkZW8ubWVkaWFLZXlzLm15UHJvcGVydHkg
PT0gJ2NoaWNrZW4gc2FsYWQhJykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9tZWRpYWtleXMtaXMtcmVhY2hhYmxlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbWVkaWFrZXlzLWlzLXJlYWNoYWJs
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjNkYTEwMDM2ZjRlOWFhM2RhMDlmNmRjY2NiM2YxNGQyMjYxNzJi
YTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEv
bWVkaWFrZXlzLWlzLXJlYWNoYWJsZS5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5NZWRpYUtleXM8L3RpdGxl
PgorICAgICAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gZm9yY2VHQygpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBHQ0NvbnRyb2xsZXIuY29sbGVjdCgpOworCisgICAgICAgICAgICAgICAg
Ly8gRm9yY2UgZ2FyYmFnZSBjb2xsZWN0aW9uCisgICAgICAgICAgICAgICAgZm9yICh2YXIgbmR4
ID0gMDsgbmR4IDwgOTkwMDA7IG5keCsrKQorICAgICAgICAgICAgICAgICAgICB2YXIgc3RyID0g
bmV3IFN0cmluZygiMTIzNCIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlv
biBzdHJpbmdUb1VpbnQ4QXJyYXkoc3RyKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHZhciBhcnI9W107CisgICAgICAgICAgICAgICAgZm9yKHZhciBpPTAsaj1zdHIubGVuZ3RoO2k8
ajsrK2kpCisgICAgICAgICAgICAgICAgICBhcnJbaV09c3RyLmNoYXJDb2RlQXQoaSk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGFycik7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHZhciBtZWRpYUtleXM7CisgICAgICAgICAgICB2YXIgdmlkZW87CisgICAg
ICAgICAgICB2YXIgaW5pdERhdGEgPSBzdHJpbmdUb1VpbnQ4QXJyYXkoJ21vY2snKTsKKworICAg
ICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIAorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKworICAgICAgICAgICAgICAgIC8vIEluaXRpYWxpemUg
dGhlIE1vY2tDRE0uIEl0IHN1cHBvcnRzIHRoZSBrZXkgc3lzdGVtICdjb20uYXBwbGUubW9jaycs
IHRoZSAKKyAgICAgICAgICAgICAgICAvLyBtaW1lIHR5cGUgJ3ZpZGVvL21vY2snLiBJdCByZXF1
aXJlcyBpbml0IGRhdGEgdG8gYmVnaW4gd2l0aCAnbW9jaycsIGFuZAorICAgICAgICAgICAgICAg
IC8vIGtleXMgdG8gYmVnaW4gd2l0aCAna2V5Jy4KKyAgICAgICAgICAgICAgICBpZiAoaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbHMuaW5pdGlhbGl6ZU1vY2tDRE0oKTsK
KworICAgICAgICAgICAgICAgIHJ1bignbWVkaWFLZXlzID0gbmV3IE1lZGlhS2V5cygiY29tLndl
YmNvcmUubW9jayIpJyk7CisgICAgICAgICAgICAgICAgcnVuKCdtZWRpYUtleXMubXlQcm9wZXJ0
eSA9ICJjaGlja2VuIHNhbGFkISInKTsKKyAgICAgICAgICAgICAgICBydW4oJ3ZpZGVvLm1lZGlh
S2V5cyA9IG1lZGlhS2V5cycpOworICAgICAgICAgICAgICAgIHJ1bignbWVkaWFLZXlzID0gbnVs
bCcpOworICAgICAgICAgICAgICAgIHJ1bignZm9yY2VHQygpJyk7CisgICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCd2aWRlby5tZWRpYUtleXMubXlQcm9wZXJ0eScsICdjaGlja2VuIHNhbGFk
IScpOworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgor
ICAgICAgICA8cD5UaGlzIHRlc3RzIHRoYXQgYSBNZWRpYUtleXMgd2lsbCBub3QgYmUgZ2FyYmFn
ZSBjb2xsZWN0ZWQgd2hpbGUgYXR0YWNoZWQgdG8gYW4gSFRNTE1lZGlhRWxlbWVudC48L3A+Cisg
ICAgICAgIDx2aWRlbz48L3ZpZGVvPgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL21lZGlha2V5c2Vzc2lvbi1oYXMtcGVuZGluZy1hY3Rpdml0
eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbWVkaWFr
ZXlzZXNzaW9uLWhhcy1wZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
YTRjNzE5MjA5ODZmMjQzNGIyNTdiMzAwZjJkMjhhMGQ4OTZkMGMxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL21lZGlha2V5c2Vzc2lvbi1oYXMt
cGVuZGluZy1hY3Rpdml0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUaGlzIHRlc3Rz
IHRoYXQgYSBNZWRpYUtleVNlc3Npb24gd2lsbCBub3QgYmUgZ2FyYmFnZSBjb2xsZWN0ZWQgd2hp
bGUgaXQgaXMgcHJvY2Vzc2luZyBhIGtleSByZXF1ZXN0LgorCitSVU4obWVkaWFLZXlzID0gbmV3
IE1lZGlhS2V5cygiY29tLndlYmNvcmUubW9jayIpKQorUlVOKG1lZGlhS2V5U2Vzc2lvbiA9IG1l
ZGlhS2V5cy5jcmVhdGVTZXNzaW9uKCJ2aWRlby9tb2NrIiwgaW5pdERhdGEpKQorUlVOKG1lZGlh
S2V5U2Vzc2lvbiA9IG51bGwpCitSVU4oZm9yY2VHQygpKQorRVZFTlQod2Via2l0a2V5bWVzc2Fn
ZSkKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRl
ZC1tZWRpYS9tZWRpYWtleXNlc3Npb24taGFzLXBlbmRpbmctYWN0aXZpdHkuaHRtbCBiL0xheW91
dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9tZWRpYWtleXNlc3Npb24taGFzLXBlbmRpbmct
YWN0aXZpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDY0ZDg1NTM5MmNhZTZkNzg1YTBlMDQxZDE0MGJm
NWE5ZTYxNWI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVk
LW1lZGlhL21lZGlha2V5c2Vzc2lvbi1oYXMtcGVuZGluZy1hY3Rpdml0eS5odG1sCkBAIC0wLDAg
KzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0
aXRsZT5NZWRpYUtleXM8L3RpdGxlPgorICAgICAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0
LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gZm9y
Y2VHQygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5HQ0NvbnRy
b2xsZXIpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBHQ0NvbnRyb2xsZXIuY29sbGVjdCgp
OworCisgICAgICAgICAgICAgICAgLy8gRm9yY2UgZ2FyYmFnZSBjb2xsZWN0aW9uCisgICAgICAg
ICAgICAgICAgZm9yICh2YXIgbmR4ID0gMDsgbmR4IDwgOTkwMDA7IG5keCsrKQorICAgICAgICAg
ICAgICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMTIzNCIpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBmdW5jdGlvbiBzdHJpbmdUb1VpbnQ4QXJyYXkoc3RyKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHZhciBhcnI9W107CisgICAgICAgICAgICAgICAgZm9yKHZh
ciBpPTAsaj1zdHIubGVuZ3RoO2k8ajsrK2kpCisgICAgICAgICAgICAgICAgICBhcnJbaV09c3Ry
LmNoYXJDb2RlQXQoaSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGFy
cik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHZhciBtZWRpYUtleXM7CisgICAgICAg
ICAgICB2YXIgbWVkaWFLZXlTZXNzaW9uOworICAgICAgICAgICAgdmFyIGluaXREYXRhID0gc3Ry
aW5nVG9VaW50OEFycmF5KCdtb2NrJyk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Qo
KSAKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyBJbml0aWFsaXplIHRoZSBNb2Nr
Q0RNLiBJdCBzdXBwb3J0cyB0aGUga2V5IHN5c3RlbSAnY29tLmFwcGxlLm1vY2snLCB0aGUgCisg
ICAgICAgICAgICAgICAgLy8gbWltZSB0eXBlICd2aWRlby9tb2NrJy4gSXQgcmVxdWlyZXMgaW5p
dCBkYXRhIHRvIGJlZ2luIHdpdGggJ21vY2snLCBhbmQKKyAgICAgICAgICAgICAgICAvLyBrZXlz
IHRvIGJlZ2luIHdpdGggJ2tleScuCisgICAgICAgICAgICAgICAgaWYgKGludGVybmFscykKKyAg
ICAgICAgICAgICAgICAgICAgaW50ZXJuYWxzLmluaXRpYWxpemVNb2NrQ0RNKCk7CisKKyAgICAg
ICAgICAgICAgICBydW4oJ21lZGlhS2V5cyA9IG5ldyBNZWRpYUtleXMoImNvbS53ZWJjb3JlLm1v
Y2siKScpOworICAgICAgICAgICAgICAgIHJ1bignbWVkaWFLZXlTZXNzaW9uID0gbWVkaWFLZXlz
LmNyZWF0ZVNlc3Npb24oInZpZGVvL21vY2siLCBpbml0RGF0YSknKTsKKyAgICAgICAgICAgICAg
ICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdGtleW1lc3NhZ2UnLCBrZXlNZXNzYWdlLCBmYWxzZSwgZmFs
c2UsIG1lZGlhS2V5U2Vzc2lvbik7CisgICAgICAgICAgICAgICAgcnVuKCdtZWRpYUtleVNlc3Np
b24gPSBudWxsJyk7CisgICAgICAgICAgICAgICAgcnVuKCdmb3JjZUdDKCknKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24ga2V5TWVzc2FnZShldmVudCkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KyAgICAgICAgPHA+VGhpcyB0ZXN0cyB0aGF0IGEgTWVkaWFLZXlTZXNzaW9uIHdpbGwgbm90IGJl
IGdhcmJhZ2UgY29sbGVjdGVkIHdoaWxlIGl0IGlzIHByb2Nlc3NpbmcgYSBrZXkgcmVxdWVzdC48
L3A+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>