<?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>47637</bug_id>
          
          <creation_ts>2010-10-13 16:51:53 -0700</creation_ts>
          <short_desc>Break LayoutTestResults out into its own file</short_desc>
          <delta_ts>2010-10-13 22:54:29 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>293814</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-13 16:51:53 -0700</bug_when>
    <thetext>Break LayoutTestResults out into its own file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293815</commentid>
    <comment_count>1</comment_count>
      <attachid>70684</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-13 16:52:29 -0700</bug_when>
    <thetext>Created attachment 70684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293816</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-13 16:54:25 -0700</bug_when>
    <thetext>There is one &quot;style error&quot; in this patch, but I believe pep8.py is wrong, the pep8 recommendation doesn&apos;t mention multi-line dictionaries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293818</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-13 16:55:44 -0700</bug_when>
    <thetext>Attachment 70684 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKitTools/Scripts/webkitpy/common/net/layouttestresults_unittest.py:66:  whitespace before &apos;}&apos;  [pep8/E202] [5]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293822</commentid>
    <comment_count>4</comment_count>
      <attachid>70685</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-13 17:02:17 -0700</bug_when>
    <thetext>Created attachment 70685
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293974</commentid>
    <comment_count>5</comment_count>
      <attachid>70685</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-13 22:54:24 -0700</bug_when>
    <thetext>Comment on attachment 70685
Patch

Clearing flags on attachment: 70685

Committed r69740: &lt;http://trac.webkit.org/changeset/69740&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293975</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-13 22:54:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70684</attachid>
            <date>2010-10-13 16:52:29 -0700</date>
            <delta_ts>2010-10-13 17:02:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47637-20101013165227.patch</filename>
            <type>text/plain</type>
            <size>15035</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5YjkzNTIzM2JiYWNkNDc4NjVjMmIwNDQ5MTdlOWY4NTI3NGQ2N2VkLi42ZTRlMDk0
N2Q2OThiY2JhODhkMTcxNWJjZGE0NThlZGY0NTY5MTI5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTAtMTMgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJyZWFrIExheW91dFRlc3RSZXN1
bHRzIG91dCBpbnRvIGl0cyBvd24gZmlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDc2MzcKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL25ldC9idWlsZGJvdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9u
ZXQvYnVpbGRib3RfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vbmV0L2xheW91dHRlc3RyZXN1bHRzLnB5OiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvbGF5b3V0dGVzdHJlc3VsdHNfdW5pdHRlc3QucHk6IEFkZGVkLgor
CiAyMDEwLTEwLTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QucHkKaW5kZXggZjllZjY3NTBiM2YwYzE4NjUxY2Q5
MmE0ZGU0NTlkYjg3MjZjNTQ5Ni4uOGNiOTAyY2FkZTc5YzBkMTkzMDI1ZTU0ZGEzOTQ4OTQwNmY2
MTQ4NiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0
L2J1aWxkYm90LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25l
dC9idWlsZGJvdC5weQpAQCAtMzUsMTIgKzM1LDEyIEBAIGltcG9ydCB1cmxsaWIyCiBpbXBvcnQg
eG1scnBjbGliCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5mYWlsdXJlbWFwIGltcG9ydCBG
YWlsdXJlTWFwCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQubGF5b3V0dGVzdHJlc3VsdHMgaW1w
b3J0IExheW91dFRlc3RSZXN1bHRzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQucmVncmVzc2lv
bndpbmRvdyBpbXBvcnQgUmVncmVzc2lvbldpbmRvdwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lz
dGVtLmxvZ3V0aWxzIGltcG9ydCBnZXRfbG9nZ2VyCiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHku
YXV0b2luc3RhbGxlZC5tZWNoYW5pemUgaW1wb3J0IEJyb3dzZXIKIGZyb20gd2Via2l0cHkudGhp
cmRwYXJ0eS5CZWF1dGlmdWxTb3VwIGltcG9ydCBCZWF1dGlmdWxTb3VwCiAKLQogX2xvZyA9IGdl
dF9sb2dnZXIoX19maWxlX18pCiAKIApAQCAtMTk2LDY2ICsxOTYsNiBAQCBjbGFzcyBCdWlsZGVy
KG9iamVjdCk6CiAgICAgICAgIHJldHVybiByZWdyZXNzaW9uX3dpbmRvdwogCiAKLSMgRklYTUU6
IFRoaXMgc2hvdWxkIGJlIHVuaWZpZWQgd2l0aCBhbGwgdGhlIGxheW91dCB0ZXN0IHJlc3VsdHMg
Y29kZSBpbiB0aGUgbGF5b3V0X3Rlc3RzIHBhY2thZ2UKLWNsYXNzIExheW91dFRlc3RSZXN1bHRz
KG9iamVjdCk6Ci0gICAgc3RkZXJyX2tleSA9IHUnVGVzdHMgdGhhdCBoYWQgc3RkZXJyIG91dHB1
dDonCi0gICAgZmFpbF9rZXkgPSB1J1Rlc3RzIHdoZXJlIHJlc3VsdHMgZGlkIG5vdCBtYXRjaCBl
eHBlY3RlZCByZXN1bHRzOicKLSAgICB0aW1lb3V0X2tleSA9IHUnVGVzdHMgdGhhdCB0aW1lZCBv
dXQ6JwotICAgIGNyYXNoX2tleSA9IHUnVGVzdHMgdGhhdCBjYXVzZWQgdGhlIER1bXBSZW5kZXJU
cmVlIHRvb2wgdG8gY3Jhc2g6JwotICAgIG1pc3Npbmdfa2V5ID0gdSdUZXN0cyB0aGF0IGhhZCBu
byBleHBlY3RlZCByZXN1bHRzIChwcm9iYWJseSBuZXcpOicKLQotICAgIGV4cGVjdGVkX2tleXMg
PSBbCi0gICAgICAgIHN0ZGVycl9rZXksCi0gICAgICAgIGZhaWxfa2V5LAotICAgICAgICBjcmFz
aF9rZXksCi0gICAgICAgIHRpbWVvdXRfa2V5LAotICAgICAgICBtaXNzaW5nX2tleSwKLSAgICBd
Ci0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgX3BhcnNlX3Jlc3VsdHNfaHRtbChjbHMsIHBh
Z2UpOgotICAgICAgICBwYXJzZWRfcmVzdWx0cyA9IHt9Ci0gICAgICAgIHRhYmxlcyA9IEJlYXV0
aWZ1bFNvdXAocGFnZSkuZmluZEFsbCgidGFibGUiKQotICAgICAgICBmb3IgdGFibGUgaW4gdGFi
bGVzOgotICAgICAgICAgICAgdGFibGVfdGl0bGUgPSB1bmljb2RlKHRhYmxlLmZpbmRQcmV2aW91
c1NpYmxpbmcoInAiKS5zdHJpbmcpCi0gICAgICAgICAgICBpZiB0YWJsZV90aXRsZSBub3QgaW4g
Y2xzLmV4cGVjdGVkX2tleXM6Ci0gICAgICAgICAgICAgICAgIyBUaGlzIEV4Y2VwdGlvbiBzaG91
bGQgb25seSBldmVyIGJlIGhpdCBpZiBydW4td2Via2l0LXRlc3RzIGNoYW5nZXMgaXRzIHJlc3Vs
dHMuaHRtbCBmb3JtYXQuCi0gICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJVbmhhbmRs
ZWQgdGl0bGU6ICVzIiAlIHRhYmxlX3RpdGxlKQotICAgICAgICAgICAgIyBXZSBtaWdodCB3YW50
IHRvIHRyYW5zbGF0ZSB0YWJsZSB0aXRsZXMgaW50byBpZGVudGlmaWVycyBiZWZvcmUgc3Rvcmlu
Zy4KLSAgICAgICAgICAgIHBhcnNlZF9yZXN1bHRzW3RhYmxlX3RpdGxlXSA9IFt1bmljb2RlKHJv
dy5maW5kKCJhIikuc3RyaW5nKSBmb3Igcm93IGluIHRhYmxlLmZpbmRBbGwoInRyIildCi0KLSAg
ICAgICAgcmV0dXJuIHBhcnNlZF9yZXN1bHRzCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYg
X2ZldGNoX3Jlc3VsdHNfaHRtbChjbHMsIGJhc2VfdXJsKToKLSAgICAgICAgcmVzdWx0c19odG1s
ID0gIiVzL3Jlc3VsdHMuaHRtbCIgJSBiYXNlX3VybAotICAgICAgICAjIEZJWE1FOiBXZSBuZWVk
IHRvIG1vdmUgdGhpcyBzb3J0IG9mIDQwNCBsb2dpYyBpbnRvIE5ldHdvcmtUcmFuc2FjdGlvbiBv
ciBzaW1pbGFyLgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBwYWdlID0gdXJsbGliMi51cmxv
cGVuKHJlc3VsdHNfaHRtbCkKLSAgICAgICAgICAgIHJldHVybiBjbHMuX3BhcnNlX3Jlc3VsdHNf
aHRtbChwYWdlKQotICAgICAgICBleGNlcHQgdXJsbGliMi5IVFRQRXJyb3IsIGVycm9yOgotICAg
ICAgICAgICAgaWYgZXJyb3IuY29kZSAhPSA0MDQ6Ci0gICAgICAgICAgICAgICAgcmFpc2UKLQot
ICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiByZXN1bHRzX2Zyb21fdXJsKGNscywgYmFzZV91cmwp
OgotICAgICAgICBwYXJzZWRfcmVzdWx0cyA9IGNscy5fZmV0Y2hfcmVzdWx0c19odG1sKGJhc2Vf
dXJsKQotICAgICAgICBpZiBub3QgcGFyc2VkX3Jlc3VsdHM6Ci0gICAgICAgICAgICByZXR1cm4g
Tm9uZQotICAgICAgICByZXR1cm4gY2xzKGJhc2VfdXJsLCBwYXJzZWRfcmVzdWx0cykKLQotICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBiYXNlX3VybCwgcGFyc2VkX3Jlc3VsdHMpOgotICAgICAgICBz
ZWxmLl9iYXNlX3VybCA9IGJhc2VfdXJsCi0gICAgICAgIHNlbGYuX3BhcnNlZF9yZXN1bHRzID0g
cGFyc2VkX3Jlc3VsdHMKLQotICAgIGRlZiBwYXJzZWRfcmVzdWx0cyhzZWxmKToKLSAgICAgICAg
cmV0dXJuIHNlbGYuX3BhcnNlZF9yZXN1bHRzCi0KLSAgICBkZWYgZmFpbGluZ190ZXN0cyhzZWxm
KToKLSAgICAgICAgZmFpbGluZ19rZXlzID0gW3NlbGYuZmFpbF9rZXksIHNlbGYuY3Jhc2hfa2V5
LCBzZWxmLnRpbWVvdXRfa2V5XQotICAgICAgICByZXR1cm4gc29ydGVkKHN1bShbdGVzdHMgZm9y
IGtleSwgdGVzdHMgaW4gc2VsZi5fcGFyc2VkX3Jlc3VsdHMuaXRlbXMoKSBpZiBrZXkgaW4gZmFp
bGluZ19rZXlzXSwgW10pKQotCi0KIGNsYXNzIEJ1aWxkKG9iamVjdCk6CiAgICAgZGVmIF9faW5p
dF9fKHNlbGYsIGJ1aWxkZXIsIGJ1aWxkX251bWJlciwgcmV2aXNpb24sIGlzX2dyZWVuKToKICAg
ICAgICAgc2VsZi5fYnVpbGRlciA9IGJ1aWxkZXIKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdF91bml0dGVzdC5weSBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdF91bml0dGVzdC5weQppbmRl
eCBjOTlhYjMyNWNkZmZmMjg4MjhkN2RjZjg3OGQxNGMyMzQ1NGY4NzY4Li41N2EwYzhmMDg0ZDM5
Y2FhNGE1NzVjZmZmYzg4ZTU5OTI3Mjk2NDM0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3RfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90X3VuaXR0ZXN0LnB5CkBA
IC0yOSw3ICsyOSw2IEBACiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3ZWJraXRweS5jb21tb24u
bmV0LmJ1aWxkYm90IGltcG9ydCBCdWlsZEJvdCwgQnVpbGRlciwgQnVpbGQsIExheW91dFRlc3RS
ZXN1bHRzCi0KIGZyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5CZWF1dGlmdWxTb3VwIGltcG9ydCBC
ZWF1dGlmdWxTb3VwCiAKIApAQCAtMTE0LDQ1ICsxMTMsNiBAQCBjbGFzcyBCdWlsZGVyVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuYnVp
bGRlci5fcmV2aXNpb25fYW5kX2J1aWxkX2Zvcl9maWxlbmFtZShmaWxlbmFtZSksIHJldmlzaW9u
X2FuZF9idWlsZCkKIAogCi1jbGFzcyBMYXlvdXRUZXN0UmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgotICAgIF9leGFtcGxlX3Jlc3VsdHNfaHRtbCA9ICIiIgotPGh0bWw+Ci08aGVhZD4K
LTx0aXRsZT5MYXlvdXQgVGVzdCBSZXN1bHRzPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPHA+
VGVzdHMgdGhhdCBoYWQgc3RkZXJyIG91dHB1dDo8L3A+Ci08dGFibGU+Ci08dHI+Ci08dGQ+PGEg
aHJlZj0iL3Zhci9saWIvYnVpbGRib3QvYnVpbGQvZ3RrLWxpbnV4LTY0LXJlbGVhc2UvYnVpbGQv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWFjdGl2ZWRlc2NlbmRhbnQtY3Jhc2guaHRt
bCI+YWNjZXNzaWJpbGl0eS9hcmlhLWFjdGl2ZWRlc2NlbmRhbnQtY3Jhc2guaHRtbDwvYT48L3Rk
PgotPHRkPjxhIGhyZWY9ImFjY2Vzc2liaWxpdHkvYXJpYS1hY3RpdmVkZXNjZW5kYW50LWNyYXNo
LXN0ZGVyci50eHQiPnN0ZGVycjwvYT48L3RkPgotPC90cj4KLTx0ZD48YSBocmVmPSIvdmFyL2xp
Yi9idWlsZGJvdC9idWlsZC9ndGstbGludXgtNjQtcmVsZWFzZS9idWlsZC9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1zdmctaW1hZ2UuaHRtbCI+aHR0
cC90ZXN0cy9zZWN1cml0eS9jYW52YXMtcmVtb3RlLXJlYWQtc3ZnLWltYWdlLmh0bWw8L2E+PC90
ZD4KLTx0ZD48YSBocmVmPSJodHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1z
dmctaW1hZ2Utc3RkZXJyLnR4dCI+c3RkZXJyPC9hPjwvdGQ+Ci08L3RyPgotPC90YWJsZT48cD5U
ZXN0cyB0aGF0IGhhZCBubyBleHBlY3RlZCByZXN1bHRzIChwcm9iYWJseSBuZXcpOjwvcD4KLTx0
YWJsZT4KLTx0cj4KLTx0ZD48YSBocmVmPSIvdmFyL2xpYi9idWlsZGJvdC9idWlsZC9ndGstbGlu
dXgtNjQtcmVsZWFzZS9idWlsZC9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvbm8tY2FyZXQtcmVw
YWludC1pbi1ub24tY29udGVudC1lZGl0YWJsZS1lbGVtZW50Lmh0bWwiPmZhc3QvcmVwYWludC9u
by1jYXJldC1yZXBhaW50LWluLW5vbi1jb250ZW50LWVkaXRhYmxlLWVsZW1lbnQuaHRtbDwvYT48
L3RkPgotPHRkPjxhIGhyZWY9ImZhc3QvcmVwYWludC9uby1jYXJldC1yZXBhaW50LWluLW5vbi1j
b250ZW50LWVkaXRhYmxlLWVsZW1lbnQtYWN0dWFsLnR4dCI+cmVzdWx0PC9hPjwvdGQ+Ci08L3Ry
PgotPC90YWJsZT48L2JvZHk+Ci08L2h0bWw+Ci0iIiIKLQotICAgIF9leHBlY3RlZF9sYXlvdXRf
dGVzdF9yZXN1bHRzID0gewotICAgICAgICAnVGVzdHMgdGhhdCBoYWQgc3RkZXJyIG91dHB1dDon
IDogWwotICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvYXJpYS1hY3RpdmVkZXNjZW5kYW50LWNy
YXNoLmh0bWwnCi0gICAgICAgIF0sCi0gICAgICAgICdUZXN0cyB0aGF0IGhhZCBubyBleHBlY3Rl
ZCByZXN1bHRzIChwcm9iYWJseSBuZXcpOicgOiBbCi0gICAgICAgICAgICAnZmFzdC9yZXBhaW50
L25vLWNhcmV0LXJlcGFpbnQtaW4tbm9uLWNvbnRlbnQtZWRpdGFibGUtZWxlbWVudC5odG1sJwot
ICAgICAgICBdCi0gICAgfQotICAgIGRlZiB0ZXN0X3BhcnNlX2xheW91dF90ZXN0X3Jlc3VsdHMo
c2VsZik6Ci0gICAgICAgIHJlc3VsdHMgPSBMYXlvdXRUZXN0UmVzdWx0cy5fcGFyc2VfcmVzdWx0
c19odG1sKHNlbGYuX2V4YW1wbGVfcmVzdWx0c19odG1sKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYuX2V4cGVjdGVkX2xheW91dF90ZXN0X3Jlc3VsdHMsIHJlc3VsdHMpCi0KLQogY2xh
c3MgQnVpbGRCb3RUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIF9leGFtcGxlX29uZV9i
b3hfc3RhdHVzID0gJycnCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvbGF5b3V0dGVzdHJlc3VsdHMucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvbGF5b3V0dGVzdHJlc3VsdHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFiODI5
MjcyMWNlMDdhMTRmZTcxMjUwYmNjNjQ2ZTQ3YzEwOWM4ZAotLS0gL2Rldi9udWxsCisrKyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9sYXlvdXR0ZXN0cmVzdWx0cy5w
eQpAQCAtMCwwICsxLDkzIEBACisjIENvcHlyaWdodCAoYykgMjAxMCwgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0
OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjIEEgbW9kdWxlIGZvciBw
YXJzaW5nIHJlc3VsdHMuaHRtbCBmaWxlcyBnZW5lcmF0ZWQgYnkgb2xkLXJ1bi13ZWJraXQtdGVz
dHMKKworZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5LkJlYXV0aWZ1bFNvdXAgaW1wb3J0IEJlYXV0
aWZ1bFNvdXAsIFNvdXBTdHJhaW5lcgorCisKKyMgRklYTUU6IFRoaXMgc2hvdWxkIGJlIHVuaWZp
ZWQgd2l0aCBhbGwgdGhlIGxheW91dCB0ZXN0IHJlc3VsdHMgY29kZSBpbiB0aGUgbGF5b3V0X3Rl
c3RzIHBhY2thZ2UKKyMgVGhpcyBkb2Vzbid0IGJlbG9uZyBpbiBjb21tb24ubmV0LCBidXQgd2Ug
ZG9uJ3QgaGF2ZSBhIGJldHRlciBwbGFjZSBmb3IgaXQgeWV0LgorY2xhc3MgTGF5b3V0VGVzdFJl
c3VsdHMob2JqZWN0KToKKyAgICBzdGRlcnJfa2V5ID0gdSdUZXN0cyB0aGF0IGhhZCBzdGRlcnIg
b3V0cHV0OicKKyAgICBmYWlsX2tleSA9IHUnVGVzdHMgd2hlcmUgcmVzdWx0cyBkaWQgbm90IG1h
dGNoIGV4cGVjdGVkIHJlc3VsdHM6JworICAgIHRpbWVvdXRfa2V5ID0gdSdUZXN0cyB0aGF0IHRp
bWVkIG91dDonCisgICAgY3Jhc2hfa2V5ID0gdSdUZXN0cyB0aGF0IGNhdXNlZCB0aGUgRHVtcFJl
bmRlclRyZWUgdG9vbCB0byBjcmFzaDonCisgICAgbWlzc2luZ19rZXkgPSB1J1Rlc3RzIHRoYXQg
aGFkIG5vIGV4cGVjdGVkIHJlc3VsdHMgKHByb2JhYmx5IG5ldyk6JworCisgICAgZXhwZWN0ZWRf
a2V5cyA9IFsKKyAgICAgICAgc3RkZXJyX2tleSwKKyAgICAgICAgZmFpbF9rZXksCisgICAgICAg
IGNyYXNoX2tleSwKKyAgICAgICAgdGltZW91dF9rZXksCisgICAgICAgIG1pc3Npbmdfa2V5LAor
ICAgIF0KKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfcGFyc2VfcmVzdWx0c19odG1sKGNs
cywgcGFnZSk6CisgICAgICAgIHBhcnNlZF9yZXN1bHRzID0ge30KKyAgICAgICAgdGFibGVzID0g
QmVhdXRpZnVsU291cChwYWdlKS5maW5kQWxsKCJ0YWJsZSIpCisgICAgICAgIGZvciB0YWJsZSBp
biB0YWJsZXM6CisgICAgICAgICAgICB0YWJsZV90aXRsZSA9IHVuaWNvZGUodGFibGUuZmluZFBy
ZXZpb3VzU2libGluZygicCIpLnN0cmluZykKKyAgICAgICAgICAgIGlmIHRhYmxlX3RpdGxlIG5v
dCBpbiBjbHMuZXhwZWN0ZWRfa2V5czoKKyAgICAgICAgICAgICAgICAjIFRoaXMgRXhjZXB0aW9u
IHNob3VsZCBvbmx5IGV2ZXIgYmUgaGl0IGlmIHJ1bi13ZWJraXQtdGVzdHMgY2hhbmdlcyBpdHMg
cmVzdWx0cy5odG1sIGZvcm1hdC4KKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlVu
aGFuZGxlZCB0aXRsZTogJXMiICUgdGFibGVfdGl0bGUpCisgICAgICAgICAgICAjIFdlIG1pZ2h0
IHdhbnQgdG8gdHJhbnNsYXRlIHRhYmxlIHRpdGxlcyBpbnRvIGlkZW50aWZpZXJzIGJlZm9yZSBz
dG9yaW5nLgorICAgICAgICAgICAgcGFyc2VkX3Jlc3VsdHNbdGFibGVfdGl0bGVdID0gW3VuaWNv
ZGUocm93LmZpbmQoImEiKS5zdHJpbmcpIGZvciByb3cgaW4gdGFibGUuZmluZEFsbCgidHIiKV0K
KworICAgICAgICByZXR1cm4gcGFyc2VkX3Jlc3VsdHMKKworICAgICMgRklYTUU6IFRoaXMgY2xh
c3Mgc2hvdWxkbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gdGhlIG5ldHdvcmsuCisgICAgQGNs
YXNzbWV0aG9kCisgICAgZGVmIF9mZXRjaF9yZXN1bHRzX2h0bWwoY2xzLCBiYXNlX3VybCk6Cisg
ICAgICAgIHJlc3VsdHNfaHRtbCA9ICIlcy9yZXN1bHRzLmh0bWwiICUgYmFzZV91cmwKKyAgICAg
ICAgIyBGSVhNRTogV2UgbmVlZCB0byBtb3ZlIHRoaXMgc29ydCBvZiA0MDQgbG9naWMgaW50byBO
ZXR3b3JrVHJhbnNhY3Rpb24gb3Igc2ltaWxhci4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAg
cGFnZSA9IHVybGxpYjIudXJsb3BlbihyZXN1bHRzX2h0bWwpCisgICAgICAgICAgICByZXR1cm4g
Y2xzLl9wYXJzZV9yZXN1bHRzX2h0bWwocGFnZSkKKyAgICAgICAgZXhjZXB0IHVybGxpYjIuSFRU
UEVycm9yLCBlcnJvcjoKKyAgICAgICAgICAgIGlmIGVycm9yLmNvZGUgIT0gNDA0OgorICAgICAg
ICAgICAgICAgIHJhaXNlCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgcmVzdWx0c19mcm9t
X3VybChjbHMsIGJhc2VfdXJsKToKKyAgICAgICAgcGFyc2VkX3Jlc3VsdHMgPSBjbHMuX2ZldGNo
X3Jlc3VsdHNfaHRtbChiYXNlX3VybCkKKyAgICAgICAgaWYgbm90IHBhcnNlZF9yZXN1bHRzOgor
ICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIGNscyhiYXNlX3VybCwgcGFy
c2VkX3Jlc3VsdHMpCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYmFzZV91cmwsIHBhcnNlZF9y
ZXN1bHRzKToKKyAgICAgICAgc2VsZi5fYmFzZV91cmwgPSBiYXNlX3VybAorICAgICAgICBzZWxm
Ll9wYXJzZWRfcmVzdWx0cyA9IHBhcnNlZF9yZXN1bHRzCisKKyAgICBkZWYgcGFyc2VkX3Jlc3Vs
dHMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9wYXJzZWRfcmVzdWx0cworCisgICAgZGVm
IGZhaWxpbmdfdGVzdHMoc2VsZik6CisgICAgICAgIGZhaWxpbmdfa2V5cyA9IFtzZWxmLmZhaWxf
a2V5LCBzZWxmLmNyYXNoX2tleSwgc2VsZi50aW1lb3V0X2tleV0KKyAgICAgICAgcmV0dXJuIHNv
cnRlZChzdW0oW3Rlc3RzIGZvciBrZXksIHRlc3RzIGluIHNlbGYuX3BhcnNlZF9yZXN1bHRzLml0
ZW1zKCkgaWYga2V5IGluIGZhaWxpbmdfa2V5c10sIFtdKSkKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9sYXlvdXR0ZXN0cmVzdWx0c191bml0dGVz
dC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9sYXlvdXR0ZXN0
cmVzdWx0c191bml0dGVzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNTMyYWY2NDVhZGVkNTZlOWFhYmEyYWJk
MzQxYzFlNTZlYjM0ZTY2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2xheW91dHRlc3RyZXN1bHRzX3VuaXR0ZXN0LnB5CkBAIC0wLDAg
KzEsNzEgQEAKKyMgQ29weXJpZ2h0IChjKSAyMDEwLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlz
dHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworaW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gd2Vi
a2l0cHkuY29tbW9uLm5ldC5sYXlvdXR0ZXN0cmVzdWx0cyBpbXBvcnQgTGF5b3V0VGVzdFJlc3Vs
dHMKKworCitjbGFzcyBMYXlvdXRUZXN0UmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgor
ICAgIF9leGFtcGxlX3Jlc3VsdHNfaHRtbCA9ICIiIgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5M
YXlvdXQgVGVzdCBSZXN1bHRzPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGVzdHMgdGhh
dCBoYWQgc3RkZXJyIG91dHB1dDo8L3A+Cis8dGFibGU+Cis8dHI+Cis8dGQ+PGEgaHJlZj0iL3Zh
ci9saWIvYnVpbGRib3QvYnVpbGQvZ3RrLWxpbnV4LTY0LXJlbGVhc2UvYnVpbGQvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9hcmlhLWFjdGl2ZWRlc2NlbmRhbnQtY3Jhc2guaHRtbCI+YWNjZXNz
aWJpbGl0eS9hcmlhLWFjdGl2ZWRlc2NlbmRhbnQtY3Jhc2guaHRtbDwvYT48L3RkPgorPHRkPjxh
IGhyZWY9ImFjY2Vzc2liaWxpdHkvYXJpYS1hY3RpdmVkZXNjZW5kYW50LWNyYXNoLXN0ZGVyci50
eHQiPnN0ZGVycjwvYT48L3RkPgorPC90cj4KKzx0ZD48YSBocmVmPSIvdmFyL2xpYi9idWlsZGJv
dC9idWlsZC9ndGstbGludXgtNjQtcmVsZWFzZS9idWlsZC9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1zdmctaW1hZ2UuaHRtbCI+aHR0cC90ZXN0cy9z
ZWN1cml0eS9jYW52YXMtcmVtb3RlLXJlYWQtc3ZnLWltYWdlLmh0bWw8L2E+PC90ZD4KKzx0ZD48
YSBocmVmPSJodHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1zdmctaW1hZ2Ut
c3RkZXJyLnR4dCI+c3RkZXJyPC9hPjwvdGQ+Cis8L3RyPgorPC90YWJsZT48cD5UZXN0cyB0aGF0
IGhhZCBubyBleHBlY3RlZCByZXN1bHRzIChwcm9iYWJseSBuZXcpOjwvcD4KKzx0YWJsZT4KKzx0
cj4KKzx0ZD48YSBocmVmPSIvdmFyL2xpYi9idWlsZGJvdC9idWlsZC9ndGstbGludXgtNjQtcmVs
ZWFzZS9idWlsZC9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvbm8tY2FyZXQtcmVwYWludC1pbi1u
b24tY29udGVudC1lZGl0YWJsZS1lbGVtZW50Lmh0bWwiPmZhc3QvcmVwYWludC9uby1jYXJldC1y
ZXBhaW50LWluLW5vbi1jb250ZW50LWVkaXRhYmxlLWVsZW1lbnQuaHRtbDwvYT48L3RkPgorPHRk
PjxhIGhyZWY9ImZhc3QvcmVwYWludC9uby1jYXJldC1yZXBhaW50LWluLW5vbi1jb250ZW50LWVk
aXRhYmxlLWVsZW1lbnQtYWN0dWFsLnR4dCI+cmVzdWx0PC9hPjwvdGQ+Cis8L3RyPgorPC90YWJs
ZT48L2JvZHk+Cis8L2h0bWw+CisiIiIKKworICAgIF9leHBlY3RlZF9sYXlvdXRfdGVzdF9yZXN1
bHRzID0geworICAgICAgICAnVGVzdHMgdGhhdCBoYWQgc3RkZXJyIG91dHB1dDonIDogWworICAg
ICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvYXJpYS1hY3RpdmVkZXNjZW5kYW50LWNyYXNoLmh0bWwn
LAorICAgICAgICBdLAorICAgICAgICAnVGVzdHMgdGhhdCBoYWQgbm8gZXhwZWN0ZWQgcmVzdWx0
cyAocHJvYmFibHkgbmV3KTonIDogWworICAgICAgICAgICAgJ2Zhc3QvcmVwYWludC9uby1jYXJl
dC1yZXBhaW50LWluLW5vbi1jb250ZW50LWVkaXRhYmxlLWVsZW1lbnQuaHRtbCcsCisgICAgICAg
IF0KKyAgICB9CisKKyAgICBkZWYgdGVzdF9wYXJzZV9sYXlvdXRfdGVzdF9yZXN1bHRzKHNlbGYp
OgorICAgICAgICByZXN1bHRzID0gTGF5b3V0VGVzdFJlc3VsdHMuX3BhcnNlX3Jlc3VsdHNfaHRt
bChzZWxmLl9leGFtcGxlX3Jlc3VsdHNfaHRtbCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
ZWxmLl9leHBlY3RlZF9sYXlvdXRfdGVzdF9yZXN1bHRzLCByZXN1bHRzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70685</attachid>
            <date>2010-10-13 17:02:17 -0700</date>
            <delta_ts>2010-10-13 22:54:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47637-20101013170215.patch</filename>
            <type>text/plain</type>
            <size>15034</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5YjkzNTIzM2JiYWNkNDc4NjVjMmIwNDQ5MTdlOWY4NTI3NGQ2N2VkLi42ZTRlMDk0
N2Q2OThiY2JhODhkMTcxNWJjZGE0NThlZGY0NTY5MTI5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTAtMTMgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJyZWFrIExheW91dFRlc3RSZXN1
bHRzIG91dCBpbnRvIGl0cyBvd24gZmlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDc2MzcKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL25ldC9idWlsZGJvdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9u
ZXQvYnVpbGRib3RfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vbmV0L2xheW91dHRlc3RyZXN1bHRzLnB5OiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvbGF5b3V0dGVzdHJlc3VsdHNfdW5pdHRlc3QucHk6IEFkZGVkLgor
CiAyMDEwLTEwLTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QucHkKaW5kZXggZjllZjY3NTBiM2YwYzE4NjUxY2Q5
MmE0ZGU0NTlkYjg3MjZjNTQ5Ni4uOGNiOTAyY2FkZTc5YzBkMTkzMDI1ZTU0ZGEzOTQ4OTQwNmY2
MTQ4NiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0
L2J1aWxkYm90LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25l
dC9idWlsZGJvdC5weQpAQCAtMzUsMTIgKzM1LDEyIEBAIGltcG9ydCB1cmxsaWIyCiBpbXBvcnQg
eG1scnBjbGliCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5mYWlsdXJlbWFwIGltcG9ydCBG
YWlsdXJlTWFwCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQubGF5b3V0dGVzdHJlc3VsdHMgaW1w
b3J0IExheW91dFRlc3RSZXN1bHRzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQucmVncmVzc2lv
bndpbmRvdyBpbXBvcnQgUmVncmVzc2lvbldpbmRvdwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lz
dGVtLmxvZ3V0aWxzIGltcG9ydCBnZXRfbG9nZ2VyCiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHku
YXV0b2luc3RhbGxlZC5tZWNoYW5pemUgaW1wb3J0IEJyb3dzZXIKIGZyb20gd2Via2l0cHkudGhp
cmRwYXJ0eS5CZWF1dGlmdWxTb3VwIGltcG9ydCBCZWF1dGlmdWxTb3VwCiAKLQogX2xvZyA9IGdl
dF9sb2dnZXIoX19maWxlX18pCiAKIApAQCAtMTk2LDY2ICsxOTYsNiBAQCBjbGFzcyBCdWlsZGVy
KG9iamVjdCk6CiAgICAgICAgIHJldHVybiByZWdyZXNzaW9uX3dpbmRvdwogCiAKLSMgRklYTUU6
IFRoaXMgc2hvdWxkIGJlIHVuaWZpZWQgd2l0aCBhbGwgdGhlIGxheW91dCB0ZXN0IHJlc3VsdHMg
Y29kZSBpbiB0aGUgbGF5b3V0X3Rlc3RzIHBhY2thZ2UKLWNsYXNzIExheW91dFRlc3RSZXN1bHRz
KG9iamVjdCk6Ci0gICAgc3RkZXJyX2tleSA9IHUnVGVzdHMgdGhhdCBoYWQgc3RkZXJyIG91dHB1
dDonCi0gICAgZmFpbF9rZXkgPSB1J1Rlc3RzIHdoZXJlIHJlc3VsdHMgZGlkIG5vdCBtYXRjaCBl
eHBlY3RlZCByZXN1bHRzOicKLSAgICB0aW1lb3V0X2tleSA9IHUnVGVzdHMgdGhhdCB0aW1lZCBv
dXQ6JwotICAgIGNyYXNoX2tleSA9IHUnVGVzdHMgdGhhdCBjYXVzZWQgdGhlIER1bXBSZW5kZXJU
cmVlIHRvb2wgdG8gY3Jhc2g6JwotICAgIG1pc3Npbmdfa2V5ID0gdSdUZXN0cyB0aGF0IGhhZCBu
byBleHBlY3RlZCByZXN1bHRzIChwcm9iYWJseSBuZXcpOicKLQotICAgIGV4cGVjdGVkX2tleXMg
PSBbCi0gICAgICAgIHN0ZGVycl9rZXksCi0gICAgICAgIGZhaWxfa2V5LAotICAgICAgICBjcmFz
aF9rZXksCi0gICAgICAgIHRpbWVvdXRfa2V5LAotICAgICAgICBtaXNzaW5nX2tleSwKLSAgICBd
Ci0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgX3BhcnNlX3Jlc3VsdHNfaHRtbChjbHMsIHBh
Z2UpOgotICAgICAgICBwYXJzZWRfcmVzdWx0cyA9IHt9Ci0gICAgICAgIHRhYmxlcyA9IEJlYXV0
aWZ1bFNvdXAocGFnZSkuZmluZEFsbCgidGFibGUiKQotICAgICAgICBmb3IgdGFibGUgaW4gdGFi
bGVzOgotICAgICAgICAgICAgdGFibGVfdGl0bGUgPSB1bmljb2RlKHRhYmxlLmZpbmRQcmV2aW91
c1NpYmxpbmcoInAiKS5zdHJpbmcpCi0gICAgICAgICAgICBpZiB0YWJsZV90aXRsZSBub3QgaW4g
Y2xzLmV4cGVjdGVkX2tleXM6Ci0gICAgICAgICAgICAgICAgIyBUaGlzIEV4Y2VwdGlvbiBzaG91
bGQgb25seSBldmVyIGJlIGhpdCBpZiBydW4td2Via2l0LXRlc3RzIGNoYW5nZXMgaXRzIHJlc3Vs
dHMuaHRtbCBmb3JtYXQuCi0gICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJVbmhhbmRs
ZWQgdGl0bGU6ICVzIiAlIHRhYmxlX3RpdGxlKQotICAgICAgICAgICAgIyBXZSBtaWdodCB3YW50
IHRvIHRyYW5zbGF0ZSB0YWJsZSB0aXRsZXMgaW50byBpZGVudGlmaWVycyBiZWZvcmUgc3Rvcmlu
Zy4KLSAgICAgICAgICAgIHBhcnNlZF9yZXN1bHRzW3RhYmxlX3RpdGxlXSA9IFt1bmljb2RlKHJv
dy5maW5kKCJhIikuc3RyaW5nKSBmb3Igcm93IGluIHRhYmxlLmZpbmRBbGwoInRyIildCi0KLSAg
ICAgICAgcmV0dXJuIHBhcnNlZF9yZXN1bHRzCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYg
X2ZldGNoX3Jlc3VsdHNfaHRtbChjbHMsIGJhc2VfdXJsKToKLSAgICAgICAgcmVzdWx0c19odG1s
ID0gIiVzL3Jlc3VsdHMuaHRtbCIgJSBiYXNlX3VybAotICAgICAgICAjIEZJWE1FOiBXZSBuZWVk
IHRvIG1vdmUgdGhpcyBzb3J0IG9mIDQwNCBsb2dpYyBpbnRvIE5ldHdvcmtUcmFuc2FjdGlvbiBv
ciBzaW1pbGFyLgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBwYWdlID0gdXJsbGliMi51cmxv
cGVuKHJlc3VsdHNfaHRtbCkKLSAgICAgICAgICAgIHJldHVybiBjbHMuX3BhcnNlX3Jlc3VsdHNf
aHRtbChwYWdlKQotICAgICAgICBleGNlcHQgdXJsbGliMi5IVFRQRXJyb3IsIGVycm9yOgotICAg
ICAgICAgICAgaWYgZXJyb3IuY29kZSAhPSA0MDQ6Ci0gICAgICAgICAgICAgICAgcmFpc2UKLQot
ICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiByZXN1bHRzX2Zyb21fdXJsKGNscywgYmFzZV91cmwp
OgotICAgICAgICBwYXJzZWRfcmVzdWx0cyA9IGNscy5fZmV0Y2hfcmVzdWx0c19odG1sKGJhc2Vf
dXJsKQotICAgICAgICBpZiBub3QgcGFyc2VkX3Jlc3VsdHM6Ci0gICAgICAgICAgICByZXR1cm4g
Tm9uZQotICAgICAgICByZXR1cm4gY2xzKGJhc2VfdXJsLCBwYXJzZWRfcmVzdWx0cykKLQotICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBiYXNlX3VybCwgcGFyc2VkX3Jlc3VsdHMpOgotICAgICAgICBz
ZWxmLl9iYXNlX3VybCA9IGJhc2VfdXJsCi0gICAgICAgIHNlbGYuX3BhcnNlZF9yZXN1bHRzID0g
cGFyc2VkX3Jlc3VsdHMKLQotICAgIGRlZiBwYXJzZWRfcmVzdWx0cyhzZWxmKToKLSAgICAgICAg
cmV0dXJuIHNlbGYuX3BhcnNlZF9yZXN1bHRzCi0KLSAgICBkZWYgZmFpbGluZ190ZXN0cyhzZWxm
KToKLSAgICAgICAgZmFpbGluZ19rZXlzID0gW3NlbGYuZmFpbF9rZXksIHNlbGYuY3Jhc2hfa2V5
LCBzZWxmLnRpbWVvdXRfa2V5XQotICAgICAgICByZXR1cm4gc29ydGVkKHN1bShbdGVzdHMgZm9y
IGtleSwgdGVzdHMgaW4gc2VsZi5fcGFyc2VkX3Jlc3VsdHMuaXRlbXMoKSBpZiBrZXkgaW4gZmFp
bGluZ19rZXlzXSwgW10pKQotCi0KIGNsYXNzIEJ1aWxkKG9iamVjdCk6CiAgICAgZGVmIF9faW5p
dF9fKHNlbGYsIGJ1aWxkZXIsIGJ1aWxkX251bWJlciwgcmV2aXNpb24sIGlzX2dyZWVuKToKICAg
ICAgICAgc2VsZi5fYnVpbGRlciA9IGJ1aWxkZXIKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdF91bml0dGVzdC5weSBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdF91bml0dGVzdC5weQppbmRl
eCBjOTlhYjMyNWNkZmZmMjg4MjhkN2RjZjg3OGQxNGMyMzQ1NGY4NzY4Li41N2EwYzhmMDg0ZDM5
Y2FhNGE1NzVjZmZmYzg4ZTU5OTI3Mjk2NDM0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3RfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90X3VuaXR0ZXN0LnB5CkBA
IC0yOSw3ICsyOSw2IEBACiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3ZWJraXRweS5jb21tb24u
bmV0LmJ1aWxkYm90IGltcG9ydCBCdWlsZEJvdCwgQnVpbGRlciwgQnVpbGQsIExheW91dFRlc3RS
ZXN1bHRzCi0KIGZyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5CZWF1dGlmdWxTb3VwIGltcG9ydCBC
ZWF1dGlmdWxTb3VwCiAKIApAQCAtMTE0LDQ1ICsxMTMsNiBAQCBjbGFzcyBCdWlsZGVyVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuYnVp
bGRlci5fcmV2aXNpb25fYW5kX2J1aWxkX2Zvcl9maWxlbmFtZShmaWxlbmFtZSksIHJldmlzaW9u
X2FuZF9idWlsZCkKIAogCi1jbGFzcyBMYXlvdXRUZXN0UmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgotICAgIF9leGFtcGxlX3Jlc3VsdHNfaHRtbCA9ICIiIgotPGh0bWw+Ci08aGVhZD4K
LTx0aXRsZT5MYXlvdXQgVGVzdCBSZXN1bHRzPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPHA+
VGVzdHMgdGhhdCBoYWQgc3RkZXJyIG91dHB1dDo8L3A+Ci08dGFibGU+Ci08dHI+Ci08dGQ+PGEg
aHJlZj0iL3Zhci9saWIvYnVpbGRib3QvYnVpbGQvZ3RrLWxpbnV4LTY0LXJlbGVhc2UvYnVpbGQv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWFjdGl2ZWRlc2NlbmRhbnQtY3Jhc2guaHRt
bCI+YWNjZXNzaWJpbGl0eS9hcmlhLWFjdGl2ZWRlc2NlbmRhbnQtY3Jhc2guaHRtbDwvYT48L3Rk
PgotPHRkPjxhIGhyZWY9ImFjY2Vzc2liaWxpdHkvYXJpYS1hY3RpdmVkZXNjZW5kYW50LWNyYXNo
LXN0ZGVyci50eHQiPnN0ZGVycjwvYT48L3RkPgotPC90cj4KLTx0ZD48YSBocmVmPSIvdmFyL2xp
Yi9idWlsZGJvdC9idWlsZC9ndGstbGludXgtNjQtcmVsZWFzZS9idWlsZC9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1zdmctaW1hZ2UuaHRtbCI+aHR0
cC90ZXN0cy9zZWN1cml0eS9jYW52YXMtcmVtb3RlLXJlYWQtc3ZnLWltYWdlLmh0bWw8L2E+PC90
ZD4KLTx0ZD48YSBocmVmPSJodHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1z
dmctaW1hZ2Utc3RkZXJyLnR4dCI+c3RkZXJyPC9hPjwvdGQ+Ci08L3RyPgotPC90YWJsZT48cD5U
ZXN0cyB0aGF0IGhhZCBubyBleHBlY3RlZCByZXN1bHRzIChwcm9iYWJseSBuZXcpOjwvcD4KLTx0
YWJsZT4KLTx0cj4KLTx0ZD48YSBocmVmPSIvdmFyL2xpYi9idWlsZGJvdC9idWlsZC9ndGstbGlu
dXgtNjQtcmVsZWFzZS9idWlsZC9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvbm8tY2FyZXQtcmVw
YWludC1pbi1ub24tY29udGVudC1lZGl0YWJsZS1lbGVtZW50Lmh0bWwiPmZhc3QvcmVwYWludC9u
by1jYXJldC1yZXBhaW50LWluLW5vbi1jb250ZW50LWVkaXRhYmxlLWVsZW1lbnQuaHRtbDwvYT48
L3RkPgotPHRkPjxhIGhyZWY9ImZhc3QvcmVwYWludC9uby1jYXJldC1yZXBhaW50LWluLW5vbi1j
b250ZW50LWVkaXRhYmxlLWVsZW1lbnQtYWN0dWFsLnR4dCI+cmVzdWx0PC9hPjwvdGQ+Ci08L3Ry
PgotPC90YWJsZT48L2JvZHk+Ci08L2h0bWw+Ci0iIiIKLQotICAgIF9leHBlY3RlZF9sYXlvdXRf
dGVzdF9yZXN1bHRzID0gewotICAgICAgICAnVGVzdHMgdGhhdCBoYWQgc3RkZXJyIG91dHB1dDon
IDogWwotICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvYXJpYS1hY3RpdmVkZXNjZW5kYW50LWNy
YXNoLmh0bWwnCi0gICAgICAgIF0sCi0gICAgICAgICdUZXN0cyB0aGF0IGhhZCBubyBleHBlY3Rl
ZCByZXN1bHRzIChwcm9iYWJseSBuZXcpOicgOiBbCi0gICAgICAgICAgICAnZmFzdC9yZXBhaW50
L25vLWNhcmV0LXJlcGFpbnQtaW4tbm9uLWNvbnRlbnQtZWRpdGFibGUtZWxlbWVudC5odG1sJwot
ICAgICAgICBdCi0gICAgfQotICAgIGRlZiB0ZXN0X3BhcnNlX2xheW91dF90ZXN0X3Jlc3VsdHMo
c2VsZik6Ci0gICAgICAgIHJlc3VsdHMgPSBMYXlvdXRUZXN0UmVzdWx0cy5fcGFyc2VfcmVzdWx0
c19odG1sKHNlbGYuX2V4YW1wbGVfcmVzdWx0c19odG1sKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYuX2V4cGVjdGVkX2xheW91dF90ZXN0X3Jlc3VsdHMsIHJlc3VsdHMpCi0KLQogY2xh
c3MgQnVpbGRCb3RUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIF9leGFtcGxlX29uZV9i
b3hfc3RhdHVzID0gJycnCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvbGF5b3V0dGVzdHJlc3VsdHMucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvbGF5b3V0dGVzdHJlc3VsdHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFiODI5
MjcyMWNlMDdhMTRmZTcxMjUwYmNjNjQ2ZTQ3YzEwOWM4ZAotLS0gL2Rldi9udWxsCisrKyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9sYXlvdXR0ZXN0cmVzdWx0cy5w
eQpAQCAtMCwwICsxLDkzIEBACisjIENvcHlyaWdodCAoYykgMjAxMCwgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0
OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjIEEgbW9kdWxlIGZvciBw
YXJzaW5nIHJlc3VsdHMuaHRtbCBmaWxlcyBnZW5lcmF0ZWQgYnkgb2xkLXJ1bi13ZWJraXQtdGVz
dHMKKworZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5LkJlYXV0aWZ1bFNvdXAgaW1wb3J0IEJlYXV0
aWZ1bFNvdXAsIFNvdXBTdHJhaW5lcgorCisKKyMgRklYTUU6IFRoaXMgc2hvdWxkIGJlIHVuaWZp
ZWQgd2l0aCBhbGwgdGhlIGxheW91dCB0ZXN0IHJlc3VsdHMgY29kZSBpbiB0aGUgbGF5b3V0X3Rl
c3RzIHBhY2thZ2UKKyMgVGhpcyBkb2Vzbid0IGJlbG9uZyBpbiBjb21tb24ubmV0LCBidXQgd2Ug
ZG9uJ3QgaGF2ZSBhIGJldHRlciBwbGFjZSBmb3IgaXQgeWV0LgorY2xhc3MgTGF5b3V0VGVzdFJl
c3VsdHMob2JqZWN0KToKKyAgICBzdGRlcnJfa2V5ID0gdSdUZXN0cyB0aGF0IGhhZCBzdGRlcnIg
b3V0cHV0OicKKyAgICBmYWlsX2tleSA9IHUnVGVzdHMgd2hlcmUgcmVzdWx0cyBkaWQgbm90IG1h
dGNoIGV4cGVjdGVkIHJlc3VsdHM6JworICAgIHRpbWVvdXRfa2V5ID0gdSdUZXN0cyB0aGF0IHRp
bWVkIG91dDonCisgICAgY3Jhc2hfa2V5ID0gdSdUZXN0cyB0aGF0IGNhdXNlZCB0aGUgRHVtcFJl
bmRlclRyZWUgdG9vbCB0byBjcmFzaDonCisgICAgbWlzc2luZ19rZXkgPSB1J1Rlc3RzIHRoYXQg
aGFkIG5vIGV4cGVjdGVkIHJlc3VsdHMgKHByb2JhYmx5IG5ldyk6JworCisgICAgZXhwZWN0ZWRf
a2V5cyA9IFsKKyAgICAgICAgc3RkZXJyX2tleSwKKyAgICAgICAgZmFpbF9rZXksCisgICAgICAg
IGNyYXNoX2tleSwKKyAgICAgICAgdGltZW91dF9rZXksCisgICAgICAgIG1pc3Npbmdfa2V5LAor
ICAgIF0KKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfcGFyc2VfcmVzdWx0c19odG1sKGNs
cywgcGFnZSk6CisgICAgICAgIHBhcnNlZF9yZXN1bHRzID0ge30KKyAgICAgICAgdGFibGVzID0g
QmVhdXRpZnVsU291cChwYWdlKS5maW5kQWxsKCJ0YWJsZSIpCisgICAgICAgIGZvciB0YWJsZSBp
biB0YWJsZXM6CisgICAgICAgICAgICB0YWJsZV90aXRsZSA9IHVuaWNvZGUodGFibGUuZmluZFBy
ZXZpb3VzU2libGluZygicCIpLnN0cmluZykKKyAgICAgICAgICAgIGlmIHRhYmxlX3RpdGxlIG5v
dCBpbiBjbHMuZXhwZWN0ZWRfa2V5czoKKyAgICAgICAgICAgICAgICAjIFRoaXMgRXhjZXB0aW9u
IHNob3VsZCBvbmx5IGV2ZXIgYmUgaGl0IGlmIHJ1bi13ZWJraXQtdGVzdHMgY2hhbmdlcyBpdHMg
cmVzdWx0cy5odG1sIGZvcm1hdC4KKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlVu
aGFuZGxlZCB0aXRsZTogJXMiICUgdGFibGVfdGl0bGUpCisgICAgICAgICAgICAjIFdlIG1pZ2h0
IHdhbnQgdG8gdHJhbnNsYXRlIHRhYmxlIHRpdGxlcyBpbnRvIGlkZW50aWZpZXJzIGJlZm9yZSBz
dG9yaW5nLgorICAgICAgICAgICAgcGFyc2VkX3Jlc3VsdHNbdGFibGVfdGl0bGVdID0gW3VuaWNv
ZGUocm93LmZpbmQoImEiKS5zdHJpbmcpIGZvciByb3cgaW4gdGFibGUuZmluZEFsbCgidHIiKV0K
KworICAgICAgICByZXR1cm4gcGFyc2VkX3Jlc3VsdHMKKworICAgICMgRklYTUU6IFRoaXMgY2xh
c3Mgc2hvdWxkbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gdGhlIG5ldHdvcmsuCisgICAgQGNs
YXNzbWV0aG9kCisgICAgZGVmIF9mZXRjaF9yZXN1bHRzX2h0bWwoY2xzLCBiYXNlX3VybCk6Cisg
ICAgICAgIHJlc3VsdHNfaHRtbCA9ICIlcy9yZXN1bHRzLmh0bWwiICUgYmFzZV91cmwKKyAgICAg
ICAgIyBGSVhNRTogV2UgbmVlZCB0byBtb3ZlIHRoaXMgc29ydCBvZiA0MDQgbG9naWMgaW50byBO
ZXR3b3JrVHJhbnNhY3Rpb24gb3Igc2ltaWxhci4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAg
cGFnZSA9IHVybGxpYjIudXJsb3BlbihyZXN1bHRzX2h0bWwpCisgICAgICAgICAgICByZXR1cm4g
Y2xzLl9wYXJzZV9yZXN1bHRzX2h0bWwocGFnZSkKKyAgICAgICAgZXhjZXB0IHVybGxpYjIuSFRU
UEVycm9yLCBlcnJvcjoKKyAgICAgICAgICAgIGlmIGVycm9yLmNvZGUgIT0gNDA0OgorICAgICAg
ICAgICAgICAgIHJhaXNlCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgcmVzdWx0c19mcm9t
X3VybChjbHMsIGJhc2VfdXJsKToKKyAgICAgICAgcGFyc2VkX3Jlc3VsdHMgPSBjbHMuX2ZldGNo
X3Jlc3VsdHNfaHRtbChiYXNlX3VybCkKKyAgICAgICAgaWYgbm90IHBhcnNlZF9yZXN1bHRzOgor
ICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIGNscyhiYXNlX3VybCwgcGFy
c2VkX3Jlc3VsdHMpCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYmFzZV91cmwsIHBhcnNlZF9y
ZXN1bHRzKToKKyAgICAgICAgc2VsZi5fYmFzZV91cmwgPSBiYXNlX3VybAorICAgICAgICBzZWxm
Ll9wYXJzZWRfcmVzdWx0cyA9IHBhcnNlZF9yZXN1bHRzCisKKyAgICBkZWYgcGFyc2VkX3Jlc3Vs
dHMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9wYXJzZWRfcmVzdWx0cworCisgICAgZGVm
IGZhaWxpbmdfdGVzdHMoc2VsZik6CisgICAgICAgIGZhaWxpbmdfa2V5cyA9IFtzZWxmLmZhaWxf
a2V5LCBzZWxmLmNyYXNoX2tleSwgc2VsZi50aW1lb3V0X2tleV0KKyAgICAgICAgcmV0dXJuIHNv
cnRlZChzdW0oW3Rlc3RzIGZvciBrZXksIHRlc3RzIGluIHNlbGYuX3BhcnNlZF9yZXN1bHRzLml0
ZW1zKCkgaWYga2V5IGluIGZhaWxpbmdfa2V5c10sIFtdKSkKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9sYXlvdXR0ZXN0cmVzdWx0c191bml0dGVz
dC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9sYXlvdXR0ZXN0
cmVzdWx0c191bml0dGVzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzQ4NDhlMzZkNjYwZTJmZTZkOTZiNjY0
MjNlYzQxM2IxYjcxZGM5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2xheW91dHRlc3RyZXN1bHRzX3VuaXR0ZXN0LnB5CkBAIC0wLDAg
KzEsNzEgQEAKKyMgQ29weXJpZ2h0IChjKSAyMDEwLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlz
dHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworaW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gd2Vi
a2l0cHkuY29tbW9uLm5ldC5sYXlvdXR0ZXN0cmVzdWx0cyBpbXBvcnQgTGF5b3V0VGVzdFJlc3Vs
dHMKKworCitjbGFzcyBMYXlvdXRUZXN0UmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgor
ICAgIF9leGFtcGxlX3Jlc3VsdHNfaHRtbCA9ICIiIgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5M
YXlvdXQgVGVzdCBSZXN1bHRzPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGVzdHMgdGhh
dCBoYWQgc3RkZXJyIG91dHB1dDo8L3A+Cis8dGFibGU+Cis8dHI+Cis8dGQ+PGEgaHJlZj0iL3Zh
ci9saWIvYnVpbGRib3QvYnVpbGQvZ3RrLWxpbnV4LTY0LXJlbGVhc2UvYnVpbGQvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9hcmlhLWFjdGl2ZWRlc2NlbmRhbnQtY3Jhc2guaHRtbCI+YWNjZXNz
aWJpbGl0eS9hcmlhLWFjdGl2ZWRlc2NlbmRhbnQtY3Jhc2guaHRtbDwvYT48L3RkPgorPHRkPjxh
IGhyZWY9ImFjY2Vzc2liaWxpdHkvYXJpYS1hY3RpdmVkZXNjZW5kYW50LWNyYXNoLXN0ZGVyci50
eHQiPnN0ZGVycjwvYT48L3RkPgorPC90cj4KKzx0ZD48YSBocmVmPSIvdmFyL2xpYi9idWlsZGJv
dC9idWlsZC9ndGstbGludXgtNjQtcmVsZWFzZS9idWlsZC9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1zdmctaW1hZ2UuaHRtbCI+aHR0cC90ZXN0cy9z
ZWN1cml0eS9jYW52YXMtcmVtb3RlLXJlYWQtc3ZnLWltYWdlLmh0bWw8L2E+PC90ZD4KKzx0ZD48
YSBocmVmPSJodHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1zdmctaW1hZ2Ut
c3RkZXJyLnR4dCI+c3RkZXJyPC9hPjwvdGQ+Cis8L3RyPgorPC90YWJsZT48cD5UZXN0cyB0aGF0
IGhhZCBubyBleHBlY3RlZCByZXN1bHRzIChwcm9iYWJseSBuZXcpOjwvcD4KKzx0YWJsZT4KKzx0
cj4KKzx0ZD48YSBocmVmPSIvdmFyL2xpYi9idWlsZGJvdC9idWlsZC9ndGstbGludXgtNjQtcmVs
ZWFzZS9idWlsZC9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvbm8tY2FyZXQtcmVwYWludC1pbi1u
b24tY29udGVudC1lZGl0YWJsZS1lbGVtZW50Lmh0bWwiPmZhc3QvcmVwYWludC9uby1jYXJldC1y
ZXBhaW50LWluLW5vbi1jb250ZW50LWVkaXRhYmxlLWVsZW1lbnQuaHRtbDwvYT48L3RkPgorPHRk
PjxhIGhyZWY9ImZhc3QvcmVwYWludC9uby1jYXJldC1yZXBhaW50LWluLW5vbi1jb250ZW50LWVk
aXRhYmxlLWVsZW1lbnQtYWN0dWFsLnR4dCI+cmVzdWx0PC9hPjwvdGQ+Cis8L3RyPgorPC90YWJs
ZT48L2JvZHk+Cis8L2h0bWw+CisiIiIKKworICAgIF9leHBlY3RlZF9sYXlvdXRfdGVzdF9yZXN1
bHRzID0geworICAgICAgICAnVGVzdHMgdGhhdCBoYWQgc3RkZXJyIG91dHB1dDonOiBbCisgICAg
ICAgICAgICAnYWNjZXNzaWJpbGl0eS9hcmlhLWFjdGl2ZWRlc2NlbmRhbnQtY3Jhc2guaHRtbCcs
CisgICAgICAgIF0sCisgICAgICAgICdUZXN0cyB0aGF0IGhhZCBubyBleHBlY3RlZCByZXN1bHRz
IChwcm9iYWJseSBuZXcpOic6IFsKKyAgICAgICAgICAgICdmYXN0L3JlcGFpbnQvbm8tY2FyZXQt
cmVwYWludC1pbi1ub24tY29udGVudC1lZGl0YWJsZS1lbGVtZW50Lmh0bWwnLAorICAgICAgICBd
LAorICAgIH0KKworICAgIGRlZiB0ZXN0X3BhcnNlX2xheW91dF90ZXN0X3Jlc3VsdHMoc2VsZik6
CisgICAgICAgIHJlc3VsdHMgPSBMYXlvdXRUZXN0UmVzdWx0cy5fcGFyc2VfcmVzdWx0c19odG1s
KHNlbGYuX2V4YW1wbGVfcmVzdWx0c19odG1sKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNl
bGYuX2V4cGVjdGVkX2xheW91dF90ZXN0X3Jlc3VsdHMsIHJlc3VsdHMpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>