Browse Source

Improved error handling.

Martin Edenhofer 11 years ago
parent
commit
9b90e2b18b
3 changed files with 624 additions and 6 deletions
  1. 11 5
      app/models/channel/email_parser.rb
  2. 601 0
      test/fixtures/mail19.box
  3. 12 1
      test/unit/email_parser_test.rb

+ 11 - 5
app/models/channel/email_parser.rb

@@ -80,11 +80,17 @@ class Channel::EmailParser
     }
 
     # set extra headers
-    data[:from_email]        = Mail::Address.new( from ).address
-    data[:from_local]        = Mail::Address.new( from ).local
-    data[:from_domain]       = Mail::Address.new( from ).domain
-    data[:from_display_name] = Mail::Address.new( from ).display_name ||
-    ( Mail::Address.new( from ).comments && Mail::Address.new( from ).comments[0] )
+    begin
+      data[:from_email]        = Mail::Address.new( from ).address
+      data[:from_local]        = Mail::Address.new( from ).local
+      data[:from_domain]       = Mail::Address.new( from ).domain
+      data[:from_display_name] = Mail::Address.new( from ).display_name ||
+      ( Mail::Address.new( from ).comments && Mail::Address.new( from ).comments[0] )
+    rescue
+      data[:from_email]        = from
+      data[:from_local]        = from
+      data[:from_domain]       = from
+    end
 
     # do extra decoding because we needed to use field.value
     data[:from_display_name] = Mail::Field.new( 'X-From', data[:from_display_name] ).to_s

+ 601 - 0
test/fixtures/mail19.box

@@ -0,0 +1,601 @@
+From MAILER-DAEMON  Sun Dec  1 13:28:56 2013
+Return-Path: <>
+X-Original-To: nix@znuny.com
+Delivered-To: znuny-sales@donkervoort.znuny.com
+Received: from mail.sasscoyc.com (unknown [184.82.28.21])
+	by donkervoort.znuny.com (Postfix) with ESMTP id 3B4286024A
+	for <nix@znuny.com>; Sun,  1 Dec 2013 13:28:54 +0100 (CET)
+Date: Mon, 2 Dec 2013 20:54:08 +0800
+From: "=?GB2312?B?ztI=?=" <>
+To: "377861373" <377861373@qq.com>
+Reply-To: <vipyiming@126.com>
+Subject: =?GB2312?B?obbFt8PAvPLRtqG3?=
+MIME-Version: 1.0
+X-Priority: 3
+X-MSMail-Priority: Normal
+X-Mailer: Microsoft Outlook Express 6.00.2800.1158
+Content-Type: text/html;
+	charset="GB2312"
+Content-Transfer-Encoding: base64
+Content-Disposition: inline
+X-UID: 316                                                  
+Status: RO
+Content-Length: 44243
+Lines: 575
+
+PGh0bWw+DQoNCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50
+PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9Z2IyMzEyIj4NCjx0aXRsZT7Qwr2ozfjSsyA0PC90aXRsZT4N
+CjwvaGVhZD4NCg0KPGJvZHk+DQoNCjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGxp
+bmUtaGVpZ2h0OiAxLjc7IGZvbnQtZmFtaWx5OiBhcmlhbDsgZm9udC1zaXplOiAxNHB4Ij4NCgk8
+ZGl2IHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250
+LXdlaWdodDogbm9ybWFsOyBsaW5lLWhlaWdodDogMS43OyBmb250LXNpemU6IDE0cHg7IGZvbnQt
+ZmFtaWx5OiBhcmlhbDsgY29sb3I6IHJnYigwLCAwLCAwKTsgdGV4dC10cmFuc2Zvcm06IG5vbmU7
+IHRleHQtaW5kZW50OiAwcHg7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHdvcmQtc3BhY2luZzog
+MHB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IGZvbnQtc2l6
+ZS1hZGp1c3Q6IG5vbmU7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyAtd2Via2l0LXRleHQtc2l6ZS1h
+ZGp1c3Q6IGF1dG87IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweCI+DQoJCTxkaXY+DQoJ
+CQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1cHQiIGNsYXNz
+PSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiPg0KCQkJPGZvbnQgc2l6ZT0iNSI+DQoJCQk8c3Bh
+biBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogutrM5TsgZm9udC13ZWlnaHQ6IDcw
+MCI+obbFt8PAvPLRtqG3PC9zcGFuPjwvZm9udD48L3A+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGln
+bjogbGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1cHQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJj
+ZW50ZXIiPg0KCQkJPGI+PGZvbnQgZmFjZT0iutrM5SI+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFj
+azsgZm9udC1zaXplOiAxMnB0Ij4NCgkJCc2218rSxsPxvPLRtjwvc3Bhbj48L2ZvbnQ+PHNwYW4g
+c3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+
+o7o8L3NwYW4+PC9iPg0KCQkJPC9wPg0KCQkJPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGxp
+bmUtaGVpZ2h0OiAxNy4yNXB0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJCQk8
+Yj48Zm9udCBzaXplPSI2Ij4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFt
+aWx5OiDLzszlOyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3ciPg0KCQkJotk8L3NwYW4+PC9mb250
+PjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6
+IDEycHQ7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdyI+vNPEw7TzwvzKoc2218rSxsPxoaqhqjwv
+c3Bhbj48L2I+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFsOyBm
+b250LXNpemU6IDEycHQiIGxhbmc9IkVOLVVTIj4xODwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6
+IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij7L6tLUyc/X08Wu0OjS
+qsrH1NrQo9GnyfqjqTwvc3Bhbj48L3A+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsg
+bGluZS1oZWlnaHQ6IDE3LjI1cHQ7IHRleHQtaW5kZW50OiAtMjFwdDsgbWFyZ2luLWxlZnQ6IDIx
+cHQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0Ij4NCgkJCTxzcGFuIHN0eWxlPSJjb2xv
+cjogYmxhY2s7IGZvbnQtZmFtaWx5OiBXaW5nZGluZ3M7IGZvbnQtc2l6ZTogMTJwdCIgbGFuZz0i
+RU4tVVMiPg0KCQkJbDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWls
+eTogy87M5TsgZm9udC1zaXplOiA3cHQiIGxhbmc9IkVOLVVTIj48c3BhbiBjbGFzcz0iQXBwbGUt
+Y29udmVydGVkLXNwYWNlIj4NCgkJCTwvc3Bhbj48L3NwYW4+DQoJCQk8c3BhbiBzdHlsZT0iY29s
+b3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij7C/MqhzbbXytLG
+w/GjqDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7
+IGZvbnQtc2l6ZTogMTJwdCI+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+DQoJ
+CQk8L3NwYW4+PC9zcGFuPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1p
+bHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+DQoJCQm/qsq8yrXQ0MbAt9bU8dPFyerH67XEs8zQ
+8jwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZv
+bnQtc2l6ZTogMTJwdCI+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+DQoJCQk8
+L3NwYW4+PC9zcGFuPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6
+IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+ysq6z9HFy7w8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9y
+OiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEycHQiIGxhbmc9IkVOLVVT
+Ij40PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBm
+b250LXNpemU6IDEycHQiPrfW0tTJz7XExvPStbjfudyjuzwvc3Bhbj48L3A+DQoJCQk8cCBzdHls
+ZT0idGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1cHQ7IHRleHQtaW5kZW50OiAt
+MjFwdDsgbWFyZ2luLWxlZnQ6IDIxcHQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0Ij4N
+CgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNp
+emU6IDEycHQiPrvy1d/U2tOq0rXW0NPQPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7
+IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1VUyI+Mzwvc3Bh
+bj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXpl
+OiAxMnB0Ij7E6jwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTog
+QXJpYWw7IGZvbnQtc2l6ZTogMTJwdCIgbGFuZz0iRU4tVVMiPjIwJTwvc3Bhbj48c3BhbiBzdHls
+ZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij7S1MnP
+ucm33bXExvPStbnJtqujqTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZh
+bWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTJwdCIgbGFuZz0iRU4tVVMiPjI8L3NwYW4+PHNwYW4g
+c3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+
+1MK33cnqsaijrDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTog
+QXJpYWw7IGZvbnQtc2l6ZTogMTJwdCI+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFj
+ZSI+DQoJCQk8L3NwYW4+PC9zcGFuPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9u
+dC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+DQoJCQnEv8ewv8nS1LCyxcW/vLLsvNO3
+1qO7PC9zcGFuPjwvcD4NCgkJCTxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdo
+dDogMTcuMjVwdDsgdGV4dC1pbmRlbnQ6IC0yMXB0OyBtYXJnaW4tbGVmdDogMjFwdCIgY2xhc3M9
+Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsg
+Zm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+DQoJCQm4+b7d0tTN+bC4wP3C/Mqh
+0sbD8bbUxvPStcv5tcPLsLrNuPbIy8v5tcPLsLywz+rPuLXEuavLvrbU1cu1pdPQ0qrH86GjPC9z
+cGFuPjwvcD4NCgkJCTxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMTcu
+MjVwdDsgdGV4dC1pbmRlbnQ6IC0yMXB0OyBtYXJnaW4tbGVmdDogMjFwdCIgY2xhc3M9Ik1zb05v
+cm1hbCIgYWxpZ249ImxlZnQiPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1m
+YW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+w7/E6jwvc3Bhbj48c3BhbiBzdHlsZT0iY29s
+b3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTJwdCIgbGFuZz0iRU4t
+VVMiPjQwMDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M
+5TsgZm9udC1zaXplOiAxMnB0Ij649sP7tu6jrLPJsb48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9y
+OiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEycHQiIGxhbmc9IkVOLVVT
+Ij4xNjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5Tsg
+Zm9udC1zaXplOiAxMnB0Ij7N8rzTsdKjrNSkvMbKoczhw/vKsbzkPC9zcGFuPjxzcGFuIHN0eWxl
+PSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxMnB0IiBsYW5n
+PSJFTi1VUyI+MTI8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6
+IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+uPbUwqGjPC9zcGFuPjwvcD4NCgkJCTxwIHN0eWxlPSJ0
+ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMTcuMjVwdCIgY2xhc3M9Ik1zb05vcm1hbCIg
+YWxpZ249ImNlbnRlciI+DQoJCQk8c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWls
+eTogQXJpYWw7IGZvbnQtc2l6ZTogMTRwdDsgYmFja2dyb3VuZC1jb2xvcjogYXF1YSIgbGFuZz0i
+RU4tVVMiPg0KCQkJVklQPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFt
+aWx5OiDLzszlOyBmb250LXNpemU6IDE0cHQ7IGJhY2tncm91bmQtY29sb3I6IGFxdWEiPteoz9+j
+ujwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZv
+bnQtc2l6ZTogMTRwdDsgYmFja2dyb3VuZC1jb2xvcjogYXF1YSIgbGFuZz0iRU4tVVMiPjxzcGFu
+IGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPg0KCQkJPC9zcGFuPjEzMzkxNTM5OTg4PC9z
+cGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNp
+emU6IDE0cHQ7IGJhY2tncm91bmQtY29sb3I6IGFxdWEiPqO7PC9zcGFuPjxzcGFuIHN0eWxlPSJj
+b2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxNHB0OyBiYWNrZ3Jv
+dW5kLWNvbG9yOiBhcXVhIiBsYW5nPSJFTi1VUyI+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRl
+ZC1zcGFjZSI+DQoJCQk8L3NwYW4+UVE6IDI2NTQwMzU5OTk8L3NwYW4+PC9wPg0KCQkJPHAgc3R5
+bGU9InRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxNy4yNXB0IiBjbGFzcz0iTXNvTm9y
+bWFsIiBhbGlnbj0iY2VudGVyIj4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQt
+ZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDE0cHQ7IGJhY2tncm91bmQtY29sb3I6IGFxdWEiPg0K
+CQkJw+K30bXnu7Cjujwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWls
+eTogQXJpYWw7IGZvbnQtc2l6ZTogMTRwdDsgYmFja2dyb3VuZC1jb2xvcjogYXF1YSIgbGFuZz0i
+RU4tVVMiPjQwMC02ODY5LTY4NTwvc3Bhbj48L3A+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjog
+bGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1cHQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50
+ZXIiPqGhPC9wPg0KCQkJPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAx
+Ny4yNXB0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJCQk8Yj48Zm9udCBzaXpl
+PSI2Ij4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBi
+YWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3ciPg0KCQkJoto8L3NwYW4+PC9mb250PjxzcGFuIHN0eWxl
+PSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQ7IGJhY2tn
+cm91bmQtY29sb3I6IHllbGxvdyI+1+7I3dLXtcTP7sS/oarFt9be0sbD8Twvc3Bhbj48c3BhbiBz
+dHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij6j
+qDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZv
+bnQtc2l6ZTogMTJwdCIgbGFuZz0iRU4tVVMiPjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQt
+c3BhY2UiPg0KCQkJPC9zcGFuPjE4PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZv
+bnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQiPsvq0tTJz9fTxa7Q6NKqtaW2wMnqx+uj
+qTwvc3Bhbj48L2I+PC9wPg0KCQkJPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVp
+Z2h0OiAxNy4yNXB0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJCQk8c3BhbiBz
+dHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij4N
+CgkJCcv509C1xMW31t7SxsPxz+7Ev7bU18q98MC01LTDu9PQ0qrH86Os1Nq1sbXY09DJ+rvuoaLJ
+z9Gnus2+rcnMtcTIqMD7o7s8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1m
+YW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEycHQiPjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0
+ZWQtc3BhY2UiPg0KCQkJPC9zcGFuPjwvc3Bhbj4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxh
+Y2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQiPg0KCQkJxL/HsNfuyMjDxbXE
+yP249rn6vNLH6b/2yOfPwqO6PC9zcGFuPjwvcD4NCgkJCTx0YWJsZSBzdHlsZT0iYm9yZGVyLWNv
+bGxhcHNlOiBjb2xsYXBzZSIgaWQ9InRhYmxlMSIgY2xhc3M9Ik1zb05vcm1hbFRhYmxlIiBib3Jk
+ZXI9IjAiIGNlbGxTcGFjaW5nPSIwIiBjZWxsUGFkZGluZz0iMCI+DQoJCQkJPHRyPg0KCQkJCQk8
+dGQgc3R5bGU9IndpZHRoOiA3Ny40cHQ7IGxpbmUtaGVpZ2h0OiAxLjY2NjsgZm9udC1mYW1pbHk6
+IGFyaWFsLCB2ZXJkYW5hLCBzYW5zLXNlcmlmOyBib3JkZXI6IDFwdCBzb2xpZCB3aW5kb3d0ZXh0
+OyBwYWRkaW5nLWxlZnQ6IDUuNHB0OyBwYWRkaW5nLXJpZ2h0OiA1LjRwdDsgcGFkZGluZy10b3A6
+IDBjbTsgcGFkZGluZy1ib3R0b206IDBjbSIgdkFsaWduPSJ0b3AiIHdpZHRoPSIxMDMiPg0KCQkJ
+CQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCIgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249Imxl
+ZnQiPg0KCQkJCQk8Yj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTog
+MTJwdCI+ufq80jwvc3Bhbj48L2I+PC90ZD4NCgkJCQkJPHRkIHN0eWxlPSJ3aWR0aDogMTA4cHQ7
+IGxpbmUtaGVpZ2h0OiAxLjY2NjsgZm9udC1mYW1pbHk6IGFyaWFsLCB2ZXJkYW5hLCBzYW5zLXNl
+cmlmOyBib3JkZXItbGVmdDogbWVkaXVtIG5vbmUgY3VycmVudENvbG9yOyBib3JkZXItcmlnaHQ6
+IDFwdCBzb2xpZCB3aW5kb3d0ZXh0OyBib3JkZXItdG9wOiAxcHQgc29saWQgd2luZG93dGV4dDsg
+Ym9yZGVyLWJvdHRvbTogMXB0IHNvbGlkIHdpbmRvd3RleHQ7IHBhZGRpbmctbGVmdDogNS40cHQ7
+IHBhZGRpbmctcmlnaHQ6IDUuNHB0OyBwYWRkaW5nLXRvcDogMGNtOyBwYWRkaW5nLWJvdHRvbTog
+MGNtIiB2QWxpZ249InRvcCIgd2lkdGg9IjE0NCI+DQoJCQkJCTxwIHN0eWxlPSJ0ZXh0LWFsaWdu
+OiBsZWZ0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJCQkJCTxiPjxzcGFuIHN0
+eWxlPSJmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij7Q2dHAwPs8L3NwYW4+PC9i
+PjwvdGQ+DQoJCQkJCTx0ZCBzdHlsZT0id2lkdGg6IDEyNnB0OyBsaW5lLWhlaWdodDogMS42NjY7
+IGZvbnQtZmFtaWx5OiBhcmlhbCwgdmVyZGFuYSwgc2Fucy1zZXJpZjsgYm9yZGVyLWxlZnQ6IG1l
+ZGl1bSBub25lIGN1cnJlbnRDb2xvcjsgYm9yZGVyLXJpZ2h0OiAxcHQgc29saWQgd2luZG93dGV4
+dDsgYm9yZGVyLXRvcDogMXB0IHNvbGlkIHdpbmRvd3RleHQ7IGJvcmRlci1ib3R0b206IDFwdCBz
+b2xpZCB3aW5kb3d0ZXh0OyBwYWRkaW5nLWxlZnQ6IDUuNHB0OyBwYWRkaW5nLXJpZ2h0OiA1LjRw
+dDsgcGFkZGluZy10b3A6IDBjbTsgcGFkZGluZy1ib3R0b206IDBjbSIgdkFsaWduPSJ0b3AiIHdp
+ZHRoPSIxNjgiPg0KCQkJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCIgY2xhc3M9Ik1zb05v
+cm1hbCIgYWxpZ249ImxlZnQiPg0KCQkJCQk8Yj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IMvO
+zOU7IGZvbnQtc2l6ZTogMTJwdCI+xs/M0dHAPC9zcGFuPjwvYj48L3RkPg0KCQkJCQk8dGQgc3R5
+bGU9IndpZHRoOiAxMTQuN3B0OyBsaW5lLWhlaWdodDogMS42NjY7IGZvbnQtZmFtaWx5OiBhcmlh
+bCwgdmVyZGFuYSwgc2Fucy1zZXJpZjsgYm9yZGVyLWxlZnQ6IG1lZGl1bSBub25lIGN1cnJlbnRD
+b2xvcjsgYm9yZGVyLXJpZ2h0OiAxcHQgc29saWQgd2luZG93dGV4dDsgYm9yZGVyLXRvcDogMXB0
+IHNvbGlkIHdpbmRvd3RleHQ7IGJvcmRlci1ib3R0b206IDFwdCBzb2xpZCB3aW5kb3d0ZXh0OyBw
+YWRkaW5nLWxlZnQ6IDUuNHB0OyBwYWRkaW5nLXJpZ2h0OiA1LjRwdDsgcGFkZGluZy10b3A6IDBj
+bTsgcGFkZGluZy1ib3R0b206IDBjbSIgdkFsaWduPSJ0b3AiIHdpZHRoPSIxNTMiPg0KCQkJCQk8
+cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCIgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQi
+Pg0KCQkJCQk8Yj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJw
+dCI+zvew4NHAPC9zcGFuPjwvYj48L3RkPg0KCQkJCTwvdHI+DQoJCQkJPHRyPg0KCQkJCQk8dGQg
+c3R5bGU9IndpZHRoOiA3Ny40cHQ7IGxpbmUtaGVpZ2h0OiAxLjY2NjsgZm9udC1mYW1pbHk6IGFy
+aWFsLCB2ZXJkYW5hLCBzYW5zLXNlcmlmOyBib3JkZXItbGVmdDogMXB0IHNvbGlkIHdpbmRvd3Rl
+eHQ7IGJvcmRlci1yaWdodDogMXB0IHNvbGlkIHdpbmRvd3RleHQ7IGJvcmRlci10b3A6IG1lZGl1
+bSBub25lIGN1cnJlbnRDb2xvcjsgYm9yZGVyLWJvdHRvbTogMXB0IHNvbGlkIHdpbmRvd3RleHQ7
+IHBhZGRpbmctbGVmdDogNS40cHQ7IHBhZGRpbmctcmlnaHQ6IDUuNHB0OyBwYWRkaW5nLXRvcDog
+MGNtOyBwYWRkaW5nLWJvdHRvbTogMGNtIiB2QWxpZ249InRvcCIgd2lkdGg9IjEwMyI+DQoJCQkJ
+CTxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVm
+dCI+DQoJCQkJCTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0
+Ij7NttfKvfC27jwvc3Bhbj48L3RkPg0KCQkJCQk8dGQgc3R5bGU9IndpZHRoOiAxMDhwdDsgbGlu
+ZS1oZWlnaHQ6IDEuNjY2OyBmb250LWZhbWlseTogYXJpYWwsIHZlcmRhbmEsIHNhbnMtc2VyaWY7
+IGJvcmRlci1sZWZ0OiBtZWRpdW0gbm9uZSBjdXJyZW50Q29sb3I7IGJvcmRlci1yaWdodDogMXB0
+IHNvbGlkIHdpbmRvd3RleHQ7IGJvcmRlci10b3A6IG1lZGl1bSBub25lIGN1cnJlbnRDb2xvcjsg
+Ym9yZGVyLWJvdHRvbTogMXB0IHNvbGlkIHdpbmRvd3RleHQ7IHBhZGRpbmctbGVmdDogNS40cHQ7
+IHBhZGRpbmctcmlnaHQ6IDUuNHB0OyBwYWRkaW5nLXRvcDogMGNtOyBwYWRkaW5nLWJvdHRvbTog
+MGNtIiB2QWxpZ249InRvcCIgd2lkdGg9IjE0NCI+DQoJCQkJCTxwIHN0eWxlPSJ0ZXh0LWFsaWdu
+OiBsZWZ0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJCQkJCTxzcGFuIHN0eWxl
+PSJmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1VUyI+DQoJCQkJ
+CTI1PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0
+Ij7N8sW31Kq5+tWuPC9zcGFuPjwvdGQ+DQoJCQkJCTx0ZCBzdHlsZT0id2lkdGg6IDEyNnB0OyBs
+aW5lLWhlaWdodDogMS42NjY7IGZvbnQtZmFtaWx5OiBhcmlhbCwgdmVyZGFuYSwgc2Fucy1zZXJp
+ZjsgYm9yZGVyLWxlZnQ6IG1lZGl1bSBub25lIGN1cnJlbnRDb2xvcjsgYm9yZGVyLXJpZ2h0OiAx
+cHQgc29saWQgd2luZG93dGV4dDsgYm9yZGVyLXRvcDogbWVkaXVtIG5vbmUgY3VycmVudENvbG9y
+OyBib3JkZXItYm90dG9tOiAxcHQgc29saWQgd2luZG93dGV4dDsgcGFkZGluZy1sZWZ0OiA1LjRw
+dDsgcGFkZGluZy1yaWdodDogNS40cHQ7IHBhZGRpbmctdG9wOiAwY207IHBhZGRpbmctYm90dG9t
+OiAwY20iIHZBbGlnbj0idG9wIiB3aWR0aD0iMTY4Ij4NCgkJCQkJPHAgc3R5bGU9InRleHQtYWxp
+Z246IGxlZnQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0Ij4NCgkJCQkJPHNwYW4gc3R5
+bGU9ImZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQiIGxhbmc9IkVOLVVTIj4NCgkJ
+CQkJNTA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEy
+cHQiPs3yxbfUqtLUyc+3v7L6PC9zcGFuPjwvdGQ+DQoJCQkJCTx0ZCBzdHlsZT0id2lkdGg6IDEx
+NC43cHQ7IGxpbmUtaGVpZ2h0OiAxLjY2NjsgZm9udC1mYW1pbHk6IGFyaWFsLCB2ZXJkYW5hLCBz
+YW5zLXNlcmlmOyBib3JkZXItbGVmdDogbWVkaXVtIG5vbmUgY3VycmVudENvbG9yOyBib3JkZXIt
+cmlnaHQ6IDFwdCBzb2xpZCB3aW5kb3d0ZXh0OyBib3JkZXItdG9wOiBtZWRpdW0gbm9uZSBjdXJy
+ZW50Q29sb3I7IGJvcmRlci1ib3R0b206IDFwdCBzb2xpZCB3aW5kb3d0ZXh0OyBwYWRkaW5nLWxl
+ZnQ6IDUuNHB0OyBwYWRkaW5nLXJpZ2h0OiA1LjRwdDsgcGFkZGluZy10b3A6IDBjbTsgcGFkZGlu
+Zy1ib3R0b206IDBjbSIgdkFsaWduPSJ0b3AiIHdpZHRoPSIxNTMiPg0KCQkJCQk8cCBzdHlsZT0i
+dGV4dC1hbGlnbjogbGVmdCIgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiPg0KCQkJCQk8
+c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCIgbGFuZz0iRU4t
+VVMiPg0KCQkJCQk1MDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQt
+c2l6ZTogMTJwdCI+zfLFt9Sq0tTJz7e/svo8L3NwYW4+PC90ZD4NCgkJCQk8L3RyPg0KCQkJCTx0
+cj4NCgkJCQkJPHRkIHN0eWxlPSJ3aWR0aDogNzcuNHB0OyBsaW5lLWhlaWdodDogMS42NjY7IGZv
+bnQtZmFtaWx5OiBhcmlhbCwgdmVyZGFuYSwgc2Fucy1zZXJpZjsgYm9yZGVyLWxlZnQ6IDFwdCBz
+b2xpZCB3aW5kb3d0ZXh0OyBib3JkZXItcmlnaHQ6IDFwdCBzb2xpZCB3aW5kb3d0ZXh0OyBib3Jk
+ZXItdG9wOiBtZWRpdW0gbm9uZSBjdXJyZW50Q29sb3I7IGJvcmRlci1ib3R0b206IDFwdCBzb2xp
+ZCB3aW5kb3d0ZXh0OyBwYWRkaW5nLWxlZnQ6IDUuNHB0OyBwYWRkaW5nLXJpZ2h0OiA1LjRwdDsg
+cGFkZGluZy10b3A6IDBjbTsgcGFkZGluZy1ib3R0b206IDBjbSIgdkFsaWduPSJ0b3AiIHdpZHRo
+PSIxMDMiPg0KCQkJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCIgY2xhc3M9Ik1zb05vcm1h
+bCIgYWxpZ249ImxlZnQiPg0KCQkJCQk8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IMvOzOU7IGZv
+bnQtc2l6ZTogMTJwdCI+xuTL+7PJsb48L3NwYW4+PC90ZD4NCgkJCQkJPHRkIHN0eWxlPSJ3aWR0
+aDogMTA4cHQ7IGxpbmUtaGVpZ2h0OiAxLjY2NjsgZm9udC1mYW1pbHk6IGFyaWFsLCB2ZXJkYW5h
+LCBzYW5zLXNlcmlmOyBib3JkZXItbGVmdDogbWVkaXVtIG5vbmUgY3VycmVudENvbG9yOyBib3Jk
+ZXItcmlnaHQ6IDFwdCBzb2xpZCB3aW5kb3d0ZXh0OyBib3JkZXItdG9wOiBtZWRpdW0gbm9uZSBj
+dXJyZW50Q29sb3I7IGJvcmRlci1ib3R0b206IDFwdCBzb2xpZCB3aW5kb3d0ZXh0OyBwYWRkaW5n
+LWxlZnQ6IDUuNHB0OyBwYWRkaW5nLXJpZ2h0OiA1LjRwdDsgcGFkZGluZy10b3A6IDBjbTsgcGFk
+ZGluZy1ib3R0b206IDBjbSIgdkFsaWduPSJ0b3AiIHdpZHRoPSIxNDQiPg0KCQkJCQk8cCBzdHls
+ZT0idGV4dC1hbGlnbjogbGVmdCIgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiPg0KCQkJ
+CQk8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCIgbGFuZz0i
+RU4tVVMiPg0KCQkJCQk0LjU8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiDLzszlOyBm
+b250LXNpemU6IDEycHQiPs3yxbfUqjwvc3Bhbj48L3RkPg0KCQkJCQk8dGQgc3R5bGU9IndpZHRo
+OiAxMjZwdDsgbGluZS1oZWlnaHQ6IDEuNjY2OyBmb250LWZhbWlseTogYXJpYWwsIHZlcmRhbmEs
+IHNhbnMtc2VyaWY7IGJvcmRlci1sZWZ0OiBtZWRpdW0gbm9uZSBjdXJyZW50Q29sb3I7IGJvcmRl
+ci1yaWdodDogMXB0IHNvbGlkIHdpbmRvd3RleHQ7IGJvcmRlci10b3A6IG1lZGl1bSBub25lIGN1
+cnJlbnRDb2xvcjsgYm9yZGVyLWJvdHRvbTogMXB0IHNvbGlkIHdpbmRvd3RleHQ7IHBhZGRpbmct
+bGVmdDogNS40cHQ7IHBhZGRpbmctcmlnaHQ6IDUuNHB0OyBwYWRkaW5nLXRvcDogMGNtOyBwYWRk
+aW5nLWJvdHRvbTogMGNtIiB2QWxpZ249InRvcCIgd2lkdGg9IjE2OCI+DQoJCQkJCTxwIHN0eWxl
+PSJ0ZXh0LWFsaWduOiBsZWZ0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJCQkJ
+CTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJF
+Ti1VUyI+DQoJCQkJCTY8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiDLzszlOyBmb250
+LXNpemU6IDEycHQiPs3yxbfUqjwvc3Bhbj48L3RkPg0KCQkJCQk8dGQgc3R5bGU9IndpZHRoOiAx
+MTQuN3B0OyBsaW5lLWhlaWdodDogMS42NjY7IGZvbnQtZmFtaWx5OiBhcmlhbCwgdmVyZGFuYSwg
+c2Fucy1zZXJpZjsgYm9yZGVyLWxlZnQ6IG1lZGl1bSBub25lIGN1cnJlbnRDb2xvcjsgYm9yZGVy
+LXJpZ2h0OiAxcHQgc29saWQgd2luZG93dGV4dDsgYm9yZGVyLXRvcDogbWVkaXVtIG5vbmUgY3Vy
+cmVudENvbG9yOyBib3JkZXItYm90dG9tOiAxcHQgc29saWQgd2luZG93dGV4dDsgcGFkZGluZy1s
+ZWZ0OiA1LjRwdDsgcGFkZGluZy1yaWdodDogNS40cHQ7IHBhZGRpbmctdG9wOiAwY207IHBhZGRp
+bmctYm90dG9tOiAwY20iIHZBbGlnbj0idG9wIiB3aWR0aD0iMTUzIj4NCgkJCQkJPHAgc3R5bGU9
+InRleHQtYWxpZ246IGxlZnQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0Ij4NCgkJCQkJ
+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQiIGxhbmc9IkVO
+LVVTIj4NCgkJCQkJNjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQt
+c2l6ZTogMTJwdCI+zfLFt9SqPC9zcGFuPjwvdGQ+DQoJCQkJPC90cj4NCgkJCQk8dHI+DQoJCQkJ
+CTx0ZCBzdHlsZT0id2lkdGg6IDc3LjRwdDsgbGluZS1oZWlnaHQ6IDEuNjY2OyBmb250LWZhbWls
+eTogYXJpYWwsIHZlcmRhbmEsIHNhbnMtc2VyaWY7IGJvcmRlci1sZWZ0OiAxcHQgc29saWQgd2lu
+ZG93dGV4dDsgYm9yZGVyLXJpZ2h0OiAxcHQgc29saWQgd2luZG93dGV4dDsgYm9yZGVyLXRvcDog
+bWVkaXVtIG5vbmUgY3VycmVudENvbG9yOyBib3JkZXItYm90dG9tOiAxcHQgc29saWQgd2luZG93
+dGV4dDsgcGFkZGluZy1sZWZ0OiA1LjRwdDsgcGFkZGluZy1yaWdodDogNS40cHQ7IHBhZGRpbmct
+dG9wOiAwY207IHBhZGRpbmctYm90dG9tOiAwY20iIHZBbGlnbj0idG9wIiB3aWR0aD0iMTAzIj4N
+CgkJCQkJPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWdu
+PSJsZWZ0Ij4NCgkJCQkJPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6
+IDEycHQiPrSmwO3L2bbIPC9zcGFuPjwvdGQ+DQoJCQkJCTx0ZCBzdHlsZT0id2lkdGg6IDEwOHB0
+OyBsaW5lLWhlaWdodDogMS42NjY7IGZvbnQtZmFtaWx5OiBhcmlhbCwgdmVyZGFuYSwgc2Fucy1z
+ZXJpZjsgYm9yZGVyLWxlZnQ6IG1lZGl1bSBub25lIGN1cnJlbnRDb2xvcjsgYm9yZGVyLXJpZ2h0
+OiAxcHQgc29saWQgd2luZG93dGV4dDsgYm9yZGVyLXRvcDogbWVkaXVtIG5vbmUgY3VycmVudENv
+bG9yOyBib3JkZXItYm90dG9tOiAxcHQgc29saWQgd2luZG93dGV4dDsgcGFkZGluZy1sZWZ0OiA1
+LjRwdDsgcGFkZGluZy1yaWdodDogNS40cHQ7IHBhZGRpbmctdG9wOiAwY207IHBhZGRpbmctYm90
+dG9tOiAwY20iIHZBbGlnbj0idG9wIiB3aWR0aD0iMTQ0Ij4NCgkJCQkJPHAgc3R5bGU9InRleHQt
+YWxpZ246IGxlZnQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0Ij4NCgkJCQkJPHNwYW4g
+c3R5bGU9ImZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQiIGxhbmc9IkVOLVVTIj4N
+CgkJCQkJMTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTog
+MTJwdCI+uPbUwjwvc3Bhbj48L3RkPg0KCQkJCQk8dGQgc3R5bGU9IndpZHRoOiAxMjZwdDsgbGlu
+ZS1oZWlnaHQ6IDEuNjY2OyBmb250LWZhbWlseTogYXJpYWwsIHZlcmRhbmEsIHNhbnMtc2VyaWY7
+IGJvcmRlci1sZWZ0OiBtZWRpdW0gbm9uZSBjdXJyZW50Q29sb3I7IGJvcmRlci1yaWdodDogMXB0
+IHNvbGlkIHdpbmRvd3RleHQ7IGJvcmRlci10b3A6IG1lZGl1bSBub25lIGN1cnJlbnRDb2xvcjsg
+Ym9yZGVyLWJvdHRvbTogMXB0IHNvbGlkIHdpbmRvd3RleHQ7IHBhZGRpbmctbGVmdDogNS40cHQ7
+IHBhZGRpbmctcmlnaHQ6IDUuNHB0OyBwYWRkaW5nLXRvcDogMGNtOyBwYWRkaW5nLWJvdHRvbTog
+MGNtIiB2QWxpZ249InRvcCIgd2lkdGg9IjE2OCI+DQoJCQkJCTxwIHN0eWxlPSJ0ZXh0LWFsaWdu
+OiBsZWZ0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJCQkJCTxzcGFuIHN0eWxl
+PSJmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1VUyI+DQoJCQkJ
+CTI8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQi
+Prj21MI8L3NwYW4+PC90ZD4NCgkJCQkJPHRkIHN0eWxlPSJ3aWR0aDogMTE0LjdwdDsgbGluZS1o
+ZWlnaHQ6IDEuNjY2OyBmb250LWZhbWlseTogYXJpYWwsIHZlcmRhbmEsIHNhbnMtc2VyaWY7IGJv
+cmRlci1sZWZ0OiBtZWRpdW0gbm9uZSBjdXJyZW50Q29sb3I7IGJvcmRlci1yaWdodDogMXB0IHNv
+bGlkIHdpbmRvd3RleHQ7IGJvcmRlci10b3A6IG1lZGl1bSBub25lIGN1cnJlbnRDb2xvcjsgYm9y
+ZGVyLWJvdHRvbTogMXB0IHNvbGlkIHdpbmRvd3RleHQ7IHBhZGRpbmctbGVmdDogNS40cHQ7IHBh
+ZGRpbmctcmlnaHQ6IDUuNHB0OyBwYWRkaW5nLXRvcDogMGNtOyBwYWRkaW5nLWJvdHRvbTogMGNt
+IiB2QWxpZ249InRvcCIgd2lkdGg9IjE1MyI+DQoJCQkJCTxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBs
+ZWZ0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJCQkJCTxzcGFuIHN0eWxlPSJm
+b250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij7UpLzGPHNwYW4gbGFuZz0iRU4tVVMi
+PjI8L3NwYW4+uPbUwjwvc3Bhbj48L3RkPg0KCQkJCTwvdHI+DQoJCQk8L3RhYmxlPg0KCQkJPHAg
+c3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxNy4yNXB0IiBjbGFzcz0iTXNv
+Tm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJCQk8Yj4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxh
+Y2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQ7IGJhY2tncm91bmQtY29sb3I6
+IHllbGxvdyI+DQoJCQnEv8ew09C8uLSmxbfW3snM0rW12LL61Lyz9srbo6zE6tfivfA8L3NwYW4+
+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6
+IDEycHQ7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdyIgbGFuZz0iRU4tVVMiPjEwJTxzcGFuIGNs
+YXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPg0KCQkJPC9zcGFuPjwvc3Bhbj4NCgkJCTxzcGFu
+IHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQ7
+IGJhY2tncm91bmQtY29sb3I6IHllbGxvdyI+DQoJCQmjrDwvc3Bhbj48c3BhbiBzdHlsZT0iY29s
+b3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTJwdDsgYmFja2dyb3Vu
+ZC1jb2xvcjogeWVsbG93IiBsYW5nPSJFTi1VUyI+MTU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9y
+OiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdDsgYmFja2dyb3VuZC1j
+b2xvcjogeWVsbG93Ij7E6tLUyc/X4tS8o7u/ydLUyerH6zwvc3Bhbj48c3BhbiBzdHlsZT0iY29s
+b3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTJwdDsgYmFja2dyb3Vu
+ZC1jb2xvcjogeWVsbG93IiBsYW5nPSJFTi1VUyI+NTAlPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xv
+cjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQ7IGJhY2tncm91bmQt
+Y29sb3I6IHllbGxvdyI+tcTJzNK1tPu/7qOsPC9zcGFuPjwvYj48L3A+DQoJCQk8cCBzdHlsZT0i
+dGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1cHQiIGNsYXNzPSJNc29Ob3JtYWwi
+IGFsaWduPSJsZWZ0Ij4NCgkJCTxiPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9u
+dC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdDsgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93
+Ij4NCgkJCdfbus+72LGozqo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1m
+YW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEycHQ7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdyIg
+bGFuZz0iRU4tVVMiPjE1JTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZh
+bWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0OyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3ciPqOs
+PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9u
+dC1zaXplOiAxMnB0OyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3ciPjxzcGFuIGNsYXNzPSJBcHBs
+ZS1jb252ZXJ0ZWQtc3BhY2UiPg0KCQkJPC9zcGFuPjwvc3Bhbj4NCgkJCTxzcGFuIHN0eWxlPSJj
+b2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQ7IGJhY2tncm91
+bmQtY29sb3I6IHllbGxvdyI+DQoJCQnG8LK9vNs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBi
+bGFjazsgZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEycHQ7IGJhY2tncm91bmQtY29s
+b3I6IHllbGxvdyIgbGFuZz0iRU4tVVMiPjgwMDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJs
+YWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0OyBiYWNrZ3JvdW5kLWNvbG9y
+OiB5ZWxsb3ciPs3yxbfUqqGjPC9zcGFuPjwvYj48L3A+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGln
+bjogbGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1cHQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJj
+ZW50ZXIiPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFs
+OyBmb250LXNpemU6IDE0cHQ7IGJhY2tncm91bmQtY29sb3I6IGFxdWEiIGxhbmc9IkVOLVVTIj4N
+CgkJCVZJUDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M
+5TsgZm9udC1zaXplOiAxNHB0OyBiYWNrZ3JvdW5kLWNvbG9yOiBhcXVhIj7XqM/fo7o8L3NwYW4+
+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6
+IDE0cHQ7IGJhY2tncm91bmQtY29sb3I6IGFxdWEiIGxhbmc9IkVOLVVTIj48c3BhbiBjbGFzcz0i
+QXBwbGUtY29udmVydGVkLXNwYWNlIj4NCgkJCTwvc3Bhbj4xMzM5MTUzOTk4ODwvc3Bhbj48c3Bh
+biBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxNHB0
+OyBiYWNrZ3JvdW5kLWNvbG9yOiBhcXVhIj6juzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJs
+YWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTRwdDsgYmFja2dyb3VuZC1jb2xv
+cjogYXF1YSIgbGFuZz0iRU4tVVMiPjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui
+Pg0KCQkJPC9zcGFuPlFROiAyNjU0MDM1OTk5PC9zcGFuPjwvcD4NCgkJCTxwIHN0eWxlPSJ0ZXh0
+LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMTcuMjVwdCIgY2xhc3M9Ik1zb05vcm1hbCIgYWxp
+Z249ImNlbnRlciI+oaE8L3A+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbGluZS1o
+ZWlnaHQ6IDE3LjI1cHQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0Ij4NCgkJCTxiPjxm
+b250IHNpemU9IjYiPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6
+IMvOzOU7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdyI+DQoJCQmi2zwvc3Bhbj48L2ZvbnQ+PHNw
+YW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJw
+dDsgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93Ij7X7r7AveG1xM/uxL+hqqGqw8C5+s2218rSxsPx
+o6g8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFsOyBm
+b250LXNpemU6IDEycHQ7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdyIgbGFuZz0iRU4tVVMiPjxz
+cGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPg0KCQkJPC9zcGFuPjIxPC9zcGFuPjxz
+cGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEy
+cHQ7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdyI+y+rS1MnP19PFrtDo0qq1pbbAyerH66OpPC9z
+cGFuPjwvYj4NCgkJCTwvcD4NCgkJCTxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhl
+aWdodDogMTcuMjVwdCIgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiPg0KCQkJPHNwYW4g
+c3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+
+DQoJCQnDwLn6wsy/qLXEzvzS/cGmzt67sL/Jy7WjrLWrw8C5+s2218rSxsPxz+7Ev7a8yseyu8Tc
+09DIzrrOtaOxo7XEyczStdDQzqqjrLzIyLvKx9f2yfrS4r7Nu+HT0Lfnz9Wjuzwvc3Bhbj48L3A+
+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1cHQiIGNs
+YXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0Ij4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxh
+Y2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQiPg0KCQkJvPjT2sf40/LW0NDE
+tcS0psDty9m2yLrNyerH68jL1NrP7sS/1tC/ydLU1ca/2LXEs8y2yDxiPqOsztLDx9a7zca89sGs
+y/i808PLtcTWsb3TzbbXyrXEz+7Ev6O6PC9iPjwvc3Bhbj48L3A+DQoJCQk8cCBzdHlsZT0idGV4
+dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1cHQiIGNsYXNzPSJNc29Ob3JtYWwiIGFs
+aWduPSJsZWZ0Ij4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDL
+zszlOyBmb250LXNpemU6IDEycHQiPs/uxL/M2LXjo7o8L3NwYW4+PC9wPg0KCQkJPHAgc3R5bGU9
+InRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxNy4yNXB0OyB0ZXh0LWluZGVudDogLTIx
+cHQ7IG1hcmdpbi1sZWZ0OiAyMXB0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJ
+CQk8Yj4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiBBcmlhbDsg
+Zm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1VUyI+DQoJCQkxLjwvc3Bhbj48L2I+PHNwYW4gc3R5
+bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogN3B0IiBsYW5n
+PSJFTi1VUyI+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+DQoJCQk8L3NwYW4+
+PC9zcGFuPjxiPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IEFy
+aWFsOyBmb250LXNpemU6IDEycHQiIGxhbmc9IkVOLVVTIj4NCgkJCTEwMCU8L3NwYW4+PHNwYW4g
+c3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+
+1rG9082218qhotaxvdO+zdK1oaLJ88X6yrG85LbMo6g8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9y
+OiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEycHQiIGxhbmc9IkVOLVVT
+Ij44LTk8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7
+IGZvbnQtc2l6ZTogMTJwdCI+uPbUwqOpo6w8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFj
+azsgZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEycHQiPjxzcGFuIGNsYXNzPSJBcHBs
+ZS1jb252ZXJ0ZWQtc3BhY2UiPg0KCQkJPC9zcGFuPjwvc3Bhbj4NCgkJCTxzcGFuIHN0eWxlPSJj
+b2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQiPqO7PC9zcGFu
+PjwvYj48L3A+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDE3
+LjI1cHQ7IHRleHQtaW5kZW50OiAtMjFwdDsgbWFyZ2luLWxlZnQ6IDIxcHQiIGNsYXNzPSJNc29O
+b3JtYWwiIGFsaWduPSJsZWZ0Ij4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQt
+ZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1VUyI+DQoJCQkyLjwvc3Bh
+bj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXpl
+OiA3cHQiIGxhbmc9IkVOLVVTIj48c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4N
+CgkJCTwvc3Bhbj48L3NwYW4+DQoJCQk8c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZh
+bWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij7X1NPQPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xv
+cjogYmxhY2s7IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1V
+UyI+MTAwJTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M
+5TsgZm9udC1zaXplOiAxMnB0Ij61xLL6yKijrDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJs
+YWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTJwdCI+PHNwYW4gY2xhc3M9IkFw
+cGxlLWNvbnZlcnRlZC1zcGFjZSI+DQoJCQk8L3NwYW4+PC9zcGFuPg0KCQkJPHNwYW4gc3R5bGU9
+ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+ssbO8c3q
+yKvNuMP3o6w8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IEFy
+aWFsOyBmb250LXNpemU6IDEycHQiPjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui
+Pg0KCQkJPC9zcGFuPjwvc3Bhbj4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQt
+ZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQiPrfnz9W/yb/Yo7s8L3NwYW4+PC9wPg0KCQkJ
+PHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxNy4yNXB0OyB0ZXh0LWlu
+ZGVudDogLTIxcHQ7IG1hcmdpbi1sZWZ0OiAyMXB0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0i
+bGVmdCI+DQoJCQk8c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7
+IGZvbnQtc2l6ZTogMTJwdCIgbGFuZz0iRU4tVVMiPg0KCQkJMy48L3NwYW4+PHNwYW4gc3R5bGU9
+ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogN3B0IiBsYW5nPSJF
+Ti1VUyI+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+DQoJCQk8L3NwYW4+PC9z
+cGFuPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZv
+bnQtc2l6ZTogMTJwdCI+DQoJCQnWqsP7xrfFxrXEs8nK7MnM0rXEo8q9o6zRz7jxv7y6y7XE1rDS
+tb6twO3Iy9b3wO2juzwvc3Bhbj48L3A+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsg
+bGluZS1oZWlnaHQ6IDE3LjI1cHQ7IHRleHQtaW5kZW50OiAtMjFwdDsgbWFyZ2luLWxlZnQ6IDIx
+cHQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0Ij4NCgkJCTxzcGFuIHN0eWxlPSJjb2xv
+cjogYmxhY2s7IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1V
+UyI+DQoJCQk0Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTog
+y87M5TsgZm9udC1zaXplOiA3cHQiIGxhbmc9IkVOLVVTIj48c3BhbiBjbGFzcz0iQXBwbGUtY29u
+dmVydGVkLXNwYWNlIj4NCgkJCTwvc3Bhbj48L3NwYW4+DQoJCQk8c3BhbiBzdHlsZT0iY29sb3I6
+IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij4NCgkJCc7lxOq687Cy
+yKu1xMrVubq068qpoaM8L3NwYW4+PC9wPg0KCQkJPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7
+IGxpbmUtaGVpZ2h0OiAxNy4yNXB0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJ
+CQk8c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXpl
+OiAxMnB0Ij4NCgkJCdaxvdPNttfKz+7Ev8vkyLvKx9fusb+1xLDst6ijrDwvc3Bhbj48c3BhbiBz
+dHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTJwdCI+
+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+DQoJCQk8L3NwYW4+PC9zcGFuPg0K
+CQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6
+ZTogMTJwdCI+DQoJCQm1q8rHyerH68jLus3SxsPxucvOysbwwuu/ydLUvOC/2M/uxL+1xL34s8y6
+zdPDuaTIy8r9o6zI57n70aHU8Twvc3Bhbj48L3A+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjog
+bGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1cHQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0
+Ij4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250
+LXNpemU6IDEycHQiPg0KCQkJusPSxsPxz+7Ev7rNtaOxo8zlz7WjrM2218rP4LbUuPywssiroaM8
+L3NwYW4+PC9wPg0KCQkJPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAx
+Ny4yNXB0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0iY2VudGVyIj4NCgkJCTxzcGFuIHN0eWxl
+PSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxNHB0OyBiYWNr
+Z3JvdW5kLWNvbG9yOiBhcXVhIiBsYW5nPSJFTi1VUyI+DQoJCQlWSVA8L3NwYW4+PHNwYW4gc3R5
+bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTRwdDsgYmFj
+a2dyb3VuZC1jb2xvcjogYXF1YSI+16jP36O6PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxh
+Y2s7IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxNHB0OyBiYWNrZ3JvdW5kLWNvbG9y
+OiBhcXVhIiBsYW5nPSJFTi1VUyI+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+
+DQoJCQk8L3NwYW4+MTMzOTE1Mzk5ODg8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsg
+Zm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTRwdDsgYmFja2dyb3VuZC1jb2xvcjogYXF1
+YSI+o7s8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFs
+OyBmb250LXNpemU6IDE0cHQ7IGJhY2tncm91bmQtY29sb3I6IGFxdWEiIGxhbmc9IkVOLVVTIj48
+c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4NCgkJCTwvc3Bhbj5RUTogMjY1NDAz
+NTk5OTwvc3Bhbj48L3A+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWln
+aHQ6IDE3LjI1cHQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiPg0KCQkJPHNwYW4g
+c3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTRwdDsg
+YmFja2dyb3VuZC1jb2xvcjogYXF1YSI+DQoJCQnD4rfRtee7sDwvc3Bhbj48c3BhbiBzdHlsZT0i
+Y29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTRwdDsgYmFja2dy
+b3VuZC1jb2xvcjogYXF1YSIgbGFuZz0iRU4tVVMiPjQwMC02ODY5LTY4NTwvc3Bhbj48L3A+DQoJ
+CQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1cHQiIGNsYXNz
+PSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiPqGhPC9wPg0KCQkJPHAgc3R5bGU9InRleHQtYWxp
+Z246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxNy4yNXB0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0i
+bGVmdCI+DQoJCQk8Yj48Zm9udCBzaXplPSI2IiBmYWNlPSK62szlIj4NCgkJCTxzcGFuIHN0eWxl
+PSJjb2xvcjogYmxhY2s7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdyI+otw8L3NwYW4+PC9mb250
+PjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6
+IDEycHQ7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdyI+w8C5+rG+v8bB9NGnoaqhqrPJuaa687i2
+t9E8L3NwYW4+PC9iPg0KCQkJPC9wPg0KCQkJPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGxp
+bmUtaGVpZ2h0OiAxNy4yNXB0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJCQk8
+Yj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXpl
+OiAxMnB0Ij4NCgkJCdaxzajDwLn6xcXD+7XaPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxh
+Y2s7IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1VUyI+NDk8
+L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQt
+c2l6ZTogMTJwdCI+tcTDwLn6tPPRp7arsbG089GnPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjog
+YmxhY2s7IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1VUyI+
+d3d3Lm5vcnRoZWFzdGVybi5lZHU8L3NwYW4+PC9iPjwvcD4NCgkJCTxwIHN0eWxlPSJ0ZXh0LWFs
+aWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMTcuMjVwdCIgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249
+ImxlZnQiPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7
+IGZvbnQtc2l6ZTogMTJwdCI+DQoJCQmxvr/Gx8XBur/Os8yjus3qs8m687Tvtb2xz9K1serXvKOs
+vLS/ycnqx+u2q7GxtPPRp7XE0afKv9Gnzrs8L3NwYW4+PC9wPg0KCQkJPHAgc3R5bGU9InRleHQt
+YWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxNy4yNXB0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGln
+bj0ibGVmdCI+DQoJCQk8c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M
+5TsgZm9udC1zaXplOiAxMnB0Ij7I69GnzPW8/qO6PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjog
+YmxhY2s7IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1VUyI+
+VE9FRkw6NjFJYnQoPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5
+OiDLzszlOyBmb250LXNpemU6IDEycHQiPrWlz+6yu7XN09o8L3NwYW4+PHNwYW4gc3R5bGU9ImNv
+bG9yOiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEycHQiIGxhbmc9IkVO
+LVVTIj4xMzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M
+5TsgZm9udC1zaXplOiAxMnB0Ij631qOsxuTW0L/a0+88L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9y
+OiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEycHQiIGxhbmc9IkVOLVVT
+Ij4xNjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5Tsg
+Zm9udC1zaXplOiAxMnB0Ij631ryw0LTX9zwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNr
+OyBmb250LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTJwdCIgbGFuZz0iRU4tVVMiPjE0PC9z
+cGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNp
+emU6IDEycHQiPrfW0tTJzzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZh
+bWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTJwdCIgbGFuZz0iRU4tVVMiPilJRUxUUzo2LjAgDQoJ
+CQkoPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBm
+b250LXNpemU6IDEycHQiPrWlz+6yu7XN09o8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFj
+azsgZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEycHQiIGxhbmc9IkVOLVVTIj41LjUp
+PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250
+LXNpemU6IDEycHQiPqO7PC9zcGFuPjwvcD4NCgkJCTxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0
+OyBsaW5lLWhlaWdodDogMTcuMjVwdCIgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiPg0K
+CQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6
+ZTogMTJwdCI+1NrQo7PJvKjGvb75PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZv
+bnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1VUyI+ODA8L3NwYW4+
+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTog
+MTJwdCI+t9bS1MnPo6zG5NbQyc/JzNGn1LrL+dPQ16jStaOsvq28w9Gnus29qNb+0afSqsfzxr2+
++Twvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZv
+bnQtc2l6ZTogMTJwdCIgbGFuZz0iRU4tVVMiPjg0PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjog
+YmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQiPrfW0tTJzzwvc3Bhbj48
+L3A+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1cHQi
+IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0Ij4NCgkJCTxzcGFuIHN0eWxlPSJjb2xvcjog
+YmxhY2s7IGZvbnQtZmFtaWx5OiDLzszlOyBmb250LXNpemU6IDEycHQiPtPFysbXqNK1o7o8L3Nw
+YW4+PC9wPg0KCQkJPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxNy4y
+NXB0IiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCI+DQoJCQk8c3BhbiBzdHlsZT0iY29s
+b3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij4NCgkJCcnM0rW8
+sMnnu+G/xtGno6y5pLPM0aejrMr90ae8sLzGy+O7+tGno6zO78DtvLDJ+sP8v8bRp6OsyczStdDQ
+1f653MDto6y8xsvju/rRp6Os0NDOqsnxvq2/xtGno6w8L3NwYW4+PC9wPg0KCQkJPHAgc3R5bGU9
+InRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxNy4yNXB0IiBjbGFzcz0iTXNvTm9ybWFs
+IiBhbGlnbj0ibGVmdCI+DQoJCQk8c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWls
+eTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij4NCgkJCb6tvMPRp6Osu6/Rp6OsyfrO76OsvfDI2ryw
+u+G8xqOsuaSzzNGnPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5
+OiBBcmlhbDsgZm9udC1zaXplOiAxMnB0IiBsYW5nPSJFTi1VUyI+LTwvc3Bhbj48c3BhbiBzdHls
+ZT0iY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0Ij7NwcS+
+vLC7t7Gjo6zJ+s7vvLzK9aOsufq8ysrCzvGjrLmks8zRpzwvc3Bhbj48c3BhbiBzdHlsZT0iY29s
+b3I6IGJsYWNrOyBmb250LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTJwdCIgbGFuZz0iRU4t
+VVMiPi08L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IMvOzOU7
+IGZvbnQtc2l6ZTogMTJwdCI+vMbL47v6z7XNs6OsPC9zcGFuPjwvcD4NCgkJCTxwIHN0eWxlPSJ0
+ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMTcuMjVwdCIgY2xhc3M9Ik1zb05vcm1hbCIg
+YWxpZ249ImxlZnQiPg0KCQkJPHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6
+IMvOzOU7IGZvbnQtc2l6ZTogMTJwdCI+0MLOxdGno6y5pLPM0ac8L3NwYW4+PHNwYW4gc3R5bGU9
+ImNvbG9yOiBibGFjazsgZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEycHQiIGxhbmc9
+IkVOLVVTIj4tPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiDL
+zszlOyBmb250LXNpemU6IDEycHQiPrXnu/qjrL2hv7W/xtGno6zK/dGno6zO78Dttcihozwvc3Bh
+bj48L3A+DQoJCQk8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDE3LjI1
+cHQiIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0Ij4NCgkJCTxzcGFuIHN0eWxlPSJjb2xv
+cjogcmdiKDMxLCA3MywgMTI1KTsgZm9udC1mYW1pbHk6IENhbGlicmk7IGZvbnQtc2l6ZTogMTJw
+dDsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxNywgMjE3LCAyMTcpIiBsYW5nPSJFTi1VUyI+DQoJ
+CQkyMDE0PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDMxLCA3MywgMTI1KTsgZm9udC1m
+YW1pbHk6IENhbGlicmk7IGZvbnQtc2l6ZTogMTJwdCIgbGFuZz0iRU4tVVMiPjxzcGFuIGNsYXNz
+PSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPg0KCQkJPC9zcGFuPjwvc3Bhbj4NCgkJCTxzcGFuIHN0
+eWxlPSJjb2xvcjogcmdiKDMxLCA3MywgMTI1KTsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6
+ZTogMTJwdDsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxNywgMjE3LCAyMTcpIj4NCgkJCc/EvL48
+L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMzEsIDczLCAxMjUpOyBmb250LWZhbWlseTog
+Q2FsaWJyaTsgZm9udC1zaXplOiAxMnB0OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjE3LCAyMTcs
+IDIxNykiIGxhbmc9IkVOLVVTIj4yMDE0PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDMx
+LCA3MywgMTI1KTsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdDsgYmFja2dyb3Vu
+ZC1jb2xvcjogcmdiKDIxNywgMjE3LCAyMTcpIj7E6jwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6
+IHJnYigzMSwgNzMsIDEyNSk7IGZvbnQtZmFtaWx5OiBDYWxpYnJpOyBmb250LXNpemU6IDEycHQ7
+IGJhY2tncm91bmQtY29sb3I6IHJnYigyMTcsIDIxNywgMjE3KSIgbGFuZz0iRU4tVVMiPjQ8L3Nw
+YW4+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMzEsIDczLCAxMjUpOyBmb250LWZhbWlseTogy87M
+5TsgZm9udC1zaXplOiAxMnB0OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjE3LCAyMTcsIDIxNyki
+PtTCPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDMxLCA3MywgMTI1KTsgZm9udC1mYW1p
+bHk6IENhbGlicmk7IGZvbnQtc2l6ZTogMTJwdDsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxNywg
+MjE3LCAyMTcpIiBsYW5nPSJFTi1VUyI+MzA8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2Io
+MzEsIDczLCAxMjUpOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0OyBiYWNrZ3Jv
+dW5kLWNvbG9yOiByZ2IoMjE3LCAyMTcsIDIxNykiPsjVyOvRp6O7yerH673Y1rnI1cbazqo8L3Nw
+YW4+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMzEsIDczLCAxMjUpOyBmb250LWZhbWlseTogQ2Fs
+aWJyaTsgZm9udC1zaXplOiAxMnB0OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjE3LCAyMTcsIDIx
+NykiIGxhbmc9IkVOLVVTIj4yMDE0PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDMxLCA3
+MywgMTI1KTsgZm9udC1mYW1pbHk6IMvOzOU7IGZvbnQtc2l6ZTogMTJwdDsgYmFja2dyb3VuZC1j
+b2xvcjogcmdiKDIxNywgMjE3LCAyMTcpIj7E6jwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IHJn
+YigzMSwgNzMsIDEyNSk7IGZvbnQtZmFtaWx5OiBDYWxpYnJpOyBmb250LXNpemU6IDEycHQ7IGJh
+Y2tncm91bmQtY29sb3I6IHJnYigyMTcsIDIxNywgMjE3KSIgbGFuZz0iRU4tVVMiPjI8L3NwYW4+
+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMzEsIDczLCAxMjUpOyBmb250LWZhbWlseTogy87M5Tsg
+Zm9udC1zaXplOiAxMnB0OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjE3LCAyMTcsIDIxNykiPtTC
+PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDMxLCA3MywgMTI1KTsgZm9udC1mYW1pbHk6
+IENhbGlicmk7IGZvbnQtc2l6ZTogMTJwdDsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxNywgMjE3
+LCAyMTcpIiBsYW5nPSJFTi1VUyI+MjY8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMzEs
+IDczLCAxMjUpOyBmb250LWZhbWlseTogy87M5TsgZm9udC1zaXplOiAxMnB0OyBiYWNrZ3JvdW5k
+LWNvbG9yOiByZ2IoMjE3LCAyMTcsIDIxNykiPsjVPC9zcGFuPjwvZGl2Pg0KCTwvZGl2Pg0KPC9k
+aXY+DQoNCjwvYm9keT4NCg0KPC9odG1sPg0KDQo8ZGl2IGlkPSJxcW1haWxfbWFpbGNvbnRhaW5l
+ciIgY2xhc3M9Im1haWxjb250YWluZXIiPg0KCTxkaXYgc3R5bGU9IlotSU5ERVg6IDE7IFBPU0lU
+SU9OOiByZWxhdGl2ZSIgaWQ9Im1haW5tYWlsIj4NCgkJPGRpdiBzdHlsZT0iWi1JTkRFWDogMTsg
+UE9TSVRJT046IHJlbGF0aXZlOyBQQURESU5HLUJPVFRPTTogMTBweDsgTElORS1IRUlHSFQ6IDEu
+NzsgUEFERElORy1MRUZUOiAxNXB4OyBQQURESU5HLVJJR0hUOiAxNXB4OyBaT09NOiAxOyBIRUlH
+SFQ6IGF1dG87IEZPTlQtU0laRTogMTRweDsgUEFERElORy1UT1A6IDE1cHgiIGlkPSJjb250ZW50
+RGl2IiBjbGFzcz0iYm9keSIgb25jbGljaz0iZ2V0VG9wKCkucHJlU3dhcExpbmsoZXZlbnQsICdo
+dG1sJyk7Ij4NCgkJCTxkaXYgc3R5bGU9IlBBRERJTkctQk9UVE9NOiAwcHg7IE1JTi1IRUlHSFQ6
+IDEwMHB4OyBQQURESU5HLUxFRlQ6IDBweDsgUEFERElORy1SSUdIVDogMHB4OyBGT05ULUZBTUlM
+WTogJ2x1Y2lkYSBHcmFuZGUnLFZlcmRhbmE7IEhFSUdIVDogYXV0bzsgRk9OVC1TSVpFOiAxNHB4
+OyBNQVJHSU4tUklHSFQ6IDE3MHB4OyBQQURESU5HLVRPUDogMHB4OyBfaGVpZ2h0OiAxMDBweCIg
+aWQ9Im1haWxDb250ZW50Q29udGFpbmVyIj4NCgkJCQk8ZGl2Pg0KCQkJCQk8Zm9udCBzdHlsZT0i
+TElORS1IRUlHSFQ6IDIzcHgiIGZhY2U9IlRpbWVzIE5ldyBSb21hbiI+DQoJCQkJCTxzcGFuIHN0
+eWxlPSJGT05ULVNJWkU6IDEycHQiIGxhbmc9IkVOLVVTIj4NCgkJCQkJLS0t08mhsM/6ytvQzaGx
+tb2hsLncwO3QzaGx1Nm1vaGwvq3TqtDNobG16rOktcTI/by2zPg8YnI+DQoJCQkJCTXE6sqxvOTA
+76OsztLDx7f+zvHByzMwMDC24LzSw8W16qOs19+3w8HLyKu5+s7eyv2087Tz0KHQobXEw8W16qOs
+ztLDx7eiz9a16rOkxtWx6bTm1NrS1M/CwKe78zo8YnI+DQoJCQkJCTxmb250IGNvbG9yPSIjMDAw
+MEZGIj6h9Mjnus7M4cn9ubXNqNCttffBpqO/PGJyPg0KCQkJCQmh9Mjnus7M4cn91rTQ0MGmo788
+YnI+DQoJCQkJCaH0yOe6ztPQ0Ke8pMD4sr/K9KO/PGJyPg0KCQkJCQmh9Mjnus7T0NCnvcy1vMXg
+0/2yv8r0o788YnI+DQoJCQkJCaH0yOe6zrSmwO3P1rOhzbu3osrCvP6jvzxicj4NCgkJCQkJofTI
+57rOtPiz9tK71qfT0LvuwaajrNPQxP2+28Gmo6y439K1vKi1xMPFterNxbbTo788YnI+DQoJCQkJ
+CaH0yOe6zrj5vt3DxbXqyv2+3bfWzvajrNPQ0Ke9+NDQu/XGt7X31fujrL21tc2/4rTmo788YnI+
+DQoJCQkJCTwvZm9udD6hraGtPGJyPg0KCQkJCQk8YnI+DQoJCQkJCcC0sMmjobyvtcLE3NOqz/rR
+p9S60dC3orXEoba08tTsvfDFxrXqs6TM2NG106qht7/Os8yjrL38xOrOqtbQufrDxbXqxeDR+MHL
+ODAwMLbgw/vTxdDjteqzpKGjsb6/zrPMzqrE+szhuakxObj2yrXTw8Lktdi5pL7fo6yhsLvYyKW+
+zcTc08OjrNDQtq++zbz70KehsaOsysexvrTOteqzpNG1wbfTqrXE1+6088L0teOho7/Os8zWrs3i
+tcS+rdOqudzA7c7KzOKjrL2yyqa7ub/J0tTT68T61/e49tDUu6/MvczWo6y/zrPMveHK+MqxMTAw
+Jc6qxPq94r72o6zV4srHztLDx72yyqbNxbbT0ru54bXEt/7O8df3t+ehozxwPg0KCQkJCQk8YnI+
+DQoJCQkJCTxmb250IGNvbG9yPSIjMDAwMEZGIj6hvr/Os8zKsbzkob88L2ZvbnQ+ONTCOS0xMMjV
+uePW3SANCgkJCQkJoaGhoTjUwjIzLTI0yNXO5Lq6oaGhoTEw1MIyNaOtMjbI1cnu29qhoaGhMTHU
+wjejrTjI1cnPuqOhoaGhMTLUwjajrTfI1bnj1t08YnI+DQoJCQkJCTxmb250IGNvbG9yPSIjMDAw
+MEZGIj6hvsrav87Qzsq9ob88L2ZvbnQ+vbLKpr2yytorvcfJq7Dn0d0rx+m+s8rTxrUr0KHX6dHQ
+zNYrzcW207fWz+0rvbLKprXjxsA8YnI+DQoJCQkJCTxmb250IGNvbG9yPSIjMDAwMEZGIj6hvr/O
+s8y21M/zob88L2ZvbnQ+tKKxuLXqs6ShotDCyM616rOkoaLV/bixteqzpKGiw8W16r6twO2hosf4
+0/K2vbW8oaLTqtTLvq3A7bXIPGJyPg0KCQkJCQk8Zm9udCBjb2xvcj0iIzAwMDBGRiI+ob7Bqs+1
+t73KvaG/PC9mb250PjQwMC03ODgtMTk5M6GhUVE6MTU3MTk5MTYwMMfx0KG946GhUVE6OTA4MjA0
+NzQ30c/Qob3jPGJyPg0KCQkJCQk8Zm9udCBjb2xvcj0iIzAwMDBGRiI+ob6/zrPMxNrI3aG/PC9m
+b250Pru20621x8K9PGZvbnQgY29sb3I9IiMwMDAwRkYiPmh0dHA6Ly93d3cuNTFqZG4uY29tPC9m
+b250PrLp1MQ8L3NwYW4+PC9mb250PjwvZGl2Pg0KCQkJPC9kaXY+DQoJCTwvZGl2Pg0KCTwvZGl2
+Pg0KPC9kaXY+DQoNCjwvYm9keT4NCg0KPC9odG1sPg0K
+

+ 12 - 1
test/unit/email_parser_test.rb

@@ -349,6 +349,17 @@ Hof
           :to                 => 'sales@znuny.org',
         },
       },
+      {
+        :data         => IO.read('test/fixtures/mail19.box'),
+        :body_md5     => '2fa47e9122f4c1b9c5057400529c7567',
+        :params   => {
+          :from               => '"我" <>',
+          :from_email         => '"=?GB2312?B?ztI=?=" <>',
+          :from_display_name  => '',
+          :subject            => '《欧美简讯》',
+          :to                 => '377861373 <377861373@qq.com>',
+        },
+      },
     ]
 
     files.each { |file|
@@ -367,7 +378,7 @@ Hof
 #          puts '++' + file[:params][key.to_sym].to_s + '++'
           assert_equal( Digest::MD5.hexdigest( file[:params][key.to_sym].to_s ), Digest::MD5.hexdigest( data[:body].to_s ) )
         else
-          assert_equal( file[:params][key.to_sym], data[key.to_sym] )
+          assert_equal( file[:params][key.to_sym], data[key.to_sym], "check #{key}" )
         end
       }