From chuan.liao at hp.com Wed Apr 2 03:12:41 2014 Content-Type: multipart/mixed; boundary="===============8641528396655957507==" MIME-Version: 1.0 From: Liao, Chuan (Jason Liao, HPservers-Core-OE-PSC) To: devel at ovirt.org Subject: [Engine-devel] FW: Discussion about NUMA feature and CPU pinning Date: Wed, 02 Apr 2014 07:10:36 +0000 Message-ID: --===============8641528396655957507== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --_000_B63C858E777679458338A30A991BB524015F8CAEG2W2441americas_ Content-Type: text/plain; charset=3D"gb2312" Content-Transfer-Encoding: base64 Rm9yd2FyZCB0byBwdWJsaWMgZ3JvdXANCg0KQmVzdCBSZWdhcmRzLA0KSmFzb24gTGlhbw0KDQpG cm9tOiBMaWFvLCBDaHVhbiAoSmFzb24gTGlhbywgSFBzZXJ2ZXJzLUNvcmUtT0UtUFNDKQ0KU2Vu dDogMjAxNMTqNNTCMcjVIDE2OjU2DQpUbzogJ0dpbGFkIENoYXBsaWsnDQpDYzogRG9yb24gRmVk aXVjazsgVmlub2QsIENoZWd1OyBMaWFuZywgU2hhbmctQ2h1biAoRGF2aWQgTGlhbmcsIEhQc2Vy dmVycy1Db3JlLU9FLVBTQyk7IFNoaSwgWGlhby1MZWkgKEJydWNlLCBIUCBTZXJ2ZXJzLVBTQy1D USk7ICdkZXZlbEBvdmlydC5vcmcnDQpTdWJqZWN0OiBEaXNjdXNzaW9uIGFib3V0IE5VTUEgZmVh dHVyZSBhbmQgQ1BVIHBpbm5pbmcNCg0KSGkgR2lsYWQsDQoNCldoZW4gSSBkZWZpbmUgVmRjQWN0 aW9uVHlwZSB0byBtYW5hZ2UgVmlydHVhbCBOVU1BIG5vZGUgYW5kIHBpbiBWaXJ0dWFsIE5VTUEg bm9kZSB0byBob3N0IE5VTUEgbm9kZS4NCg0KVGhlcmUgYXJlIHNvbWUgb3BlcmF0aW9ucyBpbiBs aXN0Og0KDQoxLiAgICAgIE5ldyBWaXJ0dWFsIE5VTUEgbm9kZSAoIHNldCB2Y3B1cyBjb3VudCwg c2V0IHRvdGFsIG1lbW9yeSApDQoNCjIuICAgICAgUGluIFZpcnR1YWwgTlVNQSBub2RlIHRvIGhv c3QgTlVNQSBub2RlICggc2F2ZSBob3N0IE5VTUEgbm9kZSBJRCBpbnRvIFZpcnR1YWwgTlVNQSBu b2RlICkNCg0KMy4gICAgICBTYXZlIGEgVk2hr3MgYWxsIFZpcnR1YWwgTlVNQSBub2RlDQoNCmEp ICAgICAgICAgQ2FsY3VsYXRlIFZNIHBpbiB0byBob3N0IHByb3BlcnR5IGZyb20gaG9zdCBOVU1B IG5vZGWhr3MgaG9zdCBJRC4NCg0KYikgICAgICAgICBDYWxjdWxhdGUgVk0gTlVNQSB0dW5pbmcg bm9kZXNldCBmcm9tIGFsbCBWaXJ0dWFsIE5VTUEgbm9kZaGvcyBwaW4gdG8gaG9zdCBOVU1BIG5v ZGUgSUQuDQoNCmMpICAgICAgICAgQ2FsY3VsYXRlIFZNIENQVSBwaW5uaW5nIGZyb20gYWxsIFZp cnR1YWwgTlVNQSBub2Rloa9zIHZjcHVzIGFuZCByZWxhdGVkIHBpbiB0byBob3N0IE5VTUEgbm9k ZSBjcHVzDQoNCmUuZy4NCg0KaG9zdCBOVU1BIG5vZGUgMCBjcHVzIDAsIDEsIDIsIDMNCg0KaG9z dCBOVU1BIG5vZGUgMSBjcHVzIDQsIDUsIDYsIDcNCg0KaG9zdCBOVU1BIG5vZGUgMiBjcHVzIDgs IDksIDEwLCAxMQ0KDQpob3N0IE5VTUEgbm9kZSAzIGNwdXMgMTIsIDEzLCAxNCwgMTUNCg0Kdmly dHVhbCBOVU1BIG5vZGUgMCB2Y3B1cyBjb3VudCAyDQoNCnZpcnR1YWwgTlVNQSBub2RlIDEgdmNw dXMgY291bnQgMg0KDQoNCg0KcGluIHZpcnR1YWwgTlVNQSBub2RlIDAgdG8gaG9zdCBOVU1BIG5v ZGUgMQ0KDQpwaW4gdmlydHVhbCBOVU1BIG5vZGUgMSB0byBob3N0IE5VTUEgbm9kZSAzDQoNCg0K DQpiLiBDYWxjdWxhdGUgcmVzdWx0OiAxLDMNCg0KYy4gQ2FsY3VsYXRlIHJlc3VsdDogMCM0LDUs Niw3XzEjNCw1LDYsN18yIzEyLDEzLDE0LDE1XzMjMTIsMTMsMTQsMTUNCg0KRGlzY3Vzc2lvbjoN Cg0KMS4gICAgICBEbyB3ZSBuZWVkIHRoZXNlIG9wZXJhdGlvbnMsIGVzcGVjaWFsbHkgbWV0aG9k IGMuID8NCg0KMi4gICAgICBJZiB0aGUgYW5zd2VyIGlzIFllcywgdGhpcyBvcGVyYXRpb24gd2ls bCByZXBsYWNlIHRoZSBDcHUgcGlubmluZyBjb25maWd1cmF0aW9uIGZyb20gVk0gQ3B1IHBpbmlu ZyBpbnB1dCwgRG8gd2UgbmVlZCB0byBub3RpZnkgdGhlIG93bmVyID8NCg0KQmVzdCBSZWdhcmRz LA0KSmFzb24gTGlhbw0KDQo=3D --_000_B63C858E777679458338A30A991BB524015F8CAEG2W2441americas_ Content-Type: text/html; charset=3D"gb2312" Content-Transfer-Encoding: quoted-printable

Forward to public gro= =3D up

 

Best= =3D Regards,
Jason Liao= =3D

 

From: Liao, Chuan (Jason Liao, HPservers-Core-OE-= PS=3D C)
Sent: 2014
=3DC4=3DEA4=3DD4=3DC21=3DC8=3DD5 16:56
To: 'Gilad Chaplik'
Cc: Doron Fediuck; Vinod, Chegu; Liang, Shang-Chun (David Liang, HPs= =3D ervers-Core-OE-PSC); Shi, Xiao-Lei (Bruce, HP Servers-PSC-CQ); 'devel(a)ovi= rt=3D .org'
Subject: Discussion about NUMA feature and CPU pinning

 

Hi Gilad,

 

When I define VdcActionType to mana= =3D ge Virtual NUMA node and pin Virtual NUMA node to host NUMA node.

 

There are some operations in list:<= =3D o:p>

1.<= sp=3D an style=3D3D"font:7.0pt "Times New Roman"">   &nb= sp=3D ;  New Virtual NUMA node ( set= =3D vcpus count, set total memory )

2.<= sp=3D an style=3D3D"font:7.0pt "Times New Roman"">   &nb= sp=3D ;  Pin Virtual NUMA node to ho= =3D st NUMA node ( save host NUMA node ID into Virtual NUMA node )

3.<= sp=3D an style=3D3D"font:7.0pt "Times New Roman"">   &nb= sp=3D ;  Save a VM=3DA1=3DAFs all Vi= rtua=3D l NUMA node

a)<= sp=3D an style=3D3D"font:7.0pt "Times New Roman"">   &nb= sp=3D ;     Calculate VM pin to host pr= =3D operty from host NUMA node=3DA1=3DAFs host ID.

b)<= sp=3D an style=3D3D"font:7.0pt "Times New Roman"">   &nb= sp=3D ;     Calculate VM NUMA tuning no= =3D deset from all Virtual NUMA node=3DA1=3DAFs pin to host NUMA node ID.<= /o:p=3D >

c)<= sp=3D an style=3D3D"font:7.0pt "Times New Roman"">   &nb= sp=3D ;     Calculate VM CPU pinning fr= =3D om all Virtual NUMA node=3DA1=3DAFs vcpus and related pin to host NUMA node= cpu=3D s

=3D e.g.

=3D host NUMA node 0 cpus 0, 1, 2, 3

=3D host NUMA node 1 cpus 4, 5, 6, 7

=3D host NUMA node 2 cpus 8, 9, 10, 11

=3D host NUMA node 3 cpus 12, 13, 14, 15

=3D virtual NUMA node 0 vcpus count 2

=3D virtual NUMA node 1 vcpus count 2

=3D  

=3D pin virtual NUMA node 0 to host NUMA node 1

=3D pin virtual NUMA node 1 to host NUMA node 3

=3D  

=3D b. Calculate result: 1,3

=3D c. Calculate result: 0#4,5,6,7_1#4,5,6,7_2#12,13,14,15_3#1= =3D 2,13,14,15

 

Discussion:

1.<= sp=3D an style=3D3D"font:7.0pt "Times New Roman"">   &nb= sp=3D ;  Do we need these operations= =3D , especially method c. ?

2.<= sp=3D an style=3D3D"font:7.0pt "Times New Roman"">   &nb= sp=3D ;  If the answer is Yes, this = =3D operation will replace the Cpu pinning configuration from VM Cpu pining inp= =3D ut, Do we need to notify the owner ?

 

Best= =3D Regards,
Jason Liao= =3D

 

--_000_B63C858E777679458338A30A991BB524015F8CAEG2W2441americas_-- --===============8641528396655957507== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS1fMDAwX0I2M0M4NThFNzc3Njc5NDU4MzM4QTMwQTk5MUJCNTI0MDE1RjhDQUVHMlcyNDQxYW1l cmljYXNfCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iZ2IyMzEyIgpDb250ZW50 LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQKClJtOXlkMkZ5WkNCMGJ5QndkV0pzYVdNZ1ozSnZk WEFOQ2cwS1FtVnpkQ0JTWldkaGNtUnpMQTBLU21GemIyNGdUR2xoYncwS0RRcEcKY205dE9pQk1h V0Z2TENCRGFIVmhiaUFvU21GemIyNGdUR2xoYnl3Z1NGQnpaWEoyWlhKekxVTnZjbVV0VDBVdFVG TkRLUTBLVTJWdQpkRG9nTWpBeE5NVHFOTlRDTWNqVklERTJPalUyRFFwVWJ6b2dKMGRwYkdGa0lF Tm9ZWEJzYVdzbkRRcERZem9nUkc5eWIyNGdSbVZrCmFYVmphenNnVm1sdWIyUXNJRU5vWldkMU95 Qk1hV0Z1Wnl3Z1UyaGhibWN0UTJoMWJpQW9SR0YyYVdRZ1RHbGhibWNzSUVoUWMyVnkKZG1WeWN5 MURiM0psTFU5RkxWQlRReWs3SUZOb2FTd2dXR2xoYnkxTVpXa2dLRUp5ZFdObExDQklVQ0JUWlhK MlpYSnpMVkJUUXkxRApVU2s3SUNka1pYWmxiRUJ2ZG1seWRDNXZjbWNuRFFwVGRXSnFaV04wT2lC RWFYTmpkWE56YVc5dUlHRmliM1YwSUU1VlRVRWdabVZoCmRIVnlaU0JoYm1RZ1ExQlZJSEJwYm01 cGJtY05DZzBLU0drZ1IybHNZV1FzRFFvTkNsZG9aVzRnU1NCa1pXWnBibVVnVm1SalFXTjAKYVc5 dVZIbHdaU0IwYnlCdFlXNWhaMlVnVm1seWRIVmhiQ0JPVlUxQklHNXZaR1VnWVc1a0lIQnBiaUJX YVhKMGRXRnNJRTVWVFVFZwpibTlrWlNCMGJ5Qm9iM04wSUU1VlRVRWdibTlrWlM0TkNnMEtWR2hs Y21VZ1lYSmxJSE52YldVZ2IzQmxjbUYwYVc5dWN5QnBiaUJzCmFYTjBPZzBLRFFveExpQWdJQ0Fn SUU1bGR5QldhWEowZFdGc0lFNVZUVUVnYm05a1pTQW9JSE5sZENCMlkzQjFjeUJqYjNWdWRDd2cK YzJWMElIUnZkR0ZzSUcxbGJXOXllU0FwRFFvTkNqSXVJQ0FnSUNBZ1VHbHVJRlpwY25SMVlXd2dU bFZOUVNCdWIyUmxJSFJ2SUdodgpjM1FnVGxWTlFTQnViMlJsSUNnZ2MyRjJaU0JvYjNOMElFNVZU VUVnYm05a1pTQkpSQ0JwYm5SdklGWnBjblIxWVd3Z1RsVk5RU0J1CmIyUmxJQ2tOQ2cwS015NGdJ Q0FnSUNCVFlYWmxJR0VnVmsyaHIzTWdZV3hzSUZacGNuUjFZV3dnVGxWTlFTQnViMlJsRFFvTkNt RXAKSUNBZ0lDQWdJQ0FnUTJGc1kzVnNZWFJsSUZaTklIQnBiaUIwYnlCb2IzTjBJSEJ5YjNCbGNu UjVJR1p5YjIwZ2FHOXpkQ0JPVlUxQgpJRzV2WkdXaHIzTWdhRzl6ZENCSlJDNE5DZzBLWWlrZ0lD QWdJQ0FnSUNCRFlXeGpkV3hoZEdVZ1ZrMGdUbFZOUVNCMGRXNXBibWNnCmJtOWtaWE5sZENCbWNt OXRJR0ZzYkNCV2FYSjBkV0ZzSUU1VlRVRWdibTlrWmFHdmN5QndhVzRnZEc4Z2FHOXpkQ0JPVlUx QklHNXYKWkdVZ1NVUXVEUW9OQ21NcElDQWdJQ0FnSUNBZ1EyRnNZM1ZzWVhSbElGWk5JRU5RVlNC d2FXNXVhVzVuSUdaeWIyMGdZV3hzSUZacApjblIxWVd3Z1RsVk5RU0J1YjJSbG9hOXpJSFpqY0hW eklHRnVaQ0J5Wld4aGRHVmtJSEJwYmlCMGJ5Qm9iM04wSUU1VlRVRWdibTlrClpTQmpjSFZ6RFFv TkNtVXVaeTROQ2cwS2FHOXpkQ0JPVlUxQklHNXZaR1VnTUNCamNIVnpJREFzSURFc0lESXNJRE1O Q2cwS2FHOXoKZENCT1ZVMUJJRzV2WkdVZ01TQmpjSFZ6SURRc0lEVXNJRFlzSURjTkNnMEthRzl6 ZENCT1ZVMUJJRzV2WkdVZ01pQmpjSFZ6SURncwpJRGtzSURFd0xDQXhNUTBLRFFwb2IzTjBJRTVW VFVFZ2JtOWtaU0F6SUdOd2RYTWdNVElzSURFekxDQXhOQ3dnTVRVTkNnMEtkbWx5CmRIVmhiQ0JP VlUxQklHNXZaR1VnTUNCMlkzQjFjeUJqYjNWdWRDQXlEUW9OQ25acGNuUjFZV3dnVGxWTlFTQnVi MlJsSURFZ2RtTncKZFhNZ1kyOTFiblFnTWcwS0RRb05DZzBLY0dsdUlIWnBjblIxWVd3Z1RsVk5R U0J1YjJSbElEQWdkRzhnYUc5emRDQk9WVTFCSUc1dgpaR1VnTVEwS0RRcHdhVzRnZG1seWRIVmhi Q0JPVlUxQklHNXZaR1VnTVNCMGJ5Qm9iM04wSUU1VlRVRWdibTlrWlNBekRRb05DZzBLCkRRcGlM aUJEWVd4amRXeGhkR1VnY21WemRXeDBPaUF4TERNTkNnMEtZeTRnUTJGc1kzVnNZWFJsSUhKbGMz VnNkRG9nTUNNMExEVXMKTml3M1h6RWpOQ3cxTERZc04xOHlJekV5TERFekxERTBMREUxWHpNak1U SXNNVE1zTVRRc01UVU5DZzBLUkdselkzVnpjMmx2YmpvTgpDZzBLTVM0Z0lDQWdJQ0JFYnlCM1pT QnVaV1ZrSUhSb1pYTmxJRzl3WlhKaGRHbHZibk1zSUdWemNHVmphV0ZzYkhrZ2JXVjBhRzlrCklH TXVJRDhOQ2cwS01pNGdJQ0FnSUNCSlppQjBhR1VnWVc1emQyVnlJR2x6SUZsbGN5d2dkR2hwY3lC dmNHVnlZWFJwYjI0Z2QybHMKYkNCeVpYQnNZV05sSUhSb1pTQkRjSFVnY0dsdWJtbHVaeUJqYjI1 bWFXZDFjbUYwYVc5dUlHWnliMjBnVmswZ1EzQjFJSEJwYm1sdQpaeUJwYm5CMWRDd2dSRzhnZDJV Z2JtVmxaQ0IwYnlCdWIzUnBabmtnZEdobElHOTNibVZ5SUQ4TkNnMEtRbVZ6ZENCU1pXZGhjbVJ6 CkxBMEtTbUZ6YjI0Z1RHbGhidzBLRFFvPQoKLS1fMDAwX0I2M0M4NThFNzc3Njc5NDU4MzM4QTMw QTk5MUJCNTI0MDE1RjhDQUVHMlcyNDQxYW1lcmljYXNfCkNvbnRlbnQtVHlwZTogdGV4dC9odG1s OyBjaGFyc2V0PSJnYjIzMTIiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmlu dGFibGUKCjxodG1sPgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0zRCJDb250ZW50LVR5cGUiIGNv bnRlbnQ9M0QidGV4dC9odG1sOyBjaGFyc2V0PTNEZ2IyMzEyIj4KPG1ldGEgbmFtZT0zRCJHZW5l cmF0b3IiIGNvbnRlbnQ9M0QiTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPgo8 c3R5bGU+PCEtLQovKiBGb250IERlZmluaXRpb25zICovCkBmb250LWZhY2UKCXtmb250LWZhbWls eTpTaW1TdW47CglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30KQGZvbnQtZmFjZQoJe2Zv bnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOwoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9 CkBmb250LWZhY2UKCXtmb250LWZhbWlseTpDYWxpYnJpOwoJcGFub3NlLTE6MiAxNSA1IDIgMiAy IDQgMyAyIDQ7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6U2ltU3VuOwoJcGFub3NlLTE6MiAx IDYgMCAzIDEgMSAxIDEgMTt9CkBmb250LWZhY2UKCXtmb250LWZhbWlseToiWWFIZWkgQ29uc29s YXMgSHlicmlkIjsKCXBhbm9zZS0xOjIgMTEgNSA5IDIgMiA0IDIgMiA0O30KQGZvbnQtZmFjZQoJ e2ZvbnQtZmFtaWx5OiJcQFlhSGVpIENvbnNvbGFzIEh5YnJpZCI7CglwYW5vc2UtMToyIDExIDUg OSAyIDIgNCAyIDIgNDt9CkBmb250LWZhY2UKCXtmb250LWZhbWlseToiSFAgU2ltcGxpZmllZCI7 CglwYW5vc2UtMToyIDExIDYgNCAyIDIgNCAyIDIgNDt9Ci8qIFN0eWxlIERlZmluaXRpb25zICov CnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwKCXttYXJnaW46MGNtOwoJ bWFyZ2luLWJvdHRvbTouMDAwMXB0OwoJdGV4dC1hbGlnbjpqdXN0aWZ5OwoJdGV4dC1qdXN0aWZ5 OmludGVyLWlkZW9ncmFwaDsKCWZvbnQtc2l6ZToxMC41cHQ7Cglmb250LWZhbWlseToiQ2FsaWJy aSIsInNhbnMtc2VyaWYiO30KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluawoJe21zby1zdHlsZS1w cmlvcml0eTo5OTsKCWNvbG9yOiMwNTYzQzE7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30K YTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkCgl7bXNvLXN0eWxlLXByaW9yaXR5 Ojk5OwoJY29sb3I6Izk1NEY3MjsKCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQpwLk1zb0xp c3RQYXJhZ3JhcGgsIGxpLk1zb0xpc3RQYXJhZ3JhcGgsIGRpdi5Nc29MaXN0UGFyYWdyYXBoCgl7 bXNvLXN0eWxlLXByaW9yaXR5OjM0OwoJbWFyZ2luOjBjbTsKCW1hcmdpbi1ib3R0b206LjAwMDFw dDsKCXRleHQtYWxpZ246anVzdGlmeTsKCXRleHQtanVzdGlmeTppbnRlci1pZGVvZ3JhcGg7Cgl0 ZXh0LWluZGVudDoyMS4wcHQ7Cglmb250LXNpemU6MTAuNXB0OwoJZm9udC1mYW1pbHk6IkNhbGli cmkiLCJzYW5zLXNlcmlmIjt9CnNwYW4uRW1haWxTdHlsZTE4Cgl7bXNvLXN0eWxlLXR5cGU6cGVy c29uYWw7Cglmb250LWZhbWlseToiSFAgU2ltcGxpZmllZCIsInNhbnMtc2VyaWYiOwoJY29sb3I6 d2luZG93dGV4dDt9CnNwYW4uRW1haWxTdHlsZTE5Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwt cmVwbHk7Cglmb250LWZhbWlseToiSFAgU2ltcGxpZmllZCIsInNhbnMtc2VyaWYiOwoJY29sb3I6 IzcwMzBBMDt9Ci5Nc29DaHBEZWZhdWx0Cgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7Cglm b250LXNpemU6MTAuMHB0O30KQHBhZ2UgV29yZFNlY3Rpb24xCgl7c2l6ZTo2MTIuMHB0IDc5Mi4w cHQ7CgltYXJnaW46NzIuMHB0IDkwLjBwdCA3Mi4wcHQgOTAuMHB0O30KZGl2LldvcmRTZWN0aW9u MQoJe3BhZ2U6V29yZFNlY3Rpb24xO30KLyogTGlzdCBEZWZpbml0aW9ucyAqLwpAbGlzdCBsMAoJ e21zby1saXN0LWlkOjE3MzY4NTQ3MDI7Cgltc28tbGlzdC10eXBlOmh5YnJpZDsKCW1zby1saXN0 LXRlbXBsYXRlLWlkczoxNzMyNDI3NjIwIC05OTI1NDQyODQgNjc2OTg3MTMgNjc2OTg3MTUgNjc2 OTg3MDMgNjc2PQo5ODcxMyA2NzY5ODcxNSA2NzY5ODcwMyA2NzY5ODcxMyA2NzY5ODcxNTt9CkBs aXN0IGwwOmxldmVsMQoJe21zby1sZXZlbC10YWItc3RvcDpub25lOwoJbXNvLWxldmVsLW51bWJl ci1wb3NpdGlvbjpsZWZ0OwoJbWFyZ2luLWxlZnQ6MTguMHB0OwoJdGV4dC1pbmRlbnQ6LTE4LjBw dDt9CkBsaXN0IGwwOmxldmVsMgoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2Vy OwoJbXNvLWxldmVsLXRleHQ6IiUyXCkiOwoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7Cgltc28t bGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7CgltYXJnaW4tbGVmdDo0Mi4wcHQ7Cgl0ZXh0LWlu ZGVudDotMjEuMHB0O30KQGxpc3QgbDA6bGV2ZWwzCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6 cm9tYW4tbG93ZXI7Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsKCW1zby1sZXZlbC1udW1iZXIt cG9zaXRpb246cmlnaHQ7CgltYXJnaW4tbGVmdDo2My4wcHQ7Cgl0ZXh0LWluZGVudDotMjEuMHB0 O30KQGxpc3QgbDA6bGV2ZWw0Cgl7bXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7Cgltc28tbGV2ZWwt bnVtYmVyLXBvc2l0aW9uOmxlZnQ7CgltYXJnaW4tbGVmdDo4NC4wcHQ7Cgl0ZXh0LWluZGVudDot MjEuMHB0O30KQGxpc3QgbDA6bGV2ZWw1Cgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEt bG93ZXI7Cgltc28tbGV2ZWwtdGV4dDoiJTVcKSI7Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsK CW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKCW1hcmdpbi1sZWZ0OjEwNS4wcHQ7Cgl0 ZXh0LWluZGVudDotMjEuMHB0O30KQGxpc3QgbDA6bGV2ZWw2Cgl7bXNvLWxldmVsLW51bWJlci1m b3JtYXQ6cm9tYW4tbG93ZXI7Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsKCW1zby1sZXZlbC1u dW1iZXItcG9zaXRpb246cmlnaHQ7CgltYXJnaW4tbGVmdDoxMjYuMHB0OwoJdGV4dC1pbmRlbnQ6 LTIxLjBwdDt9CkBsaXN0IGwwOmxldmVsNwoJe21zby1sZXZlbC10YWItc3RvcDpub25lOwoJbXNv LWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwoJbWFyZ2luLWxlZnQ6MTQ3LjBwdDsKCXRleHQt aW5kZW50Oi0yMS4wcHQ7fQpAbGlzdCBsMDpsZXZlbDgKCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1h dDphbHBoYS1sb3dlcjsKCW1zby1sZXZlbC10ZXh0OiIlOFwpIjsKCW1zby1sZXZlbC10YWItc3Rv cDpub25lOwoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwoJbWFyZ2luLWxlZnQ6MTY4 LjBwdDsKCXRleHQtaW5kZW50Oi0yMS4wcHQ7fQpAbGlzdCBsMDpsZXZlbDkKCXttc28tbGV2ZWwt bnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsKCW1zby1sZXZlbC10YWItc3RvcDpub25lOwoJbXNv LWxldmVsLW51bWJlci1wb3NpdGlvbjpyaWdodDsKCW1hcmdpbi1sZWZ0OjE4OS4wcHQ7Cgl0ZXh0 LWluZGVudDotMjEuMHB0O30KQGxpc3QgbDEKCXttc28tbGlzdC1pZDoyMDM1ODgxMDQ5OwoJbXNv LWxpc3QtdHlwZTpoeWJyaWQ7Cgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6NDQwNzI3NDA2IDEwOTIx MzM4MTQgNjc2OTg3MTMgNjc2OTg3MTUgNjc2OTg3MDMgNjc2OT0KODcxMyA2NzY5ODcxNSA2NzY5 ODcwMyA2NzY5ODcxMyA2NzY5ODcxNTt9CkBsaXN0IGwxOmxldmVsMQoJe21zby1sZXZlbC10YWIt c3RvcDpub25lOwoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwoJbWFyZ2luLWxlZnQ6 MTguMHB0OwoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9CkBsaXN0IGwxOmxldmVsMgoJe21zby1sZXZl bC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOwoJbXNvLWxldmVsLXRleHQ6IiUyXCkiOwoJbXNv LWxldmVsLXRhYi1zdG9wOm5vbmU7Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cglt YXJnaW4tbGVmdDo0Mi4wcHQ7Cgl0ZXh0LWluZGVudDotMjEuMHB0O30KQGxpc3QgbDE6bGV2ZWwz Cgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6cm9tYW4tbG93ZXI7Cgltc28tbGV2ZWwtdGFiLXN0 b3A6bm9uZTsKCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246cmlnaHQ7CgltYXJnaW4tbGVmdDo2 My4wcHQ7Cgl0ZXh0LWluZGVudDotMjEuMHB0O30KQGxpc3QgbDE6bGV2ZWw0Cgl7bXNvLWxldmVs LXRhYi1zdG9wOm5vbmU7Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7CgltYXJnaW4t bGVmdDo4NC4wcHQ7Cgl0ZXh0LWluZGVudDotMjEuMHB0O30KQGxpc3QgbDE6bGV2ZWw1Cgl7bXNv LWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7Cgltc28tbGV2ZWwtdGV4dDoiJTVcKSI7 Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsKCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVm dDsKCW1hcmdpbi1sZWZ0OjEwNS4wcHQ7Cgl0ZXh0LWluZGVudDotMjEuMHB0O30KQGxpc3QgbDE6 bGV2ZWw2Cgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6cm9tYW4tbG93ZXI7Cgltc28tbGV2ZWwt dGFiLXN0b3A6bm9uZTsKCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246cmlnaHQ7CgltYXJnaW4t bGVmdDoxMjYuMHB0OwoJdGV4dC1pbmRlbnQ6LTIxLjBwdDt9CkBsaXN0IGwxOmxldmVsNwoJe21z by1sZXZlbC10YWItc3RvcDpub25lOwoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwoJ bWFyZ2luLWxlZnQ6MTQ3LjBwdDsKCXRleHQtaW5kZW50Oi0yMS4wcHQ7fQpAbGlzdCBsMTpsZXZl bDgKCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsKCW1zby1sZXZlbC10ZXh0 OiIlOFwpIjsKCW1zby1sZXZlbC10YWItc3RvcDpub25lOwoJbXNvLWxldmVsLW51bWJlci1wb3Np dGlvbjpsZWZ0OwoJbWFyZ2luLWxlZnQ6MTY4LjBwdDsKCXRleHQtaW5kZW50Oi0yMS4wcHQ7fQpA bGlzdCBsMTpsZXZlbDkKCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsKCW1z by1sZXZlbC10YWItc3RvcDpub25lOwoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpyaWdodDsK CW1hcmdpbi1sZWZ0OjE4OS4wcHQ7Cgl0ZXh0LWluZGVudDotMjEuMHB0O30Kb2wKCXttYXJnaW4t Ym90dG9tOjBjbTt9CnVsCgl7bWFyZ2luLWJvdHRvbTowY207fQotLT48L3N0eWxlPjwhLS1baWYg Z3RlIG1zbyA5XT48eG1sPgo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PTNEImVkaXQiIHNwaWRtYXg9 M0QiMTAyNiIgLz4KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+Cjxv OnNoYXBlbGF5b3V0IHY6ZXh0PTNEImVkaXQiPgo8bzppZG1hcCB2OmV4dD0zRCJlZGl0IiBkYXRh PTNEIjEiIC8+CjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4KPC9oZWFkPgo8Ym9k eSBsYW5nPTNEIlpILUNOIiBsaW5rPTNEIiMwNTYzQzEiIHZsaW5rPTNEIiM5NTRGNzIiIHN0eWxl PTNEInRleHQtanVzdGk9CmZ5LXRyaW06cHVuY3R1YXRpb24iPgo8ZGl2IGNsYXNzPTNEIldvcmRT ZWN0aW9uMSI+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCI+PHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5 bGU9M0QiZm9udC1mYW1pbHk6JnF1b3Q7SFAgUz0KaW1wbGlmaWVkJnF1b3Q7LCZxdW90O3NhbnMt c2VyaWYmcXVvdDs7Y29sb3I6IzcwMzBBMCI+Rm9yd2FyZCB0byBwdWJsaWMgZ3JvPQp1cDxvOnA+ PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9M0QiTXNvTm9ybWFsIj48c3BhbiBsYW5nPTNEIkVO LVVTIiBzdHlsZT0zRCJmb250LWZhbWlseTomcXVvdDtIUCBTPQppbXBsaWZpZWQmcXVvdDssJnF1 b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojNzAzMEEwIj48bzpwPiZuYnNwOzwvbzpwPjwvc3A9 CmFuPjwvcD4KPGRpdj4KPHAgY2xhc3M9M0QiTXNvTm9ybWFsIj48Yj48c3BhbiBsYW5nPTNEIkVO LVVTIiBzdHlsZT0zRCJmb250LXNpemU6OS4wcHQ7Zm9uPQp0LWZhbWlseTomcXVvdDtIUCBTaW1w bGlmaWVkJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPkJlc3Q9CiBS ZWdhcmRzLDxicj4KPC9zcGFuPjwvYj48c3BhbiBsYW5nPTNEIkVOLVVTIiBzdHlsZT0zRCJmb250 LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7PQpIUCBTaW1wbGlmaWVkJnF1b3Q7LCZxdW90 O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzcxNzE3MiI+SmFzb24gTGlhbzwvc3Bhbj49CjxzcGFu IGxhbmc9M0QiRU4tVVMiIHN0eWxlPTNEImNvbG9yOiM3MDMwQTAiPjxvOnA+PC9vOnA+PC9zcGFu PjwvcD4KPC9kaXY+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCI+PHNwYW4gbGFuZz0zRCJFTi1VUyIg c3R5bGU9M0QiZm9udC1mYW1pbHk6JnF1b3Q7SFAgUz0KaW1wbGlmaWVkJnF1b3Q7LCZxdW90O3Nh bnMtc2VyaWYmcXVvdDs7Y29sb3I6IzcwMzBBMCI+PG86cD4mbmJzcDs8L286cD48L3NwPQphbj48 L3A+CjxkaXY+CjxkaXYgc3R5bGU9M0QiYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFF MUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtID0KMGNtIDBjbSI+CjxwIGNsYXNzPTNEIk1zb05v cm1hbCIgYWxpZ249M0QibGVmdCIgc3R5bGU9M0QidGV4dC1hbGlnbjpsZWZ0Ij48Yj48c3BhbiBs YT0Kbmc9M0QiRU4tVVMiIHN0eWxlPTNEImZvbnQtc2l6ZToxMS4wcHQiPkZyb206PC9zcGFuPjwv Yj48c3BhbiBsYW5nPTNEIkVOLVVTPQoiIHN0eWxlPTNEImZvbnQtc2l6ZToxMS4wcHQiPiBMaWFv LCBDaHVhbiAoSmFzb24gTGlhbywgSFBzZXJ2ZXJzLUNvcmUtT0UtUFM9CkMpCjxicj4KPGI+U2Vu dDo8L2I+IDIwMTQ8L3NwYW4+PHNwYW4gc3R5bGU9M0QiZm9udC1zaXplOjExLjBwdDtmb250LWZh bWlseTpTaW1TdW4iPQo+PUM0PUVBPC9zcGFuPjxzcGFuIGxhbmc9M0QiRU4tVVMiIHN0eWxlPTNE ImZvbnQtc2l6ZToxMS4wcHQiPjQ8L3NwYW4+PHNwYW49CiBzdHlsZT0zRCJmb250LXNpemU6MTEu MHB0O2ZvbnQtZmFtaWx5OlNpbVN1biI+PUQ0PUMyPC9zcGFuPjxzcGFuIGxhbmc9M0QiRT0KTi1V UyIgc3R5bGU9M0QiZm9udC1zaXplOjExLjBwdCI+MTwvc3Bhbj48c3BhbiBzdHlsZT0zRCJmb250 LXNpemU6MTEuMHB0O2ZvPQpudC1mYW1pbHk6U2ltU3VuIj49Qzg9RDU8L3NwYW4+PHNwYW4gbGFu Zz0zRCJFTi1VUyIgc3R5bGU9M0QiZm9udC1zaXplOjExLjA9CnB0Ij4KIDE2OjU2PGJyPgo8Yj5U bzo8L2I+ICdHaWxhZCBDaGFwbGlrJzxicj4KPGI+Q2M6PC9iPiBEb3JvbiBGZWRpdWNrOyBWaW5v ZCwgQ2hlZ3U7IExpYW5nLCBTaGFuZy1DaHVuIChEYXZpZCBMaWFuZywgSFBzPQplcnZlcnMtQ29y ZS1PRS1QU0MpOyBTaGksIFhpYW8tTGVpIChCcnVjZSwgSFAgU2VydmVycy1QU0MtQ1EpOyAnZGV2 ZWxAb3ZpcnQ9Ci5vcmcnPGJyPgo8Yj5TdWJqZWN0OjwvYj4gRGlzY3Vzc2lvbiBhYm91dCBOVU1B IGZlYXR1cmUgYW5kIENQVSBwaW5uaW5nPG86cD48L286cD48L3M9CnBhbj48L3A+CjwvZGl2Pgo8 L2Rpdj4KPHAgY2xhc3M9M0QiTXNvTm9ybWFsIiBhbGlnbj0zRCJsZWZ0IiBzdHlsZT0zRCJ0ZXh0 LWFsaWduOmxlZnQiPjxzcGFuIGxhbmc9Cj0zRCJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0zRCJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9M0QiRU4tVVMiIHN0eWxl PTNEImZvbnQtZmFtaWx5OiZxdW90O0hQIFM9CmltcGxpZmllZCZxdW90OywmcXVvdDtzYW5zLXNl cmlmJnF1b3Q7Ij5IaSBHaWxhZCw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNEIk1z b05vcm1hbCI+PHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5bGU9M0QiZm9udC1mYW1pbHk6JnF1b3Q7 SFAgUz0KaW1wbGlmaWVkJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPjxvOnA+Jm5ic3A7 PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9M0QiTXNvTm9ybWFsIj48c3BhbiBsYW5nPTNEIkVO LVVTIiBzdHlsZT0zRCJmb250LWZhbWlseTomcXVvdDtIUCBTPQppbXBsaWZpZWQmcXVvdDssJnF1 b3Q7c2Fucy1zZXJpZiZxdW90OyI+V2hlbiBJIGRlZmluZSBWZGNBY3Rpb25UeXBlIHRvIG1hbmE9 CmdlIFZpcnR1YWwgTlVNQSBub2RlIGFuZCBwaW4gVmlydHVhbCBOVU1BIG5vZGUgdG8gaG9zdCBO VU1BIG5vZGUuPG86cD48L286cD0KPjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCI+ PHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5bGU9M0QiZm9udC1mYW1pbHk6JnF1b3Q7SFAgUz0KaW1w bGlmaWVkJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPjxvOnA+Jm5ic3A7PC9vOnA+PC9z cGFuPjwvcD4KPHAgY2xhc3M9M0QiTXNvTm9ybWFsIj48c3BhbiBsYW5nPTNEIkVOLVVTIiBzdHls ZT0zRCJmb250LWZhbWlseTomcXVvdDtIUCBTPQppbXBsaWZpZWQmcXVvdDssJnF1b3Q7c2Fucy1z ZXJpZiZxdW90OyI+VGhlcmUgYXJlIHNvbWUgb3BlcmF0aW9ucyBpbiBsaXN0Ojw9Cm86cD48L286 cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0zRCJtYXJn aW4tbGVmdDoxOC4wcHQ7dGV4dC1pbmRlbnQ6LTE4LjA9CnB0O21zby1saXN0OmwwIGxldmVsMSBs Zm8yIj4KPCFbaWYgIXN1cHBvcnRMaXN0c10+PHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5bGU9M0Qi Zm9udC1mYW1pbHk6JnF1b3Q7SFAgU2ltPQpwbGlmaWVkJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm cXVvdDsiPjxzcGFuIHN0eWxlPTNEIm1zby1saXN0Oklnbm9yZSI+MS48c3A9CmFuIHN0eWxlPTNE ImZvbnQ6Ny4wcHQgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcD0KOyZuYnNwOwo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48IVtlbmRpZl0+PHNwYW4gbGFu Zz0zRCJFTi1VUyIgc3R5bGU9M0QiZm9udC1mYW1pbHk6JnE9CnVvdDtIUCBTaW1wbGlmaWVkJnF1 b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPk5ldyBWaXJ0dWFsIE5VTUEgbm9kZSAoIHNldD0K IHZjcHVzIGNvdW50LCBzZXQgdG90YWwgbWVtb3J5ICk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+Cjxw IGNsYXNzPTNEIk1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0OjE4LjBwdDt0 ZXh0LWluZGVudDotMTguMD0KcHQ7bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzIiPgo8IVtpZiAhc3Vw cG9ydExpc3RzXT48c3BhbiBsYW5nPTNEIkVOLVVTIiBzdHlsZT0zRCJmb250LWZhbWlseTomcXVv dDtIUCBTaW09CnBsaWZpZWQmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+PHNwYW4gc3R5 bGU9M0QibXNvLWxpc3Q6SWdub3JlIj4yLjxzcD0KYW4gc3R5bGU9M0QiZm9udDo3LjBwdCAmcXVv dDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwPQo7Jm5ic3A7 Cjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwhW2VuZGlmXT48c3BhbiBsYW5nPTNEIkVOLVVTIiBzdHls ZT0zRCJmb250LWZhbWlseTomcT0KdW90O0hQIFNpbXBsaWZpZWQmcXVvdDssJnF1b3Q7c2Fucy1z ZXJpZiZxdW90OyI+UGluIFZpcnR1YWwgTlVNQSBub2RlIHRvIGhvPQpzdCBOVU1BIG5vZGUgKCBz YXZlIGhvc3QgTlVNQSBub2RlIElEIGludG8gVmlydHVhbCBOVU1BIG5vZGUgKTxvOnA+PC9vOnA+ PC89CnNwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0zRCJtYXJn aW4tbGVmdDoxOC4wcHQ7dGV4dC1pbmRlbnQ6LTE4LjA9CnB0O21zby1saXN0OmwwIGxldmVsMSBs Zm8yIj4KPCFbaWYgIXN1cHBvcnRMaXN0c10+PHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5bGU9M0Qi Zm9udC1mYW1pbHk6JnF1b3Q7SFAgU2ltPQpwbGlmaWVkJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm cXVvdDsiPjxzcGFuIHN0eWxlPTNEIm1zby1saXN0Oklnbm9yZSI+My48c3A9CmFuIHN0eWxlPTNE ImZvbnQ6Ny4wcHQgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcD0KOyZuYnNwOwo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48IVtlbmRpZl0+PHNwYW4gbGFu Zz0zRCJFTi1VUyIgc3R5bGU9M0QiZm9udC1mYW1pbHk6JnE9CnVvdDtIUCBTaW1wbGlmaWVkJnF1 b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPlNhdmUgYSBWTT1BMT1BRnMgYWxsIFZpcnR1YT0K bCBOVU1BIG5vZGU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNEIk1zb0xpc3RQYXJh Z3JhcGgiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0OjQyLjBwdDt0ZXh0LWluZGVudDotMjEuMD0KcHQ7 bXNvLWxpc3Q6bDAgbGV2ZWwyIGxmbzIiPgo8IVtpZiAhc3VwcG9ydExpc3RzXT48c3BhbiBsYW5n PTNEIkVOLVVTIiBzdHlsZT0zRCJmb250LWZhbWlseTomcXVvdDtIUCBTaW09CnBsaWZpZWQmcXVv dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+PHNwYW4gc3R5bGU9M0QibXNvLWxpc3Q6SWdub3Jl Ij5hKTxzcD0KYW4gc3R5bGU9M0QiZm9udDo3LjBwdCAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVv dDsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwPQo7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Cjwv c3Bhbj48L3NwYW4+PC9zcGFuPjwhW2VuZGlmXT48c3BhbiBsYW5nPTNEIkVOLVVTIiBzdHlsZT0z RCJmb250LWZhbWlseTomcT0KdW90O0hQIFNpbXBsaWZpZWQmcXVvdDssJnF1b3Q7c2Fucy1zZXJp ZiZxdW90OyI+Q2FsY3VsYXRlIFZNIHBpbiB0byBob3N0IHByPQpvcGVydHkgZnJvbSBob3N0IE5V TUEgbm9kZT1BMT1BRnMgaG9zdCBJRC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNE Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0OjQyLjBwdDt0ZXh0LWluZGVu dDotMjEuMD0KcHQ7bXNvLWxpc3Q6bDAgbGV2ZWwyIGxmbzIiPgo8IVtpZiAhc3VwcG9ydExpc3Rz XT48c3BhbiBsYW5nPTNEIkVOLVVTIiBzdHlsZT0zRCJmb250LWZhbWlseTomcXVvdDtIUCBTaW09 CnBsaWZpZWQmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+PHNwYW4gc3R5bGU9M0QibXNv LWxpc3Q6SWdub3JlIj5iKTxzcD0KYW4gc3R5bGU9M0QiZm9udDo3LjBwdCAmcXVvdDtUaW1lcyBO ZXcgUm9tYW4mcXVvdDsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwPQo7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Cjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwhW2VuZGlmXT48c3BhbiBsYW5nPTNEIkVO LVVTIiBzdHlsZT0zRCJmb250LWZhbWlseTomcT0KdW90O0hQIFNpbXBsaWZpZWQmcXVvdDssJnF1 b3Q7c2Fucy1zZXJpZiZxdW90OyI+Q2FsY3VsYXRlIFZNIE5VTUEgdHVuaW5nIG5vPQpkZXNldCBm cm9tIGFsbCBWaXJ0dWFsIE5VTUEgbm9kZT1BMT1BRnMgcGluIHRvIGhvc3QgTlVNQSBub2RlIElE LjxvOnA+PC9vOnA9Cj48L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29MaXN0UGFyYWdyYXBoIiBz dHlsZT0zRCJtYXJnaW4tbGVmdDo0Mi4wcHQ7dGV4dC1pbmRlbnQ6LTIxLjA9CnB0O21zby1saXN0 OmwwIGxldmVsMiBsZm8yIj4KPCFbaWYgIXN1cHBvcnRMaXN0c10+PHNwYW4gbGFuZz0zRCJFTi1V UyIgc3R5bGU9M0QiZm9udC1mYW1pbHk6JnF1b3Q7SFAgU2ltPQpwbGlmaWVkJnF1b3Q7LCZxdW90 O3NhbnMtc2VyaWYmcXVvdDsiPjxzcGFuIHN0eWxlPTNEIm1zby1saXN0Oklnbm9yZSI+Yyk8c3A9 CmFuIHN0eWxlPTNEImZvbnQ6Ny4wcHQgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJz cDsmbmJzcDsmbmJzcDsmbmJzcD0KOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOwo8L3NwYW4+PC9z cGFuPjwvc3Bhbj48IVtlbmRpZl0+PHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5bGU9M0QiZm9udC1m YW1pbHk6JnE9CnVvdDtIUCBTaW1wbGlmaWVkJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsi PkNhbGN1bGF0ZSBWTSBDUFUgcGlubmluZyBmcj0Kb20gYWxsIFZpcnR1YWwgTlVNQSBub2RlPUEx PUFGcyB2Y3B1cyBhbmQgcmVsYXRlZCBwaW4gdG8gaG9zdCBOVU1BIG5vZGUgY3B1PQpzPG86cD48 L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0zRCJt YXJnaW4tbGVmdDo0Mi4wcHQ7dGV4dC1pbmRlbnQ6MGNtIj49CjxzcGFuIGxhbmc9M0QiRU4tVVMi IHN0eWxlPTNEImZvbnQtZmFtaWx5OiZxdW90O0hQIFNpbXBsaWZpZWQmcXVvdDssJnF1b3Q7cz0K YW5zLXNlcmlmJnF1b3Q7Ij5lLmcuCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9M0Qi TXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9M0QibWFyZ2luLWxlZnQ6NDIuMHB0O3RleHQtaW5kZW50 OjBjbSI+PQo8c3BhbiBsYW5nPTNEIkVOLVVTIiBzdHlsZT0zRCJmb250LWZhbWlseTomcXVvdDtI UCBTaW1wbGlmaWVkJnF1b3Q7LCZxdW90O3M9CmFucy1zZXJpZiZxdW90OyI+aG9zdCBOVU1BIG5v ZGUgMCBjcHVzIDAsIDEsIDIsIDM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNEIk1z b0xpc3RQYXJhZ3JhcGgiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0OjQyLjBwdDt0ZXh0LWluZGVudDow Y20iPj0KPHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5bGU9M0QiZm9udC1mYW1pbHk6JnF1b3Q7SFAg U2ltcGxpZmllZCZxdW90OywmcXVvdDtzPQphbnMtc2VyaWYmcXVvdDsiPmhvc3QgTlVNQSBub2Rl IDEgY3B1cyA0LCA1LCA2LCA3PG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29M aXN0UGFyYWdyYXBoIiBzdHlsZT0zRCJtYXJnaW4tbGVmdDo0Mi4wcHQ7dGV4dC1pbmRlbnQ6MGNt Ij49CjxzcGFuIGxhbmc9M0QiRU4tVVMiIHN0eWxlPTNEImZvbnQtZmFtaWx5OiZxdW90O0hQIFNp bXBsaWZpZWQmcXVvdDssJnF1b3Q7cz0KYW5zLXNlcmlmJnF1b3Q7Ij5ob3N0IE5VTUEgbm9kZSAy IGNwdXMgOCwgOSwgMTAsIDExPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29M aXN0UGFyYWdyYXBoIiBzdHlsZT0zRCJtYXJnaW4tbGVmdDo0Mi4wcHQ7dGV4dC1pbmRlbnQ6MGNt Ij49CjxzcGFuIGxhbmc9M0QiRU4tVVMiIHN0eWxlPTNEImZvbnQtZmFtaWx5OiZxdW90O0hQIFNp bXBsaWZpZWQmcXVvdDssJnF1b3Q7cz0KYW5zLXNlcmlmJnF1b3Q7Ij5ob3N0IE5VTUEgbm9kZSAz IGNwdXMgMTIsIDEzLCAxNCwgMTU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNEIk1z b0xpc3RQYXJhZ3JhcGgiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0OjQyLjBwdDt0ZXh0LWluZGVudDow Y20iPj0KPHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5bGU9M0QiZm9udC1mYW1pbHk6JnF1b3Q7SFAg U2ltcGxpZmllZCZxdW90OywmcXVvdDtzPQphbnMtc2VyaWYmcXVvdDsiPnZpcnR1YWwgTlVNQSBu b2RlIDAgdmNwdXMgY291bnQgMjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9M0QiTXNv TGlzdFBhcmFncmFwaCIgc3R5bGU9M0QibWFyZ2luLWxlZnQ6NDIuMHB0O3RleHQtaW5kZW50OjBj bSI+PQo8c3BhbiBsYW5nPTNEIkVOLVVTIiBzdHlsZT0zRCJmb250LWZhbWlseTomcXVvdDtIUCBT aW1wbGlmaWVkJnF1b3Q7LCZxdW90O3M9CmFucy1zZXJpZiZxdW90OyI+dmlydHVhbCBOVU1BIG5v ZGUgMSB2Y3B1cyBjb3VudCAyPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29M aXN0UGFyYWdyYXBoIiBzdHlsZT0zRCJtYXJnaW4tbGVmdDo0Mi4wcHQ7dGV4dC1pbmRlbnQ6MGNt Ij49CjxzcGFuIGxhbmc9M0QiRU4tVVMiIHN0eWxlPTNEImZvbnQtZmFtaWx5OiZxdW90O0hQIFNp bXBsaWZpZWQmcXVvdDssJnF1b3Q7cz0KYW5zLXNlcmlmJnF1b3Q7Ij48bzpwPiZuYnNwOzwvbzpw Pjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNEIk1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPTNEIm1hcmdp bi1sZWZ0OjQyLjBwdDt0ZXh0LWluZGVudDowY20iPj0KPHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5 bGU9M0QiZm9udC1mYW1pbHk6JnF1b3Q7SFAgU2ltcGxpZmllZCZxdW90OywmcXVvdDtzPQphbnMt c2VyaWYmcXVvdDsiPnBpbiB2aXJ0dWFsIE5VTUEgbm9kZSAwIHRvIGhvc3QgTlVNQSBub2RlIDE8 bzpwPjwvbzpwPjwvc3A9CmFuPjwvcD4KPHAgY2xhc3M9M0QiTXNvTGlzdFBhcmFncmFwaCIgc3R5 bGU9M0QibWFyZ2luLWxlZnQ6NDIuMHB0O3RleHQtaW5kZW50OjBjbSI+PQo8c3BhbiBsYW5nPTNE IkVOLVVTIiBzdHlsZT0zRCJmb250LWZhbWlseTomcXVvdDtIUCBTaW1wbGlmaWVkJnF1b3Q7LCZx dW90O3M9CmFucy1zZXJpZiZxdW90OyI+cGluIHZpcnR1YWwgTlVNQSBub2RlIDEgdG8gaG9zdCBO VU1BIG5vZGUgMzxvOnA+PC9vOnA+PC9zcD0KYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29MaXN0UGFy YWdyYXBoIiBzdHlsZT0zRCJtYXJnaW4tbGVmdDo0Mi4wcHQ7dGV4dC1pbmRlbnQ6MGNtIj49Cjxz cGFuIGxhbmc9M0QiRU4tVVMiIHN0eWxlPTNEImZvbnQtZmFtaWx5OiZxdW90O0hQIFNpbXBsaWZp ZWQmcXVvdDssJnF1b3Q7cz0KYW5zLXNlcmlmJnF1b3Q7Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh bj48L3A+CjxwIGNsYXNzPTNEIk1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0 OjQyLjBwdDt0ZXh0LWluZGVudDowY20iPj0KPHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5bGU9M0Qi Zm9udC1mYW1pbHk6JnF1b3Q7SFAgU2ltcGxpZmllZCZxdW90OywmcXVvdDtzPQphbnMtc2VyaWYm cXVvdDsiPmIuIENhbGN1bGF0ZSByZXN1bHQ6IDEsMzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAg Y2xhc3M9M0QiTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9M0QibWFyZ2luLWxlZnQ6NDIuMHB0O3Rl eHQtaW5kZW50OjBjbSI+PQo8c3BhbiBsYW5nPTNEIkVOLVVTIiBzdHlsZT0zRCJmb250LWZhbWls eTomcXVvdDtIUCBTaW1wbGlmaWVkJnF1b3Q7LCZxdW90O3M9CmFucy1zZXJpZiZxdW90OyI+Yy4g Q2FsY3VsYXRlIHJlc3VsdDogMCM0LDUsNiw3XzEjNCw1LDYsN18yIzEyLDEzLDE0LDE1XzMjMT0K MiwxMywxNCwxNTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9M0QiTXNvTm9ybWFsIj48 c3BhbiBsYW5nPTNEIkVOLVVTIiBzdHlsZT0zRCJmb250LWZhbWlseTomcXVvdDtIUCBTPQppbXBs aWZpZWQmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+PG86cD4mbmJzcDs8L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0zRCJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9M0QiRU4tVVMiIHN0eWxl PTNEImZvbnQtZmFtaWx5OiZxdW90O0hQIFM9CmltcGxpZmllZCZxdW90OywmcXVvdDtzYW5zLXNl cmlmJnF1b3Q7Ij5EaXNjdXNzaW9uOjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9M0Qi TXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9M0QibWFyZ2luLWxlZnQ6MTguMHB0O3RleHQtaW5kZW50 Oi0xOC4wPQpwdDttc28tbGlzdDpsMSBsZXZlbDEgbGZvNCI+CjwhW2lmICFzdXBwb3J0TGlzdHNd PjxzcGFuIGxhbmc9M0QiRU4tVVMiIHN0eWxlPTNEImZvbnQtZmFtaWx5OiZxdW90O0hQIFNpbT0K cGxpZmllZCZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij48c3BhbiBzdHlsZT0zRCJtc28t bGlzdDpJZ25vcmUiPjEuPHNwPQphbiBzdHlsZT0zRCJmb250OjcuMHB0ICZxdW90O1RpbWVzIE5l dyBSb21hbiZxdW90OyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A9CjsmbmJzcDsKPC9zcGFuPjwv c3Bhbj48L3NwYW4+PCFbZW5kaWZdPjxzcGFuIGxhbmc9M0QiRU4tVVMiIHN0eWxlPTNEImZvbnQt ZmFtaWx5OiZxPQp1b3Q7SFAgU2ltcGxpZmllZCZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7 Ij5EbyB3ZSBuZWVkIHRoZXNlIG9wZXJhdGlvbnM9CiwgZXNwZWNpYWxseSBtZXRob2QgYy4gPzxv OnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9M0QiTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9 M0QibWFyZ2luLWxlZnQ6MTguMHB0O3RleHQtaW5kZW50Oi0xOC4wPQpwdDttc28tbGlzdDpsMSBs ZXZlbDEgbGZvNCI+CjwhW2lmICFzdXBwb3J0TGlzdHNdPjxzcGFuIGxhbmc9M0QiRU4tVVMiIHN0 eWxlPTNEImZvbnQtZmFtaWx5OiZxdW90O0hQIFNpbT0KcGxpZmllZCZxdW90OywmcXVvdDtzYW5z LXNlcmlmJnF1b3Q7Ij48c3BhbiBzdHlsZT0zRCJtc28tbGlzdDpJZ25vcmUiPjIuPHNwPQphbiBz dHlsZT0zRCJmb250OjcuMHB0ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A9CjsmbmJzcDsKPC9zcGFuPjwvc3Bhbj48L3NwYW4+PCFbZW5kaWZdPjxz cGFuIGxhbmc9M0QiRU4tVVMiIHN0eWxlPTNEImZvbnQtZmFtaWx5OiZxPQp1b3Q7SFAgU2ltcGxp ZmllZCZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij5JZiB0aGUgYW5zd2VyIGlzIFllcywg dGhpcyA9Cm9wZXJhdGlvbiB3aWxsIHJlcGxhY2UgdGhlIENwdSBwaW5uaW5nIGNvbmZpZ3VyYXRp b24gZnJvbSBWTSBDcHUgcGluaW5nIGlucD0KdXQsIERvIHdlIG5lZWQgdG8gbm90aWZ5IHRoZSBv d25lciA/PG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29Ob3JtYWwiPjxzcGFu IGxhbmc9M0QiRU4tVVMiIHN0eWxlPTNEImZvbnQtZmFtaWx5OiZxdW90O0hQIFM9CmltcGxpZmll ZCZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48 L3A+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCI+PGI+PHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5bGU9 M0QiZm9udC1zaXplOjkuMHB0O2Zvbj0KdC1mYW1pbHk6JnF1b3Q7SFAgU2ltcGxpZmllZCZxdW90 OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj5CZXN0PQogUmVnYXJkcyw8YnI+ Cjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0zRCJFTi1VUyIgc3R5bGU9M0QiZm9udC1zaXplOjkuMHB0 O2ZvbnQtZmFtaWx5OiZxdW90Oz0KSFAgU2ltcGxpZmllZCZxdW90OywmcXVvdDtzYW5zLXNlcmlm JnF1b3Q7O2NvbG9yOiM3MTcxNzIiPkphc29uIExpYW88L3NwYW4+PQo8c3BhbiBsYW5nPTNEIkVO LVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCI+PHNwYW4g bGFuZz0zRCJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8L2Rpdj4KPC9ib2R5 Pgo8L2h0bWw+CgotLV8wMDBfQjYzQzg1OEU3Nzc2Nzk0NTgzMzhBMzBBOTkxQkI1MjQwMTVGOENB RUcyVzI0NDFhbWVyaWNhc18tLQo= --===============8641528396655957507==--