<?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>124475</bug_id>
          
          <creation_ts>2013-11-17 17:48:27 -0800</creation_ts>
          <short_desc>Support exporting public RSASSA-PKCS1-v1_5 keys</short_desc>
          <delta_ts>2013-11-18 00:41:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>122679</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>andersca</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>951475</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-11-17 17:48:27 -0800</bug_when>
    <thetext>Support exporting public RSASSA-PKCS1-v1_5 keys.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951476</commentid>
    <comment_count>1</comment_count>
      <attachid>217165</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-11-17 17:58:08 -0800</bug_when>
    <thetext>Created attachment 217165
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951520</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-11-18 00:41:07 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r159403&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217165</attachid>
            <date>2013-11-17 17:58:08 -0800</date>
            <delta_ts>2013-11-18 00:23:36 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>ExportPublicRSA.txt</filename>
            <type>text/plain</type>
            <size>16724</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTM5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEzLTExLTE3ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgZXhwb3J0aW5n
IHB1YmxpYyBSU0FTU0EtUEtDUzEtdjFfNSBrZXlzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ0NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBjcnlwdG8vc3VidGxlL3JzYS1leHBvcnQta2V5
Lmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpX
Sy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0s6OmJ1aWxk
SlNPTkZvclJTQUNvbXBvbmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6SlNDcnlwdG9LZXlTZXJp
YWxpemF0aW9uSldLOjphZGRKV0tBbGdvcml0aG1Ub0pTT04pOgorICAgICAgICAoV2ViQ29yZTo6
SlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLOjpzZXJpYWxpemUpOgorICAgICAgICBBZGRlZCBz
YWlkIHN1cHBvcnQgKHRoaXMgcGFydCB3b3JrcyB3aXRoIHByaXZhdGUga2V5cyB0b28pLgorCisg
ICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmg6CisgICAgICAgICogY3J5cHRvL21h
Yy9DcnlwdG9LZXlSU0FNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvS2V5UlNBOjpn
ZXRQdWJsaWNLZXlDb21wb25lbnRzKTogTW92ZWQgdGhlIGxvZ2ljIGZvciBnZXR0aW5nIGEKKyAg
ICAgICAgcHVibGljIGtleSBmcm9tIHByaXZhdGUgb25lIGhlcmUgZm9yIHJldXNlIGluIGtleVNp
emVJbkJpdHMoKS4KKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleVJTQTo6aXNSZXN0cmljdGVk
VG9IYXNoKToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleVJTQTo6a2V5U2l6ZUluQml0cyk6
CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9LZXlSU0E6OmV4cG9ydERhdGEpOgorICAgICAgICBF
eHBvc2VkIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSBmb3IgSldLIHNlcmlhbGl6YXRpb24uCisKIDIw
MTMtMTEtMTcgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAg
UlNBU1NBLVBLQ1MxLXYxXzUgSldLIGltcG9ydCBkb2Vzbid0IGNoZWNrIGtleSBzaXplCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0su
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5
U2VyaWFsaXphdGlvbkpXSy5jcHAJKHJldmlzaW9uIDE1OTM5MykKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJDcnlwdG9LZXlEYXRhT2N0ZXRTZXF1ZW5j
ZS5oIgogI2luY2x1ZGUgIkNyeXB0b0tleURhdGFSU0FDb21wb25lbnRzLmgiCiAjaW5jbHVkZSAi
Q3J5cHRvS2V5SE1BQy5oIgorI2luY2x1ZGUgIkNyeXB0b0tleVJTQS5oIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlIDxoZWFw
L1N0cm9uZ0lubGluZXMuaD4KQEAgLTQzMyw2ICs0MzQsNDAgQEAgdm9pZCBKU0NyeXB0b0tleVNl
cmlhbGl6YXRpb25KV0s6OmJ1aWxkSgogICAgIGFkZFRvSlNPTihleGVjLCByZXN1bHQsICJrIiwg
YmFzZTY0VVJMRW5jb2RlKGtleURhdGEpKTsKIH0KIAordm9pZCBKU0NyeXB0b0tleVNlcmlhbGl6
YXRpb25KV0s6OmJ1aWxkSlNPTkZvclJTQUNvbXBvbmVudHMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzJiBkYXRhLCBKU0M6OkpTT2JqZWN0KiBy
ZXN1bHQpCit7CisgICAgYWRkVG9KU09OKGV4ZWMsIHJlc3VsdCwgImt0eSIsICJSU0EiKTsKKyAg
ICBhZGRUb0pTT04oZXhlYywgcmVzdWx0LCAibiIsIGJhc2U2NFVSTEVuY29kZShkYXRhLm1vZHVs
dXMoKSkpOworICAgIGFkZFRvSlNPTihleGVjLCByZXN1bHQsICJlIiwgYmFzZTY0VVJMRW5jb2Rl
KGRhdGEuZXhwb25lbnQoKSkpOworCisgICAgaWYgKGRhdGEudHlwZSgpID09IENyeXB0b0tleURh
dGFSU0FDb21wb25lbnRzOjpUeXBlOjpQdWJsaWMpCisgICAgICAgIHJldHVybjsKKworICAgIGFk
ZFRvSlNPTihleGVjLCByZXN1bHQsICJkIiwgYmFzZTY0VVJMRW5jb2RlKGRhdGEucHJpdmF0ZUV4
cG9uZW50KCkpKTsKKworICAgIGlmICghZGF0YS5oYXNBZGRpdGlvbmFsUHJpdmF0ZUtleVBhcmFt
ZXRlcnMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYWRkVG9KU09OKGV4ZWMsIHJlc3VsdCwg
InAiLCBiYXNlNjRVUkxFbmNvZGUoZGF0YS5maXJzdFByaW1lSW5mbygpLnByaW1lRmFjdG9yKSk7
CisgICAgYWRkVG9KU09OKGV4ZWMsIHJlc3VsdCwgInEiLCBiYXNlNjRVUkxFbmNvZGUoZGF0YS5z
ZWNvbmRQcmltZUluZm8oKS5wcmltZUZhY3RvcikpOworICAgIGFkZFRvSlNPTihleGVjLCByZXN1
bHQsICJkcCIsIGJhc2U2NFVSTEVuY29kZShkYXRhLmZpcnN0UHJpbWVJbmZvKCkuZmFjdG9yQ1JU
RXhwb25lbnQpKTsKKyAgICBhZGRUb0pTT04oZXhlYywgcmVzdWx0LCAiZHEiLCBiYXNlNjRVUkxF
bmNvZGUoZGF0YS5zZWNvbmRQcmltZUluZm8oKS5mYWN0b3JDUlRFeHBvbmVudCkpOworICAgIGFk
ZFRvSlNPTihleGVjLCByZXN1bHQsICJxaSIsIGJhc2U2NFVSTEVuY29kZShkYXRhLnNlY29uZFBy
aW1lSW5mbygpLmZhY3RvckNSVENvZWZmaWNpZW50KSk7CisKKyAgICBpZiAoZGF0YS5vdGhlclBy
aW1lSW5mb3MoKS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIEpTQXJyYXkqIG90
aCA9IGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgMCwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLCBkYXRhLm90aGVyUHJpbWVJbmZvcygpLnNpemUoKSk7CisgICAgZm9yIChzaXplX3QgaSA9
IDAsIHNpemUgPSBkYXRhLm90aGVyUHJpbWVJbmZvcygpLnNpemUoKTsgaSA8IHNpemU7ICsraSkg
eworICAgICAgICBKU09iamVjdCoganNQcmltZUluZm8gPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChl
eGVjKTsKKyAgICAgICAgYWRkVG9KU09OKGV4ZWMsIGpzUHJpbWVJbmZvLCAiciIsIGJhc2U2NFVS
TEVuY29kZShkYXRhLm90aGVyUHJpbWVJbmZvcygpW2ldLnByaW1lRmFjdG9yKSk7CisgICAgICAg
IGFkZFRvSlNPTihleGVjLCBqc1ByaW1lSW5mbywgImQiLCBiYXNlNjRVUkxFbmNvZGUoZGF0YS5v
dGhlclByaW1lSW5mb3MoKVtpXS5mYWN0b3JDUlRFeHBvbmVudCkpOworICAgICAgICBhZGRUb0pT
T04oZXhlYywganNQcmltZUluZm8sICJ0IiwgYmFzZTY0VVJMRW5jb2RlKGRhdGEub3RoZXJQcmlt
ZUluZm9zKClbaV0uZmFjdG9yQ1JUQ29lZmZpY2llbnQpKTsKKyAgICAgICAgb3RoLT5wdXREaXJl
Y3RJbmRleChleGVjLCBpLCBqc1ByaW1lSW5mbyk7CisgICAgfQorICAgIHJlc3VsdC0+cHV0RGly
ZWN0KGV4ZWMtPnZtKCksIElkZW50aWZpZXIoZXhlYywgIm90aCIpLCBvdGgpOworfQorCiB2b2lk
IEpTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSzo6YWRkVG9KU09OKEV4ZWNTdGF0ZSogZXhlYywg
SlNPYmplY3QqIGpzb24sIGNvbnN0IGNoYXIqIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsK
ICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtNDgyLDYgKzUxNywyOCBAQCB2b2lkIEpTQ3J5
cHRvS2V5U2VyaWFsaXphdGlvbkpXSzo6YWRkSldLCiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogICAgICAgICBicmVhazsKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6
OlJTQVNTQV9QS0NTMV92MV81OiB7CisgICAgICAgIGNvbnN0IENyeXB0b0tleVJTQSYgcnNhS2V5
ID0gdG9DcnlwdG9LZXlSU0Eoa2V5KTsKKyAgICAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmll
ciBoYXNoOworICAgICAgICBpZiAoIXJzYUtleS5pc1Jlc3RyaWN0ZWRUb0hhc2goaGFzaCkpCisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKHJzYUtleS5rZXlTaXplSW5CaXRzKCkgPCAy
MDQ4KQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHN3aXRjaCAoaGFzaCkgeworICAgICAg
ICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8yNTY6CisgICAgICAgICAgICBq
d2tBbGdvcml0aG0gPSAiUlMyNTYiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzM4NDoKKyAgICAgICAgICAgIGp3a0FsZ29y
aXRobSA9ICJSUzM4NCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpTSEFfNTEyOgorICAgICAgICAgICAgandrQWxnb3JpdGhtID0g
IlJTNTEyIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGRlZmF1bHQ6
CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTUzNCwxMSArNTkxLDE0IEBAIFN0cmluZyBKU0Ny
eXB0b0tleVNlcmlhbGl6YXRpb25KV0s6OnNlcmkKIAogICAgIGlmIChpc0NyeXB0b0tleURhdGFP
Y3RldFNlcXVlbmNlKCprZXlEYXRhKSkKICAgICAgICAgYnVpbGRKU09ORm9yT2N0ZXRTZXF1ZW5j
ZShleGVjLCB0b0NyeXB0b0tleURhdGFPY3RldFNlcXVlbmNlKCprZXlEYXRhKS5vY3RldFNlcXVl
bmNlKCksIHJlc3VsdCk7CisgICAgZWxzZSBpZiAoaXNDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50
cygqa2V5RGF0YSkpCisgICAgICAgIGJ1aWxkSlNPTkZvclJTQUNvbXBvbmVudHMoZXhlYywgdG9D
cnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50cygqa2V5RGF0YSksIHJlc3VsdCk7CiAgICAgZWxzZSB7
CiAgICAgICAgIHRocm93VHlwZUVycm9yKGV4ZWMsICJLZXkgZG9lc24ndCBzdXBwb3J0IGV4cG9y
dEtleSIpOwogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQotICAgIEFTU0VSVCghZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAg
ICAgcmV0dXJuIFN0cmluZygpOwogCiAgICAgcmV0dXJuIEpTT05TdHJpbmdpZnkoZXhlYywgcmVz
dWx0LCA0KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5
U2VyaWFsaXphdGlvbkpXSy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5oCShyZXZpc2lvbiAxNTkzOTApCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0suaAko
d29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM7CiBjbGFzcyBDcnlwdG9LZXk7CitjbGFzcyBD
cnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50czsKIAogY2xhc3MgSlNDcnlwdG9LZXlTZXJpYWxpemF0
aW9uSldLIEZJTkFMIDogcHVibGljIENyeXB0b0tleVNlcmlhbGl6YXRpb24gewogV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLKTsKQEAgLTY2LDYgKzY3LDcg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9LZXlEYXRhPiBr
ZXlEYXRhKCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICBzdGF0aWMgdm9pZCBidWlsZEpTT05Gb3JP
Y3RldFNlcXVlbmNlKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgSlND
OjpKU09iamVjdCogcmVzdWx0KTsKKyAgICBzdGF0aWMgdm9pZCBidWlsZEpTT05Gb3JSU0FDb21w
b25lbnRzKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgQ3J5cHRvS2V5RGF0YVJTQUNvbXBvbmVudHMm
LCBKU0M6OkpTT2JqZWN0KiByZXN1bHQpOwogICAgIHN0YXRpYyB2b2lkIGFkZEpXS0FsZ29yaXRo
bVRvSlNPTihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBjb25zdCBDcnlwdG9LZXkm
IGtleSk7CiAgICAgc3RhdGljIHZvaWQgYWRkSldLVXNlVG9KU09OKEpTQzo6RXhlY1N0YXRlKiwg
SlNDOjpKU09iamVjdCosIENyeXB0b0tleVVzYWdlKTsKICAgICBzdGF0aWMgdm9pZCBhZGRUb0pT
T04oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgY29uc3QgY2hhcioga2V5LCBjb25z
dCBTdHJpbmcmIHZhbHVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleVJTQS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleVJTQS5oCShyZXZpc2lvbiAxNTkzOTApCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlSU0EuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTYgKzUxLDE5IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5DcnlwdG9LZXlSU0EoKTsKIAogICAgIHZvaWQgcmVzdHJpY3RUb0hh
c2goQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcik7CisgICAgYm9vbCBpc1Jlc3RyaWN0ZWRUb0hh
c2goQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciYpIGNvbnN0OwogCi0gICAgc3RhdGljIHZvaWQg
Z2VuZXJhdGVQYWlyKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIHVuc2lnbmVkIG1vZHVsdXNM
ZW5ndGgsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgcHVibGljRXhwb25lbnQsIGJvb2wgZXh0cmFj
dGFibGUsIENyeXB0b0tleVVzYWdlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvbWlzZVdyYXBwZXI+KTsK
KyAgICBzaXplX3Qga2V5U2l6ZUluQml0cygpIGNvbnN0OwogCi0gICAgdmlydHVhbCBDcnlwdG9L
ZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIENyeXB0b0tleUNsYXNz
OjpSU0E7IH0KKyAgICBzdGF0aWMgdm9pZCBnZW5lcmF0ZVBhaXIoQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciwgdW5zaWduZWQgbW9kdWx1c0xlbmd0aCwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBw
dWJsaWNFeHBvbmVudCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIHN0ZDo6dW5p
cXVlX3B0cjxQcm9taXNlV3JhcHBlcj4pOwogCiAgICAgUGxhdGZvcm1SU0FLZXkgcGxhdGZvcm1L
ZXkoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtS2V5OyB9CiAKIHByaXZhdGU6CiAgICAgQ3J5
cHRvS2V5UlNBKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIENyeXB0b0tleVR5cGUsIFBsYXRm
b3JtUlNBS2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSk7CiAKKyAgICB2aXJ0
dWFsIENyeXB0b0tleUNsYXNzIGtleUNsYXNzKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQ3J5
cHRvS2V5Q2xhc3M6OlJTQTsgfQorCiAgICAgdmlydHVhbCB2b2lkIGJ1aWxkQWxnb3JpdGhtRGVz
Y3JpcHRpb24oQ3J5cHRvQWxnb3JpdGhtRGVzY3JpcHRpb25CdWlsZGVyJikgY29uc3QgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvS2V5RGF0YT4gZXhwb3J0RGF0
YSgpIGNvbnN0IE9WRVJSSURFOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0Ny
eXB0b0tleVJTQU1hYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL21h
Yy9DcnlwdG9LZXlSU0FNYWMuY3BwCShyZXZpc2lvbiAxNTkzOTApCisrKyBTb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vbWFjL0NyeXB0b0tleVJTQU1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwLDEz
ICs2MCwxOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBDQ0NyeXB0b3JTdGF0dXMg
Z2V0UHVibGljS2V5Q29tcG9uZW50cyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCBWZWN0b3I8dWlu
dDhfdD4mIG1vZHVsdXMsIFZlY3Rvcjx1aW50OF90PiYgcHVibGljRXhwb25lbnQpCiB7Ci0gICAg
QVNTRVJUKENDUlNBR2V0S2V5VHlwZShyc2FLZXkpID09IGNjUlNBS2V5UHVibGljKTsKKyAgICBB
U1NFUlQoQ0NSU0FHZXRLZXlUeXBlKHJzYUtleSkgPT0gY2NSU0FLZXlQdWJsaWMgfHwgQ0NSU0FH
ZXRLZXlUeXBlKHJzYUtleSkgPT0gY2NSU0FLZXlQcml2YXRlKTsKKyAgICBib29sIGtleUlzUHVi
bGljID0gQ0NSU0FHZXRLZXlUeXBlKHJzYUtleSkgPT0gY2NSU0FLZXlQdWJsaWM7CisgICAgQ0NS
U0FDcnlwdG9yUmVmIHB1YmxpY0tleSA9IGtleUlzUHVibGljID8gcnNhS2V5IDogQ0NSU0FDcnlw
dG9yR2V0UHVibGljS2V5RnJvbVByaXZhdGVLZXkocnNhS2V5KTsKIAogICAgIG1vZHVsdXMucmVz
aXplKDE2Mzg0KTsKICAgICBzaXplX3QgbW9kdWx1c0xlbmd0aCA9IG1vZHVsdXMuc2l6ZSgpOwog
ICAgIHB1YmxpY0V4cG9uZW50LnJlc2l6ZSgxNjM4NCk7CiAgICAgc2l6ZV90IGV4cG9uZW50TGVu
Z3RoID0gcHVibGljRXhwb25lbnQuc2l6ZSgpOwotICAgIENDQ3J5cHRvclN0YXR1cyBzdGF0dXMg
PSBDQ1JTQUdldEtleUNvbXBvbmVudHMocnNhS2V5LCBtb2R1bHVzLmRhdGEoKSwgJm1vZHVsdXNM
ZW5ndGgsIHB1YmxpY0V4cG9uZW50LmRhdGEoKSwgJmV4cG9uZW50TGVuZ3RoLCAwLCAwLCAwLCAw
KTsKKyAgICBDQ0NyeXB0b3JTdGF0dXMgc3RhdHVzID0gQ0NSU0FHZXRLZXlDb21wb25lbnRzKHB1
YmxpY0tleSwgbW9kdWx1cy5kYXRhKCksICZtb2R1bHVzTGVuZ3RoLCBwdWJsaWNFeHBvbmVudC5k
YXRhKCksICZleHBvbmVudExlbmd0aCwgMCwgMCwgMCwgMCk7CisgICAgaWYgKCFrZXlJc1B1Ymxp
YykgeworICAgICAgICAvLyBDQ1JTQUNyeXB0b3JHZXRQdWJsaWNLZXlGcm9tUHJpdmF0ZUtleSBo
YXMgIkdldCIgaW4gdGhlIG5hbWUsIGJ1dCBpdHMgcmVzdWx0IG5lZWRzIHRvIGJlIHJlbGVhc2Vk
IChzZWUgPHJkYXI6Ly9wcm9ibGVtLzE1NDQ5Njk3PikuCisgICAgICAgIENDUlNBQ3J5cHRvclJl
bGVhc2UocHVibGljS2V5KTsKKyAgICB9CiAgICAgaWYgKHN0YXR1cykKICAgICAgICAgcmV0dXJu
IHN0YXR1czsKIApAQCAtMTIyLDIxICsxMjgsMzUgQEAgdm9pZCBDcnlwdG9LZXlSU0E6OnJlc3Ry
aWN0VG9IYXNoKENyeXB0bwogICAgIG1faGFzaCA9IGlkZW50aWZpZXI7CiB9CiAKLXZvaWQgQ3J5
cHRvS2V5UlNBOjpidWlsZEFsZ29yaXRobURlc2NyaXB0aW9uKENyeXB0b0FsZ29yaXRobURlc2Ny
aXB0aW9uQnVpbGRlciYgYnVpbGRlcikgY29uc3QKK2Jvb2wgQ3J5cHRvS2V5UlNBOjppc1Jlc3Ry
aWN0ZWRUb0hhc2goQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciYgaWRlbnRpZmllcikgY29uc3QK
IHsKLSAgICBDcnlwdG9LZXk6OmJ1aWxkQWxnb3JpdGhtRGVzY3JpcHRpb24oYnVpbGRlcik7Cisg
ICAgaWYgKCFtX3Jlc3RyaWN0ZWRUb1NwZWNpZmljSGFzaCkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgQVNTRVJUKENDUlNBR2V0S2V5VHlwZShtX3BsYXRmb3JtS2V5KSA9PSBjY1JTQUtl
eVB1YmxpYyB8fCBDQ1JTQUdldEtleVR5cGUobV9wbGF0Zm9ybUtleSkgPT0gY2NSU0FLZXlQcml2
YXRlKTsKLSAgICBib29sIHBsYXRmb3JtS2V5SXNQdWJsaWMgPSBDQ1JTQUdldEtleVR5cGUobV9w
bGF0Zm9ybUtleSkgPT0gY2NSU0FLZXlQdWJsaWM7Ci0gICAgQ0NSU0FDcnlwdG9yUmVmIHB1Ymxp
Y0tleSA9IHBsYXRmb3JtS2V5SXNQdWJsaWMgPyBtX3BsYXRmb3JtS2V5IDogQ0NSU0FDcnlwdG9y
R2V0UHVibGljS2V5RnJvbVByaXZhdGVLZXkobV9wbGF0Zm9ybUtleSk7CisgICAgaWRlbnRpZmll
ciA9IG1faGFzaDsKKyAgICByZXR1cm4gdHJ1ZTsKK30KIAorc2l6ZV90IENyeXB0b0tleVJTQTo6
a2V5U2l6ZUluQml0cygpIGNvbnN0Cit7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG1vZHVsdXM7CiAg
ICAgVmVjdG9yPHVpbnQ4X3Q+IHB1YmxpY0V4cG9uZW50OwotICAgIENDQ3J5cHRvclN0YXR1cyBz
dGF0dXMgPSBnZXRQdWJsaWNLZXlDb21wb25lbnRzKHB1YmxpY0tleSwgbW9kdWx1cywgcHVibGlj
RXhwb25lbnQpOwotICAgIGlmICghcGxhdGZvcm1LZXlJc1B1YmxpYykgewotICAgICAgICAvLyBD
Q1JTQUNyeXB0b3JHZXRQdWJsaWNLZXlGcm9tUHJpdmF0ZUtleSBoYXMgIkdldCIgaW4gdGhlIG5h
bWUsIGJ1dCBpdHMgcmVzdWx0IG5lZWRzIHRvIGJlIHJlbGVhc2VkIChzZWUgPHJkYXI6Ly9wcm9i
bGVtLzE1NDQ5Njk3PikuCi0gICAgICAgIENDUlNBQ3J5cHRvclJlbGVhc2UocHVibGljS2V5KTsK
KyAgICBDQ0NyeXB0b3JTdGF0dXMgc3RhdHVzID0gZ2V0UHVibGljS2V5Q29tcG9uZW50cyhtX3Bs
YXRmb3JtS2V5LCBtb2R1bHVzLCBwdWJsaWNFeHBvbmVudCk7CisgICAgaWYgKHN0YXR1cykgewor
ICAgICAgICBXVEZMb2dBbHdheXMoIkNvdWxkbid0IGdldCBSU0Ega2V5IGNvbXBvbmVudHMsIHN0
YXR1cyAlZCIsIHN0YXR1cyk7CisgICAgICAgIHJldHVybiAwOwogICAgIH0KKworICAgIHJldHVy
biBtb2R1bHVzLnNpemUoKSAqIDg7Cit9CisKK3ZvaWQgQ3J5cHRvS2V5UlNBOjpidWlsZEFsZ29y
aXRobURlc2NyaXB0aW9uKENyeXB0b0FsZ29yaXRobURlc2NyaXB0aW9uQnVpbGRlciYgYnVpbGRl
cikgY29uc3QKK3sKKyAgICBDcnlwdG9LZXk6OmJ1aWxkQWxnb3JpdGhtRGVzY3JpcHRpb24oYnVp
bGRlcik7CisKKyAgICBWZWN0b3I8dWludDhfdD4gbW9kdWx1czsKKyAgICBWZWN0b3I8dWludDhf
dD4gcHVibGljRXhwb25lbnQ7CisgICAgQ0NDcnlwdG9yU3RhdHVzIHN0YXR1cyA9IGdldFB1Ymxp
Y0tleUNvbXBvbmVudHMobV9wbGF0Zm9ybUtleSwgbW9kdWx1cywgcHVibGljRXhwb25lbnQpOwog
ICAgIGlmIChzdGF0dXMpIHsKICAgICAgICAgV1RGTG9nQWx3YXlzKCJDb3VsZG4ndCBnZXQgUlNB
IGtleSBjb21wb25lbnRzLCBzdGF0dXMgJWQiLCBzdGF0dXMpOwogICAgICAgICByZXR1cm47CkBA
IC0xNTQsOSArMTc0LDI0IEBAIHZvaWQgQ3J5cHRvS2V5UlNBOjpidWlsZEFsZ29yaXRobURlc2Ny
aXAKIAogc3RkOjp1bmlxdWVfcHRyPENyeXB0b0tleURhdGE+IENyeXB0b0tleVJTQTo6ZXhwb3J0
RGF0YSgpIGNvbnN0CiB7Ci0gICAgLy8gTm90IGltcGxlbWVudGVkIHlldC4KICAgICBBU1NFUlQo
ZXh0cmFjdGFibGUoKSk7Ci0gICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBzd2l0Y2ggKENDUlNB
R2V0S2V5VHlwZShtX3BsYXRmb3JtS2V5KSkgeworICAgIGNhc2UgY2NSU0FLZXlQdWJsaWM6IHsK
KyAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IG1vZHVsdXM7CisgICAgICAgIFZlY3Rvcjx1aW50OF90
PiBwdWJsaWNFeHBvbmVudDsKKyAgICAgICAgQ0NDcnlwdG9yU3RhdHVzIHN0YXR1cyA9IGdldFB1
YmxpY0tleUNvbXBvbmVudHMobV9wbGF0Zm9ybUtleSwgbW9kdWx1cywgcHVibGljRXhwb25lbnQp
OworICAgICAgICBpZiAoc3RhdHVzKSB7CisgICAgICAgICAgICBXVEZMb2dBbHdheXMoIkNvdWxk
bid0IGdldCBSU0Ega2V5IGNvbXBvbmVudHMsIHN0YXR1cyAlZCIsIHN0YXR1cyk7CisgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gQ3J5cHRvS2V5
RGF0YVJTQUNvbXBvbmVudHM6OmNyZWF0ZVB1YmxpYyhtb2R1bHVzLCBwdWJsaWNFeHBvbmVudCk7
CisgICAgfQorICAgIGNhc2UgY2NSU0FLZXlQcml2YXRlOgorICAgICAgICAvLyBOb3Qgc3VwcG9y
dGVkIHlldC4KKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CiB9
CiAKIHN0YXRpYyBib29sIGJpZ0ludGVnZXJUb1VJbnQzMihjb25zdCBWZWN0b3I8dWludDhfdD4m
IGJpZ0ludGVnZXIsIHVpbnQzMl90JiByZXN1bHQpCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTkzOTQp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBA
QAorMjAxMy0xMS0xNyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAg
ICAgICBTdXBwb3J0IGV4cG9ydGluZyBwdWJsaWMgUlNBU1NBLVBLQ1MxLXYxXzUga2V5cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0NDc1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjcnlwdG8vc3Vi
dGxlL3JzYS1leHBvcnQta2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRv
L3N1YnRsZS9yc2EtZXhwb3J0LWtleS5odG1sOiBBZGRlZC4KKwogMjAxMy0xMS0xNyAgRmlsaXAg
UGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEZUTCBzaG91bGQgaGF2ZSBhbiBl
eHBsaWNpdCBub3Rpb24gb2YgYnl0ZWNvZGUgbGl2ZW5lc3MKSW5kZXg6IExheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvcnNhLWV4cG9ydC1rZXktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWV4cG9ydC1rZXktZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2EtZXhwb3J0LWtleS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNCBAQAorVGVzdCBleHBvcnRpbmcg
YW4gUlNBIGtleS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworSW1wb3J0aW5n
IGEgSldLIGtleS4uLgorUEFTUyBjcnlwdG8uc3VidGxlLmV4cG9ydEtleShudWxsLCBrZXkpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFVua25vd24ga2V5IGZvcm1hdC4KK1BBU1MgY3J5cHRv
LnN1YnRsZS5leHBvcnRLZXkodW5kZWZpbmVkLCBrZXkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IFVua25vd24ga2V5IGZvcm1hdC4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoe30s
IGtleSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVW5rbm93biBrZXkgZm9ybWF0LgorUEFT
UyBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiIiwga2V5KSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBVbmtub3duIGtleSBmb3JtYXQuCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJm
b29iYXIiLCBrZXkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFVua25vd24ga2V5IGZvcm1h
dC4KKworRXhwb3J0aW5nIHRoZSBrZXkgYXMgSldLLi4uCitQQVNTIGV4cG9ydGVkSldLLmt0eSBp
cyAnUlNBJworUEFTUyBleHBvcnRlZEpXSy5uIGlzIHB1YmxpY0tleUpTT04ubgorUEFTUyBleHBv
cnRlZEpXSy5lIGlzIHB1YmxpY0tleUpTT04uZQorUEFTUyBleHBvcnRlZEpXSy5hbGcgaXMgJ1JT
MjU2JworUEFTUyBleHBvcnRlZEpXSy5leHRyYWN0YWJsZSBpcyB0cnVlCitQQVNTIGV4cG9ydGVk
SldLLnVzZSBpcyAnc2lnJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvcnNhLWV4cG9ydC1rZXktZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1l
LXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L3JzYS1leHBvcnQta2V5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9yc2EtZXhwb3J0LWtleS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9yc2EtZXhwb3J0LWtleS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oIlRlc3QgZXhwb3J0aW5nIGFuIFJTQSBrZXkuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwordmFyIG5vbkV4dHJhY3RhYmxlID0gZmFs
c2U7CisKK3ZhciBwdWJsaWNLZXlKU09OID0geworICAgIGt0eTogIlJTQSIsCisgICAgYWxnOiAi
UlMyNTYiLAorICAgIG46ICJyY0NVQ3Y3T2MxSFZhbTFESWhDenFrblRoV2F3T3A4UUxrOFppeTJw
MTBCeWpRRkNham9GaXl1QVdsLVIxV1haYWY0eGl0TFJyYWNUOWFncHpJemMtTWJMU0hJR2dXUUdP
MjFsR2lJbXk1ZnRaLUQ4YkhBcVJ6MnkxNXB6RDRjNENFb3U3WFNTTERvUm5SMFFHNU1zRGhENnMy
Z1Y5bXdIa3J0a0N4dE1XZEJpLTc3YXM4d0dtbE5SbGRjT1NnWkRMSzhVbkNTZ0ExT2d1Wjk4OWJG
eWM4dE9PRUliMHhVU2ZQU3ozTFBTQ255WXo2OGFEam1LVmVOSC1pZzg1N09TY3lXYkd5RXkzQml3
NjRxdW4zanVVbE5Xc0ozem5na09kdGVZV3l0eDVRcjRYS05zNlItTXl5cTcyS1VwMDJtSkRaaWl5
aWdseE1MX2kzLV9DZWVjQ3ciLAorICAgIGU6ICJBUUFCIgorfTsKKwordmFyIGp3a0tleUFzQXJy
YXlCdWZmZXIgPSBhc2NpaVRvVWludDhBcnJheShKU09OLnN0cmluZ2lmeShwdWJsaWNLZXlKU09O
KSk7CisKK2RlYnVnKCJcbkltcG9ydGluZyBhIEpXSyBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJqd2siLCBqd2tLZXlBc0FycmF5QnVmZmVyLCAiUlNBU1NBLVBLQ1MxLXYxXzUi
LCBleHRyYWN0YWJsZSwgWydzaWduJywgJ3ZlcmlmeSddKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkg
eworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZFRocm93KCdjcnlwdG8uc3VidGxlLmV4
cG9ydEtleShudWxsLCBrZXkpJyk7CisgICAgc2hvdWxkVGhyb3coJ2NyeXB0by5zdWJ0bGUuZXhw
b3J0S2V5KHVuZGVmaW5lZCwga2V5KScpOworICAgIHNob3VsZFRocm93KCdjcnlwdG8uc3VidGxl
LmV4cG9ydEtleSh7fSwga2V5KScpOworICAgIHNob3VsZFRocm93KCdjcnlwdG8uc3VidGxlLmV4
cG9ydEtleSgiIiwga2V5KScpOworICAgIHNob3VsZFRocm93KCdjcnlwdG8uc3VidGxlLmV4cG9y
dEtleSgiZm9vYmFyIiwga2V5KScpOworCisgICAgZGVidWcoIlxuRXhwb3J0aW5nIHRoZSBrZXkg
YXMgSldLLi4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBr
ZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBleHBvcnRlZEpXSyA9IEpTT04u
cGFyc2UoYnl0ZXNUb0FTQ0lJU3RyaW5nKHJlc3VsdCkpOworCisgICAgc2hvdWxkQmUoImV4cG9y
dGVkSldLLmt0eSIsICInUlNBJyIpOworICAgIHNob3VsZEJlKCJleHBvcnRlZEpXSy5uIiwgInB1
YmxpY0tleUpTT04ubiIpOworICAgIHNob3VsZEJlKCJleHBvcnRlZEpXSy5lIiwgInB1YmxpY0tl
eUpTT04uZSIpOworICAgIHNob3VsZEJlKCJleHBvcnRlZEpXSy5hbGciLCAiJ1JTMjU2JyIpOwor
ICAgIHNob3VsZEJlKCJleHBvcnRlZEpXSy5leHRyYWN0YWJsZSIsICJ0cnVlIik7CisgICAgc2hv
dWxkQmUoImV4cG9ydGVkSldLLnVzZSIsICInc2lnJyIpOworCisgICAgZmluaXNoSlNUZXN0KCk7
Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1leHBvcnQta2V5Lmh0bWwKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L2h0bWwKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQo=
</data>
<flag name="review"
          id="240259"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>