From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============5490753722036855747==" MIME-Version: 1.0 From: Oza Oza Subject: Re: [SPDK] PCI hotplug and SPDK Date: Tue, 29 Aug 2017 22:15:27 +0530 Message-ID: In-Reply-To: FA95A1AD-DEAD-46AA-9ADA-32AFDB45D556@intel.com List-ID: To: spdk@lists.01.org --===============5490753722036855747== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable In my opinion, this has nothing to do with platform. Though our platform is ARMv8. (but, I can not test on any other, because we don=E2=80=99t know how the ke= rnel driver is written) If kernel driver supports hotplug, which means they are allowing pci_create_root_bus irrespective of whether EP is plugged or not. In other words. Following APIs are never called. pci_stop_root_bus(bus); pci_remove_root_bus(bus); and in that case, if PCIe slots is empty, running SPDK resulting in stalls. (10-15 seconds) followed by crash. Regards, Oza. *From:* SPDK [mailto:spdk-bounces(a)lists.01.org] *On Behalf Of *Harris, James R *Sent:* Tuesday, August 29, 2017 6:20 PM *To:* Storage Performance Development Kit *Subject:* Re: [SPDK] PCI hotplug and SPDK Hi Oza, Do you see this issue only on your armv8 platform or do you also see it on amd64? -Jim *From: *SPDK on behalf of Oza Oza < oza.oza(a)broadcom.com> *Reply-To: *Storage Performance Development Kit *Date: *Tuesday, August 29, 2017 at 1:51 AM *To: *Storage Performance Development Kit *Subject: *Re: [SPDK] PCI hotplug and SPDK Sorry If I was unclear. I am not talking about hotplug feature of SPDK. =C3=98 PCI hotplug feature is implemented in kernel driver and working fin= e. =C3=98 But the moment I run SPDK and try to bind vfio driver it stalls completely. The reason is: kernel driver will not remove the root bus (when PCIe endpoint is not connected, during boot-time) So SPDK tries to bind driver thinking host bridge is there. Without PCI hotplug host bridge will not be there because of following API call in kernel driver. pci_stop_root_bus(bus); pci_remove_root_bus(bus); =C3=98 since now we allow host bridge creation (API: pci_create_root_bus) irrespective of EP is connected or not. And then if I run SPDK (with no Endpoint connected/Empty slot) I get stalls. Regards, Oza. *From:* SPDK [mailto:spdk-bounces(a)lists.01.org] *On Behalf Of *Chang, Cun= yin *Sent:* Tuesday, August 29, 2017 2:14 PM *To:* Storage Performance Development Kit *Subject:* Re: [SPDK] PCI hotplug and SPDK Hi Oza, Could you please provide some details steps to reproduce the issue? SPDK take in charge for hotplug only after you bind the device to uio or vfio driver, so for the new insert deivce, it will handled by kernel driver first. -Cunyin *From:* SPDK [mailto:spdk-bounces(a)lists.01.org ] *On Behalf Of *Oza Oza *Sent:* Tuesday, August 29, 2017 4:22 PM *To:* Storage Performance Development Kit *Subject:* [SPDK] PCI hotplug and SPDK Hi All, PCI hotplug support; requires creation of root bus and probe to go ahead with all PCIe configuration. Which means following APIs ae not called. pci_stop_root_bus(bus); pci_remove_root_bus(bus); And then If I run SPDK, It makes system crash with following info. Note: if the disk is connected then SPDK is fine. Otherwise it stalls the system with following crash. root(a)bcm958742k:~# echo 2048 > /proc/sys/vm/nr_hugepages; /usr/share/spdk/scripts/setup.sh grep: /usr/share/spdk/scripts/../include/spdk/pci_ids.h: No such[ 34.621325] pci 0008:00:00.0: PCI bridge to [bus 01] file or directory [ 34.640586] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 50.267056] pci 0000:00:00.0: PCI bridge to [bus 01] [ 50.272337] pci 0001:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 65.898762] pci 0001:00:00.0: PCI bridge to [bus 01] [ 65.904015] pci 0006:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 81.530437] pci 0006:00:00.0: PCI bridge to [bus 01] [ 81.535680] pci 0007:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 97.162103] pci 0007:00:00.0: PCI bridge to [bus 01] [ 97.167255] Bad mode in Error handler detected on CPU6, code 0xbf000002 -- SError [ 97.174974] Internal error: Oops - bad mode: 0 [#1] SMP [ 97.180364] Modules linked in: [ 97.183515] CPU: 6 PID: 2104 Comm: bash Not tainted 4.12.0-01560-gc83093d-dirty #89 [ 97.191413] Hardware name: Stingray Combo SVK w/PCIe IOMMU (BCM958742K) (DT) [ 97.198683] task: ffff80a163a40000 task.stack: ffff80a1612b4000 [ 97.204790] PC is at 0xffff7cbdfba8 [ 97.208387] LR is at 0xffff7cb8f288 [ 97.211983] pc : [<0000ffff7cbdfba8>] lr : [<0000ffff7cb8f288>] pstate: 20000000 [ 97.219612] sp : 0000fffffe564040 [ 97.223029] x29: 0000fffffe564040 x28: 000000001054ce60 [ 97.228509] x27: 0000000000000000 x26: 00000000004e2000 [ 97.233989] x25: 00000000004e5000 x24: 0000000000000002 [ 97.239468] x23: 0000ffff7cc63638 x22: 0000000000000002 [ 97.244947] x21: 0000ffff7cc67480 x20: 000000001054db10 [ 97.250427] x19: 0000000000000002 x18: 0000000000000000 [ 97.255906] x17: 00000000004daac8 x16: 0000000000000000 [ 97.261386] x15: 0000000000000096 x14: 0000000000000000 [ 97.266865] x13: 0000000000000000 x12: 0000000000000000 [ 97.272344] x11: 0000000000000020 x10: 0101010101010101 [ 97.277824] x9 : ffffff80ffffffc8 x8 : 0000000000000040 [ 97.283303] x7 : 0000000000000001 x6 : 0000ffff7cc669f0 [ 97.288782] x5 : 0000000000015551 x4 : 0000000000000888 [ 97.294261] x3 : 0000000000000000 x2 : 0000000000000002 [ 97.299741] x1 : 000000001054db10 x0 : 0000000000000002 [ 97.305220] Process bash (pid: 2104, stack limit =3D 0xffff80a1612b4000) [ 97.311960] ---[ end trace a1f48abe30820241 ]--- Regards, Oza. --===============5490753722036855747== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0 L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWlj cm9zb2Z0IFdvcmQgMTQgKGZpbHRlcmVkIG1lZGl1bSkiPjxzdHlsZT48IS0tCi8qIEZvbnQgRGVm aW5pdGlvbnMgKi8KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OldpbmdkaW5nczsKCXBhbm9zZS0x OjUgMCAwIDAgMCAwIDAgMCAwIDA7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6V2luZ2Rpbmdz OwoJcGFub3NlLTE6NSAwIDAgMCAwIDAgMCAwIDAgMDt9CkBmb250LWZhY2UKCXtmb250LWZhbWls eTpDYWxpYnJpOwoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQpAZm9udC1mYWNlCgl7 Zm9udC1mYW1pbHk6VGFob21hOwoJcGFub3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7fQovKiBT dHlsZSBEZWZpbml0aW9ucyAqLwpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9y bWFsCgl7bWFyZ2luOjBpbjsKCW1hcmdpbi1ib3R0b206LjAwMDFwdDsKCWZvbnQtc2l6ZToxMS4w cHQ7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO30KYTpsaW5rLCBzcGFuLk1z b0h5cGVybGluawoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCWNvbG9yOmJsdWU7Cgl0ZXh0LWRl Y29yYXRpb246dW5kZXJsaW5lO30KYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2Vk Cgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5OwoJY29sb3I6cHVycGxlOwoJdGV4dC1kZWNvcmF0aW9u OnVuZGVybGluZTt9CnAuTXNvQWNldGF0ZSwgbGkuTXNvQWNldGF0ZSwgZGl2Lk1zb0FjZXRhdGUK CXttc28tc3R5bGUtcHJpb3JpdHk6OTk7Cgltc28tc3R5bGUtbGluazoiQmFsbG9vbiBUZXh0IENo YXIiOwoJbWFyZ2luOjBpbjsKCW1hcmdpbi1ib3R0b206LjAwMDFwdDsKCWZvbnQtc2l6ZTo4LjBw dDsKCWZvbnQtZmFtaWx5OiJUYWhvbWEiLCJzYW5zLXNlcmlmIjt9CnAuTXNvTGlzdFBhcmFncmFw aCwgbGkuTXNvTGlzdFBhcmFncmFwaCwgZGl2Lk1zb0xpc3RQYXJhZ3JhcGgKCXttc28tc3R5bGUt cHJpb3JpdHk6MzQ7CgltYXJnaW4tdG9wOjBpbjsKCW1hcmdpbi1yaWdodDowaW47CgltYXJnaW4t Ym90dG9tOjBpbjsKCW1hcmdpbi1sZWZ0Oi41aW47CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7Cglm b250LXNpemU6MTEuMHB0OwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjt9CnNw YW4uQmFsbG9vblRleHRDaGFyCgl7bXNvLXN0eWxlLW5hbWU6IkJhbGxvb24gVGV4dCBDaGFyIjsK CW1zby1zdHlsZS1wcmlvcml0eTo5OTsKCW1zby1zdHlsZS1saW5rOiJCYWxsb29uIFRleHQiOwoJ Zm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiO30Kc3Bhbi5FbWFpbFN0eWxlMjAKCXtt c28tc3R5bGUtdHlwZTpwZXJzb25hbDsKCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJp ZiI7Cgljb2xvcjp3aW5kb3d0ZXh0O30Kc3Bhbi5FbWFpbFN0eWxlMjEKCXttc28tc3R5bGUtdHlw ZTpwZXJzb25hbDsKCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Cgljb2xvcjoj MUY0OTdEO30Kc3Bhbi5FbWFpbFN0eWxlMjIKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsKCWZv bnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Cgljb2xvcjojMUY0OTdEO30Kc3Bhbi5F bWFpbFN0eWxlMjMKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsKCWZvbnQtZmFtaWx5OiJDYWxp YnJpIiwic2Fucy1zZXJpZiI7Cgljb2xvcjp3aW5kb3d0ZXh0O30Kc3Bhbi5FbWFpbFN0eWxlMjQK CXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsKCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwi c2Fucy1zZXJpZiI7Cgljb2xvcjojMUY0OTdEO30KLk1zb0NocERlZmF1bHQKCXttc28tc3R5bGUt dHlwZTpleHBvcnQtb25seTsKCWZvbnQtc2l6ZToxMC4wcHQ7fQpAcGFnZSBXb3JkU2VjdGlvbjEK CXtzaXplOjguNWluIDExLjBpbjsKCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9CmRp di5Xb3JkU2VjdGlvbjEKCXtwYWdlOldvcmRTZWN0aW9uMTt9Ci0tPjwvc3R5bGU+PC9oZWFkPjxi b2R5IGJnY29sb3I9IndoaXRlIiBsYW5nPSJFTi1VUyIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBs ZSI+PGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0iY29sb3I6IzFmNDk3ZCI+SW4gbXkgb3BpbmlvbiwgdGhpcyBoYXMgbm90aGluZyB0byBk byB3aXRoIHBsYXRmb3JtLiBUaG91Z2ggb3VyIHBsYXRmb3JtIGlzIEFSTXY4LiA8L3NwYW4+PC9w PjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMWY0OTdkIj4oYnV0LCBJ IGNhbiBub3QgdGVzdCBvbiBhbnkgb3RoZXIsIGJlY2F1c2Ugd2UgZG9u4oCZdCBrbm93IGhvdyB0 aGUga2VybmVsIGRyaXZlciBpcyB3cml0dGVuKTwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxZjQ5N2QiPsKgPC9zcGFuPjwvcD48cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFmNDk3ZCI+SWYga2VybmVsIGRyaXZlciBzdXBw b3J0cyBob3RwbHVnLCB3aGljaCBtZWFucyB0aGV5IGFyZSBhbGxvd2luZyBwY2lfY3JlYXRlX3Jv b3RfYnVzIGlycmVzcGVjdGl2ZSBvZiB3aGV0aGVyIEVQIGlzIHBsdWdnZWQgb3Igbm90Ljwvc3Bh bj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxZjQ5N2QiPklu IG90aGVyIHdvcmRzLiBGb2xsb3dpbmcgQVBJcyBhcmUgbmV2ZXIgY2FsbGVkLjwvc3Bhbj48L3A+ PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxZjQ5N2QiPnBjaV9zdG9w X3Jvb3RfYnVzKGJ1cyk7PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0iY29sb3I6IzFmNDk3ZCI+cGNpX3JlbW92ZV9yb290X2J1cyhidXMpOzwvc3Bhbj48L3A+PHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxZjQ5N2QiPsKgPC9zcGFuPjwv cD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFmNDk3ZCI+YW5kIGlu IHRoYXQgY2FzZSwgaWYgUENJZSBzbG90cyBpcyBlbXB0eSwgcnVubmluZyBTUERLIHJlc3VsdGlu ZyBpbiBzdGFsbHMuICgxMC0xNSBzZWNvbmRzKSBmb2xsb3dlZCBieSBjcmFzaC48L3NwYW4+PC9w PjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMWY0OTdkIj7CoDwvc3Bh bj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxZjQ5N2QiPlJl Z2FyZHMsPC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6 IzFmNDk3ZCI+T3phLjwvc3Bhbj48L3A+PGRpdj48ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3Jk ZXItdG9wOnNvbGlkICNiNWM0ZGYgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbiI+PHAg Y2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPkZyb206PC9z cGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtU YWhvbWEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+IFNQREsgW21haWx0bzo8YSBocmVm PSJtYWlsdG86c3Bkay1ib3VuY2VzQGxpc3RzLjAxLm9yZyI+c3Bkay1ib3VuY2VzQGxpc3RzLjAx Lm9yZzwvYT5dIDxiPk9uIEJlaGFsZiBPZiA8L2I+SGFycmlzLCBKYW1lcyBSPGJyPjxiPlNlbnQ6 PC9iPiBUdWVzZGF5LCBBdWd1c3QgMjksIDIwMTcgNjoyMCBQTTxicj48Yj5Ubzo8L2I+IFN0b3Jh Z2UgUGVyZm9ybWFuY2UgRGV2ZWxvcG1lbnQgS2l0PGJyPjxiPlN1YmplY3Q6PC9iPiBSZTogW1NQ REtdIFBDSSBob3RwbHVnIGFuZCBTUERLPC9zcGFuPjwvcD48L2Rpdj48L2Rpdj48cCBjbGFzcz0i TXNvTm9ybWFsIj7CoDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj5IaSBPemEsPC9wPjxwIGNsYXNz PSJNc29Ob3JtYWwiPsKgPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPkRvIHlvdSBzZWUgdGhpcyBp c3N1ZSBvbmx5IG9uIHlvdXIgYXJtdjggcGxhdGZvcm0gb3IgZG8geW91IGFsc28gc2VlIGl0IG9u IGFtZDY0PzwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj7CoDwvcD48cCBjbGFzcz0iTXNvTm9ybWFs Ij4tSmltPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiPsKgPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwi PsKgPC9wPjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI2I1YzRkZiAx LjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluIj48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibWFyZ2luLWxlZnQ6LjVpbiI+PGI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj5Gcm9tOiA8 L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJjb2xvcjpibGFjayI+U1BESyAmbHQ7PGEgaHJlZj0ibWFp bHRvOnNwZGstYm91bmNlc0BsaXN0cy4wMS5vcmciPnNwZGstYm91bmNlc0BsaXN0cy4wMS5vcmc8 L2E+Jmd0OyBvbiBiZWhhbGYgb2YgT3phIE96YSAmbHQ7PGEgaHJlZj0ibWFpbHRvOm96YS5vemFA YnJvYWRjb20uY29tIj5vemEub3phQGJyb2FkY29tLmNvbTwvYT4mZ3Q7PGJyPjxiPlJlcGx5LVRv OiA8L2I+U3RvcmFnZSBQZXJmb3JtYW5jZSBEZXZlbG9wbWVudCBLaXQgJmx0OzxhIGhyZWY9Im1h aWx0bzpzcGRrQGxpc3RzLjAxLm9yZyI+c3Bka0BsaXN0cy4wMS5vcmc8L2E+Jmd0Ozxicj48Yj5E YXRlOiA8L2I+VHVlc2RheSwgQXVndXN0IDI5LCAyMDE3IGF0IDE6NTEgQU08YnI+PGI+VG86IDwv Yj5TdG9yYWdlIFBlcmZvcm1hbmNlIERldmVsb3BtZW50IEtpdCAmbHQ7PGEgaHJlZj0ibWFpbHRv OnNwZGtAbGlzdHMuMDEub3JnIj5zcGRrQGxpc3RzLjAxLm9yZzwvYT4mZ3Q7PGJyPjxiPlN1Ympl Y3Q6IDwvYj5SZTogW1NQREtdIFBDSSBob3RwbHVnIGFuZCBTUERLPC9zcGFuPjxzcGFuIHN0eWxl PSJmb250LXNpemU6MTIuMHB0O2NvbG9yOmJsYWNrIj48L3NwYW4+PC9wPjwvZGl2PjxkaXY+PHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPjxzcGFuIHN0eWxlPSJm b250LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssJnF1b3Q7c2VyaWYmcXVvdDsi PsKgPC9zcGFuPjwvcD48L2Rpdj48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxl ZnQ6LjVpbiI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxZjQ5N2QiPlNvcnJ5IElmIEkgd2FzIHVuY2xl YXIuPC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVp biI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxZjQ5N2QiPkkgYW0gbm90IHRhbGtpbmcgYWJvdXQgaG90 cGx1ZyBmZWF0dXJlIG9mIFNQREsuPC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibWFyZ2luLWxlZnQ6LjVpbiI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxZjQ5N2QiPsKgPC9zcGFu PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+PHNwYW4g c3R5bGU9ImNvbG9yOiMxZjQ5N2QiPsKgPC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTGlzdFBhcmFn cmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjEuMGluIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6 V2luZ2RpbmdzIj7DmDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuMHB0O2ZvbnQtZmFt aWx5OiZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OywmcXVvdDtzZXJpZiZxdW90OyI+wqAgPC9z cGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojMWY0OTdkIj5QQ0kgaG90cGx1ZyBmZWF0dXJlIGlzIGlt cGxlbWVudGVkIGluIGtlcm5lbCBkcml2ZXIgYW5kIHdvcmtpbmcgZmluZS48L3NwYW4+PC9wPjxw IGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MS4waW4iPjxzcGFu IHN0eWxlPSJmb250LWZhbWlseTpXaW5nZGluZ3MiPsOYPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250 LXNpemU6Ny4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LCZxdW90 O3NlcmlmJnF1b3Q7Ij7CoCA8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiMxZjQ5N2QiPkJ1dCB0 aGUgbW9tZW50IEkgcnVuIFNQREsgYW5kIHRyeSB0byBiaW5kIHZmaW8gZHJpdmVyIGl0IHN0YWxs cyBjb21wbGV0ZWx5Ljwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxl PSJtYXJnaW4tbGVmdDoxLjVpbiI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxZjQ5N2QiPlRoZSByZWFz b24gaXM6IGtlcm5lbCBkcml2ZXIgd2lsbCBub3QgcmVtb3ZlIHRoZSByb290IGJ1cyAod2hlbiBQ Q0llIGVuZHBvaW50IGlzIG5vdCBjb25uZWN0ZWQsIGR1cmluZyBib290LXRpbWUpPC9zcGFuPjwv cD48cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjEuNWluIj48 c3BhbiBzdHlsZT0iY29sb3I6IzFmNDk3ZCI+U28gU1BESyB0cmllcyB0byBiaW5kIGRyaXZlciB0 aGlua2luZyBob3N0IGJyaWRnZSBpcyB0aGVyZS48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29MaXN0 UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6Mi4waW4iPjxzcGFuIHN0eWxlPSJjb2xvcjoj MWY0OTdkIj5XaXRob3V0IFBDSSBob3RwbHVnIGhvc3QgYnJpZGdlIHdpbGwgbm90IGJlIHRoZXJl IGJlY2F1c2Ugb2YgZm9sbG93aW5nIEFQSSBjYWxsIGluIGtlcm5lbCBkcml2ZXIuPC9zcGFuPjwv cD48cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjIuNWluIj5w Y2lfc3RvcF9yb290X2J1cyhidXMpOzwvcD48cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5 bGU9Im1hcmdpbi1sZWZ0OjIuNWluIj5wY2lfcmVtb3ZlX3Jvb3RfYnVzKGJ1cyk7PC9wPjxwIGNs YXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MS4waW4iPjxzcGFuIHN0 eWxlPSJmb250LWZhbWlseTpXaW5nZGluZ3MiPsOYPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNp emU6Ny4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LCZxdW90O3Nl cmlmJnF1b3Q7Ij7CoCA8L3NwYW4+c2luY2Ugbm93IHdlIGFsbG93IGhvc3QgYnJpZGdlIGNyZWF0 aW9uwqAgKEFQSTogcGNpX2NyZWF0ZV9yb290X2J1cykgaXJyZXNwZWN0aXZlIG9mIEVQIGlzIGNv bm5lY3RlZCBvciBub3QuPC9wPjxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFy Z2luLWxlZnQ6MS41aW4iPkFuZCB0aGVuIGlmIEkgcnVuIFNQREsgKHdpdGggbm8gRW5kcG9pbnQg Y29ubmVjdGVkL0VtcHR5IHNsb3QpIEkgZ2V0IHN0YWxscy48L3A+PHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPsKgPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtYXJnaW4tbGVmdDouNWluIj5SZWdhcmRzLDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBz dHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+T3phLjwvcD48ZGl2PjxkaXYgc3R5bGU9ImJvcmRlcjpu b25lO2JvcmRlci10b3A6c29saWQgI2I1YzRkZiAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4g MGluIj48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+PGI+PHNw YW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7 LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtUYWhvbWEmcXVvdDssJnF1b3Q7c2Fucy1z ZXJpZiZxdW90OyI+IFNQREsgW21haWx0bzo8YSBocmVmPSJtYWlsdG86c3Bkay1ib3VuY2VzQGxp c3RzLjAxLm9yZyI+c3Bkay1ib3VuY2VzQGxpc3RzLjAxLm9yZzwvYT5dIDxiPk9uIEJlaGFsZiBP ZiA8L2I+Q2hhbmcsIEN1bnlpbjxicj48Yj5TZW50OjwvYj4gVHVlc2RheSwgQXVndXN0IDI5LCAy MDE3IDI6MTQgUE08YnI+PGI+VG86PC9iPiBTdG9yYWdlIFBlcmZvcm1hbmNlIERldmVsb3BtZW50 IEtpdDxicj48Yj5TdWJqZWN0OjwvYj4gUmU6IFtTUERLXSBQQ0kgaG90cGx1ZyBhbmQgU1BESzwv c3Bhbj48L3A+PC9kaXY+PC9kaXY+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1s ZWZ0Oi41aW4iPsKgPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDou NWluIj48c3BhbiBzdHlsZT0iY29sb3I6IzFmNDk3ZCI+SGkgT3phLDwvc3Bhbj48L3A+PHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPjxzcGFuIHN0eWxlPSJjb2xv cjojMWY0OTdkIj7CoDwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdp bi1sZWZ0Oi41aW4iPjxzcGFuIHN0eWxlPSJjb2xvcjojMWY0OTdkIj5Db3VsZCB5b3UgcGxlYXNl IHByb3ZpZGUgc29tZSBkZXRhaWxzIHN0ZXBzIHRvIHJlcHJvZHVjZSB0aGUgaXNzdWU/PC9zcGFu PjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+PHNwYW4g c3R5bGU9ImNvbG9yOiMxZjQ5N2QiPlNQREsgdGFrZSBpbiBjaGFyZ2UgwqBmb3IgaG90cGx1ZyBv bmx5IGFmdGVyIHlvdSBiaW5kIHRoZSBkZXZpY2UgdG8gdWlvIG9yIHZmaW8gZHJpdmVyLDwvc3Bh bj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPjxzcGFu IHN0eWxlPSJjb2xvcjojMWY0OTdkIj5zbyBmb3IgdGhlIG5ldyBpbnNlcnQgZGVpdmNlLCBpdCB3 aWxsIGhhbmRsZWQgYnkga2VybmVsIGRyaXZlciBmaXJzdC48L3NwYW4+PC9wPjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj48c3BhbiBzdHlsZT0iY29sb3I6IzFm NDk3ZCI+wqA8L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVm dDouNWluIj48c3BhbiBzdHlsZT0iY29sb3I6IzFmNDk3ZCI+LUN1bnlpbjwvc3Bhbj48L3A+PHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPjxhIG5hbWU9Il9NYWls RW5kQ29tcG9zZSI+PC9hPjxzcGFuIHN0eWxlPSJjb2xvcjojMWY0OTdkIj7CoDwvc3Bhbj48L3A+ PGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtwYWRk aW5nOjBpbiAwaW4gMGluIDQuMHB0Ij48ZGl2PjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRl ci10b3A6c29saWQgI2UxZTFlMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluIj48cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+PGEgbmFtZT0iX19fX19y ZXBseXNlcGFyYXRvciI+PC9hPjxiPkZyb206PC9iPiBTUERLIFs8YSBocmVmPSJtYWlsdG86c3Bk ay1ib3VuY2VzQGxpc3RzLjAxLm9yZyI+bWFpbHRvOnNwZGstYm91bmNlc0BsaXN0cy4wMS5vcmc8 L2E+XSA8Yj5PbiBCZWhhbGYgT2YgPC9iPk96YSBPemE8YnI+PGI+U2VudDo8L2I+IFR1ZXNkYXks IEF1Z3VzdCAyOSwgMjAxNyA0OjIyIFBNPGJyPjxiPlRvOjwvYj4gU3RvcmFnZSBQZXJmb3JtYW5j ZSBEZXZlbG9wbWVudCBLaXQgJmx0OzxhIGhyZWY9Im1haWx0bzpzcGRrQGxpc3RzLjAxLm9yZyI+ c3Bka0BsaXN0cy4wMS5vcmc8L2E+Jmd0Ozxicj48Yj5TdWJqZWN0OjwvYj4gW1NQREtdIFBDSSBo b3RwbHVnIGFuZCBTUERLPC9wPjwvZGl2PjwvZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl PSJtYXJnaW4tbGVmdDouNWluIj7CoDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFy Z2luLWxlZnQ6LjVpbiI+SGkgQWxsLDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFy Z2luLWxlZnQ6LjVpbiI+wqA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1s ZWZ0Oi41aW4iPlBDSSBob3RwbHVnIHN1cHBvcnQ7IHJlcXVpcmVzIGNyZWF0aW9uIG9mIHJvb3Qg YnVzIGFuZCBwcm9iZSB0byBnbyBhaGVhZCB3aXRoIGFsbCBQQ0llIGNvbmZpZ3VyYXRpb24uPC9w PjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj7CoDwvcD48cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+V2hpY2ggbWVhbnMgZm9s bG93aW5nIEFQSXMgYWUgbm90IGNhbGxlZC48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9 Im1hcmdpbi1sZWZ0Oi41aW4iPsKgwqAgcGNpX3N0b3Bfcm9vdF9idXMoYnVzKTs8L3A+PHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPsKgwqAgcGNpX3JlbW92ZV9y b290X2J1cyhidXMpOzwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6 LjVpbiI+wqA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4i PsKgPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5BbmQg dGhlbiBJZiBJIHJ1biBTUERLLCBJdCBtYWtlcyBzeXN0ZW0gY3Jhc2ggd2l0aCBmb2xsb3dpbmcg aW5mby48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPsKg PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5Ob3RlOiBp ZiB0aGUgZGlzayBpcyBjb25uZWN0ZWQgdGhlbiBTUERLIGlzIGZpbmUuPC9wPjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj7CoDwvcD48cCBjbGFzcz0iTXNvTm9y bWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+T3RoZXJ3aXNlIGl0IHN0YWxscyB0aGUgc3lz dGVtIHdpdGggZm9sbG93aW5nIGNyYXNoLjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i bWFyZ2luLWxlZnQ6LjVpbiI+wqA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdp bi1sZWZ0Oi41aW4iPnJvb3RAYmNtOTU4NzQyazp+IyBlY2hvIDIwNDggJmd0OyAvcHJvYy9zeXMv dm0vbnJfaHVnZXBhZ2VzOyAvdXNyL3NoYXJlL3NwZGsvc2NyaXB0cy9zZXR1cC5zaDwvcD48cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+Z3JlcDogL3Vzci9zaGFy ZS9zcGRrL3NjcmlwdHMvLi4vaW5jbHVkZS9zcGRrL3BjaV9pZHMuaDogTm8gc3VjaFvCoMKgIDM0 LjYyMTMyNV0gcGNpIDAwMDg6MDA6MDAuMDogUENJIGJyaWRnZSB0byBbYnVzIDAxXTwvcD48cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+ZmlsZSBvciBkaXJlY3Rv cnk8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPlvCoMKg IDM0LjY0MDU4Nl0gcGNpIDAwMDA6MDA6MDAuMDogYnJpZGdlIGNvbmZpZ3VyYXRpb24gaW52YWxp ZCAoW2J1cyAwMC0wMF0pLCByZWNvbmZpZ3VyaW5nPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtYXJnaW4tbGVmdDouNWluIj5bwqDCoCA1MC4yNjcwNTZdIHBjaSAwMDAwOjAwOjAwLjA6 IFBDSSBicmlkZ2UgdG8gW2J1cyAwMV08L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1h cmdpbi1sZWZ0Oi41aW4iPlvCoMKgIDUwLjI3MjMzN10gcGNpIDAwMDE6MDA6MDAuMDogYnJpZGdl IGNvbmZpZ3VyYXRpb24gaW52YWxpZCAoW2J1cyAwMC0wMF0pLCByZWNvbmZpZ3VyaW5nPC9wPjxw IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5bwqDCoCA2NS44OTg3 NjJdIHBjaSAwMDAxOjAwOjAwLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMV08L3A+PHAgY2xhc3M9 Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPlvCoMKgIDY1LjkwNDAxNV0gcGNp IDAwMDY6MDA6MDAuMDogYnJpZGdlIGNvbmZpZ3VyYXRpb24gaW52YWxpZCAoW2J1cyAwMC0wMF0p LCByZWNvbmZpZ3VyaW5nPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVm dDouNWluIj5bwqDCoCA4MS41MzA0MzddIHBjaSAwMDA2OjAwOjAwLjA6IFBDSSBicmlkZ2UgdG8g W2J1cyAwMV08L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4i PlvCoMKgIDgxLjUzNTY4MF0gcGNpIDAwMDc6MDA6MDAuMDogYnJpZGdlIGNvbmZpZ3VyYXRpb24g aW52YWxpZCAoW2J1cyAwMC0wMF0pLCByZWNvbmZpZ3VyaW5nPC9wPjxwIGNsYXNzPSJNc29Ob3Jt YWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5bwqDCoCA5Ny4xNjIxMDNdIHBjaSAwMDA3OjAw OjAwLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMV08L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5 bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPlvCoMKgIDk3LjE2NzI1NV0gQmFkIG1vZGUgaW4gRXJyb3Ig aGFuZGxlciBkZXRlY3RlZCBvbiBDUFU2LCBjb2RlIDB4YmYwMDAwMDIgLS0gU0Vycm9yPC9wPjxw IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5bwqDCoCA5Ny4xNzQ5 NzRdIEludGVybmFsIGVycm9yOiBPb3BzIC0gYmFkIG1vZGU6IDAgWyMxXSBTTVA8L3A+PHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPlvCoMKgIDk3LjE4MDM2NF0g TW9kdWxlcyBsaW5rZWQgaW46PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4t bGVmdDouNWluIj5bwqDCoCA5Ny4xODM1MTVdIENQVTogNiBQSUQ6IDIxMDQgQ29tbTogYmFzaCBO b3QgdGFpbnRlZCA0LjEyLjAtMDE1NjAtZ2M4MzA5M2QtZGlydHkgIzg5PC9wPjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5bwqDCoCA5Ny4xOTE0MTNdIEhhcmR3 YXJlIG5hbWU6IFN0aW5ncmF5IENvbWJvIFNWSyB3L1BDSWUgSU9NTVUgKEJDTTk1ODc0MkspIChE VCk8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPlvCoMKg IDk3LjE5ODY4M10gdGFzazogZmZmZjgwYTE2M2E0MDAwMCB0YXNrLnN0YWNrOiBmZmZmODBhMTYx MmI0MDAwPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5b wqDCoCA5Ny4yMDQ3OTBdIFBDIGlzIGF0IDB4ZmZmZjdjYmRmYmE4PC9wPjxwIGNsYXNzPSJNc29O b3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5bwqDCoCA5Ny4yMDgzODddIExSIGlzIGF0 IDB4ZmZmZjdjYjhmMjg4PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVm dDouNWluIj5bwqDCoCA5Ny4yMTE5ODNdIHBjIDogWyZsdDswMDAwZmZmZjdjYmRmYmE4Jmd0O10g bHIgOiBbJmx0OzAwMDBmZmZmN2NiOGYyODgmZ3Q7XSBwc3RhdGU6IDIwMDAwMDAwPC9wPjxwIGNs YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5bwqDCoCA5Ny4yMTk2MTJd IHNwIDogMDAwMGZmZmZmZTU2NDA0MDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFy Z2luLWxlZnQ6LjVpbiI+W8KgwqAgOTcuMjIzMDI5XSB4Mjk6IDAwMDBmZmZmZmU1NjQwNDAgeDI4 OiAwMDAwMDAwMDEwNTRjZTYwPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4t bGVmdDouNWluIj5bwqDCoCA5Ny4yMjg1MDldIHgyNzogMDAwMDAwMDAwMDAwMDAwMCB4MjY6IDAw MDAwMDAwMDA0ZTIwMDA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0 Oi41aW4iPlvCoMKgIDk3LjIzMzk4OV0geDI1OiAwMDAwMDAwMDAwNGU1MDAwIHgyNDogMDAwMDAw MDAwMDAwMDAwMjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVp biI+W8KgwqAgOTcuMjM5NDY4XSB4MjM6IDAwMDBmZmZmN2NjNjM2MzggeDIyOiAwMDAwMDAwMDAw MDAwMDAyPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5b wqDCoCA5Ny4yNDQ5NDddIHgyMTogMDAwMGZmZmY3Y2M2NzQ4MCB4MjA6IDAwMDAwMDAwMTA1NGRi MTA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPlvCoMKg IDk3LjI1MDQyN10geDE5OiAwMDAwMDAwMDAwMDAwMDAyIHgxODogMDAwMDAwMDAwMDAwMDAwMDwv cD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+W8KgwqAgOTcu MjU1OTA2XSB4MTc6IDAwMDAwMDAwMDA0ZGFhYzggeDE2OiAwMDAwMDAwMDAwMDAwMDAwPC9wPjxw IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5bwqDCoCA5Ny4yNjEz ODZdIHgxNTogMDAwMDAwMDAwMDAwMDA5NiB4MTQ6IDAwMDAwMDAwMDAwMDAwMDA8L3A+PHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPlvCoMKgIDk3LjI2Njg2NV0g eDEzOiAwMDAwMDAwMDAwMDAwMDAwIHgxMjogMDAwMDAwMDAwMDAwMDAwMDwvcD48cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+W8KgwqAgOTcuMjcyMzQ0XSB4MTE6 IDAwMDAwMDAwMDAwMDAwMjAgeDEwOiAwMTAxMDEwMTAxMDEwMTAxPC9wPjxwIGNsYXNzPSJNc29O b3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj5bwqDCoCA5Ny4yNzc4MjRdIHg5IDogZmZm ZmZmODBmZmZmZmZjOCB4OCA6IDAwMDAwMDAwMDAwMDAwNDA8L3A+PHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPlvCoMKgIDk3LjI4MzMwM10geDcgOiAwMDAwMDAw MDAwMDAwMDAxIHg2IDogMDAwMGZmZmY3Y2M2NjlmMDwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBz dHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+W8KgwqAgOTcuMjg4NzgyXSB4NSA6IDAwMDAwMDAwMDAw MTU1NTEgeDQgOiAwMDAwMDAwMDAwMDAwODg4PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl PSJtYXJnaW4tbGVmdDouNWluIj5bwqDCoCA5Ny4yOTQyNjFdIHgzIDogMDAwMDAwMDAwMDAwMDAw MCB4MiA6IDAwMDAwMDAwMDAwMDAwMDI8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1h cmdpbi1sZWZ0Oi41aW4iPlvCoMKgIDk3LjI5OTc0MV0geDEgOiAwMDAwMDAwMDEwNTRkYjEwIHgw IDogMDAwMDAwMDAwMDAwMDAwMjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2lu LWxlZnQ6LjVpbiI+W8KgwqAgOTcuMzA1MjIwXSBQcm9jZXNzIGJhc2ggKHBpZDogMjEwNCwgc3Rh Y2sgbGltaXQgPSAweGZmZmY4MGExNjEyYjQwMDApPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtYXJnaW4tbGVmdDouNWluIj5bwqDCoCA5Ny4zMTE5NjBdIC0tLVsgZW5kIHRyYWNlIGEx ZjQ4YWJlMzA4MjAyNDEgXS0tLTwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2lu LWxlZnQ6LjVpbiI+wqA8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0 Oi41aW4iPlJlZ2FyZHMsPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVm dDouNWluIj5PemEuPC9wPjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+Cg== --===============5490753722036855747==--