• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <memory>
2 
3 #include "gtest/gtest.h"
4 #include "avb_tools.h"
5 #include "nugget_tools.h"
6 #include "nugget/app/avb/avb.pb.h"
7 #include "nugget/app/keymaster/keymaster.pb.h"
8 #include "Keymaster.client.h"
9 #include <application.h>
10 #include <keymaster.h>
11 #include <nos/AppClient.h>
12 #include <nos/NuggetClient.h>
13 #include <nos/NuggetClientInterface.h>
14 #include "util.h"
15 
16 #include <openssl/bio.h>
17 #include <openssl/evp.h>
18 #include <openssl/pem.h>
19 
20 using std::cout;
21 using std::string;
22 using std::unique_ptr;
23 
24 using namespace nugget::app::avb;
25 using namespace nugget::app::keymaster;
26 
27 namespace {
28 
29 class KeymasterProvisionTest: public testing::Test {
30  protected:
31   static unique_ptr<nos::NuggetClientInterface> client;
32   static unique_ptr<test_harness::TestHarness> uart_printer;
33 
34   static void SetUpTestCase();
35   static void TearDownTestCase();
36 
37   virtual void SetUp(void);
38 
39   virtual void PopulateDefaultRequest(ProvisionDeviceIdsRequest *request);
40 };
41 
42 unique_ptr<nos::NuggetClientInterface> KeymasterProvisionTest::client;
43 unique_ptr<test_harness::TestHarness> KeymasterProvisionTest::uart_printer;
44 
SetUpTestCase()45 void KeymasterProvisionTest::SetUpTestCase() {
46   uart_printer = test_harness::TestHarness::MakeUnique();
47 
48   client = nugget_tools::MakeNuggetClient();
49   client->Open();
50   EXPECT_TRUE(client->IsOpen()) << "Unable to connect";
51 }
52 
TearDownTestCase()53 void KeymasterProvisionTest::TearDownTestCase() {
54   client->Close();
55   client = unique_ptr<nos::NuggetClientInterface>();
56 
57   uart_printer = nullptr;
58 }
59 
SetUp(void)60 void KeymasterProvisionTest::SetUp(void) {
61   avb_tools::ResetProduction(client.get());
62 }
63 
PopulateDefaultRequest(ProvisionDeviceIdsRequest * request)64 void KeymasterProvisionTest::PopulateDefaultRequest(
65     ProvisionDeviceIdsRequest *request) {
66   request->set_product_brand("Pixel");
67   request->set_product_device("3");
68   request->set_product_name("Pixel");
69   request->set_serialno("12345678");
70   request->set_product_manufacturer("Google");
71   request->set_product_model("3");
72   request->set_imei("12345678");
73   request->set_meid("12345678");
74 }
75 
76 // Tests
77 
TEST_F(KeymasterProvisionTest,ProvisionDeviceIdsSuccess)78 TEST_F(KeymasterProvisionTest, ProvisionDeviceIdsSuccess) {
79   ProvisionDeviceIdsRequest request;
80   ProvisionDeviceIdsResponse response;
81 
82   PopulateDefaultRequest(&request);
83 
84   Keymaster service(*client);
85   ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
86   ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
87 }
88 
TEST_F(KeymasterProvisionTest,ReProvisionDeviceIdsSuccess)89 TEST_F(KeymasterProvisionTest, ReProvisionDeviceIdsSuccess) {
90   ProvisionDeviceIdsRequest request;
91   ProvisionDeviceIdsResponse response;
92 
93   PopulateDefaultRequest(&request);
94 
95   Keymaster service(*client);
96 
97   // First instance.
98   ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
99   ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
100 
101   // Second ...
102   ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
103   ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
104 }
105 
TEST_F(KeymasterProvisionTest,ProductionModeProvisionFails)106 TEST_F(KeymasterProvisionTest, ProductionModeProvisionFails) {
107   ProvisionDeviceIdsRequest request;
108   ProvisionDeviceIdsResponse response;
109 
110   PopulateDefaultRequest(&request);
111 
112   Keymaster service(*client);
113 
114   // Set production bit.
115   avb_tools::SetProduction(client.get(), true, NULL, 0);
116 
117   // Provisioning is now disallowed.
118   ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
119   ASSERT_EQ((ErrorCode)response.error_code(),
120             ErrorCode::PRODUCTION_MODE_PROVISIONING);
121 }
122 
TEST_F(KeymasterProvisionTest,InvalidDeviceIdFails)123 TEST_F(KeymasterProvisionTest, InvalidDeviceIdFails) {
124 
125   ProvisionDeviceIdsRequest request;
126   ProvisionDeviceIdsResponse response;
127 
128   PopulateDefaultRequest(&request);
129 
130   string bad_serialno(KM_MNF_MAX_ENTRY_SIZE + 1, '5');
131   request.set_serialno(bad_serialno);
132 
133   Keymaster service(*client);
134 
135   ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
136   ASSERT_EQ((ErrorCode)response.error_code(),
137             ErrorCode::INVALID_DEVICE_IDS);
138 }
139 
TEST_F(KeymasterProvisionTest,MaxDeviceIdSuccess)140 TEST_F(KeymasterProvisionTest, MaxDeviceIdSuccess) {
141 
142   ProvisionDeviceIdsRequest request;
143   ProvisionDeviceIdsResponse response;
144 
145   PopulateDefaultRequest(&request);
146 
147   string max_serialno(KM_MNF_MAX_ENTRY_SIZE, '5');
148   request.set_serialno(max_serialno);
149 
150   Keymaster service(*client);
151 
152   ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
153   ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
154 }
155 
156 // Regression test for b/77830050#comment6
TEST_F(KeymasterProvisionTest,NoMeidSuccess)157 TEST_F(KeymasterProvisionTest, NoMeidSuccess) {
158 
159   ProvisionDeviceIdsRequest request;
160   ProvisionDeviceIdsResponse response;
161 
162   PopulateDefaultRequest(&request);
163   request.clear_meid();
164 
165   Keymaster service(*client);
166 
167   ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
168   ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
169 }
170 
171 const static uint8_t ATTESTION_CERT_adacb483_0100b022[7 * 1024] = {
172   0x29, 0x81, 0xb0, 0x4a, 0x4c, 0xcf, 0x9d, 0x8e, 0x80, 0xbc, 0xd9, 0xee,
173   0x34, 0x23, 0x50, 0x55, 0x48, 0xb3, 0x7f, 0x79, 0xce, 0x66, 0x76, 0x91,
174   0x7b, 0x98, 0x31, 0xfc, 0x9b, 0x30, 0x44, 0xbf, 0xcd, 0xa0, 0x1e, 0x04,
175   0x51, 0x95, 0x86, 0x2d, 0xa6, 0x49, 0xce, 0x8a, 0x74, 0x0a, 0xf4, 0x96,
176   0x71, 0xf3, 0x5b, 0xe7, 0xf9, 0xb7, 0x7d, 0xe4, 0x0c, 0x76, 0xc4, 0x63,
177   0x7a, 0xba, 0x58, 0xde, 0x89, 0xab, 0xcd, 0xef, 0x01, 0x00, 0x02, 0x00,
178   0x83, 0xb4, 0xac, 0xad, 0x22, 0xb0, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00,
179   0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
180   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
181   0x29, 0x7d, 0x4b, 0x89, 0x03, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
182   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
183   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
184   0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x07, 0x83, 0xee,
185   0xee, 0xee, 0xee, 0xee, 0x50, 0x50, 0x50, 0x50, 0x00, 0x08, 0x00, 0x00,
186   0xa1, 0x04, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x57, 0x7c, 0xa0, 0xa6,
187   0xac, 0xc2, 0xe3, 0x45, 0x3b, 0x4f, 0xe3, 0x9b, 0x79, 0x68, 0x37, 0x70,
188   0xff, 0xf3, 0x0b, 0x4f, 0xf1, 0x80, 0x99, 0xc8, 0x37, 0xff, 0x3a, 0x8f,
189   0x4a, 0x27, 0x3a, 0x58, 0xe5, 0x03, 0x4b, 0xfd, 0x49, 0x8b, 0x63, 0xc1,
190   0xcb, 0xe6, 0xd9, 0xb0, 0xd3, 0x29, 0xc7, 0xd1, 0xee, 0x05, 0x4f, 0x3a,
191   0x02, 0xd2, 0x69, 0x4f, 0xc0, 0x96, 0x41, 0x69, 0xc1, 0x9e, 0x7e, 0xcb,
192   0xe5, 0xb9, 0x77, 0x2d, 0x73, 0x63, 0xaa, 0xb2, 0x7d, 0x5d, 0x82, 0x83,
193   0xc9, 0x0e, 0x75, 0x25, 0x27, 0x50, 0x65, 0x0d, 0xe8, 0x9d, 0x98, 0xe3,
194   0xd2, 0x5e, 0x7f, 0x4a, 0xca, 0x08, 0x2d, 0x99, 0x94, 0x69, 0xe9, 0x98,
195   0x59, 0x75, 0x73, 0xd5, 0xb0, 0x23, 0x9e, 0xa3, 0x31, 0x3a, 0x24, 0x59,
196   0xaa, 0xea, 0x5a, 0x79, 0x0d, 0xf2, 0x6f, 0xd9, 0x66, 0x4f, 0x1e, 0xd2,
197   0x49, 0x7b, 0xb9, 0xb2, 0xbb, 0x6e, 0xe2, 0xc2, 0x58, 0x19, 0xaf, 0x53,
198   0x22, 0x24, 0x32, 0x52, 0x1d, 0xbf, 0x9e, 0xf2, 0xfa, 0x65, 0xc0, 0x42,
199   0x03, 0x2b, 0xfc, 0x77, 0x04, 0xb7, 0xe0, 0xb8, 0xfd, 0x79, 0xf5, 0xb8,
200   0xee, 0x0e, 0x2d, 0x80, 0x52, 0x22, 0x60, 0x50, 0x60, 0x68, 0xbc, 0x5a,
201   0x01, 0x71, 0x7a, 0x88, 0x6c, 0xe9, 0x55, 0xb1, 0xbb, 0xec, 0x45, 0x5f,
202   0x03, 0x04, 0x19, 0x9b, 0xc0, 0xa0, 0x0b, 0xaa, 0x7b, 0x7a, 0xbf, 0xa7,
203   0x8f, 0x7f, 0x78, 0x4a, 0x48, 0xc8, 0x1e, 0xd5, 0xb7, 0x5e, 0xc7, 0xe5,
204   0x04, 0x6a, 0x9f, 0x8d, 0x6b, 0xb8, 0xf2, 0x0b, 0x30, 0x63, 0xe5, 0x87,
205   0x9c, 0x72, 0xc3, 0x02, 0x81, 0x37, 0x3e, 0x0a, 0xf0, 0xe2, 0xbc, 0x1a,
206   0xef, 0x82, 0x8f, 0x2c, 0xff, 0xd0, 0xe5, 0x70, 0x0a, 0x52, 0x97, 0x6f,
207   0xbc, 0x2c, 0x97, 0x7c, 0x17, 0x61, 0xc1, 0x38, 0xbe, 0x34, 0xd4, 0x69,
208   0xc4, 0x6a, 0xed, 0xed, 0xcc, 0x87, 0xcf, 0x11, 0x23, 0x13, 0x02, 0xeb,
209   0xb0, 0x2c, 0xd0, 0x54, 0x95, 0x03, 0xd2, 0x6d, 0x3c, 0xc7, 0x4b, 0xd5,
210   0xd8, 0x8e, 0xda, 0xef, 0x75, 0x8c, 0xe7, 0x60, 0x58, 0xcc, 0x93, 0x00,
211   0x1d, 0xe6, 0xa2, 0x72, 0xf8, 0xf1, 0x12, 0xc1, 0x04, 0x98, 0xf5, 0x25,
212   0xcd, 0x06, 0x7a, 0xb3, 0xc3, 0x11, 0xad, 0x1b, 0xa7, 0xc7, 0x0a, 0x1f,
213   0x16, 0x2a, 0x1e, 0x62, 0xed, 0x20, 0xb1, 0x53, 0xe1, 0x04, 0x1b, 0xe8,
214   0x98, 0x16, 0xce, 0xed, 0xf7, 0x24, 0xca, 0x8f, 0x25, 0xfa, 0x7c, 0xf8,
215   0x20, 0x59, 0x4e, 0xea, 0xe6, 0x58, 0x9d, 0x2a, 0x7a, 0xfd, 0x65, 0xed,
216   0x64, 0xdc, 0x66, 0x84, 0x08, 0xd3, 0xda, 0x6b, 0xcf, 0x50, 0x77, 0xed,
217   0x42, 0x66, 0x6d, 0x8d, 0xb7, 0xdc, 0xc2, 0x22, 0xaa, 0xec, 0x61, 0x66,
218   0xdb, 0xb5, 0xaf, 0x33, 0x0e, 0xe7, 0xb7, 0xca, 0x30, 0x82, 0x04, 0x9d,
219   0x30, 0x82, 0x02, 0x85, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a, 0x17,
220   0x10, 0x24, 0x68, 0x40, 0x71, 0x02, 0x97, 0x78, 0x50, 0x30, 0x0d, 0x06,
221   0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00,
222   0x30, 0x2f, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x05, 0x13,
223   0x10, 0x63, 0x63, 0x64, 0x31, 0x38, 0x62, 0x39, 0x62, 0x36, 0x30, 0x38,
224   0x64, 0x36, 0x35, 0x38, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
225   0x04, 0x0c, 0x0c, 0x09, 0x53, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x42, 0x6f,
226   0x78, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x38, 0x30, 0x35, 0x32, 0x35, 0x32,
227   0x33, 0x32, 0x38, 0x34, 0x37, 0x5a, 0x17, 0x0d, 0x32, 0x38, 0x30, 0x35,
228   0x32, 0x32, 0x32, 0x33, 0x32, 0x38, 0x34, 0x37, 0x5a, 0x30, 0x2f, 0x31,
229   0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x05, 0x13, 0x10, 0x39, 0x30,
230   0x65, 0x38, 0x64, 0x61, 0x33, 0x63, 0x61, 0x64, 0x66, 0x63, 0x37, 0x38,
231   0x32, 0x30, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0c, 0x0c,
232   0x09, 0x53, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x30, 0x82,
233   0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
234   0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82,
235   0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa5, 0x09, 0xd4, 0x09, 0xd2,
236   0x30, 0x19, 0x36, 0x34, 0x71, 0xfd, 0x7d, 0x41, 0x89, 0xe6, 0x2c, 0xa5,
237   0x9d, 0x10, 0x1b, 0x4f, 0x40, 0x6a, 0xb0, 0x5f, 0x56, 0x34, 0x16, 0xe6,
238   0xeb, 0xd7, 0xf3, 0xe9, 0xc5, 0xdc, 0x20, 0xf3, 0x86, 0xd1, 0x77, 0x19,
239   0xd7, 0x15, 0x1f, 0xe7, 0xec, 0x62, 0xdc, 0x0a, 0xbc, 0x64, 0xe9, 0x18,
240   0x52, 0xb0, 0xaa, 0xb8, 0xff, 0x58, 0x6a, 0xe0, 0x0f, 0xb8, 0x56, 0xaf,
241   0x77, 0xd3, 0xce, 0x3c, 0xdc, 0x48, 0x52, 0xdd, 0xb2, 0x86, 0x0d, 0x76,
242   0x17, 0x7c, 0xfd, 0xee, 0xb4, 0xe6, 0x6e, 0x0a, 0x08, 0x9e, 0x06, 0xca,
243   0x0f, 0xec, 0x4b, 0xb0, 0x7c, 0xaf, 0xea, 0x82, 0x27, 0xa8, 0xc9, 0xa7,
244   0x63, 0xda, 0x89, 0xf6, 0x30, 0xba, 0x3c, 0x3a, 0xe5, 0xc6, 0xef, 0x11,
245   0x06, 0x42, 0x8a, 0x2e, 0xfe, 0x19, 0xbe, 0xf2, 0xc7, 0x3b, 0x34, 0x16,
246   0xb2, 0xe2, 0x64, 0xc7, 0xca, 0x66, 0x02, 0x85, 0xe3, 0x57, 0x6f, 0x11,
247   0x13, 0x3a, 0xff, 0xd5, 0x30, 0x13, 0x7d, 0xea, 0xe0, 0x22, 0xa2, 0x91,
248   0x0c, 0xaf, 0xf0, 0x5c, 0xd7, 0xc1, 0xb4, 0x85, 0x69, 0x7c, 0xc0, 0x39,
249   0xdb, 0x4e, 0xc1, 0x5a, 0xd8, 0xcc, 0x42, 0x7c, 0x06, 0x74, 0x01, 0x93,
250   0xa3, 0xa4, 0x10, 0x96, 0x29, 0xf2, 0x8e, 0x0a, 0xf7, 0x49, 0x4b, 0x87,
251   0x49, 0x13, 0x89, 0xe5, 0x00, 0x10, 0x96, 0xea, 0x37, 0x0d, 0xd7, 0x5d,
252   0x43, 0x41, 0x2b, 0x4e, 0x59, 0x9a, 0x51, 0xee, 0x73, 0xdb, 0x52, 0x95,
253   0x08, 0xe2, 0x6b, 0xb2, 0x33, 0xf7, 0x04, 0xbe, 0x51, 0x1c, 0x23, 0x62,
254   0x6e, 0xc2, 0x5f, 0x00, 0xc3, 0xa4, 0xc9, 0xbd, 0xe7, 0xc6, 0x65, 0x0d,
255   0xb1, 0xc4, 0x5e, 0x62, 0xb9, 0x9c, 0x2a, 0x26, 0x05, 0x67, 0xd0, 0xa9,
256   0x9a, 0x12, 0x1c, 0x49, 0x7b, 0x36, 0xbe, 0x6f, 0xf2, 0x68, 0x65, 0x02,
257   0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xba, 0x30, 0x81, 0xb7, 0x30, 0x1d,
258   0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x77, 0xa4, 0xad,
259   0xdf, 0x1d, 0x29, 0x89, 0xca, 0x92, 0xe3, 0xba, 0xde, 0x27, 0x3c, 0x70,
260   0xdf, 0x36, 0x03, 0x7c, 0x0c, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
261   0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x1b, 0x17, 0x70, 0xc6, 0x97, 0xdc,
262   0x84, 0x54, 0x75, 0x7c, 0x3c, 0x98, 0x5c, 0xe6, 0x1d, 0x1d, 0x08, 0x59,
263   0x5d, 0x53, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff,
264   0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55,
265   0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x02, 0x04, 0x30,
266   0x54, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x4d, 0x30, 0x4b, 0x30, 0x49,
267   0xa0, 0x47, 0xa0, 0x45, 0x86, 0x43, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
268   0x2f, 0x2f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x67, 0x6f,
269   0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
270   0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
271   0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x31, 0x37, 0x31, 0x30, 0x32, 0x34, 0x36,
272   0x38, 0x34, 0x30, 0x37, 0x31, 0x30, 0x32, 0x39, 0x37, 0x37, 0x38, 0x35,
273   0x30, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
274   0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x13, 0x22, 0xda,
275   0xf2, 0x92, 0x93, 0xce, 0xc0, 0x9f, 0x70, 0x40, 0xc9, 0xda, 0x85, 0x6b,
276   0x61, 0x6f, 0x8f, 0xbe, 0xe0, 0xa4, 0x04, 0x55, 0xc1, 0x63, 0x84, 0x61,
277   0x37, 0xf5, 0x4b, 0x71, 0x6d, 0x62, 0xaa, 0x6f, 0xbf, 0x6c, 0xe8, 0x48,
278   0x03, 0xad, 0x28, 0x85, 0x21, 0x9e, 0x3c, 0x1c, 0x91, 0x48, 0xee, 0x65,
279   0x28, 0x65, 0x70, 0xd0, 0xbd, 0x5b, 0xcc, 0xdb, 0xce, 0xb1, 0xf5, 0xb5,
280   0xc3, 0xca, 0x7a, 0xa9, 0xc8, 0x8a, 0x68, 0x12, 0x8a, 0xca, 0x6a, 0x85,
281   0xa6, 0xbc, 0xda, 0x36, 0xe9, 0xb9, 0x94, 0x35, 0x82, 0x5b, 0xca, 0xbc,
282   0xb6, 0x9f, 0x83, 0x03, 0x7f, 0x21, 0x6c, 0xee, 0x82, 0xc1, 0x3f, 0xbd,
283   0xc1, 0x41, 0x4b, 0xdd, 0x1a, 0x6f, 0x6c, 0xaf, 0x4a, 0x52, 0xfc, 0x19,
284   0x19, 0x17, 0xac, 0x29, 0x0c, 0x5e, 0xd7, 0x57, 0x90, 0xd5, 0xb1, 0x2b,
285   0x36, 0x29, 0x1f, 0x45, 0x33, 0x17, 0xe0, 0x95, 0x50, 0x92, 0x08, 0x44,
286   0xc2, 0x91, 0x11, 0xe8, 0x2e, 0x16, 0x50, 0x32, 0x98, 0xa5, 0x58, 0x82,
287   0xd8, 0x78, 0x26, 0x27, 0xa5, 0x92, 0xa2, 0x47, 0xec, 0x74, 0x9f, 0xbc,
288   0x0e, 0x87, 0x9b, 0xd0, 0x34, 0xce, 0x20, 0xb9, 0x6a, 0x89, 0x2b, 0x35,
289   0xa8, 0xb7, 0x19, 0x18, 0x8d, 0x31, 0x81, 0xf3, 0x0f, 0xb6, 0x95, 0x64,
290   0x4b, 0x79, 0x2e, 0xa1, 0xca, 0x69, 0xa6, 0x13, 0x10, 0x0a, 0x06, 0x1b,
291   0x04, 0x8b, 0x46, 0xa3, 0x89, 0x5b, 0xee, 0xdc, 0xeb, 0x41, 0x7b, 0xbb,
292   0x5c, 0x68, 0x6c, 0xd9, 0xb9, 0x8e, 0xe3, 0xd8, 0x87, 0x79, 0xe5, 0xf0,
293   0x69, 0xe2, 0xe8, 0xb7, 0x98, 0x73, 0xab, 0xfb, 0xfd, 0xb6, 0xaf, 0x3e,
294   0xc5, 0x04, 0xca, 0x9b, 0x70, 0x43, 0xe9, 0x27, 0xa7, 0x5b, 0x04, 0x90,
295   0xc8, 0x6d, 0x5e, 0x94, 0x63, 0xa0, 0x80, 0x07, 0x0d, 0x46, 0xfb, 0x3b,
296   0xd9, 0x9b, 0x5c, 0x6a, 0x6e, 0xb6, 0xf9, 0xa6, 0x82, 0xf4, 0x46, 0x9d,
297   0x9e, 0x14, 0xa7, 0xa2, 0xb7, 0x0f, 0x2c, 0x5e, 0xbe, 0x78, 0xb1, 0x44,
298   0x69, 0xf7, 0x83, 0x37, 0x6c, 0xa2, 0x52, 0xaf, 0x1a, 0x1d, 0xcd, 0x12,
299   0x3f, 0x39, 0x98, 0x24, 0xac, 0xfc, 0x32, 0x8a, 0xba, 0xd7, 0xcf, 0x5e,
300   0xf1, 0x10, 0x13, 0xcc, 0x58, 0x29, 0x26, 0x3f, 0x1d, 0xc1, 0xd4, 0x2a,
301   0xec, 0xb4, 0xa1, 0xaf, 0xd9, 0xdd, 0x16, 0x7b, 0x54, 0x8f, 0xb2, 0x39,
302   0xda, 0xdc, 0x26, 0x7d, 0x3a, 0x4f, 0x36, 0x72, 0x96, 0x12, 0x83, 0x7d,
303   0x98, 0x98, 0xd2, 0x4a, 0x4e, 0xfb, 0x0e, 0xe6, 0x84, 0xee, 0xf4, 0x26,
304   0xda, 0x01, 0x3b, 0xb3, 0x15, 0xda, 0x17, 0xc8, 0x78, 0x57, 0xfb, 0xd3,
305   0x91, 0x17, 0x2d, 0x3c, 0x27, 0xab, 0x00, 0xda, 0xb0, 0x98, 0x95, 0xa4,
306   0x84, 0x6b, 0xcd, 0xbf, 0xa7, 0xa7, 0x95, 0xef, 0xaa, 0xb0, 0x91, 0xf8,
307   0x98, 0xa8, 0x33, 0x3d, 0x90, 0x93, 0x9d, 0x75, 0x11, 0xe9, 0xbd, 0x70,
308   0x16, 0x6d, 0x22, 0xc9, 0x2f, 0x24, 0xb1, 0x55, 0x80, 0xcb, 0x6b, 0x19,
309   0xc1, 0x78, 0xa0, 0xc5, 0x24, 0x86, 0xbd, 0xb8, 0x12, 0x64, 0x87, 0x89,
310   0x91, 0x74, 0xd0, 0xf6, 0xa2, 0x4c, 0x44, 0xf8, 0x7d, 0xf5, 0x3d, 0x0b,
311   0x1d, 0x69, 0xf6, 0xb3, 0xfb, 0x0b, 0x3d, 0x50, 0xd9, 0x5a, 0xe6, 0xbb,
312   0x39, 0xd5, 0x9b, 0x6a, 0x16, 0xee, 0xce, 0xfe, 0x5c, 0x61, 0xc5, 0x2d,
313   0x83, 0xf5, 0xe8, 0x0e, 0x21, 0xfc, 0x2e, 0xb7, 0xc8, 0xbc, 0xf6, 0x4d,
314   0x6f, 0x9b, 0x1d, 0x69, 0x76, 0x6c, 0x89, 0x2c, 0x5f, 0x42, 0xde, 0xc5,
315   0x2f, 0xe4, 0x30, 0x18, 0xcd, 0x47, 0xbc, 0x72, 0xa1, 0x50, 0x87, 0xd0,
316   0x13, 0xc2, 0xe8, 0x2c, 0x55, 0xa1, 0xdc, 0x83, 0x3e, 0x66, 0x65, 0x88,
317   0xc2, 0xa8, 0x2c, 0x81, 0x8d, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
318   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
319   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
320   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
321   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
322   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
323   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
324   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
325   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
326   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
327   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
328   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
329   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
330   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
331   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
332   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
333   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
334   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
335   0xee, 0xee, 0xee, 0xee, 0x94, 0x02, 0x84, 0xee, 0xee, 0xee, 0xee, 0xee,
336   0x50, 0x50, 0x50, 0x50, 0x34, 0x02, 0x00, 0x00, 0x60, 0xd1, 0x7e, 0x20,
337   0x53, 0x4f, 0x4a, 0x8e, 0xcc, 0xdc, 0x7f, 0xae, 0x9e, 0x10, 0xfd, 0x62,
338   0x05, 0xd5, 0xd5, 0xcc, 0x78, 0x63, 0x53, 0xfb, 0x61, 0x5c, 0xee, 0x28,
339   0x92, 0x3f, 0x16, 0x88, 0x30, 0x82, 0x02, 0x30, 0x30, 0x82, 0x01, 0xb7,
340   0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a, 0x11, 0x23, 0x38, 0x24, 0x34,
341   0x40, 0x08, 0x68, 0x01, 0x71, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
342   0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2f, 0x31, 0x19, 0x30, 0x17, 0x06,
343   0x03, 0x55, 0x04, 0x05, 0x13, 0x10, 0x63, 0x63, 0x64, 0x31, 0x38, 0x62,
344   0x39, 0x62, 0x36, 0x30, 0x38, 0x64, 0x36, 0x35, 0x38, 0x65, 0x31, 0x12,
345   0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0c, 0x0c, 0x09, 0x53, 0x74, 0x72,
346   0x6f, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x38,
347   0x30, 0x35, 0x32, 0x35, 0x32, 0x33, 0x32, 0x38, 0x35, 0x30, 0x5a, 0x17,
348   0x0d, 0x32, 0x38, 0x30, 0x35, 0x32, 0x32, 0x32, 0x33, 0x32, 0x38, 0x35,
349   0x30, 0x5a, 0x30, 0x2f, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04,
350   0x05, 0x13, 0x10, 0x39, 0x30, 0x65, 0x38, 0x64, 0x61, 0x33, 0x63, 0x61,
351   0x64, 0x66, 0x63, 0x37, 0x38, 0x32, 0x30, 0x31, 0x12, 0x30, 0x10, 0x06,
352   0x03, 0x55, 0x04, 0x0c, 0x0c, 0x09, 0x53, 0x74, 0x72, 0x6f, 0x6e, 0x67,
353   0x42, 0x6f, 0x78, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
354   0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03,
355   0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xe4, 0x57, 0x44, 0xc2, 0xb1, 0x9f,
356   0xaf, 0x70, 0x8a, 0x17, 0x2b, 0x40, 0x4b, 0x7b, 0x8a, 0xb8, 0xb1, 0x0d,
357   0x6f, 0x78, 0x13, 0xc4, 0xdb, 0x6f, 0x0b, 0xaa, 0x57, 0x50, 0x09, 0x03,
358   0xc2, 0x6f, 0xa2, 0x01, 0x0a, 0x93, 0x3b, 0xac, 0x70, 0xe0, 0x2a, 0x6b,
359   0x1a, 0xbe, 0x25, 0xad, 0xb0, 0x0d, 0x1a, 0x9c, 0x9c, 0x94, 0xa5, 0x71,
360   0xd3, 0x56, 0x2c, 0x74, 0x99, 0xd2, 0x32, 0xf5, 0x77, 0x27, 0xa3, 0x81,
361   0xba, 0x30, 0x81, 0xb7, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04,
362   0x16, 0x04, 0x14, 0x6f, 0xb1, 0xb5, 0x31, 0x9d, 0xb6, 0xb8, 0x85, 0x15,
363   0xbe, 0xcf, 0xc0, 0x0c, 0x77, 0x1a, 0x8f, 0xe7, 0x54, 0xea, 0x96, 0x30,
364   0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14,
365   0xbc, 0x5b, 0xcb, 0xd5, 0x79, 0xc6, 0x94, 0xdc, 0x19, 0x8f, 0x9b, 0x9f,
366   0x67, 0x53, 0xcc, 0xeb, 0xe6, 0x62, 0xdf, 0xde, 0x30, 0x0f, 0x06, 0x03,
367   0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01,
368   0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04,
369   0x04, 0x03, 0x02, 0x02, 0x04, 0x30, 0x54, 0x06, 0x03, 0x55, 0x1d, 0x1f,
370   0x04, 0x4d, 0x30, 0x4b, 0x30, 0x49, 0xa0, 0x47, 0xa0, 0x45, 0x86, 0x43,
371   0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x61, 0x6e, 0x64, 0x72,
372   0x6f, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
373   0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73,
374   0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x31,
375   0x31, 0x32, 0x33, 0x33, 0x38, 0x32, 0x34, 0x33, 0x34, 0x34, 0x30, 0x30,
376   0x38, 0x36, 0x38, 0x30, 0x31, 0x37, 0x31, 0x30, 0x0a, 0x06, 0x08, 0x2a,
377   0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x67, 0x00, 0x30, 0x64,
378   0x02, 0x30, 0x50, 0x73, 0xc6, 0x56, 0xeb, 0x18, 0x96, 0xab, 0x5f, 0xe7,
379   0xbc, 0x77, 0xb5, 0x1f, 0x0f, 0x93, 0x36, 0x06, 0xbd, 0xd0, 0xc4, 0xa5,
380   0x05, 0x01, 0x2d, 0x6d, 0x7c, 0x6c, 0x72, 0xf4, 0xbc, 0x3b, 0xdb, 0x27,
381   0xc5, 0x9f, 0xcb, 0xf7, 0x8f, 0x13, 0x72, 0x09, 0xa9, 0xa0, 0x96, 0xaa,
382   0x70, 0xf2, 0x02, 0x30, 0x62, 0x4c, 0xdb, 0x64, 0x3b, 0xf1, 0xfe, 0xe5,
383   0x3a, 0xbd, 0x72, 0x1a, 0x07, 0x5c, 0xb4, 0x3d, 0x11, 0xaa, 0xe4, 0x9a,
384   0x79, 0xc4, 0x88, 0x0a, 0xa9, 0x41, 0x09, 0xbe, 0xc0, 0x6e, 0xc8, 0xc3,
385   0x7c, 0x25, 0xd2, 0x6c, 0x7f, 0x3b, 0xc7, 0x6e, 0x46, 0x32, 0x65, 0x4b,
386   0xa3, 0x53, 0xf4, 0x95, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
387   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
388   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
389   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
390   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
391   0x74, 0x02, 0x85, 0xee, 0xee, 0xee, 0xee, 0xee, 0x50, 0x50, 0x50, 0x50,
392   0x4d, 0x01, 0x00, 0x00, 0x30, 0x82, 0x01, 0x49, 0x30, 0x81, 0xf0, 0xa0,
393   0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x3f, 0x2d, 0x32, 0x42, 0x04, 0x65,
394   0x72, 0x08, 0x12, 0x82, 0x10, 0x2b, 0xaa, 0x66, 0x15, 0x0f, 0x30, 0x0a,
395   0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x25,
396   0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1a, 0x53,
397   0x74, 0x72, 0x6f, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x2d, 0x32, 0x42, 0x31,
398   0x30, 0x38, 0x32, 0x31, 0x32, 0x30, 0x38, 0x37, 0x32, 0x36, 0x35, 0x30,
399   0x34, 0x30, 0x22, 0x18, 0x0f, 0x32, 0x30, 0x31, 0x38, 0x30, 0x37, 0x30,
400   0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x5a, 0x18, 0x0f, 0x32, 0x30,
401   0x32, 0x38, 0x30, 0x38, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
402   0x5a, 0x30, 0x25, 0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03,
403   0x13, 0x1a, 0x53, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x2d,
404   0x32, 0x42, 0x31, 0x30, 0x38, 0x32, 0x31, 0x32, 0x30, 0x38, 0x37, 0x32,
405   0x36, 0x35, 0x30, 0x34, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
406   0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
407   0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x1c, 0xf7, 0x2d, 0xb6, 0xd3,
408   0x52, 0x3e, 0x34, 0xf2, 0x42, 0x81, 0x1a, 0xf8, 0x04, 0x00, 0xe1, 0x68,
409   0x5e, 0xba, 0x92, 0x4c, 0x07, 0x10, 0xc3, 0x26, 0xc7, 0xe7, 0xa6, 0x35,
410   0x96, 0xaf, 0x31, 0xcc, 0x15, 0x6a, 0xc7, 0x8a, 0x2d, 0x06, 0xdc, 0x40,
411   0xb9, 0xc4, 0x58, 0xd5, 0x77, 0xcd, 0xf7, 0x61, 0x7d, 0x70, 0x85, 0xca,
412   0x32, 0x78, 0x7c, 0x8a, 0x7b, 0x8c, 0x8d, 0x29, 0x5a, 0xa3, 0xeb, 0x30,
413   0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
414   0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0xf3, 0x9d, 0x47, 0x0b, 0x56,
415   0xe0, 0x67, 0xaa, 0x0e, 0xa2, 0x35, 0xbd, 0xfe, 0xb3, 0x83, 0xb6, 0xc8,
416   0x0b, 0x17, 0xee, 0x36, 0xa0, 0xe4, 0x89, 0xbc, 0x4f, 0xe6, 0x3e, 0x5a,
417   0x38, 0x6f, 0x67, 0x02, 0x20, 0x6f, 0x01, 0xbe, 0x6a, 0xba, 0x84, 0x5d,
418   0xe1, 0xbf, 0x6b, 0x65, 0x74, 0x37, 0xe5, 0xae, 0x5a, 0x56, 0x84, 0x73,
419   0x10, 0xb9, 0xa4, 0x32, 0xa8, 0xd8, 0xde, 0x79, 0xba, 0x2f, 0xfb, 0x6b,
420   0x06, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
421   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
422   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
423   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
424   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
425   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
426   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
427   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
428   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
429   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
430   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
431   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
432   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
433   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
434   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
435   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
436   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
437   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
438   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
439   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
440   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
441   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
442   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
443   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
444   0x74, 0x02, 0x88, 0xee, 0xee, 0xee, 0xee, 0xee, 0x50, 0x50, 0x50, 0x50,
445   0x4c, 0x01, 0x00, 0x00, 0x30, 0x82, 0x01, 0x48, 0x30, 0x81, 0xf0, 0xa0,
446   0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x3f, 0x2d, 0x32, 0x42, 0x04, 0x65,
447   0x72, 0x08, 0x12, 0x82, 0x10, 0x2b, 0xaa, 0x66, 0x15, 0x0f, 0x30, 0x0a,
448   0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x25,
449   0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1a, 0x55,
450   0x32, 0x46, 0x47, 0x6e, 0x75, 0x62, 0x62, 0x79, 0x2d, 0x32, 0x42, 0x31,
451   0x30, 0x38, 0x32, 0x31, 0x32, 0x30, 0x38, 0x37, 0x32, 0x36, 0x35, 0x30,
452   0x34, 0x30, 0x22, 0x18, 0x0f, 0x32, 0x30, 0x31, 0x38, 0x30, 0x37, 0x30,
453   0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x5a, 0x18, 0x0f, 0x32, 0x30,
454   0x32, 0x38, 0x30, 0x38, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
455   0x5a, 0x30, 0x25, 0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03,
456   0x13, 0x1a, 0x55, 0x32, 0x46, 0x47, 0x6e, 0x75, 0x62, 0x62, 0x79, 0x2d,
457   0x32, 0x42, 0x31, 0x30, 0x38, 0x32, 0x31, 0x32, 0x30, 0x38, 0x37, 0x32,
458   0x36, 0x35, 0x30, 0x34, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
459   0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
460   0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xf5, 0x0e, 0x32, 0x2a, 0xbf,
461   0x15, 0x7c, 0xf4, 0xe4, 0xf2, 0xe9, 0xdb, 0xf6, 0x89, 0xf6, 0x52, 0x6c,
462   0x85, 0xf4, 0x47, 0xe0, 0x39, 0x6b, 0xa2, 0x68, 0x14, 0xf1, 0x9e, 0x84,
463   0x57, 0x98, 0x58, 0xcb, 0xee, 0xf5, 0x81, 0x72, 0xef, 0x9c, 0xa9, 0x55,
464   0x98, 0x67, 0x90, 0x8c, 0xdc, 0x74, 0xd5, 0xc5, 0xb3, 0x04, 0x14, 0xfc,
465   0xe0, 0x72, 0x06, 0x84, 0x5e, 0x9f, 0xaf, 0x50, 0x3c, 0x05, 0x36, 0x30,
466   0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
467   0x47, 0x00, 0x30, 0x44, 0x02, 0x20, 0x4a, 0x6a, 0x68, 0x92, 0x28, 0x4c,
468   0x8b, 0x36, 0x5e, 0x68, 0x9f, 0x2e, 0x8c, 0xbe, 0xb9, 0x6d, 0x75, 0x12,
469   0x75, 0xf6, 0xd4, 0x56, 0x9a, 0x25, 0x14, 0xcd, 0xe0, 0xce, 0xb5, 0xd9,
470   0x62, 0xcb, 0x02, 0x20, 0x61, 0xf6, 0xa4, 0x9a, 0x8a, 0x4c, 0x08, 0xaf,
471   0x81, 0x16, 0xb4, 0x6e, 0x4f, 0x81, 0xb5, 0x03, 0x87, 0xe3, 0x72, 0xa7,
472   0xbd, 0xfa, 0x94, 0x24, 0xc4, 0xc1, 0x43, 0x93, 0x11, 0x2d, 0x97, 0xfb,
473   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
474   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
475   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
476   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
477   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
478   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
479   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
480   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
481   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
482   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
483   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
484   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
485   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
486   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
487   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
488   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
489   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
490   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
491   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
492   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
493   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
494   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
495   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
496   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
497   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
498   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
499   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
500   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
501   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
502   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
503   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
504   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
505   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
506   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
507   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
508   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
509   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
510   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
511   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
512   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
513   0xee, 0xee, 0xee, 0xee, 0x08, 0x07, 0x86, 0xee, 0xee, 0xee, 0xee, 0xee,
514   0x50, 0x50, 0x50, 0x50, 0x00, 0x0c, 0x00, 0x00, 0x15, 0x05, 0x00, 0x00,
515   0x01, 0x00, 0x01, 0x00, 0x42, 0xef, 0x49, 0x02, 0x82, 0x92, 0x65, 0xe5,
516   0xd9, 0x18, 0x69, 0x4f, 0x69, 0x12, 0x15, 0x9b, 0x54, 0xf3, 0x62, 0xe4,
517   0xcd, 0xd1, 0xb6, 0x00, 0x59, 0xca, 0xf0, 0xfb, 0x63, 0x33, 0xfa, 0x2c,
518   0xd2, 0x25, 0x8a, 0xb6, 0x62, 0x56, 0xaa, 0x55, 0x5f, 0x26, 0xb8, 0x22,
519   0x88, 0xfc, 0xc1, 0x5a, 0x50, 0xcd, 0xd0, 0xdc, 0x87, 0x5e, 0x43, 0xea,
520   0x26, 0x0a, 0x17, 0xcb, 0x86, 0x0e, 0x15, 0xed, 0xec, 0xb4, 0xf9, 0x68,
521   0x50, 0xcd, 0x26, 0x44, 0x78, 0x0e, 0x98, 0x5e, 0xc1, 0xa2, 0x4b, 0x5d,
522   0xf5, 0xb2, 0x73, 0x55, 0xb9, 0xa5, 0xa2, 0x0e, 0x01, 0xe6, 0x16, 0x7f,
523   0xef, 0xe3, 0xe9, 0x2d, 0x49, 0x00, 0x9d, 0x12, 0xe3, 0x09, 0x0c, 0x5d,
524   0xcc, 0x26, 0xc1, 0x2b, 0xdb, 0xc3, 0xd8, 0x4d, 0x3d, 0x3f, 0x94, 0xdc,
525   0xbf, 0x4b, 0x1b, 0x3e, 0x10, 0x28, 0xd9, 0xad, 0x5b, 0x9d, 0x15, 0xb9,
526   0xc4, 0x48, 0x58, 0x57, 0x43, 0x84, 0xdc, 0x22, 0x18, 0x53, 0xc0, 0x00,
527   0xcd, 0x36, 0x31, 0x99, 0x7b, 0xe0, 0xa8, 0x39, 0x8d, 0xfa, 0xc6, 0xbe,
528   0x4b, 0x61, 0xb1, 0xd1, 0xae, 0x1e, 0xac, 0xa8, 0xae, 0x45, 0xaa, 0x6b,
529   0x7c, 0x00, 0x8e, 0xc7, 0x18, 0xd0, 0x88, 0x95, 0xc9, 0x50, 0x44, 0x48,
530   0xc0, 0xbb, 0x60, 0x02, 0x98, 0x51, 0xa1, 0x0c, 0xaa, 0x44, 0x84, 0x36,
531   0x62, 0x71, 0x1f, 0x94, 0xcd, 0x39, 0x80, 0x6a, 0x82, 0x21, 0x15, 0x1f,
532   0x17, 0xb2, 0x74, 0x1b, 0xc3, 0x99, 0x10, 0x29, 0x4a, 0x28, 0x51, 0x99,
533   0x07, 0xf3, 0x5f, 0xbc, 0xbd, 0x35, 0x07, 0x41, 0x32, 0xd8, 0x59, 0x63,
534   0xbe, 0x4a, 0x2d, 0xf0, 0x06, 0xd7, 0xe2, 0x88, 0x68, 0x72, 0x12, 0xe7,
535   0x2a, 0xa0, 0x33, 0xfd, 0x04, 0xd5, 0xe9, 0xc4, 0x81, 0xeb, 0xe1, 0x97,
536   0x04, 0xcf, 0x08, 0xb5, 0x67, 0x79, 0x39, 0x26, 0xc3, 0x6e, 0x7d, 0x24,
537   0x2d, 0x0b, 0x75, 0x5f, 0x2d, 0x81, 0x63, 0xa9, 0x30, 0x0d, 0xe8, 0x79,
538   0xf0, 0x8d, 0x9e, 0xab, 0x24, 0x79, 0x5c, 0xf6, 0x9c, 0x83, 0x53, 0x88,
539   0x41, 0x92, 0x34, 0xb2, 0xec, 0xfa, 0x37, 0x5c, 0x9a, 0xea, 0x7a, 0xce,
540   0x1f, 0xe3, 0x5f, 0x0e, 0x12, 0x5c, 0xac, 0x1a, 0x0f, 0x3c, 0xf1, 0x9b,
541   0xda, 0xad, 0x06, 0xcc, 0x85, 0xd5, 0xaf, 0x51, 0xef, 0x97, 0x52, 0x4f,
542   0x33, 0xef, 0x82, 0x24, 0x54, 0x19, 0xa2, 0x79, 0x62, 0x0b, 0xcc, 0x29,
543   0xf9, 0xb0, 0xf6, 0xdc, 0xca, 0xae, 0xf9, 0xb3, 0x61, 0x69, 0x15, 0x19,
544   0x36, 0x39, 0x3e, 0x57, 0x1f, 0x2b, 0x15, 0x74, 0x28, 0xb4, 0xb1, 0x13,
545   0x2f, 0xc5, 0x78, 0x57, 0x76, 0x1e, 0xec, 0xa6, 0xfb, 0xa7, 0x72, 0xb7,
546   0xcf, 0x38, 0x86, 0x78, 0x8a, 0x46, 0x97, 0x44, 0x05, 0xa8, 0x24, 0x89,
547   0x9b, 0x6b, 0xcd, 0x56, 0x30, 0x82, 0x05, 0x11, 0x30, 0x82, 0x02, 0xf9,
548   0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a, 0x06, 0x97, 0x36, 0x83, 0x31,
549   0x39, 0x58, 0x14, 0x16, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
550   0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x29, 0x31, 0x19,
551   0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x05, 0x13, 0x10, 0x39, 0x35, 0x65,
552   0x32, 0x33, 0x66, 0x66, 0x39, 0x62, 0x36, 0x65, 0x62, 0x30, 0x32, 0x35,
553   0x61, 0x31, 0x0c, 0x30, 0x0a, 0x06, 0x03, 0x55, 0x04, 0x0c, 0x0c, 0x03,
554   0x54, 0x45, 0x45, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x38, 0x30, 0x35, 0x32,
555   0x35, 0x32, 0x33, 0x32, 0x38, 0x34, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x38,
556   0x30, 0x35, 0x32, 0x32, 0x32, 0x33, 0x32, 0x38, 0x34, 0x30, 0x5a, 0x30,
557   0x29, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x05, 0x13, 0x10,
558   0x65, 0x65, 0x34, 0x62, 0x65, 0x65, 0x64, 0x33, 0x39, 0x33, 0x34, 0x37,
559   0x32, 0x65, 0x64, 0x62, 0x31, 0x0c, 0x30, 0x0a, 0x06, 0x03, 0x55, 0x04,
560   0x0c, 0x0c, 0x03, 0x54, 0x45, 0x45, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d,
561   0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05,
562   0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82,
563   0x01, 0x81, 0x00, 0xfc, 0x02, 0x98, 0x15, 0xa4, 0xd2, 0x71, 0xad, 0x26,
564   0x19, 0xc0, 0x67, 0x90, 0x51, 0x8f, 0xa2, 0x99, 0x81, 0x8e, 0x29, 0xbb,
565   0x3f, 0x01, 0x27, 0xee, 0x9a, 0x5a, 0x6a, 0xfc, 0xfc, 0x97, 0x52, 0xbb,
566   0x6e, 0x9d, 0x25, 0xa4, 0x37, 0x4c, 0x90, 0xaf, 0x02, 0x83, 0xd3, 0xd7,
567   0x8d, 0x02, 0x56, 0x3e, 0xad, 0x53, 0x99, 0x7e, 0xa3, 0x5b, 0x82, 0xfc,
568   0xb0, 0x56, 0x49, 0x0f, 0x51, 0xd4, 0x90, 0xba, 0x95, 0xd9, 0x0f, 0xfa,
569   0x39, 0x96, 0xbf, 0xc0, 0x04, 0x44, 0xf6, 0x4d, 0x10, 0xa5, 0x6c, 0x45,
570   0x80, 0x4c, 0x2d, 0x88, 0x63, 0xa9, 0x96, 0x7e, 0x2c, 0x5f, 0xb9, 0x25,
571   0x69, 0x4c, 0x06, 0x04, 0x5b, 0xc7, 0x0c, 0x1c, 0xfd, 0xf1, 0x3a, 0xdd,
572   0x2e, 0xae, 0x10, 0x01, 0xe1, 0x2a, 0x4a, 0x87, 0x46, 0xb1, 0x76, 0xf3,
573   0x0d, 0xd1, 0x23, 0x11, 0xf7, 0x55, 0x1d, 0x57, 0x2e, 0xa3, 0xfc, 0xb2,
574   0x9a, 0xbb, 0x49, 0xd9, 0xd6, 0x20, 0x5c, 0xf7, 0x29, 0x1c, 0x2a, 0x82,
575   0xf0, 0x7b, 0x7e, 0xcb, 0x5c, 0x71, 0x0c, 0x64, 0x67, 0xda, 0x70, 0x71,
576   0xef, 0x0d, 0xb3, 0x39, 0x9b, 0x9e, 0xea, 0x23, 0x4e, 0xb2, 0x67, 0xd0,
577   0xcb, 0x1b, 0x1c, 0x9a, 0xc0, 0x1c, 0x5a, 0x9a, 0xfe, 0x5a, 0x7a, 0x24,
578   0xb1, 0x89, 0xdc, 0xcb, 0x59, 0xf2, 0xfe, 0xa8, 0x89, 0x90, 0x7e, 0x5e,
579   0xbd, 0xaf, 0x8d, 0xc1, 0x96, 0x2e, 0x0d, 0xb9, 0xb9, 0x2b, 0xd6, 0x49,
580   0xb8, 0x93, 0x70, 0x6e, 0x38, 0x7d, 0x56, 0x88, 0x79, 0xbb, 0xff, 0x21,
581   0x08, 0x6d, 0xf5, 0xae, 0xb4, 0x60, 0x7b, 0xd5, 0xc4, 0x26, 0x12, 0xea,
582   0x95, 0x71, 0x47, 0x3d, 0xf4, 0xee, 0x2e, 0x39, 0x24, 0x91, 0xf0, 0x6c,
583   0x23, 0x4e, 0xb1, 0x02, 0x1a, 0x95, 0xf7, 0x8f, 0x95, 0x9d, 0xce, 0x73,
584   0x13, 0x8b, 0xc9, 0xa7, 0x4f, 0xb2, 0x50, 0x9e, 0x19, 0xe6, 0xe5, 0xf7,
585   0xb8, 0xe3, 0x75, 0xb5, 0x6a, 0x24, 0xdb, 0x5d, 0x91, 0x03, 0x34, 0xc0,
586   0xe4, 0xa2, 0xc2, 0x0a, 0x9a, 0x74, 0x58, 0x7d, 0x3d, 0x3c, 0x40, 0x2a,
587   0x33, 0x14, 0xe1, 0xce, 0xf3, 0x86, 0xbf, 0x68, 0x0f, 0xa8, 0xe2, 0xc0,
588   0xa0, 0xa4, 0x37, 0x10, 0x91, 0x93, 0xee, 0x3f, 0x4c, 0xe9, 0x95, 0x9c,
589   0x70, 0xa9, 0x12, 0xde, 0x3b, 0x92, 0xa6, 0x0b, 0xd7, 0xaf, 0x76, 0x86,
590   0x24, 0x8a, 0x8a, 0xa5, 0x6d, 0x1b, 0x47, 0xe8, 0x21, 0xbe, 0x45, 0x9f,
591   0xb0, 0x92, 0x6f, 0xd0, 0x09, 0x51, 0x4c, 0x6e, 0x8b, 0xfc, 0x83, 0xfb,
592   0xb7, 0x80, 0xc7, 0xa1, 0x09, 0x14, 0x01, 0x63, 0x10, 0xc2, 0x9b, 0x20,
593   0x10, 0xd2, 0x9a, 0xf4, 0x3c, 0x9f, 0x9a, 0xaf, 0xf0, 0xf1, 0xe1, 0xbc,
594   0x85, 0x45, 0x68, 0x90, 0xaa, 0xf0, 0x7d, 0xf3, 0xf7, 0x0e, 0xba, 0x53,
595   0x58, 0x56, 0xb1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xba, 0x30,
596   0x81, 0xb7, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04,
597   0x14, 0x96, 0x55, 0x9d, 0x9e, 0x4c, 0x02, 0x18, 0x85, 0xa7, 0x97, 0xe2,
598   0x17, 0xab, 0x9b, 0x99, 0x4c, 0x36, 0x44, 0xd4, 0x54, 0x30, 0x1f, 0x06,
599   0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x81, 0xf6,
600   0x73, 0x03, 0x40, 0x73, 0x83, 0x6d, 0x3e, 0x83, 0x38, 0x0a, 0x38, 0x3a,
601   0x3d, 0x38, 0xcd, 0x28, 0x8a, 0xdd, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
602   0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30,
603   0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03,
604   0x02, 0x02, 0x04, 0x30, 0x54, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x4d,
605   0x30, 0x4b, 0x30, 0x49, 0xa0, 0x47, 0xa0, 0x45, 0x86, 0x43, 0x68, 0x74,
606   0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
607   0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
608   0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61,
609   0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x30, 0x36, 0x39,
610   0x37, 0x33, 0x36, 0x38, 0x33, 0x33, 0x31, 0x33, 0x39, 0x35, 0x38, 0x31,
611   0x34, 0x31, 0x36, 0x33, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
612   0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01,
613   0x00, 0x6f, 0x92, 0x65, 0x9f, 0x8a, 0xe1, 0x7c, 0xff, 0x31, 0x9c, 0xed,
614   0xfa, 0x1e, 0xb6, 0x66, 0xe3, 0x5e, 0xcc, 0xc2, 0x7c, 0xfe, 0x3b, 0xe1,
615   0x61, 0x17, 0x91, 0x65, 0x4c, 0xfa, 0x5a, 0x7e, 0xbc, 0x59, 0x42, 0xda,
616   0xb5, 0x45, 0x7a, 0x98, 0x0a, 0x2f, 0x55, 0x3e, 0x3b, 0x04, 0x95, 0xdd,
617   0x3f, 0xf5, 0xae, 0x44, 0x1f, 0x32, 0x61, 0xa8, 0x7c, 0xca, 0xca, 0x72,
618   0xbf, 0xbe, 0xc3, 0xe3, 0x2b, 0x49, 0x4c, 0x06, 0x03, 0x71, 0x69, 0xc9,
619   0x15, 0xd3, 0xd6, 0xd6, 0x5c, 0xd7, 0xd5, 0x90, 0x31, 0xe6, 0x3c, 0xa0,
620   0x4b, 0x8b, 0xf5, 0x15, 0xa4, 0x08, 0x7d, 0x53, 0x7f, 0xae, 0xb1, 0x95,
621   0x3e, 0x03, 0xec, 0x1a, 0x2a, 0x6b, 0x80, 0x37, 0xe2, 0x78, 0x8d, 0x6d,
622   0x82, 0xa9, 0x10, 0x79, 0x0f, 0x41, 0xc7, 0x25, 0x64, 0x40, 0xbd, 0x77,
623   0x8d, 0x0f, 0x00, 0xe7, 0x2e, 0x1b, 0x0f, 0x33, 0xfa, 0xbc, 0xd0, 0xb6,
624   0x25, 0x4a, 0xf6, 0xa0, 0xd0, 0x4b, 0xfb, 0x0b, 0x1f, 0x74, 0x7a, 0x51,
625   0x3d, 0x94, 0xdb, 0x95, 0x4d, 0x34, 0x98, 0xb6, 0x41, 0x25, 0xc7, 0xb5,
626   0x60, 0xaa, 0x08, 0x71, 0xc4, 0x12, 0xde, 0xa5, 0x5f, 0xc8, 0x59, 0x86,
627   0x8d, 0x51, 0x05, 0x63, 0x20, 0x61, 0x45, 0x73, 0xbd, 0x74, 0xa9, 0xdc,
628   0xae, 0x41, 0x63, 0x3c, 0xed, 0xe9, 0x87, 0xf6, 0xcb, 0xbb, 0xdc, 0x9a,
629   0xbd, 0x14, 0x2f, 0xd4, 0x31, 0xc6, 0x9c, 0xa7, 0x97, 0xa6, 0x1b, 0xa0,
630   0xde, 0xbf, 0xa2, 0xc2, 0x9b, 0x3f, 0xb3, 0x66, 0x64, 0xea, 0xa3, 0xad,
631   0x46, 0x42, 0xf1, 0x6f, 0xe7, 0x31, 0xff, 0x6f, 0x7f, 0x92, 0xbe, 0xab,
632   0x3a, 0x75, 0x2f, 0xfd, 0xa3, 0x48, 0x51, 0x4c, 0xe6, 0x6a, 0x81, 0x6a,
633   0xfe, 0xd5, 0x88, 0x37, 0x32, 0xdb, 0xe8, 0xb6, 0x14, 0x68, 0xb5, 0x53,
634   0xad, 0xb3, 0x4b, 0x06, 0x42, 0xbe, 0xd3, 0xc8, 0x66, 0x2a, 0xfd, 0x74,
635   0xf2, 0xa0, 0xb7, 0xd6, 0xd0, 0xd3, 0xb7, 0xe6, 0xba, 0xb6, 0x00, 0xd9,
636   0xab, 0x53, 0x70, 0x84, 0x35, 0xc4, 0x7e, 0x3d, 0x9b, 0x97, 0xd8, 0x86,
637   0x7f, 0x33, 0x09, 0x83, 0x35, 0x8e, 0xc8, 0x9f, 0x43, 0x0b, 0x64, 0x0c,
638   0xc1, 0xbb, 0xc9, 0x57, 0x2f, 0xb5, 0xe0, 0xfb, 0xea, 0x27, 0x02, 0x03,
639   0xcd, 0xb5, 0x9d, 0x1e, 0xe9, 0xbb, 0x7f, 0x09, 0x7c, 0x28, 0xe4, 0x19,
640   0xce, 0xe4, 0xa3, 0xd2, 0x52, 0xfa, 0x48, 0xa2, 0xdc, 0x50, 0xdb, 0x1a,
641   0x1a, 0x61, 0x13, 0x02, 0x77, 0x28, 0xf1, 0xa2, 0x4a, 0xac, 0xf3, 0x29,
642   0x00, 0x6b, 0x22, 0x37, 0x1a, 0x5c, 0x0c, 0x51, 0xf1, 0x11, 0xa0, 0xb7,
643   0x55, 0x7f, 0x58, 0x19, 0x3c, 0x1b, 0x0c, 0xe8, 0x3f, 0x92, 0x4c, 0xa1,
644   0x1e, 0xf0, 0xfe, 0x81, 0xb2, 0x8a, 0xf3, 0x3c, 0x70, 0xfa, 0x31, 0xec,
645   0x32, 0x55, 0x2d, 0xac, 0x9f, 0x3e, 0x30, 0x01, 0xad, 0x54, 0x13, 0x53,
646   0xf0, 0xd9, 0xb4, 0xa7, 0x14, 0xe7, 0x3c, 0xd2, 0x55, 0x54, 0xcf, 0x33,
647   0x11, 0x81, 0x9c, 0xea, 0xeb, 0x5c, 0x93, 0xfb, 0x0d, 0x9c, 0x02, 0xc7,
648   0x63, 0x64, 0x80, 0xfe, 0x23, 0x85, 0xbb, 0x0a, 0x97, 0x69, 0x84, 0xd4,
649   0x85, 0x5d, 0xae, 0x1c, 0xc3, 0x4d, 0xa3, 0x3f, 0x8e, 0xa4, 0x68, 0xb7,
650   0xf6, 0xc8, 0xef, 0x89, 0xa1, 0x0d, 0xab, 0x4e, 0xec, 0x31, 0xba, 0xca,
651   0xab, 0x1c, 0x61, 0x5c, 0x39, 0xe1, 0x6c, 0xc4, 0xa2, 0xf1, 0x48, 0xba,
652   0x13, 0x30, 0x62, 0x25, 0xb8, 0x81, 0xfd, 0xdc, 0x89, 0x1f, 0xfe, 0x2e,
653   0x5c, 0xee, 0xf2, 0x22, 0xa0, 0x57, 0x2d, 0x71, 0x9e, 0x64, 0xd8, 0x7b,
654   0x87, 0xd4, 0xe8, 0x7e, 0x82, 0x42, 0x66, 0x74, 0xd7, 0x68, 0xe0, 0xfd,
655   0x91, 0x61, 0xa1, 0xff, 0x83, 0x98, 0x75, 0x29, 0xc5, 0xee, 0xee, 0xee,
656   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
657   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
658   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
659   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
660   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
661   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
662   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
663   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
664   0x94, 0x02, 0x87, 0xee, 0xee, 0xee, 0xee, 0xee, 0x50, 0x50, 0x50, 0x50,
665   0x29, 0x02, 0x00, 0x00, 0x97, 0xc2, 0xe5, 0x7f, 0x04, 0x8d, 0xab, 0x71,
666   0x5f, 0xe7, 0xf6, 0x31, 0x88, 0xc6, 0x6b, 0xfc, 0x02, 0x65, 0x1b, 0x14,
667   0x49, 0xaa, 0x7c, 0xa2, 0x12, 0x01, 0x08, 0x50, 0x31, 0xf0, 0x5e, 0xf8,
668   0x30, 0x82, 0x02, 0x25, 0x30, 0x82, 0x01, 0xab, 0xa0, 0x03, 0x02, 0x01,
669   0x02, 0x02, 0x0a, 0x15, 0x24, 0x41, 0x18, 0x76, 0x46, 0x31, 0x44, 0x50,
670   0x41, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
671   0x02, 0x30, 0x29, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x05,
672   0x13, 0x10, 0x39, 0x35, 0x65, 0x32, 0x33, 0x66, 0x66, 0x39, 0x62, 0x36,
673   0x65, 0x62, 0x30, 0x32, 0x35, 0x61, 0x31, 0x0c, 0x30, 0x0a, 0x06, 0x03,
674   0x55, 0x04, 0x0c, 0x0c, 0x03, 0x54, 0x45, 0x45, 0x30, 0x1e, 0x17, 0x0d,
675   0x31, 0x38, 0x30, 0x35, 0x32, 0x35, 0x32, 0x33, 0x32, 0x38, 0x34, 0x33,
676   0x5a, 0x17, 0x0d, 0x32, 0x38, 0x30, 0x35, 0x32, 0x32, 0x32, 0x33, 0x32,
677   0x38, 0x34, 0x33, 0x5a, 0x30, 0x29, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03,
678   0x55, 0x04, 0x05, 0x13, 0x10, 0x65, 0x65, 0x34, 0x62, 0x65, 0x65, 0x64,
679   0x33, 0x39, 0x33, 0x34, 0x37, 0x32, 0x65, 0x64, 0x62, 0x31, 0x0c, 0x30,
680   0x0a, 0x06, 0x03, 0x55, 0x04, 0x0c, 0x0c, 0x03, 0x54, 0x45, 0x45, 0x30,
681   0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
682   0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
683   0x00, 0x04, 0x28, 0x3b, 0xf5, 0xc3, 0xb6, 0x12, 0xf2, 0xb7, 0x8d, 0x25,
684   0x90, 0x2f, 0x1d, 0x5e, 0x91, 0x98, 0xd6, 0xad, 0xf7, 0xc9, 0x28, 0x25,
685   0x62, 0xc1, 0xd5, 0x42, 0x7e, 0xd0, 0xa7, 0x0b, 0xd9, 0x9b, 0x25, 0x6a,
686   0x2b, 0xbb, 0x7d, 0x62, 0x0d, 0x78, 0x42, 0xa3, 0x96, 0x42, 0x71, 0xf5,
687   0xc5, 0x7a, 0xe4, 0xac, 0xe2, 0x17, 0xd3, 0x02, 0x33, 0x21, 0x55, 0x92,
688   0x4d, 0x62, 0xd3, 0x3d, 0x9d, 0x3c, 0xa3, 0x81, 0xba, 0x30, 0x81, 0xb7,
689   0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2d,
690   0xab, 0x5f, 0x1a, 0x58, 0xc2, 0x0c, 0x11, 0x12, 0x44, 0x96, 0x91, 0x66,
691   0x7c, 0xe1, 0xab, 0x47, 0x0d, 0x8a, 0xc4, 0x30, 0x1f, 0x06, 0x03, 0x55,
692   0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xc7, 0xbd, 0xe5, 0x13,
693   0x91, 0x8c, 0x85, 0x2e, 0x04, 0x5c, 0x13, 0xb5, 0xa3, 0x28, 0x93, 0xb7,
694   0x32, 0x63, 0xa3, 0x59, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
695   0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06,
696   0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x02,
697   0x04, 0x30, 0x54, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x4d, 0x30, 0x4b,
698   0x30, 0x49, 0xa0, 0x47, 0xa0, 0x45, 0x86, 0x43, 0x68, 0x74, 0x74, 0x70,
699   0x73, 0x3a, 0x2f, 0x2f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e,
700   0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
701   0x6f, 0x6d, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69,
702   0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x31, 0x35, 0x32, 0x34, 0x34,
703   0x31, 0x31, 0x38, 0x37, 0x36, 0x34, 0x36, 0x33, 0x31, 0x34, 0x34, 0x35,
704   0x30, 0x34, 0x31, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
705   0x04, 0x03, 0x02, 0x03, 0x68, 0x00, 0x30, 0x65, 0x02, 0x30, 0x3c, 0x07,
706   0x1f, 0xac, 0xc8, 0x38, 0x13, 0x81, 0xc5, 0xab, 0x00, 0x21, 0xea, 0xc9,
707   0x26, 0x34, 0xb4, 0xb8, 0xce, 0x7c, 0x19, 0x16, 0xef, 0x12, 0x50, 0x61,
708   0xc5, 0xce, 0x75, 0xec, 0x3b, 0x18, 0x73, 0x7f, 0x9b, 0x38, 0x74, 0xad,
709   0xd4, 0x78, 0xe2, 0xf8, 0x94, 0xf6, 0x1f, 0xa2, 0xa2, 0x12, 0x02, 0x31,
710   0x00, 0xee, 0x42, 0x9b, 0x75, 0x8e, 0x59, 0xe0, 0x9e, 0xfa, 0x93, 0xfd,
711   0x44, 0x82, 0xa7, 0x11, 0x9c, 0x07, 0xfd, 0x07, 0x90, 0x71, 0x27, 0xb2,
712   0x1e, 0x18, 0x58, 0x7e, 0xbe, 0xdf, 0xab, 0xfd, 0x2d, 0x26, 0xe8, 0x40,
713   0xa4, 0x96, 0xbb, 0x08, 0xe8, 0x1b, 0xb5, 0x47, 0xa3, 0xe7, 0xb7, 0xb2,
714   0xdc, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
715   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
716   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
717   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
718   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
719   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
720   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
721   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
722   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
723   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
724   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
725   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
726   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
727   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
728   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
729   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
730   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
731   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
732   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
733   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
734   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
735   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
736   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
737   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
738   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
739   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
740   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
741   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
742   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
743   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
744   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
745   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
746   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
747   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
748   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
749   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
750   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
751   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
752   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
753   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
754   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
755   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
756   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
757   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
758   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
759   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
760   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
761   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
762   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
763   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
764   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
765   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
766   0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x8e, 0xe5, 0xcc, 0x90,
767   0xd5, 0xbe, 0xfc, 0x9a, 0x15, 0x3f, 0xce, 0x53, 0xfd, 0x9b, 0x13, 0x65,
768   0x9c, 0x26, 0x48, 0xef, 0x0d, 0xa1, 0xa2, 0x9c, 0x29, 0x1a, 0x71, 0x84,
769   0x7b, 0x61, 0xb4, 0xc0
770 
771 };
772 
773 #define CERT_BLOCK_SIZE 1024
774 
TEST_F(KeymasterProvisionTest,ProvisionCertificatesSuccess)775 TEST_F(KeymasterProvisionTest, ProvisionCertificatesSuccess) {
776   // Fetch dev-id.
777   std::vector<uint8_t> dev_id;
778   nos::AppClient app(*client, APP_ID_NUGGET);
779 
780   uint32_t retval;
781   dev_id.reserve(32);
782 
783   retval = app.Call(NUGGET_PARAM_DEVICE_ID, dev_id, &dev_id);
784   ASSERT_EQ(retval, APP_SUCCESS);
785 
786   // TODO: port this test over to Jenkins.
787   if (std::string(reinterpret_cast<const char *>(dev_id.data()),
788                   dev_id.size() -1) != string("adacb483:0100b022")) {
789     return;
790   }
791 
792   for (int i = 0; i < 7; i++) {
793     ProvisionCertificatesRequest request;
794     ProvisionCertificatesResponse response;
795 
796     request.set_block_number(i);
797     request.set_cert_block(
798         &ATTESTION_CERT_adacb483_0100b022[i * CERT_BLOCK_SIZE],
799         CERT_BLOCK_SIZE);
800     uint8_t digest[SHA256_DIGEST_LENGTH];
801     request.set_digest(
802         SHA256(&ATTESTION_CERT_adacb483_0100b022[i * CERT_BLOCK_SIZE],
803                CERT_BLOCK_SIZE, &digest[0]), SHA256_DIGEST_LENGTH);
804 
805     Keymaster service(*client);
806     ASSERT_NO_ERROR(service.ProvisionCertificates(request, &response), "");
807     ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
808 
809     if (i == 0) {
810       // On a fresh spiflash, expect certs to be missing.  On re-runs, certs
811       // will already be present.
812       EXPECT_TRUE(response.cert_status() == CertificateStatus::CERT_MISSING ||
813                   response.cert_status() ==
814                   CertificateStatus::CERT_PREVIOUSLY_PROVISIONED);
815     }
816     if (i == 6) {
817       // All done, cert status should indicate accordingly.
818       EXPECT_EQ(response.cert_status(),
819                 CertificateStatus::CERT_PREVIOUSLY_PROVISIONED);
820     }
821   }
822 }
823 
824 }  // namespace
825